[发明专利]一种支持数据签名的java卡实现方法有效
申请号: | 201410513378.1 | 申请日: | 2014-09-29 |
公开(公告)号: | CN104331657B | 公开(公告)日: | 2017-03-22 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F21/34 | 分类号: | G06F21/34;G06F21/62;G06F21/64 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 数据 签名 java 实现 方法 | ||
技术领域
本发明涉及信息安全领域,特别涉及一种支持数据签名的java卡实现方法。
背景技术
随着通信技术的迅速发展,信息网络得到广泛的应用,与此同时计算机网络犯罪也层出不穷。人们通常采用集合国密算法的智能卡进行身份识别,从而达到保护信息网络内部数据安全的目的。
目前,智能卡种类很多,java卡作为智能卡中的一种得到广泛应用,然而,本发明技术人员在开发的过程中发现,java卡不能够支持国密算法,限制了java卡在身份识别方面的应用。
发明内容
为了解决现有技术的缺陷,现提出一种支持数据签名的java卡实现方法,包括:java卡虚拟机进行初始化时,清空第一存储区;当所述java卡虚拟机执行函数调用指令时,所述java卡虚拟机从堆栈中获取函数引用及对象引用:
当第一函数被调用时,执行步骤S1;
步骤S1:所述java卡虚拟机获取第一数据信息、计算模式信息、第二数据信息,执行步骤S2;
步骤S2:所述java卡虚拟机判断所述第一数据信息的类型和所述计算模式信息的类型,如果所述第一数据信息为私钥类型,并且所述计算模式信息为签名模式,则将所述第一数据信息作为私钥保存至所述第一存储区中,根据所述私钥计算公钥,执行步骤S3;否则报错,结束;
步骤S3:所述java卡虚拟机将预先设置的第一向量值置为初始值,并对所述公钥、所述第二数据信息以及预先保存的第一预设数据、第二预设数据、第三预设数据、第四预设数据进行哈希计算,将得到的哈希结果作为第一中间值,将所述公钥、所述签名模式、所述第二数据信息和所述第一中间值保存至所述第一存储区中;
当第二函数被调用时,所述java卡虚拟机获取传入的原待签名数据,判断第一存储区中是否存在公钥、签名模式、第二数据信息、第一中间值,是则获取第一向量值,采用预设哈希算法对所述原待签名数据和所述第一向量值进行哈希计算,用得到的哈希结果更新所述第一向量值;否则报错,结束;
当第三函数被调用时,执行步骤T1;
步骤T1:所述java卡虚拟机获取传入的原待签名数据,并且分配第二存储区,判断第一存储区中是否存在私钥、签名模式、第二数据信息、第一中间值,是则执行步骤T2;否则报错,结束;
步骤T2:所述java卡虚拟机获取第一向量值,执行步骤T3;
步骤T3:所述java卡虚拟机采用预设哈希算法对所述原待签名数据和所述第一向量值进行哈希计算,用得到的哈希结果更新所述第一向量值,采用预设哈希算法对所述第一向量值进行哈希计算,将得到的哈希结果作为第二中间值,从所述第一存储区中获取私钥,采用签名算法对所述私钥和所述第二中间值进行签名,将得到的签名结果保存至所述第二存储区中,计算所述签名结果的长度,返回所述签名结果的长度。
所述步骤S1中,所述java卡虚拟机获取第一数据信息、计算模式信息、第二数据信息,具体为:
步骤01:所述java卡虚拟机接收第一函数的第一参数、第一函数的第二参数、第一函数的第三参数、第一函数的第四参数、第一函数的第五参数;
步骤02:所述java卡虚拟机根据所述第一函数的第一参数查找与其对应的地址,获取所述地址中的数据将所述数据作为第一数据信息,将所述第一函数的第二参数作为计算模式信息;根据所述第一函数的第三参数、所述第一函数的第四参数、所述第一函数的第五参数获取第二数据信息。
当第一函数被调用时,还包括:将表示第一函数的第一参数已经初始化的标识置位;所述java卡虚拟机接收第一函数的第一参数、第一函数的第二参数、第一函数的第三参数、第一函数的第四参数、第一函数的第五参数之后,还包括:
步骤1:所述java卡虚拟机根据所述表示第一函数的第一参数已经初始化的标识,判断所述第一函数的第一参数是否已经初始化,如果已经初始化,则执行步骤2;否则报错,结束;
步骤2:所述java卡虚拟机判断所述第一函数的第三参数、所述第一函数的第四参数、所述第一函数的第五参数是否合法,如果合法,则执行步骤02;如果不合法,则报错,结束。
所述判断所述第一数据信息的类型,具体包括:
计算所述第一数据信息的长度,根据所述第一数据信息的长度判断所述第一数据信息的类型,如果所述第一数据信息的长度为第一预设长度,则确定所述第一数据信息为私钥类型;否则确定所述第一数据信息为公钥类型。
所述步骤S2中,如果所述第一数据信息为私钥类型,并且所述计算模式信息为签名模式时,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410513378.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种测定污水厂二级出水中低浓度蛋白质的方法
- 下一篇:带有密封板的门板
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置