一种线性电子事务的数字签名方法

文档序号:7756572阅读:189来源:国知局
专利名称:一种线性电子事务的数字签名方法
技术领域
本发明涉及信息安全技术,特别涉及一种用于涉及线性实体活动的电子事务的数 字签名方法。
背景技术
随着全球性信息化浪潮的出现,信息网络技术的应用正日益普及和广泛,应用层 次正在深入,应用领域从传统的、小型业务系统逐渐向大型、关键业务系统扩展,典型的如 党政机关信息系统、金融业务系统、证券业务系统、企业商务系统等。在这些业务系统中,业 务流程(包括业务数据的处理和传送等)都在计算机网络环境下实现,以下将所有这些利 用信息网络技术实现的业务活动称为电子事务。在实际应用中,电子事务一般可分解为一系列相互之间具有一定时间顺序或因果 关系链的操作步骤,每个操作步骤都由相应的业务部门负责完成,由于这类操作步骤是电 子事务流程中的基本组成单元,因此以下又将其称为原子活动,并将负责完成操作步骤的 业务部门称为实体。在计算机网络环境下,用于处理操作步骤的计算机可视为节点。需要 特别说明的是,由于业务部门实体与处理操作步骤的计算机是对应的,因此在本说明书中 二者是等同或等价的。这些节点通过网络相互连接在一起,所处理的事务对象为以电子文 件形式表示并且在节点之间传送的信息,因此这势必涉及到一个信息安全的问题。这里所 谓的信息安全具体包括以下两个方面的含义首先是保证传输数据的安全和实体的身份确 认,也就是说,通过提供一定的信息鉴别机制来确保电子文件数据的完整性与真实性和事 务处理过程中的操作实体的合法性;其次是确保文件传递过程本身的真实性,这包括事务 处理过程中信息传送的一致性、因果性、合法性、安全性与完整性。在传统事务处理中,书面文件的真实性根据亲笔签名或印章来验证。但在电子事 务中,计算机网络中传输的文件则采用数字签名技术来认证发送方的真实身份。为此,数字 签名机制应至少确保发送方事后不能否认发送的报文签名、接收方能够核实发送方对报文 的签名和接收方不能伪造发送方的报文签名。数字签名机制包括两个过程,首先是签名者 用其私有信息(如私有密钥)进行签名,其次是文件接收方使用公开的信息(如公开密钥) 来验证发送方的真实身份。可见,数字签名实质上是一组电子代码。以下以某国家机关发布行政法规为例来具体描述电子事务流程中的信息安全问 题。如图1所示,假设根据政府部门的有关规定,该行政法规的制订过程必须包含起草、修 改、审核、批准和发布等多个操作步骤或原子活动并且按照下列流程或路径完成,其中该 行政法规首先由A部门起草并将草稿送至B部门;然后,B部门对该草稿进行修改并将修改 稿传送给C部门;而C部门对修改稿进行审核修改并将审核稿传送给D部门;接着,D部门 对C部门的审核稿进行审批,并将审批通过的审批稿送至E部门;最后,E部门在收到审批 稿时,只有确认该行政法规公文已经上述各个部门处理并且处理流程或路径与规定的完全 一致后才予以公布。在上述实例中,各部门在对行政法规着手处理之前,首先必须利用一定 的身份鉴别机制确认行政法规电子文件的确是由规定的部门提供的,例如B部门所处理的电子文件应是由A部门提供,因此必须确认该文件的确由A部门提供;其次,各部门还必须 利用一定的文件内容鉴别机制确认接收到的电子文件是完整和真实的,换句话说,该电子 文件未被非法篡改或截取。特别是,作为最后一道环节的E部门,其在公布该项行政法规之 前,除了要完成上述鉴别之外,还必须确认该行政法规公文己经上述各个部门处理并且处 理流程或路径与规定的完全一致。在实际应用中,一个事务实例往往有多个实体参与,并且每个实体的身份都要引 入数字签名机制予以认证,对此目前已经有多种涉及多实体事务处理的数字签名协议。然而,在现有的事务数字签名方法中,还没有一种能够提供针对线性电子事务进 行数字签名的方法。

