一種基於兩個隔離設備實現網絡身份認證的方法和系統的製作方法
2023-08-04 07:16:26
專利名稱:一種基於兩個隔離設備實現網絡身份認證的方法和系統的製作方法
技術領域:
本發明涉及增強數字證書進行網絡身份認證安全性的方法和系統。
背景技術:
隨著網際網路的出現,在線交易的數量也迅猛增加。隨著這種交易的增加,也帶來了諸如交易安全性、交易各方的認證、不可否認交易以及此類交易中所用設備的認證和驗證等問題。針對這些問題,已經開發了一種公鑰基礎設施(PKI),其中,認證機構(CA)向通過開放網絡(如網際網路)參與電子商務的個人和機構發放數字證書和一對相關的密鑰。這些證書起到認證交易參與雙方的身份,實現不可否認交易的作用,並與密鑰對相關聯,據此可以完成通過網際網路執行交易加密。PKI基礎結構型交易的在過去幾年已經取得了顯著的發展。PKI基礎結構型交易在電子商務領域的應用最為廣泛。以網上銀行為例,歸結起來有兩種類型,一種是軟證書類型,一種是USB Key證書類型。這兩類證書的應用,通常構建在Windows所集成的證書服務接口之上。目前,在國際上有兩種比較通用的對加密設備進行管理的接口。一種是H(CS#11標準接口,另一種是
S MicrosoftCSP (Cryptographic Service Provider) 1^ Π-CryptoAPI ^
口。其中CSP是微軟專為Windows系列作業系統制定的底層加密接口,用於管理硬體或軟體形式的加密設備,實現數據加密、解密,數字籤名、驗證和數據摘要(即HASH)等。CSP是Windows安全應用的基礎,在Windows作業系統上實現https安全瀏覽(即 SSL安全數據通信)和實現安全隧道(如Ipsec)功能,都必需有CSP參與密碼運算。其中, 微軟基本CSP包括RSABase,DssBase等,還有提供1 位以上加密密鑰的增強型CSP。基本CSP只提供40位對稱加密和512位RSA非對稱加密,這樣的密鑰長度恰在可破密碼的範圍內,是不安全的。第三方CSP可由加密設備廠商按照微軟制定的標準接口開發,通過微軟籤名後安裝到系統中使用。所謂軟證書,是指用戶請求並下載與個人身份綁定的PKI證書至個人計算機(或者由銀行或其他類似機構代辦),然後可將其與相關的密鑰對結合用於安全認證的網際網路交易。軟證書使用的是Windows作業系統中自帶的CSP程序,而且IE內置了對此內置 CSP程序的支持,因此用戶無需安裝驅動程序或附加軟體,下載證書的過程普通用戶一般可按頁面提示完成。因此,軟證書在易用性方面具備較大的優勢。軟證書的缺點是,個人計算機上的作業系統有能力獲知PKI證書、密鑰對等信息中國金融認證中心提示,「軟證書」存在安全隱患。它不強制用戶設置證書使用口令,其他人登錄同一臺電腦就能直接使用。「軟證書」的私鑰可以導出,從而給木馬程序以可乘之機,將證書複製到其他電腦上使用。此前,曾有銀行發生「軟證書」被攻破的案例,個別銀行2008 年乾脆取消了「軟證書」的網上支付功能。
除此之外,「軟證書」被下載至用戶作業系統,一旦用戶重新安裝作業系統,就會丟失軟證書,不得不去銀行補辦,而補辦證書通常需要產生額外的費用。這也是「軟證書」不如USB Key證書的一個地方。所謂USB Key證書,是指用戶請求並下載與個人身份綁定的證書至USB Key硬體裝置(或者由銀行或其他類似機構代辦),此USB Key與普通的U盤是完全不同的,其主體是一塊安全晶片,私鑰和數字證書(或對數字證書的引用)存儲在此安全晶片硬體裝置中。並且,此安全晶片具備計算能力,支持生成密鑰對、數字籤名和加解密等計算任務。USB Key證書的優點是,個人計算機上的作業系統無法獲知PKI證書、密鑰對等信息。但是,目前USB Key證書又分為一代和二代兩種,一代USB Key證書,在接入到計算機上時,可以通過遠程直接操作,這使得遠程遙控類的木馬有機可乘。二代USB Key證書, 有一個液晶顯示屏,可以回顯待籤名數據(如金額等),並且USB Key上有一個確認按鈕,必須按下確認按鈕,安全晶片才會完成數字籤名計算,這樣可進一步防範遠程遙控類木馬,並且利用回顯功能,防止用戶籤名的數據在用戶作業系統中被木馬篡改而用戶一無所知。因為安全性高,各大銀行對於採用USB Key證書進行的網上支付、轉帳的限制是最小的。但是USB Key證書中安全晶片的存儲容量非常有限,通常只有32KB,這限制了 USB Key證書作為通用的解決方案。目前,各家銀行均獨立發布USB Key,增大了用戶的擁有成本和妥善保管的難度。另外,USB Key雖然無需安裝驅動,但是畢竟是硬體設備,無法使用Windows自帶的CSP程序,因此USB Key的廠商需要開發並提供能管理和使用此硬體設備的CSP程序,而用戶必須安裝此CSP程序才能使用USB Key。因此,用戶在第一次使用USB Key會遇到一定的麻煩,可能需要客服人員的支持才能完成安裝動作,對於銀行來說,又進一步增加了客戶服務的成本。推而廣之,在用戶使用網際網路服務過程中,存在著很多需要進行身份認證的壞節。 比如QQ/MSN登錄、網路遊戲登錄、在線股票交易、線上商城登錄等,這些情形都與用戶的個人財產安全是直接相關的,採用USB Key證書無疑也是最安全的手段。但是,有限的存儲容量、客服成本、不佳的用戶體驗、硬體成本無疑阻礙了 USB Key證書成為通用的解決方案。因此,希望給予PKI基礎結構開發一種系統,這種系統可以集合軟證書用戶體驗較佳和USB Key證書安全性高、不易丟失的優點,同時進一步解決USB Key存儲容量不足的難題,降低客服成本及硬體成本,為網絡身份認證提供一種可以兼顧用戶、開發者、服務提供商多方利益的通用解決方案。隨著網際網路的發展和普及,越來越多的設備開始提供了接入網際網路的能力,如 PDA、智慧型手機、上網本、智能本、智慧型手機、智能手持設備(iPod Touch, PDA)、電紙書等,這些設備可以統稱為網絡計算設備,他們都能獨立的運行作業系統和安裝軟體,都能接入網際網路,只是接入網際網路的方式可能不同,比如智慧型手機可以通過簡訊、彩信、WAP等網關通過 GPRS、CDMA、3G等移動通信網絡接入網際網路。現在,越來越多的人們開始擁有兩個以上的網絡計算設備,而此現狀也為網絡身份認證提供了解決安全風險的新途徑。
發明內容
本發明基於兩個隔離設備提供了解決上述問題的解決方案。具體而言,本發明提出了一種增強網絡身份認證安全性的方法,將網絡身份認證過程使用的網絡計算設備由一個增加到物理上隔離的兩個網絡計算設備,並且保證每個網絡計算設備不處理完成身份認證的全部信息,從而提升了用戶在網際網路上登錄和交易活動的安全性。上述兩個網絡計算設備,其中一個網絡計算設備稱為普通客戶端,而另外一個網絡計算設備稱為認證客戶端。伺服器端與普通客戶端和認證客戶端有通信能力。認證客戶端包含唯一信息,而服務端能識別此唯一信息。網絡身份認證步驟如下A、用戶通過所述普通客戶端向服務端發出認證請求,並附認證附加信息;B、所述服務端收到普通客戶端的認證請求後,將認證附加信息片段發送給所述認證客戶端;C、所述認證客戶端收到認證附加信息片段後,請求用戶確認;D、所述認證客戶端得到用戶的確認信息後,將確認信息和唯一信息返回給所述伺服器端;E、所述伺服器端比對該唯一信息是否和認證附加信息匹配,完成身份認證流程。根據本發明的實施例,可以基於PKI公鑰基礎設施體系,將個人計算機作為普通客戶端,以帳號ID和密碼作為附認證附加信息,將智慧型手機作為認證客戶端,以經用戶數字證書籤名的數據為唯一信息,來進行網絡身份認證。根據本發明的實施例,可以在帳號ID和密碼簡單身份認證機制中,增加一個根認證密碼,將個人計算機作為普通客戶端,以帳號ID和密碼作為附認證附加信息,將智慧型手機作為認證客戶端,以根認證密碼為唯一信息,來進行網絡身份認證。為了減小根認證密碼在傳輸過程中被截獲的風險,可以引入將根密碼與認證客戶端隨機生成的字串以及附加信息片段組合後,加密再進行傳輸的安全措施。根據本發明的實施例,還可以只基於帳號ID和密碼簡單身份認證機制,以個人計算機作為普通客戶端,以帳號ID以及服務端隨機生成的驗證碼作為附認證附加信息,將智慧型手機作為認證客戶端,以用戶密碼為唯一信息,來進行網絡身份認證。為了減小用戶密碼在傳輸過程中被截獲的風險,可以引入將用戶密碼與認證客戶端隨機生成的字串以及附加信息片段組合後,加密再進行傳輸的安全措施。隨後參考下列附圖所示的具體最佳實施例,對本發明的其他特徵和優點予以更詳細的說明,附圖中相同的參考數字用於標識相同的部件。
圖1是本發明實施例所涉及基本單元的方框圖。圖2是本發明實施例的簡要工作流程圖。圖3是本發明實施例中中認證客戶端所涉及基本單元的方框圖。
具體實施例方式為了方便對本發明的原理和特徵的理解,下文將參考一示範實施例的實施來予以說明。具體地來說,本發明是針對安裝了 Windows 2000及以上作業系統、IE瀏覽器並且可接入網際網路的計算機作為普通客戶端,和安裝了 Windows Mobile作業系統可接入網際網路的智慧型手機作為認證客戶端,以及一臺接入網際網路的普通伺服器作為服務端來進行描述的,此外,本發明是結合PKI公鑰基礎設施體系,並且是針對網上銀行服務來說明的。但應理解,這不是唯一可以實施本發明的實施例。相反,本發明可以應用於各種不同的作業系統,例如Linux,Android, Symbian, Mac OS, Chrome OS作業系統等;可以應用於不同的網絡計算設備,如筆記本、上網本、智能本、智慧型手機、智能手持設備(iPod Touch, PDA)、電紙書等;可以不必受1 I公鑰基礎設施體系約束,而是可用於公鑰和/或私鑰來使用加密技術並通過數字證書或其它類似技術進行認證的安全系統,也可以只是最簡單的帳號ID和密碼認證機制;可以不是針對網上銀行服務,可以是各類網站服務、即時通訊服務、 網上銀行服務、在線支付服務、網路遊戲服務、線上股票交易服務、在線數據備份等。圖1顯示根據本發明實施例的方框圖。在圖1中,個人計算機作為普通客戶端,通過作業系統自帶的IE瀏覽器連接網際網路訪問網上銀行服務。智慧型手機作為認證客戶端,安裝了認證客戶端軟體,該軟體可以連接網際網路與網上銀行服務通訊。用戶通過IE瀏覽器輸入和提交帳號ID和密碼以及其他額外信息(如驗證碼等),並通過智慧型手機上的認證客戶端軟體來對登錄或交易信息進行數字籤名並提交服務端,整個過程中個人計算機和智慧型手機之間沒有直接或中轉的數據通信。圖2所示的流程圖給出了本發明實施例的簡要工作流程1.用戶通過IE發起交易請求用戶在個人計算機上通過作業系統自帶的IE瀏覽器連接網際網路訪問網上銀行服務。此處交易請求涵蓋了網上交易過程中可能發生的各種事件,如登錄,轉帳,線上支付等。 在不同事件中,認證附加信息將有所不同。比如在登錄時,用戶輸入的帳號ID和密碼以及其他額外信息(如驗證碼等),或者輸入身份證ID和密碼以及其他額外信息(如驗證碼等),作為認證附加信息將被提交至網上銀行服務。在網上轉帳流程,用戶僅需輸入目標帳戶ID和轉帳金額等信息,頁面kssion中緩存的用戶帳號信息作為認證附加信息將被提交至網上銀行服務。在線上支付流程,用戶輸入的帳號ID和密碼以及其他額外信息(如驗證碼等),以及在頁面kssion中緩存的訂單信息作為認證附加信息將被提交至網上銀行服務。2.服務端生成和發送認證附加信息片段服務端對用戶提交的認證附加信息進行初步驗證,然後將帳號ID的一部分以及除密碼以外的其他信息作為認證附加信息片段發送至智慧型手機。在發送之前,網上銀行服務端會將認證附加信息片段利用服務端的證書和私鑰進行一次籤名動作,並用用戶註冊網銀服務時登記的公鑰對認證附加信息片段及其數字籤名進行加密,以防止這些信息被篡改。3.用戶核對並確認認證附加信息片段如果信息未被篡改,智慧型手機上的認證客戶端軟體可以使用用戶私鑰解開認證附加信息片段。否則,將無法解開認證附加信息片段。然後,利用註冊網銀服務時已經獲得的伺服器端公鑰來驗證數字籤名。上述步驟通過後,認證客戶端軟體將顯示認證附加信息片段顯示給用戶。用戶此時可以核對帳號前幾位,轉帳的目標帳號,交易金額,甚至送貨地址, 收件人等訂單信息。4.認證客戶端進行數字籤名並提交認證信息
目前被廣泛採用的網上銀行服務是基於PKI體系的證書方式的安全支付解決方案,又均符合微軟CryptoAPI/CryptoSPI應用架構,本發明實施例也不例外,但同時也支持其他的安全方案。簡單來說認證客戶端軟體將通過加密應用編程接口(CryptoAPI)函數枚舉到Windows Mobile中自帶的標準加密服務提供者(CSP)程序,並通過加密系統編程接口 (CryptoSPI)與 CSP 通信。通過CSP程序,認證客戶端軟體可以完成認證附加信息片段的數字籤名動作。然後,認證客戶端軟體將籤名結果發送至服務端。5.服務端完成交易服務端收到認證信息後,通過核對數字籤名來確認用戶身份,開完成相應的交易動作。圖3顯示根據本發明實施例中認證客戶端的方框圖,認證客戶端軟體符合微軟 CryptoAPI/CryptoSPI應用架構,他包含以下模塊A)網絡通信模塊網絡通信模塊負責與網上銀行服務端之間的通訊連接。在本實例中,基於TCP/IP 網絡協議,通過Wi-Fi無線網絡接入網際網路並與網上銀行服務端之間建立通訊連接。B)數字證書模塊在線上交易過程中,數字證書模塊將調用CryptoAPI函數請求Windows Mobile自帶的CSP程序完成下列操作,並獲取其計算結果A.生成和交換密鑰;B.加密和解密數據;C.編碼和解碼證書;D.管理和保證證書的安全性;E.創建和驗證數字籤名,並計算散列。C)用戶交互模塊在線上交易過程中,用戶交互模塊負責顯示認證附加信息片段,並在用戶按下確認按鈕後對此數據進行數字籤名。在此過程中,用戶交互模塊會通過網絡通信模塊與網上銀行服務端之間建立通訊連接,接受和發送數據,並調用數字證書模塊解密認證附加信息片段、進行數字籤名等動作。本發明實施例提供了較好的用戶易用性和通用性,具體體現在A)減小了丟失證書的風險軟證書被下載至個人計算機,證書會因為用戶重新安裝作業系統而丟失。因為病毒木馬的泛濫,用戶重新安裝作業系統的機率是很大的。將數字證書下載至智慧型手機,智慧型手機上雖然也有作業系統,但是因為手機病毒木馬目前幾乎沒有,需要重新安裝機率非常之小,證書丟失的風險隨之減小。B)隨身攜帶,隨時使用人們通常習慣隨身攜帶手機,這比使用USB Key證書更方便。在需要時,用戶只需利用任意可用的計算機即可進行線上交易。C)通用性本質上說,本發明實施例仍屬於軟證書類型,與USB Key證書相比,無需每個銀行配備一個智慧型手機,頂多是為每家銀行的網上銀行服務安裝一個認證客戶端軟體,但是也可以是多家銀行共用一個認證客戶端軟體。也就是說,用戶的智慧型手機可作為通用的認證終端。本發明實施例的提供了與USB Key證書相近的安全性,其安全性體現在A)只截獲帳號ID和密碼無效個人計算機潛伏的最大風險是盜號木馬,他可以盜取帳號ID和密碼,但是因為數字籤名的步驟不在個人計算機及其連接的設備上進行,因此,即使用戶的帳號ID和密碼被盜也不會存在任何風險。B)只盜取數字證書無效假定黑容有辦法盜取智慧型手機的數字證書,但是因為智慧型手機中並沒有帳號ID 和密碼,也無法通過網上銀行服務的身份認證。C)同時盜取所有認證信息機率小要通過網上銀行服務的身份認證,需要同時取得帳號ID,密碼,數字證書,用戶私鑰,這些信息無法從一個設備中全部獲得。木馬程序要同時感染兩個設備,收集全部信息才能盜號成功。並且即使全部獲得這些信息,也需要人工將這兩組信息進行關聯。因此,來自網際網路的木馬很難盜取採用本發明實施例進行身份認證的帳號。從上述內容,可以看出,本發明基於兩個隔離設備提供了解決上述問題的解決方案。具體而言,本發明提出了一種增強網絡身份認證安全性的方法,將網絡身份認證過程使用的網絡計算設備由一個增加到物理上隔離的兩個網絡計算設備,並且保證每個網絡計算設備不處理完成身份認證的全部信息,從而提升了用戶在網際網路上登錄和交易活動的安全性。本發明的實施例,基於手機和用戶高度綁定的特點,用智慧型手機實現專用的硬體密鑰裝置相近的功能,並使得手機成為一個通用的移動數字籤名終端,用戶利用公共計算機也可以安全的完成登錄和交易活動,大大提高了用戶體驗,使得PKI證書體系更加易於實施,並為基於H(I/CA結構的用戶身份認證提供了通用的解決方案。本專業人員會理解,可以在不背離其精神或核心特徵的前提下以各種特定形式實施本發明。例如,本發明是以個人計算機和智慧型手機作為兩個隔離設備進行描述的,但是, 實施本發明還可以是利用PC和iPod Touch作為兩個隔離設備,或者利用上網本和電紙書作為兩個隔離設備。此外,本發明用戶身份驗證是沿用了網上銀行常見的帳號ID+密碼+ 數字證書的方式,但是實施本發明還可以是最簡單的帳號ID+密碼的方式進行用戶身份驗證,或者身份證號碼+密碼+數字證書的方式進行用戶身份驗證。此外,本發明是以認證客戶端的作業系統為Windows Mobile作業系統,認證客戶端軟體調用作業系統內置CSP程序來進行描述的,但是實施本發明還可以是以Symbian為認證客戶端的作業系統,以PKCS#11 為接口實現客戶端軟體。因此,本說明書中公開的實施例完全視為說明性的,而非限定性的,本發明範圍由所附權利要求書限定,而非前述描述的內容,只包括屬於此範圍和及其等效物範圍和含義之內的所有變更。
權利要求
1.一種基於兩個隔離設備實現網絡身份認證的方法和系統。該系統分為普通客戶端、 認證客戶端和服務端三個部分。所述普通客戶端和認證客戶端分別運行於由同一用戶所持有的兩個物理上獨立並且隔離的網絡計算設備上。所述服務端包含認證服務。所述伺服器端與所述普通客戶端有通信能力,所述伺服器端與所述認證客戶端有通信能力,所述認證客戶端與所述普通客戶端可有直接通信或可無直接通信能力。所述認證客戶端包含唯一信息。所述服務端能識別所述認證客戶端的唯一信息。網絡身份認證步驟如下A、用戶通過所述普通客戶端向服務端發出認證請求,並附認證附加信息;B、所述服務端收到普通客戶端的認證請求後,將認證附加信息片段發送給所述認證客戶端;C、所述認證客戶端收到認證附加信息片段後,請求用戶確認;D、所述認證客戶端得到用戶的確認信息後,將確認信息和唯一信息返回給所述伺服器端;E、所述伺服器端比對該唯一信息是否和認證附加信息匹配,完成身份認證流程。
2.根據權利要求1所述的方法和系統,其特徵在於,所述的網絡計算設備指任何具有計算單元,可運行作業系統和安裝軟體的設備,如個人計算機(PC)、筆記本、上網本、智能本、智慧型手機、智能手持設備(iPod Touch,PDA)、電紙書、網絡電視等。
3.根據權利要求1所述的方法和系統,其特徵在於,所述的普通客戶端,可以是Web瀏覽器,也可以是普通的應用程式,而所述的認證客戶端可以是手機軟體或計算機軟體,也可以是專門的硬體認證設備或者軟體和硬體認證設備的組合。
4.根據權利要求1所述的方法和系統,其特徵在於,所述的服務端,可包含或通過第三方提供跨網絡通訊服務,以保證不在同一網絡的所述伺服器端與所述普通客戶端有通信能力,或者不在同一網絡的所述伺服器端與所述認證客戶端有通信能力。
5.根據權利要求4所述的方法和系統,其特徵在於,所述的跨網絡通訊服務,可以是建立網際網路和移動通信網絡之間的通信通道的服務,也可以是建立任意非直接相連網絡之間的通信通道的服務。其典型的通訊方式是認證客戶端經由簡訊、彩信、WAP等網關通過 GPRS、CDMA、3G等移動通信網絡接入網際網路,並與網際網路上的跨網絡通訊服務相連。
6.根據權利要求1所述的方法和系統,其特徵在於,所述的由普通客戶端提交的認證附加信息可以只是帳號(或用戶名)和密碼和用戶數據(如訂單、轉帳信息等),不包含任何與用戶數字證書相關的信息,而認證客戶端收到的認證附加信息片段可以是經過服務端用經CA機構認證的私鑰進行籤名的數據,其中不包含任何與用戶密碼相關的信息,並且所收到的帳號(或用戶名)只是片段數據。
7.根據權利要求1所述的方法和系統,其特徵在於,所述的認證客戶端可識別來自服務端的認證附加信息並分辨其並非偽造,而所述的服務端可識別認證客戶端的唯一信息並分辨出該唯一信息並非偽造。其方法可以基於H(I/CA公鑰基礎設施安全體系,雙方通過數字籤名機制來防範他人偽造信息,也可以是其他可被證明能夠防範他人偽造信息的方法。
8.根據權利要求1所述的方法和系統,其特徵在於,所述的服務端可以是任意涉及個人及企業資產或機密數據安全的服務,如網上銀行服務、在線支付服務、網路遊戲服務、線上股票交易服務、在線數據備份等。
9.根據權利要求1所述的方法和系統,其特徵在於,所述的服務端和普通客戶端可以是接入網際網路,但也可以位於移動通信網絡甚至其他網絡(如區域網),認證客戶端可以是接入移動通信網絡,但也可以位於網際網路甚至其他網絡(如區域網)。
10.根據權利要求3所述的方法和系統,其特徵在於,所述的Web瀏覽器可以是運行於任意用戶作業系統(Windows,Linux, Mac OS, Android, Symbbian 等),可以是 hternet Explorer (IE),也可以任意非 IE 測覽器(如 Firefox, Chrome, Opera 等)。
全文摘要
本發明涉及一種基於兩個隔離設備實現網絡身份認證的方法和系統。通過將網絡身份認證過程使用的網絡計算設備由一個增加到物理上隔離的兩個網絡計算設備,並且保證每個網絡計算設備不處理完成身份認證的全部信息,從而提升了用戶在網際網路上登錄和交易活動的安全性。本發明的一個典型應用是基於手機和用戶高度綁定的特點,用手機實現專用的硬體密鑰裝置相同的功能,並使得手機成為一個通用的移動數字籤名終端,用戶利用公共計算機也可以安全的完成登錄和交易活動,大大提高了用戶體驗,使得PKI證書體系更加易於實施,並為基於PKI/CA結構的網絡身份認證提供了通用的安全解決方案。
文檔編號H04L29/06GK102195932SQ20101011828
公開日2011年9月21日 申請日期2010年3月5日 優先權日2010年3月5日
發明者馮偉, 張勇 申請人:北京路模思科技有限公司