嚴(yán)霄鳳
工業(yè)和信息化部計(jì)算機(jī)與微電子發(fā)展研究中心(中國軟件評測中心) 北京 100048
電子認(rèn)證是電子政務(wù)和電子商務(wù)的核心環(huán)節(jié),目的是建立以電子方式提交到信息系統(tǒng)的用戶身份的可信性,確保網(wǎng)上傳遞信息的真實(shí)性、保密性、完整性和不可否認(rèn)性。信息系統(tǒng)可以根據(jù)經(jīng)過電子認(rèn)證的身份確定某人是否被授權(quán)執(zhí)行電子政務(wù)、電子交易等相關(guān)網(wǎng)絡(luò)活動(dòng)。
電子認(rèn)證令牌包含電子認(rèn)證過程中證明用戶身份的秘密,通過一個(gè)或多個(gè)認(rèn)證因素控制,由用戶擁有,用于證明用戶的身份。根據(jù)令牌使用的認(rèn)證因素?cái)?shù)量和類型的不同,其特點(diǎn)也不同。
對令牌的擁有和控制是認(rèn)證用戶身份的證據(jù),如果令牌受到不法分子的攻擊,被偷竊、篡改或復(fù)制,將使攻擊者獲得對令牌控制的機(jī)會,偽裝成令牌的主人,實(shí)施不法行為,給令牌用戶造成損失或危害。
傳統(tǒng)的認(rèn)證系統(tǒng)將知道的東西(如口令)、擁有的東西(如ID徽章、IC卡和動(dòng)態(tài)口令卡)和自身的特征(如指紋、瞳孔、聲音或其他生物特征)三種因素作為認(rèn)證的基本要素。令牌的特點(diǎn)由其使用的認(rèn)證因素的數(shù)量和類型決定,令牌可能是單因素或多因素的:
(1) 單因素令牌:使用三個(gè)認(rèn)證因素之一獲得認(rèn)證。例如,口令是知道的東西。不需要其他因素激活令牌,被認(rèn)為是單因素的。
(2) 多因素令牌:使用兩個(gè)或多個(gè)認(rèn)證因素獲得認(rèn)證。例如,通過PIN碼激活智能卡上的私鑰是一個(gè)多因素令牌,因?yàn)橹悄芸ㄊ菗碛械臇|西,PIN碼是知道的東西。
認(rèn)證系統(tǒng)的安全程度在很大程度上取決于系統(tǒng)采用的認(rèn)證因素的數(shù)量。使用兩個(gè)認(rèn)證因素的認(rèn)證系統(tǒng)比只使用一個(gè)認(rèn)證因素的認(rèn)證系統(tǒng)更強(qiáng);使用所有三個(gè)認(rèn)證因素的系統(tǒng)比只使用兩個(gè)認(rèn)證因素的系統(tǒng)更強(qiáng)。
通常情況下,雙因素令牌足以達(dá)到認(rèn)證需要的安全水平,但在某些應(yīng)用或環(huán)境中可能需要使用多個(gè)認(rèn)證因素獲得要求的認(rèn)證強(qiáng)度。
令牌的一個(gè)抽象模型如圖1所示。

