日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 對無線IC卡傳輸數(shù)據(jù)實行3DES加密

          對無線IC卡傳輸數(shù)據(jù)實行3DES加密

          作者:常國權 戴國強 時間:2015-09-07 來源:電子產(chǎn)品世界 收藏
          編者按:為了保護無線IC卡傳輸數(shù)據(jù)的安全性,防止非法的破解和復制,在較低配置的單片機系統(tǒng)中采用3DES加密算法。當使用STC單片機工作在22.1184MHz的典型條件下,3DES算法加密、解密的平均速度約為308.7bit/s,滿足實際應用的要求。

            在STC單片機內(nèi)部的EEPROM中需要存儲兩種密碼,一種是讀取M1卡時需要驗證的物理密碼,另一種是用到的的邏輯密碼,M1卡的物理密碼一般是12個字節(jié),的邏輯密碼是16個字節(jié)。當需要往M1卡中寫入數(shù)據(jù)時,單片機把事先存儲在STC15單片機的EEPROM中16字節(jié)邏輯密鑰讀取到password[16]數(shù)組中,然后把要寫入M1卡中的數(shù)據(jù)按照8個字節(jié)一組進行,當達到16個字節(jié)后寫入用戶指定的扇區(qū)塊中,如果數(shù)據(jù)不夠8個字節(jié),按照約定進行補零以滿足3DES算法要求。當單片機控制射頻芯片驗證物理密碼并讀取到M1卡中的數(shù)據(jù)后,按照8個字節(jié)一組進行3DES算法,并把后的明文數(shù)據(jù)返回給用戶。如果不知道3DES算法的16位邏輯密鑰,即使非法讀取到了M1卡中的數(shù)據(jù)也無法得到其明文,從而達到了防止數(shù)據(jù)被破解的目的。

          本文引用地址:http://yuyingmama.com.cn/article/279222.htm

            如果得到了卡中的密文,盡管無法得到其明文,但是攻擊者可以對卡進行完全復制,包括復制第0扇區(qū)第0塊的卡序列號等信息(如UID卡即可修改其0扇區(qū)第0塊的內(nèi)容),為了防止攻擊者對M1卡中的數(shù)據(jù)進行復制到另一張M1卡中,需要在STC單片機的EEPROM或者外部存儲器中建立一個存儲卡序列號和時間戳的系統(tǒng)表,卡序列號和時間戳各占4個字節(jié)。每當單片機系統(tǒng)對卡進行一次操作之后,就要在卡中和系統(tǒng)表中都寫入新的時間戳,當兩張完全一樣的復制卡先后被系統(tǒng)讀取到之后,由于系統(tǒng)在先被讀取的復制卡中寫入了新的時間戳信息,從而把另一張復制卡標識為非法卡,也就是說,無論攻擊者復制了多少張完全相同的卡,只有最先被系統(tǒng)讀取到那一張能正常使用,從而,防止了卡被復制。時間戳是STC單片機從DS1302中讀取出來的年、月、日、時、分、秒之后經(jīng)過相應的移位操作而合成的一個四字節(jié)無符號變量。時間戳的合成方法如圖4所示。系統(tǒng)處理總體流程圖如圖5所示。

            根據(jù)圖4所示,時間戳的合成算法可以用以下語句來實現(xiàn):

            ts = ((INT32U)yr << 26) | ((INT32U)month << 22) | ((INT32U)day << 17);

            ts |= ((INT32U)hr << 12) | ((INT32U)min << 6) | (INT32U)sec;

            時間和日期也可以由單片機系統(tǒng)的定時器或者其他方法來實現(xiàn)。

          3 系統(tǒng)測試

            為了對STC單片機在3DES算法加密、解密數(shù)據(jù)的正確性和運算能力進一步分析,對STC單片機系統(tǒng)進行了系統(tǒng)測試。在STC單片機RAM中建立一個容量為1K字節(jié)的數(shù)組test3des[1024],并給它賦初始值,調(diào)用TripleDes函數(shù)進行加密,并通過串口發(fā)送到上位機顯示出來;把加密后的數(shù)據(jù)重新賦值給數(shù)組test3des[1024],調(diào)用TripleDes函數(shù)進行解密,并發(fā)串口顯示,實際測試證明3DES算法是正確的??紤]到STC單片機系統(tǒng)運行速度較低,如果讓STC單片機對加密、解密速度進行計算并處理,勢必會影響到結(jié)論的準確性,為此,使用VC++編寫上位機軟件配合3DES算法處理速度測試。在STC單片機調(diào)用3DES算法加密、解密數(shù)據(jù)時,通過單片機串口發(fā)送到上位機一個開始命令,上位機軟件啟動精密計時,等STC單片機處理完數(shù)據(jù)時再給上位機軟件發(fā)送一個結(jié)束命令,上位機軟件停止計時,通過單片機處理的數(shù)據(jù)字節(jié)數(shù)和計時時間可以計算出STC單片機調(diào)用3DES算法加密、解密數(shù)據(jù)的速度。STC單片機在不同晶振頻率下3DES算法加密、解密測試對照表如表1所示。平均加密或解密時間是經(jīng)過10次測試取其平均值。

            從表1的數(shù)據(jù)可知:在STC單片機運行在典型工作頻率22.1184MHz的情況下,3DES算法加密、解密的平均速度約為308.7bit/s,加密或解密M1卡一個塊數(shù)據(jù)(16個字節(jié))用時約為0.41s,完全達到了實際應用的條件,而且,隨著所選用單片機或微處理器運行速度的提高,所用時間會更少。

          4 結(jié)論

            通過分析3DES算法原理和防復制方法,在較低配置的STC單片機系統(tǒng)中實現(xiàn)了3DES加密算法,并進行了實驗測試,得到了實驗測試結(jié)果,證明了3DES算法在非接觸式M1卡中應用的可行性,這對保障RFID卡信息安全性和保密性具有重要的作用,在實際應用中也具有一定的參考意義。

          參考文獻:

            [1]錢曉華.基于RFID系統(tǒng)的信息安全技術研究[D].江蘇:南京郵電大學,2013,02

            [2]單承贛等.射頻識別(RFID)原理與應用[M].北京:電子工業(yè)出版社,2014,07

            [3]宏晶科技公司.STC15L2K32S2系列單片機器件手冊[P].2013,09

            [4]上海復旦微電子股份有限公司.FM1702SL芯片使用手冊[P].2009

            [5]丁顯信.DES算法的硬件實現(xiàn)方法研究及FPGA實現(xiàn)[D].青島:青島科技大學,2013

            [6]王素琴,林平分.非接觸式智能卡中DES/3DES協(xié)處理器的設計[J].科技信息,2013(05)

            [7]趙澤茂等.信息安全技術[M].西安:西安電子科技大學出版社,2009,02

            [8]Philips Semiconductors.Standard Card IC MF1 IC S50 Functional Specification[P].2008

          c語言相關文章:c語言教程


          加速度計相關文章:加速度計原理
          晶振相關文章:晶振原理

          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