读书频道 > 网站 > 网页设计 > Web商务安全设计与开发宝典——涵盖电子商务与移动商务
5.1.5 随机数生成
12-09-14    奋斗的小年轻
收藏    我要投稿   
本书共有9章内容和4个附录,各章依次讲述了重要的背景信息和关于移动商务和移动商务安全问题的详细知识。附录提供了支撑各章节内容的重要的技术和合规主题。本书一开始介绍了电子商务时代及它对消费者购买习惯所...立即去当当网订购

密码学中需要的最基本的构件之一是随机数发生器。要求随机数序列生成强大的加密密钥。理想情况下,一个真正的随机数,其序列不可预测也不可重复。然而,诸如计算机这样的确定性机器无法产生真正的随机数。在某种情况下,这个序列中的数将以一个可预测的周期开始重复。因此,这种序列叫做伪随机(pseudorandom)。如果重复周期间隔非常大的话,伪随机数(PRN)对于许多加密应用来讲仍是很有用处的。

1. NIST SP 800-90

NIST Special Publication 800-9013中讨论了用确定性方式生成伪随机数的三种方法。NIST文档定义的生成随机比特序列的策略类型如下:

① 使用不可预测的物理过程不确定地创建比特,如利用海滩上的海浪的涌动、计算机鼠标的移动、放射性衰变、无线电频率的噪音和磁盘驱动器上磁头的移动等。这种类型的随机数发生器叫做不确定性随机位发生器(non-deterministic random bit generator,NRBG)。

② 通过一个算法来确定地产生一个比特序列。这种方法叫做确定性随机位发生器(deterministic random bit generator,DRBG),也叫伪随机数发生器(pseudorandom number generator,PRNG)。

NIST SP 800-90解决DRBG机制的问题。DRBG算法要求有一个随机的输入种子,从这个种子开始计算伪随机比特序列。在NIST文档中,种子被定义为“用来作为DRBG机制输入的一串比特,这个种子将确定DRBG的部分内部状态,它的熵必须足够支持DRBG的安全强度。”然后,这个种子本身必须是伪随机的,且必须秘密保存。NIST SP 800-90规定了下列3类DRBG机制:

● 散列函数
● 块密码
● 数论问题(如离散对数)

2. 其他PRN发生器

一种广泛使用的伪随机数生成算法是线性同余伪随机数发生器(linear congruential generator,LCG)。这种算法是基于下面这个递归函数

Xn+1=aXn+b (mod m)

其中X0用作种子,参数a、b和n都应该秘密保存。这种发生器可保证完整性,但不推荐加密使用。

另外一个PRNG是逆同余发生器(inversive congruential generator,ICG),它使用模数p,乘数a,一个附件项b和一个初始种子值X0,见下面等式:

Xn+1≡axn+b(mod p), n>=0

一个安全加密的PRNG是Blum Blum Shub,它采用的形式如下:

Xn+1=X2n mod M

其中M=pq,是两个大质数p和q的乘积,p和q都应该和3 (mod 4)同余,以确保大周期长度。

3. FIPS 140-2

FIPS 140-214定义了密码模块必须满足的安全要求,并规定需要符合统计随机数发生器测试要求,从而可以提供对敏感数据的保护。FIPS 140-1和140-2确定了密码模块验证程序(Cryptographic Module Validation Program,CMVP)来验证密码模块(包括软件)。目前是草稿形式的FIPS 140-3将代替FIPS 140-2。CMVP是NIST和加拿大通信安全组织(Communications Security Establishment Canada,CSEC)共同努力的结晶。

密码模块的供应商使用独立的、经过认证的加密模块测试(cryptographic module testing,CMT)实验室来测试他们的模块。CMT实验室根据Derived Test Requirements(DTR)、Implementation Guidance(IG)和应用CMVP程序指南来测试加密模块是否符合应用标准。NIST的计算机安全部门(Computer Security Division,CSD)和CSEC共同作为该程序的验证机构,验证测试结果并颁发证书。

FIPS 140-2定义了从1级(最低级)到4级(最高级)4种安全级别,包括诸如物理安全、密钥管理、自我测试、角色和服务等领域。FIPS 140-1过去要求被评估的操作系统参考可信计算机系统评估标准(Trusted Computer System Evaluation Criteria,TCSEC)的C2、B1和B2等级。然而,TCSEC不再使用了,已被通用标准(Common Criteria,CC)所替代。因此,FIPS 140-2现在参考信息技术安全评估的通用标准,ISO/IEC 15408:1999。
 
______________________________________________________
13 NIST Special Publication 800-90, “Recommendation for Random Number Generation Using Deterministic Random Bit Generators (Revised),”NIST Computer Security Division, March 2007.
14 FIPS 140-2, “Security Requirements for Cryptographic Modules,”May 2001.
 

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站