一种动态绑定信息的密钥使用方法与流程
- 国知局
- 2024-08-02 14:54:00
本发明属于密码,特别是一种动态绑定信息的密钥使用方法。
背景技术:
1、公钥密码技术(public key cryptography)是目前常用的密码技术,能实现数据加密、解密,数字签名及签名验证、密钥协商等密码功能。在公钥密码技术应用过程中会有这样的需求,期望将数据加密、数字签名与特定的信息绑定,比如,与加密时间、签名时间(提示信息),数据解密控制时间、解密权限要求、签名用途(控制和/或限定信息),手写签名笔迹(签名者意愿信息)等数据加密方、数字签名方(用户)选择和/或设置的与密码操作有关的信息,以及/或者与密码操作处理所针对的数据内容有关的信息绑定。
2、满足以上技术需求,一种可能的做法是修改密码应用数据,使之携带额外的数据,同时使得密码应用数据的处理程序能够对额外携带的数据进行处理,但这种做法不能将密码运算本身与特定的信息直接绑定,且这种做法将导致较多的现有程序修改,甚至导致应用程序的修改,这显然不能令人满意。
技术实现思路
1、本发明的本发明的目的是针对公钥密码技术应用过程中将密码运算与特定信息绑定的技术问题,提出一种解决方案。
2、针对本发明的目的,本发明提出的技术方案为一种动态绑定信息的密钥使用方法,具体如下。
3、当使用公钥pka进行密码运算时(如加密运算),或者当使用公钥对使用私钥skb进行密码运算后得到的数据进行密码运算处理时(如签名验证运算),其中私钥skb为利用密钥使用信息生成的整数和/或元素对私钥ska进行代数运算后得到的私钥,公钥使用方利用密钥使用信息生成针对公钥pka进行代数运算的整数和/或元素,然后利用生成的整数和/或元素对公钥pka进行代数运算,得到新的公钥pkb,然后利用公钥pkb进行密码运算;
4、当使用私钥ska进行密码运算时(如签名运算),或者当使用私钥对使用公钥pkb进行密码运算后得到的数据进行密码运算处理时(如解密运算),其中公钥pkb为利用密钥使用信息生成的整数和/或元素对公钥pka进行代数运算后得到的公钥,私钥使用方利用密钥使用信息生成针对私钥ska或针对私钥秘密进行代数运算的整数和/或元素,利用生成的整数和/或元素对私钥ska或对ska的私钥秘密进行代数运算,得到与新公钥pkb对应的新私skb,然后使用私钥skb进行密码运算;所述私钥秘密为通过运算和/或计算能得到即生成私钥的秘密数据或为私钥的组成部分,私钥本身也属于私钥秘密(因为它是它自己的组成部分,因此属于私钥秘密的特例);通过代数运算计算得到的私钥skb所使用的私钥秘密即私钥skb所包含的私钥秘密不必为原有私钥ska的私钥秘密;
5、若后续对密码运算后得到的数据的处理需要使用密钥使用信息,则密钥使用方将密钥使用信息或其获取信息(如url、uri)与密码运算后得到的数据一起传送和存放;所述密钥使用方包括上述公钥使用方和私钥使用方;
6、以上所述代数运算包括初等代数运算和/或抽象代数运算(抽象代数,也称近世代数、近现代代数,其代数运算为在集合上定义的针对集合中元素的代数运算,如加、减、乘、逆,其中乘包括元素乘和/或元素与整数的数乘,数乘即同一个元素多倍点相加,一个集合集不必定义所有的代数运算);针对公钥pka进行代数运算的元素为公钥pka所在集合中的元素(对pka进行代数运算,除了pka所在集合中的元素,还可以有整数);针对私钥ska和/私钥秘密进行代数运算的元素为私钥ska和/或ska的私钥秘密所在集合中的元素(对ska进行代数运算,除了ska所在集合中的元素,还可以有整数);公钥使用方计算得到pkb所进行的代数运算与私钥使用方计算得到skb所进行的代数运算之间存在对应关系,以确保得到的pkb和skb为密钥对;
7、以上所述操作处理仅在密钥(包括公钥、私钥)使用需要绑定密钥使用信息,以及/或者密钥使用绑定了密钥使用信息时实施(即pka、ska仍可以根据需要按通常的方式使用);
8、以上所述公钥使用方、私钥使用方分别指使用公钥、私钥进行密码运算的密码组件或密码装置或密码系统;密钥使用方、私钥使用方通称密钥使用方法。
9、对于以上所述动态绑定信息的密钥使用方法,所述密钥使用信息为数字信息(比如,可以为数字编码的文字信息,如ascii、gb2312,可以为图像如手写签名、人脸,可以为语音、视频信息,还可以为约定的编码指示,如url/uri、doi等)。
10、对于以上所述动态绑定信息的密钥使用方法,密钥使用信息可以为密钥使用方(用户)选择、设置的与密码运算操作,以及/或者与密码运算所针对的数据内容有关的任何信息,比如提示信息和/或限定和/或控制信息(比如加密时间、签名时间、解密时间、解密权限要求、手写签名等);若密钥使用信息为限定和/或控制信息则解密方或签名验证方根据限定和/或控制信息进行密码运算操作处理(比如,在约定时间后或获得授权后才进行数据解密)。
11、对于以上所述动态绑定信息的密钥使用方法,(新公钥所对应的)新私钥skb包含(或所对应的)私钥秘密的情形包括:
12、新私钥skb仅包含原私钥ska所包含的私钥秘密,或者,新私钥skb同时包含原私钥ska所包含的私钥秘密和新的私钥秘密,或者,新私钥skb仅包含新的私钥秘密(原有私钥秘密已被新私钥秘密替换),其中新的私钥秘密仅原私钥ska拥有方拥有或知晓。
13、对于以上所述动态绑定信息的密钥使用方法,若新私钥skb所包含的私钥秘密同时包含原有私钥ska所包含的私钥秘密和新的私钥秘密,或者新私钥skb仅包含新的私钥秘密,则携带公钥pka的数字证书同时包含有新公钥生成参数(新公钥生成参数为非保密数据),新公钥生成参数为使用原有私钥ska所包含的的私钥秘密和新的私钥秘密进行(代数)运算后得到;数据加密或签名验证时,加密方或签名验证方使用密钥使用信息生成针对公钥进行代数运算的整数和/或元素,然后利用生成的整数和/或元素、以及新公钥生成参数,对原有公钥pka进行代数运算,得到新的公钥pkb,而计算得到的新公钥pkb所对应的私钥skb同时包含原有私钥ska所包含的私钥秘密和新的私钥秘密,或者仅包含新的私钥秘密。
14、对于以上所述动态绑定信息的密钥使用方法,传送、传递密钥使用信息的方式包括:密钥使用信息与经密码处理后的数据一起传递和保存,或者密钥使用信息的获取信息与经密码处理后的数据一起传递和保存,而解密方或签名验证方利用密钥使用信息的获取信息从指示的位置获取密钥使用信息(比如存放在网上,然后通过网络获取)。
15、对于以上所述动态绑定信息的密钥使用方法,密钥使用信息或其获取信息与经密码处理后的数据一起传递和保存的方式包括:
16、将密钥使用信息或其获取信息包含在(直接)使用密钥进行密码运算后得到的数据中(如附加在密码运算得到的数据后面),
17、或者,将密钥使用信息或其获取信息包含在经加密或签名后得到的格式化密码数据中(比如cryptographic message syntax即cms格式化密码数据,cms advancedelectronic signature即cades格式化密码数据),
18、或者,将密钥使用信息或其获取信息包含在待签名或被签名的数据内容中,
19、或者,待签名或被签名的数据内容本身就是密钥使用信息。
20、对于以上所述动态绑定信息的密钥使用方法,若私钥包含多份私钥秘密(由多份私钥秘密计算得到),则利用密钥使用信息对原密钥包括公钥和私钥进行修改时不必修改和改变每份私钥秘密(即,既可以修改、改变全部私钥秘密,也可以仅修改、改变部分私钥秘密,且对不同私钥秘密的修改所采用的处理方式不必相同,在保证安全的情况下,通常仅需修改和改变其中的一份秘密即可)。
21、对于以上所述动态绑定信息的密钥使用方法,若使用私钥进行密码运算采用的是基于秘密共享的密码协同计算方式,则在使用私钥进行密码运算时,共享(分享)有私钥秘密的全部参与方或部分参与方,利用密钥使用信息生成针对秘密份额和/或私钥秘密进行代数运算的整数和/或元素,然后利用生成的整数和/或元素对秘密份额和/或私钥秘密进行代数运算,改变自己的秘密份额和/或私钥秘密(即改变自己共享或分享的私钥秘密,而若私钥本身由多个私钥秘密构成,则秘密共享或分析的可能只是其中的一份私钥秘密)(这里的私钥秘密包括原私钥ska的私钥秘密和/或新私钥skb的私钥秘密)。
22、对于以上所述动态绑定信息的密钥使用方法,对于数字签名和签名验证应用,新公钥pkb的一种使用方式如下:
23、原公钥pka、原私钥ska对应有数字证书,新公钥pkb作为主体公钥包含在使用原私钥ska签发的代理证书中(proxy certificate,不同的密钥使用信息对应有不同的新公钥pkb,由此对应有不同的代理证书;代理证书的期限通常很短,是临时性的、甚至是一次性的证书);代理证书中包含或不包含新公钥pkb对应的密钥使用信息(若不包含,则密钥使用信息通过其他方式传递、保存)。
24、对于以上所述动态绑定信息的密钥使用方法,若新公钥pkb作为主体公钥包含在使用原私钥ska签发的代理证书中,则对使用私钥skb生成的数字签名的签名验证方式包括:
25、签名验证方利用密钥使用信息生成对应的新公钥pkb,检查生成的新公钥pkb与代理证书上的主体公钥是否一致,若一致,则使用生成的新公钥pkb进行签名验证,否则转入出错处理;
26、或者,当未出现约定的需要验证代理证书中的主体公钥的情形时(比如出现纠纷时,或者对重要数据的数字签名进行验证时),签名验证方仅使用代理证书中的主体公钥对数字签名进行签名验证,而当出现约定的需要验证代理证书中的主体公钥的情形时,签名验证方利用密钥使用信息生成对应的新公钥pkb,检查生成的新公钥pkb与代理证书上的主体公钥是否一致,若一致,则使用生成的新公钥pkb进行签名验证,否则转入出错处理;所述约定的情形包括出现针对数字签名有效性出现纠纷时的情形。
27、基于本发明的方法,能够在不改变密码运算过程的情况下(即不改变使用密钥进行密码运算的过程),将密码运算与期望或设置、设定的信息绑定,且这种方案可以不用修改密码应用数据(比如将密钥使用信息或密钥使用信息的获取信息附加在密码运算后得到的数据中),可以只修改密码模块,而密码模块通常是可替换模块,这样就无需修改应用程序,使得需要修改的程序仅可能地少。
本文地址:https://www.jishuxx.com/zhuanli/20240801/244248.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表