LINUX.ORG.RU

PGP смарт ключ

 , ,


0

1

Привет.

Хочу сделать свою собственную pgp-карту на основе карты SD.

Нигде не смог найти инфы о структуре данных внутри карты. Где-нибудь есть эта информация? Как я понимаю, это все должно быть в open source.

Просто положить на карточку свой приватный ключ и перевести ее в read-only не хочу - это будет неудобно. Хочу, чтобы gnupg ее определял.

★★★★

Хочу сделать свою собственную pgp-карту на основе карты SD.

Это работает совершенно другим образом. Нужен встроенный криптопроцессор и хоть какая-то защита от считывания.

Deleted
()
Ответ на: комментарий от TheAnonymous

Да ни в чем. Защита от мамкиных хакеров - от тупого клонирования.

vaddd ★☆
()
Ответ на: комментарий от Deleted

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

CYB3R ★★★★★
()

Лучшее, что ты сможешь сделать — это привязать на своей машине флэшку по Vendor/ID + UUID/PartUID + подписи файлов на флэшке, сделать cryptsetup на девайс (не на раздел, разделы на флэшках не нужны) и обвешать это дело тонной скриптоты. Защиты, естественно, никакой, зато получишь незабываемые ощущения.

r3lgar ★★★★★
()

Спаяй свой собственный криптопроцессор на транзисторах КТ315! Будешь носить его в рюкзаке и отдельным выносным кабелем подключать к ридеру

Harald ★★★★★
()
Ответ на: комментарий от CYB3R

А толку? Прошьёшь ты контроллер, которых нихрена не может, будет он мочь чуть-чуть больше чем нихрена.

r3lgar ★★★★★
()
Ответ на: комментарий от CYB3R

И этого будет вполне достаточно, чтобы реализовать PGP.

Без AES это не имеет никакого смысла, и даже с AES не имеет — в процессе передачи данных с/на псевдосмарткарту эти данные могут быть подменены или прочитаны, что делает все старания совершенно бессмысленными.

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

r3lgar ★★★★★
()
Последнее исправление: r3lgar (всего исправлений: 1)
Ответ на: комментарий от r3lgar

Без AES это не имеет никакого смысла, и даже с AES не имеет — в процессе передачи данных с/на псевдосмарткарту эти данные могут быть подменены или прочитаны, что делает все старания совершенно бессмысленными.

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

Difrex ★★★★
() автор топика
Последнее исправление: Difrex (всего исправлений: 1)
Ответ на: комментарий от Difrex

Мне этого достаточно будет.

Но ты же понимаешь, что это insecure?

Синкать ключ я хочу между своими ноутами.

Да хоть на одном или десяти. Если к тебе на машину попадёт шпион, то он сможет перехватить данные прямо у тебя под носом. От этого никто не застрахован. Не думай, что «на линупсе нет вирусов», просто на линупсе тебе никто не станет казать голых негров.

Ключик запаролен.

А кейлоггеров понаписать ещё проще… Думаешь, почему на кардридерах смарткарт (не USB) выделенная клавиатура для ввода пин-кода?

Т.е. по сути мне нужно только автоподхватываение secring.

Дополнительного уровня защиты этот костыль тебе не даст, а пое**ться заставит.

В общем, не выделывайся и купи себе обычный токен.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Да хоть на одном или десяти. Если к тебе на машину попадёт шпион, то он сможет перехватить данные прямо у тебя под носом.

Так же будет и без сд-карточки с каталогом ~/.gnupg.

Думаешь, почему на кардридерах смарткарт (не USB) выделенная клавиатура для ввода пин-кода?

Не видел pgp-карт с клавой.

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

Difrex ★★★★
() автор топика
Последнее исправление: Difrex (всего исправлений: 1)
Ответ на: комментарий от vaddd

Да елки-палки. Я не хочу через инет пересылать приватные ключи. Хочу карточку, которую я вставлю в ноут и у меня становится доступен мой пгп-ключик. Все. Такую фичу предоставляет pgp-карта. Я хочу программный аналог, или спеку. Если нет - напишу и открою. Может еще кому нужно.

ЗЫ: gnupg пользуюсь постоянно.

Difrex ★★★★
() автор топика
Ответ на: комментарий от Difrex

Так же будет и без сд-карточки с каталогом ~/.gnupg.

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

Не видел pgp-карт с клавой.

Я о смарткартах, а не о USB-токенах. Ридеры для смарткарт выглядят почти так же, как и устройства для считывания банковских карт в супермаркетах, только работают иначе (не буду вдаваться в подробности, так как детально не знаю, но последние работают по GSM или что-то около того).

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

Тогда лучшее, что ты сможешь сделать я уже описал.

r3lgar ★★★★★
()
Ответ на: комментарий от Difrex

Такую фичу предоставляет pgp-карта.

На самом деле нет. Со смарткарты нельзя скопировать данные, можно ими только воспользоваться. Это одно из основных преимуществ смарткарт.

Также есть секурные хранилища, но это уже не смарткарты.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

На самом деле нет. Со смарткарты нельзя скопировать данные, можно ими только воспользоваться.

