收藏 分享(赏)

基于pda的高效真随机密钥生成系统.doc

上传人:cjc2202537 文档编号:198160 上传时间:2018-03-23 格式:DOC 页数:14 大小:51KB
下载 相关 举报
基于pda的高效真随机密钥生成系统.doc_第1页
第1页 / 共14页
基于pda的高效真随机密钥生成系统.doc_第2页
第2页 / 共14页
基于pda的高效真随机密钥生成系统.doc_第3页
第3页 / 共14页
基于pda的高效真随机密钥生成系统.doc_第4页
第4页 / 共14页
基于pda的高效真随机密钥生成系统.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、基于 PDA 的高效真随机密钥生成系统第 33 卷33第 12 期No.12计算机工程ComputerEngineering2007 年 6 月June20o7?安全技术?文章编号 :1ooo_3428(2o07)12-o134o3 文献标识码 tA 中圈分类号tTP393.08基于 PDA 的高效真随机密钥生成系统肖攸安,周祖德(武汉理工大学信息工程学院,武汉 430070)要:为满足基于 PDA 的移动电子商务等应用的需求,针对现有高质量密钥生成方法的速度慢,效率低的问题,提出了一种高效随机密钥生成方法,设计了一个基于 PDA 的高效密钥生成系统 .按照 FIPS1402 标准中的规定对由

2、该系统产生的随机密钥的质量进行了测试和分析.说明该系统能快速产生具有高质量的,满足信息安全系统标准的高强度安全密钥,特别适用于基于 PDA 的移动电子商务,电子政务等环境,具有很好的实用价值.关悯:定点设备;密钥;信号源;真随机密钥EfficientTrulyRandomKeyGeneratingSystemBased0nPDAXIAOYouan,ZHOUZude(SchoolofInformationEngineering,WuhanUniversityofTechnology,Wuhan430070)AbstractlTosolvetheproblemtheknownhighquality

3、keygenerateschemeisslowandinefficient,thispaperbuildsanembeddedtrulyrandomkeygeneratingsystemonthePDAdevicesbasedonanewmethodwhichiscalledasXiaoSrandomkeygeneratingscheme.Itanalyzestheperformance,efficiency,securityabouttheproposedschemesandteststhegeneratedsequenceaccordingtOthestandardofF1PS1402.T

4、henewsystemCangetabatchofhighqualitykeymeetingtherequirementsforinformationsecuritysystem.Itisquick,secureandefficient.KeywordsPointdevices;Key;Signalsource;Trulyrandomkey随着嵌入式技术的高速发展,作为嵌入式系统的典型应用之一的 PDA(personaldigitalassistant)得到了迅速的普及,已经成为实现移动计算,移动电子商务,无线电子政务等的重要组成部分.由于无线网络的开放性,在使用 PDA 进行移动电子商务等活

5、动中,信息安全问题将成为关键要素.由于密钥是访问信息系统的唯一合法凭证,因此安全的密钥对于信息安全系统,特别是基于 PDA 的移动电子商务系统等应用系统而言是十分关键的.它不仅影响系统的安全性,而且还将涉及系统的可靠性,有效性和经济性等内容.本文分析了 PDA 环境下对密钥生成系统的需求和现有的各种密钥生成系统及其所使用的方法,在此基础上提出并设计了一种基于 PDA 的高效真随机密钥生成系统 ,并进行了分析.1 基于 PDA 移动应用环境的密钥生成由 Shannon 定理可知,安全的密钥要求具有足够的大小和尽可能高的熵值 J.在 PDA 移动应用环境中,为了保证系统的安全,要求所选择的密钥具有

6、足够的长度,高度的随机性,独立性和不可预测性.随着现代通信网络和嵌入式移动计算技术的高速发展,人们对大批量的安全密钥的需求量越来越大.为了满足这一需求,目前出现了多种密钥生成器.按其产生密钥的工作原理,可分成以下 3 类:(1)基于纯计算机算法的密钥生成器这类密钥生成器基于某一事先确定的伪随机数生成算法或随机数表,依赖某一随机数种子来产生密钥,是最常用的密钥产生方法.由于计算机算法的固有特征(即对于给定的输入,有确定的输出),任何企图通过纯算法来获得真正的随机数是不可能的,所生成的密钥难逃被预测的危险,因此这类一l34-一密钥产生器被称为“伪随机密钥产生器 “,它只能用在对安全性要求不高的场合

7、,不能完全满足移动电子商务环境中的安全需求.如 1999 年发现的针对电子支付协议 SSL 的攻击 rjJ就是从 SSL 临时会话密钥的产生算法中 ,确定所有可能的种子集合,分析出由其产生的所有可能密钥的组合,进而从中找出真正的密钥,达到突破电子商务支付协议的目的.(2)基于人工方法的密钥生成这类密钥生成器通过掷硬币,扔骰子等随机方式获得密钥,是目前被公认的最安全的密钥产生方法之一.由这类方法产生的密钥具有较高的熵值和高度的随机性,但这类生成器的使用非常繁琐,不能适应现代社会对密钥产生量的需求,除了极少数非常重要的场合,一般不用这种方法.(3)基于随机噪声发生检测方法的密钥生成器这类密钥生成器

8、通过产生和测量自然界中具有高度随机性的噪声信号,以获得具有较高熵值和均匀外部特征的高质量真随机密钥.目前这类装置大多通过产生和检测放射性衰变,微弱放射线,粒子轨迹,半导体热噪声,石英振荡器等真随机噪声信号源来获得较为理想的真随机密钥,需要极其昂贵的随机噪声振荡器,随机信号发生器等硬件设备.由于这些装置结构复杂,操作繁琐,价格昂贵,携带不便,产生密钥的速度较慢,而且装置本身有一定的危险性,因此这类密钥生成装置无法使用于移动电子商务环境.综上所述,现有的 3 类密钥生成器存在着安全性不够,基金项目:国家自然科学基金资助重大项 I1(50335020);武汉市青年科技晨光计划基金资助项 I1(200

9、550030595)作者筒介:肖攸安(1973-),男,博士后,副教授,主研方向:网络信息安全;周祖德,教授,博导收稿日期:20060717E?mail:youanmail.whut.edu.ca不方便,实用性不高等问题.所有这些问题导致高随机性的安全密钥的产生效率极低,密钥的管理难度加大,密钥的更换频率降低,为基于 PDA 的移动电子信息系统的安全带来了巨大的隐患.本文针对这一问题,在分析现有的各种密钥产生方法的基础上,设计并实现了一个基于 PDA 的高效真随机密钥生成系统 EXRKGS(embeddedXiaoSrandomkeygeneratesystem)“,并已获得计算机软件着作权登

10、记(登记号:2006SR01852).2 基于 PDA 环境的 I 瞳机密钥的产生方法生成高质量随机密钥生成的关键在于高速随机信号源的获取.在计算机中可以利用的真随机信号源有:半导体二极管和电阻器的热噪声,CPU 和风扇电压,麦克风噪声,键盘击键次数,I/O 缓冲区内容的变化,网络数据包和事件的发生情况,多任务操作系统环境中进程和线程调度时刻的不确定性等.在上述各种信号源中,热噪声和电压等信号的获取需要专门的硬件芯片支持,麦克风噪声,网络数据包,键盘击键,进程调度等信号源的产生速度较慢,不具备普遍性,均不适合 PDA 环境下的快速高质量随机密钥生成,而屏幕和触笔不仅是每台 PDA 的标准设备,

11、且是使用频率最高的设备 .故基于 PDA 触笔随机指点情况的信号源具有较好的通用性,能够较快地获取大量的随机信号源数据.本文提出以 PDA 触笔随机指点情况作为真随机信号源 ,通过实时跟踪测量 PDA 触笔随机在 PDA 屏幕上的随机指点时所产生的方位,速度等各种随机参量,获得安全可靠的真随机密钥.2.1 随机信号暮的收集在 PDA 的使用过程中,因为任何人在不同的时刻,都不能以同样的方位和速度来操作 PDA 触笔,所以操作 PDA 触笔指点屏幕时所产生的方位,速度等各种参量具有不确定性,是不可重复的随机信号.转币模型指出,用一个低频信号去采样一个高频信号,2(其中,2),由于两次采样之间经历

