TW202307704A - 傳輸資料及操作主機裝置的方法以及儲存裝置 - Google Patents
傳輸資料及操作主機裝置的方法以及儲存裝置 Download PDFInfo
- Publication number
- TW202307704A TW202307704A TW111113250A TW111113250A TW202307704A TW 202307704 A TW202307704 A TW 202307704A TW 111113250 A TW111113250 A TW 111113250A TW 111113250 A TW111113250 A TW 111113250A TW 202307704 A TW202307704 A TW 202307704A
- Authority
- TW
- Taiwan
- Prior art keywords
- ciphertext
- data
- storage device
- level
- homomorphic encryption
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- 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/0825—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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
一種傳輸儲存裝置中的資料的方法包括:基於同態加密演算法對原始資料進行加密以產生經加密資料;使用經加密資料及鍵值產生用於密文的重新產生的參數,所述密文較經加密資料的運算等級高;以及將經加密資料及參數傳輸至外部主機裝置。
Description
本發明概念是有關於一種儲存裝置、一種主機裝置及其資料傳送方法。
[相關申請案的交叉參考]
本申請案主張於2021年8月4日在韓國智慧財產局提出申請的韓國專利申請案第10-2021-0102583號的權益,所述韓國專利申請案的全部揭露內容出於全部目的以引用的方式併入本案。
一般而言,在同態加密中,即使在不對經加密資訊進行解密的情況下在密文狀態下實行運算,亦可在對明文進行運算之後獲得與經加密值相同的結果。同態加密技術的商業化方面最大的問題是密文的大小,所述密文的大小較原始資料大幾十倍。
示例性實施例提供一種具有減少的資料傳送量且具有同態加密裝置的儲存裝置、一種主機裝置及一種操作主機裝置的方法。
根據示例性實施例,一種傳輸儲存裝置中的資料的方法包括:基於同態加密演算法對原始資料進行加密;使用所述經加密資料及鍵值(key value)產生用於密文的重新產生的參數,所述密文較所述經加密資料的運算等級高;以及將所述經加密資料及所述參數傳輸至外部主機裝置。
根據示例性實施例,一種儲存裝置包括:至少一個非揮發性記憶體裝置;以及控制器,對所述至少一個非揮發性記憶體裝置進行控制。所述控制器包括:控制接腳,向所述至少一個非揮發性記憶體裝置提供控制訊號;安全模組,實行同態加密運算;緩衝記憶體,暫時儲存所述同態加密運算所需的資料;以及至少一個處理器,對所述控制器的總體操作進行控制。所述安全模組基於同態加密演算法將原始資料加密為第一運算等級的密文,且產生用於等級較所述第一運算等級高的密文的重新產生的參數。第一運算等級的密文可能無法實行多次密文運算。
根據示例性實施例,一種操作主機裝置的方法包括:自儲存裝置接收第一運算等級的密文及參數;使用所述第一運算等級的所述密文及所述參數之中的對應資料而重新產生多個等級的相應的密文;以及使用重新產生的所述密文對密文實行運算。
根據示例性實施例,一種傳輸電子裝置的資料的方法包括:產生密文以接收雲端服務;使用密文及鍵值產生具有用於密文的靴帶式牽引(bootstrapping)的參數的表格資料;將密文及表格資料傳輸至雲端伺服器。
根據示例性實施例,一種操作雲端伺服器的方法包括:自電子裝置接收與雲端服務請求對應的第一密文、第二密文及表格資料;使用表格資料重新產生與第一密文及第二密文對應的多個等級中的一個等級的密文;對重新產生的密文實行密文運算;以及將根據雲端服務請求的密文運算的結果值傳輸至電子裝置。
在下文中,將參照附圖闡述示例性實施例。
圖1是示出根據示例性實施例的儲存裝置10的實例的圖。參照圖1,儲存裝置10可包括至少一個非揮發性記憶體裝置(non-volatile memory device,NVM)100及控制器(controller,CNTL)200。
至少一個非揮發性記憶體裝置100可被實施成對資料進行儲存。非揮發性記憶體裝置100的實例可包括反及快閃記憶體、垂直反及快閃記憶體、或快閃記憶體、電阻式隨機存取記憶體(resistive random access memory,RRAM)、相變記憶體(phase-change memory,PRAM)、磁阻式隨機存取記憶體(magnetoresistive random access memory,MRAM)、鐵電隨機存取記憶體(ferroelectric random access memory,FRAM)、自旋轉移扭矩隨機存取記憶體(spin transfer torque random access memory,STT-RAM)等。另外,非揮發性記憶體裝置100可被實施成三維陣列結構。本發明概念不僅適用於其中電荷儲存層由導電浮動閘極形成的快閃記憶體裝置,而且適用於其中電荷儲存層由絕緣膜形成的電荷捕捉快閃(charge trap flash,CTF)。在下文中,為了便於說明,非揮發性記憶體裝置100將被稱為垂直反及快閃記憶體裝置(vertical NAND flash memory device,VNAND)。
另外,非揮發性記憶體裝置100可被實施成包括多個記憶體區塊BLK1至BLKz(其中z是大於或等於2的整數)及控制邏輯150。所述多個記憶體區塊BLK1至BLKz中的每一者可包括多個頁面(頁面1至頁面m,其中m是大於或等於2的整數)。所述多個頁面(頁面1至頁面m)中的每一者可包括多個記憶胞元。所述多個記憶胞元中的每一者可儲存至少一個位元。
控制邏輯150可自控制器(CNTL)200接收命令及位址,且對與位址對應的記憶胞元實行與所接收的命令對應的操作(程式化操作、讀取操作、抹除操作等)。
控制器(CNTL)200可藉由傳輸控制訊號(例如,命令鎖存賦能(command latch enable,CLE)、位址鎖存賦能(address latch enable,ALE)、晶片賦能(chip enable,CE)、寫入賦能(write enable,WE)、讀取賦能(read enable,RE)等)的多個控制接腳連接至所述至少一個非揮發性記憶體裝置100,且另外,可被實施成使用控制訊號CLE、ALE、CE、WE、RE等來對非揮發性記憶體裝置100進行控制。舉例而言,非揮發性記憶體裝置100根據命令鎖存賦能(CLE)訊號及位址鎖存賦能(ALE)訊號在寫入賦能(WE)/讀取賦能(RE)訊號的邊緣處對命令或位址進行鎖存,藉此實行程式化操作/讀取操作/抹除操作。舉例而言,在讀取操作期間,可啟用晶片賦能訊號CE,可在命令傳輸區段中啟用CLE,可在位址傳輸區段中啟用ALE,且可在其中藉由資料訊號線DQ傳輸資料的區段中對RE進行雙態觸變(toggle)。可以與資料輸入/輸出速度對應的頻率來對資料選通訊號DQS進行雙態觸變。可與資料選通訊號DQS同步地依序傳輸讀取的資料。
另外,控制器200可包括至少一個處理器(中央處理單元(central processing unit,CPU))210、緩衝記憶體220及安全模組260。
處理器210可被實施成對儲存裝置10的總體操作進行控制。處理器210可實行各種管理操作,例如快取/緩衝管理(buffer management)、韌體管理、垃圾收集管理、損耗平衡管理(wear leveling management)、資料去重複管理、讀取再新/收回管理、壞區塊管理、多流管理、對主機資料及非揮發性記憶體的映射的管理、服務品質(Quality of Service,QoS)管理、系統資源分配管理、非揮發性記憶體佇列管理、讀取等級管理、抹除/程式管理、熱/冷資料管理、功率損失保護管理、動態熱管理、初始化管理、廉價磁碟冗餘陣列(Redundant Array of Inexpensive Disk,RAID)管理等。
緩衝記憶體220可被實施成揮發性記憶體(例如,靜態隨機存取記憶體(static random access memory,SRAM)、動態RAM(dynamic RAM,DRAM)、同步RAM(synchronous RAM,SDRAM)等)或者非揮發性記憶體(例如,快閃記憶體、相變RAM(PRAM)、磁阻式RAM(Magneto-resistive RAM,MRAM)、電阻式RAM(resistive RAM,ReRAM)、鐵電RAM(FRAM)等)。
安全模組260可被實施成實行儲存裝置10的安全功能。舉例而言,安全模組260可實行自加密磁碟(Self Encryption Disk,SED)功能或可信計算組(Trusted Computing Group,TCG)安全功能。SED功能可使用加密演算法將經加密資料儲存於非揮發性記憶體裝置100中或者對來自非揮發性記憶體裝置100的經加密的資料進行解密。此種加密/解密運算可使用內部產生的加密鍵(encryption key)來實行。在示例性實施例中,加密演算法可為高級加密標準(Advanced Encryption Standard,AES)加密演算法。另一方面,應理解,加密演算法並不限於此。TCG安全功能可提供一種機制來使得能夠達成對儲存裝置10的使用者資料的存取控制。舉例而言,TCG安全功能可在外部裝置與儲存裝置10之間實行認證程序。在示例性實施例中,SED功能或TCG安全功能可選地為可選擇的。
另外,安全模組260可基於分級同態加密演算法產生第一運算等級密文(EDATA),且可被實施成產生具有用於運算等級較第一運算等級高的密文的重新產生的參數的表格資料。在此種情形中,運算等級是指安全等級,且隨著運算等級的增加,密文的可能運算數目可增加。
一般而言,當在同態加密中實行密文之間的乘法時,密文的運算等級減少一。靴帶式牽引(再啟動)是一種在同態加密中提高密文的安全等級的技術。舉例而言,靴帶式牽引是一種恢復密文運算所消耗的運算等級的技術。安全模組260可產生處於其中未實行運算的狀態下的第一運算等級密文以及用於更高等級密文的重新產生的表格資料,且可將具有第一運算等級的密文及表格資料傳輸至外部主機裝置。
應用一般同態加密的儲存裝置會產生最高等級的密文且將所產生的密文傳輸至主機裝置。然而,與第一運算等級的密文相比,最高等級的密文是相對非常大的資料。因此,在現有的儲存裝置中,同態加密所需的資料傳送量相當大。此外,應用靴帶式牽引所需的計算量相當大,且因此,會消耗大量靴帶式牽引時間。
同時,根據本發明概念示例性實施例的儲存裝置10產生第一運算等級密文及對應的表格資料以應用同態加密運算且將所產生的密文及表格資料傳輸至主機裝置,藉此與先前技術的資料傳輸量相比顯著減少了資料傳輸量。另外,藉由使用第一運算等級密文及表格資料以簡單運算實行靴帶式牽引,可顯著減少靴帶式牽引時間。
圖2是示出圖1中所示的非揮發性記憶體裝置100的實例的圖。參照圖2,非揮發性記憶體裝置100可包括記憶胞元陣列110、列解碼器120、頁緩衝器電路130、輸入/輸出緩衝器電路140、控制邏輯150、電壓產生器160及胞元計數器170。
記憶胞元陣列110可藉由字元線WL或選擇線SSL及GSL連接至列解碼器120。記憶胞元陣列110可藉由位元線BL連接至頁緩衝器電路130。記憶胞元陣列110可包括多個胞元串。胞元串的每一通道可在垂直方向或水平方向上形成。胞元串中的每一者可包括多個記憶胞元。在此種情形中,可藉由施加至位元線BL或字元線WL的電壓來對所述多個記憶胞元進行程式化、抹除或讀取。一般而言,以頁為單位實行程式化操作,且以區塊為單位實行抹除操作。記憶胞元的細節將在美國專利US 7,679,133、US 8,553,466、US 8,654,587、US 8,559,235及US 9,536,970中闡述。在示例性實施例中,記憶胞元陣列330可包括二維記憶胞元陣列,且二維記憶胞元陣列可包括在列方向及行方向上設置的多個反及串。
列解碼器120可被實施成因應於位址ADD而選擇記憶胞元陣列110的記憶體區塊BLK1至BLKz中的一者。列解碼器120可因應於位址ADD而選擇所選擇的記憶體區塊的字元線中的一者。列解碼器120可向所選擇的記憶體區塊的字元線傳送與操作模式對應的字元線電壓VWL。在程式化操作期間,列解碼器120可向所選擇的字元線施加程式電壓及驗證電壓且可向未選擇的字元線施加通過電壓。在讀取操作期間,列解碼器120可向所選擇的字元線施加讀取電壓且可向未選擇的字元線施加讀取通過電壓。
頁緩衝器電路130可被實施成作為寫入驅動器或感測放大器來操作。在程式化操作期間,頁緩衝器電路130可將與欲被程式化的資料的對應位元線電壓施加至記憶胞元陣列110的位元線。在讀取操作或驗證讀取操作期間,頁緩衝器電路130可藉由位元線BL感測儲存於所選擇的記憶胞元中的資料。頁緩衝器電路130中所包括的所述多個頁緩衝器PB1至PBn(其中n是大於或等於2的整數)中的每一者可連接至至少一條位元線。
所述多個頁緩衝器PB1至PBn中的每一者可被實施成實行感測及鎖存,以實行開放虛擬交換(Open vSwitch,OVS)操作。舉例而言,所述多個頁緩衝器PB1至PBn中的每一者可實行多個感測操作,以識別在控制邏輯150的控制下選擇的記憶胞元中所儲存的任何一個狀態。另外,所述多個頁緩衝器PB1至PBn中的每一者可儲存藉由多個感測操作感測的資料且可在控制邏輯150的控制下選擇任何一個資料。舉例而言,所述多個頁緩衝器PB1至PBn中的每一者可實行多次感測以識別任何一個狀態。另外,所述多個頁緩衝器PB1至PBn中的每一者可根據控制邏輯150的控制而自所感測的多個資料之中選擇或輸出最佳資料。
輸入/輸出緩衝器電路140向頁緩衝器電路130提供外部提供資料。輸入/輸出緩衝器電路140可向控制邏輯150提供外部提供命令CMD。輸入/輸出緩衝器電路140可向控制邏輯150或列解碼器120提供外部提供位址ADD。另外,輸入/輸出緩衝器電路140可向外輸出由頁緩衝器電路130感測及鎖存的資料。
控制邏輯150可被實施成因應於自外部源(例如,控制器200(參見圖1))傳輸的命令CMD而對列解碼器120及頁緩衝器電路130進行控制。
電壓產生器160可被實施成在控制邏輯150的控制下產生欲被施加至相應的字元線的各種類型的字元線電壓、以及欲被供應至其中形成記憶胞元的體(bulk)(例如,阱區)的阱電壓。被施加至相應的字元線的字元線電壓可包括程式電壓、通過電壓、讀取電壓、讀取通過電壓等。
胞元計數器170可被實施成根據由頁緩衝器電路130感測的資料對與特定臨限值電壓範圍對應的記憶胞元進行計數。舉例而言,胞元計數器170可藉由對在所述多個頁緩衝器PB1至PBn的每一者中感測的資料進行處理而對具有特定臨限值電壓範圍內的臨限值電壓的記憶胞元的數目進行計數。
圖3是示出根據示例性實施例的控制器200的實例的圖。參照圖3,控制器200可包括主機介面201、記憶體介面202、至少一個CPU 210、緩衝記憶體220、錯誤校正電路230、快閃轉換層管理器240、封包管理器250及安全模組260。
主機介面201可被實施成向主機發射封包及自主機接收封包。自主機發射至主機介面201的封包可包括欲寫入至非揮發性記憶體裝置100的命令或資料。自主機介面201發射至主機的封包可包括對命令的響應或者自非揮發性記憶體裝置100讀取的資料。記憶體介面202可將欲寫入至非揮發性記憶體裝置100的資料發射至非揮發性記憶體裝置100,或者可接收自非揮發性記憶體裝置100讀取的資料。記憶體介面202可被實施成符合標準協定,例如聯合資料交換中心(Joint Data Exchange Center,JDEC)雙態觸變或開放式反及快閃介面(Open NAND Flash Interface,ONFI)。
緩衝記憶體220可暫時儲存欲寫入至非揮發性記憶體裝置100的資料或者欲自非揮發性記憶體裝置100讀取的資料。在示例性實施例中,緩衝記憶體220可為控制器200中提供的配置。在另一實施例中,緩衝記憶體220可設置於控制器200的外部。在另一實例中,緩衝記憶體220可暫時儲存同態加密運算所需的資料。
錯誤校正碼(error correction code,ECC)電路230可被實施成在程式化操作期間產生錯誤校正碼,且在讀取操作期間使用錯誤校正碼來恢復資料。舉例而言,ECC電路230可產生錯誤校正碼(ECC),以用於對自非揮發性記憶體裝置100接收的資料的故障位元或錯誤位元進行校正。ECC電路230可藉由對提供至非揮發性記憶體裝置100的資料實行錯誤校正編碼來形成添加有同位位元的資料。同位位元可儲存於非揮發性記憶體裝置100中。另外,ECC電路230可對自非揮發性記憶體裝置100輸出的資料實行錯誤校正解碼。ECC電路230可使用同位來對錯誤進行校正。ECC電路230可使用例如以下編碼調變來對錯誤進行校正:低密度同位檢查(Low Density Parity Check,LDPC)碼、博斯-喬赫裡-霍克文黑姆(Bose,Chaudhuri&Hocquenghem,BCH)碼、渦輪(Turbo)碼、裡德-索羅門(Reed-Solomon)碼、卷積碼、遞歸系統碼(Recursive Systematic Code,RSC)、交織碼調變(Trellis-Coded Modulation,TCM)、分組編碼調變(Block Coded Modulation,BCM)等。另一方面,當在錯誤校正電路230中不可能進行錯誤校正時,可實行讀取重試操作。
快閃轉換層管理器240可實行各種功能,例如位址映射、損耗平衡及垃圾收集。位址映射操作是將自主機接收的邏輯位址改變為用於在非揮發性記憶體裝置100中實際儲存資料的實體位址的操作。損耗平衡是一種藉由確保均勻地使用非揮發性記憶體裝置100中的區塊來防止特定區塊過度劣化的技術。舉例而言,損耗平衡可藉由用於對實體區塊的抹除計數進行平衡的韌體技術來實施。垃圾收集是一種用於在將區塊的有效資料複製至新的區塊之後抹除現有區塊的方法中確保非揮發性記憶體裝置100中的可用容量的技術。
封包管理器250可根據與主機協商的介面的協定產生封包,或者可對來自自主機接收的封包的各種資訊進行解析。
安全模組260可使用對稱金鑰(symmetric-key)演算法對輸入至CPU 210的資料實行同態加密運算及解密運算中的至少一者。安全模組260可包括加密模組及解密模組。在示例性實施例中,安全模組260可以硬體/軟體/韌體來實施。另外,安全模組260可被實施成使用外部裝置實行認證操作或實行全同態加密功能。
圖4是示出一般同態加密過程的圖。一般而言,同態加密是一種與現有的加密技術不同的以下加密系統:在所述加密系統中,與輸入原始資料相比,輸出密文的大小增加了幾十倍。如圖4中所示,在同態加密中,與原始資料相比,密文增加了約L倍,以在加密狀態下實行L次乘法運算(其中L是大於或等於2的整數)。在同態加密中,運算等級定義如下。在第一等級密文中,附加密文的乘法達二或更多次是不可能的,而解密是可能的。在L級密文中,密文的乘法可能是L-1次。該些技術特性是同態加密技術的固有理論特性。因此,在相關技術的同態加密資料傳送方法中,當發射及接收密文時,為了增加可能計算次數,有必要顯著增加資料傳送量。
圖5是示出根據通用儲存裝置(SSD)510的同態加密裝置的密文傳輸方法的視圖。參照圖5,儲存裝置(SSD)510包括同態加密裝置511。同態加密裝置511包括多個同態加密單元HEU 1至HEU L。所述多個同態加密單元HEU 1至HEU L中的每一者可接收原始訊息M且產生對應等級的密文HEM_L1至HEM_LL。
主機裝置520的運算單元525可自儲存裝置SSD接收多個等級的密文HEM_L1至HEM_LL且計算所接收的密文HEM_L1至HEM_LL。
在根據本發明概念示例性實施例的同態加密資料傳送方法中,可在實行L個運算的同時傳輸具有相對小的大小的密文。
圖6是示出根據本發明概念示例性實施例的傳輸儲存裝置610的同態加密資料的方法的圖。
參照圖6,儲存裝置610可包括同態加密裝置611。同態加密裝置611可包括同態加密單元611-1及表格資料產生器611-2。同態加密單元611-1可被實施成接收原始資料M且產生第一等級密文HEM_L1。表格資料產生器611-2可被實施成接收同態加密單元611-1的初始值IV且產生用於同態密文的重新產生的表格資料TD。在示例性實施例中,初始值IV可藉由儲存裝置610的公用金鑰(public key)與私密金鑰(secret key)(或專用金鑰(private key))的乘法運算而產生。因此,初始值IV可為乘法運算的資料。在此種情形中,儲存裝置610的公用金鑰的數目可與密文等級的數目對應,所述密文等級的所述數目與可能密文運算的數目對應。
表格資料TD的產生可在與當m=a
0S時的同態加密過程相同的過程中實行。因此,用於密文的重新產生的資訊可被同態加密及傳輸。因此,表格資料TD的安全等級具有與原始系統的同態加密的等級相同的等級。儲存裝置610可將第一等級的密文HEM_L1及表格資料TD傳輸至主機裝置620。
返回參照圖6,主機裝置620可包括密文重新產生器621及運算單元625。密文重新產生器621可被實施成自儲存裝置610接收第一等級密文(HEM_L1)及表格資料(TD),且產生多個等級的密文(HEM_L1、HEM_L2、…、HEM_LL-1及HEM_LL)。運算單元625可被實施成接收多個等級的密文HEM_L1、HEM_L2、…、HEM_LL-1及HEM_LL且實行密文運算。
圖7A是示出根據示例性實施例的同態加密單元710的圖,且圖7B是示出根據示例性實施例的表格資料產生器720的圖。
參照圖7A,同態加密單元710可包括乘法器711及加法器712。乘法器711可對專用金鑰(s)與公用金鑰(a
0)實行乘法運算。加法器712可對乘法器711的乘算值a
0s、訊息m及隨機值e
0實行加法運算。加法器712可輸出第一等級密文(ct
0=a
0s+m+e
0,圖6中所示的HEM_L1)。
參照圖7B,表格資料產生器720可包括乘法器721及減法器722。乘法器721可對專用金鑰(s)與公用金鑰(a
i)實行乘法運算。減法器722可自乘法器721的乘算值a
is對同態加密單元710的乘法器711的乘算值a
0s實行減法運算。減法器722可輸出用於密文的重新產生的參數,例如,表格資料(a
is - a
0s,圖6中所示的TD)。假設在同態加密參數的情形中,資料處理單元是64位元,可滿足以下方程式。
[方程式1]
訊息:m < 62位元
公用金鑰:a
i< 62位元
專用金鑰:s < 62位元
未知隨機數值:e
i~離散高斯分佈(0, σ)
質數(Prime):62位元< q
L< q
L-1< … < q
0< 64位元
密文0:a
0s + m + e
0< q
L< q
L-1< … < q
0
其中m是訊息,a
i是第i個安全等級的公用金鑰,s是專用金鑰,e
i是根據離散高斯分佈的隨機值,質數是每一安全等級的模數,且a
0s + m + e
0是第一等級密文。
在下文中,將闡述產生連續訊息(a, b)的密文的過程。第一訊息(a)的一個密文可如以下方程式中所示產生。
第二訊息(b)的一個密文可如以下方程式中所示產生。
用於將一個密文重新產生為L+1個密文的表格資料可如以下方程式中所示產生。
只要公用金鑰/專用金鑰不變,表格資料便可僅設定一次。
圖8是示出根據示例性實施例的密文重新產生器810的實例的圖。參照圖8,密文重新產生器810可自儲存裝置接收第一等級密文(ct
0= a
0s + m + e
0,圖6中所示的HEM_L1)及表格資料(a
is - a
0s,圖6中所示的TD)且可產生多個等級的密文HEM_L1至HEM_LL。
使用表格資料的密文重新產生如下。在此種情形中,即使e
i改變,解碼亦是可能的。第一訊息(a)的重新產生密文可滿足以下方程式。
第二訊息(b)的重新產生密文可滿足以下方程式。
最後,當接收到第一訊息(a)的密文時,密文重新產生器810可根據以下方程式產生L+1個密文。
此後,當接收到第二訊息(b)的密文時,密文重新產生器810可根據以下方程式產生L+1個密文。
另一方面,圖7A至圖8中闡述的同態加密資料傳送方法應用於CKKS密文結構。應理解,本發明概念並不限於此。本發明概念的同態加密資料傳送方法適用於BGV密文結構。
圖9A是示出CKKS密文的結構的圖,且圖9B是示出BGV密文的結構的圖。
參照圖9A,可藉由將專用金鑰(s)與公用金鑰的乘算值(as)、訊息(m)及隨機值(e)相加而產生CKKS密文(as + m + e)。
參照圖9B,可藉由將專用金鑰(s)與公用金鑰的乘算值(as)、訊息(m)及隨機值(te)相加而產生BGV密文(as + m + te)。在此種情形中,最大訊息(m)的大小是t個位元。隨機值te是移位了t個位元的隨機值。
圖10是示出一般BGV同態加密資料傳送方法的圖。參照圖10,儲存裝置1010具有產生多個等級的密文(ct
0、ct
1、…、ct
L)的同態加密單元(homomorphic encryption unit,HEU)。密文(ct
0、ct
1、…、ct
L)中的每一者具有與CKKS密文的隨機值(e)不同的t位元移位隨機值(te)。
返回參照圖10,伺服器1020包括運算單元1025,運算單元1025接收/計算所述多個等級的密文ct
0、ct
1、…及ct
L。
圖11是示出根據另一示例性實施例的傳輸儲存裝置中的同態加密資料的方法的圖。參照圖11,儲存裝置1110可包括同態加密裝置1111。同態加密裝置1111可包括同態加密單元1111-1及表格資料產生器1111-2。
同態加密單元1111-1可接收訊息m且產生密文(ct
0= a
0s + m + te
0)。表格資料產生器1111-2可產生用於密文重新產生的表格資料(a
is - a
0s + te
i)。在此種情形中,表格資料(a
is - a
0s + te
i)可為藉由將t位元移位隨機值(te
i)添加至CKKS密文的表格資料(a
is - a
0s)而獲得的值。
返回參照圖11,伺服器1120可包括密文重新產生器1121及運算單元1125。密文重新產生器1121可接收密文(ct
0= a
0s + m + te
0)及用於密文重新產生的表格資料(a
is - a
0s + te
i),且可產生多個等級的密文(ct
0= t
0s + m + te
’ 0、ct
1= t
1s + m + te
’ 1、…、ct
L= t
Ls + m + te
’ L)。運算單元1125可對多個等級的密文(ct
0= t
0s + m + te
’ 0、ct
1= t
1s + m + te
’ 1、…、ct
L= t
Ls + m + te
’ L)實行運算。
圖12是示出根據示例性實施例的傳輸儲存裝置的同態加密資料的操作的實例的流程圖。參照圖12,傳輸儲存裝置的同態加密資料的操作可如下進行。可基於同態加密演算法對訊息M進行加密(S110)。在此種情形中,加密資料可為第一等級密文HEM_L1。可使用初始值來產生用於密文重新產生的參數(S120)。在此種情形中,初始值可為專用金鑰(s)與公用金鑰(a
0)的乘算值。儲存裝置可向伺服器傳輸用於密文運算的參數及經加密資料(S130)。
圖13是示出根據示例性實施例的操作主機裝置的方法的實例的流程圖。參照圖13,主機裝置的操作可如下進行。主機裝置可接收密文及參數(S210)。使用密文及參數,可重新產生根據同態加密的多個等級的密文(S220)。可實行使用多個等級的密文的密文運算(S230)。
在示例性實施例中,可基於參數來選擇多個等級中的一個等級。在示例性實施例中,可產生與所選擇的等級對應的密文。在示例性實施例中,參數可在以與密文的安全等級相同的等級同態加密之後被接收。在示例性實施例中,可將所計算的值傳輸至儲存裝置。
圖14A及圖14B是示出作為實例應用本發明概念同態加密資料傳送方法的示例性實施例的圖。如圖14A中所示,儲存裝置(SSD)14-1可將參照圖1至圖13闡述的同態加密資料(HEM)及參數(PRMT)傳輸至主機CPU 14-2。主機CPU 14-2可使用同態加密資料HEM及參數PRMT來產生多個等級的密文,且可對所產生的密文實行運算。
如圖14B中所示,行動裝置14-3可將第一運算等級的同態加密資料(HEM)及用於密文重新產生的參數(PRMT)傳輸至與雲端服務請求對應的雲端伺服器14-4。雲端伺服器14-4可使用同態加密資料(HEM)及參數(PRMT)產生多個等級的密文,且可對所產生的密文實行運算。另外,雲端伺服器14-4可根據雲端服務請求將密文運算的結果值作為服務提供至行動裝置14-3。
在雙方通訊中,行動裝置14-3可使用專用金鑰對敏感資料x1、x2、....、xi及所需運算(或函數)f進行加密,且可將加密結果傳輸至雲端伺服器14-4。雲端伺服器14-4可使用加密演算法(電路)對針對使用者所需服務的c*進行計算。雲端伺服器14-4然後可將c*傳輸至行動裝置14-3。行動裝置14-3可藉由使用專用金鑰實行解密來獲得所需服務的結果f(x1, x2, …, xi)。雲端伺服器14-4不知道使用者的資料及所需運算是什麼,但可僅實行使用者請求的運算。
圖15是示出根據示例性實施例的雲端系統中的資料傳送方法的實例的梯形圖。參照圖15,雲端系統的資料傳送方法可如下進行。
IoT裝置1510可產生接收雲端服務所需的個人資訊的密文(S10)。在此種情形中,可基於同態加密演算法來產生密文。詳言之,密文可為第一等級密文。IoT裝置1510可產生用於剩餘等級的密文的重新產生的參數。在此種情形中,可使用IoT裝置1510的專用金鑰及公用金鑰來產生參數(S20)。IoT裝置1510可將密文及具有參數的表格資料傳輸至雲端伺服器1520以接收雲端服務(S30)。
雲端伺服器1520可接收密文及表格資料,且重新產生多個等級的密文(S40)。雲端伺服器1520可對密文實行運算以提供雲端服務(S50)。雲端伺服器1520可將與雲端服務對應的密文運算結果傳輸至IoT裝置1510(S60)。
此後,IoT裝置1510可自雲端伺服器1520接收密文運算結果值且使用專用金鑰對所接收的運算結果值進行解密(S70)。因此,IoT裝置1510可自雲端伺服器1520接收安全雲端服務。
另一方面,本發明概念適用於具有儲存裝置的電子裝置。
圖16是示出應用根據本發明概念示例性實施例的儲存裝置的電子裝置1000的圖。圖16中所示的電子裝置1000可基本上為行動系統,例如行動電話、智慧型電話、平板個人電腦(personal computer,PC)、可穿戴裝置、健保裝置(health care device)或物聯網(IoT)裝置。然而,圖1所示電子裝置1000不必局限於行動系統,且可為個人電腦、膝上型電腦、伺服器、媒體播放機或例如導航裝置等汽車裝置。
參照圖16,電子裝置1000可包括主處理器1100、記憶體1200a及1200b以及儲存裝置1300a及1300b中的一或多者。另外,電子裝置1000可更包括影像俘獲裝置1410、使用者輸入裝置1420、感測器1430、通訊裝置1440、顯示器1450及揚聲器1460、電力供應裝置1470及連接介面1480。
主處理器1100可對電子裝置1000的總體操作進行控制,詳言之,可對構成電子裝置1000的其他組件的操作進行控制。主處理器1100可被實施成通用處理器、專用處理器、應用處理器等。
主處理器1100可包括一或多個CPU核心1101。另外,主處理器1100可更包括用於對記憶體1200a及1200b或者儲存裝置1300a及1300b進行控制的控制器1102。在示例性實施例中,主處理器1100可更包括加速器1103,加速器1103是用於例如人工智慧(artificial intelligence,AI)資料操作等高速資料操作的專用電路。加速器1103可包括圖形處理單元(graphic processing unit,GPU)、神經處理單元(neural processing unit,NPU)或資料處理單元(data processing unit,DPU),且另一方面,亦可被實施成實體上獨立於主處理器1100的其他組件的單獨晶片。
記憶體1200a及1200b可用作電子裝置1000的主記憶體裝置。記憶體1200a及1200b可包括例如SRAM或DRAM等揮發性記憶體,但亦可包括例如快閃記憶體、PRAM或RRAM等非揮發性記憶體。記憶體1200a及1200b亦可在與主處理器1100的封裝相同的封裝中實施。
儲存裝置1300a及1300b可被實施成無論是否供應電力均儲存資料的非揮發性儲存裝置。與記憶體1200a及1200b相比,儲存裝置1300a及1300b可具有相對大的儲存容量。儲存裝置1300a及1300b可包括記憶體控制器1310a及1310b以及用於在記憶體控制器1310a及1310b的控制下儲存資料的非揮發性記憶體(NVM)1320a及1320b。非揮發性記憶體1320a及1320b可包括具有二維(2-dimensional,2D)結構或三維(3-dimensional,3D)垂直反及(V-NAND)結構的快閃記憶體,但可包括其他類型的非揮發性記憶體(例如PRAM或RRAM)。
另外,儲存裝置1300a及1300b可被實施成根據參照圖1至圖15闡述的同態加密資料傳送方法來產生密文及參數。
儲存裝置1300a及1300b可以與主處理器1100實體分離的狀態包括於電子裝置1000中。另外,儲存裝置1300a及1300b亦可在與主處理器1100相同的封裝中實施。另外,儲存裝置1300a及1300b具有與固態裝置(SSD)或記憶體卡相同的形式,且因此,可藉由例如連接介面1480等介面耦合至電子裝置1000的其他組件,以自電子裝置1000的其他組件可拆卸。該些儲存裝置1300a及1300b可為應用例如通用快閃儲存器(Universal Flash Storage,UFS)、嵌入式多媒體卡(embedded multi-media card,eMMC)或非揮發性記憶體快速(non-volatile memory express,NVMe)等標準協定的裝置,但配置不必局限於此。
影像俘獲裝置1410可俘獲靜止影像或移動影像。影像俘獲裝置1410可為照相機、攝像機、網路攝像機等。
使用者輸入裝置1420可自電子裝置1000的使用者接收各種類型的資料輸入,且可為觸控板、小鍵盤、鍵盤、滑鼠、麥克風等。
感測器1430可偵測可自電子裝置1000的外部獲得的各種類型的實體量,且可將感測到的實體量轉換成電性訊號。感測器1430可為溫度感測器、壓力感測器、亮度感測器、位置感測器、加速度感測器、生物感測器、陀螺儀感測器等。
通訊裝置1440可根據各種通訊協定與電子裝置1000外部的其他裝置發射及接收有線/無線訊號。通訊裝置1440可被實施成包括天線、收發器或數據機。
顯示器1450及揚聲器1460可用作分別向電子裝置1000的使用者輸出視覺資訊及聽覺資訊的輸出裝置。
電力供應裝置1470可適當地對自嵌入於電子裝置1000中的電池或外部電源供應的電力進行轉換且可向電子裝置1000的相應組件供應電力。
連接介面1480可提供電子裝置1000與連接至電子裝置1000的外部裝置之間的連接且可與系統(例如,電子裝置1000)交換資料。連接介面1480可以例如以下各種介面方法來實施:高級技術附件(Advanced Technology Attachment,ATA)、串列ATA(Serial ATA,SATA)、外部SATA(external SATA,e-SATA)、小型電腦小型介面(Small Computer Small Interface,SCSI)、串列附接SCSI(Serial Attached SCSI,SAS)、周邊組件互連(Peripheral Component Interconnection,PCI)、PCI快速(PCI express,PCIe)、NVMe、電氣及電子工程師學會(Institute of Electrical and Electronics Engineers,IEEE)1394、通用串列匯流排(universal serial bus,USB)、安全數位(secure digital,SD)卡、多媒體卡(multi-media card,MMC)、eMMC、UFS、嵌入式通用快閃儲存器(embedded Universal Flash Storage,eUFS)、緊密快閃(compact flash,CF)卡介面等。
另一方面,在圖16中,由記憶體控制器1310a及1310b實行用於傳輸同態加密資料的一系列操作。然而,應理解,本發明概念並不限於此。根據本發明概念示例性實施例的電子裝置可包括安全模組,所述安全模組獨立地實行用於傳輸同態加密資料的一系列操作。
另一方面,本發明概念適用於IoT裝置。
圖17是示出根據示例性實施例的IoT裝置的硬體(HW)及軟體(SW)結構的概念圖。參照圖17,IoT硬體2000可包括AP 2100、感測器單元2200、記憶體2300、通訊介面2400及輸入/輸出裝置2500。
IoT裝置可更包括作業系統(Operating System,OS)或應用2020。應用2020是指實施特定功能的軟體(SW)及服務。使用者意指使用應用2020的對象。使用者可藉由使用者界面(user interface,UI)與應用2020進行通訊。應用2020可基於每一服務用途而生成且藉由適合於每一用途的使用者界面與使用者進行通訊。應用2020可實行使用者所請求的操作,且若需要,可調用應用協定介面(Application Protocol Interface,API)2016及庫2017的內容。
API 2016或庫2017可實行負責特定功能的宏操作,或者當要求與層的階層中的下部層進行通訊時提供介面。當應用2020藉由API 2016或庫2017請求來自下部層的操作時,API 2016或庫2017可將接收到的請求分類為安全2013、網路2014及管理2015欄。API 2016或庫2017根據所請求的欄對所請求的層進行操作。舉例而言,當API 2016請求網路(2014)相關功能時,API 2016可傳輸網路2014層所需的參數且調用相關功能。在此種情形中,網路2014可與下部層進行通訊以實行所請求的操作。在其中層階層中不存在對應的下部層的情形中,API 2016或庫2017可直接實行對應的操作。
驅動器2011可用於管理IoT硬體2000且對IoT硬體2000的狀態進行檢查以及自更高層接收經分類的請求且將所接收的請求輸送至IoT硬體2000層。
當驅動器2011請求來自IoT硬體2000層的操作時,韌體2012可對請求進行轉換以被IoT硬體2000層接受。對請求進行轉換且將經轉換請求傳輸至IoT硬體2000的韌體2012可被實施成包括於驅動器2011中或者包括於IoT硬體2000中。
IoT裝置可包括API 2016、驅動器2011及韌體2012,且可在其中具有對其總體進行管理的作業系統(OS)2010。OS 2010可以控制命令代碼及資料的形式儲存於記憶體2300中。另一方面,在其中具有相對簡單功能的低成本IoT裝置的情形中,由於記憶體大小為小的,因此可包括控制軟體2010而非OS。
IoT硬體2000有序或無序地實行由驅動器2011及韌體2012輸送的請求(或命令),且由IoT硬體2000實行的結果可儲存於IoT硬體2000的內部暫存器或連接至IoT硬體2000的記憶體2300中。所儲存的結果可返回至驅動器2011及韌體2012。
IoT硬體2000可產生中斷以請求更高層所必須的操作。當中斷發生時,IoT硬體2000對OS 2010的管理2015部分中的對應中斷進行檢查且然後與IoT硬體2000的核心部分進行通訊以對對應的中斷進行處理。
圖18是示出根據示例性實施例的IoT裝置3000的圖。參照圖18,IoT裝置3000可包括IoT裝置應用3100及通訊模組3200。通訊模組3200可包括韌體3210、無線基頻晶片組3230及安全模組3240。
IoT裝置應用3100可作為軟體組件來對通訊模組3200進行控制,且可由IoT裝置的CPU執行。通訊模組3200可包括局部區域網路(local area network,LAN)、例如無線保真(wireless fidelity,Wi-Fi)等無線LAN(Wireless LAN,WLAN)、例如藍牙等無線個人區域網路(Wireless Personal Area Network,WPAN)、無線USB、紫蜂(ZigBee)、近場通訊(near field communication,NFC)、射頻識別(radio-frequency identification,RFID)或者可連接至行動通訊網路或者與行動通訊網路交換資料的無線通訊組件。
韌體3210可提供IoT裝置應用3100及應用程式設計介面(application programming interface,API),且可根據IoT裝置應用3100的控制來對無線基頻晶片組3230進行控制。無線基頻晶片組3230可提供去往無線通訊網路的連接。
安全模組3240可包括處理器3241及安全晶片3242。安全模組3240可對IoT裝置進行認證以存取無線通訊網路且可對IoT裝置進行認證以用於存取無線網路服務。安全晶片3242可被實施成提供參照圖1至圖15闡述的同態加密資料傳送方法。
另一方面,本發明概念適用於多個使用者終端裝置與多個伺服器之間的網路系統。
圖19是示出根據本發明概念示例性實施例的網路系統20的實例的圖。參照圖19,網路系統20包括多個終端裝置301至30K(其中K是大於或等於2的整數)以及第一伺服器401及第二伺服器402,且相應的組件可藉由網路21連接至彼此。
使用者可藉由終端裝置301至30K輸入各種資訊。輸入資訊可儲存於終端裝置301至30K自身中,但出於儲存容量及安全性的原因,可被傳輸至外部裝置且儲存於外部裝置中。第一伺服器401可用於儲存資訊,且第二伺服器402可用於使用儲存於第一伺服器401中的資訊中的一部分或全部。
終端裝置301至30K中的每一者可基於由第一伺服器401提供的資訊來實行運算且將運算結果提供至第一伺服器401。舉例而言,終端裝置301至30K中的每一者可為多方計算系統中的分布式計算系統中的一方(或使用者)。
第一伺服器401可在不對其進行解密的密文狀態下儲存接收到的同態密文。第二伺服器402可自第一伺服器401請求同態密文的特定處理結果。第一伺服器401可根據第二伺服器402的請求實行特定運算,且然後將結果傳輸至第二伺服器402。在此種情形中,第一伺服器401可使用所述多個終端裝置301至30K來實行所請求的運算。所述多個終端裝置301至30K中的每一者可根據如圖1至圖15中闡述的同態加密資料傳送方法來產生密文及參數,且可將所產生的密文及參數傳輸至第一伺服器401。
當第一伺服器401接收由每一電子裝置實行的運算結果時,第一伺服器401可藉由零知識證明來驗證接收到的運算結果,且可使用零知識證明完成的運算結果來產生與所請求的運算對應的結果值。另外,第一伺服器401可向請求運算的第二伺服器402提供運算結果。
在本發明概念的示例性實施例中,在用於密文的重新產生的設備所需的表格資料產生技術中以及在其設備中創建用於密文的重新產生的參數。由於此過程在與當m = a
0s時的同態加密相同的過程中創建表格資料,因此用於密文重新產生的資訊可被同態加密及傳輸。因此,傳輸的表格資料具有與原始系統的同態加密相同的安全等級,且因此,安全性不會受到表格資料的損害。
本發明概念是用於當第一次產生密文時可應用的技術,且是可在其中未實行運算的狀態下(例如,當傳輸資料時)將0級密文增加至所需等級的技術。在現有的同態加密方法中,較0級密文的等級大L倍的L-1級密文被傳輸,但本發明概念提供一種用於預先共享不影響安全性的表格資料且僅傳輸0級密文的技術及設備、以及一種用於在示例性實施例中藉由0級密文與表格資料之間的簡單運算來產生L-1級的技術及設備。
根據本發明概念示例性實施例的同態加密裝置可包括參數產生電路,所述參數產生電路被配置成產生用於自具有運算等級0的密文產生具有運算等級L的密文的參數。在示例性實施例中,同態加密裝置可包括密文產生電路,密文產生電路被配置成基於該些參數產生運算等級0的密文作為運算等級L的密文。在示例性實施例中,密文產生電路被配置成基於多個密文之間的計算方案來確定及產生密文的所需運算等級。
根據示例性實施例的一種產生同態加密裝置的密文的方法可包括:產生用於自具有運算等級0的密文產生具有運算等級L的密文的參數;以及基於所述參數產生運算等級0的密文作為運算等級L的密文。在示例性實施例中,產生密文的方法可包括基於多個密文之間的計算方案來確定及產生密文的所需運算等級。可根據所確定的運算等級來產生參數。
如上所述,在根據示例性實施例的儲存裝置、主機裝置及其資料傳送方法中,藉由在同態加密資料傳輸期間傳輸第一運算等級密文及用於密文重新產生的參數,可減少資料傳輸量,且亦可減少計算時間。
另外,記憶體裝置100、控制器200、思維網際網路裝置3000及/或其中包括的組件可包括:處理電路系統,例如包括邏輯電路的硬體;硬體/軟體組合,例如執行軟體的處理器;或者其組合。舉例而言,處理電路系統可包括但不限於中央處理單元(CPU)、記憶體控制器、算術邏輯單元(arithmetic logic unit,ALU)、數位訊號處理器、微型電腦、現場可程式化閘陣列(field programmable gate array,FPGA)及可程式化邏輯單元、微處理器、專用積體電路(application-specific integrated circuit,ASIC)等。
儘管以上已示出及闡述示例性實施例,但對於熟習此項技術者而言將顯而易見的是,在不背離由所附申請專利範圍所界定的本發明概念的範圍的條件下,可進行修改及變化。
10、14-1、510、610、1010、1110、1300a、1300b:儲存裝置(SSD)
14-2:主機CPU
14-3:行動裝置
14-4、1520:雲端伺服器
20:網路系統
21、2014:網路
100:非揮發性記憶體裝置(NVM)/記憶體裝置
110:記憶胞元陣列
120:列解碼器
130:頁緩衝器電路
140:輸入/輸出緩衝器電路
150:控制邏輯
160:電壓產生器
170:胞元計數器
200:控制器(CNTL)
201:主機介面
202:記憶體介面
210:處理器/中央處理單元(CPU)
220:緩衝記憶體
230:錯誤校正電路/ECC電路
240:快閃轉換層管理器
250:封包管理器
260:安全模組
301、302~30K:終端裝置
401:第一伺服器
402:第二伺服器
511、611、1111:同態加密裝置
520、620:主機裝置
525、625、1025、1125:運算單元
611-1、710、1111-1、HEU、HEU 1、HEU 2~HEU L-1、HEU L:同態加密單元
611-2、720、1111-2:表格資料產生器
621、810、1121:密文重新產生器
711、721:乘法器
712:加法器
722:減法器
1000:電子裝置
1020、1120:伺服器
1100:主處理器
1101:CPU核心
1102:控制器
1103:加速器
1200a、1200b、2300:記憶體
1310a、1310b:記憶體控制器
1320a、1320b:非揮發性記憶體(NVM)
1410:影像俘獲裝置
1420:使用者輸入裝置
1430:感測器
1440:通訊裝置
1450:顯示器
1460:揚聲器
1470:電力供應裝置
1480:連接介面
1510:IoT裝置
2000:IoT硬體
2010:作業系統(OS)
2011:驅動器
2012、3210:韌體
2013:安全
2015:管理
2016:應用協定介面(API)
2017:庫
2020:應用
2100:AP
2200:感測器單元
2400:通訊介面
2500:輸入/輸出裝置
3000:IoT裝置/物聯網裝置
3100:IoT裝置應用
3200:通訊模組
3230:無線基頻晶片組
3240:安全模組
3241:處理器
3242:安全晶片
a:第一訊息
a
0、a
i:公用金鑰
ADD:位址
ALE:位址鎖存賦能/控制訊號
b:第二訊息
BLK1、BLK2、BLK3、BLK4~BLKz:記憶體區塊
BL:位元線
CE:晶片賦能/晶片賦能訊號/控制訊號
CLE:命令鎖存賦能/控制訊號
CMD:命令
ct
0、ct
1、ct
L、HEM_L2~HEM_LL-1、HEM_LL:密文
DQ:資料訊號線
DQS:資料選通訊號
e、e
0、e
i:隨機值
EDATA:第一運算等級密文
GSL、SSL:選擇線
HEM:同態加密資料
HEM_L1:第一等級密文
IV:初始值
M:原始資料/原始訊息/訊息
m:訊息
PB1~PBn:頁緩衝器
PRMT:參數
RE:讀取賦能/控制訊號
s:專用金鑰
S10、S20、S30、S40、S50、S60、S70、S110、S120、S130、S210、S220、S230:操作
TD:表格資料
te:隨機值/t位元移位隨機值
VWL:字元線電壓
WE:寫入賦能/控制訊號
WL:字元線
根據以下結合附圖的詳細說明,將更清楚地理解本發明概念的上述及其他態樣、特徵及優點,在附圖中:
圖1是示出根據示例性實施例的儲存裝置10的實例的圖。
圖2是示出圖1中所示的非揮發性記憶體裝置100的實例的圖。
圖3是示出根據示例性實施例的控制器200的實例的圖。
圖4是示出一般同態加密過程的圖。
圖5是示出根據通用儲存裝置(固態裝置(solid state device,SSD))510的同態加密裝置的密文傳輸方法的視圖。
圖6是示出根據示例性實施例的傳輸儲存裝置610的同態加密資料的方法的圖。
圖7A是示出根據示例性實施例的同態加密單元710的圖,且圖7B是示出根據示例性實施例的表格資料產生器720的圖。
圖8是示出根據示例性實施例的密文重新產生器810的實例的圖。
圖9A是示出CKKS密文的結構的圖,且圖9B是示出BGV密文的結構的圖。
圖10是示出BGV同態加密資料的一般傳輸方法的圖。
圖11是示出根據另一示例性實施例的傳輸儲存裝置中的同態加密資料的方法的圖。
圖12是示出根據示例性實施例的傳輸儲存裝置的同態加密資料的操作的實例的流程圖。
圖13是示出根據示例性實施例的操作主機裝置的方法的實例的流程圖。
圖14A及圖14B是示出作為實例的應用本發明概念的同態加密資料傳送方法的示例性實施例的圖。
圖15是示出根據示例性實施例的雲端系統中的資料傳送方法的實例的梯形圖。
圖16是示出應用根據示例性實施例的儲存裝置的電子裝置1000的實例的圖。
圖17是示出根據示例性實施例的物聯網(internet of things,IoT)裝置的硬體(hardware,HW)及軟體(software,SW)結構的概念圖。
圖18是示出根據示例性實施例的IoT裝置3000的圖。
圖19是示出根據示例性實施例的網路系統20的實例的圖。
10:儲存裝置(SSD)
100:非揮發性記憶體裝置(NVM)/記憶體裝置
150:控制邏輯
200:控制器(CNTL)
210:處理器/中央處理單元(CPU)
220:緩衝記憶體
260:安全模組
ALE:位址鎖存賦能/控制訊號
BLK1、BLK2、BLK3、BLK4~BLKz:記憶體區塊
CE:晶片賦能/晶片賦能訊號/控制訊號
CLE:命令鎖存賦能/控制訊號
DQ:資料訊號線
DQS:資料選通訊號
EDATA:第一運算等級密文
RE:讀取賦能/控制訊號
WE:寫入賦能/控制訊號
Claims (20)
- 一種傳輸儲存裝置中的資料的方法,所述方法包括: 基於同態加密演算法對原始資料進行加密以產生經加密資料; 使用所述經加密資料及鍵值產生用於密文的重新產生的參數,所述密文具有較所述經加密資料的運算等級高的運算等級;以及 將所述經加密資料及所述參數傳輸至外部主機裝置。
- 如請求項1所述的方法,其中所述同態加密演算法是全同態加密演算法,且 所述經加密資料是無法實行多次密文運算的第一運算等級的密文。
- 如請求項1所述的方法,其中所述加密包括對所述儲存裝置的專用金鑰與所述儲存裝置的公用金鑰實行乘法運算,以產生所述乘法運算的資料。
- 如請求項3所述的方法,其中所述加密更包括對所述原始資料、所述乘法運算的資料及第一隨機值實行加法運算。
- 如請求項3所述的方法,其中所述加密更包括確定所述原始資料的量值。
- 如請求項5所述的方法,其中所述加密更包括將第一隨機值移位與所確定的所述量值對應的位元,以產生經移位第一隨機值。
- 如請求項6所述的方法,其中所述加密更包括對所述原始資料、所述乘法運算的資料及所述經移位第一隨機值實行加法運算。
- 如請求項1所述的方法,其中所述儲存裝置的公用金鑰的數目與密文的運算等級的數目對應,所述密文的所述運算等級的所述數目與所述密文的可能運算數目對應。
- 如請求項1所述的方法,其中當對多個原始資料進行加密及傳輸時,所述參數僅被傳輸至所述主機裝置一次。
- 如請求項9所述的方法,其中所述產生所述參數包括: 確定所述密文的所述運算等級;以及 根據所確定的所述運算等級產生所述參數。
- 一種儲存裝置,包括: 至少一個非揮發性記憶體裝置;以及 控制器,被配置成對所述至少一個非揮發性記憶體裝置進行控制, 其中所述控制器包括 控制接腳,向所述至少一個非揮發性記憶體裝置提供控制訊號, 安全模組,被配置成實行同態加密運算, 緩衝記憶體,被配置成暫時儲存所述同態加密運算所需的資料,以及 至少一個處理器,被配置成對所述控制器的總體操作進行控制,且 其中所述安全模組基於同態加密演算法將原始資料加密為第一運算等級的第一密文,且產生用於運算等級較所述第一運算等級高的第二密文的重新產生的參數。
- 如請求項11所述的儲存裝置,其中所述安全模組實行自加密磁碟(SED)功能或可信計算組(TCG)安全功能。
- 如請求項11所述的儲存裝置,其中所述安全模組確定所述第二密文的可能運算數目,且產生與所確定的所述可能運算數目對應的所述參數。
- 如請求項11所述的儲存裝置,其中所述參數是使用所述儲存裝置的專用金鑰及所述儲存裝置的公用金鑰來產生。
- 如請求項11所述的儲存裝置,其中所述同態加密演算法是CKKS同態演算法及BGV同態演算法中的一者。
- 一種操作主機裝置的方法,包括: 自儲存裝置接收第一運算等級的第一密文及參數; 使用所述第一運算等級的所述第一密文及所述參數之中的對應資料而重新產生相應的多個運算等級的相應的多個第二密文;以及 使用重新產生的所述多個第二密文實行密文運算。
- 如請求項16所述的方法,更包括基於所述參數來選擇所述多個運算等級中的一個運算等級。
- 如請求項17所述的方法,其中所述重新產生所述多個第二密文包括產生所述多個第二密文之中的與所選擇的所述運算等級對應的第二密文。
- 如請求項16所述的方法,其中所述參數被同態加密且以與密文的運算等級相同的運算等級被接收。
- 如請求項16所述的方法,更包括向所述儲存裝置傳輸所述密文運算的值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210102583A KR102430495B1 (ko) | 2021-08-04 | 2021-08-04 | 저장 장치, 호스트 장치 및 그것의 데이터 전송 방법 |
KR10-2021-0102583 | 2021-08-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202307704A true TW202307704A (zh) | 2023-02-16 |
Family
ID=81328004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111113250A TW202307704A (zh) | 2021-08-04 | 2022-04-07 | 傳輸資料及操作主機裝置的方法以及儲存裝置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230044214A1 (zh) |
EP (1) | EP4131844B1 (zh) |
KR (1) | KR102430495B1 (zh) |
CN (1) | CN115705432A (zh) |
TW (1) | TW202307704A (zh) |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101226685B1 (ko) | 2007-11-08 | 2013-01-25 | 삼성전자주식회사 | 수직형 반도체 소자 및 그 제조 방법. |
US8194858B2 (en) * | 2009-02-19 | 2012-06-05 | Physical Optics Corporation | Chaotic cipher system and method for secure communication |
KR101691092B1 (ko) | 2010-08-26 | 2016-12-30 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템 |
US8553466B2 (en) | 2010-03-04 | 2013-10-08 | Samsung Electronics Co., Ltd. | Non-volatile memory device, erasing method thereof, and memory system including the same |
US9536970B2 (en) | 2010-03-26 | 2017-01-03 | Samsung Electronics Co., Ltd. | Three-dimensional semiconductor memory devices and methods of fabricating the same |
KR101682666B1 (ko) | 2010-08-11 | 2016-12-07 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템 |
JP2014535199A (ja) * | 2011-10-24 | 2014-12-25 | コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ | コンテンツの安全な配給 |
US9306738B2 (en) * | 2012-12-21 | 2016-04-05 | Microsoft Technology Licensing, Llc | Managed secure computations on encrypted data |
JP6360781B2 (ja) * | 2014-11-07 | 2018-07-18 | 国立大学法人電気通信大学 | 暗号化制御システムおよび暗号化制御方法、並びにプログラム |
WO2016131056A1 (en) * | 2015-02-13 | 2016-08-18 | Visa International Service Association | Confidential communication management |
KR101677114B1 (ko) * | 2015-08-28 | 2016-11-18 | 고려대학교 산학협력단 | 동형 암호를 이용한 생체정보의 이상치 탐색 방법 |
US10075289B2 (en) * | 2015-11-05 | 2018-09-11 | Microsoft Technology Licensing, Llc | Homomorphic encryption with optimized parameter selection |
US9846785B2 (en) * | 2015-11-25 | 2017-12-19 | International Business Machines Corporation | Efficient two party oblivious transfer using a leveled fully homomorphic encryption |
KR101919940B1 (ko) * | 2017-02-08 | 2018-11-19 | 서울대학교산학협력단 | 완전 동형 암호 방법에 의한 동적 데이터의 처리 방법 |
US10541805B2 (en) * | 2017-06-26 | 2020-01-21 | Microsoft Technology Licensing, Llc | Variable relinearization in homomorphic encryption |
EP3993308A1 (en) * | 2020-10-29 | 2022-05-04 | Zama SAS | Fully homomorphic cryptography with improved data item representation |
JP7084067B1 (ja) * | 2021-03-26 | 2022-06-14 | 株式会社アクセル | 暗号処理装置、暗号処理方法、及び暗号処理プログラム |
WO2023012776A1 (en) * | 2021-08-01 | 2023-02-09 | Raheman Fazal | In-computer offline storage (icos) to achieve zero vulnerability computing (zvc) |
-
2021
- 2021-08-04 KR KR1020210102583A patent/KR102430495B1/ko active IP Right Grant
-
2022
- 2022-03-11 US US17/692,458 patent/US20230044214A1/en active Pending
- 2022-04-07 TW TW111113250A patent/TW202307704A/zh unknown
- 2022-04-19 EP EP22168764.3A patent/EP4131844B1/en active Active
- 2022-07-11 CN CN202210811163.2A patent/CN115705432A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230044214A1 (en) | 2023-02-09 |
KR102430495B1 (ko) | 2022-08-09 |
CN115705432A (zh) | 2023-02-17 |
EP4131844A1 (en) | 2023-02-08 |
EP4131844B1 (en) | 2023-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230139330A1 (en) | Storage device for a blockchain network based on proof of space and system including the same | |
CN110046506A (zh) | 存储设备和包括存储设备的存储系统及使用其进行操作的方法 | |
TW201250515A (en) | Encrypted transport solid-state disk controller | |
TWI737088B (zh) | 主機型快閃記憶體維護技術 | |
US20210303736A1 (en) | Storage device and data destruction method thereof | |
US20230368019A1 (en) | Deep learning system for performing private inference and operating method thereof | |
JP2022136025A (ja) | ストレージ装置 | |
US20230141837A1 (en) | Device for supporting homomorphic encryption operation and operating method thereof | |
CN114647374A (zh) | 执行处理代码的存储装置和存储装置的操作方法 | |
US20230146149A1 (en) | Homomorphic encryption system for supporting approximate arithmetic operation and method of operating the same | |
KR102430495B1 (ko) | 저장 장치, 호스트 장치 및 그것의 데이터 전송 방법 | |
US20220368851A1 (en) | Removable Storage Device with a Virtual Camera for Video Surveillance as a Service | |
KR20230068945A (ko) | 동형 암호 연산을 지원하는 장치 및 그것의 동작 방법 | |
US20230135891A1 (en) | Storage device including storage controller and operating method | |
US12074983B2 (en) | Trusted computing device and operating method thereof | |
US11841767B2 (en) | Controller controlling non-volatile memory device, storage device including the same, and operating method thereof | |
US20230128638A1 (en) | Method of operating storage device and method of operating storage system using the same | |
KR20230068942A (ko) | 근사 연산을 지원하는 동형 암호 시스템 및 그것의 동작 방법 | |
US20230359369A1 (en) | Storage compute services for encrypted data | |
US20240193041A1 (en) | Operation method of memory controller configured to control memory device | |
US20230154529A1 (en) | Storage controller and storage device including the same | |
EP4386556A1 (en) | Operation method of memory controller configured to control memory device | |
US20230035988A1 (en) | Storage device, storage system operating method, and computing system | |
KR20230076709A (ko) | 비휘발성 메모리 장치를 제어하는 제어기, 그것을 포함하는 저장 장치 및 그것의 동작 방법 | |
KR20230161236A (ko) | 임베디드 저장 장치, 그것을 갖는 호스트 시스템 및 그것의 동작 방법 |