《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 一種雙核安全芯片的設(shè)計實現(xiàn)
一種雙核安全芯片的設(shè)計實現(xiàn)
2017年電子技術(shù)應(yīng)用第10期
柯志斌,,葉 琨,周媛媛
福建睿矽微電子科技有限公司,,福建 福州350003
摘要: 介紹了一種雙核安全芯片的設(shè)計方法,,并以已實現(xiàn)的雙核POS機(jī)安全芯片為例,,對其原理及功能實現(xiàn)進(jìn)行闡述,。目前,,純粹的安全芯片基本都是單核的實現(xiàn)方案,主要通過監(jiān)測是否遇到攻擊來清除機(jī)密數(shù)據(jù),;在此基礎(chǔ)上,,通過特殊的雙核設(shè)計,使得機(jī)密數(shù)據(jù)運行在與實際應(yīng)用完全隔離的密閉環(huán)境當(dāng)中,杜絕了機(jī)密數(shù)據(jù)在應(yīng)用開發(fā)終端被誘取的可能,。
中圖分類號: TN492/TP338.1
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.171629
中文引用格式: 柯志斌,,葉琨,周媛媛. 一種雙核安全芯片的設(shè)計實現(xiàn)[J].電子技術(shù)應(yīng)用,,2017,,43(10):31-33,,38.
英文引用格式: Ke Zhibin,Ye Kun,,Zhou Yuanyuan. A design implementation of dual-core safe chip[J].Application of Electronic Technique,,2017,43(10):31-33,,38.
A design implementation of dual-core safe chip
Ke Zhibin,,Ye Kun,Zhou Yuanyuan
Fujian Witsi Microelectronics Technology Co.,,Ltd.Fuzhou 350003,,China
Abstract: A design method of dual-core security chip was introduced, and with the implemented dual-core security chip used in POS equipment as an example, the principle and function realization was elaborated. At present, the pure basic security chip is a single core implementation scheme, mainly through monitoring whether encounter attack to clear the confidential data. Based on this, a special dual-core technology is designed, making the confidential data run in closed environment which is completely isolated from the practical application, putting an end to the possibility that the confidential data may be induced to be stolen through the application terminal.
Key words : dual-core;security chip,;confidential data;POS(point-of-sale) equipment

0 引言

    隨著智能手機(jī)和物聯(lián)網(wǎng)的爆炸式增長,,越來越多的安全芯片在眾多領(lǐng)域的終端設(shè)備上被廣泛應(yīng)用,如移動支付領(lǐng)域,、智能交通系統(tǒng)、公務(wù)政務(wù)領(lǐng)域,、安全計算機(jī)領(lǐng)域,、安全通信領(lǐng)域、物聯(lián)網(wǎng)領(lǐng)域等,。安全芯片在保障信息安全方面有著無可比擬的優(yōu)點和不可替代的作用,。正因為安全芯片如此重要,針對安全芯片的攻擊技術(shù)也層出不窮,;安全芯片本身的安全性設(shè)計也日益重要,對這一塊的研究和應(yīng)用具有重要的現(xiàn)實意義,。

    在目前的信息安全應(yīng)用中,,帶有安全協(xié)處理器方案的芯片被廣泛采納。然而安全協(xié)處理器基本都是針對某種具體應(yīng)用來設(shè)計的一個實現(xiàn)特定功能的硬件模塊,,功能簡單,、沒有靈活性,。且特定功能的硬件模塊的設(shè)計全由硬件實現(xiàn),要求較高,,本身設(shè)計起來較復(fù)雜,、設(shè)計周期較長、面積也較大[1],。

    在比較復(fù)雜的金融場合,,比如POS機(jī)支付領(lǐng)域,要實現(xiàn)的不單單是數(shù)據(jù)的加解密,。從刷卡一開始的卡數(shù)據(jù)保護(hù),,到密碼鍵盤的保護(hù),再到液晶接口的顯示,,每個環(huán)節(jié)都要考慮到數(shù)據(jù)的防護(hù),。而且芯片自身也需要防攻擊模塊和機(jī)密數(shù)據(jù)防護(hù)模塊(遇到攻擊要清除機(jī)密數(shù)據(jù))。所有以上的安全功能要通過協(xié)處理器的方法全由硬件來完全實現(xiàn)是不現(xiàn)實的,。目前市面上的POS機(jī)芯片都是單核實現(xiàn)的,,主要是通過監(jiān)測是否遇到攻擊來清除機(jī)密數(shù)據(jù)。本文在此基礎(chǔ)上,,通過特殊的雙核設(shè)計,,使得機(jī)密數(shù)據(jù)運行在與實際應(yīng)用完全隔離的環(huán)境當(dāng)中。

