Предложен способ хранения закрытого ключа криптосистемы цифровой подписи. Детально описана идея способа, аргументированно выбраны алгоритмы работы. Предложены разные варианты.
Ключевые слова: цифровая подпись, хранения закрытого ключа, облачные системы, криптография, защита информации.
Постановка проблемы. Электронная цифровая подпись (ЭЦП) — реквизит электронного документа, полученный в результате криптографического преобразования информации с использованием закрытого ключа подписи и позволяющий установить отсутствие искажения информации в электронном документе с момента формирования подписи и проверить принадлежность подписи владельцу сертификата ключа подписи [1].
Электронная подпись предназначена для идентификации лица, подписавшего электронный документ, и является полноценной заменой (аналогом) собственноручной подписи в случаях, предусмотренных законом.
Использование электронной подписи позволяет осуществить:
- Контроль целостности передаваемого документа: при любом случайном или преднамеренном изменении документа подпись станет недействительной, потому что вычислена она на основании исходного состояния документа и соответствует лишь ему.
- Защиту от изменений (подделки) документа: гарантия выявления подделки при контроле целостности делает подделывание нецелесообразным в большинстве случаев.
- Невозможность отказа от авторства. Так как создать корректную подпись можно, лишь зная закрытый ключ, а он известен только владельцу, он не может отказаться от своей подписи под документом.
- Доказательное подтверждение авторства документа: Так как создать корректную подпись можно, лишь зная закрытый ключ, а он известен только владельцу, он может доказать своё авторство подписи под документом. В зависимости от деталей определения документа могут быть подписаны такие поля, как «автор», «внесённые изменения», «метка времени» и т. д.
Закрытый ключ является наиболее уязвимым компонентом всей криптосистемы цифровой подписи. Злоумышленник, укравший закрытый ключ пользователя, может создать действительную цифровую подпись любого электронного документа от лица этого пользователя. Поэтому особое внимание нужно уделять способу хранения закрытого ключа. Пользователь может хранить закрытый ключ на своем персональном компьютере, защитив его с помощью пароля. Однако такой способ хранения имеет ряд недостатков, в частности, защищенность ключа полностью зависит от защищенности компьютера, и пользователь может подписывать документы только на этом компьютере [2].
Поэтому одной из самых важных проблем в криптографии является проблема хранения закрытого ключа.
В данной статье рассматривается способ хранения закрытого ключа для цифровой подписи.
Анализ последних исследований и публикаций. Последние исследования в этой области проводил Б. А. Фороузан в своей книге “Схема цифровой подписи Эль-Гамаля” в разделе “Управление ключами шифрования и безопасность сети”. Были предложены способы управления ключами шифрования, в частности закрытыми и открытыми ключами. Цифровая подпись не обеспечивает конфиденциальную связь. Если конфиденциальность требуется, то сообщение и подпись должны быть зашифрованы с использованием любого ключа засекречивания (криптосистема с открытым ключом) [3].
Выделение нерешенных ранее частей общей проблемы. Нерешенной проблемой является проблема хранения закрытого ключа, как предложил Фороузан, хранение закрытого ключа на одном компьютере является не очень хорошим решением, в связи с тем, что защищенность ключа полностью зависит от защищенности компьютера, и пользователь может подписывать документы только на этом компьютере.
Цель статьи. Главной целью статьи является предоставить способ хранения закрытого ключа криптосистемы цифровой подписи.
Описание способа. Идея состоит в том, что закрытый ключ разбивается на две части, одна часть будет храниться на смарт-карте у владельца цифровой подписи, а другая часть будет храниться в облаке. Когда владелец делает цифровую подпись, он использует смарт-карту, где хранится одна часть ключа, вторая часть ключа берется с облака. Для повышения безопасности информации часть ключа можно хранить зашифрованной, к тому же доступ к облаку осуществляется с помощью логина и пароля. Если же злоумышленнику каким-то образом удается заполучить часть ключа с облака, то без части, что на смарт-карте подделать подпись будет сложно. К тому же возникает еще необходимость расшифровки полученной части, что тоже является задачей не из легких. С облака часть ключа передается зашифрованной, с помощью любого ассиметричного алгоритма криптографии.
Алгоритмы асимметричного шифрования используют два ключа, которые образуют неразрывную пару. Создатель ключей оставляет один ключ себе: этот ключ называют закрытым (личным). Второй ключ публикуется. Его называют открытым (публичным). В случае асимметричного шифрования каждый субъект обмена данными должен обладать парой из закрытого и открытого ключей. Безопасность обеспечивается сложностью алгоритма, что исключает возможность получения второго компонента пары ключей, зная первый компонент.
В этом случае был выбран ассиметричный алгоритм из-за того, что позволяет использовать передачу зашифрованной информации без необходимости решения задачи передачи ключа шифрования, как к примеру в симметричных алгоритмах. К тому же количество информации, передаваемой из облака, в этом случае не большое, что не будет нести значительную вычислительную нагрузку при использовании ассиметричного алгоритма. Примером ассиметричного алгоритма криптографии могут выступать алгоритмы основаны на RSA. Схема организации хранения закрытого ключа показана на рис.1.
Рис. 1. Организация хранения закрытого ключа
К тому же, наиболее защищенный способ хранения закрытого ключа — хранение на смарт-карте. Для того, чтобы использовать смарт-карту, пользователю необходимо не только её иметь, но и ввести PIN-код, то есть, получается двухфакторная аутентификация. Вторая часть, что в облаке передается в смарт-карту. После этого подписываемый документ или его хэш передается в карту, её процессор осуществляет подписывание хеша и передает подпись обратно. В процессе формирования подписи таким способом не происходит копирования закрытого ключа, поэтому все время существует только единственная копия ключа. Кроме того, произвести копирование информации со смарт-карты сложнее, чем с других устройств хранения [4].
Можно также использовать вместо смарт-карты и другие носители информации: USB-брелоки, таблетки Touch-Memory. Но они являются менее защищенными по сравнению со смарт-картами.
Можно также рассмотреть еще и другой вариант, когда закрытый ключ полностью хранится в облаке и цифровую подпись производит непосредственно в нем. Этот вариант показан на рис. 2. Доступ к облаку осуществляется с помощью логина и пароля. При попытке сделать цифровую подпись запрашивается pin-код, благодаря этому осуществляется двухфакторная авторизация, что значительно повышает безопасность. Этот вариант исключает необходимость иметь при себе какой либо носитель информации. И цифровую подпись можно произвести из любой машины. К тому же закрытый ключ всегда остается в облаке, что исключает возможность его перехвата злоумышленником.
Рис. 2. Вариант хранения закрытого ключа в облаке
Владелец цифровой подписи просто отправляет файлы, которые хочет подписать в облако, и там же эти файлы подписываются и передаются обратно владельцу. Но тогда возникают другие проблемы, к примеру, проблема передачи «больших» файлов, которые подписываются в облако и обратно пользователю. В этом случае безопасность хранения ключа ложится на плечи поставщика таких услуг.
Еще одним уязвимым местом данного способа является момент, когда владелец хочет подписать несколько файлов, в таком случае подписанные файлы могут быть перехвачены злоумышленником для проведения попытки подделывания подписи. По этому в этом случае файлы лучше шифровать. Из-за большого объёма данных, лучше взять симметричный алгоритм криптографии, а передачу ключа симметричного шифрования произвести с помощью ассиметричного алгоритма, с достаточно большой длиной ключа- 4096 битным, к примеру.
Выводы и предложения. Вработе предложен способ хранения закрытого ключа криптосистемы цифровой подписи. Детально описана идея способа, аргументировано выбраны алгоритмы работы. Предложены разные варианты. Недостатком этого способа является постоянная необходимость доступа к интернету, так как необходимо взаимодействие с облаком. Но это не значительная плата по сравнению с возможностью безопасного хранения закрытого ключа. Дальнейшим перспективным развитием этого способа можно считать возможность разбиения закрытого ключа на несколько частей и его хранения в разных облаках, что еще больше снизит вероятность получения закрытого ключа злоумышленником.
Литература:
1. Рябко Б. Я., Фионов А. Н. Основы современной криптографии. — «Научный Мир», 2004. — 173 с.
2. Алферов А. П., Зубов А. Ю., Кузьмин А. С., Черемушкин А. В. Основы криптографии. — «Гелиос АРВ», 2002. — 480 с.
3. Б. А. Фороузан Схема цифровой подписи Эль-Гамаля // Управление ключами шифрования и безопасность сети / Пер. А. Н. Берлин. — Курс лекций.
4. Нильс Фергюсон, Брюс Шнайер. Практическая криптография = Practical Cryptography: Designing and Implementing Secure Cryptographic Systems. — М.: Диалектика, 2004. — 432 с.