论文部分内容阅读
与传统的C/S模式相比,移动代理技术有很多优点。但是移动代理的安全问题却使移动代理技术在走向商业应用的路上困难重重。究其原因是移动代理的安全问题缺乏合理的解决方案。目前,由于恶意移动代理对移动代理平台的攻击而引发的安全问题已经引起了广泛的关注,但是恶意主机对移动代理的攻击而产生的安全问题还未引起足够重视。一般的,针对移动代理系统安全的攻击包括四种:移动代理攻击主机、主机攻击其他主机、移动代理攻击其他移动代理以及恶意主机攻击移动代理。针对恶意主机攻击,移动代理的安全问题主要包括两类:代码安全和运行状态安全,其中尤以运行状态的安全问题最具重要性和挑战性。这是因为移动代理运行时是完全处于主机控制之下,尽管主机无法阻止移动代理的迁移和运行,但主机可以读取移动代理数据,因此移动代理无法安全地持有密钥因而也就无法通过加密的方式来保证计算结果的安全。这一类的攻击种类很多,本文主要关注在恶意主机中移动代理计算结果的安全问题。 本论文首先概括性地介绍了移动代理的安全问题,总结了当前已有方案的特点和不足;基于数字水印技术和加密技术的研究,进一步探讨了恶意主机中移动代理计算结果防篡改技术;最后对提出方案进行了评估,通过恶意主机中移动代理数据完整性的保护证明了本文方法的有效性。本文的主要贡献在于: 提出了一种基于可逆水印的移动代理内容认证算法,首次将可逆水印应用到移动代理安全中。尽管数字水印技术已经广泛应用于数字媒体,但是由于移动代理和数字媒体的不同特点,将其应用到移动代理中是比较困难的。我们首先将数字水印应用到ASCII码数据中,然后将其他数据都转化为ASCII码表示方式从而解决了移动代理数据嵌入水印的问题。通过相反的过程,可以实现水印的提取。本文将提出的算法应用在了票务预订系统中,移动代理在系统中代表其所有者在主机间移动以获取票价信息,然后将信息送回所有者的平台上。实验结果表明,可逆水印可以在移动代理计算结果中可靠的嵌入和提取。通过在计算结果中嵌入可逆水印,不仅使恶意攻击变得更加困难,也使计算结果更加安全。如果攻击者修改了嵌入水印的计算结果,移动代理返回主机后可以对篡改进行检测。同时,水印造成的失真可以被成功的恢复从而得到原始数据。尽管使用水印会增加执行平台和移动代理的计算负担,但是这种负担是可控的且不严重。 为了同时实现移动代理的真实性和有效性,提出了一种结合数字水印和数字签名的方案,该方案不仅保证了移动代理的完整性,而且可以用来检测对水印的删除、篡改、拷贝等攻击。本文结合了RSA数字签名算法和多种散列算法如SHA-1、SHA-256以及SHA-512等,并从执行时间、签名时间及验证时间等方面对其进行了对比,在student-t测试中比较不同散列算法的影响。 然后,本文提出了以目标头部密封与指针别名相结合的头部密封曲线描述代理数据的方案。此方案利用类似PPCT的对称数据曲线描述代理数据,并密封其头部,从而能够有效阻止对整个代理数据的修改/篡改。本文使用AES算法实现密封。 本文提出的模型已在票务预订系统中实现。在该系统中,假设移动代理所有者欲购一张机票,他将机票的需求描述告诉移动代理,移动代理得知信息后,被分派到提供票务服务的各航线主机,访问各主机以获取符合其所有者需求的票价信息。访问结束后,移动代理返回所有者平台,同时将计算结果反馈给其所有者。本系统分为以下四种不同类型的代理:MasterAgent—主代理、LocalAgent—本地代理、QueryAgent—查询代理和DatabaseAssistantAgent—数据库辅助代理。其中,主代理负责创建本地代理和查询代理。本地代理工作在所有者平台,职责是对移动代理返回的查询结果进行过滤、提取水印、验证签名等。查询代理是被所有者派遣的代理,它的职责是根据所有者的需求,访问各航线主机以获取票价信息;同时,负责对计算结果嵌入水印,将嵌入水印的结果封装成曲线表示形式,并密封曲线头部。数据库辅助代理负责向来访代理提供服务,如数据库连接、生成签名密钥以及AES加密等。每个航线主机都有其各自的数据库辅助代理,负责与来访的查询代理进行交互。系统已在IBMAglets上得以实现。IBMAglets是一个基于Java的移动代理系统,采用了基于代理的事件驱动模型,提供创建并分派代理的基本功能。本文使用来自BouncyCastle的密码学基础支持,这是一个开源的项目,提供多种密码学算法的支持,如散列算法、数字签名等。 最后,对所提出的方案进行了进一步的性能评测和安全性评测。在性能评测中进行了多种统计测试,这些方案引入了一定的额外开销,但是试验结果表明可以根据不同的应用要求使用不同长度的密钥,从而控制这些开销。通过采用提出方案和不采用提出方案得到的执行时间之间的比较,我们已经证明执行时间不会受到太多的影响。但是对于更大的密钥数量执行会占用额外的CPU周期。在安全性测试中,为了评估提出的方案,我们设计一个恶意主机。这种恶意主机开始一系列的对于查询代理的攻击从而防止它完成它被指派的任务。这样的恶意主机设计作为移动代理数据完整性策略的评价还属首次。这些攻击包括如对结果的插入、篡改或者删除。这些是在我们设置情况下最严重的攻击形式。我们测试了完整性机制的多个安全特征,并在存在恶意主机攻击的情况下测试了这些特征,测试结果表明了本文提出方案的有效性,在其指导下进行的若干改进进一步增强了移动代理的安全性和可靠性。另外,时间效应也被模拟。结果显示时间效应会促使攻击者插入/删除/篡改若干结果。攻击过程通过将其视为随即统计现象而被模拟。对于移动代理水印(MAW)我们将它模拟成为一个二项式随机实验。实验的结果或者成功或者失败。通过成功的实验我们认为攻击者能够成功地插入或者删除或者篡改结果。理论的和实验的二项频率分布的比较证实了我们的主张,那就是攻击过程几乎遵从给定的分布。对于移动代理水印密封(MAWE)我们将它模拟成为泊松随机实验。这个实验的结果或者成功或者失败。通过成功的实验我们认为攻击者能够成功地插入或者删除或者篡改结果。理论的和实验的泊松频率分布的比较证实了我们的主张,那就是攻击过程几乎遵从给定的分布。对于移动代理头部密封曲线,我们将它模拟成为泊松随机实验。这个实验的结果或者成功或者失败。通过成功的实验我们认为攻击者能够成功地插入或者删除或者篡改结果。理论的和实验的泊松频率分布的比较证实了我们的主张,那就是攻击过程几乎遵从给定的分布。 本文提出了多个提高移动代理计算安全性的改进方案。然而,值得注意的是安全是一个演变过程。本文的测试结果表明并唯一确认了移动代理数据完整性的安全问题。如果我们只采用数字水印技术,大多数的安全特性都能够实现。然而,不可否认性和强前向完整性的安全特性很难保证。因此,我们将数字水印技术与数字签名技术相结合。头部密封曲线是一种基于预防的技术,而移动代理数字水印是基于检测头部密封曲线的技术。 现有文献对于评测移动代理数据完整性机制的研究很少,因此,本文提出的评测给定方案的移动代理系统的安全特性的方法也可以用于评测其他方案。任意的商业移动代理系统都可以采用本文的实验结果生成代理。