Протокол автономного закрытого ключа
Протокол автономного закрытого ключа ( OPKP ) — это криптографический протокол, предотвращающий несанкционированный доступ к резервному копированию или архивированию данных. В результате протокола создается открытый ключ , который можно использовать для шифрования данных, и автономный закрытый ключ , который позже можно использовать для расшифровки этих данных.
Протокол основан на трех правилах, касающихся ключа. Автономный закрытый ключ должен:
- не храниться с зашифрованными данными (очевидно)
- не храниться в организации, которая физически хранит зашифрованные данные, для обеспечения конфиденциальности.
- не храниться в той же системе, что и исходные данные, чтобы избежать возможности того, что кража только закрытого ключа предоставит доступ ко всем данным у поставщика хранилища; и чтобы избежать того, что, когда ключ понадобится для восстановления резервной копии, ключ будет утерян вместе с потерей данных, которая в первую очередь сделала восстановление необходимым.
Чтобы соответствовать этим правилам, протокол автономного закрытого ключа использует метод асимметричной упаковки ключей .
Безопасность
[ редактировать ]Поскольку протокол не предоставляет правил относительно надежности используемых методов шифрования и ключей, безопасность протокола зависит от фактической криптографической реализации. При использовании в сочетании с надежными методами шифрования протокол может обеспечить исключительную безопасность.
Операция
[ редактировать ]Изначально:
- клиентская программа (программа) в системе (локальной системе) с данными для резервного копирования или архивирования генерирует случайный закрытый ключ PRIV
- программа создает открытый ключ PUB на основе PRIV
- программа сохраняет PUB в локальной системе
- программа представляет PRIV пользователю, который может сохранить ключ, например, распечатать его в виде надежного бумажного ключа или на карте памяти.
- программа уничтожает PRIV в локальной системе
При архивировании или создании резервной копии для каждого сеанса или файла:
- программа генерирует одноразовый случайный ключ ОТРК
- программа шифрует данные с помощью OTRK и симметричного шифрования метода
- программа шифрует ключ OTRK (необязательно дополненный ) с помощью PUB в OTRKCR
- программа сохраняет OTRKCR и зашифрованные данные на сервере
- программа уничтожает OTRK в локальной системе
- программа уничтожает OTRKCR в локальной системе
- сервер хранит OTRKCR и хранит зашифрованные данные
Чтобы восстановить резервные копии или заархивированные данные:
- пользователь вводит PRIV в программу
- программа загружает данные с соответствующим OTRKCR
- программа расшифровывает OTRKCR с помощью PRIV, выдавая OTRK
- программа расшифровывает данные с помощью OTRK
- программа уничтожает PRIV в локальной системе