《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 利用算法對(duì)智能卡隨機(jī)數(shù)的偽隨機(jī)改進(jìn)
利用算法對(duì)智能卡隨機(jī)數(shù)的偽隨機(jī)改進(jìn)
2015年微型機(jī)與應(yīng)用第3期
孫 俊,王 彬
(杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州 310018)
摘要: 隨著信息技術(shù)的發(fā)展,智能IC卡在認(rèn)證、銀行、交通等領(lǐng)域得到廣泛應(yīng)用,系統(tǒng)的真隨機(jī)數(shù)的產(chǎn)生及其改進(jìn)成為人們的研究重點(diǎn)之一。簡(jiǎn)單論述了真?zhèn)坞S機(jī)數(shù)的產(chǎn)生方法,并對(duì)其隨機(jī)性進(jìn)行了偽隨機(jī)方法的改進(jìn)。測(cè)試結(jié)果表明,經(jīng)過(guò)算法處理后的隨機(jī)性得到了較大的提高,完全通過(guò)國(guó)家商用密碼管理局的隨機(jī)性檢測(cè)規(guī)范的測(cè)試。
Abstract:
Key words :

  摘  要: 隨著信息技術(shù)的發(fā)展,智能IC卡在認(rèn)證、銀行、交通等領(lǐng)域得到廣泛應(yīng)用,系統(tǒng)的真隨機(jī)數(shù)的產(chǎn)生及其改進(jìn)成為人們的研究重點(diǎn)之一。簡(jiǎn)單論述了真?zhèn)坞S機(jī)數(shù)的產(chǎn)生方法,并對(duì)其隨機(jī)性進(jìn)行了偽隨機(jī)方法的改進(jìn)。測(cè)試結(jié)果表明,經(jīng)過(guò)算法處理后的隨機(jī)性得到了較大的提高,完全通過(guò)國(guó)家商用密碼管理局的隨機(jī)性檢測(cè)規(guī)范的測(cè)試。

  關(guān)鍵詞智能卡;隨機(jī)數(shù);隨機(jī)性測(cè)試;算法

0 引言

  隨機(jī)數(shù)在智能卡芯片操作系統(tǒng)(Chip Operation System,COS)中主要用于卡片和讀卡器之間的認(rèn)證、數(shù)據(jù)加密及其安全傳輸。隨機(jī)數(shù)是以現(xiàn)代密碼學(xué)為基礎(chǔ)的信息安全系統(tǒng)的基石。整個(gè)系統(tǒng)的安全性完全依賴于隨機(jī)數(shù)序列的生成效率和質(zhì)量。因此,高質(zhì)量的隨機(jī)數(shù)對(duì)COS的安全舉足輕重,如果隨機(jī)數(shù)的隨機(jī)性不夠安全,整個(gè)系統(tǒng)極有可能被攻擊者攻破,造成無(wú)法挽回的損失。