发明内容
本发明所要解决的技术问题是提供一种线性电子事务的数字签名方法。为解决上述技术问题,本发明的技术方案如下一种线性电子事务的数字签名方法,该线性电子事务由计算机节点Ai按照A1, A2,...,Ai,...,An的顺序依次处理,其中,1彡i彡n,2彡η彡1000, i,n为整数,该方法包 括以下步骤(1)构造与具体电子信息M无关的节点私钥(Pr(Ai) I 1彡i彡η}和事务公钥Pk(A1,
Ag,· ··,An);(2)对给定的电子信息Μ,依次在每个节点&处计算出该节点的电子签名Sig(M, Ai);(3)建立验证式Ver (X,Y,Z) = 0,其中X,Y,Z是参数,使得1) Ver (M, Sig (Μ, An), Pk (A1, A2, ... , An)) = 0 ;2)在M和P1^A1, A2, ... , An)固定的情况下,若不经过节点电子签名计算步骤,则 很难找到一个值 Y0,使得 Ver (M,Y0, Pk (A1, A2,..., An)) =0;(4)验证 An 发送的信息 M连带签名 Sig (M,An),即(M,Sig (M,An)),若 Ver (M,Sig (M, An), Pk (A1, A2, ...,An)) =0,则判断信息M的事务数字签名成功;反之,判断信息M的事务 数字签名失败。所述构造私钥和公钥的步骤包括(1)选取素数ρ和ρ的方幂q,得到q个元素的有限域K = Zq ;(2)为计算机节点Ai生成矩阵Mi = Cli,)ain,ail2,ai21,ai22是随机选取的小于q的正整数,令Pr(Ai) = Mi,并将Mi分发到对 应的节点Ai处;(3)令?!^六”^,···,An) = M1XM2X. . . XMn,并将 k (A1, A2, · · ·,An)发送到辅助节 点V处。所述计算签名的步骤包括(1)选取有限域K里的元素 ,a2, a3, a4,a6,以3次方程y2+aiXy+a3y = x3+a2x2+a4x+a6在K里的所有的解加上无穷远点0生成K上的一条椭圆曲线E ;
(2)选取一个不同于ρ的素数1以及另一正整数k,使得1除尽qk-l ;(3)在椭圆曲线E里选取一个1阶的点P,得到点P生成的含1个元素的循环群G ;(4)随机选取正整数ζ使ζ < q ;(5)计算椭圆曲线EiWAQ = zP,并将点P和Q发送到辅助节点V处;(6)确定两个 Hash 函数 H1, H2 ;(7)在节点A1WM1对电子信息M进行签名,得到节点A1的签名Sig(Mj1) = ( ε n, ε 12,Q),其中 ε η = (H1 (M) am+H2 (M) a121) Qε 12 = (H1 (M) a112+H2 (M) a122) Q ;⑶令j = 1 ;(9)节点Aj将附带其签名的电子信息(M,Sig(M,Aj))发送到节点AJ+1 ;(10)在节点Aj+1以Mj+1对(M,Sig(M, Aj))继续进行签名,得到节点Aj+1的签名 Sig(M,AJ+1) = ( ε J+ia, ε J+1,2,Q),其中ε J+ia = (H1 (M) aJ+ljll+H2 (M) aJ+lj21) ε nε J+lj2 = (H1 (M) aJ+ljl2+H2 (M) aJ+lj22) ε 12 ;(11)令 j = j+1 若 j ( n-1,跳转(9);否则,进入(12);(12)节点An将附带其签名的电子信息(M,Sig(M,An))发送到辅助节点V处。所述建立验证式的步骤包括在群G上定义一双线性函数τ (x,y),并发送到辅助 节点V处。所述验证An发送的信息M连带签名Sig (M,An)的步骤包括,在辅助节点V处(1)记
/C^ ι Ci 2 \PkCAliA2i ^jAn) = ( c J;(2)验证下面两个等式τ(εηνΡ) ? TiHx(M)Cx^H2(M)CiuQ )τ(εη2,Ρ) ? TiHl(M)Cl2+H2(M)C22,Q )若两个等式中至少一个不成立,则判断信息M的事务数字签名失败;反之,判断信 息M的事务数字签名成功。本发明的用于线性电子事务数字签名的方法能判断电子信息是否完整和真实,以 及线性电子事务的处理是否与规定的处理流程或路径完全一致。


图1是本发明所应用的一种现实事务流程的示意图;图2是本发明中线性事务电子签名应用的系统的结构示意图;图3是线性事务电子签名的方法流程图。
具体实施例方式下面根据附图,给出本发明的较佳实施例,并予以详细描述,使能更好地理解本发 明的功能、特点。
所谓的线性电子事务,指实体(组织)为了某一目的而将相关电子信息以一定的 处理流程交由计算机网络环境中多个节点(终端)处理,该处理流程有如下的约束首先,这些处理节点是排序的,电子信息在这些节点逐次进行处理;其次,如果电子信息在这些节点中的任一节点处理失败,或者电子信息没有根据 节点排序要求,逐次地去所有节点上进行处理,均认为对该电子信息的电子事务处理失败。根据上述对线性电子事务的定义,电子事务蕴含下面的上下文1)网络环境中指定而且已经排序的计算机节点< i Sn),其中, 2 ^ η ^ 1000,BP =A1 ^ A2 ^ .. . Ai. . . — An.针对本发明中的线性事务数字签名,需要为每个节点Ai指派标识信息^ (Ai)(以 后就简称为Ai的私钥)以及一个事务公钥Pk。其中,决定Pk的两个因素是第一是节点 {Aj 1 ^ i ^nj的顺序,第二是这些节点的私钥。以后Pk记为Pk(ApA2P-^An).2)要处理的电子信息M.3)对电子信息M和节点Ai,指派电子签名Sig(Mji) (1彡i彡n),其中Sig(Mj1) 由 W A1 的私钥 Pr (A1)决定;Sig(M5Ai) (i > 1)由 M,Sig(M,Ah)和 Ai 的私钥 Pr(Ai)三者 共同决定。4)建立事务验证式Ver,它的形式如下式所示Ver (M,Sig (M, An),Pk (A1, A2,..., An)) = 0.综上,本发明中的事务数字签名的目标就是第一,构造与具体电子信息无关的节点私钥(Pr(Ai) l^i^n}和事务公钥Pk(A1, Ag,· ··,An);第二,对给定的电子信息M,依次在每个节点< i < η)处计算出该节点的电 子签名 Sig (M,Ai) (1 ^ i ^ η);第三,建立验证式Ver (X,Y,Ζ) = 0,其中X,Y,Z是参数,使得l)Ver (M, Sig (M, An),Pk (A1, A2, ...,An)) = 0 ;2)在M和P1^A1, A2, ... , An)固定的情况下,若不经过节点电子签名计算步骤,则 很难找到一个值 Y0,使得 Ver (M,Y0, Pk (A1, A2,... ,An)) = 0.本发明中的处理线性事务电子签名的方法包括首先向现有的线性网络节点 IAiI 1 ^ i ^nj中增加辅助节点,这些辅助节点包括以下三个节点,S卩{AyDj},增加节点 后的网络结构图如图2所示。其中D节点主要用于生成针对每个网络节点的私钥{已(Ai) I 1彡i彡η}和公钥P1^A1, A2, ...,An)及向每个网络节点分发私钥(Pr(Ai) 1 ^ i ^ η};V节点主要用于验证网络节点An发送的信息Μ,和签名Sig(M,An);Atl节点作为线性事务处理中的发起节点,用于发送电子信息M.本领域内一般技术人员应该知道,这三个节点可以仅位于一个节点中,例如一网 络服务器。除增加上述节点外,还需要设置数字签名方案的整体参数。选取素数ρ和ρ的方幂q,就可以得到q个元素的有限域K = \。这里的q通常 就是奇素数P自己,或者当P = 2时,q是2的一个方幂。一般说来q只要取一个160比特 大小的整数(相当于48位十进制数)就能保证足够的安全性。当q等于奇素数P时,有限域里的元素可以表示成一个不超过q的正整数或0。当q是2的方幂时,有限域里的元素可 以表示成一个系数是0或1的多项式,这些系数排列起来仍可用一个不超过q的正整数或
0表示。再通过适当选取有限域K里的元素a2,a3, a4, a6,得到一个3次方程^+^xj+h^j = x3+a2x2+a4x+a6这个方程在K里的所有的解(x,y)再加上无穷远点0就可生成K上的一条椭圆曲 线E。还需要取一个不同于ρ的素数1以及另一正整数k,使得1除尽qk-l。这里的k通 常可取2或3,最多不超过6。显然1不超过qk,也就是不超过480比特。然后可以在椭圆 曲线E里取一个1阶的点P,把点P生成的含1个元素的循环群记为G。在群G上可以定义一个双线性函数τ (χ, y),并发送到辅助节点V处。它的变量 是椭圆曲线E上的两个点X,y,函数值取在K的扩张域Fqk内。Fqk的元素可以表示成系数 在K内的一个k-Ι次多项式,因此可以表示成一个整数的数组。总之,在这一步我们选定了如下一些整体参数素数p,1,正整数q,k;一条椭圆曲线Ε;椭圆曲线E上的一个点P = (xP, yP);点P生成的群G上的一个给定的双线性函数τ ()。这些参数都是公开的,在所有签名过程中保持不变。而且椭圆曲线上的加法运算 以及双线性函数都有现成公开算法可以迅速计算。还将用到两个公开的Hash函数H1 {信息 M} — ZqH2 {信息 M} — Zq下面对本发明的电子签名方法进行详述,参照图3,本发明的电子签名方法包括密 钥管理步骤100,网络节点签名步骤200,以及事务签名验证步骤300.在密钥管理步骤100中首先在辅助节点G上生成矩阵Mi = I a J其中,ain, ail2, ai21, ai22是随机选取的小于q的正整数,1彡i彡η·令网络节点Ai处的私钥为Mi,即Pr(Ai) = Mi, 1彡i彡η·辅助节点D将这些私钥PJAi)安全分发到对应网络节点Ai处。在分发中做到除 网络节点Ai外,没有第三方知道这些私钥Pr(Ai) ,1 ^ i ^n0此外,令所有网络节点的公钥Pk为所有网络节点私钥的乘积,即Pk(A1, A2, ... , An) = M1XM2X. . . XMn0将P1^A1, A2, ... , An)发送到辅助节点V处。私钥与节点的顺序无关,公钥与节点的顺序有关。因此,若增加或减少节点,仅仅 需要为增加的节点分配私钥,并重新计算公钥即可。至此,密钥管理步骤100完毕,进入网络节点签名步骤200.如前所述,需要发送的电子信息M由作为线性事务发起者的网络节点Atl首先发出
8并顺序发送至下一网络节点A1,网络节点A1接收到节点Atl发送的电子信息M后,即开始进 行在该节点的节点签名步骤。由此可见,在网络节点Atl处,电子信息M并没有进行电子签 名。在网络节点A1的签名步骤如下首先,在节点A1,随机选取正整数ζ使ζ < q (如前述方法参数定义步骤所述);其次,计算椭圆曲线上的点Q = zP,并将点P和Q发送到辅助节点V处;在网络节点A1用从辅助节点D处接收到的私钥M1,即矩阵卜fl"2、对电子信息M进行签名,得到ε n = (H1 (M) am+H2 (M) a121) Qε 12 = (H1 (M) a112+H2 (M) a122) Q.则可知在网络节点A1的签名为Sig(M5A1) = ( ε η, ε 12,Q) ·至此,在A1网络节点的签名结束,网络节点A1随后将附带其签名的电子信息(M, Sig(M, A1))发送到线性事务序列中的下一网络节点,即网络节点A2。同理,网络节点A2接收到前一网络节点A1发送的经签名的电子信息(M,Sig(M, A1)) = (Μ,εη, ε12,Q)后,就用自己的从辅助节点D接收到的私钥PXA2)= °2η α η
\a22\ am)对该带有前一节点的电子签名的电子信息继续进行签名ε 21 = (H1 (M) a211+H2 (M) a221) ε ηε 22 = (H1 (M) a212+H2 (M) a222) ε 12得到A2节点的签名Sig (Μ,A2) = ( ε 21,ε 22,Q)网络节点A2将(M,Sig(Μ, A2))继续发送到下一网络节点A3 ;此过程重复,直到线 性事务序列中的最后一个网络节点Αη。即网络节点An接收到节点Alri发送的(M, Sig(MjAnJ)其用私钥 (α α Λ
Γ π"nil " 12
\an2\an22j签名ε η1 = (H1 (M) anll+H2 (M) an21) ε n_iaEn2 = (H1 (M) anl2+H2 (M) an22) ε n_1>2形成An的签名Sig (Μ, An) = ( εη1, ε η2, Q)An将信息M连带签名Sig (Μ, An), BP (Μ, Sig (Μ, An))发送到辅助节点V处。节点签 名步骤完成。辅助节点V接收到最后的网络节点发出的电子信息连带签名后,开始进行事务签名验证步骤300 ;事务签名验证步骤将在节点V处进行。在节点V处,有从辅助节点D发出的事务 公钥Pk (A1, A2, ... , An),有双线性对τ,还有椭圆曲线上的点P和Q。记PkCAljA2,…,AJ = (^ai ^12).辅助节点V接收源自节点An发送的信息M和签名Sig (M,An),即(M,Sig (M,An))。验证开始后,首先回忆Sig(M,An) = (εη1, En2,Q),其中ε nl,、,Q均为椭圆曲 线E上的点。验证下面两个等式τ{εηλ,Ρ) ? T(HXm)Cu + H2(M)c2],Q )τ(εη2,Ρ) i t(Hx(m)c12+H2(m)c22,Q )如果该两个等式有一个不成立,则表明Sig(M,An)不是通过节点数字签名步骤完 成的,即信息M没有按照事务流流程进行处理,信息M的事务数字签名失败;反之,信息M按 照事务流流程进行了处理,信息M的事务数字签名成功。至此,事务数字签名验证步骤完 成。显然,在上述教导下,可能对本发明进行多种修正和变型,并在所附权利要求的范 围内,本发明可实施为不同于具体描述的方式。
权利要求
一种线性电子事务的数字签名方法,该线性电子事务由计算机节点Ai按照A1,A2,...,Ai,...,An的顺序依次处理,其中,1≤i≤n,2≤n≤1000,i,n为整数,该方法包括以下步骤(1 1)构造与具体电子信息M无关的节点私钥{Pr(Ai)|1≤i≤n}和事务公钥Pk(A1,A2,...,An);(1 2)对给定的电子信息M,依次在每个节点Ai处计算出该节点的电子签名Sig(M,Ai);(1 3)建立验证式Ver(X,Y,Z)=0,其中X,Y,Z是参数,使得1)Ver(M,Sig(M,An),Pk(A1,A2,...,An))=0;2)在M和Pk(A1,A2,...,An)固定的情况下,若不经过节点电子签名计算步骤,则很难找到一个值Y0,使得Ver(M,Y0,Pk(A1,A2,..,An))=0;(1 4)验证An发送的信息M连带签名Sig(M,An),即(M,Sig(M,An)),若Ver(M,Sig(M,An),Pk(A1,A2,...,An))=0,则判断信息M的事务数字签名成功;反之,判断信息M的事务数字签名失败。
2.如权利要求1所述的数字签名方法,其特征在于,所述步骤(1-1)包括 (2-1)选取素数ρ和ρ的方幂q,得到q个元素的有限域K = Zq ;(2-2)为计算机节点Ai生成矩阵M- = Γ3111 ail2)ain,ail2,ai21,ai22是随机选取的小于q的正整数,令PjAi) = Mi,并将Mi分发到对应的 节点Ai处;(2-3)令 Pk(A1, A2, ... , An) = M1XM2X. . . XMn,并将 P1^A1, A2, ... , An)发送到辅助节 点V处。
3.如权利要求2所述的数字签名方法,其特征在于,所述步骤(1-2)包括(3-1)选取有限域 K 里的元素 a” a2,a3,a4,a6,以 3 次方程 y2+alXy+a3y = x3+a2x2+a4x+a6 在K里的所有的解加上无穷远点0生成K上的一条椭圆曲线E ;(3-2)选取一个不同于ρ的素数1以及另一正整数k,使得1除尽qk-l;(3-3)在椭圆曲线E里选取一个1阶的点P,得到点P生成的含1个元素的循环群G ;(3-4)随机选取正整数ζ使ζ < q ;(3-5)计算椭圆曲线EiWAQ = zP,并将点P和Q发送到辅助节点V处; (3-6)确定两个Hash函数H1, H2 ;(3-7)在节点A1WM1对电子信息M进行签名,得到节点A1的签名Sig(M5A1) = ( ε n, ε 12,Q),其中ε π = (H1 (M)am+H2(M)a121)Q ε 12 = (H1 (M) a112+H2(M) a122)Q ; (3-8)令 j = 1 ;(3-9)节点A^将附带其签名的电子信息(M,Sig(M,Aj))发送到节点A_j+1 ; (3-10)在节点Aj+1以^+1对(M,Sig(M,Aj))继续进行签名,得到节点Aj+1的签名Sig (M, AJ+1) = ε J+ljl' ε j+1,2,Q),其中ε J+ia = (H1 (M)aJ+ljll+H2(M)aJ+lj21) ε η ε J+i,2 = (H1 (M) aJ+ljl2+H2(M) aJ+lj22) ε 12 ;(3-11)令 j = j+1 若 j ( n-1,跳转(3-9);否则,进入(3-12);(3-12)节点An将附带其签名的电子信息(M,Sig (M, An))发送到辅助节点V处。
4.如权利要求3所述的数字签名方法,其特征在于,所述步骤(1-3)包括 在群G上定义一双线性函数τ (χ, y),并发送到辅助节点V处;
5.如权利要求4所述的数字签名方法,其特征在于,所述步骤(1-4)包括,在辅助节点 V处(5-1)记!^(A1, A2l ,..,An) = ι Γ I;(5-2)验证下面两个等式r( ,P) ? TiHl(M)Cu+H2(M)C21,Q )Φη2,Ρ) I τ(Η}(Μ)αη+H2(M)C22,Q )若两个等式中至少一个不成立,则判断信息M的事务数字签名失败;反之,判断信息M 的事务数字签名成功。
6.如权利要求2所述的数字签名方法,其特征在于,当ρ为奇素数时,q= P。
全文摘要
本发明公开了一种线性电子事务的数字签名方法,该线性电子事务由计算机节点Ai按照A1,A2,...,Ai,...,An的顺序依次处理,其中,1≤i≤n,2≤n≤1000,i,n为整数,该方法包括以下步骤构造与具体电子信息M无关的节点私钥和事务公钥;对给定的电子信息M,依次在每个节点Ai处计算出该节点的电子签名;建立验证式;验证An发送的信息M连带签名。本发明的线性电子事务数字签名的方法能判断电子信息是否完整和真实,以及线性电子事务的处理是否与规定的处理流程或路径完全一致。
文档编号H04L9/32GK101951317SQ201010251010
公开日2011年1月19日 申请日期2010年8月11日 优先权日2010年8月11日
发明者张舒敏, 徐璡晶, 施文明, 朱维嘉, 朱铭杰, 汤国斌, 汪振华, 王玮, 陈志杰 申请人:上海燕托计算机有限公司;上海市经济和信息化委员会信息中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1