首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PKCS11还是密码API?

PKCS11还是密码API?
EN

Stack Overflow用户
提问于 2017-04-05 10:05:38
回答 2查看 1.3K关注 0票数 1

HSM公司通常提供一个PKCS#11 API来使用HSM,还是仅仅提供自己的加密API?

在每种情况下,如何集成到Linux应用程序(使用OpenSSL,可能就像如何为第三方库调用openssl引擎一样)?Windows应用程序呢?

什么是一般的首选?PKCS#11 API还是泛型API?

两者的优点和缺点是什么?

一位HSM供应商告诉我们,他们可以同时提供一个PKCS#11 API和一个用C语言编写的密码API。我正在努力理解这些术语,因此也就是这个问题!

一个简单的概述将让我进一步研究:)

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2017-04-06 19:07:20

通常,如果只是为了与提供这样一个库的其他产品竞争,则提供一个PKCS#11库。PKCS#11是一个通用的接口,可以从软件中使用。有许多软件包允许在下面使用PKCS#11令牌标准,例如OpenSSL PKCS#11 engine和PKCS#11安全提供程序。

尽管PKCS#11可以扩展,但这并不意味着可以支持HSM的所有功能。PKCS#11是一个相对较低的接口。有时,使用更适合特定用例的专有API更有意义。加密协议中可以在安全设备上执行的部分越多,越好。

至于哪个更好,这完全取决于您的用例和威胁模型以及可以提供的密码API。

票数 2
EN

Stack Overflow用户

发布于 2017-04-05 15:53:57

PKCS#11 (wiki的定义)

PKCS #11标准为加密令牌(如硬件安全模块(HSM)和智能卡)定义了与平台无关的API,并将API本身命名为"Cryptoki“(来自”密码令牌接口“,发音为”密码密钥“-但"PKCS #11”经常用于引用API以及定义它的标准)。

因此,这通常是标准API的所有HSM制造商的使用。

它完全取决于HSM供应商是否实现了这个API。如果他们确实实现了它,您应该能够使用标准的PKCS#11 API从任何平台(只要他们支持它)或任何第三方库来与他们的硬件进行通信,这些库可以在您的软件和硬件之间充当中间件。如果没有实现它,他们通常会编写自己的专有API,这些API可能是特定于平台的,并且只与他们的设备通信。这迫使您使用他们的API与他们的硬件进行通信(在本例中是HSM)。

因此,从您的角度来看,如果您使用了标准的PKCS#11 API,并且将来如果您与另一个HSM供应商协作,您也可以使用相同的代码与新的HSM进行通信(因为PKCS#11是一个标准)。但是,如果您使用了他们自己的API,并且为了与新的HSM供应商通信,您就不能重用您的代码,因为他们的API可能只适用于他们的设备。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43228025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档