TW202304172A - 位置密鑰加密系統 - Google Patents
位置密鑰加密系統 Download PDFInfo
- Publication number
- TW202304172A TW202304172A TW111117267A TW111117267A TW202304172A TW 202304172 A TW202304172 A TW 202304172A TW 111117267 A TW111117267 A TW 111117267A TW 111117267 A TW111117267 A TW 111117267A TW 202304172 A TW202304172 A TW 202304172A
- Authority
- TW
- Taiwan
- Prior art keywords
- key
- threshold
- file
- asymmetric
- encrypted
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0872—Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
一種加密方法,包含:使用一組使用者裝置創建包含一複數部分閾值密鑰的一非對稱設定檔密鑰;使用該非對稱設定檔密鑰及該組使用者裝置簽署一宣告,該宣告辨識該組使用者裝置;創建包含兩個複數部分閾值密鑰的一非對稱位置密鑰;分片及儲存該非對稱位置密鑰;創建一對稱密鑰;以該對稱密鑰加密一檔案;以該非對稱位置密鑰加密該對稱密鑰;以及儲存經加密之檔案及經加密之對稱密鑰,使得該經加密之檔案在未藉由該組使用者裝置之一閾值解密該非對稱位置密鑰時無法被解密。
Description
相關申請案之交互參照
本申請案主張2021年5月10日申請之美國臨時發明專利申請案第63/186,325號,名稱「加密系統」之優先權,其整體藉由參照的方式被併入本文中。
技術領域
本發明一般是有關資料加密及/或解密。本發明更具體而言是有關使用位置密鑰(location keys)以加密/解密位於一位置的檔案。
安全風險為管理加密密鑰 (cryptographic keys) 的固有風險。涉及中央化密鑰伺服器(centralized key servers)及密碼的傳統解決方案存在挑戰性。當密碼通常被遺忘、不夠複雜或者是複雜得難以管理,中央化密鑰伺服器對於對手而言為吸引人的目標。
一種加密方法,包含:使用一組使用者裝置創建包含一複數部分閾值密鑰的一非對稱設定檔密鑰;使用該非對稱設定檔密鑰及該組使用者裝置簽署一宣告,該宣告辨識該組使用者裝置;創建包含兩個複數部分閾值密鑰的一非對稱位置密鑰;分片及儲存該非對稱位置密鑰;創建一對稱密鑰;以該對稱密鑰加密一檔案;以該非對稱位置密鑰加密該對稱密鑰;以及儲存經加密之檔案及經加密之對稱密鑰,使得該經加密之檔案在未藉由該組使用者裝置之一閾值解密該非對稱位置密鑰時無法被解密。
一種非暫態電腦可讀取媒體,其具有儲存於其上的指令以導致至少一處理器執行該方法。一種系統,其包括該媒體及至少一個執行該方法的處理器。
本發明內容是提供用以通過以下將於詳細說明中進一步敘述的簡化形式介紹概念之選擇。本發明內容並非意欲辨識所實施之發明標的的關鍵特徵或必要特徵,也並非意欲被用於限制所實施之發明標的的範圍。所揭露之實施例的其他態樣自隨附的圖式及詳細說明將為顯見的。
以下的實施例代表用以使得本發明所屬技術領域中具有通常知識者能夠實施該等實施例的必要資訊,且顯示實施該等實施例的最佳模式。在參考隨附圖式之下閱讀下列敘述時,本發明所屬技術領域中具有通常知識者將理解本揭露內容的概念且將認知此處未特別提及的這些概念之應用。應理解的是,這些概念及應用落於本揭露內容及隨附圖式的範圍中。
此處所使用的用語之目的僅在於敘述實施例,且並非意欲限制本揭露內容的範圍。在內容允許之下,使用單數或複數形式的詞彙亦分別包括複數或單數形式。
諸如「處理」、「運算(computing)」、「計算(calculating)」、「決定」、「顯示」、「生成(generating)」等之用語,除非特別另外指明,可指操控並轉換電腦記憶體或暫存器(registers)內以物理(電子)數量表示之資料成為電腦記憶體、暫存器或其他這種儲存媒體、傳輸或顯示裝置內類似地以物理數量所表示的其他資料之一運算裝置的動作或程序。
此處所使用的該等用語「連接」、「耦合」或其等的變化型,可指二或多個元件之間的任何連接或耦合,無論直接或間接。元件之間的耦合或連接可為實體的、邏輯的或其等之組合。
該等用語「通道(channel)」或「鏈接(link)」考慮到資料或資訊通訊的手段,無論是無線或有線者,且可使用數位蜂窩傳輸標準(digital cellular transmission standard,例如,CDMA、W-CDMA、LTE、HSPA+)。實例包括藍牙、Wi-Fi、乙太網路、USB、USB-C、Thunderbolt、聽覺鏈接(auditory link),或視覺鏈接(例如QR碼及攝影機)。一訊息可在一或多個通道/鏈接上,於兩個裝置之間直接通訊,或經由另一裝置(例如一中繼裝置)間接通訊。
此處所使用的該用語「目標資料」,可指被鎖定為加密目標的資料。目標資料的實例可包括照片、文件、資料表、音訊檔案、影片檔案,或任何形式之可加密資料檔案。其他實例包括儲存於資料庫表格中的資料、密碼、儲存於電腦中的電子郵件,或任何資料物件。
該系統被設計以在中心化伺服器或密碼為非必要的情形下提供密鑰管理。
該系統為閾值式加密系統(threshold cryptosystem,即N個中的M個,M-of-N),使能夠進行需要複數裝置,諸如智慧型手機及電腦之密鑰管理。藉由使用閾值式加密技術,該系統避免了使用中心化伺服器及密碼之密鑰管理的陷阱。
該系統為真實的零信任系統(true zero trust system)。不像許多傳統的零信任系統為倚賴密碼及客戶認證,該系統得以將密鑰完全自身分及存取管理系統分離。
該系統始於複數部分閾值公鑰(multi-part threshold public keys,MPKs)的生成。個人行動裝置可為閾值密鑰之份額(share,即「碎片(shards)」)的密鑰持有者,由於若一行動裝置遺失,使用者將快速地注意到並將執行使得該遺失之裝置無效以及採用一取代裝置的程序。MPKs允許複數個裝置生成一公/私鑰對,而毋須任何單一個裝置獲得該私鑰。這些是使用具有適當承諾(commitment)及驗證之佩德森密鑰生成技術(Pederson’s key generation)而生成。
圖1為顯示用於實施位置密鑰加密之系統100的方塊圖。該系統100包含設定檔創建110、位置密鑰創建120、檔案加密130及一保全資料夾後端140。在設定檔創建110處,該系統100生成一設定檔密鑰(BLS密鑰),其稍後將連同圖2進一步詳細敘述,且其將被用以通過保全及可驗證之方式辨識該使用者及他或她擁有之該組裝置。該所生成的設定檔密鑰並未被用於加密,雖然其可被用於加密。取而代之的是,其被用於簽署宣告該組裝置之成員及包括人類可讀使用者資訊(例如,名稱、工作設定檔、該組裝置之裝置的名稱等)之元資料的宣告。這些宣告為公開宣告且可於任何一處被公開(例如,可被儲存於保全資料夾後端140)。
保全資料夾後端140中的其他宣告可包括保全資料夾之名稱、資料夾之內容、資料夾的層次結構位置(hierarchy location)、具有得顯示MPK為公正地抵達(arrived at fairly)的證明(proof)的MPK驗證。
該設定檔密鑰為一設定檔的加密基礎(cryptographic underpinning)。此允許使用者簽署一訊息「作為一身份」並驗證該身份(經由安全詞(Security Words))。
宣告為設定檔簽署且「宣告」為正確之事物的列表。其等包括:
․包含該使用者之身分的裝置之公鑰的列表;
․該使用者承諾接受其進行組態改變之受信任的管理員的列表;
․該使用者之身分的名稱;
․該使用者所創建的任何保全群組的名稱及公鑰;以及
․該使用者所創建之任何保全資料夾的名稱及公鑰。
各宣告被寫出來作為確定性JSON二進大物件(deterministic JSON blob)並使用附加至該結果的複數部分施諾爾簽名(multipart schnorr signature)簽署。這些宣告接著被公開以協助他人協作驗證及分享。
該位置密鑰創建120使用相同之該組裝置創建位置密鑰。該等位置密鑰(公/私鑰對)自2個MPK生成,且該位置公鑰由該檔案加密130使用以加密用於加密一檔案之一進階加密標準(Advanced Encryption Standard ,AES)密鑰,其接著被儲存(例如,儲存於該保全資料夾後端140中)。即,該位置密鑰並非必須綁定至一單一使用者或檔案,而是綁定至單一位置。該位置密鑰創建亦創建一對應之私密位置密鑰,其被分片(sharded,分開(split))於由該設定檔密鑰所辨認之裝置之間並用於解密。該位置密鑰創建120亦創建與包括經分片之加密私密位置密鑰之其他加密資料一同儲存於該保全資料夾後端140的憑證段(credential segments)。因此,當一第二使用者希望存取該位置中的檔案時,該第一使用者可自該檔案獲取這些碎片並使得能夠再分配給第二使用者之設定檔。
換句話說,建立一位置密鑰時,該系統同步建立用於簽署之一配對曲線(BLS)密鑰,以及用於加密的一傳統橢圓曲線密鑰(SECPK)。選擇兩種曲線的目的為解密必須為高性能的,但我們的搜尋系統使用一配對曲線。選擇兩種曲線允許這兩種特性。
在檔案加密130期間,該檔案加密130生成一AES密鑰並將該密鑰與AES伽羅瓦/計數模式(Galois/Counter Mode,GCM)使用以加密一未經加密之檔案。該AES密鑰接著被以用於該經加密之檔案被儲存的位置(例如,保全資料夾後端140)之位置密鑰加密。該檔案加密130使用橢圓曲線集成加密方案(Elliptic Curve Integrated Encryption Scheme,ECIES)或ECIES之閾值式版本。除此之外,該檔案加密130生成包含對於解密該檔案所需要的ePub(臨時公鑰)的一憑證段。憑證及加密檔案兩者可接著被一同儲存於該保全資料夾後段140中的相同檔案中。
解密期間,如同以下將進一步與圖8及圖9被討論,該位置私鑰從未被重組以解密一經加密之檔案。取而代之的是,解密是經由部分解密完成。一第一裝置接收該EPub並使用該EPub及該裝置的碎片計算一部分解密結果。接著,其他裝置以相同方式計算它們的部分解密結果,且皆將它們的結果送回至該請求的起始者(originator)。該起始者將該等部分解密結果組合以建構該原始加密密鑰,其接著被用於解密該等檔案內容。
因此,位置私鑰從未同時位於單一裝置上。解密一檔案時,其不揭露任何與該位置中其他檔案或目錄(directory)有關的資訊。
圖2為顯示用於該位置密鑰加密系統100的設定檔密鑰創建111的方塊圖。一組裝置被辨識為屬於一使用者(例如,筆記型電腦、行動電話、平板等),其等接著被用於在一Boneh–Lynn–Shacham(BLS)曲線上創建一MPK(其將於以下被進一步討論),其生成一閾值密鑰以進行簽署(需要複數(n中之m)個裝置以使用該閾值密鑰進行簽署)。
該系統100使用一MofNop(M of N operation,n中之m作業)系統,亦已知為閾值共識系統(threshold consensus system)。意即,請求需由N個中之M個裝置許可。以加密學而論,只有三種主要種類之MofNop’s:簽署、解密及再分配(redistributing)。
於一MofNop中,各裝置進行一部分計算,其等接著被組合以產生該最終結果。這些部分計算是以使得組合該等部分結果之該(等)裝置不在被特別允許之範圍外獲得任何加密資訊的方式完成。對於簽署及解密,通常只有一個裝置需要產生該最終結果-無論是簽署或解密。
實例:
․添加/移除裝置:使用再分配
․開啟檔案:使用解密
․身份擁有權及宣告之證明:使用簽署
圖3是例示保全群組(Security Groups)的方塊圖。保全群組為具有對一LK(位置密鑰)有存取權的設定檔的集合。當該保全群組(SG)應用於一保全資料夾,所有對該LK有存取權的設定檔將獲得對該保全資料夾內容的存取權。請注意一LK可被用於存取多於一個保全資料夾中的檔案。
在系統100中,檔案是針對一位置密鑰加密,而不是直接對另一使用者設定檔加密。該位置密鑰可被「再分配」至其他設定檔,其將給予它們對該位置密鑰的存取權,即,檔案可被添加至一保全群組。一旦被添加,這些檔案可以藉由解鎖用於加密一檔案之AES密鑰,而以該LK解鎖經加密的檔案。
圖4為顯示與該加密系統100使用之位置密鑰創建系統120的方塊圖。位置密鑰(LKs)為一組2個MPKs(加密及簽署),其被用於加密於儲存位置中的檔案。具體而言,一BLS 公鑰是以用於簽署的一BLS曲線創建,且一secpk密鑰是以用於加密的一secpk曲線創建,其等相組合用於該位置密鑰。
在該檔案加密130期間,該檔案加密130生成一AES密鑰並以AES伽羅瓦/計數模式(GCM)使用該密鑰加密一未經加密檔案。該AES密鑰接著以針對該經加密之檔案被儲存的位置(例如,保全資料夾後端140)之該位置密鑰進行加密。該檔案加密130使用橢圓曲線集成加密方案(ECIES)或ECIES的閾值式版本,將於以下進一步敘述。此外,該檔案加密130生成包含對於解密該檔案所必須的一ePub的一憑證段。該憑證及該經加密之檔案兩者可接著被一同儲存於該保全資料夾後端140的一相同檔案中。
圖5為與該加密系統100使用之例示保全資料夾後端140之方塊圖。該保全資料夾後端包括一份額資料庫(Share database,DB)510、加密資料520、530及經加密之檔案540,亦稱為KAMA檔案。保全資料夾具有附有它們的名稱之證明(proofs)的物件名稱。
一「後端儲存路徑」(backend storage path,通常稱為BEDS)為該等經加密之檔案實際被儲存於磁碟的位置。後端位置可包括雲端儲存位置。
一「金庫(vault)」路徑為一檔案相對於磁碟上經保全之檔案被存取處的安裝點(mount point)的已驗證部分路徑。雖然檔案的原位解密(in-place decryption)是可能的,基於安全原因是不被鼓勵的。取而代之的,檔案是使用虛擬檔案系統存取而從不在磁碟上常駐處被解密(resident decrypted)。
該份額DB為該系統100儲存用於保全資料夾之系統檔案的位置。具體而言,宣告被寫出(written out)至該「碎片db」。此為該份額中的所有使用者可存取(讀取)該資料之公開、未經保全的位置。若一份額db被刪除、毀壞、無效或遺失,若需要的話,一使用者的裝置可簡單重新創建。
已驗證元資料為與一經加密之檔案有關的資訊,諸如其於金庫中的路徑,其被授予(issued)以進行辨識。此資料可被儲存於圖5之經加密的檔案內(例如,檔案540)。此元資料與該等檔案的加密資訊本質地(intrinsically)鏈接,使得其可被與一解密事件直接關聯;因此,其為「已驗證」的。
該系統100獨立加密檔案,意指若一使用者解密一檔案,只有該檔案的內容被暴露而任何其他檔案的內容未被暴露。此稱為「對於靜態資料的保全(security for data at rest)」。該使用者藉由開啟該檔案並允許請求而選擇哪個檔案應為「使用中(in use)」者,而全部其他的資料維持為被保護的。
為了使此成為有意義的選擇,該使用者需要能夠辨識哪個檔案實際上被解密。否則,若該使用者僅點擊以解密一檔案但並非其意欲解密的檔案,其可輕易地於一攻擊的情境下被攻擊漏洞。此辨識資訊被稱為元資料。
元資料在任何敏感的檔案操作,諸如一解密請求期間被顯示。對於經加密的檔案,此將敘述使用者所知道的檔案之路徑,但其亦可包含額外資訊,像是有問題之物件的種類。
當一工作站開始一檔案的一信憑性(creds,解密)請求,其可旁靠(alongside)該請求簡單地傳送一檔案路徑至該手機。此看起來滿足我們的需求,但並未提供實質上的保護。考量到兩個攻擊情境如下:
首先,假設該工作站本身是被完全入侵(如同考量到複數因素保全所必須假設的)。當使用者去打開recipes.docx,被入侵的工作站在内部(under the hood)將解密憑證替換成nukes.xlsx,但將字串「recipes.docx」傳送至手機。基於顯示的內容,該使用者將認為他們解密了正確的檔案,但事實上將解密該攻擊者所選的檔案。
第二,即使該工作站未被入侵,對底層資料儲存(例如網路份額)的存取可能為被入侵的。該攻擊者可以輕易地替換recipes.docx.kama及nukes.xlsx.kama。對於工作站及手機而言,再次地,在解密其他檔案時,看起來像是我們在解密正確的檔案。
因此,為了使元資料為有用的,其應被加密性地被驗證,使得像這樣的替換不可能進行。
安全保證
給予:
․Gpriv, Gpub – 對此儲存位置之該MPK(位置密鑰)的密鑰對(如下所述)
․Epriv, Epub – 對於該位置中之給定檔案的臨時密鑰對(ephemeral keypair)(與此處所述的ECIES一同使用)
․meta – 對該檔案的一些敘述性元資料
該系統100應確保:
․對於該元(meta)的有效簽名僅可以下列情形創建或修改:
1. 對Epriv的存取 – 由於此為短暫的,此僅在物件創建的時間附近適用*
2. Gpriv之裝置擁有者的閾值數(threshold number)之同意 – 此為一mofnop
․該元簽名可以根據給定的元、Gpub 和 Epub 進行驗證
․由於這些值被用於解密(及其他重要的操作,像是搜尋),該簽名是與Epub及Gpub有緊密(inextricably)的連結
請注意雖然Epriv從未在創建後重建,由於在該情形中你可以輕易創建一新的臨時密鑰對,該系統100可支持「單一裝置重新命名」(不需要mofnop)對解密密鑰給予存取。
實際上,這意味著可以通過三種方式創建有效的經驗證元資料:
[1.a.]藉由以新的加密密鑰創建一新的檔案,在該情形中你只能欺騙自己。
[1.a.]藉由對該加密密鑰具有存取權(例如,在加密mofnop後)及創建一新的密鑰對 – 這是一個緩存密鑰(catched-key)重命名。若你已經具有該密鑰,你沒有理由「偽造」該元資料。
[1.b.]藉由對裝置之閾值數值具有存取權並進行重新命名mofnop。若你有能力進行mofnop,你也可以逕自解密該檔案。
對於該檔案系統中的元資料,該系統100始於給定版台(given bed,「儲存位置」、「保全容器(security container)」)的根(root),其是與加密其中檔案之該位置密鑰(LK)直接相關。LK 被視為階層(hierarchy)頂部的「特殊物件」。它之下為檔案和目錄,它們都是「普通物件」,這表示著它們具有臨時密鑰對。請注意:這將系統 100 描述為與檔案一起使用,但也可以輕易地應用於任何其他階層資料儲存(甚至是平面資料儲存)。
各普通物件具有以下一或多個欄位的元資料:
․名稱:基本檔案名或目錄名
․Parent_epub:由其Epub辨識之親項(parent)
․Tag:額外資訊像是「檔案」或「dir」
․lkid:用於位於版台之根的目錄物件,這表示「此為 LK 中我所表示者(this in the LK I represent)」
該位置密鑰具有由lk_meta宣告所界定的自身元資料,該lk_meta宣告給予其名稱。實務上,此將為在該虛擬檔案系統中通往版台的路徑。
實例:
․在Work/Dropbox創建新的板床,其映射(map)至~/.atakama/dropbox [lkid=lk0]
․該lk_meta decl是以名稱「/Work/Dropbox」製作
․該目錄物件是在該根(~/.atakama/dropbox/.atakama_dir.kama) [epub=ep0]處製作
1. Meta = {lkid=lk0}
․創建目錄:/Work/Dropbox/sub
․一目錄物件在~/.atakama/dropbox/sub/.atakama_dir.kama [epub=ep1]處製作
․Meta = {parent_epub=ep0, name=”sub”}
․創建檔案:/Work/Dropbox/sub/file.doc
․該加密檔案在~/.atakama/dropbox/sub/file.doc.kama [epub=ep2]製作
1. Meta = {parent_epub=ep1, name=”file.doc”}
․Mofnop該檔案
․創建顯示字串:「/Work/Dropbox」+「sub」+「file.doc」=「Work/Dropbox/sub/file.doc」
一LK實際上由分開的EC曲線中的2個MPK組成(在當前實施方式中):
․secp256k1 – 用於ECIES加密
․bls12_381 – 用於群組簽署及搜尋
當起始創建該物件,該系統100具有用於兩條曲線的臨時密鑰對並用它們中的每一個對元資料進行簽署。這允許系統100在任一曲線上的密碼操作的狀況下驗證元資料。例如,在信憑性請求中,我們關心secp256k1簽署,但在搜尋中(如果搜尋請求顯示文件元資料),我們希望驗證 bls12_381簽署。
當一檔案是由mofnop重新命名(mofnop-renamed),臨時密鑰簽署被丟棄而選擇由 bls12_381組密鑰創建的簽署。在這種情況下,簽署資料必須包括兩條曲線上的臨時公鑰,以便與加密材料建立明確的連結。
當一保全資料夾(SF)被初次創建,一特定組之憑證被儲存於該SF的根中。該SF中的子憑證將指向那些根憑證-依此類推,具有次資料夾-用以創建階層。當其創建或加入該SF時,該根憑證由一設定檔於一sf_meta宣告中簽署。此允許各檔案對該SF具有其獨自的名稱,而該根信憑性(root creds)被分享。
該份額DB 510包括對於各設定檔,由該設定檔密鑰簽署之經簽署的宣告。舉例而言,如果兩個設定檔(對應於兩個使用者及其等之裝置群組)具有存取權,接著兩組宣告將被儲存於DB 510中。簽署需要複數個經宣告之裝置(例如,N個裝置中的M個)。該DB 510中之宣告辨識經宣告之裝置及用於使用者的元資料(例如,真實世界之名稱)。請注意由於他們是公開的,這些宣告可位於任何地方,但為了方便敘述,其等顯示於份額510中。另一宣告(現已顯示)可為一MPK驗證-顯示MPK 是被公正地衍生(derived fairly)的工作證明。其他宣告亦可被儲存於該DB 510中。
儲存於保全資料夾後端140中之保全資料夾的該加密資料包括.lk_creds 520及.lk_signing 530,其等為以該(等)位置密鑰簽署的憑證段。請注意由於該位置密鑰為一閾值式密鑰,需要複數個(例如N個裝置中的M個)以簽署一憑證段。該等憑證段包括由該secpk密鑰簽署的憑證及由該位置密鑰之BLS密鑰簽署的憑證。該等憑證包括該secpk密鑰及BLS密鑰之私鑰的經加密之份額(碎片),其允許將該等私鑰再分配至新的使用者設定檔,如2020年10月1日申請之美國發明專利申請案第17/060,734號中所敘述者,該案藉由參照的方式被併入本文中。
在一實例中,.lk_creds 520包含3個分開的設定檔P1G1、P2G1,及P3G1。即設定檔1、2及3以及每個設定檔的裝置之群組1。一設定檔亦可包括與一第一群組重疊或完全分離的第二群組之裝置,例如,P1G2。在此實例中,由於有3個設定檔,3個使用者對由該位置密鑰創建120所作成的此位置密鑰有存取權。因此,與其需要各檔案之加密憑證,在一位置內加密憑證可對所有檔案為有效的。
該等經加密之檔案540包括由該檔案加密生成之經加密檔案加上包括用以加密該檔案之該AES對稱密鑰及對於解密之ECIES程序所需的一epub的憑證段。
圖6為顯示該加密系統100之檔案加密系統130的方塊圖。該系統130生成一AES密鑰並使用該ARS公鑰加密一檔案,其接著被儲存於保全資料夾末端140。此外,對應於該經加密之檔案被儲存處的位置密鑰被用於ECIES加密該AES私鑰。經加密之AES私鑰及稍後解密該檔案所需的一epub與該經加密之檔案一同儲存(例如可附加於該經加密之檔案)。
圖7為顯示該檔案加密系統130之閾值式橢圓曲線集成加密方案(ECIES)加密系統的方塊圖。在所有時候,共享一個臨時公鑰的任何時候,它都會與一個秘密證明密鑰(proof-of-secret key)一起共享。在執行任何操作之前都會對此進行驗證。在所有時候毎當共享一裝置或群組公鑰(Group Public Key)時,它都會與工作量證明和秘密證明密鑰一起共享。這些總是在使用前經過驗證。
群組裝置為群組加密資料:
․臨時密鑰e被隨機生成;
․群組pubkey gpub與臨時私鑰相乘(multiplied)(結果可以曲線G* epriv 之gPriv *生成點(Generator point)表示);
․該結果值為該群組及該臨時密鑰之間的「分享祕密(Shared Secret)」;
․一AES密鑰是衍生自分享祕密的一Sha512;
․輸入資料使用該衍生之密鑰進行AES加密;且
․該經加密之資料及該臨時公鑰被返還至呼叫者
圖8為顯示檔案加密系統800的方塊圖。該系統800擷取包括憑證段及該加密之資料的檔案540。該系統800接著使用利用了ECIES解密810之該epub解密經加密之AES密鑰,如連同圖9將進一步敘述者。使用該AES密鑰,該系統800接著解密檔案。
圖9為與該檔案解密系統800使用之閾值式ECIES解密系統810的方塊圖。該系統810使用一閾值式密鑰,使得用於解密的該私鑰不存在於任何單一裝置上。取而代之的是,部分解密是使用該私鑰的部分完成,如以下所敘述者。該由相關設定檔所界定之群組(N個裝置中的M個)是用於為一裝置解密資料:
․MofNop 是在init中使用臨時公鑰(epub)創建的。
․各允許的裝置取得該epub並將其乘以它們的gPrivPart以計算它們的分享祕密部分(該位置密鑰是由2個MPKs組成。該「gPrivPart」是該等MPKs之一者的碎片)。
․各允許裝置接著將包括它們計算之該分享祕密部分的一mofnop回應回傳
․原始裝置可接著取出M個分享祕密部分並將它們組合以計算該分享祕密
․該AES密鑰衍生自該分享祕密的一Sha512
․經加密之輸入資料使用該衍生之AES密鑰進行AES解密
․未加密之資料被返還至呼叫者
圖10A、B及C為顯示複數方密鑰生成系統1000的方塊圖。複數方密鑰(mpk)為用於複數裝置以生成一公/私鑰對,而沒有任何單一裝置獲得該私鑰的系統。此將用於在就定位(onboarding)後創建任何單詞、創建設定檔密鑰和位置密鑰。
該流程是如下所述:
․每個裝置都會骰出(rolls)一個隨機數。這是他們的私鑰部分。
․每個裝置自他們的私鑰部分衍生一公鑰部分。
․每個裝置將它們的公鑰部分分片並將此承諾傳送至每個其他的裝置。
․一旦一裝置具有其所預期的所有承諾,其送出它的公鑰部分。
․再驗證它們與它們的承諾匹配後,該工作站使用該M個公鑰部分以計算一mpk之公開部分。
․若需要的話,該私鑰(其從未被建構)被重新分配至該群組中的所有N個裝置。
概念上來說,與其是該工作站生成一分享祕密並將其分配給裝置,各裝置生成本身的份額,生成一「默認」的秘密。
因此各裝置生成一隨機數字,privi。
自此它們衍生一公鑰,pubi=privi*G,其中G為ECC中的生成器(generator)。自這些公開部分,該ws可使用該陷門函數(trapdoor function)以生成該公鑰。此公鑰是從使用沙米爾之秘密分享(Shamir’s Secret Sharring,SSS)與privy所衍生者相同。
重建該公鑰是與搜尋在數學上相同。基於這個原因,該功能(kata.vsss_reconstruct_hash)被用於建構該公鑰。
該特徵需要在設備之間進行大量具有大幅等待時間的通訊。基於這個原因,該起始mofnop並不進行任何實際上的工作。它只是集合即將創建該密鑰的裝置之列表(並且內隱地確認使用者現在具有足夠的裝置以製作一mpk)。所有的實際工作發生於該mofnop外的其他訊息(mpk_pubpart)中。
對於位置密鑰(LKs),各位置具有一加密該位置中的所有AES密鑰之公/私鑰對,及將主要用於元資料操作之分開的公/私鑰對。對該位置具有存取權的每個群組被給予可重建該私鑰之碎片。(請注意系統100從未重建該私鑰)。
該
MPK
群組的形成
– [
第一回
-
階段
1]
一MPK群組自一組裝置中被選擇。該MPK群組中的裝置數量等於該原始裝置群組之安全閾值。此MPK群組將被用於以座標 (coordinated)的方式重建該複數方密鑰。
私有部分生成及承諾傳輸
– [
第一回
-
階段
2]
(每個裝置):
․裝置骰出一隨機數,其作為該MPK的私有部分。
․裝置對本身加密私有部分並將其儲存於其資料庫中
․裝置衍生對應於其私有部分之MPK的公開部分。此亦儲存於該資料庫中。
․裝置將其公開部分的值分片以創建一承諾。此承諾將作為公鑰在後階段(later phase)期間未被惡意選擇的證明。(經選擇公鑰攻擊)
․裝置對該MPK群組中的所有其他裝置傳送其承諾的副本。
公開及經加密私有部分的傳輸
– [
第二回
–
階段
1]
(每個裝置):
․在繼續進行前,裝置等待接收所有其他裝置之承諾。此確保每個裝置已經選擇一公鑰且對其承諾。
․裝置在使用自己的公鑰對其進行加密後,將其 MPK 的私有部分發送給各個其他的裝置。這是為了備份的目的。在該流程的最後,每個裝置都應具有 MPK 群組中所有其他裝置的備份憑證(backup credentials)。
․裝置向私有部分發送一個承諾(如 g^[part])。這用於重新分發期間的驗證。
․裝置將其 MPK 的公共部分發送給其他裝置。該公共部分由對應的私鑰簽名。 (擁有證明/密鑰證明)
公共部分驗證、公鑰組裝、憑證段組裝
– [
第二回
–
階段
2]
(每個裝置):
在接收到所有其他裝置的加密私有部分和私有部分承諾後,裝置會將它們組裝在一起作為一組憑證,我們稱之為 MPK 憑證段。(請注意:這是2018 年 8 月 21 日申請之美國發明專利申請案第16/106,564號描述的vsss分片集(shardset),其藉由參照的方式被併入本文中。)
在接收到所有其他裝置的公共部分之後,裝置將驗證該承諾與公共部分匹配。這是通過分片公共部分並檢查與之前發送的承諾的相等性(equivalence)來完成的。
在驗證所有的公共部分之後,裝置將通過組合所有公共部分來組裝完整的MPK公鑰。
與其他裝置交易(
dealing
)
- [
第二回
-
階段
3]
請注意此階段僅適用於MPK群組具有比原始裝置群組少的裝置的情況。
工作站將從MPK群組原始裝置群組起始一重新分配。此重新分配的完成是為了使原始群組中的所有裝置都將獲得MPK中的份額。這是通過將現有MPK憑證(M=N)重新分配到完整群組(M<N)來完成的。
宣告及
MPK
簽署
一
MPK
簽署
宣告是由設定檔密鑰以閾值式方式簽署的一些資料的用語。宣告實質上表明設定檔所需的裝置之閾值已同意一起簽署一段資料(a piece of data)。
設定檔密鑰創建期間的宣告
由於不需要外部資訊,設定檔密鑰宣告可在設定檔之創建期間建構。該等宣告部分將在MPK創建的公共/私有部分傳輸階段在裝置之間傳輸。
設定檔元資料
對應於設定檔本身且包含該設定檔名稱的任何一組元資料。
活動群組(
active group
)
代表形成設定檔的裝置組並包含活動群組字典(Active group dictionary)和保全閾值(Security threshold)的當前群組配置(current group config)。
企業配置
如果工作站就定位並存在企業配置,則該宣告被寫入。
表示該設定檔的原始企業配置。這允許裝置確定它們是否應該接受更新的配置並包含企業配置。
位置密鑰創建期間的宣告
在創建位置密鑰MPK之後建構位置密鑰宣告。這是因為在簽署中使用了位置密鑰 MPK標識符(identifier)本身。宣告部分將在最終確定階段
創建位置密鑰後傳輸。
MPK
驗證
SECPK
表示設定檔信任位置密鑰的SECPK MPK部分並且包含: secpk mpk公鑰的哈希ID(hash id); mpk 類型;和驗證深度。
MPK
驗證
BLS
與SECPK相同
位置密鑰元資料
對應於位置密鑰本身的任何元資料集,例如位置密鑰名稱;secpk mpk公鑰的哈希id及bls mpk公鑰的哈希id。
圖11為顯示再分配系統1100的方塊圖。該系統1100使用可驗證私密分享(Verifiable Secret Sharing,VSS)演算法之執行以「再分配」一秘密的該等份額或「碎片」而不需要在過程中暴露該秘密。此過程主要在自一設定檔添加或移除裝置時使用,然而,其亦可用於提供對其他設定檔的存取權。圖11顯示了重新分配給保全群組所有成員的位置密鑰份額。再分配在2020年10月1日申請之美國發明專利申請案第17/060,734中更詳細解釋,該申請案藉由參照的方式被併入本文中。
圖12 – 14顯示直接分享。具體而言,圖12顯示顯示了一存取權提供系統1200的方塊圖;圖13為顯示一組合及解密系統1300的方塊圖;而圖14為顯示再加密系統1400的方塊圖。除了圖11之基於保全群組之分享,該系統1100亦支持不使用任何中間位置密鑰或保全群組的顯式(設定檔到設定檔)共享。
圖15為顯示加密之方法1500的流程圖。首先,於方塊1510中並如上所述,一組裝置被辨認(例如,由使用者選擇),且一不對稱設定檔密鑰使用該組裝置被創建(或生成)。接著,於方塊1520中,該設定檔密鑰被用於簽署元資料之宣告並辨識該組裝置,其等接著被儲存於公共位置中。於方塊1530,一位置密鑰(對於經加密之檔案將被儲存處的位置)使用橢圓曲線被創建並包含兩個MPK – 一secpk密鑰及一BLS密鑰。於方塊1540中,這些被生成並儲存作為憑證段。接著,於方塊1550處,一對稱密鑰使用AES-GCM創建。該對稱密鑰接著於方塊1560中被用於加密一檔案並於方塊1580中儲存於對應至該位置密鑰的位置。此外,於方塊1570,該對稱密鑰以該位置密鑰進行ECIES加密,且於方塊1580處,經加密之對稱密鑰及epub被與該經加密之檔案一同儲存。
圖16為顯示解密之方法1600的流程圖。於方塊1610處,該經加密之對稱密鑰及epub被擷取(例如,自儲存我們希望解密之經加密資料的檔案擷取)。接著,於方塊1620,該對稱密鑰使用閾值式ECIES、以位置密鑰及epub被閾值式解密(N之M操作)。於方塊1630,該檔案接著以經解密之對稱密鑰解密。
圖17為可操作以實行所揭露之實施例的態樣的計算裝置1700的方塊圖。該計算裝置1700可為一通用電腦或特別設計以執行系統100之特徵。該計算裝置1700可為一發端裝置(originating device)、中繼伺服器或委派裝置(delegate device),其可以,例如,片上系統(system-on-chip ,SOC)、單板電腦(single-board computer,SBC)系統、伺服器、桌上型或筆記型電腦、資訊站(kiosk)、大型電腦(mainframe)、電腦系統網格(a mesh of computer systems)、手持行動裝置,或其等之組合的形式實施。
該計算裝置1700可以是獨立裝置或跨越多個網路、位置、機器或其組合的分佈式系統的一部分。在一些實施例中,計算裝置1700在客戶端-伺服器網路環境中作為伺服器電腦(例如,中繼伺服器)或客戶端裝置(例如,發端裝置、委派裝置)運作,或者作為同級間(peer-to-peer system)系統中的同級機(peer machine)運作。在一些實施例中,計算裝置1700可以即時、近即時、離線、通過批次處理或其等的組合來執行所揭露之實施例的一個或多個步驟。
如所示,計算裝置1700包括可操作以在硬體組件之間傳送資料的匯流排1702。這些組件包括一控制器1704(即,處理系統)、一網路介面1706、一輸入/輸出(I/O)系統1708,及一計時系統1710。計算裝置1700可包括為了簡潔而未顯示或未進一步討論之其他組件。本發明所屬技術領域中具有通常知識者將了解任何被包括但未顯示於圖17中的硬體及軟體。
該控制器1704包括一或多個處理器1712(例如,中央處理單元(CPUs)、特殊應用積體電路(application specific integrated circuits ,ASICs),及/或場域可程式閘陣列(field programmable gate arrays,FPGAs))及記憶體1714(其可包括軟體1716)。該記憶體1714可包括,例如,揮發性記憶體諸如隨機存取記憶體(random-access memory,RAM)及/或非揮發性記憶體諸如唯讀記憶體(read-only memory,ROM)。該記憶體1714可為本地、遠程或分散的。
一軟體程式(例如,軟體1716),當稱為「於一電腦可讀儲存媒體中實施」係包括儲存於一記憶體中之電腦可讀指令(例如,記憶體1014)。當至少一個與該軟體程式相關聯的值被儲存於可由該處理器讀取的一暫存器中,一處理器(例如,處理器1012)為「被組態以執行一軟體軟體程式」。於一些實施例中,例行執行以實施被揭露之實施例者可作為操作系統(OS)軟體(例如,Microsoft Windows, Linux)或被稱為「電腦程式」之一特定軟體應用程式、組件、程式、物件、模組或指令的序列的部分加以實施。
如此一來,電腦程式通常包括在不同時間在電腦(例如,計算設備1700)的各種記憶體裝置中設定的一個或多個指令,並且當被至少一個處理器(例如,處理器1712)讀取和執行時,這些指令使電腦執行操作以執行涉及所揭露之實施例的各個態樣的特徵。在一些實施例中,提供了包含上述電腦程式產品的載體。載體是電子訊號、光訊號、無線電訊號或非暫態電腦可讀儲存媒體(例如,記憶體1714)中的一種。
網路介面1706可包括數據機(modem)或其他介面(未圖示),用以例如通過網路1724將計算裝置1700耦合到其他電腦。I/O系統1708可操作以控制各種I/O裝置,包括週邊裝置,例如顯示系統1718(例如,監視器或觸控感應顯示器)及一個或多個輸入裝置1720(例如,鍵盤及/或指向裝置(pointing device))。其他I/O裝置1722可包括例如磁碟驅動器、印表機、掃描機等。最後,計時系統1710控制計時器以供所揭露之實施例使用。
記憶體裝置(例如,記憶體1714)的操作,諸如從二進制一到二進制零(或反之亦然)的狀態改變可包括視覺上可感知的物理變換。變換可以包括將物件物理變換成不同的狀態或事物。舉例而言,狀態變化可能涉及電荷的累積及儲存或儲存之電荷的釋放。同樣地,狀態變化可包括磁性方向的物理變化或轉變,或分子結構的物理變化或轉變,諸如從結晶到非晶質或反之亦然。
以下實例描述了此處所討論的方法、機器可讀取媒體及系統(例如,機器、裝置或其他設備)的各種實施例。
1. 一種加密方法,包含:
使用一組使用者裝置創建包含一複數部分閾值密鑰的一非對稱設定檔密鑰;
使用該非對稱設定檔密鑰及該組使用者裝置簽署一宣告,該宣告辨識該組使用者裝置;
創建包含兩個複數部分閾值密鑰的一非對稱位置密鑰;
分片及儲存該非對稱位置密鑰;
創建一對稱密鑰;
以該對稱密鑰加密一檔案;
以該非對稱位置密鑰加密該對稱密鑰;以及
儲存經加密之檔案及經加密之對稱密鑰,使得該經加密之檔案在未藉由該組使用者裝置之一閾值解密該非對稱位置密鑰時無法被解密。
2. 實例1的方法,其中該非對稱位置密鑰的該等兩個複數部分閾值密鑰是以不同橢圓曲線生成。
3. 前述任何實例的方法,其中該非對稱位置密鑰的該等兩個複數部分閾值密鑰的其中一個是用於簽署,且該非對稱位置密鑰的該等兩個複數部分閾值密鑰的第二個是用於加密該對稱密鑰。
4. 前述任何實例的方法,其中該檔案的該加密使用進階加密標準-伽羅瓦/計數模式(AES-GCM)且該位置密鑰的該加密使用橢圓曲線集成加密方案(ECIES)以進一步生成一epub。
5. 前述任何實例的方法,其中三個複數部分閾值密鑰是藉由該組使用者裝置之各裝置所生成:
生成一私鑰部分;
自該私鑰部分衍生一公鑰部分;
散列該公鑰部分並將該散列傳輸至該組使用者裝置之其他裝置;
接收其他裝置之公鑰部分的散列;
接收所有預期之散列後,傳輸其公鑰部分至其他裝置;
自其他裝置接收公鑰部分;
驗證接收之散列匹配接收之公鑰部分;以及
計算該複數部分閾值密鑰之一公共部分。
6. 前述任何實例的方法,進一步包含以其自身公鑰加密該私鑰部分並傳輸經加密之私鑰部分及關聯之散列至其他裝置。
7. 前述任何實例的方法,其中傳輸其公鑰部分至其他裝置包括以對應之私鑰部分簽署該公鑰部分。
8. 前述任何實例的方法,其中經加密之對稱密鑰及經加密之檔案被一同儲存。
9. 前述任何實例的方法,進一步包含:
擷取經加密之對稱密鑰;
使用該組使用者裝置之N個中的M個以該非對稱位置密鑰之碎片對該對稱密鑰進行閾值式解密;以及
以經閾值式解密之對稱密鑰解密經加密之檔案。
10. 前述任何實例的方法,其中該閾值式解密使用閾值ECIES及對應至經加密之對稱密鑰的一epub。
11. 前述任何實例的方法,其中該非對稱位置密鑰在該閾值式解密期間未被重組。
12. 前述任何實例的方法,其中該閾值式解密是解密該非對稱位置密鑰之碎片以部分解密個別的對稱密鑰部分並自該等對稱密鑰部分重組該對稱密鑰。
13. 前述任何實例的方法,進一步包含生成描述與該epub加密性相關之檔案的元資料,使得其可在執行分散式閾值解密時被驗證。
14. 前述任何實例的方法,其中該元資料包括對底層資料(underlying data)的視覺可辨認之描述符。
15. 一種非暫態電腦可讀取媒體,其具有儲存於其上的指令以導致至少一處理器執行一方法,該方法包含:
使用一組使用者裝置創建包含一複數部分閾值密鑰的一非對稱設定檔密鑰;
使用該非對稱設定檔密鑰及該組使用者裝置簽署一宣告,該宣告辨識該組使用者裝置;
創建包含兩個複數部分閾值密鑰的一非對稱位置密鑰;
分片及儲存該非對稱位置密鑰;
創建一對稱密鑰;
以該對稱密鑰加密一檔案;
以該非對稱位置密鑰加密該對稱密鑰;以及
儲存經加密之檔案及經加密之對稱密鑰,使得該經加密之檔案在未藉由該組使用者裝置之一閾值解密該非對稱位置密鑰時無法被解密。
16. 一種系統,其包含:
至少一處理器;以及
一非暫態電腦可讀取媒體,其具有儲存於其上之指令以導致該至少一處理器執行一方法,該方法包含:
使用一組使用者裝置創建包含一複數部分閾值密鑰的一非對稱設定檔密鑰;
使用該非對稱設定檔密鑰及該組使用者裝置簽署一宣告,該宣告辨識該組使用者裝置;
創建包含兩個複數部分閾值密鑰的一非對稱位置密鑰;
分片及儲存該非對稱位置密鑰;
創建一對稱密鑰;
以該對稱密鑰加密一檔案;
以該非對稱位置密鑰加密該對稱密鑰;以及
儲存經加密之檔案及經加密之對稱密鑰,使得該經加密之檔案在未藉由該組使用者裝置之一閾值解密該非對稱位置密鑰時無法被解密。
17. 如前述任何實例的系統,其中該非對稱位置密鑰的該等兩個複數部分閾值密鑰是以不同橢圓曲線生成。
18. 如前述任何實例的系統,其中該非對稱位置密鑰的該等兩個複數部分閾值密鑰的其中一個是用於簽署,且該非對稱位置密鑰的該等兩個複數部分閾值密鑰的第二個是用於加密該對稱密鑰。
19. 如前述任何實例的系統,其中該檔案的該加密使用進階加密標準-伽羅瓦/計數模式(AES-GCM)且該非對稱位置密鑰的該加密使用橢圓曲線集成加密方案(ECIES)以近一步生成一epub。
20. 如前述任何實例的系統,其中三個複數部分閾值密鑰是藉由該組使用者裝置之各裝置所生成:
生成一私鑰部分;
自該私鑰部分衍生一公鑰部分;
散列該公鑰部分並將該散列傳輸至該組使用者裝置之其他裝置;
接收其他裝置之公鑰部分的散列;
接收所有預期之散列後,傳輸其公鑰部分至其他裝置;
自其他裝置接收公鑰部分;
驗證接收之散列匹配接收之公鑰部分;以及
計算該複數部分閾值密鑰之一公共部分。
21. 如前述任何實例的系統,進一步包含以其自身公鑰加密該私鑰部分並傳輸經加密之私鑰部分及關聯之散列至其他裝置。
22. 如前述任何實例的系統,其中傳輸其公鑰部分至其他裝置包括以對應之私鑰部分簽署該公鑰部分。
23. 如前述任何實例的系統,其中經加密之對稱密鑰及經加密之檔案被一同儲存。
24. 如前述任何實例的系統,進一步包含:
提取經加密之對稱密鑰;
使用該組使用者裝置之N個中的M個以該非對稱位置密鑰之碎片對該對稱密鑰進行閾值式解密;以及
以經閾值式解密之對稱密鑰解密經加密之檔案。
25. 如前述任何實例的系統,其中該閾值式解密使用閾值ECIES及對應至經加密之對稱密鑰的一epub。
26. 如前述任何實例的系統,其中該非對稱位置密鑰在該閾值式解密期間未被重組。
27. 如前述任何實例的系統,進一步包含生成描述與該epub加密性相關之檔案的元資料,使得其可在執行分散式閾值解密時被驗證。
28. 如前述任何實例的系統,其中該元資料包括對底層資料的視覺可辨認之描述符。
所揭露之實施例的態樣可以根據儲存在記憶體上的資料位元(data bit)的操作的演算法和符號表示之觀點加以敘述。這些演算法敘述及符號表示通常包括導致一所欲結果的一系列操作。該等操作需要物理量(physical quantities)的實體操縱。通常,雖然並非必要的,這些量以能被儲存、傳送、組合、比較及以其他方式操縱之電性或磁性訊號的形式存在。通常,為方便起見,這些訊號被稱為位元(bits)、值、元素、符號、字符、用語、數字等。這些及類似的用語與物理量相關聯,只是應用於這些量的方便性標籤。
儘管已經在功能齊全的電腦的狀況下描述了實施例,但是本發明所屬技術領域中具有通常知識者將理解各種實施例能夠以各種形式作為程式產品分布,並且無論是否是何種用於實際實現實施例的特定類型的機器或電腦可讀取媒體,本揭露內容同樣適用。
雖然本揭露內容是以數個實施例的方式敘述,本發明所屬技術領域中具有通常知識者將認知到本揭露內容未受限於此處所述的實施例且可以在本發明的精神及範圍內的修飾及替換下實施。本發明所屬技術領域中具有通常知識者亦將認知到對本揭露內容之實施例的改良。所有這些改良被認定落於此處所揭露的申請專利範圍的範圍內。因此,該揭露內容的敘述被認為是說明性而非限制性的。
100:系統
111:設定檔密鑰創建
120:位置密鑰創建
130:檔案加密
140:保全資料夾後端
510:份額資料庫
520:加密資料
530:加密資料
540:經加密之檔案
800:系統
810:系統
1000:系統
1200:存取權提供系統
1300:組合及解密系統
1400:再加密系統
1500:加密之方法
1510:方塊
1520:方塊
1530:方塊
1540:方塊
1550:方塊
1570:方塊
1580:方塊
1600:解密之方法
1610:方塊
1620:方塊
1630:方塊
1700:計算裝置
1702:匯流排
1704:控制器
1706:網路介面
1708:輸入/輸出系統
1710:計時系統
1712:處理器
1714:記憶體
1716:軟體
1718:顯示系統
1720:輸入裝置
1722:其他I/O裝置
1724:網路
本發明的一或多個實施例將藉由實例顯示,且並未受限於隨附圖式的視圖,其中相似元件編號代表相似的元件。
圖1為顯示用以實施一位置密鑰加密系統之系統的方塊圖。
圖2為顯示用於位置密鑰加密系統之設定檔密鑰創建(profile key creation)的方塊圖。
圖3為例示保全群組(security groups)的方塊圖。
圖4為顯示與該位置密鑰加密系統使用之一位置密鑰創建系統的方塊圖。
圖5為與該位置密鑰加密系統使用之例示保全資料夾後端(secure folder backend)的方塊圖。
圖6為顯示該位置密鑰加密系統之檔案加密系統的方塊圖。
圖7為顯示該檔案加密系統之橢圓曲線集成加密方案(Elliptic Curve Integrated Encryption Scheme,ECIES)加密系統的方塊圖。
圖8為顯示一檔案加密系統的方塊圖。
圖9為與該檔案加密系統使用之ECIES加密系統的方塊圖。
圖10A、B及C為顯示一多方(multi-party)密鑰生成系統的方塊圖。
圖11為顯示一再分配(redistribution)系統的方塊圖。
圖12為顯示一存取提供(access provision)系統的方塊圖。
圖13為顯示一組合及解密系統的方塊圖。
圖14為顯示一再加密(re-encrypt)系統的方塊圖。
圖15為顯示一加密方法的流程圖。
圖16為顯示一解密方法的流程圖;以及
圖17為可操作以實施所揭露之實施例的態樣的電腦裝置的方塊圖。
100:系統
111:設定檔密鑰創建
120:位置密鑰創建
130:檔案加密
140:保全資料夾後端
Claims (27)
- 一種加密方法,其包含: 使用一組使用者裝置創建包含一複數部分閾值密鑰的一非對稱設定檔密鑰; 使用該非對稱設定檔密鑰及該組使用者裝置簽署一宣告,該宣告辨識該組使用者裝置; 創建包含兩個複數部分閾值密鑰的一非對稱位置密鑰; 分片(sharding)及儲存該非對稱位置密鑰; 創建一對稱密鑰; 以該對稱密鑰加密一檔案; 以該非對稱位置密鑰加密該對稱密鑰;以及 儲存經加密之檔案及經加密之對稱密鑰,使得該經加密之檔案在未藉由該組使用者裝置之一閾值解密該非對稱位置密鑰時無法被解密。
- 如請求項1所述之方法,其中該非對稱位置密鑰的該等兩個複數部分閾值密鑰是以不同橢圓曲線生成。
- 如請求項2所述之方法,其中該非對稱位置密鑰的該等兩個複數部分閾值密鑰的其中一個是用於簽署,且該非對稱位置密鑰的該等兩個複數部分閾值密鑰的第二個是用於加密該對稱密鑰。
- 如請求項1所述之方法,其中該檔案的該加密使用進階加密標準-伽羅瓦/計數模式(AES-GCM)且該非對稱位置密鑰的該加密使用橢圓曲線集成加密方案(ECIES)以進一步生成一臨時公鑰(epub)。
- 如請求項1所述之方法,其中三個複數部分閾值密鑰是藉由該組使用者裝置之各裝置所生成: 生成一私鑰部分; 自該私鑰部分衍生一公鑰部分; 散列(hashing)該公鑰部分並將該散列(hash)傳輸至該組使用者裝置之其他裝置; 接收其他裝置之公鑰部分的散列; 接收所有預期之散列後,傳輸其公鑰部分至其他裝置; 自其他裝置接收公鑰部分; 驗證接收之散列匹配接收之公鑰部分;以及 計算該複數部分閾值密鑰之一公共部分。
- 如請求項5所述之方法,進一步包含以其自身公鑰加密該私鑰部分並傳輸經加密之私鑰部分及關聯之散列至其他裝置。
- 如請求項5之方法,其中傳輸其公鑰部分至其他裝置包括以對應之私鑰部分簽署該公鑰部分。
- 如請求項1之方法,其中經加密之對稱密鑰及經加密之檔案被一同儲存。
- 如請求項1所述之方法,進一步包含: 提取經加密之對稱密鑰; 使用該組使用者裝置之N個中的M個以該非對稱位置密鑰之碎片(shard)對該對稱密鑰進行閾值式解密;以及 以經閾值式解密之對稱密鑰解密經加密之檔案。
- 如請求項9之方法,其中該閾值式解密使用閾值ECIES及對應至經加密之對稱密鑰的一臨時公鑰。
- 如請求項10之方法,其中該非對稱位置密鑰在該閾值式解密期間未被重組。
- 如請求項4所述之方法,進一步包含生成描述與該臨時公鑰加密性相關之檔案的元資料,使得其可在執行分散式閾值解密時被驗證。
- 如請求項12所述之方法,其中該元資料包括對底層資料(underlying data)的視覺可辨認之描述符。
- 一種非暫態電腦可讀取媒體,其具有儲存於其上的指令以導致至少一處理器執行一方法,該方法包含: 使用一組使用者裝置創建包含一複數部分閾值密鑰的一非對稱設定檔密鑰; 使用該非對稱設定檔密鑰及該組使用者裝置簽署一宣告,該宣告辨識該組使用者裝置; 創建包含兩個複數部分閾值密鑰的一非對稱位置密鑰; 分片及儲存該非對稱位置密鑰; 創建一對稱密鑰; 以該對稱密鑰加密一檔案; 以該非對稱位置密鑰加密該對稱密鑰;以及 儲存經加密之檔案及經加密之對稱密鑰,使得該經加密之檔案在未藉由該組使用者裝置之一閾值解密該非對稱位置密鑰時無法被解密。
- 一種系統,其包含: 至少一處理器;以及 一非暫態電腦可讀取媒體,其具有儲存於其上之指令以導致該至少一處理器執行一方法,該方法包含: 使用一組使用者裝置創建包含一複數部分閾值密鑰的一非對稱設定檔密鑰; 使用該非對稱設定檔密鑰及該組使用者裝置簽署一宣告,該宣告辨識該組使用者裝置; 創建包含兩個複數部分閾值密鑰的一非對稱位置密鑰; 分片及儲存該非對稱位置密鑰; 創建一對稱密鑰; 以該對稱密鑰加密一檔案; 以該非對稱位置密鑰加密該對稱密鑰;以及 儲存經加密之檔案及經加密之對稱密鑰,使得該經加密之檔案在未藉由該組使用者裝置之一閾值解密該非對稱位置密鑰時無法被解密。
- 如請求項15所述之系統,其中該非對稱位置密鑰的該等兩個複數部分閾值密鑰是以不同橢圓曲線生成。
- 如請求項16所述之系統,其中該非對稱位置密鑰的該等兩個複數部分閾值密鑰的其中一個是用於簽署,且該非對稱位置密鑰的該等兩個複數部分閾值密鑰的第二個是用於加密該對稱密鑰。
- 如請求項15所述之系統,其中該檔案的該加密使用進階加密標準-伽羅瓦/計數模式(AES-GCM)且該非對稱位置密鑰的該加密使用橢圓曲線集成加密方案(ECIES)以近一步生成一臨時公鑰。
- 如請求項16所述之系統,其中三個複數部分閾值密鑰是藉由該組使用者裝置之各裝置所生成: 生成一私鑰部分; 自該私鑰部分衍生一公鑰部分; 散列該公鑰部分並將該散列傳輸至該組使用者裝置之其他裝置; 接收其他裝置之公鑰部分的散列; 接收所有預期之散列後,傳輸其公鑰部分至其他裝置; 自其他裝置接收公鑰部分; 驗證接收之散列匹配接收之公鑰部分;以及 計算該複數部分閾值密鑰之一公共部分。
- 如請求項19所述之系統,進一步包含以其自身公鑰加密該私鑰部分並傳輸經加密之私鑰部分及關聯之散列至其他裝置。
- 如請求項19所述之系統,其中傳輸其公鑰部分至其他裝置包括以對應之私鑰部分簽署該公鑰部分。
- 如請求項15所述之系統,其中經加密之對稱密鑰及經加密之檔案被一同儲存。
- 如請求項15所述之系統,進一步包含: 提取經加密之對稱密鑰; 使用該組使用者裝置之N個中的M個以該非對稱位置密鑰之碎片對該對稱密鑰進行閾值式解密;以及 以經閾值式解密之對稱密鑰解密經加密之檔案。
- 如請求項23所述之系統,其中該閾值式解密使用閾值ECIES及對應至經加密之對稱密鑰的一臨時公鑰。
- 如請求項24所述之系統,其中該非對稱位置密鑰在該閾值式解密期間未被重組。
- 如請求項18所述之系統,進一步包含生成描述與該臨時公鑰加密性相關之檔案的元資料,使得其可在執行分散式閾值解密時被驗證。
- 如請求項26所述之系統,其中該元資料包括對底層資料的視覺可辨認之描述符。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163186325P | 2021-05-10 | 2021-05-10 | |
US63/186,325 | 2021-05-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202304172A true TW202304172A (zh) | 2023-01-16 |
Family
ID=83900763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111117267A TW202304172A (zh) | 2021-05-10 | 2022-05-09 | 位置密鑰加密系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220360429A1 (zh) |
TW (1) | TW202304172A (zh) |
WO (1) | WO2022240728A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12010219B2 (en) * | 2021-10-25 | 2024-06-11 | Salesforce, Inc. | Key management providing high availability without key replication |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10715316B2 (en) * | 2000-10-30 | 2020-07-14 | Geo Codex, LLC | System and method for delivering information in a communication network using location identity |
US7069435B2 (en) * | 2000-12-19 | 2006-06-27 | Tricipher, Inc. | System and method for authentication in a crypto-system utilizing symmetric and asymmetric crypto-keys |
CA2369537C (en) * | 2001-12-31 | 2013-07-23 | Certicom Corp. | Method and apparatus for performing finite field calculations |
US7181016B2 (en) * | 2003-01-27 | 2007-02-20 | Microsoft Corporation | Deriving a symmetric key from an asymmetric key for file encryption or decryption |
US20140281516A1 (en) * | 2013-03-12 | 2014-09-18 | Commvault Systems, Inc. | Automatic file decryption |
WO2020061593A1 (en) * | 2018-09-22 | 2020-03-26 | Yakira David | Decentralized key generation and distribution over a blockchain-based network |
-
2022
- 2022-05-09 WO PCT/US2022/028288 patent/WO2022240728A1/en active Application Filing
- 2022-05-09 TW TW111117267A patent/TW202304172A/zh unknown
- 2022-05-09 US US17/739,537 patent/US20220360429A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220360429A1 (en) | 2022-11-10 |
WO2022240728A1 (en) | 2022-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230155821A1 (en) | Secure shared key establishment for peer to peer communications | |
JP6869374B2 (ja) | トラステッド実行環境のための分散型鍵管理 | |
US10425401B1 (en) | Extensions for using a digital certificate with multiple cryptosystems | |
US11431494B2 (en) | Passwordless security system for data-at-rest | |
TWI722116B (zh) | 用於基於區塊鏈的系統結合錢包管理系統中的安全多方防遺失儲存及加密金鑰轉移 | |
CN106664202B (zh) | 提供多个设备上的加密的方法、系统和计算机可读介质 | |
JP4855940B2 (ja) | 暗号用鍵の世代の効率的な管理 | |
CN106453612B (zh) | 一种数据存储与共享系统 | |
CN109891423B (zh) | 使用多个控制机构的数据加密控制 | |
US20170244687A1 (en) | Techniques for confidential delivery of random data over a network | |
WO2016200705A1 (en) | Automatic identification of invalid participants in a secure synchronization system | |
US20110293098A1 (en) | Key recovery mechanism | |
CN107113314B (zh) | 用于云计算中的异构数据存储管理的方法和装置 | |
WO2019110018A1 (zh) | 通信网络系统的消息验证方法、通信方法和通信网络系统 | |
US20210144002A1 (en) | Secondary Channel Authentication of Public Keys | |
US20190044922A1 (en) | Symmetric key identity systems and methods | |
US8732481B2 (en) | Object with identity based encryption | |
US8265270B2 (en) | Utilizing cryptographic keys and online services to secure devices | |
US20210112039A1 (en) | Sharing of encrypted files without decryption | |
Bhandari et al. | A framework for data security and storage in Cloud Computing | |
JP2017112604A (ja) | 対称鍵暗号化と非対称鍵二重暗号化を複合的に適用した暗/復号化速度改善方法 | |
US11368442B2 (en) | Receiving an encrypted communication from a user in a second secure communication network | |
TW202304172A (zh) | 位置密鑰加密系統 | |
US20220385453A1 (en) | Secure file transfer | |
US20220368527A1 (en) | Location key search of encrypted files without decryption |