Пользователь
0,0
рейтинг
2 декабря 2014 в 11:02

Цифровой страж Key_P1: история создания и первые результаты

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

1. История создания


В конце 2013 года в компании Мультиклет появились идеи о движении вперёд и производстве не только отечественных процессоров, но и серийных устройств. Рассматривались идеи создания платы ускорителя с огромной производительностью для обычных ПК и устройства для защиты информации. Поскольку компания частная и большого финансирования для ускорителя в тот момент привлечь не удалось было решено начать с производства устройства для защиты информации.
Идея о создании устройства для защиты информации зародилась после теста алгоритма ГОСТ89 на процессоре Multiclet P1. Оказалось, что алгоритм шифрования достаточно хорошо распараллеливается и подходит для мультиклеточной архитектуры, пользователь хабра rnouse выявил ускорение шифрования на мультиклеточной архитектуре по сравнения с процессорами в рутокенах в 4 -5 раз.



Рис 1. Первое изображение корпуса

Постановка задачи


Предварительными соображениями, положенными в основу технического задания были следующие:
— недостатки программных средств, заключающиеся в меньшей защищенности по сравнению с аппаратными средствами;
— у шифровальных флешек недостатком является ограниченный функционал.
Поэтому было решено сделать устройство которое бы содержало гибкость и многофункциональность программных средств и ответ на новые угрозы (например BadUSB) и возможность создания корпоративных иерархических систем информационной безопасности. Как всегда хотелось «всё в одном».
В начале 2014 года был сделан большой макет для разработки устройства из отладочных плат.
В это же время корректировалось техническое задание на устройство. Первый эскиз корпуса представлен на рис. 1.

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

Следующим этапом была попытка запуска проекта на kickstarter, но нужные средства собрать не удалось. Возможно, причиной было отсутствие подготовки СМИ перед началом проекта и начало периода санкций. Многие специалисты по краудфандингу также отмечали, что проект слишком сложен для этого сайта.

К апрелю у нас уже были на руках платы устройства с отладочной частью (см рис. 2). Сделать корректную разводку платы и определиться с компонентами удалось со второй попытки.


Рис 2. Отладочная плата устройства

Примерно в это же время были получены первые прототипы корпуса, изготовленные на 3D принтере, см. рис 3. Надпись была сделана в виде наклейки, которая оборачивала весь корпус, отпечатанный на принтере.


Рис 3. Прототипы корпуса

Некоторые моменты разработки


И после этого был дан старт разработке пресс форм для изготовления корпусов из пластмассы на одном из предприятий Екатеринбурга. Как оказалось, процесс изготовления форм для корпуса и колпачка достаточно длительный и потребовал коррекций, несмотря на то, что на 3D принтере проблем с изготовлением корпуса не было. В итоге корпуса были получены на два месяца позже срока. И чтобы результат был, как у фирмы Apple, нужно использовать горячую отливку вместо холодной.

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

Отметим, что для разработки ПО, работающего с устройством Key_P1, для организации поддержки ОС Windows и Linux, а также Mac после ряда дискуссий была выбрана система Qt.

В течение всего этапа разработки вносились коррективы в ТЗ, поскольку только после реализации некоторых функций приходит понимание того как сделать это удобно и какой функционал потребуется. В итоге был определён курс на две версии устройства: бизнес и профессиональную.
Профессиональная версия отличается от бизнес версии соответствием классу защищенности КС3 с сертификатом ФСБ (ряд дополнительных условий, в т.ч. защищенный от вскрытия корпус).
Бизнес версия уже выпускается серийно, профессиональная версия находится на этапе разработки. По основному функционалу устройства двух версий будут идентичны.

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

Аналитика и утечки информации за ноябрь
Более 90% компаний сталкиваются с крупными утечками данных, приводящими к серьёзным финансовым проблемам вплоть до банкротства — такие выводы Zecurion Analytics сделал на основании опроса, проведённого среди компаний, использующих системы защиты информации от утечек.
Аналитики Zecurion провели более 100 интервью с топ-менеджерами компаний и специалистами по кибербезопасности и изучили реальные случаи выявления преднамеренных и случайных утечек корпоративной информации. Выяснилось, что лишь 8% организаций не страдают от утечек данных, а в 30% компаний крупного и среднего бизнеса фиксируют в среднем по две попытки в месяц похитить ценную информацию, потеря которой сказывается на финансовой стабильности компании. Это подтверждает и максимальный размер ущерба в $30 млн, который понесла российская компания от утечки конфиденциальных данных.


Одни из самых известных утечек данных за последние пару месяцев:
1) В результате хакерской атаки были скомпрометированы данные сотрудников, руководства и клиентов Почтовой службы США (USPS). В руках злоумышленников, возможно, оказались 800 тыс. записей, включая имена, адреса и номера социального страхования американцев, сообщает The Wall Street Journal.
2) Имена, адреса, номера телефонов, адреса электронной почты около 83 млн владельцев домохозяйств и предприятий были украдены через систему JPMorgan Chase, сообщают Ведомости со ссылкой на Reuters. У банка нет информации о том, получили ли хакеры доступ к номерам счетов, паролям, датам рождения и SSN.
3) Крупнейшая в мире компания по продаже стройматериалов и ремонтных приспособлений Home Depot заявила, что 53 миллиона адресов электронной почты клиентов сети магазинов были скомпрометированы. По предварительным подсчетам, убытки Home Depot вследствие взлома составили $56 млн, сообщает портал securitylab.ru со ссылкой на отчет компании.



Работа над ошибками


Основными проблемами, с которыми пришлось столкнуться на этапе бета-тестирования (хотя и проводили альфа-тестирование на десятках компьютеров), и которые устранены на момент написания данной статьи были:
— ошибка «возможно, открыта дверца», которая возникла при определении устройства
— невозможность расшифровать файлы корпоративными ключами
— ошибка работы по каналу scsi при работе нашего драйвера
— было решено устанавливать имена открытых и закрытых разделов на накопителях, вследствие проблем с их восприятием пользователями
— устранены проблемы индикации блокировки пин кодов, после 10 попыток

Также было замечено, что после нескольких открываний/закрываний прозрачной крышки, защищающей USB-разъем Key_P1, она стала закрываться без заметного ранее щелчка, что говорит о быстром износе фиксирующих выступов на корпусе. Вместе с тем, крышка довольно плотно подогнана к корпусу, что в итоге не позволяет ей произвольно отпадать от корпуса, даже при значительном стирании фиксирующих выступов.
Процент брака на первой партии устройств составил около 10%. Такой процент получается на основе допустимого брака импортной базы элементов, деформацией ножек элементов, брака печатных плат. Но в дальнейших партиях после устранения выявленных замечаний, процент брака должен уменьшиться.

Устройство для защиты информации, которое выпустила компания Мультиклет приобрело название Key_P1 MultiСlet (допустимое название Ключ_П1). Основные принципы, которые закладывались в устройство:
— дружелюбный оконный интерфейс
— безопасность данных
— ориентация на индивидуальных и корпоративных пользователей
— мобильность

В целом это устройство для защиты информации на ПК и накопителях, разработанное на базе мультиклеточного процессора и выполнено в виде портативного гаджета с тремя разъёмами: USB – розетка и вилка, а также разъём для SD карт. Устройство, которое получилось изображено на рис. 4.


Рис 4. Результат работ

Краткое сравнение программных и аппаратных решений

Отличие аппаратных устройств защиты информации от программных, таких как (Верба OW 6.1, Лисси CSP 2.0, Бикрипт 4.0, Крипто Про 3.6) заключается в хранении ключей на самом устройстве, отсутствии необходимости установки ПО. Отличие же непосредственно самого устройства Key_P1 от таких аппаратных устройств как Samurai, Шипка, DataShur состоит в том, что рассматриваемое устройство не имеет встроенной памяти для хранения информации (только память для шифровальных ключей, прошивки и т.п.), и предназначено для работы с неограниченным количеством накопителей. А также имеет шифрование на накопителях по секторам 1024 ключами. Таким образом, Key_P1 имеет широкий функционал программных и повышенную защиту аппаратных средств.

2. Как работает Key_P1


Для работы с устройством Key_P1 Multiclet необходимо загрузить приложение Key_P1 Manager. Программа Key_P1 Manager поддерживает весь функционал устройства, обеспечивает инициализацию устройства, инициализацию накопителей, формирует корпоративные ключи и др.
Отличительные особенности программы:
1) Программа не требует установки на операционную систему
2) Для поддержки кроссплатформенной работы рекомендуется сохранить на открытый раздел накопителя версию программы для ОС Windows и Linux
3) Программа, как и устройство Key_P1 Multiclet, не привязывается к конкретному ПК или накопителю, что позволяет обеспечить работу устройства на различных ПК и обеспечить поддержку неограниченного количества накопителей
4) Программа имеет простой и удобный интерфейс, а также обеспечивает разграничение прав доступа к функционалу устройства (по ПИН коду для пользователя и администратора, который может быть от 4-х до 16-ти символов)

Для начала работы с устройством в полном объёме необходимо выполнить следующие шаги:
1) Установить внутреннюю прошивку устройства
2) Провести инициализацию устройства (установка 1024 ключей, PIN администратора
PIN пользователя, тревожного PIN кода, имени устройства)
3) Провести инициализацию накопителей (разбиение на два раздела (открытый и закрытый), установка меток разделов)


Рис 5. Основное окно программы Key_P1 Manager

3. Функционал устройства


1) Защита ПК от шпионских устройств
Key_P1 разрешает работу только обычных накопителей информации, работа «устройств-шпионов» (представляются одновременно клавиатурой и накопителем и других) будет заблокирована. Устройство Key_P1 защищено от проблемы “BadUSB”. Контроль подключенных устройств осуществляется на аппаратном уровне. ПК просто не увидит вредоносное устройство, подключенное к Key_P1.
2) Шифрование информации
Шифрование информации возможно на накопителях и ПК. Шифрование осуществляется по алгоритму ГОСТ 28147-89 с шириной ключа 256 бит.
Шифрование файлов на устройстве Key_P1 осуществляется следующими способами:

1) автоматически при копировании файлов на закрытый раздел инициализированного накопителя: в этом случае файлы на накопителе будут зашифрованы на:
— накопителе по группам секторов при помощи нескольких ключей из 1024 созданных;
— при инициализации устройства.
Для подключения закрытого раздела используется ПИН код пользователя.
2) выбором метода шифрования в пункте «Шифрование файлов»: в этом случае шифрование файлов может осуществляться одним из 3-х способов:
— случайным ключом (несколькими ключами из 1024-х, заданных при инициализации, части одного файла могут быть зашифрованы 1024-мя ключами);
— синхронизированным ключом (с помощью выбранного синхронизированного ключа);
— корпоративным ключом (одним из нескольких ключей предназначенных для шифрования файлов выбранной корпоративной группы):


Рис 6. Шифрование файлов

Окно для расшифрования выглядит аналогично окну, представленному на рис 6.

3) Сейф для паролей
Устройство позволяет сохранять пользовательские пароли и логины на внутреннюю защищенную память устройства Key_P1. В дальнейшем пользователь может, кликнув мышкой, скопировать логин в буфер обмена операционной системы и вставить в нужное поле для ввода логина. Аналогичную операцию можно проделать для пароля. Этим мы обеспечиваем удобное использование и хранение своих паролей, а также защищаемся от кейлогеров на ПК.

Рис 7. Хранилище персональных данных

4) Лог действий и времени
Подробное описание
Журнал событий отображает время подключения и отключения устройства Key_P1 и недоступен для корректировки. Таким образом, нерегламентированные отключения устройства дадут информацию службе безопасности о возможной несанкционированной инсайдерской утечке.
В дальнейшем планируется отображать также основные действия пользователя.

5) Режим «только чтение»
Подробное описание
Возможность записи информации с компьютеров на съемные накопители, подключенные к Key_P1, может быть заблокирована по ПИН коду администратора. Для этого устанавливается режим «только чтение» для того, чтобы Key_P1 заблокировал любую несанкционированную запись конфиденциальных данных, вирусов или других программ на накопитель на аппаратном уровне.

6) Три типа ключей шифрования
А) Случайный
Подробное описание
Создание: Формируется в процессе инициализации устройства.
Количество: 1024 штуки (фиксированно)
Применение: для шифрования информации на закрытом разделе накопителей и для шифрования обычной информации.


Рис 8. Формирование случайных ключей

Б) Синхронный
Подробное описание
Создание: Перед тем как приступить к созданию синхронных ключей, абонентам, которые планируют пересылать шифрованную информацию, необходимо обменяться между собой
следующими данными: № алгоритма (первый, второй или третий) и начальное значение
(кодовое слово или фраза) для того, чтобы были сформированы одинаковые ключи у
всех абонентов.
Количество: 104 штуки
Применение: для шифрования информации между пользователями, когда нужно быстро произвести обмен конфиденциальной информацией (например, в командировке).


Рис 9. Формирование синхронных ключей


В) Корпоративный
Подробное описание
Создание: В Key_P1 предусмотрено разграничение прав доступа к зашифрованным файлам. Служба безопасности предприятия будет иметь возможность создавать различные разграничения прав по отделам. При этом руководитель будет иметь доступ ко всем файлам. Сотрудники компании могут кодировать файлы для своих коллег с помощью программы Key_P1 Manager при наличии соответствующего уровня доступа.
Количество: 512 штук
Применение: для шифрования информации между пользователями внутри компании.


Рис 10. Формирование корпоративных ключей

Для шифрования данными типами ключей используется одно и тоже окно – «Шифрование файлов», см рис. 6

