id: Гость   вход   регистрация
текущее время 06:05 19/11/2017
Владелец: unknown (создано 09/09/2008 18:11), редакция от 15/09/2008 08:44 (автор: unknown) Печать
Категории: криптография, анонимность, приватность, инфобезопасность, сайт проекта, статьи, разное
https://www.pgpru.com/Библиотека/Статьи/КриптографияКакСохранитьСекреты
создать
просмотр
редакции
ссылки

Криптография: как сохранить ваши секреты в безопасности


© Анна Лисянская для Scientific American Privacy Issue
Перевод © 2008 unknown

Современная криптография может защитить как индивидуальную так и коллективную частную информацию.


Ключевые моменты:


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

Зак решил попробовать сетевую службу знакомств Chix-n-Studz.com. Он завёл аккаунт на вэб-сайте и заполнил несколько экранов форм, детализирующих его персональный профиль и его внешний вид как потенциального партнёра. Сразу же сервис выдаёт ему множество возможных подружек, и среди них он выбирает наиболее производящую впечатление Вэнди. Он посылает ей свой e-mail адрес и надеется получить сообщение. Она отвечает ему напрямую и начинается закручивание романа по электронной почте.


Бедняга Зак. Вскоре после этого он получает множество телефонных звонков от непрошенных людей из групп политических активистов, от продавцов, которые знают о нём кое-какие подробности, его медицинская страховая компания спрашивает о его экстремальных приключениях во время отпуска; бессовестные владельцы Chix-n-Studz продали клиентскую информацию. А тут ещё и Иван, с этим шаловливым коллегой по работе Зак по-глупости поделился одним из писем Вэнди. Зак не знал, что последовавшие затем сообщения от Вэнди были подделаны Иваном.


В противоположность этому, Алиса на седьмом небе от счастья, так же как и её новый друг Боб. Они оба повстречалиь через сервис нахождения партнёров SophistiCats.com, который оснащён всеми последними инструментами криптографии. Алиса получает логин для сайта, защищённый анонимной авторизацией, системой которая гарантирует, что никто на этом сервисе не сможет проследить кто она и откуда она заходит на сайт. SophistiCats использует программное обеспечение, обеспечивающее "безопасное вычисление функции" (SFE), чтобы узнать, что её профиль совпадает с партнёрскими критериями Боба, и никто из служащих сервиса не знает их информации и даже не знает, что она и Боб выбрали друг друга. Представьте: полностью эффективная служба знакомств, которая практически ничего не знает о своих клиентах!


Алиса осуществляет контакты с Бобом при помощи возможности, известной как анонимный канал и он отвечает ей так, что никто, включая её интернет-провайдера (ISP) не знает, что Боб находится в контакте с ней и не знает, что говорится в пересылаемых сообщениях, да и провайдер Боба информирован о ней не лучше. Соседка по общежитию Алисы, Ева, напротив, знает, но только потому, что Алиса сама рассказала про Боба и даже повесила распечатки из некоторых его писем возле своего компьютера. Ева была бы проблемой, поскольку она может легко записывать и подделывать данные входящие и исходящие из компьютера Алисы (фактически она контролирует сеть, соединяющую их с Интернетом). Не стоит бояться: шифрование обеспечит, то что Ева не узнает ничего, кроме того, что Алиса сама захочет ей показать, а закодированные "цифровые подписи" в почтовых сообщениях Алисы и Боба сделают лёгким выявление и игнорирование поддельных собщений от Евы.

Всеобщее крипто


Также как Алиса или Зак большинство из нас ежедневно осуществляет множество персональных, деловых и правительствных транзакций электронным способом. Мы делаем так много вещей по сети от сохранения контактов с друзьями до продажи и покупки чего-либо, включая мойку для раковины, так что это даёт полнейшую информацию о большинстве людей, которую так легко записывать вместе со всей их сетевой активностью. И по множеству причин, провайдеры уже записывают нашу активность, включая какие мы сайты посещали и когда. И не они одни. Многие организации взаимодействуют online – магазины, газеты, службы знакомств и предпочитают присматривать за нами как только могут. Таким образом, если мы дорожим своим правом на частную жизнь, мы находимся лицом к лицу перед вызовом: как получить преимущество от всего, что даёт Интернет без того чтобы расстаться с этим правом.


