Выбрать главу

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

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

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

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

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

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

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

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

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

Как PGP определяет подлинность ключей

Прежде чем приступить к этому параграфу, ознакомьтесь с предыдущим, "Как защитить открытый ключ от подмены".

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

PGP применяет два параллельных критерия оценки достоверности открытых ключей, не спутайте их:

1. Принадлежит ли ключ предполагаемому владельцу? Иными словами, заверен ли он доверенной подписью?

2. Принадлежит ли ключ человеку, уполномоченному вами на удостоверение иных ключей (поручителю)?

PGP автоматически вычисляет ответ на вопрос 1. Ответ на вопрос 2 вы предоставляете программе сами. Когда вы даёте ответ на вопрос 2, PGP может рассчитать ответ на вопрос 1 для всех ключей, подписанных установленным вами поручителем.

Ключи, заверенные доверенным поручителем, расцениваются подлинными. Ключ самого доверенного поручителя должен быть удостоверен или лично вами, или другим доверенным поручителем.

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

Рассчитывая достоверность открытого ключа, PGP проверяет уровни доверия всех сертифицирующих его подписей. Затем он выводит общую оценку достоверности: например, две частично доверяемые подписи расцениваются равнозначными одной полностью доверяемой. Скептицизм программы поддаётся регулировке: вы можете настроить PGP, чтобы для удостоверения ключа он требовал две полностью доверяемые или три частично доверяемые подписи и т. д[14].

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

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

Этот уникальный децентрализованный подход резко констрастирует со стандартными схемами администрирования открытых ключей, разработанных в единоначальных государственных и частных консервативных организациях вроде Internet Privacy Enhanced Mail (PEM), полагающихся на централизованный контроль и навязываемую вертикальную систему доверия. Стандартные модели основаны на иерархии Центров сертификации, решающих за вас, кому вы можете доверять. Распределённый вероятностный метод определения подлинности открытых ключей — это краеугольный камень архитектуры управления ключами нашей программы. PGP ставит вас на вершину вашей собственной пирамиды сертификации, давая право самостоятельно решать, кто заслуживает доверия, а кто — нет. PGP создан для людей, предпочитающих лично паковать свои парашюты.

вернуться

14

Функция регулировки "скептицизма" PGP при оценке достоверности ключей в последних версиях отсутствует (однако возможна в GnuPG). Ключ считается подлинным, если его сертификат заверен одной полностью доверяемой подписью или двумя частично доверяемыми подписями. Недоверяемые подписи в расчёт оценки не берутся.