专利名称:基于手机智能卡的数字签名方法
技术领域:
本发明涉及的是一种手机智能卡技术领域的方法,具体是一种基于手机智能卡的
数字签名方法。
背景技术:
随着计算机网络javascript :;技术javascript :;的迅速发展和信息化建设的 大力推广,越来越多的处理模式开始走向电子化和网络化,从而极大地提高了效率、节约了 成本。与传统的面对面的手工处理方式相比,基于网络的电子化业务处理系统必须解决以 下问题如何在网络上识别用户的真实身份;如何保证网络上传送的业务数据不被篡改; 如何保证网络上传送的业务数据的机密性;如何使网络上的用户行为不可否认。如今,越来 越多的用户已采用手机上网,接收并处理相关业务,也很多业务都涉及到敏感信息和关键 数据,而这些敏感信息一般都与用户的个人信息有关联,而这些关键数据往往又是用户在 无线通讯交易中需要确认和签名的数据。那么,如何更好的保护这些用户的真实身份?如 何保证网络上传送的业务数据不被篡改?这些问题都是网络交易中需要保证和解决的。
经过对现有技术的检索发现,中国专利文献号CN201181942,记载了一种"用于远 程服务业务的数字签名认证系统",该技术包括业务请求终端、远程服务中心、用户移动终 端、业务处理机构。用户在业务请求终端向远程服务中心提交所需的业务;远程服务中心 将用户提交的业务请求生成业务信息传送给用户的移动终端验证,并由用户移动终端签名 确认业务消息后,返回给远程服务中心;远程服务中心将该业务确认消息传给业务处理机 构对确认信息中的数字签名验证后完成业务操作,并对业务处理结果进行数字签名,形成 结果信息通过远程服务中心传送给用户的移动终端;用户对收到的结果信息进行验证并保 存。 上述现有技术虽然实现了远程服务业务的数字签名认证,但在其过程中,用户需 在业务请求终端向远程服务中心提交所需的业务,未揭露用户能否在任何一个地方能支持 和接收异地发起的被动式数字签名及认证,同时,目前手机帐号绑定已经出现了手机号码 伪造及克隆的技术,所以,这种一次签名认证的业务处理方式存在安全上的隐患。
发明内容
本发明针对现有技术存在的上述不足,提供一种基于手机智能卡的数字签名方
法,能够通过手机短信实现安全可靠的数字签名认证。 本发明是通过以下技术方案实现的,本发明包括以下步骤 步骤一 银行平台通过专用网络接口将业务信息发送至移动认证平台; 所述的业务信息是指私人银行业务的数据,如公共事业缴费数据、转账数据、帐
户查询数据、汇款数据、余额变动提醒、银证业务。
步骤二 移动认证平台将待签名数据通过数据短信形式发送至认证终端; 所述的待签名数据是指在实际业务发生过程中需要用户做签名确认的数据,如交易确认、订单信息等等。
所述的认证终端是指持有认证证书的用户手机及其智能卡,其中认证证书是指
由数字证书认证中心签发的证书申请者认证证书,证书申请者与证书具有唯一对应关系;
智能卡是指具有RSA加密模块并且带有存储计算通讯功能的智能卡。 所述的数据短信是指包含3DES加密和MAC校验机制的安全报文短信信息。 步骤三用户通过认证终端手工确认签名或拒绝确认签名,当手工确认签名时,智
能卡对所述待签名数据进行加密方法,并将签名结果发送至移动认证平台;否则认证过程
失败; 所述的加密方法是指智能卡通过加密算法对所述待签名数据进行加密,得到 128字节的加密签名数据。
步骤四移动认证平台收到签名结果后转发至数字证书认证中心进行验签处理;
所述的验签处理是指数字证书认证中心通过与智能卡相同的算法对加密签名数 据进行解密计算,得到解密后的签名数据。
步骤五数字证书认证中心将验签结果直接发送至移动认证平台,并由移动认证
平台将验签结果转发至银行平台,银行平台根据签名结果处理业务,认证过程结果。 与现有技术相比,本专利发明所揭露的一种通过手机智能卡进行数字签名的方
法,有以下优点首先,通过引入智能卡,并由智能卡进行安全计算,本发明中的数字签名加
密技术提供了强大的安全保障;其次,用户在确认数字签名时,对待签名数据采用逐级推进
流程,安全保障高;再者,STK界面简单易操作,非常适用于简单业务;同时,兼容性最强,绝
大多数的手机都支持STK菜单。进而体现了该方法具有很大的实用价值。
图1为本发明流程示意图。
图2为实施例1的流程示意图。
图3为实施例2的流程示意图。
图4为实施例手机端短信示意图。
具体实施例方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行 实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施 例。 实施例1 下面结合图2具体描述用户不在银联各营业点的情况下主动发起银行业务的流
程。如图1和图4所示,该实施例具体包括以下步骤 步骤一 各种银行平台发送待签名数据至银行前置机; 步骤二 银行前置机将待签名数据转发至移动认证平台; 步骤三移动认证平台组织待签名数据,并将组织后的待签名数据以包含3DES加 密和MAC校验机制的安全报文数据短信的形式转发至用户手机; 步骤四具有RSA加密模块并且带有存储计算通讯功能的智能卡中的STK菜单显示出文字内容,提醒用户确认其提交的银行业务中的具体数据,如用户选择"取消",则用户 提交的银行业务不予执行,如用户选择"确认",则进入步骤五; 步骤五智能卡对所述待签名数据进行加密方法,并将最终确认信息以数据短信 的形式发送至移动认证平台,移动认证平台组织签名数据并发送给数字证书认证中心验签 处理; 所述的加密方法是指采用RSAES-PKCSl-vl_5-Encrypt((n, e) , M)算法,输入数 据包括(n, e)接收方的RSA公钥,其中k为合数模n的以八位组为计量单位的长度,M为 长度为mLen的八位组串待加密消息,mLen《k_ll,该加密方法的结果是一个长度为k的八 位组串的密文;该加密方法包括以下步骤 5. 1)长度检查当mLen > k-ll,输出"消息太长"后中止运算;
5. 2)EME-PKCSl_vl_5编码生成一个长度为k-mLen-3且由伪随机生成的非零八 位组构成的八位组串PS,连接PS、消息M并形成长度为k个八位组的编码消息EM, EM = 0x00 I I 0x02 I I PS I I 0x00 I M ; 5. 3) RSA加密将编码消息EM转换成一个整数消息代表m :m = 0S2IP (EM);将RSA 公钥(n, e)和消息代表m代入RSAEP加密原语,从而产生一个密文代表c :c = RSAEP((n, e) , m);将密文代表c转换成一个长度为k个八位组的密文代表c, C = 120SP(c, k)。
所述的验签处理是指将密文C解密成EM = 0x00 0x02 PS 0x00 M,分离出 其中的M,再用数字证书认证中心的本地计算得信息摘要M'进行比较,如果M = M',则认定 签名有效,否则 当EM的第一个八位组的十六进制值不为0x00,或者
当EM的第二个八位组的十六进制值不为0x02,或者
当没有十六进制值为0x00的八位组可以从M分离出PS,或者
当PS的长度小于8个八位组,
则输出"解密出错"并且中止运算。 步骤六数字证书认证中心将验签结果直接发送至移动认证平台,并由移动认证 平台将验签结果转发至银行平台,银行平台根据签名结果处理业务,认证过程结果;
所述的验签结果包括原始数据、签名结果和用户证书
步骤四输出密文C。 该实施例体现了持有认证证书的用户可以不在银行柜面的情况下进行银行业务 操作,对于用户个人信息、银行业务所涉及的数据也是逐级验证,既体现了灵活性,又不失 安全性。 实施例2 下面结合图3具体描述用户不在银行各营业点的情况下,接收并执行收到的银行 业务处理要求。如图2和图4所示,该实施例具体包括 步骤一 用户的智能卡接收各种银行平台发送过来的待签名数据; 步骤二 用户点击查看待签名数据,待签名数据为指定的交易关键要素(如目标
帐号,金额) 步骤三用户确认待签名数据,如果用户不进行确认,则银行业务不予执行,否则 进入步骤四;
6
步骤四智能卡计算待签名数据 步骤五用户对数据进行签名,并将结果发送给移动认证平台,如果用户拒绝签 名,则银行业务不予执行; 步骤六移动认证平台组织签名数据并发送给数字证书认证中心验签; 步骤七数字证书认证中心返回验签数据,如果验签失败,则银行业务不予执行。 该实施例体现了持有认证证书的用户可以不在银行柜面的情况下接收来自异地
的银行业务操作,例如,现实生活中,企业领导人在外地,该企业的财务需要授权,这样,企
业财务部相关工作人员可以通过将需要授权的业务提交给移动认证平台,企业领导人可以
通过手机STK菜单进行数据签名,进而实现银行业务操作。本实施例中,对于用户个人信
息、银行业务所涉及的数据同样也是逐级验证,既体现了灵活性,又不失安全性。
权利要求
一种基于手机智能卡的数字签名方法,其特征在于,包括以下步骤步骤一银行平台通过专用网络接口将业务信息发送至移动认证平台;步骤二移动认证平台将待签名数据通过数据短信形式发送至认证终端;步骤三用户通过认证终端手工确认签名或拒绝确认签名,当手工确认签名时,智能卡对所述待签名数据进行加密方法,并将签名结果发送至移动认证平台;否则认证过程失败;步骤四移动认证平台收到签名结果后转发至数字证书认证中心进行验签处理;步骤五数字证书认证中心将验签结果直接发送至移动认证平台,并由移动认证平台将验签结果转发至银行平台,银行平台根据签名结果处理业务,认证过程结果。
2. 根据权利要求1所述的基于手机智能卡的数字签名方法,其特征是,所述的认证终 端是指持有认证证书的用户手机及其智能卡,其中认证证书是指由数字证书认证中心签 发的证书申请者认证证书,证书申请者与证书具有唯一对应关系;智能卡是指具有RSA加 密模块并且带有存储计算通讯功能的智能卡。
3. 根据权利要求1所述的基于手机智能卡的数字签名方法,其特征是,所述的数据短 信是指包含3DES加密和MAC校验机制的安全报文短信信息。
4. 根据权利要求1所述的基于手机智能卡的数字签名方法,其特征是,所述的加密方 法是指智能卡通过加密算法对所述待签名数据进行加密,得到128字节的加密签名数据。
5. 根据权利要求1所述的基于手机智能卡的数字签名方法,其特征是,所述的验签处 理是指数字证书认证中心通过与智能卡相同的算法对加密签名数据进行解密计算,得到解 密后的签名数据。
6. 根据权利要求1或4所述的基于手机智能卡的数字签名方法,其特征是,所述的加密 方法是指采用RSAES-PKCS1-Vl_5-Encrypt((n, e) , M)算法,输入数据包括(n, e)接收方 的RSA公钥,其中k为合数模n的以八位组为计量单位的长度,M为长度为mLen的八位组 串待加密消息,mLen《k_ll,该加密方法的结果是一个长度为k的八位组串的密文;该加密 方法包括以下步骤5. 1)长度检查当mLen > k_ll,输出"消息太长"后中止运算;5. 2)EME-PKCSl-vl_5编码生成一个长度为k-mLen-3且由伪随机生成的非零八位 组构成的八位组串PS,连接PS、消息M并形成长度为k个八位组的编码消息EM, EM = 0x000x02 I I PS I I 0x00 I M ;5. 3) RSA加密将编码消息EM转换成一个整数消息代表m :m = 0S2IP (EM);将RSA公 钥(n, e)和消息代表m代入RSAEP加密原语,从而产生一个密文代表c :c = RSAEP ((n, e), m);将密文代表c转换成一个长度为k个八位组的密文代表c, C = 120SP(c, k)。
7. 根据权利要求1或5所述的基于手机智能卡的数字签名方法,其特征是,所述的验签 处理是指:将密文C解密成EM = 0x00 I I 0x02 I PS 0x00 M,分离出其中的M,再用数字i正 书认证中心的本地计算得信息摘要M'进行比较,如果M = M',则认定签名有效,否则当EM的第一个八位组的十六进制值不为0x00,或者 当EM的第二个八位组的十六进制值不为0x02,或者 当没有十六进制值为0x00的八位组可以从M分离出PS,或者 当PS的长度小于8个八位组,则输出"解密出错"并且中止运算c
全文摘要
一种手机智能卡技术领域的基于手机智能卡的数字签名方法,包括银行平台通过专用网络接口将业务信息发送至移动认证平台;移动认证平台将待签名数据通过数据短信形式发送至认证终端;用户通过认证终端手工确认签名或拒绝确认签名,当手工确认签名时,智能卡对所述待签名数据进行加密方法,并将签名结果发送至移动认证平台;否则认证过程失败;移动认证平台收到签名结果后转发至数字证书认证中心进行验签处理;数字证书认证中心将验签结果直接发送至移动认证平台,并由移动认证平台将验签结果转发至银行平台,银行平台根据签名结果处理业务,认证过程结果。本发明能够通过手机短信实现安全可靠的数字签名认证,实现方法简单方便且保密性强。
文档编号H04W12/06GK101790166SQ20091031259
公开日2010年7月28日 申请日期2009年12月30日 优先权日2009年12月30日
发明者吴俊 申请人:上海柯斯软件有限公司