一种基于国密sm1算法的cpu卡发卡系统及方法

文档序号:6640290阅读:1723来源:国知局
一种基于国密sm1算法的cpu卡发卡系统及方法
【专利摘要】本发明提供一种基于国密SM1算法的CPU卡发卡系统和方法,所述系统包括:发卡系统服务器、发卡客户端、ActiveX插件、支持国密SM1算法的数据密码机、CPU读卡器、支持国密SM1算法的 CPU卡片;CPU卡发卡系统服务器以TCP客户端方式与所述数据密码机进行数据交互;ActiveX插件嵌入到发卡客户端使用;数据密码机用于将发卡指令数据以SM1算法的密文+MAC形式发送到CPU卡;发卡客户端用于管理整个发卡流程,并提供统计和分析功能。本发明可以实现密钥的存储安全和数据写入过程的传输安全,结合国密SM1硬件算法的发卡系统,为高安全的系统。
【专利说明】—种基于国密SM1算法的CPU卡发卡系统及方法

【技术领域】
[0001]本发明涉及智能卡发卡领域,尤其涉及一种基于国密SMl算法的CPU卡发卡系统及方法。

【背景技术】
[0002]随着一卡通的快速发展,智能卡应用领域由银行、社保、移动通信逐步扩展到公交、门禁等需要卡片频繁使用的领域,作为一卡通交易的最前端的智能卡,其安全性受到前所未有的挑战。现有的DES、3DES由于已公开了实现算法,很容易被破解。
[0003]在专利申请号为201210161783.2,名称为“一种基于插件的一^^通通用发卡系统”的申请中,公开了以下技术方案:一种基于插件的一卡通通用发卡系统及方法,所述系统包括:用于连接卡片的多个不同类型的发卡设备;对应所述多个不同类型发卡设备的多个加载插件;统一发卡系统,用于注册所述多个加载插件,并根据用户请求的卡片类型,加载相应类型发卡设备的加载插件,利用所加载的加载插件,调用发卡系统资源,当用户连接发卡设备请求卡片操作时,利用所述发卡系统资源,进行卡片操作。
[0004]上述技术方案的缺点是:缺少卡片自身的安全保障和数据传输的安全性,从而无法保障整个系统的安全性。


【发明内容】

[0005]有鉴于【背景技术】所述,本发明的目的是提供一种安全性更高的发卡系统及方法。
[0006]本发明的目的是通过以下技术方案实现的:
一种基于国密SMl算法的CPU卡发卡系统,其包括:
CPU卡发卡系统服务器、CPU卡发卡客户端、CPU卡发卡ActiveX插件、支持国密SMl算法的数据密码机、支持PC/SC接口的CPU卡读卡器、支持国密SMl算法的CPU卡片;
所述CPU卡发卡系统服务器以TCP客户端方式与所述数据密码机进行数据交互;
所述CPU卡发卡ActiveX插件嵌入到所述CPU卡发卡客户端使用;
所述数据密码机用于将发卡指令数据以SMl算法的密文+MAC形式发送到所述CPU卡; 所述CPU卡发卡客户端用于管理整个发卡流程,并提供统计和分析功能。
[0007]所述CPU卡发卡系统服务器是采用Java语言开发,以tomcat(但不仅限于tomcat)为应用程序容器并加载大型数据库(如Oracle)的Web服务器。
[0008]所述CPU卡发卡ActiveX插件采用C++语言开发。
[0009]所述数据密码机内部为Linux系统,以TCP服务器的方式提供服务。
[0010]这样设计的目的在于:系统的密钥存储在数据密码机中,存储安全性得到保障。发卡指令数据均由数据密码机以SMl算法的密文+MAC形式发送到CPU卡,传输过程的安全性也得到保障。
[0011]本发明还提供一种上述基于国密SMl算法的CPU卡发卡系统的发卡方法,其包括以下步骤: 所述(PU卡发卡系统客户端接收操作人员设定的发卡数据;
所述发卡客户端调用所述CPU卡发卡ActiveX插件,所述ActiveX插件通过所述CPU卡发卡系统服务器将所述发卡数据发给所述支持国密SMl算法的数据密码机,所述数据密码机对所述发卡数据进行加密和计算MAC后返回;
所述发卡ActiveX插件将得到的密文+MAC数据通过所述支持PC/SC接口的CPU卡读卡器写入到CPU卡片中。
[0012]优选的,在所述发卡ActiveX插件将得到的密文+MAC数据通过所述支持PC/SC接口的CPU卡读卡器写入到CPU卡片后,还包括:判断发卡是否成功,如判断结果为否,回到所述CPU卡发卡系统客户端接收操作人员设定的发卡数据;如判断结果为是,结束发卡流程。
[0013]优选的,在判断结果为发卡成功后,还包括:所述发卡系统服务器将已发行的卡片信息写入到CPU卡数据库服务器中。
[0014]本发明中使用的国密SMl算法为未公开的硬件算法,由国家密码局管理并授权使用。
[0015]与现有技术相比,本发明具备如下优点:
1、可以完成CPU卡的发卡过程。
[0016]2、可以实现密钥的存储安全和数据写入过程的传输安全。
[0017]3、结合国密SMl硬件算法的发卡系统,为绝对安全的系统。
[0018]4、可对发卡结果进行统计和分析。

【专利附图】

【附图说明】
[0019]图1为本发明实施例一的系统原理框图;
图2为本发明实施例二的工作流程图。

【具体实施方式】
[0020]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0021]实施例一:
请参阅图1所示,图1为本实施例的系统原理框图。
[0022]本实施例提供的是一种基于国密SMl算法的CPU卡发卡系统,其包括:
CPU卡发卡系统服务器、CPU卡发卡客户端、CPU卡发卡ActiveX插件、支持国密SMl算法的数据密码机、支持PC/SC接口的CPU卡读卡器、支持国密SMl算法的CPU卡片。
[0023]所述CPU卡发卡系统服务器是采用Java语言开发,以tomcat(但不仅限于tomcat)为应用程序容器并加载大型数据库(如Oracle)的Web服务器。
[0024]所述CPU卡发卡ActiveX插件采用C++语言开发,嵌入到所述CPU卡发卡客户端使用。
[0025]所述支持国密SMl算法的数据密码机内部为Linux系统,以TCP服务器的方式提供服务,所述CPU卡发卡服务器以TCP客户端方式与所述数据密码机进行数据交互。
[0026]所述CPU卡发卡客户端负责管理整个发卡流程,并提供统计和分析功能。
[0027]在本实施例中,系统的密钥存储在数据密码机中,存储安全性得到保障。发卡指令数据均由数据密码机以SMl算法的密文+MAC形式发送到CPU卡,传输过程的安全性也得到保障。
[0028]实施例二:
本实施例提供一种实施例一所述的基于国密SMl算法的CPU卡发卡系统的发卡方法,如图2所示,其包括以下步骤:
操作人员登录CPU卡发卡系统客户端;
操作人员设定发卡参数;
操作人员执行发卡操作指令;
所述CPU卡发卡客户端调用所述CPU卡发卡ActiveX插件;
所述ActiveX插件通过所述CPU卡发卡系统服务器获得数据密码机的密钥数据,操作所述CPU卡读卡器,向所述CPU卡片写入数据:所述ActiveX插件通过所述CPU卡发卡系统服务器将所述发卡数据发给所述支持国密SMl算法的数据密码机,所述数据密码机对所述发卡数据进行加密和计算MAC后返回;
判断发卡是否成功,如判断结果为否,回到所述CPU卡发卡系统客户端接收操作人员设定的发卡数据;如判断结果为是,结束发卡流程:若发卡不成功则反馈给操作人员定位原因,原因不外乎两种可能:其一是发卡数据准备错误;其二是发卡数据写入错误。若是第一种原因,则由操作人员对发卡数据进行修改,再重新启动发卡操作;若是第二种原因,则由操作人员修改CPU卡片的初始密钥与数据密码机中的初始密钥一致,再重新启动发卡操作。
[0029]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于国密SMl算法的CPU卡发卡系统,其特征在于:其包括: CPU卡发卡系统服务器、CPU卡发卡客户端、CPU卡发卡ActiveX插件、支持国密SMl算法的数据密码机、支持PC/SC接口的CPU卡读卡器、支持国密SMl算法的CPU卡片; 所述CPU卡发卡系统服务器以TCP客户端方式与所述数据密码机进行数据交互; 所述CPU卡发卡ActiveX插件嵌入到所述CPU卡发卡客户端使用; 所述数据密码机用于将发卡指令数据以SMl算法的密文+MAC形式发送到所述CPU卡; 所述CPU卡发卡客户端用于管理整个发卡流程,并提供统计和分析功能。
2.根据权利要求1所述的系统,其特征在于:所述CPU卡发卡系统服务器是采用Java语言开发,以tomcat为应用程序容器并加载大型数据库的Web服务器。
3.根据权利要求1所述的系统,其特征在于:所述CPU卡发卡ActiveX插件采用C++语言开发。
4.根据权利要求1所述的系统,其特征在于:所述数据密码机内部为Linux系统,以TCP服务器的方式提供服务。
5.一种权利要求1至4任一所述的基于国密SMl算法的CPU卡发卡系统的发卡方法,其特征在于,包括以下步骤: 所述(PU卡发卡系统客户端接收操作人员设定的发卡数据; 所述发卡客户端调用所述CPU卡发卡ActiveX插件,所述ActiveX插件通过所述CPU卡发卡系统服务器将所述发卡数据发给所述支持国密SMl算法的数据密码机,所述数据密码机对所述发卡数据进行加密和计算MAC后返回; 所述发卡ActiveX插件将得到的密文+MAC数据通过所述支持PC/SC接口的CPU卡读卡器写入到CPU卡片中。
6.根据权利要求5所述的方法,其特征在于:在所述发卡ActiveX插件将得到的密文+MAC数据通过所述支持PC/SC接口的CPU卡读卡器写入到CPU卡片后,还包括:判断发卡是否成功,如判断结果为否,回到所述CPU卡发卡系统客户端接收操作人员设定的发卡数据;如判断结果为是,结束发卡流程。
7.根据权利要求6所述的方法,其特征在于:在判断结果为发卡成功后,还包括:所述发卡系统服务器将已发行+的卡片信息写入到CPU卡数据库服务器中。
【文档编号】G06K17/00GK104484693SQ201410831773
【公开日】2015年4月1日 申请日期:2014年12月29日 优先权日:2014年12月29日
【发明者】郑爱华, 张汉就 申请人:东信和平科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1