Драйвер PKCS#11 для чипа Trusted Platform Module (TPM) версии 1.2

Я создаю приложение, которое может взаимодействовать с чипом tpm через PKCS # 11, генерировать закрытый ключ (хранящийся в tpm), импортировать сертификат, который соответствует закрытому ключу, подписывать данные... Я хочу использовать чип tpm как hsm. Итак, кто-нибудь может мне помочь! Какое имя драйвера PKCS#11 может помочь мне взаимодействовать с tpm? ИЛИ Что я должен сделать, чтобы сделать драйвер PKCS#11? У меня есть сборка OpenCryptoki и Trousers на Centos 6.5, но после успешной сборки я не знаю, какой файл в OpenCrptoki или Trousers является драйвером PKCS11! Спасибо!


person Tony Luca    schedule 07.04.2017    source источник
comment
Тот, который поставляет продавец, или тот, который поставляет IAIK.   -  person user207421    schedule 07.04.2017
comment
Привет EJP, Что такое IAIK? Драйвер PKCS#11 может поставляться поставщиком или создаваться из открытого исходного кода.   -  person Tony Luca    schedule 07.04.2017
comment
IAIK — еще один поставщик бесплатных драйверов PCKS#11. Попробуйте Google. Вот как я это нашел.   -  person user207421    schedule 10.04.2017


Ответы (1)


Opencryptoki должен поддерживать TPM через TrouSerS (см., например, здесь, здесь, здесь).

Существует проект simple-tpm-pk11, который использует более прямой подход и может быть интересным. для вас — см. эту интересную статью в блоге автора.

Отказ от ответственности: я никогда не использовал TPM для криптографии, поэтому, пожалуйста, подтвердите мои мысли.

PS: я забыл сказать, что драйвер opencryptoki PKCS#11 обычно находится в /usr/lib/opencryptoki/libopencryptoki.so.

person vlp    schedule 07.04.2017
comment
Привет, влп. Спасибо! Итак, можете ли вы сказать мне, почему мне не следует использовать TPM для криптографии? - person Tony Luca; 08.04.2017
comment
Эй, я не говорил, что вы не должны использовать TPM для криптографии — я просто хотел сказать, что я никогда не использовал TPM для криптографии (мне нравится честность)... Что мне не нравится в TPM измерения, которые, как я боюсь, могут быть подделаны при физическом доступе к аппаратному обеспечению... Но я не эксперт по TPM... Удачи в вашем проекте! - person vlp; 08.04.2017
comment
Извините, я не понял вашего ответа! Спасибо за вашу помощь! - person Tony Luca; 08.04.2017
comment
Привет, vlp, openCryptoki можно использовать для чипа Infineon TPM? Я установил openCryptoki и попытался инициализировать чип, но это не удалось! - person Tony Luca; 10.04.2017
comment
Это должен. Вы запускали sudo modprobe tpm_tis? См. это руководство... Включен ли TPM в BIOS? - person vlp; 10.04.2017
comment
Привет, на моем компьютере нет модуля tpm_tis. Я загрузил модуль tpm_infineon, но когда я инициализировал его, все равно не удалось! Я использую Centos 6.5. Пожалуйста, смотрите мой журнал здесь: drive.google.com/file/d/ 0B1fniR2RWY_OYm9LNGxYRkFabGc/ - person Tony Luca; 11.04.2017
comment
Привет vlp, я не могу загрузить драйвер pkcs11 (/usr/lib/opencryptoki/libopencryptoki.so) в Firefox? Вы знаете, как это исправить? Спасибо! - person Tony Luca; 11.04.2017
comment
modutil -dbdir ~/.mozilla/firefox/*.default/ -add TPM -libfile /usr/lib/opencryptoki/libopencryptoki.so ПРЕДУПРЕЖДЕНИЕ. Выполнение этой операции во время работы браузера может привести к повреждению ваших баз данных безопасности. Если браузер в данный момент запущен, вы должны выйти из браузера, прежде чем продолжить эту операцию. Введите «q ‹enter›», чтобы прервать, или ‹enter›, чтобы продолжить: ОШИБКА: не удалось добавить модуль TPM. Возможная причина: модуль PKCS #11 вернул CKR_FUNCTION_FAILED, что указывает на то, что запрошенная функция не может быть выполнена. Повторная попытка той же операции может привести к успеху. - person Tony Luca; 11.04.2017
comment
Код ошибки 0x00000006, выданный вашим tpmtoken_init, совпадает с кодом CKR_FUNCTION_FAILED, выдаваемым инструментом modutil. Вы звонили tpm_takeownership? Возможно, было бы неплохо обновить свой вопрос новыми выводами, включая то, какое руководство вы используете и на каком этапе возникают проблемы. - person vlp; 11.04.2017
comment
Это хорошая идея попробовать какой-нибудь новый дистрибутив Linux, так как вашей CentOS уже почти 4 года... - person vlp; 11.04.2017
comment
И помните, что вы можете потерять данные, если удалите ключи TPM, для которых вы фактически используете (например, шифрование BitLocker во второй ОС). - person vlp; 11.04.2017
comment
Привет, vlp, я попытался заменить файл libopencryptoki.so строкой cmd: cp /usr/local/lib/pkcs11/libopencryptoki.so /usr/lib/opencryptoki/libopencryptoki.so => ​​ошибка исправлена. Firefox может загрузить модуль Pkcs11, например, изображение здесь: drive.google.com/ file/d/0B1fniR2RWY_OTXFyck5DeUJaLUU/ Итак, у меня есть еще одна ошибка: C_SetPIN failed: 0x00000006 (6). Пожалуйста, посмотрите здесь: drive.google.com/file/d/0B1fniR2RWY_OZ2xMZXJmcDg0Qkk / В настоящее время моя проблема заключается в том, что слот не может инициализироваться! Пожалуйста, помогите мне! Спасибо! - person Tony Luca; 12.04.2017
comment
Используете ли вы последние версии программного обеспечения? Если нет, используйте их! Вы видели эту тему? Соответствуют ли ваши пароли SRK/владельца этому? . Боюсь, я больше ничем не могу вам помочь... И мне очень жаль... Удачи! - person vlp; 12.04.2017
comment
Привет, я использовал последнюю версию! Большое спасибо за вашу помощь! Я попытаюсь! - person Tony Luca; 13.04.2017