Как верифицировать подписи установочных пакетов
Каждый файл на нашей странице загрузок сопровождается файлом с аналогичным именем и с расширением ".asc". Эти .asc являются подписями GPG. Они позволяют верифицировать файл, который вы скачали. Является ли он тем файлом, который мы хотели вам предоставить? Например, актуальная версия Установочного Пакета для ОС Windows: vidalia-bundle-0.2.1.25-0.2.7.exe укомплектована vidalia-bundle-0.2.1.25-0.2.7.exe.asc.
Конечно, вам придется добавить наши pgp ключи в ваш набор ключей: если у вас нет ключа pgp, вы не можете быть уверенны, что это мы, а не кто-то другой, подписал этот файл. Ниже приведен список ключей, которые мы используем для подписей:
- Ключ Роджера (0x28988BF5) обычно подписывает файлы с исходным кодом.
- Ключ Ника (0x165733EA, и его дополнительный ключ 0x8D29319A)
- Ключ Эндрю (0x31B0974B), которым обычно подписываются установочные пакеты для windows и mac.
- Ключ Петера (0x94C09C7F, и его дополнительный ключ 0xAFA44BDD)
- Ключ Мэтта (0x5FA14861)
- Ключ Якоба (0xE012B42D).
- Ключ Эринна (0x63FEE659) и (0xF1F5C9B5), которыми обычно подписываются установочные пкеты для Linux.
- Ключ Майка (0xDDC6C0AD), подписывает Torbutton xpi.
Шаг Ноль: Установка GnuPG
Предварительно вам необходимо установить GnuPG, чтобы вы могли верифицировать подписи.
- Linux: смотрите здесь http://www.gnupg.org/download/ или установите gnupg из системы управления установочными пакетами.
- Windows: смотрите здесь http://www.gnupg.org/download/. Найдите версию, собранную для MS-Windows, в разделе "Binaries".
- Mac: смотрите здесь http://macgpg.sourceforge.net/.
Шаг первый: Импорт ключей
Следующий шаг - это импорт ключей. Это может быть сделано прямо из программы GnuPG. Убедитесь в том, что импортировали правильный ключ. Например, если вы скачали установочный файл для Windows, вам нужно импортировать ключ Эндрю.
Windows:
GnuPG для Windows - это инструмент с командной строкой, и вам придется использовать cmd.exe. Если вы не настроете среду с переменным путем (PATH), вам нужно будет указать полный путь к программе GnuPG. Если вы установили GnuPG со стандартными параметрами (указанными по умолчанию), путь должен быть примерно таким: C:\Program Files\Gnu\GnuPg\gpg.exe.
Чтобы импортировать ключ 0x28988BF5, запустите cmd.exe и впечатайте:
C:\Program Files\Gnu\GnuPg\gpg.exe --recv-keys 0x28988BF5
Mac и Linux
Если вы используете Mac или Linux, вам придется использовать терминал, чтобы работать с программой GnuPG. Пользователи Mac могут найти терминал в разделе "Приложения" ("Applications"). Если вы используете Linux и Gnome, вы можете найти терминал в Меню Приложения ("Applications menu") и Аксессуарах ("Accessories"). Пользователи KDE смогут найти терминал войдя в Меню ("Menu") и Систему ("System").
Чтобы импортировать ключ 0x28988BF5, запустите терминал и впечатайте:
gpg --recv-keys 0x28988BF5
Шаг второй: Верификация отпечатков
После импортирования ключа, вам нужно проверить правильность отпечатков.
Windows:
C:\Program Files\Gnu\GnuPg\gpg.exe --fingerprint (ключ укажите здесь)
Mac и Linux
gpg --fingerprint (сюда вставьте идентификационный ключ - keyid)Отпечатки для ключей должны быть такими:
pub 1024D/28988BF5 2000-02-27
Key fingerprint = B117 2656 DFF9 83C3 042B C699 EB5A 896A 2898 8BF5
uid Roger Dingledine <arma@mit.edu>
pub 3072R/165733EA 2004-07-03
Key fingerprint = B35B F85B F194 89D0 4E28 C33C 2119 4EBB 1657 33EA
uid Nick Mathewson <nickm@alum.mit.edu>
uid Nick Mathewson <nickm@wangafu.net>
uid Nick Mathewson <nickm@freehaven.net>
pub 1024D/31B0974B 2003-07-17
Key fingerprint = 0295 9AA7 190A B9E9 027E 0736 3B9D 093F 31B0 974B
uid Andrew Lewman (phobos) <phobos@rootme.org>
uid Andrew Lewman <andrew@lewman.com>
uid Andrew Lewman <andrew@torproject.org>
sub 4096g/B77F95F7 2003-07-17
pub 1024D/94C09C7F 1999-11-10
Key fingerprint = 5B00 C96D 5D54 AEE1 206B AF84 DE7A AF6E 94C0 9C7F
uid Peter Palfrader
uid Peter Palfrader <peter@palfrader.org>
uid Peter Palfrader <weasel@debian.org>
pub 1024D/5FA14861 2005-08-17
Key fingerprint = 9467 294A 9985 3C9C 65CB 141D AF7E 0E43 5FA1 4861
uid Matt Edman <edmanm@rpi.edu>
uid Matt Edman <Matt_Edman@baylor.edu>
uid Matt Edman <edmanm2@cs.rpi.edu>
sub 4096g/EA654E59 2005-08-17
pub 1024D/9D0FACE4 2008-03-11 [expires: 2010-10-07]
Key fingerprint = 12E4 04FF D3C9 31F9 3405 2D06 B884 1A91 9D0F ACE4
uid Jacob Appelbaum <jacob@appelbaum.net>
sub 4096R/F8D04B59 2010-03-11 [expires: 2010-10-07]
pub 2048R/63FEE659 2003-10-16
Key fingerprint = 8738 A680 B84B 3031 A630 F2DB 416F 0610 63FE E659
uid Erinn Clark <erinn@torproject.org>
uid Erinn Clark <erinn@debian.org>
uid Erinn Clark <erinn@double-helix.org>
sub 2048R/EB399FD7 2003-10-16
pub 1024D/F1F5C9B5 2010-02-03
Key fingerprint = C2E3 4CFC 13C6 2BD9 2C75 79B5 6B8A AEB1 F1F5 C9B5
uid Erinn Clark <erinn@torproject.org>
sub 1024g/7828F26A 2010-02-03
pub 1024D/DDC6C0AD 2006-07-26
Key fingerprint = BECD 90ED D1EE 8736 7980 ECF8 1B0C A30C DDC6 C0AD
uid Mike Perry <mikeperry@fscked.org>
uid Mike Perry <mikepery@fscked.org>
sub 4096g/AF0A91D7 2006-07-26
Шаг третий: Верификация скаченного установочного пакета
Чтобы верифицировать скаченный вами установочный пакет, вам необходимо также скачать файл с расширением ".asc".
В приведенных ниже примерах пользователь Алиса скачивает установочные пакеты для Windows, Mac OS X и Linux, а затем верифицирует подписи для каждого из них. Все файлы сохранены на рабочий стол.
Windows:
C:\Program Files\Gnu\GnuPg\gpg.exe --verify C:\Users\Alice\Desktop\vidalia-bundle-0.2.1.25-0.2.7.exe.asc C:\Users\Alice\Desktop\vidalia-bundle-0.2.1.25-0.2.7.exe
Mac:
gpg --verify /Users/Alice/vidalia-bundle-0.2.1.25-0.2.7-i386.dmg.asc /Users/Alice/vidalia-bundle-0.2.1.25-0.2.7-i386.dmg
Linux
gpg --verify /home/Alice/Desktop/tor-0.2.1.25.tar.gz.asc /home/Alice/Desktop/tor-0.2.1.25.tar.gz
После верификации, программа GnuPG выдаст текст, сообщающий "Хорошая подпись" или "ПЛОХАЯ подпись". Целиком сообщение выглядит примерно так:
gpg: Signature made Tue 16 Mar 2010 05:55:17 AM CET using DSA key ID 28988BF5 gpg: Good signature from "Roger Dingledine <arma@mit.edu>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: B117 2656 DFF9 83C3 042B C699 EB5A 896A 2898 8BF5
Обратите внимание на то, что вышло предупреждение, так как вы не приписали этому пользователю доверенный индекс. Это означает, что ваша программа верифицировала ключ, которым была сделана подпись. Пользователь должен самостоятельно решить, принадлежит ли этот ключ разработчикам. Для этого лучше всего встретиться с ними лично и обменяться отпечатками pgp.
Для информации, это пример ПЛОХОЙ верификации. Приведенные ниже данные означают, что подпись и содержание файла не соответствуют. В этом случае вы не можете доверять содержимому данного файла:
gpg: Signature made Tue 20 Apr 2010 12:22:32 PM CEST using DSA key ID 28988BF5 gpg: BAD signature from "Roger Dingledine <arma@mit.edu>"
Если вы используете Tor в системе Debian вам стоит прочитать инструкции поправильному импорту этих ключей.
Если вы хотите узнать больше о программе GPG, прочитайте эту документацию http://www.gnupg.org/documentation/.