1 設(shè)計簡介

    本文提供的雙核安全設(shè)計方法,,是一個軟硬件的綜合體,;在幾乎沒有增加芯片面積的前提下,縮短了研發(fā)周期,,成本低且靈活多變,;在沒有安全應(yīng)用操作時,可以當(dāng)成普通的雙核芯片,;在安全應(yīng)用操作時,,能在一個獨立封閉的物理環(huán)境實現(xiàn)對機(jī)密數(shù)據(jù)的完全隔離;在很大程度上提升了芯片處理能力和安全防護(hù),,可以適用于各種不同的安全方面的應(yīng)用場景,。

    如圖1所示,,本文主要講述一種雙核POS機(jī)安全芯片的設(shè)計,主要包含安全系統(tǒng)(SP系統(tǒng)),、應(yīng)用系統(tǒng)(AP系統(tǒng)),、總線矩陣和雙核通信4大部分。

wdz1-t1.gif

    AP系統(tǒng)主要包括應(yīng)用處理器(AP),、應(yīng)用靜態(tài)隨機(jī)存儲器(SRAM-AP),、應(yīng)用存儲器、應(yīng)用直接內(nèi)存存取控制器(DMA-AP),、USB接口,、嵌入式多媒體卡接口(eMMC接口)、通用通信接口,、外部存儲器控制器接口(EMI),、四線外設(shè)串行接口(QSPI)等模塊。SP系統(tǒng)主要包括安全處理器(SP),、安全靜態(tài)隨機(jī)存儲器(SRAM-SP),、安全直接內(nèi)存存取控制器(DMA-SP)、安全存儲器和安全保護(hù)模塊等模塊,。雙核通信模塊包括雙核通信協(xié)議模塊和雙核通信緩存模塊,。

    安全存儲器和應(yīng)用存儲器可以是ROM、OTP,、Flash或EEPROM,,也可以是上述4種的隨意混合。

    AP系統(tǒng)和SP系統(tǒng)遵循雙核通信協(xié)議,,通過對雙核通信緩存模塊的分時讀寫實現(xiàn)雙核之間數(shù)據(jù)的高效傳輸,。

    源于總線矩陣的特殊設(shè)計,SP可以根據(jù)實際需求擁有訪問AP系統(tǒng)任何模塊的權(quán)限,,而AP卻無法訪問SP系統(tǒng)的任何模塊,。如此,實現(xiàn)了與AP系統(tǒng)完全隔離的密閉的SP系統(tǒng),。由SP系統(tǒng)完成所有的安全操作,,AP系統(tǒng)僅需要通過雙核通信協(xié)議,發(fā)送相應(yīng)的數(shù)據(jù)和操作指令,,SP系統(tǒng)接收該數(shù)據(jù)和操作指令,,執(zhí)行之后把結(jié)果通過雙核通信協(xié)議返還給AP系統(tǒng)。

1.2 總線矩陣的設(shè)計

    圖2是總線矩陣設(shè)計的一個簡單示意圖,,芯片內(nèi)的每個單元可以稱之為設(shè)備(IP),設(shè)備可以分為主設(shè)備或從設(shè)備,。主設(shè)備通過片上總線跟總線矩陣相連接,,總線矩陣也是通過片上總線跟從設(shè)備相連接,。片上總線協(xié)議可以是ARM公司的AMBA協(xié)議,或opencores的wishbone總線協(xié)議,,也可以是altera的avalon協(xié)議,,也可以是其他類似的總線協(xié)議。

wdz1-t2.gif

    總線矩陣上的主設(shè)備可以是SP,、AP,、全局DMA,也可以是含內(nèi)置DMA功能的接口模塊(如USB,、EMMC,、WiFi、藍(lán)牙等),;從設(shè)備可以是存儲器,、SRAM、外部存儲接口,、安全保護(hù)模塊,、共同訪問模塊等,從設(shè)備可以根據(jù)應(yīng)用需求拆分得更精細(xì)化,。主設(shè)備和從設(shè)備的個數(shù)可以根據(jù)實際應(yīng)用場景增加或減少,,對應(yīng)的總線矩陣也要跟著變化。每個主設(shè)備接口和每個從設(shè)備接口之間都有通路,,可以設(shè)計成橋接(連通)或斷開,。橋接代表橋接兩頭的主設(shè)備和從設(shè)備通路是連通的,主設(shè)備可以訪問從設(shè)備,;斷開則代表主設(shè)備無法訪問從設(shè)備,。

    如圖2所示,SP作為主設(shè)備通過總線矩陣與SRAM-SP,、安全存儲器,、SRAM-AP、應(yīng)用存儲器,、安全防護(hù)模塊等從設(shè)備連接,;AP也作為主設(shè)備通過總線矩陣與SRAM-AP、應(yīng)用存儲器等從設(shè)備連接,。這樣,,SP能夠訪問應(yīng)用系統(tǒng)模塊,而AP無法訪問安全系統(tǒng)模塊,。如此,,斷開AP與安全存儲器、SRAM-SP,、安全防護(hù)模塊的連接關(guān)系,,中止AP對安全系統(tǒng)的訪問,,形成一個完全封閉的安全系統(tǒng),即應(yīng)用開發(fā)人員完全無法訪問到安全保護(hù)模塊及其內(nèi)部的機(jī)密數(shù)據(jù),。

    其余內(nèi)置DMA功能的接口模塊可以根據(jù)應(yīng)用需求進(jìn)行差異化配置(圖2中全部留空),,在此不具體展開。

1.3 雙核通信協(xié)議

    SP系統(tǒng)和AP系統(tǒng)通過雙核通信協(xié)議模塊來實現(xiàn)對雙核通信緩存模塊的分時控制,,保障雙核之間數(shù)據(jù)的安全交互,。

1.3.1 雙核通信協(xié)議模塊的具體實現(xiàn)

    雙核通信協(xié)議模塊里有一組SP中斷寄存器,包括中斷標(biāo)志位寄存器,,中斷置1寄存器和中斷清0寄存器,。跟中斷系統(tǒng)類似,SP中斷標(biāo)志位寄存器中只要有一位置1,,則會產(chǎn)生中斷請求,,SP通過識別中斷標(biāo)志位來完成該中斷請求;因此,,AP只要往SP中斷標(biāo)志位寄存器寫入相應(yīng)的值(這個值代表著AP和SP已經(jīng)約定好的某項具體任務(wù)),,SP就能完成該值所指的具體任務(wù)。反之,,也同樣存在一組AP中斷寄存器,,SP只要往AP中斷標(biāo)志位寄存器寫入相應(yīng)的值(這個值代表著AP和SP已經(jīng)約定好的某項具體任務(wù)),AP就能完成該值所指的具體任務(wù),。

1.3.2 雙核通信緩存分時讀寫的設(shè)計實現(xiàn)

    雙核通信協(xié)議模塊包含一個互斥寄存器,。如AP要操作雙核通信緩存之前,應(yīng)先讀取互斥寄存器位,,如讀取到1,,則表示有權(quán)限對雙核通信緩存進(jìn)行讀寫;如讀取到0,,表示SP正在操作雙核通信緩存(SP在操作雙核通信緩存完后,,會對互斥寄存器位進(jìn)行寫操作,互斥寄存器位的值為1),,AP則應(yīng)該等待并查詢,,直到讀取到1方可對雙核通信緩存進(jìn)行操作。反之,,亦然,。如SP要操作雙核通信緩存之前,應(yīng)先讀取互斥寄存器位,,如讀取到1,,則表示有權(quán)限對雙核通信緩存進(jìn)行讀寫;如讀取到0,表示AP正在操作雙核通信緩存(AP在操作雙核通信緩存完后,,會對互斥寄存器位進(jìn)行寫操作,,互斥寄存器位的值為1),,SP則應(yīng)該等待并查詢,,直到讀取到1方可對雙核通信緩存進(jìn)行操作。

1.3.3 雙核通信緩存的實現(xiàn)

    SP系統(tǒng)和AP系統(tǒng)共同遵循以上雙核通信協(xié)議的約定,,實現(xiàn)對雙核通信緩存的分時讀寫,;SP和AP都可以訪問SRAM-AP,因此,,可以由SP在SRAM-AP中直接指定某段區(qū)間為雙核通信緩存[3],,軟件人員需要對這段區(qū)間做額外的定義和約束,避免發(fā)生誤操作,。雙核通信緩存也可以是用硬件功能單獨實現(xiàn)的一塊SRAM,,這塊SRAM只供雙核通信用,可以完全避免誤操作[2],。

1.3.4 雙核通信函數(shù)

    SP系統(tǒng)提供所有的功能函數(shù)以便和AP系統(tǒng)通信,。AP開發(fā)人員通過雙核通信功能,將需要輸入的數(shù)據(jù)寫入雙核通信緩存,,再往SP中斷標(biāo)志位寄存器寫入相應(yīng)的值(代表相應(yīng)的任務(wù)函數(shù)),,這樣SP即接收到相應(yīng)的中斷,就執(zhí)行該任務(wù)并最終把數(shù)據(jù)結(jié)果寫回到雙核通信緩存,,然后SP往AP中斷標(biāo)志位寄存器寫入相應(yīng)值(代表任務(wù)執(zhí)行完畢),,告知AP系統(tǒng)。同樣的,,SP也可以主動發(fā)起雙核通信,,如SP系統(tǒng)檢測到安全防護(hù)模塊有數(shù)據(jù)輸入,則可以將相應(yīng)的需求數(shù)據(jù)寫入雙核通信緩存,,再往AP中斷標(biāo)志位寄存器寫入相應(yīng)的值(代表相應(yīng)的任務(wù)函數(shù)),;這樣AP就接收到相應(yīng)的中斷,取到SP系統(tǒng)傳輸過來的數(shù)據(jù),。所有雙核之間的通信都必須符合SP系統(tǒng)所提供的功能函數(shù)集合,,超出該集合,SP系統(tǒng)不會做出任何應(yīng)答,。

    由SP定義并提供函數(shù)調(diào)用接口,這樣做可以用ROM來完成很多程序代碼,,節(jié)省FLASH成本,最終節(jié)省芯片成本,。

1.4 POS機(jī)的安全實現(xiàn)

    安全防護(hù)模塊包括如下模塊:加解密模塊,、數(shù)據(jù)保護(hù)模塊、物理安全模塊、密碼鍵盤模塊,、銀行卡模塊,、液晶顯示模塊。這些模塊可以根據(jù)實際安全應(yīng)用需求來添加或減少,。安全模塊可以如圖2所示通過總線掛在總線矩陣上,,也可以通過總線直接掛在安全CPU上;所有有關(guān)信息安全或金融支付的模塊都可融合于安全防護(hù)模塊,。

    加解密模塊,,包括但不限于DES/3DES、AES,、HASH,、ECC、RSA,、國密等算法,,用于完成機(jī)密信息的加解密處理。數(shù)據(jù)保護(hù)單元由非易失性存儲器構(gòu)成,,支持快速清除功能,,用于保存重要安全數(shù)據(jù),并在數(shù)據(jù)受到攻擊時快速清除敏感數(shù)據(jù),。物理安全單元由各種物理量探測單元組成,,用于防御各種電壓、電流,、電容,、溫度、頻率類型的物理攻擊,,銀行卡接口用于支持銀行卡的數(shù)據(jù)讀取,,密碼鍵盤模塊用于對密碼輸入數(shù)據(jù)的保護(hù)。

1.5 升級的安全實現(xiàn)

    AP可以選擇市場上常見的ARM或MIPS的低功耗系列RISC CPU,,以便于客戶開發(fā)和市場推廣,。SP完全由公司自主研發(fā),人為形成一個更加密閉的開發(fā)環(huán)境,。如此,,機(jī)密數(shù)據(jù)在產(chǎn)品出廠時,通過一個自主設(shè)計的硬件通道和燒錄協(xié)議進(jìn)行燒錄,,并讀取確認(rèn)燒錄成功后,,該燒錄通道通過熔絲燒斷封閉掉,杜絕了燒錄通道泄露機(jī)密數(shù)據(jù)的可能,。AP系統(tǒng)與SP系統(tǒng)的數(shù)據(jù)交互只有雙核通信緩存,,SP系統(tǒng)提供用機(jī)密數(shù)據(jù)進(jìn)行相應(yīng)操作并輸出結(jié)果的函數(shù),,不提供對機(jī)密數(shù)據(jù)進(jìn)行直接讀取的函數(shù)。這樣,,AP開發(fā)人員沒有任何的物理通道讀取到機(jī)密數(shù)據(jù),,外界攻擊人員再怎么通過AP系統(tǒng)的漏洞或軟件bug,也是無法取得機(jī)密數(shù)據(jù)的,,從而實現(xiàn)了真正的物理隔離,。

2 POS機(jī)實例說明

2.1 POS機(jī)安全支付

    本發(fā)明所述的雙核安全POS機(jī)芯片,其安全支付流程如下:

    (1)用戶通過POS設(shè)備進(jìn)行刷卡動作,,設(shè)備通過雙核芯片中安全系統(tǒng)的銀行卡接口模塊讀取用戶的銀行卡信息,。

    (2)用戶通過POS機(jī)上的按鍵輸入密碼等信息,,按鍵直接連接到安全系統(tǒng)的密碼鍵盤模塊,。相關(guān)信息通過安全系統(tǒng)內(nèi)的液晶控制接口在液晶上顯示,與用戶進(jìn)行一定的信息交互,,如刪除,、退格、確認(rèn)等,。

    (3)安全系統(tǒng)通過加解密模塊對上述信息進(jìn)行加密,,然后將加密好的數(shù)據(jù)通過雙核通信功能傳輸給應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)再將加密好的信息通過通信接口(如串口,、USB等)發(fā)送給支付后臺,。

    (4)支付后臺處理完后,再將加密信息的校驗結(jié)果通過通信接口傳輸回POS設(shè)備,,應(yīng)用系統(tǒng)將校驗結(jié)果通過雙核通信功能送到安全系統(tǒng),,并通過約定好的雙核通信協(xié)議的函數(shù),將最終交易結(jié)果通過安全系統(tǒng)內(nèi)的液晶接口顯示出來,。

    應(yīng)用系統(tǒng)通過通信接口與銀行對接,,只對已經(jīng)加密好的信息進(jìn)行搬運工作,安全方面的所有工作全由安全核完成,,應(yīng)用人員無法形成攻擊且無法獲得機(jī)密數(shù)據(jù),。

2.2 POS機(jī)的數(shù)據(jù)防護(hù)

    使用安全系統(tǒng)中物理安全單元的相關(guān)功能進(jìn)行各種抗攻擊設(shè)計。物理安全單元適時探測環(huán)境變化,,可以保證在機(jī)器受到攻擊后清除數(shù)據(jù)保護(hù)單元中的重要敏感信息,,以免被攻擊者盜取。數(shù)據(jù)防護(hù)的工作依舊是安全系統(tǒng)完成,,應(yīng)用人員無觸碰,。

3 測試與驗證

    聯(lián)合應(yīng)用開發(fā)人員,上述設(shè)計已在FPGA平臺上完成了高覆蓋率的功能測試和雙核安全測試,,也在服務(wù)器上完成了芯片級別的高覆蓋率仿真測試,,目前已MPW。

參考文獻(xiàn)

[1] 妙維,袁宏駿,,余紅斌,,等.信息安全協(xié)處理器及其內(nèi)部存儲空間的管理方法.中國,CN 102521166 B[P].2015-02-11.

[2] NXP Semiconductors,,LPC43xx/LPC43Sxx ARM Cortex-M4/M0 multi-core microcontroller user manual[DB/OL].(2015-10-10).http://cache.nxp.com/documents/user_manual/UM10503.pdf?fsrch=1&sr=1&pageNum=1.

[3] NXP Semiconductors,,LPC5411x User manual[DB/OL].(2016-2-16).http://cache.nxp.com/documents/user_manual/UM10914.pdf?fsrch=1&sr=4&pageNum=1.



作者信息:

柯志斌,葉  琨,,周媛媛

(福建睿矽微電子科技有限公司,,福建 福州350003)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。