Українська

Інструменти розробника · SHA калькулятор хешу

Сертифікати SSH відбитки пальців: Як SHA-256 Визначає публічний ключ

· Підземелля

Опубліковано ToolAcre · Редакція журналу

шемале256 криптографія безпека

SSH ключ ключ ключа показати SHA256: відбитки пальців з base64 травлення
Головна ToolAcre векторна ілюстрація

Друк пальців є хеш сертифіката або ключа, досить короткий, щоб читати aloud. Цей пост пояснює, як TLS і SSH відбитки пальців комп'ютерні, чому SHA-1 відбитки пальців замінені, і що доводить матч.

Ви завжди приймаєте ключ - що SHA256: рядок просить вас порівняти

При підключенні сервера через SSH за перший раз, ви бачите запит, чи можна прийняти ключ. Підказка відображає відбитки пальців: `SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8` або аналогічний. Цей відбитк є хеш публічного ключа сервера. Ви запитуєте, щоб перевірити зворотний зв'язок SSH протокол) який ви визнаєте цей ключ. Підказка також зазвичай показує тип ключа (RSA, ED25519, ECDSA) і формат відбитків пальців. Якщо ви побачили цей відбитк ключа перед довіреним каналом, ви можете впевнено ввести "так". Якщо ви не погоджуєтесь на довіру до мережі, щоб забезпечити правильний ключ.

відбитки пальців є просто вихід функції криптографічного хешу, що наноситься на кодований ключ. Для SSH, ключ зашифрований як бінарний баб (формат дроту OpenSSH), і хеш комп'ютерний над цим бабом. відбитки пальців коротше повного ключа, що робить його читабельним і за типом. Те ж саме відбитки пальців завжди призведе до того ж ключа, тому ви можете порівняти відбитки пальців, опубліковані в декількох місцях або каналах.

відбитки пальців рівні хеш кодування — DER свідоцтво або публічний ключ як вхід

SSH ключі та ключі TLS сертифікати закодовані по-різному, але принцип відбитків пальців ідентичний. Для SSH, відбитки пальців комп'ютерні з публічного матеріалу. Для TLS Сертифікати, відбитки пальців комп’ютерні від усього сертифікату (включаючи емітент, термін дії та інші поля). Коли ви підключені до веб-сервера, браузер не відображає відбитки до сертифікатів, тому що TLS використовує різну модель довіри: браузер довіряє набір органів довідки (CAs), які попередньо встановлені, а також для сертифікатів CAs. SSH використовувати не попередньо встановлених КАС; замість того, ви довіряєте конкретні ключі і зберігайте їх локально в `~/.ssh/known_hosts`.

Оскільки відбитк пальця включає в себе всі байти сертифіката для TLS, зміна термінів дії без перевизначення результатів у різних відбитках пальців. Для SSH, відбитк пальців є тільки з публічного ключа, тому відбитк пальців стійкий до тих пір, поки ключ не змінюється.

Цей калькулятор демонструє SHA-1 і SHA-256 довжини; рекомендації з відбитків пальців, що вимагають джерел протоколу

Історично, SSH Виявлено відбитки пальців MD5 шемале. MD5 є практичними. Громада безпеки перемістилася до SHA-256 відбитки пальців як за замовчуванням. Ви все ще можете побачити як формати, що відображаються SSH Клієнт: `SHA256: base64` і `MD5: hex`. У SHA-256 відбитки пальців є одним, щоб довірити перевірку особистості. Якщо ви бачите як, порівняти SHA-256 версія проти відбитків пальців від перевіреного джерела (сайт сервера, підписана електронна пошта від адміністратора, внутрішньої вікі). Про нас MD5 відбитки пальців є менш надійними, оскільки MD5 існують зіткнення.

Зміна формату відбитків пальців є видимим ознакою криптографічного переходу. Старші версії OpenSSH показали лише MD5. Сучасні варіанти шоу SHA-256 за замовчуванням. Команда `ssh-keygen -l -f /path/to/key` відображає відбитки ключів пальців у форматі за замовчуванням для вашої версії ssh-keygen; ви можете змусити конкретний формат з `-E` прапор (наприклад, `-E sha256` або `-E md5`).

SSH's base64 SHA256: формат — зміна кодування, що зробили відбитки пальців коротше, ніж шестигранний

SSH base64 відбитки пальців використовують формат варіанту: вони префіксуються ім'ям алгоритму і колоною, наприклад,, `SHA256:base64string`. Це відрізняється від субресурсної цілісності (SRI) формат, який використовує фен і включає в себе тільки стандартну базу64. Про нас SSH формат включає в себе мітку, яка робить його неоднозначним, який алгоритм виготовив травлення. Коли ви бачите відбитки пальців в SSH вихід, алгоритм завжди відображається. Коли ви бачите SRI атрибут цілісності, алгоритм зашифрований як префікс з гіфеном.

