国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      跨系統(tǒng)安全登錄的制作方法

      文檔序號:6497467閱讀:195來源:國知局
      跨系統(tǒng)安全登錄的制作方法
      【專利摘要】可提供一種通過使用第一驗證系統(tǒng)和第二驗證系統(tǒng)在目標系統(tǒng)中進行跨系統(tǒng)安全登錄的方法。正確密碼可以在所述第一驗證系統(tǒng)和所述第二驗證系統(tǒng)上有效。所述方法可包括接收輸入密碼,通過使用所述第一驗證系統(tǒng)生成第一散列密鑰,和/或通過使用所述第二驗證系統(tǒng)生成第二散列密鑰,其中每個驗證系統(tǒng)使用系統(tǒng)唯一的必有沖突散列算法。所述方法還包括將所述第一散列密鑰與所述第一驗證系統(tǒng)中存儲的所述正確密碼的第一預定散列密鑰相比較和/或將所述第二散列密鑰與所述第二驗證中存儲的所述正確密碼的第二預定散列密鑰相比較。此外,所述方法可包括基于所述比較中的至少一個而許可對所述目標系統(tǒng)的訪問。
      【專利說明】跨系統(tǒng)安全登錄
      【技術領域】
      [0001]本發(fā)明一般地涉及用于在目標系統(tǒng)中進行跨系統(tǒng)安全登錄的方法以及安全登錄系統(tǒng)。
      [0002]本發(fā)明還涉及操作系統(tǒng)、計算機系統(tǒng)、數(shù)據(jù)處理程序和計算機程序產(chǎn)品。
      【背景技術】
      [0003]許多系統(tǒng)需要登錄或登入程序才能許可對該系統(tǒng)或該系統(tǒng)上運行的應用的訪問。常見的一個登錄程序實例可能需要用戶輸入,即密碼,該密碼可被散列函數(shù)轉換為散列密鑰。然后可將散列密鑰與系統(tǒng)或應用可能已存儲的正確密碼的散列密鑰相比較。如果所生成的散列密鑰與已存儲的散列密鑰匹配,則用戶可登錄,即,可許可訪問。否則登錄失敗,并且訪問可能被拒絕。
      [0004]US2002/0087890A1公開一種包括接收輸入數(shù)據(jù)的方法。此方法還包括判定是否存在混淆值(salt value),如果不存在混淆值,則生成混淆值并將該混淆值存儲在表項中。所述方法還提供:如果混淆值存在,則從表項中取回該混淆值,并且根據(jù)混淆值和輸入數(shù)據(jù)生成散列。此方法還提供:根據(jù)散列生成密碼并將密碼返回到應用以獲取應用的進入權限。
      [0005]US2008/0120504A1公開一種通過驗證設備驗證客戶機設備的系統(tǒng)和方法??蛻魴C設備用戶被分配由驗證設備生成的PIN。用戶將PIN和密碼提供給客戶機設備,客戶機設備根據(jù)這些信息生成對稱密鑰,并且還生成公鑰/私鑰對。私鑰使用對稱密鑰加密并僅以加密的形式存儲。從PIN生成的公鑰和消息驗證碼被提供給存儲公鑰的驗證設備。接著,當用戶尋求驗證時,用戶在客戶機設備處輸入密碼,該密碼用于生成對稱密鑰以解密經(jīng)過加密的私鑰。使用得到的值對發(fā)往驗證設備的消息進行簽名。驗證設備使用公鑰來檢驗消息簽名。
      [0006]標準的登錄程序被視為可信,因為在不存在從散列密鑰計算散列函數(shù)的引數(shù)(argument)(密碼)的公式或算法的意義上,所使用的散列函數(shù)可以是不可逆的。但是,攻擊者可使用窮舉搜索技術查找正確密碼。這樣,他可以根據(jù)登錄程序探測可能的密碼,或者,如果攻擊者知道散列密鑰,他可以將散列函數(shù)應用于可能的密碼并將結果與散列密鑰相比較。有效密碼的數(shù)量非常巨大,通常不可能探測形成有效密碼的所有字符序列。但實際上,多數(shù)用戶分配具有某些特殊特征(例如,長度有限、真實語言單詞或單詞的略微改變)的密碼。基于此觀察,攻擊者可構建包含可能用作密碼的數(shù)百萬單詞的詞典并且只探測這些單詞。一個進一步的問題是,許多用戶針對多個系統(tǒng)和應用使用相同的密碼。這意味著如果攻擊者知道明文密碼,他可能嘗試使用該密碼登錄他已經(jīng)破解的系統(tǒng)或應用之外的系統(tǒng)或應用,并且很可能獲得成功。因此,最弱的系統(tǒng)可能控制許多系統(tǒng)的安全性。
      [0007]因此,可能需要一種用于在目標系統(tǒng)中進行安全登錄的改進方法。

      【發(fā)明內容】

      [0008]可通過根據(jù)獨立權利要求的用于在目標系統(tǒng)中進行安全登錄的方法、安全登錄系統(tǒng)、計算機系統(tǒng)、操作系統(tǒng)、數(shù)據(jù)處理程序和計算機程序產(chǎn)品來滿足此需求。
      [0009]在一個實施例中,可提供一種通過使用第一驗證系統(tǒng)和第二驗證系統(tǒng)在目標系統(tǒng)中進行安全登錄的方法。正確密碼可在所述第一驗證系統(tǒng)和所述第二驗證系統(tǒng)上有效。所述方法可包括接收輸入密碼。所述方法可還包括通過使用所述第一驗證系統(tǒng)生成第一散列密鑰,和/或通過使用所述第二驗證系統(tǒng)生成第二散列密鑰,其中每個驗證系統(tǒng)使用系統(tǒng)唯一的必有沖突(non-collision free)散列算法。此外,所述方法可包括將所述第一散列密鑰與所述第一驗證系統(tǒng)中存儲的所述正確密碼的第一預定散列密鑰相比較和/或將所述第二散列密鑰與所述第二驗證中存儲的所述正確密碼的第二預定散列密鑰相比較。此夕卜,所述方法可包括基于所述比較中的至少一個而許可對所述目標系統(tǒng)的訪問。
      [0010]在另一實施例中,可提供一種通過使用第一驗證系統(tǒng)和第二驗證系統(tǒng)在目標系統(tǒng)中進行安全登錄的安全登錄系統(tǒng)。密碼可在所述第一驗證系統(tǒng)和所述第二驗證系統(tǒng)上有效。所述安全登錄系統(tǒng)可包括接收單元,其適于接收輸入密碼。此外地,所述安全登錄系統(tǒng)可包括生成單元,其適于通過使用所述第一驗證系統(tǒng)生成第一散列密鑰,和/或適于使用所述第二驗證系統(tǒng)生成第二散列密鑰,其中每個驗證系統(tǒng)使用系統(tǒng)唯一的必有沖突散列算法。此外,所述安全登錄系統(tǒng)可包括比較單元,其適于將所述第一散列密鑰與所述第一驗證系統(tǒng)中存儲的所述密碼的第一預定散列密鑰相比較和/或適于將所述第二散列密鑰與所述第二驗證中存儲的所述密碼的第二預定散列密鑰相比較。此外,所述安全登錄系統(tǒng)可包括控制單元,其適于基于所述比較中的至少一個而許可對所述目標系統(tǒng)的訪問。
      [0011]具體而言,基于所述比較中的至少一個而許可對所述目標系統(tǒng)的訪問可表示基于所述比較中的一個或兩者而許可對所述目標系統(tǒng)的訪問。
      [0012]詳細描沭
      [0013]在本申請的上下文中,遵循下面的慣例:
      [0014]驗證系統(tǒng)一驗證系統(tǒng)可以是任何類型的適于接收輸入信息(例如,密碼),并且能夠基于該輸入信息對用戶進行驗證的系統(tǒng)。
      [0015]目標系統(tǒng)一目標系統(tǒng)可以是用戶希望訪問的系統(tǒng)。
      [0016]安全登錄一安全登錄可以是使用驗證系統(tǒng)保證安全的登入或登錄。
      [0017]密碼一密碼可以是符號,例如字母或數(shù)字。密碼應能夠標識一個用戶。
      [0018]系統(tǒng)唯一的必有沖突散列函數(shù)一散列函數(shù)是將較大數(shù)據(jù)集(在此情況下為密碼)映射到較小數(shù)據(jù)集(稱為散列密鑰)的算法或子例程。散列函數(shù)返回的值被稱為散列值、散列碼、散列和、校驗和或簡稱為散列?!跋到y(tǒng)唯一的”可表示用于驗證系統(tǒng)的散列函數(shù)在全局上是唯一的?!氨赜袥_突(non-collision free) ”可表示當可能將一個以上密碼映射到一單個散列密鑰時,可能發(fā)生至少一次沖突(與無沖突形成對比,其中將一個密碼映射到一個散列密鑰)。“必有沖突”散列函數(shù)的一個特定實施例可以是“必發(fā)生沖突(collision-reliable) ”的散列函數(shù),其中可將特定數(shù)量的密碼映射到單個系統(tǒng)唯一的散列密鑰。具體而言,散列函數(shù)或散列算法可將給定數(shù)量(M個)的引數(shù)(密碼)映射到同一散列密鑰。
      [0019]散列密鑰一散列密鑰可以是散列函數(shù)的輸出并可以與多個密碼相關。
      [0020]上述用于在目標系統(tǒng)中進行安全登入(或登錄)的方法可提供多個優(yōu)點。
      [0021]具體而言,它可以最小化使用從一個系統(tǒng)或應用盜取的密碼對另一系統(tǒng)或應用進行未授權登錄的風險。當前登錄程序實施方式的一個弱點是所用的散列函數(shù)是擬內射的(quasi injective)。僅有極少數(shù)(即,在幾乎所有情況下,僅有一個)密碼可被映射到同一散列密鑰。因此,散列密鑰可精確地表示一個密碼,所以可根據(jù)散列密鑰推導出密碼。
      [0022]兩個驗證系統(tǒng)均具有唯一的散列算法,并且可能不實現(xiàn)同一散列函數(shù)。通過使用必有沖突散列算法,攻擊者可以通過生成的第一散列密鑰推導出第一驗證系統(tǒng)的一個密碼。但是,攻擊者無法推導出第二驗證系統(tǒng)的正確密碼。例如,第二驗證系統(tǒng)實現(xiàn)的唯一且必發(fā)生沖突的散列函數(shù)可將單詞P1映射到散列密鑰HB1,該散列密鑰一般可以不同于第一驗證系統(tǒng)將P1映射到的散列密鑰HA115唯一性可以非常重要,以便確保第一系統(tǒng)可映射到HA1的所有其它密碼P2、…、Pm不被映射到HB115因此,可能已收集密碼P2、…、Pm之一的攻擊者無法經(jīng)由第二驗證系統(tǒng)獲取訪問,因為已存儲的第二散列算法的散列密鑰的比較不會導致與基于密碼P2、…、Pm之一生成的散列密鑰的匹配,這樣,該系統(tǒng)將拒絕訪問。
      [0023]在所述方法的一個實施例中,許可對所述目標系統(tǒng)的訪問包括基于兩個比較而許可訪問。
      [0024]根據(jù)該實施例,可實現(xiàn)級聯(lián)登錄程序??蓛H在兩個比較均有效的情況下才許可對所述目標系統(tǒng)的訪問。這樣,可能已收集密碼P2、…、Pm之一的攻擊者無法獲取對所述目標系統(tǒng)的訪問,因為已存儲的第二散列算法的散列密鑰的比較不會導致與基于密碼P2、…、Pm之一生成的散列密鑰的匹配,這樣所述第二驗證系統(tǒng)將拒絕訪問。
      [0025]在所述方法的另一實施例中,許可對目標系統(tǒng)的訪問包括基于所述第一散列密鑰與所述第一預定散列密鑰的比較而許可對第一目標系統(tǒng)的訪問,以及基于所述第二散列密鑰與所述第二預定 散列密鑰的比較而許可對第二目標系統(tǒng)的訪問。
      [0026]根據(jù)該實施例,可能已收集密碼P2、…、Pm之一的攻擊者可能獲取對所述第一目標系統(tǒng)的訪問。但是,它無法經(jīng)由所述第二驗證系統(tǒng)獲取對所述第二目標系統(tǒng)的訪問,因為已存儲的第二散列算法的散列密鑰的比較不會導致與基于密碼p2、…、Pm之一生成的散列密鑰的匹配,這樣,該系統(tǒng)將拒絕訪問。
      [0027]在所述方法的一個實施例中,每個系統(tǒng)唯一的必有沖突散列算法可以是必發(fā)生沖突的散列算法。如上所述,必發(fā)生沖突的散列算法可針對特定數(shù)量的密碼創(chuàng)建單個系統(tǒng)唯一的散列密鑰。
      [0028]在所述方法的另一實施例中,所述方法還包括通過使用所述第一驗證系統(tǒng)的所述唯一的必有沖突散列算法創(chuàng)建所述第一預定散列密鑰,以及通過使用所述第二驗證系統(tǒng)的所述唯一的必有沖突散列算法創(chuàng)建所述第二預定散列密鑰,以及將所述第一預定散列密鑰存儲在所述第一驗證系統(tǒng)中,并且將所述第二預定散列密鑰存儲在所述第二驗證系統(tǒng)中。
      [0029]根據(jù)該實施例,可在開始所述驗證系統(tǒng)以提供安全登錄之前生成所述第一預定散列密鑰和所述第二預定散列密鑰。
      [0030]在所述方法的另一實施例中,所述方法包括經(jīng)由安全通道接收所述輸入密碼。
      [0031]安全通道可以是適于傳輸不被攔截或篡改的數(shù)據(jù)的通道。所述安全通道可用于接收所述密碼,并且可以進一步在所述第一與所述第二驗證系統(tǒng)之間使用。
      [0032]在所述方法的另一實施例中,將所述第一散列密鑰與第一預定散列密鑰相比較以及將所述第二散列密鑰與第二預定散列密鑰相比較包括生成每個比較的布爾信息。
      [0033]每個比較可導致所比較的值或密鑰是否相等的決策。結果可作為布爾信息進行存儲和進一步處理,例如,作為真或偽等信息。這些值(即,真或偽)還可以采用O和I的格式。
      [0034]在所述安全登錄系統(tǒng)的一個實施例中,所述目標系統(tǒng)和所述第一驗證系統(tǒng)是一個單一系統(tǒng)的一部分。
      [0035]所述目標系統(tǒng)可以是用戶希望訪問的系統(tǒng)。所述目標系統(tǒng)和所述第一驗證系統(tǒng)可以集成在一個單一系統(tǒng)中。所述安全登錄系統(tǒng)可將所述輸入密碼提供給所述第一驗證系統(tǒng)和所述第二驗證系統(tǒng)。所述第二驗證系統(tǒng)可以遠離所述目標系統(tǒng)和所述第一驗證系統(tǒng),并可適于經(jīng)由安全通道通信。
      [0036]在所述安全登錄系統(tǒng)的另一實施例中,所述安全登錄系統(tǒng)包括所述目標系統(tǒng)、所述第一驗證系統(tǒng)和所述第二驗證系統(tǒng)。
      [0037]所述目標系統(tǒng)可與兩個驗證系統(tǒng)一起實現(xiàn)為一個單一系統(tǒng)。所述安全登錄系統(tǒng)可在第一步僅將用于驗證用戶的通信提供給整個系統(tǒng)的表示這兩個驗證系統(tǒng)的部分。在肯定驗證的情況下,所述安全登錄系統(tǒng)可提供對整個系統(tǒng)的表示所述目標系統(tǒng)或應用的部分的訪問。
      [0038]此外,如上所述,操作系統(tǒng)可被配置為執(zhí)行根據(jù)上述發(fā)明方法的方法。此類與操作系統(tǒng)的集成可具有以下優(yōu)點:即,安全登錄方法可在安裝之后作為操作系統(tǒng)的新功能而立即執(zhí)行。在用于安全登錄的計算機上不需要安全任何新的附加操作系統(tǒng)程序。
      [0039]需要指出,各實施例可采取完全硬件實現(xiàn)、完全軟件實施例或同時包含硬件和軟件元素的實施例的形式。在一個優(yōu)選實施例中,本發(fā)明可在軟件中實現(xiàn),所述軟件包括一但不限于一固件、駐留軟件和/或微代碼。
      [0040]在另一實施例中,可提供用于在聯(lián)網(wǎng)數(shù)據(jù)處理系統(tǒng)(與所述第一和所述第二驗證系統(tǒng)相關)中執(zhí)行的一組數(shù)據(jù)處理程序,所述數(shù)據(jù)處理程序包括軟件代碼部分,當所述程序在所述聯(lián)網(wǎng)數(shù)據(jù)處理系統(tǒng)上運行時,所述軟件代碼部分用于執(zhí)行上述方法。所述數(shù)據(jù)處理系統(tǒng)可以是計算機或計算機系統(tǒng)。
      [0041]此外,各實施例可采取可從計算機可用或計算機可讀的介質訪問的計算機程序產(chǎn)品的形式,所述計算機可用或可讀的介質提供由計算機或任何指令執(zhí)行系統(tǒng)使用或與其結合使用的程序代碼。為了此說明的目的,計算機可用或計算機可讀的介質可以是任何可包含用于存儲、傳送、傳播或傳輸程序的構件的裝置,所述程序由指令執(zhí)行系統(tǒng)、裝置或設備,或計算機網(wǎng)絡(例如,所述第一和第二驗證系統(tǒng))使用或與其結合。
      [0042]所述介質可以是用于傳播介質的電、磁、光、電磁、紅外線或半導體的系統(tǒng)。計算機可讀介質的例子可包括半導體或固態(tài)存儲器、磁帶、可移動計算機盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。光盤的當前例子包括緊湊型只讀存儲器(CD-ROM)、緊湊型讀寫存儲器(CD-R/W)、DVD和藍光光盤。
      [0043]需要指出,已參考不同的主題描述了本發(fā)明的各實施例。具體而言,已參考方法型權利要求描述有些實施例,而已參考裝置型權利要求描述其它實施例。但是,本領域的技術人員將通過上面以及下面的描述理解一除非另外指出一除了屬于一種主題類型的特征的任何組合之外,與不同主題相關的特征之間的任何組合(具體地說,方法型權利要求的特征與裝置型權利要求的特征之間的任何組合)也被視為在本文內公開。
      [0044]本發(fā)明的上述方面以及其他方面通過下面對實施例實例的描述變得顯而易見,并且參考這些實施例實例進行介紹,但是本發(fā)明并不限于這些實施例實例。
      【專利附圖】

      【附圖說明】
      [0045]現(xiàn)在將僅通過實例并參考附圖描述本發(fā)明的優(yōu)選實施例:
      [0046]圖1示出用于在目標系統(tǒng)中進行安全登錄的發(fā)明方法的一個實施例的框圖;
      [0047]圖2示出常見登錄程序的框圖;
      [0048]圖3示出根據(jù)用于登錄第一驗證系統(tǒng)的發(fā)明方法的一個實施例的登錄程序的框圖;
      [0049]圖4示出針對圖3的第一驗證系統(tǒng)的可能攻擊的框圖;
      [0050]圖5示出圖4的攻擊者執(zhí)行的根據(jù)用于登錄第二驗證系統(tǒng)的發(fā)明方法的一個實施例的登錄程序的框圖;
      [0051]圖6示出安全登錄系統(tǒng)的框圖;
      [0052]圖7示出圖6的安全登錄系統(tǒng)的一種實施方式的框圖;
      [0053]圖8示出包括本發(fā)明的安全登錄系統(tǒng)的計算機系統(tǒng)。
      【具體實施方式】
      [0054]下文將提供對附圖的詳細描述。附圖中的所有圖示均為示意性的。首先,將描述用于安全登錄的方法的一個實施例的框圖。之后,將描述此方法的各實施例和安全登錄系統(tǒng)。
      [0055]圖1示出通過使用第一驗證系統(tǒng)和第二驗證系統(tǒng)在目標系統(tǒng)中進行安全登錄(登入)的本發(fā)明方法100的一個實施例的框圖。正確的密碼可在第一驗證系統(tǒng)和第二驗證系統(tǒng)上有效。所述方法可包括接收輸入密碼102。所述方法可還包括通過使用第一驗證系統(tǒng)生成104第一散列密鑰,和/或通過使用第二驗證系統(tǒng)生成104第二散列密鑰,其中每個驗證系統(tǒng)使用系統(tǒng)唯一的必有沖突散列算法。此外,所述方法可包括將第一散列密鑰與第一驗證系統(tǒng)中存儲的正確密碼的第一預定散列密鑰相比較106和/或將第二散列密鑰與第二驗證中存儲的正確密碼的第二預定散列密鑰相比較106。此外,所述方法可包括基于所述比較中的至少一個而許可108對目標系統(tǒng)的訪問。
      [0056]圖2示出常見登錄程序的框圖200。該常見登錄程序可在幾乎所有系統(tǒng)和應用上使用。用戶給出的輸入PP02可被散列函數(shù)204轉換為散列密鑰氏206。散列密鑰H1可與系統(tǒng)或應用已存儲的正確密碼的散列密鑰H208相比較210。如果H1與H匹配,則用戶可登錄212。否則,登錄失敗并且可拒絕或否定214對目標系統(tǒng)的訪問。
      [0057]標準的登錄程序被視為可信,因為在不存在從散列密鑰計算散列函數(shù)的引數(shù)(密碼)的公式或算法的意義上,所使用的散列函數(shù)可以是不可逆的。但是,攻擊者可使用窮舉搜索技術查找正確密碼。這樣,他可以根據(jù)登錄程序探測可能的密碼,或者,如果攻擊者知道散列密鑰,他可以將散列函數(shù)應用于可能的密碼并將結果與散列密鑰相比較。有效密碼的數(shù)量非常巨大,通常不可能探測形成有效密碼的所有字符序列。但實際上,多數(shù)用戶分配具有某些特殊特征(例如,長度有限、真實語言單詞或單詞的略微改變)的密碼?;诖擞^察,攻擊者可構建包含可能用作密碼的數(shù)百萬單詞的詞典并且只探測這些單詞。
      [0058]許多用戶針對多個系統(tǒng)和應用使用相同的密碼。這意味著如果攻擊者知道明文密碼,他可能嘗試使用該密碼登錄他已經(jīng)破解的系統(tǒng)或應用之外的系統(tǒng)或應用,并且可能獲得成功。
      [0059]可通過圖1所述的方法避免此情況的發(fā)生,此方法最小化使用從一個系統(tǒng)或應用盜取的密碼對另一系統(tǒng)或應用進行未授權登錄的風險。
      [0060]所描述的常見系統(tǒng)或程序的弱點可以是所用的散列函數(shù)是擬內射的。僅有極少數(shù)(即,在幾乎所有情況下,僅有一個)密碼可被映射到同一散列密鑰。例如,圖2的密碼P1被映射到散列密鑰H1,其中任何不等于P1的密碼Pn被映射到不等于H1的散列密鑰Hn。因此,散列密鑰可基本精確地表示一個密碼,所以可根據(jù)散列密鑰推導出密碼。
      [0061]根據(jù)所描述的發(fā)明方法,可使用將給定數(shù)量(M個)引數(shù)(密碼)映射到同一散列密鑰的散列函數(shù)。此特征可被稱為“必發(fā)生沖突”或“必有沖突”。例如,必發(fā)生沖突的散列函數(shù)可將密碼P1映射到散列密鑰HA115此外,可存在被映射到同一散列密鑰HA1的M-1個單詞P2、…、PM,前提是這些單詞被用作必發(fā)生沖突的散列函數(shù)的引數(shù)。
      [0062]必發(fā)生沖突的散列函數(shù)的映射到同一散列密鑰的引數(shù)數(shù)量(M個)可被視為至少或平均精確的數(shù)字。與通常可在用戶被鎖定之前輸入的最大錯誤密碼數(shù)相比,數(shù)量M可較大。相對于所有可能密碼的數(shù)量而言,M可非常小(例如,M的值可能為一百萬)。
      [0063]本發(fā)明的一個實施例實現(xiàn)的散列函數(shù)的另一特征可以是針對每個系統(tǒng)或應用的唯一性。換言之,兩個不同的系統(tǒng)或應用不能實現(xiàn)相同的散列函數(shù)。例如,系統(tǒng)B實現(xiàn)的唯一必發(fā)生沖突的散列函數(shù)可將單詞P1映射到HBLHB1 —般不同于系統(tǒng)八將?1映射到的散列密鑰HA115唯一性可用于確保系統(tǒng)A映射到HA1的所有其它密鑰P2、…、Pm不被映射到(或者最不可能映射到)HB1。
      [0064]圖3示出根據(jù)用于登錄第一驗證系統(tǒng)的發(fā)明方法的一個實施例的登錄程序的框圖300。圖4示出針對圖3的第一驗證系統(tǒng)的可能攻擊的框圖400。圖5示出圖4的攻擊者執(zhí)行的根據(jù)用于登錄第二驗證系統(tǒng)的發(fā)明方法的一個實施例的登錄程序的框圖500。
      [0065]圖3至5示出為何從系統(tǒng)I盜取的密碼極不可能用于登錄系統(tǒng)B??杉僭O用戶已分配同一密碼P1以訪問這兩個系統(tǒng)。正確密HPJOZ可被系統(tǒng)A處的唯一必發(fā)生沖突的散列函數(shù)304映射到散列密鑰!^306。該散列密鑰可與已存儲的散列密鑰308相比較310。該已存儲的散列密鑰可在登錄程序之前生成并可被存儲以便在驗證程序中進一步使用。由于存在匹配,因此允許系統(tǒng)訪問。
      [0066]可訪問散列密鑰!^402或可幾乎無限次執(zhí)行登錄程序或利用窮舉搜索、彩虹表、基于詞典的搜索或其它技術之類的暴力技術的攻擊者404可找到被映射到散列密鑰HA1的所有單詞Pl、…、Pm406。從攻擊者的觀察,通常所有單詞均可能是正確的密碼。
      [0067]在系統(tǒng)B上,密碼Pl可被已實現(xiàn)的唯一必發(fā)生沖突的散列函數(shù)504映射到散列密鑰HB1,該散列密鑰匹配已存儲的散列密鑰508,因此可允許系統(tǒng)訪問。但是,攻擊者通過入侵系統(tǒng)A找到的任何其它可能的密碼P2、…、Pm502不能被系統(tǒng)B映射到HBjlO,因此這些單詞均不允許訪問系統(tǒng)B。但是,可能存在M個不同的單詞PB1 = P1, PB2,…、PBm允許訪問系統(tǒng)B。由于M —般遠大于在用戶被鎖定之前失敗的登錄嘗試次數(shù),因此,可能的密碼集P1^…、Pm對于攻擊者入侵系統(tǒng)B幾乎沒有任何價值。 [0068]利用必發(fā)生沖突的散列函數(shù)可加強跨系統(tǒng)保護來抵御暴力攻擊,這是因為從一個系統(tǒng)盜取的散列密鑰或密碼實際上不可用于第二系統(tǒng)。但是,單個系統(tǒng)可能變得不太安全,因為對于每個用戶而言,M個不同的單詞有可能成為用于系統(tǒng)訪問的正確密碼。因此,攻擊者可能需要M次以下的探測或嘗試便可獲取單個系統(tǒng)的有效密碼。這種單個系統(tǒng)保護與跨系統(tǒng)保護之間的權衡或妥協(xié)可以接受,因為成功的暴力攻擊一般需要特殊授權(攻擊者以合法或非法的途徑獲取該授權),例如,對審核功能的操縱、對用戶的解鎖、對散列密鑰的訪問,或對加密工具的直接訪問。
      [0069]對于某些系統(tǒng)或應用,通過引入必發(fā)生沖突的散列函數(shù)導致的安全損失可能無法接受。本發(fā)明的一個實施例可通過引入級聯(lián)登錄程序,補償單個系統(tǒng)的降低的安全性。圖6示出此類安全登錄系統(tǒng)的框圖600。
      [0070]通過使用第一驗證系統(tǒng)和第二驗證系統(tǒng),安全登錄系統(tǒng)600可用于在目標系統(tǒng)中進行安全登錄。密碼可在第一驗證系統(tǒng)和第二驗證系統(tǒng)上有效。該安全登錄系統(tǒng)可包括接收單元602,其適于接收輸入密碼。該安全登錄系統(tǒng)可還包括生成單元604,其適于通過使用第一驗證系統(tǒng)生成第一散列密鑰,和/或適于通過使用第二驗證系統(tǒng)生成第二散列密鑰。每個驗證系統(tǒng)可使用上述系統(tǒng)唯一的必有沖突散列算法。
      [0071]該安全登錄系統(tǒng)可還包括比較單元606,其適于將第一散列密鑰與第一驗證系統(tǒng)中存儲的密碼的第一預定散列密鑰相比較和/或適于將第二散列密鑰與第二驗證中存儲的密碼的第二預定散列密鑰相比較。比較的結果可以是布爾值,即真或偽。
      [0072]該安全登錄系統(tǒng)可還包括控制單元608,其適于基于所述比較中的至少一個而許可對目標系統(tǒng)的訪問。這可意味著,如果比較結果為真或肯定,便可許可訪問,如果比較結果為偽或否定,則可拒絕訪問??山?jīng)由第一驗證系統(tǒng)許可對第一目標系統(tǒng)的訪問,或者經(jīng)由第二驗證系統(tǒng)許可對第二目標系統(tǒng)的訪問。
      [0073]圖7示出圖6的安全登錄系統(tǒng)的一種實施方式的框圖700。其中示出兩個系統(tǒng):系統(tǒng)A704和系統(tǒng)B706。對于每個常規(guī)用戶,在每個系統(tǒng)上,可存儲同一密碼作為唯一必發(fā)生沖突的散列函數(shù)的散列密鑰。
      [0074]在下文中,正確的密碼可以是Pp由于使用必發(fā)生沖突的散列函數(shù),因此,無法從兩個系統(tǒng)之一上存儲的單個散列密鑰推導出Pi。用戶例如可經(jīng)由輸入終端輸入單詞P702作為系統(tǒng)A處的密碼。此外,用戶輸入P被發(fā)送到系統(tǒng)B。該密碼可經(jīng)由輸入終端直接被轉發(fā)到系統(tǒng)B,或者經(jīng)由系統(tǒng)A被轉發(fā)到系統(tǒng)B??赏ㄟ^包括安全通道的網(wǎng)絡708 ( 即,通過安全網(wǎng)絡和/或安全網(wǎng)絡協(xié)議)完成此操作??稍谶@兩個系統(tǒng)中針對P執(zhí)行唯一必發(fā)生沖突的散列函數(shù)710。如果結果不匹配系統(tǒng)A上存儲的散列密鑰,則拒絕系統(tǒng)訪問718。否貝U,P是被映射到系統(tǒng)A處存儲的散列密鑰的單詞集{PAp -,PAm}的元素712。該集合包括Pi。在系統(tǒng)B上,還將所生成的散列密鑰與系統(tǒng)B上存儲的散列密鑰相比較。如果不匹配,則拒絕對系統(tǒng)A的系統(tǒng)訪問718。否則,P是被映射到系統(tǒng)B處存儲的散列密鑰的單詞集{PB?!?、PBm}的元素712。該集合包括P”有關P是否已經(jīng)通過系統(tǒng)B上的登錄程序的信息可被發(fā)送回系統(tǒng)A。這樣,系統(tǒng)A可判定P是否為{PAp…、PAm}與{PBp…、PBm}的交集的元素714。如果是,則可許可系統(tǒng)訪問716。由于系統(tǒng)A和系統(tǒng)B實現(xiàn)不同的散列函數(shù),因此交集{PA。…、PAm} H (PB1,…、ΡΒΜ}最可能僅包含P。因此,只有正確的密碼P1可允許系統(tǒng)訪問。[0075]使用必發(fā)生沖突的散列函數(shù),無法從系統(tǒng)上存儲的散列密鑰和可能盜取的散列密鑰確定明文密碼。只能了解明文密碼是M個單詞構成的集合之外的一個單詞的信息。如果所有M個單詞均同樣可能是明文密碼,則明文密碼的保護可以是充分的。但實際上,M個單詞中的某些單詞比其它單詞更可能成為明文密碼。具體而言,如果明文密碼很弱(即,該密碼為真實語言文字、這些文字的略微修改形式、簡單數(shù)字等),則很容易在M個單詞構成的集合中找到該密碼。此外,與被映射到同一散列密鑰的M-1個單詞的其它任何單詞相比,基于詞典的暴力攻擊更可能找到弱密碼。因此,在進一步的實施例中,可使用僅將弱密碼映射到同一散列密鑰的必發(fā)生沖突的散列函數(shù)。包含真實語言文字、這些文字的略微改變形式、數(shù)字等的詞典可用于將密碼分類為弱密碼。詞典的大小應該適當,例如包含I億個條目。沒必要完全存儲該詞典。相反,對于每個已存儲的真實語言文字,可計算一組修改形式。散列函數(shù)可將M個詞典單詞中的每一個映射到同一散列密鑰。M與詞典大小相比應該很小,但是與用戶被鎖定之前一般允許的不成功登錄嘗試次數(shù)相比仍很大。否則,用于所有詞典單詞的不同散列密鑰的數(shù)量可能很小,攻擊者可能能夠簡單地猜測允許系統(tǒng)訪問的單詞。
      [0076]所描述的安全登錄系統(tǒng)還可包括在計算機系統(tǒng)中。這樣,所述計算機系統(tǒng)的安全登錄系統(tǒng)可與操作系統(tǒng)協(xié)作以便執(zhí)行上述安全登錄方法。
      [0077]本發(fā)明的各實施例可在幾乎任何類型的計算機上實現(xiàn),與適于存儲和/或執(zhí)行程序代碼的平臺無關。例如,如圖8所示,計算機系統(tǒng)800可包括一個或多個處理器802 (其中每個處理器具有一個或多個核)、關聯(lián)的存儲元件804、內部存儲設備806 (例如,硬盤、諸如緊湊型磁盤驅動器或數(shù)字視頻光盤(DVD)驅動器之類的光盤驅動器、閃存棒等)、當今計算機(未示出)一般具有的多種其它元件和功能。存儲元件804可包括主存儲器,例如在程序代碼的實際執(zhí)行期間采用的隨機存取存儲器(RAM)、以及提供至少某些程序代碼和/或數(shù)據(jù)的臨時存儲以減少必須從長期存儲介質或外部大容量存儲裝置816取回代碼和/或數(shù)據(jù)以執(zhí)行的次數(shù)的高速緩沖存儲器。計算機800內部的元件可通過具有對應適配器的總線系統(tǒng)818鏈接在一起。此外,安全登錄系統(tǒng)600可連接到總線系統(tǒng)818。
      [0078]計算機系統(tǒng)800還可包括輸入部件,如鍵盤808、諸如鼠標810之類的指點設備,或麥克風(未示出)。此外,計算機800可包括輸出部件,如監(jiān)視器或屏幕812 [例如,液晶顯示器(LCD)、等離子顯示器、發(fā)光二極管顯示器(LED)或陰極射線管(CRT)監(jiān)視器]。計算機系統(tǒng)800可通過網(wǎng)絡接口連接814連接到網(wǎng)絡(例如,局域網(wǎng)(LAN)、諸如因特網(wǎng)之類的廣域網(wǎng)(WAN),或其它任何類似類型網(wǎng)絡,其中包括無線網(wǎng)絡)。這可允許與其它計算機系統(tǒng)或存儲網(wǎng)絡或磁帶驅動器連接。本領域的技術人員將理解,存在許多不同類型的計算機系統(tǒng),并且上述輸入和輸出部件可采取其它形式。一般而言,計算機系統(tǒng)800可包括至少實現(xiàn)本發(fā)明實施例所需的最少的處理、輸入和/或輸出部件。
      [0079]此外,本領域的技術人員將理解,上述計算機系統(tǒng)800的一個或多個元件可位于遠端位置并且通過網(wǎng)絡與其它元件相連。此外,本發(fā)明的實施例可在具有多個節(jié)點的分布式系統(tǒng)上實現(xiàn),其中本發(fā)明的每個部分可位于分布式系統(tǒng)內的不同節(jié)點上。在本發(fā)明的一個實施例中,節(jié)點對應于計算機系統(tǒng)。備選地,節(jié)點可對應于具有關聯(lián)物理存儲器的處理器。節(jié)點可備選地對應于具有共享存儲器和/或資源的處理器或智能手機。
      [0080]此外,用于執(zhí)行本發(fā)明實施例的軟件指令可存儲在計算機可讀介質上,例如光盤(CD)、磁盤、磁帶或其它任何計算機可讀的存儲設備上。
      [0081]盡管參考有限數(shù)量的實施例描述了本發(fā)明,但是從本公開受益的本領域的技術人員將理解,可構想不偏離此處公開的發(fā)明范圍的其它實施例。因此,本發(fā)明的范圍應該僅由所附權利要求限定。
      [0082] 還應該指出,術語“包括”不排除其它元素或步驟,“一”或“一個”不排除多個。另一方面,術語“包括”還可包括“由…構成”的情況。另外,可組合結合不同的實施例描述的元素。還需要指出,權利要求中的參考標號不應該被理解為限制元素。
      【權利要求】
      1.一種通過使用第一驗證系統(tǒng)和第二驗證系統(tǒng)在目標系統(tǒng)中進行跨系統(tǒng)安全登錄的方法,其中正確密碼在所述第一驗證系統(tǒng)和所述第二驗證系統(tǒng)上有效, 所述方法包括: -接收輸入密碼, -通過使用所述第一驗證系統(tǒng)生成第一散列密鑰,和/或通過使用所述第二驗證系統(tǒng)生成第二散列密鑰,其中每個驗證系統(tǒng)使用系統(tǒng)唯一的必有沖突散列算法, -將所述第一散列密鑰與所述第一驗證系統(tǒng)中存儲的所述正確密碼的第一預定散列密鑰相比較和/或將所述第二散列密鑰與所述第二驗證系統(tǒng)中存儲的所述正確密碼的第二預定散列密鑰相比較,以及 -基于所述比較中的至少一個而許可對所述目標系統(tǒng)的訪問。
      2.根據(jù)權利要求1的方法,其中許可對所述目標系統(tǒng)的訪問包括基于兩個比較而許可訪問。
      3.根據(jù)權利要求1的方法,其中許可對所述目標系統(tǒng)的訪問包括基于所述第一散列密鑰與所述第一預定散列密鑰的比較而許可對第一目標系統(tǒng)的訪問,以及基于所述第二散列密鑰與所述第二預定散列密鑰的比較而許可對第二目標系統(tǒng)的訪問。
      4.根據(jù)任一上述權利 要求的方法,其中每個系統(tǒng)唯一的必有沖突散列算法是必發(fā)生沖突的散列算法。
      5.根據(jù)任一上述權利要求的方法,所述方法還包括: -通過使用所述第一驗證系統(tǒng)的所述唯一的必有沖突散列算法創(chuàng)建所述第一預定散列密鑰,以及通過使用所述第一驗證系統(tǒng)的所述唯一的必有沖突散列算法創(chuàng)建所述第二預定散列密鑰,以及 -將所述第一預定散列密鑰存儲在所述第一驗證系統(tǒng)中,并且將所述第二預定散列密鑰存儲在所述弟驗證系統(tǒng)中。
      6.根據(jù)任一上述權利要求的方法,所述方法包括: -經(jīng)由安全通道接收所述輸入密碼。
      7.根據(jù)任一上述權利要求的方法,其中將所述第一散列密鑰與第一預定散列密鑰相比較以及將所述第二散列密鑰與第二預定散列密鑰相比較包括: -生成每個比較的布爾信息。
      8.一種通過使用第一驗證系統(tǒng)和第二驗證系統(tǒng)在目標系統(tǒng)中進行安全登錄的安全登錄系統(tǒng),其中密碼在所述第一驗證系統(tǒng)和所述第二驗證系統(tǒng)上有效, 所述安全登錄系統(tǒng)包括: -接收單元,其適于接收輸入密碼, -生成單元,其適于通過使用所述第一驗證系統(tǒng)生成第一散列密鑰和/或適于通過使用所述第二驗證系統(tǒng)生成第二散列密鑰,其中每個驗證系統(tǒng)使用系統(tǒng)唯一的必有沖突散列算法, -比較單元,其適于將所述第一散列密鑰與所述第一驗證系統(tǒng)中存儲的所述密碼的第一預定散列密鑰相比較和/或適于將所述第二散列密鑰與所述第二驗證系統(tǒng)中存儲的所述密碼的第二預定散列密鑰相比較,以及 -控制單元,其適于基于所述比較中的至少一個而許可對所述目標系統(tǒng)的訪問。
      9.根據(jù)權利要求8的安全登錄系統(tǒng),其中所述目標系統(tǒng)和所述第一驗證系統(tǒng)是一個單一系統(tǒng)的一部分。
      10.根據(jù)權利要求8或9中的任一權利要求的安全登錄系統(tǒng),所述安全登錄系統(tǒng)包括所述目標系統(tǒng)、所述第一驗證系統(tǒng)和所述第二驗證系統(tǒng)。
      11.一種操作系統(tǒng),其被配置為執(zhí)行根據(jù)權利要求1至7中的任一權利要求的方法。
      12.—種計算機系統(tǒng),其包括根據(jù)權利要求8至10中的任一權利要求的安全登錄系統(tǒng)。
      13.—組在聯(lián)網(wǎng)數(shù) 據(jù)處理系統(tǒng)中執(zhí)行的數(shù)據(jù)處理程序,所述數(shù)據(jù)處理程序包括軟件代碼部分,當所述程序在所述聯(lián)網(wǎng)數(shù)據(jù)處理系統(tǒng)上運行時,所述軟件代碼部分用于執(zhí)行根據(jù)權利要求1至7中的任一權利要求的方法。
      14.一種存儲在計算機可用介質上的計算機程序產(chǎn)品,其包括計算機可讀程序裝置,當所述程序裝置的各部分在計算機網(wǎng)絡上運行時,所述計算機可讀程序裝置用于導致所述計算機網(wǎng)絡執(zhí)行根據(jù)權利要求1至7中的任一權利要求的方法(100)。
      【文檔編號】G06F21/31GK103975333SQ201280059054
      【公開日】2014年8月6日 申請日期:2012年10月15日 優(yōu)先權日:2011年12月1日
      【發(fā)明者】J·雷澤, J·勒里希 申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1