Удивительным открытием современой криптографии является то что, любая задача электронной коммуникации может быть выполнена приватным образом. Многие люди, включая составителей большинства словарей, ошибочно думают, что "криптография" – это синоним учения о шифровании. Но современная криптография заключает в себе намного больше. Она обеспечивает математические методы для защиты коммуникаций и вычислений против всех типов нежелательного поведения и таким образом даёт инструменты для защиты нашей частной жизни и безопасности.


Представим например, что все члены группы соединены через Интернет и хотят посчитать что-то, что зависит от данных каждого из них, сами данные они хотят сохранить в тайне. Данные могут быть их голосами на выборах и они могут хотеть знать результат без раскрытия индивидуальных голосов. Процедура известная как многосторонние вычисления или безопасные вычисления функций (SFE) дают им возможность подсчитать голоса таким образом, что каждый участник будет знать корректный результат на выходе, но никто не сможет узнать ничей индивидуальный голос, даже в коалиции со злонамеренным инсайдером, способным перехватывать сообщения в сети и подменять их тщательно подделаными фальшивыми данными. Протокол SFE также даёт каждому индивидууму приватным образом результат вычислений, также как это делалось в хитром сервисе SophistiCats.


Базовая идея, лежащая в основе SFE, это то что каждый участник делит свой вход на куски или разделяемые части и распространяет среди других в группе. Каждый участник затем оперирует частью под его или её контролем (складывает их, перераспределяет куски результата и т.д.). В итоге группа снова складывает куски вместе, чтобы получить конечный результат. Ни у кого нет данных, чтобы реконструировать входные значения других персон.


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


SophistiCats – это вымышленный сервис, но исследователи в области криптографии показали как его можно фактически создать. К тому же в январе этого года протокол SFE использовался в решении реальной проблемы (по крайней мере в Дании) для установления цены сахара по контракту на продажу среди 1200 датских фермеров, основываясь на данных, которые они вводили приватно. Через SFE мы можем получить лучшее из двух миров: функциональность, которую мы хотим иметь через Интернет без потери приватности.


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


Шифрование. Ни провайдер Алисы, ни Ева не могут расшифровать сообщения, которые Алиса посылает Бобу. Трафик между компьютером Алисы и сервисом SophistiCats также остаётся защищённым.


Аутентификация. Алиса может быть уверена, что получает сообщения от Боба, а не от Евы.


Анонимные каналы. Провайдер Алисы не может сказать, кому она посылает сообщения или что она регулярно посещает вэб-сайт SophistiCats.


Доказательство с нулевым разглашением. Алиса может доказать кому-то, что что-то является правдой, не раскрывая своего доказательства.


Анонимная авторизация. Служба SophistiCats знает что есть некто участник сервиса, которая получает доступ к сайту, но не может сказать кто она. Это протокол является специальным случаем доказательства с нулевым разглашением.

Секретные сообщения


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


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


В 1976 году Уитфилд Диффи и Мартин Хэллман, оба из Стэнфордского университета, представили другую возможность, названную шифрованием с открытым ключем, в которой Алиса не обязана знать секретный ключ. Всё что ей нужно – это публичное значение, связанное с секретным ключем, называемое открытым ключем Боба (public key – PK). Алиса использует его открытый ключ, чтобы зашифровать своё сообщение, и только Боб со своим секретным ключем может в результате расшифровать шифртекст. Не имеет значение, что Ева тоже знает открытый ключ Боба, поскольку она не сможет его использовать для расшифровки шифртекста. Диффи и Хэллман предложили идею открытых ключей, но не знали как её внедрить. Спустя год, Рональд Райвист, Ади Шамир и Леонард Адлеман, все из Массачусетского технологического института создали первую конструкцию системы открытых ключей: алгоритм RSA.