1 偽隨機(jī)數(shù)和真隨機(jī)數(shù)

  信息安全系統(tǒng)中的隨機(jī)數(shù)序列要求具有足夠的長(zhǎng)度和周期,以及盡可能高的熵值,即具有高度的隨機(jī)性和不可預(yù)測(cè)性。

  隨機(jī)數(shù)序列的產(chǎn)生方法有兩種:偽隨機(jī)數(shù)和真隨機(jī)數(shù)。

  1.1偽隨機(jī)數(shù)

  目前應(yīng)用的隨機(jī)數(shù)通常是通過(guò)某些數(shù)學(xué)公式計(jì)算而產(chǎn)生的偽隨機(jī)數(shù),即由偽隨機(jī)數(shù)發(fā)生器(Pseudo Random Number Generator,PRNG)產(chǎn)生的,它是由一個(gè)初始狀態(tài)開始,通過(guò)一個(gè)確定的算法來(lái)生成隨機(jī)數(shù)。一旦給定算法和種子,輸出序列就確定了,有一定的周期性。

  偽隨機(jī)序列一般都有比較好的隨機(jī)統(tǒng)計(jì)特性,其用數(shù)學(xué)算法生成,在一些統(tǒng)計(jì)特性方面接近真隨機(jī)序列,但卻是周期的和可預(yù)測(cè)的。

  偽隨機(jī)數(shù)容易獲得且方便使用,一般用于仿真、測(cè)試等場(chǎng)合。

  1.2 真隨機(jī)數(shù)

  真隨機(jī)數(shù)是不可預(yù)測(cè)的,因而不可能重復(fù)產(chǎn)生兩個(gè)相同的真隨機(jī)數(shù)數(shù)列。真隨機(jī)數(shù)只能用某些隨機(jī)物理過(guò)程來(lái)產(chǎn)生。例如放射性衰變、電子熱噪聲、宇宙射線的觸發(fā)時(shí)間等。

  真隨機(jī)數(shù)序列是由真隨機(jī)數(shù)發(fā)生器(True Random Number Generator,TRNG)產(chǎn)生,是依托自然界物理現(xiàn)象的隨機(jī)特性。對(duì)一個(gè)TRNG來(lái)說(shuō),不存在初始序列或種子,沒(méi)有任何一種算法可以預(yù)先決定下一個(gè)輸出是什么,消除了偽隨機(jī)性的周期問(wèn)題,而且是獨(dú)立和不相關(guān)的。

  真隨機(jī)序列雖然有難以預(yù)測(cè)、不能重復(fù)的特性,但隨機(jī)統(tǒng)計(jì)卻不理想。真隨機(jī)序列用物理方法生成,通過(guò)選取真實(shí)世界的自然隨機(jī)性,所生成的隨機(jī)數(shù)稱為真隨機(jī)數(shù)。

  真隨機(jī)數(shù)取自物理世界的真實(shí)隨機(jī)源,難以破解,主要應(yīng)用在數(shù)據(jù)加密、密鑰管理、身份鑒定等對(duì)安全性要求較高的領(lǐng)域。

2 基于振蕩采樣產(chǎn)生隨機(jī)數(shù)

  在智能卡中隨機(jī)數(shù)通常用于產(chǎn)生密鑰以及與讀卡器之間的認(rèn)證。由于高安全的原因,隨機(jī)數(shù)應(yīng)當(dāng)是真隨機(jī)數(shù)而不是偽隨機(jī)數(shù)。現(xiàn)在所有的智能卡控制芯片都有產(chǎn)生真隨機(jī)數(shù)的硬件隨機(jī)數(shù)產(chǎn)生器。所產(chǎn)生的隨機(jī)數(shù)的隨機(jī)性必須不能受到外部物理環(huán)境的影響,比如溫度、電壓。

  本文真隨機(jī)數(shù)的產(chǎn)生基于振蕩采樣的設(shè)計(jì)方法。基于振蕩采樣的TRNG從時(shí)鐘抖動(dòng)中獲得隨機(jī)性。圖1所示是基于振蕩器的真隨機(jī)數(shù)發(fā)生器。

001.jpg

  帶有抖動(dòng)的慢振蕩器通過(guò)D觸發(fā)器采樣一個(gè)周期固定的快振蕩器,輸出隨機(jī)序列Y。由于慢振蕩器的抖動(dòng)是不確定的[1],并且其抖動(dòng)范圍遠(yuǎn)遠(yuǎn)大于快振蕩器周期,因此輸出0和1的概率基本相等,從而輸出的序列Y隨機(jī)。

  振蕩器的相位抖動(dòng)使得采樣值具有不確定性,理想情況每一次采樣都能產(chǎn)生一個(gè)隨機(jī)位。但產(chǎn)生的隨機(jī)數(shù)不具有較好的統(tǒng)計(jì)屬性,所以通常會(huì)用偽隨機(jī)的方法來(lái)對(duì)采樣輸出進(jìn)行處理,改善其隨機(jī)性。

