The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Использование USB-брелоков Yubikey для ключей GPG и SSH
Пример, как можно использовать USB-брелок Yubikey в качестве смарткарты для
хранения GPG-ключей и ключей для аутентификации на SSH-серверах.

Использование с GPG.

Подключаем Yubikey к порту USB и проверяем, что он определился:

   gpg --card-status
   ...
   Version ..........: 2.1
   Manufacturer .....: Yubico

Для переноса GPG-ключа на брелок запускаем "gpg --edit-key идентификатор_ключа"
и выполняем в редакторе команду "keytocard" (внимание, закрытый ключ будет не
скопирован, а перенесён, т.е. удалён с локальной машины, поэтому нужно заранее
позаботиться о создании резервной копии).

Убедимся, что ключ переместился:

   gpg --card-status | grep key

   URL of public key : [...]
   Signature key ....: [...] XXXX YYYY
   Encryption key....: [...] ZZZZ VVVV
   Authentication key: [...] AAAA BBBB
   General key info..: sub  rsa4096/QQQQQQ <foobar@domain.tld>

Для проверки создадим шифрованное сообщение и расшифруем его:

   gpg --encrypt  --output /tmp/message.txt.enc -r foobar@domain.tld /tmp/message.txt
   gpg --decrypt /tmp/message.txt.enc


Настраиваем SSH-ключи.

Удостоверимся, что ключ аутентификации перенесён на Yubikey ("Authentication
key" в выводе "gpg --card-status") и выполним экспорт открытого ключа SSH из Yubikey:

   gpg --export-ssh-key 0xAAAABBBB
  
Далее, скопируем экспортированный ключ на SSH-сервер и настроим gpg-agent для
работы в роли агента SSH:

   echo 'enable-ssh-support' >> ~/.gnupg/gpg-agent.conf       

Перезапустим агенты GPG/SSH:

   killall gpg-agent
   killall ssh-agent
   gpg-agent --daemon

Поменяем путь к сокету SSH_AUTH_SOCK на GPG. В ~/.bashrc:

   export SSH_AGENT_PID=""
   export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)

Проверим, виден ли ключ SSH при подключении брелока:

   ssh-add -l

   4096 SHA256:XXXX cardno:0006064XXXX (RSA)

Всё в порядке, теперь при подключении к серверу SSH будет использовать ключ с брелока Yubikey.
 
