Полноценная информационная безопасность стала одной из главных целей современного общества. А её невозможно обеспечить без эффективных способов шифрования информации. Вот только классические способы, такие как симметричная криптография, хоть и обеспечивали высокий уровень устойчивости ко взлому, но были не слишком удобными для активного и регулярного использования. Поэтому был придуман революционно-новый подход – криптография с открытым ключом.
Что это такое?
Асимметричное шифрование работает по следующим принципам:
- Генерация пары ключей – открытого и закрытого. Зная первый, невозможно подобрать второй за разумное время. Однако обладая вторым, можно создать неограниченное количество открытых.
- С помощью открытого кода и известных методов шифрования информация шифруется таким образом, чтобы дешифровать её можно было только с помощью закрытого.
- Открытый ключ может находиться в свободном доступе и распространяться по незащищённым каналам передачи информации.
Фактически, это достигается путём использования так называемой «односторонней функции». Она так называется потому, что её нельзя высчитать, даже зная неограниченное количество возможных её точек. Только наличие так называемой «лазейки» - закрытого ключа – делает этот процесс возможным.
Преимущества и недостатки
Преимущества данного способа защиты данных заключаются в следующем:
- Возможность передачи информации по незащищённому каналу.
- Высоким требованиям к безопасности должна соответствовать только сторона-отправитель.
- Данный способ облегчает процесс аутентификации пользователей.
Есть у него и некоторые, довольно существенные, недостатки:
- В данный алгоритм крайне сложно вносить изменения.
- Процесс шифрования и дешифрования работает медленно и требует большие вычислительные ресурсы.
- Используемые ключи намного длиннее, чем в симметричном шифровании.
Большая длина обусловлена тем, что между открытым и закрытым ключом есть прямая закономерность, которую можно банально подобрать. Поэтому для того уровня безопасности, что даёт симметричный ключ длиной в 128 бит (минимум, реально используемый), необходим асимметричный порядка 2304 бит. Работать с такими размерами неудобно, поэтому процесс в целом более медленный.
Кроме того, несмотря на высокую устойчивость, данный способ кодирования информации всё ещё можно взломать. Чаще всего используют два способа.
Первый – реальное вычисление приватного ключа по известным открытым. Если известен используемый алгоритм и в распоряжении взломщика есть несколько зашифрованных текстов, то взлом чисто технически возможен. Особенно с использованием современных технологических средств.
Второй – вклинивание третьей стороны в процесс передачи зашифрованных данных, подмена передаваемых открытых ключей собственными и дешифровка сообщений за счёт собственных закрытых. Однако данный способ не работает в ситуации с использованием защищённых сертификатов.
Асимметричное шифрования и блокчейн Биткоин
Несмотря на то, что Биткоин использует пары из открытого и приватного ключа, конкретно асимметричное шифрование в нём не используется. В отличие от второго распространённого варианта практического применения асимметричной криптографии – цифровых подписей. То есть любое сообщение в пределах блокчейна может не быть зашифрованным, но обязательно снабжается цифровой подписью в качестве идентификатора. Так происходит потому, что используется более безопасный алгоритм ECDSA, не обеспечивающий дополнительную кодировку, в отличие от более простого, но функционального алгоритма RSA.
Современное использование
На данный момент, наиболее известными вариантами применения подобных методов шифрования являются следующие:
- RSA - алгоритм, пригодный и для формирования цифровых подписей и для шифрования информации. Лежит в основе ассиметричной криптографии в целом.
- DSA – базовый алгоритм для генерации цифровой подписи без дополнительной кодировки. Является основной для FIPS-186-4 – официального стандарта цифровой подписи в США.
- ECDSA – наиболее распространённый алгоритм для создания цифровой подписи.
- ГОСТ 34.10-2018 – отечественный стандарт электронных цифровых подписей.
Кроме того, подобные методы шифрования используются для создания гибридных систем, собравших лучшее из двух существующих методов кодировки информации. В качестве примера, можно назвать Security Sockets Layer (SSL) и Transport Layer Security (TLS), которые легли в основу создания безопасных каналов связи в сети интернет. В частности – протокола HTTPs.