一种基于身份的数字签名密码逆向防火墙方法转让专利

申请号 : CN202010153556.X

文献号 : CN111245615B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李发根欧阳梦迪智妍妍胡哲彬

申请人 : 电子科技大学

摘要 :

本发明公开了一种基于身份的数字签名密码逆向防火墙方法,属于信息安全技术领域。本发明首先在签名端设置一个透明可信的密码逆向防火墙,以及设置相关的系统参数;密码逆向防火墙对收到的部分参数进行重随机化后再联合其它非重随机化的参数一起传递给签名端;签名端进行签名得到签名结果σ=(V,Ru,Rm),并经签名端的密码逆向防火墙对签名结果的后两个部分进行重置后,再将部分重置的签名结果传递给验证端;验证端对收到的签名结果合法性进行验证,若通过,则输出“接受”,否则输出“拒绝”。本发明的基于身份的数字签名密码逆向防火墙方法,实现了透明可信防止泄露,提高了用户的安全性,特别防护了内部攻击者的攻击行为。

权利要求 :

1.一种基于身份的数字签名密码逆向防火墙方法,其特征在于,包括下列步骤:步骤S1:公钥生成中心设定系统参数:选择一个素数p,并设置p阶的循环乘法群G和G1;

基于循环乘法群G和G1设置双线性映射n *

定义哈希函数H:{0,1}*→{0,1} ,其中,{0,1}表示任意比特长的二进制序列组成的集n

合,{0,1}表示比特长为n的二进制序列组成的集合,n表示消息的比特长度;

从整数有限域Zp中随机选择一个参数,作为秘密参数a,并随机从群G中选择生成元g生a

成参数g1=g;以及随机从G中选择生成元g2,生成密钥从群G中取两个随机值,记为u’和m’;

从群G中随机选取一定数量的参数构成向量U和M,其中向量U和M包括的元素数均为n;

公钥生成中心将系统参数G,G1, g,g1,g2,u’,U,m’和M作为公钥PK发送给验证端和签名端,同时将哈希函数H和密钥SK传递给签名端;

步骤S2:签名端的密码逆向防火墙进行重随机化:签名端的密码逆向防火墙从整数有限域Zp中选择一个随机数,记为k,并设置参数g’=k

g;

签名端的密码逆向防火墙将参数g’,g1,g2,u’,U,m’,M和SK发送给签名端;

步骤S3:签名端生成消息的签名:签名端采用哈希函数H将签名者的身份和消息分别映射成为n比特长度的身份向量U′和消息向量M′;

基于身份向量U′中取值为1的元素所在的位置索引和向量U中对应该位置索引的元素构建身份向量集合u;

基于消息向量M′中取值为1的元素所在的位置索引和向量M中对应该位置索引的元素构建消息向量集合m;

签名端从整数有限域Zp中随机选取两个随机数au和am;

au am au am

生成M的数字签名σ=(SK((u′Πi′∈uui′)) (m′Πj′∈mmj′) ,g ,g ),其中,ui′表示用户向量U的第i′个元素,i′为用户向量u的元素索引;mj′表示消息向量M的第j′个元素,j′为消息向量m的元素索引;

au am au am

定义V=SK((u′Πi′∈uui′)) (m′Πj′∈mmj′) ,Ru=g ,Rm=g ,然后签名端将签名σ按照σ=(V,Ru,Rm)三个部分发送给签名端的密码逆向防火墙;

步骤S4:签名端的密码逆向防火墙对签名重随机化恢复原样:k

签名端的密码逆向防火墙对签名σ中的Ru,Rm进行重随机化,即Ru=(Ru)/g ,Rm=(Rm)/k

g;然后将重随机化后的Ru,Rm发送给验证端;

步骤S5:验证端对签名进行验证:验证等式 是否成立,若成立则签名σ成立。

说明书 :

一种基于身份的数字签名密码逆向防火墙方法

技术领域

[0001] 本发明属于信息安全技术领域,特别是涉及一种适用于基于身份的签名密码逆向防火墙方法。

背景技术