3 隨機(jī)數(shù)隨機(jī)性的算法改進(jìn)及測(cè)試

  3.1 真隨機(jī)數(shù)的偽隨機(jī)處理

  雖然真隨機(jī)數(shù)發(fā)生器在密碼、密鑰的應(yīng)用中起著重要作用,但是目前大多數(shù)真隨機(jī)數(shù)發(fā)生器還是基于一種理想狀況來(lái)分析其輸出的隨機(jī)序列的性能。由于各種物理環(huán)境變化的影響,基于硬件實(shí)現(xiàn)的隨機(jī)序列源通常具有一定的相關(guān)性。

  實(shí)際中產(chǎn)生的隨機(jī)數(shù)存在分布性較差、穩(wěn)定性不佳等缺點(diǎn),所以在實(shí)際應(yīng)用中,通常還需要對(duì)其發(fā)生器的輸出序列進(jìn)行進(jìn)一步的處理和運(yùn)算來(lái)改進(jìn),才能使輸出的序列通過(guò)各種隨機(jī)性的測(cè)試。

  幾乎每個(gè)智能卡操作系統(tǒng)都包括有用于鑒別的加密算法。使用它作為真隨機(jī)數(shù)的偽隨機(jī)改進(jìn)是一個(gè)必然的選擇。實(shí)現(xiàn)一個(gè)盡可能把明文攪亂的加密算法,如果不了解密鑰就無(wú)法從密文得出明文。稱之為“雪崩準(zhǔn)則”的原理:平均而言,輸人改變1位則輸出的各位中將有一半要改變[2]。這個(gè)特性能很好地為隨機(jī)數(shù)發(fā)生器所應(yīng)用,發(fā)生器的準(zhǔn)確構(gòu)造隨其實(shí)現(xiàn)而各不相同。圖2和圖3是兩種真隨機(jī)數(shù)的改進(jìn)方法示意圖。

002.jpg

  基本改進(jìn)過(guò)程:將產(chǎn)生的真隨機(jī)數(shù)填充環(huán)形緩沖器,再將環(huán)形緩沖器部件之值用DES加密,用一個(gè)對(duì)卡是唯一的密鑰,產(chǎn)生密文長(zhǎng)度為8 B的隨機(jī)數(shù),也可以采用其他加密算法進(jìn)行加密。加密后的數(shù)據(jù)與緩沖器里下一個(gè)真隨機(jī)數(shù)的XOR值提供了EEPROM環(huán)形緩沖器的新輸入。循環(huán)結(jié)束后產(chǎn)生的隨機(jī)數(shù)即為改進(jìn)的真隨機(jī)數(shù)。

  對(duì)產(chǎn)生的真隨機(jī)數(shù)通過(guò)加密算法進(jìn)行進(jìn)一步改進(jìn)處理。主要步驟為:

  (1)先通過(guò)硬件隨機(jī)數(shù)發(fā)生器,產(chǎn)生8/16 B的隨機(jī)數(shù),將產(chǎn)生的真隨機(jī)數(shù)作為明文,再重新產(chǎn)生一次真隨機(jī)數(shù)作為密鑰,經(jīng)過(guò)3DES加密得到密文;

  (2)將經(jīng)3DES加密后的密文,作為SM1國(guó)密算法的基礎(chǔ)密鑰EK;

  (3)重復(fù)步驟(1),將得到的密文作為SM1國(guó)密算法的系統(tǒng)密鑰SK;

  (4)重復(fù)步驟(1),將得到的密文作為SM1國(guó)密算法的輔助密鑰AK;

  (5)重復(fù)步驟(1),將得到的密文作為新的明文;

  (6)利用步驟(2)~步驟(5)產(chǎn)生的密鑰和明文,通過(guò)SM1國(guó)密算法進(jìn)行加密,得到的隨機(jī)數(shù)稱為改進(jìn)隨機(jī)數(shù)。

  3.2 改進(jìn)隨機(jī)數(shù)的測(cè)試

  實(shí)現(xiàn)了隨機(jī)數(shù)發(fā)生器之后,對(duì)它所產(chǎn)生的隨機(jī)數(shù)必須嚴(yán)格地測(cè)試,基本情況是在所產(chǎn)生的隨機(jī)數(shù)中,1和0的數(shù)量應(yīng)接近于相等。采用標(biāo)準(zhǔn)統(tǒng)計(jì)方法從數(shù)學(xué)上測(cè)試隨機(jī)數(shù)。對(duì)大量8位隨機(jī)數(shù)進(jìn)行測(cè)試,應(yīng)當(dāng)有10 000~100 000的數(shù)字產(chǎn)生,分析以達(dá)到合理的可信結(jié)果。測(cè)試方法是使用計(jì)算機(jī)測(cè)試程序。

  本實(shí)驗(yàn)使用的測(cè)試工具是由美國(guó)國(guó)家標(biāo)準(zhǔn)技術(shù)研究所(NIST)推出的SP 800-22[3]隨機(jī)性測(cè)試工具,并根據(jù)國(guó)家商用密碼管理局的隨機(jī)性檢測(cè)規(guī)范的要求[4],對(duì)測(cè)試工具補(bǔ)充了所增測(cè)試項(xiàng)。

  測(cè)試設(shè)定的顯著性水平為α=0.01,樣本數(shù)量為1 000,樣本長(zhǎng)度選取106 bit。測(cè)試結(jié)果如表1所示。

  根據(jù)國(guó)密局隨機(jī)性檢測(cè)規(guī)范,當(dāng)樣本數(shù)量為1 000個(gè),每個(gè)樣本容量為106 bit時(shí),如果通過(guò)的樣本個(gè)數(shù)不小于981,則隨機(jī)數(shù)發(fā)生器通過(guò)此項(xiàng)檢測(cè);否則,未通過(guò)此項(xiàng)檢測(cè)。從表1可知,改進(jìn)的真隨機(jī)數(shù)產(chǎn)生器通過(guò)了國(guó)家商用密碼管理局的隨機(jī)性檢測(cè)規(guī)范的所有隨機(jī)性測(cè)試項(xiàng)。

