关于FIPS的快速提醒
以下是有关FIPS的一些事实:
联邦信息处理标准(FIPS)是美国联邦政府发布的一组公共标准,旨在为民用环境中的计算机系统的使用创建一个标准。
FIPS由美国国家标准技术研究院(NIST)监督;
若干FIPS标准控制着密码系统的使用,例如FIPS-140-2规定了用于构建密码模块和HSM的标准。
FIPS-140-2提供四个级别的验证。在最高级别(第4级),物理安全机制应提供对加密模块的全面保护,以检测所有未经授权的物理访问尝试。
FIPS-140-2认证通过加密模块验证程序(CMVP)完成。
FIPS 140-2 3级随机数生成器和令牌生成
人们通常认为安全令牌是真正随机的,并且无法链接到它代表的原始值。支付卡行业(PCI)理事会已经发布了有关令牌随机化的若干准则和约束。
NIST已通过FIPS 140-2 3级随机数发生器的认证。它们可以帮助确保令牌的唯一性,因为该标准主要在HSM中流行。
遵循PCI的建议,“应该显示出令牌化方法作为从实际主帐号(PAN)到令牌空间的一类随机排列。”这种随机排列应遵循FIPS 140-2级别3个随机数生成器标准。
另外,由于PAN数据是由数字组成的,因此在生成“类似” PAN令牌的情况下,SP 800-90A Rev. 1(建议使用确定性随机位生成器生成随机数)仍然是一个不错的选择。 ,根据PCI准则,
NIST 800-38G和令牌的格式保留加密
格式保留加密(FPE)是令牌生成器平台广泛使用的技术。显然,FPE是一个挑战,因为输出空间的大小将与输入空间的大小不同。例如,如果我们考虑16位信用卡号(PAN),则输出空间的大小为10 ^ 16。也就是说,“大约” 32位可能不够大。
NIST 800-38G详细说明了如何通过指定三种FPE方法来执行FPE。“ FFX”方法分别称为FF1,FF2和FF3。每个加密算法都是AES的一种操作模式,用于在Feistel结构内构造舍入函数进行加密。
FF3不再适用,因为在2017年发现了密码分析攻击。FF1仍然应该是安全的。但是,在使用支付卡数据的情况下,可能没有足够的熵来创建足够的输出,而没有很大的可能将其反转的风险。
用于银行业的令牌化平台涉及PCI认证,通常必须符合NIST 800-38G和其他标准。只有一种方法可用,即FF1,该方法正在受到严格审查,最终这也会增加认证成本。
使用FF2或FF3的令牌化平台不会获得NIST认证。
令牌库应使用FIPS-140-2认证的HSM
在大多数情况下,卡令牌库应使用经过FIPS-140-2(第3级)认证的HSM,因为PCI委员会明确建议:“如果将硬件产品用于令牌化,则应将硬件产品验证为FIPS 140- 2 Level 3”。
在这里,我们列出了几个卡数据保险库提供商,以及它们是否使用FIPS-140-2 3级HSM。
卡库提供商 | FIPS-140-2 3级HSM |
Hosted PCI | 未提及 |
Caveau | 未提及 |
BrainTree vault | 未提及 |
1STPAY Credit card vault | 未提及 |
Constant payment Solutions | 未提及 |
Integrate Payments | 未提及 |
PayScout | 未提及 |
PayVault | 通过HSM提供FIPS 140-2 Level4 |
FutureX | 通过HSM提供FIPS 140-2 Level3 |
请注意,这些是卡数据保险库提供商,而不是最终与其他硬件解决方案(包括FIPS-140-2 Level 3 HSM,例如SafeNet Luna HSM和SafeNet ProtectServer HSM)结合使用的令牌化软件服务。
使用哈希来生成令牌和NIST 800-131a
为了避免字典攻击,应使用哈希函数将加密盐添加到令牌生成中以提高安全性。但是,VISA建议每个商户使用相同的盐作为多用途令牌,并提到盐的最小大小应为64位。
根据NIST 800-131a,密码盐的大小至少应为80位。因此,使用散列生成的令牌应遵循NIST的其他要求,并考虑使用80位的最小加密盐。
结论
我们看到,在令牌化和令牌生成方面,FIPS和NIST通常会增加额外的安全要求。当前,由于没有令牌的“全局”标准,因此明智的选择是确保令牌平台遵守NIST的要求,即使在PCI-DSS或EMV验证中此类要求并非始终是强制性的。
联系揽阁信息,您可以获取到更多满足全球合规性要求的信息安全产品资料,以及相关的整体解决方案的相关资料。如:
数据库访问控制:揽阁LGPAC系统
通用HSM:Luna HSM、ProtectServer HSM
支付HSM:payShield 10K
您还可以得到揽阁信息所提供的优质服务。
揽阁信息 · 值得您信赖的信息安全顾问!