随着网络技术和网络应用的飞速发展,越来越需要灵活而高效的计算模式。从Client/Server到Brower/Server,伴随网络应用的逐步发展,面向对象的分布式计算模式和环境(CORBA、。NET、J2EE等)越来越普遍地得到应用,但是Internet的规模性、复杂性和应用多样性的无限膨胀,呼唤着革命性的计算模式。代理技术则是在这种背景下产生的一种新的计算模式。网络技术和人工智能技术的发展,智能代理(简称代理)技术成为这两个领域的切合点。代理更适合动态、实时、分布环境下的信息搜索、决策等应用,因此也成为构造非静态和非封闭环境下应用的重要工具。基于BDI理论的代理具有传统人工智能的符号推理和可验证的特点,而代理协作融合了分布环境下各代理的自我认知和推理能力,将原先分散和局部知识的代理构造成一个相对强大的具有各种知识背景的智能社会,从而能解决许多单代理无法解决的问题。
当前研究者关于此课题也有一些研究成果。多重数字签名的概念,在Shamir及Blakley提出的门限方案(Threshold Scheme)中已经有所体现。近来的研究者将其巧妙地应用于移动代理领域,尤其是电子商务领域[3].还有一些研究者提出了不基于门限方案的其他多移动代理的签名机制,例如基于RSA的多移动代理的商务联合签名机制[4].
1 背景知识
1.1 多移动代理中主代理的强弱定义
源主机在多移动代理协作中扮演着重要的角色。作为移动代理的初始创建者,它根据任务的要求把多移动代理之间的体系结构定义为2种模式:对等模式与主从模式。一般而言,多移动代理协作签名均需要有一个主代理(Master Agent)和若干从代理(Slave Agent)协调工作。下面将阐述主代理的强弱定义。
强定义:源主机创建主代理,而主代理驻留于可信任的主机节点或服务器,根据任务的性质和网域的环境,创建从代理并把任务和数据委派给从代理。从代理(并行或串行)移动到指定目的地,利用委派的数据完成任务后将结果返回给主代理。
弱定义:源主机创建主代理和若干从代理,并把任务委派给主从代理,在远程网域内,由主代理指挥协同各从代理共同执行源主机的任务。
本文介绍的基于ElGamal密码体制和主从多移动代理协作的多重数字签名采用的就是"弱主代理"的形式。
1.2 密钥体制与密钥分割
密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的数据。本词条对其进行了详细介绍,正确读音,以及两种分类的介绍对于普通的对称密码学,加密运算与解密运算使用同样的密钥。通常,使用的对称加密算法比较简便高效,密钥简短,破译极其困难,由于系统的保密性主要取决于密钥的安全性,所以,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题。正是由于对称密码学中双方都使用相同的密钥,因此无法实现数据签名和不可否认性等功能。
密钥体制中广为人知的是DES对称密钥体制和RSA公钥密码体制。而本文的密钥体制基于ElGamal密码系统[5][6].采用这种形式,能使签名方案更简单,密钥计算易于实现。它有2个极为重要的优点:简单性和普遍性。因为仅使用了加法和乘法,因而用普通的标准公钥密码技术即可实现(例如RSA),不需要额外设计新的算法。
2 基于ElGamal密码体制的主从代理协作多重数字签名机制
ElGamal算法既能用于数据加密也能用于数字签名,其安全性依赖于计算有限域上离散对数这一难题。 密钥对产生办法。首先选择一个素数p,两个随机数, g 和x,g, x < p, 计算 y = g^x ( mod p ),则其公钥为 y, g 和p.私钥是x.g和p可由一组用户共享。
以下是算法的基本步骤。
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作弊),而且恶意主机的合谋攻击将有可能泄露源主机的所有子密钥对,并因此而泄露主密钥。因此,下一步工作的重点将对这些潜在的安全隐患做进一步深入研究和探讨。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。