Что такое публичный ключ

Аутентификация на сетевом оборудовании через SSH с помощью публичных ключей

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

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

Это руководство поможет вам быстро начать использовать публичные ключи для аутентификации при подключении к сетевому оборудованию по протоколу SSH. Руководство применимо как для Windows, так и для Mac OS X. Я постарался сделать его максимально простым и информативным. Оно не перегружено, но отвечает на основные вопросы:

Содержание

Введение

Кроме стандартной аутентификации по паролю (password/keyboard) в протоколе SSH существует также аутентификация по публичному ключу (RSA).

Аутентификация с помощью RSA-ключей состоит из нескольких этапов:

Документ Secure Shell Configuration Guide, Cisco IOS Release 15E:

Secure Shell Configuration Guide, Cisco IOS Release 15E
Restrictions for Secure Shell Version 2 Support
Rivest, Shamir, and Adleman (RSA) key generation is an SSH server-side requirement. Devices that act as SSH clients need not generate RSA keys.

Попытка ввести данные DSA-ключа:

Создание публичного RSA-ключа

Пару RSA-ключей можно создать с помощью различных утилит: SecureCRT, PuTTYgen или любым другим ПО. При создании ключа можно задать Passphrase (защита ключа с помощью пароля).

Генерирование RSA-пары в SecureCRT

SecureCRT → Tools → Create Public Key…:

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Чуть-чуть теории → кнопка “Next >”:

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Тип сертификата RSA/DSA → Выбираем RSA → кнопка “Next >”:

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Пароль шифрования для секретного ключа (необязательно, можно оставить пустым и не шифровать) + Комментарий → кнопка “Next >”:

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Выбираем длину ключа (в версии SecureCRT 6.1.0 максимальная длина ключа равна 2048 бит, в версии 8.5.4 — 16 384 бит):

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Генерирование ключа → кнопка “Next >”:

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

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Сохранение пары ключей → Выбор места хранения → Выбор формата сохраняемого ключа (VanDuke Private format, OpenSSH legacy, OpenSSH new) → кнопка “Finish”:

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

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

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Генерирование RSA-пары в PuTTYgen

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Выбираем параметры (тип пары: RSA; битная размерность ключа: 2048; по желанию задаём Passphrase (защита ключа с помощью пароля)) → Generate:

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Для гарантирования случайных чисел просит поводить мышкой в рамках окна. Это защита от псевдослучайных чисел.

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Сохраняем RSA-ключи → Кнопка «Save private key»:

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Обратите внимание: RSA-ключи, сохраненные в частном формате в одном ПО, нельзя использовать в ПО другого производителя. То есть пара RSA-ключей, созданных в PuTTYgen и сохраненных в формате Putty Private Key, не подходит для использования в SecureCRT, и наоборот. PuTTY поддерживает только формат Putty Private Key. Универсальным решением для распространения ключей является конвертирование ключей в формат OpenSSH (Смотри ссылку 2: “Conversion from Putty to SecureCRT with auth. keys”). Т. к. SecureCRT свободно работает с форматом OpenSSH. А ПО PuTTYgen преобразует формат OpenSSH в формат Putty Private Key.

Конвертирование RSA-ключа из формата Putty Private Key (PuTTY) в формат OpenSSH (SecureCRT)

Чтобы использовать в SecureCRT RSA-ключи, которые сгенерированы в PuTTYgen и сохранены в формате Putty Private Key (*.ppk), экспортируем их с помощью PuTTYgen в формат OpenSSH:

Конвертирование RSA-ключа из формата VanDyke Private Key (SecureCRT) в формат Putty Private Key (PuTTY)

Чтобы использовать в PuTTY RSA-ключи, которые сгенерированы в SecureCRT и сохранены в формате VanDyke Private Key (файл публичного ключа — *.pub, файл секретного ключа *. (без расширения)), экспортируем их с помощью SecureCRT в формат OpenSSH, а затем с помощью PuTTYgen экспортируем в формат Putty Private Key (*.ppk):

Генерирование публичных ключей на MAC OS X средствами операционной системы