7) Быстрое криптопреобразование
Устройство Key_P1 позволяет провести быстрое шифрование или расшифрование информации. Таким образом, пользователи могут легко и быстро обмениваться зашифрованными текстовыми сообщениями, которые пересылаются с помощью электронной почты, различных систем обмена сообщениями (например skype), социальных сетей и т.д.


Рис 11. Исходное сообщение


Рис 12. Результат шифрования

4. Технические характеристики


Назначение: устройство предназначено для шифрования небольших объёмов конфиденциальной информации.
Скорость работы: с открытым разделом накопителя — до 3,2 Мбит/с, с закрытым разделом накопителя до 1,2 Мбит/с.
Поддерживаемые типы портов USB: 1.1, 2.0, 3.0
Поддерживаемые ОС: WindowsXP, Windows 7, Windows 8, Linux 2.6.х, Linux 3.х
Поддерживаемые типы накопителей: USB, SD, microSD, miniSD, MMC

5. Текущее состояние


Налажено производство устройств Key_P1 (бизнес версии) в городе Екатеринбург.
Устройство запатентовано, выполнено на базе мультиклеточного процессора Multiclet P1.
В устройстве имеются иностранные компоненты, однако разработка, основной процессор, изготовление, включая корпуса, напайку, тестирование – российское в объёме 80% стоимости, что и позволило сделать надпись «Made in Russia». В данный момент ведутся работы по выводу в серию профессиональной версии устройства и получению разрешительной документации на экспорт, т.к. к устройству проявляют интерес зарубежные компании.

6. Дальнейшее развитие


Устройство Key_P1 имеет возможность обновления прошивки (с проверкой ЭЦП перед стартом).
Поэтому на обновление прошивки и ПО составлен приличный список, основные пункты которого:
1) Поддержка Mac OS
2) Меню «Настройки», параметры которых сохраняются на Key_P1
3) Возможность задания личных ключей для шифрования
4) Поддержка функционала ЭЦП
5) Задание критериев установки ПИН кода пользователя
6) Генерация пароля для хранилища аутентификационных данных
7) Настройка списка доверенных устройств и разрешение работы с ними, а также их мониторинг
8) Система сервер-клиент для удаленного контроля за устройствами
9) Защищенный браузер
В перспективе возможно внедрение Key_P1 в почтовый клиент Mozilla Thunderbird, правда есть ряд вопросов, которые надо решить. А также потенциально осуществимым является создание собственного мессенджера или работа совместно с уже существующими, такими как qip, icq.
Представляет интерес и выпуск устройства для внедрения в системные блоки, с подключением напрямую к материнской плате и защитой всех периферийных портов USB. Такое устройство может быть основано на отечественном процессоре Multiclet R1, что повысит производительность в десятки раз. Key_P1 в этом случае сможет защитить от проблем, описанных в статье про безопасность 4G USB модема habrahabr.ru/company/pt/blog/243697/#first_unread. Хотя и современный вариант Key_P1 после выпуска специального обновления сможет защитить ПК от вредоносных устройств.
Кроме того важной особенностью устройства является его простая интеграция в программные системы обеспечения безопасности, т.к. устройство не требует установки ПО и драйверов для ОС.
Устройство для идентификации в ОС использует стандартные драйверы системы.

Одна из причин почему мы здесь


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

В 1988 году американская Ассоциация компьютерного оборудования объявила 30 ноября (день первой зафиксированной эпидемии «червя» Морриса) Международным днем защиты информации (Computer Security Day). Целью Дня является напоминание пользователям о необходимости защиты их компьютеров и всей хранимой в них информации.

Поздравляем всех специалистов, стоящих на страже информационной безопасности!

UPD1: также в процессе разработки устройства нами был получен VID для нашего устройства USB, который обошёлся нам в 5.000$ на usb.org и это цена без использования логотипа usb на корпусе.

P.S. К текущему моменту для бизнес версии получено требований:
— ослабления алгоритмов: 0
— добавления спец-ключей: 0
— создания прошивок для взлома: 0
@krufter
карма
15,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

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

