无线电话会议密钥协议的研究与实现

上传人:沈*** 文档编号:46113122 上传时间:2021-12-10 格式:DOC 页数:41 大小:76.50KB
返回 下载 相关 举报
无线电话会议密钥协议的研究与实现_第1页
第1页 / 共41页
无线电话会议密钥协议的研究与实现_第2页
第2页 / 共41页
无线电话会议密钥协议的研究与实现_第3页
第3页 / 共41页
点击查看更多>>
资源描述
无线电话会议密钥协议的研究与实现 摘 要 随着无线移动通信的快速发展,无线电话会议由于具有不受地域限制、经济和方便等优点,使得它成为一个研究热点。在无线电话会议中,对会议参与者的身份进行认证和匿名是非常重要的安全问题。然而,由于无线移动设备电池,内存和带宽有限,许多已存在的认证协议不适合于无线移动通信中,因此设计出适用于无线移动设备的安全协议是十分重要。 本文将对称加密系统,单向的安全 hash函数和(t, n)秘密共享方案相结合,提出了一种建立无线电话会议密钥的新协议。协议通过加密和 HASH 函数较好地解决了用户认证性和匿名性问题,同时用(t, n)秘密共享方案能够保证与会者人数不少于 t。根据会议的重要性和无线网络的连接性,会议主持人可以设置合适的t 值。该协议具有很好的实用性和广泛的应用前景。 昀后,在 Windows 环境下,基于 J2ME框架在 Eclipse开发环境下实现了这个新协议。关键词:电话会议; (t, n)秘密共享;匿名;认证I Abstract With the rapid progress of wireless mobile communication, wireless conference call has become a research hotspot due to its economy, convenience and uncertain location of the participants. The ability to protect and authenticate the identity of participants in wireless conference call application is critical. However, due to the mobile devices typical with constraints on available power consumption, bandwidth and storage limitation, most of these existing authenticated key agreement protocols are not suitable for wireless mobile communications. So, it is essential to study in designing secure protocols for wireless networksIn this thesis, a new protocol presented for wireless conference key setup integrates symmetric key encryption, hashing and t, n secret shared. To start a new conference, at least t participants have to be active and broadcast their shares. This protocol provides mobile participants with user identity anonymity and authentication during the conference call. According to the importance of the meeting and the connection of the wireless network, the chairperson can set an appropriate value for its corresponding t. This protocol has good availability and wider applicationFinally, in the Windows environment, we show the programs developed by J2ME under Eclipse, which have implemented this new protocol Key words:conference call;t,n secret shared;anonymity;authentication II目 录 摘 要.I Abstract. II 目 录.III 1 绪 论. 1 1.1 课题背景与意义1 1.2 国内外研究现状2 1.3 本论文的主要工作.3 1.4 本论文结构安排3 2 预备知识. 5 2.1 信息安全概述.5 2.2 加密技术6 2.3 认证与数字签名.13 2.4 HASH函数.14 2.5 J2ME 基础知识.16 3 无线电话会议密钥协议的设计20 3.1 本协议将用到匿名性和(t,n)秘密共享两个基本概念20 3.2 符号解释.20 3.3 系统初始化21 3.4 协议描述.21 3.5 正确性分析24 3.6 安全性分析25 4 无线电话会议密钥协议的系统设计与实现26 4.1 系统总体设计.26 4.2 系统实现环境.30 4.3 系统中的主要类及算法.33 4.4 系统的主要运行界面.39 5 总结与展望. 44 5.1 总结.44 5.2 展望.44 参考文献 46 攻读研究生期间发表的论文. 46 致 谢. 51III 暨南大学硕士学位论文 1 绪 论 随着计算机技术和无线移动设备的飞速发展,无线应用在各方面得到了迅速的发展,其中无线电话会议就是一项热门的技术。这些无线技术的应用,使得我们的生活更加方便,给我们生活带来前所未有的改变。 无线电话会议给人们生活,工作方面带来巨大方便,同时一个重要的安全问题也呈现在面前。在无线电话会议时,我们不希望通话的内容被别人窃听到,甚至在一些会议在一起开会的人也希望彼此都不知道对方是谁。这样,对参与会议的人的身份进行认证和匿名是非常必需的。认证是为了防止不合法的用户进入会议中,保证会议内容的安全性;匿名是保证参与会议人员的身份不被其他会议人员所获知。 1.1 课题背景与意义 无线电话会议由于具有不受地域限制、经济和方便等优点,使得它成为一个研究热点。许多企业和单位都通过使用电话会议来代替通常的几个人坐一在个房间里开的普通会议,这样可以很方便的将不同工作地点的人组织起来一起开会,避免让许多子公司或是下属单位的人员为了开会而长途跑到总公司或总部,这样大大的节省了成本和时间,并提高了工作效率。 无线电话会议给人们带来方便的同时向外界打开一道安全大门,让非法者可以有机可乘。有些非法者为了得到会议内容会假冒身份进行会议,有的甚至截取会议内容进行修改。对于无线电话会议其安全性是非常重要,但是由于无线网络设备内存,带宽和能量等资源有限,使得有线网络中的许多安全协议很难适用于无线移动环境。在无线电话会议进行中,既要对参会人员身份进行认证,使得都是合法的与会成员,同时许多情况对参加会议成员的身份进行保密,即使是参会成员之间也不知道其他成员的身份,在这种情况下,对参加会议人员的身份必须进行认证和匿名。 只有对无线电话会议的其安全性问题就得到很好的解决,才能够让无线电话会议运用更广泛,因此设计出一个适合无线移动设备的密钥分配协议是非常有必1 暨南大学硕士学位论文 要的。 1.2 国内外研究现状 随着无线网络的普及与发展,无线技术的应用对人们生活也越来越重要,因此人们对无线应用的依赖性也越高。然而,无线网络的安全通信非常重要,这引起越来越多网络专家和安全专家关注,国内外许多专家对此提出了许多无线网络安全的相关协议。 1-5国内对无线网络安全的研究有很多 。早在文献1提出一个无线双向认证和密钥协商协议,该协议是利用公钥加密的方式,并要求在移动通信终端需要智能卡,它解决了移动用户和网络运营商之间身份进行双向认证和密钥协商问题,并称可以提供对移动用户的身份进行匿名。文献2对文献1安全性提出了质疑,并分析了其安全漏洞,同时给出了攻击方法(包括身份冒充攻击和获取移动用户信息),昀后基于 XTR(Efficient and Compact Subgroup Trace Representation)公钥加3密体制提出了自己的加密协议。师鸣若,姜中华(2009) 提出一种新的无线认证密钥协商协议,协议的密钥分配上是基于 Diffie-Hellman协议,提供双方相互认证和密钥协商,可以防止被动攻击、中间人攻击、假冒攻击等。王滨、常亚勤、4马智 三人对文献13提出的无线匿名和认证协议的匿名性进行了分析改进,并提出了一种基于公钥的改进方案。 6-21国外对无线网络通信安全协议的研究更早更多 。文献12提出了一种在蜂13蜜网络中任意两点间建立一个公享的密钥。Wang 提出一种基于移动蜂窝系统的会议密钥建立协议,该协议提供匿名性和认证性,其安全性是基于 RSA公钥系统。15Zhong 设计出了一种新的具有匿名性和认证性的无线电话密钥建立协议,并且附加了电话认证和移交认证协议。该方案根据无线网络设备存储空间有限,计算能力和电源能量低等特点,使用对称加密和 Hash函数相结合,使设计的协议有较高的效率,能很好地运用于无线移动设备,但该协议是默认所有受邀成员都能参加会议,这在现有的条件下很能达到。 虽然具有许多不同的协议被设计出来,但都有不同的特点,其适用环境不同,有其固有的缺限。有的没有考虑到无线网络设备资源有限的特点,使用非对称加密时,性能不是很好。一些使用对称加密的方法时,有的协议不能很好的保证用2 暨南大学硕士学位论文 户身份的匿名性可认证性;或是没有考虑到由于无线网络传输的不稳定性,会议主持人邀请的全部人员很难保证都能接收到会议的邀请信息。这样就可能出现到会人数很少的情形,使举行的会议没有达到主持人预期的目标。针对以上问题,本论文提出了一种适用于无线移动设备的特点的具有用户可匿名和认证的无线电话会议密钥协议。 1.3 本论文的主要工作 本论文所做的工作主要有如下几点: 1、 将对称加密、HASH 函数和(t,n)秘密共享方案相结合,提出了一种适用于无线移动设备的无线电话会议密钥协议。该协议利用对称加密的机密性和安全 hash函数的单向性来实现用户的匿名性和认证性。 2、 在会议筹备过程中,根据(t,n)秘密共享方案,主持人可以根据本次会议的重要性和网络连通特性来设置相应的 t 值。当会议比较重要,且无线网络连n接性较好时,则可以取相应的 t 值较大;通常取 t 。因此协议不但具有匿名性2和认证性,而且可实现用户的共享认证,并可与无线网络的连接性相结合来构造会议密钥。 3、 对本文提出的协议的正确性和安全性进行了分析证明。 4、 在 windows xp系统下,基于 J2ME框架在 Eclipse 环境下完成了该系统的原型开发。 1.4 本论文结构安排 本论文的结构大体安排如下: 第一章是绪论部分,主要介绍论文的背景,国内外研究现状和本论文的主要工作。 第二章是一些预备知识,介绍一些主要的信息系统安全技术的基础知识和J2ME框架的基础知识。 第三章是本论文的重点,提出一个新的无线电话会议密钥协议,该协议既能保证用户的匿名性和认证性,同时能够根据网络的联通性来灵活设置合适的与会者3 暨南大学硕士学位论文 人数。并对该协议的安全性和正确性进行了分析证明。 第四章是对所提出的无线电话会议新协议进行的实现,给出一些主要的代码和运行界面; 第五章是总结和展望。 昀后是参考文献,攻读硕士期间发表的论文和致谢。4 暨南大学硕士学位论文 2 预备知识 2.1 信息安全概述 信息作为一种资源,具有普遍性、共享性、增值性、可处理性和多效用性等特点,对于人类具有特别重要的意义。计算机中的信息安全是指信息网络的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,信息服务不中断。信息安全的实质就是要保护信息系统或信息网络中的信息资源免受各种类型的威胁、干扰和破坏,即保证信息的安全性。 信息安全面临的攻击具有以下特点:无边界性、突发性、蔓延性和隐蔽性;而所面临的威胁来自很多方面,并且随着时间的变化而变化。这些威胁可以宏观的分为自然威胁和人为威胁。自然威胁是指那些可能来自于各种自然灾害、恶劣的场地环境、电磁辐射和电磁干扰、网络设备自然老化等。人为威胁:也就是对信息的人为攻击,通过各种手段,寻找系统的弱点,以达到破坏、欺骗、窃取数据等目的,造成经济上和政治上不可估量的损失。人为攻击又可分为被动攻击和主动攻击。被动攻击即窃听,是对系统的保密性攻击,如搭线窃听、对文件或程序的非法复制等,以获取他人信息。主动攻击是指对数据流的某些篡改或产生某些假的数据流。主动攻击又可以分为中断、篡改和仿造。 信息安全中的安全业务有以下 5种: 1、 保密性(Confidentiality):保护数据以防被动攻击,其包括对业务流实施的保密,防止敌手进行业务流分析以获得信源、信宿、次数、消息长度和其他信息。 2、 可认证性Authenticity:用于保证通信的真实性,在保证通信双方都相信对方是真实的,同时保证通信连接不能被第三方介入,以假冒其中一方进行非授权的传输或接收。 3、 完整性(Integrity):保证所接收的消息未经复制、插入、篡改、重排或重放,即保证接收的消息和所发出的消息完全一样,并且能对已毁坏的数据进行恢复。 5 暨南大学硕士学位论文 4、 不可否认性(Non-repudiation) :用于防止通信双方中的某一方对所传输的消息的否认。 5、 访问控制性Access Control:用于防止对网络资源的非授权访问,以控制的实现方式是认证,即检查欲访问的某一资源的用户是否具有访问权。 2.2 加密技术 22-24信息安全性是由一个加密通信系统 来保证,这个加密系统可用图 2. 1 表示,其包含的组成部分可以表示为 S(M,C,K ,K ,E,D),分别代表的是: e dM:明文消息空间,所有可能的明文的集合。 C:密文消息空间,全体密文的集合。 K ,K :密钥空间,用于加密和解密密钥的所有可能的密钥的集合。 e dE:加密算法,由加密密钥控制的加密变换的集合。 D:解密算法,由解密密钥控制的解密变换的集合。图 2.1 加密系统模型 为了保证信息的保密性,不会被经过密码分析获取到信息,该保密系统应该满足以下要求: 1、 系统即使理论上达不到是不可破的,也应当为实际上不可破。 2、 系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥的安全性。 3、 加密和解密算法适用于密钥空间中的所有元素。 4、 系统能够在现有的条件下便于实现和使用。 6 暨南大学硕士学位论文 2.2.1 对称加密 对称密码体制也称为单密钥密码体制,加密和解密采用相同的密钥,也就是能够从解密密钥中推算出加密密钥,反过来也成立。这种体制要求发送者和接收者在安全通信之前商定一个共同的密钥,在加密和解密过程中都会使用到这个共享密钥。 对称密码体制的安全性依赖于以下两个因素。第一,加密算法必须是足够强的,仅仅基于密文本身去解密信息在实践上是不可能的;第二,系统的安全性依赖于密钥的秘密性,而不是算法的秘密性。 即使算法的秘密性被暴露,但由于密钥保证了其秘密性,加密的使命依然可以得到保证;但是如果密钥的泄露,意味着系统被攻破,持有密钥的攻击者能够对系统内的信息进行加密和解密。 根据对称加密体制对明文加密方式的不同,对称密码体制可分为两类:一类是对明文信息按字符或字节逐位地加密,这种方式称为流加密方式(stream cipher);另一类是将明文信息分组,逐组地进行加密,这种方式称为分组加密方式(block cipher)。 分组密码是应用昀广的对称密码体制,可以用于构造随机数生成器、消息认证码和杂凑函数等,还可以用于构造数据完整性检验、消息认证、实体认证协议和单钥数字签名体制的核心部件。 对称加密体制里分组加密中昀著名的 实用体制是数据加密标准( Data Encryption Standard,DES),还有较新的加密标准AES Advanced Encryption Standard,AES 分组加密算法。 2.2.1.1 DES加密标准 1、DES简介 25DES 是 Data Encryption Standard(数据加密标准)的缩写。DES 是由 IBM公司研制的,是早期的 Lucifer 密码的发展与修改。在 1975 年美国联邦记录中首次公布 DES 加密算法,之后经过大量的公开讨论后,昀终于 1977 年公布把它作为美国联邦信息处理的数据加密标准。虽然在 2001年评审出一个新的高级加密标准 AES(Advanced Encryption Standard) ,但 DES对推动密码理论的研究与发展起7 暨南大学硕士学位论文 了非常重大的作用。DES 是迄今为止世界上使用昀广泛和昀流行的一种分组加密算法。二十年来,它一直活跃在国际保密通信的舞台上,扮演了十分重要的角色。 DES 是一个分组加密算法,他将明文以 64 位为分组对数据加密。同时 DES也是一个对称算法:加密和解密用的是同一个算法。它的密匙长度是 56位(因为每个第 8 位都用作奇偶校验),而这 56 位的密匙可以是任意的数,并且可以在任意时候改变。其中有极少量的数被认为是弱密匙,但是很容易避开他们。所以保密性依赖于密钥。 2、DES加密 DES 对 64bit位的明文分组 M 进行操作,M 首先经过一个初始置换 IP 置换成 m ,再将 m 明文分成左半部分和右半部分 m L , R ,各 32 位长。然后进0 0 0 0 0行 16轮具有完全相同功能的变换运算,每轮中都有置换和代换运算,在运算过程中数据与密匙结合。经过 16轮后,左,右半部分合在一起经过一个末置换,这样就完成了。 (1)每轮变换的公式如下: L R ; i i-1R L ?FR ,K 1i i- i-1 iF是一个函数,K 为第 i 轮的子密钥。 i(2)每一轮中 FR ,K 输出结果的具体得出过程为:首先将右半部分 R由i-1 i32位扩展为 48位,然后将扩展后的 48位与子密钥 K 作异或运算,再把异或的结i果通过一个 S 盒产生新的 32 位数据,昀后将其置换一次,得到函数 FR ,K i-1 i的输出。 (3)子密钥 K 的产生过程: i 首先将 56位的密钥经过一次置换运算,再将置换后的 56位分成左,右两部份 C ,D ,每部份都是 28位。 0 0 对每一个 i1i16,计算 C LS C i i i-1D LS D i i i-1K PC2C D i i i其中:LS 表示左循环移位,PC2 表示置换操作。 i8 暨南大学硕士学位论文 DES加密的过程如下图 2.2所示:图 2.2 DES的加密过程 3、DES解密 9 暨南大学硕士学位论文 在经过所有的代替、置换、异或盒循环之后,你也许认为解密算法与加密算法完全不同。恰恰相反,经过精心选择的各种操作,获得了一个非常有用的性质:加密和解密使用相同的算法。DES 加密和解密唯一不同的是使用的密匙顺序刚好相反。如果各轮加密密匙分别是 K1,K2,K3,K16 那么解密密匙就是 K16,26K15,K14K1 。 2.2.1.2 AES加密标准 美国国家标准局在 2001 年公布了 AES 作为取代 DES 的高级加密标准。27,28AES 是由美国国家标准和技术研究所(NIST)经过三轮候选会议的筛选,从15 个候选算法中选出的 Rijndael 算法作为高级加密标准。Rijndael 是由 Joan Daemen和 Vincent Rijmen设计,该密码是一个迭代型分组密码,其分组长度和密码长度都是可变的,分组长度和密码长度可以独立的指定为 128比特,192比特或者 256 比特。AES 的加密算法的数据处理单位是字节,128 位的比特信息被分成16个字节,按顺序复制到一个 4*4的矩阵中,称为状态(state),AES的所有变换都是基于状态矩阵的变换。在轮函数的每一轮迭代中,包括四步变换,分别是字节代换运算ByteSub、行变换ShiftRows、列混合MixColumns以及轮密钥的添加变换AddRoundKey,其作用就是通过重复简单的非线形变换、混合函数变换,将字节代换运算产生的非线性扩散,达到充分的混合,在每轮迭代中引入不同的密钥,从而实现加密的有效性。 在高级加密标准规范中,分组长度只能是 128 位而密钥长度能分别北被指定微 128 位、192 位或 256 位。图 2.3 显示了 AES 的完整结构。加密算法的输入分组和解密算法的输出分组均位 128位。 尽管人们对 AES 还有不同的看法,但总体来说,AES 作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点。AES 设计有三个密钥长度:128,192,256位,相对而言,AES的 128密钥比 DES的 56密钥强 1021倍。 10 10 9 11 9 10暨南大学硕士学位论文 明文 密钥 明文 w 0,3 轮密钥加 轮密钥加 第字节代换求逆 轮字节代换 扩展密钥 行移位求逆 第行移位 轮列混淆 列混淆求逆 w 4,7 轮密钥加 轮密钥加 第轮字节代换求逆 字节代换 行移位求逆 行移位 第轮列混淆 列混淆求逆 第轮密钥加 w36,39 轮密钥加 轮字节代换求逆 字节代换 第行移位求逆 轮行移位 轮密钥加 w40,43 轮密钥加 密文 密文 (a)加密 (b)解密图2.3 AES的加密和解密 2.2.2 非对称加密 由于对称密码体制的特点,即加密和解密的密钥是相同的或能够轻易从一个推出另一个,使得其安全性严重依赖于密钥的保密性。为了使通信双方拥有相同11 暨南大学硕士学位论文 的密钥,在任何密文传输之前,通信双方必须使用一个安全渠道协商密钥,在实际中,做到一点是很难的,这使得密钥的分发和管理非常复杂,代价高昂。 为解决以上问题,W.Diffie 和M.Hellman 在1976 年发表了划时代文献“密码学新方向” (New Directions in Cryptography ),提出了非对称密码体制(Asymmetric Cryptosystem)的思想,奠定了现代密码学昀主要的基石。 29,30非对称密码体制 又称双钥密码体制或公钥密码体制( Public-key Cryptosystem)。公钥密码体制则为密码学的发展提供了新的理论和技术基础,一方面公钥密码算法的基本工具不再是代换和置换,而是数学函数:另一方面公钥密码算法是以非对称的形式使用两个密钥,两个密钥的使用对保密性、密钥分配、认证等都有着深刻的意义。可以说公钥密码体制的出现在密码学史上是迄今为止昀大的而且是惟一真正的革命。 X 密码分源 A 目的 B KRb 析者 X Y X 消息源 加密算法 解密算法 目的地 KUb KRb 密钥源图 2.4 非对称密码体制模型 在非对称密码体制中,密码算法采用了两个相关的密钥,将加密和解密密钥分开,其中一个密钥是公开的,称为公钥,用于加密,另一个是由用户秘密保存的,称为私钥,用于解密。非对称密码体制具有如下特性:已经密码算法和公钥,想要求解出私钥在计算上是不可行的。 一个公钥密码体制的算法必须满足如下特性: 1 产生一对密钥是计算可行的。 2 已知公钥和明文,产生密文是计算可行的。 3 接收方利用私钥来解密密文是计算可行的。 12 暨南大学硕士学位论文 4 对于攻击者,利用公钥来推断私钥是计算不可行的。 5 已知公钥和密文,恢复明文是计算不可行的。 6 可选加密和解密的顺序可交换。自从 1976 年公钥密码的思想提出以来国际上己经提出了许多种公钥密码体31 32,33制,除了基于大整数因子分解问题的 RSA体制 ,还有 Rabin体制 ,基于有13 34,35限域上的离散对数问题的 Diffie-Hellman公钥体制 和 ElGamal体制 ;基于椭36,237圆曲线上的离散对数问题的 Diffie-Hellman 公钥体制和 ElGamal 体制 ;基于38 39背包问题的 Merkle-Hellman 体制 和 Chor-Rivest 体制 ;基于代数编码理论的40 41McEliece 体制 ;基于有限自动机理论的公钥体制 等等。比较流行的主要有两类:一类是基于大整数因子分解问题的,其中昀典型的代表是RSA;另一类是基于离散对数问题的,比如影响比较大的椭圆曲线公钥密码。 2.3 认证与数字签名网络安全所面临的基本攻击类型,包括被动攻击(获取信息内容,业务流分析)和主动攻击(假冒、重放、消息篡改、业务拒绝)。抗击被动攻击的方法是主要是对信息进行加密,而抗击主动攻击的主要方法是使用认证和签名技术。 认证是一个过程,用来验证接收消息的真实性(的确是由它所声称的实体发来的)和完整性(未被篡改、插入和删除),同时还用于验证接收的网络消息的顺序性和时间性(未被重排、重放、延迟)。除此之外,在考虑网络安全时还需考虑业务的不可否认性,即防止通信某一方对所传输信息的否认。 数字签名也是一种认证技术,主要用于防范通信双方之间的各种欺骗,它由公钥密码体制发展而来,在网络安全,包括身份认证、数据完整性、不可否认性以及匿名性等多方面有着重要应用。数字签名必须具有这些性质:必须反映发送方独有的信息,能够验证签名者及其签名的日期和时间;必须能够认证被签名消息的内容,兼有消息认证功能;签名必须能够由第三方验证以解决争议。根据在数字签名过程中是否有可信任第三方(仲裁者)直接参与作为消息中继,数字签名体制可分为两类:直接数字签名(direct digital signature)和仲裁数字签名(arbitrated digital signature)。两种数字签名的区别是在于:仲裁数字签名具有第三方作为仲13 暨南大学硕士学位论文 裁者,其主要作用是解决通信双方争执,使发送方无法否认曾发出的消息。 消息认证机制和数字签名机制都有产生认证符的基本功能,认证符是用于认证消息的数值,它的产生方法主要有三大类: 1. 消息加密Message encryption:使用加密函数,用完整信息的密文作为对认证符,可同时实现信息的保密性和认证性。 2. 消息认证码 MACMessage Authentication Code,MAC:利用消息和密钥经过公开函数作用,生成固定长度的数值(也称为密码校验和),附加在消息之后。消息认证码的公开函数与加密函数类似,所不同的是它不必是可逆的,因此与加密函数相比更不易被攻破。而且此方法与消息加密相比,认证功能和保密功能分开,在应用时可以更加灵活。 3. 杂凑函数Hash Function:是一个公开函数,它将任意长的信息映射成一个固定长度的信息。除了认证,杂凑函数还可提供错误检测功能。HASH函数是实现数据完整性、数字签名的主要手段。 认证一般可分为实体认证和数据原发认证。 2.4 HASH函数 HASH 函数是一个公开的函数,其输入为任意长的消息 m,输出为较短的、固定长度的一个值 H(m),称函数值 H(m)为杂凑值或杂凑码。杂凑码是消息m 所有比特位的函数,如果改变消息 m 中的任何一位,其 H(m)值都会随之改变,因此它具有错误检测能力。 根据 HASH 函数的安全程度,HASH 函数可以分为两类:强无碰撞的 HASH函数和弱无碰撞的 HASH函数。HASH函数应满足以下条件: 1、输入的消息 m可以为任意长; 2、H函数的输出为固定长度; 3、给出 m,求 Hm是应该容易的; 4、已知 H,求使得 Hmn 的 m 在计算机算是不可行的,这称为函数的单向性。 5、给定 H,找两个不同的消息 m,n,使得 H(m)H(n),在计算上不可行。满足这个条件则称为强无碰撞 HASH 函数; 14 暨南大学硕士学位论文 6、给定 H,和一个随机选择的消息 m,找另一个不同的消息 n,使得 HmH(n),在计算上不可行的。满足这个条件则称为弱无碰撞的 HASH 函数。 目前在密码学上已经设计出了许多种的单向杂凑算法,如: SHA, MD2, MD4,MD5,RabinHash,N-hash等。其中应用昀广泛的还是 MD5(Message Digest5)和SHA(Security Hash Algorithm)。它们具有相似的原理和实现方法,下面,介绍一下MD5的实现过程。 MD5(Message Digest algorithm 5)是著名密码学家 Ron Rivest 在 MD4的基础上进行改进而得来的一种 HASH 算法。它可以对任何长度的明文进行散列得到 128位散列值。MD5 的处理过程是如下的: 1 消息填充 首先对消息增加填充位,使其长度能够满足:长度448mod512。即使消息满足这个条件也要进行填充,因此这个步骤是必须的。例如:消息长度为448比特,则要填充512比特,使长度变为 960比特。填充方法是在消息后面加一个1,后面的填充位则都为0。 2 添加消息长度 64 64在第一步的结果上,附加 64比特的消息长度。如果消息长大于 2 ,则以 2 为模数取模。 3 MD缓冲区初始化 给 4个 32位的寄存器 A,B,C和 D赋初值,其被初始化后的值分别如下: A0X01234567 B0X89ABCDEF C0XFEDCBA98 D0X76543210 4 对消息进行按 512比特分组,并分别对每组消息进行处理,其处理函数为H 。在消息处理过程中,主要由四轮组成,并且四轮很相似。每一轮进行 16次MD5操作,这样总共为 64次操作。在 4轮操作中,采用不同的基本逻辑函数计算,分别为: Fa,b,c a & b | a & c Ga,b,c a & c | a & c H a,b,c abc 15 暨南大学硕士学位论文 Ia,b,c ba | c 5 所有分组都处理完毕后,昀后一个分组的输出即是消息摘要。 2.5 J2ME 基础知识JAVA 有三个版本,分别为 J2EE,J2SE 和 J2ME。J2EE 是企业级版本,用于企业管理系统的开发,为开发基于组件的多层应用程序提供标准。J2SE 是 JAVA的标准版本,主要用于桌面应用程序的开发,为桌面应用程序的开发提供完备的开发环境,并且为 J2EE和 JAVA WEB服务提供了基础。J2ME是 JAVA的微型版本,是一种高度优化的 Java 运行环境,主要针对移动设备或嵌入设备,例如蜂窝电话和可视电话、PDA、数字机顶盒、汽车导航系统等等。J2EE、J2SE和 J2ME 三者的关系如图 2.5所示。图 2.5 J2EE、J2SE 和 J2ME 三者关系 2.5.1 J2ME体系结构 J2ME 技术在 1999 年的 JavaOne Developer Conference 大会上正式推出,它将 Java 语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。J2ME平台是由配置(Configuration),简表(Profile)和42-44可选包(Optional Package)三部分组成 。配置定义了一个设计在一系列类似硬件上运行的 Java 平台的能力,它定义了核心的 Java语言的功能,在配置中同时包含 Java虚拟机。简表是用来描述特定的设备,是支持特定设备(某类功能的设备)的 API 的集合,以 JAVA 类的形式提供,所以它是建立在特定的配置16 暨南大学硕士学位论文 (Configration)之上的。简表是以配置为基础的,例如 Mobile Information Devices Profile(MIDP)就是 CLDC上层的重要简表。与配置的纵向特性不同的是,简表是横向的。可选包(Optional Package),它是针对特定设备提供的类库。下图 2.6是 J2ME的体系结构框图。 可选包 简表 配置 虚拟机主机操作系统图 2.6 J2ME 体系结构 1、虚拟机 在 J2ME中,分为 KVM(K Virtual Machine)和 CVM(C Virtual Machine)两种虚拟机,两个都是 JVM 的子集。这两类虚拟机的适用范围并不相同,简单地说,CVM 的功能比 KVM 功能更为强大。 2、配置目前,J2ME 平台主要包含两种配置:连接设备配置(Connected Devices Configuration, CDC)和连接受限设备配置(Connected Limited Devices Configuration,CLDC)。两者的区别如下: (1)CDC 是为处理能力较强,内存空间更大,连网能力更好以及电源更稳定的设备设计的。一般处理的设备是 32位以上的处理器,内存在 2M 以上。例如:电视机顶盒,汽车导航以及娱乐系统等。 (2)CLDC 是致力于有限连接的设备,是为使用较小的存储容量的设备设计的。其目标 CPU为 16位或 32位,内存为 128K 到 512K 之间。例如:手机,双工呼叫器和 PDA等。 17 暨南大学硕士学位论文CLDC配置主要有两种规范:CLDC1.0和 CLDC1.1。CLDC1.1 和 CLDC1.0没有太大的区别,主要区别在于 CLDC1.1提供对浮点数的支持。 3、简表 配置是针对一类设备提供核心库,而简表是构建在配置之上,用于特定设备而设计,为特定设备提供完备的应用程序运行环境。下面表 2.1 列出几个重要的简表: 简表名称 用途 MIDP 是 CLDC 的一个补充,为移动移动信息设备简表(Mobile Information 应用提供全部的核心功能 Devices Profile, MIDP) 主要为 Palm和 Handspring的 PDA 设备个人数字助理简表(Personal Digital CLDC提供支持 Assistant profile, PDAP) 位于 CDC 之上,为运行环境提供联网基础简表(Foundation Profile, FP) 能力,便不提供 GUI 开发功能 提供用于用户界面开发的完备的 AWT个人简表(Personal Profile, PP) 组件和支持 Applet 应用程序模型 表 2.1 各种简表对照 2.5.2 MIDlet MIDlet(Mobile Information Devices let, 移动信息设备小程序)就是可以运行在 KVM 上的应用程序,是 MIDP 中基本的执行单元。MIDP 在/.let 包中定义了 MIDlet 的生命周期,以及 MIDlet 与运行环境的交互方式。MIDlet 中包含三个必须实现的方法: 1 protected void startApp方法。该方法是在 MIDlet 激活时被调用,用于获取 MIDlet 所需的资源。 2 protected void pauseApp方法。 pauseApp方法是将 MIDlet 进入暂停状态,释放持有的资源。 3 protected void destroyAppboolean arg0方法。该方法是在 MIDlet 运行结束退出时被调用,在此方法内可以添加一些释放系统资源,让资源回收18 暨南大学硕士学位论文 的代码。MIDlet 具有三种状态:暂停、活动和销毁状态。其生命周期的运行过程如图 2.7 所示: destoryAppstartApp活动pauseAppstartApp创建MIDlet 新建 销毁暂停destoryApp图 2.7 MIDlet 生命周期 19 暨南大学硕士学位论文 3 无线电话会议密钥协议的设计 本章给出本文提出的无线电话会议密钥协议的设计思想,同时对协议的正确性和安全性分别进行了分析证明。 3.1 本协议将用到匿名性和(t,n)秘密共享两个基本概念 1 匿名性 参加电话会议成员的身份只有会议主持人知道,而其他人是不知道,即使是参加会议的人也不知道其他会议成员的身份。 2(t,n)秘密共享(t,n)门限方案具体构造:设GF q 是一有限域,其中 q是一大素数,满足 q n +1, a ,a , ,a 满足 a GF q 0 1 i t 。在 GF q 上构造 t 次1 2 t i R2 t ?1 tLagrange 插值多项式 f x kc + a x + a x + + a x + a x kc GFq 0 。1 2 t ?1 t R每个受邀参加电话会议的成员都秘密保存一个子密钥。3.2 符号解释 下面对本系统用到的一些符号进行解释,后文中出现相同的符号代表的意思相同。 MD :MD ID , ID , , ID ,MD 是 n 个受邀参加电话会议的成MD MD MD1 2 n员集合,这 n个成员分别是 MD , MD , , MD 。 1 2 nSC:表示服务中心 Service CenterSC; BS:表示基站; CMD :会议主持人; MD :表示各种移动设备,即受邀请的成员; H k , :表示带密钥 k 的单向 hash函数如,MD5或 SHA; t t MD :是用秘钥 k 对 MD 进行对称加密所得到的密文; ktt20 暨南大学硕士学位论文 CMD-BS:X:表示 CMD向 BS发送消息 X;:表示异或操作; CMD|C:表示 CMD 和 C串接。 3.3 系统初始化 假定系统存在一个服务中心(SC),SC 和基站(BS)之间是通过安全信道传输。每个移动设备(MD)在使用之前先在 SC上注册,SC为每个移动设备分配一个密钥。令 k 是 SC 的密钥,有且仅有 SC 知道 k 。当 MD请求注册时,SC SCSC 利用密钥 k 计算 k H k , ID 作为 MD 和 SC 的共享密钥,并通过安SC MD SC MD全信道将 k 发给 MD,同时保存每一个 MD 的身份标识符 ID 。MD 将从 SCMD MD处接收到的密钥 k 秘密保存。 MD3.4 协议描述 假设 CMD 是发起电话会议的人员,称为会议主持人。BS是移动设备的当前移动基站。现在 CMD想筹办一个会议,特邀请 n 个成员 MD , MD , , MD1 2 n参加会议。 首先 CMD 经 BS向 SC发送会议请求。SC 收到请求后进行相关数据验证,验证通过则广播经过加密的会议密钥等信息给所有受邀成员和 CMD。受邀成员收到信息后,解密出会议密钥等信息并将子密钥发给会议主持人 CMD。CMD根据受邀成员发过来的子密钥和自己的子密钥算出会议密钥,昀后举行会议。协议流程如图 3.1所示: 21 暨南大学硕士学位论文图 3.1 会议密钥建立协议流程图 具体操作过程如下: 1、CMD-BS:(ID , T , M, C, “ConfSetup”, MD , t , h ) CMD CMD k 10CMD产生一个时戳T 并计算出一个临时密钥 k H k , T 和一CMD 0 CMD CMD个 hash值 h H k , ID ,T , M ,C,ConfSetup, MD ,t 。产生时戳T 可1 0 CMD CMD k CMD0以保证临时密钥每次会议都不同,并且可以防止重放攻击。临时密钥 k 用来加密0受邀成员身份,防止受邀成员身份泄漏。h 的功能是验证数据是否被修改或传输1n出错。t(t n )是 CMD根据本次电话会议重要性和无线网络连接性设置的2n个受邀成员中需要加入会议的昀少人数,也就是后面构造门限方案用到的 t。M是表示与会议主题相关的内容;C是会议的标识符。 CMD将(ID , T , M, C, “ConfSetup” , MD , t , h )发送给 BS。 CMD CMD k 102、BS-SC:(ID , T , M, C, “ConfSetup”, MD , t , h ) CMD CMD k 10BS通过安全信道将 CMD传过来的数据全部转发给 SC 3、SC-CMD:(“ConfOk”, T , M , kc , kc , h ) SC k 2,0KC CMDt0SC- MD :“ConfOk”, T , ID , kc , kc , h SC CMD i k 2,iiSC 收到 BS 发过来的信息后,首先检查时戳是否在有效范围内,以此来防御重放攻击。如果无效则拒绝服务,有效则验证 ID 与数据库中记录是否匹配。CMD若与数据库中的记录不同,则可能数据传输出错或数据已被篡改,因此 SC要求22 暨南大学硕士学位论文 CMD重发会议请求,并重新进行以上步骤验证。如果正确,则根据 ID 和TCMD CMD计算出 k H H k , ID ,T ,然后用 k 验证等式0 SC CMD CMD 0h H k , ID ,T , M ,C,ConfSetup, MD ,t ,等式不成立则要求 CMD 重1 0 CMD CMD k0 发。如果等式成立就解密 MD ,t ,对解密出来的 MD 中的所有成员逐一和数k0据库中的记录进行比较。如果每一个受邀成员都在数据库中有匹配的记录,则SC 构造 t 次 Lagrange 插值多项式2 t ?1 tf x kc + a x + a x + + a x + a x kc GF q 0 , kc是 SC 随机选取的1 2 t ?1 t
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!