15.01.2018 , Источник: https://0day.work/using-a-yubikey-f...
Ключи: yubikey, crypt, ssh, gpg, auth / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Шифрование, PGP

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Аномномномнимус (?), 15:12, 15/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это те которые теперь closed-source code и дырявые?
    In October 2017, security researchers found a vulnerability (known as ROCA) in the implementation of RSA keypair generation in a cryptographic library used by a large number of Infineon security chips. The vulnerability allows an attacker to reconstruct the private key by using the public key.[18][19] All YubiKey 4, YubiKey 4C, and YubiKey 4 nano within the revisions 4.2.6 to 4.3.4 are affected by this vulnerability

    Есть что-то более открытое аналогичное?

     
     
  • 2.2, Аноним (-), 16:27, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Сделай своё на Arduino/AVR/STM32/RISC-V. Ну серьезно, в наше время можно купить платку с микроконтроллером и USB разъёмом, да сделать свой ультра-девайс.
     
     
  • 3.3, Аноним (-), 18:31, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    угу, убердивайс, из которого все твои закрытые ключи и пароли вынимаются путем чтения его флэшки или и вовсе перехвата уже расшифрованных данных из памяти компьютера (спасибо интелу за meltdown и amd за spectre)

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

    сделать подобное из китайских запчастей практически нереально, из некитайских...да кто ж тебе их продаст-то.

    а обычный функционал убикея (с прикидыванием клавиатурой вместо токена) - это пожалуйста, это можно. Но совершенно бессмысленно.

     
     
  • 4.6, Аноним (-), 14:27, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    STM32 можно залочить на "WriteOnly".
     
     
  • 5.9, Аноним (-), 03:21, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > STM32 можно залочить на "WriteOnly".

    У L1/L4/F0/... есть еще level2, там блокируется все что можно. И jtag, и встроенный бут, и вообще - записать что-то новое или прочитать можно будет только если фирмвара юзера (или юзеровский бут) на это согласна. И даже так option bytes менять нельзя, так что разлочить чип не сможет даже фирмвара уже. ST клянется что они не могут failure analisys на таких чипах. Даже если это и полуправда, проблем атакующему привалит. А самые очевидные дыры давно опробовали и заделали, потому что конкуренты не прочь спереть фирмварь, особенно китайцы. И защита камня от чтения это единственное что стопорит моменталное появление китайских клонов быстро, нагло и за треть цены.

     
  • 4.7, Аноним (-), 14:28, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > внутри него хранились в принципиально нечитаемом виде

    Ну и кто мешает применить AES шифрование для своих ключей?

     
     
  • 5.15, Аноним_ (?), 14:29, 25/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> внутри него хранились в принципиально нечитаемом виде
    > Ну и кто мешает применить AES шифрование для своих ключей?

    здравый смысл? Задача не в шифровании ("кто мешает" шифровать на диске без всяких ненужнотокенов), а в том, чтобы ключи _никогда_ не расшифровывались - кроме применений, когда они не покидают внутреннюю память дивайса. В случае gpg все шифрование придется выполнять внутри, на входе плейнтекст и парольная фраза, на выходе - уже шифрованный или подписанный или то и другое пакет.
    Не знаю, не знаю, насколько тормозно это будет на stm и поместится ли в память вообще, особенно, если понадобятся block ciphers (обычно не нужен, но мало ли).

    В случае ssh попроще, там протокол устроен так, что все можно сделать почти правильно.

    Но, "почему-то", никто пока не сделал хотя бы и для ssh-only. Удивительно, но факт.

     
  • 4.8, Аноним (-), 00:28, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > угу, убердивайс, из которого все твои закрытые ключи и пароли вынимаются путем
    > чтения его флэшки

    Прочитаешь мне STM32? А то гадские китайцы залочили прошивку на чтение, понимаешь. Можно стереть и свою влить, но так не интересно - ведь китайскую прошивку я при этом не получу. А писать самому 128 кил кода довольно напряжно. Нет, 10К зелени на взлом путем вскрытия чипа и дампа флеша электронным микроскопом я тебе не дам, извини. За 10 штук я таки сам перепишу это с ноля и лучше.

    > или и вовсе перехвата уже расшифрованных данных из
    > памяти компьютера (спасибо интелу за meltdown и amd за spectre)

    Так не надо там хранить ключ вечно. GPG должен быть в курсе таких вещей.

    > сделать подобное из китайских запчастей практически нереально, из некитайских...да кто
    > ж тебе их продаст-то.

    На любой микроконтроль защита от чтения ставится. Чтобы конкуренты прошивки не воровали.

     
     
  • 5.11, Аноним (-), 03:51, 18/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет, 10К зелени на взлом путем вскрытия чипа и дампа флеша электронным микроскопом я тебе не дам, извини. За 10 штук я таки сам перепишу это с ноля и лучше.

    Так и быть Анон, я дам тебе 10К зелени если ты напишешь её "с нуля". А будет лучше - сможешь и больше зелени поднять, не проблема. Оставь свой и-мэил тут.

     
  • 2.4, Аноним (-), 22:30, 15/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В статье переносят свой ключ на юбикей, а не генерируют новый ключ юбикеем, уязвимость как то связана с этим, если да, то как?
     
  • 2.5, Аноним (-), 08:35, 16/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Эта уязвимость лишь упрощает факторизацию простых ключей (512, 1024 и 2048), _созданных_ встроенным в YubiKey TPM-модулем. 3072 и 4096-битовые ключи даже при генерации уязвимым устройством считаются безопасными.

    Вот на русском статья про ROCA https://www.opennet.ru/opennews/art.shtml?num=47396

     
  • 2.10, Crazy Alex (ok), 11:55, 17/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Trezor, например. Оно, конечно, в первую очередь биткоин-кошелёк, но и более приземлённые вещи может, в том числе и сабж.

    Есл- хочется попроще и подешевле - fsp-01

     
  • 2.16, nuclearcat (?), 03:53, 27/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я наваял такое: https://github.com/nuclearcat/cedarkey
    Работает, но до ума не доводил, т.к. лично для меня достаточно существующего функционала, а остальным неинтересно, скорее всего по причине отсутствия blue pill.
     

  • 1.12, Аноним (-), 18:04, 21/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Юбикей

    Юбать какие ключи!

     
  • 1.13, Аноним (-), 12:26, 24/01/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как-то можно этих штук купить и не загреметь на нары?
     
     
  • 2.14, можно (?), 14:21, 25/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    приезжаешь (по туристик визе) в Штаты. И заказываешь да хоть с амазона хоть на адрес в хостеле, хоть целое ведро.

    При отлете в родные щебеня - оставляешь на тумбочке, конечно. Ты ж купить спрашивал, а не "купить в Россию", да? ;-)

     
     
  • 3.17, Петр (??), 17:38, 28/01/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://store.softline.ru/yubico/


     
     
  • 4.21, Аноним (-), 08:35, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Дорого.
    Если, например, хочется входить в систему по ключу + хранить на нем же пару сертификатов для крипто про и випнета (все неизвелкаемое), то за тыщу рублей можно что-то найти? (кроссплатформенное, ествественно)
     
     
  • 5.23, Andrey Mitrofanov (?), 13:11, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >то
    > за тыщу рублей можно что-то найти? (кроссплатформенное, ествественно)

    Спаяй, будь ... самоделкиным ^W производителем!

    https://www.fsij.org/gnuk/neug-on-stm32-nucleo-f103.html
      <=https://fosdem.org/2018/schedule/event/hwenablement_gnuk_token_and_gnupg_scdae

    1900 йен это тыр или больше?...

     

  • 1.22, nanoo (?), 10:22, 19/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подскажите нубу. Чем это лучше смарткарт?
     
  • 1.24, Pavel Odintsov Home (?), 19:18, 21/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А есть и полный опенсорс для этой задачи: https://github.com/nuclearcat/cedarkey
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру