CN105160242B - 一种读卡器的证书加载方法、证书更新方法及读卡器 - Google Patents

一种读卡器的证书加载方法、证书更新方法及读卡器 Download PDF

Info

Publication number
CN105160242B
CN105160242B CN201510516023.2A CN201510516023A CN105160242B CN 105160242 B CN105160242 B CN 105160242B CN 201510516023 A CN201510516023 A CN 201510516023A CN 105160242 B CN105160242 B CN 105160242B
Authority
CN
China
Prior art keywords
certificate
card reader
data
public
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510516023.2A
Other languages
English (en)
Other versions
CN105160242A (zh
Inventor
王辉
周欣
徐科
马虹
申绯斐
马健
殷骏
尚小航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CCIC CONSTRUCTION INFORMATION CO.,LTD.
Original Assignee
BEIJING YISUMA DATA PROCESSING CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING YISUMA DATA PROCESSING CO LTD filed Critical BEIJING YISUMA DATA PROCESSING CO LTD
Priority to CN201510516023.2A priority Critical patent/CN105160242B/zh
Publication of CN105160242A publication Critical patent/CN105160242A/zh
Application granted granted Critical
Publication of CN105160242B publication Critical patent/CN105160242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种读卡器的证书加载方法、证书更新方法及读卡器,证书加载方法包括:根据读卡器中应用根证书的公钥,验证待加载的第一证书的签名是否合法;若签名合法,则解析第一证书,获取该第一证书中的公钥;采用公钥对预设数据进行加密,获得加密后的加密数据;根据预先生成公私密钥对的私钥,对加密数据进行解密,获得解密后的数据;私钥为读卡器预先生成的用于获取第一证书的公私密钥对中与第一证书中的公钥对应的私钥;判断解密后的数据与预设数据是否一致,若一致,则将第一证书写入读卡器的指定位置,完成第一证书加载。上述方法在读卡器中加载安全证书之后,可实现与CPU卡交易过程中保证信息的合法性、机密性和完整性。

Description

一种读卡器的证书加载方法、证书更新方法及读卡器
技术领域
本发明涉及智能卡技术,尤其涉及一种读卡器的证书加载方法、一种读卡器的证书更新方法及读卡器。
背景技术
随着时代的发展,城市交通一卡通行业日渐成熟。据不完全统计,全国有440多个城市建立了不同规模的城市一卡通IC卡系统。近年来,用卡环境的安全性成为全社会广泛关注的事情。城市一卡通领域属于民生工程,用卡环境是否安全关系到广大持卡者的利益。一旦卡的安全受到侵害,不仅会对持卡者造成损失,而且也会对社会稳定构成威胁。
城市交通一卡通系统及应用的安全问题的核心是系统中的密钥管理问题。如何安全可靠的生成、分发、使用和维护系统的密钥是城市一卡通设计需要解决的重点。一般采用对称密钥体系和非对称密钥体系相结合的方式来设计相应的密钥管理体系。其中,采用非对称密钥体系来保护对称密钥的分发、使用和维护,以保证系统中的对称密钥的安全,防止密钥泄露或受到攻击。
然而,城市一卡通的交易过程属于离线交易过程,包括了发卡、充值和消费三类交易类型。其中,发卡和充值交易需要在上位机平台和CPU卡上进行,这就涉及到将交易指令等敏感信息在二者之间的交换。传统的交流流程对敏感信息和指令未采取保护措施,因此增加了信息和系统被攻击的风险,造成身份冒用、信息窃取和数据篡改等问题。
为此,如何提供一种能够生成安全证书,且加载安全证书的读卡器,实现与CPU卡交易过程中保证信息的机密性和完整性成为当前亟需解决的问题。
发明内容
本发明提供一种读卡器的证书加载方法、证书更新方法及读卡器,用于保证在与CPU卡交易过程中信息的机密性和完整性。
第一方面,本发明提供一种读卡器的证书加载方法,包括:
根据读卡器中应用根证书的公钥,验证待加载的第一证书的签名是否合法;
若待加载的第一证书的签名合法,则解析所述第一证书,获取该第一证书中的公钥;
采用所述公钥对预设数据进行加密,获得加密后的加密数据;
根据预先生成公私密钥对的私钥,对所述加密数据进行解密,获得解密后的数据;所述私钥为所述读卡器预先生成的用于获取第一证书的公私密钥对中与该第一证书中的公钥对应的私钥;
判断解密后的数据与所述预设数据是否一致,若一致,则将所述第一证书写入读卡器的指定位置,完成第一证书加载。
可选地,根据读卡器中应用根证书的公钥,验证待加载的第一证书的签名是否合法的步骤之前,所述方法还包括:
在读卡器预加载第一证书时,生成用于验证第一证书的公私密钥对,所述公私密钥对包括公钥和私钥;
将所述公钥发送注册中心设备,以使注册中心设备将所述公钥和所述读卡器的安全认证识别码发送验证中心设备;
接收所述验证中心设备发送的待加载的第一证书,所述第一证书为所述验证中心设备根据所述公钥和所述安全认证识别码生成的,且具有验证中心设备签名信息的证书。
可选地,所述根据读卡器中应用根证书的公钥,验证待加载的第一证书的签名是否合法的步骤,包括:
查看所述应用根证书的公钥是否可以对待加载的第一证书的签名信息进行解密,如果能解密,则确定所述待加载的第一证书的签名合法;
其中,所述应用根证书的公钥为验证中心设备预先生成的用于验证第一证书签名是否合法的公私密钥对中的公钥,且所述验证中心设备发送的待加载的第一证书的签名信息为采用该公私密钥对中的私钥加密的签名信息。
可选地,生成用于验证第一证书的公私密钥对的步骤,包括:
采用国密算法SM2生成的用于验证第一证书的公私密钥对。
可选地,所述第一证书为业务证书,或者设备证书;
所述预设数据为所述读卡器的安全认证识别码。
第二方面,本发明提供一种读卡器的证书更新方法,包括:
根据读卡器应用根证书的公钥,判断待加载的第二证书是否合法;
若待加载的第二证书合法且处于有效期,则解析所述第二证书,获取该第二证书中的临时公钥;
采用所述临时公钥对预设数据进行加密,获得加密后的加密数据;
根据预先生成公私密钥对的临时私钥,对所述加密数据进行解密,获得解密后的数据;所述临时私钥为所述读卡器预先生成的用于获取第二证书的公私密钥对中与该第二证书中的临时公钥对应的临时私钥;
判断解密后的数据与所述预设数据是否一致,若一致,则将所述待加载的第二证书替换第一证书;所述第一证书为所述读卡器中需要更新的证书。
可选地,根据读卡器应用根证书的信息,判断待加载的第二证书是否合法步骤之前,所述方法还包括:
在读卡器预更新第一证书时,生成用于验证第二证书的临时公私密钥对,所述公私密钥对包括临时公钥和临时私钥;
将所述临时公钥发送注册中心设备,以使注册中心设备将所述临时公钥和所述读卡器的安全认证识别码发送验证中心设备;
接收所述验证中心设备发送的待加载的第二证书,所述第二证书为所述验证中心设备根据所述临时公钥和所述安全认证识别码生成的,且具有验证中心设备签名信息的证书。
可选地,所述第一证书为业务证书,所述第二证书为所述业务证书的过渡证书;
所述第一证书为设备证书,所述第二证书为所述设备证书的过渡证书;
所述预设数据为所述读卡器的安全认证识别码。
可选地,根据读卡器应用根证书的公钥,判断待加载的第二证书是否合法的步骤,包括:
查看所述应用根证书的公钥是否可以对待加载的第二证书的签名信息进行解密,如果能解密,则确定所述待加载的第二证书的签名合法;以及
查看签名信息中的有效期是否过期,若未过期,则确定待加载的第二证书处于有效期;
其中,所述应用根证书的公钥为验证中心设备预先生成的用于验证第二证书签名是否合法的公私密钥对中的公钥,且所述验证中心设备发送的待加载的第二证书的签名信息为采用该公私密钥对中的私钥加密的签名信息,所述签名信息包括签名和第二证书的有效期。
第三方面,本发明还提供一种读卡器的信息处理方法,包括:
读卡器接收到上位机发送的第一指令,所述第一指令包括向CPU卡转发的数据信息,以及该数据信息是否加解密的参数信息;
所述读卡器根据所述第一指令的参数信息,判断所述数据信息是明文数据信息,还是采用所述读卡器中第一证书的公钥加密的密文数据信息;
若确定所述数据信息为密文数据信息,则采用所述第一证书的私钥解密所述密文数据信息,并将解密后的数据信息发送CPU卡。
可选地,判断所述数据信息是明文数据信息,还是采用所述读卡器中第一证书的公钥加密的密文数据信息的步骤之后,所述方法还包括:
若确定所述数据信息为明文数据信息,则将所述数据信息发送CPU卡。
可选地,所述方法还包括:
接收所述CPU卡根据所述数据信息发送的响应信息;
采用第一证书以及响应信息中的数据生成一签名信息,将该签名信息和所述响应信息组成数据包发送上位机。
可选地,所述第一证书为业务证书或设备证书。
第四方面,本发明还提供一种读卡器的证书加载装置,包括:
签名验证模块,用于根据读卡器中应用根证书的公钥,验证待加载的第一证书的签名是否合法;
解析模块,用于在签名验证模块验证所述第一证书的签名合法时,解析第一证书,获取该第一证书中的公钥;
数据验证模块,用于采用所述公钥对预设数据进行加密,获得加密后的加密数据;根据预先生成公私密钥对的私钥,对所述加密数据进行解密,获得解密后的数据,判断解密后的数据与所述预设数据是否一致;所述私钥为所述读卡器预先生成的用于获取第一证书的公私密钥对中与该第一证书中的公钥对应的私钥;
写入模块,用于在所述数据验证模块验证解密后的数据与所述预设数据一致时,将所述第一证书写入读卡器的指定位置,完成第一证书加载。
第四方面,本发明还提供一种读卡器,包括安全芯片和上述的读卡器的证书加载装置,所述读卡器的证书加载装置安装于安全芯片上。
由上述技术方案可知,本发明的读卡器的证书加载方法、证书更新方法及读卡器,在读卡器中加载第一证书,加载第一证书后的读卡器能够确保分别于上位机、CPU卡交互过程中,信息的安全性,且保证信息的完整性和机密性。
附图说明
图1为本发明一实施例提供的读卡器的证书加载方法的流程示意图;
图2为本发明一实施例提供的读卡器的证书生成方法的流程示意图;
图3为本发明一实施例中读卡器的证书更新方法的示意图;
图4为本发明一实施例中读卡器的信息处理方法的示意图;
图5为本发明一实施例提供的读卡器的证书加载装置的结构示意图;
图6为本发明一实施例提供的读卡器的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明实施例提供一种带有CA证书功能的读卡器,该读卡器实现CPU卡与上位机的交互。
在实际应用中,读卡器包括:芯片硬件和芯片操作系统(COS)。芯片硬件包括:安全芯片、射频电路、USB接口模块和外围电路。
其中,安全芯片包括非挥发性存储器、另一存储器、支持国际通用加解密算法和特定国密算法的处理器等。该安全芯片支持ISO 14443Type A协议。非挥发性存储器用于存储安全认证识别码,另一存储器用于存储应用根证书、业务证书和设备证书,业务证书用于确保读卡器到上位机的业务相关通讯的保密性和完整性,设备证书用于表示安全芯片的身份,并用于确保上位机到读卡器的下发通讯的保密性和完整性,以及读卡器到上位机的上传通讯数据的签名等信息的保密性和完整性。处理器支持国密SM1和SM2算法,且具有对称和非对称密钥管理功能。
射频电路与非接触式CPU卡交互,USB接口模块用于与上位机系统相连。
芯片操作系统包括:COS的基本功能、基于安全认证识别码的证书安全机制、CA证书功能和CPU卡操作指令。其中,所述CPU卡操作指令需要所述CA证书功能的安全保护。通过CA证书功能对CPU操作指令传输的保护,上位机系统经该读卡器与CPU卡的通讯和数据的安全性大大提高。
在具体应用中,在安全芯片中保存有一个安全认证识别码,用于表明读卡器安全芯片的唯一身份,具备安全认证识别码是读卡器实现CA证书功能的基础。
本发明实施例中读卡器的安全认证识别码长度为9字节,由3个字段组成,包括1字节MID字段、4字节芯片UID字段和4字节认证数字段。
在读卡器的安全芯片出厂前,由芯片生产商将安全认证识别码一次性写入安全芯片的存储区,装载后不能更改,即使芯片恢复出厂设置也不能再次写入。读卡器的安全芯片只支持通过指令读取的方式对外返回安全认证识别码,因此读卡器的芯片操作系统COS的指令集中包含有安全认证识别码读取指令。
读卡器的安全芯片不支持安全芯片认证码的更新与销毁功能。
通过上述存储和读取机制,读卡器的安全芯片中安全认证识别码的安全性得到保障。
另外,上述芯片操作系统中的CA证书功能是读卡器的芯片操作系统的主要特征。通过证书机制,读卡器完成CPU卡操作指令的安全保护功能。在上位机系统交易流程中,读卡器通过CA证书功能对CPU卡操作指令完成加密或签名功能,以保护发送信息的合法性、完整性和机密性。
当前,读卡器采用的证书规格如下:1)证书格式采用标准X.509格式;2)证书签名算法采用RSA;3)证书压缩算法采用SHA1;4)证书编码为DER。
本发明实施例的读卡器中包含有3个证书,分别是:
应用根证书:主要用于验证业务证书与设备证书的有效性;
业务证书:主要用于确保从读卡器到上位机的业务相关通讯的保密性与完整性;
设备证书:主要用于标识安全芯片的身份,并用于确保从上位机到读卡器的下发通讯的保密性与完整性,以及从读卡器到上位机的上传通讯数据的签名。
读卡器中的各证书的生命周期包括证书生成、证书装载、证书更新和证书读取等环节。其中,应用根证书是由CA中心设备(验证中心设备)提供,其生成过程无需安全芯片参与,且安全芯片只负责装载。
设备证书和业务证书的生成过程需由安全芯片和RA中心设备(注册中心设备)、CA中心设备共同完成。此过程中,由读卡器生成的公私密钥对发送给RA中心设备,在由CA中心设备结合安全认证识别码信息生产设备证书或业务证书。
证书装载到读卡器时,应首先装载应用根证书,再装载业务证书、设备证书,顺序不可变更。如安全芯片内某证书已存在,则安全芯片不应支持此证书再次装载。
图1示出了本发明一实施例提供的读卡器的证书加载方法的流程示意图,如图1所示,本实施例的读卡器的证书加载方法如下所述。
101、根据读卡器中应用根证书的公钥,验证待加载的第一证书的签名是否合法。
例如,可查看应用根证书的公钥是否可以对待加载的第一证书的签名信息进行解密,如果能解密,则确定所述待加载的第一证书的签名合法;
应说明的是,应用根证书的公钥为验证中心设备预先生成的用于验证第一证书签名是否合法的公私密钥对中的公钥,且所述验证中心设备发送的待加载的第一证书的签名信息为采用该公私密钥对中的私钥加密的签名信息。
102、若待加载的第一证书的签名合法,则解析所述第一证书,获取该第一证书中的公钥。
当然,若待加载的第一证书的签名不合法,即报错,则结束。
103、采用所述公钥对预设数据进行加密,获得加密后的加密数据。
在本实施例中,预设数据可为所述读卡器的安全认证识别码。应说明的是,该安全认证识别码为出厂是装载在读卡器的安全芯片中的,用于表明该读卡器的安全芯片的唯一身份。
通常,安全认证识别码的长度可为9个字节,由3个字段组成,包括一个字节的MID字段,四个字节的芯片UID字段和四个字节的认证数字段。
104、根据预先生成公私密钥对的私钥,对所述加密数据进行解密,获得解密后的数据;所述私钥为所述读卡器预先生成的用于获取第一证书的公私密钥对中与该第一证书中的公钥对应的私钥;
105、判断解密后的数据与所述预设数据是否一致,若一致,则将所述第一证书写入读卡器的指定位置,完成第一证书加载。
可理解的是,上述的第一证书可为用于确保读卡器到上位机的业务相关通信的保密性和完整性的业务证书。
或者,上述的第一证书可为用于标识读卡器中安全芯片的身份,并用于确保从上位机到读卡器的下发通讯的保密性和完整性,以及从读卡器到上位机的上传通讯数据的签名的保密性的设备证书。
应说明的是读卡器应预先加载业务证书,再加载设备证书,若读卡器未加载业务证书,是无法加载设备证书的。
本实施例的读卡器的证书加载方法,在读卡器中加载第一证书,加载第一证书后的读卡器能够确保分别于上位机、CPU卡交互过程中,信息的安全性,且保证信息的完整性和机密性。
可理解的是,本实施例中读卡器中各证书装载功能说明如下:
设备证书:装载需要验证证书的合法性和正确性,签名合法性由应用根证书来完成验证,验证通过后,再基于安全认证识别码来检验公私钥对的正确性。
业务证书:需要验证证书的正确性,验证步骤与上述设备证书装载的步骤相同。
安全芯片内如已存在某证书,则此证书只支持更新操作。
图2示出了本发明一实施例提供的读卡器的证书生成方法的流程示意图,如图2所示,本实施例的读卡器的证书生成方法与图1相比,在步骤101之前,还包括下述的步骤S01至S03。
S01、在读卡器预加载第一证书时,生成用于验证第一证书的公私密钥对,所述公私密钥对包括公钥和私钥。
举例来说,采用国密算法SM2生成的用于验证第一证书的公私密钥对。
S02、将所述公钥发送注册中心设备,以使注册中心设备将所述公钥和所述读卡器的安全认证识别码发送验证中心设备;
S03、接收所述验证中心设备发送的待加载的第一证书,所述第一证书为所述验证中心设备根据所述公钥和所述安全认证识别码生成的,且具有验证中心设备签名信息的证书。
在本实施例中,验证中心设备也预先生成自己的公私密钥对,其中公钥可有任意设备获取,例如,读卡器的应用根证书中可记载有验证中心设备的公钥信息,进而验证中心设备在生成的第一证书时,通常采用自己的公私密钥对中的私钥加密第一证书的签名信息,以便读卡器接收待加载的第一证书之后,可通过应用根证书的公钥验证待加载的第一证书的签名信息的合法性。
另外,本实施例的第一证书可为设备证书或业务证书。
也就是说,读卡器包含的设备证书和业务证书的生成过程需由安全芯片和RA中心设备(注册中心设备)、CA中心设备(验证中心设备)共同完成,例如,上述的步骤S01至步骤S03。
即读卡器预先生成国密算法SM2的公私密钥对;读卡器将公钥返回给RA中心设备;RA中心设备得到公钥,再结合芯片安全认证识别码等其他信息后,交由CA中心设备签发第一证书,进而CA中心设备将签名生成设备证书或业务证书发送读卡器加载。
读卡器的设备证书的装载如上图1所述的方法,另可举例说明如下:第一、调用应用根证书,验证安全芯片设备证书的签名合法性,验证失败报错退出;
第二、解析证书中公钥(该公钥为设备中的且为读卡器在加载设备证书之前生成的公私密钥对中的公钥)对固定数据进行加密,得到密文;固定数据可为读卡器的安全认证识别码;
第三、读取私钥(该私钥为设备中的且为读卡器在加载设备证书之前生成的公私密钥对中的私钥),解密密文,得到固定数据;
第四、对比未加密的固定数据与加密解密后的固定数据是否一致,一致则将证书写入对应位置,证书完成装载,不一致则报错退出。此处的固定数据为安全芯片中保存的安全认证识别码。
图3示出了本发明一实施例提供的读卡器的证书更新方法的流程示意图,如图3所示,本实施例的读卡器的证书更新方法如下所述。
301、根据读卡器应用根证书的公钥,判断待加载的第二证书是否合法。
举例来说,上述步骤301可具体说明如下:查看所述应用根证书的公钥是否可以对待加载的第二证书的签名信息进行解密,如果能解密,则确定所述待加载的第二证书的签名合法;以及
查看签名信息中的有效期是否过期,若未过期,则确定待加载的第二证书处于有效期;
其中,所述应用根证书的公钥为验证中心设备预先生成的用于验证第二证书签名是否合法的公私密钥对中的公钥,且所述验证中心设备发送的待加载的第二证书的签名信息为采用该公私密钥对中的私钥加密的签名信息,所述签名信息包括签名和第二证书的有效期。
302、若待加载的第二证书合法且处于有效期,则解析所述第二证书,获取该第二证书中的临时公钥。
当然,若待加载的第二证书合法但不处于有效期,即无效,则结束。或者,若待加载的第二证书不合法,则结束。
303、采用所述临时公钥对预设数据进行加密,获得加密后的加密数据。
本实施例中的所述预设数据可为所述读卡器的安全认证识别码。
304、根据预先生成公私密钥对的临时私钥,对所述加密数据进行解密,获得解密后的数据;所述临时私钥为所述读卡器预先生成的用于获取第二证书的公私密钥对中与该第二证书中的临时公钥对应的临时私钥;
305、判断解密后的数据与所述预设数据是否一致,若一致,则将所述待加载的第二证书替换第一证书;所述第一证书为所述读卡器中需要更新的证书。
在一种可能的实现方式中,前述图3所示的方法的步骤301之前,还可包括下述的图中未示出的步骤M01至步骤M03。
M01、在读卡器预更新第一证书时,生成用于验证第二证书的临时公私密钥对,所述公私密钥对包括临时公钥和临时私钥;
M02、将所述临时公钥发送注册中心设备,以使注册中心设备将所述临时公钥和所述读卡器的安全认证识别码发送验证中心设备;
M03、接收所述验证中心设备发送的待加载的第二证书,所述第二证书为所述验证中心设备根据所述临时公钥和所述安全认证识别码生成的,且具有验证中心设备签名信息的证书。
应说明的是,上述的第一证书可为业务证书,则所述第二证书为所述业务证书的过渡证书;
若所述第一证书为设备证书,则所述第二证书为所述设备证书的过渡证书。
加载有第一证书或第二证书的读卡器能够解决智能卡应用系统中信息传递过程的信息泄露的问题。
读卡器中的应用根证书、设备证书和业务证书均对外提供读取功能,上位机通过向读卡器发送指令读取证书。
图4示出了本发明一实施例提供的读卡器的信息处理方法的流程示意图,如图4所示,本实施例的读卡器的信息处理方法如下所述。
401、读卡器接收到上位机发送的第一指令,所述第一指令包括向CPU卡转发的数据信息,以及该数据信息是否加解密的参数信息;
402、读卡器根据所述第一指令的参数信息,判断所述数据信息是明文数据信息,还是采用所述读卡器中第一证书的公钥加密的密文数据信息;
403、若确定所述数据信息为密文数据信息,则采用所述第一证书的私钥解密所述密文数据信息,并将解密后的数据信息发送CPU卡。
404、若确定所述数据信息为明文数据信息,则将所述数据信息发送CPU卡。
可选地,在具体实现过程中,图4所示的方法还可包括下述的图中未示出的步骤405和步骤406:
405、读卡器接收所述CPU卡根据所述数据信息发送的响应信息;
406、读卡器采用第一证书以及响应信息中的数据生成一签名信息,将该签名信息和所述响应信息组成数据包发送上位机。
应说明的是,上述步骤406中签名信息和响应信息组成数据包时,该签名信息可位于数据包的末端,即签名信息排在响应信息的后方,进而使得上位机可解析响应信息之后,采用签名信息验证响应信息中的数据。
本实施例中的第一证书可为业务证书或设备证书。
可理解的是,本实施例中的读卡器作为上位机系统和CPU卡之间的操作指令传输的中介,基于所述的证书机制完成交易流程中CPU卡的敏感指令信息的保护。读卡器支持的指令可包括CPU卡上电复位指令和CPU卡命令转发指令两种。上述图4中所述的第一指令可为CPU卡命令转发指令。
为了与读卡器通讯,上位机在向读卡器发送CPU操作指令前,需获取读卡器的设备证书中的公钥和业务证书中的公钥并保存。
CPU卡上电复位指令,用于对标准CPU卡进行上电复位。该指令一般在上位机操作CPU卡的初始阶段发出,读卡器在接收该指令后,需在选卡成功后,验证CPU卡的安全认证识别码的合法性,验证通过后才向上位机返回CPU卡复位信息。
CPU卡命令转发指令,用于在交易流程中将上位机发送的CPU卡操作命令转发给CPU卡,并将CPU卡返回数据返回给上位机。该指令由上位机发送给读卡器,指令中包含CPU卡操作指令,CPU卡在得到指令后,转发给CPU卡,CPU卡完成指令后,将结果返回给读卡器,读卡器在对结果进行签名后,将指令结果和签名一起返回给上位机。上述过程中,上位机在向CA读卡器发送指令时,指令内容可以采用明文或密文形式,若采用密文形式,需先使用读卡器证书中的公钥对指令加密。
另外,需要说明的是,读卡器的芯片操作系统对外提供统一的指令集,包括基本指令、RF控制指令、CA功能指令、标准CPU卡操作指令。基本指令主要包括扩展、管理、认证、数据传输、文件管理指令。除基本指令外,所述指令集还包括3类共7条指令:
1)RF控制指令:提供RF的掉电重上电控制功能,通过参数可以使RF掉电并充上电或RF掉电。
2)读取安全芯片的安全认证识别码:用于读取9字节的安全认证识别码。
3)产生国密算法SM2的公私钥对指令:用于产生256位长的SM2算法公私钥对,返回公钥(包括公钥X和公钥Y),将私钥写入芯片临时缓存区,待证书装载指令执行成功后,才将私钥写入指定存储位置。
4)证书装载和更新指令:用于完成证书的装载和更新操作,包含两个参数和1个数据域。参数一用于指定本次指令完成的是装载设备根证书、设备证书、业务证书、过渡证书或更新设备根证书;参数二用于表示数据域中的数据是被装载(更新)证书的起始帧、中间帧或结束帧。数据域中为DER格式的证书数据。
5)证书读取指令:用于读取所述CA读卡器中保存的3个证书,包含一个参数用于指定读取的时设备根证书、设备证书或业务证书。
6)标准CPU卡上电复位指令:用于对CPU卡上电复位,其过程包括:安全芯片会对CPU卡进行上电复位,复位完成后会读取标准CPU卡的安全认证识别码,CPU卡安全认证识别码认证通过后,将CPU卡复位信息返回。具体步骤如下:
①收到CPU卡复位指令;
②完成CPU卡的上电复位操作,并获得了CPU卡的ATR返回;
③对CPU卡发送CPU卡安全认证识别码读取指令,认证码读取成功则执行⑥,失败则执行④;
④对CPU卡发送AID选择指令(AID=A00000000386980701),应用选择成功则执行⑤,失败则报错退出;
⑤对CPU卡发送CPU卡安全认证识别码读取指令,认证码读取成功则执行⑥,失败则报错退出;
⑥芯片对CPU卡认证码进行验证,验证通过芯片则返回CPU卡ATR,失败则报错退出。
7)CPU卡命令转发指令(图4):用于转发上位机发送给CPU卡的指令数据,再将CPU卡的执行结果签名后返回给上位机,包含两个参数和一个数据域。参数一用来指定数据域的数据的加密形式,包含3种情况:
a)数据域的数据为明文,此时直接将该数据作为指令发给CPU卡;
b)数据为设备证书公钥加密的密文,此时用设备证书的私钥解密数据,再将数据作为指令发给CPU卡;
c)数据为业务证书公钥加密的密文,此时用业务证书的私钥解密数据,再将数据作为指令发给CPU卡。
参数二用来指定数据域中的数据为起始帧、中间帧或结束帧。所述CA读卡器在收到CPU卡的返回结果后,用设备证书和业务证书生成签名,附在返回结果后再发给上位机。
上述读卡器作为上位机和CPU卡之间操作的中介,利用读卡器中的证书提供的非对称密码体系来保护交易过程中指令操作的安全性。在采用本发明的新系统中,上位机和CPU卡之间操作需要进行身份认证,敏感信息采用密文传输,增强了系统的安全性,保证了信息的机密性和完整性。
图5示出了本发明一实施例提供的读卡器的证书加载装置的结构示意图,如图5所示,本实施例的读卡器的证书加载装置包括:签名验证模块51、解析模块52、数据验证模块53、写入模块54;
签名验证模块51用于根据读卡器中应用根证书的公钥,验证待加载的第一证书的签名是否合法;
解析模块52用于在签名验证模块验证所述第一证书的签名合法时,解析第一证书,获取该第一证书中的公钥;
数据验证模块53用于采用所述公钥对预设数据进行加密,获得加密后的加密数据;根据预先生成公私密钥对的私钥,对所述加密数据进行解密,获得解密后的数据,判断解密后的数据与所述预设数据是否一致;所述私钥为所述读卡器预先生成的用于获取第一证书的公私密钥对中与该第一证书中的公钥对应的私钥;
写入模块54用于在所述数据验证模块验证解密后的数据与所述预设数据一致时,将所述第一证书写入读卡器的指定位置,完成第一证书加载。
在另一种可选的实现方式中,签名验证模块51还用于根据读卡器应用根证书的公钥,判断待加载的第二证书是否合法;例如,查看应用根证书的公钥是否可以对待加载的第二证书的签名信息进行解密,如果能解密,则确定待加载的第二证书的签名合法,以及查看签名信息中的有效期是否过期,若未过期,则确定待加载的第二证书处于有效期。
解析模块52还用于在待加载的第二证书合法且处于有效期,则解析所述第二证书,获取第二证书中的临时公钥;
数据验证模块53还可用于根据临时公钥对预设数据进行加密,获得加密后的加密数据;根据预先生成公私密钥对的临时私钥,对所述加密数据进行解密,获得解密后的数据,并判断解密后的数据与预设数据是否一致;所述临时私钥为所述读卡器预先生成的用于获取第二证书的公私密钥对中与该第二证书中的临时公钥对应的临时私钥;
写入模块54还用于在判断解密后的数据与预设的数据一致时,将待加载的第二证书替换第一证书,以写入读卡器的指定位置,第一证书为读卡器中需要更新的证书。
另一方面,本发明还提供一种读卡器,该读卡器包括安全芯片、射频电路及上述的读卡器的证书加载装置,所述读卡器的证书加载装置安装于安全芯片上。
安全芯片主要负责与上位机通讯(采用USB CCID协议),用于解析APDU指令,实现上位机对非接触CPU卡操作功能、同时具有SM2、SM3算法功能,且可存放第一证书或第二证书等。
在本发明实施例中,安全芯片可采用复旦微电子FM1916芯片,该FM1916芯片内部由复旦微电子FM15160芯片和智能读写器芯片复旦微电子FM1935合封而成(见图6)。作为安全芯片FM1916的主控芯片,FM15160完成通讯处理、国际通用加密算法和国密算法运算,FM1935完成支持ISO 14443 Type A协议的非接触通讯收发控制。FM1916采用QFN64的封装形式。
非接触通讯电路即射频电路主要负责调整非接触通讯电路的天线射频性能。
实际应用中的读卡器还包括外围电路,所述外围电路可包括晶振、电源电路、指示灯电路等常规外围电路。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

Claims (16)

1.一种读卡器的证书加载方法,其特征在于,包括:
根据读卡器中应用根证书的公钥,验证待加载的第一证书的签名是否合法;
若待加载的第一证书的签名合法,则解析所述第一证书,获取该第一证书中的公钥;
采用所述第一证书中的公钥对预设数据进行加密,获得加密后的加密数据;
根据预先生成公私密钥对的私钥,对所述加密数据进行解密,获得解密后的数据;所述私钥为所述读卡器预先生成的用于获取第一证书的公私密钥对中与该第一证书中的公钥对应的私钥;
判断解密后的数据与所述预设数据是否一致,若一致,则将所述第一证书写入读卡器的指定位置,完成第一证书加载。
2.根据权利要求1所述的方法,其特征在于,根据读卡器中应用根证书的公钥,验证待加载的第一证书的签名是否合法的步骤之前,所述方法还包括:
在读卡器预加载第一证书时,生成用于验证第一证书的公私密钥对,所述公私密钥对包括公钥和私钥;
将所述公钥发送注册中心设备,以使注册中心设备将所述公钥和所述读卡器的安全认证识别码发送验证中心设备;
接收所述验证中心设备发送的待加载的第一证书,所述第一证书为所述验证中心设备根据所述公钥和所述安全认证识别码生成的,且具有验证中心设备签名信息的证书。
3.根据权利要求2所述的方法,其特征在于,所述根据读卡器中应用根证书的公钥,验证待加载的第一证书的签名是否合法的步骤,包括:
查看所述应用根证书的公钥是否可以对待加载的第一证书的签名信息进行解密,如果能解密,则确定所述待加载的第一证书的签名合法;
其中,所述应用根证书的公钥为验证中心设备预先生成的用于验证第一证书签名是否合法的公私密钥对中的公钥,且所述验证中心设备发送的待加载的第一证书的签名信息为采用该公私密钥对中的私钥加密的签名信息。
4.根据权利要求2所述的方法,其特征在于,生成用于验证第一证书的公私密钥对的步骤,包括:
采用国密算法SM2生成的用于验证第一证书的公私密钥对。
5.根据权利要求1所述的方法,其特征在于,所述第一证书为业务证书,或者设备证书;
所述预设数据为所述读卡器的安全认证识别码。
6.一种读卡器的证书更新方法,其特征在于,包括:
根据读卡器应用根证书的公钥,判断待加载的第二证书是否合法;
若待加载的第二证书合法且处于有效期,则解析所述第二证书,获取该第二证书中的临时公钥;
采用所述临时公钥对预设数据进行加密,获得加密后的加密数据;
根据预先生成公私密钥对的临时私钥,对所述加密数据进行解密,获得解密后的数据;所述临时私钥为所述读卡器预先生成的用于获取第二证书的公私密钥对中与该第二证书中的临时公钥对应的临时私钥;
判断解密后的数据与所述预设数据是否一致,若一致,则将所述待加载的第二证书替换第一证书;所述第一证书为所述读卡器中需要更新的证书。
7.根据权利要求6所述的方法,其特征在于,根据读卡器应用根证书的信息,判断待加载的第二证书是否合法步骤之前,所述方法还包括:
在读卡器预更新第一证书时,生成用于验证第二证书的临时公私密钥对,所述公私密钥对包括临时公钥和临时私钥;
将所述临时公钥发送注册中心设备,以使注册中心设备将所述临时公钥和所述读卡器的安全认证识别码发送验证中心设备;
接收所述验证中心设备发送的待加载的第二证书,所述第二证书为所述验证中心设备根据所述临时公钥和所述安全认证识别码生成的,且具有验证中心设备签名信息的证书。
8.根据权利要求7所述的方法,其特征在于,所述第一证书为业务证书,所述第二证书为所述业务证书的过渡证书;
或,所述第一证书为设备证书,所述第二证书为所述设备证书的过渡证书;
所述预设数据为所述读卡器的安全认证识别码。
9.根据权利要求6所述的方法,其特征在于,根据读卡器应用根证书的公钥,判断待加载的第二证书是否合法的步骤,包括:
查看所述应用根证书的公钥是否可以对待加载的第二证书的签名信息进行解密,如果能解密,则确定所述待加载的第二证书的签名合法;以及
查看签名信息中的有效期是否过期,若未过期,则确定待加载的第二证书处于有效期;
其中,所述应用根证书的公钥为验证中心设备预先生成的用于验证第二证书签名是否合法的公私密钥对中的公钥,且所述验证中心设备发送的待加载的第二证书的签名信息为采用该公私密钥对中的私钥加密的签名信息,所述签名信息包括签名和第二证书的有效期。
10.一种读卡器的信息处理方法,其特征在于,包括:
读卡器接收到上位机发送的第一指令,所述第一指令包括向CPU卡转发的数据信息,以及该数据信息是否加解密的参数信息;
所述读卡器根据所述第一指令的参数信息,判断所述数据信息是明文数据信息,还是采用所述读卡器中第一证书的公钥加密的密文数据信息;
若确定所述数据信息为密文数据信息,则采用所述第一证书的私钥解密所述密文数据信息,并将解密后的数据信息发送CPU卡。
11.根据权利要求10所述的方法,其特征在于,判断所述数据信息是明文数据信息,还是采用所述读卡器中第一证书的公钥加密的密文数据信息的步骤之后,所述方法还包括:
若确定所述数据信息为明文数据信息,则将所述数据信息发送CPU卡。
12.根据权利要求10所述的方法,其特征在于,所述方法还包括:
接收所述CPU卡根据所述数据信息发送的响应信息;
采用第一证书以及响应信息中的数据生成一签名信息,将该签名信息和所述响应信息组成数据包发送上位机。
13.根据权利要求11所述的方法,其特征在于,所述方法还包括:
接收所述CPU卡根据所述数据信息发送的响应信息;
采用第一证书以及响应信息中的数据生成一签名信息,将该签名信息和所述响应信息组成数据包发送上位机。
14.根据权利要求10至13任一所述的方法,其特征在于,所述第一证书为业务证书或设备证书。
15.一种读卡器的证书加载装置,其特征在于,包括:
签名验证模块,用于根据读卡器中应用根证书的公钥,验证待加载的第一证书的签名是否合法;
解析模块,用于在签名验证模块验证所述第一证书的签名合法时,解析第一证书,获取该第一证书中的公钥;
数据验证模块,用于采用所述第一证书中的公钥对预设数据进行加密,获得加密后的加密数据;根据预先生成公私密钥对的私钥,对所述加密数据进行解密,获得解密后的数据,判断解密后的数据与所述预设数据是否一致;所述私钥为所述读卡器预先生成的用于获取第一证书的公私密钥对中与该第一证书中的公钥对应的私钥;
写入模块,用于在所述数据验证模块验证解密后的数据与所述预设数据一致时,将所述第一证书写入读卡器的指定位置,完成第一证书加载。
16.一种读卡器,包括安全芯片,其特征在于,还包括权利要求15所述的读卡器的证书加载装置,所述读卡器的证书加载装置安装于安全芯片上。
CN201510516023.2A 2015-08-07 2015-08-20 一种读卡器的证书加载方法、证书更新方法及读卡器 Active CN105160242B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510516023.2A CN105160242B (zh) 2015-08-07 2015-08-20 一种读卡器的证书加载方法、证书更新方法及读卡器

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510484951 2015-08-07
CN2015104849515 2015-08-07
CN201510516023.2A CN105160242B (zh) 2015-08-07 2015-08-20 一种读卡器的证书加载方法、证书更新方法及读卡器

Publications (2)

Publication Number Publication Date
CN105160242A CN105160242A (zh) 2015-12-16
CN105160242B true CN105160242B (zh) 2018-01-05

Family

ID=54801096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510516023.2A Active CN105160242B (zh) 2015-08-07 2015-08-20 一种读卡器的证书加载方法、证书更新方法及读卡器

Country Status (1)

Country Link
CN (1) CN105160242B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106067205B (zh) * 2016-07-05 2018-10-09 大唐微电子技术有限公司 一种门禁鉴权方法和装置
CN106603532B (zh) * 2016-12-16 2020-03-27 南方城墙信息安全科技有限公司 教育金融复合卡认证方法和系统
WO2018132211A1 (en) * 2017-01-12 2018-07-19 Google Llc Verified boot and key rotation
CN109214221B (zh) * 2018-08-23 2022-02-01 武汉普利商用机器有限公司 一种身份证阅读器验证方法、上位机和身份证阅读器
CN109495445A (zh) * 2018-09-30 2019-03-19 青岛海尔科技有限公司 基于物联网的身份认证方法、装置、终端、服务器及介质
CN109614803B (zh) * 2018-11-13 2020-11-13 武汉天喻信息产业股份有限公司 一种票据防伪方法及系统
CN109948390A (zh) * 2019-04-13 2019-06-28 北京京投亿雅捷交通科技有限公司 一种轨道交通国密读写器
CN111460471A (zh) * 2020-03-18 2020-07-28 北京兆维自服装备技术有限公司 一种自助服务数据处理装置及方法
CN111414638B (zh) * 2020-04-23 2023-03-24 飞天诚信科技股份有限公司 一种区分密钥生成方式的实现方法及装置
CN114362951B (zh) * 2020-10-13 2024-05-17 花瓣云科技有限公司 用于更新证书的方法和装置
CN112800492A (zh) * 2021-02-05 2021-05-14 联想(北京)有限公司 一种解密磁盘数据的控制方法及装置
CN115102737B (zh) * 2022-06-15 2024-05-14 交通运输通信信息集团有限公司 面向交通一卡通的esam远程发行方法及系统
WO2024040444A1 (zh) * 2022-08-23 2024-02-29 深圳市大疆创新科技有限公司 数据处理方法、装置、设备、可移动平台、无人机、存储介质及程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188616A (zh) * 2007-12-12 2008-05-28 四川长虹电器股份有限公司 终端申请证书的方法
CN102831499A (zh) * 2012-08-06 2012-12-19 北京亿速码数据处理有限责任公司 全国城市一卡通互联互通系统及方法
CN103138925A (zh) * 2011-11-25 2013-06-05 中国移动通信集团公司 发卡操作方法、ic卡片和发卡设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066750A1 (en) * 2010-09-13 2012-03-15 Mcdorman Douglas User authentication and provisioning method and system
EP2836968B1 (en) * 2012-04-13 2020-05-06 OLogN Technologies AG Apparatuses, methods and systems for computer-based secure transactions
RS54229B1 (en) * 2012-06-14 2015-12-31 Vlatacom D.O.O. BIOMETRIC ACCESS CONTROL SYSTEM AND PROCEDURE

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188616A (zh) * 2007-12-12 2008-05-28 四川长虹电器股份有限公司 终端申请证书的方法
CN103138925A (zh) * 2011-11-25 2013-06-05 中国移动通信集团公司 发卡操作方法、ic卡片和发卡设备
CN102831499A (zh) * 2012-08-06 2012-12-19 北京亿速码数据处理有限责任公司 全国城市一卡通互联互通系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《基于PKI的跨区域一卡通应用研究》;周晖;《移动通信》;20121230;第46-48页 *
《智能卡数据交互安全性的研究与实现》;岳佩;《中国优秀硕士学位论文全文数据库》;20080815;第I135-129页 *

Also Published As

Publication number Publication date
CN105160242A (zh) 2015-12-16

Similar Documents

Publication Publication Date Title
CN105160242B (zh) 一种读卡器的证书加载方法、证书更新方法及读卡器
US20200372503A1 (en) Transaction messaging
CN103701812B (zh) 一种终端主密钥tmk安全下载方法及系统
JP4906168B2 (ja) Icカードのための鍵配送ユニット
CN102696047B (zh) 加密切换处理
CN104217327B (zh) 一种金融ic卡互联网终端及其交易方法
EP3017580B1 (en) Signatures for near field communications
CN106527673A (zh) 绑定可穿戴设备的方法和装置、电子支付方法和装置
CN107784499B (zh) 近场通信移动终端的安全支付系统及方法
CN104380652A (zh) 用于nfc使能设备的多发行商安全元件分区架构
CN205091758U (zh) 一种读卡器及cpu卡交易系统
Van Damme et al. Offline NFC payments with electronic vouchers
CN103955664B (zh) 一种车辆合格证二维码安全解码高拍仪及解码方法
CN108460597A (zh) 一种密钥管理系统及方法
SK176199A3 (en) Payment process and system
BR112021004710A2 (pt) sistema e método para transmitir dados
US11935035B2 (en) Techniques to utilize resource locators by a contactless card to perform a sequence of operations
Park et al. OPERA: A Complete Offline and Anonymous Digital Cash Transaction System with a One-Time Readable Memory
CN204066182U (zh) 一种金融ic卡互联网终端
CN105989489B (zh) 一种ic卡联网认证的方法及支付终端
Shepherd et al. Isolated Hardware Execution Platforms
CN117787985A (zh) 资源转移方法、装置、系统、计算机设备和存储介质
CN103152177A (zh) 一种利用手机自动完成认证的方法
CN112822182A (zh) 硬件钱包介质替换系统及方法
CN115099816A (zh) 一种基于时间戳的虚拟电子票卡实现方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211117

Address after: 1206, block B, Xinjiang building, No. 7, Sanlihe Road, Haidian District, Beijing 100037

Patentee after: CCIC CONSTRUCTION INFORMATION CO.,LTD.

Address before: Room 1608, Huantai building, No. 12, Zhongguancun South Street, Haidian District, Beijing 100081

Patentee before: BEIJING YISUMA DATA PROCESSING Co.,Ltd.

TR01 Transfer of patent right