0
本文作者: 程弢 | 2017-02-25 19:01 | 專題:雷峰網(wǎng)公開課 |
雷鋒網(wǎng)按:在周一(指紋傳感器和假指紋攻防技術(shù))和周三(指紋識別原理和萬能指紋攻擊猜想)的兩期雷鋒網(wǎng)公開課上,邁瑞微電子創(chuàng)始人李揚淵分別從指紋識別本身的角度分析了指紋識別的安全,而本期公開課他將從移動支付安全整體的角度來看待指紋識別。
在前兩場課程中,李揚淵提到了指紋識別的幾種攻擊方式,其中之一就是攻擊數(shù)據(jù)庫,盜取指紋信息來制作假指紋。在指紋識別已經(jīng)成為了移動支付技術(shù)入口的時代,保護指紋信息安全的重要性不言而喻。
那么在移動支付的安全話題上,我們應(yīng)該了解哪些問題?Android手機和蘋果手機在安全策略上有何差異?雷鋒網(wǎng)再次邀請了李揚淵為你繼續(xù)解答。
李揚淵,蘇州邁瑞微電子創(chuàng)始人;指紋識別領(lǐng)域唯一貫通算法、傳感器、IC設(shè)計的從業(yè)者;密碼芯片領(lǐng)域最早的開發(fā)者之一;基于李揚淵所發(fā)明的“C-Q-T”電路,僅成立3周年的蘇州邁瑞微電子已成為中國大陸電容式指紋傳感器出貨量第二名的供應(yīng)商。
我們所看到的銀行柜臺和ATM機的網(wǎng)絡(luò)連接模式都是物理隔離網(wǎng)絡(luò),也就是銀行的專用網(wǎng)絡(luò)。
物理隔離是最直接的安全防護,它杜絕了監(jiān)聽、中間人等基礎(chǔ)攻擊手段,幾乎不需要建立安全技術(shù)。常見報道的某地區(qū)或某軍區(qū)建立的安全網(wǎng)絡(luò),大多都是指物理隔離網(wǎng)。
但是這種網(wǎng)絡(luò)的缺點也很明顯,它的終端會受限,僅能在固定的柜臺和ATM機辦理業(yè)務(wù),而且其攻擊方式也主要是內(nèi)部人業(yè)務(wù)級的攻擊,或者說是銀行雇員監(jiān)守自盜,例如行長挪用,柜員盜竊客戶帳戶,以及ATM機維護人員搬走現(xiàn)金。
這在POS機進入了各個商戶后,POS機對銀行來說是一種第三方網(wǎng)絡(luò),但考慮到是電信運營商的網(wǎng)絡(luò)還算可靠。
傳統(tǒng)的POS機以電話交換網(wǎng)絡(luò)連接入銀行主網(wǎng),也就是傳統(tǒng)物理電話交換網(wǎng)絡(luò),在雙方之間建立唯一的物理通道,這是人工切換,隔絕了中間人的攻擊,但對監(jiān)聽難以防御。在這之后,還出現(xiàn)了自動切換以及軟件切換,軟件分組交換網(wǎng)絡(luò)可能因軟件系統(tǒng)漏洞,導致中間人攻擊和監(jiān)聽。
再來看看POS機。早期申領(lǐng)POS機的商戶都要被嚴格的審核,而且POS機和人一樣有個一一對應(yīng)的身份,不過我們近幾年看到推銷的各種POS機都沒有沒有獨有的身份。
嚴格來講,作為終端,POS機配還是備了一定安全手段的:
POS的領(lǐng)取受到管控,POS使用者和唯一序列碼綁定;
POS在技術(shù)手段上實施了一定程度的加密;
POS畢竟是安全設(shè)備,提前內(nèi)置密鑰,無須分發(fā),沒有分發(fā)環(huán)節(jié)風險;
當然,這不代表POS機就不存在安全風險,比較常見的攻擊方式就是刷卡套現(xiàn),屬于業(yè)務(wù)級而不是技術(shù)級的攻擊。
互聯(lián)網(wǎng)引入金融系統(tǒng),就意味著要在不安全的網(wǎng)絡(luò)之上建立一個安全的體系,最基本的要求就是終端要有保障。我們看到這類最早的產(chǎn)品是U盾,現(xiàn)在U盾已經(jīng)從第一代發(fā)展到了第三代(支持指紋識別功能),在這過程中U盾的成本增加了,但交易風險在降低。
那么,網(wǎng)上銀行終端以互聯(lián)網(wǎng)接入銀行主網(wǎng)存在哪些風險呢?
最致命的就是互聯(lián)網(wǎng)是不安全的網(wǎng)絡(luò):分組轉(zhuǎn)發(fā)傳輸方式?jīng)Q定了物理信道不確定性;數(shù)據(jù)層面,監(jiān)聽、篡改、阻塞、中間人攻擊五花八門;軟件系統(tǒng)層面,病毒、木馬、遠程控制層出不窮。
針對這些問題,可以基于數(shù)字證書和安全模塊來增強終端的安全:
數(shù)字證書體系由非對稱密碼、對稱密碼、安全協(xié)議構(gòu)成;
安全模塊具備設(shè)備唯一碼、安全儲存器、安全計算環(huán)境,等等;
攻擊方式:
為抵抗偽造交易,所以U盾從1代發(fā)展到2代,增加了現(xiàn)實和確認物理按鍵;
為抵抗竊取U盾,第3代U盾引入指紋識別;
銀行卡受限于成本只相當于1代U盾。
移動互聯(lián)網(wǎng)的支付風險比互聯(lián)網(wǎng)要大,因為攻擊手段增加了,從技術(shù)角度上講,終端的接入入口是變化的,從法律管控來看,終端的身份認定更加困難,所以說移動互聯(lián)網(wǎng)比固定互聯(lián)網(wǎng)更加不安全:
假基站攻擊、復制sim卡等新攻擊手段;
設(shè)備不易追蹤,犯罪風險更小。
因此,在網(wǎng)絡(luò)變?nèi)醯那闆r下,對移動設(shè)備終端安全也提出了更高的挑戰(zhàn):
移動設(shè)備仍然是開放的軟件平臺;
安全鏈涉及的環(huán)節(jié)和廠商更多;
沒有成形標準,很難協(xié)同一致。
一言以蔽之,移動支付遍地漏洞,攻擊方式非常多樣化,主要防御手段就是大數(shù)據(jù)統(tǒng)計風控,以支付寶為例,他們早期的發(fā)展主要原因之一就是敢賠,中國的移動支付能走在世界前列靠的就是統(tǒng)計風控,這間接打了技術(shù)安全的臉。
一般情況下,網(wǎng)絡(luò)越開放,終端安全技術(shù)要求越高,所以標準化不如PC的手機,所面臨的安全風險也會更高。
一是硬件漏洞和硬件驅(qū)動程序作惡防不慎防,舉個例子,去年我們一競爭對手用驅(qū)動程序檢測內(nèi)置的芯片,而他們就在此做了些動作,當檢測到不是他們自己的芯片時,就會影響用戶手機的運行速度甚至導致死機。硬件驅(qū)動程序在系統(tǒng)的權(quán)限級很高,而手機生態(tài)對硬件驅(qū)動程序沒有做很全面的代碼審核,尤其是指紋識別。
另外,手機操作系統(tǒng)尤其是碎片化的Android面臨的安全風險很高,例如舊版本維護問題,安全補丁及時性問題。
除此之外,惡意軟件管控面臨巨大挑戰(zhàn),軟件分發(fā)缺少安全標準和執(zhí)行,防御性軟件式微,手機平臺不具備PC平臺那樣成熟的安全軟件行業(yè)。
所以,移動支付面臨的問題是網(wǎng)絡(luò)安全以及技術(shù)安全的實施條件都變差了,支付平臺必須付出很高的代價來完善統(tǒng)計風險控制,但需要注意的是,統(tǒng)計風控也存在一定的局限性,例如用虛假交易來擾亂金融,這是統(tǒng)計風控無法避免的。
SE是一個符合金融標準的芯片、軟件系統(tǒng)標準技術(shù),以U盾芯片和CPU銀行卡芯片為例,SE代表了金融信息安全的一系列標準技術(shù),它有以下技術(shù)特征:
封閉的軟件環(huán)境;
與金融信息化系統(tǒng)的兼容性接口;
具備內(nèi)存保護的安全動態(tài)儲存器;
防靜態(tài)破解的安全靜態(tài)儲存器;
密碼加速硬核;
真隨機數(shù)發(fā)生器;
防動態(tài)功耗分析的機制,等等。
對以移動支付為代表的移動互聯(lián)網(wǎng)金融而言,SE的作用是銜接終端安全體系和金融安全體系。
蘋果就是以標準SE作為兩套體系的接口,還兼顧了部分服務(wù)端的架設(shè)工作,這使蘋果公司向金融業(yè)的接入方式更靈活更有兼容性;而Android陣營則為SE的價值爭論不休,并沒有什么作為,仿佛做夢由金融系統(tǒng)主動改變技術(shù)標準來適應(yīng)自己。
答案是否定的,央行正在大幅度地提高監(jiān)管力度,以前松技術(shù)監(jiān)管的好日子是給互聯(lián)網(wǎng)金融試水成長的;技術(shù)監(jiān)管趨嚴,互聯(lián)網(wǎng)金融已經(jīng)面臨與銀行業(yè)一致的監(jiān)管標準和安全要求,隨時間推進會整體性越來越嚴格;不安全無金融,金融就是以可控的風險進行資金的流動;安全技術(shù)攻防中,互聯(lián)網(wǎng)金融平臺取代傳統(tǒng)金融業(yè)成為防守方的主力,這本身也是整個金融業(yè)的進步。
蘋果的安全架構(gòu)有三個部分:Open OS、Secure Enclave和SE,這是Apple終端安全的三大件,一個都不能少:
Open OS(IOS)用于運行軟件,作為兼容性平臺先天弱安全,即使IOS也不停暴露致命漏洞;
Secure Enclave用于運行安全軟件,擁有獨立的片上安全SRAM,不安裝第三方軟件,是一個封閉系統(tǒng);
SE作為與金融信息安全系統(tǒng)的標準接口,同時提供安全儲存功能,為前兩者提供密鑰儲存等服務(wù);
總結(jié)來說,Apple設(shè)計理念是硬件隔離風格,這是可證的安全。
Android沒有SE,這使得金融體系要接入的時候安全性不高,它主要的兩個組成部分是Open Zone和Secure Zone,但二者的關(guān)系設(shè)計不合理:
Open Zone(Android)往往不具備獨立的Secure Boot Chain,而由運行于Secure Zone的Secure OS引導;
Secure Zone雖然和Secure Enclave都遵從ARM的Trust Zone標準,但配置不一樣:Android陣營使Secure Zone與Android復用DRAM,等于對內(nèi)存補丁攻擊不設(shè)防,一旦關(guān)鍵數(shù)據(jù)地址暴露,則可以被Android運行的軟件鎖定變量值;部分Android陣營廠商設(shè)置的開發(fā)規(guī)則使Android App成為Secure App的精細調(diào)用者,對調(diào)度者攻擊不設(shè)防,可以誤導操作組合實現(xiàn)業(yè)務(wù)層攻擊。
所以Android陣營的設(shè)計理念是軟件防御式的擾亂,而不是硬件隔離,它的安全不可證。
金融業(yè)玩的就是量化風險,風險越高保險費越高,消費者付出的手續(xù)費就越高。
對于安全可證的Apple平臺,給予符合其可證安全等級的低費率。蘋果在低費率上再加一點點抽水,還能使總費率低于平均水平;
對于安全不可證的Android平臺,基本費率以可能的最低安全等級為準。正因為Android手機支付的高費率,Apple Pay才能在盈利的同時擁有費率競爭力。也正是因為這種安全機制的差異,造成了現(xiàn)在Apple Pay和Android賠的局面。
Trust Zone是ARM提出的標準,這個標準強調(diào)的是隔離軟件和硬件,但具體把安全做到哪一步依賴于完整的Soc設(shè)計甚至整機設(shè)計。
Apple的Secure Enclave和Android的Secure Zone都基于ARM的Trust Zone。Secure Enclave的storage(靜態(tài)存儲器)、dynamic memory(內(nèi)存)、boot chain都是獨立的,且不安裝第三方應(yīng)用;
Secure Zone的storage、dynamic memory與Android是復用的,靠AP的寄存器配置來分離,一旦Android App獲得改寫權(quán)限,那么就只有指望攻擊者不知道該怎么辦了。
Apple的指紋子系統(tǒng)有3個角色:一是傳感器,主要任務(wù)是采集指紋數(shù)據(jù);第二個是加密芯片,將指紋數(shù)據(jù)加密傳輸?shù)紸P;第三個是Secure Enclave,與加密芯片在出廠前匹配密鑰,指紋圖像明文只有在Secure Enclave里才被解密,且由于Secure Enclave使用的SRAM在片內(nèi),數(shù)據(jù)不可取出,掉電即失,蘋果拿不到指紋數(shù)據(jù)是由硬件隔離保證的。
Android的指紋系統(tǒng)有2個角色:一是傳感器,主要是采集指紋數(shù)據(jù),明文傳輸給AP;二是Secure Zone,獲得指紋數(shù)據(jù)明文,并儲存在共享DRAM里,并對其進行運算。
但是有個問題,指紋數(shù)據(jù)傳輸給Secure Zone還是Open Zone,是由寄存器設(shè)置決定的,一旦寄存器被改指紋信息也就被盜取了,這是軟隔斷思路的局限性。
一方面是因為SE本身有成本,另一方面是Android引入了也沒什么用:
SE只是一個保險箱,確保保險箱里的東西不被盜竊。這么一個赤身裸體的Android體系作為SE的調(diào)度者時,即使保險箱永遠不打開,手機永遠不丟失,Hacker遠程控制你的手機根本不在話下。
前面比較了蘋果和Android的安全,蘋果把Secure Enclave作為一個絕對獨立的東西,Android則做不到。作為開放性兼容體系,Android陣營在安全上天然不利。
Secure Zone需要安裝第三方軟件,決定了Secure Zone的安全性是有限的;Secure Zone需要富資源,尤其是存儲器資源,導致成本上無法像蘋果一樣接受片上專用的SRAM。
硬件不行軟件上,Secure Zone對Secure OS要求極高,導致對Secure OS的限制也就極大。再把Secure Zone作為安全根顯然是不可行的。
Secure Element除了作為金融安全標準件外,還可以為終端提供安全根和安全儲存服務(wù):
SE需要自主運行,免受調(diào)度者攻擊;作為Secure boot chain的第一環(huán)節(jié),由SE來校驗Secure Zone,Secure Zone再來校驗Open Zone,將SE集成于AP的設(shè)計需要充分考慮到這一需求;
SE提供密鑰安全儲存服務(wù),當Secure Zone被攻破的時候,數(shù)據(jù)還存在SE里。充分活用SoC和SiP技術(shù),杜絕該安全儲存服務(wù)本身受到鏈路攻擊;
把指紋識別的運算從Secure Zone轉(zhuǎn)移到SE,使指紋識別得以輔助SE成為最后一道關(guān)卡,這就構(gòu)成了下面這個架構(gòu)圖。
這是基于FSE的安全架構(gòu),它以Secure Element作為安全中心節(jié)點:SE左側(cè)為指紋和金融體系,AP關(guān)閉時可以獨立支付;SE右側(cè)逐次連接Secure Zone和Open Zone,從左到右實現(xiàn)Trust Boot Chain等安全機制。
這一體系的價值在于可以降低支付的手續(xù)費,而且還提高了手機的業(yè)務(wù)級安全能力。
Q:指紋識別方案現(xiàn)在有沒有和支付平臺和系統(tǒng)廠商協(xié)作?以及怎么承擔風險?
A:指紋方案現(xiàn)在只是兼容性接入,沒有量化,沒有風險評估。不止指紋,安全操作系統(tǒng)提供方也以軟件授權(quán),而非安全服務(wù)的形式存在。風險只在系統(tǒng)集成那里,畢竟安全鏈沒有閉合,安全沒量化,一旦出錯,怎么分責任呢?而安全領(lǐng)域的做法是,安全商集體為最終客戶背鍋。手機還沒有達到信息安全標準,目前只有信息安全噱頭
Q:Secure Enclave和ARM的TrustZone區(qū)別在哪?
A:Secure enclave是基于trust zone標準做了配置和再開發(fā)的成果,至于蘋果干了什么,并沒有通知ARM。事實是,ARM靠蘋果用了trust zone給自己打廣告,并且把蘋果沒有使用ARM參考方案給忽略了。
我需要強調(diào)一個觀念,產(chǎn)業(yè)級企業(yè),一家的力量,可以比平行產(chǎn)業(yè)整體的力量大很多,中國有企業(yè),缺完整產(chǎn)業(yè),更加沒有產(chǎn)業(yè)級企業(yè),華為肯定走在最前面,但路還長。
Q:前不久看到印度推出的指紋支付計劃,就是指紋支付系統(tǒng)和印度的“生物識別數(shù)據(jù)庫”連接,這種安全性是好是壞?我只要保護一個數(shù)據(jù)庫就可以防住所有人的信息泄露...
A:我只要攻破一個數(shù)據(jù)庫就拿到所有的數(shù)據(jù),攻防相長,一切是動態(tài)的。雞蛋放在一個籃子里,不是安全領(lǐng)域人員可以接受的想法。像蘋果一樣,用機制確保指紋數(shù)據(jù)拿不出來才是王道,我給出的以SE為中心的架構(gòu)建議就遵循這個思路。安全技術(shù)在于提升天然等級達到需要的等級,如果天然等級足夠高,就不必擔心技術(shù)的發(fā)展使得未來得以破解,安全產(chǎn)品的生存期也就提高了,同一維度的攻防,只有殺毒軟件才喜歡,升級越頻繁,收費越自然。從架構(gòu)設(shè)計來看,不到迫不得已,就不要指望同一維度的防守,盡量比攻擊者高一個等級。
本期公開課視頻如下:
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。