Minimal Key Lengths for Symmetric Ciphers to Provide Adequate Commercial Security (О минимальной длине ключа для симметричных шифров, обеспечивающей необходимую степень стойкости) 3 страница
3.Wi-Fi Protected Access 2 (WPA2) Overview (Обзор защищённого доступа Wi-Fi версии протокола 2)
Introduction
The original IEEE 802.11 standard provided the following set of security features to secure wireless LAN communication:
1. Two different authentication methods: Open system and shared key
2. The Wired Equivalent Privacy (WEP) encryption algorithm
3. An Integrity Check Value (ICV), encrypted with WEP, which provided data integrity
Обзор защищённого доступа Wi-Fi версии протокола 2
Введение
Изначально стандартом IEEE 802.11 был представлен следующий набор функциональных возможностей, обеспечивающий защиту передачи данных в среде ЛВС:
1. Два различных метода аутентификации: Открытый ключ и совместный доступ
2. Алгоритм шифрования «Эквивалент Проводной Защищенности» WEP
3. Проверка значения целостности (ICV), зашифрованная с помощью WEP протокола
Over time, these security features proved to be insufficient to protect wireless LAN communication in common scenarios. To address the security issues of the original IEEE 802.11 standard, the following additional technologies are used:
· The IEEE 802.1X Port-Based Network Access Control standard is an optional method for authenticating 802.11 wireless clients. IEEE 802.1X provides per-user identification and authentication, extended authentication methods, and, depending on the authentication method, encryption key management dynamic, per-station or per-session key management and rekeying.
Со временем этой функциональности стало недостаточно для защиты передачи данных по наиболее распространённым сценариям. Для соответствия требованиям стандарта IEEE 802.11, были введены следующие дополнения:
· Опциональным методом аутентификации 802.11 беспроводных клиентов назначен стандарт IEEE 802.1X защиты сети на основе физических портов. Этот стандарт позволяет проводить идентификацию и аутентификацию каждого пользователя, а так же расширенную аутентификацию, и в зависимости от метода используемого при аутентификации: динамическое управление ключами шифрования, управление на основе по-станционного или по-сессионного ключа шифрования и его переназначения.
· Wi-Fi Protected Access (WPA) is an interim standard adopted by the Wi-Fi Alliance to provide more secure encryption and data integrity while the IEEE 802.11i standard was being ratified. WPA supports authentication through 802.1X (known as WPA Enterprise) or with a preshared key (known as WPA Personal), a new encryption algorithm known as the Temporal Key Integrity Protocol (TKIP), and a new integrity algorithm known as Michael. WPA is a subset of the 802.11i specification.
· Объединением Wi-Fi Alliance был введён стандарт защищённого Wi-Fi Доступа (WPA) первой ревизии, для предоставления временной защиты шифрования и верификации целостности данных более высокого уровня, до тех пор, пока не будет ратифицирован стандарт IEEE 802.11i. WPA поддерживает аутентификацию с помощью 802.1Х (известный как промышленный стандарт WPA) или с разделяемым ключом (персональный WPA) — тем самым, появился новый протокол шифрования TKIP (протокол краткосрочной целостности ключей) и новый алгоритм проверки целостности данных, известный под названием Michael. WPA является подуровнем спецификации 802.11i.
The IEEE 802.11i standard formally replaces Wired Equivalent Privacy (WEP) and the other security features of the original IEEE 802.11 standard. WPA2 is a product certification available through the Wi-Fi Alliance that certifies wireless equipment as being compatible with the 802.11i standard. The goal of WPA2 certification is to support the additional mandatory security features of the 802.11i standard that are not already included for products that support WPA. Like WPA, WPA2 offers both Enterprise and Personal modes of operation.
Microsoft has released WPA2/WPS IE Update, a free download that updates the wireless client components in Windows XP with Service Pack 2 to support WPA2. This article describes the features of WPA2 security and the support for WPA2 included with the WPA2/WPS IE Update.
Отныне стандарт IEEE 802.11i официально заменил WEP и другие способы защиты первоначального стандарта IEEE 802.11.Эталоном сертификации беспроводного оборудования Wi-Fi Объединения стал стандарт WPA2 — как совместимый с 802.11i. Цель сертификации по WPA2 — поддерживать обязательные функции защиты доступа по реквизитам стандарта 802.11i, который ещё не включён в продукты, поддерживающие WPA. Как и WPA, WPA2 представлен в двух версиях: промышленный (коммерческий) и персональный режимы.
Для поддержки WPA2 фирма Microsoft выпустила бесплатное обновление WPA2/WPS для клиента Internet Explorer (IE), входящее в состав SP2. Данная статья раскрывает особенности безопасности стандарта WPA2 и его поддержку в обновлении к IE.
Features of WPA2 Security
The following features of WPA2 security are supported in the WPA2/WPS IE Update:
WPA2 authentication
For WPA2 Enterprise, WPA2 requires authentication in two phases; the first is an open system authentication and the second uses 802.1X and an Extensible Authentication Protocol (EAP) authentication method. For environments without a Remote Authentication Dial-In User Service (RADIUS) infrastructure such as small office/home office (SOHO) networks, WPA2 Personal supports the use of a preshared key (PSK).
WPA2 key management
Like WPA, WPA2 requires the determination of a mutual pairwise master key (PMK) based on the EAP or PSK authentication processes and the calculation of pairwise transient keys through a 4-way handshake.
For more information, see Wi-Fi Protected Access Data Encryption and Integrity.
Особенности безопасности WPA2.
Следующие функции безопасности WPA были включены в WPA2/WPS IE обновление:
WPA2 аутентификация
Для промышленного варианта WPA2 используется аутентификация в два этапа; аутентификация открытых систем и аутентификация с использованием 802.1Х и протокола EAP (Расширенный протокол аутентификации). Для сред без поддержки протокола RADIUS (служба дистанционной аутентификации пользователей по коммутируемым линиям), таких, например, как SOHO (малый бизнес/домашняя сеть), используется разделяемый ключ доступа (PSK) — WPA2 в персональном режиме.
Управление ключами WPA2
Как и WPA, WPA2 требует определения соответствующего парного мастер-ключа (PMK) базирующегося на исполнении EAP или PSK процесса аутентификации и вычисления временных парных ключей с использованием «4хстороннего рукопожатия» (4-хкратный обмен сервисными пакетами для установления соединения).
За дополнительной информацией, обратитесь к статье «Шифрование данных и проверка целостности по стандарту WPA».
Advanced Encryption Standard
WPA2 requires support for the Advanced Encryption Standard (AES) using the Counter Mode-Cipher Block Chaining (CBC)-Message Authentication Code (MAC) Protocol (CCMP). AES Counter Mode is a block cipher that encrypts 128-bit blocks of data at a time with a 128-bit encryption key. The CBC-MAC algorithm produces a message integrity code (MIC) that provides data origin authentication and data integrity for the wireless frame. A Packet Number field included in the WPA2-protected wireless frame and incorporated into the encryption and MIC calculations provides replay protection. AES encryption meets the Federal Information Processing Standard (FIPS) 140-2 requirement.
AES (усовершенствованный стандарт шифрования)
WPA2 требует наличия поддержки AES, при этом используется режим построения цепочек шифрованных блоков (cbc) — протокола кода сообщения аутентификации (MAC CCMP). AES режима счётчика представляет собой блок шифров который кодирует 128битные блоки данных в один момент времени с помощью 128битного ключа шифрования. Алгоритм CBC MAC далее генерирует поле целостности данных (MIC), позволяющее проводить аутентификацию источника данных и проверку их целостности во фрейме беспроводной сети. Для предотвращения повторов используется поле Номер Пакета, входящее в защищённый с помощью WPA2 фрейм и включённое в процессы шифрования и вычисления MIC. Стандарт шифрования AES отвечает требованиям FIPS 140-2.
Additional Features of WPA2 for Fast Roaming
When a wireless client authenticates using 802.1X, there are a series of messages sent between the wireless client and the wireless access point (AP) to exchange credentials. This message exchange introduces a delay in the connection process. When a wireless client roams from one wireless AP to another, the delay to perform 802.1X authentication can cause especially for time-dependent traffic such as voice or video-based data streams. To minimize the delay associated with roaming to another wireless AP, WPA2 wireless equipment can optionally support PMK caching and preauthentication.
Дополнительные особенности WPA2 для быстрого переключения между точками (роуминг)
Для обмена реквизитами между беспроводным клиентом и точкой доступа (AP), при генерации процесса аутентификации по протоколу 802.1Х, между ними происходит обмен сервисным пакетами (сообщениями). Этот сервисный обмен создаёт некоторую задержку перед началом передачи данных. В случае обмена голосовых или видеоданных, которые весьма требовательны к скорейшей пересылке, такое блуждание пакетов от беспроводного клиента то к одной, то к другой точке доступа для прохождения 802.1Х аутентификации, может повлечь за собой серьёзные задержки. Чтобы избежать этого, оборудование стандарта WPA2 опционально поддерживает PMK кэширование и преаутентификацию.
PMK Caching
As a wireless client roams from one wireless AP to another, it must perform a full 802.1X authentication with each wireless AP. WPA2 allows the wireless client and the wireless AP to cache the results of a full 802.1X authentication so that if a client roams back to a wireless AP with which it has previously authenticated, the wireless client needs to perform only the 4-way handshake and determine new pairwise transient keys. In the Association Request frame, the wireless client includes a PMK identifier that was determined during the initial authentication and stored with both the wireless client and wireless AP's PMK cache entries. PMK cache entries are stored for a finite amount of time, as configured on the wireless client and the wireless AP.
To make the transition faster for wireless networking infrastructures that use a switch that acts as the 802.1X authenticator, the WPA2/WPS IE Update calculates the PMK identifier value so that the PMK as determined by the 802.1X authentication with the switch can be reused when roaming between wireless APs that are attached to the same switch. This practice is known as opportunistic PMK caching.
For information about controlling PMK caching behavior with registry values, see WPA2/WPS IE Update.
PMK кэширование.
По мере того, как происходит обмен данных между клиентом и точками доступа, первый должен постоянно проводить полноценную 802.1X аутентификацию с каждой из точек. В случае WPA2, возможно упростить и ускорить процесс, за счёт того, что при повторной аутентификации клиента с точкой, к которой он был однажды подключён, ему необходимо провести лишь «4-хкратное (стороннее) рукопожатие» и определить новые временные парные ключи. Идентификатор PMK, определяемый при первоначальном процессе аутентификации, сохраняется как самим клиентом, так и точкой доступа в кэше ключей, и клиент его включает во фрейм Соответствия Запросов. Кэш PMK ключей имеет ограниченное время хранения записей в соответствии с параметрами беспроводного клиента и точки доступа.
Для обеспечения скорейшего перехода внутри беспроводной инфраструктуры, базирующейся на коммутаторе, аутентифицирующем по протоколу 802.1Х, обновление WPA2/WPS IE вычисляет значение идентификатора PMK так, чтобы этот PMK, определённый при 802.1Х-аутентификации с коммутатором, мог быть использован вновь в случае соединения с точками доступа, подключёнными к этому же коммутатору. Данная процедура известна как гибкая система PMK кэширования.
Для получения информации управления PMK кэшированием со значениями реестра, обратитесь к описанию WPA2/WPS IE обновления.
Preauthentication
With preauthentication, a WPA2 wireless client can optionally perform 802.1X authentications with other wireless APs within its range, while connected to its current wireless AP. The wireless client sends preauthentication traffic to the additional wireless AP over its existing wireless connection. After preauthenticating with a wireless AP and storing the PMK and its associated information in the PMK cache, a wireless client that connects to a wireless AP with which it has preauthenticated needs to perform only the 4-way handshake.
WPA2 clients that support preauthentication can only preauthenticate with wireless APs that advertise their preauthentication capability in Beacon and Probe Response frames.
For information about controlling preauthentication behavior with registry values, see WPA2/WPS IE Update.
Предварительная аутентификации
Для осуществления альтернативной 802.1Х аутентификации с другой точкой доступа в зоне её действия, беспроводной клиент может провести предварительную аутентификацию, при том, что подключение к текущей беспроводной точке доступа (AP) не разрывается. Для этого клиент посылает запрос на указанную аутентификацию к другой AP, используя существующее беспроводное соединение. После удачной аутентификации и сохранения соответствующего PMK ключа в кэше, клиенту для установления соединения с выбранной точкой требуется провести лишь «4-хкратное рукопожатие».
Клиенты стандарта WPA2, поддерживающие преаутентификацию, могут осуществлять данную операцию лишь при условии, что выбранные точки доступа оповещают о своей возможности преаутентификации фреймами Сигнального и Пробного Ответа.
Для получения информации об управлении процессом преаутентификации со значениями реестра, обратитесь к описанию WPA2/WPS IE обновления.
Supporting a Mixture of WPA2, WPA and WEP Wireless Clients
WPA2 certified wireless equipment is also compatible with WPA and WEP. You can have a mixture or WPA2, WPA, and WEP wireless devices operating in the same environment.
Одновременная поддержка WPA2, WPA и WEP-беспроводных клиентов
Сертифицированное по стандарту WPA2 оборудование так же обратно совместимо с WPA и WEP стандартами. Вы можете одновременно использовать беспроводное оборудование с поддержкой WPA2, WPA или WEP режимов в одной рабочей среде.
Changes Required to Support WPA2
WPA2 support requires changes to the following:
· Wireless APs
· Wireless network adapters
· Wireless client software
Changes to wireless APs
With WPA, wireless network devices could be upgraded through a firmware update because the WPA security features leveraged the existing computational facilities designed for WEP. With WPA2, however, a wireless AP that does not have the computational facilities to perform the more complex calculations for AES CCMP cannot be upgraded through a firmware update and must be replaced. These types of wireless APs are typically older wireless APs manufactured before inclusion of support for the 802.11g standard. Newer wireless APs, such as those that support the 802.11g standard, might be upgradeable with a firmware update.
Изменения, которые необходимо вносить для поддержки WPA2
Для полноценной поддержки WPA2 необходимо подвергать замене:
5. Беспроводные точки доступа
6. Адаптеры беспроводного доступа
7. Клиентское ПО для адаптеров
Изменения, затрагивающие беспроводные точки доступа
Устройства с поддержкой WPA могут быть обновлены с помощью программного микрокода, поскольку особенности безопасности WPA повысили уровень существующих вычислительных требований, которые были разработаны для WEP. Однако, для обеспечения функциональности WPA2, AP, не располагающая возможностями для осуществления более сложных вычислений - AES CCMP, не может быть усовершенствована обычным программным обновлением и должна быть заменена. Обычно это более старые точки доступа, выпущенные до включения поддержки стандарта 802.11g. Более новые APs, могут быть обновлены новым микрокодом.
Check with your wireless AP vendor documentation or Web site to determine if your wireless APs require replacement or a firmware update to support WPA2. If only a firmware update is needed, obtain the update from your wireless AP vendor and install it on your wireless APs.
For information about wireless APs that have been WPA2 certified, see the Wi-Fi Alliance Certified Products Listing.
Changes to wireless network adapters
Like wireless APs, whether you must replace wireless network adapters depends on whether they have the computational facilities to perform AES CCMP. Check with your wireless network adapter vendor documentation or Web site to determine if your wireless network adapters require replacement or a firmware update in order to support WPA2. If only a firmware update is needed, obtain the update from your wireless adapter vendor and install it on your wireless network adapters.
For wireless clients running Windows XP with Service Pack 2, you must obtain an updated network adapter driver that supports WPA2. The updated network adapter driver must be able to pass the adapter's WPA2 capabilities to Windows XP Wireless Auto Configuration.
For information about wireless network adapters that have been WPA2 certified, see the Wi-Fi Alliance Certified Products Listing
Чтобы определить, поддерживает ли ваша AP WPA2 с помощью прошивки более новым ПО, обратитесь к документации или веб-странице производителя. В случае, если возможно обновление микрокода, без замены устройства, получите необходимое ПО от разработчика и обновите с его помощью точку доступа.
Чтобы узнать, какие из беспроводных точек доступа были сертифицированы по WPA2 стандарту, обратитесь к списку продуктов сертифицированных WA.
Изменения, касающиеся клиентских беспроводных адаптеров.
Как и в случае с AP, необходимо выяснить, достаточно ли вычислительных возможностей у вашего адаптера для AES CCMP. Процедура аналогична вышеуказанному методу для беспроводных точек доступа.
Для беспроводных клиентов, установленных на платформе MS WinXP c SP2 (кумулятивный пакет обновлений, выпуск 2), скачайте обновлённый драйвер беспроводной сетевой платы с поддержкой WPA2. Обновлённый драйвер должен сообщить необходимый WPA2-функционал для автонастройки беспроводной среды WinXP.
Чтобы узнать, какие из беспроводных адаптеров были сертифицированы по WPA2 стандарту, обратитесь к списку продуктов сертифицированных WA.
Changes to wireless client programs
Wireless client software must be updated to allow for the configuration of WPA2 authentication options. The WPA2/WPS IE Update for computers running Windows XP with SP2 includes support for WPA2 and modifies the following
· The Choose a wireless network dialog box
· The Association tab for the properties of a wireless network.
When you are connected to a WPA2-capable wireless network, the type of network is displayed as WPA2 in the Choose a wireless network dialog box. The following figure shows an example.
Изменения, касающиеся клиентского ПО
Указанное ПО должно быть обновлено для поддержки настройки необходимых параметров WPA2 аутентификации. Обновление WPA2/WPS IE для компьютеров с предустановленным ПО WinXP SP2, включает в себя поддержку WPA2 и добавляет следующие возможности:
· Диалоговое окно «Выбора беспроводной сети»
· Закладка «связи» для свойств беспроводных сетей
При подключении к сети с поддержкой WPA2, тип сети отображается как WPA2 в диалоговом окне «выбора беспроводной сети». Нижеследующий снимок экрана содержит пример.
On the Association tab for the properties of a wireless network, the Network Authentication drop-down box has the additional options: WPA2(for WPA2 Enterprise) and WPA2-PSK (for WPA2 Personal). These options will be present only if the wireless network adapter and its driver support WPA2.
В закладке «связи», внутри свойств беспроводной сети, при выводе выпадающего списка «сетевая аутентификация», добавляется новая опция: WPA2 (для промышленного WPA2) и WPA2-PSK (для персональной версии). Эти опции будут отображены только если беспроводной адаптер и его драйвер поддерживают WPA2.
4.Cryptographic Design Vulnerabilities (Слабые места криптографических систем)
Bruce Schneier (Counterpane Systems)
Strong cryptography is very powerful when it is done right, but it is not a panacea. Focusing on cryptographic algorithms while ignoring other aspects of security is like defending your house not by building a fence a round it, but by putting an immense stake in the ground and hoping that your adversary runs right into it.
Popular magazines often describe cryptography products in terms of algorithms and key lengths. These security techniques make good headlines. They can be explained in a few words and they’re easy to compare with one another. We’ve seen statements like “128-bit keys mean strong security, while 40-bit keys are weak” or “triple-DES is much stronger than single DES” or even “2,048-bit RSA is better than 1,024-bit RSA.”
U n f o rt u n a t e l y, cryptography isn’t so simple: Longer keys do not guarantee more security.
C o m p a re a cryptographic algorithm to the lock on your front door. Most door locks have four metal pins, each of which can be in one of 10 positions. A metal key sets the pins in a particular configuration. If the key aligns them all correctly, the lock opens. So there are only 10,000 possible keys, and a burglar willing to try all 10,000 is guaranteed to break into your house.
But an improved lock with 10 pins—making 10 billion possible keys—probably won’t make your house m o re secure. Burglars don’t try every possible key (the equivalent of a bru t e - f o rce attack); most are n ’t clever enough to pick the lock (the equivalent of a cryptographic attack). No, they smash windows, kick in doors, disguise themselves as police, and rob keyholders at gunpoint. One ring of art thieves in California defeated home security systems by taking a chainsaw to the house walls. Better locks can’t prevent these attacks.
Слабые места криптографических систем
Брюс Шнайер
Мощные, грамотно построенные криптографические системы способны на многое, но нельзя считать их панацеей. Пользователи, уделяющие слишком много внимания алгоритмам шифрования в ущерб другим методам обеспечения безопасности, похожи на людей, которые вместо того, чтобы обнести свои владения высоким забором, перегораживают дорогу массивными воротами, нисколько не задумываясь о том, что злоумышленникам не составит труда сделать шаг в сторону и обойти сей "неприступный бастион".
В популярных журналах классификация продуктов шифрования проводится, как правило, по алгоритму и длине ключа. Обзоры печатаются под броскими заголовками. Описание особенностей того или иного продукта и его сравнение с конкурирующими предложениями легко укладывается буквально в несколько слов. Наверняка каждому из вас доводилось встречать утверждения типа: "128-разрядные ключи обеспечивают надежную защиту, в то время как 40-разрядные вскрываются довольно легко", "алгоритм triple-DES гораздо надежнее в сравнении с обычным алгоритмом DES" или даже "шифрование RSA с 2048-разрядным ключом лучше RSA с 1024-разрядным ключом".
Однако в криптографии не все так просто: более длинные ключи отнюдь не гарантируют повышенной безопасности.
Давайте попробуем сравнить алгоритмы шифрования с замком от входной двери. Во многих дверных замках установлено четыре металлических шипа, каждый из которых может находиться в одном из десяти положений. Если ключ соответствует конфигурации замка, запор открывается. Таким образом, конструкция каждого однотипного замка предусматривает 10 000 различных комбинаций. Следовательно, для того, чтобы проникнуть в дом, взломщик должен перепробовать до 10 000 ключей.
Замки усовершенствованной конструкции имеют уже 10 шипов (10 млрд. комбинаций), но это вовсе не значит, что за безопасность своего жилища теперь можно не беспокоиться. Совершенно очевидно, что взломщики не станут последовательно подбирать все возможные ключи (это было бы слишком примитивно): они достаточно умны, для того чтобы проникнуть в дом иным способом (в данном случае напрашивается аналогия с криптографической атакой). Гораздо проще и эффективнее разбить окно, выломать дверь или переодеться в форму полицейского и приставить ствол пистолета к голове ничего не подозревающего хозяина. Один из грабителей в Калифорнии, недолго думая, распилил стену дома бензопилой. Понятно, что от таких действий не спасут даже самые лучшие замки.
Strong cryptography is very powerful when it is done right, but it is not a panacea. Focusing on cry p t o g r a p h i c algorithms while ignoring other aspects of security is like defending your house not by building a fence a round it, but by putting an immense stake in the g round and hoping that your adversary runs right into it. Smart attackers will just go around the algorithms.
Counterpane Systems has spent years designing, analyzing, and breaking cryptographic systems. While we do research on published algorithms and pro t o c o l s, most of our work examines actual products. We ’ v e designed and analyzed systems that protect privacy, e n s u re confidentiality, provide fairness, and facilitate commerce. We’ve worked with software, stand-alone h a rd w a re, and everything in between. We’ve bro k e n our share of algorithms, but we can almost always fin d attacks that bypass the algorithms altogether.
We don’t have to try every possible key or even fin d flaws in the algorithms. We exploit errors in design, errors in implementation, and errors in installation. Sometimes we invent a new trick to break a system, but most of the time we exploit the same old mistakes that designers make over and over again. This art i c l e conveys some of the lessons we’ve learn e d .
Мощные, грамотно построенные криптографические системы способны на многое, но нельзя считать их панацеей от всех бед. Пользователи, уделяющие слишком много внимания алгоритмам шифрования в ущерб другим методам обеспечения безопасности, похожи на людей, которые вместо того, чтобы обнести свои владения высоким забором, перегораживают дорогу массивными воротами, нисколько не задумываясь о том, что злоумышленникам не составит труда сделать шаг в сторону и обойти сей "неприступный бастион". Квалифицированные взломщики просочатся даже через самую незаметную брешь.
Компания Counterpane Systems вот уже в течение многих лет занимается созданием, анализом и взломом систем шифрования. Мы исследуем алгоритмы или протоколы, спецификации которых опубликованы в открытой печати; большая часть работы связана с изучением особенностей конкретных продуктов. Нам довелось проектировать и анализировать средства, защищающие частную тайну, гарантирующие конфиденциальность, отстаивающие справедливость и обеспечивающие функционирование систем электронной торговли. Мы работали с самыми различными программными пакетами, автономными аппаратными средствами и аппаратно-программными решения. Нам прекрасно известны слабые места алгоритмов шифрования, но почти всегда мы находили более элегантные способы обхода систем безопасности.
ATTACKS AGAINST DESIGN
A cryptographic system can only be as strong as the encryption algorithms, digital signature algorithms, one-way hash functions, and message authentication codes it relies on. In other words, break any of them, and you’ve broken the system. And just as it’s possible to build a weak structure using strong materials, it’s possible to build a weak cryptographic system using strong algorithms and pro t o c o l s .
A great many systems “void the warranty” of their cryptography by using it improperly: They fail to check the size of values, reuse random parameters that should never be reused, and so on. Encryption algorithms don’t necessarily provide data integrity. Key exchange protocols don’t necessarily ensure that both parties receive the same key.
Some—not all—systems that use related cryptographic keys can be broken, even though each individual key is secure. Security is a lot more than plugging in an algorithm and expecting the system to work. Even good engineers, well-known companies, and lots of e ff o rt are no guarantee of robust implementation. Cryptographic weaknesses discovered in the Code Division Multiple Access (CDMA) and Global System for Mobile (GSM) communications cellular encryption algorithms and in the Microsoft Point-to-Point Tunneling Protocol (PPTP) illustrate that. In PPTP, for example, we found the strong RC4 algorithm used in a mode that almost completely negated its security.
Random-number generators are another place w h e re cryptographic systems often break. Good random-number generators are hard to design because their security often depends on the particulars of the h a rd w a re and software .1 , 2 Their cryptography may be strong, but if the random-number generator pro d u c e s weak keys, the system is much easier to break. Some products use secure random-number generators, but they don’t use enough randomness to make the cryptography secure. One of the most surprising results in this area is that specific random-number generators may be secure for one purpose but insecure for another.
Other attacks look at interactions between individually secure cryptographic pro t o c o l s .3 Given a s e c u re protocol, it is sometimes possible to build another secure protocol that will break the first if both a re used with the same keys on the same device. Given the proliferation of diverse security standards using the same infrastru c t u re, this kind of interaction failure is potentially very dangerous .
Атаки на архитектуру
Криптографическая система не может быть надежнее использованных в ней отдельных алгоритмов шифрования. Иными словами, для того чтобы преодолеть систему защиты, достаточно взломать любой из ее компонентов. Использование хороших строительных материалов еще не является гарантией прочности здания. Так и криптографическая система, построенная на основе мощных алгоритмов и протоколов, тоже может оказаться слабой.
Многие системы "теряют гарантию" безопасности, если используются неправильно. Скажем, проверка допустимости значений переменных не выполняется, "случайные" параметры используются многократно, что совершенно недопустимо. Алгоритмы шифрования необязательно обеспечивают целостность данных. Протоколы обмена ключами необязательно гарантируют, что обе стороны получат один и тот же ключ.
Некоторые системы шифрования, использующие связанные ключи, могут быть взломаны, даже если каждый ключ в отдельности надежен. Чтобы обеспечить безопасность, недостаточно просто реализовать алгоритм и ждать, что все будет работать. Даже наличие квалифицированных инженеров, помощь известных компаний и упорный труд не могут гарантировать абсолютной надежности. Бреши, обнаруженные в алгоритмах шифрования систем сотовой связи стандартов CDMA и GSM, а также в протоколе Microsoft Point-to-Point Tunneling Protocol (PPTP), наглядно это иллюстрируют. К примеру, в достаточно надежном алгоритме RC4, на котором построен протокол PPTP, нам удалось обнаружить режим, который делал защиту абсолютно прозрачной.
Еще одно слабое место криптографических средств - генераторы случайных чисел. Разработать хороший генератор случайных чисел непросто, поскольку он часто зависит от особенностей аппаратного и программного обеспечения [1,2]. Сама система шифрования может быть выполнена на высоком уровне, но если генератор случайных чисел выдает легко угадываемые ключи, то все оставшиеся барьеры преодолеваются без особого труда. В ряде продуктов используются генераторы случайных чисел, вырабатывающие ключи, в которых прослеживается определенная закономерность. В таких случаях о безопасности говорить не приходится. Интересно, что применение одного и того же генератора в некоторых областях обеспечивает требуемую степень безопасности, а в других - нет.
Еще одно возможное слабое место - взаимодействие между по отдельности безопасными протоколами шифрования [3]. Почти для каждого безопасного протокола, как правило, можно найти другой, не менее надежный, который сведет на нет все достоинства первого, если они оба используют одинаковые ключи на одном и том же устройстве. Если различные стандарты защиты применяются в одной среде, недостаточно четкое взаимодействие между ними зачастую может привести к весьма нежелательным последствиям.
ATTACKS AGAINST IMPLEMENTATION
Many systems fail because of mistakes in implementation. Some systems don’t ensure that plaintext is destroyed after it’s encrypted. Other systems use t e m p o r a ry files to protect against data loss during a system crash or use virtual memory to increase the available memory. These features can accidentally leave plaintext lying around on the hard drive.
Buffer overflows, secrets not erased pro p e r l y, and poor error checking and recovery are all examples of implementation weaknesses that could be exploitable. In extreme cases, the OS can leave the keys on the hard drive. One product by a large software company uses a special window for password input. The password remains in the window’s memory even after it is closed. It doesn’t matter how good that pro d u c t ’s cryptography is; we broke it through the user interface.
Other systems fall to more subtle vulnerabilities. Sometimes the same data is encrypted with two different keys, one strong and one weak. Other systems use master keys and then one-time session keys. Still others can be broken using partial information about different keys. And some systems use inadequate pro t e c t i o n mechanisms for the master keys, mistakenly relying on the security of the session keys. It’s vital to secure all possible ways to learn a key, not just the most obvious ones.
E l e c t ronic commerce systems often make implementation trade-offs to enhance usability. There are many subtle vulnerabilities here, when designers don’t think through the security implications of their tradeoffs. Doing account reconciliation only once per day, for example, might be easier, but what kind of damage can an attacker do in a few hours? Can audit mechanisms be flooded to hide the identity of an attacker? Some systems re c o rd compromised keys on hotlists; attacks against these hotlists can be very fruitful. Other systems can be broken through re p l a y attacks—by reusing old messages or parts of old messages—to fool various part i e s .
Systems that allow old keys to be recovered in an e m e rg e n c y, key escro w systems, provide another are a to attack.4Good cryptographic systems are designed so that the keys exist for as short a period of time as possible; key re c o v e ry often negates any security benefit by forcing keys to exist long after they are useful. Furthermore, key-recovery databases themselves become sources of vulnerability and have to be designed and implemented secure l y. In some published systems, flaws in the key-re c o v e ry database could allow criminals to commit fraud and then frame legitimate users.
Атаки на конкретные реализации
Многие системы подводят из-за ошибок в реализации. Некоторые продукты не гарантируют, что, зашифровав текст, они уничтожат оригинал. В других для предупреждения потери информации в случае системного сбоя используются временные файлы, а доступная оперативная память расширяется за счет памяти виртуальной; в этом случае на жестком диске могут оставаться отдельные фрагменты незашифрованного текста.
Переполнение буферов, не стертая до конца секретная информация, недостаточно надежная система обнаружения и восстановления после ошибок - все это примеры брешей в конкретных реализациях, через которые очень часто и проникают злоумышленники. В наиболее вопиющих случаях операционная система даже оставляет ключи на жестком диске. В одном из продуктов крупной софтверной компании ввод пароля осуществлялся через специальное окно. При этом пароль сохранялся в буфере окна и после его закрытия. Проводить дальнейшие исследования защищенности системы уже не имело смысла. Мы проникли в нее через пользовательский интерфейс.
Слабые стороны других продуктов не так явно бросались в глаза. Иногда одни и те же данные шифровались при помощи двух ключей: первый из них был надежным, а второй подбирался достаточно легко; но при этом эксперименты с уже подобранным ключом помогал подобрать и другой. В других системах применялись мастер-ключи и ключи "на один сеанс"; причем безопасности главного ключа уделялось недостаточное внимание, а основные надежды возлагались на одноразовые ключи. Для создания по-настоящему надежной системы безопасности необходимо полностью исключить возможность анализа строения ключей, а не ограничиваться лишь самыми очевидными мерами предосторожности.
Создатели систем электронной коммерции часто вынуждены идти на компромисс ради расширения функциональности. И поскольку разработчики предпочитают жертвовать безопасностью, в защите то и дело появляются дыры. Сверка учетных записей, к примеру, может проводиться только раз в день, но за несколько часов взломщик способен нанести поистине колоссальный ущерб! Перегрузка процедуры идентификации может привести к тому, что личность атакующего не будет распознана. Некоторые системы заносят сомнительные ключи в "черные списки"; получение доступа к этим спискам существенно облегчает задачу взломщика. Многие системы защиты преодолеваются после повторных атак и использования старых сообщений или их частей, сбивающих систему с толку.
Потенциальная опасность заложена в возможности восстановления ранее использовавшихся ключей в системах с расщеплением [4]. В хороших криптографических системах срок жизни ключей ограничивается максимально коротким промежутком времени. Процедура восстановления позволяет продлить жизнь ключа уже после того, как от него отказались. Используемые для восстановления ключей базы данных сами по себе являются источником опасности, и их архитектура должна быть выверена с особой тщательностью. В ряде случаев бреши в них позволяли взломщикам маскироваться под легальных пользователей.
ATTACKS AGAINST HARDWARE
Some systems, particularly commerce systems, re l y on “secure perimeter” tamper- resistant hard w a re such as smart cards, electronic wallets, and dongles. These systems are based on the notion that the secrets inside the secure perimeter cannot be manipulated by those not authorized access. While hard w a re security is an i m p o rtant component in many secure systems, it is p rudent to distrust systems whose security rests solely on assumptions about tamper re s i s t a n c e .
Most tamper- resistance techniques do not work, and tools for defeating tamper resistance are getting better all the time.5,6 When designing systems that use tamper resistance, it is important to build in complementary security mechanisms, just in case the tamper resistance fails. It is also important to make sure that the value of the data being protected is much less than the estimated cost to defeat the tamper resistance. The re q u i red physical protections for a system designed to meter public-transportation access, for example, are much less than those for a system designed to trade financial port f o l i o s .
The “timing attack” made a big press splash in 1995: RSA private keys could be re c o v e red by measuring the relative times cryptographic operations took.7 The attack has been successfully implemented against smart c a rds and other security tokens and against electro n i c c o m m e rce servers across the Internet. Cry p t o g r a p h e r s have generalized these methods to include attacks on a system by measuring power consumption, radiation emissions, and other “side channels,” and they have implemented them against a variety of public-key and symmetric algorithms in “secure” tokens.3
Related re s e a rch has looked at fault analysis, a method that deliberately introduces faults into cry p t o g r a p h i c p rocessors in order to determine secret keys. These attacks are almost biological in nature; they look at the c ryptographic system as a complex object that re s p o n d s to stimuli, and not just as a mathematical equation. The e ffects of this kind of attack can be devastating.
Атаки на оборудование
Некоторые системы (чаще всего коммерческого назначения) имеют так называемое "кольцо безопасности", состоящее из аппаратных средств повышенной устойчивостью к взломам (смарт-карт, электронных бумажников, электронных ключей и т.д.) [5,6]. Создатели подобных систем исходят из предположения, что архитектура системы внутри этого кольца надежно защищена от несанкционированного доступа. Надежность оборудования - очень важная составляющая комплексных систем безопасности, но не стоит полностью доверять решениям, защищающим только от воровства и неумелого обращения.
Большинство подобных технологий на практике не работают, а инструменты для их взлома непрерывно совершенствуются [5,6]. При проектировании подобных систем очень важно не забывать о дополнительных механизмах защиты, которые должны срабатывать, если взломщикам удастся преодолеть первые оборонительные редуты. Нужно постараться максимально осложнить задачу противника и сделать ее решение невыгодным с экономической точки зрения. Стоимость защищаемых данных должна быть значительно ниже затрат на разрушение системы безопасности. Ценность электронного проездного не может идти ни в какое сравнение со стоимостью портфеля ценных бумаг. Исходя из этого и следует проектировать средства защиты.
В 1995 году значительно возросло число "атак по расписанию": выяснилось, что секретные ключи RSA можно восстанавливать, измеряя временные интервалы между операциями шифрования [7]. Был зарегистрирован ряд случаев успешного взлома смарт-карт, а также серверов электронной коммерции в Internet. Обнаружилось, что атаки строились на основе измерения потребляемой мощности, анализа электромагнитного излучения и других побочных источников информации. Специалистам по криптографии удалось по этим признакам реконструировать логику многих систем с открытыми ключами, продемонстрировав их ненадежность.
Большую популярность приобрел метод анализа сбоев, позволяющий находить слабые места криптопроцессоров и восстанавливать секретные ключи. Подобные методы по своему духу скорее биологические. Криптографические системы в этом случае рассматриваются как сложные объекты, которые реагируют на внешние раздражители. Их нельзя четко описать с помощью математических уравнений, но последствия таких атак разрушительны.
ATTACKS AGAINST TRUST MODELS
We direct many of our more interesting attacks against the underlying trust model of the system: who or what in the system is trusted, in what way, and to what extent. Simple systems—like hard-drive encry ption programs or telephone privacy pro d u c t s — h a v e simple trust models. Complex systems—like electronic commerce systems or multiuser e-mail security p rograms—have complex (and subtle) tru s t models involving many part i e s .
An e-mail program might use uncrackable c ryptography for the messages, but unless the keys are cert i fied by a trusted source (and unless that cert i fication can be verified in real time) the system is still vulnerable. Some commerce systems can be broken by a merchant and a customer colluding, or by two diff e rent customers colluding. Other systems make implicit assumptions about security infrastru c t u res, but don’t bother to check that those assumptions are actually true. If the trust model isn’t documented, then an engineer can unknowingly change it in product development and compromise security.
Many software systems make poor trust assumptions about the computers they run on; they assume the desktop is secure. These programs can often be b roken by Trojan horse software that sniffs passwords, reads plaintext, or otherwise circumvents security measures. Systems working across computer networks have to worry about security flaws re s u l ting from the network protocols. Computers that are attached to the Internet can also be vulnerable.
Again, the cryptography may be irrelevant if it can be circumvented through network insecurity. And no s o f t w a re is secure against reverse-engineering. Often, a system will be designed with one trust model in mind and implemented with another. Decisions made in the design process might be completely ignored when it comes time to sell it to customers. A system that is s e c u re when the operators are trusted and the computers are completely under the control of the company using the system may not be secure when the operators are temps hired at just over minimum wage and the computers are untru s t e d .
Good trust models work even if some of the tru s t assumptions turn out to be wro n g .
Атаки на модели доверительных отношений
Многие интересные способы преодоления защитных рубежей связаны с моделями доверительных отношений внутри системы. Прежде всего, следует выявить связи между отдельными компонентами системы, уяснить ограничения и механизм реализации схемы доверительных отношений. Простые системы (средства шифрования телефонных переговоров и информации на жестких дисках) используют элементарные доверительные модели. Комплексные системы (средства электронной торговли или средства защиты многопользовательских пакетов электронной почты) построены на основе сложных (и гораздо более надежных) моделей доверительных отношений, описывающих взаимосвязи множества элементов.
В программе электронной почты может использоваться супернадежный алгоритм шифрования сообщений, но если ключи не сертифицированы источником, заслуживающим доверия, и сертификация эта не может быть подтверждена в реальном времени, безопасность системы остается под вопросом. Некоторые торговые системы могут быть вскрыты по соглашению продавца с покупателем или в результате объединенных усилий нескольких клиентов. В других системах предусмотрено наличие средств обеспечения безопасности, но качество этих средств никто никогда не проверял. Если модель доверительных отношений не документирована, то в процессе развертывания в продукт можно случайно внести какие-либо недопустимые изменения, после чего стройность системы безопасности будет нарушена.
Многие программные пакеты слишком доверяются защищенности аппаратных средств. Предполагается, что компьютер абсолютно безопасен. Рано или поздно в такую программу проникает "троянский конь", который подбирает пароли, считывает незашифрованный текст или каким-то иным образом вмешивается в работу системы защиты. Разработчикам систем, функционирующих в компьютерных сетях, следует побеспокоиться о безопасности сетевых протоколов. Уязвимость компьютеров, подключенных к Internet, многократно возрастает.
Система шифрования, которая преодолевается "со стороны сети", никуда не годится. Не существует программ, безопасность которых выстояла после того, как противнику удалось применить обратное проектирование. Очень часто система проектируется в расчете на одну модель доверительных отношений, а в практической реализации фигурирует совсем другая. Принятые в процессе проектирования решения полностью игнорируются после передачи готового продукта пользователям. Система, которая абсолютно безопасна, когда ее операторы заслуживают доверия, а доступ к компьютерам полностью контролируется, теряет все свои преимущества, если обязанности операторов выполняют низкооплачиваемые работники, нанятые на короткий срок, а физический контроль за компьютерами утрачен.
Впрочем, хорошие модели доверительных отношений продолжают работать даже в том случае, если отдельные компоненты подводят.
ATTACKS ON USERS
Even when a system is secure if used pro p e r l y, its users can subvert its security by accident—especially if the system isn’t designed very well.8 The classic example of this is the user who gives a password to coworkers so they can fix some problem when he’s out of the office. So-called “social-engineering” attacks can often yield better results than months of cry p t a n a l y s i s .9
Users may not re p o rt missing smart cards for a few days in case they are just misplaced. They may not carefully check the name on a digital cert i ficate. They may reuse their secure passwords on other, insecure systems. They may not change their software’s default weak security settings. Good system design can’t fix all these social problems, but it can help avoid many of them.
Many systems break because they rely on usergenerated passwords. Left to themselves, people don’t choose strong passwords. If they’re forced to use s t rong passwords, they can’t remember them. If the p a s s w o rd becomes a key, it’s usually much easier— and faster—to guess the password than it is to acquire the key by bru t e - f o rce attack; we’ve seen elaborate security systems fail in this way.
Some user interfaces make the problem even worse: limiting the passwords to eight characters, convert i n g e v e rything to lower case, and so forth. Even passphrases can be weak: Searching through 40-character phrases is often much easier than searc h i n g t h rough 64-bit random keys. Sometimes key-re c o ve ry systems circumvent strong session keys by using weak passwords for key re c o v e ry. The desire for failsafe redundancy opens up a back door for attackers.
Атаки на пользователей
Даже если система гарантирует надежную защиту при правильной эксплуатации, пользователи могут случайно нарушить ее, особенно если система спроектирована недостаточно хорошо [8]. Классическим примером является сотрудник, предоставляющий свой пароль коллегам с тем, чтобы они имели возможность решать неотложные задачи во время его отсутствия. Атака с учетом "человеческого фактора" зачастую оказывается куда более эффективной, чем месяцы кропотливого анализа алгоритмов [9].
Пользователи могут в течение нескольких дней не сообщать об утере смарт-карты. Они не уделяют требуемого внимания проверке электронной подписи. Секретные пароли порой повторно используются в несекретных системах. Клиенты даже не пытаются ликвидировать слабые места в системе безопасности. Конечно, даже хорошие системы не в состоянии ликвидировать последствия причин социального свойства, но они могут свести их к минимуму.
Многие продукты взламываются потому, что их защита построена на основе паролей, генерируемых пользователями. Предоставленные сами себе люди не задумываются о том, как выбрать необычную последовательность символов. Ведь пароль, который невозможно подобрать, не так просто запомнить. Если в качестве секретного ключа применяется такой пароль, то подобрать его, как правило, удается гораздо проще и быстрее, чем используя метод грубой силы.
Многие пользовательские интерфейсы еще больше облегчают задачу взломщика, ограничивая длину пароля 8 знаками, преобразуя вводимую последовательность в символы нижнего регистра и т.д. Даже пароли-фразы не обеспечивают требуемой степени безопасности. Злоумышленнику намного легче подобрать фразу из 40 букв, чем перебирать все возможные последовательности 64-разрядных случайных ключей. Иногда защита, в которой применяются очень надежный механизм ключи сеансов, разрушается из-за использования слабых паролей, предназначенных для восстановления ключей. Желание облегчить восстановление системы после сбоя фактически открывает перед атакующими черный ход.
ATTACKS AGAINST FAILURE RECOVERY
Strong systems are designed to keep small security b reaks from becoming big ones. Recovering the key to one file should not allow the attacker to read every file on the hard drive. Being able to forge money is a serious crime; being able to write a general pro g r a m that allows anyone to forge money can destroy a curren c y. A hacker who reverse-engineers a smart card should only learn the secrets in that smart card, not i n f o rmation that will help break other smart cards in the system. In a multiuser system, knowing one pers o n ’s secrets shouldn’t compromise everyone else’s .
Many systems have a default to insecure mode. If the security feature doesn’t work, most people just t u rn it off and finish their business. This makes denial of - s e rvice attacks very effective: If the online cre d i t c a rd verification system is down, merchants will default to the less-secure paper system.
S i m i l a r l y, it is sometimes possible to mount a v e r - sion ro l l b a c k attack against a system after it has been revised to fix a security problem: The need for backward compatibility allows an attacker to force the protocol into an older, insecure, version.
Other systems have no ability to recover from disaster. If the security breaks, there ’s no way to fix it. For e l e c t ronic commerce systems, which could have millions of users, this can be particularly damaging. Such systems should plan to respond to attacks and to upgrade security without having to shut the system down.
The phrase “and then the company shuts down” is never something you want to put in your business plan. Good system design considers what will happen when an attack occurs and works out ways to contain the damage and recover from the attack.
Атака на средства восстановления после сбоев
Разработчики надежных систем не в состоянии заделать в заборе безопасности все мельчайшие щели, но по крайней мере зияющие дыры они ликвидируют. Восстановление ключа к одному файлу не позволит взломщику считать всю информацию, находящуюся на жестком диске. Изготовление фальшивых денег - очень серьезное преступление, ведь обладатель технологии печатания денег может уничтожить национальную валюту. Хакер, взламывающий смарт-карту, изучает секреты данного конкретного устройства, а не всех остальных смарт-карт, входящих в систему. В многопользовательских системах знание секретов одного человека не должно открывать доступа к информации других.
Многие системы по умолчанию устанавливаются в режим с отключенными средствами безопасности. Если система защиты "заедает", пользователь просто отключает ее и продолжает заниматься своим делом. Такое поведение делает особенно эффективными атаки типа denial-of-service ("отказ в обслуживании"). Если онлайновая система авторизации кредитных карт отключена, продавец вынужден довольствоваться значительно менее надежной бумажной технологией.
Иногда у взломщиков появляется возможность воспользоваться обратной совместимостью различных версий программного обеспечения. Как правило, в каждом новом варианте продукта разработчики стараются устранить бреши, имевшиеся в старом. Но требование обратной совместимости позволяет атакующему применять протокол старой, незащищенной версии.
Некоторые системы не имеют средств восстановления. Если защита разрушена, вернуть программу в работоспособное состояние не представляется возможным. Выход из строя системы электронной торговли, к которой обращаются миллионы клиентов, грозит обернуться катастрофой. Поэтому подобные системы должны иметь средства организации противодействия атакующим и поддерживать возможность обновления системы безопасности без остановки программы.
Хорошо продуманная система сама знает, как лучше противостоять атаке и что следует делать для устранения повреждений и оперативного восстановления работоспособности.
ATTACKS AGAINST CRYPTOGRAPHY
Sometimes, products even get the cry p t o g r a p h y w rong. Some rely on pro p r i e t a ry encryption algorithms. Invariably, these algorithms are weak. Cryptographers have surprising success breaking published encryption algorithms; their track re c o rd against pro p r i e t a ry ones is even better. Keeping the algorithm secret isn’t much of an impediment to analysis anyway, because it only takes a couple of days to reverse-engineer the cryptographic algorithm fro m executable code.
The S/MIME 2 e-mail standard took a re l a t i v e l y s t rong design and implemented it with a weak cry ptographic algorithm. The system for GSM encry p t i o n took a weak algorithm and made it weaker. And many systems just use keys that are too short .1 0
T h e re are many other common cryptographic mistakes: implementations that repeat “unique” random values, digital-signature algorithms that don’t properly verify parameters, or hash functions altered to defeat the very properties they’re being used for. Cryptographic protocols are often used in ways unintended by the protocols’ designers. For example, they a re “optimized” in seemingly trivial ways that completely break their security.
Атака на средства шифрования
Иногда слабые места можно найти и непосредственно в системе шифрования. Некоторые продукты создаются на базе не слишком удачных алгоритмов собственной разработки. Как правило, вскрыть известные алгоритмы шифрования удается лишь в исключительных случаях. Если же разработчик делает ставку на собственные методы, шансы взломщиков повышаются многократно. Незнание секрета алгоритма не является особым препятствием. Квалифицированному специалисту достаточно пары дней, чтобы по объектному коду восстановить исходный алгоритм шифрования.
Надежность стандартной для электронной почты архитектуры S/MIME 2 не в состоянии компенсировать слабостей алгоритма шифрования. И без того не слишком надежная защита GSM от слабого алгоритма шифрования проигрывает еще больше. Во многих системах используются слишком короткие ключи [10].
Можно привести множество других примеров ошибок в системах шифрования: программы повторно генерируют "уникальные" случайные значения, алгоритмы цифровой подписи не в состоянии обеспечить контроль за передаваемыми параметрами, хэш-функции открывают то, что должны защищать. В протоколы шифрования вносятся не предусмотренные разработчиками изменения. Пользователи любят "оптимизировать" имеющиеся средства, доводя их до столь примитивного уровня, что вся система защиты рушится, как карточный домик.
PREVENTION VERSUS DETECTION
Most cryptographic systems rely on prevention as their sole means of defense: The cryptography keeps people from cheating, lying, abusing, or whatever. Defense should never be that narrow.
A strong system tries to detect abuse and to contain the effects of any attack. One of our fundamental design principles is that sooner or later every system will be successfully attacked, probably in a completely unexpected way and with unexpected consequences. It is important to be able to detect such an attack and to contain the attack to ensure it does minimal damage.
M o re import a n t l y, once the attack is detected, the system needs to re c o v e r. It needs to generate and promulgate a new key pair, update the protocol, invalidate the old one, remove an untrusted node from the system, and so forth. Unfort u n a t e l y, many systems d o n ’t collect enough data to provide an audit trail, or they fail to protect the data against modific a t i o n .
A good audit log has to do much more than detect an attack: It must also be able to produce evidence that can convince a judge and jury of guilt.
Предупреждение, а не выявление
Средства шифрования снижают вероятность того, что пользователи станут жертвами обмана, мошенничества, некорректных действий и т.д. Но архитектуру безопасности нельзя ограничивать столь узкими рамками.
Надежная система должна самостоятельно обнаруживать несанкционированные операции и ликвидировать нежелательные последствия атаки. Один из основных принципов проектирования подобных систем заключается в знании того, что рано или поздно атаки противника увенчаются успехом. Скорее всего, удар будет нанесен в самом неожиданном направлении, с использованием неизвестных разработчикам методов. Очень важно своевременно распознать такое нападение и принять все необходимые меры к тому, чтобы минимизировать ущерб.
Еще важнее как можно быстрее восстановить работоспособность поврежденной в ходе атаки системы. Необходимо сгенерировать новые пары ключей, заменить протокол, прекратить использование раскрытых противником средств, исключить из системы узлы, к которым взломщику удалось получить доступ, и т.д. К сожалению, многие продукты не занимаются сбором нужной информации, не контролируют ситуацию и не в состоянии надежно защитить данные от изменений.
В журнале регистрации должны отражаться все события, позволяющие установить факт нападения. В случае необходимости должны быть представлены неопровержимые доказательства, способные убедить судей и присяжных в виновности злоумышленника.
Security designers occupy what Prussian general Carl von Clausewitz calls “the position of the interior.” A good security product must defend against every possible attack, even attacks that haven’t been invented yet.
Attackers, on the other hand, only need to find one security flaw in order to defeat the system. And they can cheat. They can collude, conspire, and wait for technology to give them additional tools. They can attack the system in ways the system designer never thought of.
Building a secure cryptographic system is easy to do badly and very difficult to do well. Unfort u n a t e l y, most people can’t tell the difference. In other areas of computer science, functionality serves to diff e re n t i a t e the good from the bad: A good codec will work better than a bad one, and a bad codec will look worse in feature-comparison chart s .
Cryptography is diff e rent. Just because an encry ption program works doesn’t mean it is secure. What happens with most products is that someone re a d s Applied Cry p t o g r a p h y, chooses an algorithm and protocol, tests it to make sure it works, and thinks the p roject is done. It’s not.
Functionality does not equal quality, and no amount of beta testing will reveal every security fla w. Too many products are merely buzzword - c o m p l i a n t ; they use secure cryptography but are n ’t secure.
Разработчики систем безопасности должны следовать наставлениям таких авторитетов, как прусский генерал Карл фон Клаузевитц, утверждавший, что хорошие оборонительные средства должны отражать любые удары, даже те, о которых на сегодняшний день еще ничего не известно.
Атакующим, напротив, достаточно найти одну единственную брешь, и вся система защиты будет ликвидирована. Они прибегают к самым разнообразным уловкам. Взломщики не гнушаются участвовать в заговорах, тщательно маскируют свои противоправные действия и готовы в течение достаточно продолжительного времени ждать появления необходимых средств. В их арсенале всегда найдется идея, позволяющая нанести неожиданный для разработчиков удар.
Нет ничего проще, чем оградить свою информацию шатким, непрочным барьером с зияющими в нем дырами. Построить же непроницаемую систему защиты очень сложно. К сожалению, многие пользователи не видят разницы. В других областях анализ функциональных возможностей позволяет без труда отличить качественные продукты от наспех построенных систем. Достоинства хорошего кодека видны невооруженным глазом, плохой же выглядит значительно слабее и не поддерживает тех функций, которые доступны его конкурентам.
В криптографии все по-другому. Тот факт, что программы шифрования работают, еще не позволяет говорить о надежной защите. Как создается большинство продуктов? Разработчики читают Applied Cryptography, выбирают приглянувшийся им алгоритм и протокол, тестируют его, и вот уже проект готов. На самом деле все не так просто.
Функциональность и высокое качество не являются синонимами, и даже бесконечное тестирование не позволяет устранить всех брешей в системе защиты. Нужно хорошо разбираться в тонкостях терминологии: даже продукты, обладающие абсолютно надежными средствами шифрования, зачастую не могут гарантировать пользователям полной безопасности.
Bibliography
1 . P. Gutmann, “Software Generation of Random Numbers
for Cryptographic Purposes,” P roc. 1998 Usenix SecurityS y m p., Usenix Assoc., Berkeley, Calif., 1998, pp. 243-257.
2 . J. Kelsey, B. Schneier, and D. Wa g n e r, “Protocol Interactions
and the Chosen Protocol Attack,” Security Pro -t o c o l s, 5 t h Int’l Wo r k s h o p, Springer- Verlag, New Yo r k ,
1996, pp. 91-104.
3 . C. Hall et al., “Side-Channel Cryptanalysis of Pro d u c t
Ciphers,” P roc. ESORICS 98, Springer-
lektsii.com - Лекции.Ком - 2014-2024 год. (0.009 сек.)
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страницаСлучайная страницаКонтакты