陳 兵,何海波,劉 淳,咸德勇
(北京衛(wèi)星導(dǎo)航中心,北京 100094)
The Anti-cracking Design of GNSS Authorized Satellite Receiver
CHEN Bing,HE Haibo,LIU Chun,XIAN Deyong
?
GNSS授權(quán)接收機(jī)防破解設(shè)計(jì)
陳兵,何海波,劉淳,咸德勇
(北京衛(wèi)星導(dǎo)航中心,北京 100094)
The Anti-cracking Design of GNSS Authorized Satellite Receiver
CHEN Bing,HE Haibo,LIU Chun,XIAN Deyong
摘要:通過剖析接收機(jī)內(nèi)部信息流,明確了GNSS授權(quán)接收機(jī)中需要進(jìn)行安全防護(hù)的各類信息及相應(yīng)的部件,結(jié)合當(dāng)前國(guó)內(nèi)外芯片破解技術(shù)的進(jìn)展,歸納出了GNSS授權(quán)接收機(jī)安全防護(hù)措施和安全性能評(píng)估方法,為授權(quán)接收機(jī)設(shè)計(jì)提供了參考。
關(guān)鍵詞:GNSS;接收機(jī);授權(quán);密鑰;偽隨機(jī)碼
GNSS可以大范圍、全天候、連續(xù)實(shí)時(shí)提供位置、速度、時(shí)間,甚至短報(bào)文信息,可廣泛應(yīng)用于態(tài)勢(shì)感知、指揮控制、精確打擊、后勤保障、通信等各領(lǐng)域,已經(jīng)成為信息化戰(zhàn)爭(zhēng)不可或缺的武器裝備。目前,美國(guó)、俄羅斯已經(jīng)分別建成了GPS、GLONASS全球衛(wèi)星導(dǎo)航系統(tǒng),中國(guó)已經(jīng)建成了北斗區(qū)域衛(wèi)星導(dǎo)航系統(tǒng)(BDS),歐盟Galileo系統(tǒng)、印度IRNSS、日本QZSS系統(tǒng)也正在建設(shè)中。為了爭(zhēng)奪“制導(dǎo)航權(quán)”,各國(guó)對(duì)己方GNSS系統(tǒng)都采取授權(quán)加密方式,以阻止敵方竊取授權(quán)服務(wù)、截取短信息、實(shí)施欺騙或干擾等。針對(duì)不同的用戶群體和使用方式,GNSS授權(quán)加密可在3個(gè)層面實(shí)施[1]。第1層面是對(duì)偽隨機(jī)碼進(jìn)行加密,如GPS系統(tǒng)利用W碼對(duì)P碼進(jìn)行加密,Galileo系統(tǒng)公眾特許服務(wù)PRS也采用偽隨機(jī)碼加密方式;第2層面是對(duì)導(dǎo)航電文進(jìn)行加密,如Galileo商業(yè)服務(wù)CS則采用電文加密方式;第3層面是對(duì)位置、速度和時(shí)間(PVT)結(jié)果進(jìn)行加密,主要用于具有位置報(bào)告功能的GNSS接收機(jī),以防止對(duì)PVT結(jié)果進(jìn)行惡意欺騙。為了獲得GNSS授權(quán)服務(wù),接收機(jī)內(nèi)部需要存儲(chǔ)相應(yīng)的密鑰及密碼算法,這對(duì)用戶機(jī)的安全防護(hù)提出了較高要求。只要有一臺(tái)授權(quán)GNSS接收機(jī)落入敵方,敵方就可以采用入侵式、半入侵或非入侵式等途徑[2],對(duì)接收機(jī)內(nèi)部安全芯片進(jìn)行破解,獲取密鑰及密碼算法,并復(fù)制程序。一旦安全芯片被破解,將嚴(yán)重威脅其他所有授權(quán)用戶的安全使用。敵方不僅可以無限制地利用授權(quán)信號(hào),還可以實(shí)施欺騙,干擾授權(quán)用戶正常使用。因此,接收機(jī)安全防護(hù)十分重要。美國(guó)軍方對(duì)GPS SAASM模塊的安全防護(hù)高度重視,在SAASM模塊研制完成后,又花了兩年時(shí)間對(duì)SAASM安全性進(jìn)行評(píng)估,才通過美國(guó)國(guó)家安全局NSA安全標(biāo)準(zhǔn)。
本文將介紹GNSS授權(quán)接收機(jī)內(nèi)部模塊需要加強(qiáng)信息安全防護(hù)的部件,對(duì)當(dāng)前國(guó)內(nèi)外先進(jìn)的芯片破解技術(shù)進(jìn)行簡(jiǎn)介,最后介紹GNSS授權(quán)接收機(jī)需要采取的安全防護(hù)措施和評(píng)估方法,為授權(quán)接收機(jī)設(shè)計(jì)提供參考。
一、GNSS接收機(jī)信息安全防護(hù)要求
對(duì)于具有位置報(bào)告功能或利用其他通信手段實(shí)現(xiàn)位置報(bào)告功能的接收機(jī),需要對(duì)PVT信息進(jìn)行保護(hù),如圖1中菱形白框和通信線路[1]。其中,捕獲跟蹤模塊提供PVT計(jì)算所需的時(shí)間、導(dǎo)航電文和偽距觀測(cè)值,導(dǎo)航處理模塊計(jì)算PVT結(jié)果,這些模塊和通信線路都需要防護(hù),避免敵方破譯以實(shí)施欺騙干擾。
對(duì)于具有位置報(bào)告功能的接收機(jī),在位置報(bào)告之前,需進(jìn)一步對(duì)PVT結(jié)果進(jìn)行加密處理,如圖1中橢圓形白框和通信線路,以阻止敵方實(shí)施欺騙。
另外,如果授權(quán)接收機(jī)具有電子地圖或航路點(diǎn)導(dǎo)航功能,還需要對(duì)電子地圖和航路點(diǎn)進(jìn)行加密防護(hù),如圖1中矩形白框和通信線路所示區(qū)域,以阻止敵方利用,或從中獲取我方情報(bào)信息。
圖1 授權(quán)接收機(jī)信息防護(hù)區(qū)
二、芯片破解技術(shù)
鑒于衛(wèi)星導(dǎo)航系統(tǒng)在戰(zhàn)爭(zhēng)中的重要作用,潛在的各對(duì)立國(guó)家都會(huì)對(duì)對(duì)方的GNSS授權(quán)信號(hào)進(jìn)行研究。最直接的方式就是對(duì)繳獲的授權(quán)接收機(jī)進(jìn)行破譯,通過復(fù)制安全芯片信息、截取偽隨機(jī)碼流或竊取并反編譯內(nèi)部程序等方式,以達(dá)到利用對(duì)方授權(quán)信號(hào)或?qū)?duì)方授權(quán)信號(hào)進(jìn)行欺騙的目的。
高端破譯者或破譯團(tuán)體有能力徹底分析整個(gè)系統(tǒng),設(shè)計(jì)精巧的攻擊方法,使用高精尖分析工具對(duì)芯片模塊進(jìn)行破解,其破解方法大致可分為入侵式、半入侵式和非入侵式3類。
1. 入侵式攻擊[2]
這種攻擊直接接觸元器件的內(nèi)部,一般先用強(qiáng)腐蝕的化學(xué)物品打開芯片封裝,再利用激光除去芯片表面的鈍化層,然后對(duì)芯片內(nèi)部進(jìn)行檢測(cè)攻擊。攻擊方法有如下4種:①光學(xué)成像。利用光學(xué)顯微鏡(適用于0.18 μm以下特征尺寸的硅芯片)或電子顯微鏡(分辨率達(dá)10 nm,可用于特征尺寸≤0.13 μm的半導(dǎo)體芯片)獲得高分辨率的芯片內(nèi)部結(jié)構(gòu),以獲取存儲(chǔ)器內(nèi)部信息。②反向工程。對(duì)芯片所有層次結(jié)構(gòu)進(jìn)行反向逐一剝離,攝像獲得芯片內(nèi)部結(jié)構(gòu),通過解讀元器件結(jié)構(gòu)和程序代碼反匯編,理解工作原理,實(shí)現(xiàn)功能模擬或復(fù)制。③微探針技術(shù)。利用微探針直接竊聽芯片內(nèi)部信號(hào),也可注入測(cè)試信號(hào)以觀測(cè)反饋信息,來截取密鑰和內(nèi)存信息,主要用于0.35 μm及以上特征尺寸的芯片。④芯片篡改。利用聚焦離子束FIB,可在10 nm精度制作探測(cè)點(diǎn),讀取內(nèi)存信息;也可用來切斷內(nèi)部的金屬互聯(lián)線或破環(huán)控制電路,以屏蔽安全電路。
2. 半入侵式攻擊[2]
由于主要承災(zāi)體未產(chǎn)生變化,邊坡加固后定量風(fēng)險(xiǎn)評(píng)估計(jì)算參量災(zāi)害到達(dá)承災(zāi)體概率PT∶L、承災(zāi)體時(shí)空概率PS∶T、承災(zāi)體易損性VD∶T、Vprop參照上文計(jì)算獲得的數(shù)據(jù)(見表3)。
這種攻擊也需打開芯片的封裝以訪問芯片表面,利用紫外線、X光、激光、電磁場(chǎng)或熱能進(jìn)行攻擊,但無須與金屬表面進(jìn)行電接觸,芯片鈍化層可保持完整,沒有機(jī)械損傷,比較適用于現(xiàn)代小特征尺寸的芯片。①成像技術(shù)[2]:利用紅外線或激光掃描,從芯片正面或背面成像,分析芯片內(nèi)部結(jié)構(gòu),獲取存儲(chǔ)器信息。②光學(xué)缺陷注入攻擊[2,11]:利用激光或紫外線照射目標(biāo)晶體管影響其狀態(tài),修改存儲(chǔ)器內(nèi)容,改變芯片內(nèi)任意單個(gè)晶體管的狀態(tài),可無限制地控制芯片操作,并任意使用保護(hù)機(jī)制;也可以找到安全熔絲,再用紫外線對(duì)熔絲位置進(jìn)行照射,改變?nèi)劢z狀態(tài)。
3. 非入侵式攻擊
無須對(duì)元器件進(jìn)行物理破拆,大致可分為旁道攻擊、存儲(chǔ)器數(shù)據(jù)恢復(fù)、缺陷注入、暴力破解4類,其中旁道攻擊又包含時(shí)序攻擊、功耗分析、電磁輻射分析等方法。①時(shí)序攻擊。通過分析芯片執(zhí)行密碼算法的耗時(shí)差異,可反推分析出系統(tǒng)密鑰[3-4]。②功耗分析[2,6-8]。對(duì)芯片指令解碼和運(yùn)算單元活動(dòng)的功耗泄露進(jìn)行精確監(jiān)測(cè),分析推斷系統(tǒng)密鑰。功耗分析包括簡(jiǎn)單功耗分析和差分功耗分析。簡(jiǎn)單功耗分析直接測(cè)量功耗泄露,分析不同指令和功耗泄露關(guān)系。差分功耗分析更加有效,主要分析分析處理數(shù)據(jù)和功耗泄露關(guān)系,通過鑒別功耗微小區(qū)別,用以恢復(fù)密鑰中的單個(gè)位信息。③電磁輻射和聲學(xué)分析。對(duì)元器件運(yùn)行的電磁輻射和震動(dòng)聲音進(jìn)行監(jiān)控分析,可獲知相關(guān)硬件的運(yùn)行信息,推測(cè)相關(guān)密鑰信息。④存儲(chǔ)器數(shù)據(jù)恢復(fù)[2,13]。密鑰一般保存在靜態(tài)存儲(chǔ)器中,掉電后存儲(chǔ)器內(nèi)容可快速擦除,以保護(hù)密鑰不被竊取。不過長(zhǎng)期存儲(chǔ)的數(shù)據(jù)會(huì)產(chǎn)生氧化層應(yīng)變,在存儲(chǔ)位置留下了數(shù)據(jù)記憶,即使擦除后仍可能被讀出。另外,低溫條件下(如-20℃以下),存儲(chǔ)器內(nèi)容會(huì)被“冷凍”而被讀出。⑤缺陷注入攻擊[2,10]??焖俑淖?cè)骷妮斎胄盘?hào),通常在電源或時(shí)鐘信號(hào)上疊加噪聲信號(hào),也可利用外加的短暫電場(chǎng)或電磁脈沖進(jìn)行攻擊,以影響芯片內(nèi)的某些晶體管,導(dǎo)致一個(gè)或多個(gè)觸發(fā)器進(jìn)入錯(cuò)誤狀態(tài),以屏蔽保護(hù)電路,或強(qiáng)制處理器誤操作。⑥暴力破解[2]。一種是密鑰遍歷搜索,反復(fù)枚舉和嘗試每一個(gè)可能的密鑰值直至找到有效密鑰;另一種是將外部高電壓加到芯片引腳上,以試圖進(jìn)入測(cè)試或編程模式,以讀寫片上存儲(chǔ)器。⑦軟件攻擊。使用處理器通信接口并利用協(xié)議、加密算法或這些算法中的安全漏洞來進(jìn)行攻擊,或通過元器件通信協(xié)議,找到設(shè)計(jì)者嵌入在軟件中的測(cè)試和更新用的隱藏功能,以讀寫片上存儲(chǔ)器。
綜合利用上述方法,即使是業(yè)界公認(rèn)最安全的英飛凌TMP(可信任平臺(tái)模塊)芯片也能被破解,其他商用安全芯片如付費(fèi)電視卡、預(yù)付費(fèi)水電表、軟件的看門狗、硬件標(biāo)簽、汽車遙控門鎖、移動(dòng)電話SIM卡等也都已經(jīng)有破譯方法[2]。而且,隨著加密技術(shù)的不斷發(fā)展,破譯技術(shù)也不斷發(fā)展。
三、授權(quán)GNSS接收機(jī)防破解措施
目前,GNSS接收機(jī)安全防護(hù)設(shè)計(jì)僅有歐盟Galileo資助的TIGER研究項(xiàng)目可參考[1]。TIGER接收機(jī)的設(shè)計(jì)目標(biāo)是達(dá)到聯(lián)邦信息處理標(biāo)準(zhǔn)FIPS 140-2第4安全等級(jí)和美國(guó)國(guó)家安全局(NSA)1類認(rèn)證標(biāo)準(zhǔn)。本節(jié)結(jié)合TIGER接收機(jī)的安全防護(hù)策略,簡(jiǎn)要介紹GNSS接收安全防護(hù)的主要措施,如圖2所示[1]。
圖2 TIGER硬件安全部件[1]
1) 防止電信號(hào)層面截獲和監(jiān)測(cè)。防止微探針攻擊的一種措施是使用防篡改探測(cè)格網(wǎng),這些格網(wǎng)用來持續(xù)監(jiān)控所有線路的中斷和短路,一旦觸發(fā)就使存儲(chǔ)器復(fù)位或清零。對(duì)于單芯片模式,格網(wǎng)作為頂層金屬層進(jìn)行集成設(shè)計(jì);對(duì)于多芯片模式,格網(wǎng)需覆蓋所有敏感部件??刹捎猛ㄟ^環(huán)氧膠將防篡改探測(cè)格網(wǎng)與金屬屏蔽網(wǎng)黏合的設(shè)計(jì)方案[1]。防篡改探測(cè)格網(wǎng)通過內(nèi)部線路與安全監(jiān)控器連接,任何撬動(dòng)金屬屏蔽罩或篡改探測(cè)格網(wǎng)的攻擊都將觸發(fā)安全監(jiān)控器,立即清除密鑰和內(nèi)存,而且金屬屏蔽網(wǎng)還可以限制電磁泄漏,減少電磁探測(cè)攻擊。同時(shí)要精心設(shè)計(jì)PCB版圖,確保敏感信息(如偽隨機(jī)碼流等)在夾層傳輸,阻止直接探測(cè)。
2) 安全監(jiān)控電路[10-12]。安全監(jiān)控器內(nèi)含多種檢測(cè)傳感器模塊,以監(jiān)控防篡改格網(wǎng)和其他物理攻擊,如電壓檢測(cè)模塊對(duì)抗電源噪聲攻擊、時(shí)鐘頻率檢測(cè)模塊對(duì)抗時(shí)鐘噪聲攻擊、光傳感器可防止打開芯片封裝、溫度傳感器可防止低溫攻擊,一旦檢測(cè)到非法攻擊,就啟動(dòng)內(nèi)部的自毀功能。
3) 阻止時(shí)序分析攻擊。主要措施包括[1]:①確保密碼運(yùn)算時(shí)間與輸入數(shù)據(jù)或密鑰無關(guān),這些操作所花時(shí)間應(yīng)該基本相同;②確保關(guān)鍵代碼的軟件執(zhí)行不包含條件分支(如IF語(yǔ)句等),函數(shù)應(yīng)該使用和、或、與或等代替;③確保乘法和指數(shù)運(yùn)算所花時(shí)間相同,如總是一起執(zhí)行乘法和指數(shù)運(yùn)算,以阻止破譯者獲知乘法和指數(shù)運(yùn)算的執(zhí)行次數(shù);④附加時(shí)間延遲,確保所有操作執(zhí)行時(shí)間相同,雖然對(duì)性能產(chǎn)生影響,附加隨機(jī)延遲可增加破譯難度。
4) 無印跡內(nèi)存[13]。無印跡內(nèi)存可快速擦掉整個(gè)內(nèi)存信息,不留印跡,以解決數(shù)據(jù)長(zhǎng)期存儲(chǔ)導(dǎo)致的信息遺留記憶問題。
5) GNSS安全處理微處理器[1]。GNSS安全處理微處理器用于加解密運(yùn)算,以及GNSS安全信息處理。密鑰通過GNSS安全處理微處理器存儲(chǔ)于安全監(jiān)控電路內(nèi)部的無印跡內(nèi)存中。
6) 抵御功耗分析攻擊[5-9]。使用隨機(jī)掩蓋的方式,在進(jìn)行關(guān)鍵運(yùn)算或操作時(shí)調(diào)用冗余算法實(shí)現(xiàn):①可利用真隨機(jī)數(shù)產(chǎn)生的隨機(jī)序列產(chǎn)生隨機(jī)功耗;②可采用隨機(jī)干擾源進(jìn)行功耗分析;③可以對(duì)外部輸入的時(shí)鐘進(jìn)行一定的變換,使外部測(cè)試跟蹤不能實(shí)現(xiàn)同步。
四、安全評(píng)估
對(duì)產(chǎn)品安全性進(jìn)行評(píng)估是一個(gè)重要且有較大難度的工作。產(chǎn)品設(shè)計(jì)生產(chǎn)任意一個(gè)環(huán)節(jié)存在缺陷,對(duì)于破譯者來說都可能是機(jī)會(huì)。因此需要考慮多方面因素,從芯片封裝、芯片版圖到存儲(chǔ)器架構(gòu)、存儲(chǔ)器類型,從編程及讀寫接口到安全熔絲及安全密鑰的位置,從保護(hù)原理到缺陷注入、時(shí)序分析、功耗分析、光攻擊、電壓檢測(cè)、保護(hù)網(wǎng)格、防篡改電阻等其他安全特征。目前沒有一種通用的評(píng)估技術(shù)進(jìn)行芯片安全性分析,只有用各種不同的攻擊方法對(duì)芯片進(jìn)行攻擊,檢查芯片的各種防護(hù)是否有效。如美國(guó)國(guó)家安全局(NSA)對(duì)國(guó)防安全芯片按照1類標(biāo)準(zhǔn)進(jìn)行認(rèn)證,測(cè)試分析項(xiàng)目包括密碼安全、功能安全、防篡改、發(fā)送安全、產(chǎn)品生產(chǎn)和分銷的安全性等;我國(guó)國(guó)家密碼管理局商用密碼檢測(cè)中心[14]發(fā)布的《安全芯片密碼檢測(cè)準(zhǔn)則》從密碼算法、安全芯片接口、密鑰管理、敏感信息保護(hù)、固件安全、攻擊的削弱與防護(hù)等方面,對(duì)商用安全芯片也提出了檢測(cè)準(zhǔn)則。這些均可作為GNSS授權(quán)接收機(jī)安全評(píng)估的參考。
五、結(jié)束語(yǔ)
安全芯片領(lǐng)域的攻擊和防御斗爭(zhēng)是沒有盡頭的。任何一種防護(hù)對(duì)策都有可能很快面臨新的攻擊技術(shù)的挑戰(zhàn)。只要有足夠的時(shí)間和資源,任何防護(hù)都有可能突破,只不過是代價(jià)高低和周期長(zhǎng)短的問題。因此,必須對(duì)安全系統(tǒng)設(shè)計(jì)高度重視,不能過高估計(jì)芯片的防護(hù)能力,也不能低估破譯者的能力和毅力。最高級(jí)別的防護(hù)設(shè)計(jì)應(yīng)能阻止所有已知的攻擊。安全設(shè)計(jì)團(tuán)隊(duì)也必須十分熟悉各種攻擊技術(shù),才能設(shè)計(jì)出足夠防御現(xiàn)有攻擊方法的防護(hù)措施。
參考文獻(xiàn):
[1]POZZOBON O, WULLEMS C, DETRATTI M. Security Considerations in the Design of Tamper Resistant GNSS Receivers[C]∥Proceedings of 2010 5th ESA Workshop on Satellite Navigation Technologies and European Workshop on GNSS Signals and Signal Proceeding (NAVITEC). Noordwijk: IEEE, 2010.
[2]SKOROBOGATOV S P. Semi-invasive Attacks: A New Approach to Hardware Security Analysis[D]. Cambridge: University of Cambridge, 2005.
[3]KOCHER P C. Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems[C]∥KOBLITZ N. Advances in Cryptology-CRYPTO’96. Berlin Heidelberg: Springer-Verlag, 1996: 104-113.
[4]DHEM J F, KOEUNE F, LEROUX P A, et al. A Practical Implementation of the Timing Attack[C]∥QUISQUATER J J, SCHNEIER B. Smart Card Research and Applications. Berlin Heidelberg: Springer, 1998: 167-182.
[5]葉世芬. 安全芯片物理防護(hù)研究[D]. 杭州: 浙江大學(xué), 2005.
[6]陳志敏. 安全芯片旁路功耗分析及抗攻擊措施[D]. 上海: 上海交通大學(xué), 2007.
[7]苗全. 功耗分析攻擊研究及抗功耗分析攻擊密碼芯片設(shè)計(jì)[D]. 濟(jì)南: 山東大學(xué), 2012.
[8]李菁. IC卡芯片旁路攻擊分析方法研究[D]. 上海: 上海交通大學(xué), 2012.
[9]易青松, 戴紫彬. SoC安全芯片物理級(jí)攻擊方法及安全防護(hù)探析[J]. 國(guó)外電子元器件, 2007(5): 23-26, 30.
[10]溫圣軍, 張魯國(guó). 安全芯片錯(cuò)誤誘導(dǎo)攻擊防護(hù)方案[J]. 計(jì)算機(jī)工程, 2009, 35(17): 135-137.
[11]王紅勝, 宋凱, 張陽(yáng), 等. 針對(duì)高級(jí)加密標(biāo)準(zhǔn)算法的光故障注入攻擊[J]. 計(jì)算機(jī)工程, 2011, 37(21): 97-99.
[12]鄧高明, 趙強(qiáng), 張鵬, 等. 針對(duì)密碼芯片的電磁頻域模板分析攻擊[J]. 計(jì)算機(jī)學(xué)報(bào), 2009, 32(4): 602-610.
[13]余凱. 靜態(tài)隨機(jī)訪問存儲(chǔ)器數(shù)據(jù)殘留的安全策略研究[D]. 武漢: 華中科技大學(xué), 2009.
[14]國(guó)家密碼管理局. 安全芯片密碼檢測(cè)準(zhǔn)則:GM/T 0008-2012[S]. 北京: 中國(guó)標(biāo)準(zhǔn)出版社, 2012.
引文格式: 陳兵,何海波,劉淳,等. GNSS授權(quán)接收機(jī)防破解設(shè)計(jì)[J].測(cè)繪通報(bào),2016(1):72-75.DOI:10.13474/j.cnki.11-2246.2016.0018.
作者簡(jiǎn)介:陳兵(1968—),女,工程師,主要從事衛(wèi)星導(dǎo)航和應(yīng)用方面的工作。E-mail:feima101@sina.com
收稿日期:2014-10-08
中圖分類號(hào):P228
文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):0494-0911(2016)01-0072-04