Этот алгоритм работает для шифрования с открытым ключём, поскольку включает в себя так называемые функции с лазейкой. Такую функцию легко вычислить, чтобы получить шифртекст, однако тяжело инвертировать, чтобы восстановить открытый текст, без использования специального значения-"лазейки" (потайного входа). Лазейка служит секретным ключем. Алгоритм RSA – это первый образец функции с лазейкой. За эту работу в 2002 году создатели получили премию Тьюринга, самую престижную в области компьютерных наук.


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


Шифрование с открытым ключем делает возможным покупку вещей через сеть без отправки чуствительной информации, такой, как номера кредитных карт, через Интернет в открытом виде. Браузер пользователя играет роль Алисы, а вэб-сайт роль Боба. В общем случае, https, протокол который сейчас поддерживают большинство браузеров, использует шифрование с открытым ключем чтобы предоставить возможность просмотра вэб-страниц через шифрованный канал – взгляните на "https://" в URL (адресе вэб-сайта) и на иконку наподобие закрытого замка в строке состояния браузера.


Многие люди также используют шифрование с открытым ключем, чтобы обезопасить свою почту. Для этих целей существует множество свободного программного обеспечения, включая GNU Privacy Guard (доступный с www.gnupg.org, впервые выпущенной фондом свободного программного обеспечение (Free Software Foundation) десять лет назад. Если вы не шифруете свою почту, она движется через Интернет в таком виде, что её легко прочитать и сохранить на множестве винчестеров по пути следования за некоторый период времени.

Привет, это я!


С проблемой шифрования близко связана проблема аутентификации. Предположим Алиса получает сообщение "Алиса, пошли пожалуйста 100$ Еве. С любовью, Боб." Как она узнает, что это пришло от её настоящего возлюбленного Боба, а не сфабриковано Евой?


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


Главенствующая идея состоит в том что Боб использует свой секретный ключ для вычисления "подписи", которую он добавляет к своему сообщению, так что Алиса и ещё кто-нибудь могут проверить что она соотвествует этому сообщению. Алиса знает что сообщение должно быть от Боба, потому что ни у кого другого нет секретного ключа, необходимого для создания правильных подписей.


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


Программное обеспечение, которое можно использовать для подписи и проверки электронной почты свободно доступно, как например часть пакета GNU Privacy Guard, упомянутого выше.

Луковичная маршрутизация


Проблема, которая может быть решена при помощи протокола SFE: Алиса приватно набирает URL, который она хочет посмотреть и также приватно получает содержимое сайта, которое хочет видеть. Использование SFE будет конечно крайне неэффективным. В 1981 году Дэвид Чаум из университета Калифорнии, Беркли, предложил более простое решение, называемое анонимными каналами, сейчас также известное как "луковичная маршрутизация" – onion routing.


Как понятно из названия, Алиса оборачивает своё сообщение в слои. Она зашифровывает каждый слой (и всё что внутри него) с ключем другой персоны и добавляет адрес этой персоны поверх слоя. Сообщение от Алисы к Бобу идёт таким образом: Алиса посылает "луковицу" Марку, который снимает с неё внешний слой при помощи расшифровки сообщения-луковицы своим секретным ключем. Внутри Марк находит меньшую "луковицу" с адресом Лизы. Он пересылает "письмо-луковицу" Лизе, которая расшифровывает её своим ключем и так далее. В конце концов, Боб получает ядро "луковицы" от кого-то, расшифровывает и находит в нём сообщение Алисы.


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


Сам Боб не знает кто послал сообщение, если только Алиса не пожелает раскрыть себя в сообщении. Также если она предпочитает оставаться для него анонимной, он всё ещё может посылать ей анонимные ответы используя "ответные луковицы" ("replay onion"), содержащие слои адресов и публичных ключей, необходимых, чтобы обеспечить маршрутизацию обратно к ней.


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


Так же как и для шифрования и электроных почтовых подписей, существует свободное программное обеспечение для всех, кто хочет осуществлять коммуникации по анонимным каналам или выступать посредником. Например, проект "The Onion Router" (Tor) может быть найден по адресу www.torproject.org

Приватные логины


Алиса может попытаться скрыть свои следы, используя псевдонимы когда она подписывается, но наблюдение за привычками псевдонимов может быстро раскрыть идентичность Алисы. Она может раскрыть код своего района, чтобы посмотреть прогноз погоды, набрать дату своего рождения, чтобы посмотреть гороскоп и раскрыть свой пол, например просматривая темы про рак груди. Эти три части информации – код региона, дата рождения и пол позволяют идентифицировать 87 процентов населения США [см. "Данные мира, объединяйтесь!" Симсона Гарфинкеля].


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


С помощью доказательства с нулевым разглашением Боб может убедить в верности своего утверждения без раскрытия доказательства почему оно верно, или фактически без раскрытия любой лишней информации. Чтобы доказать утверждение "Я авторизованный пользователь SophistiCat American", онлайн-журнал или сервис третьей стороны должен выпустить уникальное удостоверение – нечто вроде секретного ключа для Алисы, если она является подписчиком. Каждый раз когда журнал последовательно спрашивает её, она должна использовать этот ключ чтобы доказать подлинность удостоверения, без раскрытия самого этого удостоверения. С помощью удостоверений от разных авторизующих центров, Алиса может доказывать с нулевым разглашением более сложные утверждения, например "Я авторизованый пользователь старше 18".


Базовая идея того, как работает доказательство с нулевым разглашением по сценарию описанному ранее, выглядит как если Алиса доказывает Бобу что она раскрашивает диаграмму определённым образом (технически она имеет дело с "трёхцветным графом") без раскрытия Бобу того, как она его раскрасила. Трёхцветный граф – это так называемая NP-полная проблема [см. статью Скотта Ааронса "Пределы квантовых компьютеров" в мартовском номере Scientific American]


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

Взлом кодов


Насколько безопасна безопасность? Когда Алиса шифрует сообщение Бобу, как трудно для Евы расшифровать его? И что если Ева обладает каким-то сокровенным знанием или возможностями обыграть систему? Например, она может заранее знать что-то о зашифрованном сообщении, например название местного кафе, где у Алисы и Боба произошла первая персональная встреча. Или если "Боб" – это безопасный вэб-сервер, Ева может посылать ему тщательно подобраный бессмысленный в определённых местах шифртекст и на основании его ответов, делать догадки о его секретном ключе. Широко распространённое определение безопасности в шифровании с открытым ключем перекрывает все эти базисы и требует чтобы Ева всё равно не получила никакой пригодной для использования информации. Наряду с другими, программа GNU Privacy Guard проходит этот тест.


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


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


Очень редко схема считается безопасной в более специфических случаях. Но это делается после изучения алгоритма в течении многих лет с участием сотен ведущих исследователей. Криптографическое сообщество может осуществить этот процесс только для небольшого числа наиболее критичных блоков. Затем безопасность больших систем выводится из безопасности этих строительных блоков. См. сентябрьский выпуск Scientific American 2008 года для более подробного изучения допущений, лежащих в основе безопасности криптосистем.


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


Об авторе


Анна Лисянская является доцентом компьютерных наук в университете Брауна, где она получила CAREER грант национальной академии наук и звание члена исследовательского общества имени Альфреда Слоана. Она защитила свою диссертацию в Массачусетском Институте Технологий под руководством Рональда Райвиста, от имени которого появилась буква "R" в названии алгоритма RSA. Схемы подписей и анонимной авторизации из её диссертации являются частью стандарта группы доверенных вычислений. Если вы купили новый компьютер в течении последних лет, то его микропроцессор скорее всего выполнен в соответствии с этим стандартом.


 
Много комментариев (18) [показать комментарии/форму]
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3