易于使用
設(shè)計(jì)安全解決方案最容易犯的錯(cuò)誤是使設(shè)計(jì)過(guò)于復(fù)雜。設(shè)計(jì)一個(gè)安全解決方案的最好方式是保持其簡(jiǎn)單和用戶友好特性。如果過(guò)于復(fù)雜或麻煩,對(duì)于消費(fèi)者來(lái)說(shuō),這可能會(huì)有負(fù)面影響。設(shè)計(jì)無(wú)線系統(tǒng)的基本宗旨是要讓用戶感覺(jué)到比直接靠近受控應(yīng)用進(jìn)行操作更方便。如果掏出口袋中的鑰匙來(lái)開車門比直接按鑰匙扣上的按鈕更方便,那么就完全偏離了設(shè)計(jì)目標(biāo)。
保持安全系統(tǒng)簡(jiǎn)單的另一個(gè)充足的理由是:越復(fù)雜,越難測(cè)試視為薄弱點(diǎn)的所有可能組合。做的測(cè)試越少,您未完全確定系統(tǒng)內(nèi)所有薄弱環(huán)節(jié)的機(jī)率就越高。遺憾的是,即使您使用的是目前最強(qiáng)的安全算法,安全強(qiáng)度也僅與系統(tǒng)中最薄弱的環(huán)節(jié)一樣。例如,在車輛報(bào)警系統(tǒng)中,如果僅使用很強(qiáng)的安全算法加密鎖定和解鎖消息,但不在每次傳輸時(shí)更改消息,或者沒(méi)有更改足夠多的信息,那么小偷可輕松捕捉到這些消息并重放。在這種情況下,他們?nèi)阅苓M(jìn)入車輛,而無(wú)需知道您所使用的算法或密鑰。
物理尺寸
通常,RKE單元由一個(gè)小的CR2032紐扣電池供電。這些紐扣電池僅具有大約 200 ~240 mAh的電量。通常,希望該器件在適度的日常使用情況下,可持續(xù)使用三至五年。因此,用于此類設(shè)計(jì)的器件(如 XLP PIC單片機(jī))非常關(guān)鍵。此外,在設(shè)計(jì)時(shí),對(duì)移動(dòng)部件(且許多時(shí)候甚至在是主控部件)的物理尺寸有所限制。例如,發(fā)射器電路必須能放入一個(gè)已預(yù)定形狀和外形的小鑰匙扣中。鑒于這些電路頻率相對(duì)較低,將天線放入如此小的空間可能是項(xiàng)設(shè)計(jì)挑戰(zhàn)。
選擇RF頻段、數(shù)據(jù)調(diào)制方案和性能
使用的頻率主要取決于應(yīng)用和法規(guī)。例如,在美國(guó),工業(yè)、科學(xué)和醫(yī)學(xué)(ISM)頻段為315 MHz和915 MHz.在歐洲,ISM頻段為433 MHz和 868 MHz.還存在與無(wú)線鏈路所能覆蓋距離相關(guān)的要求。典型的RKE應(yīng)用要求至少20米,且有時(shí)有最大距離要求。例如,在日本,由于較嚴(yán)格的RF法規(guī),最大覆蓋范圍僅為 5米(這千真萬(wàn)確)。最常見的理解錯(cuò)誤之一是會(huì)提出“發(fā)送器可提供的最大范圍是多少?”這一問(wèn)題。當(dāng)評(píng)估覆蓋范圍時(shí),設(shè)計(jì)人員應(yīng)牢記發(fā)送器和接收器同樣重要。良好的天線設(shè)計(jì)可顯著提高從弱發(fā)送器接收的能力。
RF調(diào)制方案和數(shù)據(jù)速率對(duì)無(wú)線鏈路的可靠性也有很大的影響。調(diào)頻無(wú)線鏈路通常較少產(chǎn)生噪聲。但是,這種技術(shù)會(huì)增加成本。更高級(jí)的無(wú)線鏈路還會(huì)增加移動(dòng)部件及固定部件(即接收器)的成本。然而,隨著如今集成RF發(fā)送器和接收器的發(fā)展,這些器件往往與低成本混合RF模塊位于同一價(jià)格區(qū)間。一些最新的RF器件可同時(shí)充當(dāng)發(fā)送器和接收器,使雙向通信成為可能。
選擇單片機(jī)
設(shè)計(jì)人員在選擇單片機(jī)時(shí),應(yīng)從片上程序存儲(chǔ)和數(shù)據(jù)存儲(chǔ)容量考慮,選擇最適合應(yīng)用的單片機(jī)。板上帶有加密模塊,固然會(huì)有幫助,但這一般不免費(fèi),因此采用軟件實(shí)現(xiàn)方案在有些時(shí)候可能是更好的選擇。如果加密算法可用軟件輕松實(shí)現(xiàn),那么這是一個(gè)更可取的解決方案,因?yàn)樗鼮樵O(shè)計(jì)人員提供更廣泛的單片機(jī)挑選范圍。此外,接收器通常會(huì)被融入較大的應(yīng)用中,例如汽車防盜器或車庫(kù)門遙控開關(guān)。有時(shí),甚至發(fā)送器本身就是一個(gè)較大應(yīng)用電路的組成部分,如圖形鍵盤接口。單片機(jī)必須提供足夠的存儲(chǔ)器來(lái)容納主應(yīng)用程序和安全無(wú)線鏈路軟件。
安全是個(gè)系統(tǒng)問(wèn)題
讀者應(yīng)牢記,RF解決方案始終具有兩個(gè)要素--移動(dòng)/發(fā)送器部分和基點(diǎn)/接收器部分。在設(shè)計(jì)安全系統(tǒng)時(shí),需要從安全角度來(lái)充分審查這兩個(gè)部分。包括為作業(yè)選擇合適的單片機(jī)和了解硬件設(shè)計(jì)的弱點(diǎn)。再次強(qiáng)調(diào),安全系統(tǒng)的強(qiáng)度僅與其最薄弱的環(huán)節(jié)一樣。
什么決定系統(tǒng)的安全?
許多因素會(huì)影響確定一個(gè)安全無(wú)線設(shè)計(jì)的最佳解決方案。系統(tǒng)設(shè)計(jì)人員應(yīng)將所有這些因素一起評(píng)估以確定最佳解決方案,了解各種設(shè)計(jì)權(quán)衡以及每個(gè)設(shè)計(jì)涉及的成本。
安全算法
選擇安全算法可能是個(gè)困難的決定,特別是在設(shè)計(jì)人員不知道存在的所有攻擊方法時(shí)。攻擊方法有明文、邊信道、差分加密分析、中間相會(huì)攻擊和滑動(dòng)攻擊等多種。最好是咨詢行業(yè)專家或評(píng)估一些業(yè)界普遍接受的算法,如AES加密(已被廣泛接受,包括美國(guó)政府)。
密鑰管理
決定實(shí)施一個(gè)安全解決方案時(shí),要牢記的最重要因素之一是,如何生成、交換、存儲(chǔ)、保護(hù)、使用和更換整個(gè)系統(tǒng)中的安全加密密鑰以破解或解讀加密消息。當(dāng)談到安全問(wèn)題時(shí),最重要的一點(diǎn)是要記住Kerckhoff原理,該原理陳述了“安全系統(tǒng)不應(yīng)依賴于安全算法的保密,而依賴于密鑰的保密”?;仡櫼幌缕平馊魏渭用芟⑺枰娜齻€(gè)因素--完整的加密消息、破解該消息所需的算法和密鑰(僅授權(quán)用戶知道的密碼)。我們應(yīng)始終假設(shè)加密消息和算法將在某個(gè)時(shí)間點(diǎn)為公眾所知,即使是擁有專利的算法也是如此。因此,系統(tǒng)安全從來(lái)都不應(yīng)依賴于安全算法的保密,因?yàn)樵撔畔⑦t早會(huì)泄露于世。
靈活性和擴(kuò)展性
對(duì)于任何密鑰管理方案來(lái)說(shuō),所有設(shè)備不能使用相同的密鑰非常關(guān)鍵。這有助于提高整個(gè)系統(tǒng)的安全性,因此,如果一個(gè)移動(dòng)部件被破解,也不會(huì)危及整個(gè)安全系統(tǒng)。實(shí)現(xiàn)此功能的最簡(jiǎn)單方法是,為每個(gè)移動(dòng)部件分配其自己的唯一密碼或加密密鑰。一個(gè)經(jīng)常用來(lái)實(shí)現(xiàn)此功能的方法是給每個(gè)移動(dòng)部分分配一個(gè)唯一的編號(hào)作為序列號(hào),然后基于該序列號(hào)和主制造商代碼進(jìn)行唯一的加密密鑰的計(jì)算。一個(gè)需要同時(shí)支持多個(gè)移動(dòng)部件的接收器部件,可輕松使用序列號(hào)導(dǎo)出破解發(fā)送自特定移動(dòng)設(shè)備的信息所需的加密密鑰。移動(dòng)設(shè)備的序列化通常通過(guò)以下方法在生產(chǎn)時(shí)完成:在將嵌入式單片機(jī)置于印刷電路板前預(yù)燒寫該信息,或者在電路板組裝后使用在線串行編程接口(ICSP)燒寫單片機(jī)。
可生產(chǎn)性
如前文所述,在任何安防系統(tǒng)中,一直保護(hù)加密密鑰非常關(guān)鍵。這包括生產(chǎn)過(guò)程,尤其在實(shí)際的產(chǎn)品組裝是由第三方契約制造(CM)公司完成時(shí)。在該情況下,僅向 CM提供預(yù)編程的代碼保護(hù)單片機(jī)比嘗試確保生產(chǎn)流程安全更易于確保加密密鑰不會(huì)被非法復(fù)制。大部分單片機(jī)供應(yīng)商,如Microchip,在他們的所有單片機(jī)上提供“帶序列號(hào)的快速批量編程”選項(xiàng)。通過(guò)向制造商提供器件序列化信息,他們可在生產(chǎn)測(cè)試期間將應(yīng)用程序軟件和序列化信息預(yù)燒寫到單片機(jī)中。
物理安全性
對(duì)安防系統(tǒng)的攻擊遠(yuǎn)遠(yuǎn)超出了僅分析數(shù)據(jù)和試圖對(duì)安防系統(tǒng)執(zhí)行數(shù)學(xué)攻擊。更確切地說(shuō),攻擊包括分析應(yīng)用電路和試圖查看是否可篡改任何硬件以訪問(wèn)安防系統(tǒng)。如果接收器的輸出僅拉高數(shù)據(jù)線來(lái)激活繼電器,那么這就是一個(gè)易被攻擊的薄弱點(diǎn)。這些類型的攻擊顯然只在您能夠物理訪問(wèn)正在工作的接收器部件的硬件時(shí)才能湊效。
另一種攻擊方案涉及從物理組件端分析移動(dòng)發(fā)送器部件。這包括分析實(shí)際電路和施加規(guī)范電壓以對(duì)單片機(jī)發(fā)送信號(hào)或?qū)?yīng)用限流,以查看攻擊者是否有機(jī)會(huì)讀取存儲(chǔ)在器件非易失性存儲(chǔ)器中的安全信息。還有其他各種侵入性和非侵入性攻擊方法,試圖破壞這些單片機(jī)內(nèi)置的代碼保護(hù)鎖定機(jī)制。
沒(méi)有器件是攻不可破的。只要有時(shí)間和金錢,最終一定能找到方法破解器件并讀取受保護(hù)的信息。正因?yàn)槿绱耍瑔纹瑱C(jī)芯片設(shè)計(jì)人員需不斷添加更多物理隱匿層以保護(hù)器件中存儲(chǔ)的信息,尤其是加密算法代碼或密鑰。因此,最好始終與單片機(jī)供應(yīng)商密切合作,以了解哪些器件采用了最新的防篡改電路來(lái)保護(hù)器件內(nèi)存儲(chǔ)的信息。
變化對(duì)安全來(lái)說(shuō)是好事
另一個(gè)保護(hù)安防系統(tǒng)的好方法是定期更改相關(guān)事物。不要在較長(zhǎng)時(shí)間段內(nèi)使用具有完全相同的安全密鑰信息的同一安全解決方案??苫旌鲜褂靡韵路椒ǎ焊拿荑€管理方案,用于導(dǎo)出各個(gè)移動(dòng)部件的唯一加密密鑰的主加密代碼,或在新一代安全算法可用時(shí)移植至新一代算法。不盡如人意的是,變化會(huì)使產(chǎn)品喪失向后兼容性。系統(tǒng)設(shè)計(jì)人員在進(jìn)行設(shè)計(jì)時(shí),需要權(quán)衡利弊。在這些類型的設(shè)計(jì)中使用嵌入式單片機(jī)的最大好處是可隨時(shí)進(jìn)行這類變化,而無(wú)需完全重新設(shè)計(jì)。相同的硬件設(shè)計(jì)可用于不同的產(chǎn)品。
結(jié)論
在低成本無(wú)線領(lǐng)域提供更好的安全級(jí)別的需求日益增加。需要了解和評(píng)估各種因素,才能找到以合理的成本提供足夠保護(hù)的最佳解決方案。不存在一個(gè)適合所有應(yīng)用的解決方案。單片機(jī)、RF IC和緊湊安全算法的最新進(jìn)步顯著簡(jiǎn)化了設(shè)計(jì)這些低成本的安全無(wú)線解決方案的復(fù)雜性。選擇合適的無(wú)線RF、單片機(jī)和安全算法需要深入了解當(dāng)今用于攻破安防系統(tǒng)的各種攻擊方法。只有系統(tǒng)設(shè)計(jì)工程師考察了開發(fā)安全無(wú)線解決方案的所有方面,才有可能找到一種價(jià)格合理的應(yīng)對(duì)措施。
最好的建議是與您的單片機(jī)供應(yīng)商公開討論各種設(shè)計(jì)選項(xiàng)和替代方式,而非只關(guān)注器件數(shù)據(jù)手冊(cè)列出的特定安全特性。安全是系統(tǒng)級(jí)問(wèn)題,也應(yīng)按以下流程開發(fā):首先選擇安全算法,然后支持生產(chǎn)/制造需求,最后設(shè)計(jì)密鑰分發(fā)機(jī)制。請(qǐng)記住,安全系統(tǒng)的強(qiáng)度僅與其最薄弱的環(huán)節(jié)一樣。
評(píng)論