003.jpg

  4 結(jié)論

  本文描述了一個(gè)基于振蕩器的真隨機(jī)數(shù)的實(shí)現(xiàn)方法,并對(duì)產(chǎn)生的隨機(jī)數(shù)進(jìn)行了偽隨機(jī)改進(jìn)。測(cè)試結(jié)果顯示,改進(jìn)后的真隨機(jī)數(shù)的輸出是隨機(jī)的,滿足了國(guó)家商用密碼管理局對(duì)智能卡COS產(chǎn)品的隨機(jī)性要求。

參考文獻(xiàn)

  [1] 霍嘉.隨機(jī)數(shù)發(fā)生器的設(shè)計(jì)與研究[D].西安:西安科技大學(xué),2010:28-30.

  [2] RANKL W, EFFING W. Smart card handbook(4th edition)[M].  New York: JohnWiley&Sons, 2010:159-166.

  [3] NIST. FIPS PUBS 800-22. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications[Z]. 2010.

  [4] 國(guó)家密碼管理局商用密碼檢測(cè)中心.隨機(jī)性檢測(cè)規(guī)范[Z]. 2014.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 亚洲成a人片77777kkkk | 国产 日韩 欧美 亚洲 | 国产第一自拍 | 99热成人精品国产免男男 | 狠狠亚洲婷婷综合色香五 | 国产亚洲精品成人a在线 | 96一级毛片| 国产免费人成在线视频视频 | 污污成人一区二区三区四区 | 日韩视频免费在线观看 | 爱爱炮打影院 | 免费看avapp| 久久久久久91香蕉国产 | 五月婷婷精品 | 福利电影视频伦理片 | 四虎成人精品免费影院 | 欧美日韩在线亚洲国产人 | 欧美一区二区三区在线观看不卡 | 四虎影视库永久地址发布 | 日韩一级欧美一级一级国产 | 日本精品久久久久久久 | 免费男女网站 | 免费在线看视频 | 成人精品视频 | 久久综合气久久狠狠狠97色 | 国产精品久久久久国产精品 | 欧美高清在线视频在线99精品 | 欧洲美女过性活过程 | 99九九精品视频 | 999无色码中文字幕 999视频精品全部免费观看 | 国产综合在线播放 | 一级一级毛片 | 偷窥自拍第一页 | 国产精品日韩在线观看 | 国产真实强j视频在线观看 国产真实伦在线视频免费观看 | 国产精品高清视亚洲一区二区 | 激情丁香网| 日韩欧美在线观看一区 | 国产精品亚洲自在线播放页码 | 狠狠色丁香婷婷久久综合2021 | 成人毛片一区二区三区 |