Система смарт-карт, поддерживающая шифрование RSA
Существует ли какая-либо система смарт-карт, способная выполнять шифрование RSA? Цель состоит в том, чтобы создавать цифровые подписи (например, на основе хэшей SHA-1) произвольных двоичных данных без раскрытия секретного ключа.
Проверка подписи была бы полезна, но не обязательна, так как проверка выполняется отдельной системой.
2 ответа
Для создания цифровых подписей используется подпись (не шифрование). Большинство аппаратных средств (как смарт-карт, так и USB-токенов), которые могут содержать закрытые ключи, также будут выполнять криптографические операции с этими ключами, не раскрывая их - это основная цель этого оборудования.
Как сказал Евгений, это ключевой момент смарт-карт; оптимальный сценарий в отношении конфиденциальности ключей заключается в том, что ключ генерируется на самой карте и поэтому никогда не должен покидать ее. Обратите внимание, что шифрование будет включать открытый ключ, в то время как для цифровой подписи, очевидно, требуется закрытый ключ. Также важно учитывать, что пропускная способность ввода-вывода смарт-карт ограничена. Типичный подход - из соображений производительности - хеширования вне карты - либо полностью, либо до последнего блока текста, который нужно подписать, особенно если необходимо подписать большие объемы данных.