基于KEELOQ跳碼技術(shù)的密碼系統設計
傳統編譯碼芯片如VD5026,VD5027,MCI45026,MCI45027等已經(jīng)在防盜、安全等系統得到廣泛的應用,這些芯片簡(jiǎn)單易用,但具有很大的缺陷:編碼量少而極易重碼;密碼長(cháng)度短(一般為8-12位,最多不超過(guò)16位),因而數據極易被掃描和破譯,不能滿(mǎn)足高安全場(chǎng)合的需要。
基于KEELOQ技術(shù)的跳碼芯片則克服了以上兩個(gè)缺陷,較好地解決了密碼的防盜問(wèn)題,所謂跳碼,就是密碼不是固定的,而且不斷跳動(dòng)變化的,是為滿(mǎn)足高性能要求而設計的,跳碼芯片的使用十分簡(jiǎn)便,只要在第一次使用前,編譯碼器進(jìn)行一次"學(xué)習",使編譯碼器的密碼同步,通常一個(gè)譯碼器可以支持多個(gè)編碼器,再加上其電壓使用范圍寬,功率消耗極小,因此成為傳統編譯碼器的理想升級換代產(chǎn)品。
2 跳碼核心技術(shù)--KEELOQ技術(shù)
使用KEELOQ技術(shù)的編碼器每次發(fā)出的密碼都不同,只有配對的譯碼器能準確譯出收到的密碼,使用不配對的編、譯碼器或重復發(fā)送譯碼器曾收到的密碼等均告知無(wú)效。即使編碼器發(fā)送出的碼在譯碼器方?jīng)]有收到,也不會(huì )影響以后的正常使用。這一切歸功于芯片內強大的微處理器及KEELOQ獨特的同步算法。
跳碼芯片的密碼雖是一大串幾乎隨機的亂麻,但實(shí)際毫不紊亂,密碼包括2部分:
(1)跳碼,編譯器每次產(chǎn)生的都不一樣,產(chǎn)生后就被加密;
(2)在傳輸過(guò)程并不加密,主要包括編碼器的系列號,在與譯碼器的配套使用中作識別信號。
跳碼包括功能信息、辨別碼以及同步計數器、通過(guò)一個(gè)加密算法加密后再傳送出去。跳碼芯片在使用前必須預置序列號、加密鑰匙、同步計數器、發(fā)送方和接收方一起工作前,接收方必須先通過(guò)"學(xué)習"來(lái)獲得并存儲發(fā)送方的序列號、加密鑰匙和當前同步計數器的值。
硬件實(shí)現KEELOQ技術(shù)加密過(guò)程如圖1所示。
![]() |
在KEELOQ技術(shù)中"學(xué)習"功能是一個(gè)重要部分,"學(xué)習"包括清除原來(lái)的存儲的信息和學(xué)習新的信息,每對跳碼型編譯碼器在使用前都要至少單向"學(xué)習"一次,密碼在第一次配對使用時(shí)是隨機產(chǎn)生的亂碼。然后把要配對的編碼器的密碼傳進(jìn)譯碼器,譯碼器就會(huì )學(xué)習和存儲這一次的安全代碼,從此這一對譯碼器的密碼就按照同一套跳變碼算法同步變化,譯碼器以后每次就能準確譯出編碼器的密碼,同時(shí),這一存入的安全代碼被作為無(wú)效碼參考,再收到同樣的密碼就會(huì )視而不見(jiàn),因而能有效地防止偷碼冒用。
最后,譯碼器設計了一套容錯算法,他不但能預知配對的編碼器的下一個(gè)密碼變化,而且能預知他以后256次的變化碼,并都能準確譯出,這樣,即使發(fā)射器被亂按了好多次不為譯碼器所知,但都能依舊保護默契配合,保持了極好的跳變譯碼能力和抗截碼的功能。
![]() |
3 應用電路
3.1 HCS301跳碼編碼器的管腳及其功能
HCS301跳碼編碼器的引腳排列如圖3所示。
![]() |
引腳1-4:S0-S3,數據輸入通道,其中S2,S3在編程狀況時(shí)可作為時(shí)鐘輸入,引腳5:VSS,電源地;引腳7:LED,指示工作狀態(tài)及低電壓指示,可直接驅動(dòng)LED,低壓時(shí),指示燈將以5次/秒的頻率閃爍;引腳8:VDD,電源,工作電壓為+3.5-+13.0V。
編碼器 HCS301發(fā)出的密碼長(cháng)66位,由34位的固定碼和32位由KEELOQ算法產(chǎn)生的加密碼組成,固定碼主要包括28位的系列號(每個(gè)編碼器獨一無(wú)二),還含6個(gè)狀態(tài)位,其中2位顯示號碼是否重復、電源是否低壓;另外4位狀態(tài)位為4位的功能信息(即按鍵輸入組合情況)。32位的加密碼中含4位功能信息,以及12位的辨別碼(判斷譯碼過(guò)程是否有效)和16位同步計數器值。每次按下命令控制鍵時(shí),譯碼器的同步計數器的值加1,從沖擊的角度看,有一半的位將發(fā)生改變,因此相鄰的密碼將大相徑庭。一個(gè)相當長(cháng)的時(shí)期內,密碼將不會(huì )重復,不重復次數可達64K(216),有人統計過(guò),如果每天按10次,那么要經(jīng)過(guò)18年密碼才有可能重復。
HCS301還具有獨特的電源自動(dòng)關(guān)閉功能,即只有在有編碼信號時(shí)才進(jìn)入工作狀態(tài),靜態(tài)功耗極低,降低了電源功耗。通過(guò)二極管陣列,HCS301最大可實(shí)現15個(gè)功能。
3.2 TDH6301跳碼譯碼器的管腳及其功能
TDH6301跳碼譯碼器的引腳排列如圖4所示。
![]() |
引腳1:VDD,電源,一般接+5V;引腳2:LEARNIN,"學(xué)習"鍵;引腳3,LEARNLED,"學(xué)習"指示輸出;因該4:MCLR:譯碼器復位端口;引腳5:LMS,上拉時(shí)鎖存輸出,下拉時(shí)暫存輸出;引腳6:NC(D5),空引腳;引腳7:NC(D4),空引腳;引腳8- 11,D0-D3,數據輸出端;引腳12:VT,接收信號有效輸出;引腳13:RFIN,接收信號輸入;引腳14:VSS,接地。
TDH6301與編碼芯片(HCS300或HCS301)配對使用,可省去了煩瑣的編碼和配對。他有兩種輸出方式,當TDH6301的5端懸空時(shí)為脈沖型電平輸出方式,即無(wú)接收信號時(shí),數據輸出將保持約500ms;當TDH6301的5端接法如圖4所示時(shí)為鎖存型電平輸出方式,即輸出電平將保持到有其他輸出口接收信號時(shí)為止。
TDH6301的輸出狀態(tài)由"學(xué)習"過(guò)的編碼器決定,即對應的按鍵輸入組合產(chǎn)生對應的輸出組合,因而通過(guò)門(mén)電路組合TDH6301的輸出能夠實(shí)現15個(gè)功能。
3.3 應用電路圖
HCS301的應用電路非常簡(jiǎn)單,只需要幾個(gè)按鍵和幾個(gè)電路和電容就可實(shí)現,如果用于無(wú)線(xiàn),還需要RF(射頻)電路,圖5為具有4個(gè)功能的編碼電路,通過(guò)二極管陣列任意組合S0-S3,HCS301最多可擴展到15個(gè)功能。在傳輸的過(guò)程中,指示燈將被點(diǎn)亮。如果HCS301檢測到有新的按鍵下,復位將立即產(chǎn)生,密碼將無(wú)法完整的發(fā)出。
![]() |
相應的譯碼電路圖如圖6所示,譯碼器的RFIN端接收譯碼器PWM端輸出的信號:
![]() |
TDH6301譯碼器最多可支持15個(gè)譯碼器,只需經(jīng)過(guò)上述學(xué)習步驟,就可實(shí)現,當編碼器學(xué)習溢出時(shí)(即超過(guò)15個(gè)編碼器時(shí)),譯碼器會(huì )從頭開(kāi)始自動(dòng)覆蓋并作廢最早一個(gè)已學(xué)習的譯碼器,長(cháng)按學(xué)習鍵超過(guò)8s,待學(xué)習燈LED熄滅后,譯碼器自動(dòng)清除存儲器里的記憶內容,這樣就可讓遺失的編碼器失效而作廢,但此時(shí)所有的編碼器都失效,因此,所有的編碼器需重新進(jìn)行學(xué)習一遍才可正常使用。
4 結語(yǔ)
譯碼芯片TDH6301有2種工作方式,可方便地選擇,跳碼芯片經(jīng)過(guò)擴展,可以具有15個(gè)功能,跳碼技術(shù)的關(guān)鍵在于:對于同一動(dòng)作(如開(kāi)門(mén)),編碼器每次發(fā)出的編碼卻有極大不同,發(fā)過(guò)的碼字被記錄,重發(fā)也視為無(wú)效。且碼字具有足夠的長(cháng)度,保密性很高,足以抵抗使用儀器對碼字進(jìn)行掃描,因此,跳碼芯片至少在目前是傳統密碼鎖更型換代的理想產(chǎn)品,可廣泛應用汽車(chē)遙控報警器、家庭安全系統、電子鑰匙、門(mén)禁系統、自動(dòng)門(mén)系統等高度安全保障領(lǐng)域。
評論