Вихід base64 від ToolAcre SHA hh калькулятор є стандартною формою; для відповідності SSH відбитки пальців, препенд `SHA256: ` (ім'я алгоритму, колона і простір). Форма шестигранної форми від калькулятора не є формою SSH відображаються, хоча він являє собою той же травлення і однаково діє для цілей перевірки.

Який матч доводить — що ви тримаєте однакові ключі байти іншої сторони опублікованої, і нічого про власника ключа без вихідних перевірок

Список відбитків пальців доводить два речі: спочатку, що ви тримаєте ті ж ключові байти іншої сторони опубліковані, і другий, що ні ключ, ні відбитки пальців був змінений, так як перетравлення було комп'ютерно. Не довести ідентичність власника ключа або авторизації будь-якої конкретної дії. Перевірити відбитки пальців на стороні є необхідною, але не достатню умову довірити ключ. Ви також повинні переконатися, що особа, яка опублікувала відбитки пальців, яка повинна бути.

У практиці, якщо адміністратор публікує сервер SSH відбитки пальців на підприємстві внутрішньомережі або в підписаній електронній пошті, ви можете переконатися, що він відповідає запит, який ви отримуєте при підключенні. Якщо відбитки пальців не відповідають, ви можете впевнено відмовитися від підключення, оскільки хтось перехоплює ваш трафік або ключ сервера змінився. Якщо пальчик відповідає, ви знаєте, що у вас є правильний ключ. Незалежно від того, що ключ належить до правого сервера - окреме питання - можна відповісти, перевіряючи канал публікації (дотримує сторінку внутрішньомереж виглядає законно? це електронна пошта від цього облікового запису адміністратора?).

Зароблений приклад — перевірка відбитків пальців на одному опублікованому через перевірений канал, покроково

Сертифікат відбитків пальців є однаковим призначенням: він ідентифікує конкретний сертифікат, який унікальний. Якщо TLS Сервер змінює сертифікат (наприклад, при оновленні), новий сертифікат має інший відбитк. Сертифікат pinning — затвердити відбитки пальців або невеликий набір прийнятних відбитків пальців у додатку — це техніка безпеки для виявлення змін сертифіката. Якщо сервер представляє сертифікат з різним відбитком пальців, додаток відхиляє його. Ця захищена від скомпрометованої CA, яка видає шахрайський сертифікат, що браузер інакше довірить.

Якщо сервер оновлює свій сертифікат і ви не очікували його, ваш додаток відхиляє дійсний новий сертифікат. Багато застосувань використовують загально-під ключ, замість чого шпигує публічний ключ, а не весь сертифікат. Це дозволяє отримувати довідку без відторгнення, оскільки використовується той самий ключ.

Зароблений приклад: перевірте інструменти протоколу, оскільки ToolAcre хешів запечена UTF-8 текст, не DER або SSH дротові байти

Поповнення відбитків пальців вручну для перевірки прямопередня. Збережіть сертифікат або ключ до файлу, використовуйте `openssl dgst -sha256 filename` або `ssh-keygen -l -f filename -E sha256` для відображення відбитків пальців і порівняння з одним сервером показало вам. Про нас ToolAcre SHA калькулятор хешу також може скласти травлення, якщо вставити ключові байти, але пам'ятайте, що калькулятор має UTF-8 текст, який ви вставляєте, не бінарні файли. Якщо ключ знаходиться в PEM головна (текст з `-----BEGIN CERTIFICATE-----` заголовок і base64-encoded bytes), можна вставити її в калькулятор. Якщо це в DER головна (бомби), вам потрібно використовувати інструменти командного рядка або конвертувати в PEM перший.

Важлива межа: ToolAcre свінгери UTF-8 текст, який ви вставляєте в інтерфейс калькулятора. Не прочитайте файли з вашого пристрою (все обчислення знаходиться в браузері, у вкладці, без мережі). Якщо у вас є ключовий файл на диску, ви можете відкрити його в текстовому редакторі, скопіювати текст і вставити в калькулятор, якщо він знаходиться в PEM Формат. Або ви можете використовувати інструменти командного рядка, такі як `openssl`, `ssh-keygen` або `sha256sum` ускладнити хеш локально.

Порівняти відбитки пальців з смуги — ToolAcre SHA hh калькулятор показує, що SHA-1 і SHA-256 Травми виглядають як по довжині відбитків пальців

Про нас ToolAcre SHA хеш калькулятор відображає SHA-1 і SHA-256 Перетрави для будь-якого текстового введення. Якщо ви вставляєте сертифікат PEM формат або SSH публічний ключ, калькулятор відповідає як травлення. Для SSH ключі, калькулятор буде мати текст, який ви вставляєте; якщо ви вставляєте стандартний base64-encoded SSH формат публічного ключа, травлення не буде відповідати SSH відбитки пальців тому SSH застосовує власне форматування (формат дроту) перед подачею. Для прямого матчу вам потрібно ключ в правильному форматі SSH використовувати внутрішньо, що не є форматом публічного відображення.

Для довідки відбитків пальців, поведінка схожа: якщо вставити відбитки PEM-кодований текст довідки, калькулятор має те, що текст. Друк сертифіката сертифіката комп’ютерна над закодованими байтами сертифікатаDER формат), не PEM текстова обгортка. байти однакові, але текстове кодування відрізняється. Для того, щоб відповідати відбитку сертифіката від OpenSSL або перегляду сертифікатів браузера, вам потрібно буде надати DER байти, які не є людськими. Мета калькулятора - хеш UTF-8 текст ви можете вставляти і читати, зробивши граничний чіткий: він має текстовий вхід, не криптографічні ключові файли у своїх стандартних бінарних або дротопротоколних формах.