CN104852806B - 一种根据密钥类型进行签名的实现方法 - Google Patents

一种根据密钥类型进行签名的实现方法 Download PDF

Info

Publication number
CN104852806B
CN104852806B CN201510247236.XA CN201510247236A CN104852806B CN 104852806 B CN104852806 B CN 104852806B CN 201510247236 A CN201510247236 A CN 201510247236A CN 104852806 B CN104852806 B CN 104852806B
Authority
CN
China
Prior art keywords
key
signature
intelligent cipher
current
mark
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
CN201510247236.XA
Other languages
English (en)
Other versions
CN104852806A (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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies 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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201510247236.XA priority Critical patent/CN104852806B/zh
Publication of CN104852806A publication Critical patent/CN104852806A/zh
Application granted granted Critical
Publication of CN104852806B publication Critical patent/CN104852806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种根据密钥类型进行签名的实现方法,包括:当接收到生成密钥对指令时,将密钥类型标识、密钥ID和用途标识写入密钥描述信息,对应生成密钥对;当接收到签名数据包时,设置当前哈希算法、当前签名算法、当前密钥ID和当前用途标识;若进行普通签名,则获取对应的密钥类型标识,若对应的密钥为允许进行普通签名的密钥,则根据当前密钥ID和当前用途标识获取对应的密钥对第一待签名数据进行签名,返回签名结果;若进行复核签名,则获取对应的密钥类型标识,若对应的密钥为允许进行复核签名的密钥,则对报文进行计算得到第二待签名数据,根据存储的当前密钥ID和当前用途标识获取对应的密钥对第二待签名数据进行签名,返回签名结果。

Description

一种根据密钥类型进行签名的实现方法
技术领域
本发明涉及信息安全领域,尤其涉及一种根据密钥类型进行签名的实现方法。
背景技术
数字签名技术能够保证数据传输过程中的完整性、对数据发送者的身份进行认证并防止发生抵赖行为。智能密钥设备是一种能够进行数字签名的设备,可以存储用户的私钥以及数字证书,利用智能密钥设备中内置的签名算法实现对用户身份的认证。现有技术中,智能密钥设备大多通过不同的哈希算法区分普通签名和复核签名,从而达到防骗签的目的。但是,目前SM2签名算法只能和SM3哈希算法搭配使用,因此无法通过哈希算法的不同来区分不同类型的签名,无法实现防骗签的目的。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种根据密钥类型进行签名的实现方法,为智能密钥设备中的每对密钥设置密钥类型,根据密钥类型限制密钥的用途,从而区分不同类型的签名,实现防骗签的目的。
本发明提供的一种根据密钥类型进行签名的方法,包括:
步骤S1:当智能密钥设备接收到上位机发送的数据时,所述智能密钥设备判断数据类型,若是生成密钥对指令则执行步骤S2,若是签名数据包则执行步骤S3,若是其他指令则执行相应操作,向所述上位机返回执行结果,返回步骤S1;
步骤S2:所述智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的密钥对和密钥描述信息写入密钥存储区,向所述上位机返回成功信息,返回步骤S1;
步骤S3:所述智能密钥设备将当前哈希算法设置为所述签名数据包中指定的哈希算法,将当前签名算法设置为所述签名数据包中指定的签名算法,存储所述签名数据包中的当前密钥ID和当前用途标识,执行步骤S4;
步骤S4:所述智能密钥设备根据所述签名数据包中的参数判断是否进行复核签名,是则执行步骤S7,否则执行步骤S5;
步骤S5:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤S6,否则向所述上位机返回错误信息,返回步骤S1;
步骤S6:所述智能密钥设备根据所述签名数据包中的第一哈希值得到第一待签名数据,根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对所述第一待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤S1;
步骤S7:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤S8,否则向所述上位机返回错误信息,返回步骤S1;
步骤S8:所述智能密钥设备对所述签名数据包中的报文进行解析,得到显示报文,将所述显示报文存储到显示缓存区,根据当前哈希算法,对所述签名数据包中的报文进行哈希计算,得到第二哈希值,根据所述第二哈希值得到第二待签名数据,执行步骤S9;
步骤S9:所述智能密钥设备对显示缓存区中的显示报文进行显示,并等待按键被按下,当所述智能密钥设备判断出被按下的按键为确认键时,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥,根据当前签名算法对所述第二待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤S1;
所述清除相关环境设置包括清除当前哈希算法和当前签名算法的设置、清除存储的当前密钥ID、当前用途标识和所述显示缓存区中的数据。
本发明又提供的一种根据密钥类型进行签名的方法,包括:
步骤A1:当智能密钥设备接收到上位机发送的数据时,所述智能密钥设备判断数据类型,若是生成密钥对指令则执行步骤A2,若是第一普通签名指令则执行步骤A3,若是第一复核签名指令则执行步骤A6,若是其他指令则执行相应操作,向所述上位机返回执行结果,返回步骤A1;
步骤A2:所述智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的所述密钥对和所述密钥描述信息写入密钥存储区,向所述上位机返回成功信息,返回步骤A1;
步骤A3:所述智能密钥设备将当前哈希算法设置为所述第一普通签名指令中指定的哈希算法,将当前签名算法设置为所述第一普通签名指令中指定的签名算法,存储所述第一普通签名指令中的当前密钥ID和当前用途标识;
步骤A4:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤A5,否则向所述上位机返回错误信息,返回步骤A1;
步骤A5:所述智能密钥设备根据所述第一普通签名指令中的第一哈希值得到第一待签名数据,根据当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对所述第一待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤A1;
步骤A6:所述智能密钥设备将当前哈希算法设置为所述第一复核签名指令中指定的哈希算法,将当前签名算法设置为所述第一复核签名指令中指定的签名算法,存储所述第一复核签名指令中的当前密钥ID和当前用途标识;
步骤A7:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤A8,否则向所述上位机返回错误信息,返回步骤A1;
步骤A8:所述智能密钥设备对所述第一复核签名指令中的报文进行解析,得到显示报文,将所述显示报文存储到显示缓存区,根据当前哈希算法,对所述第一复核签名指令中的报文进行哈希计算,得到第二哈希值,根据所述第二哈希值得到第二待签名数据,执行步骤A9;
步骤A9:所述智能密钥设备对所述显示缓存区中的显示报文进行显示,并等待按键被按下,当所述智能密钥设备判断出被按下的按键为确认键时,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对所述第二待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤A1;
所述清除相关环境设置包括清除当前哈希算法和当前签名算法的设置、清除存储的当前密钥ID、当前用途标识和所述显示缓存区中的数据。
本发明又提供的一种根据密钥类型进行签名的方法,包括:
步骤B1:当智能密钥设备接收到上位机发送的数据时,所述智能密钥设备判断数据类型,若是生成密钥对指令则执行步骤B2,若是第一设置指令则执行步骤B3,若是第二普通签名指令则执行步骤B4,若是第二复核签名指令则执行步骤B6,若是其他指令则执行相应操作,向所述上位机返回执行结果,返回步骤B1;
步骤B2:所述智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的所述密钥对和所述密钥描述信息写入密钥存储区,向所述上位机返回成功信息,返回步骤B1;
步骤B3:所述智能密钥设备将当前哈希算法设置为所述第一设置指令中指定的哈希算法,将当前签名算法设置为所述第一设置指令中指定的签名算法,存储所述第一设置指令中的当前密钥ID和当前用途标识,向所述上位机返回成功信息,返回步骤B1;
步骤B4:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤B5,否则向所述上位机返回错误信息,返回步骤B1;
步骤B5:所述智能密钥设备根据所述第二普通签名指令中的第一哈希值得到第一待签名数据,根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对所述第一待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤B1;
步骤B6:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤B7,否则向所述上位机返回错误信息,返回步骤B1;
步骤B7:所述智能密钥设备对所述第二复核签名中的报文进行解析,得到显示报文,将所述显示报文存储到显示缓存区,根据当前哈希算法、对所述第二复核签名中的报文进行哈希计算,得到第二哈希值,根据所述第二哈希值得到第二待签名数据,执行步骤B8;
步骤B8:所述智能密钥设备对显示缓存区中的显示报文进行显示,并等待按键被按下,当所述智能密钥设备判断出被按下的按键为确认键时,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对所述第二待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤B1;
所述清除相关环境设置包括清除当前哈希算法和当前签名算法的设置、清除存储的当前密钥ID、当前用途标识和所述显示缓存区中的数据。
本发明再提供的一种根据密钥类型进行签名的方法,包括:
步骤C1:当智能密钥设备接收到上位机发送的指令时,所述智能密钥设备判断指令类型,若是生成密钥对指令则执行步骤C2,若是第一设置指令则执行步骤C3,若是第三普通签名指令则执行步骤C4,若是报文解析指令则执行步骤C6,若是第三复核签名指令则执行步骤C8,若是其他指令则执行相应操作,向所述上位机返回执行结果,返回步骤C1;
步骤C2:所述智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的所述密钥对和所述密钥描述信息写入密钥存储区,向所述上位机返回成功信息,返回步骤C1;
步骤C3:所述智能密钥设备将当前哈希算法设置为所述第一设置指令中指定的哈希算法,将当前签名算法设置为所述第一设置指令中指定的签名算法,存储所述第一设置指令中的当前密钥ID和当前用途标识,向所述上位机返回成功信息,返回步骤C1;
步骤C4:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤C5,否则向所述上位机返回错误信息,返回步骤C1;
步骤C5:所述智能密钥设备根据所述第三普通签名指令中的第一哈希值得到第一待签名数据,将得到的第一待签名数据存储在待签名存储区,向所述上位机返回成功信息,返回步骤C1;
步骤C6:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤C7,否则向所述上位机返回错误信息,返回步骤C1;
步骤C7:所述智能密钥设备对所述报文解析指令中的报文进行解析,得到显示报文,将所述显示报文存储到显示缓存区,根据当前哈希算法、对所述报文解析指令中的报文进行哈希计算,得到第二哈希值,根据所述第二哈希值得到第二待签名数据,将所述第二待签名数据存储在待签名存储区,向所述上位机返回成功信息,返回步骤C1;
步骤C8:所述智能密钥设备判断待签名存储区中的待签名数据是否为第一待签名数据,是则执行步骤C9,否则执行步骤C10;
步骤C9:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对存储的第一待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤C1;
步骤C10:所述智能密钥设备对显示缓存区中的显示报文进行显示,并等待按键被按下,当所述智能密钥设备判断出被按下的按键为确认键时,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对存储的第二待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤C1;
所述清除相关环境设置包括清除当前哈希算法和当前签名算法的设置、清除存储的当前密钥ID、当前用途标识和所述显示缓存区中的数据。
本发明与现有技术相比,具有以下优点:
本发明提供的一种根据密钥类型进行签名的实现方法,为智能密钥设备中的每对密钥设置密钥类型,根据密钥类型限制密钥的用途,例如只用于普通签名的密钥不能在复核签名过程中使用,只用于复核签名的密钥不能在过程普通签名中使用,从而区分不同类型的签名,实现防骗签的目的。
附图说明
图1是本发明实施例1提供的一种根据密钥类型进行签名的实现方法的流程图;
图2至图5是本发明实施例2提供的一种根据密钥类型进行签名的实现方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明的实施例1提供了一种根据密钥类型进行签名的实现方法,如图1所示,包括:
步骤S1:当智能密钥设备接收到上位机发送的数据时,智能密钥设备判断数据类型,若是生成密钥对指令则执行步骤S2,若是签名数据包则执行步骤S3,若是其他指令则执行相应操作,向上位机返回执行结果,返回步骤S1;
步骤S2:智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的密钥对和密钥描述信息写入密钥存储区,向上位机返回成功信息,返回步骤S1;
步骤S3:智能密钥设备将当前哈希算法设置为签名数据包中指定的哈希算法,将当前签名算法设置为签名数据包中指定的签名算法,存储签名数据包中的当前密钥ID和当前用途标识,执行步骤S4;
步骤S4:智能密钥设备根据签名数据包中的参数判断是否进行复核签名,是则执行步骤S7,否则执行步骤S5;
步骤S5:智能密钥设备根据当前密钥ID和当前用途标识获取对应的密钥类型标识,根据密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤S6,否则向上位机返回错误信息,返回步骤S1;
步骤S6:智能密钥设备根据签名数据包中的第一哈希值得到第一待签名数据,根据当前密钥ID和当前用途标识获取对应的密钥,使用密钥、根据当前签名算法对第一待签名数据进行签名,向上位机返回签名结果和成功信息,清除相关环境设置,返回步骤S1;
步骤S7:智能密钥设备根据当前密钥ID和当前用途标识获取对应的密钥类型标识,根据密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤S8,否则向上位机返回错误信息,返回步骤S1;
步骤S8:智能密钥设备对签名数据包中的报文进行解析,得到显示报文,将显示报文存储到显示缓存区,根据当前哈希算法,对签名数据包中的报文进行哈希计算,得到第二哈希值,根据第二哈希值得到第二待签名数据,将第二待签名数据存储在待签名存储区,执行步骤S9;
步骤S9:智能密钥设备对显示缓存区中的显示报文进行显示,并等待按键被按下,当智能密钥设备判断出被按下的按键为确认键时,智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用密钥、根据当前签名算法对第二待签名数据进行签名,向上位机返回签名结果和成功信息,清除相关环境设置,返回步骤S1。
本实施例中,上述方法通过生成密钥对指令和签名数据包完成根据密钥类型进行签名的操作,除此之外,还可以通过更多指令完成根据密钥类型进行签名的操作,例如,通过生成密钥对指令、第一普通签名指令和第一复核签名指令完成根据密钥类型进行签名的操作,具体为:
步骤S1:当智能密钥设备接收到上位机发送的数据时,智能密钥设备判断数据类型,若是生成密钥对指令则执行步骤S2,若是第一普通签名指令则执行步骤A3,若是第一复核签名指令则执行步骤A7,若是其他指令则执行相应操作,向所述上位机返回执行结果,返回步骤S1;
步骤S2:所述智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的密钥对和密钥描述信息写入密钥存储区,向所述上位机返回成功信息,返回步骤S1;
步骤A3:所述智能密钥设备将当前哈希算法设置为所述第一普通签名指令中指定的哈希算法,将当前签名算法设置为所述第一普通签名指令中指定的签名算法,存储所述第一普通签名指令中的当前密钥ID和当前用途标识;
步骤A4:所述智能密钥设备根据当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤A5,否则向所述上位机返回错误信息,返回步骤S1;
步骤A5:所述智能密钥设备根据所述第一普通签名指令中的第一哈希值得到第一待签名数据,根据当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥,根据当前签名算法对所述第一待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤S1;
步骤A6:所述智能密钥设备将当前哈希算法设置为所述第一复核签名指令中指定的哈希算法,将当前签名算法设置为所述第一复核签名指令中指定的签名算法,存储所述第一复核签名指令中的当前密钥ID和当前用途标识;
步骤A7:所述智能密钥设备根据当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤A8,否则向所述上位机返回错误信息,返回步骤S1;
步骤A8:所述智能密钥设备对所述第一复核签名指令中的报文进行解析,得到显示报文,将所述显示报文存储到显示缓存区,根据当前哈希算法,对所述第一复核签名指令中的报文进行哈希计算,得到第二哈希值,根据所述第二哈希值得到第二待签名数据,将所述第二待签名数据存储在待签名存储区,执行步骤A9;
步骤A9:所述智能密钥设备对显示缓存区中的显示报文进行显示,并等待按键被按下,当所述智能密钥设备判断出被按下的按键为确认键时,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥,根据当前签名算法对所述第二待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤S1。
类似地,通过生成密钥对指令、第一设置指令、第二普通签名指令和第二复核签名指令完成根据密钥类型进行签名的操作,具体为:
步骤S1:当智能密钥设备接收到上位机发送的数据时,智能密钥设备判断数据类型,若是生成密钥对指令则执行步骤S2,若是第一设置指令则执行步骤B3,若是第二普通签名指令则执行步骤B4,若是第二复核签名指令则执行步骤B6,若是其他指令则执行相应操作,向所述上位机返回执行结果,返回步骤S1;
步骤S2:所述智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的密钥对和密钥描述信息写入密钥存储区,向所述上位机返回成功信息,返回步骤S1;
步骤B3:所述智能密钥设备将当前哈希算法设置为所述第一设置指令中指定的哈希算法,将当前签名算法设置为所述第一设置指令中指定的签名算法,存储所述第一设置指令中的当前密钥ID和当前用途标识,向所述上位机返回成功信息,返回步骤S1;
步骤B4:所述智能密钥设备根据当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤B5,否则向所述上位机返回错误信息,返回步骤S1;
步骤B5:所述智能密钥设备根据所述第二普通签名指令中的第一哈希值得到第一待签名数据,根据当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥,根据当前签名算法对所述第一待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤S1;
步骤B6:所述智能密钥设备根据当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤B7,否则向所述上位机返回错误信息,返回步骤S1;
步骤B7:所述智能密钥设备对所述第二复核签名中的报文进行解析,得到显示报文,将所述显示报文存储到显示缓存区,根据当前哈希算法,对所述第二复核签名中的报文进行哈希计算,得到第二哈希值,根据所述第二哈希值得到第二待签名数据,将所述第二待签名数据存储在待签名存储区,执行步骤B6;
步骤B8:所述智能密钥设备对显示缓存区中的显示报文进行显示,并等待按键被按下,当所述智能密钥设备判断出被按下的按键为确认键时,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥,根据当前签名算法对所述第二待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤S1。
类似地,通过生成密钥对指令、第一设置指令、第三普通签名指令、报文解析指令和第三复核签名指令完成根据密钥类型进行签名的操作,具体为:
步骤S1:当智能密钥设备接收到上位机发送的指令时,智能密钥设备判断指令类型,若是生成密钥对指令则执行步骤S2,若是第一设置指令则执行步骤C3,若是第三普通签名指令则执行步骤C4,若是报文解析指令则执行步骤C6,若是第三复核签名指令则执行步骤C8,若是其他指令则执行相应操作,向所述上位机返回执行结果,返回步骤S1;
步骤S2:所述智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的密钥对和密钥描述信息写入密钥存储区,向所述上位机返回成功信息,返回步骤S1;
步骤C3:所述智能密钥设备将当前哈希算法设置为所述第一设置指令中指定的哈希算法,将当前签名算法设置为所述第一设置指令中指定的签名算法,存储所述第一设置指令中的当前密钥ID和当前用途标识,向所述上位机返回成功信息,返回步骤S1;
步骤C4:所述智能密钥设备根据当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤C5,否则向所述上位机返回错误信息,返回步骤S1;
步骤C5:所述智能密钥设备根据所述第三普通签名指令中的第一哈希值得到第一待签名数据,将得到的第一待签名数据存储在待签名存储区,向所述上位机返回成功信息,返回步骤S1;
步骤C6:所述智能密钥设备根据当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤C7,否则向所述上位机返回错误信息,返回步骤S1;
步骤C7:所述智能密钥设备对所述报文解析指令中的报文进行解析,得到显示报文,将所述显示报文存储到显示缓存区,根据当前哈希算法、对所述报文解析指令中的报文进行哈希计算,得到第二哈希值,根据所述第二哈希值得到第二待签名数据,将所述第二待签名数据存储在待签名存储区,向所述上位机返回成功信息,返回步骤S1;
步骤C8:所述智能密钥设备判断待签名存储区中的待签名数据是否为第一待签名数据,是则执行步骤C9,否则执行步骤C10;
步骤C9:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥,根据当前签名算法对所述第一待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤S1;
步骤C10:所述智能密钥设备对显示缓存区中的显示报文进行显示,并等待按键被按下,当所述智能密钥设备判断出被按下的按键为确认键时,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥,根据当前签名算法对所述第二待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤S1。
本实施例中,清除相关环境设置包括初始化安全标识,清除当前哈希算法和当前签名算法的设置、清除存储的当前密钥ID、当前用途标识和显示缓存数据;
若智能密钥设备判断出被按下的按键为取消键,则智能密钥设备显示取消信息,清除相关环境设置,向上位机返回成功信息,返回步骤S1;
本实施例中,智能密钥设备在进行普通签名和/或复核签名之前需要判断是否满足安全条件,是则继续进行普通签名和/或复核签名,否则向上位机返回错误信息,返回步骤S1。
本实施例中提供的一种根据密钥类型进行签名的实现方法,为智能密钥设备中的每对密钥设置密钥类型,根据密钥类型限制密钥的用途,例如只用于普通签名的密钥不能在复核签名过程中使用,只用于复核签名的密钥不能在过程普通签名中使用,从而区分不同类型的签名,实现防骗签的目的。
实施例2
本发明的实施例2提供了一种根据密钥类型进行签名的实现方法,如图2至图5所示,包括:
步骤201:智能密钥设备上电,进行初始化;
步骤202:智能密钥设备等待接收上位机发送的指令,当智能密钥设备接收到指令时,智能密钥设备判断指令类型,若是生成密钥对指令则执行步骤203,若是第一设置指令则执行步骤208,若是第三普通签名指令则执行步骤214,若是报文解析指令则执行步骤222,若是第三复核签名指令则执行步骤234,若是其他指令则执行相应操作,向上位机返回执行结果,返回步骤202;
步骤203:智能密钥设备判断是否满足安全条件,是则执行步骤204,否则向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备判断安全标识是否置位,是则确定满足安全条件,否则确定不满足安全条件;
本实施例中,安全标识的初始状态为复位,智能密钥设备对用户输入的PIN码进行验证,当验证成功时将安全标识置位;
步骤204:智能密钥设备判断生成密钥对指令中的密钥类型标识是否合法,是则执行步骤205,否则向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备判断生成密钥对指令中的密钥类型标识的值是否为第一预设值,是则确定密钥类型标识合法,否则确定密钥类型标识不合法;
例如,生成密钥对指令为00 46 00 01 02 01 00,其中第4个字节的数据为密钥类型标识;第一预设值为0x00、0x01和0x02中的任意一个;
本实施例中,若生成密钥对指令中的密钥类型标识的值为0x00,则智能密钥设备生成的密钥为混用密钥;若生成密钥对指令中的密钥类型标识的值为0x01,则智能密钥设备生成的密钥为普通签名密钥;若生成密钥对指令中的密钥类型标识的值为0x02,则智能密钥设备生成的密钥为复核签名密钥;
步骤205:智能密钥设备判断生成密钥对指令中的密钥长度是否合法,是则执行步骤206,否则向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备判断生成密钥对指令中的密钥长度的值是否为预设长度值,是则确定密钥长度合法,否则确定密钥长度不合法;
例如,生成密钥对指令的第6、7个字节的数据为密钥长度;预设长度值为0x0100;
步骤206:智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的密钥对和密钥描述信息写入密钥存储区;
步骤207:智能密钥设备判断生成的密钥对是否有效,是则向上位机返回成功信息,返回步骤202,否则删除生成的密钥对,向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备使用生成的密钥对对预设数据进行签名与验签,判断是否成功,是则确定生成的密钥对有效,否则确定生成的密钥对无效;
步骤208:智能密钥设备判断自身是否支持第一设置指令中指定的哈希算法,是则执行步骤209,否则向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备判断第一设置指令中的哈希算法标识的值是否为第二预设值,是则确定自身支持第一设置指令中指定的哈希算法,否则确定自身不支持第一设置指令中指定的哈希算法;
例如,第一设置指令为00 22 41 B6 07 80 01 52 84 02 02 13,其中第8个字节的数据为哈希算法标识;第二预设值为0x12、0x32、0x52、0x72、0xF2、0xE2和0xC2中的任意一个;
步骤209:智能密钥设备将当前哈希算法设置为第一设置指令中指定的哈希算法;
本实施例中,若第一设置指令中的哈希算法标识为0x12,则第一设置指令中指定的哈希算法为SHA-1算法;若第一设置指令中的哈希算法标识为0x32,则第一设置指令中指定的哈希算法为MD5算法;若第一设置指令中的哈希算法标识为0x52,则第一设置指令中指定的哈希算法为SM3算法;若第一设置指令中的哈希算法标识为0x72,则第一设置指令中指定的哈希算法为MD5和SHA-1算法;若第一设置指令中的哈希算法标识为0xF2,则第一设置指令中指定的哈希算法为SHA-256算法;若第一设置指令中的哈希算法标识为0xE2,则第一设置指令中指定的哈希算法为SHA-512算法;若第一设置指令中的哈希算法标识为0xC2,则第一设置指令中指定的哈希算法为SHA-384算法;
步骤210:智能密钥设备判断自身是否支持第一设置指令中指定的签名算法,是则执行步骤211,否则向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备判断第一设置指令中的用途标识的值是否为第三预设值,是则确定自身支持第一设置指令中指定的签名算法,否则确定自身不支持第一设置指令中指定的签名算法;
例如,第一设置指令的第12个字节的数据为哈希算法标识;第三预设值为0x13、0x1B、0x23和0x2B中的任意一个;
步骤211:智能密钥设备将当前签名算法设置为第一设置指令中指定的签名算法;
本实施例中,若第一设置指令中的用途标识为0x13或0x1B,则第一设置指令中指定的签名算法为SM2算法;若第一设置指令中的用途标识为0x23或0x2B,则第一设置指令中指定的签名算法为RSA算法;
步骤212:智能密钥设备根据第一设置指令中的当前密钥ID和当前用途标识在密钥存储区中获取密钥对,判断获取到的密钥对是否有效,是则执行步骤213,否则清除相关环境设置,向上位机返回错误信息,返回步骤202;
例如,第一设置指令的第11个字节的数据为当前密钥ID,第12个字节的数据为当前用途标识;若当前密钥ID为0x02至0x03,当前用途标识为0x13,则获取到的密钥为SM2算法私钥;若当前密钥ID为0x02至0x03,当前用途标识为0x1B,则获取到的密钥为SM2算法公钥;若当前密钥ID为0x02至0x07,当前用途标识为0x23,则获取到的密钥为RSA算法私钥;若当前密钥ID为0x02至0x07,当前用途标识为0x2B,则获取到的密钥为RSA算公钥;
具体地,智能密钥设备使用获取到的密钥对对预设数据进行签名与验签,判断是否成功,是则确定获取到的密钥对有效,否则确定获取到的密钥对无效;
本实施例中,清除相关环境设置包括初始化安全标识,清除当前哈希算法和当前签名算法的设置、清除存储的当前密钥ID和当前用途标识;
步骤213:智能密钥设备存储第一设置指令中的当前密钥ID和当前用途标识,向上位机返回成功信息,返回步骤202;
步骤214:智能密钥设备判断第三普通签名指令的参数是否正确,是则执行步骤215,否则向上位机返回错误信息,返回步骤202;
例如,第三普通签名指令为00 2A 90 81 20 EC AA 6C D6 BE 22 3B 83 5D 77AF BE 69 FE D1 86 A04C 04 C7 2E C7 40 69 F5 B1 CD 02 51 08 5D 52;
步骤215:智能密钥设备判断是否满足安全条件,是则执行步骤216,否则向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备判断安全标识是否置位,是则确定满足安全条件,否则确定不满足安全条件;
步骤216:智能密钥设备根据存储的当前密钥ID和当前用途标识在密钥存储区中获取对应的密钥描述信息;
步骤217:智能密钥设备判断是否获取到密钥描述信息,是则执行步骤218,否则向上位机返回错误信息,返回步骤202;
步骤218:智能密钥设备从密钥描述信息中获取密钥类型标识;
步骤219:智能密钥设备判断获取到的密钥类型标识是否合法,是则执行步骤220,否则向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备判断获取到的密钥类型标识的值是否为第一预设值,是则确定密钥类型标识合法,否则确定密钥类型标识不合法;其中,第一预设值为0x00、0x01和0x02中的任意一个;
步骤220:智能密钥设备根据获取到的密钥类型标识,判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤221,否则向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备判断获取到的密钥类型标识的值是否为第四预设值,是则确定对应的密钥为不允许进行普通签名的密钥,否则确定对应的密钥为允许进行普通签名的密钥;例如,第四预设值为0x02;本实施例中,混用密钥和普通签名密钥均为允许进行普通签名的密钥;
步骤221:智能密钥设备获取第三普通签名指令中的第一哈希值,对第一哈希值进行填充,得到第一待签名数据,将得到的第一待签名数据存储在待签名存储区,向上位机返回成功信息,返回步骤202;
步骤222:智能密钥设备判断报文解析指令的参数是否正确,是则执行步骤223,否则向上位机返回错误信息,返回步骤202;
例如,报文解析指令为00 2A 90 81 7E 01 02 03 04 3C 54 3E 3C 44 3E 3C 4D09 0A 3C 54 3E 3C 44 3E 3E 3C 44 3E 3C 4D 09 0A 3C 54 3E 3C 30 32 30 30 30 3030 30 30 30 30 30 30 30 30 30 30 34 32 30 30 31 30 31 30 30 30 30 30 30 30 3030 30 30 30 30 30 35 34 30 30 30 30 30 30 31 38 30 30 30 30 30 30 30 37 61 62632E 74 78 74 61 62 63 30 30 30 30 30 30 32 30 30 30 30 30 30 30 30 38 74 6573 74 2E 74 78 74 74 65 73 74;
步骤223:智能密钥设备判断是否满足安全条件,是则执行步骤224,否则向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备判断安全标识是否置位,是则确定满足安全条件,否则确定不满足安全条件;
步骤224:智能密钥设备根据存储的当前密钥ID和当前用途标识在密钥存储区中获取对应的密钥描述信息;
步骤225:智能密钥设备判断是否获取到密钥描述信息,是则执行步骤226,否则向上位机返回错误信息,返回步骤202;
步骤226:智能密钥设备从密钥描述信息中获取密钥类型标识;
步骤227:智能密钥设备判断获取到的密钥类型标识是否合法,是则执行步骤228,否则向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备判断获取到的密钥类型标识的值是否为第一预设值,是则确定密钥类型标识合法,否则确定密钥类型标识不合法;其中,第一预设值为0x00、0x01和0x02中的任意一个;
步骤228:智能密钥设备根据获取到的密钥类型标识,判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤229,否则向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备判断获取到的密钥类型标识的值是否为第五预设值,是则确定对应的密钥为不允许进行复核签名的密钥,否则确定对应的密钥为允许进行复核签名的密钥;例如,第五预设值为0x01;本实施例中,混用密钥和复核签名密钥均为允许进行复核签名的密钥;
步骤229:智能密钥设备根据当前哈希算法,对报文解析指令中的报文进行哈希计算,得到第二哈希值,并对报文解析指令中的报文进行解析;
步骤230:智能密钥设备判断是否解析成功,是则得到显示报文,将显示报文存储到显示缓存区,执行步骤231,否则向上位机返回错误信息,返回步骤202;
具体地,智能密钥设备判断报文解析指令中的报文是否为预设格式的报文,是则确定解析成功,否则确定解析失败;
步骤231:智能密钥设备根据获取到的密钥类型标识,判断对应的密钥是否为只允许进行复核签名的密钥,是则执行步骤232,否则执行步骤233;
具体地,智能密钥设备判断获取到的密钥类型标识的值是否为第四预设值,是则确定对应的密钥为只允许进行复核签名的密钥,否则确定对应的密钥不为只允许进行复核签名的密钥;例如,第四预设值为0x02;
步骤232:智能密钥设备对第二哈希值进行填充,得到第二待签名数据,将得到的第二待签名数据存储在待签名存储区,向上位机返回成功信息,返回步骤202;
步骤233:智能密钥设备根据当前哈希算法,对报文解析指令中的报文进行解析,得到交易信息,对交易信息进行哈希计算,得到第三哈希值,对第二哈希值和第三哈希值进行组合,并对组合结果进行填充,得到第二待签名数据,将得到的第二待签名数据存储在待签名存储区,向上位机返回成功信息,返回步骤202;
步骤234:智能密钥设备判断第三复核签名指令的参数是否正确,是则执行步骤235,否则向上位机返回错误信息,返回步骤202;
步骤235:智能密钥设备判断当前是否对第一待签名数据进行签名,是则执行步骤236,否则执行步骤237;
具体地,本实施例中,步骤221中还包括,智能密钥设备将普通签名标识置位,则步骤235中智能密钥设备判断普通签名标识是否置位,是则确定待签名存储区中的待签名数据为第一待签名数据,否则确定待签名存储区中的待签名数据为第二待签名数据;
除此之外,还可以为:步骤229中还包括,智能密钥设备将复核签名标识置位,则步骤235中智能密钥设备判断复核签名标识是否置位,是则确定待签名存储区中的待签名数据为第二待签名数据,否则确定待签名存储区中的待签名数据为第一待签名数据;
步骤236:智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用获取到的密钥,根据当前签名算法对第一待签名数据进行签名,向上位机返回签名结果和成功信息,清除相关环境设置,返回步骤202;
本实施例中,清除相关环境设置包括初始化安全标识,清除当前哈希算法和当前签名算法的设置、清除存储的当前密钥ID和当前用途标识;
步骤237:智能密钥设备对显示缓存区中的显示报文进行显示;
步骤238:智能密钥设备判断是否有按键被按下,是则执行步骤240,否则执行步骤239;
步骤239:智能密钥设备判断按键等待是否超时,是则显示取消信息,向上位机返回成功信息,清除相关环境设置,返回步骤202;否则返回步骤238;
本实施例中,清除相关环境设置包括初始化安全标识,清除当前哈希算法和当前签名算法的设置、清除存储的当前密钥ID和当前用途标识、显示缓存区数据;
步骤240:智能密钥设备判断被按下的按键类型,若是确认键则执行步骤241;若是取消键则显示取消信息,清除相关环境设置,向上位机返回成功信息,返回步骤202;
步骤241:智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用获取到的密钥,根据当前签名算法对第二待签名数据进行签名,向上位机返回签名结果和成功信息,清除相关环境设置,返回步骤202;
除此之外,本实施例中,步骤221还可以为:智能密钥设备获取第三普通签名指令中的第一哈希值,对第一哈希值进行填充,得到第一待签名数据,根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用获取到的密钥,根据当前签名算法对第一待签名数据进行签名,向上位机返回签名结果和成功信息,清除相关环境设置,返回步骤202;
则步骤234中智能密钥设备判断出第三复核签名指令的参数正确后执行步骤237;
本实施例中,上述方法通过生成密钥对指令、第一设置指令、第三普通签名指令、报文解析指令和第三复核签名指令完成根据密钥类型进行签名的操作,除此之外,还可以通过更少的指令完成根据密钥类型进行签名的操作,例如,通过生成密钥对指令、第一设置指令、第二普通签名指令和第二复核签名指令完成根据密钥类型进行签名的操作,即,在智能密钥设备接收到第二复核签名指令后,完成报文解析操作和复核签名操作;例如,通过生成密钥对指令、第一普通签名指令和第一复核签名指令完成根据密钥类型进行签名的操作,即,在智能密钥设备接收到第一普通签名指令后,完成设置哈希算法、签名算法的操作和存储当前密钥ID和当前用途标识的操作,并完成普通签名操作,在智能密钥设备接收到第一复核签名指令后,完成设置哈希算法、签名算法的操作和存储当前密钥ID和当前用途标识的操作,并完成复核签名操作;例如,通过生成密钥对指令和签名数据包完成根据密钥类型进行签名的操作,即,在智能密钥设备接收到签名数据包后,进行设置哈希算法、签名算法的操作和存储当前密钥ID和当前用途标识的操作,并完成普通签名操作或者复核签名操作。
本实施例中提供的一种根据密钥类型进行签名的实现方法,为智能密钥设备中的每对密钥设置密钥类型,根据密钥类型限制密钥的用途,例如只用于普通签名的密钥不能在复核签名过程中使用,只用于复核签名的密钥不能在过程普通签名中使用,从而区分不同类型的签名,实现防骗签的目的。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (30)

1.一种根据密钥类型进行签名的实现方法,其特征在于,所述方法包括:
步骤S1:当智能密钥设备接收到上位机发送的数据时,所述智能密钥设备判断数据类型,若是生成密钥对指令则执行步骤S2,若是签名数据包则执行步骤S3,若是其他指令则执行相应操作,向所述上位机返回执行结果,返回步骤S1;
步骤S2:所述智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的密钥对和密钥描述信息写入密钥存储区,向所述上位机返回成功信息,返回步骤S1;
步骤S3:所述智能密钥设备将当前哈希算法设置为所述签名数据包中指定的哈希算法,将当前签名算法设置为所述签名数据包中指定的签名算法,存储所述签名数据包中的当前密钥ID和当前用途标识,执行步骤S4;
步骤S4:所述智能密钥设备根据所述签名数据包中的参数判断是否进行复核签名,是则执行步骤S7,否则执行步骤S5;
步骤S5:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤S6,否则向所述上位机返回错误信息,返回步骤S1;
步骤S6:所述智能密钥设备根据所述签名数据包中的第一哈希值得到第一待签名数据,根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对所述第一待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤S1;
步骤S7:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤S8,否则向所述上位机返回错误信息,返回步骤S1;
步骤S8:所述智能密钥设备对所述签名数据包中的报文进行解析,得到显示报文,将所述显示报文存储到显示缓存区,根据当前哈希算法,对所述签名数据包中的报文进行哈希计算,得到第二哈希值,根据所述第二哈希值得到第二待签名数据,执行步骤S9;
步骤S9:所述智能密钥设备对显示缓存区中的显示报文进行显示,并等待按键被按下,当所述智能密钥设备判断出被按下的按键为确认键时,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥,根据当前签名算法对所述第二待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤S1;
所述清除相关环境设置包括清除当前哈希算法和当前签名算法的设置、清除存储的当前密钥ID、当前用途标识和所述显示缓存区中的数据。
2.根据权利要求1所述的方法,其特征在于,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,具体为:所述智能密钥设备根据存储的当前密钥ID和当前用途标识在所述密钥存储区中获取对应的密钥描述信息,从所述密钥描述信息中获取所述密钥类型标识。
3.根据权利要求1所述的方法,其特征在于,所述根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,具体为:所述智能密钥设备判断所述密钥类型标识的值是否为第四预设值,是则确定对应的密钥为不允许进行普通签名的密钥,否则确定对应的密钥为允许进行普通签名的密钥。
4.根据权利要求1所述的方法,其特征在于,所述根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,具体为:所述智能密钥设备判断获取到的密钥类型标识的值是否为第五预设值,是则确定对应的密钥为不允许进行复核签名的密钥,否则确定对应的密钥为允许进行复核签名的密钥。
5.根据权利要求1所述的方法,其特征在于,所述智能密钥设备对所述签名数据包中的报文进行解析之后包括:所述智能密钥设备判断是否解析成功,是则得到显示报文,否则向所述上位机返回错误信息,返回步骤S1。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第二哈希值得到第二待签名数据,包括:
步骤S8-1:所述智能密钥设备根据获取到的所述密钥类型标识,判断对应的密钥是否为只允许进行复核签名的密钥,是则执行步骤S8-2,否则执行步骤S8-3;
步骤S8-2:所述智能密钥设备对所述第二哈希值进行填充,得到所述第二待签名数据;
步骤S8-3:所述智能密钥设备对所述报文进行解析,得到交易信息,根据当前哈希算法,对所述交易信息进行哈希计算,得到第三哈希值,对所述第二哈希值和所述第三哈希值进行组合,并对组合结果进行填充,得到所述第二待签名数据。
7.根据权利要求6所述的方法,其特征在于,所述智能密钥设备判断对应的密钥是否为只允许进行复核签名的密钥,具体为:所述智能密钥设备判断所述密钥类型标识的值是否为第四预设值,是则确定对应的密钥为只允许进行复核签名的密钥,否则确定对应的密钥不为只允许进行复核签名的密钥。
8.一种根据密钥类型进行签名的实现方法,其特征在于,所述方法包括:
步骤A1:当智能密钥设备接收到上位机发送的数据时,所述智能密钥设备判断数据类型,若是生成密钥对指令则执行步骤A2,若是第一普通签名指令则执行步骤A3,若是第一复核签名指令则执行步骤A6,若是其他指令则执行相应操作,向所述上位机返回执行结果,返回步骤A1;
步骤A2:所述智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的所述密钥对和所述密钥描述信息写入密钥存储区,向所述上位机返回成功信息,返回步骤A1;
步骤A3:所述智能密钥设备将当前哈希算法设置为所述第一普通签名指令中指定的哈希算法,将当前签名算法设置为所述第一普通签名指令中指定的签名算法,存储所述第一普通签名指令中的当前密钥ID和当前用途标识;
步骤A4:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤A5,否则向所述上位机返回错误信息,返回步骤A1;
步骤A5:所述智能密钥设备根据所述第一普通签名指令中的第一哈希值得到第一待签名数据,根据当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对所述第一待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤A1;
步骤A6:所述智能密钥设备将当前哈希算法设置为所述第一复核签名指令中指定的哈希算法,将当前签名算法设置为所述第一复核签名指令中指定的签名算法,存储所述第一复核签名指令中的当前密钥ID和当前用途标识;
步骤A7:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤A8,否则向所述上位机返回错误信息,返回步骤A1;
步骤A8:所述智能密钥设备对所述第一复核签名指令中的报文进行解析,得到显示报文,将所述显示报文存储到显示缓存区,根据当前哈希算法,对所述第一复核签名指令中的报文进行哈希计算,得到第二哈希值,根据所述第二哈希值得到第二待签名数据,执行步骤A9;
步骤A9:所述智能密钥设备对所述显示缓存区中的显示报文进行显示,并等待按键被按下,当所述智能密钥设备判断出被按下的按键为确认键时,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对所述第二待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤A1;
所述清除相关环境设置包括清除当前哈希算法和当前签名算法的设置、清除存储的当前密钥ID、当前用途标识和所述显示缓存区中的数据。
9.根据权利要求8所述的方法,其特征在于,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,具体为:所述智能密钥设备根据存储的当前密钥ID和当前用途标识在所述密钥存储区中获取对应的密钥描述信息,从所述密钥描述信息中获取所述密钥类型标识。
10.根据权利要求8所述的方法,其特征在于,所述根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,具体为:所述智能密钥设备判断所述密钥类型标识的值是否为第四预设值,是则确定对应的密钥为不允许进行普通签名的密钥,否则确定对应的密钥为允许进行普通签名的密钥。
11.根据权利要求8所述的方法,其特征在于,所述根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,具体为:所述智能密钥设备判断获取到的密钥类型标识的值是否为第五预设值,是则确定对应的密钥为不允许进行复核签名的密钥,否则确定对应的密钥为允许进行复核签名的密钥。
12.根据权利要求8所述的方法,其特征在于,所述智能密钥设备对所述第一复核签名指令中的报文进行解析之后包括:所述智能密钥设备判断是否解析成功,是则得到显示报文,否则向所述上位机返回错误信息,返回步骤A1。
13.根据权利要求8所述的方法,其特征在于,所述根据所述第二哈希值得到第二待签名数据,包括:
步骤A8-1:所述智能密钥设备根据获取到的所述密钥类型标识,判断对应的密钥是否为只允许进行复核签名的密钥,是则执行步骤A8-2,否则执行步骤A8-3;
步骤A8-2:所述智能密钥设备对所述第二哈希值进行填充,得到所述第二待签名数据;
步骤A8-3:所述智能密钥设备对所述报文进行解析,得到交易信息,根据当前哈希算法对所述交易信息进行哈希计算,得到第三哈希值,对所述第二哈希值和所述第三哈希值进行组合,并对组合结果进行填充,得到所述第二待签名数据。
14.根据权利要求13所述的方法,其特征在于,所述智能密钥设备判断对应的密钥是否为只允许进行复核签名的密钥,具体为:所述智能密钥设备判断所述密钥类型标识的值是否为第四预设值,是则确定对应的密钥为只允许进行复核签名的密钥,否则确定对应的密钥不为只允许进行复核签名的密钥。
15.一种根据密钥类型进行签名的实现方法,其特征在于,所述方法包括:
步骤B1:当智能密钥设备接收到上位机发送的数据时,所述智能密钥设备判断数据类型,若是生成密钥对指令则执行步骤B2,若是第一设置指令则执行步骤B3,若是第二普通签名指令则执行步骤B4,若是第二复核签名指令则执行步骤B6,若是其他指令则执行相应操作,向所述上位机返回执行结果,返回步骤B1;
步骤B2:所述智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的所述密钥对和所述密钥描述信息写入密钥存储区,向所述上位机返回成功信息,返回步骤B1;
步骤B3:所述智能密钥设备将当前哈希算法设置为所述第一设置指令中指定的哈希算法,将当前签名算法设置为所述第一设置指令中指定的签名算法,存储所述第一设置指令中的当前密钥ID和当前用途标识,向所述上位机返回成功信息,返回步骤B1;
步骤B4:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤B5,否则向所述上位机返回错误信息,返回步骤B1;
步骤B5:所述智能密钥设备根据所述第二普通签名指令中的第一哈希值得到第一待签名数据,根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对所述第一待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤B1;
步骤B6:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤B7,否则向所述上位机返回错误信息,返回步骤B1;
步骤B7:所述智能密钥设备对所述第二复核签名中的报文进行解析,得到显示报文,将所述显示报文存储到显示缓存区,根据当前哈希算法、对所述第二复核签名中的报文进行哈希计算,得到第二哈希值,根据所述第二哈希值得到第二待签名数据,执行步骤B8;
步骤B8:所述智能密钥设备对显示缓存区中的显示报文进行显示,并等待按键被按下,当所述智能密钥设备判断出被按下的按键为确认键时,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对所述第二待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤B1;
所述清除相关环境设置包括清除当前哈希算法和当前签名算法的设置、清除存储的当前密钥ID、当前用途标识和所述显示缓存区中的数据。
16.根据权利要求15所述的方法,其特征在于,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,具体为:所述智能密钥设备根据存储的当前密钥ID和当前用途标识在所述密钥存储区中获取对应的密钥描述信息,从所述密钥描述信息中获取所述密钥类型标识。
17.根据权利要求15所述的方法,其特征在于,所述根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,具体为:所述智能密钥设备判断所述密钥类型标识的值是否为第四预设值,是则确定对应的密钥为不允许进行普通签名的密钥,否则确定对应的密钥为允许进行普通签名的密钥。
18.根据权利要求15所述的方法,其特征在于,所述根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,具体为:所述智能密钥设备判断获取到的密钥类型标识的值是否为第五预设值,是则确定对应的密钥为不允许进行复核签名的密钥,否则确定对应的密钥为允许进行复核签名的密钥。
19.根据权利要求15所述的方法,其特征在于,所述智能密钥设备对所述第二复核签名中的报文进行解析之后包括:所述智能密钥设备判断是否解析成功,是则得到显示报文,否则向所述上位机返回错误信息,返回步骤B1。
20.根据权利要求15所述的方法,其特征在于,所述根据所述第二哈希值得到第二待签名数据,包括:
步骤B7-1:所述智能密钥设备根据获取到的所述密钥类型标识,判断对应的密钥是否为只允许进行复核签名的密钥,是则执行步骤B7-2,否则执行步骤B7-3;
步骤B7-2:所述智能密钥设备对所述第二哈希值进行填充,得到所述第二待签名数据;
步骤B7-3:所述智能密钥设备根对所述报文进行解析,得到交易信息,据当前哈希算法对所述交易信息进行哈希计算,得到第三哈希值,对所述第二哈希值和所述第三哈希值进行组合,并对组合结果进行填充,得到所述第二待签名数据。
21.根据权利要求20所述的方法,其特征在于,所述智能密钥设备判断对应的密钥是否为只允许进行复核签名的密钥,具体为:所述智能密钥设备判断所述密钥类型标识的值是否为第四预设值,是则确定对应的密钥为只允许进行复核签名的密钥,否则确定对应的密钥不为只允许进行复核签名的密钥。
22.一种根据密钥类型进行签名的实现方法,其特征在于,所述方法包括:
步骤C1:当智能密钥设备接收到上位机发送的指令时,所述智能密钥设备判断指令类型,若是生成密钥对指令则执行步骤C2,若是第一设置指令则执行步骤C3,若是第三普通签名指令则执行步骤C4,若是报文解析指令则执行步骤C6,若是第三复核签名指令则执行步骤C8,若是其他指令则执行相应操作,向所述上位机返回执行结果,返回步骤C1;
步骤C2:所述智能密钥设备将生成密钥对指令中的密钥类型标识、密钥ID和用途标识写入密钥描述信息,生成密钥对,并将生成的所述密钥对和所述密钥描述信息写入密钥存储区,向所述上位机返回成功信息,返回步骤C1;
步骤C3:所述智能密钥设备将当前哈希算法设置为所述第一设置指令中指定的哈希算法,将当前签名算法设置为所述第一设置指令中指定的签名算法,存储所述第一设置指令中的当前密钥ID和当前用途标识,向所述上位机返回成功信息,返回步骤C1;
步骤C4:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,是则执行步骤C5,否则向所述上位机返回错误信息,返回步骤C1;
步骤C5:所述智能密钥设备根据所述第三普通签名指令中的第一哈希值得到第一待签名数据,将得到的第一待签名数据存储在待签名存储区,向所述上位机返回成功信息,返回步骤C1;
步骤C6:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,是则执行步骤C7,否则向所述上位机返回错误信息,返回步骤C1;
步骤C7:所述智能密钥设备对所述报文解析指令中的报文进行解析,得到显示报文,将所述显示报文存储到显示缓存区,根据当前哈希算法、对所述报文解析指令中的报文进行哈希计算,得到第二哈希值,根据所述第二哈希值得到第二待签名数据,将所述第二待签名数据存储在待签名存储区,向所述上位机返回成功信息,返回步骤C1;
步骤C8:所述智能密钥设备判断待签名存储区中的待签名数据是否为第一待签名数据,是则执行步骤C9,否则执行步骤C10;
步骤C9:所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对存储的第一待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤C1;
步骤C10:所述智能密钥设备对显示缓存区中的显示报文进行显示,并等待按键被按下,当所述智能密钥设备判断出被按下的按键为确认键时,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥,使用所述密钥、根据当前签名算法对存储的第二待签名数据进行签名,向所述上位机返回签名结果和成功信息,清除相关环境设置,返回步骤C1;
所述清除相关环境设置包括清除当前哈希算法和当前签名算法的设置、清除存储的当前密钥ID、当前用途标识和所述显示缓存区中的数据。
23.根据权利要求22所述的方法,其特征在于,所述智能密钥设备根据存储的当前密钥ID和当前用途标识获取对应的密钥类型标识,具体为:所述智能密钥设备根据存储的当前密钥ID和当前用途标识在所述密钥存储区中获取对应的密钥描述信息,从所述密钥描述信息中获取所述密钥类型标识。
24.根据权利要求22所述的方法,其特征在于,所述根据所述密钥类型标识判断对应的密钥是否为允许进行普通签名的密钥,具体为:所述智能密钥设备判断所述密钥类型标识的值是否为第四预设值,是则确定对应的密钥为不允许进行普通签名的密钥,否则确定对应的密钥为允许进行普通签名的密钥。
25.根据权利要求22所述的方法,其特征在于,所述根据所述密钥类型标识判断对应的密钥是否为允许进行复核签名的密钥,具体为:所述智能密钥设备判断获取到的密钥类型标识的值是否为第五预设值,是则确定对应的密钥为不允许进行复核签名的密钥,否则确定对应的密钥为允许进行复核签名的密钥。
26.根据权利要求22所述的方法,其特征在于,所述智能密钥设备对所述报文解析指令中的报文进行解析之后包括:所述智能密钥设备判断是否解析成功,是则得到显示报文,否则向所述上位机返回错误信息,返回步骤C1。
27.根据权利要求22所述的方法,其特征在于,所述根据所述第二哈希值得到第二待签名数据,包括:
步骤C7-1:所述智能密钥设备根据获取到的所述密钥类型标识,判断对应的密钥是否为只允许进行复核签名的密钥,是则执行步骤C7-2,否则执行步骤C7-3;
步骤C7-2:所述智能密钥设备对所述第二哈希值进行填充,得到所述第二待签名数据;
步骤C7-3:所述智能密钥设备对所述报文进行解析,得到交易信息,根据当前哈希算法对所述交易信息进行哈希计算,得到第三哈希值,对所述第二哈希值和所述第三哈希值进行组合,并对组合结果进行填充,得到所述第二待签名数据。
28.根据权利要求27所述的方法,其特征在于,所述智能密钥设备判断对应的密钥是否为只允许进行复核签名的密钥,具体为:所述智能密钥设备判断所述密钥类型标识的值是否为第四预设值,是则确定对应的密钥为只允许进行复核签名的密钥,否则确定对应的密钥不为只允许进行复核签名的密钥。
29.根据权利要求22所述的方法,其特征在于,所述步骤C5包括:所述智能密钥设备将普通签名标识置位;
所述智能密钥设备判断待签名存储区中的待签名数据是否为第一待签名数据,具体为:所述智能密钥设备判断所述普通签名标识是否置位,是则确定待签名存储区中的待签名数据为第一待签名数据,否则确定待签名存储区中的待签名数据为第二待签名数据。
30.根据权利要求22所述的方法,其特征在于,所述步骤C7包括:所述智能密钥设备将复核签名标识置位;
所述智能密钥设备判断待签名存储区中的待签名数据是否为第一待签名数据,具体为:所述智能密钥设备判断所述复核签名标识是否置位,是则确定待签名存储区中的待签名数据不为第一待签名数据,否则确定待签名存储区中的待签名数据为第一待签名数据。
CN201510247236.XA 2015-05-15 2015-05-15 一种根据密钥类型进行签名的实现方法 Active CN104852806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510247236.XA CN104852806B (zh) 2015-05-15 2015-05-15 一种根据密钥类型进行签名的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510247236.XA CN104852806B (zh) 2015-05-15 2015-05-15 一种根据密钥类型进行签名的实现方法

Publications (2)

Publication Number Publication Date
CN104852806A CN104852806A (zh) 2015-08-19
CN104852806B true CN104852806B (zh) 2018-01-05

Family

ID=53852176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510247236.XA Active CN104852806B (zh) 2015-05-15 2015-05-15 一种根据密钥类型进行签名的实现方法

Country Status (1)

Country Link
CN (1) CN104852806B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871557B (zh) * 2016-05-18 2019-04-16 飞天诚信科技股份有限公司 电子邮件签名方法、装置及***
CN110189125B (zh) * 2019-05-29 2021-04-27 飞天诚信科技股份有限公司 一种交互型数字签名的方法及***
CN111049654A (zh) * 2019-11-11 2020-04-21 北京握奇智能科技有限公司 一种银行USBKey证书申请防篡改保护方法及***
WO2021196047A1 (zh) * 2020-03-31 2021-10-07 华为技术有限公司 密钥处理方法和装置
CN117353926B (zh) * 2023-12-01 2024-02-27 苏州元脑智能科技有限公司 一种基于芯片的sm2算法密码处理方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599836A (zh) * 2009-07-14 2009-12-09 北京坚石诚信科技有限公司 一种签名方法、签名设备和***
CN103532721A (zh) * 2013-10-23 2014-01-22 北京旋极信息技术股份有限公司 数字签名、验签方法和区分交易签名和普通签名的方法
CN103701598A (zh) * 2013-12-05 2014-04-02 武汉信安珞珈科技有限公司 一种基于sm2签名算法的复核签名方法和数字签名设备
CN104579677A (zh) * 2014-11-18 2015-04-29 飞天诚信科技股份有限公司 一种安全快速的数据签名方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779258B2 (en) * 2006-09-22 2010-08-17 International Business Machines Corporation Method for controlling security function execution with a flexible, extendable, and non-forgable block

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599836A (zh) * 2009-07-14 2009-12-09 北京坚石诚信科技有限公司 一种签名方法、签名设备和***
CN103532721A (zh) * 2013-10-23 2014-01-22 北京旋极信息技术股份有限公司 数字签名、验签方法和区分交易签名和普通签名的方法
CN103701598A (zh) * 2013-12-05 2014-04-02 武汉信安珞珈科技有限公司 一种基于sm2签名算法的复核签名方法和数字签名设备
CN104579677A (zh) * 2014-11-18 2015-04-29 飞天诚信科技股份有限公司 一种安全快速的数据签名方法

Also Published As

Publication number Publication date
CN104852806A (zh) 2015-08-19

Similar Documents

Publication Publication Date Title
CN104852806B (zh) 一种根据密钥类型进行签名的实现方法
CN110932858B (zh) 认证方法和***
CN103081399B (zh) 认证设备和***
CN102916963B (zh) 一种数据安全交换方法、装置、节点及***
US9094823B2 (en) Data processing for securing local resources in a mobile device
CN101778099B (zh) 可容忍非信任组件的可信网络接入架构及其接入方法
CN113014539B (zh) 一种物联网设备安全保护***及方法
US20150350164A1 (en) Intelligent card secure communication method
CN106534086B (zh) 一种设备认证方法、终端设备、服务器及***
WO2012145347A1 (en) Secure network cloud architecture
EP2378414A2 (en) Remote update method for firmware
WO2020035009A1 (zh) 认证***及其工作方法
CN109729046A (zh) 二维码扫描方法和终端、认证方法和服务器及服务***
CN106372487A (zh) 一种服务器操作***可信增强方法及***
CA3184034A1 (en) Software integrity protection method and apparatus, and software integrity verification method and apparatus
CN106156677A (zh) 身份证读卡方法和***
CN109257170A (zh) 密钥协商方法、设备、终端、存储介质以及***
CN106022081A (zh) 一种身份证读卡终端的读卡方法、身份证读卡终端和***
CN110190950A (zh) 一种安全签名的实现方法及装置
CN106936797A (zh) 一种云中虚拟机磁盘及文件加密密钥的管理方法和***
CN106529221B (zh) 一种fpga程序防拷贝方法和pci-e密码卡
CN106027249A (zh) 身份证读卡方法和***
CN112287312B (zh) 一种登录Windows操作***的方法及***
CN107919963B (zh) 一种认证器及其实现方法
CN107169318A (zh) 一种应用程序安全保护的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
OL01 Intention to license declared