[0002] 密码逆向防火墙的技术出现于2014年的斯诺登棱镜事件以后,针对于“大兄弟”的监控和后门控制下,如何保证用户传输的信息不被泄露。即假设用户使用的电脑被全面攻
陷,但是如何保证他传输的信息仍然不会泄露的一种新型技术。根本不同之处在于之前考
虑的攻击均是外部敌手,但是现实生活中众多事实证明,各项加密软件等涉及安全的东西
具有后门,如果存在内部攻击者,人们应该如何解决这个问题。
[0003] 在斯诺登事件发生以后,越来越多的人更加重视内部攻击者的问题,解决这种内部攻击的方式被称作为后斯诺登学。而(Cryptographic Reverse Firewalls)密码逆向防
火墙是解决这个问题的其中一种。密码逆向防火墙是透明和不可信的第三方,它不能获取
用户的私钥等重要东西,只能对用户传输给它的信息进行处理,从而保证即使用户的内部
攻击存在,也没法获取用户的重要信息,从而保证信息的安全性。
[0004] 目前密码逆向防火墙的发展,主要是从协议到密码学的各个领域,比如加密,密钥协商等,目前一些相关的密码逆向防火墙的工作如下。
[0005] 2015年Mironov I.,Stephens‑Davidowitz在《Cryptographic Reverse Firewalls.In:Oswald E.,Fischlin M.(eds)Advances in Cryptology‑EUROCRYPT 
2015.EUROCRYPT 2015.Lecture Notes in Computer Science,vol 9057.Springer,
Berlin,Heidelberg》这篇文章上首次提出了密码逆向防火墙的概念并且提出了密码逆向
防火墙的三个基本要求:(1)保持功能性,即一个电脑在正常工作的时候,密码逆向防火墙
不会破坏底层协议,从而导致正常的信息传输功能(2)保持安全性,无论用户的行为如何,
密码防火墙都必须提供与正确实现的协议相同而安全性保证。(3)防止泄露,不管用户的行
为如何,密码防火墙的存在将防止此用户向外界泄露任何私密信息,所以将密码逆向防火
墙做成不可信的第三方,它不与用户共享任何秘密,并且潜在运作的协议应该是安全的,即
在没有密码逆向防火墙存在的情况下,也能正常工作;同时设计了一个不经意传输的协议,
这个协议保证双方都有安全的射频同时也提供了防止泄密的功能,并且设计了一个通用的
结构,这个结构可将任何协议转化为具有密码逆向防火墙红能的协议,为后斯诺登文学开
辟了一个新的篇章。
[0006] 2016年Dodis Y.等人在《Message Transmission with Reverse Firewalls—Secure Communication on Corrupted Machines.In:Robshaw M.,Katz J.(eds)Advances 
in Cryptology–CRYPTO 2016.CRYPTO 2016.Lecture Notes in Computer Science,vol 
9814.Springer,Berlin,Heidelberg》这篇文章设计了一种实现了交互式的,并发的,满足
CCA安全性的具有密码逆向防火墙功能的协议,并且此协议实现只需要四轮和参与方的少
量固定数量的公钥变化操作,适用于现实生活,具有高效率和便捷性。同时提出两种结构,
一种是适用于一方的CRF,只要满足加密机制的密钥是可重随机化的,另一种是双方的CRF,
只要满足加密体制的密钥具有可延展性。并且成功实现了Elgamal的密码逆向防火墙设置。
[0007] 2016年Chen R等人在《Cryptographic Reverse Firewall via Malleable Smooth Projective Hash Functions.In:Cheon J.,Takagi T.(eds)Advances in 
Cryptology–ASIACRYPT 2016.ASIACRYPT 2016.Lecture Notes in Computer Science,
vol 10031.Springer,Berlin,Heidelberg》根据CRF的概念并且基于CRF的结构相继提出几
个广泛使用的密码协议的协议的CRF结构,提出了光滑投影哈希函数(Smooth Projective 
Hash Function)的扩展的新型哈希函数,证明了此函数中其元素的可重随机化性质和密钥
的可延展性,并且通过SPHF模块化的构建了一个适合于更多协议使用的CRF结构,简而言
之,让之前具有大量条件限制的CRF可以适用于更多的协议,让其实现的更为简单和方便。
[0008] 2018年Ma.H等人在《Concessive Online/Offline Attribute Based Encryption with Cryptographic Reverse Firewalls—Secure and Efficient Fine‑Grained 
Access Control on Corrupted Machines.In:Lopez J.,Zhou J.,Soriano M.(eds)
Computer Security.ESORICS 2018.Lecture Notes in Computer Science,vol 
11099.Springer,Cham》文章中对基于属性的加密技术实现了密码逆向防火墙方案。由于基
于属性的加密技术本身需要的成本极高,而CRF还有双倍的计算延迟,因此他们提出了一种
基于让步的在线/离线密文策略属性的加密算法,此算法能够采用密码逆向防护墙技术并
且成功抵制信息泄露。同时此方法与原始没有CRF的方案相比甚至减少了一半的计算量,极
大的降低成本。
[0009] 1985年,Shamir首次提出了基于身份的加密(IBE),但他没有找到有效且方便的方法。Boneh.Dan的后续工作和基于身份的加密已成功实施,并成功移植到密码学的各个领
域,比如基于身份的签名(IBS)。IBS系统由四个部分组成(Setup,Extract,Sign,Verify)。
基于身份的数字签名是一种极其广泛使用的签名方案。
[0010] 虽然密码逆向防火墙相对于之前的技术更方便更简单,不需要分析内部算法对内部随机数进行实验,但是密码逆向防火墙具有一定的局限性,它对可重随机化的要求比较
高。因为重随机化的要求存在,而大部分数字签名(比如Schnorr签名,DSS签名,Hess签名等
一些著名签名)中算法实现中存在哈希函数,而哈希函数是不可逆的,也就意味着密码逆向
防火墙技术难以在大部分数字签名上实现。

