可信終端、雙信道卡、抗克隆晶片、晶片指紋和抗信道攻擊的方法
2023-04-23 22:48:51
可信終端、雙信道卡、抗克隆晶片、晶片指紋和抗信道攻擊的方法
【專利摘要】本申請公開了一種可信終端、雙信道卡、抗克隆晶片、晶片指紋和抗信道攻擊的方法,可信終端包括主控晶片、雙信道卡插槽、信道隔離部件和通訊接口;所述雙信道卡插槽包括第一信道連接頭和第二信道連接頭,第一信道連接頭與主控晶片連接,第二信道連接頭與信道隔離部件連接,雙信道卡插槽用於插入雙信道卡;本發明可信終端及雙信道卡能取代現有的IC卡遷移,具有安全性高、可用性強、成本低、易於實施等優點。安全性高的關鍵在於:現有的銀行IC卡易於被克隆,從而易於構造「不可區分」的情況,且其支付密碼易被截獲;雙信道卡無法克隆,可杜絕「不可區分」的情況,且能有效地保護支付密碼的安全。
【專利說明】可信終端、雙信道卡、抗克隆晶片、晶片指紋和抗信道攻擊的方法
【技術領域】
[0001]本發明涉及安全【技術領域】,特別涉及可信終端、雙信道卡、抗克隆晶片、晶片指紋和抗信道攻擊的方法。
【背景技術】
[0002]基本定義:信道是指信號傳輸信道,包括終端與終端之間的傳輸信道、同一終端晶片與晶片/晶片與部件/部件與部件之間的傳輸信道、晶片內部各模塊之間的數據總線,以及晶片或模塊內部的各種信號路徑。木馬是指具有竊聽、洩露、篡改、插入、重放、截留和轉發功能的惡意程序。晶片指紋:類似人的指紋,在晶片內部提取的每塊晶片均不相同的具有獨一性的信息。抗克隆晶片:包括晶片指紋模塊的晶片,生產廠家無法生產出完全一致的抗克隆晶片。可信終端:通過軟體木馬無法截獲敏感信息的終端。
[0003]信道攻擊是指在信道上插入木馬(包括軟體木馬、篡改硬體的硬體木馬,以及篡改晶片或者預先在晶片功能模塊中植入的晶片木馬)所開展的攻擊,主要包括:
[0004]I)物理入侵攻擊,即攻擊者以物理入侵的方式在終端內部的信號傳輸信道、在晶片功能模塊的數據總線,或者晶片功能模塊內部的信號路徑上插入木馬後開展的攻擊。物理入侵攻擊需要較為昂貴的設備,例如雷射切割工作檯、離子束聚焦FIB工作檯、微探針
坐寸o
[0005]圖1是一種物理入侵攻擊晶片的示意圖。如果晶片的關鍵密鑰存儲在SRAM中且帶有入侵檢測網絡,則攻擊可先採用橋接的方式在需要打斷位置的兩端連接延長引線,然後再打斷。接頭,攻擊者根據需要切斷存儲器與其它模塊的連接後,根據攻擊需要重新連接引線,這一過程等價於在晶片內部的數據總線上插入木馬。一旦在數據總線上成功地插入木馬,則攻擊者可以讀取晶片中的密鑰,寫入相同結構的另一晶片中即可克隆晶片。因此,密鑰存放在存儲器(包括易失存儲器和非易失存儲器)中的晶片易於被物理入侵攻擊者克隆。
[0006]2010年,國際可信聯盟TCG推薦的「具有高度安全性」的英飛凌的可信平臺模塊TPM 被 Tarnovsky 在論文 TlO 「Deconstructing a ^SecureJProcessor(解剖一個,安全』的處理器)中破解並克隆;Tarnovsky通過「橋接」(bridge map,打斷某條連線會引起晶片自毀,採用先並接後打斷的方式可避免晶片自毀)方法繞過晶片無數的防禦網絡,然後用極為細小的探針接入數據總線而不被晶片的入侵檢測電路發覺且不引起晶片自毀,然後讀出SRAM中存儲的數據,包括加密密鑰和唯一的製造信息,從而成功地克隆了該TPM。
[0007]2)側信道攻擊:信號在信道傳輸和處理過程中與生俱來存在側信道洩露,也就是說,晶片在生產時會毫無例外地植入洩露側信道信息的木馬。側信道攻擊形式多樣,攻擊成本較低,對於沒有側信道防護措施的安全晶片,攻擊者將能夠以很低的代價攻破晶片。主要的側信道攻擊包括能量攻擊、計時攻擊和故障攻擊。能量攻擊的原理是寄存器由0變成I時需要充電、由I變成0時需要放電、I變成I或者0變成0時電流變化較小。在晶片的接地腳上串接一個小的電阻,通過測試電阻兩端的電壓變化可獲得晶片的功耗曲線,從功耗曲線中提取信息將可以推測出晶片中使用的密鑰,從而攻破晶片。當晶片中使用的密鑰中,某一比特為O和為I時的運算時間不同時,攻擊者可通過觀察每一比特密鑰在計算時消耗的時間不同來猜測密鑰,這就是計時攻擊。此外,攻擊者也可主動地向晶片注入故障信息,例如改變晶片的供電電壓、改變晶片的時鐘或在時鐘上注入毛刺等獲得錯誤的計算結果,進而計算出晶片中使用的密鑰,這就是故障攻擊。
[0008]掩碼被認為是抵抗能量攻擊的有效手段,是晶片通過測評的必備手段之一。然而理論和實驗結果表明,η階掩碼只能抵抗η階能量攻擊,但抵抗不了 η+1階攻擊。計時攻擊易於抵抗,故障攻擊的抵抗則比抗非常複雜,常用的手段包括電壓檢測保護模塊、晶片內部產生時鐘信號,以及光檢測保護模塊等,這些手段僅有安全增強的作用,難以抵抗裝備精良團隊的攻擊。
[0009]3)密碼協議攻擊:在軟體中插入軟體木馬開展的攻擊。密碼協議是建立在密碼機制上的一種交互通信協議,使用密碼算法實現密鑰分配和身份認證等安全功能。所有的安全晶片在應用中都使用密碼協議,一旦密碼協議被攻破,則意味著採用該密碼協議的安全系統需要報廢。銀行IC卡協議EMV協議在國際支付中處於統治地位,中國的支付協議則採用PBOC協議,EMV和PBOC均屬於承載價值極為巨大的密碼協議。下面將以EMV協議為例子指出該協議存在嚴重的缺陷。
[0010]EMV協議中的實體包括發卡銀行、終端和IC卡。圖2給出了 EMV協議的三個階段的關鍵步驟:1)卡片認證階段:終端P和IC卡C採用挑戰認證協議完成卡片認證;2)持卡人認證階段:終端把口令發送發卡銀行I,發卡銀行I向終端返回口令正確/錯誤信息;3)交易授權階段:發卡銀行/終端與IC卡採用挑戰認證協議完成交易授權。假定圖2中的協議步驟均經過密碼算法認證,攻擊者無法篡改協議步驟中傳輸的數據,稱之為密文信道。
[0011]在實際的交易流程中,持卡人認證階段除了口令認證外,還應當包括金額認證,並且金額由商家從終端中輸入,終端將刷卡金額顯示給持卡人核對,持卡人核對金額無誤後從終端中輸入口令。因此,參與協議的實體除了發卡銀行、終端和IC卡之外,還應當包括商家和持卡人。擴展了 EMV協議參與實體的流程如圖3、圖4所示。
[0012]圖3、圖4是經過細化的POS終端刷卡流程,流程中涉及到發卡銀行、POS終端、商家、IC卡和持卡人共五個實體。從圖中可以看到,步驟2. I中商家在POS終端中輸入金額,步驟2. 2中POS終端將金額顯示給持卡人核對;持卡人核對金額無誤後,在步驟2. 3中從POS終端輸入口令。
[0013]圖3、圖4中步驟2. 1-2. 3中均屬於明文信道,在明文信道上交互的信息包含金額和口令,因此攻擊者插入木馬必然可以篡改交易金額並截獲口令。EMV協議以「P0S終端和商家誠實可信」為前提,然而實際中這一前提很容易被打破。偽造一臺外觀和操作流程與POS終端一致的假POS的代價非常低,僅需花費千元資金即可。
[0014]基於上述協議漏洞易於構造假POS攻擊。所謂假P0S,是指外觀與真POS無異,但程序被篡改且受攻擊者控制的POS終端。圖5給出了假POS攻擊的原理圖和模擬攻擊時的實物圖,偽造一臺假POS的成本可低於I千元。
[0015]例如,持卡人在攻擊者的商店購物100元,IC卡被插入假POS中,事實上,IC卡被插入到持卡人看不見的真POS中。收款人從假POS中輸入100元,攻擊者(收款人)在真POS中輸入9000元,持卡人看到假POS上顯示100元,就會在假POS中輸入支付密碼(口令)。假POS把口令發送給攻擊者,攻擊者在真POS上輸入截獲的持卡人的口令。當真POS開始列印刷卡單後,收款人控制假POS列印100元的刷卡單。在這個攻擊例子中,持卡人的口令洩露了,也被多刷了 8900元。多刷卡易於被持卡人從銀行通知簡訊獲釋,如果攻擊者僅截獲口令而刷卡額與購物額相等,則持卡人不會察覺口令洩露。
[0016]EMV協議除了持卡人認證階段存在致命協議漏洞外,其卡片認證和交易授權階段中使用挑戰應答協議,這可用如圖6所述的協議進行攻擊。攻擊者和合伙人可以藉助一張僅帶有信息轉發功能(不含密鑰)且外觀和真卡無異的偽卡,偽卡轉發POS終端和IC卡之間的所有問題和答案。持卡人在事先把「口令」洩露給合伙人的情況下可實現刷卡購物,然後持卡人可藉助不在場證據獲得銀行賠償。
[0017]銀行IC卡更重要的問題在於:晶片不具備抗克隆能力,將使得以下兩種「不可區分」情形:i)A的IC卡無意被克隆,口令也無意被截獲(或者使用的口令卡/令牌也被克隆),攻擊者把克隆卡和口令發給C盜刷,A提出賠償要求;ii)B克隆自己的IC卡,把克隆的IC卡和口令交給C刷卡,然後B提出賠償要求。因為A和B中一個是攻擊者,一個是受者者,且兩者「不可區分」,這將導致法律難以制裁攻擊者。如果不強化口令的安全性,則現有的銀行磁條卡面臨巨大的風險,銀行IC卡在將來也必然面臨巨大的風險。
[0018]容易證明,如果接受口令的設備不是私有設備,或者私有設備中接受口令的晶片能夠被編程,則不會有口令的安全!對於前一種情況可以篡改硬體插入木馬,對於後一種情況則使用軟體木馬即可截獲口令。關於交易金額大小的問題,如果交易金額不是在不可編程的私有晶片中輸入,則存在篡改金額的方法。例如攻擊都插入木馬顯示虛假金額即可。因此,在支付交易中需要從不可編程的私有設備中輸入口令,以及輸入或者顯示金額。
[0019]除了銀行IC卡面臨巨大風險外,現有的小額支付(電子錢包)、支付寶支付和微信支付同樣面臨巨大的風險。易於證明,如果晶片沒有抗克隆能力,不採用口令驗證支付者,則這樣的支付系統存在低成本的攻擊方案。例如,對於公交支付,IC卡靠近讀卡器後會扣IC卡的錢,同理,讀卡器靠近IC卡也能夠偷錢。如果把讀卡器放在書包中,在公交地鐵上走一圈,則可扣到不小錢。根據我們的實驗,適當改裝讀卡器,即可把讀卡器到IC卡之間的距離由2CM擴展到80CM。對於支付寶和微信支付,只要在信道的適當位置插入木馬,即可有效地攻擊這兩種支付。
[0020]例如對於支付寶快捷支付,攻擊者在受害人的手機的主控晶片中插入木馬截獲帳號、口令等敏感信息,獲得這些信息後就能夠盜取帳號中的金額了:1)輸入受害人的銀行卡帳號,然後發送驗證碼;2)木馬檢測到收到驗證碼後,截留該驗證碼的同時轉發給攻擊者;3)攻擊者輸入驗證碼。
[0021]沒有絕對安全的技術,只有依賴不可克隆技術,方可避免「不可區分」的情形出現,進而方可藉助條款和法律保護系統的安全。就如同「錢包原理」一樣,即使錢包在技術上不安全,但有警方和法律制約搶奪和偷盜者,以及錢包持有人有義務保護錢包的安全,從而使得在技術上不安全的錢包的安全性被廣泛接受。
[0022]要有效地抵抗信道攻擊,必須要有抵抗軟體木馬的能力,必須要有安全的協議,必須要有完善的抗側信道洩露措施,必須要有恰當的抗物理入侵措施,同時,還要具備不可克隆特性。只有這樣,才會有真正的「晶片」和「口令」意義上的安全。現有的IC卡系統宣稱安全性基於「晶片」和「 口令」,但其「晶片」容易被克隆,「 口令」容易被軟體木馬或者硬體木馬截獲,因此目前的銀行IC卡遷移明顯是在做「皇帝的新裝」。
[0023]現有的終端(智慧型手機、平板電腦、PO的鍵盤或觸控螢幕直接與主控晶片連接,主控晶片的執行程序可更新使得易於被植入木馬。對於銀行IC卡支付,由於輸入支付密碼(口令)的POS終端並非用戶的私有設備,因此商家易於植入硬體木馬(例如前面所述的假P0S)。因此,現有的終端無法保護口令的安全。現有的晶片由於密鑰存放在存儲器(其中大多為非易失存儲器)中,攻擊只要讀取存儲器中的內容,寫入到結構相同的另一塊晶片中即可克隆晶片。所以,現有的終端和晶片無法真正達到「晶片」和「口令」安全。因此,從新設計終端和晶片達到真正的「晶片」和「 口令」安全,從而確保系統的安全是本領域技術人員急需解決的問題。
【發明內容】
[0024]本發明的目的在於克服現有技術的缺點與不足,提供一種可信終端。
[0025]本發明的另一目的在於,提供一種雙信道卡。
[0026]本發明的又一目的在於,提供一種抗克隆晶片。
[0027]本發明的再一目的在於,提供一種晶片指紋。
[0028]本發明的更一目的在於,提供一種抗信道攻擊的方法。
[0029]為了達到上述第一目的,本發明採用以下技術方案:
[0030]一種可信終端,包括主控晶片、雙信道卡插槽、信道隔離部件和通訊接口 ;
[0031]所述雙信道卡插槽包括第一信道連接頭和第二信道連接頭,第一信道連接頭與主控晶片連接,第二信道連接頭與信道隔離部件連接,雙信道卡插槽用於插入雙信道卡;當雙信道卡插槽中未插入雙信道卡時,第一信道連接頭通過彈片開關與第二信道連接頭連接,或者在雙信道卡插槽中插入一塊與雙信道卡形狀相同的信道連接電路板,使得雙信道卡插槽的第一信道連接頭與第二信道連接頭相互連接;信道連接電路板包含一組信道連接線,信道連接線的一端與雙信道卡插槽的第一信道連接頭相連接,信道連接線的另一端與雙信道卡插槽的第二信道連接頭相連接;當雙信道卡插槽中插入雙信道卡時,雙信道卡的第一IO連接頭與雙信道卡插槽的第一信道連接頭相連接,雙信道卡的第二 IO連接頭與雙信道插槽的第二信道連接頭相連接,雙信道卡把主控晶片和信道隔離部件隔開,從信道隔離部件中輸入的信息交給雙信道卡,經過雙信道卡檢查處理後再交給主控晶片,從主控晶片輸出到信道隔離部件的信息先輸出給雙信道卡,雙信道卡檢查處理後,再把處理結果輸出到信道隔離部件;
[0032]所述主控晶片與雙信道卡插槽的第一信道連接頭直接連接,與信道隔離部件直接或間接地連接,與通訊接口直接連接,用於直接或間接地控制信道隔離部件、直接控制通訊接口以及處理信息;所述直接連接是指通過信道連接線連接,中間沒有雙信道卡隔離;所述間接連接是指主控晶片通過雙信道卡插槽中的雙信道卡作為橋梁與信道隔離部件相連接;
[0033]所述通訊接口與主控晶片連接,用於與外界交換信息。
[0034]優選的,所述信道隔離部件包括以下部件中的一項或多項:觸控螢幕、鍵盤、話筒、攝像頭、生物動作識別模塊、確認按鈕、顯示屏、用戶口令指示燈、揚聲器;
[0035]所述觸控螢幕和鍵盤用於輸入支付密碼、用戶認證口令和軟體登錄口令,也用於輸入普通按鍵信息;
[0036]所述話筒用於輸入支付密碼的替代聲音信息和包含支付金額的聲音信息,也用於輸入用戶認證口令和用戶軟體登錄口令的替代聲音信息,以及普通的聲音信息;
[0037]所述攝像頭用於拍攝支付密碼、用戶認證口令和軟體登錄口令的替代影像信息,也用於輸入普通的影像信息;
[0038]所述生物動作識別模塊用於輸入支付密碼、用戶認證口令和軟體登錄口令的替代生物動作信息,也用於輸入普通的生物動作信息;
[0039]所述確認按鈕用於確認小額支付;
[0040]所述顯示屏用於顯示信息,當顯示屏作為信道隔離部件且用戶口令指示燈點亮期間,顯示屏上顯示的信息經過雙信道卡的驗證;
[0041]所述用戶口令指示燈用於提示用戶輸入口令,若且唯若用戶口令指示燈點亮時,用戶才能輸入口令,否則用戶輸入的口令將有可能被主控晶片上運行的木馬程序截獲;當用戶口令指示燈點亮時,從信道隔離部件輸入的除了控制信息以外的所有信息都會被雙信道卡加密後再發給主控晶片,因此當用戶口令指示燈點亮時,即使主控晶片被木馬程序控制,木馬程序也無法截獲用戶輸入的口令;
[0042]揚聲器用於輸出聲音信息,當揚聲器作為信道隔離部件且用戶口令指示燈點亮期間,揚聲器上輸出的聲音經過雙信道卡的驗證。
[0043]為了達到上述另一目的,本發明採用以下技術方案:
[0044]—種適用於可信終端的雙信道卡,包括:雙信道卡基、抗克隆晶片、第一 IO連接頭、第二 IO連接頭;所述第一 IO連接頭和第二 IO連接頭均與抗克隆晶片連接;所述抗克隆晶片、第一 IO連接頭和第二 IO連接頭均內嵌在所述雙信道卡基中;雙信道卡插入可信終端後,第一 IO連接頭與可信終端的第一信道連接頭相連接,第二 IO連接頭與可信終端的第二信道連接頭相連接。
[0045]優選的,雙信道卡還包括無線通訊口,所述無線通訊口與其它無線通訊接口設備通訊,用於在雙信道卡與其他終端之間交換信息,所述的其它終端是指雙信道卡的當前宿主以外的任意終端。
[0046]為了達到上述又一目的,本發明採用以下技術方案:
[0047]一種適用於雙信道卡的抗克隆晶片,包括:10接口、雙軌邏輯嵌入式通用密碼處理器GCP、真隨機數發生器TRNG和物理不可克隆模塊PUF ;
[0048]所述IO接口包括第一 IO接口和第二 IO接口,用於抗克隆晶片與外界通訊,通過所述IO接口把雙信道卡的第一 IO連接頭、第二 IO連接頭分別與GCP連接起來;如果雙信道卡包括無線通訊口,則IO接口把雙信道卡的無線通訊口與GCP連接起來;
[0049]所述GCP用於完成IO接口控制、PUF控制,以及用於執行密碼算法程序;所述GCP的指令集由密碼算法指令集的交集組成;
[0050]所述GCP的指令執行流程包括指令讀取、指令解碼、產生控制信號、指令執行、數據回寫五部分;
[0051]所述GCP由兩比特寄存器組成基本狀態,兩比特寄存器取值為00和11時代表GCP處理異常狀態,兩比特寄存器取值為01和10時分別表示傳統的0和I兩個狀態,即GCP採用雙軌邏輯作為基本單元;[0052]所述TRNG用於產生真隨機數;
[0053]所述PUF 可以是覆蓋 TOF、SRAM-PUF、ROPUF, APUF、DAPUF 中的一種;PUF 的輸入稱為挑戰,輸出稱為應答;PUF利用晶片製造過程中的工藝偏差,可利用PUF的應答生成每顆晶片唯一的密鑰,該密鑰不需存儲,掉電後消失,上電可恢復;向某顆晶片的PUF輸入一個挑戰,可以返回一個應答,該應答的取值不僅依賴於輸入的挑戰,也依賴於晶片的工藝偏差;所以,只有在固定的晶片上輸入相同的挑戰,才可得到相同的應答;改變挑戰或者同一個挑戰輸入到另一塊晶片上,均不能得到正確的應答,從而可使晶片的生產廠家無法生產相同的晶片,這使晶片不可克隆;給?現輸入挑戰後可得到其應答,所述GCP使用多個密鑰,分別表示為K0,Kl,. . .,KK,所述多個密鑰從PUF的應答中提取(用PUF的應答生成密鑰),或者KO從PUF中提取,再用KO對其它密鑰加密後存儲;從PUF中提取密鑰的過程有兩個流程,分別是初始化密鑰和重建密鑰;所述初始化密鑰流程在密鑰使用之前執行一次;所述重建密鑰是在使用密鑰前從PUF中恢復密鑰;
[0054]初始化密鑰流程用一個新鮮的隨機數作為密鑰序號,以密鑰序號作為PUF的挑戰,得到應答R,R的散列值作為密鑰,所述的散列值是單向函數(HASH函_得到的值;產生一個隨機比特串並用糾錯碼編碼後得到碼字CW,CW與R異或得到W1,W1需要與密鑰序號作為輔助數據一起保存起來,以便於以後通過糾錯恢復密鑰;
[0055]重建密鑰流程從輔助數據中讀取密鑰序號和W1,密鑰序號作為PUF的挑戰,得到應答R』,R』與Wl異或得到CW』,CW』經過糾錯碼解碼得到CW,Cff與Wl異或得到R,R經散列後得到相應的密鑰;
[0056]所述覆蓋PUF由IC的外層覆蓋保護層組成,保護層由滲雜了隨機粒子的材料塊組成;產生應答的電路是測量電容的IC表層金屬傳感器網絡,傳感器的形狀象梳子一樣;
[0057]所述ROPUF是振蕩環型PUF,奇數個反相器連接組成自振蕩環電路,計數器I和計數器2分別計算兩個自振蕩環電路的振蕩次數;對於I比特R0PUF,如果計數器I的值大於計算器2的值,則ROPUF輸出1,否則輸出O ;
[0058]所述SRAM-PUF是靜態存儲器型PUF,一比特SRAM-PUF由一比特SRAM組成,SRAM-PUF的取值就是SRAM上電時的初始值;
[0059]所述APUF是仲裁型PUF,APUF由上下兩路觸發信號的延時電路和仲裁器組成;延時電路由多個多路選擇器前後連接而成,每個多路選擇器包括上下兩個輸入端、上下兩個輸出端和一個選擇端,前一個多路選擇器的上下輸出端分別與後一個多路選擇器的上下輸入端連接;當選擇端輸入為I時,上輸入端經過第一延時路徑連接到上輸出端(或者連接到下輸出端),下輸入端經過第二延時路徑連接到下輸出端(或者連接到上輸出端);當選擇端輸入為O時,上輸入端經過第三延時路徑連接到下輸出端(或者連接到上輸出端),下輸入端經過第四延時路徑連接到上輸出端(或者連接到下輸出端);仲裁器包括上下兩個輸入端和一個輸出端;對於I比特APUF,如果上輸入端的上升沿觸發信號比下輸入端的上升沿觸發信號先到達,則輸出1,否則輸出O ;
[0060]所述DAPUF在APUF的基礎上增加一個仲裁器,APUF原有的仲裁器稱為正仲裁器,DAPUF新增加的仲裁器稱為負仲裁器;正仲裁器的上輸入端與負仲裁器的下輸入端相連接,正仲裁器的下輸入端與負仲裁器的上輸入端相連接;;所述DAPUF正仲裁器和負仲裁器組成一個仲裁器對,DAPUF可以連接多個仲裁器對[0061]PUF的應答存在噪音,用PUF提取密鑰需要把應答的噪音降低到可接受的水平;可把糾錯碼和獨立多數選舉法作為降噪算法;所述糾錯碼包括重複碼、BCH碼和RM碼;所述獨立多數選舉法是指將一比特應答分別與另外K比特噪音互相獨立的應答異或並記錄異或結果作為輔助數據,所述K是一個基數;恢復應答時產生K比特噪音互相獨立的應答與輔助數據中的異或結果異或,所得的比特中,如果I的數量比0多,則恢復應答的結果為1,否則為0 ;
[0062]所述噪音互相獨立的應答:對於覆蓋PUF,是指從不同傳感器網絡得到的應答;對於SRAM-PUF,是指不同SRAM單元的上電初始值;對於R0PUF,是指兩個振蕩環均不相同時的應答;對於APUF和DAPUF,是指不同挑戰對應的應答。
[0063]為了達到上述再一目的,本發明採用以下技術方案:
[0064]一種適用於抗克隆晶片的晶片指紋;
[0065]所述晶片指紋包含DAPUF電路和靜態延時調節電路;所述靜態延時調節電路包含X級靜態時延粗調電路和y級靜態時延微調電路;所述X是大於I的整數,通常取為2~i,i是一個大0的整數;所述I是大於或者等於0整數;
[0066]晶片指紋的上下兩路信號穿過DAPUF的延時電路後到達靜態時延粗調電路,再穿過靜態時延粗調電路後到達仲裁器;
[0067]所述X級靜態時延粗調電路包含X組上延時電路、X組下延時電路和兩個X選一選擇器,DAPUF的延時電路的上輸出端連接第一組上延時電路的輸入端,DAPUF的延時電路的下輸出端連接第一組下延時電路的輸入端;
[0068]X組上延時電路包括X-1個延時部件,每個延時部件有一個輸入端和一個輸出端,前一個延時部件的輸出端與後一個延時部件的輸入端相連,每一個延時部件的輸入端都被連接到X選一選擇器的輸入端,最後一個延時部件的輸出端被連接到X選一選擇器的輸入端,其中一個X選一選擇器的輸出端作為X級上延時電路的輸出端,第一個延時部件的輸入端作為X級上延時電路的輸入端與DAPUF延時電路的上輸出端連接;X組下延時電路與X組上延時電路的結構完全一樣;
[0069]所述y級靜態時延微調電路是指DAPUF延時電路中有y個多路選擇器的選擇端的輸入值可設定為0和設定為I。
[0070]優選的,所述DAPUF中延時電路與正仲裁器之間的連接線被引到晶片的頂層並被延長纏繞鋪滿頂層,把次頂層及以下金屬層包裹起來形成籠形結構,用於保護頂層以下的金屬層以及底層的矽層不被物理入侵攻擊探測或者篡改。
[0071]為了達到上述更一目的,本發明採用以下技術方案:
[0072]基於可信終端的抗信道攻擊方法,其特徵在於,在使用雙信道卡處理支付密碼、登錄密碼、和銀行卡帳號等敏感信息之前,雙信道卡中的抗克隆晶片調用PUF的初始化密鑰流程生成密鑰,並將該密鑰以安全可靠的方法發送給敏感信息接收方,從而實現密鑰共享;或者在雙信道卡中預先寫入可信中心的公鑰,然後在會話時通過公鑰密碼實現密鑰共享;相關的敏感信息和雙信道卡的標識碼也用安全可靠的方法在敏感信息接收方中登記;
[0073]可信終端在接收用戶輸入敏感信息時點亮用戶口令指示燈,用戶在看到用戶口令指示燈點亮期間才輸入敏感信息,否則所輸入的信息可能會被木馬截獲;當可信終端的主控晶片向雙信道卡發送接收敏感信息的指令時,雙信道卡中的抗克隆晶片點亮口令指示燈;在口令指示燈點亮期間,抗克隆晶片從觸控螢幕或者鍵盤中接收字符碼和操作碼,接收到的字符碼放入STR中;或者雙信道卡通過話筒接收用戶說出的口令,把說出口令的聲音形成的信息放入STR中;當接收到敏感信息輸入結束的操作碼後,從TRNG中讀取隨機數R,將R和STR連接在一起形成RSTR ;抗克隆晶片調用重建密鑰流程從PUF中恢復密鑰KEY,然後用KEY對RSTR加密,得到的密文發給主控晶片;所述的加密既可以是對稱加密算法或流密碼算法加密,也可以是公鑰密碼算法的籤名,如果是公鑰密碼籤名,則可再用信息接收方的公鑰加密。
[0074]優選的,當可信終端進行支付操作時,雙信道卡的抗克隆晶片從主控晶片接收支付信息,用戶在輸入支付密碼之前先輸入交易金額,抗克隆晶片從觸控螢幕或者鍵盤中接收金額並轉發給主控晶片,然後抗克隆晶片再點亮口令指示燈;抗克隆晶片接收完支付密碼後,把支付信息、交易金額、RSTR和口令一起加密後發送給主控晶片。
[0075]優選的,所述的初始化密鑰流程和重建密鑰流程:
[0076]在初始化密鑰流程前,對晶片的布局布線結果進行靜態時序分析,得到延長到晶片頂層的延長線所產生的靜態時延STl ;記靜態時延粗調電路中上通路部分的靜態時延為AUST,記下通路部分的靜態時延為ADST ;適當調整兩個X選一選擇器選擇端的輸入值並記作LADJ ;選擇某個LADJ值使得AUST + STl儘量與ADST接近;考察第一到第y個多路選擇器,通過靜態時序分析計算出y個多路選擇器的選擇端設定為O和設定為I時,以輸出為準的每個選擇器上通路與下通路的靜態時延差;選擇一個I比特二進位數MADJ,記第y個多路選擇器的上輸出通路對上升沿觸發信號的靜態時延為MST1,記第y個多路選擇器的下輸出通路對上升沿觸發信號的靜態時延為MST2,選擇某個MADJ取值,使MSTl + AUST + STl與MST2 + ADST的值儘量接近,其目的是消除正仲裁器前的連線引到頂層延長所帶來的靜態時延影響;
[0077]所述初始化密鑰流程和所述重建密鑰流程時,LADJ和MADJ的取值使得MSTl +AUST + STl與MST2 + ADST的值儘量接近。
[0078]本發明相對於現有技術具有如下的優點及效果:
[0079]I)現有的安全晶片雖然宣稱不可克隆,但事實上通過FIB結合微探針能夠讀出存儲器中的所有內容,再寫入另外一塊同構的晶片中即可克隆成功,其成本大約也就幾十萬元,且隨著時間的推移會不斷下降。因此現有的晶片無法達到真正的「晶片」意義的安全。本發明通過晶片指紋技術使得晶片具有不可克隆特性,由於生產廠家無法生產兩塊相關的晶片指紋晶片,因此敵手也難以克隆本發明的晶片,從而擁有真正的「晶片」意義上的安全。
[0080]2)現有的手機,包括帶有安全晶片的手機,當主控晶片被插入的木馬控制後,手機持有人所輸入的敏感信息無法避免被木馬截獲,因此也無法真正擁有「口令」意義上的安全。通過篡改POS終端成為假P0S,結合真POS —起就能輕易地截獲支付密碼(口令),因此,目前我國的銀行IC卡和國際上的銀行IC卡均沒有真正意義上的「口令」安全,同樣,當前的身份證、電子護照、門禁等IC卡終端事實也也沒有真正意義上的「 口令」安全,其根本原因在於口令以明文方式交給易於被插入木馬(包括軟體木馬和硬體木馬)的終端。現有的POS終端即使結合口令卡或者令牌增強口令的安全性,但仍然無法避免出現被多刷金額的情況出現;此外口令卡或者令牌方案事實上是把口令存儲在晶片中,一旦存儲口令的晶片被克隆,則口令的安全意義喪失。本發明中,敏感信息由私有的無法插入木馬(嚴格來說,本發明的終端也能夠插入硬體木馬,然而,私有終端被插入硬體木馬時使用終端的人存在過失,理應為損失負責)的雙信道卡接收並加密後再發送給主控晶片,然後最終傳輸到後臺的驗證端,因此在雙信道卡到後臺這整條信道上都是安全的,從而擁有真正意義上的「 口令」安全。
[0081]3)處理器內核雙軌邏輯以及DAPUF雙仲裁器使得抗克隆晶片能夠有效地降低運算時的功耗信息洩露,也能夠有效地抵抗故障攻擊,在此基礎上再用如申請號為201110303449.1的發明專利所述的方法限制密鑰的使用次數,則能有效地抵抗側信道攻擊。
[0082]4)即使將來敵手攻破了晶片指紋技術,但也難以做到「不可區分」,其原因在於生產廠商無法生產完全一致的兩塊晶片,因此敵手也無法克隆晶片。
[0083]5)本發明的抗克隆晶片具有抗篡改特性:對於普通的晶片,敵手可以用FIB或雷射切割打斷任意的連接線路,例如,要打斷某一段連線,只需要在該段連線的外兩側並接一條延長連線即可。然而,對於本發明的抗克隆晶片來說,延長連線不可避免增加靜態時延,通過限制靜態時延粗調電路和靜態時延微調電路的調節能力,則延長連線引起的時延無法消除,從而破壞晶片指紋並使之無法產生沒有延長連線時的信息。
[0084]6)能有效地提高晶片指紋的獨一性。正仲裁器前的連線被引到晶片金屬層頂層作為保護層,這必然使得DAPUF的上通路靜態時延明顯大於下通路,從而降低DAPUF的獨一性,甚至有可能使得所有晶片的DAPUF在相同輸入時都得到相同的輸出。通過靜態時延粗調電路和靜態時延微調電路能有效地調節上下兩條通路的靜態時延差,從而有效地提高獨一性。
[0085]7)用本發明的雙信道卡能取代現有的IC卡遷移,具有安全性高、可用性強、成本低、易於實施等優點。
[0086]安全性高:現有的銀行IC卡易於被克隆,從而易於構造「不可區分」的情況;雙信道卡無法克隆,可杜絕「不可區分」的情況。此外就是前面所述的具有真正的「晶片」和「口令」意義上的安全。
[0087]可用性強:目前手機已經成為人們的必帶終端,因此沒有手機就無法支付已經不再是問題。
[0088]成本低:對於IC卡遷移來說,舊有的磁條卡POS終端和ATM終端都需要更換,按200萬臺ATM和2000萬臺POS終端計算,總共需要2千多億元。然而,對於用雙信道卡遷移方案來說,這些舊的機器只需要增加一個和可信終端通訊的接口就行了,甚至連接口都不用增加,僅在銀行後臺增加支付密碼(口令)驗證就行了。手機在出廠時有雙信道插槽和沒有雙信道插槽在成本上沒有區別,一張雙信道卡的成本並不會比一張銀行IC卡的成本更高。當然,可信終端(例如手機)需要更新,但比較而言,手機的更新速度與ATM、P0S終端相比快很多,因此把手機換成可信終端比更換ATM/P0S的成本低。
[0089]易於實施:可保留現有的支付協議和支付體系不變,僅在銀行後臺增加雙信道卡授權支付步驟,如此一來,僅需要修改銀行後臺,原有的ATM、POS等都無需要作任何修改,僅需要在銀行後臺的處理程序中增加雙信道卡授權過程。
[0090]8)能有效地增強支付寶支付、微信支付和軟體驗證(例如QQ登錄等)的安全性。雙信道卡與支付寶後臺、微信後臺或軟體後臺共享密鑰和口令即可避免受到軟體木馬的攻擊。【專利附圖】
【附圖說明】
[0091]圖I是現有技術中物理入侵攻擊示意圖。
[0092]圖2是EMV協議的算法示意圖。
[0093]圖3是擴展參與實體後的EMV協議的關鍵步驟示意圖。
[0094]圖4是截獲持卡人口令和多刷金額的關鍵步驟示意圖。
[0095]圖5是假POS機攻擊原理圖。
[0096]圖6是偽卡攻擊關鍵步驟示意圖。
[0097]圖7是本發明可信終端的結構示意圖。
[0098]圖8是本發明雙信道卡結構示意圖。
[0099]圖9是本發明抗克隆晶片結構示意圖。
[0100]圖10是本發明APUF結構示意圖。
[0101]圖11是本發明DAFUF結構示意圖。
[0102]圖12是本發明晶片指紋的結構示意圖。
【具體實施方式】
[0103]下面結合實施例及附圖對本發明作進一步詳細的描述,但本發明的實施方式不限於此。
[0104]實施例
[0105]如圖7所示,本實施例的一種可信終端,包括主控晶片、雙信道卡插槽、信道隔離部件和通訊接口;
[0106]所述主控晶片與雙信道卡插槽的第一信道連接頭直接連接,與信道隔離部件直接或間接地連接,與通訊接口直接連接,用於直接或間接地控制信道隔離部件、直接控制通訊接口以及處理信息;所述直接連接是指通過信道連接線連接,中間沒有雙信道卡隔離;所述間接連接是指主控晶片通過雙信道卡插槽中的雙信道卡作為橋梁與信道隔離部件相連接;
[0107]所述雙信道卡插槽包括第一信道連接頭和第二信道連接頭,第一信道連接頭與主控晶片連接,第二連接頭與信道隔離部件連接,雙信道卡插槽用於插入雙信道卡;當雙信道卡插槽中未插入雙信道卡時,第一信道連接頭通過彈片開關與第二信道連接頭連接,或者在雙信道卡插槽中插入一塊與雙信道卡形狀相同的信道連接電路板,使得雙信道卡插槽的第一信道連接頭與第二信道連接頭相互連接;信道連接電路板包含一組信道連接線,信道連接線的一端與雙信道卡插槽的第一信道連接頭相連接,信道連接線的另一端與雙信道卡插槽的第二信道連接頭相連接;當雙信道卡插槽中插入雙信道卡時,雙信道卡的第一 IO連接頭與雙信道卡插槽的第一信道連接頭相連接,雙信道卡的第二 IO連接頭與雙信道插槽的第二信道連接頭相連接,雙信道卡把主控晶片和信道隔離部件隔開,從信道隔離部件中輸入的信息交給雙信道卡,經過雙信道卡檢查處理後再交給主控晶片,從主控晶片輸出到信道隔離部件的信息先輸出給雙信道卡,雙信道卡檢查處理後,再把處理結果輸出到信道隔離部件;
[0108]所述通訊接口與主控晶片連接,用於與外界交換信息。[0109]所述信道隔離部件包括以下部件中的一項或多項:觸控螢幕、鍵盤、話筒、攝像頭、生物動作識別模塊、確認按鈕、顯示屏、用戶口令指示燈、揚聲器;
[0110]所述觸控螢幕和鍵盤用於輸入支付密碼、用戶認證口令和軟體登錄口令,也用於輸入普通按鍵信息;
[0111]所述話筒用於輸入支付密碼的替代聲音信息和包含支付金額的聲音信息,也用於輸入用戶認證口令和用戶軟體登錄口令的替代聲音信息,以及普通的聲音信息;
[0112]所述攝像頭用於拍攝支付密碼、用戶認證口令和軟體登錄口令的替代影像信息,也用於輸入普通的影像信息;
[0113]所述生物動作識別模塊用於輸入支付密碼、用戶認證口令和軟體登錄口令的替代生物動作信息,也用於輸入普通的生物動作信息;
[0114]所述確認按鈕用於確認小額支付;
[0115]所述顯示屏用於顯示信息,當顯示屏作為信道隔離部件且用戶口令指示燈點亮期間,顯示屏上顯示的信息經過雙信道卡的驗證;
[0116]所述用戶口令指示燈用於提示用戶輸入口令,若且唯若用戶口令指示燈點亮時,用戶才能輸入口令,否則用戶輸入的口令將有可能被主控晶片上運行的木馬程序截獲;當用戶口令指示燈點亮時,從信道隔離部件輸入的除了控制信息以外的所有信息都會被雙信道卡加密後再發給主控晶片,因此當用戶口令指示燈點亮時,即使主控晶片被木馬程序控制,木馬程序也無法截獲用戶輸入的口令;
[0117]揚聲器用於輸出聲音信息,當揚聲器作為信道隔離部件且用戶口令指示燈點亮期間,揚聲器上輸出的聲音經過雙信道卡的驗證。
[0118]如圖8所示,本實施例適用於所述可信終端的雙信道卡,包括:雙信道卡基、抗克隆晶片、第一 IO連接頭、第二 IO連接頭;所述第一 IO連接頭和第二 IO連接頭均與抗克隆晶片連接;所述抗克隆晶片、第一 IO連接頭和第二 IO連接頭均內嵌在所述雙信道卡基中;雙信道卡插入可信終端後,第一 IO連接頭與可信終端的第一信道連接頭相連接,第二 IO連接頭與可信終端的第二信道連接頭相連接。
[0119]為了達到更好的效果,本實施例的雙信道卡還包括無線通訊口,所述無線通訊口與其它無線通訊接口設備通訊,用於在雙信道卡與其他終端之間交換信息,所述的其它終端是指雙信道卡的當前宿主以外的任意終端。
[0120]如圖9所示,本實施例中,所述抗克隆晶片包括:10接口、雙軌邏輯嵌入式通用密碼處理器GCP、真隨機數發生器TRNG和物理不可克隆模塊PUF ;
[0121]所述IO接口包括第一 IO接口和第二 IO接口,用於抗克隆晶片與外界通訊,通過所述IO接口把雙信道卡的第一 IO連接頭、第二 IO連接頭分別與GCP連接起來;如果雙信道卡包括無線通訊口,則IO接口把雙信道卡的無線通訊口與GCP連接起來;
[0122]所述GCP用於完成IO接口控制、PUF控制,以及用於執行密碼算法程序;所述GCP的指令集由密碼算法指令集的交集組成;所述密碼算法不限於分組密碼算法KLEIN和SM4 ;
[0123]所述KLEIN指令集如表I所示:
[0124]表I
[0125]
【權利要求】
1.一種可信終端,其特徵在於,包括主控晶片、雙信道卡插槽、信道隔離部件和通訊接口 ; 所述雙信道卡插槽包括第一信道連接頭和第二信道連接頭,第一信道連接頭與主控晶片連接,第二信道連接頭與信道隔離部件連接,雙信道卡插槽用於插入雙信道卡;當雙信道卡插槽中未插入雙信道卡時,第一信道連接頭通過彈片開關與第二信道連接頭連接,或者在雙信道卡插槽中插入一塊與雙信道卡形狀相同的信道連接電路板,使得雙信道卡插槽的第一信道連接頭與第二信道連接頭相互連接;信道連接電路板包含一組信道連接線,信道連接線的一端與雙信道卡插槽的第一信道連接頭相連接,信道連接線的另一端與雙信道卡插槽的第二信道連接頭相連接;當雙信道卡插槽中插入雙信道卡時,雙信道卡的第一 IO連接頭與雙信道卡插槽的第一信道連接頭相連接,雙信道卡的第二 IO連接頭與雙信道插槽的第二信道連接頭相連接,雙信道卡把主控晶片和信道隔離部件隔開,從信道隔離部件中輸入的信息交給雙信道卡,經過雙信道卡檢查處理後再交給主控晶片,從主控晶片輸出到信道隔離部件的信息先輸出給雙信道卡,雙信道卡檢查處理後,再把處理結果輸出到信道隔離部件; 所述主控晶片與雙信道卡插槽的第一信道連接頭直接連接,與信道隔離部件直接或間接地連接,與通訊接口直接連接,用於直接或間接地控制信道隔離部件、直接控制通訊接口以及處理信息;所述直接連接是指通過信道連接線連接,中間沒有雙信道卡隔離;所述間接連接是指主控晶片通過雙信道卡插槽中的雙信道卡作為橋梁與信道隔離部件相連接; 所述通訊接口與主控晶片連接,用於與外界交換信息。
2.根據權利要求1所述的可信終端,其特徵在於,所述信道隔離部件包括以下部件中的一項或多項:觸控螢幕、鍵盤、話筒、攝像頭、生物動作識別模塊、確認按鈕、顯示屏、用戶口令指示燈、揚聲器; 所述觸控螢幕和鍵盤用於輸入支付密碼、用戶認證口令和軟體登錄口令,也用於輸入普通按鍵信息; 所述話筒用於輸入支付密碼的替代聲音信息和包含支付金額的聲音信息,也用於輸入用戶認證口令和用戶軟體登錄口令的替代聲音信息,以及普通的聲音信息; 所述攝像頭用於拍攝支付密碼、用戶認證口令和軟體登錄口令的替代影像信息,也用於輸入普通的影像信息; 所述生物動作識別模塊用於輸入支付密碼、用戶認證口令和軟體登錄口令的替代生物動作信息,也用於輸入普通的生物動作信息; 所述確認按鈕用於確認小額支付; 所述顯示屏用於顯示信息,當顯示屏作為信道隔離部件且用戶口令指示燈點亮期間,顯示屏上顯示的信息經過雙信道卡的驗證; 所述用戶口令指示燈用於提示用戶輸入口令,若且唯若用戶口令指示燈點亮時,用戶才能輸入口令,否則用戶輸入的口令將有可能被主控晶片上運行的木馬程序截獲;當用戶口令指示燈點亮時,從信道隔離部件輸入的除了控制信息以外的所有信息都會被雙信道卡加密後再發給主控晶片,因此當用戶口令指示燈點亮時,即使主控晶片被木馬程序控制,木馬程序也無法截獲用戶輸入的口令; 揚聲器用於輸出聲音信息,當揚聲器作為信道隔離部件且用戶口令指示燈點亮期間,揚聲器上輸出的聲音經過雙信道卡的驗證。
3.一種適用於權利要求1-2中任一項所述可信終端的雙信道卡,其特徵在於,包括:雙信道卡基、抗克隆晶片、第一 IO連接頭、第二 IO連接頭;所述第一 IO連接頭和第二 IO連接頭均與抗克隆晶片連接;所述抗克隆晶片、第一 IO連接頭和第二 IO連接頭均內嵌在所述雙信道卡基中;雙信道卡插入可信終端後,第一 IO連接頭與可信終端的第一信道連接頭相連接,第二 IO連接頭與可信終端的第二信道連接頭相連接。
4.根據權利要求3所述的雙信道卡,其特徵在於,還包括無線通訊口,所述無線通訊口與其它無線通訊接口設備通訊,用於在雙信道卡與其他終端之間交換信息,所述的其它終端是指雙信道卡的當前宿主以外的任意終端。
5.一種適用於權利要求3或4所述的雙信道卡的抗克隆晶片,其特徵在於,包括:10接口、雙軌邏輯嵌入式通用密碼處理器GCP、真隨機數發生器TRNG和物理不可克隆模塊PUF ; 所述IO接口包括第一 IO接口和第二 IO接口,用於抗克隆晶片與外界通訊,通過所述IO接口把雙信道卡的第一 IO連接頭、第二 IO連接頭分別與GCP連接起來;如果雙信道卡包括無線通訊口,則IO接口把雙信道卡的無線通訊口與GCP連接起來; 所述GCP用於完成IO接口控制、PUF控制,以及用於執行密碼算法程序;所述GCP的指令集由密碼算法指令集的交集組成; 所述GCP的指令執行流程包括指令讀取、指令解碼、產生控制信號、指令執行、數據回寫五部分; 所述GCP由兩比特寄存器組成基本狀態,兩比特寄存器取值為00和11時代表GCP處理異常狀態,兩比特寄存器取值為01和10時分別表示傳統的O和I兩個狀態,即GCP採用雙軌邏輯作為基本單元; 所述TRNG用於產生真隨機數; 所述PUF可以是覆蓋PUF、SRAM-PUF, ROPUF, APUF, DAPUF中的一種;PUF的輸入稱為挑戰,輸出稱為應答;PUF利用晶片製造過程中的工藝偏差,可利用PUF的應答生成每顆晶片唯一的密鑰,該密鑰不需存儲,掉電後消失,上電可恢復;向某顆晶片的PUF輸入一個挑戰,可以返回一個應答,該應答的取值不僅依賴於輸入的挑戰,也依賴於晶片的工藝偏差;所以,只有在固定的晶片上輸入相同的挑戰,才可得到相同的應答;改變挑戰或者同一個挑戰輸入到另一塊晶片上,均不能得到正確的應答,從而可使晶片的生產廠家無法生產相同的晶片,這使晶片不可克隆;給?現輸入挑戰後可得到其應答,所述GCP使用多個密鑰,分別表示為K0,Kl,. . .,KK,所述多個密鑰從PUF的應答中提取(用PUF的應答生成密鑰),或者KO從PUF中提取,再用KO對其它密鑰加密後存儲?』從PUF中提取密鑰的過程有兩個流程,分別是初始化密鑰和重建密鑰;所述初始化密鑰流程在密鑰使用之前執行一次;所述重建密鑰是在使用密鑰前從PUF中恢復密鑰; 初始化密鑰流程用一個新鮮的隨機數作為密鑰序號,以密鑰序號作為PUF的挑戰,得到應答R,R的散列值作為密鑰,所述的散列值是單向函數(HASH函數)得到的值;產生一個隨機比特串並用糾錯碼編碼後得到碼字CW,CW與R異或得到W1,W1需要與密鑰序號作為輔助數據一起保存起來,以便於以後通過糾錯恢復密鑰; 重建密鑰流程從輔助數據中讀取密鑰序號和W1,密鑰序號作為PUF的挑戰,得到應答R』,R』與Wl異或得到CW』,CW』經過糾錯碼解碼得到CW,Cff與Wl異或得到R,R經散列後得到相應的密鑰; 所述覆蓋PUF由IC的外層覆蓋保護層組成,保護層由滲雜了隨機粒子的材料塊組成;產生應答的電路是測量電容的IC表層金屬傳感器網絡,傳感器的形狀象梳子一樣; 所述ROPUF是振蕩環型PUF,奇數個反相器連接組成自振蕩環電路,計數器I和計數器2分別計算兩個自振蕩環電路的振蕩次數;對於I比特R0PUF,如果計數器I的值大於計算器2的值,則ROPUF輸出1,否則輸出O ; 所述SRAM-PUF是靜態存儲器型PUF,一比特SRAM-PUF由一比特SRAM組成,SRAM-PUF的取值就是SRAM上電時的初始值; 所述APUF是仲裁型PUF,APUF由上下兩路觸發信號的延時電路和仲裁器組成;延時電路由多個多路選擇 器前後連接而成,每個多路選擇器包括上下兩個輸入端、上下兩個輸出端和一個選擇端,前一個多路選擇器的上下輸出端分別與後一個多路選擇器的上下輸入端連接;當選擇端輸入為I時,上輸入端經過第一延時路徑連接到上輸出端或者連接到下輸出端,下輸入端經過第二延時路徑連接到下輸出端或者連接到上輸出端;當選擇端輸入為O時,上輸入端經過第三延時路徑連接到下輸出端或者連接到上輸出端,下輸入端經過第四延時路徑連接到上輸出端或者連接到下輸出端;仲裁器包括上下兩個輸入端和一個輸出端;對於I比特APUF,如果上輸入端的上升沿觸發信號比下輸入端的上升沿觸發信號先到達,則輸出I,否則輸出O ; 所述DAPUF在APUF的基礎上增加一個仲裁器,APUF原有的仲裁器稱為正仲裁器,DAPUF新增加的仲裁器稱為負仲裁器;正仲裁器的上輸入端與負仲裁器的下輸入端相連接,正仲裁器的下輸入端與負仲裁器的上輸入端相連接;所述DAPUF正仲裁器和負仲裁器組成一個仲裁器對,DAPUF可以連接多個仲裁器對; PUF的應答存在噪音,用PUF提取密鑰需要把應答的噪音降低到可接受的水平;可把糾錯碼和獨立多數選舉法作為降噪算法;所述糾錯碼包括重複碼、BCH碼和RM碼;所述獨立多數選舉法是指將一比特應答分別與另外K比特噪音互相獨立的應答異或並記錄異或結果作為輔助數據,所述K是一個基數;恢復應答時產生K比特噪音互相獨立的應答與輔助數據中的異或結果異或,所得的比特中,如果I的數量比O多,則恢復應答的結果為1,否則為O ; 所述噪音互相獨立的應答:對於覆蓋PUF,是指從不同傳感器網絡得到的應答;對於SRAM-PUF,是指不同SRAM單元的上電初始值;對於R0PUF,是指兩個振蕩環均不相同時的應答;對於APUF和DAPUF,是指不同挑戰對應的應答。
6.一種適用於權利要求5所述抗克隆晶片的晶片指紋,其特徵在於; 所述晶片指紋包含DAPUF電路和靜態延時調節電路;所述靜態延時調節電路包含X級靜態時延粗調電路和I級靜態時延微調電路;所述X是大於I的整數,通常取為2~ i,i是一個大O的整數;所述I是大於或者等於O整數; 晶片指紋的上下兩路信號穿過DAPUF的延時電路後到達靜態時延粗調電路,再穿過靜態時延粗調電路後到達仲裁器; 所述X級靜態時延粗調電路包含X組上延時電路、X組下延時電路和兩個X選一選擇器,DAPUF的延時電路的上輸出端連接第一組上延時電路的輸入端,DAPUF的延時電路的下輸出端連接第一組下延時電路的輸入端; X組上延時電路包括x-1個延時部件,每個延時部件有一個輸入端和一個輸出端,前一個延時部件的輸出端與後一個延時部件的輸入端相連,每一個延時部件的輸入端都被連接到X選一選擇器的輸入端,最後一個延時部件的輸出端被連接到X選一選擇器的輸入端,其中一個X選一選擇器的輸出端作為X級上延時電路的輸出端,第一個延時部件的輸入端作為X級上延時電路的輸入端與DAPUF延時電路的上輸出端連接;x組下延時電路與X組上延時電路的結構完全一樣; 所述I級靜態時延微調電路是指DAPUF延時電路中有I個多路選擇器的選擇端的輸入值可設定為O和設定為I。
7.根據權利要求6所述的晶片指紋,其特徵在於,所述DAPUF中延時電路與正仲裁器之間的連接線被引到晶片的頂層並被延長纏繞鋪滿頂層,把次頂層及以下金屬層包裹起來形成籠形結構,用於保護頂層以下的金屬層以及底層的矽層不被物理入侵攻擊探測或者篡改。
8.基於權利要求1-2中任一項所述的可信終端的抗信道攻擊方法,其特徵在於,在使用雙信道卡處理支付密碼、登錄密碼、和銀行卡帳號等敏感信息之前,雙信道卡中的抗克隆晶片調用PUF的初始化密鑰流程生成密鑰,並將該密鑰以安全可靠的方法發送給敏感信息接收方,從而實現密鑰共享;或者在雙信道卡中預先寫入可信中心的公鑰,然後在會話時通過公鑰密碼實現密鑰共享;相關的敏感信息和雙信道卡的標識碼也用安全可靠的方法在敏感信息接收方中登記; 可信終端在接收用戶輸入敏感信息時點亮用戶口令指示燈,用戶在看到用戶口令指示燈點亮期間才輸入敏感信息, 否則所輸入的信息可能會被木馬截獲;當可信終端的主控晶片向雙信道卡發送接收敏感信息的指令時,雙信道卡中的抗克隆晶片點亮口令指示燈;在口令指示燈點亮期間,抗克隆晶片從觸控螢幕或者鍵盤中接收字符碼和操作碼,接收到的字符碼放入STR中;或者雙信道卡通過話筒接收用戶說出的口令,把說出口令的聲音形成的信息放入STR中;當接收到敏感信息輸入結束的操作碼後,從TRNG中讀取隨機數R,將R和STR連接在一起形成RSTR ;抗克隆晶片調用重建密鑰流程從PUF中恢復密鑰KEY,然後用KEY對RSTR加密,得到的密文發給主控晶片;所述的加密既可以是對稱加密算法或流密碼算法加密,也可以是公鑰密碼算法的籤名,如果是公鑰密碼籤名,則可再用信息接收方的公鑰加密。
9.根據權利要求8所述的抗信道攻擊方法,其特徵在於,當可信終端進行支付操作時,雙信道卡的抗克隆晶片從主控晶片接收支付信息,用戶在輸入支付密碼之前先輸入交易金額,抗克隆晶片從觸控螢幕或者鍵盤中接收金額並轉發給主控晶片,然後抗克隆晶片再點亮口令指示燈;抗克隆晶片接收完支付密碼後,把支付信息、交易金額、RSTR和口令一起加密後發送給主控晶片。
10.根據權利要求8所述的抗信道攻擊方法,其特徵在於,所述的初始化密鑰流程和重建密鑰流程: 在初始化密鑰流程前,對晶片的布局布線結果進行靜態時序分析,得到延長到晶片頂層的延長線所產生的靜態時延STl ;記靜態時延粗調電路中上通路部分的靜態時延為AUST,記下通路部分的靜態時延為ADST ;適當調整兩個X選一選擇器選擇端的輸入值並記作LADJ ;選擇某個LADJ值使得AUST + STl儘量與ADST接近;考察第一到第y個多路選擇器,通過靜態時序分析計算出y個多路選擇器的選擇端設定為O和設定為I時,以輸出為準的每個選擇器上通路與下通路的靜態時延差;選擇一個I比特二進位數MADJ,記第y個多路選擇器的上輸出通路對上升沿觸發信號的靜態時延為MST1,記第y個多路選擇器的下輸出通路對上升沿觸發信號的靜態時延為MST2,選擇某個MADJ取值,使MSTl +AUST + STl與MST2 + ADST的值儘量接近,其目的是消除正仲裁器前的連線引到頂層延長所帶來的靜態時延影響; 所述初始化密鑰流程和所述重建密鑰流程時,LADJ和MADJ的取值使得MSTl + AUST +STl與MST2 + ADST的 值儘量接近。
【文檔編號】G06F21/56GK103778374SQ201410056404
【公開日】2014年5月7日 申請日期:2014年2月19日 優先權日:2014年2月19日
【發明者】鄒候文, 唐韶華, 唐春明, 彭俊好, 鄭鶴強, 陳祺, 鄺天朗, 何文峰, 黃智洲 申請人:鄒候文