12、了很多高频信号周期,在这段时间内,系统的微小变动会导致输出有很大的离散性,因此在统计上符合随机的概念.依据这一思想,本文提出跟踪 PDA 触笔在用户高速随机指点PDA 屏幕时的指点情况,用低频的计算机系统时钟对其进行离散采样,获取方位,速度参量的离散变化情况,作为随机信号源.将其加入“源数据池 “(datapoo1)中,以备后继处理.具体方法如下:(1)方位参量的获取设上一次采样时,PDA 触笔的触点坐标为 l,Y1);而本次采样时刻,PDA 触笔的触点坐标为(2,y2).则依据两次采样所得到的触点坐标之间的关系及式(】)确定 PDA 触笔当前的移动方位.Direction=盐(1)x,一工由

13、此,得到如算法 1 所示的方位参量获取算法.算法 1 方位参量的获取算法VAROldPoint,APoint:lpPoint;XX,YY:Integer;BEGINGetCursorPos(APoint);XX:=APoint.XOldPoint.X:YY:=APoint.YOldPoint.Y:if(xx=O)or(YY=O)thenExit;Direction:=YY/XX:GetCursorPos(OldPoint);END:(2)速度参量的获取同样,设上一次采样时刻为 tl,PDA 触笔的触点坐标为l,Y1);而本次采样为 t2,PDA 触笔的触点坐标为 2,2).则可依据两次采样所得

14、到的触点坐标和两次采样的时间间隔之间的关系,依据式(2), 确定 PDA 触笔当前的移动速度.Velocity(嚣 H2(2)由此,可得到如算法 2 所示的速度参量获取算法.算法 2 速度参量的获取算法VAROldPoint,APoint:lpPoint;LastTime,XX,YYTT:Integer;BEGINGetCursorPos(APoint);XX:=APoint.XOldPoint.X:YY:=APoint.YOldPoint.Y:TT:=GetTickCountLastTime;if(xx=0)or(YY=0)or(TT=0)thenExit;Velocity:-(xxXX+Y

15、YYY)/(TTTT):GetCursorPos(OldPoint):LastTime:=GetTickCOunt:END;2.2 随机密钥的生成为了进一步加快随机密钥的输出速度,提高随机密钥的质量,当“源数据池 “中的随机源数据达到一定数量时,可选用合适的编码算法对池中的随机信号数据进行组合编码.为了获得具有较高熵值和高度随机性,能满足信息系统安全需求的高强度安全密钥,组合编码函数应该能够输出足够长度的满足安全系统需求的编码结果,可供选择的组合编码算法有 CRC 算法,Hash 函数等 .为了满足输出密钥长度的要求,需要多次重复上述的随机信号源的收集和随机密钥的生成过程,直到所获得的密钥总长

16、度满足系统的需求为止.3 系统的设计与实现圈 1EXRKGS 奠机密惯生成熏统漉程一135基于上述方法,开发了一个基于 PDA 的高效真随机密钥生成系统 EXRKGS,其系统流程如图 1 所示.其中选用美国国家技术标准局 NIST 公布的强碰撞自由的安全散列标准算法 SHA.2560o1 作为组合编码算法 .依据苏桂平等人的研究成果【l“,系统设定“ 源数据池“中所收集到的随机信号源数据长度超过 64bits 时,就使用 SHA 一 256 算法进行组合编码,获得 256bits 长度的随机密钥.EXRKGS 系统使用 MicrosoftVisualStudio.Net2003 进行开发,系统

17、的运行界面如图 2 所示.通过在 PDA 与 PC 机之问建立永久连接,保持其数据同步,利用 VisualStudio.Net中的远程调试工具,通过设定默认移动设备,实现跟踪查看程序运行情况,实时进行程序内部的在线调试,代码优化等工作.强翻啊瑚铺短日瞄皤强弱【目圈阻 l 呱 X锎长度(位) 匝采样问 I 鬲( 毫秒 )巨卫9083B7011137F4732F904006736862D714D8F570AEA10678D6AA8F0E_68C7B621C0DFDA7D9 亡 I69CC735FF3A14AD26A7AF5B07648ED26777988634F927E6Cg4F7ADE10814

18、0D7404 毫暑 ASB7D1301EADDIEIE941A35B933|AE8042E 瞬 4gAD039 印 AD70A8301894540EAD00C5636 螂 DB03S23492051 嘲 22AA8 盱 2806 姗 41FIi.圈圈黼翩嘲瓣糊圈 2EXRKGSit 机謇啊生成系统运行界面在 HP 公司生产的内置 MicrosoftPocketPC2002 操作系统的 CompaqiPAQ3970PDA 上,当设定采样间隔为 32ms 时,密钥输出速率可达 20Kb/s,并能对所产生的密钥质量进行检验.4 奠机密钥的测试密码学意义上的随机密钥的质量检测指标包括频数检测,跟随特性

19、检测,随机性检测,分布均匀性检测5000 组中每组可能的取值数字.设 f)为取值为的组数字,i【0,15,则按下列公式计算 x,若 2.16X46.17,则通过该项测试.=(洲)-l5(3)游程测试(therunstest).一个游程定义为连续为“0“或“1“的最大位序列,其中“0“或“1“ 的个数称为游程的长度.统计 2O000 位的随机位序列中各种不同长度游程的数量,显然每种长度的游程有两种情况,若所有游程长度均满足表 1,则通过该项测试.表 1*程测试合格标准f 游程 J23456+长度区间 234326571l35l36554270825l373lll201I1j 201(4)长游程测

