Надежность криптосистем
В современном программном обеспечении криптоалгоритмы широко применяются не только для задач шифрования данных, но и для аутентификации и проверки целостности. На сегодняшний день существуют хорошо известные и апробированные криптоалгоритмы (как с симметричными, так и несимметричными ключами), криптостойкость которых либо доказана математически, либо основана на необходимости решения математически сложной задачи (факторизации, дискретного логарифмирования и т.п.). К наиболее известным из них относятся DES, RSA. Таким образом, они не могут быть вскрыты иначе, чем полным перебором или решением указанной задачи. С другой стороны, все время появляется информация об ошибках или "дырах" в той или иной программе (в т.ч. применяющей криптоалгоритмы), или о том, что она была взломана (cracked). Это создает недоверие как к конкретным программам, так и к возможности вообще защитить что-либо криптографичеcкими методами не только от спецслужб, но и от простых хакеров. Поэтому знание истории атак и "дыр" в криптосистемах, а также понимание причин, по которым они имели место, является одним из необходимых условий разработки защищенных систем. Перспективным направлением исследований в этой области является анализ успешно проведенных атак или выявленных уязвимых мест в криптосистемах с целью их обобщения, классификации и выявления причин и закономерностей их появления и существования. Выделяют следующие причины ненадежности криптографических программ: 1. Невозможность применения стойких криптоалгоритмов; 2. Ошибки в реализации криптоалгоритмов; 3. Неправильное применение криптоалгоритмов; 4. Человеческий фактор. Рассматриваемые причины покрывают только два вида потенциально возможных угроз: раскрытия и целостности, оставляя в стороне угрозу отказа в обслуживании, которая приобретает все большее значение по мере развития распределенных криптосистем.
|