(计算机科学与技术专业论文)数据加密在gsm通信中的设计与应用.pdf_第1页
(计算机科学与技术专业论文)数据加密在gsm通信中的设计与应用.pdf_第2页
(计算机科学与技术专业论文)数据加密在gsm通信中的设计与应用.pdf_第3页
(计算机科学与技术专业论文)数据加密在gsm通信中的设计与应用.pdf_第4页
(计算机科学与技术专业论文)数据加密在gsm通信中的设计与应用.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机科学与技术专业论文)数据加密在gsm通信中的设计与应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电大学硕士研究生学位论文数据加密在g s m 通信中的设计与应用 数据加密在g s m 通信中的设计与应用 摘要 信息安全一直是通信技术的重点研究方向,而且正在从军事、机密 部门逐渐向民用普及。本文选取目前国内应用最广泛的g s m 无线移动 通信网络作为研究对象,从它的短消息和g p r s 两种数字通信通道入手, 利用各种成熟的对称与非对称加密算法,设计出安全、可认证的通用传 输协议,并由此开发出一些典型的应用。 本文有如下几个研究重点:一是注重分析与利用理论上安全的算 法,并尽可能地防止各种可能攻击;二是不但从信息保密的角度去考虑 安全,还要从防篡改、防伪造、不可否认的认证等多角度保证全面的通 信安全;三是研究如何在受限环境下的安全通信,主要包括传输量和传 输速度的限制。 本文中,作者独自开发的重点之一是自行编写非对称加密与签名算 法中重要的可移植的大整数运算算法,并对加密算法及加密模式的分析 与选用提出了自己的见解。其次是尝试设计一种通用性强、扩展性好的 轻型安全通信协议,包括数字证书及通用加密信息格式的设计。最后利 用这种通用协议设计出几个典型的应用点对点安全短信、安全数据 备份、安全电子签名与安全电子支付,并描述了较具体的解决方案。 本文还对其它安全应用或其它通道的安全协议的设计具有重要参 考意义。 关键词数据加密数字签名g s m 网络安全通信协议 i i i 北京邮电大学硕十研究生学位论文数据加密在g s m 通信中的设计与应用 d e s i g na n da p p l i c a t i o n0 fd a t ae n c r y p t i o n i ng s mc o m 仉j n i c a t i o n a bs t r a c t i n f o r m a t i o ns e c u r i t ) rh a sb e e nt h ef o c u so fc o m m u n i c a t i o nt e c h n o l o g yr e s e a r c h d i r e c t i o n a n di ti sn o wp o p u l a r i z e dg r a d u a l l yf r o mt h em i l i t a r ya n dt h es e c r e t st ot h e c i v i l i a na p p l i c a t i o n i nt h i sp a p e ris e l e c tg s mw i r e l e s sm o b i l ec o m m u n i c a t i o n sn e t w o r k t h a ti sc u r r e n t l yt h em o s tw i d e l yu s e di nc h i n aa sar e s e a r c ho b j e e t f r o mi t sb o t hd i 西t a l c o m m u n i c a t i o nc h a n n e l sw h i c hc o n t a i ns h o r tm e s s a g es e r v i c ea n dg p r s ,iu t i l i z ea l l t h em a t u r es y m m e t r i ca n da s y m m e t r i ce n c r y p t i o na l g o r i t h m , a n dd e s i g ns e c u r ea n d a u t h e n t i c a t e da l l p u r p o s et r a n s m i s s i o np r o t o c o l ,t h e nd e v e l o ps o m et y p i c a la p p l i c a t i o n s t h e r ea r es o m ee m p h a s e si nt h i sp a p e r :f i r s t , f o c u so na n a l y s i sa n du s eo f t h e o r e t i c a l l ys e c u r ea l g o r i t h m , a n da sf a ra sp o s s i b l et op r e v e n ta n yp o s s i b l ea t t a c k s ; s e c o n d , c o n s i d e ri n f o r m a t i o ns e c u r i t yt h a ti sn o to n l yf r o mt h es e c r e td a t a , b u ta l s o a l l s i d e da u t h e n t i c a t i o nw h i c hc o n t a i n s a n t i - t a m p e r i n g , a n t i - c o u a t e r f e i t i n g a n d a n t i - d e n y i n g ;t h i r d , s t u d yh o wt oc o m m u n i c a t es e c u r e l yi nt h el i m i t e de n v i r o n m e n t , i n c l u d i n gr e s t r i c t i o n so ft r a n s m i s s i o nc a p a c i t ya n ds p e e d i nt h i sp a p e r , o n eo fm yo w nd e v e l o p m e n te m p h a s e si sw r i t i n gt r a n s p l a n t a b l el a r g e i n t e g e rc o m p u t a t i o na l g o r i t h mt h a t i si m p o r t a n ti nn o n - s y m m e t r i ce n c r y p t i o na n d s i g n a t u r ea l g o r i t h mb ym y s e l f a n dg i v em yo w no p i n i o no na n a l y z i n ga n ds e l e c t i n g e n c r y p t i o na l g o r i t h ma n de n c r y p t i o nm o d e t h eo t h e ro n ei sa na t t e m p tt od e s i g na c o m m o na n de x t e n s i b l el i g h ts a f ec o m m u n i c a t i o np r o t o c o l ,i n c l u d i n gd i g i t a lc e r t i f i c a t e a n de n c r y p t i o ni n f o r m a t i o nf o r m a td e s i g n a tl a s t ,w i t ht h i sc o m m o n p r o t o c a l ,id e s i g n s e v e r a lt y p i c a la p p l i c a t i o n sw h i c ha r es e c u r ep e e r - t o p e e rs h o r tm e s s a g e , s e c u r ed a t a b a c k u p ,s e c u r ee l e c t r o n i cs i g n a t u r e sa n ds e c u r ee l e c t r o n i cp a y m e n t , a n dg i v eaf e w c o n c r e t es o l u t i o n s t h i sp a p e ra l s op r o v i d e si m p o r t a n tr e f e r e n c ev a l u ef o ro t h e rs e c u r ea p p l i c a t i o n so r d e s i g no fs e c u r ep r o t o c o li no t h e rc h a n n e l s k e yw o r d sd a t ae n c r y p t i o n d a t as i g n a t u r eg s mn e t w o r k s e c u r ec o m m u n i c a t i o np r o t o c o l v 北京邮电大学硕士研究生学位论文数据加密在g s m 通信中的设计与应用 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其它教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 申请学位论 本人签名: 处,本人承担一切相关责任。 日期:巡! 笙垄 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研 究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学 校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段 保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在年解密后适用本授权书。非保密论文 注释:本学位论 本人签名: 导师签名: 用本授权书。 日期:塑翌呈:丝圣 日期:丝呈:丝至 北京邮电大学硕士研究生学位论文数据加密在g s m 通信中的设计与应用 1 1 研究背景 第一章绪论 随着现代通讯技术的高速发展,人们在追求高传输速率和从有线转变为无线的 同时,对传输安全的要求也在逐步提升。目前应用最广泛的数据传输网络是基于p c 平台的i n t e r a c t 和基于手机平台的无线通信网络。 在p c 平台,随着硬件的迅速更新换代,数据加解密对于p c 本身的性能影响已 经甚小。基于i n t e r a c t 的网上银行、网上股市、网上商城等交易、支付平台均使用 了标准的h t t p + s s l 的安全通信协议。甚至许多与金融无关的网络账户登录页面也 纷纷采用这种安全协议传输用户名、密码等敏感信息。 而在手机无线通信这个用户量在国内高于i n t e r n e t 用户量的领域,通信的安全 尚未普及。原因主要有:一是g s m 网络用户的基数比较大,更新换代需要很长一 段过渡时期;二是手机硬件由于体积和耗电量的限制,与同时代的p c 机差距较大。 但后者逐渐不再成为性能瓶颈了,因为手机硬件会比通信网络更易于更新,发展速 度更快。这样手机的功能逐渐多样化,使用更灵活的操作系统。为区分传统手机, 这些手机被称之为“智能手机,其普及率已经逐渐高于非g s m 网络的普及率。虽 然国内的g s m 网络本身没有数据安全措施,但利用其传输通道,仍可以在高层协 议上实施一个安全的数据传输方案,以实现一些高安全需求的应用。 目前市场上已经出现了所谓“加密手机 、“安全手机 等商业产品,它们所实 施的加密大多都不是理论可靠的,甚至有些加密的信息无需密钥也容易推算出来, 而且几乎没有开放的协议以利于兼容、推广和二次开发。 例如前一段时间流行的“商务通手机内含的“加密短信 功能,经测试与分 析发现,它既没有使用安全的加密算法,也没有使用私有的密钥。短消息内容的加 密算法仅仅是对每个字节加上固定的数值。只要发送一次已知的“加密短信 并在 中途或终端接收到密文,就很容易推算出加解密算法。这种所谓的“加密”完全无 法应用在高安全需求的应用之中。 因此本文将结合目前理论上安全的加密算法,设计出尽可能防止各种途径攻击 的且易于在手机中实现的安全协议。并为一些具体应用设计出安全的解决方案,以 北京邮电大学硕士研究生学位论文数据加密在g s m 通信中的设计与应用 弥补仍将是手机网络主体的g s m 网络的不足。 1 2 本人所做的工作及论文主要内容 在研究生期间,本人主要从事手机g s m 网络安全通信的应用研究与开发工作, 包括短消息与g p r s 通信的数据加密与数字签名。并参与手机安全通信系统中服务 器端的设计与开发。本文是其中研究与开发积累的经验与总结。 全文由六章组成。在第二章简述并分析目前g s m 网络及其通道,以及手机平 台的特点,为具体的方案设计打下基础。然后在第三章分析安全通信的核心数 据加密相关的算法,包括对称与非对称加密、散列及签名算法。再根据手机与通信 平台的特点和局限性选择合适的算法,并对各种所需的算法给出实现方法的框架。 接着在第四章分别分析g s m 网络主要的两种通道短消息和g p r s ,并根据各自 不同的优缺点设计适宜的证书与数据加密格式,以及通用的通信协议。然后在第五 章针对一些典型的应用,如点对点安全短信、信息安全备份、安全电子签名与安全 电子支付,设计了具体的方案并对一些具体实现将会面临的问题做出分析。最后第 六章对论文进行总结。 1 3 小结 本章介绍了本论文的研究背景,展示g s m 通信网络中安全需求及重要性。并 介绍了论文的主要内容与章节安排。 2 北京邮电大学硕士研究生学位论文数据加密在g s m 通信中的设计与应用 2 1g s m 通信 第二章g s m 通信概述及应用 当前,移动电话在全球范围的应用极为广泛。其中g s m ( g l o b a ls y s t e mo f m o b i l e c , o m m t m i c a t i o n ) ,即全球移动通讯系统,是目前使用最为广泛的移动通信网络标准。 目前属于第二代移动电话系统。之前的第一代由于使用模拟信号来传输语音和信令, 目前已经完全淘汰。第三代移动电话系统( 3 g ) 规范虽然很早就开始制订,但由于 种种原因目前仍没有广泛普及。全球g s m 用户数量不但高达1 0 亿以上,而且仍在 不断增长。可以说,g s m 网络的建立使人们的工作、生活真正跨入了移动通信时代。 g s m 采用t d m a 无线接入技术,主要通过c c s 7 信令网将交换网、无线网的 各个主要网元连接起来,并通过扩展c c s 7 信令的应用层协议( m a p 、b s s a p ) 实 现了自由漫游、切换和移动性管理。与模拟移动通信系统安全功能相比,g s m 系统 已在这方面大大加强。在g s m 网络刚刚推出业务的时候,安全功能也曾作为其业 务卖点之一。其提供的标准安全功能有以下部分:鉴权,基于鉴权算法a 3 ( k i ,r a n d ) 产生s r e s ,对非授权的接入进行鉴别;加密,对信令数据和用户数据通过加密算 法a s ( k i ,r a n d ) 产生l 沁,然后通过a 5 ( k c ,d a t a ) 生成加密数据流;可信度, 为防止通过i m s i 泄漏用户信息,在鉴权完成后利用t m s i 进行接续。这已经实现中 等的安全水平,足以用于民用领域。 然而,目前的g s m 网络并没有启用a 5 对语音数据和信令进行加密,只考虑对 用户的鉴权时的安全。所以用户在空中链路中传送的信息内容,无论是语音还是数 据都是以明文的形式来传输的,在这种非定向的无线传输环境下很容易被监听与截 获。而且即时使用了a 5 加密,在基站与中心服务器之间的有线传输也是非加密传 输的,在短消息中心短消息数据也是以明文的形式保存在数据库中。考虑到数据库 管理可能存在的漏洞和非法入侵者窃取数据库中的重要信息等因素,短消息中心暂 存的短消息数据也是不安全的。而且对于某些高安全的需求,现有的g s m 网络无 法保障端到端之间的应用层安全,所以需要对短消息或g p r s 通信中的敏感信息进 行加密、签名等处理,防止传输过程中被他人窃听、冒用和篡改,并与现有的g s m 网络底层传输保持一定的独立性。 3 北京邮电大学硕士研究生学位论文 数据加密在g s m 通信中的设计与应用 题。 因此,在已有的通信环境下保证端到端的无线通信安全成为一项重要的研究课 2 2 手机通信的业务 g s m 根据传输的实际内容可把业务类型分为语音业务和数据业务,其中数据业 务主要包括短消息服务和g p r s 网络通信。 数据要保证在端与端之间的安全,不被监听者得到有意义的信息,就必须实施 数据加密,加密的数据可以在完全使用数字化通信系统中保证无差错传输。在数据 加密的同时,还可以验证消息的完整性和不可否认性。这需要手机端也具备加解密 数据的能力,这在目前日益普及的智能手机均能够编程实现。这里提到的“端 主 要是指移动电话端,即手机端。在某些需求中,也可以是一个可靠并可信任的服务 器端。 由于手机端数据处理能力和通信容量和速度的限制,本文主要面向苛刻的条件 下理论上安全的通信协议的设计与实现。使无线通信在保证安全的前提下尽可能轻 型化。这种安全协议也可以不修改或略微修改使之在其它通信领域中得到广泛应用, 如小灵通,连接网络的p c 机等。 由于语音的数字通信只在手机端和基站之间,而基站要把数字语音转换成模拟 语音并与中心服务器通信,所以在语音信道中理论上无法使用数字加密。因此本文 的讨论范围集中在g s m 的数据通信,即短消息和g p r s 。 2 2 1 短消息 短消息服务( s m s ,s h o r tm e s s a g es e r v i c e ) 【l 】是指通过手机发送或接收有限长 度消息的一种移动数据业务,为手机用户提供了一个便利、经济的消息交换机制。 具备存储转发,价格低廉的优点。有时也应用于银行、证券、保险业务处理中。但 安全性受到密切关注。 2 2 2g p r s g p r s 是通用分组无线业务( g e n e r a lp a c k e tr a d i os e r v i c e ) 的简称,它以全球 手机系统( g s m ) 为基础,但突破了g s m 网只能提供电路交换的思维方式,只通 过增加相应的功能实体和对现有的基站系统进行部分改造来实现分组交换,可说是 g s m 的延续,这种改造的投入相对来说并不大,但得到的用户数据速率却相当可观。 4 北京邮电大学硕士研究生学位论文数据加密在g s m 通信中的设计与应用 2 2 3 短消息与g p r s 对比 短消息和g p r s 虽然同属g s m 的数字通信,但由于原理和通道的不同,各自 都有明显的特点,详见下表: 表2 1 短消息与g p r s 通信特点的区别 短消息g p l t s 手机端向服务器端发送请求, 发送接收端手机与手机、手机与服务器之间互发 并从服务器端接收数据 p u s h 数据可以 不可以 传输速率很慢很快 传输时延较长较短 丢失情况 很小的可能,发送接收端均无法得知很小的可能,但发送端可以获知 开通情况全部开通目前大多数开通 长数据传输比较麻烦很容易 收费情况较大数据量时收费较高较大数据量时收费不高,有不限量可能 由此看出,短消息和g p r s 都有各自无法替代的优势。因此实际当中要根据情 况灵活选择。 2 - 3 手机客户端平台 目前的许多手机不再功能固定化了。借助微电子行业的快速发展,手机平台也 采用高度可编程的操作系统,用户可以自行在其平台开发和使用各类应用软件,如 电话、短消息、w a p h t t p 、s m t p p o p 3 、蓝牙、红外通信等相关的各个领域。 s y m b i a n 是一个典型的智能手机专用操作系统。由于其开放性和众多公司的支 持,目前占据智能手机平台的大部分市场份额。其开发平台借助了p c 平台的v i s u a l s t u d i o 集成开发环境,使用c + + 作为主要开发语言,并配有p c 平台上的手机模拟 器以便于开发和调试。 微软公司为高端手机设备开发的类似p c 平台w i n d o w s 系列的w i n d o w sm o b i l e 操作系统。借助其在p c 平台上的优势与p c 平台开发的相似性,该系统也迅速占据 了不小的份额。w i n d o w sm o b i l e 的前身是w i n d o w sc e ,是p c 平台系统的精简版本。 开发平台主要是p c 平台的e v c ( e m b e d d e dv i s u a lc + + ) ,开发语言既可以使用c , 也可以使用c + + ,同样配有手机模拟器。 5 北京邮电大学硕:卜研究生学位论文 数据加密在g s m 通信中的设计与应用 还有一些手机操作系统,如p a l m 、l i n u x 由于市场份额较小或平台s d k 未公开 等原因本文暂不讨论在这些平台开发或移植。j a v a 虽然是比较通用的手机平台,但 由于目前针对移动设备的j 2 m e 尚未对手机底层有很好的控制能力,且运行速度较 慢不适合作高复杂度的加解密运算,因此也暂不讨论在此平台开发。 手机端平台的开发与p c 端和服务器端的区别主要有如下几点:一是严格的资 源管理,手机平台的内存空间并不高,而且还要考虑一些实时性的任务,因此要尽 量减少内存的分配和资源的泄露;二是重视国际化,提倡甚至严格要求使用u n i c o d e 字符集;三是对系统本身对应用程序的安全要求逐渐提升,s y m b i a n 和w i n d o w s m o b i l e 的新版本都开始对含有潜在危险操作的程序做数字签名判断,未含有签名的 程序无法调用特殊的a p i 。 2 4 小结 本章简单地描述了g s m 通信概况,并介绍了它的两种数字通信业务短消 息和g p r s ,以及二者直接的特点与区别,得出二者都各自具有不可替代的功能。 最后分析目前手机客户端的操作系统平台和开发平台,并简明地说明开发的注意事 项。 6 北京邮电大学硕士研究生学位论文数据加密在g s m 通信中的设计与应用 第三章数据加密算法选用分析及实现 通信领域中的安全保障离不开数据加密理论的支持。从应用角度上看,信息的 安全需要保密、防篡改、防伪造和不可否认等保障目标【2 】。对应到数据加密的理论, 这些目标可由对称加密、非对称加密、散列、数字签名等四类算法的结合应用来实 现。这几类算法目前早已有众多实现,其中许多算法都经过理论上和长时间的分析 考验,并在许多安全需求比较高的场合都有成功的实践。在此,要结合g s m 数字 通信的特点,来分析和选择合适的算法。 3 1 散列算法 散列算法是加密算法中比较基本的算法。对称密钥的生成和数字签名都离不开 散列算法。它是将任意长度的数据输出成固定长度的数据摘要的过程,并要求达到 两个目标:没有确定的算法使任意的摘要数据反推成对应的某个源数据;无法在低 于指数级复杂度的计算上找到两组不同的源数据使其摘要数据相同。这就要求散列 算法必须是单向函数,即不可逆的函数;而且摘要数据必须足够长,以避免出现较 高概率的冲突。 目前常用的散列算法的摘要数据长度一般在3 2 到5 1 2 比特之间,其中小于1 2 8 比特的散列算法通常不是安全的,同时算法一般也不复杂,但在非故意行为和对摘 要数据长度及运算速度有要求的情况下,仍有广泛的应用。其中比较典型的算法有 c r c 3 2 和c r c 6 4 ,它们经常用于数据传输、压缩、备份时的校验。 当对数据的安全有需求时,散列摘要的长度至少要选择1 2 8 比特。例如目前最 常用的安全散列算法m d 5 的摘要数据就是1 2 8 比特。但在2 0 0 4 年,这个散列算法 被山东大学的王小云教授分析出低复杂度的散列碰撞算法【3 】,同时被破译的几个散 列算法还有m d 4 、h a v a l - 1 2 8 、r i p e m d 1 2 8 。这几个被破译的算法摘要均是1 2 8 比特,可见1 2 8 比特摘要目前已经不适合安全的要求。同时表明,1 6 0 比特的一些 算法也难保证近几年内的需求。因此,安全的散列算法将逐步向更长的摘要数据和 更复杂的算法演进。 除了应用广泛的m d 系列散列算法之外,另外一类常用的散列算法是s h a 7 北京邮电大学硕十研究生学位论文数据加密在g s m 通信中的设计与应用 ( s e c u r eh a s ha l g o r i t h m ) 。它是美国国家安全局( n s a ) 设计,并由美国国家标准 与技术研究院( n i s t ) 发布的一系列散列函数,并得到了仅次于m d 系列算法的广 泛应用,例如在数字签名领域常用的d s a 算法中的标准散列算法就是s h a 1 【4 】,其 摘要数据是1 6 0 比特。在2 0 0 1 年之后发布的一些高于1 6 0 比特的摘要有s h a 2 2 4 、 s h a - 2 5 6 、s h a 3 8 4 和s h a 5 1 2 ,这些算法摘要的长度是m d 系列标准算法不具备 的。考虑到后面即将描述的对称加密算法密钥长度和g s m 通信对信息长度敏感的 条件,这里选择了s h a 2 5 6 。 与其它许多散列算法一样,s h a 2 5 6 也有一个固定的初始散列值。散列运算中 每次都以6 4 字节为分组单位累加散列值。信息结尾如果不足6 4 个字节,要先以4 字节对齐填充,再做最后的散列累加运算。因此为了支持不连续输入数据的情况, 需要保留一个6 4 字节的缓冲区( b u f f e r ) ,每当输入数据能够填满缓冲区时才做一次 散列累加运算,并在最后获取散列值时做最后的散列累加运算,得到最终的摘要数 据。在最后一步获得摘要数据的时候,即使没有不足6 4 字节分组的情况,也需要做 一次最后的散列运算,以得到真正的摘要数据。 标准的s h a 2 5 6 算法在运算时充分使用3 2 比特整数运算,输入时以字节为单 位读取,而输出时以大端( b i ge n d i a n ) 的形式保存8 个4 字节整数值的摘要。由于 在大部分p c 机、服务器、移动平台上整数都是以小端( 1 i t t l ee n d i a n ) 排列,所以在 最后输出摘要时,要注意字节顺序是否需要转换。虽然这一点并不对散列算法的安 全度有影响,但为了保证摘要数据的标准与统一,需要在使用小端c p u 的平台上对 最后运算得到的摘要做大端到小端转换。 s h a 2 5 6 的接口设计如下( 其中省略了散列运算的常数和算法细节) : c l a s sc s h a 2 5 6 s t a t i cc o n s tu n s i g n e di n tt a b l e 【6 4 】;散列运算所需的常量表 s t a t i cc o n s tu n s i g n e di n ti n i t 【8 】;初始散列值 u n s i g n e di n t mh a s h 【8 】; 运算中的临时散列值 u n s i g n e dc h a rmb u f 【6 4 】; 输入源数据的缓冲区 u n s i g n e di n t mb u f l e n ;输入源数据缓冲区的当前长度 计算并累加m b u f 指定的6 4 字节分组的散列值 v o i du p d a t e b l o c k ( ) 芦 计算并累加mb u f 指定的最后一块s r c l e n 字节分组的散列值 v o i du p d a t e l e f t ( u n s i g n e di n ts r c l e n ) ; p u b l i c : 定义摘要双字、字节、比特的长度 e n u m h a s h d w o r d s = 8 ,h a s h b y t e s = 3 2 ,h a s h b i t s = 256 ; c s h a 2 5 6 ( ) r e s e t ( ) ; 重置散列值 v o i dr e s e t ( ) t m e m c p y ( r e h a s h ,i n i t ,h a s h b y t e s ) ; m _ b u f l e n = 0 ; 输入一段源数据,长度是s r c l e n 字节 v o i du p d a t e ( c o n s tv o i d s r c ,u n s i g n e di n ts r c l e n ) c o n s tu n s i g n e dc h a r p s r c = ( c o n s tu n s i g n e dc h a r ) s r c ; i n tl e f t l e n = 6 4 - mb u f l e n ; w h i l e ( s r c l e n = l e f t l e n ) m e m c p y ( m _ b u f + m _ b u f l e n rp s r cll e f t l e n ) ; u p d a t e b l o c k ( ) ; p s r c + = l e f t l e n ; s r c l e n 一= l e f t l e n ; m b u f l e n = 0 ; l e f t l e n = 6 4 ; m e m c p y ( m - b u f + m b u f l e n ,p s r c ,s r c l e n ) ; m b u f l e n = s r c l e n ; 获取最终的摘要值,并重置散列状态 v o i dd i g e s t ( u n s i g n e dc h a rh a s h 【3 2 】) ; d i g e s t l e f t ( m _ b u f ,m _ b u f l e n ) ; f o r ( i n ti = 0 ;i 2 4 ) ; h a s h + + 2 ( u n s i g n e dc h a r ) ( m _ h a s h 【i 】 1 6 ) ; h a s h + + = ( u n s i g n e dc h a r ) ( r n j a s h 【i 】 8 ) ; h a s h + + = ( u n s i g n e dc h a r ) ( m _ h a s h 【i 】) ; 9 北京邮电大学硕士研究生学位论文 数据加密在g s m 通信中的设计与应用 r e s e t ( ) , 可以简单地立即获取摘要值的函数 s t a t i cv o i dh a s h ( c o n s tv o i d * s r c , 输入数据 u n s i g n e di n ts r c l e n ,输入数据长度( 字节单位) u n s i g n e dc h a rh a s h 【3 2 】) 输出摘要数据 c s h a 2 5 6s h a 2 5 6 ; s h a 2 5 6 u p d a t e ( s r c ,s r c l e n ) 7 s h a 2 5 6 d i g e s t ( h a s h ; 3 2 对称加密算法 在数据加密理论中,对称的加密算法是最重要而且应用最广泛的一类。它可以 解决信息安全中最基本的加密需求,即把某段明文信息通过秘密的数字密钥转换成 一般人无法解读的密文信息。转换的途径需要两个要素:加密算法和加密密钥。同 样,与之可对称转换的解密算法和解密密钥可以将密文转换回对应的明文。在对称 加密算法中,加密密钥和解密密钥是相同的或很容易相互转换的,也可以说二者是 等价的,因此在对称加密算法中,可只使用“密钥”来表示加密和解密密钥。算法 和密钥只需保密其一即可使密文无法解读。但由于算法需要精心设计并经过大量分 析验证,因此实际应用中优秀的算法并不多,而且越是大量应用且公开的加密算法, 越能表明更高的安全性。所以只要妥善保密好有限长度的密钥,就能使无限长度的 通信数据得到保密。 对称加密算法思想早在几百年前就有研究和应用,目前的字符替换和简单的异 或运算也可属于对称加密范畴。但这些算法在理论上不是安全的。只在一些无关紧 要或只为迷惑表面现象的情况下使用。安全加密算法要求能抵抗各种分析方法,如 差分分析。目前大量应用的对称算法是经典的d e s 和8 年前推出的a e s 。由于d e s 实际只使用5 6 比特密钥,因此在计算机运算速度和并行能力不断提高的情况下,其 安全性逐渐受到质疑。虽然利用改进的3 d e s 算法能够极大地提高抗分析能力和穷 举尝试的攻击,但加解密速度却不令人满意。 2 0 0 0 年美国国家标准与技术研究院( n i s t ) 从世界范围提供的众多加密算法中 1 0 北京邮电大学硕士研究生学位论文数据加密在g s m 通信中的设计与应用 甄选出r i j n d a e l 算法,作为标准a e s 算法( 下文中的“a e s ”均指“砌i n d 砌 ) , 目标是用来代替3 d e s ,因此a e s 的加密强度在不弱于3 d e s 的情况下,具有更快 的加解密速度。它不但支持1 2 8 到2 5 6 比特的密钥,甚至可以使用更长的自定义扩 展密钥,还支持可变的加密轮数,算法也比较容易优化,以适应各种特殊环境如单 片机、智能卡。目前在队3 2 指令集的x 8 6 平台上使用专门的汇编优化,可使a e s 1 2 8 加解密速度达到2c y c l e s b i t ( e c b 模式) i s 6 】。由于考虑到移动平台之间的可移植 性,只能选择通用性强而且易于描述底层算法的c 语言。实际上使用优化的c 语言 速度也可达到汇编优化的三分之二以上。由于1 2 8 比特的密钥已经足够当前的民用 需求,而且标准的2 5 6 比特密钥的a e s 算法会使用更多的加密轮数,降低了加解密 速度。因此本文选择1 2 8 比特密钥的a e s 作为g s m 通信对称加密的算法,并使用 优化的c c + + 语言来实现,以满足各种移动设备平台和服务器的需求。 对称加密算法一般的设计都是以一个分组为单位加密,因此为了加密任意长度 数据,已经有标准提出了e c b 、c b c 、c f b 、o f b 等模式。其中e c b 模式最简单, 但容易受到重放攻击,也容易被分析,虽然加解密速度比其它模式快,但并不很明 显。o f b 模式可以使分组加密算法来实现基于流的加密,明文密文出现小幅度差错 并不对加解密造成很大影响,但这也给篡改提供了方便。g s m 通信在容量和传输速 度上都不高,底层通信层已经保证了很好的差错控制,因此o f b 模式也不合适。另 外两种模式- - - c b c 和c f b 的安全性都很高,但c b c 需要对未对分组对齐的明文 数据做填充( p a d d i n g ) ,而c f b 模式的明文和密文的长度相等省去了填充数据的判 断和明密文长度的计算,因此本文选择c f b 作为g s m 通信对称加密的模式。 由于选用的a e s 密钥是固定1 2 8 比特的,但在实际应用中不易直接使用。因此 一般可将任意长度的密钥相关信息用散列算法生成固定长度的摘要并调整到所需长 度作为密钥。由于s h a 2 5 6 算法生成的摘要数据是2 5 6 比特,因此可用前1 2 8 比特 和后1 2 8 比特的异或值作为a e s 的密钥。如果使用c f b 模式加密且不需要固定的 ,则可以利用2 5 6 比特摘要的一半作为密钥,另一半作为。 根据上述选择,对称加密接口的设计如下( 其中省略了a e s 的核心算法细节) : c l a s sc a e s l 2 8 u n s i g n e di n tme x t k e y 4 ( i 0 + i ) 】,扩展密钥( a e s 一1 2 8 的加密轮数是i 0 ) p u b l i c : 定义密钥双字、字节、比特的长度 e n u m k e y d w o r d s = 4 ,k e y b y t e s = i6 ,k e y b i t s = 1 2 8 ; c a e s l 2 8 ( ) 北京邮电大学硕士研究生学位论文数据加密在g s m 通信中的设计与应用 t m e m s e t ( m _ e x t k e y ,0 ,s i z e o f ( m _ e x t k e y ) ) ; 载入1 2 8 比特的密钥,并生成扩展密钥( m _ e x t k e y ) 待加解密时使用 v o i dl o a d k e y ( c o n s tu n s i g n e dc h a rk e y 【1 6 】) ; 直接导入扩展密钥 v o i dl o a d e x t k e y ( c o n s tu n s i g n e dc h a re x t k e y 4 ( 1 0 + i ) 】) m e m c p y ( m _ e x t k e y ,e x t k e y ,s i z e o f ( m _ e x t k e y ) ) ; ) 导出扩展密钥,以备下次导入相同的密钥时节省生成扩展密钥的运算开销 v o i ds a v e e x t k e y ( u n s i g n e dc h a re x t k e y 【4 ( i 0 + i ) 】) c o n s t i m e m c p y ( e x t k e y ,m _ e x t k e y ,s i z e o f ( m _ e x t k e y ) ) ; l 用当前的扩展密钥加密一个分组 v o i de n c r y p t b l o c k ( c o n s tu n s i g n e dc h a rs r c 【1 6 】, u n s i g n e dc h a rd s t 【1 6 】) c o n s t ; 用当前的扩展密钥解密一个分组 v o i dd e c r y p t b l o c k ( c o n s tu n s i g n e dc h a rs r c 【16 , u n s i g n e dc h a rd s t 【1 6 】) c o n s t ; 使用任意长度信息作为密钥,以c f b 模式加密任意长度的数据 s t a t i cv o i de n c r y p t d a t a ( c o n s tv o i d * s r c ,输入数据( 明文) i n ts r c l e n , 输入数据长度( 字节单位) v o i d * d s t , 输出数据( 密文) ,长度与s r c l e n 相同 c o n s tv o i d * p w ,输入密钥相关数据( 例如密码字符串) i n tp w l e n ,输入密钥相关数据长度( 字节单位) c o n s tv o i d i v ) 输入加密的i v ( 如果不需要固定工v 则置0 ) i u 8h a s h 【3 2 】; c s h a 2 5 6 :h a s h ( p w ,p w l e n ,h a s h ) , i f ( i v ) f f o r ( i n ti = 0 ;i 1 6 ;+ + i ) h a s h 【i + 1 6 】“= h a s h 【i 】; m e m c p y ( h a s h ii v f1 6 ) ; 1 2 北京邮电大学硕士研究生学位论文数据加密在g s m 通信中的设计与应用 a e sa e s ; a e s l o a d k e y ( h a s h + 1 6 ) ; f o r ( i n ti = 0 ;i s r c l e n ;+ + i ) i f ( i 1 6 ( ( u n s i g n e d 0 ) e n c r y p t b l o c k ( h a s h ,h a s h ) ; c h a r ) d s t ) 【i 】zh a s h 【i 1 6 】 = ( ( u n s i g n e dc h a r ) s r c ) 【i 】“h a s h 【i 1 6 】; 使用任意长度信息作为密钥,以c f b 模式解密任意长度的数据 s t a t i cv o i dd e c r y p t d a t a ( c o n s tv o i d * s r c ,输入数据( 密文) i n ts r c l e n , 输入数据长度( 字节单位) v o i d * d s t ,输出数据( 明文) ,长度与s r c l e n 相同 c o n s tv o i d * p w ,输入密钥相关数据( 例如密码字符串) i n tp w l e n , 输入密钥相关数据长度( 字节单位) c o n s tv o i d i v )输入加密的i v ( 如果不需要同定i v 则置0 ) u 8h a s h 【3 2 】; c s h a 2 5 6 :h a s h ( p w ,p w l e n ,h a s h ) , i f ( i v ) f o r ( i n ti - - 0 ;i 1 6 ;+ + i ) h a s h 【i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论