第17卷.第10期 计算机技术与发展 vol。17No.10
2007年10月 COMPUTERTECHNOLOGYANDDEVELOPMENT Oct.2007
Linux随机数生成器的原理及缺陷
曹润聪,曹立明
(同济大学电信学院,上海200092)
摘要:LilluX操作系统是目前最流行的开源项目之一。L.mux的随机数生成器是所有类Linux操作系统内核的重要组成
部分,生成器的输入来自于操作系统中随机事件的熵值,输出几乎涵盖系统中的每一个安全协议,例如生成TLS/SSL的密
钥、TCP的序列号,以及用于对文件系统和电子邮件进行加密。尽管随机数生成器是开源项目的一部分,它的源代码(大
约2500行)却没有很好的文档支持,并且分散于多个代码片段当中。文中将学习随机数生成器原理与应用。详细阐述了
随机数生成器的算法,并指出了算法中所隐藏的安全漏洞。还展示了如何对生成器进行攻击从而让其计算出系统先前的
状态与输出。最后指出了生成器在设计上的一些缺陷,并提出了在此缺陷上如何进行攻击以及如何防御攻击的方法。
关键词:Linux操作系统;Linux随机数生成器(LRNG);熵;安全漏洞
中图分类号:TP3ii 文献标识码:A 文章编号:1673—629X(2007)10—0109—04
andFlawofLinuxRandomNumberGenerator
Theory
CAO
Run-eong,CAOLi-ming
ofElectronic
(School Information,TongiiUniv.,Shanghai200092,China)
isthemost Source Linuxrandomnumber is ofthekernelofallLinuxdistribu—
Abstract:Linuxpopularopen project.The generatorpart
tionsandisbasedon randomnessfrom events.Theofthis isusedforalmost
of systet2q every
generating entropyoperating output generator
securityprotocol,includingTLS/SSLkeygeneration,choosingKPsequencenumbers,andfilesystemand
is ofan source soHi%'e 2500linesof withhundredsof
generatorpart op@J1 project,itscode(about coae)ispoorlydocumented,andpatched
code andstaticl'目Pelse tolearnthe ofthis a ofthe
patehes.Useddynamic engineering operationgenerator.Presentsdescriptionunderlying
and several vulnerabilities.In anattackontheforward ofthe whichenables
algorithmsexposes security par