Будем использовать встроенную утилиту ssh-keygen (man ssh-keygen).
Генерируем RSA-ключ с длиной 2048 бит с указанием имени ключа, путем к папке с местом хранения ключа:

Во время выполнения программа спросит пароль для защиты RSA-ключа:

Генерируем RSA-ключ с длиной 4096 бит в с указанием имени ключа, путем к папке с местом хранения ключа, пароль задаем в явном виде в параметрах генерации ключа (-N «cisco»):

Не рекомендуемые параметры генерации ключей: ненадёжный ключ длиной 1024 бита, с указанием имени ключа, путем к папке с местом хранения ключа, пароль задаем в явном виде в параметрах генерации ключа (-N «» – без пароля):

Итак, мы создали три ключа в с указанием имен ключей и указанием места хранения ключей (по умолчанию все ключи сохраняются в /Users/[Username]/.ssh).

По умолчанию, при подключении по SSH с аутентификацией по публичному ключу, происходит последовательный перебор всех публичных ключей, которые хранятся в папке /Users/[Username]/.ssh.

Ключ R6: переименуем ключ в “id_rsa” (по умолчанию имя файла генерируемого ключа “id_rsa”) и перенесем в папку с SSH-ключами (

/.ssh/) (Т. е. выполним все действия, чтобы ключ R6 использовался как основной ключ для подключений по SSH по умолчанию):

Преобразуем публичный OpenSSH-ключ в формат RFC4716 (экспорт в Cisco IOS):

Применение публичного ключа на оборудовании

Как на различном оборудовании привязать открытый ключ к пользователю?

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

Cisco IOS XE, Catalyst (с версии 15.1 и выше), IOS

Cisco ASA

Весь ключ вставляем в одну строчку (OpenSSH формат).

Маршрутизаторы и коммутаторы Huawei

Типы форматов ключей, импортируемых на Huawei:

“The SecureCRT and PuTTY generate RSA keys in PEM format.”

“The OpenSSH generates RSA keys in OpenSSH format.”

“The OpenSSL generates RSA keys in DER format.”

По умолчанию — в шестнадцатеричном виде:

Примечание: оборудование Huawei поддерживает не только ключи в формате RSA, но и другие форматы:

Можно жестко задать тип аутентификации для пользователя по SSH:

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

Huawei USG (6000)

Конфигурация полностью аналогична настройкам на маршрутизаторе, но имеет некоторые особенности.

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

Cisco Nexus 9.3

Вариант 1: предустанавливаем файл публичного ключа на устройство и привязываем файл публичного ключа к пользователю.

Вариант 2: копируем публичный ключ пользователю:

Использование секретного ключа для подключения по SSH

Этот раздел посвящен настройке SSH-клиентов для аутентификации по RSA-ключам на сетевом оборудовании (или другом оборудовании, при условии, что оборудование и ПО поддерживает аутентификацию по публичным ключам).

Мы рассмотрим настройку использования публичного ключа в самых популярных программах: SecureCRT и PuTTY.

SecureCRT

В окне настроек SSH есть список Authentication. В нём необходимо увеличить приоритет PublicKey до самого высокого — сделать верхним в списке.

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Затем перейдите в параметры PublicKey и выберите файл приватного ключа. Самый верхний переключатель позволяет использовать глобальные настройки секретного ключа или сеансовые настройки — другой секретный ключ (ключ не по умолчанию) — только для этого подключения.

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Настраиваем глобальный публичный ключ: в меню Options → Global options → Категория SSH2.

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

PuTTY

В настройках SSH (Connection → SSH → Auth) в поле “Private key file for authentication” укажите файл Putty Private Key (*.ppk):

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

MAC OS X

Настройка стандартного клиента для использования публичных ключей:

Как упростить работу с SSH на MAC OS X:

Заполняется таким образом:

Примечание: у меня некорректно настроено подключение по умолчанию (как правильно, я не знаю), потому что подключение к хосту R6 (10.31.73.31) выполняется очень долго. Рекомендуется указать сразу указать путь к ключу по умолчанию.

Пример подключения по ssh используя публичные ключи и файл config:

Заключение

RSA-ключи могут использоваться для замены аутентификации по паролю, но не во всех случаях:

На некотором оборудовании одному пользователю может соответствовать несколько пар публичных ключей, на другом оборудовании одному пользователю соответствует только один публичный ключ.

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

Сегодня оптимально использовать ключи длиной 2048 бит, но для некоторого оборудования это максимально возможная длина ключа (быть может, в новых прошивках это исправят). Например:

Рекомендуется использовать публичные ключи для замены паролей, если пароли вводятся с помощью скриптов (пример: autologon в SecureCRT).

Рекомендуется использовать публичные ключи для защиты от передачи пароля по сети.

Некоторое ПО по умолчанию использует публичные ключи для аутентификации по SSH вместо пароля (пример: Ansible).

Источник

Асимметричное шифрование на практике

Приветствую вас, хабравчане!

Проблемы безопасности — это слабое место большинства из нас. Всем нам неприятно сталкиваться и тем более терять что—то ценное из—за случайного клика мышью. И именно поэтому я решила поделиться найденными материалами с вами.

В стремлении развеять наиболее часто задаваемый вопрос — почему будут атаковать меня? Кому я нужен? — мы начнем статью именно с него.

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

Чаще всего их цель — деньги. Как они могут их получить?

Например, использовать ваш компьютер в качестве web сервера, красть ваш контент, производить email атаки, деятельность в ботнете, кража аккаунтов, атаки с целью вымогательства. Да и email аккаунт — потенциально важная вещь, потому что все мы достаточно часто используем один и тот же пароль на нескольких сервисах.

Время дорого, и мы хотим тратить как можно меньше времени на вопросы, связанные с безопасностью.

И поэтому первое, что нужно сделать — это ответить для себя на несколько вопросов:

Окей, мы определились с тем, что нам необходимо защитить. Следующий шаг — выбор метода защиты.

Да, разумеется, в мире существует множество атак и защититься от всех просто невозможно.
Поэтому мы рассмотрим один из наиболее эффективных инструментов — шифрование.

Что такое шифрование?

Чтобы сделать правильный выбор в области безопасности, вам нужно понимать, что такое шифрование. Не обязательно знать хардкорную математику. Достаточно понять на базовом уровне. Это один из лучших и незаменимых инструментов в нашем арсенале.

Шифрование — это метод преобразования данных, пригодных для чтения человеком, в форму, которую человек не сможет прочитать. За счет этого данные остаются конфиденциальными и приватными.

Дешифрование — обратная операция. Преобразование нечитаемых данных в читаемые.

Окей, где это применяется? На самом деле во многих местах. Например, обращали внимание на протокол «https»? Именно за счет него ваши данные не может перехватить 3-й человек во время вашего лазания в интернете. Объясню подробнее. Вы заходите на сайт «www.google.com», делаете любой запрос. При этом все данные, которые необходимы для отображения выдачи результатов, передаются с помощью протокола «https». А значит, если какой-либо человек решит просмотреть данные о вашем трафике (атака Man In the Middle), то он увидит лишь то, что вы зашли на Google. В придачу он получит множество зашифрованных пакетов. То есть можно сказать, что он не получит ничего.

Но вернемся к базовой теории. В процессе шифрования участвуют 2 основных компонента — алгоритм и ключ.

Алгоритм — это в каком-то смысле замок, который позволяет хранить ваши данные в тайне. За счет него происходит преобразование текста.

Ключ — это, уж простите за тавтологию, ключ от замка. Кусочек уникальных данных, с помощью которых происходит преобразование текста

Хм, хорошо. Едем дальше. Слегка повысим напряжение.

Виды шифрования

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

Симметричное шифрование

Симметричный алгоритм шифрования — алгоритм, при котором для шифрования и дешифрования используется один и тот же ключ. Ярким и, в то же простым примером, будет шифр Цезаря.

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

Например, при смещении в 5 символов, символ, который стоит на первой позиции заменить на символ 6 позиции и так далее.

Наиболее стойким на данный момент считается алгоритм AES (Advanced Encryption Standard).
Стоит упомянуть еще один момент — мощность пароля. Мощность пароля измеряется в битах. Одним из наиболее распространенных решений является 128 или 256 бит. Это то количество бит, которое будет выделено для пароля. Так же это число означает количество паролей, которое вы можете получить при данном алгоритме шифрования. Но чем больше длина ключа, тем медленнее протекает процесс шифрования или дешифрования.

Но чаще всего используется асимметричное шифрование

И так, мы зашифровали письмо, но как его отправить нашему другу? Отправлять в соц. сетях или текстовым сообщением — не самая лучшая затея. Как и говорить его по телефону.

И это приводит нас к новому типу шифрования.

В ассиметричном шифровании используется 2 ключа — открытый и закрытый(тайный).
Открытый ключ для шифрования, закрытый — для дешифрования.

Какие алгоритмы позволяют пользоваться этой технологией?

Так как во мне есть жилка программиста, а также любовь к математике, то я просто не могу не рассказать о том, как все работает «под капотом»

Рассмотрим на примере алгоритма RSA.

Первое, что нам необходимо сделать — сгенерировать открытый и закрытый ключи. Последовательность действий примерно такая:

1) Мы выбираем два простых числа. Желательно, чтобы они были достаточно близкими

2) Вычисляем их произведение, а также функцию Эйлера

n = p * s
f = (p — 1) * (s — 1)

3) Теперь наиболее затратная по времени часть — выбор экспоненты и произвольного коэффициента.

Дело в том, что при выбранных коэффициентах значение «d» должно быть целым. «d» — необходимая составляющая алгоритма

e = 5
k = 9
d = (k * f + 1)/e

Теперь наш открытый ключ (для шифрования сообщения) состоит из значений переменных «e» и «n», а закрытый ключ (для дешифрования) из значений «d» и «n».
То есть в нашем случае…

Тогда шифрование сообщения происходит по формуле: crypt = m^e%n.
А дешифрование: decrypt = crypt^d%n.

Ну и с точки зрения программиста, мы можем использовать эту информацию следующим образом:

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

Среди всех найденных программ, наиболее удобной мне показалась gpg4usb.

Данная программа использует PGP шифрование. Почему я рекомендую использовать именно его?

Все просто. Этот тип шифрования до сих пор еще не удалось взломать. Никому. Так что пользуйтесь.

Пользоваться программой достаточно просто. Нужно лишь знать куда нажимать.
И именно об этом сейчас пойдет речь.

Первое, что необходимо сделать — скачать программу. Вы можете это сделать по ссылке:
ссылка.

Скажу сразу — эта программа кросс—платформенная. То есть вы можете использовать ее как на Windows, так и на Linux.

Второе — это создание пары ключей шифрования.

Это можно сделать, выполнив следующую последовательность действий:

1) Переходим в раздел «Менеджер ключей»

2) Выбираем в верхней панели «Ключ», затем «Генерировать ключ»

Должно выглядеть примерно так:

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

3) Заполняем необходимые поля. Предупрежу сразу — пароль лучше куда-нибудь записать (или запомнить), потому что он понадобится в последующем для дешифрования сообщения.

Теперь ключ создан, и мы можем приступать непосредственно к шифрованию.

На главном экране присутствует текстовое поле — это наш плацдарм для создания сообщений. В правой боковой панели помечаем галочкой свой ключ.

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Введя сообщение в поле, смело нажимаем в верхней панели «Зашифровать».

Поздравляю, вы умеете шифровать сообщения.

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Дешифровка происходит аналогично, разве что вместо «Зашифровать» вы пользуетесь кнопкой «Расшифровать».

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

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

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Так, а теперь я хочу получить закрытый ключ (а вдруг буду работать с другого компьютера? Ведь ключи хранятся локально).

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

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Готово, теперь у вас «на руках» открытый и закрытый ключи шифрования, которыми вы можете распоряжаться по своему усмотрению.

Ну и в завершении статьи хочу поделиться полезной методикой: моделирование угроз и оценка рисков.

Первое, что нужно понять — нельзя обеспечить 100% безопасность, как и свести все риски к нулю. Нельзя получить 100% анонимность. Нельзя получить 100% безопасность (разве что не использовать телефон и ПК).

Используя интернет мы так или иначе принимаем риски. Он дает нам шанс расширить свои возможности, но при этом есть риск потери наших данных. Поэтому безопасность — это балансирование между удобством, расширением знаний, комфортом и сохранением уже определенных, важных для нас данных.

Мы должны использовать риск—ориентированный подход.

Риск = уязвимость * угрозы * последствия

Например, кража ноутбука. Что мы можем сделать? Зашифровать весь диск, добавить дополнительные этапы авторизации.

Для обеспечения качественной защиты нужно пройти несколько этапов:

Источник

Что такое публичный ключ биткоина и зачем он нужен

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Пара ключей (приватный и публичный) — это основные инструменты, которые позволяют пользоваться криптовалютным кошельком и совершать любые операции с активами.

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

Что такое публичный ключ биткоина (адрес)

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

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

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

Состоит публичный ключ биткоина из 26-35 символов, которые могут быть буквами латинского алфавита (кроме O, l и I) в нижнем и верхнем регистре и цифрами (кроме 0). Выглядит биткоин-адрес примерно так:

Также при создании кошелька пользователь получает адрес в виде QR-кода для простоты использования — если нужно отправить биткоины на определенный адрес, то можно просто просканировать код.

Виды публичных ключей биткоина

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Есть два типа публичных ключей биткоина.

Обычный — начинается с 1, и для получения средств на него пользователь должен подтвердить то, что знает закрытый ключ. Он выглядит вот так:

Второй вариант — публичный ключ с мульти-подписью. Он начинается с 3, и для получения средств пользователь должен иметь больше одного закрытого ключа. Пример:

Как узнать открытый ключ

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

Если вы используете биткоин-кошелек, то публичный ключ можно найти настройках. Если же у вас на руках только закрытый ключ, то самым простым способом будет перенести его в кошелек (смотрите раздел «Свиппинг» в указанной выше статье о приватном ключе), а потом уже узнать его в интерфейсе.

Место хранения адреса зависит от используемого кошелька, но обычно есть два варианта:

Дополнительную информацию вы найдете в этом видео:

Как узнать адрес биткоин-кошелька

Роль адреса в отправке транзакций

Основная роль публичного ключа — это указание пути, на который будут отправлены биткоины. Однако для того чтобы получить средства, нужно обязательно знать приватный ключ.

Также если вы не уверены в том, что адрес принадлежит конкретному человеку, существует способ проверить это. Пользователь может попросить владельца адреса отправить подписанное сообщение. При помощи алгоритма криптовалют майнеры проверяют, что приватный и публичный ключ из полученного сообщения составляют одну пару, и сообщение было подписано реальным получателем. Таким образом можно убедиться, что адрес действительно верный, и вы не отправите биткоины в «небытие».

Система использования публичных ключей

Что такое публичный ключ. Смотреть фото Что такое публичный ключ. Смотреть картинку Что такое публичный ключ. Картинка про Что такое публичный ключ. Фото Что такое публичный ключ

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

А теперь о том, как технически проходит транзакция.

После того как сгенерирован приватный ключ, на его основе создается публичный ключ биткоина, состоящий из ряда символов (максимум 35) и отображается на экране в виде QR-кода.

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

Процесс создания публичных ключей основывается на рандомном подборе символов и решении сложных математических задач. За минуту алгоритм может создавать до 1000 адресов, причем некоторое ПО позволяет генерировать публичные ключи без выхода в интернет. Есть очень маленькая вероятность, что к двум разным закрытым ключам будет привязан один и тот же публичный, однако она составляет всего лишь 1:43 млрд.

Когда вы вводите адрес, нужно быть предельно внимательным и осторожным, потому что ошибка даже в одном символе приведет к тому, что биткоины просто не дойдут к получателю, а транзакции в блокчейне являются необратимыми. Именно поэтому рекомендуется копировать адрес или отправлять криптовалюту через сканирование QR-кода приватного ключа.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *