Author

Topic: Проверка PGP подписи на примере Electrum BTC (Read 522 times)

hero member
Activity: 1330
Merit: 869
hero member
Activity: 1330
Merit: 869

- скачать и установить программу Kleopatra
У меня вот на этом этапе загвоздка наступила (есть предыдущий электрум, но недавно были проблемы с серверами, поэтому ставлю новый на вируталку) - скачал gpg4win проверяю его certutil -hashfile.... sha1 - и мне выдает вот это -  bd1d8a11b71dc8ef4ea856ffac0440d9005a9c40

а там же ниже на сайте указано вот это

6db53bf3a350faceda861a3fd32c15106ce455bf  

получается я не тот gpg4win скачал?

а здесь
Quote
SHA1 checksums
bd1d8a11b71dc8ef4ea856ffac0440d9005a9c40  gpg4win-3.1.7.exe
63644661a59ada50d33edbf986c4357e39fb8857  gpg4win-src-3.1.7.exe
8e5311fe3e8201ebf7a102d7952d147701a5dac3  gpg4win-3.1.7.tar.bz2


На сайте рассмотрен конкретный пример проверки версии 3.0.1. И для нее верен хэш 6db53bf3a350faceda861a3fd32c15106ce455bf

А Вы версию 3.1.7 скачиваете. Для нее верен хэш:

Quote
SHA1 checksums
bd1d8a11b71dc8ef4ea856ffac0440d9005a9c40  gpg4win-3.1.7.exe
63644661a59ada50d33edbf986c4357e39fb8857  gpg4win-src-3.1.7.exe
8e5311fe3e8201ebf7a102d7952d147701a5dac3  gpg4win-3.1.7.tar.bz2
sr. member
Activity: 1498
Merit: 342
the Trend is Your Friend?

- скачать и установить программу Kleopatra
У меня вот на этом этапе загвоздка наступила (есть предыдущий электрум, но недавно были проблемы с серверами, поэтому ставлю новый на вируталку) - скачал gpg4win проверяю его certutil -hashfile.... sha1 - и мне выдает вот это -  bd1d8a11b71dc8ef4ea856ffac0440d9005a9c40

а там же ниже на сайте указано вот это

6db53bf3a350faceda861a3fd32c15106ce455bf  

получается я не тот gpg4win скачал?

а здесь
Quote
SHA1 checksums
bd1d8a11b71dc8ef4ea856ffac0440d9005a9c40  gpg4win-3.1.7.exe
63644661a59ada50d33edbf986c4357e39fb8857  gpg4win-src-3.1.7.exe
8e5311fe3e8201ebf7a102d7952d147701a5dac3  gpg4win-3.1.7.tar.bz2
hero member
Activity: 1330
Merit: 869
Инструкция имеет всеобщий характер и применима к проверке достоверности подписи любых дистрибьютивов, а не только Электриум. Чтобы это было более понятным, наверное было бы неплохо изменить название на  "Проверка PGP подписи на примере Electrum", ИМХО

Согласен! Изменил заголовок.
legendary
Activity: 2436
Merit: 1849
Crypto for the Crypto Throne!
Хороший гайд  Smiley
В случае с Линукса все намного проще, так как работает через консоль со встроенным pgp и парой команд.  
Code:
gpg --import ThomasV.asc
(перед этим скачиваем паблик кей по ссылке)
Code:
gpg --fingerprint ThomasV
(смотрим все фингерпринты, и сравниваем с официальными отпечатками)
Code:
gpg --verify filenamaElectrum.asc
И вуаля   Smiley
А официальный fingerprint Томаса можно получить с того же официального сайта электрум, там есть ссылка на видео в юутубе где он личной персоной на фоне своего фингерпринта  Wink

Переходите на Линукс, что сказать  Cheesy
hero member
Activity: 1330
Merit: 869
фотки в теме слетели, поправьте пожалуйста. в ближайшее время займусь самообучением с помощью вашей темы

Вот же зараза. Раньше проблем с этим хостингом изображений не было. Сейчас займусь.

Upd: Это сам хостинг глючил. Сейчас вроде все нормально. Добавил резервные копии.
Спрашивайте, если что-нибудь непонятно будет.
hero member
Activity: 784
Merit: 814
фотки в теме слетели, поправьте пожалуйста. в ближайшее время займусь самообучением с помощью вашей темы
hero member
Activity: 1330
Merit: 869
hero member
Activity: 1330
Merit: 869
В предыдущем посте расписано как все сделать совсем правильно. Но можно и намного проще, менее надежно, но быстрее.

