面向智能機器人的通訊安全機制研究與改進
摘要:射頻技術當前發展速度迅猛,在目前的無線通信中佔據主導地位。作為射頻技術的主要分支之一,點對點射頻通訊技術也有著十分廣泛的應用,在智能機器人的通訊領域具有重要的地位。但是當前所使用的點對點射頻通訊機制大多有著安全性方面的問題,無法保證數據來源的可靠性,通訊機制過於簡單,在各項安全測試中都表現的十分脆弱,對於高安全性要求的智能機器人來說無法使用。
對各種針對射頻通訊的攻擊方式進行相應的研究之後,針對這一現狀,本文提出了一種基於SHA-1安全雜湊演算法的簡單、可靠、易於移植的點對點射頻安全通訊機制,保障通訊過程中數據來源的正確性和數據的秘密性。安全通訊機制以序列碼作為核心思想,在傳輸過程中通過序列碼的不斷變化來抵抗目前最普遍的重放攻擊;利用SHA-1安全雜湊演算法報文摘要巨大的取值空間來防範針對序列碼的字典攻擊;通過SHA-1安全雜湊演算法的單向性和數據拼接混淆規則抵抗前向預測攻擊對於系統的安全威脅;在SHA-1演算法初始報文的產生過程中引入待發送數據,從而建立了數據和序列碼之間的聯繫,使接收機可以從序列碼中獲知數據是否遭受到篡改,對中間人攻擊進行了針對性的預防。
點對點射頻安全通訊機制設計完成之後,在當前已有系統上進行了安全通訊機制的移植,同時對系統進行了相應的安全性測試,驗證安全通訊機制的效果,證明安全通訊機制可以提高系統的安全性,保障數據來源的可靠性。最後對通訊機制在智能機器人領域的使用進行了展望。
關鍵字:智能機器人,序列碼,點對點安全通訊,SHA-1安全雜湊演算法,射頻通訊技術
1. 引言
目前,智能機器人的研究非常火熱。智能機器人的相關領域中,射頻技術是傳遞信息的主要手段之一,也是其中非常重要的一環。射頻技術又被成為射電技術,起源於19世紀下半葉的無線電技術。射頻技術主要通過將數字信號進行轉換調製後,生成相應攜帶有信息的電磁波進行發射,達到信息傳遞的目的[1]。
目前,射頻技術已經成為信息產業的重要支柱,在射頻技術的基礎之上發展出了包括GSM系統、CDMA系統、4G系統、WIFI技術、射頻識別技術(RFID)、NFC技術等一系列新型的無線通信技術。這些技術都被廣泛應用到各種信息化設備中,成為信息產業發展的主要推動力,同時在智能機器人的無線通訊中佔據主導作用。
射頻通訊和傳統的有線通訊手段不同,其具有無線傳輸的廣播特性,在傳輸範圍內所有節點均能收到信號源發送的信號,信號本身不會對設備進行區別,所以射頻通訊存在信息易被竊聽、被篡改的安全隱患[2]。射頻信號的廣播特性要求,使用射頻信號進行數據傳遞的通訊機制,必須採取相應的措施對數據進行保護,數據來源進行驗證。這一點在很多成熟的技術體系都有所體現。例如WIFI、CDMA、藍牙等技術都已經採取了相應的安全措施防止通信數據被竊聽、截獲以及篡改,保障射頻通信的安全性。
但是進行點對點射頻通信的設備不具備應用上述射頻通信技術的物理基礎,導致當前進行點對點射頻通信的設備的安全措施十分薄弱,普遍被很多設備採用的點對點射頻通訊機制僅考慮了通信的速率,大多沒有考慮到通訊過程對數據的保護,缺乏安全性和秘密性的保障措施。所以將射頻無線通訊設備引入到智能機器人的對點對通信領域時,由於安全性的限制,現有的點對點射頻通訊機制都無法適用。
因此本文提出了一種可應用在智能機器人上的點對點射頻通訊機制,其本身具有較高的安全性,可以提高點對點射頻通信的安全級別,保障智能機器人使用射頻通訊設備進行點對點通訊過程中數據的安全性。
2. 當前現狀
當前射頻技術發展很快,但是採用點對點射頻通訊的設備大多具有能量、計算能力和使用環境等限制,所以現有的很多安全協議機制例如WIFI技術、Zigbee技術等都無法應用到點對點的射頻通訊中[3]。採用點對點射頻通信技術的設備很多都沒有考慮到安全因素,存在安全性差,射頻信息容易被屏蔽、竊聽、篡改等弱點,攻擊者經常這些利用這些點對點射頻通信的弱點進行相應的破壞。而對於一些已經採用了一定安全通訊機制來保障通訊過程中數據安全的設備,也發現其所採用的安全機制本身存在漏洞,不夠健全。攻擊者利用這些漏洞就可以達到偽造信息,實施破壞,非法牟取利益的目的。
2.1射頻遙控器現狀
由於射頻技術的發展,傳統的紅外遙控器正在被使用射頻技術的遙控器取代。但是紅外技術和射頻技術有所不同,紅外技術需要在視距範圍內才能產生作用[4],但是射頻技術卻沒有這個限制。這是射頻技術相較於紅外技術的優點,但是這一特點也會大大降低射頻技術的安全性。紅外技術由於傳輸距離和視距的限制,所以接收機很少遭受到偽造信號的攻擊。但是採用射頻技術的接收機在開啟過程中會接收所有的可用的射頻信息,而不會去區分來源;同時當射頻信息出現干擾時,接收機也無法通過正確解析獲取到相應的數據。所以使用射頻技術的遙控器需要一定的機制來確保信息來源的正確性,也要提供一定的機制來使發送機確認消息正確到達接收機。
根據調查研究發現,當前廣泛使用的射頻無線遙控器很多都沒有這樣的安全性保證,通訊機制極其簡陋。大量的射頻通訊機制在其信息通信的過程中,發送機只是簡單地對一個信號進行發送,而接收機也僅僅是在獲取到相應的信號進行區分後執行設定好的操作。這一系列的通訊過程既沒有對消息的來源進行驗證,也沒有對信息的秘密性進行判斷,根本無法保證信息通信的安全性。如果對這樣的射頻通訊機制進行攻擊,攻擊者只需要一台簡單的射頻信號錄製設備在被攻擊者使用射頻遙控器的時候進行射頻信號的錄製,然後再使用一台射頻信號的發送設備對錄製到的信號進行重放就可以完成射頻信號的偽造,達到控制目標設備的目的。而在此基礎之上,攻擊者如果再搭配上一根高增益的天線,那麼就可以在很遠的範圍進行以上的操作,從而遠程控制目標設備而不被發現。
2.2無線門鈴現狀
與傳統的門鈴不同,無線門鈴不需要進行線路的布置,而是通過射頻信號來傳遞門鈴信號,使室內門鈴響起,具有安裝簡單、移動性強、節能低耗的優點,所以受到了很大的歡迎。但是很多無線門鈴都沒有考慮到設備的安全性。在對市場售賣的無線門鈴產品進行實驗之後發現,很多現有的無線門鈴為了保證射頻信號的傳輸距離、降低室外門鈴按鈕的功耗以及解決按鈕和響鈴之間射頻信號的匹配問題,採用了固定碼解碼放大器晶元對接收到的射頻無線信號進行解碼和正確性驗證。固定碼解碼放大器晶元的使用說明每一次按下室外門鈴按鈕發送的信號都是相同的。
在進一步的研究中發現射頻信號從室外門鈴按鈕傳輸到室內響鈴的過程中沒有任何機制對信號來源的正確性進行驗證,同時室外門鈴按鈕也不保證信號是否能夠安全到達室內響鈴。當室內響鈴接收到射頻信號之後,只是簡單地進行了信號與設定值之間的匹配。如果信號匹配成功,室內響鈴就會執行響鈴操作,匹配失敗室內響鈴則不執行任何操作。在這樣的通信機制中,攻擊者只要通過射頻信號錄製設備就能獲取到門外門鈴按鈕的射頻信號。在使用軟體對信號進一步修正後,就可以利用射頻信號發送設備直接進行門鈴信號的發送,從而使室內的響鈴裝置響起,達到攻擊的目的。這樣的射頻通訊機制在實際應用中毫無安全性可言,但是卻在目前的無線門鈴中被廣泛應用。如果有攻擊者針對無線門鈴進行這樣的攻擊,將會對使用者的生活產生極大的干擾。
2.3汽車鑰匙現狀
當前主流的汽車廠商都在自己的汽車鑰匙中使用了射頻技術,無線射頻鑰匙基本上已經成功取代傳統的機械鑰匙,成為汽車鑰匙的主流。作為信息安全通訊高要求的使用場合,汽車廠商在汽車和汽車鑰匙之間的無線射頻通訊過程中採用了RKE(remote keyless entry,遠程無鑰匙進入系統)[5]和PKE (passive keyless entry,被動無鑰匙進入系統)[6]。PKE/RKE射頻通訊系統都工作在ISM自由頻段(125kHz, 315MHz,434MHz)[7],這兩種系統都有各自的信息安全通訊機制,並且工作方式都有所不同,但是這兩者都採用了滾動碼機制對射頻通信進行安全防護。
滾動碼技術(keeloq)利用一種負載的非線性加密演算法來實現編碼加密[8]。滾動碼本身由固定碼和跳碼組成,其中固定碼是初步認證手段,而跳碼則由作為發送機的鑰匙根據預先存儲在加密晶元中的編碼密碼來產生,在跳碼中包含了鍵值、計算器溢出位、識別碼和同步計數器等信息[9]。在每一次射頻消息的通訊過程中,滾動碼都會重新產生然後作為一個變數添加到所要發送的消息中,這樣每一次加密之後的消息在傳輸中都會變得不同。而接收方可以從之前的通信狀況和預置在汽車中的固定碼中預測滾動碼的下一個值,這樣就可以通過比較鑰匙發送的滾動碼和汽車預測的滾動碼的匹配程序來驗證報文的有效性[10].
在實際應用中,汽車鑰匙向汽車基站發送消息時會攜帶一個滾動碼,汽車在執行命令之前會首先驗證滾動碼正確性,進而判斷射頻信息的正確性。但是滾動碼機制存在一個問題,在設計之初滾動碼被設為在信息傳輸次數達到2^16次時,就可能出現重複的情況[11]。顯然對於當前的技術而言,攻破使用2^16次就重複的滾動碼安全機制並不是難以完成的。因此當某個攻擊者獲取到了多次有效的鑰匙和汽車之間的信息交換情況,那麼整個滾動碼的安全機制就可以通過窮舉的方式找到當前對應的滾動碼,然後攻擊者就可以通過找到的滾動碼進行相應的消息變換之後,將消息發送給汽車使其完成指定的操作,達到攻擊、破壞、竊取財物的目的,對使用者造成經濟損失。
3. 攻擊方式
由於射頻信號採用無線傳輸的通信方式,所以和傳統的有線通信方式相比,針對射頻通信設備的攻擊方式更加多樣化,但是總的歸結起來有以下幾種主要的攻擊方式:
3.1重放攻擊
重放攻擊是針對無線通信的最主要的攻擊方式之一,其原理是在用戶正常使用設備的時候,攻擊者通過射頻信號錄製設備將用戶發送機所發送的正常信號錄製下來,然後通過射頻信號的發送設備將錄製下來的信號發送,使用戶的接收機接收信號,從而執行相應的指令達到攻擊的目的。這種攻擊方式實施簡單、成本低,只需要射頻信號的錄製和發送設備就可以完成。而且攻擊者不需要知道數據的準確含義,僅僅需要了解通信時數據包的作用即可。由於重放攻擊的這種性質,單單使用加密演算法無法防護重放攻擊,因為加密後的數據依然可以使接收機正確執行。由於重放攻擊具有如上特性,所以重放攻擊是目前攻擊者採用的最普遍攻擊方式。
3.2阻塞攻擊
阻塞攻擊是指當用戶發送正確的指令時,攻擊者通過射頻信號發送設備在接收機的通帶範圍內(接收機監聽有效信號的區域)不斷向接收機發送無效的垃圾數據,使用戶的有效信息無法被接收機獲取,從而阻止接收機執行來自用戶的正確指令。如果接收機和發送機之間缺少信息反饋,那麼在這種攻擊方式下,用戶會誤以為接收機已經成功執行指令,但是實際上接收機並沒有收到指令開始執行,有時候這樣做會導致很嚴重的安全問題。
在2015年的黑客大會上,Samy Kamkar就通過阻塞攻擊的方法干擾汽車鑰匙和汽車之間的通信信道,使汽車鑰匙的正確信號在經過干擾後產生畸變。當汽車接收到信號時,會發現信號錯誤,從而不會對當前滾動碼進行改變。同時使用一台射頻信號接收設備錄製汽車鑰匙的正確信號,關閉阻塞信號的發送設備,然後發送完整錄製的汽車鑰匙射頻信號,將阻塞攻擊和重放攻擊結合起來,成功地完成了對車輛車門和車庫自動門的攻擊[12]。敲響了汽車和車庫安全的警鐘。
3.3中繼攻擊
中繼攻擊又被稱為雙賊中繼攻擊,這種攻擊方式是通過其他無線通訊設備、手機網路或者其他延長信息傳遞的距離的手段實現。在這種攻擊方式中,攻擊者首先需要在發送機周圍設置射頻信號的錄製設備完成射頻信號的錄製,再利用一個可支持遠距離通信的設備將錄製下來的信號發送給另外一個遠距離設備,該設備會將信號還原為錄製設備錄製的射頻信號,然後通過射頻信號發送的方式將錄製的信號發送給接收機使其執行相應的指令。
在這種攻擊方式中,攻擊者通過額外的傳輸設備延長了發送機和接收機之間的距離,從而使用戶在不知不覺的情況下,達到遠程控制接收機的目的。但是這種攻擊方式十分耗時耗力,同時攻擊方式也很複雜,技術門檻高,成本高且攻擊者需要接觸到用戶的發送機,攻擊實施的基礎條件十分苛刻。不過和重放攻擊類似,攻擊者不需要了解傳輸中數據包的準確含義,僅僅只需要對信號進行錄製發送即可,除此之外攻擊範圍也不受限制。
3.4前向預測攻擊
與前面的攻擊方式不同,前向預測攻擊需要了解射頻通信過程中數據的具體含義,同時對下一次通信的內容進行預測,然後偽造數據去騙取接收機的信任達到攻擊的目的[13]。這種攻擊方式主要針對的是序列碼機制,當用戶的射頻通信中使用了序列碼之後,重放攻擊會因為序列碼不合法而無效化。但是在前向預測攻擊中,攻擊者通過分析序列碼的結構和產生方式,可以分析出下一個序列碼的數值,此時攻擊者只需要將這個序列碼和載荷數據按照格式進行拼接發送,就可以達到攻擊的目的。序列碼的產生規則如果過於脆弱,那麼極其容易遭受到前向預測攻擊。
3.5字典攻擊
與前向預測攻擊相同,字典攻擊也是針對序列碼機制而產生的一種攻擊方式。並且字典攻擊又和重放攻擊相類似,需要錄製發送機和接收機之間的射頻通信數據。不同的是,字典攻擊需要錄製大量的數據,然後將這些數據存儲在一個字典中。當獲取到足夠的數據時,攻擊者會將這些數據通過射頻信號發送設備不斷地發送給接收機,然後根據接收機的狀態進行判斷,如果接收機對字典中的某一個數據進行了響應,那麼就可以找到當前有效的序列碼,從而進行相應的攻擊。
因為攻擊者始終可以通過無線射頻信號的錄製和發送找到當前的序列碼,所以對於序列碼個數有限的安全機制來說字典攻擊的危害極大。但是字典攻擊的缺陷也在於此,攻擊者在實施攻擊的時候需要不斷地錄製射頻信號並且存儲這些信號,最後還要不斷發送錄製好的射頻信號。字典攻擊的攻擊實施時間很長、成本很高。,但是字典攻擊的成功概率很大,所以攻擊者經常將其作為最後的攻擊手段。
3.6中間人攻擊
中間人攻擊是所有攻擊方式中最難以防範的一種,同時也是實施成本和實施技術要求最高的一種,需要綜合運用大量的攻擊手段。在發送機發送射頻信息的時候,攻擊者會使用阻塞攻擊使用戶的接收機無法收到正確的消息,攻擊者同時會去截獲射頻通信的消息,分析消息的中各項數據的含義和作用,然後再篡改消息中的內容,關閉阻塞攻擊後再將修改後的消息發送給接收機執行。
中間人攻擊的實施相比其他攻擊方式難度更大,但是中間人攻擊對於射頻信息的傳遞來說也更難防範。對於明文傳遞消息的設備,中間人攻擊可以輕易地篡改消息中的數據;而對於密文傳遞消息的設備,如果加密手段被破解,那麼安全機制在中間人攻擊面前也形同虛設。目前,中間人攻擊已經逐漸成為針對射頻通信甚至所有通信方式的主要攻擊手段。
4. 設計需求
對當前現狀和所面對的攻擊方式的研究中可以發現,重放攻擊和阻塞攻擊是點對點射頻通訊設備所面臨的主要攻擊方式。這兩種攻擊方式都非常簡單同時易於實施,而且攻擊成本和技術要求低,僅僅依靠一台價格低廉的無線信號錄製和發送設備就可以完成,然而攻擊者所造成的危害卻不能低估。而目前所普遍採用的點對點發送接收機制對於阻塞攻擊和重放攻擊而言都十分脆弱,所以直接採用這樣的通信機制對於智能機器人來說是十分危險的,容易導致智能機器人被攻擊者控制。
針對重放攻擊最有效的措施就是在所發送的消息中附加上序列碼,這樣可以使每一次發送的消息都有所不同,接收機首先會去驗證所接收消息中序列碼的正確性,而不是簡單地直接執行所接收消息中的指令,這樣就可以有效地防範重放攻擊。但採用序列碼機制需要確保序列碼在發射機和接收機之間是相互可驗證的,所以需要設計一定序列碼產生規則確保接收機和發送機的序列碼能夠同時正常遞變,防止接收機不能正常地接收消息。
僅僅採用序列碼的安全機制同樣也是不夠安全的。簡單的序列碼產生方式容易遭受前向預測攻擊,而有限的序列碼數量對於字典攻擊而言就十分脆弱。為了抵禦這兩種攻擊手段,首先需要保證序列碼的產生規則不容易被破解,同時序列碼在發送機和接收機之間產生的大量通訊消息中,能夠做到不被重複。這樣的設計理念就需要序列碼的數量足夠大,但同時還需要確保產生規則不會發生混亂,也不能過於簡單,這樣產生出的序列碼才擁有足夠大的強度同時防範重放攻擊、前向預測攻擊和字典攻擊。
對於一個可靠的點對點安全通信機制而言,針對中間人攻擊需要採取相應的安全措施。中間人攻擊主要通過截獲發送機和接收機之間正常通信的數據包,並且對數據包中的內容進行了篡改,然後發送給接收機。分析攻擊方式後提出防範中間人攻擊的基本思想:首先需要對數據包進行一定的加密,防止攻擊者可以直接獲取到通信的相關內容。但僅僅加密是不夠的,如果加密措施被破解,那麼攻擊者依然可以發動中間人攻擊,所以還需要其他措施來對數據包中的內容進行驗證。在射頻通信的過程中,為了防範重放攻擊已經使用了序列碼機制,基於減少數據傳輸量的原則以及安全性的考慮,可以將序列碼和發送數據結合起來,使得接收機可以通過序列碼來驗證數據內容是否遭受到篡改。這樣的設計就可以有效地中間人攻擊進行防範,同時節約接收機和發送機傳輸的能量和計算資源。
對於阻塞攻擊而言,可以在接收機和發送機之間的通訊過程中進行防範。當接收機正確接收到來自發送機的數據時,會主動向發送機返回一個應答數據包,通知發送機數據已經準確地到達接收機並且被安全地的執行。這樣的設計就可以防止阻塞攻擊干擾系統運行,同時防止發送機認為指令已經執行,而接收機卻沒有正常執行的情況出現。
另外在發送機和接收機的通訊過程中,還應該考慮到射頻無線通訊設備本身所擁有資源的限制,包括能量、計算能力及存儲空間等。同時還應該考慮到在現有設備中進行升級改造的成本。這些都要求我們所設計出的點對點安全通信機制應該是高效的、簡單的同時又是易於植入的。
5. 要點設計
5.1層次結構設計
點對點無線安全通訊體制基於上述的設計要求需要產生大量的不重複的序列碼,所以在序列碼的產生過程中,引入了SHA-1安全雜湊演算法對序列碼進行處理,這樣就可以防止短時間之內出現序列碼重複的狀況。同時為了能夠更好地分離處理數據和增強的安全機制的可移植性,安全機制採用了如圖1層次結構圖所示的層次結構:
應用層:上層的應用程序,這一層是用戶編寫的程序,通過系統資源的調度和各種數據的處理執行用戶的相關命令。應用層主要處理通過安全層接收數據,或者將需要發送的數據下傳給安全層。
安全層:負責整個點對點射頻安全通訊機制的運行,為應用層發送和接收數據提供相應的介面,也可調用數據層的介面函數來進行數據的發送和接收。在這一層中對數據進行了相應的封裝和加密,使其變得更加安全,防範來自攻擊者的各項攻擊行為。在上層應用進行數據傳輸的時候,安全層是透明的。
數據層:調用相關硬體直接進行實際數據的接收和發送。在接收到數據之後,將所有數據向安全層遞交,或者將安全層下傳的數據直接進行發送。在數據傳輸的過程中,不對數據進行任何處理。
5.2安全層機制設計
安全層在點對點射頻安全通訊機制中處於核心地位,數據的傳輸都是通過安全層進行處理,安全層提供了對數據的安全保障,為所有進行傳輸的數據提供安全性的支持,並且採用消息確認回復機制來確保數據能夠安全從發送機到達接收機。為了防範重放攻擊,安全層中採用了序列碼作為防禦措施。但是在安全層中產生的序列碼方法和傳統序列碼的產生規則不同,安全層使用了的SHA-1安全雜湊演算法來產生序列碼,保證使用的序列碼在發送機和接收機之中都是正常遞變,但同時又是無窮的,從而提高安全通訊機制中安全層對數據的保護能力。而且安全層的設計可以將應用程序和底層的數據發送接收介面分離開,提高安全通訊機制的可移植性,同時降低使用這套安全通訊機制所需的成本。
在安全通訊機制中,發送機的應用層首先將待發送的數據下傳給安全層;安全層收到數據之後,根據序列碼產生規則生成新的序列碼;然後安全層會將新產生的序列碼和數據進行拼接處理,形成新的數據;安全層再對新產生的數據進行加密,最後下傳給發送機數據層進行數據的發送;當數據發送成功後,發送機安全層會設置一個等待回復的時間,如果在這個時間之內都沒有收到來自接收機安全層的回複數據,那麼就說明數據發送失敗,發送機安全層會嚮應用層報告這個錯誤,然後停止等待,回到初始狀態;如果在等待時間之內收到接收機安全層的回復,那麼說明數據已經成功到達,發送機安全層會嚮應用層報告數據發送成功,然後回到初始狀態。接收機的安全通訊機制運行順序如圖2安全層發送機制所示。
接收機在開啟之後,會一直處於數據的等待狀態,直到接收機數據層收到來自發送機的數據之後,接收機的安全層啟動,數據層將接收到的原始接收數據遞交給安全層;接收機的安全層首先會對原始數據數據進行解密,獲取到加密前的數據;然後安全層再根據分離規則分離出數據中的序列碼和應用層數據;之後,接收機的安全層會判斷分離出的序列碼的合法性,如果序列碼非法,則直接丟棄數據,然後接收機回到數據等待狀態;如果序列碼有效,那麼接收機安全層會將應用層數據遞交給應用層,由應用層對數據進行解析,從而執行相關的命令操作;同時接收機確認序列碼有效後,接收機的安全層就會調用數據層回複發送機一個消息,表示自己成功接收到數據。接收機的安全通訊機製圖運行順序如圖3安全層接收機製圖所示。
5.3序列碼產生規則設計
在點對點安全通訊機制中,序列碼在安全層中起到了最為關鍵的作用,所以為了使序列碼足夠安全,在序列碼的產生規則中引入了SHA-1安全雜湊演算法來對新序列碼進行處理。保證序列碼在發送機和接收機的通訊過程中不會重複,從而抵禦字典攻擊的窮舉爆破。SHA-1演算法相較於其他安全雜湊演算法來說,其運算複雜度較低,同時又具有很好的安全性[14],並且國內外有許多關於降低SHA-1安全雜湊演算法的運算複雜度的研究,在這些研究中都提出相應的方法來提高SHA-1演算法的運算速率,降低SHA-1演算法的資源消耗[15]。而且當前微電子技術和大規模集成電路技術發展迅速,各種晶元的運算能力都有了很大的提高,進一步為SHA-1安全雜湊演算法在安全通訊機制中的使用奠定了堅實的基礎。
首先,安全通訊機制在進行工作之前,接收機和發送機的安全層都會去尋找是否有序列碼,如果有序列碼,那就將其作為當前序列碼;如果沒有就使用設定好的初始值,依靠SHA-1安全雜湊演算法生成一個40bit的序列碼,並將其作為當前序列碼。
對於發送機而言,在通訊過程中,安全層會將應用層下傳的數據和當前序列碼按照拼接混淆規則拼接在一起形成一個新的數據;然後安全層會對數據進行一系列位操作和加鹽操作作為對數據的混淆;最後將混淆後的結果作為SHA-1安全雜湊演算法初始報文獲取160位報文摘要,最後進行演算法主循環運算;將運算出的40bit的數據作為發送序列碼,並且將發送序列碼和應用層下傳的數據按照拼接規則拼接在一起之後,進行相應的加密;最後把加密數據下傳給數據層進行發送,確定數據發送成功後,將發送驗證碼作為新的當前序列碼,然後等待來自應用層的數據,重複執行上述操作;如果數據發送失敗,則不改變當前序列碼,丟棄發送序列碼。
對於接收機而言,在開啟後會一直等待來自發送機的數據;再獲取到發送機數據之後,會將接收數據中的應用層數據和自己的當前序列碼進行拼接;然後通過SHA-1安全雜湊演算法產生新的序列碼;將這個序列碼和接收到的序列碼相互比對,如果比對成功,則將新的序列碼作為當前序列碼,同時確認消息接收成功;如果比對失敗,就丟棄接收到的數據,丟棄新的序列碼,不改變當前序列碼。
新序列碼的產生在發送機和接收機之間都遵循相同的產生規則,同時如果序列碼比對不上不會改變當前序列碼,這樣可以保證序列碼在接收機和發送機之間都是有規律地進行遞變,防止二者的序列碼出現不同的狀況,從而影響數據的傳輸效率。序列碼的產生順序如圖4序列碼產生規則圖所示。
5.4 關鍵安全措施分析
序列碼機制
針對重放攻擊最有效的安全措施就是序列碼機制。在序列碼的作用下,發送機每一次發送的數據都會添加上一個序列碼,使每一次的數據都會有所不同。接收機在接收到消息時,首先會取出數據中的序列碼進行序列碼有效性的判斷。當序列碼正確時,接收機才會遞交數據至應用層;當序列碼錯誤的時候,接收機會直接丟棄數據,而不會去執行數據中攜帶的相應指令。所以當攻擊者採用錄製數據然後發送數據的方式對系統進行重放攻擊時,消息中的序列碼是不會改變的,所以接收機會由於序列碼錯誤,而直接丟棄數據,從而杜絕重放攻擊對於系統的影響。
回復機制
阻塞攻擊是目前最簡單的攻擊方式,而且在很多場合下,射頻信號容易產生干擾導致出現通訊失敗的情況,所以需要有回復機制來保證發送機的消息能夠被接收機正確地接收到。所以在點對點安全通訊機制中,當接收機正確接收到來自發送機的消息之後,接收機會回複發送機一個消息,通知發送機其所發送的數據已經被正確接收。接收機的回復機制有利於發送機序列碼的正確遞變,當發送機接收到來自接收機的回復時,就可以確認當前的序列碼是正確的,防止出現一方的序列碼不斷變化而另外一方卻始終保持不變的現象,導致消息在發送機和接收機之間不能正常傳遞。而且由於回復機制的存在,發送機可以獲知消息是否被接收機正確接收,從而防範阻塞攻擊對系統的影響。
數據拼接混淆規則
在序列碼的產生過程中,SHA-1安全雜湊演算法的初始報文數據是由上一次序列碼和應用層數據按照數據拼接混淆規則拼接而成。在拼接混淆規則中,採用點對點射頻安全通訊機制的發送機和其所匹配的接收機之間的拼接混淆規則是相同的;不匹配的發送機和接收機各自都有自己的拼接混淆規則。拼接混淆規則中主要包括移位、加鹽、拼接方式等。不同的拼接混淆規則都是相互獨立的,並且是不重複的,這樣可以保證每一對匹配的發送機和接收機的序列碼都獨立於其他設備,防止攻擊者再破解一套設備後,危害到其他設備。在產生初始報文數據時,上一次序列碼會根據拼接混淆規則的設定插入到應用層數據中,然後進行移位和加鹽操作。
數據拼接混淆規則在點對點射頻安全通訊機制的設計中具有非常重要的地位,為序列碼提供了保護措施。拼接混淆規則需要上一次序列碼和應用層數據生成初始報文數據。用戶的應用層數據會由於用戶輸入的不同具有一定的隨機性,而且序列碼在通訊機制中進行了循環調用,每一次調用時都會有所變換,所以每一次生成的初始報文數據都是不相同的。這樣就可以保證SHA-1安全雜湊演算法輸出的160位報文摘要都會不斷變化,使序列碼不會出現重複的情況,抵禦字典攻擊對安全通訊機制的影響。
數據拼接混淆規則的使用同樣可以防範中間人攻擊和前向預測攻擊。在數據傳輸的過程中,很多安全措施對於數據秘密性的保護都是基於加密演算法,但是過於複雜的加密演算法在使用點對點安全通訊機制的設備中往往會因為過於複雜而無法使用。在本安全通訊機制中雖然採用了加密演算法加密傳輸的數據,但是數據傳輸的安全性不單單依靠加密演算法的安全性,還有數據拼接混淆規則對應用層數據進行保護。當加密演算法被破解之後,攻擊者可以獲取到用戶的應用層數據,但是對數據進行修改是無效的。因為在新序列碼的產生過程中,引入了應用層數據,序列碼中攜帶了應用層數據的信息。而且每一次用戶應用層數據的改變,都會導致之後一系列序列碼的改變,使序列碼變得不可預測。這樣,序列碼就可以用來防範中間人攻擊和前向預測攻擊,而不再僅僅作為防範重放攻擊的一種手段。在這樣的安全設計中,擴大了序列碼在安全應用中的作用,同時沒有增加需要傳輸的數據量。
SHA-1安全雜湊演算法
SHA-1安全雜湊演算法是點對點射頻安全通信機制序列碼的產生規則的核。安全層通過SHA-1演算法保證序列碼的不可重複性,同時維持安全通訊機制正常運行。SHA-1安全雜湊演算法主要負責在接收初始報文數據之後,對初始報文以512位為單位進行分組,然後通過SHA-1演算法的循環運算獲取到160位的報文摘要數據作為新的序列碼。由於序列碼產生規則中引入了SHA-1安全雜湊演算法,所以序列碼的取值空間為2的160次方[16],而產生初始報文的規則確保了初始報文數據在安全通訊機制運行的過程中不會出現重複。
安全通訊機制在安全層使用SHA-1安全雜湊演算法以循環的方式產生了近乎無限的新序列碼,同時新的序列碼將在其2的160次方的取值空間內不斷進行變換。當攻擊者採用字典攻擊對點對點安全通信機制進行攻擊時,序列碼2的160次方的取值空間和序列碼循環變化機制足以保證攻擊者依靠抓取擊者依靠抓取通信過程消息建立的數據字典中不會出現序列碼相同的情況,導致攻擊者在發送所抓取到的消息時,接收機不會採取任何動作進行響應,成功抵禦字典攻擊的影響。
當SHA-1安全雜湊演算法對初始報文數據進行處理之後,會生成160位新序列碼將其和應用層數據組合,然後加密之後進行傳輸。當攻擊者截獲完整的通訊數據並且破解了傳輸加密演算法時,攻擊者就可以獲取到序列碼和應用層數據。由於序列碼中攜帶了應用層數據的信息,攻擊者僅僅修改應用層數據是無效的。所以攻擊者會嘗試偽造序列碼進行通信,但是在點對點射頻安全通訊機制中序列碼通過SHA-1安全雜湊演算法產生,而SHA-1安全雜湊演算法具有單向性,所以攻擊者不可能僅僅根據抓取到的序列碼和應用層數據反推出數據拼接混淆規則,從而偽造出正確序列碼,騙取用戶接收機的信任,執行攻擊者設定的指令。SHA-1安全雜湊演算法的單向性可以保證數據拼接混淆演算法的安全性,進而提高整個系統的安全性。
6. 具體過程
點對點安全通信機制主要設定發送機和接收機的安全層中都有相同的種子seed,通過位操作和加鹽操作的salt()函數進行信息的混淆,安全雜湊演算法SHA-1()產生新的序列碼,加密操作encrypt()和對應的解密操作decrypt()。
在加密解密操作中,由於安全通訊機制是運行在計算能力低下的MCU晶元上,所以硬體本身限制了運算速度和運算資源。在為安全通訊機制選擇加解密演算法的時候,要注意加解密演算法的運行的速度以及對於運算資源的消耗,所以選擇的演算法的加解密過程不能過於複雜。當應用點對點安全通信機制的設備安全性等級要求很高時,就可以採用硬體加密加速電路的方法來對傳輸的數據進行加密。這樣可以在安全通信機制中使用更加複雜的加密演算法,同時也能保證加解密演算法運行的速度。發送機和接收機之間通信過程如圖5點對點射頻安全通訊機制總流程圖所示;安全通訊機制在發送機的運行流程圖6發送機流程圖所示;安全通訊機制在接收機的運行流程圖7 接收機流程圖。
點對點射頻安全通訊機制的具體通訊過程如下:
1.開啟發送機之後,發送機的安全層首先會去尋找是否有序列碼保存在本地,如果找到就將其作為當前序列碼now_Serial;如果沒有,那麼當前序列碼now_Serial=SHA-1(seed)。而開啟接收機之後,接收機的安全層同樣會去尋找是否有序列碼保存在本地,與發送機不同的是,接收機所保存的序列碼有兩個,一個是當前接收序列碼Renow_Serial,另外一個是上一次接收序列碼Relast_Serial。同樣如果發現沒有序列碼保存,那麼接收機也會調用SHA-1()函數去生成序列碼。
當發送機的安全層收到應用層數據Data時,安全層會將應用層數據Data和當前序列碼now_Serial進行拼接形成新的數據Data_Serial,然後將使用位操作和加鹽操作salt()對數據Data_Serial進行混淆,最後用SHA-1安全雜湊演算法對Data_Serial進行運算,獲得160位的發送序列碼Send_Serial。
2.發送機的安全層最後會將發送序列碼和數據Data合併後使用encrypt()函數進行加密,將加密後的結果Encrypt_Data轉交給數據層進行發送,同時發送機在安全層設定好的等待周期內,在這個周期內等待接收機的回復。
3.接收機在接收到數據Encrypt_Data之後,會調用decrypet()函數進行解密,然後將解密之後的數據分解為Data和Send_Serial。再將數據Data和Renow_Serial拼接在一起生成Data_Serial,調用位操作和加鹽操作函數salt()進行處理,最後將結果使用SHA-1()函數進行運算,獲得新的接收序列碼Renew_Serial。
4.根據4中的運算結果Renew_Serial,將其和接收到發送的序列碼Send_Serial比較,看其是否相同。如果相同,那麼先修改當前接收序列碼Renow_Serial和上一次接收序列碼Relast_Serial的值。然後將序列碼Renew_Serial使用encrypt()函數加密生成Encrypt_Data2,再將Encrypt_Data2轉交給數據層進行發送,最後將數據上交給應用層進行相應的處理。若不相同則執行步驟6。
5.將數據Data和Relast_Serial拼接在一起重新生成Data_Serial,調用位操作和加鹽操作函數salt()對Data_Serial進行處理,最後將結果使用SHA-1()函數進行運算,獲得新的接收序列碼Renew_Serial。
6.根據6中的運算結果Renew_Serial,將其和接收到發送的序列碼Send_Serial比較,看其是否相同。如果相同,那麼先修改當前接收序列碼Renow_Serial和上一次接收序列碼Relast_Serial的值。然後將序列碼Renew_Serial使用encrypt()函數加密生成Encrypt_Data2,再將Encrypt_Data2轉交給數據層進行發送,,最後將數據上交給應用層進行相應的處理。若不相同則丟棄數據,重新等待發送機數據。
7.發送機在等待周期內接收到接收機的回復之後,會對接收到的數據Encrypt_Data2進行解密,然後將解密後的結果Renew_Serial和Send_Serial相互比較,如果相同則認為數據發送成果,修改now_Serial的值,嚮應用層報告數據發送成功;若不同,則嚮應用層報告數據發送失敗。如果沒有在等待周期之內收到回復,安全層也嚮應用層報告數據發送失敗。安全層重新等待來自應用層的待數據。
1. 測試過程及測試結果
在點對點射頻安全通訊機制設計完畢之後,需要對通訊機制的安全措施進行測試。根據測試結果評估採用安全通訊機制後系統的安全性和可行性。安全測試的過程中,需要驗證安全措施對於現有攻擊行為的防禦能力,同時避免新的安全威脅。安全測試的樣本選擇市場上已有的設備,對其發送機和接收機之間的通訊過程進行相應的安全測試。然後對具有缺陷的設備進行升級改造,在設備發送機和接收機的主控晶元中添加設計好的點對點射頻安全通訊機制,然後進行同樣的安全測試,給出測試結果。
7.1實現平台及效果
點對點射頻安全通訊機制在arduino平台上使用C語言進行實現,採用的arduino具體硬體為arduino最通用的arduino UNO R3版本。整個安全通訊機制採用了分層的協議架構,代碼量精簡,同時實現速度較快。同時使用在安全通訊機制中的SHA-1安全雜湊演算法代碼還具有優化的餘地,安全機制本省也可以進一步進行精簡,所以還能減少通訊機制的代碼量;而如果設備對於代碼運行速度的要求較高,那麼可以引入最新的SHA-1安全雜湊演算法運行規則來提高速度,甚至可以設計特殊的硬體加速電路來完成SHA-1安全雜湊演算法的加速運行,減少SHA-1演算法的運行時間[17]。
通過arduino開發平台自帶的代碼統計工具可以統計出如下表所示的資源消耗情況:
從表格中可以發現實現發送機通訊安全機制佔用的程序存儲空間為5292B,佔用的全局變數存儲空間為185B;實現接收機安全通訊機制的佔用的程序存儲空間為5314B,佔有的全局變數存儲空間為194B。而arduino這款硬體本身具有32256B的程序存儲空間和2048B的全局變數存儲空間,所以實現點對點射頻安全通訊機制所需要消耗的計算資源在硬體本身可允許的範圍內,不會造成大量的資源消耗。同時在對代碼運行時間進行大概統計之後,發現發送機運行安全通訊機制耗費的時間在等待接收機的回復過程中,這個時間會隨著發送機和接收機之間的通信環境而有所改變,同樣當接收機收到消息後,執行程序所耗費的時間為8ms。因此目前發送機和接收機代碼的運行速度已經滿足了大多數系統運行的需求。
7.2升級改造步驟
待測試設備為遙控小車系統,主要由作為發送機的遙控器和作為接收機的小車組成,如圖8測試設備圖所示。在對小車和遙控器進行升級改造的過程中,為簡化改造步驟,選擇使用目前最流行最方便的開源硬體arduino作為點對點安全通訊機制的實現平台;為了和原始小車進行對比,射頻通訊頻率同樣選擇433MHz頻段;在對小車和遙控器成功完成升級改造後,採用Hackrf one作為攻擊實施的設備對小車進行阻塞攻擊和重放攻擊的處理;由於點對點安全通訊機制中引入了序列碼機制,所以對於升級後的小車和遙控器來說還需要防範針對序列碼的字典攻擊和前向預測攻擊,所以為了便於實驗的測試,遙控器和小車上都會和電腦使用串口相連,讀取二者接收到的數據,模擬攻擊者使用無線電設備對射頻信號進行偵聽和還原,從而破解獲得序列碼。
7.3升級前安全測試
攻擊設備選擇Hackrf One,採用的攻擊方式為重放攻擊。首先,將Hackrf One和電腦相連,開啟Hackrf One進行一系列的準備工作;準備工作完成後,開啟小車和遙控器,然後進行互相通訊;此刻在連接Hackrf One的電腦上可以觀察到小車和遙控器的工作頻段在433MHz附近;確認頻段後,使用Hackrf
one針對這個頻段進行遙控器和小車之間的通過過程的錄製;錄製成功之後,在使用Hackrf One將錄製好的數據對小車進行發送;在小車接收到來自Hackrf One發送的數據之後,小車開始執行數據中的指令。小車在受到重放攻擊的情況如圖8改造前重放攻擊成功示意圖所示。使用相同的設備對小車進行阻塞攻擊時,同樣將Hackrf One和電腦相連;完成準備工作後,在電腦上準備好一段無序的雜訊數據,然後使用Hackrf
One將這一段雜訊數據發射到小車和遙控器的工作頻段433MHz上;然後使用遙控器控制小車,可以發現,在雜訊數據的干擾下,小車並不能正常接收遙控器的指令採取設定好的動作,而遙控器上並不能對小車是否正確接收指令進行判斷。在對待測試設備的安全測試中,可以發現待測試設備沒有抵禦重放攻擊和阻塞攻擊的能力,小車和遙控器之間的通訊機制過於簡陋,僅僅只是滿足了二者之間的通訊要求,而沒有對數據的來源進行校驗,在整個通訊過程中沒有任何安全性方面的考慮。攻擊者不但可以通過簡單的重放攻擊就可以接管接收機,使其執行攻擊者設定的指令;而且還可以使用阻塞攻擊對小車和遙控器之間的通信信道進行破壞,從而使小車不能正常接收到來自遙控器的指令進行相應的操作。小車在面對重放攻擊和阻塞攻擊方面不足可以通過在小車通信過程中使用點對點射頻安全通訊機制來彌補,使其具有較強的抗攻擊能力。
7.4升級後測試
成功進行遙控器和小車的升級改造之後,需要對二者間的工作過程進行相應的安全測試。我們首先對升級改造後的小車進行重放攻擊的測試。和原來的測試方法相同,先使用Hackrf One錄製小車和遙控器之間通訊過程的數據,然後將數據保存下來,再使用Hackrf One對錄製下來的信號進行重新發送。可以發現升級改造後的小車由於安全通訊機制中序列碼的匹配要求,發現Hackrf One發送的數據中序列碼無法匹配之後,直接將Hackrf One發送的數據丟棄,所以沒有執行數據中設定的操作,而是保持原有狀態。實驗結果可以表明,點對點安全通訊機制防範來自重放攻擊的安全威脅。升級後,小車在受到重放攻擊的情況如圖9改造前重放攻擊成功示意圖所示。
在使用Hackrf One對小車進行阻塞攻擊時,Hackrf One通過在小車和遙控器之間的通訊頻段內發送雜訊數據,干擾了信道的正常通信功能。但是作為發送機的遙控器當沒有接收到回復時,會將arduino UNO R3上的一盞LED燈變亮,以此告訴用戶數據發送失敗。這個功能在其他設備中可以加以引申,例如可以設定為超時重傳等,有效地防止由於無線電環境的干擾導致數據傳送失敗,引發的系統錯誤。
由於在點對點安全通訊機制中使用了序列碼,所以需要對系統進行前向預測攻擊和字典攻擊方面的安全測試來保證系統序列碼的安全性。在小車和遙控器之間的通訊過程中由於加密演算法的存在,數據的真實含義無法被破解,同時由於安全通訊機制中SHA-1安全雜湊演算法和數據拼接混淆規則的共同作用,序列碼無法被針對性地進行預測,防範前向預測攻擊。同時由於SHA-1演算法生成的結果取值範圍為0到2的160次方,所以字典攻擊在面對海量的序列碼時,也無法對點對點安全通訊機製造成有效的安全威脅。通過這樣的設計保證了序列碼的安全性。
1. 優勢
針對智能機器人領域對於通訊的高安全性需求,提出的點對點射頻安全通訊機製為了防範普遍存在的重放攻擊,採用了序列碼的思想對現有的射頻通訊機制進行安全改造。但是和傳統的生成序列碼的機制不同,在安全通訊機制中不再以一個固定的演算法產生序列碼,而是使用SHA-1安全雜湊演算法對已有序列碼進行不斷地迭代,每一次迭代的結果都作為一個序列碼使用。同時在序列碼迭代的過程中,每一次SHA-1安全雜湊演算法運行的初始報文數據,都是由原有的序列碼和應用層數據按照自定義的數據拼接混淆規則生成,通過用戶數據的隨機性和序列碼迭代替換,保證每一次迭代開始時的初始報文數據都不相同。這樣設計的安全性在於,序列碼可以隨機分布在2的160的取值空間內,保證序列碼的隨機性和序列碼的數量,是序列碼在發送機和接收機的通訊過程中不出現重複的情況並且變得難以預測。不像傳統序列碼生成機制出現序列碼數量有限,或者序列碼生成規則過於簡單導致的序列碼被攻擊者破解從而影響用戶系統的安全。
由於在序列碼的產生規則中引入了用戶的應用層數據和SHA-1安全雜湊演算法,所以在序列碼中包含了傳輸數據的信息。通過這一方式確保了傳輸中的數據不再是孤立的,而是和序列碼相互關聯。序列碼和應用層數據這種聯繫可以對中間人攻擊時進行有效的防範。當攻擊者截獲數據同時破解傳輸加密演算法時,暴露給攻擊者的數據為序列碼和應用層數據。如果攻擊者僅僅修改應用層數據發動中間人攻擊時,接收機通過校驗序列碼獲知數據錯誤,從而丟棄攻擊者發送的數據包。當攻擊者對序列碼進行修改時,由於產生序列碼過程中引入了SHA-1安全雜湊演算法,SHA-1演算法具有的單向性保護了數據拼接混淆規則,從而使攻擊者無法偽造出序列碼中間人攻擊的安全威脅進行有效地防範。
點對點射頻安全通信機制通過序列碼的設計保證了數據在傳輸過程中的保密性和完整性。同時針對序列碼的弱點進行了相應的預防,使點對點安全通許機制變得更加安全。安全通訊機制可以滿足智能機器人對於點對點數據安全通訊的需求,提高智能機器人在信息通訊的過程中抵禦重放攻擊的能力。而當通信環境較差或者遭受到阻塞攻擊時,也可以對用戶進行相應的安全提示,對信息傳遞的可靠性進行安全保障。同時在通信中,通過序列碼和應用層數據的巧妙結合,可以驗證是否有攻擊者對智能機器人的傳輸信息進行篡改,同時避免來自攻擊者的中間人攻擊。最後,點對點安全通訊機制採用的是分層結構設計,安全通訊機制的運行對於用戶來說是透明的,只是向上提供了一組可供調用的數據傳輸介面。對於現有的智能機器人來說,只需要提供給安全通訊機制一組數據傳輸的介面即可。升級改造這一切可以只在軟體方面進行,而不需要增加額外的硬體,升級改造的成本低,而且十分方便快捷,不需要耗費大量的人力物力。但是可以有效地提高智能機器人系統的安全性,使其可以面對更加複雜的通訊環境。
2. 展望
目前,在使用點對點射頻無線通訊的場合中,許多設備都沒有相應的安全機制來驗證所接收數據的來源,無法確保數據的安全性,這些限制了點對點射頻通訊在智能機器人方面的使用。本文中提出的基於SHA-1安全雜湊演算法的點對點射頻安全通訊機制可以提高發送機和接收機之間通訊的安全性,採用序列碼的作為核心思想從而防範重放攻擊。同時針對中間人攻擊進行了相應的預防,接收機可以通過序列碼的對比丟棄遭受過篡改的可以數據,提高了無線通信的安全性。
在點對點射頻安全通訊機制中的設計中,主要採用了分層的設計思想,將提供安全通信的功能都集中在設計好的安全層中,向上層提供相應的發送和接收數據的介面,同時安全層調用原來的發送和接收數據的函數進行信息的收發。對於上層應用而言,安全層是透明的。通過這樣的設計,可以降低點對點社評安全通訊機制的移植難度,擴大應用範圍。不僅為智能機器人等安全性高要求領域的使用點對點射頻通訊設備提供了安全可靠的基礎,還能夠對現有的設備進行安全性能的提高。
參考文獻
[1] 王金川,覃真,韓煌. 射頻技術發展現狀與應用[[J]. 電子技術應用,2007, 33
(7).[2] 無線物理層安全傳輸關鍵技術研究[D]. 熊俊. 國防科技大學,2014
[3] 黃辰, 李可維, 張偉等.無線物聯網中基於網路編碼的能量受限數據傳輸機制[J]. 電子學報, 2013(1): 144-147.
[4] 王國波. 紅外無線數據通信研究[J]. 中國新通信, 2017
(7) : 30-30[5] Ansaf Ibrahem Against Alrabady, Syed Masud
Mahmud. Analysis of Attacks Against the Security of Keyless-Entry Systems for Vehiclesand Suggestions for Improved Designs [J].Vehicular Technology, 2005 41-50.[6] Microchip Technology Inc. Passive
Keyless Entry (PKE) Reference Design Users Manual[EB/OL].http://www.microchip.com/pagehandler/en-us/technology/automotive/applications/passive_keyless_entry.htm1.2010-02-22.[7] 張潔, 基於RFID技術的智能門禁系統設計[D], 河北科技大學, 2010.
[8] 李琳, 李瑞林, 謝瑞強等. Keeloq和SHACAL-1演算法的差分故障攻擊[[J]. 武漢,武漢大學學報(理學版), 2008: 54(5), 507-512.
[9] 袁剛, 侯整風. PKE系統中滾碼技術的軟體實現[J]. 合肥工業大學學報(自然科學版),2009(12)1859-1861.
[10] 智能車鑰匙系統及其安全防護研究與設計[D]. 李濱.
吉林大學,2016.[11] 丁飛, 余水寶. 遠程防盜汽車PKE系統設計[J].電子科技. 2012: 25 (7) 118-124.
[12]
Craig Smith, Chris Evans. The Car Hacker』s Handbook[M]. 北京: 清華大學出版社, 2017: 195-198.[13] Joshua
Wright, Johnny Cache. Hacking Exposed Wireless: Wireless Security Secrets &Solutions[M]. 北京: 機械工業出版社, 2016: 302-305.[14] FIPS PUB
180-1, Secure Hash Standard(SHA-1)[S].National Institute of Standards andTechnology (NIST),1995[15] 杜曉婧, 李樹國. SHA-1演算法的高速ASIC實現[J]. 微電子學與計算機. 2016: 10 (33) 19-27.
[16] Eun Hee Lee, Jc
Hoon Lee, Ⅱ HwanPark,et al, Implementationof high -speed SHA-1 architecture[J]. IElCE Electronics Express,2009,16(6):1174-1179.[17] 快速實現SHA-1演算法的硬體結構[J]. 黃諄,白國強,陳弘毅. 清華大學學報:自然科學版,2005, 45 (1)
推薦閱讀:
※業界 | 網路安全十大坑,坑坑致命!!!
※互聯網科技文里不得不說的高頻術語——桃灼科技
※王煜全前哨大會14000字完整演講:人與人真正的區別不是智商、情商,而是經歷
※用戶流doubel的失敗增長黑客案例