<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 利用RFID保護系統(tǒng)固件和其它知識產權

          利用RFID保護系統(tǒng)固件和其它知識產權

          作者:Eustace Asanghanwa,愛特梅爾公司加密及RF產品應用經理 時間:2008-09-09 來源:EDN China 收藏

            的經典方法一直都是采用包裝或某種不可恢復的防拆包裝,以及專門的印記技術。然而,任何在產品上可見的信息都可能被克隆,而且克隆信息可用于生產貌似真品的假冒產品。被認為是庫存控制和產品追蹤管理的下一代條碼技術,也能確保最終產品固件的安全和防止偽造,同時還能對產品的組成材料、保管環(huán)節(jié)及從原材料采購直到最終用戶購買產品涉及到的各種周邊情況的信息鏈進行安全記錄管理。

          本文引用地址:http://www.ex-cimer.com/article/87841.htm


            與產品標識技術

            器件可做得如米粒大小,同時具有足夠的內存來保存密鑰、算法及產品擁有信息鏈。RFID器件裝載的信息不需肉眼直接觀看,因而可嵌入到幾乎任何產品中,包括藥瓶、化妝品,或珠寶飾品。

            RFID本身并不安全,因為其中的產品信息會以無線信號方式向外廣播,用售價不到100美元的RFID讀寫器就可截獲產品信息。不過,也有RFID具備安全措施,且水平接近的微控制器。

            口令和

            最常用的RFID安全措施是口令保護。有些廠家采用幾乎不可破解的加密算法來加密口令。這種方法有個問題,就是口令 (無論加密與否) 要向外廣播,可能被輕易截獲,然后用于標記假冒產品。制假者復制口令不需要去破解口令。這樣用一個加密口令就可造出數(shù)百個騙過管理讀寫器的假冒RFID。

            密不外泄的鑒別技術

            唯一真正能防止克隆RFID標簽的方法是防止標識信息被訪問。這可利用稱作身份鑒別的加密過程來實現(xiàn)。在這種鑒別過程中,讀寫器和/或RFID標簽需要驗證對方的合法性,即確認對方能解讀某種無法破解的約定信息。RFID標簽和讀寫器都設計了某種秘密且不可訪問的信息,用于生成加密詢問字串發(fā)給對方。在這種鑒別機制中,標簽使用這種秘密且不可訪問的鑒別密鑰和一個隨機數(shù),生成一個加密詢問字串發(fā)給讀寫器。合法的讀寫器要使用自己的秘密鑒別密鑰和這個隨機數(shù),復制出這個詢問字串發(fā)給標簽。如果標簽收到的字串與它自己生成的一樣,就認可讀寫器的合法身份。這種鑒別被稱為詢問/響應保護。在雙向的詢問/響應鑒別機制中,讀寫器還要重復同樣的鑒別過程來確定RFID的合法身份。只有當雙方相互認可對方的身份后,RFID標簽才允許對方讀取和修改其標識信息。

            這種安全方案的關鍵在于:用于鑒別產品真?zhèn)蔚男畔Q不離開設備,因而不會被任何人讀取。標識信息只用來計算加密詢問字串,而詢問字串的鑒別是在對方用自己的秘密信息復制此字串時進行。雙方每次交易產生的加密詢問字串都不同,因此,用RFID交易過程中截獲的字串來克隆產品標識是不行的。詢問字串每次都要改變。

            由于在大多數(shù)RFID協(xié)議中都是由詢問方 (標簽讀寫器) 發(fā)起通信。RFID標簽必須隨時準備好詢問字串。標簽讀寫器讀取這個加密字串,并生成響應字串發(fā)給RFID標簽去驗證。RFID標簽每完成一次成功驗證后,都要更新字串(圖1),因此一個詢問字串絕不會使用兩次。制假者由于不能對詢問字串進行正確的響應,就不能從設備獲得產品標識信息,因而也就無法克隆產品標識。

            并非所有RFID產品都支持詢問/響應鑒別機制,因此,注重安全的工程師應檢查RFID標簽是否具備此功能。

            產品的真正廠家通過管理讀寫器中的密鑰,就能防止制假者讀取他們的產品信息,從而防止非法克隆他們的產品標識。帶有假標識的克隆產品將被發(fā)現(xiàn)是偽造的。

            雙向詢問/響應鑒別與單向詢問/響應鑒別相似,只是讀寫器也要詢問RFID標簽 (見圖2)。這種鑒別機制要求讀寫器和RFID標簽獨立保存各自鑒別用的不對稱密鑰。這種相互鑒別的機制保障了讀寫器和RFID標簽身份的識別。這在合法讀寫器需要現(xiàn)場更新合法RFID標簽時尤其有用。例如,廠家在對某一移動電子產品 (如智能電話) 的固件升級前,可能需要用讀寫器 (如固件升級設備) 來確認該產品標簽 (產品本身) 的真?zhèn)巍?/p>

            附加的數(shù)據(jù)保護安全功能

            雙向詢問/響應鑒別與單向詢問/響應鑒別都能提供有效的解決方案。但這類解決方案本身并不保護讀寫器與RFID標簽間通信的數(shù)據(jù)。比如,用竊聽裝置就可監(jiān)聽整個詢問/響應過程,并截獲讀寫器與標簽間的交換數(shù)據(jù);在某些應用中,甚至還可修改這些數(shù)據(jù),達到侵占的目的。

            例如,惡意競爭對手可能故意向某一品牌的消費電子產品固件植入錯碼,以達到所謂拒絕服務攻擊的目的。這種竊聽裝置還可將虛假信息植入競爭對手合法的消費產品 (電子或非電子的產品) 中,使其變成“假冒產品”。因此,除了鑒別機制外,更完善的RFID標識安全方案還得有數(shù)據(jù)保護機制。

            大多數(shù)RFID標簽都可用寫入保護功能來鎖定其中的數(shù)據(jù),從而防止以后被修改。這種方法非常適合純粹的靜態(tài)信息標識,如藥品,化妝品、服飾等。

            在那些必需更新標簽內數(shù)據(jù)的場合,就應當使用對讀寫器和標簽傳遞的數(shù)據(jù)進行加密的標簽。對讀寫器和標簽傳遞的數(shù)據(jù)進行加密,可保證傳輸數(shù)據(jù)的機密性。數(shù)據(jù)機密性對保護秘密或防止“中間人攻擊”可能都有用。這種保護機制對那些必需進行現(xiàn)場升級的應用尤其有用。 

            信息鑒別碼

            要進一步提高安全水平,還可增加所謂消息鑒別碼(MAC);采用這種算法,信息接收方就能確認數(shù)據(jù)源的身份真?zhèn)我约皵?shù)據(jù)內容的完整性。MAC算法采用的密鑰與存儲在標簽讀寫器和RFID標簽中,用于相互鑒別的密鑰相同。在任何一次信息傳遞中,只有真正合法的讀寫器或RFID標簽才能發(fā)出正確的MAC。數(shù)據(jù)發(fā)送方生成一個MAC隨數(shù)據(jù)一起發(fā)出,數(shù)據(jù)接收方用自己的密鑰復制該MAC,通過比對來驗證該MAC。如果該MAC沒通過驗證,則表明信息源的身份不合法,數(shù)據(jù)的完整性值得懷疑 (如信息在離開發(fā)送源后被修改過),或存在通信錯誤。數(shù)據(jù)加密與MAC結合使用,能為現(xiàn)場升級 (電子產品的固件升級)提供強大的數(shù)據(jù)保護。 

            選擇合適的RFID安全方案

            許多RFID標簽都具有一定的安全性。為防止假冒產品,RFID標簽至少要能在釋放標識信息前鑒別讀寫器身份。在采購RFID防偽方案時應考慮如下兩件事情:

            RFID標簽在允許訪問其中存儲的標識信息前應鑒別讀寫器的身份。如果僅需鑒別讀寫器,選擇詢問/響應鑒別方案即可;如果需要更新保存在RFID標簽內的信息,就得選擇雙向詢問/響應鑒別方案 (相互鑒別),即驗證標簽是真正合法的,而不是某種想竊取信息的不法密探。

            如果標識信息以后不再變更,采用簡單的寫入保護即可。然而,在有些情況下 (如固件升級),數(shù)據(jù)源的真?zhèn)?、?shù)據(jù)機密性及完整性很重要,這時所選RFID標簽就應當具備數(shù)據(jù)保護及MAC功能。

            RFID技術能阻止產品制假。將合適的鑒別機制與數(shù)據(jù)保護安全機制結合起來,就可形成完善的產品保護方案。



          關鍵詞: RFID 防偽 加密 標簽

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();