- скачать и установить программу Kleopatra
- импортировать PGP PUBLIC KEY Thomas Voegtlin (ThomasV) в Kleopatra (смотреть первый пост)
или нажмите Lookup on server на панели инструментов и введите отпечаток Thomas Voegtlin: 6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6. Результат должен быть только один. Выберите его и нажмите на кнопку Import


резерв: https://imgur.com/cJ0tOOQ


- скачать кошелек Electrum и файл подписи
- поместите программу и файл подписи в одну папку
- перейдите в окно программы, выберите Decrypt/Verify..., найдите ранее сохраненный файл подписи .asc и нажмите Открыть


резерв:https://imgur.com/PoR51aX

Как только подпись была успешно проверена, вы должны увидеть вот такой результат:


резерв:https://imgur.com/gdPXFEQ

Не стоит волноваться по поводу надписи выделенной жирным текстом “The data could not be verified”. Это говорит только о том, что вы не подписали ключ Thomas Voegtlin и не сделали его доверенным. Самое главное здесь это то, что подсвечено синим: ThomasV <[email protected]> (2BD5 824B 7F94 70E6).

Если бы проверка подписи не удалась, то вы бы увидели другое сообщение - “Invalid signature” на красном фоне.


резерв:https://imgur.com/2jzud7n

Ссылки:
документация Kleopatra: https://docs.kde.org/stable5/en/pim/kleopatra/index.html
документация GnuPG: https://www.gnupg.org/documentation/
профиль автора программы Thomas Voegtlin на форуме: https://bitcointalksearch.org/user/thomasv-3137
PGP Подпись - Шифровка / Дешифровка сообщения: https://bitcointalksearch.org/topic/pgp-5103575
Список серверов ключей: http://dmoztools.net/Computers/Security/Products_and_Tools/Cryptography/PGP/Key_Servers/, https://sks-keyservers.net/overview-of-pools.php
Reddit: https://www.reddit.com/r/Electrum/
Известный на сегодняшний день Fingerprint Thomas Voegtlin: 6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6
hero member
Activity: 1330
Merit: 869

[Детальная инструкция:] проверка PGP подписи и путей доверия на примере биткоин кошелька Electrum.

Этот метод применим для проверки подписей любых других дистрибутивов.


Что для этого потребуется:

Для начала мы создадим собственную пару ключей. Чтобы не повторятся, нам потребуется уже существующая тема на форуме - https://bitcointalksearch.org/topic/pgp-5103575 (PGP Подпись - Шифровка / Дешифровка сообщения). В теме есть указатель Содержание, нам понадобиться все вплоть до Создание сообщения и подписи PGP. Переходи по ссылке, читаем и делаем все, что выделено зеленым прямоугольником:


резервное изображение: https://imgur.com/Jatirky

После того как вы создали собственную пару ключей, приступаем к основной части

Прежде всего нам нужен PGP PUBLIC KEY Thomas Voegtlin (ThomasV), ссылка на который есть на загрузочной странице официального сайта Electrum.


резервное изображение: https://imgur.com/pOrFMFR

Нажимаем на сайте ссылку ThomasV и видим публичный ключ автора. Далее, нам надо импортировать этот ключ в программу Kleopatra.  Для этого выделяем и копируем все содержимое Ctrl+A -> Копировать.


резервное изображение: https://imgur.com/MXz5n9G

Импортируем этот ключ в Kleopatra: Tools -> Clipboard -> Certificate Import


резервное изображение: https://imgur.com/HJtYeHv

Получаем:


резервное изображение: https://imgur.com/CktHnDo
sudopurgewot - это мой тестовый ключ, созданный по инструкции о которой я говорил в самом начале.

На момент написания этой статьи, вместе с ключом ThomasV импортируется еще одна запись - Animazing. Исходя из информации на github и сообщений на форуме, Animazing - это один из разработчиков Electrum.


резервное изображение: https://imgur.com/dt4TTto

Ключ Animazing нам не нужен -  смело его удаляем.


https://imgur.com/sUwarih

Проверка подлинности открытого ключа

Как же убедиться в том, что импортированный нами ключ на самом деле принадлежит автору программы Thomas Voegtlin? На все 100% - никак. Но мы можем значительно увеличить вероятность этого. Для этого нам нужен публичный ключ или отпечаток ключа (fingerprint) доверенного человека. Как доверенных, будем рассматривать людей которые имеют непосредственное отношение к блокчейну и биткоину.

Вариант номер 1:

Luke Dashjr - один из Bitcoin Core разработчиков. У него есть учетная запись на bitcointalk - https://bitcointalksearch.org/user/luke-jr-3318, множество тем с его проектами в которых присутствуют ссылки на его PGP ключ. Допустим, в этой теме или на одном из его сайтов Bitcoin Knots, ссылки на которые присутствуют в его сигнатуре на форуме.


Вариант номер 2:

Наш любимый администратор theymos - https://bitcointalksearch.org/user/theymos-35

Его PGP публичный ключ можно найти во множестве его же постов на форуме: https://bitcointalksearch.org/topic/m.1643270


Или в этой теме https://bitcointalksearch.org/topic/m.15956529 есть ссылка https://bitcointalk.org/verify_pubkeys.txt в которой присутствует его публичный ключ, а также ключи многих BitCore разработчиков, в том числе Wladimir J. van der Laan, Gregory Maxwell и вышеупомянутый Luke Dashjr (Luke-Jr).


Не будем трогать нашего уважаемого администратора (на всякий случай Wink), а за основу для проверки возьмем публичный ключ Luke Dashjr. Тем более проверить мы его можем сразу в двух местах, из ранее указанных его собственных постов и по ссылке от theymos. (Необязательно использовать именно этот. Можете выбрать любой другой.)

Копируем его ключ и импортируем в Kleopatra. В общем, проделываем тоже, что и с ключом Thomas Voegtlin в самом начале. Получаем еще одну запись в программе.


PGP pathfinder & key statistics

Теперь у нас есть два публичных ключа: Thomas Voegtlin и Luke Dashjr, а значит мы можем провести поиск путей доверия при помощи сайта https://pgp.cs.uu.nl/


https://imgur.com/Nl2yOiF

Путь доверия - это последовательность подписей, в которых человек №1 подтверждает подлинность личности №2, №2 подтверждает подлинность личности №3, №3 подтверждает личность №4 и т. д..

Для проверки нам нужны Fingerprint Thomas Voegtlin и Luke Dashjr. Найти их можно кликнув правой кнопкой по нужному идентификатору и выбрать Details


https://imgur.com/dcbeoch


https://imgur.com/ovNxTRu

Fingerprint Thomas Voegtlin: 6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6
Fingerprint Luke Dashjr: E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F

Переходим на сайт https://pgp.cs.uu.nl/ и проверяем пути доверия. В from вставляем последние 16 символов из Fingerprint Luke Dashjr (BD02 9424 21F4 889F), а в to последние 16 символов из Fingerprint Thomas Voegtlin (2BD5 824B 7F94 70E6) и нажимаем кнопку trust paths.


https://imgur.com/2V7FyJ3

В итоге получится вот такой список из 8 путей доверия https://pgp.cs.uu.nl/paths/bd02942421f4889f/to/2bd5824b7f9470e6.html
(На скриншоте только 4)


https://imgur.com/toNnJAe

Первый путь доверия (который выделен зеленой рамкой), говорит о том, что Luke Dashjr подтверждает ключ Peter Todd, а Peter Todd подтверждает подлинность ключа Thomas Voegtlin. И так далее.

Теперь мы с определенной долей уверенности можем сказать, что ранее импортированный ключ Thomas Voegtlin (ThomasV), является верным. И раз это так, то теперь мы можем изменить уровень доверия для публичного ключа Thomas Voegtlin в программе Kleopatra. Для этого нажимаем правой кнопкой на идентификатор и выбираем Change Certification Trust.


https://imgur.com/3c704mN

Выбираем уровень доверия и нажимаем OK

https://imgur.com/8xTLJUT

Снова нажимаем правой кнопкой на идентификатор ThomasV и выбираем Certify...

https://imgur.com/0aQBNBR

Выставляем чекбоксы как на скришоте ниже и нажимаем Далее


https://imgur.com/Ua1Ac57

В следующем окне выберите Certify only for myself, нажмите кнопку Sertify и введите пароль от своей пары ключей, созданной вами в самом начале

https://imgur.com/PONKr2M

Осталось самое простое. Проверка PGP подписи кошелька Electrum

Перейдите на официальный сайт Electrum (ссылки не даю, ищите сами), загрузите программу и файл подписи .asc (правый клик по signature и Сохранить объект как... или Сохранить ссылку как..., в зависимости от браузера) который ей соответствует.


Поместите программу и файл подписи в одну папку. Далее 2 варианта.
Вариант №1. Если вы установили вместе с Kleopatra весь пакет gpg4win, то при правом клике мышью в вашем контекстном меню появится новый пункт Другие параметры GpgEX -> Проверить.


https://imgur.com/EwEpsnB

Вариант №2. Если вы установили только Kleopatra. Перейдите в окно программы, выберите Decrypt/Verify..., найдите ранее сохраненный файл подписи .asc и нажмите Открыть


В итоге вы должны получить результат, который говорит о том, что файл был подписан ключом PGP с отпечатком 6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6, который, как мы убедились, принадлежит Thomas Voegtlin. А это значит, что установочный файл Electrum кошелька является подлинным.

Jump to: