Да, я так и думал. Значит всё правильно, что его удалили.
Копирование неэкспортируемого ключа с JaCarta LT
-
Андрей Карпишин
- Архитектор
- Сообщения: 9195
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 1214 раз
- Поблагодарили: 556 раз
Re: Копирование неэкспортируемого ключа с JaCarta LT
-
Андрей Карпишин
- Архитектор
- Сообщения: 9195
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 1214 раз
- Поблагодарили: 556 раз
Re: Копирование неэкспортируемого ключа с JaCarta LT
Потому что у вас после маркера header не идут большие файлы, как у других.
256 константа. Это первая степень числа 256. Для младшего байта берётся нулевая степень этого же числа, которая равна 1. Так что, младший байт можно не умножать на 1, т.к. получится он же самый.
возьмем, к примеру, 32 битное число. очевидно, что оно состоит из четырех 8 битных байтов.
то есть число = B0*256⁰ + B1*256¹ + B2*256² + B3*256³
B0 и есть младший байт, а B3 - старший. такое понятие (старший и младший) применимо в лоб для 16 битных чисел - там всего 2 байта
для 16 битного числа формула упрощается до B0 + B1*256 (но в памяти порядок байтов перевёрнут)
-
YuRiuS1
- Сообщения: 8
- Зарегистрирован: 08 дек 2023, 23:49
- Благодарил (а): 5 раз
Re: Копирование неэкспортируемого ключа с JaCarta LT
Сделал ручной header, masks, primary, добавил name, но ничего не получилось... к сожалению, то же выдаёт.
Соединил подряд, начиная с 017, дошёл до ближайшего к 2335 байт, укоротил до этого значения (там были не 00 в HEX-редакторе), но ошибка ровно та же, что и до этого.
Может быть, проблема в name.key? а то у меня 2 EToken, обе никак не получается скопировать...
-
Андрей Карпишин
- Архитектор
- Сообщения: 9195
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 1214 раз
- Поблагодарили: 556 раз
Re: Копирование неэкспортируемого ключа с JaCarta LT
Вряд ли. Скорее всего сниффер работает как-то неправильно для этого вида токена. Но ещё хуже бывают случаи, когда вообще нет заголовка header.YuRiuS1 писал(а): ↑14 дек 2023, 17:16Сделал ручной header, masks, primary, добавил name, но ничего не получилось... к сожалению, то же выдаёт.
Соединил подряд, начиная с 017, дошёл до ближайшего к 2335 байт, укоротил до этого значения (там были не 00 в HEX-редакторе), но ошибка ровно та же, что и до этого.
Может быть, проблема в name.key? а то у меня 2 EToken, обе никак не получается скопировать...
Тоже какая-то аномалия. Чтобы это понять, нужно быть создателем сниффера Сергеем Солдатовым.
-
Андрей Карпишин
- Архитектор
- Сообщения: 9195
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 1214 раз
- Поблагодарили: 556 раз
Re: Копирование неэкспортируемого ключа с JaCarta LT
Впрочем, он пишет сам:
Проблема с которой ко мне обратились - утилита dumpContfromAPDU.pl не дампит контейнер из правильно созданного с помощью Smartcard Sniffer -а лога команд и ответов APDU.
Причин такой неработы dumpContfromAPDU.pl могут быть две:
1. используется отличная от имеющейся у меня на момент исследования модель токена - разные модели токенов имеют несколько разный набор команд APDU, поэтому скрипт не находит нужные регексы;
2. дамп не содержит пересылки контейнера.
Вообще, скрипт писался на скорую руку в качестве PoC исключительно для целей разовой демонстрации и делать из него полноценный инструмент "на все (ну, или, по крайней мере, на многие) случаи жизни" не планирую по нескольким причинам:
а) наверно, это своего рода "хак" (реализация неавторизованного доступа), а распространять инструменты для неавторизованного доступа - неправильно;
б) лень.
Подробнее: https://www.securitylab.ru/blog/persona ... 155893.php
Проблема с которой ко мне обратились - утилита dumpContfromAPDU.pl не дампит контейнер из правильно созданного с помощью Smartcard Sniffer -а лога команд и ответов APDU.
Причин такой неработы dumpContfromAPDU.pl могут быть две:
1. используется отличная от имеющейся у меня на момент исследования модель токена - разные модели токенов имеют несколько разный набор команд APDU, поэтому скрипт не находит нужные регексы;
2. дамп не содержит пересылки контейнера.
Вообще, скрипт писался на скорую руку в качестве PoC исключительно для целей разовой демонстрации и делать из него полноценный инструмент "на все (ну, или, по крайней мере, на многие) случаи жизни" не планирую по нескольким причинам:
а) наверно, это своего рода "хак" (реализация неавторизованного доступа), а распространять инструменты для неавторизованного доступа - неправильно;
б) лень.
Подробнее: https://www.securitylab.ru/blog/persona ... 155893.php
-
kelment
- Сообщения: 3
- Зарегистрирован: 15 дек 2023, 11:56
Re: Копирование неэкспортируемого ключа с JaCarta LT
По инструкции всё сделал, всё получилось.
Но возник вопрос, а что это за программа CertFix? С остальными скриптами из инструкции всё понятно, исходники есть на GitHub.
Непонятно, как она в итоге экспортирует сертификат и почему она не делает этот экспорт прямиком из Jacarta, а нужны все вышеописанные манипуляции
Но возник вопрос, а что это за программа CertFix? С остальными скриптами из инструкции всё понятно, исходники есть на GitHub.
Непонятно, как она в итоге экспортирует сертификат и почему она не делает этот экспорт прямиком из Jacarta, а нужны все вышеописанные манипуляции
-
Андрей Карпишин
- Архитектор
- Сообщения: 9195
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 1214 раз
- Поблагодарили: 556 раз
Re: Копирование неэкспортируемого ключа с JaCarta LT
Потому что это более примитивная программа. Она умеет экспортировать только экспортируемые ключи.
А для неэкспортируемых была найдена лазейка, дыра в безопасности, которую эксплуатирует сниффер.
Впрочем и у сниффера есть предел применения, т.к. есть ключи, в которых криптографические операции происходят внутри него.
Это PKCS#11 токены с аппаратной криптографией. https://cryptostore.ru/article/obzory/p ... tografiey/
Они не копируются ничем.
А для неэкспортируемых была найдена лазейка, дыра в безопасности, которую эксплуатирует сниффер.
Впрочем и у сниффера есть предел применения, т.к. есть ключи, в которых криптографические операции происходят внутри него.
Это PKCS#11 токены с аппаратной криптографией. https://cryptostore.ru/article/obzory/p ... tografiey/
Они не копируются ничем.
-
kelment
- Сообщения: 3
- Зарегистрирован: 15 дек 2023, 11:56
Re: Копирование неэкспортируемого ключа с JaCarta LT
Существует ли открытый код этой программы? Интересно посмотреть как она это делает.
-
Андрей Карпишин
- Архитектор
- Сообщения: 9195
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 1214 раз
- Поблагодарили: 556 раз
Re: Копирование неэкспортируемого ключа с JaCarta LT
Тривиальные функции мне не интересны. Любой код можно декомпилировать (реверсинг).
Да и вопросы эти как-то не особо уместны в контексте данной темы.
Ищите автора и спросите у него про принцип.
-
kelment
- Сообщения: 3
- Зарегистрирован: 15 дек 2023, 11:56
Re: Копирование неэкспортируемого ключа с JaCarta LT
Ответ я понял, но не соглашусь. Работа ведь идёт с ЭЦП и вопросы безопасности нельзя игнорировать. Если неизвестно как работает программа, то где гарантии, что ключ не будет скомпрометирован? Поэтому хочется доверять инструментам