Комментарии (59)

  • +1
    Скорость работы: с открытым разделом накопителя — до 3,2 Мбит/с, с закрытым разделом накопителя до 1,2 Мбит/с.

    Это же меньше, чем те 12Мбит/с пропускной способности, которые есть почти во всех современных микроконтроллерах с USB. Как у вас получилось сделать так плохо с учётом того, что ГОСТ у вас параллелится?

    Ничего не нашёл про используемый режим шифрования. В каком режиме используется ГОСТ 28147-89?
    • 0
      Такая скорость из-за периферийного USB 1.1, в то время мы не могли позволить себе строить устройство на базе только что появившегося на свет Multiclet R1.

      Режим шифрования-гаммирование с обратной связью.
    • 0
      Хочу дополнить по этому вопросу, что несмотря на пропускную способность необходимо учесть что данные проходят ещё процедуру шифрования(которая конечно занимает немного времени) плюс данные передаются между процессорами вместе с их контролем и ещё данные нужно записать на флешку или SD карту. В контроллерах есть USB, но вот, чтобы был хост, а не девайс, то это не везде.
  • +1
    Можно ли задавать свои 256 битные ключи и расшифровывать программно для проверки алгоритма?
    • 0
      В текущей версии прошивки эта функция недоступна.
      • +1
        Планируется ли эта функция в следующих версиях?
        Это ведь наверняка реализовать проще, чем огород с пинами и синхронизациями.
        • 0
          Да реализовать это можно в следующих версиях прошивки. А какой объём ключей вы считаете достаточным для такой функции?
          • 0
            Хотябы один.
            • 0
              Как реализуем данную функцию отпишусь в данной теме.
              • 0
                Можно сказать, что реализовали). Точнее уже это было реализовано, я совсем забыл, что в корпоративных ключах можно задать свой ключ, т.е. можно 512 таких ключиков задать, если поправить файл внешней базы корпоративных ключей. Хотя можем сделать и дополнительный функционал, когда пользователь смог бы задать прямо из приложения Key_P1 Менеджер свой ключ в 256 бит.
                • 0
                  Можно же 512 одинаковых задать всегда.
  • +2
    1) Что еще за «сохранить ключи в файл»? Ключи не эксклюзивно хранятся в устройстве?!

    2) Чем гарантируется неизвлечение уже хранящихся ключей из устройства?

    3) Проводили ли Fuzz-тестирование как на уровне USB так и API?

    4) Восстановимы ли данные с носителя информации после извлечения ключей?

    5) Читаем ли скрытый раздел после использования открытой части носителя без использования Ключ_П1?

    6) Что предприняли для защиты от кражи паролей из устройства программными средствами? (то есть пользователь ввел пин, и сидящий троян скрытно спионерил все пароли из него)

    7) Вопрос про точный алгоритм и использованные параметры (вектора инициализации, параметры кривой, режим применения и прочее) [с целью обеспечения совместимости с другим ПО, например, серверным, которое могло бы генерировать сообщения, читаемые пользователями через свою Ключ_П1ы].

    8) Доступен ли Crypto API для вычисления хеша/шифрации/дешифрации используя КП1?

    9) Сколько ключей было добавлено для спецслужб в процессе получения лицензии?
    • 0
      1) Ключи хранятся на устройстве, но сгенерировать их можно на ПК перед процессом инициализации
      2) Ключи хранятся во флеш памяти второго процессора у которого закрыты встроенные загрузчики и установлен режим безопасности
      3) Занимаемся этим
      4) Если у Вас есть ключи и есть образ закрытого раздела, который этими ключами зашифрован по секторам и Вы знаете какой сектор каким ключом зашифрован, то да
      5) Да конечно
      6) Ключи из устройства не получить ни программно ни аппаратно, что касается паролей, то получение каждого пароля происходит по пин коду, пока программной защиты от этого не делали.
      7) Пока для настройки стороннего ПО по типу Key_P1 мы не занимались, надо уточнить у руководства мнение по открытию алгоритмов
      8) Нет
      9) Пока нисколько, это бизнес версия. По профессиональной пока тоже ничего не добавляли для спецслужб.
      • +2
        1) Но генерация ключа же на ПК это несекурно изначально!
        2) То есть у второго процессора есть ТОЛЬКО функция «запомнить» ключ и «зашифровать»/«расшифровать» и всё? И его прошивка не обновляема? То есть при обнаружении ошибки в криптографии или для добавки нового алгоритма требуется отзыв всех устройств КП1?
        4) Стоп. Разве таблица какой сектор каким ключом не хранится на самом носителе?
        5) А сохраняет ли работоспособность раздел после его перемещения по диску физически, и/или изменению размера?
        7) Если алгоритм скрыт, чем докажете что там правда ГОСТ без доп.закладок и без предварительной генерации ослабленных ключей?
        9) И ГПСЦ не ослаблялся, и кривая не выбиралсь из списка рекомендованных для бизнес версий?
        • +1
          1) Да, приходится доверять компьютеру на котором мы генерируем первый раз ключи.
          Это необходимо для возможности восстановления устройства.
          2) У нас в устройстве функционирует и процессор стм32, поскольку в Multiclet P1 нет USB host, у процессора стм32 есть режим безопасности (т.е. загрузчики встроенные недоступны, флеш память не считать, про пользователя Barsmonster пока не говорим). Шифрование информации происходит только на процессоре Multiclet P1. Прошивка устройства обновляема, но имеет нашу подпись, которая хранится в секретной комнате с ограниченным доступом. Устройство Key_P1 перед тем как запустить прошивку запускает наш загрузчик, который производит расчёт цифровой подписи прошивки и осуществляет её проверку. Загрузчик отдает управление прошивке только в случае её валидности.
          4) Такая таблица не хранится на накопителе.
          5) В принципе перемещение не должно влиять, а вот изменение размера зашифрованного раздела повлияет.
          7) Есть документ в котором приведён исходный код алгоритма на ассемблере мультиклеточного процессора.
          Пока разрешения на выкладывания в открытый доступ данного документа у меня нет.
          9) Вопрос доверия
          • +1
            2) То есть Multiclet, прошивка которого обновляема (с вашей подписью, разумется), имеет возможность из stm32 достать ключи. Соответственно, как минимум вы можете создать прошивку, которая выдаст все хранящиеся на нём ключи на хост. Верно?

            4) То есть на ВСЕХ используемых носителях подключенных к КП1 одни и те же сектора шифруются одним и тем же ключом. Верно?
            5) То есть алгоритм выбора используемого ключа для сектора представляет собой генератор, зависящий только от размера раздела?

            7) То есть ничем :) Вся идея современной криптографии в том, что алгоритмы не просто не нужно скрывать, наоборот — их НУЖНО открывать :) и это безопасно. просто потому, что стойкость зависит от ключей, а не от секретности алгоритма.
            Если же вы зависите от публичности алгоритма — вы что-то делаете не так.

            9) Которому, очевидно, не откуда взяться.
            • 0
              2) Теоретически да, но доступ к подписи имеет ограниченный круг лиц, комната безопасности сертифицирована. Даже если вы потеряете все пароли, мы не будем писать такую прошивку. И сейчас её не существует.
              4) Одни и те же сектора одного и того же раздела — да, сейчас количество случайных ключей статично 1024, в дальнейшем можем дать этот параметр пользователю на его усмотрение(от 1 до 1024).
              5) От размера сектора -нет, от положения сектора в разделе — да
              7) Я не сказал, что мы зависим от публичности алгоритма, я не против его выложить.
              Но без разрешения начальства такой документ не могу разместить. Я согласен с идеей, что нужно открывать алгоритмы. Мы хотели выложить и исходники ПО, но пока не получили на это разрешения.
              Разместить исходники алгоритма недолго.
              • +1
                Я правильно понимаю, что рандомный IV у вас отсутствует, таким образом залив весь раздел нулями после легко определить какие сектора шифровались одинаковыми ключами?

                Используется ли предварительное сжатие и заполнение хвоста рандомом, для устранения подобной проблемы?

                Если да, то как себя поведёт, если на входе несжимаемые данные?
                • 0
                  Вы не определите какие сектора шифровались одинаковыми ключами, т.к. есть синхропосылка, которая разная для каждого сектора. В текущей версии прошивки предварительное сжатие не используется.
                  По поводу ГПСЧ и выбора кривой могу дополнить, что мы гарантируем, что никаких ослаблений нами не сделано и нам никакие указания по ослаблению защиты никогда не поступали.
                  • +1
                    ага, то есть IV у вас есть, используется псевдослучайный с инициалзитором, зависящим от сектора.
                    спасибо.
                  • +1
                    кстати, правильно говорить:
                    К текущему моменту получено требований
                    * ослабления алгоритмов: 0
                    * добавления спец-ключей: 0
                    * создания прошивок для взлома: 0

                    и потом убирать пункты, которые станут ложью.
                    • +3
                      Я не против, добавил к основной статье эти пункты.
                    • 0
                      Есть шанс получить такие требования? Кто уже сталкивался с лицензированием в конторе?
                      • +1
                        в РФ я слышал только об ограничении длины ключа в сертифицированном софте, и то довольно давно
                        • +1
                          Если ширина ключа не более 56 бит, то можно использовать такое шифрование без лицензии, если больше, то нужно получать лицензию. По началу мы хотели использовать алгоритм шифрования AES, но оказалось, что на него проблематично получить лицензию. Поэтому у нас ГОСТ. А ширина у данного алгоритма 256 бит.
                          Если кому интересно, законы можно почитать тут base.consultant.ru/cons/cgi/online.cgi?req=doc;base=LAW;n=128739
                          • +1
                            я имею ввиду, что «убедительно просили» при сертификации ограничить размер RSA в 1024 бита.
                            • +1
                              Пока не просили
              • 0
                Правильно ли я понимаю, что вся ключевая информация (пины, пароли, таблицы замены итп) храняться в STM32, а сам шифратор в Мильтиклете?
                • 0
                  Да, правильно
            • 0
              кстати, вопрос. а как защищен протокол мультиклет<=>stm32? что помешает мне вскрыть корпус (растворить, например, в ацетоне); запитать, потом «сдуть» мультиклет и подключиться к stm32?
              • 0
                В бизнес версии:
                Допустим вы растворили корпус и подключились, но откуда Вам известен ПИН код?
                Без ПИН кода протокол не работает. А если Вам известен ПИН, то зачем вскрывать.
                В профессиональной версии:
                Тут ключи хранятся в ОЗУ памяти, есть батарейка которая поддерживает питание этой памяти, если корпус вскрываете, то сработает концевик. Плюс ко всему в критических местах идёт заливка компаундом.
                • 0
                  Защита от перебора пин-кода на самой STM32 реализована?

                  А как концевик относится к растворению корпуса с одной из сторон?
                  • 0
                    На ввод пин-кода пользователя есть 10 попыток, если пин-код пользователя заблокирован, то для его разблокировки необходимо использовать пин-код администратора. На ввод пин-кода администратора есть также 10 попыток, после блокировки пин-кода администратора уже ничего не поделать, только отформатировать устройство удалив все ключевые данные.

                    На этот случай есть компаунд. В профессиональную версию пока ещё можно вносить коррективы, если посоветуете как поставить более мощную защиту от вскрытия будем только рады это применить. Хотя можно сделать проще и хранить данные на ОЗУ в зашифрованном виде.
                    • 0
                      то есть после 20 попыток ввода в STM32 автоматически будет стёрта память?
                      а если чип будет запитан не 3.3в а 2.6-2.7в? по идее, операция стирания проходить не будет.
                      либо питать импульсно — запитываем, подаём команду проверки пина и убираем питание — за время разряда внутренних ёмкостей ответ должен успеть пройти, а вот команда стирания/записи номера попытки уже нет.
                      в итоге получим бесконечное число попыток + возможность перебора.

                      вариант хранения в шифрованном виде — самое оптимальное, по-моему.
                      особенно, если ключ шифрования будет рандомный, хранящийся во внутренней ОЗУ процессора.
                      • 0
                        После 20 попыток память автоматически стёрта не будет, устройство будет заблокировано. Для стирания необходимо загрузить у нас утилиту.
                        Бесконечное число попыток не удастся получить, т.к. ответ не пройдёт до записи номера попытки.

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

                        По ОЗУ согласен.
                        • 0
                          Надо посмотреть на потребление процессора во время записи/стирания… Возможно, можно по графику потребления отличить.
                          Но это уже извращение, конечно :)
                          • 0
                            Но функция у нас контролирует прошла ли запись.
                            • 0
                              Я к тому, что надо четко проследить, чтобы обе ветки (успех/не успех) не отличались ничем кроме собственно результата ответа.
                              То есть запись во флеш должна быть в обоих случаях, желательно писать одно и то же количество единиц-нулей, чтобы время до момента начала записи было буквально идентичным в тактах процессора.

                              То есть нам неважно же записали или нет, если есть разница между ними.

                              кстати, время не должно отличаться и от пина — а то будет возможен подбор посимвольно.
  • +3
    >> Шифровальные флешки, функционал, ширина ключа.

    Взрывная статья, спасибо!
    • 0
      Зачем в наше время что-то хранить на флешке, когда можно закриптовать и сохранить в нескольких местах в интернете/фринете. Когда гебня приедет, флешку заберут и информация исчезнет, интернет же лишен таких недостатков.
      • 0
        А наше устройство как раз и позволяет шифровать информацию не только на флешке, но и на ПК, без подключенных к устройству накопителей. Также есть быстрое шифрование. Результат шифрования можно хранить в интернете, в общественной почте gmail и др.
        • 0
          Общественная почта — это как?
          • 0
            Не корпоративная почта на сервере компании, а бесплатная почта, которая разумеется анализируется роботами и модераторами и на которой важную информацию лучше не хранить в открытом виде.
  • 0
    Как формировались S-блоки и есть ли возможность их заменить своими?
    • 0
      Взяты из списка лицензированных. Возможности заменить своими нет.
  • 0
    А какова пиковая скорость шифрации на мультиклете?

    И получается что мультиклет только шифратор. Все функции по обеспечению безопасности (ограничение доступу к
    пинам, паролям) итп лежит на STM32?
    • 0
      1,7 Мбит/сек при 100 МГц скорость шифрования, проверил ещё раз, прилично времени на него уходит. Конечно считаем, что текущая версия имеет право на существование. Но и не забываем о прогрессе, поскольку для увеличения скорости рассматривается вариант ревизии процессора Multiclet R1 с аппаратной реализацией ГОСТ89, с USB host, тогда будет только один процессор с повышением производительности более чем в 10 раз.
  • 0
    Для подключения закрытого раздела используется ПИН код пользователя.
    Я правильно понимаю, файлы на закрытом разделе становятся видны операционной системе после ввода ПИНа?
    И вообще, может я просто пропустил что-то в статье, но опишите типичный сценарий работы с уже инициализированным устройством, хотя бы один абзац в стиле «пользователь втыкает устройство, в него втыкает флэшку, вводит пин, появляется диск, он копирует на него файлик ....»
  • 0
    Вы совершенно правы, всё именно так:
    один абзац в стиле «пользователь втыкает устройство, в него втыкает флэшку, вводит пин, появляется диск, он копирует на него файлик ....»

    Вот кратко в картинках:



    • 0
      Спасибо,
      тогда вопрос:
      если операционная система видит всё после ввода ПИНа, как же защитить информацию от выкачивания при втыкании в зараженный компьютер? Логи — я увидел, это ценно для «разбора полетов» в службе безопасности, но для Stuxnet-то где-то исходники гуляют, а смысл той атаки был именно такой — найти нужное специфическое устройство и что-то с ним сделать. Только там в него записывали данные, а тут будут читать.

      Конкретно — как быть и что делать с личными компьютерами (ноутбуками) сотрудников с максимальными правами на чтение?
      • 0
        Кстати да. SD карту для логов во write-only режиме — было бы няшно-няшно.
      • 0
        Установив режим «только чтение» мы защитим накопители от вирусов. Если хотим ещё и обезопасить данные от вирусов, тогда придётся предварительно зашифровать информацию. Даже если вирус украдёт зашифрованные ранее файлы, они не сильно помогут злоумышленнику. Процедура шифрования файла не на закрытом разделе инициализированного накопителя, а в «любом месте» происходит схожим образом как и на закрытом разделе, т.е. один файл может быть зашифрован большим количеством ключей(шифровать случайными ключами мы можем не только на накопителе).
        А про SD карту и логи я не совсем понимаю, логи у нас хранятся на устройстве.
        Или Вы имеете ввиду установить режим «только запись» и сохранять в таком режиме файлы?
        • 0
          Логи доступа. Список файлов к которым был доступ на этом разделе во сколько, с какого компьютера.
        • 0
          После инициализации и ввода пина (см. картинки выше) и ввода команды «xcopy /E g: d:\CopyOfDriveG» мы в папке «d:\CopyOfDriveG» получаем расшифрованные файлы с носителя — все вообще. Так?
          дополнительная SD для логов в write-only позволит потом посмотреть все операции с файлами, хотя бы определить, что был слив. Непонятно только как слив предотвратить.
          • 0
            Можем например в логах устройства отметить, что происходило копирование какой-то информации в такое то время, такого то объёма. Устройство же не понимает какой файл копируется, допустим в логах будут сектора, но это мало информации даст. Если флешка пользователя то о каком сливе идёт речь, допустим файлы зашифрованы, тогда и вирусу они не сильно пригодятся. Компьютер рабочий можно защитить, если администратор жёстко установит для пользователя режим «только чтение» без права выключения этого режима пользователем.
            • 0
              сейчас внимательно:
              0. Человек имеет права на чтение всех зашифрованных файлов. Берет свой домашний ноутбук. У сына своего только что отнял, хочет поработать в субботу днем.
              1. Подключает устройство Key_P1
              2. Подключает в него флэшку с зашифрованными данными
              3. Инициализация, ввод пароля.
              4. У него становится доступно все содержимое зашифрованного носителя [USB PRIVATE] G: (или я чего-то не понял?)
              5. Тут появляется злобный хацкер и выполняет на ноутбуке удаленно команду «xcopy /E g: c:\CopyOfDriveG», производит слив всего содержимого в расшифрованном виде.

              Такой сценарий возможен теоретически?
              • 0
                Теоретически такой сценарий возможен, но чтобы оградить себя от такого сценария можно шифровать файл не автоматическим копированием на закрытый раздел, а через окно «Шифрование файлов».
                • +1
                  Вот, теперь ясно, спасибо!
  • +1
    Отмечу только то, что кроме практической реализации, Мультиклету надо пожелать удачи и развития независимо от запинок и неудач

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.