发明内容

[0011] 本发明的目的在于,为了增强数字签名的安全性,公开了一种适用于标准模式下的基于身份的数字签名密码逆向防火墙方法。
[0012] 本发明的基于身份的数字签名密码逆向防火墙方法,包括:
[0013] 步骤S1:密钥生成中心设定系统参数:
[0014] 选择一个素数p,设置p阶的循环乘法群G和G1,并基于循环乘法群G和G1设置一个双线性映射
[0015] 定义一个耐碰撞的哈希函数H:{0,1}*→{0,1}n,此哈希函数用于签名任意长度的* n
消息。其中,{0,1}表示任意比特长的二进制序列组成的集合,{0,1}表示比特长为n的二进
制序列组成的集合,n表示消息的比特长度;验证端通过所述耐碰撞的哈希碰撞H将获取的
身份和签名的消息映射成n比特长度的身份向量和消息向量。从而保证签名正常进行的同
时降低系统计算量、提高效率。
[0016] 同时,设定以下的公共参数:
[0017] 从整数有限域Zp中随机选择一个参数,作为秘密参数a,以及随机从群G中选择生a
成元g与g2,且设置g1=g;
[0018] 再从群G中取两个随机值,记为u’和m’;
[0019] 以及从群G中随机选取一定数量的参数构成向量U和M,其中向量U和M包括的元素数均为n;
[0020] 公钥生成中心将系统参数G,G1, g,g1,g2,u’,U,m’和M作为公钥PK发送给验证端和签名端,同时将哈希函数H、以及 作为密钥SK传递给签名端,;
[0021] 步骤S2:签名端的密码逆向防火墙进行重随机化:
[0022] 签名端的密码逆向防火墙从整数有限域Zp中选择一个随机数,记为k,并设置参数k
g’=g,签名端的密码逆向防火墙将参数g’,g1,g2,u’,U,m’,M’和SK发送给签名端;
[0023] 步骤S3:签名端生成消息的签名:
[0024] 签名端采用哈希函数H将签名者的身份和消息分别映射成为n比特长度的身份向量U′和消息向量M′;
[0025] 基于身份向量U′中取值为1的元素所在的位置索引和向量U中对应该位置索引的元素构建身份向量集合u,即u={Ui|U′i=1},其中,i表示U′和U的元素的位置索引;
[0026] 基于消息向量M′中取值为1的元素所在的位置索引和向量M中对应该位置索引的元素构建消息向量集合m,即m={Mj|M′j=1},其中,i表示M和M′的元素的位置索引;
[0027] 签名端从有整数限域Zp中随机选取两个随机数,记为au和am;
[0028] 生成M的数字签名σ=(SK((u′Πi′∈uui′))au(m′Πj′∈mmj′)am,gau,gam),其中,ui′表示身份向量集合u的第i′个元素,即i′为u的元素索引;mj′表示消息向量集合m的第j′个元素,
即j′为m的元素索引;
[0029] 定义V=SK((u′∏i′∈uui′))au(m′∏j′∈mmj′)am,Ru=gau,Rm=gam,然后签名端将签名σ按照σ=(V,Ru,Rm)三个部分发送给签名端的密码逆向防火墙;
[0030] 步骤S4:签名端的密码逆向防火墙对签名重随机化恢复原样:
[0031] 签名端的密码逆向防火墙对签名σ中的Ru,Rm进行重随机化,即Ru=(Ru)/gk,Rm=k
(Rm)/g;然后将重随机化后的Ru,Rm发送给验证端;
[0032] 步骤S5:验证端对签名进行验证:
[0033] 验证等式 是否成立,若成立则签名σ成立。
[0034] 由于采用了上述技术方案,本发明的有益效果是:本发明的密码逆向防火墙方案提高了签名的安全性,保证运用此签名的用户能够抵御“大兄弟”的攻击和监控行为,保证
用户的隐秘信息不被泄露,增强了安全性并且保护用户的隐私。

附图说明

[0035] 图1是本发明的数字签名过程的框架示意图;
[0036] 图2是本发明的数字签名的处理流程示意图。

具体实施方式

[0037] 为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。
[0038] 1985年,Shamir首次提出了基于身份的加密(IBE),但他没有找到有效且方便的方法。Boneh.Dan的后续工作和基于身份的加密已成功实施,并成功移植到密码学的各个领
域,例如基于身份的签名(IBS)。IBS系统由四个部分组成(Setup,Extract,Sign,Verify)。
本发明采用2006年Paterson和Schuldt在[Efficient Identity‑Based Signatures 
Secure in the Standard Model.In:Batten L.M.,Safavi‑Naini R.(eds)Information 
Security and Privacy.ACISP 2006.LNCS,vol 4058.Springer,Berlin,Heidelberg]中提
出的标准模式下的基于身份的签名,并成功证明它满足了密码逆向防火墙的三个基本要
求:保持功能性,保持安全性,防止隐私泄露。
[0039] 参见图1和图2,本发明的基于身份的数字签名的具体实现过程如下:
[0040] (1)密钥生成中心(PKG)设定系统参数:
[0041] 选择一个素数p,并设置p阶的循环乘法群G和G1;
[0042] 基于循环乘法群G和G1设置双线性映射
[0043] 定义哈希函数H:{0,1}*→{0,1}n;
[0044] 从整数有限域Zp中随机选择一个参数,作为秘密参数a,以及随机从群G中选择生a
成元g,生成参数g1=g,以及随机从群G中选择生成元g2,生成密钥
[0045] 从群G中取两个随机值,记为u′和m′;其中,u′用于表示验证端的个人信息,m′作为消息的相关参数;
[0046] 基于群G设置两个随机向量,分别记为U和M,定义Ui、Mi分别表示向量U和M的元素,其均为群G中的随机参数,其中元素索引i=1,2,…,n;
[0047] 从而得到系统公开参数(G,G1, g,g1,g2,u’,U,m’,M,H)。
[0048] (2)传递公共参数:
[0049] 公钥生成中心将系统参数G,G1, g,g1,g2,u’,U,m’和M作为公钥PK发送给验证端和签名端,同时将哈希函数H以及密钥SK传递给签名端,如图1所示;
[0050] 签名端(签名方)的密码逆向防火墙接收相关参数,并且进行重随机化操作g’=k
g ;然后,签名端的密码逆向防火墙再将g’传递给签名端,其余参数保持不变;即重随机和
操作后,得到公钥 再将PK′和SK传递给签名端。
[0051] (3)签名:
[0052] 签名端从Zp中随机选取两个随机数au和am,用于对n比特长的消息向量M′签名:
[0053] 签名端采用哈希函数H将签名者的身份和消息分别映射成为n比特长度的身份向量U′和消息向量M′;
[0054] 基于身份向量U′中取值为1的元素所在的位置索引和向量U中对应该位置索引的元素构建身份向量集合u,例如U=(U1 U2 U3 U4 U5),U′=(10010),则由向量U中的第1和第4
个元素构成身份向量集合u,即u=(U1 U4);
[0055] 基于消息向量M′中取值为1的元素所在的位置索引和向量M中对应该位置索引的元素构建消息向量集合m;
[0056] 计算参数V=g2a((u′Πi′∈uui′))au(m′Πj′∈mmj′)am,Ru=gau,Rm=gam,从而得到M的数字签名结果σ=(V,Ru,Rm);其中,i′表示u的元素索引,j′表示m的元素索引。
[0057] 发送签名结果σ给签名端的密码逆向防火墙。
[0058] (4)密码逆向防火墙重随机化:
[0059] 签名端的密码逆向防火墙在收到签名结果σ=(V,Ru,Rm)时,参见图2,具体执行以下步骤:
[0060] 重随机化部分签名结果,即Ru=(Ru)/gk,Rm=(Rm)/gk;
[0061] 将重随机化后的真正的签名σ=(V,Ru,Rm)发送给验证端;
[0062] (5)验证端对签名进行验证:
[0063] 验证端验证等式 是否成立来验证签名的合法性,若成立,则认为σ是签名端关于M的合法签名,验证端输出“接受”,否则
输出“拒绝”。
[0064] 本发明增强了用户的安全性,保证了用户在内部攻击下的安全性。本发明找到了一种适用于标准模式下的基于身份的签名密码逆向防火墙方法,虽然密码逆向防火墙是一
种很好的抵制“斯诺登”式攻击的方法,但是由于它对重随机化的要求比较高,而签名中存
在大量的哈希函数,导致签名的密码逆向防护墙难以实现。本发明找到一种比较特殊的签
名它满足重随机化的要求,保证使用此签名的用户能够抵制内部攻击,从而获得更高的安
全性。
[0065] 以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方
法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。