среда, 26 марта 2008 г.

Брелок для цифровых подписей

Аппаратная часть: USB-брелок с двумя USB-портами, одним цифробуквенным индикатором, одиной кнопкой. Первый USB-порт легкодоступен ("очевиден"); он предназначается для операций шифрования/подписи. Второй USB-порт "прячется" за неочевидной крышкой, или защищен еще каким-либо образом, предупреждающим случайный выбор второго порта вместо первого; предназначается для управления ключами (перегенерация и т.д.). При подключении устройства с помощью первого порта, хост-система получает доступ к API вида "послать на данные на подпись; получить саму подпись". Перед посылкой данных по известному алгоритму генерируется контрольная сумма этих самых данных. Эта контрольная сумма выводится на дисплей хост-системы. По тому же алгоритму USB-брелок рассчитывает контрольную сумму этих же данных и выводит ее на собственный цифробуквенный дисплей. Пользователь справнивает обе контрольные суммы и нажимает на брелке кнопку подтверждения, после чего сгенерированная цифровая подпись или зашифрованные данные передаются в хост-систему.

Если подключить брелок через второй порт, то хост-системе предоставляется другой интерфейс: "сгенерировать новую пару ключей".

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

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

(У меня язык не поворачивается сказать "на брелоке". Лучше буду писать "на брелке".)

Комментариев нет: