安全數(shù)據(jù)存儲(chǔ)裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及保持?jǐn)?shù)據(jù)安全免受未授權(quán)訪問的處理。更具體地,但不排他地,本發(fā)明 涉及用于響應(yīng)于來自應(yīng)用服務(wù)器的命令,對(duì)與多個(gè)用戶關(guān)聯(lián)并存儲(chǔ)在安全存儲(chǔ)器中的信息 執(zhí)行操作,以允許應(yīng)用服務(wù)器認(rèn)證用戶的設(shè)備。
【背景技術(shù)】
[0002] 本專利說明書不僅描述了各種想法和功能,而且還描述了其創(chuàng)意表達(dá)。因此,本專 利文件的公開的一部分包含要求保護(hù)版權(quán)的材料,并特此公告:2013年和2014年版權(quán)歸 Silicon Safe Limited所有(依據(jù)17U.S.C.401)。對(duì)于與本專利申請(qǐng)中所示和所述的本發(fā) 明的實(shí)施方案關(guān)聯(lián)的全部可保護(hù)表達(dá)均要求版權(quán)保護(hù)。
[0003] 版權(quán)所有者對(duì)于拓制專利文件或?qū)@_內(nèi)容中的任一個(gè)不得有異議,因?yàn)槠涑?現(xiàn)在專利商標(biāo)局專利文件或記錄中,但是除此之外無論任何情況下保留全部版權(quán)權(quán)益。因 此,無論任何情況下均不授予任何版權(quán)的明確或隱含許可。
[0004] 對(duì)于安全存儲(chǔ)機(jī)密數(shù)據(jù)的需要出現(xiàn)在例如需要存儲(chǔ)計(jì)算機(jī)密碼的時(shí)候。密碼是保 密字或數(shù)字和/或字符串,用于證明身份以獲得對(duì)計(jì)算機(jī)或資源的訪問。密碼應(yīng)被保密,免 受那些未經(jīng)允許的訪問,并且因此必須存儲(chǔ)在安全數(shù)據(jù)存儲(chǔ)中。此存儲(chǔ)通常是密碼文件,旨 在僅由認(rèn)證系統(tǒng)訪問。
[0005] 密碼文件是計(jì)算機(jī)黑客瞄準(zhǔn)的蜜罐,如果沒有適當(dāng)保護(hù),那么可以使計(jì)算機(jī)或網(wǎng) 絡(luò)易受損害。目前,在商務(wù)世界中最常見形式的計(jì)算機(jī)攻擊中的一個(gè)是竊取密碼文件。通 常,利用已知漏洞通過互聯(lián)網(wǎng)(或經(jīng)由安裝在網(wǎng)絡(luò)內(nèi)部的蠕蟲或木馬程序)滲透網(wǎng)站,并且 竊取密碼。然后,使用密碼進(jìn)行多種有害和犯罪活動(dòng)。
[0006] 密碼文件的丟失不僅促使組織和個(gè)人用戶(因?yàn)橐笥脩糁刂闷涿艽a)雙方的巨 大不便,而且未來引起關(guān)于系統(tǒng)漏洞的問題,這由于用戶在何種程度上確實(shí)使用了新的密 碼的不確定性導(dǎo)致(例如,密碼為jjj5的用戶可能將它簡單改為jjj6)。
[0007] 另外,由于用戶在不同的系統(tǒng)上,從社交媒體網(wǎng)站到在線購物網(wǎng)站,使用幾乎沒有 不同的密碼的傾向,存在附帶損壞其他系統(tǒng)的安全性的顯著問題。此外,密碼文件被盜的問 題是,雖然人們有時(shí)知道它何時(shí)已發(fā)生了,但是不確定它還沒有發(fā)生。因此,第一次人們可 能發(fā)現(xiàn)它已發(fā)生是正要嚴(yán)重?fù)p害系統(tǒng)。
[0008] 本領(lǐng)域的普通技術(shù)人員將知道安全保護(hù)密碼文件及其內(nèi)容的各種現(xiàn)有技術(shù)方法, 包括最常見的保存原始明文密碼的編碼版本(稱為密碼散列),或保存加鹽密碼的散列。
[0009] 不幸的是散列鏈和彩虹表(都是將編碼密碼解碼回其原始明文)的發(fā)展使這兩種 措施都不充分。因此,首先密碼存儲(chǔ)本身不可以被損害或竊取是必要的。
[0010] 本發(fā)明解決了以上漏洞,并且也解決了以上沒有描述的其他問題。
[0011] 發(fā)明概述
[0012] 根據(jù)本發(fā)明,提供了一種裝置,所述裝置包括:接口,其配置成從應(yīng)用服務(wù)器接收 消息并且向應(yīng)用服務(wù)器傳送消息,所述應(yīng)用服務(wù)器使用所述裝置保護(hù)與多個(gè)用戶關(guān)聯(lián)的數(shù) 據(jù)免受未授權(quán)訪問;和處理器,其被配置來對(duì)存儲(chǔ)在存儲(chǔ)器中的信息執(zhí)行有限數(shù)量的預(yù)定 操作,所述信息包括與多個(gè)獨(dú)立用戶關(guān)聯(lián)、被保持安全免受未授權(quán)訪問的數(shù)據(jù),其中所述接 口被配置來從包括與所述多個(gè)獨(dú)立用戶中的一個(gè)關(guān)聯(lián)的數(shù)據(jù)的所述應(yīng)用服務(wù)器接收消息, 所述數(shù)據(jù)由所述應(yīng)用服務(wù)器從另一設(shè)備接收,其中所述處理器被配置來對(duì)所述存儲(chǔ)器中的 所述信息執(zhí)行操作,包括比較所接收的數(shù)據(jù)與存儲(chǔ)在所述存儲(chǔ)器中的安全數(shù)據(jù)以及經(jīng)由所 述接口,基于所述比較將響應(yīng)提供給所述應(yīng)用服務(wù)器,并且其中所述有限數(shù)量的預(yù)定操作 不包括將存儲(chǔ)在所述存儲(chǔ)器中的所述安全數(shù)據(jù)提供給所述應(yīng)用服務(wù)器。
[0013] 所述裝置還可包括存儲(chǔ)與多個(gè)獨(dú)立用戶關(guān)聯(lián)的信息的存儲(chǔ)器。所述處理器和存儲(chǔ) 器可被設(shè)置為單個(gè)集成電路。或者,所述存儲(chǔ)器可以是,例如可連接到所述裝置的單獨(dú)的設(shè) 備。所述存儲(chǔ)器可以被布置成僅處理器可訪問。所述裝置可包括在處理器與存儲(chǔ)器之間的 連接件,并且所述連接件可提供到存儲(chǔ)器的唯一連接。
[0014] 因此,本發(fā)明提供用于存儲(chǔ)僅由特定處理器可訪問的憑證信息的隱藏或私用存儲(chǔ) 器。所述處理器可以是本地處理器。
[0015] 所述處理器與所述應(yīng)用服務(wù)器的處理邏輯分開,并且由于與所述應(yīng)用服務(wù)器執(zhí)行 其任務(wù)所需的存儲(chǔ)器中的數(shù)據(jù)的全部交互作用將通過由處理器提供的限制操作來執(zhí)行,因 而確保安全存儲(chǔ)所述存儲(chǔ)器中的所述數(shù)據(jù)。在所述應(yīng)用服務(wù)器上竊取與多個(gè)用戶關(guān)聯(lián)的保 密數(shù)據(jù)的攻擊將是不成功的,因?yàn)楸C軘?shù)據(jù)被存儲(chǔ)在隱藏存儲(chǔ)器中并且所述裝置的處理器 確保應(yīng)用服務(wù)器的處理邏輯不能訪問保密數(shù)據(jù)。
[0016] 所述處理器可直接比較接收的數(shù)據(jù)與存儲(chǔ)的數(shù)據(jù)。或者,所述處理器可在比較接 收的數(shù)據(jù)與存儲(chǔ)的數(shù)據(jù)之前,處理接收的數(shù)據(jù)。所述比較可包括,但不限于,平等匹配、統(tǒng)計(jì) 匹配、變換匹配或驗(yàn)證匹配。驗(yàn)證匹配可包括使用存儲(chǔ)的數(shù)據(jù)檢查接收的數(shù)據(jù)的數(shù)字簽名。
[0017] 存儲(chǔ)在存儲(chǔ)器中的信息可包括索引和與每個(gè)索引關(guān)聯(lián)的數(shù)據(jù),并且處理器可被配 置來通過使用索引對(duì)信息執(zhí)行有限數(shù)量的預(yù)定操作。
[0018] 存儲(chǔ)在存儲(chǔ)器中的信息可包括用戶id和與每個(gè)用戶id關(guān)聯(lián)的認(rèn)證數(shù)據(jù)用于認(rèn)證 用戶,并且應(yīng)用服務(wù)器可以是被布置成基于來自所述裝置的響應(yīng)來認(rèn)證用戶的認(rèn)證服務(wù) 器。
[0019] 存儲(chǔ)在存儲(chǔ)器中的信息可包括用戶id,以及與所述用戶id關(guān)聯(lián)的密碼、生物特征 數(shù)據(jù)和個(gè)人識(shí)別碼中的一個(gè)或多個(gè)用于一個(gè)或多個(gè)外部資源,并且應(yīng)用服務(wù)器可被配置來 基于來自裝置的響應(yīng)來準(zhǔn)許或拒絕對(duì)所述一個(gè)或多個(gè)外部資源的訪問。
[0020] 存儲(chǔ)在存儲(chǔ)器中的信息可包括彩票識(shí)別號(hào),和在購買彩票時(shí)注冊(cè)的購買者識(shí)別信 息。
[0021] 用戶可以是一個(gè)人或個(gè)人設(shè)備,但用戶并不一定需要與一個(gè)人關(guān)聯(lián)。例如,在一些 實(shí)施方案中,多個(gè)獨(dú)立用戶可以是多個(gè)數(shù)據(jù)記錄設(shè)備諸如傳感器,并且應(yīng)用服務(wù)器可由設(shè) 備用于檢查所接收的數(shù)據(jù)事實(shí)上源自給定設(shè)備。多個(gè)獨(dú)立用戶可以是大量的用戶,例如幾 十萬或幾億的用戶,這取決于具體的實(shí)施方式和應(yīng)用?;蛘撸龆鄠€(gè)用戶可能是小量的用 戶。
[0022] 所述處理器可以被布置成在運(yùn)行時(shí)不可編程。
[0023] 所述處理器在使用中不可編程或修改。換句話說,在部署后,不可能將程序遠(yuǎn)程下 載到處理器中或以其它方式遠(yuǎn)程修改所述處理器,以促使所述處理器執(zhí)行不同的任務(wù)或修 改的任務(wù)。
[0024] 所述處理器可以被配置來僅從所述應(yīng)用服務(wù)器接收長達(dá)預(yù)定長度的消息并且拒 絕或截?cái)啻笥谒鲱A(yù)定長度的輸入消息。
[0025] 有限數(shù)量的預(yù)定操作可包括在存儲(chǔ)器中更新安全數(shù)據(jù)的操作。所述裝置可從應(yīng)用 服務(wù)器接收新數(shù)據(jù)用以更新存儲(chǔ)器。
[0026] 在一些實(shí)施方案中,處理器可提供到外界的限制、特定接口,僅允許存儲(chǔ)、比較、更 新和刪除數(shù)據(jù)的操作和不影響或公開數(shù)據(jù)的額外管理功能。
[0027]處理器可被配置來經(jīng)由接口將有限數(shù)量的操作的結(jié)果提供給應(yīng)用服務(wù)器,并且所 述結(jié)果可被限制為成功、失敗或關(guān)于錯(cuò)誤狀況的信息。
[0028]處理(諸如(但不限于)協(xié)議處理、加密和解密或備份)的不同方面之間的分離可在 處理器中通過在單獨(dú)的物理處理單元中實(shí)施這種過程來提供,所述單獨(dú)的物理處理單元彼 此之間使用單獨(dú)的處理器不共享存儲(chǔ)器的內(nèi)部消息傳送系統(tǒng)來通信。
[0029] 處理器可被實(shí)施為哈佛架構(gòu)處理器,即禁止針對(duì)處理器的代碼注入攻擊的專用現(xiàn) 場可編程門陣列(FPGA)或?qū)S眉呻娐?ASIC)處理器。
[0030] 所述裝置可被配置來使用私用網(wǎng)絡(luò)連接或加密網(wǎng)絡(luò)連接將安全數(shù)據(jù)安全備份到 額外內(nèi)部存儲(chǔ)裝置或到外部存儲(chǔ)裝置。因此,在一些實(shí)施方案中,所述裝置還可包括備用存 儲(chǔ)器。
[0031] 所述接口可提供第一接口并且所述裝置還可包括第二接口用于將信息提供給外 部備用設(shè)備,并且處理器可被配置來經(jīng)由第二接口將安全數(shù)據(jù)提供給備用設(shè)備。安全數(shù)據(jù) 可以加密形式被提供給備用設(shè)備。備用設(shè)備可以是如上定義的另一裝置、私用網(wǎng)絡(luò)或其它 安全存儲(chǔ)器。
[0032] 存儲(chǔ)器可包括被組織為散列表用于存儲(chǔ)安全數(shù)據(jù)的閃速存儲(chǔ)器,所述閃速存儲(chǔ)器 被組織為單個(gè)均勻的塊空間,其中的每個(gè)容納用戶配置文件。
[0033] 存儲(chǔ)器可被配置來在均勻的塊空間中的同一塊中存儲(chǔ)數(shù)據(jù)和與用戶配置文件關(guān) 聯(lián)的元數(shù)據(jù)。通過使用允許單個(gè)塊寫入的閃速存儲(chǔ)器、消除對(duì)元數(shù)據(jù)的次級(jí)表的需要,改進(jìn) 了寫入和讀取次數(shù),延長了存儲(chǔ)器的壽命并且減小了數(shù)據(jù)不一致性的風(fēng)險(xiǎn)。
[0034] 用戶配置文件可包括用戶身份數(shù)據(jù)、憑證和與用戶身份關(guān)聯(lián)的元數(shù)據(jù)以及可能額 外的與用戶身份關(guān)聯(lián)的很少改變的數(shù)據(jù)。
[0035] 根據(jù)本發(fā)明,還提供了包括上文定義的裝置和使用所述裝置存儲(chǔ)與多個(gè)用戶關(guān)聯(lián) 的數(shù)據(jù)的應(yīng)用服務(wù)器,所述應(yīng)用服務(wù)器被配置來從與多個(gè)獨(dú)立用戶關(guān)聯(lián)的多個(gè)設(shè)備接收數(shù) 據(jù)并且向所述裝置發(fā)送從多個(gè)設(shè)備接收的數(shù)據(jù)用于與存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)進(jìn)行比較。應(yīng) 用服務(wù)器可以在主從式(客戶端服務(wù)器)網(wǎng)絡(luò)中將共享資源提供給一個(gè)或多個(gè)應(yīng)用。
[0036] 所述系統(tǒng)可在所述裝置與所述應(yīng)用服務(wù)器之間提供加密連接。
[0037] 所述系統(tǒng)還可包括在多個(gè)設(shè)備與應(yīng)用服務(wù)器之間提供中介的前置服務(wù)器(preserver),所述前置服務(wù)器被配置來重寫從多個(gè)設(shè)備中的設(shè)備接收的、待與存儲(chǔ)在安全存儲(chǔ) 器中的數(shù)據(jù)進(jìn)行比較的數(shù)據(jù),在向應(yīng)用服務(wù)器轉(zhuǎn)發(fā)重寫的數(shù)據(jù)(而不是從設(shè)備接收的數(shù)據(jù)) 之前,所述前置服務(wù)器被配置來通過加密數(shù)據(jù),將數(shù)據(jù)重寫到臨時(shí)標(biāo)簽并從通道外向所述 裝置傳送標(biāo)簽和數(shù)據(jù)而僅向應(yīng)用服務(wù)器轉(zhuǎn)發(fā)標(biāo)簽,或使用前置服務(wù)器與所述裝置之間共享 的密鑰將數(shù)據(jù)重寫到散列值中的一個(gè)來重寫數(shù)據(jù)。處理器可被配置來從重寫的數(shù)據(jù)恢復(fù)原 始數(shù)據(jù)并且比較恢復(fù)的數(shù)據(jù)與存儲(chǔ)在存儲(chǔ)器中的安全數(shù)據(jù)。
[0038] 根據(jù)本發(fā)明,還提供了一種計(jì)算機(jī)實(shí)施的方法,其包括:在裝置中從使用所述裝置 保護(hù)與多個(gè)用戶關(guān)聯(lián)的數(shù)據(jù)的應(yīng)用服務(wù)器接收消息,所述消息包括所述應(yīng)用服務(wù)器從另一 設(shè)備接收的數(shù)據(jù);響應(yīng)于所述消息,對(duì)存儲(chǔ)在存儲(chǔ)器中的信息執(zhí)行操作,所述信息包括與所 述多個(gè)獨(dú)立用戶關(guān)聯(lián)的、被保持安全免受未授權(quán)訪問的數(shù)據(jù);和基于所述比較,向所述應(yīng)用 服務(wù)器提供響應(yīng),其中所述操作是所述裝置的處理器可以對(duì)所述存儲(chǔ)器中的信息執(zhí)行的有 限數(shù)量的預(yù)定操作中的一個(gè)。
[0039] 有限數(shù)量的預(yù)定操作可包括更新安全數(shù)據(jù),并且所述方法還可包括從應(yīng)用服務(wù)器 接收消息以及被保護(hù)免受未授權(quán)訪問的數(shù)據(jù)和用接收的數(shù)據(jù)更新存儲(chǔ)器。
[0040] 所述方法還可包括經(jīng)由接口將加密形式的安全數(shù)據(jù)提供給外部備用設(shè)備,所述接 口與消息通過其與應(yīng)用服務(wù)器進(jìn)行交換的接口分開。
[0041] 所述方法還可包括響應(yīng)于接收長于預(yù)定長度的消息,拒絕或截?cái)嘞ⅰ?br>[0042]根據(jù)本發(fā)明,還提供了包括指令的計(jì)算機(jī)程序,所述指令在由處理器執(zhí)行時(shí),促使 處理器:接收和解釋經(jīng)由接口從被配置來使用包括處理器的裝置保護(hù)與多個(gè)用戶關(guān)聯(lián)的數(shù) 據(jù)的應(yīng)用服務(wù)器接收的消息,所述消息包括由應(yīng)用服務(wù)器從另一設(shè)備接收的數(shù)據(jù);對(duì)存儲(chǔ) 在僅所述處理器可訪問的存儲(chǔ)器中的信息執(zhí)行有限數(shù)量的預(yù)定操作,所述信息包括與多個(gè) 用戶關(guān)聯(lián)的、被保持安全免受未授權(quán)訪問的數(shù)據(jù),其中有限數(shù)量的操作包括:比較基于接收 的數(shù)據(jù)的數(shù)據(jù)與存儲(chǔ)在存儲(chǔ)器中的安全數(shù)據(jù);和經(jīng)由接口,基于有限數(shù)量的預(yù)定操作中的 操作的結(jié)果將響應(yīng)提供回到應(yīng)用服務(wù)器,其中有限數(shù)量的操作不包括將安全數(shù)據(jù)返回到應(yīng) 用服務(wù)器。
[0043]根據(jù)本發(fā)明,還提供了非瞬時(shí)計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序。
[0044] 根據(jù)本發(fā)明,還提供了用于保護(hù)被保持安全的數(shù)據(jù)免受未授權(quán)訪問的系統(tǒng),其包 括:應(yīng)用服務(wù)器,其用于從客戶端設(shè)備接收待與存儲(chǔ)在安全存儲(chǔ)器中的數(shù)據(jù)進(jìn)行比較的數(shù) 據(jù),存儲(chǔ)的數(shù)據(jù)與多個(gè)用戶關(guān)聯(lián),安全存儲(chǔ)器形成應(yīng)用服務(wù)器的部分或形成應(yīng)用服務(wù)器外 部的設(shè)備的部分并且保護(hù)閑置的存儲(chǔ)數(shù)據(jù);和前置服務(wù)器,其形成客戶端設(shè)備與應(yīng)用服務(wù) 器之間的中介,所述前置服務(wù)器被配置來重寫從客戶端設(shè)備接收的、待與安全存儲(chǔ)器中的 數(shù)據(jù)進(jìn)行比較的數(shù)據(jù),并且向應(yīng)用服務(wù)器轉(zhuǎn)發(fā)重寫的數(shù)據(jù)(而不是實(shí)際從客戶端設(shè)備接收 的數(shù)據(jù)),以便也保護(hù)使用中的數(shù)據(jù)。前置服務(wù)器可被配置來通過加密數(shù)據(jù)、將數(shù)據(jù)重寫到 臨時(shí)標(biāo)簽或使用前置服務(wù)器與裝置之間共享的密鑰將數(shù)據(jù)重寫到散列值中的一個(gè)來重寫 數(shù)據(jù)。所述系統(tǒng)還可包括處理器,用于比較來自客戶端設(shè)備的數(shù)據(jù)與存儲(chǔ)在安全存儲(chǔ)器中 的數(shù)據(jù),并且處理器可被配置來在執(zhí)行比較之前從重寫的數(shù)據(jù)恢復(fù)原始數(shù)據(jù)。
[0045] 根據(jù)本發(fā)明,還提供了在如上文所述的系統(tǒng)中使用或駐留的前置服務(wù)器,所述前 置服務(wù)器被配置來重寫從客戶端設(shè)備接收的數(shù)據(jù)并且向應(yīng)用服務(wù)器轉(zhuǎn)發(fā)重寫的數(shù)據(jù)。 [0046]更進(jìn)一步地,根據(jù)本發(fā)明,還提供了用于存儲(chǔ)憑證數(shù)據(jù)用于認(rèn)證用戶設(shè)備、包括被 組織成散列表的閃速存儲(chǔ)器的存儲(chǔ)器,所述閃速存儲(chǔ)器包括單個(gè)均勻的塊空間,其中的每 個(gè)容納用戶配置文件。
[0047]每個(gè)塊可存儲(chǔ)用戶身份數(shù)據(jù)、憑證數(shù)據(jù)和與所述用戶身份關(guān)聯(lián)的元數(shù)據(jù)。因此,當(dāng) 配置文件需要被更新時(shí),可能僅需要單個(gè)塊寫入操作。
[0048]根據(jù)本發(fā)明,還提供了使用閃速存儲(chǔ)器存儲(chǔ)用戶憑證的方法,所述閃速存儲(chǔ)器被 組織成散列表并且包括單個(gè)均勻的塊空間,其中的每個(gè)容納用戶配置文件,其中所述方法 包括將數(shù)據(jù)和與用