圖1 令牌模型
圖的外框表示令牌,令牌可能存在一個(gè)硬件(如智能卡)、軟件(如軟件加密模塊)或人的記憶中。內(nèi)框代表存儲在令牌中的令牌秘密。令牌的輸出是提供給協(xié)議棧,以便傳輸給驗(yàn)證方,證明用戶擁有和控制令牌的一個(gè)值——令牌驗(yàn)證碼。令牌驗(yàn)證碼可能是令牌秘密或令牌秘密的變形。
令牌有兩個(gè)可選的輸入:令牌輸入數(shù)據(jù)和令牌激活數(shù)據(jù)。為了生成令牌驗(yàn)證碼可能需要令牌輸入數(shù)據(jù),如一個(gè)挑戰(zhàn)或隨機(jī)數(shù)。令牌輸入數(shù)據(jù)可由用戶提供,或者是令牌本身的一個(gè)功能,如一次性口令(One-time Password,OTP)設(shè)備的時(shí)鐘。為了激活令牌并允許生成令牌驗(yàn)證碼,可能需要令牌激活數(shù)據(jù),如一個(gè)PIN碼或生物特征識別。當(dāng)用戶通過知道的東西或自身的特征控制令牌時(shí),需要令牌激活數(shù)據(jù)。
驗(yàn)證碼在使用令牌的過程中生成。一般情況下,通過使用令牌秘密和一個(gè)或多個(gè)可選的令牌輸入值(如,一個(gè)隨機(jī)數(shù)或挑戰(zhàn))執(zhí)行數(shù)學(xué)函數(shù)生成驗(yàn)證碼:
驗(yàn)證碼=f(<令牌秘密>〔,<隨機(jī)數(shù)>〕〔,<挑戰(zhàn)值>〕)
在令牌是一個(gè)口令的情況下,驗(yàn)證碼就是令牌秘密本身。
令牌中包含的秘密基于公共密鑰對(非對稱密鑰)或共享秘密。公共密鑰對由一個(gè)公鑰和一個(gè)關(guān)聯(lián)的私鑰組成。私鑰存儲在令牌中,由用戶用于證明其對令牌的擁有和控制。驗(yàn)證方通過一些憑證(通常是公鑰證書)獲取用戶的公鑰,通過證明用戶擁有和控制關(guān)聯(lián)的私鑰令牌,使用認(rèn)證協(xié)議驗(yàn)證用戶的身份。存儲在令牌中的共享秘密,可能是對稱密鑰或口令,雖然他們可以使用類似的協(xié)議,但兩者之間的一個(gè)重要區(qū)別是如何與用戶關(guān)聯(lián)。對稱密鑰通常存儲在用戶控制的硬件或軟件中,口令往往由用戶記憶。因此,密鑰是用戶擁有的東西,而口令是用戶知道的東西。因?yàn)榭诹钚枰洃洠酝ǔ__(dá)不到加密密鑰可能的長度,在許多協(xié)議中,很容易受到網(wǎng)絡(luò)攻擊,不適合作為密鑰。此外,將口令輸入系統(tǒng)的入口(通常是鍵盤)為非常簡單的鍵盤記錄攻擊提供了機(jī)會,還可能讓附近的人通過偷窺輸入獲取口令。所以,密鑰和口令代表了不同的認(rèn)證屬性。
在電子認(rèn)證過程中,用戶在網(wǎng)絡(luò)上通過證明其擁有和控制令牌,從而表明用戶是申請到令牌的用戶,讓系統(tǒng)或應(yīng)用程序認(rèn)證其身份。
電子認(rèn)證令牌總會包含一個(gè)秘密,一些經(jīng)典的認(rèn)證因素并不直接適用于電子認(rèn)證。例如,ID徽章是用戶擁有的東西,當(dāng)向門衛(wèi)證明用戶的身份時(shí)是有用的,但它不是一個(gè)用于電子認(rèn)證的令牌。歸類為知道的東西的認(rèn)證因素不一定是秘密。在基于知識的認(rèn)證中,用戶被提示回答可以從公共數(shù)據(jù)庫中得到證實(shí)的問題,也沒有構(gòu)成電子認(rèn)證可接受的秘密。一般來說,自身的特征一般不構(gòu)成秘密,因此不使用生物特征作為電子認(rèn)證令牌,但他們在電子認(rèn)證中具有自己的一席之地。例如,通過指紋保護(hù)訪問一個(gè)其中包含加密密鑰(令牌秘密)的硬件(令牌)。當(dāng)與生物特征識別一起使用時(shí),加密密鑰產(chǎn)生一個(gè)輸出(令牌驗(yàn)證碼),用于在認(rèn)證過程中驗(yàn)證用戶。冒名頂替者必須通過偷竊硬件獲取加密密鑰并復(fù)制指紋,才能使用令牌。盡管在驗(yàn)證方與用戶之間實(shí)際認(rèn)證協(xié)議只簡單地證明用戶擁有密鑰,但這樣的設(shè)備有效地提供了雙因素認(rèn)證。
生物特征識別的特點(diǎn)是可以用個(gè)人惟一的特征屬性驗(yàn)證身處驗(yàn)證點(diǎn)的人的身份。生物特征識別包括面部特征、指紋、DNA、虹膜和視網(wǎng)膜掃描、聲紋及許多其他特性。生物特征識別可用于在注冊過程中提高安全級別,防止以后用戶否認(rèn)注冊,幫助識別提交注冊欺詐的人,以及進(jìn)行令牌解鎖。
用于電子認(rèn)證中的令牌主要有以下幾種類型:
(1) 記憶秘密令牌:在用戶和認(rèn)證服務(wù)提供者(Credential Service Provider,CSP)之間共享的一個(gè)秘密。記憶秘密令牌通常是字符串(如口令)或數(shù)值串(如PIN碼)。在認(rèn)證過程中提交給驗(yàn)證方的令牌驗(yàn)證碼是秘密本身(如口令本身)。記憶秘密令牌是知道的東西。
(2) 預(yù)注冊知識令牌:對一組提示或挑戰(zhàn)的一系列響應(yīng)。這些響應(yīng)可被看作是一組共享秘密。提示和響應(yīng)組由用戶和CSP在注冊過程中創(chuàng)建。在一次認(rèn)證過程中,令牌驗(yàn)證碼是一組記憶中的對注冊提示的響應(yīng)。例如,對諸如“你第一個(gè)寵物的名字是什么?”的提示設(shè)置的響應(yīng)。在認(rèn)證過程中,要求用戶提供對一個(gè)提示子集的正確響應(yīng)。另外,用戶可能在注冊過程中選擇和記憶了一個(gè)圖像。在認(rèn)證過程中,用戶被提示從一組類似的圖片中識別正確的圖像。以前驗(yàn)證的會話交易可作為預(yù)注冊知識令牌。預(yù)注冊知識令牌是知道的東西。
(3) 查找秘密令牌:存儲用戶和CSP之間共享的一組秘密的物理或電子令牌。用戶使用令牌查找響應(yīng)驗(yàn)證方提示需要的秘密。如,驗(yàn)證方可能要求用戶提供以表格形式印刷在一個(gè)卡上的數(shù)字或字符串的特定子集(如,工行口令卡)。令牌驗(yàn)證碼是由提示符確定的秘密。查找秘密令牌是擁有的東西。
(4) 帶外令牌:惟一可尋址的物理令牌,可以接收驗(yàn)證方選定的一次性使用的秘密。設(shè)備由用戶擁有和控制,并支持在一個(gè)與主通道分離,用于電子認(rèn)證的通道上進(jìn)行私人通信。令牌驗(yàn)證碼是接收的秘密,被提交給使用主通道進(jìn)行電子認(rèn)證的驗(yàn)證方。例如,用戶試圖登錄到一個(gè)網(wǎng)站,在其注冊期間預(yù)注冊的手機(jī)、PDA、尋呼機(jī)或陸上線路上接收作為電子認(rèn)證協(xié)議的一部分提交的隨機(jī)驗(yàn)證碼。帶外令牌是擁有的東西。
(5) 單因素(SF)一次性口令(OTP)設(shè)備:支持一次性口令(或稱動(dòng)態(tài)口令)自生成的硬件設(shè)備。具有一個(gè)用作種子生成一次性口令的內(nèi)嵌秘密,不需要通過第二個(gè)因素激活。通過提供一個(gè)可接受的一次性口令,證明擁有和控制設(shè)備來實(shí)現(xiàn)認(rèn)證。令牌驗(yàn)證碼是一次性口令。例如,一個(gè)一次可顯示 6個(gè)字符的一次性口令設(shè)備。SF OTP設(shè)備是擁有的東西。
(6) 單因素(SF)加密設(shè)備:對提供給設(shè)備的輸入執(zhí)行加密操作的硬件設(shè)備。不需要通過第二個(gè)認(rèn)證因素激活。使用內(nèi)嵌的對稱或非對稱加密密鑰。通過證明擁有設(shè)備完成認(rèn)證。令牌驗(yàn)證碼高度依賴于特定的加密設(shè)備和協(xié)議,通常是某種類型的簽名消息。SF加密設(shè)備是擁有的東西。
(7) 多因素(MF)軟件加密令牌:加密密鑰存儲在磁盤或一些其他“軟”介質(zhì)中,需要通過第二個(gè)認(rèn)證因素激活。通過證明擁有和控制密鑰完成認(rèn)證。令牌驗(yàn)證碼高度依賴于特定的加密協(xié)議,通常是某種類型的簽名消息。MF軟件加密令牌是擁有的東西,可通過知道的東西或自身的特征激活。
(8) 多因素(MF)一次性口令(OTP)設(shè)備:一個(gè)硬件設(shè)備,生成一次性口令用于認(rèn)證,需要通過第二個(gè)認(rèn)證因素激活。第二個(gè)因素可通過某些種類的集成輸入板、生物特征(如,指紋)掃描器或直接電腦接口(如,USB端口)獲得。雖然允許從設(shè)備直接通過電子方式輸入到計(jì)算機(jī),但通常一次性口令顯示在設(shè)備上,作為一個(gè)口令手工輸入到驗(yàn)證方。MF OTP設(shè)備是擁有的東西,可通過知道的東西或自身的特征激活。
(9) 多因素(MF)加密設(shè)備:一個(gè)硬件設(shè)備,包含一個(gè)受保護(hù)的加密密鑰,需要通過第二認(rèn)證因素激活。通過證明擁有設(shè)備和控制密鑰完成認(rèn)證。令牌驗(yàn)證碼高度依賴于特定的加密設(shè)備和協(xié)議,但通常是某種類型的簽名消息。MF加密設(shè)備是擁有的東西,可通過知道的東西或自身的特征激活。
在認(rèn)證過程中可能涉及到一個(gè)或多個(gè)令牌的組合使用。
(1) 單令牌認(rèn)證:用戶提供一個(gè)令牌驗(yàn)證碼,向驗(yàn)證方證明其身份。例如,當(dāng)用戶試圖登錄到一個(gè)受口令保護(hù)的網(wǎng)站時(shí),用戶輸入用戶名和口令。在這種情況下,只有口令被認(rèn)為是令牌。
(2) 多令牌認(rèn)證:用戶向驗(yàn)證方提供由兩個(gè)或多個(gè)令牌生成的令牌驗(yàn)證碼證明其身份。令牌組合的特點(diǎn)由令牌使用的、令牌本身固有的和激活令牌的因素的組合決定。例如,驗(yàn)證方要求用戶輸入口令,并使用單因素加密設(shè)備的認(rèn)證。這里口令是知道的東西,加密設(shè)備是擁有的東西,組合被認(rèn)為是多因素的。
(3) 多階段認(rèn)證:使用單因素令牌獲得第二個(gè)令牌的多階段認(rèn)證過程,不構(gòu)成多因素認(rèn)證。多階段組合解決方案的安全級別等于最弱令牌的安全級別。例如,一些加密移動(dòng)解決方案允許將部分或全部加密密鑰存儲在網(wǎng)絡(luò)服務(wù)器上,并在使用口令成功驗(yàn)證后下載到用戶的本地系統(tǒng)。隨后,用戶可以使用下載的軟件加密令牌來向電子認(rèn)證的遠(yuǎn)程驗(yàn)證方驗(yàn)證身份。這種類型解決方案的安全級別僅與用戶為獲得加密令牌所提供的口令令牌的安全級別相同。
有一種特殊的多令牌認(rèn)證的情況,其中使用一個(gè)主令牌建立一個(gè)安全會話,在會話中使用輔助令牌提供第二個(gè)令牌驗(yàn)證碼。雖然兩個(gè)令牌用在不同的時(shí)間,但其結(jié)果相當(dāng)于多令牌認(rèn)證,可提高用戶與依賴方(Relying Party,RP)之間電子認(rèn)證會話的整體安全級別。在這些認(rèn)證情境中,兩個(gè)階段令牌組合所獲得的安全等級與使用相同令牌集的多令牌認(rèn)證方案相同。當(dāng)組合兩個(gè)令牌類型用于多令牌認(rèn)證方案時(shí),可以提高認(rèn)證的安全級別。表1給出了通過兩個(gè)令牌類型的組合可獲得的最高安全等級。

表1 多令牌電子認(rèn)證方案的安全等級
表1的生成原則是:
(1) 使用兩個(gè)不同認(rèn)證因素的2級令牌可以獲得3級安全等級。2級令牌包括擁有的東西和知道的東西。
令牌(2級,擁有的東西)+令牌(2級,知道的東西)→令牌(3 級)。
(2) 在所有其他情況下,令牌組合獲得的安全等級等于組合中各令牌的最高安全等級。
例如,一個(gè)記憶秘密令牌(知道的東西,最高安全等級為2級)與一個(gè)查找秘密令牌(擁有的東西,安全等級為2級)組合可以獲得3級的組合令牌。一個(gè)MF軟件加密令牌(安全等級為3級)和一個(gè)記憶秘密令牌(最高安全等級為2級)組合,整體上獲得3級安全等級,這里增加記憶秘密令牌不能增加組合的安全等級。
攻擊者獲得對令牌控制的機(jī)會,就可能偽裝成令牌的主人,實(shí)施不法行動(dòng)。基于對構(gòu)成令牌各種認(rèn)證因素的攻擊,令牌面臨的安全風(fēng)險(xiǎn)可分為以下幾類:
(1) 擁有的東西被丟失、損壞、偷竊或被攻擊者克隆。例如,獲得對令牌所有人的計(jì)算機(jī)訪問機(jī)會的攻擊者可以復(fù)制一個(gè)軟件令牌。硬件令牌可能被偷竊、篡改或復(fù)制。
(2) 知道的東西被泄露給攻擊者。攻擊者可能猜測到口令或PIN碼。當(dāng)令牌是一個(gè)共享秘密時(shí),攻擊者可能獲得對CSP或驗(yàn)證方的訪問機(jī)會,并獲得秘密值。攻擊者可能安裝惡意軟件(如鍵盤記錄器)捕獲秘密。此外,攻擊者可能通過對認(rèn)證嘗試網(wǎng)絡(luò)流量的離線攻擊確定秘密。攻擊者可能通過研究用戶或通過其他社會工程技術(shù),獲得用戶的預(yù)注冊信息,如用戶可能在一次談話或博客中曾提到她的第一只寵物。
(3) 自身的特征被復(fù)制。攻擊者可能會獲得一個(gè)令牌所有者指紋的拷貝并制作一個(gè)復(fù)制品。
表 2列出了電子認(rèn)證令牌面臨的安全風(fēng)險(xiǎn)以及一些例子,給出了緩解令牌安全風(fēng)險(xiǎn)的有關(guān)措施。

