• Не PKI единым или соцпакеты для сотрудников

      Привет, Habrahabr!
      Наша компания известна прежде всего своими решениями в области информационной безопасности. Мы выпускаем такие продукты, как электронные идентификаторы Рутокен и электронные ключи для защиты софта Guardant.
      Обычно наши статьи носят сугубо технический характер, но на этот раз речь пойдет о нашей внутренней системе учета социальных выплат для сотрудников.

      Несколько слов о предыстории вопроса. Мы — современная российская ИТ-компания, и, как наверное любая ИТ-компания, мы очень любим все автоматизировать. Помимо прочих, в нашей компании существует компенсация выплат на проезд, походы в театр и фитнес. Долгое время сотрудники были вынуждены собирать и хранить билеты, в нужный день предоставлять их в бухгалтерию, а затем получать свои деньги. В конце концов это процедура нам надоела и мы решили написать максимально простое решение для автоматизации этого процесса. Получившуюся систему мы успешно применяем у себя в компании и сегодня передаем ее в Open source.
      Читать дальше →
    • Выписываем цифровой сертификат и проверяем подпись с помощью BouncyCastle

        Флагманским продуктом нашей компании является Рутокен ЭЦП — устройство с российской криптографией «на борту». Для интеграции устройства с браузерами был выпущен Рутокен Плагин. Демонстрацию возможностей плагина можно посмотреть на тестовых площадках. Некоторые из них предполагают работу с цифровыми сертификатами, хранящимися на устройствах. Например, Демо-банк при регистрации пользователей выписывает пользовательский сертификат, а при логине в систему запрашивает его и проверяет. Для реализации данных задач на сервере используется библиотека BouncyCastle.


        В данной статье будут рассмотрены примеры ее использования для выписки сертификатов по запросу PKCS#10, а также для проверки подписи CMS, выработанной по российским криптоалгоритмам.
        Читать дальше →
      • Электронная подпись в доверенной среде на базe загрузочной Ubuntu 14.04 LTS и Рутокен ЭЦП Flash

          Процедура наложения электронной подписи, призванная обеспечить подтверждение целостности подписанного документа и его авторства, сама по себе может быть небезопасной.
          Основные атаки на ЭП — это кража ключа и подмена подписываемой информации, а также несанкционированный доступ к средству ЭП (например, USB-токену) посредством кражи его PIN-кода.

          Реализуются данные атаки различными способами и на различных уровнях. На уровне ОС это внедрение вредоносного ПО (вирусы, программы-шпионы, руткиты и т.п.), которое способно похищать ключи, PIN-коды и делать подмену документов посредством чтения и/или подмены данных в памяти системного процесса, используя различные механизмы «хака», заложенные в ОС.
          Если мы говорим о подписи в браузере, то к данным атакам добавляется возможность проведения атаки man-in-the-middle, направленной на модификацию подписываемых данных на web-странице или на кражу PIN-кода или на перехват secure token для возможности злоумышленнику прикинуться абонентом системы. Кроме того, на сайтах возможна атака типа CSS, обусловленная безалаберностью разработчиков сайта.

          Очевидно, что максимально защитить клиента при проведении процедуры ЭП возможно лишь комплексом мер.
          К данным мерам можно отнести:
          • применение для электронной подписи криптографических смарт-карт/USB-токенов с неизвлекаемыми ключами
          • использование правильной реализации протокола TLS на сайте
          • правильное конфигурирование этой правильной реализации протокола TLS
          • использование специальных аппаратных средств для визуализации подписываемых данных перед наложением подписи (trustscreen)
          • корректная реализация браузерных плагинов и расширений, которые обеспечивают ЭП в браузере
          • регламентирование процедуры подписи для пользователя с учетом встроенных в браузер механизмов безопасности
            • проверка сертификата TLS-сервера пользователем перед ЭП
            • запуск браузерных плагинов и расширений только на доверенном сайте (сейчас правильно настроенные браузеры предупреждают пользователя о запуске)
            • ввод PIN-кода токена по запросу только доверенного сайта
            • реагирование на предупреждение браузера о получении «смешанного» контента — часть по HTTPS, часть по HTTP
          • защита ОС от вредоносного ПО (создание доверенной среды)

          Некоторое время назад наша компания выпустила новый Рутокен ЭЦП Flash. Это устройство «два в одном» — криптографический токен и управляемая FLASH-память в едином корпусе. При этом контроллер позволяет настраивать FLASH-память таким образом, что атрибуты настройки нельзя изменить без знания PIN-кода к устройству.

          В данной статье мы сделаем кастомную Ubuntu 14.04 LTS, в которую «упакуем» смарткарточные драйвера и Рутокен Плагин. Эту ОС запишем на FLASH-память Рутокен ЭЦП Flash (USB-live) и специальными средствами сделаем ее read-only, так, что без знания PIN-кода злоумышленник не сможет снять этот атрибут.

          Таким образом, получим загрузочное устройство, при загрузке с которого пользователь сразу получит возможность подписи документов в браузере на неизвлекаемых ключах в доверенной среде, целостность которой гарантируется управляющим контроллером USB-токена.
          Читать дальше →
        • Конструируем локальный криптографический TLS-прокси c HTTP API электронной подписи



            Электронные торги, госуслуги, системы корпоративного электронного документооборота, дистанционного банковского обслуживания и другие подобные системы находятся в сфере интересов регуляторов и вынуждены использовать российские криптосредства для обеспечения конфиденциальности и юридической значимости.

            Основным средством взаимодействия пользователя и информационной системы медленно, но верно становится браузер.
            Если внимательно рассмотреть вопрос интеграции популярных браузеров и российских криптосредств, то вырисовываются следующие проблемы:
            • Браузеры используют совершенно различные криптографические библиотеки (MS Crypto API, NSS, openssl). Универсального криптосредства, которое «добавляет» ГОСТы во все эти библиотеки нет
            • Механизмы встраивания многих криптосредств в операционную систему и в браузер «завязаны» на версию ОС. С выходом обновления ОС работоспособность криптосредства может кончиться
            • Google Chrome отказывается от поддержки плагинов, работающих через NPAPI. А многие российские вендоры криптосредств разработали плагины, используя именно данный механизм
            • На мобильных платформах браузеры не поддерживают плагины


            В данной ситуации наиболее универсальным решением представляется вынести реализацию TLS-ГОСТ и функций ЭЦП в отдельное сетевое приложение, которое принимает запросы от браузера на localhost, позволяет «туннелировать» соединения между браузером и удаленными web-серверами (real proxy), а также предоставляет HTTP API для функционала ЭЦП, работы с сертификатами, токенами и т.п.
            Не скажу, что идея является новой, но давайте попробуем сделать некоторый конструктор для ее реализации.

            Деталями конструктора будут:


            Любители модульных архитектурных экпериментальных решений приглашаются под кат.

            Читать дальше →
          • Библиотека для встраивания электронной подписи в приложения С++

            • Tutorial


            Наша компания продолжает развивать линейку библиотек, которые позволяют встраивать электронную подпись с использованием российских криптоалгоритмов в информационные системы различного типа.

            Некоторое время назад мы поддержали Рутокен ЭЦП в openssl, затем выпустили кроссплатформенный плагин для браузера, а теперь сделали высокоуровневую криптобиблиотеку для встраивания в С++ приложения.

            Концептуально данные решения выполнены идентично: используется аппаратная реализация российских криптоалгоритмов на чипе Рутокен ЭЦП, обеспечивается поддержка цифровых сертификатов X.509, запросов на сертификаты PKCS#10, подписанных и зашифрованных сообщений CMS.

            Новая библиотека пригодится тем, кто пишет «толстые клиенты», десктопные приложения, свои браузерные плагины и т.п.

            Поддерживаемые устройства:
            • USB-токен Рутокен ЭЦП
            • Смарт-карта Рутокен ЭЦП
            • Bluetooth-токен Рутокен ЭЦП
            • Trustscreen-устройство Рутокен PINPad
            • USB-токен Рутокен WEB (HID)


            Основные сценарии применения библиотеки с примерами кода под катом.
            Читать дальше →
          • Встраивание электронной подписи в системы с WEB-интерфейсом с помощью браузерного плагина и openssl

            • Tutorial


            Несколько лет назад нашей компанией был выпущен продукт Рутокен Плагин, который предназначен для встраивания электронной подписи в системы с web-интерфейсом. Основываясь на полученном опыте интеграции продукта в реальные проекты мне хочется отметить, что нередко разработчики для реализации серверной части предпочитают использовать поддерживающий российские криптоалгоритмы openssl.

            В данной статье будет расписана типичная схема подобной интеграции, основанная на следующих сценариях использования плагина:

            • Регистрация на портале (с выдачей сертификата или по имеющемуся сертификату)
            • Строгая аутентификация на портале
            • Электронная подпись данных и/или файлов в формате CMS
            • Шифрование данных и/или файлов в формате CMS


            Данные сценарии предполагают клиент-серверное взаимодействие, написание клиентских скриптов на JavaScript и соответствующих им серверных вызовов openssl.

            Подробности под катом.
            Читать дальше →
            • +16
            • 18,7k
            • 4
          • Криптографические решения. От облачной подписи к доверенной среде

              Данная статья является продолжением статьи «Криптографические решения. От криптопровайдеров до браузерных плагинов» и охватывает криптографические решения:

              • облачная подпись
              • отдельные браузеры с российской криптографией
              • отдельные почтовые клиенты с российской криптографией
              • российская криптография в фреймворках, платформах, интерпретаторах
              • настольные криптографические приложения
              • средства формирования доверенной среды

              Читать дальше →
              • +11
              • 15,9k
              • 9
            • YotaPhone 2: инновации и безопасность

                2 декабря в МСИ «Гараж» в Парке Горького состоялась презентация YotaPhone 2. Компания «Актив», в которой я работаю, является технологическим партнером YotaDevices, поэтому мне удалось приобщиться к новому смартфону еще до презентации. Как приверженец платформы iOS я весьма прохладно отнесся к появлению этого девайса, но все же приписываемая ему инновационность вызывала любопытство.


                Подробности под катом
                Читать дальше →
              • Криптографические решения. От криптопровайдеров до браузерных плагинов

                  Производители средств криптографической защиты информации (СКЗИ) предлагают различные механизмы для интеграции криптосредств в информационные системы. Существуют решения, ориентированные на поддержку систем с Web-интерфейсом, мобильных и десктопных приложений, серверных компонентов. СКЗИ интегрируются в приложения Microsoft и в продукты Open Source, обеспечивают поддержку различных прикладных протоколов и форматов электронной подписи.

                  С учетом растущего количества проектов с применением ЭЦП и появления массовых проектов для физических лиц, разработчикам подобных проектов требуется хорошо ориентироваться в предлагаемых производителями решениях по ЭЦП для того, чтобы сделать систему удобной в эксплуатации и недорогой в плане техподдержки. Таким образом, если еще лет 5 назад главным фактором выбора криптосредства являлось его полное соответствие требованиям регуляторов, то при сегодняшнем разнообразии важными критериями могут выступать охват поддерживаемых платформ, возможность интеграции с браузером, поддержка мобильных пользователей, возможность установки без прав системного администратора и т.п.

                  В данном материале сделана попытка классифицировать средства криптографической защиты информации.
                  • Рассмотрены в основном СКЗИ, использующиеся на клиентских местах для защиты клиент-серверных соединений по протоколу TLS, для организации ЭЦП, шифрования передаваемых данных;
                  • Не рассматриваются СКЗИ, применяемые для создания VPN и шифрования файловой системы, хранимых данных, а так же УЦ;
                  • Отдельно выделены аппаратные криптографические устройства.

                  Классификация построена на основе:
                  • технологий интеграции (CryptoAPI, Active-X, NPAPI и др.), которые поддерживают СКЗИ для встраивания в приложения и прикладные системы;
                  • интерфейсов, которые предоставляют СКЗИ для встраивания в приложения и прикладные системы.

                  Кроме того, показаны способы интеграции СКЗИ с Web-приложениями и возможность его использования на мобильных платформах

                  Общая схема классификации приведена в таблице:
                  Криптопровайдеры Нативные библиотеки (openssl-style, PKCS#11, NSS, собственные интерфейсы) Локальные прокси Браузерные плагины Облачная подпись Браузеры с российской криптографией
                  Почтовые клиенты с российской криптографией Российская криптография в фреймворках, платформах, интерпретаторах Настольные криптографические приложения Криптография в BIOS UEFI Сервис-провайдеры ЭЦП Эмуляторы доверенной среды
                  Аппаратные средства

                  В первой статье рассмотрим решения, начиная с криптопровайдеров по браузерные плагины включительно. В последующих статьях будут рассмотрены остальные средства.

                  Читать дальше →
                • YotaPhone, Android и немного криптографии

                    Привет, Хабр!

                    По акции YotaDevices к нам в компанию попал тот самый Йо́тафон для опытов.
                    Обзоров по дизайну/производительности/качеству камеры/зачем_вообще_это_сделали было достаточно много, да и мы, собственно, не задавались целью написать очередной.
                    Интересно было другое — показать возможность интеграции современного смартфона на базе Android с современными средствами криптографической защиты информации.



                    Подробности под катом
                    Читать дальше →
                  • Авторизация на портале Госуслуг с помощью Рутокен ЭЦП

                      Одному из сотрудников нашей компании понадобилось зарегистрироваться на портале Госуслуг. Как известно, на портале сейчас есть возможность входить в личный кабинет по логину/паролю, либо по электронной подписи. Вариант с логином/паролем был отброшен в силу профессиональной паранойи, и поехал сотрудник в УЦ Ростелекома — оператора системы — получать сертификат. В УЦ ему в качестве носителя электронной подписи/аппаратного СКЗИ не предложили Рутокен ЭЦП. В силу корпоративного патриотизма сотрудник решил не форсировать события, а попробовать-таки зайти на Госуслуги, используя для электронной подписи Рутокен ЭЦП.
                      Что из этого получилось, описано под катом.



                      Читать дальше →
                    • Щит и меч в системах ДБО – 2, или как бороться с MITM-атаками и несанкционированным удаленным доступом

                        В январе 2013 мы уже писали про универсальное решение для систем ДБО. За прошедший год был совершен ряд переработок, направленных на совершенствование защиты от хищений и увеличение юзабилити.

                        Заняться этим нас подвигло резкое увеличение числа атак на системы ДБО, связанных с использованием удаленного доступа к компьютерам пользователей. К сожалению, при таком виде атаки, обычная двухфакторная аутентификация никак не способна защитить финансовые активы компании. Очевидной мерой противодействия является необходимость создания доверенной среды с невозможностью применения средств удаленного управления.

                        Итак, напомним, что такое Рутокен PINPad. Это решение класса TrustScreen, способное формировать доверенную среду и визуализировать подписываемый документ перед наложением электронной подписи. Подпись происходит непосредственно на самом устройстве после физического нажатия пользователем соответствующей кнопки на экране. Таким образом, мы защищаемся от атак, совершаемых при помощи средств удаленного управления, подмены содержимого документа при передаче его на подпись (Man-in-the-browser).

                        image
                        Читать дальше →
                      • Подпись файлов через браузер

                          В ряде проектов требуется подписывать файлы произвольного формата (например, конкурсную документацию в формате PDF) при загрузке их на сервер.
                          Обычно требуется подпись по ГОСТ Р 34.10-2001, с применением цифровых сертификатов X.509. При этом саму подпись потом удобно хранить на сервере в формате CMS detached.
                          Сразу хочется отметить, что задача это решена достаточно давно (КриптоПро CSP, CAPICOM, etc). Но есть нюансы, которые делают такое решение не всегда удобным. Для одного из проектов мы предложили решение по подписи файлов, которое реально облегчило жизнь конечным пользователям и техподдержке. О нем ниже.



                          Читать дальше →
                        • Аппаратная защита от пиратства на Windows RT 8.1

                            Читая небольшую заметку на известном новостном ресурсе, увидел забавное вступление: «Новые планшеты Microsoft как будто созданы для того, чтобы их не покупать». Сомнительное, на мой взгляд, высказывание все же подкреплено нелегкой участью первой версии Surface RT и удивительной похожестью на него нового Surface 2. Однако, наша компания всегда в первую очередь шла на поводу клиентов.
                            image
                            Суть данной статьи, которая может показаться читателям Хабра немного провокационной, заключается в следующем: в конце 2013 года мы представляем новый продукт – электронный ключ Guardant Code micro для защиты приложений на Windows RT от пиратства. Кто-то, возможно, уже крутит пальцем у виска, но мы действительно предлагаем разработчикам серьезных (!) приложений под Windows RT защитить свой софт с помощью аппаратного ключа.

                            В статье вы узнаете:
                            1. Зачем нам понадобилась Windows RT 8.1 и чем плоха первая Windows RT с точки зрения наших задач
                            2. Как вся эта конструкция работает
                            3. Как ограниченность архитектуры не позволила нам обеспечить поддержку электронного ключа в виде microSD-карты
                            4. … и какими костылями ее можно обойти

                            Читать дальше →
                          • Форматы электронной подписи

                            Статья посвящена обзору стандартов СMS (Cryptographic Message Syntax) для подписанных сообщений.

                            Для чего нужен CMS


                            Стандарт CMS описывает структуру криптографических сообщений, включающих в себя защищенные данные вместе со сведениями, необходимыми для их корректного открытия или использования. Например, в сообщении размещаются защищенные данные, информация об алгоритме хеширования и подписи, времени подписи, сертификате открытого ключа, цепочке сертификации и т.д. Некоторые из указанных атрибутов носят опциональный характер, но приложение может само определить необходимость их наличия. У каждого алгоритма есть набор параметров, который должен быть согласован на обеих сторонах: для ГОСТ 34.10-2001, помимо открытого ключа, это модуль p, коэффициенты эллиптической кривой a и b и порядок циклической подгруппы точек эллиптической кривой q. И все это нужно каким-то образом передать адресату сообщения.
                            Читать дальше →
                            • +17
                            • 46,6k
                            • 8
                          • Аутентификация по-новому, или суперкуки

                              На сегодняшний день идея ухода от паролей и традиционных методов аутентификации на веб-ресурсах поднимается все чаще, причем этим озаботились такие гиганты IT-индустрии, как Google, Paypal и другие члены альянса FIDO. В рамках научных исследований, проводимых сотрудниками Google, были предложены способы усовершенствования методов аутентификации, а также черновик стандарта расширения TLS, позволяющего избавиться от использования cookies.

                              В данной статье я расскажу о проблемах традиционных схем аутентификации, о подводных камнях при введении двухэтапной аутентификации и рассмотрю предложенный стандарт расширения TLS. Текст статьи будет полезен веб-разработчикам, планирующим встроить двухэтапную аутентификацию.

                              Читать дальше →
                            • Защита систем интернет-банкинга: TLS, электронная подпись, ГОСТы, токены

                                image
                                Многие современные системы ДБО предоставляют для обслуживания клиентов Web-интерфейс. Преимущества «тонкого клиента» перед «толстым клиентом» очевидны. В то же время существуют федеральные законы, приказы регуляторов и требования к системам ДБО от Банка России, многие из которых касаются именно защиты информации в системах ДБО. Как-то их нужно исполнять и обычно применяются криптосредства, реализующие российские криптоалгоритмы (ГОСТы). Эти криптосредства закрывают часть «дыр», но при их внедрении может существенно возрасти сложность пользования системой ДБО для клиента.

                                В данной статье мы из «кирпичиков» соберем и испытаем на демонстрационном интернет-банке комплексное решение — по сути специальный переносной защищенный браузер, хранящийся на flash-памяти — в котором будут реализованы закрытие канала (TLS), строгая двухфакторная аутентификация на WEB-ресурсе и электронная подпись платежных поручений посредством USB-токена Рутокен ЭЦП или trustscreen-устройства Рутокен PINPad. Фишка решения в том, что оно абсолютно необременительно для конечного пользователя — подключил токен, запустил браузер и сразу же можно начинать тратить деньги.

                                TLS, аутентификация и подпись реализуются с использованием российской криптографии.

                                Дальше пойдет мануал с пояснениями.
                                Читать дальше →
                              • Берем под контроль криптографию в облачном хранилище MEGA

                                  После запуска в какой-то мере скандального сервиса MEGA разговоры о его защищенности немного побурлили и затихли. На сегодняшний день сервис живет своей жизнью и его никто даже не поломал. Из всех разговоров почему-то был упущен термин «User Controlled Encryption» (UCE, или Контролируемая пользователем криптография), которой кичится MEGA. Под словом «упущен» я подразумеваю тот факт, что мы не рассмотрели все возможности, которые дает нам криптографический движок, выполняющийся в JavaScript на стороне клиента.

                                  Конечно, сам сервис MEGA под этим подразумевает всего лишь то, что ключи шифрования не хранятся на сервере, а вся их криптография выполняется в контексте браузера. При этом после запуска сервиса было много разговоров о том, что в нем используются нестойкие криптографические алгоритмы и что вообще все плохо и мы все умрем, а наши файлы прочитает ФСБ. Это подтолкнуло меня на мысль расширить понятие «UCE» и действительно взять криптографию под свой контроль, а именно — заменить или дополнить некоторые механизмы обеспечения безопасности сервиса.

                                  В этой статье я частично разложу по полочкам магию, которая происходит в двух мегабайтах JavaScript-кода MEGA и покажу, как можно переопределить некоторые методы, чтобы перестать волноваться и полюбить криптографию. В результате мы получим сервис облачного хранения файлов с двухфакторной аутентификацией и аппаратным шифрованием критически важной информации.
                                  Читать дальше →
                                • Настройка Kerberos-аутентификации с использованием смарт-карт

                                  • Tutorial
                                  В продолжение давней темы про использование двухфакторной аутентификации в ОС GNU/Linux позвольте рассказать про схему работы и настройку аутентификации с помощью Kerberos. В этой статье мы рассмотрим процесс настройки MIT Kerberos для аутентификации пользователей по сертификатам и ключевым парам, находящимся на USB-токене. Также материалы, изложенные в статье, можно использовать для настройки аутентификации в домене Windows.
                                  Читать дальше →
                                  • +13
                                  • 34,5k
                                  • 2
                                • Щит и меч в системах ДБО. Прикладное решение

                                    Механизмы аутентификации и подтверждения платежа посредством электронной подписи широко применяются в системах ДБО. Эволюция технических средств электронной подписи наглядно показана в статье Щит и меч в системах ДБО. Кратко линейку можно представить в виде — токены, токены с криптографией на борту, trustscreen с криптографией на борту.

                                    Обычно устройства с криптографией на борту реализуют базовые криптографические алгоритмы — ЭП, хэш-функцию, шифрование. Но в ряде случаев в системах ДБО для аутентификации и ЭП применяются цифровые сертификаты. Для интеграции криптографических возможностей устройств и инфраструктуры PKI мы выпустили решение Рутокен WEB PKI Edition, мультиплатформенный и мультибраузерный плагин для систем с web-интерфейсом.



                                    Новая версия плагина поддерживает наш trustscreen с криптографией на борту — устройство Рутокен PINPad. Теперь можно проверить, что подписывается действительно платежка, отображаемая в браузере.

                                    Читать дальше →

                                  Самое читаемое