專利名稱:擴展一次性密碼方法和裝置的制作方法
技術領域:
本發明涉及因特網(Internet)認證,具體而言,涉及使用一次 性密碼(one-time password)的認證。
背景技術:
許多因特網用戶對其服務提供商,公司網絡,付費服務,或其 銀行或信用卡帳戶具有特定訪問權限。為了行使其權力,這樣的用 戶需對其自身進行認證。用于用戶認證的大多數已知和常用方法是
基于輸入用戶名和密碼。
隨著因特網欺騙的不斷增多和日益高級,用戶名和密碼認證并 不被視為是安全的,這是因為通過通信網絡,能夠很容易地截取數 據,從而,被攻擊者重新使用以冒充原用戶的身份和權限。
一次性密碼(此后稱為"OTP")是常用的補救措施,是由多個 供應商提供,用于克服用戶名和密碼方案的脆弱性。它是基于僅對 單個登錄或事務使用密碼,然后使該密碼無效。任何其他登錄或事 務將需要不同的密碼。從而,即使某些人截取了密碼,那對于以后
的事務是無用的。
存在有三種用于生成和管理一次性密碼的基本方法。 一種方法 是,在紙制或電子文件上具有密碼的長列表;第二種方法是,使用 運行在其的個人計算機(臺式、膝上型、掌上型或智能電話)上運 行的軟件,生成這樣的密碼;第三種方法是,使用專用硬件設備生 成密碼。本發明的重點在于針對這樣的硬件設備。
圖1A描述了現有技術的系統100,其使用專用OTP認證設備 110 (通常而言,為OTP"令牌")生成一次性密碼。計算機160包括 用于協同在服務器170上運行的服務器應用182運行客戶機應用168
7的處理容量(未示出),以便獲得目標功能,如對信息或事務的訪
問。客戶機應用168可為專用程序或通用Web瀏覽器。服務器應用 182需要獲得來自OTP驗證器178的核準,以便提供目標功能。 OTP驗證器178是設計用于接收和檢查來自服務器應用182的(一 次性)密碼的軟件模塊,其再從客戶機應用168接收這樣的密碼。 在所考慮的配置中,利用從OTP認證設備110生成和通過認證i殳備 接口 164接收的數據,得出該密碼。OTP認證設備110是由用戶攜 帶的安全便攜式設備,其適用于與多個計算機160相接口。 OTP認 證設備110的核心是OTP發生器130,它是基于微處理器的密碼軟 件程序,其被設計用于基于記錄在OTP認證設備110中的觸發器 120和秘密用戶密鑰132生成一次性密碼。 一般而言,將OTP設備 110構造成具有抗篡改或防篡改性,以防止訪問和/或篡改秘密用戶 密鑰132數據。
觸發器120是將OTP發生器130的一個密碼生成操作改變到其 他生成會話的元件,因此提供密碼的"一次性"方面。在現有技術中 用于生成觸發器120的三種常用方法是,從服務器170接收隨機詢 問(random challenge) 120A,從內嵌在OTP認證設備110中的精 確實時時鐘120B接收全日期時間串,或對于每次相繼密碼生成加1 的計數器120C。
在所披露內容中,"會話OTP數據"指從觸發器120和秘密用戶 密鑰132得出的數據。在OTP認證設備110和/或客戶機工作站160 內,可將該會話OTP數據與用戶認證數據(即,密碼、生物學數據 等)進行組合以生成雙因素(或多因素)認證數據。對于在OTP認 證設備110內實現組合的特定情形,雙因素認證數據本身是"會話 OTP數據,,的形式。然而,只要會話OTP數據是從用戶密鑰132和 觸發器120得出,就不存在如從OTP設備110提供給客戶機工作站 160的"會話OTP數據"將是由用戶提供數據(即,密碼/PIN數據或 生物學數椐)得出的多因素認證數據的明確要求。
作為可選形式以及通常方式,可將用戶標識符(或用戶識別模塊)134設置在OTP認證設備110中,以防止發現或偷竊OTP認證 設備110的一些人對其濫用。在許多實現方式中,OTP發生器130 不會生成(或不會發送)會話OTP數據,除非用戶標識符134提供 肯定的用戶識別。
進行用戶識別的常用方法是用于接收個人識別號(PIN)的小 鍵盤、生物學傳感器,或檢查PIN或自計算機/客戶機工作站160接 收(通常來講,通過客戶機工作站160的鍵盤輸入到客戶機工作站 160中)的其他數據的比較器。
OTP接口 140與認證設備接口 164相接口 ,以便在OTP認證 設備110與計算機160之間交換OTP相關數據。特別是,只要當 OTP發生器130生成會話OTP, OTP發送器(未示出)就從OTP 設備110"發送"(即,顯示和/或實現數據交換,以便通過OTP接口 140向計算機160提供會話OTP數據)會話OTP。
用于OTP接口 140的常用實現方式是顯示器140A,用戶利 用它讀取密碼,并將其人工輸入到用作為認證設備接口 164的鍵盤 中(那么,優選的觸發器120可為實時時鐘120B或計數器 120C) ; USB接口 140B (或其他"聯系,,接口 ),與用作為認證i殳備 接口 164的匹配USB接口相接口 ,以建立雙向串行通信,或IR/RF 接口 140C (或其他"無線接口"),與用作為認證設備接口 164的可 兼容紅外/射頻收發器相接口。在USB 140B和IR/RF接口 140C的 情形中,用于觸發器120的所有三種方法均可使用。
應該注意,OTP接口 140應用顯示器140A的情形并不需要在 OTP認證設備110與計算機160之間的任何直接電子通信鏈路。在 許多示例中,用戶將從顯示器140B讀取的會話OTP數據140以及 用戶認證數據(即,例如,對于"雙因素,,認證的第二種方法而言, 為密碼和/或生物學數據)輸入到客戶機工作站160,在此將該數據 進行組合,以生成雙因素認證密碼(其本身屬于OTP類型)。
僅當OTP驗證器178核準時,服務器170允許服務器應用182 向客戶機應用168提供目標服務。OTP驗證器178包括處理和密碼裝置,用于對通過計算機160自otp認證設備110接收的密碼進行 檢查,并考慮用戶密鑰132和觸發器120。用戶密鑰132是從用戶數 據庫176檢索得出,用戶數據庫176包括合法用戶的記錄,包括其 用戶名和密鑰。觸發器120的值通過otp驗證器178從觸發器同步 器174檢索而得到,其包含有分別對應于用于從詢問120a中選出的 觸發器120的方法、實時時鐘120b和計數器120c的詢問發生器、 實時時鐘或計數器。
圖1b表示如圖1a所示同一現有技術系統。在圖1b中,顯式 表示出otp認證設備110、計算機160 (即,客戶機工作站)和服 務器170的部署。更具體而言,如圖1b所示,客戶機工作站/計算機 160通過因特網接入鏈路(例如,寬帶鏈路、撥號鏈路、soho鏈路 或任何其他isp (因特網服務提供商)接入鏈路,或用于蜂窩設備網 上沖浪的蜂窩電話因特網接入鏈路),利用由isp提供的wan網關 22 (isp接入點)與廣域網20相連。服務器170通過廣域網20 (通 常使用包交換協議)將對于會話otp的請求發送到客戶機工作站 160。當客戶機工作站160接收該請求時,otp認證設備110將會話 otp發送(自動輸入或由用戶通過客戶機工作站的鍵盤輸入)到客 戶機工作站160。該會話otp數據可被直接轉發到服務器170,或 者將其與認證數據(即,密碼、pin、生物學數據)進行組合,然后 通過廣域網(即,因特網)20發送到服務器170。
圖2描述了根據某些現有技術的如圖1a-1b所示系統100的操 作。在步驟201中,計算才幾160的用戶啟動客戶4幾應用168。客戶機 應用168需要與服務器應用182進行通信和交互,以便為用戶提供 所需目標功能,如對數據的訪問或進行交易。在步驟221中,服務 器應用182通過對使用otp進行用戶認證的請求,對客戶機應用 168進行響應。該請求被傳輸到otp認證設備110,在此,在步驟 221中,otp發生器130由觸發器部件120請求觸發器生成otp。 如果觸發器為詢問120a,則服務器170在觸發器同步器174中生成 隨機詢問串,并將其通過計算機160提供給otp發生器130;如果觸發器為實時時鐘120B或計數器120C的任何一種,則在OTP認證 設備110內將其自動生成。在步驟231中,OTP發生器130對觸發 器120和用戶密鑰132進行處理,以生成OTP。在步驟241中,將 步驟231中生成的OTP從OTP設備110發送到客戶機工作站160, 客戶機工作站160將從OTP得出的數據轉發到服務器170。在步驟 251中,OTP驗證器178基于從觸發器同步器174檢索出的觸發器 和從用戶數據庫176檢索出的用戶密鑰,計算預期OTP,并將其與 通過計算機160從OTP認證設備110接收的OTP進行比較。如果 驗證結果是肯定的,則步驟261將流程進行到步驟271,在此,客戶 機服務器會話開始通過在客戶機應用168與服務器應用182之間的 協作提供所需目標服務;如果驗證結果是否定的,則步驟261將流 程轉到步驟281,其中,服務器170拒決從計算機160接收的服務請 求,并由計算機160向用戶進行通知。
以上所述系統使用現有技術的典型用戶認證方法,重點強調通 過服務提供商(其操作服務器170)進行對用戶(其使用計算機 160)進行認證。該單向認證方法在一定程度上保護服務提供商和用 戶避免遭受用戶身份失竊,直至引入稱為"網絡釣魚(phishing)的 新欺騙模式為止,這種欺騙模式甚至成為主流欺騙方法。在網絡釣 魚中,通過假裝成來自其銀行或合法團體、著名因特網商業網站的 電子郵件消息與用戶打招呼。該消息邀請用戶更新其詳細信息或進 行商業事務。在該過程期間,要求用戶對其本人進行認證,罪犯利 用用戶提供的信息盜取用戶身份,并以用戶名義進行其他事務。用 戶名和密碼的組合在網絡釣魚面前極其脆弱,這是由于罪犯將用戶
交出的用戶名和密碼用于更多事務。OTP的使用,極大縮減了網絡 釣魚的效果,但不會針對稱為"中間人(man in the middle),,的網絡 釣魚變型提供完全保護。在中間人攻擊中,來自假站點的消息在用 戶看起來很像是合法金融或商業事務。在事務發生的同時,罪犯與 實際站點進行其自己的事務。罪犯通過了基于OTP的認證會話,然 后實施將金錢傳輸或將貨物發送到他自己或其合伙人那里的事務。存在有許多關于在具有中間人攻擊風險的環境中提高安全性的 技術的公開文獻。潛在相關專利和公開專利申請包括
US20010045451 , US20060041759 , US6141752 , WO2005098630 , WO06018647和WO06062838,所有這些申請其全部內容在此引作 參考。
RSA Security公司的白皮書"Enhancing One-Time Passwords for Protection Against Real-Time Phishing Attacks,,披露了其中結合 客戶機工作站使用OTP設備(即,電子令牌)的技術。OTP設備與 客戶機工作站進行通信(例如,"聯系"OTP設備通過USB接口進行 通信,其中,通過USB接口提供觸發器導出數據),或被將觸發器 導出OTP碼(即,觸發器導出數據)輸入到客戶機工作站的鍵盤中 的人們使用。在客戶機工作站處,將觸發器導出OTP碼(或自動提 供,或從OTP令牌的屏幕拷貝)與輸入到客戶機工作站的密碼/PIN 數據進行組合,以提供"雙因素,,密碼。更具體而言,并非將該密碼 /PIN數據輸入到瀏覽器中以及直接將組合數據雙因素認證數據在因 特網上發送,而是在客戶機工作站上提供駐留軟件"密碼保護模塊
(PPM)"(通常與瀏覽器相分離),以接收用戶密碼/PIN。在客戶 機工作站處,PPM模塊將用戶密碼/PIN與OTP設備令牌提供的 OTP數據進行組合。在從客戶機工作站發送到服務器之前,根據請 求服務器的身份由PPM對組合數據進行加密/散列化處理。這估計難 以使"中間人"訪問散列密碼,以及學習OTP數據和/或雙因素認證數 據和/或用戶i人證數據。
即使PPM通常是與易受攻擊的瀏覽器相分離的應用,該現有技 術的一個缺點在于,會話OTP數據總是從典型抗篡改OTP設備
(由用戶或通過設備接口)提供給潛在不安全客戶機工作站,即使 存在請求OTP認證的服務器不合法的一定風險也是如此。
由于網絡釣魚和中間人攻擊的威脅,非常需要用于保護OTP數 據被授權方訪問的改進型方法和裝置。
發明內容
本發明人在此披露用于擴展一次性密碼(OTP)基本結構所提 供的保護以有效阻止網絡釣魚攻擊的系統和功能。具體而言,本發 明人將披露,僅在存在某種跡象表明請求會話OTP的服務器是合法 服務器時,向客戶機工作站提供會話OTP數據可能有益。否則,如 果未表明(或不足以表明)請求會話OTP數據的服務器是合法服務 器時,OTP設備拒絕來自客戶機工作站/終端的會話OTP數據可能 是有益的。
盡管不是明確要求,在示例性實施例中,與判定請求服務器是 否合法相關聯的特定功能還可在抗墓改OTP設備內執行,從而,通 過用于驗證服務器身份的機制,提供防墓改(例如,由駭客和/或欺
騙者和/或中間人實施)的進一步保護。或者或另外,該功能可在客 戶機工作站中執行。
本發明首次披露用于處理會話OTP數據(例如,根據服務器生 成的對于會話OTP的請求)傳輸的方法。目前所披露的方法可在這 樣的系統中執行,即該系統包括服務器、客戶機工作站、OTP令 牌,其中,客戶機工作站通過廣域網(通常是因特網)與服務器進 行通信,OTP令牌通過設備接口 (即,通過"聯系"或"無線"接口 ) 與客戶機工作站相接口。本發明所披露的方法包括以下步驟a) (由OTP設備和/或客戶機工作站)從服務器接收至少部分識別服務 器的信息;b)判定識別信息是否表示合法服務器;以及c)根據判 定,決定(即,由OTP令牌和/或客戶機工作站作出決定)執行從包 括以下行為的組中選出的一個行為i)從OTP令牌發送表示內部生 成會話OTP的數據(即,在OTP令牌內而非在客戶機工作站內生 成的會話OTP,根據觸發器和秘密用戶密鑰以及可選擇地根據用戶 認證數據生成的會話OTP);以及ii)制止發送。僅在決定是肯定決 定(即,決定發送表示會話OTP的數據)時,從OTP令牌發送表 示會話OTP的數據。
根據某些實施例,發送包括,僅在決定表示肯定時,執行表示
13數據通過接口從OTP令牌到客戶機工作站的設備間數據傳輸。
根據某些實施例,發送包括,僅在決定表示肯定時,在OTP令
牌的顯示屏幕上顯示出表示會話OTP的數據。
根據某些實施例,表示會話OTP的數據是從用戶認證數據得出
的多因素認證數據。
或者,表示會話OTP的數據與用戶認證數據無關。 根據某些實施例,方法還包括d)如果決定是否定決定,則
OTP令牌制止生成會話OTP。
根據某些實施例,方法還包括d)如果決定是否定決定i)
在OTP令牌內內部生成會話OTP;以及ii)保持其中會話OTP保留
在OTP令牌內的狀態。
根據某些實施例,方法還包括步驟d)在接收之前,使用在
OTP令牌內的嵌入式安全瀏覽器,打開在OTP令牌與服務器之間的
安全會話。
根據某些實施例,方法還包括步驟e)在打開會話之后,將會 話的客戶機端從OTP令牌轉移到客戶機工作站,其中,在客戶機工 作站處執行接收和判定的其中至少一個。
根據某些實施例,在OTP令牌從服務器接收識別信息時,會話 的客戶機終點和/或客戶機端保留在嵌入式瀏覽器處(即,將客戶機 工作站用作為"數據管道",并從OTP設備內對通信進行管理)。
根椐某些實施例,由OTP令牌(即,嵌入在OTP令牌內的瀏 覽器)通過服務器與OTP令牌之間的通信鏈路執行接收,即,OTP 令牌是會話的客戶端,將客戶機工作站僅用作為"數據管道",并從 OTP設備內對通信進行管理。
根據某些實施例,在OTP令牌內執行判定。在某些實施例中, 這可提供由于在OTP令牌內環境的抗篡改和/或自由篡改(tamper-free) 特性而導致的額外安全措施。
根據某些實施例,判定包括執行對駐留在OTP令牌內的數據庫 的查詢(自客戶機工作站和/或自駐留在OTP令牌內的數據庫客戶機代碼)。
根據某些實施例,數據庫為不變數據庫。從而,根據一個示
例,金融機構或金融機構組對OTP設備發布嵌入在該設備內的合法 服務器"白列表"(即,與金融機構或機構組有關)。該白列表將是 不變的,盡管不提供"通用解決方案"可能對發布金融機構(和/或其 客戶機)是合適的。對服務器的合法性進行認證的數據庫的不變特 性還可提供對附加的安全措施。
根據某些實施例,數據庫包括以下其中之一可接受URL的預 定列表、可接受IP地址的預定列表和可接受證書字段值的預定列 表。
根據某些實施例,判定的執行是根據以下內容的其中至少一 個接收的一個通信的協議數據(例如,通過從表示服務器IP地址 的發送包數據中提取)、在接收到的通信中發送的證書數據、URL 數據和IP地址數據。
根據某些實施例,判定根據自服務器接收的證書的僅某些屬性 執行。從而,在一個示例中,證書有許多字段,其中某些但非所有 證書字段用于確定/判定服務器的合法性。在許多示例性情形中,這 可能是有益的,例如,其中希望定義服務器或服務器參數的"家族 (family)"(從而,僅部分定義服務器的標識符)。例如,發行方 (例如,銀行或安全服務器的其他運營者)可與不止一個證書提供 商一起工作,從而,可能不需要該字段用于對證書進行驗證。例 如,銀行可在特定組中部署多個服務器,可能不會使用表明組中哪 個服務器正發出會話OTP請求的證書字段數據,而可能使用其他字 段。這給發行方(例如,銀行)提供了無需在對OTP設備發布(例 如,包括不變數據庫)時完全設定服務器標識參數的靈活性。
應該注意,盡管"不變數據庫"在某些情形中提供安全性,但并 不對本發明構成限制。
在示例性實施例中,將發送數據進行加密和/或散列化處理。
下面,首次披露OTP令牌與通過廣域網與服務器進行通信的客戶機工作站一起使用。本發明所披露的OTP設備包括(a)設備 端口 (即, 一個或多個設備端口 -面向"聯系",如USB端口和/或無 線端口),用于從客戶機工作站接收包括至少部分識別服務器的信 息的數據;b)服務器合法性引擎,用于判定信息是否表示合法服務 器;c) OTP發生器,用于生成會話OTP;以及d) OTP發送決定 引擎,用于根據判定的結果,決定執行從包括以下行為的組中選出 的一個行為i)從OTP令牌發送表示會話OTP的數據;以及ii)制 止發送。
在示例性實施例中,設備還包括c)用于發送表示會話OTP的 數據的OTP發送器,其中,OTP發送器是
根據某些實施例,如果判定是肯定的,OTP發送器用于通過數 據端口將表示會話OTP的數據發送到客戶機工作站。
根據某些實施例,OTP令牌還包括d)數據顯示器,其中, 僅在引擎判定識別信息表示合法服務器時,OTP發送器用于向數據 顯示器發送表示會話OTP的數據。
根據某些實施例,OTP令牌還包括d)嵌入在OTP令牌內的 嵌入式安全瀏覽器,嵌入式瀏覽器用于打開在OTP令牌與服務器之 間的安全會話。
根據某些實施例,嵌入式安全瀏覽器用于在安全會話期間接收 識別信息。
根據某些實施例,服務器合法引擎包括d)預定數據的數據 庫,其中,服務器合法引擎用于根據數據庫內容執行判定。
根據某些實施例,數據庫為不變數據庫。這或許是有益的,例 如,其中,分發用于與預定服務器組一起操作的特定OTP設備(而 非通用OTP設備),期望的是提供附加安全性,以便欺騙者和/或罪 犯和/或駭客不能夠修改數據庫以添加服務器。
根據某些實施例,數據庫包括以下之一可接受URL的預定列 表、可接受1P地址的預定列表和可接受證書字段值的預定列表。
根據某些實施例,服務器合法性引擎用于根據來自服務器的通信協議數據和在通信中由服務器發送的證書數據的其中至少一個執 行判定。
根據某些實施例,服務器合法性引擎用于根據自服務器接收的 證書的僅其中某些屬性執行判定。
根據某些實施例,OTP發生器用于根據用戶認證數據生成會話 OTP,從而生成作為多因素認證數據的會話OTP。
根據某些實施例,設備還包括e)用戶識別模塊,用于對用戶 認證數據進行認證。
根據某些實施例,OTP發送決定引擎用于根據對用戶認證數據 進行認證的結果實現決定。
下面,首次披露用于處理會話OTP數據傳輸的系統。本發明所 披露的系統包括a)客戶機工作站,通過廣域網與服務器進行通 信,b) OTP令牌,與客戶機工作站相接口, OTP令牌包括i)設 備端口,用于與客戶機工作站相接口;以及ii)OTP發生器,用于生 成會話OTP;以及其中,OTP令牌和客戶機工作站的其中至少一個 用于接收識別服務器的識別信息,該系統還包括c)服務器合法性 引擎,用于判定信息是否表示合法服務器,服務器合法性引擎至少 部分駐留在OTP令牌和客戶機工作站的至少其中之一中;d) OTP 傳輸決定引擎,用于根據判定結果決定執行從包括以下行為的組中 選出的一個行為i)從OTP令牌發送表示會話OTP的數據;以及 ii)制止發送,其中,OTP發送決定引擎至少部分駐留在OTP令牌 和客戶機工作站的其中至少一個中。
下面,首次披露一種計算機可讀存儲介質,在所述計算機可讀 存儲介質中嵌入有計算機可讀代碼,所述計算機可讀代碼包括用于 執行以下步驟的指令a)由經由廣域網與服務器進行通信的客戶機 工作站和與服務器相接口的OTP令牌的其中至少一個,接收至少部 分識別服務器的信息;b)判定識別信息是否表示合法服務器;以及 c)根據判定,決定執行從包括以下行為的組中選出的一個行為i) 從OTP令牌發送表示內部生成會話OTP的數據;以及ii)制止發
17送。
通過后面的詳細描述和示例,這些以及其他實施例將顯而易見。
圖1A-1B (現有技術)提供了示例性系統的各框圖,其中,該 系統包括請求會話OTP的服務器170、通過因特網20與服務器 170進行通信的計算機/客戶機工作站160,以及與客戶機工作站160 一起使用的OTP設備/令牌110。
圖2提供了用于通過OTP設備110生成的OTP啟動客戶機服 務器會話的現有技術程序的流程圖。
圖3A-3B提供了根據本發明的某些實施例的示例性系統300 的各框圖,其中,系統300包括請求會話OTP的服務器170、通 過因特網20與服務器170進行通信的計算機/客戶機工作站360,以 及與客戶機工作站160 —起使用的OTP設備/令牌310。
圖3C提供了示例性OTP認證設備/令牌310的框圖。 圖3D提供了示例性服務器合法性引擎340的框圖。 圖3E提供了示例性客戶機工作站/計算機360的框圖。 圖4A提供了根據本發明的某些實施例的用于通過OTP設備 110生成的OTP啟動客戶機服務器會話的程序的流程圖。
圖4B提供了處理來自OTP令牌的會話OTP發送的程序的流程圖。
盡管在此以數個實施例以及示意性附圖的示例方式描述了本發 明,但本領域技術人員應該理解,本發明并不局限于所述實施例或 附圖。應該理解,附圖和詳細描述并不意在將本發明局限在所披露 的特定形式,而是相反,本發明涵蓋屬于本發明精神和范圍的所有 <務改例、等效例和變型例。如本申請中所^吏用的,詞語"可以或可能 (may)"用于允許含義(即,表示"有這樣的可能,,),而并非具有 強制性含義(即,表示"必須")。
18
具體實施例方式
現在將以具體、示例性實施例描述本發明。應該理解,本發明 不限于所披露的示例性實施例。還應該理解,目前所披露的用于處 理會話數據的裝置、設備和計算機可讀代碼的每一個特征,并非都 是實現所附權利要求任一具體項要求保護的發明必不可少的。描述 設備的多個元件和特征是為了使本發明完全能夠得以實現。還應該 理解的是,在本說明中,在表示或者描述處理或方法之處,方法的 步驟可以按照任何順序執行或者同時執行,除非從上下文中顯然可 以看出一個步驟依賴于首先執行的另一步驟。除非從上下文中明顯
看出是相反的,否則客戶機工作站、服務器或OTP令牌的任何披露 部件可以通過硬件和/或軟件和/或固件的任何組合來實現。
參照圖3A-3E,描述了根據本發明優選實施例構成的系統 300。注意,系統300的某些模塊和功能與圖1A-1B的系統100的相 應模塊和功能相同或者相似。因而,圖3A-3D的OTP認證設備310 包括觸發器120和OTP發生器330, OTP發生器330根據用戶密鑰 庫132的內容和觸發器120的輸出生成會話OTP數據。可選擇地, 還根據用戶認證數據(例如,由用戶標識符134進行處理)生成會 話OTP數據。或者,會話OTP數據不依賴于用戶認證數據,僅依 賴于觸發器120的輸出和用戶密鑰庫132 (—般而言,其中駐留有用 戶密鑰數據的抗篡改或防篡改非易失性存儲器)的內容。
OTP會話數據可通過OTP發送器342,經由接口 140從OTP 令牌設備310發送給作為顯示器接口 140A的一部分的顯示屏,或者 經由聯系接口 140B或無線設備接口 140C發送給客戶機工作站 360。
并非在每次接收到對于OTP會話的請求時都無條件地從OTP 令牌310傳輸OTP會話數據。實際上,根據OTP發送決定引擎344
作出的"進行/不進行,,決定,執行發送。在圖3A-3E中,將某些部件 (例如,OTP發送決定引擎344,用戶標識符134,瀏覽器350和服務器合法性引擎340)表述為駐留在OTP令牌310內,不過本發明 人還設想了在實施例中將這些部件中的一個或多個部分或全部置于 OTP令牌的外部。
發送決定引擎344可根據一個或多個因素執行上面所述的"進行 /不進行"發送決定。 一般而言,只有當服務器合法性引擎340確定與 對于會話OTP的請求相關聯的服務器標識符表示請求服務器170可 能合法(并且不太可能是欺騙者或網絡釣魚者或"中間人,,)時, OTP令牌310才從安全的OTP令牌發送會話OTP (給安全性較差 的客戶機工作站360或顯示屏)。
因此,參照圖3D,注意在示例性實施例中,服務器合法性引擎 340包括數據庫362和邏輯360,例如,用于"查詢"數據庫(其可以 簡單地為查詢表)。數據庫包括表示"可信賴服務器"的預定數據。 因此,服務器合法性引擎340用于驗證當前會話OTP將由合法服務 器作出,而不是如典型網絡釣魚中那樣由假裝成合法服務器的偽裝 服務器作出。可信賴服務器的數據庫360可由用于每個可信賴服務 器的記錄構成,所述記錄包括例如IP (因特網協議)地址,URL (統一資源定位器)或證書數據(例如,如發明內容中所討論的'局 部,證書數據)中的至少一個。
在示例性實施例中,由OTP認證設備310的提供方(例如,為 其客戶提供這種設備以便與其進行安全會話的銀行),或者通過用 戶作出的表項,或者通過自可信賴方接收可信賴服務器的文件填充 數據庫。在有些實施例中,數據庫是不變的,并且在OTP認證令牌 310"發貨(shipping)"之前配置該數據庫。
參照圖3E,注意計算機360 (即客戶機"工作站")可具有與圖 1A-1B所示計算機160相同的認證設備接口 164,并且客戶機應用 368可以類似于圖1A-1B所示客戶機應用168,其具有詢問服務器 170檢索其身份(使用本領域技術人員公知的標準識別服務,以識別 所連接方的IP, URL和/或證書),并將該服務器身份作為輸入發送 給OTP認證設備310的服務器ID檢驗器334的附加功能。本發明無需對計算機360或服務器170進行任何改變。注意,計算機360 ("客戶機工作站,,)可以是用于與服務器170進行通信的任何計算 機化用戶設備。例如,計算機360可以是個人臺式、膝上或掌上型 計算機,蜂窩電話或雙向尋呼機。OTP認證設備310是這樣的自 治、便攜式設備(電子"令牌,,)可與不止一個計算機360連接 的,并且可具有多種形式因素,如,具有顯示器的密鑰表鏈(key fob) 、 USB令牌、具有令牌功能的USB盤、可移動卡(例如,安 全數字卡、多媒體卡、存儲棒,或SIM卡)等,或者,如果與諸如 個人計算機之類的另一計算機結合使用的話,它可為蜂窩電話。
還應注意,服務器170無需"知曉(aware)"本發明。這可提供 本發明所披露的、用于降低網絡釣魚攻擊現有服務器170的風險的 方法和裝置之間的兼容性。
圖4A描述了根據本發明某些實施例的如圖3A-3E所示系統300 的操作。大部分步驟與圖2相同,其中添加了步驟401, 411, 421 和431。從而,在步驟201中啟動客戶機應用368之后,則在步驟 401中,在客戶機應用368控制下,由計算機360對服務器170的 ID進行檢索,且其被發送到OTP認證設備310,以便在步驟411中 由服務器ID檢查器334與形成服務器ID檢查器334的一部分的合 法服務器的數據庫進行驗證。如果服務器得到肯定驗證,則步驟421 將流程轉到如圖2所示步驟211, 221, 231, 241, 251, 261, 271 和281,在此,由OTP認證設備310的OTP發生器330生成 OTP,并由服務器170進行驗證,以此作為運行客戶機服務器會話 的預條件。如果在步驟411中得到否定驗證,則步驟421將流程轉 到在步驟431處的拒絕,其中,OTP認證設備310的OTP發生器 330不會生成有效的OTP,并且,程序將由客戶機應用368或服務 器應用182終止。
應該注意,由于圖3和4所示配置需要與OTPi人證^殳備310進 行雙向通信,從而,最好使用USB 140B或IR/RF接口 140C。然 而,如果OTP接口 140使用在OTP認證設備310與計算機360之
21間沒有通信鏈路的顯示器140A,則服務器ID的表項將使人工輸入 設備,如鍵盤(還可用于用戶標識符134的PIN表項)在OTP認證 設備310中是強制的。從而,在此情形中,將通過計算機360的顯 示器上的消息向用戶提示將服務器ID (如在消息內顯示的)鍵入到 OTP認證設備310中,然后將顯示器140A上顯示的OTP鍵入到計 算機360中。
圖4B描述在如圖4A所示示例性認證程序的子程序。從而,應 該注意,程序4B可在不同于如圖4B所示的認證程序的情形中實 現。
參看圖4B,首先,接收385 (在OTP設備110和/或客戶機工 作站160)至少部分地識別服務器的信息。然后,判定387 (例如, 通過服務器合法性引擎340)識別信息是否表示合法服務器(即,如 果服務器170更有可能合法/真實/可信)。根據該判定結果,(例 如,通過OTP發送決定引擎344)作出"進行/不進行"發送決定389 (用于將OTP會話數據發送到安全性較差的客戶機工作站-沒有必 要作出關于將OTP會話數據通過廣域網發送到服務器170的決 定)。在肯定決定(即,發送)的情形391中,"發送"(即,通過 設備接口或顯示屏幕)表示OTP會話的數據。否則,制止431將 OTP會話數據發送到在OTP令牌310外部的安全性較差環境。
在本發明的描述和權利要求中,動詞"包括(comprise或 include),,和"具有(have)"以及其變化的每一個均用于表示這些動 詞所涉及賓語或多個賓語沒有必要是動詞主語的元件、組件、部件 或部分的完全列表。
在此引述的全部參考文獻全部引作參考。關于參考文獻的引述 并非視為承認參考文獻為現有技術。
冠詞"一 (a或an)"在此用于指一個或多個(即,至少一個) 名詞所^修飾語法對象。例如,"一元件(an element)"表示一個或多 個元件。
術語"包括,,在此用于表示語句"包括但不限于,,,并可與之互換
22使用。
術語"或,,在此用于表示術語"和/或",并可與之互換使用,除 非在某些情形明確表示其他含義。
術語"例如(或諸如)"在此用于表示語句"例如,但不限于", 并可與之互換使用。
使用通過舉例給出的對本發明實施例的詳細描述,描述了本發 明,這并非意在限制本發明的范圍。所描述的實施例包括不同的特 征,在本發明的所有實施例中并非需要所有這些特征。本發明的有 些實施例僅利用了某些特征或特征的可能組合。本領域技術人員可 想到所述本發明實施例以及包括在所述實施例中表述的特征的不同 組合的本發明實施例的變型。
權利要求
1.一種在系統中處理會話OTP傳輸的方法,所述系統包括服務器、通過廣域網與服務器進行通信的客戶機工作站、和通過設備接口與客戶機工作站相接口的OTP令牌,所述方法包括以下步驟a)從服務器接收至少部分識別服務器的信息;b)判定所述識別信息是否表示合法服務器;以及c)根據所述判定,決定執行從包括以下行為的組中選出的一個行為i)從OTP令牌發送表示內部生成的會話OTP的數據;以及ii)制止所述發送。
2. 根據權利要求l的方法,還包括d) 僅在所述決定是肯定決定時,從OTP令牌發送表示所述會 話OTP的所述數據。
3. 根據權利要求2的方法,其中,所述發送包括僅在所述決 定是肯定的時,實現所述表示數據通過接口從OTP令牌到客戶機工 作站的設備間數據傳送。
4. 根據權利要求2的方法,其中,所述發送包括僅在所述決 定是肯定的時,在OTP令牌的顯示屏幕上顯示出表示所述會話OTP 的所述數據。
5. 根據權利要求1的方法,其中,表示所述會話OTP的所述 數據也是從用戶認證數據得出的多因素認證數據。
6. 根據權利要求1的方法,其中,表示所述會話OTP的所述 數據與用戶認證數據無關。
7. 根據權利要求l的方法,其中,還包括d)如果所述決定是否定決定,則由OTP令牌制止生成所述會 話OTP。
8. 根據權利要求l的方法,其中,還包括d)如果所述決定是否定決定i) 在OTP令牌內內部生成所述會話OTP;ii) 保持其中所述會話OTP保留在OTP令牌內的狀態。
9. 才艮據權利要求1的方法,還包括d) 在所述接收之前,使用在OTP令牌內的嵌入式安全瀏覽 器,打開在OTP令牌與服務器之間的安全會話。
10. 根據權利要求9的方法,還包括e) 在所述會話的所述打開之后,將所述會話的客戶機端從 OTP令牌轉移到客戶機工作站,其中,在客戶機工作站處執行所述接收和所述判定的其中至少一個o
11. 根據權利要求9的方法,其中,在OTP令牌從服務器接收 到所述識別信息時,所述會話的客戶機端保留在所迷嵌入式瀏覽器 處。
12. 根據權利要求1的方法,其中,由OTP令牌通過服務器與 OTP令牌之間的通信鏈路執行所述接收。
13. 根據權利要求1的方法,其中,在OTP令牌內執行所述判定。
14. 根據權利要求1的方法,其中,所述判定包括實現對駐留 在OTP令牌內的數據庫的查詢。
15. 根據權利要求14的方法,其中,從客戶機工作站實現所述查詢。
16. 根據權利要求14的方法,其中,在OTP令牌內執行所述 判定,并通過駐留在OTP令牌內的數據庫客戶機代碼實現所述查 詢。
17. 根據權利要求14的方法,其中,所述數據庫是不變數據庫。
18. 根據權利要求14的方法,其中,所述數據庫包括可接受 URL的預定列表、可接受IP地址的預定列表和可接受證書字段值的預定列表中的一個。
19. 根據權利要求1的方法,其中,根據接收的一個通信的協 議數據、在接收到的通信中發送的證書數據、IP地址數據和URL數 據的其中至少 一 個執行所述判定。
20. 根據權利要求19的方法,其中,根據自所述服務器接收的 證書的僅某些屬性執行所述判定。
21. —種與客戶機工作站一起使用的OTP令牌,所述客戶機工 作站通過廣域網與服務器進行通信,所述OTP令牌包括a) 設備端口,用于從客戶機工作站接收包括至少部分識別服務 器的信息的數據;b) 服務器合法性引擎,用于判定所述信息是否表示合法服務器;c) OTP發生器,用于生成會話OTP;以及d) OTP發送決定引擎,用于根據所述判定的結果,決定執行 從包括以下行為的組中選出的一個行為i) 從OTP令牌發送表示所述會話OTP的數據;以及ii) 制止所述發送。
22. 根據權利要求21的OTP令牌,還包括e) OTP發送器,用于根據所述決定,從OTP令牌發送表示會 話OTP的數據。
23. 根據權利要求22的OTP令牌,其中,所述OTP發送器用 于僅在所述決定是肯定決定時,實現表示所述會話OTP的所述數據 通過所述數據端口的設備間數據傳送。
24. 根據權利要求22的OTP令牌,還包括f) 數據顯示器,其中,所述OTP發送器用于僅在所述決定是 肯定決定時,將表示所述會話OTP的所述數據發送到所述數據顯示 器。
25. 根據權利要求21的OTP令牌,還包括e)嵌入在OTP令牌內的嵌入式安全瀏覽器,所述嵌入式瀏覽器用于打開在OTP令牌與服務器之間的安全會話。
26. 根據權利要求25的OTP令牌,其中,所述嵌入式安全瀏 覽器用于在所述安全會話期間接收所述識別信息。
27. 根據權利要求21的OTP令牌,其中,所述服務器合法性 引擎包括d) 預定數據的數據庫,其中,所述服務器合法性引擎用于根據 所述數據庫的內容執行所述判定。
28. 根據權利要求27的OTP令牌,其中,所述數據庫是不變 數據庫。
29. 根據權利要求27的OTP令牌,其中,所述數據庫包括可 接受URL的預定列表、可接受IP地址的預定列表和可接受證書字 段值的預定列表中的一個。
30. 根據權利要求21的OTP令牌,其中,所述服務器合法性 引擎用于根據來自服務器的通信的協議數據、在來自服務器的通信 中發送的證書數據、IP地址數據和URL數據中的至少一個執行所述 判定。
31. 根據權利要求30的OTP令牌,其中,所述服務器合法性 引擎用于根據自所述服務器接收的證書的僅某些屬性執行所述判 定。
32. 根據權利要求21的OTP令牌,其中,所迷OTP發生器用 于根據用戶認證數據生成所述會話OTP,從而生成所述會話OTP作 為多因素認證數據。
33. 根據權利要求33的OTP令牌,還包括e) 用戶識別模塊,用于對所述用戶認證數據進行認證。
34. 根據權利要求33的OTP令牌,其中,所述OTP發送決定 引擎用于根據所述用戶認證數據的所述認證的結果,實現所述決 定。
35. —種處理會話OTP數據的傳輸的系統,所述系統包括a)通過廣域網與服務器進行通信的客戶機工作站,b) 與所迷客戶機工作站相接口的OTP令牌,所述OTP令牌包括i) 設備端口,用于與所述客戶機工作站相接口;以及ii) OTP發生器,用于生成會話OTP;以及其中,所述OTP令牌和所述客戶機工作站的其中至少一個用于 接收識別所述服務器的信息,所述系統還包括c) 服務器合法性引擎,用于判定所述信息是否表示合法服務 器,所述服務器合法性引擎至少部分駐留在所述OTP令牌和所述客 戶機工作站中的至少一個中;d) OTP發送決定引擎,用于根據所述判定的結果,決定執行 從包括以下行為的組中選出的一個行為i) 從OTP令牌發送表示所述會話OTP的數據;以及ii) 制止所述發送,其中,所述OTP發送決定引擎至少部分駐留在所述OTP令牌 和所述客戶機工作站中的至少一個中。
36. —種計算機可讀存儲介質,在所述計算機可讀存儲介質中 嵌入有計算機可讀代碼,所述計算機可讀代碼包括用于執行以下步驟的指令a) 由經由廣域網與服務器進行通信的客戶機工作站和與所述服 務器相接口的OTP令牌的其中至少一個接收至少部分識別服務器的4各息5b) 判定所述識別信息是否表示合法服務器;以及c) 根據所述判定,決定執行從包括以下行為的組中選出的一個行為i) 從OTP令牌發送表示內部生成的會話OTP的數據;以及ii) 制止所述發送。
全文摘要
本發明披露了一種用于實現對客戶機工作站進行認證以便通過因特網與服務器進行會話的OTP令牌。將至少部分識別服務器的信息提供給OTP令牌和/或客戶機工作站,并使用該識別信息判定服務器是否是合法服務器。根據該判定,決定是否將表示會話OTP的數據從OTP令牌發送到客戶機工作站。在某些實施例中,如果識別信息表示合法服務器,則將表示會話OTP的數據從OTP令牌發送到客戶機工作站,否則,由客戶機工作站拒絕表示會話OTP的數據。在各實施例中,表示會話OTP的數據可包括,從用戶認證數據得出的多因素認證數據,或與用戶認證數據無關的會話OTP數據。
文檔編號G06F7/04GK101495956SQ200680033466
公開日2009年7月29日 申請日期2006年8月10日 優先權日2005年8月11日
發明者埃亞爾·貝奇科夫 申請人:晟碟以色列有限公司