摘 要:针对多移动代理技术中主从代理协作这一新型概念,提出了一种基于ElGamal密码体制的多重数字签名方案。并通过具体的商务案例分析其安全性和有效性,得出若干重要结论。
关键词:ElGamal密码体制 主从代理协作 多重数字签名 移动代理
移动代理技术在分布式网络计算中有着广泛的应用和发展潜力。然而,该技术的优势在当前的Internet中并未得到充分体现,安全性问题仍是移动代理技术推向商用的瓶颈。对此,许多研究者提出了各种各样的安全策略,其中讨论得最多,也最难解决的仍是恶意主机或恶意的执行平台对代理的攻击。在诸多安全保护方案中,利用多移动代理协作进行多重数字签名将是本文探讨的核心内容。
当前研究者关于此课题也有一些研究成果。多重数字签名的概念,在Shamir及Blakley提出的门限方案(Threshold Scheme)[1][2]中已经有所体现。近来的研究者将其巧妙地应用于移动代理领域,尤其是电子商务领域[3]。还有一些研究者提出了不基于门限方案的其他多移动代理的签名机制,例如基于RSA的多移动代理的商务联合签名机制[4]。
1 背景知识
1.1 多移动代理中主代理的强弱定义
源主机在多移动代理协作中扮演着重要的角色。作为移动代理的初始创建者,它根据任务的要求把多移动代理之间的体系结构定义为2种模式:对等模式与主从模式。一般而言,多移动代理协作签名均需要有一个主代理(Master Agent)和若干从代理(Slave Agent)协调工作。下面将阐述主代理的强弱定义。
强定义:源主机创建主代理,而主代理驻留于可信任的主机节点或服务器,根据任务的性质和网域的环境,创建从代理并把任务和数据委派给从代理。从代理(并行或串行)移动到指定目的地,利用委派的数据完成任务后将结果返回给主代理。
弱定义:源主机创建主代理和若干从代理,并把任务委派给主从代理,在远程网域内,由主代理指挥协同各从代理共同执行源主机的任务。
本文介绍的基于ElGamal密码体制和主从多移动代理协作的多重数字签名采用的就是“弱主代理”的形式。
1.2 密钥体制与密钥分割
密钥体制中最广为人知的是DES对称密钥体制和RSA公钥密码体制。而本文的密钥体制基于ElGamal密码系统[5][6]。采用这种形式,能使签名方案更简单,密钥计算易于实现。它有2个极为重要的优点:简单性和普遍性。因为仅使用了加法和乘法,因而用普通的标准公钥密码技术即可实现(例如RSA),不需要额外设计新的算法。
2 基于ElGamal密码体制的主从代理协作多重数字签名机制
以下是算法的基本步骤。
2.1 基于ElGamal密码体制的主从代理串行签名
ElGamal密码体制采用一对私钥而并非RSA体制的单一私钥形式。第1个私钥是长期(恒定)私钥,而第2个私钥是短期(周期)私钥。对于n个移动代理,可用乘法和加法将私钥对分割,具体如下。
2.2 基于ElGamal密码体制的主从代理并行签名
基于ElGamal密码体制的并行签名,对于n个移动代理,私钥对的分割如下。
3 基于主从代理协作的多重数字签名商务案例分析
假定源主机创建了3个移动代理:主代理、从代理1和从代理2。源主机为其委派任务,要求3个代理分别到3台远程主机Host1、Host2和Host3寻求某种型号手机的报价,找出报价最优的那台主机并与之签订购买协议。显然,要产生源主机合法的数字签名,源主机必须对其私钥(对)进行分割,并分派给3个移动代理。对于如何寻求报价本文不进行阐述。假定Host1对该型号手机的报价是最优的,则协议的签订将在Host1进行。本文将以主从代理串行签名为例对此进行分析。
3.1 主从代理串行签名的商务案例分析
主从代理协作串行签名的流程如图1所示,具体的执行步骤如下。
(1)主代理向Host1索要某种型号手机的报价信息、购买协议和数字签名。
(2)Host1提供给主代理报价信息、购买协议和它的数字签名。
(3)主代理将Host1的报价信息、购买协议、数字签名分别传送给从代理1和从代理2。
(4)从代理1和从代理2将分别验证签名的有效性。
(5)验证无误后,从代理1用其子密钥对对购买协议进行签名,得到X1。
(6)从代理1将签名X1传送给从代理2。
(7)同理,从代理2再对X1进行签名得到X2。
(8)从代理2将签名X2传送给主代理。
(9)主代理利用它的密钥信息和调整算法最终产生完整的签名X。
(10)主代理将签名X提交给主机Host1。
(11)Host1用源主机的公开密钥验证签名的合法性。验证通过,则协议生效。
3.2 安全性和有效性分析
(1)ElGamal签名的安全性是基于求离散对数的难题。要想从源主机的公开密钥推导出私有密钥对是极其困难的。
(2)主代理向Host1索要的报价信息、购买协议和数字签名可作为日后Host1抵赖交易发生的凭证。
(3)让从代理来验证Host1的数字签名增加了安全性,因为主代理受控于Host1,很有可能受到Host1的“欺骗”。
(4)恶意主机可能会窃取移动代理所携有的密钥信息,然而,由某个代理的子密钥信息推导出主密钥是极为困难的,除非窃取了所有的子密钥信息。
(5)代理之间的及时通信也确保了签名过程的安全性。
(6)任何人只需拥有源主机的公开密钥便能验证签名的合法性。
(7)从最终的签名或某一代理的签名,无法推导出源主机的主密钥对或代理的子密钥对,这同样面临求解离散对数的困难。
(8)只有所有真实子密钥对到齐时才能得出正确的签名,任何伪造或篡改密钥对的作弊行为均无法得到有效的合法签名。
4 结 论
由以上的安全性和有效性分析可以说明,主从代理协作的多重签名的确为移动代理的安全问题提供了一种较好的安全策略和保护方案。尤其对于并行复杂的任务,多个移动代理的协作不但能保证安全性,而且还能提高运作效率。然而,本文提供的方案仍然存在一些缺陷,如串行签名无法检测签名作弊者(是从代理1或Host2作弊还是从代理2或Host3作弊),而且恶意主机的合谋攻击将有可能泄露源主机的所有子密钥对,并因此而泄露主密钥。因此,下一步工作的重点将对这些潜在的安全隐患做进一步深入研究和探讨。
参考文献
1 Blakley G.Safeguarding Cryptographic Keys.In:Proc NCC, AFIPS Press,Montvale,1979
2 Harn L,Lin H Y,Yang S.Threshold Cryptosystem with Multiple Secret Sharing Policies.IEE Proceedings Computers and Digital Techniques,1994;(2)
3 ElGamal T.A Public Key Cryptosystem and A Signature Scheme Based on Discrete Logarithms.IEEE Transactions on Information Theory,1985;31(4)
4 Chang Y S,Wu T C,Huang S C.ElGamal-like Digital Signature and Multi-signature Schemes Using Self-certified Public Keys.The Journal of System and Software,2000;50(2)
5 王汝传,赵新宁.基于网络的移动代理系统安全模型研究和分析.计算机学报,2002;26(4)