Pull to refresh
16K+
3
Тельман@void-deref

разработчик встраиваемых систем

6
Rating
3
Subscribers
Send message

Используем ISD для защищенной персонализации Java Card апплета

Level of difficultyMedium
Reading time10 min
Reach and readers11K

Всем привет!

В статье «Асимметричная криптография в JavaCard» приводится пример создания канала защищенного обмена сообщениями на сессионных симметричных ключах, вырабатываемых по протоколу ECDH. У этого решения есть два спорных момента: во-первых, сама реализация потребует дополнительных ресурсов на тщательное тестирование, а во-вторых ECDH не обеспечивает аутентификацию сторон. Этот пункт более актуален, т.к. без поддержки апплетом инфраструктуры открытых ключей (PKI) и цифровых сертификатов, он выдаст секреты любому, кто знает параметры эллиптической кривой. Т.е. нужна еще куча времени на разработку и отладку. Преодолеть эти сложности можно одним элегантным решением: использовать механизмы безопасности, предоставляемые «главным по карте» - Issuer Security Domain.

Читать далее

Работа со сторонними библиотеками в Java Card

Level of difficultyEasy
Reading time11 min
Reach and readers6.7K

В статье «Асимметричная криптография в Java Card» был приведен пример по установке защищенного канала в два этапа:

1. генерация общего секрета по алгоритму ECDH;
2. использование общего секрета в качестве ключа AES.

В этой статье речь пойдет о написании библиотек (апплеты, не наследующие от javacard.framework.Applet), их загрузке и линковке с апплетами на карте. По касательной затронем VSCode, библиотеку взаимодействия с картой FunGP и нюансы инструмента сборки .cap-файлов ant-javacard.

Читать далее

ISO 9797-1: поросячья латынь

Level of difficultyMedium
Reading time7 min
Reach and readers6.5K

Увы, у меня нет профильного математического образования (я вообще гуманитарий), потому любой стандарт по криптографии для меня ничто иное, как поросячья латынь. А после детального изучения приходит горькое осознание, что это я лезу в калашный ряд со свиным рылом... И вот прилетела задача, решить которую промптом не получится (я пробовал, честно), а потому надо лезть в калашный ряд ISO9797-1 и смотреть, что там такое делается. Результаты изучения решил расписать здесь, т.к. может кому-то будет полезно, а может кто-то из crypto-лордов укажет на недочеты/ошибки.

Читать далее

Асимметричная криптография в Java Card

Level of difficultyMedium
Reading time14 min
Reach and readers7.3K

В этой статье разговор пойдет о приложении на Java Card, бегающем на смарт-картах. На хабре уже есть несколько публикаций на эту тему, в своей же я бы хотел немного выйти за рамки стандартного “Hello World”. Здесь вы узнаете как собирать апплет, увидите пример размещения данных в апплет на этапе инсталляции, а также установим защищенный канал между Хостом и картой.

Читать далее

FunGP: питоничность против церемониальности JavaCard

Level of difficultyEasy
Reading time4 min
Reach and readers7.8K

Всем привет!

Традиционное вступление в стиле "плач Ярославны": GlobalPlatform, ISO 7816, JavaCard и прочие смежные стандарты - боль. Тонна материала написанная сухим языком так и навивает мысль, что авторы этого всего не инженеры, а юристы. Для примера скажу, что каждый стандарт ETSI начинается со смысловых определений глаголов "shall", "shall not", "should", "should not" и т.д. Нет, в канцелярском стиле ничего плохого нет. Плохо становится когда он плавно переходит поросячью латынь - и это одно из самых терпимых определений. Это же додуматься надо "размазать" требования к несчастной SMS-ске между пятью стандартами (ETSI 102-223/-225/-226 и 131-111/-115).

Ну вот ты преодолел пучины стандартов, затем засел за написание JavaCard-апплета, с чем тоже успешно справился, ну а дальше начинается квест "найди все тулзы". Инструментарий от Oracle для сборки .cap-файлов недоступен из России, благо есть один удобный в открытом доступе. Там же рядышком лежит тулза для установки/удаления апплетов (да и вообще управления жизненным циклом карты).

Итак, ты скомпилировал и загрузил апплет на карту. Классно! А дальше? А дальше поговорим в статье.

Читать далее

ISO 7816-4: пишем файловую систему

Level of difficultyMedium
Reading time11 min
Reach and readers9.4K

Стандарт ISO 7816 состоит из 15 частей и главным образом нацелен на приведение к общему виду тех отраслей, что используют смарт-карты. Четвертая часть документа описывает логическую структуру файловой системы, получившую широкое распространение: ее можно встретить в идентификационных документах, средствах криптографической защиты информации, в банковском секторе и телекоме.

Читать далее

Побитовая арифметика в Java

Reading time7 min
Reach and readers24K
Приветствую, дорогой читатель.

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

Признаться, я был несколько удивлен отсутствию такого материала на Хабре (плохо искал?), потому и решил восполнить этот недостаток, со своими комментариями и дополнениями.
Прошу учесть, что в примерах с побитовыми операциями значения урезаны до полубайта: фундаментальной разницы не будет, а воспринимается легче.
Читать дальше →

Information

Rating
1,052-nd
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity