一种用于智能卡系统的安全通信方法及系统技术方案

技术编号:23861595 阅读:75 留言:0更新日期:2020-04-18 14:10
本发明专利技术公开了一种用于智能卡系统的安全通信方法及系统,首先在上位机上对生成的控制命令进行非对称加密,得到数字签名,然后将数字签名、该控制命令以及计算所得的二者组合的校验码进行组合,并基于约定的密钥进行加密,生成加密报文,传输到读卡器上;然后在读卡器上对所得加密报文进行解密,并对解密后的报文进行验证,验证成功才能执行上位机发送的控制命令。通过在原始控制命令中加入数字签名和校验码信息,并进行加密,为读卡器验证所接收报文的正确性提供的基准,从而建立了上位机和读卡器通信双方的身份验证,保证了双方通信的真实性、完整性、保密性和安全性。

A secure communication method and system for smart card system

【技术实现步骤摘要】
一种用于智能卡系统的安全通信方法及系统
本专利技术属于通信设备控制领域,更具体地,涉及一种用于智能卡系统的安全通信方法及系统。
技术介绍
目前,智能卡系统用于日常生活、工业生产的各个领域,例如城市公交卡系统、校园卡系统、银行卡交易系统,它们大多以卡片式智能卡为实体终端,如公交卡、校园卡、银行卡、门禁卡等等,有的也以手机NFC为实体终端,如小米支付、ApplePay、HUAWEIPay等移动支付手段,其共有的特点是这些智能卡或类智能卡系统以“上位机-读卡器-智能卡”三者间的通信为模型进行技术构建,例如银行卡柜台操作时,上位机指的是柜台人员操作的计算机,读卡器指的是连接计算机的银行卡专用读卡器,智能卡指的是银行卡。城市公交卡系统中上位机指的是刷卡机内的微系统,读卡器指的是刷卡机的刷卡端,智能卡指的是公交卡,当公交卡贴近读卡器时,读卡器采集公交卡信息传给其中的微系统,微系统处理后发出减值操作命令控制报文给读卡器,读卡器操作公交卡减值,从而完成一个完整的读卡、写卡流程。该种“上位机-读卡器-智能卡”模型的优点在于,读卡器与智能卡间采用ISO14443协议进行非接触式通信,上位机与读卡器间的通信比较灵活,易于定制。其缺点在于,上位机与读卡器间的通信采用的硬件通信协议通常有RS232串口通信协议、USB-HID通信协议,而这两种协议中的数据为明文传输,容易遭受中间人攻击,如果上位机发给读卡器的控制报文不经密码学处理,则有可能使不受信任的第三方获取控制报文,从而将智能卡内保存的一些信息泄漏。综上所述,提供一种用于智能卡系统的安全通信方法及系统是亟待解决的问题。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种用于智能卡系统的安全通信方法及系统,其目的在于解决由于现有的智能卡系统中上位机与读卡器间通过明文传输数据而导致的无法保证通信数据安全的问题。为实现上述目的,第一方面,本专利技术提供了一种用于智能卡系统的安全通信方法,包括以下步骤:S1、采用非对称加密算法生成一对公钥和私钥,将私钥内置在上位机上,将公钥公开给读卡器,同时约定一串字符作为密钥,分别内置在上位机和读卡器中;S2、在上位机上生成控制读卡器操作智能卡的控制命令,基于私钥生成该控制命令的数字签名,并按照与读卡器约定好的发送报文各部分的顺序,将数字签名、该控制命令以及计算所得的二者组合的校验码进行组合,然后基于约定的密钥进行加密,生成加密报文,传输到读卡器上;S3、在读卡器上基于约定的密钥对接收到的加密报文进行解密,并按照与上位机约定好的发送报文各部分的顺序,将解密后报文中的数字签名、控制命令和校验码数据依次拆分出来分别进行校验,若校验成功,则读卡器根据拆分所得的控制命令对智能卡进行相应操作;否则,结束本次传输,读卡器不对智能卡进行任何操作。从而保证了传输过程中数据的完整性、真实性和保密性。进一步优选地,步骤S2所述的方法,包括以下步骤:S21、在上位机上生成控制读卡器操作智能卡的控制命令;S22、使用私钥对上述控制命令进行非对称加密,得到数字签名,并按照与读卡器约定好的发送报文各部分的顺序,将所得数字签名添加在该控制命令的头部,得到“数字签名+控制命令”组合数据;该数字签名用于保障该上位机的真实性;S23、计算所得组合数据的校验码,并按照与读卡器约定好的发送报文各部分的顺序,将所得校验码添加在该组合数据的尾部,得到“数字签名+控制命令+校验码”组合数据;该校验码用于保障传输报文的完整性;S24、基于约定的密钥对所得“数字签名+控制命令+校验码”组合数据进行对称加密,得到加密报文,传输到读卡器上。该加密过程用于保障传输报文的保密性;进一步优选地,步骤S3所述的方法,包括以下步骤:S31、基于约定的密钥对接收到的加密报文进行解密,得到解密后的报文;S32、按照与上位机约定好的发送报文各部分的顺序,将所得解密后的报文依次拆分为数字签名、控制命令和校验码三部分;S33、计算所得“数字签名+控制命令”组合数据的校验码;S34、判断计算所得的校验码与拆分所得的校验码是否一致,若不一致,则结束本次传输,读卡器不对智能卡进行任何操作,否则转至步骤S35;对校验码进行校验保证了传输报文的完整性;S35、基于公钥解密拆分所得的数字签名,得到解密后的控制命令明文;S36、判断所得解密后的控制命令明文与拆分所得的控制命令是否一致,若不一致,则结束本次传输,读卡器对智能卡不进行任何操作,否则,读卡器根据拆分所得的控制命令对智能卡进行相应操作。对控制命令进行校验保证了上位机的真实性。进一步优选地,读卡器中对接收到的加密报文进行解密的方法与上位机所采用的对称加密方法相同,读卡器中对拆分所得的数字签名进行解密的方法与上位机所采用的非对称加密方法相同,读卡器中计算所得“数字签名+控制命令”组合数据的校验码的方法与上位机计算“数字签名+控制命令”组合数据校验码的方法相同。进一步优选地,读卡器在校验校验码和数字签名时,若发现校验失败,可以发送指令给上位机要求上位机重新发送控制命令。进一步优选地,上述约定的密钥为一串由字母、数字、符号组成的字符,字母区分大小写,符号在前128位ASCII码中选取。进一步优选地,在通信条件允许的情况下,上述约定的密钥可以采用一次一密的机制,保证每一次传输过程中,所约定的密钥都不相同,从而大大降低攻击者从一定量数据样本中获取密钥信息和加密方式的机会。第二方面,本专利技术提供了一种用于智能卡系统的安全通信系统,包括上位机和读卡器,其中,上位机与读卡器处于同一网络下;上位机用于生成控制读卡器操作智能卡的控制命令,基于私钥生成该控制命令的数字签名,并按照与读卡器约定好的发送报文各部分的顺序,将数字签名、该控制命令以及计算所得的二者组合的校验码进行组合,然后基于约定的密钥进行加密,生成加密报文,传输到读卡器上;读卡器用于基于约定的密钥对接收到的加密报文进行解密,并按照与上位机约定好的发送报文各部分的顺序,将解密后报文中的数字签名、控制命令和校验码数据依次拆分出来分别进行校验,若校验成功,则根据拆分所得的控制命令对智能卡进行相应操作;否则,结束本次传输,不对智能卡进行任何操作。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,能够取得下列有益效果:1、本专利技术提供了一种用于智能卡系统的安全通信方法,首先在上位机上对生成的控制命令进行非对称加密,得到数字签名,然后将数字签名、该控制命令以及计算所得的二者组合的校验码进行组合,然后基于约定的密钥进行加密,生成加密报文,传输到读卡器上;然后在读卡器上对所得加密报文进行解密,并对解密后的报文进行验证,验证成功才能执行上位机发送的控制命令。通过在原始控制命令中加入数字签名和校验码信息,并进行加密,为读卡器验证所接收报文的正确性提供的基准,从而建立了上位机和读卡器通信双方的身份验证,保证了双方通信的安全性。2、本专利技术所提供的一种用于智能卡本文档来自技高网
...

【技术保护点】
1.一种用于智能卡系统的安全通信方法,其特征在于,包括以下步骤:/nS1、采用非对称加密算法生成一对公钥和私钥,将私钥内置在上位机上,将公钥公开给读卡器,同时约定一串字符作为密钥,分别内置在上位机和读卡器中;/nS2、在上位机上生成控制读卡器操作智能卡的控制命令,基于私钥生成该控制命令的数字签名,并按照与读卡器约定好的发送报文各部分的顺序,将数字签名、该控制命令以及计算所得的二者组合的校验码进行组合,然后基于约定的密钥进行加密,生成加密报文,传输到读卡器上;/nS3、在读卡器上基于约定的密钥对接收到的加密报文进行解密,并按照与上位机约定好的发送报文各部分的顺序,将解密后报文中的数字签名、控制命令和校验码数据依次拆分出来分别进行校验,若校验成功,则读卡器根据拆分所得的控制命令对智能卡进行相应操作;否则,结束本次传输,读卡器不对智能卡进行任何操作。/n

【技术特征摘要】
1.一种用于智能卡系统的安全通信方法,其特征在于,包括以下步骤:
S1、采用非对称加密算法生成一对公钥和私钥,将私钥内置在上位机上,将公钥公开给读卡器,同时约定一串字符作为密钥,分别内置在上位机和读卡器中;
S2、在上位机上生成控制读卡器操作智能卡的控制命令,基于私钥生成该控制命令的数字签名,并按照与读卡器约定好的发送报文各部分的顺序,将数字签名、该控制命令以及计算所得的二者组合的校验码进行组合,然后基于约定的密钥进行加密,生成加密报文,传输到读卡器上;
S3、在读卡器上基于约定的密钥对接收到的加密报文进行解密,并按照与上位机约定好的发送报文各部分的顺序,将解密后报文中的数字签名、控制命令和校验码数据依次拆分出来分别进行校验,若校验成功,则读卡器根据拆分所得的控制命令对智能卡进行相应操作;否则,结束本次传输,读卡器不对智能卡进行任何操作。


2.根据权利要求1所述的用于智能卡系统的安全通信方法,其特征在于,步骤S2所述的方法,包括以下步骤:
S21、在上位机上生成控制读卡器操作智能卡的控制命令;
S22、使用私钥对所述控制命令进行非对称加密,得到数字签名,并按照与读卡器约定好的发送报文各部分的顺序,将所得数字签名添加在该控制命令的头部,得到“数字签名+控制命令”组合数据;
S23、计算所得组合数据的校验码,并按照与读卡器约定好的发送报文各部分的顺序,将所得校验码添加在该组合数据的尾部,得到“数字签名+控制命令+校验码”组合数据;
S24、基于约定的密钥对所得“数字签名+控制命令+校验码”组合数据进行对称加密,得到加密报文,传输到读卡器上。


3.根据权利要求1所述的用于智能卡系统的安全通信方法,其特征在于,步骤S3所述的方法,包括以下步骤:
S31、基于约定的密钥对接收到的加密报文进行解密,得到解密后的报文;
S32、按照与上位机约定好的发送报文各部分的顺序,将所得解密后的报文依次拆分为数字签名、控制命令和校验码三部分;
S33、计算所得“数字签名+控制命令”组合数据的校验码;
S34、判断计算所得的校验码与拆分所得的校验码是否一致,若不一致,则结束本次传输,读卡器不对智...

【专利技术属性】
技术研发人员:邹志革李慕霄邹雪城焦新杭
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1