上下文中,術語用戶認證設備的"個性化數(shù)據(jù)元素"指代 在多個用戶認證設備中的每個用戶認證設備中具有相同功能、但是在多個用戶認證設備中 的每個特定的單獨設備中具有特定單獨值的多個用戶認證設備中所出現(xiàn)的數(shù)據(jù)元素。在其 他實施方式中,基秘密可w包括在多個用戶認證設備之間共享的主秘密。在一些實施方式 中,用戶認證設備適于根據(jù)存儲在用戶認證設備中的存儲部件中的基秘密來得出至少一個 動態(tài)安全值生成鑰。在一些實施方式中,用戶認證設備適于使用PIN或口令或由用戶提供 的其他秘密值來得出至少一個動態(tài)安全值生成鑰。在一些實施方式中,至少一個動態(tài)安全 值生成鑰為基秘密。在一些實施方式中,至少一個動態(tài)安全值生成鑰的值和/或個性化基 秘密與特定用戶或與特定用戶認證設備相關聯(lián)。在一些實施方式中,動態(tài)安全值生成鑰可 W包括對稱鑰例如對稱加密或解密鑰,對稱鑰的值被與認證服務器共享或者能夠被認證服 務器得到。在一些實施方式中,動態(tài)安全值生成鑰可W包括待與非對稱密碼學算法一起使 用的公/私鑰對中的私鑰。
[0143] 在一些實施方式中,用戶認證設備可W適于通過經(jīng)由將輸入值提交至利用至少一 個動態(tài)安全值生成鑰進行參數(shù)化了的密碼學算法來將多個輸入值與至少一個動態(tài)安全值 生成鑰在密碼學上相組合來生成動態(tài)安全值。該些輸入值可W包括例如:動態(tài)變量(例如 由用戶認證設備提供的時間相關值,和/或由用戶認證設備提供的計數(shù)器相關值,和/或 用戶認證設備從認證發(fā)起消息中提取的挑戰(zhàn)),和/或用戶認證設備從認證發(fā)起值中提取 并且由用戶確認的基于交易的數(shù)據(jù),和/或用戶認證設備從認證發(fā)起值中提取的會話標識 符,和/或與用戶認證設備從認證發(fā)起消息中提取的應用標識符相關或與被呈現(xiàn)給用戶的 應用標識符的表示相關并且可W由用戶確認的數(shù)據(jù)元素。在一些實施方式中,輸入值還可 W包括由用戶提供至用戶認證設備的數(shù)據(jù)。
[0144] 在一些實施方式中,用戶認證設備可W適于使用個性化數(shù)據(jù)元素來生成動態(tài)安全 值。在一些實施方式中,該個性化數(shù)據(jù)元素可W包括個性化鑰。在一些實施方式中,該個性 化數(shù)據(jù)元素可W包括用戶認證設備標識符相關數(shù)據(jù)元素(例如,序列號)。在一些實施方式 中,用戶認證設備根據(jù)主秘密W及在一些實施方式中可W包括用戶認證設備標識符相關數(shù) 據(jù)元素(例如,序列號)的個性化數(shù)據(jù)元素來得出動態(tài)安全值生成鑰。
[0145] 在一些實施方式中,由用戶認證設備使用W生成或獲得動態(tài)安全值的密碼學算法 可W包括對稱密碼學算法。對稱密碼學算法的示例可W包括對稱加密/解密算法,例如 DES(數(shù)據(jù)加密標準)或AES(高級加密標準)、對稱MAC(消息認證碼)算法、帶鑰哈希算法 例如HMAC (帶鑰哈希消息認證碼)或SHA-1或MD5 (由此,至少一個動態(tài)安全值生成鑰哈希 算法)。例如,在一些實施方式中,用戶認證設備可W使用CBC(密碼分組鏈接)模式的對稱 分組密碼例如DES或AES來對輸入值的連接進行加密,并且使用所產(chǎn)生的密文中的一部分 (優(yōu)選地為密文的最后一組中的一部分)。
[0146] 在一些實施方式中,由用戶認證設備使用W生成或獲取動態(tài)安全值的 密碼學算法可W包括非對稱密碼學算法。對稱密碼學算法的示例可W包括例如 RSA化ivest-化amir-Adleman)或DSA(數(shù)字簽名算法)。在一些實施方式中,用戶認證設備 可W例如使用利用公私鑰對中的私鑰進行參數(shù)化了的非對稱密碼學算法對輸入值生成數(shù) 字簽名。
[0147] 在一些實施方式中,服務器所生成動態(tài)安全值可W包括在認證發(fā)起值消息的經(jīng)加 密部分中,并且用戶認證設備可W適于通過對該經(jīng)加密部分進行解密并且從所解密部分中 提取服務器所生成動態(tài)安全值來獲得該動態(tài)安全值。
[0148] 可移除安全設備
[0149] 在一些實施方式中,如圖3b中所示,用戶認證設備(240)可W包括可移除安全設 備(395)和通信接口(390),W與該可移除安全設備交換數(shù)據(jù)和/或消息和/或命令和響 應。在一些實施方式中,可移除安全設備可W適于安全地存儲和/或處理秘密鑰和/或可W 適于執(zhí)行某些密碼計算。在一些實施方式中,用戶認證設備可W依賴于可移除安全設備W 安全地存儲和/或管理一些秘密(例如密碼學鑰和/或用戶PIN值或口令值)。在一些實 施方式中,用戶認證設備可W將一些密碼計算委派給可移除安全設備。在一些實施方式中, 用戶認證設備使用由可移除安全設備提供的數(shù)據(jù)元素來獲得動態(tài)安全值生成鑰的值。在一 些實施方式中,用戶認證設備將用于得出動態(tài)安全值生成鑰的值的密碼計算中一些的密碼 計算委派給W可移除安全設備。在一些實施方式中,用戶認證設備將用于生成動態(tài)安全值 的密碼計算中的一些的密碼計算委派給可移除安全設備。在一些實施方式中,可移除安全 設備包括用戶認證相關參考數(shù)據(jù)(例如,針對用戶PIN或口令的參考值或者針對用戶生物 特征的參考模板),并且用戶認證設備使用可移除安全設備來對用戶進行認證(例如通過 使可移除安全設備來驗證用戶PIN或口令或用戶相關生物特征)。
[0150] 例如在一些實施方式中,用戶認證設備(240)可W包括通信接口(390),該通信接 口包括智能讀卡器(391),并且可移除安全設備可W包括智能卡或SIM(用戶身份識別卡) 卡。在一些實施方式中,智能卡與用戶認證設備之間的通信的一些方面可W通過ISO/IEC 7816標準來指定。在一些實施方式中,智能卡可W包括由金融機構(gòu)發(fā)放的卡。在一些實施 方式中,智能卡可W包括EMV巧uropay-Mastercard-Visa)卡。在一些實施方式中,用戶認 證設備可W部分地或完全地遵循CAP(巧片認證方案)標準。
[0151] 生成響應消息。
[0152] 用戶認證設備可W適于生成包括至少所生成或所獲得的動態(tài)安全值的響應消息。 在一些實施方式中,響應消息還可W包括附加數(shù)據(jù)元素,例如用戶認證設備已經(jīng)從認證發(fā) 起消息中提取的會話標識符,和/或用戶認證設備標識符(例如,用戶認證設備的序列號) 和/或用戶標識符(例如用戶ID或用戶名稱)和/或應用標識符和/或隨機數(shù)。在一些 實施方式中,用戶認證設備可W適于對響應消息進行完全地或部分地加密。
[0153] 使響應消息能夠被用戶或認證服務器得到。
[0154] 在一些實施方式中,用戶認證設備可W適于使響應消息能夠被用戶得到,從而用 戶可W將響應消息轉(zhuǎn)發(fā)至認證服務器(例如通過將響應消息復制至訪問設備,該訪問設備 可W將該響應消息直接轉(zhuǎn)發(fā)至認證服務器或者轉(zhuǎn)發(fā)至應用服務器,該應用服務器可W在其 作用時將響應消息轉(zhuǎn)發(fā)至認證服務器)。在一些實施方式中,用戶認證設備可W例如適于將 響應消息顯示為用戶可W讀取并且復制至訪問設備的十進制數(shù)字串或十六進制數(shù)字串或 字母數(shù)字串或字符串。在一些實施方式中,用戶認證設備可W例如適于發(fā)射用戶可W聽到 并且復制至訪問設備的、表示十進制數(shù)字串或十六進制數(shù)字串或字母數(shù)字串或字符串的合 成語音片段序列。
[0巧5] 在一些實施方式中,用戶認證設備可W適于將響應消息發(fā)送至目的地服務器。在 一些實施方式中,用戶認證設備可W適于通過使用其無線數(shù)據(jù)通信接口、通過無線通信網(wǎng) 絡(例如移動電話網(wǎng))將響應消息發(fā)送至目的地服務器。在一些實施方式中,認證設備可 W例如適于經(jīng)由SMS(短消息服務)來發(fā)送響應消息,或者認證設備可W適于例如W HTTP 化st消息的形式、通過無線IP連接來發(fā)送響應消息。
[0156] 用戶認證設備的類型
[0157] 在一些實施方式中,用戶認證設備可W為專用硬件安全設備。在本上下文中的專 用硬件安全設備意指其主要功能在于接收并且處理認證發(fā)起消息并且生成動態(tài)安全值作 為響應。此外,在本上下文中的專用硬件安全設備意指該設備包括適于安全地存儲秘密例 如密碼學鑰和/或PIN值的存儲部件,并且意指其應用固件不能被改變或更新,或者其僅可 W使用固件更新協(xié)議來進行改變或更新,固件更新協(xié)議使用密碼機構(gòu)W向該設備證明固件 更新的真實性。
[0158] 在其他實施方式中,用戶認證設備可W包括下述設備:該設備的主要功能不在于 接收并且處理認證發(fā)起消息并且生成動態(tài)安全值作為響應并且該設備可W使用戶能夠自 由地添加或更新軟件應用。例如,用戶認證設備可W包括智能電話。
[0159] 確保應用的安全的方法
[0160] 圖4a和圖4b示出了用于確保正在由用戶使用例如關于圖2所討論的系統(tǒng)來訪問 的遠程可訪問應用的安全的方法。
[0161] 該方法包括W下步驟。
[0162] 用戶與應用的初始交互
[0163] 在第一步驟中,由應用服務器托管的遠程可訪問應用通過與正在由用戶使用W訪 問應用并且與應用交互的訪問設備交換(410)數(shù)據(jù)和消息來與用戶交互。例如,應用可W 從訪問設備接收訪問請求,或者應用可W從訪問設備接收(例如,交易請求消息中)由用戶 提交的交易數(shù)據(jù)。在一些實施方式中,應用為基于網(wǎng)頁的應用,并且該應用例如通過交換 HTTP消息來與訪問設備上的網(wǎng)頁瀏覽器進行交互。在某個點處,應用可W要求對用戶或由 用戶提交的數(shù)據(jù)進行認證。在一些實施方式中,用戶可W在認證處理開始之前將其(要求 保護的或假設的)身份傳送至應用。在其他實施方式中,應用在用戶已經(jīng)被識別之前開始 認證處理。例如,在一些實施方式中,用戶可W提交包括用戶的名稱或登錄名稱或賬號的訪 問請求。在其他實施方式中,用戶可W提交不包括用戶身份的指示的匿名訪問請求。
[0164] 獲得或生成認證發(fā)起消息(420)。
[01化]在下一步驟中,應用可W收集(421)多個數(shù)據(jù)元素并且將該些數(shù)據(jù)元素組裝在認 證發(fā)起消息中。應用可W例如收集挑戰(zhàn)和/或待認證的交易數(shù)據(jù)(并且其可能需要由用戶 認證設備呈現(xiàn)給用戶W進行批準),和/或會話標識符,和/或應用標識符(其可W由用戶 使用W識別該應用并且可W由用戶認證設備呈現(xiàn)給用戶W進行批準),和/或服務器憑證 (其可W由用戶認證設備來驗證W對認證發(fā)起消息的來源和/或內(nèi)容進行認證),和/或響 應或目的地地址(其可W在發(fā)送響應消息時由用戶認證設備使用),和/或隨機數(shù)(其可W 由用戶認證設備使用W得出秘密密碼學鑰例如服務器憑證驗證鑰或動態(tài)安全值生成鑰), 和/或用戶標識符(例如用戶在訪問或登錄請求主中所提供的用戶名稱)。該些數(shù)據(jù)元素 中的一些數(shù)據(jù)元素或所有數(shù)據(jù)元素可W由應用生成。該些數(shù)據(jù)元素中的一些數(shù)據(jù)元素或所 有數(shù)據(jù)元素可W由另一實體生成,并且可W由應用從該實體獲得。該實體可W例如為被該 應用所信任的認證服務器。可W由另一實體例如可信認證服務器生成并且提供至應用的數(shù) 據(jù)元素的示例可W包括;挑戰(zhàn)、和/或會話標識符、和/或服務器憑證、和/或隨機數(shù)。在一 些實施方式中,相同數(shù)據(jù)元素可W具有多于一個功能。例如,在一些實施方式中,單個數(shù)據(jù) 元素可W兼?zhèn)涮魬?zhàn)、會話標識符和隨機數(shù)的功能。
[0166] 在一些實施方式中,收集數(shù)據(jù)元素和/或使用它們來生成認證發(fā)起消息可W完全 地通過應用服務器上的應用來完成。在一些實施方式中,收集數(shù)據(jù)元素和/或使用它們來 生成認證發(fā)起消息可W部分地通過應用服務器上的應用并且部分地在訪問設備上的應用 的控制下來完成(例如,通過小應用如java小應用或與該應用相關聯(lián)的瀏覽器插件)。在 一些實施方式中,收集數(shù)據(jù)元素和/或使用它們來生成認證發(fā)起消息可W完全地在訪問設 備上的應用的控制下完成(例如,通過小應用如java小應用或與該應用相關聯(lián)的瀏覽器插 件)。在一些實施方式中,可W由另一實體例如可信認證服務器生成整個認證發(fā)起消息并且 提供至該應用(例如,通過將所生成的認證發(fā)起消息發(fā)送至托管應用的應用服務器或者通 過將所生成的認證發(fā)起消息發(fā)送至應用服務器正在與其交互的訪問設備)。例如在一些實 施方式中,應用服務器可W收集所有數(shù)據(jù)元素并且生成認證發(fā)起消息,并且將該認證發(fā)起 消息發(fā)送至訪問設備。在一些實施方式中,應用服務器可W收集所有數(shù)據(jù)元素并且將它們 發(fā)送至訪問設備,在訪問設備處使用該些數(shù)據(jù)元素生成認證發(fā)起消息(例如,通過小應用 如java小應用或與該應用相關聯(lián)的瀏覽器插件)。在一些實施方式中,應用服務器可W收 集一些數(shù)據(jù)元素并且它們發(fā)送至訪問設備,并且訪問設備可W收集一些其他數(shù)據(jù)元素,并 且在訪問設備處使用該些數(shù)據(jù)元素生成認證發(fā)起消息(例如,通過小應用如java小應用或 與該應用相關聯(lián)的瀏覽器插件)。在一些實施方式中,另一實體例如認證服務器可W收集所 有數(shù)據(jù)元素并且生成認證發(fā)起消息,并且將認證發(fā)起消息發(fā)送至應用服務器(其可W將認 證發(fā)起消息轉(zhuǎn)發(fā)至訪問設備)或者將認證發(fā)起消息直接發(fā)送至訪問設備。
[0167] 生成服務器憑證(422)
[0168] 在一些實施方式中,認證發(fā)起消息包括服務器憑證。在一些實施方式中,可W通過 使用通過秘密鑰進行參數(shù)化了的密碼學算法來生成認證發(fā)起消息。在一些實施方式中,由 認證服務器生成服務器憑證。該服務器憑證可W用于在密碼學上綁定和/或認證包括在認 證發(fā)起消息中的數(shù)據(jù)元素中的至少一些數(shù)據(jù)元素。例如在一些實施方式中,服務器憑證可 W用于對包括在認證發(fā)起消息中的應用標識符和/或交易相關數(shù)據(jù)進行認證。在一些實施 方式中,服務器憑證可W例如用于將例如包括在認證發(fā)起消息中的服務器所生成動態(tài)安全 值在密碼學上綁定至也包括在認證發(fā)起消息中的應用標識符和/或交易相關數(shù)據(jù)。在一些 實施方式中,服務器憑證包括認證發(fā)起消息中的經(jīng)加密部分。在實施方式中,服務器憑證包 括整個經(jīng)加密的認證發(fā)起消息。在一些實施方式中,服務器憑證包括認證發(fā)起消息中的經(jīng) 加密部分,該認證發(fā)起消息包括至少服務器所生成動態(tài)安全值。
[0169] 在訪問設備處發(fā)射(430)對認證發(fā)起消息的表示進行編碼的信號。
[0170] 如上較詳細地描述的,訪問設備可W獲得認證發(fā)起消息或其表示。在已經(jīng)獲得認 證發(fā)起消息或其表示之后,訪問設備發(fā)射對認證發(fā)起消息進行編碼的信號。如上較詳細地 描述的,訪問設備可W來使用其用戶輸出接口發(fā)射該信號。
[0171] 在用戶認證設備處捕捉所發(fā)射的信號,并且對其進行解碼W獲得認證發(fā)起消息 (435) 〇
[0172] 當正在由訪問設備發(fā)射對認證發(fā)起消息進行編碼的信號時,如上較詳細地描述 的,可W由用戶認證設備捕捉該信號。然后如上較詳細地描述的,可W由用戶認證設備從所 捕捉的信號中對認證發(fā)起消息進行解碼。
[0173] 處理認證發(fā)起消息并且生成響應消息(440)。
[0174] -旦已經(jīng)由用戶認證設備獲得認證發(fā)起消息,可W由用戶認證設備來處理認證發(fā) 起消息并且可W生成包括動態(tài)安全值的響應消息。
[01巧]可W對認證發(fā)起消息進行處理W獲得其內(nèi)容,并且如果適用(例如,如果認證發(fā) 起消息包括服務器憑證),則如上較詳細地描述的,對認證發(fā)起消息或其內(nèi)容進行認證。
[0176] 服務器憑證驗證(441)
[0177] 如果適用(例如,如果認證發(fā)起消息包括服務器憑證),則如上較詳細地描述的, 可W對該認證發(fā)起消息進行處理W對其或其內(nèi)容進行認證。在一些實施方式中,認證發(fā)起 消息可W包括服務器憑證,并且如上較詳細地描述的,可W由用戶認證設備來驗證該服務 器憑證W例如對認證發(fā)起消息或其內(nèi)容中的一些的來源進行認證。如果服務器憑證驗證失 敗,則用戶認證設備可W中止認證處理的其他步驟。在該樣的情況下,用戶認證設備可W向 用戶通知失敗。
[017引應用身份呈現(xiàn)(442)
[0179] 在一些實施方式中,認證發(fā)起消息包括應用標識符,用戶認證設備使用該應用標 識符來獲得應用身份的表示。可W借助于用戶認證設備的用戶輸出接口向用戶呈現(xiàn)應用身 份的表示,并且可W由用戶認證設備捕捉所呈現(xiàn)的應用身份的表示的用戶批準??蒞在認 證處理的其他步驟中使用該批準。
[0180] 在一些實施方式中,認證發(fā)起消息可W包括應用標識符W及服務器憑證,該服務 器憑證對包括在認證發(fā)起消息中的至少應用標識符進行認證,由此,服務器憑證已由認證 服務器生成,并且由此,認證服務器可能已驗證了應用標識符與針對其認證服務器已經(jīng)生 成服務器憑證的應用的身份相匹配,從而用戶可W確信認證發(fā)起消息確實源于與應用標識 符相關聯(lián)的應用。
[0181] 交易數(shù)據(jù)呈現(xiàn)(443)
[0182] 在一些實施方式中,認證發(fā)起消息可W包括一個或多個交易相關數(shù)據(jù)元素,可W 由用戶認證設備借助于其用戶輸出接口向用戶呈現(xiàn)所述一個或多個交易相關數(shù)據(jù)元素W 由用戶檢查和/或批準??蒞由用戶認證設備來捕捉所呈現(xiàn)的交易相關數(shù)據(jù)的用戶批準。 該批準可W在認證處理的其他步驟中使用。
[0183] PIN 輸入(444)
[0184] 在一些實施方式中,可W由用戶認證設備提示用戶W提供PIN或口令,并且如上 所述,用戶認證設備可W捕捉用戶提供的PIN或口令并且使用該PIN或口令。在一些實施方 式中,將PIN或口令的用戶輸入用作隱含批準。該用戶輸入可W例如由用戶認證設備視為 對于到目前為止在認證處理中已經(jīng)由用戶認證設備呈現(xiàn)給用戶的數(shù)據(jù)元素或消息(例如, 表示應用身份或交易相關數(shù)據(jù))的批準,或者該用戶輸入可W被視為對于由用戶認證設備 繼續(xù)生成動態(tài)安全值和/或生成響應消息和/或?qū)㈨憫l(fā)送至目的地服務器的用戶批 準。
[0185] 獲得用戶批準(445)
[0186] 可W由用戶認證設備要求一個或多個隱含或明確的用戶批準(例如,對繼續(xù)認證 處理的批準,或?qū)蒙矸莸呐鷾驶驅(qū)灰紫嚓P數(shù)據(jù)的批準)。在一些實施方式中,用戶認 證設備明確地請求用戶提供批準(例如,顯示消息例如"你批準下述交易數(shù)據(jù)嗎?"或"你 現(xiàn)在想要訪問下述應用嗎?"),并且向用戶明確地呈現(xiàn)是否批準的選擇或注釋(例如;"是 /否"或"繼續(xù)/取消"),并且用戶可w通過做出選擇并且向用戶認證設備明確地指示適當 選擇來明確地提供批準。在一些實施方式中,用戶W隱含的方式來指示批準。例如,通過當 呈現(xiàn)待檢查的某些數(shù)據(jù)或消息時僅繼續(xù)(代替中止)普通用戶交互的方式,或者通過例如 當已經(jīng)將某些數(shù)據(jù)或消息呈現(xiàn)給用戶時輸入PIN或口令的方式。
[0187] 在認證處理中使用并且驗證用戶批準。
[0188] 認證處理的繼續(xù)可W取決于該些用戶批準中的一個或多個用戶批準,并且在如果 用戶未提供批準中的一個或多個批準或者如果用戶未批準的某點處,可W中止認證處理。 例如在一些實施方式中,如果用戶批準已經(jīng)失敗,則可W中止動態(tài)安全值的生成和/或包 括動態(tài)安全值的響應消息的生成。在一些實施方式中,如果尚未獲得所要求的用戶批準,貝U 用戶認證設備可W不將所生成的響應消息發(fā)送至目的地服務器或者可W將不向用戶呈現(xiàn) 響應消息。
[0189] 在一些實施方式中,用戶批準可W隱含在響應消息中,該是由于用戶批準是用戶 認證設備生成動態(tài)安全值和/或響應消息或者用戶認證設備將響應消息呈現(xiàn)給用戶或?qū)?響應消息發(fā)送至目的地服務器的必要條件。在該樣的實施方式中,驗證動態(tài)安全值的認證 服務器可W通過驗證動態(tài)安全值來隱含地驗證用戶批準,該是由于如果用戶尚未提供所要 求的批準,則認證服務器不會接收到具有有效動態(tài)安全值的響應消息。
[0190] 在一些實施方式中,用戶認證設備在動態(tài)安全值的密碼計算中包括指示用戶批準 (或缺乏用戶批準)的數(shù)據(jù)元素,并且可W將該些數(shù)據(jù)元素包括在響應消息中或者可W將 該些數(shù)據(jù)元素不包括在響應消息中。例如,用戶認證設備可W使用包括指示用戶是否被提 示提供某個批準和/或用戶是否確實提供了該批準的位標志的數(shù)據(jù)元素。在一些實施方式 中,用戶認證設備可W包括指示用戶批準的該些數(shù)據(jù)元素作為密碼學算