Доклады, выступления, видео и электронные публикации
Криптографию – на службу ЕГЭ!
В статье предлагается метод обеспечения конфиденциальности, целостности и неотказуемости при рассылке информации из центра с использованием типовых ключевых USB-токенов, при котором получить доступ к ее содержанию могут не менее двух из трех ее получателей.
Ключевые слова: шифрование, целостность, неотказуемость, разделение секрета.
Cryptography to the service of the exams
M.M. Gruntovich
Closed Joint Stock Company «OKB SAPR», Moscow, Russia
The paper proposes a method of provision confidentiality, integrity and non-repudiation when sending information from the center using the typical USB-tokens, at which only at least two of the three recipients can access its content.
Keywords: encryption, integrity, non-repudiation, secret sharing.
Введение
Как-то перед нами была поставлена задача разработать безопасную систему рассылки контрольно-измерительных материалов КИМ Е. Э. Задача, на первый взгляд, типовая, однако у заказчика была еще одна вводная: для вскрытия контрольно-измерительных материалов необходимо присутствие не менее двух человек из трех представителей регионального центра тестирования.
В инвариантной форме это звучит так: необходимо обеспечить безопасную доставку файла из центра к получателям с обеспечением следующих свойств информационной безопасности:
- конфиденциальности,
- целостности,
- неотказуемости (центр не может отказаться, что именно он разослал этот файл),
- невозможности получения монопольного доступа к содержанию только одним лицом из трех.
При этом предпочтительно максимально использовать существующие средства криптографической защиты информации, например, персональные USB-токены.
Налицо СКЗИ с пороговой схемой разделения секрета. Сразу же на ум приходит линейная схема разделения секрета Шамира, но проблема в том, что штатное СКЗИ, каковым является USB-токен, не умеет делать необходимые вычисления, а изменять прошивку устройства не желательно. Нам все же удалось ридумать, как можно реализовать разделение секрета с использованием типовых персональных USB-токенов.
Архитектура системы
Система защиты состоит из следующих элементов:
- центр управления ключами (ЦУК), организующий криптографическую защиту сети,
- центр рассылки, обладающий ключевой информацией для связи со всеми остальными участниками, использующий HSM с неизвлекаемой персональной ключевой информацией на борту,
- региональные пункты получения информации, организующие работу на местах,
- получатели информации в количестве трех человек в каждом региональном пункте, каждый из которых обладает ключевым носителем (USB-токеном) с неизвлекаемой персональной ключевой информацией.
Принцип работы
Идея:
- ключевая система с архитектурой «звезда»: центр рассылки имеет ключи парной связи со всеми получателями,
- центр рассылки подписывает содержимое файла для каждого регионального пункта,
- выполняет шифрование файла на случайно сгенерированном разовом ключе,
- этот ключ шифруется в адрес каждой из трех пар получателей (три получателя — три пары),
- три экземпляра зашифрованного разового ключа вместе с зашифрованным файлом и подписью образуют защищенный контейнер,
- контейнер отсылается в региональный пункт,
- любые двое получателей в региональном пункте предоставляют свои ключевые носители,
- из файла контейнера извлекается и расшифровывается разовый ключ,
- извлекается и расшифровывается целевой файл,
- проверяется электронная подпись центра рассылки.
Ключевая система
ЦУК представляет собой Удостоверяющий центр с соответствующей ключевой информацией:
- ключ подписи сертификатов,
- сертификат ключа проверки электронной подписи центра рассылки,
- сертификаты открытых ключей Диффи-Хеллмана (Д-Х) центра рассылки и получателей.
У центра рассылки имеется следующая ключевая информация:
- ключ электронной подписи (ЭП) центра рассылки,
- закрытый ключ Д-Х центра рассылки,
- сертификат ключа проверки ЭП ЦУК,
- сертификаты открытых ключей Д-Х получателей,
- собственные сертификаты ключа ЭП и открытого ключа Д-Х.
Каждый получатель владеет минимальной ключевой информацией:
- свой закрытый ключ Д-Х,
- сертификат ключа проверки ЭП ЦУК.
Помимо этого в вычислениях система использует:
- ключи парной связи центра рассылки и получателя,
- разовый ключ шифрования контейнера,
которые вычисляются/генерируются непосредственно перед использованием и уничтожается сразу же после этого.
Подготовительный этап
ЦУК:
- генерирует ключевую информацию всех участников системы и готовит соответствующие ключевые носители,
- безопасным образом доставляет в центр рассылки ключевой носитель, сертификат ключа проверки ЭП ЦУК и базу сертификатов открытых ключей получателей,
- безопасным образом доставляет в региональные пункты по три ключевых носителя (токена) с ключевой информацией получателей.
Формирование контейнера
Для защиты файла в адрес регионального пункта, представленного тройкой получателей, центр рассылки выполняет следующую последовательность действий:
- проверяет сертификаты трех получателей,
- вычисляет ЭП содержимого файла,
- генерирует случайный разовый ключ,
- шифрует содержимое файла на разовом ключе,
- шифрует разовый ключ на каждой из трех пар ключей получателей,
- вкладывает в контейнер зашифрованное содержимое файла, значение ЭП, три экземпляра зашифрованного разового ключа, сертификаты открытых ключей центра рассылки,
- вычисляет контрольную сумму контейнера, как код аутентификации на разовом ключе и добавляет ее в контейнер.
Шифрование данных выполняется в режиме гаммирования с обратной связью, ключей — в режиме простой замены.
Шифрование разового ключа K в адрес пары получателей i и j (i<j) на шаге 5) в HSM центра рассылки предлагается выполнить следующим образом:
- экспортировать разовый ключ K на открытом ключе получателя i (результат: K*i— зашифрованный K на ключе парной связи центра рассылки и получателя i),
- вычислить ключ парной связи с получателем j,
- зашифровать на нем данные K*i (результат: ключ K*, последовательно зашифрованный на ключах связи Центра рассылки с получателями i и j).
Расшифрование контейнера
Получив контейнер с файлом, любая пара представителей регионального пункта выполняет следующую последовательность действий:
- извлекает и проверяет сертификаты открытых ключей центра рассылки,
- считывает экземпляр разового ключа, зашифрованный для данной пары получателей,
- расшифровывает разовый ключ,
- проверяет контрольную сумму контейнера,
- расшифровывает содержимое файла на разовом ключе,
- проверяет ЭП центра рассылки.
Расшифрование разового ключа K* на шаге 3) с использованием персональных USB-токенов пользователей i и j (i<j) предлагается выполнить следующим образом:
- в токене j расшифровать данные K* на ключе парной связи с центром рассылки, результат K*i,
- импортировать ключ K*i в токен i на открытом ключе центра рассылки.
Далее токен j должен выполнить операции проверки кода аутентификации и расшифрования содержимого файла, и при этом разовый ключ не появляется в открытом виде в ОЗУ компьютера.
В описании алгоритмов формирования/разбора контейнера мы опустили служебную часть: идентификация, отметка времени. Это конечно тоже необходимо, но не является целью данной заметки.
Таким образом, с помощью типовых персональных USB-токенов может быть построена пороговая схема разделения секрета. При этом изменение штатной прошивки токенов не требуется, во время работы долговременная персональная ключевая информация не появляется в ОЗУ компьютеров, а также обеспечиваются необходимые свойства безопасности информации при передаче по открытому каналу связи.
Автор: Грунтович М. М.
Дата публикации: 01.01.2016
Библиографическая ссылка: Грунтович М. М. Криптографию – на службу ЕГЭ! // Вопросы защиты информации: Научно-практический журнал М.: ФГУП «ВИМИ», 2016. Вып. 3. № 114. С. 20–22.
Обратная связь
Отправьте нам сообщение или закажите обратный звонок.