Я понимаю. И после копирования ключа на карту я планирую перевести ее в ридонли. Меня интересовало есть ли уже что-то готовое.

Difrex ★★★★
() автор топика
Ответ на: комментарий от Difrex

Я понимаю.

Видимо, не до конца.

И после копирования ключа на карту я планирую перевести ее в ридонли.

Это не то же самое, что защита от копирования на настоящих смарткартах. На смарткарте ты можешь обнулить данные или перезаписать их, но не прочитать. У тебя нет доступа к данным на смарткарте, ты стучишься в контроллер, он обрабатывает твои данные и выдаёт только результат, напрямую с ключом ты уже не сможешь работать, и бэкап с карты ты тоже сделать не сможешь. Никак.

Меня интересовало есть ли уже что-то готовое.

Да, смарткарты уже изобрели.

А теперь пройдёмся по порядку:

pgp-карту на основе карты SD

«Хочу танк на основе тележки из супермаркета.»

положить на карточку свой приватный ключ и перевести ее в read-only не хочу

И после копирования ключа на карту я планирую перевести ее в ридонли.

Так хочешь, или не хочешь? (читай дальше про кейринг)

без необходимости ручного копирования кейринга

Кейринг — это не только твой приватный ключ, но и публичный, и чужие публичные ключи, которые ты добавишь. На смарткартах хранится только приватный ключ, даже публичный, без которого gpg не сможет воспользоваться твоим приватным, генерируется в ~/.gnupg. То есть ты уже хочешь секурное хранилище, а не смарткарту.

Я хочу программный аналог, или спеку. Если нет - напишу и открою.

Есть прошивка для смарткарт для поддержки GPG, но она закрытая, продаются только смарткарты, которые, как ты понимаешь, расковырять на предмет софта не выйдет вот так просто.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Хочу перевести в ридонли но не просто тупо скопировав secring.

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

Да, я хочу секурную хранилку на флешке

Difrex ★★★★
() автор топика
Ответ на: комментарий от r3lgar

Есть прошивка для смарткарт для поддержки GPG, но она закрытая, продаются только смарткарты, которые, как ты понимаешь, расковырять на предмет софта не выйдет вот так просто.

Это печально

Difrex ★★★★
() автор топика
Ответ на: комментарий от Difrex

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

vaddd ★☆
()
Ответ на: комментарий от Difrex

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

Не всегда. privkey можно экспортировать отдельно от pubkey. А вот по импорт без pubkey — никак.

Да, я хочу секурную хранилку на флешке

Как уже сказал vaddd, и как дважды сказал я, это небезопасно. Лучшее, что ты можешь сделать — это LUKS, о чём я тоже уже говорил.

Это печально

Часть кода доступна (смотри секцию Software), но там ни байта о безопасности, так что писать уже не с нуля, хоть и самое сложное.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

Есть прошивка для смарткарт для поддержки GPG, но она закрытая

Я очень не разбираюсь в теме, хотелось бы встрять с глупым вопросом.

То есть получается здесь описано, как настроить работу GPG с картридером, а сами смарт карты — черный ящик, с которым десктоп общается через CCID или PC/SC?

Octagon
()
Ответ на: комментарий от Octagon

То есть получается здесь описано, как настроить работу GPG с картридером

Уточню: там описано как настроить работу GnuPG с заведомо протестированным кардридером. Если взять первый попавшийся, то он может тупо не взлететь.

а сами смарт карты — черный ящик

Не совсем. Их содержимое — да, оно не доступно никак (хотя, всегда есть вероятность, что у кого-то хватит сил, терпения и ума), но карту можно перепрошить (если, конечно, имеется прошивка). Без совместимой с GnuPG прошивкой самой карты ты никак не заставишь работать GnuPG с такой картой, будь она хоть трижды совместима с ISO/IEC 7816-8, gpg её просто не увидит (я проводил эксперименты с левой картой, кардридер видит, но для gpg он нечитабелен).

с которым десктоп общается через CCID или PC/SC?

Да, только так. Таким образом (почти, так как кардридер подключается по USB, который можно прослушать) никто не сможет вмешаться в обмен данными и скомпрометировать их (в том числе, если кардридер со встроенной клавиатурой, никто не сможет перехватить PIN-код — он передаётся напрямую ридеру, минуя операционную систему и прочее программное обеспечение). Это также означает, что получить сам ключ, которым шифруются данные, невозможно, так что о бэкапах не может идти и речи.

r3lgar ★★★★★
()

В смарт-карте присутствуют 3 раздела памяти:

  • Системная память — содержит файловую систему и операционную систему. В ней хранятся данные, необходимые для проверки правильности вводимых PIN-кодов и паролей администратора.
  • Открытая память — содержит данные, которые возможно прочитать без PIN-кода. Имя смарт-карты, идентификатор смарт-карты и другие.
  • Закрытая память — содержит данные доступ к которым возможен только по PIN-коду.

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

Для работы с процессором на низком уровне используются APDU (Application Protocol Data Unit) команды. С использованием APDU команд возможно даже получить доступ к файловой системе смарт-карты, хотя это делать категорически не рекомендуется.

Deathstalker ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.