金融POS设备中涉及的一些标准

本文将我所知的在金融POS上涉及到的标准罗列出来,方便查询,也方便新入门者参考。

水平有限,如有错漏,望海涵,并请不吝赐教!

 

金融POS涉及的技术标准

标准文档 简单说明

ISO7810

ISO7811

ISO7812

ISO7813

磁条卡相关国际标准
ISO7816 IC卡相关国际标准
ISO14443 非接触卡(金融NFC卡)国际标准
ANSI X9.24

定义了密钥管理方法,包括如Fixed Key, Master-Session Key, DUKPT等定义

对应的国际标准为ISO11568

ANSI X9 TR-31 定义了如何将对称密钥进行封装的对称密钥交换标准,这是PCI认可的对称密钥交换方式。
ANSI X9 TR-34 定义了如何基于非对称加密技术的安全的密钥交换,这是PCI任何的密钥交换方式。
ISO9797-1 信息校验码(MAC)算法的国际标准,里面定义了若干种MAC算法,金融POS使用了其中一两种。
ISO9564 PINBLOCK格式标准,及PINBLOCK加密方法的国际标准,里面定义了Format0-4共5种PINBLOCK格式。金融POS一般使用其中的一种或数种。
ISO10116 定义了对称密码算法的几种计算模式,如ECB/CBC/CFB/OFB/CTR

NIST SP800-22

定义了随机数的统计学测试标准,依据这个标准有一个测试工具STS,使用STS可以测试出数据的随机性
NIST SP800-38B MAC算法标准,与ISO9797-1等效
NIST SP800-90A 定义了几种随机数算法,如:HASH-DRBG/CTR-DRBG/HMAC-DRBG,PCI委员会要求金融POS需要使用符合这个标准的随机数算法
NIST SP800-175B 规定了联邦政府密码学实现指导,规定了密码学设备应该使用的算法标准,比如:哪些算法不应被使用,RSA算法应该使用多少位以上的位数等。

ITU-T X.509

定义了公钥证书的格式和内容标准,几乎所有数字证书都遵循此标准

 

金融POS关注的几类数据

  • PAN - 用户的主账户,即:银行卡号,这个数据在交易流程中会被用到。
  • PIN - 用户的银行卡密码,即:银行卡取款密码,在交易流程中会被用到。
  • 密钥 - 用来对PAN或PIN等数据进行加密或计算MAC等的对称密钥

这几类数据都需要进行严格的保护,但保护方式各有差异。

 

金融POS涉及常见算法

  • MAC算法 - 用来确保数据从一端到另一端的完整性与合法性,比如交易数据中的帐号、金额等不能被篡改,就需要MAC。
  • PINBLOCK算法 - 用来将PIN密码按规定的格式进行编码,这样银行后端能使用统一的格式来解密出PIN。
  • PINBLOCK加密算法 - 用来对PINBLOCK进行加密的算法,这样在公开网络上传输的是经过加密后的PIN。
  • 随机数算法 - 很多算法中都会用到随机数,甚至密钥的产生通常也是用随机数的,随机数必须具备不可预测的特点。

 

金融POS中常见的加密算法

  • DES/TDES算法 - 2019年(PCI-V5)之前的所有POS都支持DES/TDES算法
  • AES算法 - 2019年(PCI-V5)之后的所有POS都支持AES算法,NIST、PCI等多个组织都已经将DES密码视为安全性较弱
  • SHA256 - 金融POS通常用它来进行数字签名/验签等,SHA1及MD5在被王小云公布破解方法后宣告不安全。
  • RSA2048 - 金融POS要求使用更高的RSA长度,通常大家使用RSA2048。以前使用RSA1024,但已经被宣告太弱。
  • EC算法 - 椭圆曲线算法,比RSA更加优秀的非对称加密算法,今年使用频率有所上升。256bit长度的EC算法密钥强度已经远远高于RSA2048.
  • SM2 - 中国国产密码算法家族中的一种非对称加密算法,是EC算法的一个实例,长度为256bit。
  • SM3 - 中国国产密码算法家族中的一种HASH(也叫杂凑)算法,强度相当于SHA256
  • SM4 - 中国国产密码算法家族中的一种对称加密算法,块长度为128bit,强度相当于AES-128.

 

你可能感兴趣的:(POS,POI,PCI,银联,NIST,密码学)