硝基钥匙HSM常见问题¶
- **问:**密码的最大长度是多少?
Nitrokey使用PIN码而不是密码。主要区别在于,硬件将尝试的次数限制为三次,而密码则不存在限制。正因为如此,一个简短的PIN码仍然是安全的,没有必要选择一个长而复杂的PIN码。
Nitrokey的PIN码最多可以有16位,可以由数字、字符和特殊字符组成。注意:当使用GnuPG或OpenSC时,可以使用32个字符的PIN码,但不被Nitrokey应用程序支持。
- **问:**用户密码是什么?
密码至少有6位数,用于访问Nitrokey的内容。这是你在日常使用中会经常用到的密码。
密码最多可以有16位数字和其他字符(如字母和特殊字符)。但是,只要有三次错误的PIN尝试,PIN就会被阻止,所以只有6位数的PIN就足够安全了。
- **问:**SO PIN是什么意思?
SO PIN仅在Nitrokey HSM中使用,它类似于具有特殊属性的主密码。请仔细阅读本说明以了解Nitrokey HSM的SO PIN。
SO PIN的长度必须正好是16位数。
- **问:**可以存储多少个数据对象(DF、EF)?
总共76KB的EEPROM,可用于
最多。150个ECC-521钥匙或
最大。300个ECC/AES-256密钥或
最大。19个RSA-4096密钥或
最大。38 x RSA-2048 密钥
- **问:**我可以存储多少个钥匙?
Nitrokey HSM可以存储20个RSA-2048和31个ECC-256的密钥对。
- **问:**加密和签名的速度如何?
卡片上的密钥生成。RSA 2048:每分钟2个
卡片上的密钥生成。ECC 256:每分钟10个。
用卡外哈希创建签名。RSA 2048;每分钟100个
用卡外哈希创建签名。ECDSA 256:每分钟360个
用卡上的SHA-256和1kb数据创建签名。RSA 2048;每分钟68个
用卡上的SHA-256和1kb数据创建签名。ECDSA 256:每分钟125个
- **问:**如何区分Nitrokey HSM 1和Nitrokey HSM 2?
使用``opensc-tool --list-algorithms``并与下表进行比较。也请看`这个主题`_,以了解情况表和更多细节。
开始 |
专业+存储 |
专业2+存储2 |
Nitrokey 3 |
HSM |
HSM 2 |
|
rsa1024 |
✓ |
✓ |
✓ |
✓ |
||
rsa2048 |
✓ |
✓ |
✓ |
✓ |
✓ |
✓ |
rsa3072 |
✓ |
✓ |
✓ |
✓ |
||
rsa4096 |
✓ |
✓ |
✓ |
✓ |
||
曲线25519 |
✓ |
✓ |
||||
NIST-P 192 |
✓ |
|||||
NIST-P 256 |
✓ |
✓ |
✓ |
✓ |
||
NIST-P 384-521 |
✓ |
✓ |
||||
脑池192 |
✓ |
✓ |
||||
脑库 256-320 |
✓ |
✓ |
✓ |
|||
脑库 384-521 |
✓ |
✓ |
||||
secp192 |
✓ |
✓ |
||||
secp256 |
✓ |
✓ |
✓ |
|||
secp521 |
✓ |
- **问:**我怎样才能在我的应用中使用Nitrokey HSM的真随机数发生器(TRNG)?
通过使用OpenSC作为PKCS#11驱动,Nitrokey HSM可以与`Botan`_和`TokenTools`_一起使用。
OpenSSL不能直接使用Nitrokey HSM的RNG,因为engine-pkcs11不包含OpenSSL对C_GenerateRandom的映射。
- **问:**随机数字发生器有多好?
Nitrokey HSM使用JCOP 2.4.1r3的真随机数发生器,其质量为DRNG.2(根据德国联邦信息安全局BSI的`AIS 31`_)。
- **问:**我可以使用哪个API?
OpenSC:OpenSC框架有全面的说明。还有nitrotool作为OpenSC的一个更舒适的前端。
嵌入式系统。对于内存占用最小的系统,sc-hsm-embedded项目提供了一个只读不写的PKCS#11模块。 这个PKCS#11模块对于不需要在用户工作场所生成密钥的部署非常有用。PKCS#11模块还支持德国市场上的主要电子签名卡。
OpenSCDP。SmartCard-HSM与开放式智能卡开发平台OpenSCDP完全集成。详情见公共支持脚本。要导入现有的密钥,你可以使用其SCSH或NitroKeyWrapper。
- **问:**Nitrokey HSM 2是否经过通用标准或FIPS认证?
安全控制器(恩智浦 JCOP 3 P60)已通过通用标准 EAL 5+ 认证,达到操作系统级别(`Certificate<https://commoncriteriaportal.org/files/epfiles/NSCIB-certificate%2021-98209.pdf>`__,`Certification Report<https://commoncriteriaportal.org/files/epfiles/Certification%20Report%20NSCIB-CC-98209-CR5%20-%20version%203.0%20(2022-10-14).pdf>%20NSCIB-CC-98209-CR5%20-%20version%203.0%20(2022-10-14).pdf>`__,`Security Target<https://commoncriteriaportal.org/files/epfiles/NSCIB-CC-98209_5-STLite.pdf>`__,`Java Card System Protection Profile Open Configuration, Version 3.0<https://commoncriteriaportal.org/files/ppfiles/ANSSI-CC-profil_PP-2010-03en.pdf>`__ )。
- **问:**如何将现有密钥导入Nitrokey HSM?
首先,`设置`_你的Nitrokey HSM以使用钥匙备份和恢复。然后使用智能卡外壳进行导入。如果你的钥匙存储在Java钥匙库中,你可以使用`NitroKeyWrapper`_代替。
- **问:**我如何用Nitrokey HSM来保护我的云基础设施/Kubernetes?
在Nitrokey HSM上为Hashicorp Vault/Bank-Vault提供安全钥匙的方法可以在`banzaicloud.com`_找到。
- **问:**我可以用加密货币使用Nitrokey HSM吗?
J.v.d.Bosch写了一个简单的、免费的python `程序`_来保护HSM中比特币钱包的私钥。`Tezos`_已被`报道`_与Nitrokey HSM一起工作。