20、试(1ongrunstest).游程长度大子等于 26 的游程为长游程.若没有长游程,则测试通过.该项测试等价子分别计算“0“或“1“ 的所有游程长度的最大值,若该值均小于 26,则通过测试.本文采用上述的 FIPS1402 标准对由 EXRKGS 系统连续生成的 500 组真随机密钥进行了测试,所有测试结果全部合格,密钥输出速率为 20Kbps.部分实验数据如表 2 所示.表 2FIPS140-2 测试数据测试游程合法测试测试测试测试测试类型长度范围结果 1 结果 2 结果 3 结果 4 结果 5单比特 9725l027599429976l004999O510073 测试扑克 2.1646.

21、1711.8598.77430.72914.90620.883测试O12343265725152454249425342414112343265725502446243625232552O2113513651252124612501225l257121135136512461224129413121223O3542708634591647644615游程 13542708613654659627591测试 O425137331O32830932835314251373325327286290317O51112O1158172135147169151112O114214115615O155O-6

22、1112011561591591591691-6111201148158163136139最大游 O261251214161213程长度 1261251816131314和独立性检测等多种指标.其中频数指标和跟随特性指标一般采用计数统计方法进行测试,随机性指标一般使用方法进行测试,分布均匀性指标一般使用拟合优度法进行测试,而独立性指标常用游程检验法进行测试.在所有随机密钥质量检测方法中,以美国国家技术标准局 NIST 子 2001 年 5 月发布的关于密码系统的信息安全标准FIPS1402t21 最为着名 .在 FIPS1402 中指定了 4 种测试方式对随机密钥的质量指标进行测试,以取代常规的随机性统计检验,以合格区间的形式简化了随机密钥质量的检验过程.与同类标准相比,FIPS1402 的合格标准更加严格.FIPS1402 标准中规定从随机序列中随机选取 20000 位连续的位序列,进行下列 4 种测试:(1)单比特测试(themonobittest).通过计算连续 20000位随机序列中“1“的个数(,当 9725X10275 时 ,则测

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报