Опознавательные знаки доступа

Третьим способом доказательства идентичности является использование чего-либо, что вы имеете: физического опознавательного знака любого рода. Это старая форма контроля доступа: материальный ключ ограничивает доступ в сундук, комнату, здание. Обладание королевской печатью уполномочивает кого-либо на действия от имени короля. Более современные системы могут быть автоматизированными – электронные ключи в номере отеля – или ручными – распространенные предметы, предоставляющие доступ в здание. Основная идея та же самая; физический предмет служит подтверждением подлинности своего хозяина.

Для этого можно пойти по нескольким путям. Наиболее простой путь, когда хозяин может просто доказать, что данный знак принадлежит ему. Есть компьютеры, включаемые физическим ключом; так работают компьютеры, которым требуется смарт-карта. Основная идея любого опознавательного знака в том, что вы помещаете знак в некоторое отверстие в каком-то месте, и после этого компьютер подтверждает, что вы действительно это сделали. Если это так, вы попадаете в систему.

Наиболее серьезная проблема с такой системой в том, что знаки могут быть украдены. Например, если кто-нибудь украдет ключи от вашего дома, то он сумеет открыть его. Таким образом, система в действительности не может подтвердить подлинность лица; она подтверждает подлинность знака. Большинство компьютерных систем для преодоления этой уязвимости соединяют в себе знак доступа с паролем, который иногда называют личным идентификационным кодом (PIN). Примером могут быть банковские карты. Банкоматы подтверждают подлинность карты и спрашивают идентификационный номер для подтверждения подлинности пользователя. Идентификационный номер бесполезен без знака доступа. Некоторые сотовые телефонные системы работают точно таким же образом: вам нужен физический телефон и код доступа, чтобы сделать звонок, оплачиваемый с частного телефонного счета.

Кроме того, что знак могут украсть, кто-нибудь может скопировать его. Некоторые знаки скопировать легко, например физические ключи. Таким образом, знаки могут быть украдены, скопированы и перемещены без ведома своего владельца.

Другая проблема в том, что должен быть некий путь, подтверждающий, что опознавательный знак в действительности там, где он должен находиться. Подумайте о знаке как о перемещаемой, изменяемой биометрике – и вы получите все проблемы проверки безопасности из предыдущего раздела. Однако здесь при необходимости знак может быть изменен.

Проиллюстрирую эту проблему на примере использования кредитных карт. Сложно подделать физическую кредитную карту потому, что фальшивку опасно подсунуть при покупке вещей в магазине. Нельзя полагаться, что служащий магазина не заметит, что карта не настоящая. Легче использовать поддельную кредитную карту по телефону. В магазине служащий проверит подлинность как номера счета на кредитной карте, так и ее саму – как знак. По телефону оператор не сумеет определить подлинность физического знака, только номер счета.

В этом – другая, относительно менее значимая проблема, которую можно наблюдать на примере некоторых знаков. Если пользователи могут оставить знак в отверстии, куда поместили его для операции, они часто это и делают. Если пользователи должны вставить смарт-карту в прорезь перед тем, как она загрузится, они, вероятно, оставят ее там на весь день и всю ночь, даже если их самих там не будет. На слишком долгое для идентификации время.

Все эти обсуждения предполагают, что какой-нибудь вид считывающего устройства общается со знаком, и пользователь поместил его в считывающее устройство. Но часто такой возможности не бывает: у большинства компьютеров нет требуемого считывающего устройства, или система работает с мобильным пользователем, который сидит где-то в другом месте, а не за своим привычным компьютером. С этой ситуацией связаны две различные технологии.

Первая – это «вызов/ответ». Знак – устройство идентификации – карманный калькулятор с цифровой клавиатурой и маленьким экраном. Когда пользователь хочет подключиться, он вызывает удаленный хост. Он отправляет этот вызов со своего знака. Знак подготавливает соответствующий запрос, который передает в компьютер, а тот переправляет его хосту. Хост производит аналогичные вычисления и, если результат соответствует ожидаемому, подтверждает подлинность.

Вторая технология основана на временной синхронизации. Знаком является аналогичный карманный калькулятор с одним экраном. На экране регулярно сменяются номера, обычно раз в минуту. Удаленный компьютер просит пользователя напечатать то, что показано на экране. Если ответ пользователя соответствует тому, что ожидает удаленный компьютер, он производит подтверждение подлинности. Таким образом работает адаптер SecurID.

Конечно, полная система может также включать пароль, знак вызова/ответа, для начала работы может даже потребовать дополнительно ввода пароля; и другие вспомогательные меры безопасности. Основная идея все-таки в том, что некое секретное вычисление происходит внутри электронного ключа, который подменить нельзя. Нападающий не станет притворяться, будто у него есть знак, потому что не знает, как рассчитывать ответы, основанные на вызовах, или не знает, как рассчитывать величины, основанные на временной синхронизации. Сделать это можно только одним путем – имея настоящий знак.

Это работает в большей или меньшей степени. Шифровальные техники, кодирование или хэширование обеспечивают безопасность. Удаленный компьютер знает, как провести расчеты, так что система безопасна в такой же степени, что и ключевой код главного хоста. Любой, кто перепроектирует знак, сможет выяснить, как произвести расчеты; таким образом, система безопасна ровно настолько, что и знаки (см. главу 14). Но это достаточно хорошо и, конечно, намного лучше, чем «голые» пароли. Проблемы безопасности возникают в сети и при подтверждении подлинности компьютера.

Напоследок обсудим еще один знак: записанный пароль. В сообществе, занимающемся проблемами безопасности, существует реакция коленного рефлекса на запись паролей, но если это сделано должным образом, то может значительно улучшить защиту. Кто-нибудь, кто записывает свой пароль, превращает то, что он знает (свой пароль), в то, что он имеет (клочок бумаги). Эта уловка позволяет ему использовать более длинные пароли, которые являются более надежными. Здесь есть все проблемы простого знака: он может быть скопирован или украден. Защита не будет работать, если Алиса написала свой пароль на желтом липком листочке, наклеенном на монитор ее компьютера. Для нее будет лучше положить свой пароль в бумажник – это надежнее. Возможно, лучшим решением будет иметь две части пароля: одну будет помнить Алиса, а другая будет записана на листочке, лежащем в ее бумажнике.

Есть системы с одноразовыми паролями. У пользователя находится список паролей, записанных и используемых однократно. Конечно, это хорошая система подтверждения подлинности – список паролей является знаком – до тех пор, пока список находится в безопасном месте.