表2 令牌安全風(fēng)險(xiǎn)及緩解措施

安全風(fēng)險(xiǎn) 描述 舉例 緩解措施網(wǎng)絡(luò)釣魚或網(wǎng)址嫁接通過欺騙用戶,使其把攻擊者當(dāng)成驗(yàn)證方或RP,從而捕獲令牌秘密或驗(yàn)證碼。用戶將口令泄露給仿冒驗(yàn)證方的網(wǎng)站。銀行用戶在響應(yīng)來自釣魚者假裝代表銀行的電子郵件查詢時(shí)泄漏口令。用戶通過DNS重新路由登錄假冒網(wǎng)站泄漏口令。使用具有動(dòng)態(tài)驗(yàn)證碼的令牌,保證不能用其驗(yàn)證碼信息導(dǎo)出后續(xù)的驗(yàn)證碼。社會工程為了讓用戶提供其令牌或令牌秘密,攻擊者使用戶對其建立一定程度的信任。用戶將口令告訴代表用戶的老板詢問口令的同事。用戶在電話查詢中將口令告訴偽裝成系統(tǒng)管理員的攻擊者。使用具有動(dòng)態(tài)驗(yàn)證碼的令牌,保證不能用其驗(yàn)證碼信息導(dǎo)出后續(xù)的驗(yàn)證碼。在線猜測攻擊者連接到網(wǎng)上的驗(yàn)證方,嘗試在驗(yàn)證方上下文中猜測有效的令牌驗(yàn)證碼。使用在線字典攻擊猜測口令。使用在線猜測獲取注冊到合法用戶的一次性口令令牌的驗(yàn)證碼。使用產(chǎn)生高熵驗(yàn)證碼的令牌。
另外,實(shí)施以下幾項(xiàng)措施可用于減輕表2中描述的安全風(fēng)險(xiǎn):
(1) 多因素:可以抬高攻擊成功的門檻,增加攻擊的難度。
(2) 物理安全機(jī)制:可以保護(hù)被盜的令牌使其不被復(fù)制。
(3) 口令復(fù)雜性規(guī)則:可以降低猜測攻擊成功的可能性。要求使用不出現(xiàn)在普通字典中的長口令,將迫使攻擊者嘗試每一個(gè)可能的口令。
(4) 系統(tǒng)和網(wǎng)絡(luò)安全控制:可以減少攻擊者獲得對系統(tǒng)訪問或安裝惡意軟件的機(jī)會。
(5) 定期培訓(xùn):可以確保用戶明白何時(shí)和如何報(bào)告受損或懷疑受損,識別攻擊者嘗試破壞令牌的行為模式。
(6) 帶外技術(shù):可以用來驗(yàn)證擁有注冊設(shè)備(如手機(jī))的證據(jù)。
[1]Electronic Authentication Guideline,NIST SP 800-63-1.December.2011.
[2]E-Authentication Guidance for Federal agencies.OMB Memorandum M-04-04.December 16.2003.
[3]Security Requirements for Cryptographic Modules,NIST FIPS PUB 140-2,May 25, 2001.
[4]嚴(yán)霄鳳.G2C/B2B核心 美國聯(lián)邦電子認(rèn)證模型研究.IT168.2012.
[5]光大銀行推出陽光令牌.電子銀行首次實(shí)現(xiàn)統(tǒng)一身份認(rèn)證.金融周刊.2011.