Russian-speaking
 Python & Zope User Group

Главная |  Python |  Zope  

Python
Zope
Новости
Copyright
Ответственность  

Существует множество названий для обозначения этой идеи. Первый термин, предложенный правительством, был «депонирование ключей» («key escrow»), так как мастер-ключ в «Клиппер-чипе» (Clipper chip) предполагал, что сеансовый ключ будет «сдаваться на хранение» (hold «in escrow») и в дальнейшем передаваться органам охраны правопорядка. Если люди переставали покупать систему шифрования «о депонированием», название продукта изменяли, чтобы снова сделать его приемлемым. Сегодня используются термины «восстановление ключей» («key recovery»), «шифрование с участием доверенной третьей стороны» («trusted thirpartyencryption»), «исключительный доступ» («exceptional access»), «восстановле ние сообщений» («message recovery») и «восстановление данных» («data recovery»). Мне нравится GAK (government access to keys, правительственный доступ к ключам).

GAK-системы имеют «черный ход». Другими словами, они обеспечивают некую форму доступа к зашифрованным данным помимо нормального процесса дешифровки. В проекте «Клиппер-чип» предлагалось называть этот «черный ход» областью доступа правоохранительных органов (Law Enforcement Access Field, LEAF). (Первоначально она называлась областью использования органов охраны правопорядка, пока кто-то не указал на то, что это название неблагозвучно.)

«Черный ход» в GAK-системах предназначается для применения правительственными структурами (такими как полиция). Они работают различными способами: ранние GAK-системы оперировали с хранилищем закрытых ключей правительства США, более поздние самостоятельно определяют закрытые объекты. Другие системы используют программные агенты для «депонирования» или для восстановления ключей, что дает возможность узнать ключи частных зашифрованных сеансов связи или хранящихся файлов. Некоторые системы распределяют работу по восстановлению ключей между несколькими агентами. Имеются различные варианты, но все GAK-системы содержат два существенных элемента. Первый – механизм, внешний по отношению к первичной системе, посредством которого третья сторона может получить секретный доступ к открытому тексту, который был зашифрован. И второй – существование высокочувствительного метода секретного восстановления ключа (или коллекции ключей), который должен сохраняться в тайне в течение продолжительного времени. С точки зрения полиции, GAK-системы необходимы, чтобы предоставлять полиции своевременный доступ к открытому тексту, не сообщая об этом пользователям. Системы такого типа, по мнению администрации Клинтона и ФБР, решают проблему использования шифрования преступниками, делая доказательства их преступлений очевидными.

К несчастью, решение хуже самой проблемы. Восстановление данных производится с легкостью, поскольку это делается в высших интересах пользователя. Действия пользователей подобны автоматическому созданию резервной копии; они не должны помнить, что сделали копию. (Подождите, пока я не сделаю копию этого манускрипта.) Но GAK также связан с коммуникациями – телефонными разговорами и почтой, – которые не имеют отношения к копированию данных. Хранимые данные имеют огромную ценность: если вы теряете их, то нет способа их восстановить. Данные, передаваемые при соединении, не имеют ценности: если вы потеряли их, вы можете повторить передачу.

Способы осуществления GAK различны и достаточно сложны, поскольку он должен работать, несмотря на враждебность пользователей. Требования, предъявляемые ФБР к доступу, – скорость, секретность, полнота – вынуждают пользователей усиливать меры безопасности. Если я шифрую сообщение электронной почты, я должен доверять шифрованию – как на своей стороне, так и на стороне получателя. Наличие GAK означает, что я должен быть уверен в целой инфраструктуре, предназначенной для хранения ключей: шифрование, базы данных, полиция, народ. Цена построения такой инфраструктуры может быть огромной, в соответствии с уровнем возможного риска.

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

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

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

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

Безопасность баз данных

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

Первый трудный случай. База данных может быть настроена таким образом, чтобы определенные пользователи могли видеть только определенные поля. Всем пользователям должно быть разрешено видеть ряд полей общего доступа (имя служащего, номер служащего), но только некоторым пользователям разрешается видеть специальные поля (информация о медицинском страховании, зарплата). Это все обычные проблемы компьютерной безопасности, разрешаемые с помощью протоколов идентификации и списков контроля доступа.

Намного более сложно иметь дело с ситуацией, когда у Алисы есть право делать запросы и смотреть статистические данные, но нет права на просмотр информации по каждому отдельному случаю. Это одна из проблем «вывода»; Алиса может вывести информацию об отдельных случаях, но делая запросы относительно групп.

Пример: Алиса запрашивает у базы данных итоговую информацию по определенным группам. Если она сможет получить ответ на запрос такого сорта – сообщить обо всех наркоманках, в возрасте от 35 до 45 лет, у которых один из родителей диабетик, имеющих определенный почтовый адрес, – скорее всего, она получит возможность выделить отдельные случаи.

Возможное решение этой проблемы – вычищать данные, прежде чем они попадут в чьи-нибудь руки. Данные о переписи населения США 1960 года, например, засекречены подобным образом. Для статистического анализа можно получить только одну запись на тысячу, и в этих записях удалены поля, содержащие имена, адреса и другая важная информация. Бюро переписи также применяет ряд других трюков: данные, имеющие экстремальное значение, подавляются, в систему добавляется шум. Эти методы защиты сложны, и, несмотря на это, достаточно тонкие атаки все же могут быть проведены. Если вы хотите получить сведения об одной богатой семье, живущей по соседству, может оказаться возможным вывести эти данные, если вы сделаете некоторые разумные предположения.

Другое допустимое решение – наложить ограничение на типы запросов, которые пользователь может делать к базе данных. Это также трудно сделать правильно. В одной известной исследовательской работе автор, вычисляя жалованье своего босса, основывался на вполне законных запросах к базе данных переписи 1970 года, несмотря на контроль, введенный специально для того, чтобы предупреждать подобные вещи. Информационная система Национального здравоохранения Новой Зеландии пыталась разрушить подобные виды атак, не выдавая информацию по группам, состоящим менее чем из 6 человек.

Атаки все равно остаются возможными. Алиса собирается узнать виды разрешенных запросов, и лучшее, что она может сделать, – сформировать некий математический подход для вывода нужной ей информации из информации, к которой она имеет доступ. И подобные вещи усугубляются, если Алисе разрешено добавлять данные в базу и удалять их. Если она хочет получить информацию относительно отдельного человека, она могла бы вставить пару сотен записей в базу и затем сделать общий запрос по людям, включая тех, которых она добавила, плюс ее цель. Так как ей известны все данные, которые она добавила, она может «вычислить» данные того, кто ей нужен. Целый ряд атак основывается на означенной идее.

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

Страницы:
 
 
Copyright © 2000-2024, Russian-speaking Python & Zope User Group Ответственность