论文部分内容阅读
移动Agent作为一种分布式计算技术,具有移动和自治等性质,在实践中
得到日益广泛的应用。然而,由于Agent可以在不同的主机平台之间移动导致
了一些新的安全问题。其中最为棘手的是Agent在恶意主机上的安全。这个问
题是由于主机可能对Agent的代码及其所携带的数据拥有绝对控制权引起的。
它已经成为移动Agent技术推广的一大障碍,其威胁在电子商务等直接牵涉到
经济利益的应用场合尤为明显。本文提出了若干新的技术来保障Agent在可能
恶意的环境中能够进行安全的计算,尤其是安全的进行数字签名这一敏感操作。
一种著名的解决恶意主机问题的方法是将Agent转换为一个与原始的Agent
功能相同但构造不同且能够提供一定保护时限的黑盒。这种转换算法称为混淆
算法。笔者综述了混淆算法的力量、弹性、执行代价和隐蔽性等性能及其度量
并对词法变换、控制流变换、数据变换、类结构变换等作了简要的叙述和评论。
本文给出了一个词法变换算法和一个能够向控制流中插入带有使用有向图构成
的不透明谓词的控制流变换算法并实现了一个初步的Java混淆器。同时本文也
给出了一个新的白盒加密算法一白盒Khazad算法。该算法虽然与混淆变换的
定义稍有不符,但可以用作对Khazad块加密器进行混淆的特殊工具。该算法代
码的体积,时间复杂度以及白盒多样性也一并给出。与其他的白盒加密算法相
比,白盒Khazad算法代码的体积较小故其在Agent移动时的传输代价也较小。
不可拆分数字签名是一种用于保证移动Agent可以对输出进行安全签名的
纯软件方法。它使得移动Agent在可能恶意的环境中,可以在不暴露Agent原
始拥有者的签名密钥且不违背原始拥有者意愿的前提下安全的生成数字签名。
实现不可拆分数字签名的手段是使用加密函数的计算。但是仅有一种基于RSA
的实现方案且不能用于其他公钥密码系统。本文提出了三种新的不可拆分数字
签名方案,它们分别基于椭圆曲线、双线性对和圆锥曲线。这使得不可拆分数
字签名可以在多种不同的公钥密码系统上使用。由于圆锥曲线密码系统只需要
执行两次圆锥曲线上的加法就可以验证一个数字签名,使用圆锥曲线的不可拆
分数字签名方案效率较高。此外,与使用RSA的实现方案相比,使用椭圆曲线
的方案也具有一定计算上的优势,例如较短的签名和较快的签名速度。
不可拆分门限签名是一种允许移动Agent携带不可拆分签名函数的片断进
行移动的数字签名,比一般的不可拆分数字签名具有更好的可靠性。它可以看
作是不可拆分数字签名与门限数字签名的组合。与不可拆分数字签名类似,在
作者的工作之前仅有基于RSA的实现方案。本文提出了两种新的不可拆分门限
签名方案,它们分别基于双线性对和椭圆曲线。它们是作者提出的两个不可拆
分数字签名方案的门限形式,都使用拉格朗日多项式插值实现秘密分享。而且
本文还给出了不可拆分门限签名的判定依据,即不可拆分签名组合函数的定义。
对基于验证的公钥密码系统而言,基于身份的公钥密码系统是一个能够提
供更为高效的密钥管理的替代品。本文首次将基于身份的密码学引入不可拆分
数字签名领域并给出了用于保护移动Agent两个的新的数字签名方案,即一个
基于身份的不可拆分数字签名方案和一个基于身份的不可拆分门限签名方案。
它们的安全性依赖于有限域上某些椭圆曲线上离散对数问题的难解性和有隙
Diffie-Hellman群上计算Diffie-Hellman问题的难解性。第一个方案是基于一
个具有可证明安全性的基于身份的数字签名方案,它本身也具有相应的可以证
明的安全性质。第二个签名方案完全不同于第一个签名方案,且从这个方案可
以容易地获得一个新的基于身份的不可拆分数字签名方案,这只需要将门限值
设置为(1,1)即可。
最后,本文提出了移动Agent在恶意主机上安全性研究中有待解决的若干
问题,展望了今后的研究方向。
移动Agent,恶意主机,有限时间黑盒,混淆变换,白盒密码术,椭圆
曲线,双线性对,不可拆分数字签名,不可拆分门限签名,基于身份的密码学