TWI716023B - 記憶體系統 - Google Patents
記憶體系統 Download PDFInfo
- Publication number
- TWI716023B TWI716023B TW108123537A TW108123537A TWI716023B TW I716023 B TWI716023 B TW I716023B TW 108123537 A TW108123537 A TW 108123537A TW 108123537 A TW108123537 A TW 108123537A TW I716023 B TWI716023 B TW I716023B
- Authority
- TW
- Taiwan
- Prior art keywords
- authentication
- host
- authentication code
- command
- data
- Prior art date
Links
- 238000012545 processing Methods 0.000 description 135
- 230000004044 response Effects 0.000 description 29
- 230000008859 change Effects 0.000 description 28
- 238000000034 method Methods 0.000 description 23
- 238000007726 management method Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 230000010365 information processing Effects 0.000 description 7
- 230000000052 comparative effect Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/42—User authentication using separate channels for security data
-
- 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
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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
-
- 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/80—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 storage media based on magnetic or optical technology, e.g. disks with sectors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1653—Address circuits or decoders
- G11C11/1657—Word-line or row circuits
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B61/00—Magnetic memory devices, e.g. magnetoresistive RAM [MRAM] devices
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N—ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N50/00—Galvanomagnetic devices
- H10N50/10—Magnetoresistive devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Memory System (AREA)
Abstract
實施形態實現可以強化對儲存器之存取的安全之記憶體系統。
依據實施形態,記憶體系統具備:非揮發性記憶體;及電連接於上述非揮發性記憶體的控制器。上述控制器構成為,從第1主機接受認證要求指令,若使用包含於上述認證要求指令的認證資訊之上述第1主機之認證成功之情況下,對上述第1主機傳送第1認證碼。上述控制器構成為,從第2主機接受到存取上述非揮發性記憶體之存取指令之情況下,若包含於上述存取指令的第2認證碼與上述第1認證碼一致時,允許與上述存取指令對應的對上述非揮發性記憶體之存取,若上述第2認證碼與上述第1認證碼不一致的話,禁止與上述存取指令對應的對上述非揮發性記憶體之存取。
Description
本發明之實施形態關於具備非揮發性記憶體的記憶體系統。
[關聯申請]
本申請享受日本專利申請2019-10138號(申請日:2019年1月24日)之基礎申請的優先權。本申請藉由參照該基礎申請而包含基礎申請之全部之內容。
近年來,具備非揮發性記憶體的記憶體系統廣泛普及。
作為這樣的記憶體系統之一,具備NAND型快閃記憶體的固態硬碟(SSD)為已知。SSD作為各種電腦硬碟之主儲存器使用。
又,為了防止資料之洩漏等,記憶體系統具有寫入時將資料自動加密的自我加密功能。具有該自我加密功能的記憶體系統亦被稱為自我加密硬碟(self encrypting drive: SED)。
作為SED準據的安全規格之一,有信賴運算組織(TCG)之規格。TCG之規格中例如對資料加密、儲存器之部分區域之每一區域之存取控制進行規定。
本發明之實施形態提供可以強化對儲存器之存取的安全之記憶體系統。
依據實施形態,記憶體系統係具備:非揮發性記憶體;及控制器。上述控制器構成為,電連接於上述非揮發性記憶體,接受從複數個主機(host)分別傳送的指令,對寫入上述非揮發性記憶體的資料實施加密,對從上述非揮發性記憶體讀出的資料實施解密。上述控制器構成為,從第1主機接受認證要求指令,使用包含於上述認證要求指令的認證資訊之上述第1主機之認證成功之情況下,對上述第1主機傳送第1認證碼。上述控制器構成為,從第2主機接受到存取上述非揮發性記憶體之存取指令之情況下,若包含於上述存取指令的第2認證碼與上述第1認證碼一致時,許可與上述存取指令對應的對上述非揮發性記憶體之存取,若上述第2認證碼與上述第1認證碼不一致的話,禁止與上述存取指令對應的對上述非揮發性記憶體之存取。
以下,參照圖面說明實施之形態。
首先,參照圖1說明包含一實施形態的記憶體系統之資訊處理系統1之構成。
該記憶體系統,係對如NAND型快閃記憶體5這樣的非揮發性記憶體寫入資料,或從非揮發性記憶體讀出資料而構成的半導體儲存器裝置,亦稱為儲存器裝置。該記憶體系統,例如以具備NAND型快閃記憶體5的固態硬碟(SSD)3來實現。以下示出記憶體系統(亦即儲存器裝置)以SSD3實現之情況之例,但記憶體系統亦可以藉由硬碟驅動器(HDD)來實現。
SSD3,為了防止資料之洩漏等,因此具有寫入時將資料自動加密的自我加密功能。亦即,SSD3為具有自我加密功能的自我加密硬碟(SED)。SSD3例如遵循信賴運算組織(TCG)之規格,具有TCG之規格中訂定的自我加密功能。TCG之規格中,例如對資料加密、儲存器之部分區域之每一區域之存取控制進行規定。
資訊處理系統1包含1個以上之主機裝置2-1、2-2、……、2-N(以下亦稱為主機)、SSD3、及中繼器7。各主機2-1、2-2、……、2-N,係經由中繼器7對SSD3進行存取的資訊處理裝置。中繼器7亦稱為擴展器、交換器。各主機2-1、2-2、……、2-N可以是將大量且多種之資料保存於SSD3的儲存伺服器,亦可以是個人電腦。以下有時將1個以上之主機2-1、2-2、……、2-N或其中之1個主機稱為主機2。
SSD3亦可以作為主機2而發揮功能的資訊處理裝置之儲存器使用。SSD3內建於該資訊處理裝置亦可,經由排線或網路連接於該資訊處理裝置亦可。
作為將主機2與SSD3相互連接之介面,可以使用SCSI、Serial Attached SCSI(SAS)、ATA、Serial ATA(SATA)、PCI Express(PCIe)(註冊商標)、Ethernet(註冊商標)、Fibre channel、NVM Express(NVMe)(註冊商標)等。
SSD3具備控制器4及NAND型快閃記憶體5。控制器4可以藉由System-on-a-chip(SoC(系統單晶片))這樣的電路來實現。
又,SSD3具備揮發性記憶體之隨機存取記憶體(RAM)例如動態隨機存取記憶體(DRAM)6亦可。或者,靜態隨機存取記憶體(SRAM)這樣的RAM內建於控制器4亦可。又,DRAM6內建於控制器4亦可。
於DRAM6等之RAM設置有將寫入NAND型快閃記憶體5的資料或從NAND型快閃記憶體5讀出的資料暫時記憶之緩衝區域20。
又,於DRAM6等之RAM設置有,邏輯實體位址變換表格而發揮功能的查詢表格(LUT)21之快取記憶體(cache)區域。LUT21管理邏輯位址(例如邏輯區塊位址(LBA))各自與NAND型快閃記憶體5之實體位址各自之間之對照(mapping)。再者,於DRAM6等之RAM可以設置從主機2接受到的指令之處理使用的各種之資料(例如加密金鑰22、暫時認證碼23)之記憶區域。
NAND型快閃記憶體5包含複數個區塊B0~Bm-1。區塊B0~Bm-1各自包含複數個頁面(page)(於此為頁面P0~Pn-1)。區塊B0~Bm-1作為最小之抹除單位而發揮功能。區塊亦有稱為「抹除區塊」或「實體區塊」。頁面P0~Pn-1各自包含連接於同一字元線的複數個記憶單元(memory cell)。頁面P0~Pn-1為資料寫入動作及資料讀出動作之單位。又,以字元線作為資料寫入動作及資料讀出動作之單位亦可。
對各個區塊B0~Bm-1可以容許的最大抹寫次數(最大P/E Cycle)有限制。某一區塊之1次之P/E Cycle,係包含對該區塊內之全部之記憶單元設為抹除狀態的抹除動作,以及對該區塊之頁面分別寫入資料的寫入動作。
控制器4,係經由與Toggle DDR、Open NAND Flash Interface(ONFI)等之介面規格對應的NAND介面13電連接於NAND型快閃記憶體5。NAND介面13作為對NAND型快閃記憶體5進行控制而構成的NAND控制電路發揮功能。
NAND介面13經由複數個通道(Ch)分別連接於NAND型快閃記憶體5內之複數個NAND型快閃記憶晶片亦可。藉由對複數個NAND型快閃記憶晶片並聯驅動,可以使對NAND型快閃記憶體5的存取寬帶化。
控制器4作為對NAND型快閃記憶體5進行控制而構成的記憶體控制器發揮功能。
控制器4作為執行NAND型快閃記憶體5之資料管理及區塊管理而構成的快閃記憶體轉換層(Flash Translation Layer, FTL)發揮功能亦可。藉由該FTL執行的資料管理包含有:(1)表示邏輯位址各自與NAND型快閃記憶體5之實體位址各自之間之對應關係的對照資訊之管理,(2)隱蔽頁面單位之讀出/寫入與區塊單位之抹除(Erase)動作的處理等。邏輯位址係為了對SSD3定址而由主機2使用的位址。以下假設使用邏輯區塊位址(LBA)作為該邏輯位址。
LBA各自與實體位址各自之間之對照之管理,係使用作為邏輯實體位址變換表格而發揮功能的LUT21來執行。控制器4使用LUT21按照特定之管理大小單位對LBA各自與實體位址各自之間之對照進行管理。某一LBA對應的實體位址係表示被寫入有該LBA之資料的NAND型快閃記憶體5內之實體記憶位置。LUT21在SSD3之電源導通(ON)時從NAND型快閃記憶體5載入DRAM6亦可。
對1個頁面的資料寫入,每一次之P/E Cycle只可能1次。因此,控制器4係將與某一LBA對應的更新資料寫入另一實體記憶位置,而不是寫入與該LBA對應的以前之資料被記憶的實體記憶位置。接著,控制器4將該LBA與該另一實體記憶位置建立關聯對應並更新LUT21,將以前之資料設為無效化。
區塊管理包含不良區塊(Bad block)之管理、平均抹寫技術(wear levelling)、垃圾資料回收(garbage collection)等。
控制器4可以包含主機介面11、CPU12、NAND介面13、DRAM介面14、及加密電路15等。彼等主機介面11、CPU12、NAND介面13、DRAM介面14、及加密電路15可以透過匯流排10相互連接。
主機介面11係作為從主機2接收各樣的指令例如I/O指令、各種控制指令、遵循TCG規格的TCG指令等的電路而發揮功能。I/O指令可以包含寫入指令、讀出指令等。控制指令可以包含UNMAP指令(TRIM指令)、格式化(Format)指令,確認(Verify)指令等。格式化指令係對SSD3全體實施UNMAP之指令。確認指令為,不將資料或詮釋資料(metadata)傳送至主機2,而從NAND型快閃記憶體5讀出指定的LBA或LBA範圍之資料及詮釋資料,記憶於NAND型快閃記憶體5的資訊之完備性進行驗證之指令。記憶於NAND型快閃記憶體5的資訊之完備性,例如依據使用讀出的資料及詮釋資料之錯誤訂正是否為可能而進行驗證。又,TCG指令為,對SSD3要求認證、對NAND型快閃記憶體5之存取設定變更等的指令。
DRAM介面14作為控制對DRAM6之存取而構成的DRAM控制電路而發揮功能。DRAM6之記憶區域為,記憶LUT21、加密金鑰22、暫時認證碼23等的區域,或是被分配作為讀出/寫入緩衝部等利用的緩衝區域20。
加密電路15進行使用者資料之加密及解密。加密電路15例如對透過NAND介面13寫入NAND型快閃記憶體5的使用者資料實施加密,對透過NAND介面13從NAND型快閃記憶體5讀出的使用者資料實施解密。加密電路15,例如使用藉由CPU12設定的加密金鑰22進行使用者資料之加密及解密。加密金鑰22可以保存於DRAM6等之RAM。
CPU12構成為對主機介面11、NAND介面13、及DRAM介面14進行控制的處理器。CPU12藉由執行記憶於未圖示的ROM等之控制程式而進行各樣的處理。該控制程式亦稱為韌體。CPU12除上述之FTL之處理以外,亦可以執行處理來自主機2之各樣的指令之指令處理等。CPU12之動作係藉由CPU12執行上述韌體而進行控制。又,FTL處理及指令處理之一部分或全部藉由控制器4內之專用硬體來執行亦可。
控制器4還具有自我加密、對主機2之認證及對NAND型快閃記憶體5的存取控制之功能。
但是,例如遵循TCG規格的SSD3連接1個主機2之情況下,SSD3中係使用從主機2傳送的個人識別碼(PIN)或密碼這樣的認證資訊進行主機2之認證。該認證成功的話,主機2對NAND型快閃記憶體5的存取例如對NAND型快閃記憶體5之資料之寫入或從NAND型快閃記憶體5之資料之讀出成為可能。又,認證失敗的話,主機2對NAND型快閃記憶體5之資料之寫入或從NAND型快閃記憶體5之資料之讀出為不可能。亦即,不具有正確的認證資訊之主機2無法對NAND型快閃記憶體5進行存取而被控制。
但是,例如遵循TCG規格的SSD3連接有複數個主機2,其中之1個主機2之認證成功之情況下,不僅該主機2,連認證未成功的其他主機2亦成為可以存取NAND型快閃記憶體5之情況存在。或者,SSD3連接有1個主機2,在該主機2之認證成功之後,SSD3之電源未被切斷(OFF),進一步另一主機2與SSD3連接之情況下,該另一主機2雖未認證成功,但是亦成為可以存取NAND型快閃記憶體5之情況。
如此般遵循TCG規格的SSD3中,認證未成功的主機2有可能存取NAND型快閃記憶體5。認證未成功的主機2為不具有正確的認證資訊之主機。認證未成功的主機2的存取成為記憶於NAND型快閃記憶體5的資料之洩漏或改竄這樣的安全上之缺陷。
因此,本實施形態中進行控制以使,在與TCG規格這樣的自我加密相關的規格,及遵循各種之介面規格的SSD3中,僅認證成功的主機2可以存取NAND型快閃記憶體5,認證未成功的主機2不可以存取NAND型快閃記憶體5。
更具體而言,SSD3,在某一主機2之認證成功之情況下生成暫時認證碼,將暫時認證碼僅傳送給該主機2。接著,該主機2將包含暫時認證碼之存取指令傳送給SSD3。存取指令為對NAND型快閃記憶體5存取之指令,例如讀出指令、寫入指令等。
若生成的暫時認證碼與包含於存取指令的暫時認證碼一致之情況下,SSD3允許與存取指令對應的對NAND型快閃記憶體5之存取,不一致之情況下,禁止與存取指令對應的對NAND型快閃記憶體5之存取。據此,控制成為僅認證成功且取得了暫時認證碼的主機2可以存取NAND型快閃記憶體5,可以強化對NAND型快閃記憶體5之存取的安全。
又,對NAND型快閃記憶體5的存取有可能包含,對應寫入NAND型快閃記憶體5的使用者資料被快取記憶在緩衝區域20(亦即寫入緩衝部)之存取,或對從NAND型快閃記憶體5已讀出的使用者資料被快取記憶在緩衝區域20(亦即讀出緩衝部)之存取。因此SSD3,不論使用者資料被記憶於NAND型快閃記憶體5,或快取記憶於緩衝區域20,在生成的暫時認證碼與包含於存取指令的暫時認證碼一致之情況下,允許存取指令所指定的對LBA或LBA範圍之資料之存取,不一致之情況下,禁止存取指令所指定的對LBA或LBA範圍之資料之存取。亦即,SSD3不僅控制對NAND型快閃記憶體5本身之存取,亦對暫時記憶被寫入NAND型快閃記憶體5的資料或從NAND型快閃記憶體5被讀出的資料之緩衝區域20之存取進行控制。
為了實現上述這樣的動作,CPU12例如作為讀出/寫入指令處理部121、讀出/寫入資料處理部122、認證碼處理部123、TCG指令處理部124、認證碼管理部125、及加密金鑰生成部126而發揮功能。參照圖2說明彼等各部之動作。
TCG指令處理部124、認證碼管理部125、及加密金鑰生成部126對主機2之認證進行控制。TCG指令處理部124、認證碼管理部125、及加密金鑰生成部126接受來自主機2要求認證之認證要求指令,若使用包含於認證要求指令的認證資訊之主機2之認證成功之情況下,對該主機2傳送暫時認證碼23。暫時認證碼23例如被保存於DRAM6。
又,讀出/寫入指令處理部121、讀出/寫入資料處理部122、及認證碼處理部123控制主機2對NAND型快閃記憶體5的存取。讀出/寫入指令處理部121、讀出/寫入資料處理部122、及認證碼處理部123,在從主機2接受到存取NAND型快閃記憶體5之存取指令接受況下,若包含於存取指令的暫時認證碼與保存於DRAM6的暫時認證碼23一致的話,允許與存取指令對應的對NAND型快閃記憶體5之存取,若包含於存取指令的暫時認證碼與保存於DRAM6等的暫時認證碼23不一致的話,禁止與存取指令對應的對NAND型快閃記憶體5之存取。
更具體而言,TCG指令處理部124進行從某一主機2透過主機介面11接收的TCG指令之處理。如上述般,TCG指令為遵循TCG規格的指令,例如使用於主機2對SSD3要求與認證或安全相關的設定之變更等。TCG指令處理部124進行與要求認證的TCG指令(亦即認證要求指令)對應的認證處理。又,TCG指令處理部124進行與要求設定變更的TCG指令(以下亦稱為設定變更指令)對應的設定變更處理。
認證要求指令包含PIN或密碼這樣的主機2之認證資訊。認證要求指令不以平文傳送認證資訊,例如可以使用TCG Secure Messaging技術進行加密。該情況下,TCG指令處理部124使用該技術對包含於認證要求指令的已加密的認證資訊實施解密。
設定變更指令包含要求設定變更的屬性之識別碼,及對該屬性應新設定之值。例如作為要求設定變更的屬性,而被設定有對NAND型快閃記憶體5的讀出之可否、寫入之可否、以及讀出及寫入之可否之任一之情況下,在應新設定給屬性之值上被設定為可能或不可能。因此例如主機2要求將對NAND型快閃記憶體5的讀出設為可能之情況下,設定變更指令包含表示「讀出之可否」的作為屬性之識別碼之「可能」之值。
TCG指令處理部124使用包含於認證要求指令的認證資訊(或者解密的認證資訊)與記憶於NAND型快閃記憶體5之認證資訊31來驗證主機2是否具有正確的認證資訊。若包含於認證要求指令的認證資訊與記憶於NAND型快閃記憶體5之認證資訊31一致的話,主機2具有正確的認證資訊,因此TCG指令處理部124判斷主機2之認證成功。包含於認證要求指令的認證資訊與記憶於NAND型快閃記憶體5之認證資訊31不同的話,主機2不具有正確的認證資訊,因此TCG指令處理部124判斷主機2之認證失敗。又,記憶於NAND型快閃記憶體5之認證資訊31,可以是正確的認證資訊本身,或是藉由實施特定之處理可以導出正確的認證資訊之資訊。
在主機2之認證成功之情況下,TCG指令處理部124將NAND型快閃記憶體5設定為可以存取。TCG指令處理部124可以據包含於設定變更指令的要求設定變更的屬性之識別碼及應新設定給該屬性之值,將對NAND型快閃記憶體5的讀出存取與寫入存取之至少一方設為可能。
主機2之認證成功之情況下,加密金鑰生成部126生成加密金鑰22,並設定於加密電路15。加密金鑰22使用於對使用者資料之加密與對已加密的使用者資料之解密。
主機2之認證成功之情況下,認證碼管理部125生成暫時認證碼23,並保存於DRAM6等之RAM。暫時認證碼23可以使用任意的資訊,例如可以使用亂數。或者,認證碼管理部125以組合有亂數與主機2之識別碼的資訊作為暫時認證碼23而生成亦可。主機2之識別碼例如在主機2與SSD3之介面層之連接時(例如SATA或SAS中的連結時)等可以取得。
接著,TCG指令處理部124將包含表示認證成功之資訊與暫時認證碼23的響應透過主機介面11傳送至傳送了認證要求指令的主機2。和認證要求指令同樣地,響應亦可以使用TCG Secure Messaging技術進行加密傳送。亦即,TCG指令處理部124可以將已加密的暫時認證碼23傳送給主機2。
另一方面,主機2之認證失敗之情況下,TCG指令處理部124將包含表示認證失敗之資訊之響應透過主機介面11傳送給該主機2。該情況下,暫時認證碼23未被生成,未傳送給主機2。
讀出/寫入指令處理部121處理從主機2接收到的對NAND型快閃記憶體5的存取之存取指令。存取指令例如為讀出指令及寫入指令,亦可以是UNMAP指令、格式化指令、確認指令等之可以產生對NAND型快閃記憶體5之存取的其他之指令。
讀出/寫入指令處理部121及認證碼處理部123針對包含於存取指令的暫時認證碼與認證碼管理部125所生成的暫時認證碼23(亦即保存於DRAM6的暫時認證碼23)是否一致進行判斷。包含於存取指令的暫時認證碼亦可以由主機2使用對話金鑰實施加密。該情況下,讀出/寫入指令處理部121及認證碼處理部123使用對話金鑰對存取指令內之已加密的暫時認證碼實施解密,認證碼處理部123針對該解密的暫時認證碼與認證碼管理部125所生成的暫時認證碼23是否一致進行判斷。對話金鑰為在主機2與SSD3之間交換的加密金鑰。
包含於存取指令的暫時認證碼(或者,藉由對存取指令內之已加密的暫時認證碼實施解密獲得的暫時認證碼)與認證碼管理部125所生成的暫時認證碼23一致之情況下,讀出/寫入資料處理部122以允許與存取指令對應的對NAND型快閃記憶體5之存取的方式動作。
例如存取指令為讀出指令之情況下,讀出/寫入資料處理部122及加密電路15從NAND型快閃記憶體5讀出與讀出指令對應的使用者資料,對該使用者資料實施解密,將已解密的使用者資料傳送至主機2。
更具體而言,讀出/寫入資料處理部122,係依據讀出指令指定的LBA所對應的LUT21之登記冊(entry)確定與LBA對應的實體位址。讀出/寫入資料處理部122透過NAND介面13對NAND型快閃記憶體5要求讀出被寫入該實體位址的使用者資料。
與該要求對應而從NAND型快閃記憶體5讀出的使用者資料,係透過NAND介面13被傳送至加密電路15。加密電路15使用加密金鑰22對使用者資料實施解密,並送出至讀出/寫入資料處理部122。據此,讀出/寫入資料處理部122可以透過主機介面11將與讀出指令對應的使用者資料傳送給主機2。
又,例如存取指令為寫入指令之情況下,讀出/寫入資料處理部122及加密電路15,伴隨著接受到寫入指令而接收從主機2傳送來的使用者資料,對該使用者資料實施加密,將已加密的使用者資料寫入NAND型快閃記憶體5。
更具體而言,讀出/寫入資料處理部122透過主機介面11伴隨著接受到寫入指令而接收從主機2傳送來的使用者資料。讀出/寫入資料處理部122將接收到的使用者資料送出至加密電路15。加密電路15使用加密金鑰22對使用者資料實施加密,並透過NAND介面13傳送至NAND型快閃記憶體5。
又,寫入指令要求將使用者資料寫入某一LBA之情況下,讀出/寫入資料處理部122確定該使用者資料應被寫入的實體位址。接著,讀出/寫入資料處理部122對NAND型快閃記憶體5要求將該使用者資料寫入與確定的實體位址對應的區塊及頁面。因此表示實體位址之資訊(例如區塊及頁面)與已加密的使用者資料被傳送至NAND型快閃記憶體5。
接著,讀出/寫入資料處理部122對NAND型快閃記憶體5指示寫入。亦即,讀出/寫入資料處理部122藉由對NAND型快閃記憶體5傳送寫入指令,而對NAND型快閃記憶體5,使已加密的使用者資料寫入寫入目的地之區塊及頁面。接著,讀出/寫入資料處理部122對LBA與實體位址建立對照(mapping)。將該對照作為LUT21內之登記冊進行記錄。
因此,與認證成功對應而從主機2傳送來的暫時認證碼23包含於存取指令的話,SSD3進行與該存取指令對應的處理,因此允許已認證完畢之主機2對NAND型快閃記憶體5之存取。
相對於此,包含於存取指令的暫時認證碼與認證碼管理部125所生成的暫時認證碼23不一致之情況下,讀出/寫入指令處理部121,將包含錯誤之響應傳送給主機2。例如存取指令為讀出指令之情況下,讀出/寫入資料處理部122不讓從NAND型快閃記憶體5讀出使用者資料。又,例如存取指令為寫入指令之情況下,讀出/寫入資料處理部122不讓使用者資料寫入NAND型快閃記憶體5。因此,與認證成功對應而從主機2傳送來的暫時認證碼23不包含於存取指令的話,SSD3不進行與該存取指令對應的處理,因此可以禁止未認證之主機2對NAND型快閃記憶體5之存取。
參照圖3及圖4更具體說明TCG指令處理部124、認證碼管理部125、及加密金鑰生成部126進行認證及存取控制之動作。圖3及圖4中,為了容易理解說明僅表示與該動作關聯的要素。
圖3係表示主機2之認證成功之情況之動作例。
首先,主機2將TCG指令傳送至SSD3。該TCG指令為包含認證資訊41之認證要求指令與設定變更指令。又,該主機2為具有正確的認證資訊之主機。亦即,該主機2具有的認證資訊41為正確的認證資訊。
TCG指令處理部124從主機2接收認證要求指令及設定變更指令。TCG指令處理部124對包含於認證要求指令的認證資訊41與記憶於NAND型快閃記憶體5之認證資訊31是否一致進行判斷。於NAND型快閃記憶體5,例如設置有記憶認證資訊31等的系統區域5A,及記憶使用者資料的使用者區域5B。使用者區域5B係使用認證資訊31控制對主機2執行的存取之區域。
包含於認證要求指令的認證資訊41與記憶於NAND型快閃記憶體5之認證資訊31一致之情況下,亦即,主機2之認證成功之情況下,TCG指令處理部124依據設定變更指令允許對使用者區域5B之存取,對加密金鑰生成部126要求加密金鑰之生成,對認證碼管理部125要求暫時認證碼之生成。TCG指令處理部124係依據設定變更指令中指定的資訊,例如允許對使用者區域5B的讀出與寫入之至少一方。換言之,TCG指令處理部124係依據設定變更指令中指定的資訊,解除對使用者區域5B的讀出與寫入之至少一方之鎖定。
加密金鑰生成部126生成使用加密金鑰22,並設定於加密電路15。又,認證碼管理部125生成暫時認證碼23,並記憶於DRAM6等之RAM。
接著,TCG指令處理部124,將包含表示認證成功之資訊與生成的暫時認證碼23的響應傳送至主機2。主機2將包含於響應的暫時認證碼23進行保存。以下為了容易理解說明,而將已認證成功且保存於主機2內的暫時認證碼23記載為暫時認證碼42。
又,與某一主機2之認證成功對應地生成暫時認證碼23之後,另一主機2之認證成功之情況下,TCG指令處理部124將已經生成的暫時認證碼23傳送給該另一主機2亦可。或者,對該另一主機2新生成另一暫時認證碼23而進行傳送亦可。該情況下,暫時認證碼23與和該暫時認證碼23被建立有關聯對應的主機2之識別碼係被記憶於DRAM6等之RAM。
如以上,主機2之認證成功之情況下,對使用者區域5B之存取被允許,加密金鑰22被設定於加密電路15,暫時認證碼23被生成。又,認證成功的主機2可以取得暫時認證碼23。
圖4係表示主機2之認證失敗之情況之動作例。
首先,主機2將TCG指令傳送至SSD3。該TCG指令為包含認證資訊43之認證要求指令與設定變更指令。又,該主機2為不具有正確的認證資訊之主機。亦即,該主機2具有的認證資訊43為不正確的認證資訊。
TCG指令處理部124從主機2接收認證要求指令及設定變更指令。接著,TCG指令處理部124對包含於認證要求指令的認證資訊43與記憶於NAND型快閃記憶體5之認證資訊31是否一致進行判斷。
包含於認證要求指令的認證資訊43與記憶於NAND型快閃記憶體5之認證資訊31不同之情況下,亦即,主機2之認證失敗之情況下,TCG指令處理部124將包含表示認證失敗之資訊之響應傳送至主機2。TCG指令處理部124,係針對設定變更指令,將基於認證失敗而包含表示不允許設定變更之資訊之響應傳送至主機2。亦即,TCG指令處理部124不允許對使用者區域5B之存取(例如讀出及寫入)。換言之,TCG指令處理部124不解除對使用者區域5B之存取之鎖定。又,亦不進行加密金鑰生成部126之加密金鑰22之生成或認證碼管理部125之暫時認證碼23之生成。因此,認證失敗的主機2無法取得暫時認證碼23。
圖5係表示藉由主機2傳送的認證要求指令之一構成例。TCG指令例如包含8位元組之MethodUID、8位元組之Authority、及32位元組之PIN。
「MethodUID」係表示該指令所要求的處理之內容。於「MethodUID」被設定有要求認證(Authenticate)之值“00 00 00 06 00 00 00 0C”的TCG指令,係作為認證要求指令被處理。
「Authority」係表示成為該TCG指令之對象的權限。TCG指令為認證要求指令之情況下,「Authority」係表示使用包含於指令的PIN或密碼這樣的認證資訊應進行認證之權限。於此,示出與BandMaster0之權限對應的值“00 00 00 09 00 00 80 01”。
「PIN」係表示,傳送該TCG指令的主機2具有的認證資訊。例如被設定於指令內之「PIN」的值“61 61 61 ... 61”與和記憶於SSD3內之BandMaster0之權限對應的認證資訊31一致之情況下,SSD3針對BandMaster0之權限判斷為主機2之認證成功。
圖6係表示由SSD3傳送的響應之一構成例。響應例如包含1位元組之認證結果、32位元組之暫時認證碼、3位元組之Method Status。
「認證結果」係表示主機2之認證結果亦即成功或失敗。主機2之認證成功之情況下,於「認證結果」記述有表示成功(Success)之值。主機2之認證失敗之情況下,於「認證結果」記述有表示失敗(Failure)之值。
主機2之認證成功之情況下,於「暫時認證碼」記述有對NAND型快閃記憶體5之存取之暫時認證碼。主機2之認證失敗之情況下,於「暫時認證碼」例如未記述有任何之值。
「Method Status」係表示和該響應所對應的TCG指令相關的錯誤狀態。例如包含於TCG指令的參數無不正確,可以進行主機2之認證之情況下,於「Method Status」記述有表示成功之值。又,包含於TCG指令的參數有不正確,而無法進行主機2之認證之情況下,於「Method Status」記述有表示失敗之值。
參照圖7及圖8說明從主機2對SSD3傳送讀出指令之情況之動作例。圖7及圖8中,為了容易理解說明而僅表示與該動作關聯的要素。
圖7所示例中,從複數個主機2之中之已認證完畢主機2A對SSD3傳送讀出指令。已認證完畢主機2A為,參照圖3並藉由上述動作,基於SSD3之認證成功,已取得暫時認證碼42的主機2。
首先已認證完畢主機2A,係和該主機2A之認證成功對應地將包含從SSD3取得的暫時認證碼42之讀出指令傳送至SSD3。於該讀出指令例如包含有應讀出的使用者資料之LBA或LBA範圍。
讀出/寫入指令處理部121接受該讀出指令。讀出/寫入指令處理部121將讀出指令內之暫時認證碼42送出至認證碼處理部123。
認證碼處理部123藉由對讀出指令內之暫時認證碼42與保存於DRAM6內的暫時認證碼23進行比較,判斷2個暫時認證碼42、23是否一致。於此,2個暫時認證碼42、23一致,因此認證碼處理部123將2個暫時認證碼42、23一致之事通知讀出/寫入指令處理部121。
讀出/寫入指令處理部121與該通知對應地指示讀出/寫入資料處理部122進行與讀出指令對應的使用者資料之讀出。讀出/寫入資料處理部122使用LUT21來確定讀出指令指定的LBA或LBA範圍所對應的實體位址,透過NAND介面13指示NAND型快閃記憶體5進行從該實體位址之使用者資料之讀出。與該指示對應而從NAND型快閃記憶體5讀出的使用者資料,為已加密的使用者資料,並被轉送至加密電路15。
加密電路15使用已認證完畢主機2A之認證成功時設定的加密金鑰22,對已加密的使用者資料實施解密。加密電路15係將已解密的使用者資料送出至讀出/寫入資料處理部122。
讀出/寫入資料處理部122將包含已解密的使用者資料之響應傳送至已認證完畢主機2A。據此,具有正確的暫時認證碼42的已認證完畢主機2A使用讀出指令可以從NAND型快閃記憶體5讀出使用者資料。
相對於此,圖8所示例中,從複數個主機2之中之未認證主機2B對SSD3傳送讀出指令。未認證主機2B為,參照圖4藉由上述動作且基於SSD3之認證失敗的主機2,或者對SSD3乃未傳送認證要求指令的主機2。
首先,未認證主機2B將包含暫時認證碼45之讀出指令傳送至SSD3。該暫時認證碼45並非SSD3對主機2之認證成功之情況下生成的暫時認證碼,而是不正確的暫時認證碼。或者,作為包含不正確的暫時認證碼之取代,亦可以是讀出指令內之應包含暫時認證碼的欄位為空的。讀出指令例如包含應讀出的資料之LBA或LBA範圍。
讀出/寫入指令處理部121接受讀出指令。讀出/寫入指令處理部121將讀出指令內之暫時認證碼45傳送至認證碼處理部123。
認證碼處理部123藉由對讀出指令內之暫時認證碼45與保存於DRAM6內的暫時認證碼23進行比較,對2個暫時認證碼45、23是否一致進行判斷。於此,2個暫時認證碼45、23不一致,因此認證碼處理部123將2個暫時認證碼45、23不一致之事通知讀出/寫入指令處理部121。
讀出/寫入指令處理部121係與該通知對應地將表示錯誤之響應傳送至未認證主機2B。因此,不具有正確的暫時認證碼42之未認證主機2B無法從NAND型快閃記憶體5讀出與讀出指令對應的使用者資料。
參照圖9及圖10說明從主機2對SSD3傳送寫入指令之情況之動作例。圖9及圖10中,為了容易理解說明僅表示與該動作關聯的要素。
圖9所示例中,從複數個主機2之中之已認證完畢主機2A對SSD3傳送寫入指令。如上述般,已認證完畢主機2A為,例如參照圖3並藉由上述動作,基於SSD3之認證成功,且已取得暫時認證碼42的主機2。
首先,已認證完畢主機2A,係和該主機2A之認證成功對應地將從SSD3已取得的包含暫時認證碼42之寫入指令傳送至SSD3。又,已認證完畢主機2A,係和該寫入指令對應地將應寫入的使用者資料46傳送至SSD3。於寫入指令例如包含應被寫入使用者資料46的LBA或LBA範圍。
讀出/寫入指令處理部121接受寫入指令。讀出/寫入指令處理部121將寫入指令內之暫時認證碼42送出至認證碼處理部123。
認證碼處理部123藉由對寫入指令內之暫時認證碼42與保存於DRAM6內的暫時認證碼23進行比較,判斷2個暫時認證碼42、23是否一致進行判斷。於此,2個暫時認證碼42、23一致,因此認證碼處理部123將2個暫時認證碼42、23一致之事通知讀出/寫入指令處理部121。
讀出/寫入指令處理部121係與該通知對應地指示讀出/寫入資料處理部122進行與寫入指令對應的使用者資料之寫入。
讀出/寫入資料處理部122將伴隨著接收到寫入指令而從已認證完畢主機2A接收到的使用者資料46送出至加密電路15。加密電路15使用已認證完畢主機2A之認證成功時設定的加密金鑰22對使用者資料46實施加密。加密電路15將已加密的使用者資料46透過NAND介面13傳送至NAND型快閃記憶體5。
讀出/寫入資料處理部122指示NAND型快閃記憶體5進行轉送的使用者資料46之寫入(更詳細為program)。據此,已加密的使用者資料46被寫入NAND型快閃記憶體5內之使用者區域5B。接著,讀出/寫入資料處理部122依據被寫入有使用者資料46的實體位址與LBA對照而成的登記冊進行LUT21之更新。
藉由以上,具有正確的暫時認證碼42的已認證完畢主機2A,可以使用寫入指令將使用者資料46寫入NAND型快閃記憶體5。
相對於此,圖10所示例中,從複數個主機2之中之未認證主機2B對SSD3傳送寫入指令。如上述般,未認證主機2B為,例如參照圖4藉由上述動作基於SSD3之認證失敗的主機2,或者對SSD3乃未傳送認證要求指令之主機2。
首先,未認證主機2B將包含暫時認證碼45之寫入指令傳送至SSD3。該暫時認證碼45並非SSD3對主機2之認證成功之情況下生成的暫時認證碼,為不正確的暫時認證碼。或者,作為不正確的暫時認證碼之取代,亦可以是寫入指令內之應包含暫時認證碼的欄位為空欄位者。又,未認證主機2B係與該寫入指令對應而將應寫入的使用者資料47傳送至SSD3。寫入指令例如包含應被寫入使用者資料47的LBA或LBA範圍。
讀出/寫入指令處理部121接受寫入指令。讀出/寫入指令處理部121將寫入指令內之暫時認證碼45送出至認證碼處理部123。
認證碼處理部123藉由對寫入指令內之暫時認證碼45與保存於DRAM6內的暫時認證碼23進行比較,判斷2個暫時認證碼45、23是否一致。於此,2個暫時認證碼45、23不一致,因此認證碼處理部123將2個暫時認證碼45、23不一致之事通知讀出/寫入指令處理部121。
讀出/寫入指令處理部121係與該通知對應而將表示錯誤之響應傳送至未認證主機2B。又,讀出/寫入指令處理部121係與該通知對應而指示讀出/寫入資料處理部122廢棄從未認證主機2B接收到的使用者資料47。讀出/寫入資料處理部122與該指示對應而將使用者資料47廢棄。因此,使用者資料47不被寫入NAND型快閃記憶體5。
如此般,不具有正確的暫時認證碼42之未認證主機2B,無法使用寫入指令對NAND型快閃記憶體5寫入使用者資料47。
又,上述例中分別說明從主機2對SSD3傳送讀出指令與寫入指令之情況,但從主機2對SSD3傳送的存取指令可以是UNMAP指令、格式化指令、確認指令等。已認證完畢主機2A不論是哪一種存取指令都包含暫時認證碼42而對SSD3進行傳送。SSD3進行與包含正確的暫時認證碼42(亦即,與保存於DRAM6內的暫時認證碼23一致的暫時認證碼)之存取指令對應的處理,針對不包含正確的暫時認證碼42之存取指令則反回錯誤。據此,SSD3之動作為,僅進行與從已認證完畢主機2A傳送的存取指令對應的處理,不進行與從未認證主機2B傳送的存取指令對應的處理。
參照圖11之流程圖,對比較例的記憶體系統中藉由未使用暫時認證碼的控制器執行的讀出控制處理進行說明,並且參照圖12之流程圖說明藉由使用本實施形態之暫時認證碼的控制器4執行的讀出控制處理。
圖11係表示藉由未使用暫時認證碼的控制器進行讀出控制處理之順序之例。該控制器構成為,在1個主機之認證成功之後,與連接的全部之主機之存取指令對應。於此,示出於具備該控制器的SSD連接有複數個主機2,從其中之1個主機2被傳送認證要求指令與要求將資料讀出設為可能的設定變更指令之情況之例。
首先,控制器判斷是否從複數個主機2之任一接受到由認證要求指令與設定變更指令構成的2個TCG指令(步驟S101)。未從任一之主機2接受到2個TCG指令之情況下(步驟S101之否),返回步驟S101,再度判斷是否接受到2個TCG指令。
另一方面,從某一主機2(以下稱為第1主機)接受到2個TCG指令之情況下(步驟S101之是),控制器使用包含於認證要求指令的第1主機2之認證資訊進行第1主機2之認證處理(步驟S102)。接著,控制器判斷認證處理中第1主機2之認證是否成功(步驟S103)。第1主機2之認證失敗之情況下(步驟S103之否),控制器將表示認證失敗之認證結果傳送給第1主機2(步驟S104),返回步驟S101。
第1主機2之認證成功之情況下(步驟S103之是),控制器依據設定變更指令解除NAND型快閃記憶體之資料讀出之鎖定(步驟S105)。控制器生成與第1主機2之認證資訊對應的加密金鑰(步驟S106),將該加密金鑰設定於加密電路(步驟S107)。設定的加密金鑰被使用於加密電路對使用者資料之加密及解密。接著,控制器將表示認證成功之認證結果傳送至第1主機2(步驟S108)。
接著,控制器判斷是否從複數個主機2之任一接受到讀出指令(步驟S109)。未從任一之主機2接受到讀出指令之情況下(步驟S109之否),返回步驟S109,再度判斷是否接受到讀出指令。
另一方面,從某一主機2(以下稱為第2主機)接受到讀出指令之情況下(步驟S109之是),該讀出指令對應地,控制器將已加密的使用者資料從NAND型快閃記憶體讀出(步驟S110),藉由設定有加密金鑰的加密電路對已加密的使用者資料實施解密(步驟S111)。接著,控制器將已解密的使用者資料傳送給第2主機2(步驟S112),步驟S109。該第2主機2為與SSD連接的複數個主機2之任一,可以和第1主機2為同一,亦可以和第1主機2不同的另一主機。步驟S109至步驟S112為止之順序在SSD之電源未被切斷前重複進行。
如以上,1個主機(於此為第1主機2)之認證成功之後,與SSD連接的全部之主機2,藉由傳送讀出指令而可以從SSD讀出使用者資料。因此,傳送了讀出指令的第2主機2為與取得認證成功的第1主機2不同之主機之情況下,成為藉由未進行認證處理之第2主機2從SSD讀出使用者資料。因此第2主機2為不具有正確的認證資訊之未認證之主機的話,藉由未認證之第2主機2可以讀出SSD內之使用者資料,SSD內之使用者資料有可能洩漏。
相對於此,圖12示出藉由本實施形態之控制器4執行的讀出控制處理之順序之例。控制器4具有使用暫時認證碼僅與來自已認證成功的主機2之讀出指令對應而從NAND型快閃記憶體5讀出資料之功能。於此,針對該控制器4,示出從某一主機2傳送認證要求指令與要求將資料讀出設為可能的設定變更指令之情況之例。
首先,控制器4判斷是否從與SSD3連接的複數個主機2之任一接受到由認證要求指令與設定變更指令構成的2個TCG指令(步驟S201)。未從任一主機2接受到2個TCG指令之情況下(步驟S201之否),返回步驟S201,再度判斷是否接受到2個TCG指令。
另一方面,從某一主機2(以下稱為第1主機)接受到2個TCG指令之情況下(步驟S201之是),控制器4使用包含於認證要求指令的第1主機2之認證資訊進行第1主機2之認證處理(步驟S202)。接著,控制器4判斷認證處理中第1主機2之認證是否成功(步驟S203)。第1主機2之認證失敗之情況下(步驟S203之否),控制器4將表示認證失敗之認證結果傳送給第1主機2(步驟S204),返回步驟S201。又,構成為認證失敗連續發生的次數大於特定之次數之情況下,控制器4不再進一步接受認證要求指令亦可。
第1主機2之認證成功之情況下(步驟S203之是),控制器4依據設定變更指令解除從NAND型快閃記憶體5之資料讀出之鎖定(步驟S205)。控制器生成與第1主機2之認證資訊對應的加密金鑰22及暫時認證碼23(步驟S206)。暫時認證碼23例如包含亂數或者亂數及第1主機2之識別碼。控制器4將生成的加密金鑰22設定於加密電路15(步驟S207)。設定的加密金鑰22使用於藉由加密電路15對使用者資料之加密及解密。接著,控制器4將表示認證成功之認證結果與生成的暫時認證碼23傳送至第1主機2(步驟S208)。
接著,控制器4判斷是否從複數個主機2之任一接受到讀出指令(步驟S209)。從任一主機2都未接受到讀出指令之情況下(步驟S209之否),返回步驟S209。
從某一主機2(以下稱為第2主機)接受到讀出指令之情況下(步驟S209之是),控制器4判斷步驟S206中生成的暫時認證碼23與包含於讀出指令的暫時認證碼與是否一致(步驟S210)。該第2主機2為與SSD3連接的複數個主機2之任一。
生成的暫時認證碼23與包含於讀出指令的暫時認證碼不同之情況下(步驟S210之否),控制器4將錯誤通知第2主機2(步驟S211),返回步驟S209。又,暫時認證碼之不一致引起的錯誤連續產生的次數超出特定次數之情況下,控制器4不再接受讀出指令而構成亦可。
另一方面,生成的暫時認證碼23與包含於讀出指令的暫時認證碼一致之情況下(步驟S210之是),與該讀出指令對應地,控制器4從NAND型快閃記憶體5讀出已加密的使用者資料(步驟S212)。控制器4依據設定有加密金鑰22的加密電路15對已加密的使用者資料實施解密(步驟S213)。接著,控制器4將已解密的使用者資料傳送給第2主機2(步驟S214),返回步驟S209。步驟S209至步驟S214為止之順序在SSD3之電源未被切斷之前重複進行。
如以上,對認證成功的1個主機(於此為第1主機2)傳送暫時認證碼23,僅與包含該暫時認證碼23之讀出指令對應地從NAND型快閃記憶體5讀出使用者資料。亦即,接受到不包含暫時認證碼23的讀出指令之情況下,使用者資料不從SSD3被讀出。
因此,可以控制成為,使用被傳送至已認證成功的第1主機2的暫時認證碼23,僅具有暫時認證碼23的第2主機2(亦即,與第1主機2為同一的第2主機2)可以從SSD3讀出使用者資料。另一方面,可以控制成為,不具有暫時認證碼23的第2主機2(亦即,與第1主機2為不同的第2主機2)無法從SSD3讀出使用者資料。據此,可以防止不具有正確的認證資訊之未認證之主機2讀出SSD3內之使用者資料所導致的SSD3內之使用者資料之洩漏。
參照圖13之流程圖,對比較例的藉由未使用記憶體系統之暫時認證碼的控制器執行的寫入控制處理進行說明,並且參照圖14之流程圖,說明藉由使用本實施形態之暫時認證碼的控制器4執行的寫入控制處理。
圖13係表示藉由未使用暫時認證碼的控制器進行的寫入控制處理之順序之例。該控制器構成為,1個主機之認證成功之後,與來自所連接全部之主機之存取指令對應。於此示出,於具備該控制器的SSD連接有複數個主機2,從其中之1個主機2傳送認證要求指令與要求可以進行資料寫入的設定變更指令之情況之例。又,步驟S301至步驟S304為止之順序係和參照圖11之流程圖之上述步驟S101至步驟S104為止之順序同樣。
第1主機2之認證成功之情況下(步驟S303之是),控制器依據設定變更指令解除對NAND型快閃記憶體之資料寫入之鎖定(步驟S305)。控制器生成與第1主機2之認證資訊對應的加密金鑰(步驟S306),將該加密金鑰設定於加密電路(步驟S307)。設定的加密金鑰係使用於加密電路對使用者資料之加密及解密。接著,控制器將表示認證成功之認證結果傳送至第1主機2(步驟S308)。
接著,控制器判斷是否從複數個主機2之任一接受到寫入指令(步驟S309)。未從任一主機2接受寫入指令之情況下(步驟S309之否),返回步驟S309。
另一方面,從某一主機2(以下稱為第2主機)接受到寫入指令之情況下(步驟S309之是),控制器從第2主機2接收寫入對象之使用者資料(步驟S310)。控制器藉由設定有加密金鑰的加密電路對接收到的對使用者資料實施加密(步驟S311)。接著,控制器將已加密的使用者資料寫入NAND型快閃記憶體(步驟S312),返回步驟S309。該第2主機2為與SSD連接的複數個主機2之任一,可以和第1主機2同一,亦可以和第1主機2為不同的主機。又,步驟S309至步驟S312為止之順序在SSD之電源未被切斷之前重複進行。
如以上,1個主機(於此為第1主機2)之認證成功之後,與SSD連接的全部之主機2,藉由傳送寫入指令可以對SSD寫入資料。因此,傳送了寫入指令的第2主機2與認證成功的第1主機2為不同的主機之情況下,成為從未進行認證處理之第2主機2對SSD寫入資料。因此第2主機2為不具有正確的認證資訊之未認證之主機的話,藉由未認證之第2主機2可以對SSD寫入資料,SSD內之資料有可能被改竄。
相對於此,圖14係表示藉由本實施形態之控制器4執行的寫入控制處理之順序之例。控制器4具有僅與來自認證成功的主機2之寫入指令對應而對NAND型快閃記憶體5寫入資料的功能。於此示出從某一主機2對控制器4傳送認證要求指令與要求可以進行資料寫入的設定變更指令之情況之例。又,步驟S401至步驟S404為止之順序係和參照圖12之流程圖的上述步驟S201至步驟S204為止之順序同樣。
第1主機2之認證成功之情況下(步驟S403之是),控制器4依據設定變更指令解除對NAND型快閃記憶體5之資料寫入之鎖定(步驟S405)。控制器4生成與第1主機2之認證資訊對應的加密金鑰22及暫時認證碼23(步驟S406)。暫時認證碼23例如包含亂數或者包含亂數及第1主機2之識別碼。控制器4將生成的加密金鑰22設定於加密電路15(步驟407)。設定的加密金鑰22使用於藉由加密電路15對使用者資料之加密及解密。接著,控制器4將表示認證成功之認證結果與生成的暫時認證碼23傳送至第1主機2(步驟S408)。
接著,控制器4判斷是否從複數個主機2之任一接受到寫入指令(步驟S409)。未從任一主機2接受寫入指令之情況下(步驟S409之否),返回步驟S409。
從某一主機2(以下稱為第2主機)接受到寫入指令之情況下(步驟S409之是),控制器4從第2主機2接收寫入對象之使用者資料(步驟S410)。該第2主機2為與SSD3連接的複數個主機2之任一。控制器4判斷步驟S406中生成的暫時認證碼23與包含於寫入指令的暫時認證碼是否一致(步驟S411)。
生成的暫時認證碼23與包含於寫入指令的暫時認證碼不同之情況下(步驟S411之否),控制器4將錯誤通知第2主機2(步驟S412),返回步驟S409。又,暫時認證碼之不一致引起的錯誤連續產生的次數超出特定次數之情況下,控制器4不再接受寫入指令而構成亦可。
另一方面,生成的暫時認證碼23與包含於寫入指令的暫時認證碼一致之情況下(步驟S411之是),控制器4藉由設定有加密金鑰22的加密電路對接收到的使用者資料實施加密(步驟S413)。接著,控制器4將已加密的使用者資料寫入NAND型快閃記憶體5(步驟S414),返回步驟S409。步驟S409至步驟S414為止之順序在SSD3之電源未被切斷之前重複進行。
如以上,對認證成功的1個主機(於此為第1主機2)傳送暫時認證碼23,僅與包含該暫時認證碼23之寫入指令對應而對SSD3寫入使用者資料入。亦即,接受到不包含暫時認證碼23的寫入指令之情況下,不對SSD3寫入資料。
因此,控制成為,使用對認證成功的第1主機2傳送的暫時認證碼23,僅具有暫時認證碼23的第2主機2(亦即,與第1主機2為同一之第2主機2)可以對SSD3寫入資料。另一方面,控制成為,不具有暫時認證碼23的第2主機2(亦即,與第1主機2為不同的第2主機2)無法對SSD3寫入資料。據此,可以防止不具有正確的認證資訊之未認證之主機對SSD3寫入資料所導致的SSD3內之資料被竄改。
如以上說明,依據本實施形態,可以強化對儲存器之存取的安全。TCG指令處理部124接受來自第1主機2之認證要求指令,在使用包含於認證要求指令的認證資訊進行第1主機2之認證成功之情況下,對第1主機2傳送第1認證碼。構成為,讀出/寫入指令處理部121接受到來自第2主機2之存取NAND型快閃記憶體5之存取指令之情況下,若包含於存取指令的第2認證碼與第1認證碼一致的話,允許與存取指令對應的對NAND型快閃記憶體5之存取,第2認證碼與第1認證碼不一致的話,禁止與存取指令對應的對NAND型快閃記憶體5之存取。
據此,僅具有正確的暫時認證碼的主機2可以使用存取指令存取NAND型快閃記憶體5,因此可以強化對NAND型快閃記憶體5之存取的安全。
又,本實施形態記載的各樣的功能藉由電路(處理電路)來實現亦可。處理電路之例,如中央處理裝置(CPU)這樣包含程式化的處理器。該處理器係藉由執行,記憶於記憶體的電腦程式(指令群)來執行記載的各功能。該處理器可以是包含電路之微處理器。處理電路之例亦包含數位信號處理器(DSP)、特定用途的積體電路(ASIC)、微控制器、控制器、其他之電路元件。藉由本實施形態記載的CPU以外之其他之組件或處理電路來實現亦可。
對本發明之幾個實施形態進行說明,但彼等實施形態僅為例示者,並非用來限定發明之範圍。彼等新穎的實施形態可以藉由其他各樣的形態實施,在不脫離其要旨範圍內可以進行各種省略、替換、變更。彼等實施形態或其變形亦包含於發明之範圍或要旨,並且包含於與申請專利範圍記載的發明為均等之範圍。
1:資訊處理系統
2:主機
3:SSD
4:控制器
5:NAND型快閃記憶體
6:DRAM
10:匯流排
11:主機介面
12:CPU
13:NAND介面
14:DRAM介面
15:加密電路
121:讀出/寫入指令處理部
122:讀出/寫入資料處理部
123:認證碼處理部
124:TCG指令處理部
125:認證碼管理部
126:加密金鑰生成部
21:LUT
22:加密金鑰
23:暫時認證碼
31:認證資訊
[圖1]表示實施形態的記憶體系統之構成例之方塊圖。
[圖2]表示該實施形態之記憶體系統之功能構成之方塊圖。
[圖3]表示基於該實施形態之記憶體系統的主機之認證成功之情況之動作例之方塊圖。
[圖4]表示基於該實施形態之記憶體系統的主機之認證失敗之情況之動作例之方塊圖。
[圖5]表示該實施形態之記憶體系統從主機接收的認證要求指令之一構成例之圖。
[圖6]表示從該實施形態之記憶體系統對主機傳送的響應之一構成例之圖。
[圖7]表示藉由該實施形態之記憶體系統執行的與來自已認證完畢主機之讀出指令對應的動作例之方塊圖。
[圖8]表示藉由該實施形態之記憶體系統執行的與來自未認證主機之讀出指令對應的動作例之方塊圖。
[圖9]表示藉由該實施形態之記憶體系統執行的與來自已認證完畢主機之寫入指令對應的動作例之方塊圖。
[圖10]表示藉由該實施形態之記憶體系統執行的與來自未認證主機之寫入指令對應的動作例之方塊圖。
[圖11]表示藉由比較例的記憶體系統執行的讀出控制處理之順序例之流程圖。
[圖12]表示藉由該實施形態之記憶體系統執行的讀出控制處理之順序例之流程圖。
[圖13]表示藉由比較例的記憶體系統執行的寫入控制處理之順序例之流程圖。
[圖14]表示藉由該實施形態之記憶體系統執行的寫入控制處理之順序例之流程圖。
2、2-1~2-N:主機
3:SSD
4:控制器
5:NAND型快閃記憶體
7:中繼器
11:主機介面
13:NAND介面
15:加密電路
31:認證資訊
121:讀出/寫入指令處理部
122:讀出/寫入資料處理部
123:認證碼處理部
124:TCG指令處理部
125:認證碼管理部
126:加密金鑰生成部
Claims (23)
- 一種記憶體系統,具備:非揮發性記憶體;及控制器,構成為電連接於上述非揮發性記憶體,接受從複數個主機各自傳送的指令,對寫入上述非揮發性記憶體的資料實施加密,且對從上述非揮發性記憶體讀出的資料實施解密;上述控制器構成為,從第1主機接受認證要求指令,在使用包含於上述認證要求指令的認證資訊之上述第1主機之認證成功之情況下,對上述第1主機傳送與上述認證資訊不同的第1認證碼,從第2主機接受到存取上述非揮發性記憶體之存取指令之情況下,若包含於上述存取指令的第2認證碼與上述第1認證碼一致時,允許與上述存取指令對應的對上述非揮發性記憶體之存取,若上述第2認證碼與上述第1認證碼不一致的話,禁止與上述存取指令對應的對上述非揮發性記憶體之存取。
- 如申請專利範圍第1項之記憶體系統,其中上述存取指令為讀出指令,上述控制器構成為,包含於上述讀出指令的上述第2認證碼與上述第1 認證碼一致時,從上述非揮發性記憶體讀出與上述讀出指令對應的第1資料,對上述第1資料實施解密,將已解密的上述第1資料傳送至上述第2主機,若上述第2認證碼與上述第1認證碼不一致的話,不從上述非揮發性記憶體讀出上述第1資料。
- 如申請專利範圍第2項之記憶體系統,其中上述控制器構成為,使用上述認證資訊之上述第1主機之認證成功之情況下,生成與上述認證資訊對應的加密金鑰,上述第2認證碼與上述第1認證碼一致時,使用上述加密金鑰對上述第1資料實施解密。
- 如申請專利範圍第1項之記憶體系統,其中上述存取指令為寫入指令,上述控制器構成為,伴隨著接受到上述寫入指令而接收從上述第2主機傳送來的第2資料,包含於上述寫入指令的上述第2認證碼與上述第1認證碼一致時,對上述第2資料實施加密,將已加密的上述第2資料寫入上述非揮發性記憶體,若上述第2認證碼與上述第1認證碼不一致的話,不將上述第2資料寫入上述非揮發性記憶體。
- 如申請專利範圍第4項之記憶體系統,其中上述控制器構成為,使用上述認證資訊之上述第1主機之認證成功之情況下,生成與上述認證資訊對應的加密金鑰,上述第2認證碼與上述第1認證碼一致時,使用上述加密金鑰對上述第2資料實施加密。
- 如申請專利範圍第1至5項中任一項之記憶體系統,其中上述第1認證碼包含亂數。
- 如申請專利範圍第1至5項中任一項之記憶體系統,其中上述第1認證碼包含亂數與上述第1主機之識別碼。
- 如申請專利範圍第1項之記憶體系統,其中上述控制器構成為,使用包含於上述認證要求指令的上述認證資訊之上述第1主機之認證失敗之情況下,不對上述第1主機傳送上述第1認證碼。
- 如申請專利範圍第1項之記憶體系統,其中上述認證要求指令包含已加密的上述認證資訊,上述控制器構成為,對已加密的上述認證資訊實施解密,使用已解密的上述認證資訊之上述第1主機之認證成 功之情況下,對上述第1主機傳送上述第1認證碼。
- 如申請專利範圍第9項之記憶體系統,其中上述控制器構成為,上述第1主機之認證成功之情況下,對上述第1主機傳送已加密的上述第1認證碼。
- 如申請專利範圍第1項之記憶體系統,其中上述存取指令包含已加密的上述第2認證碼,上述控制器構成為,對已加密的上述第2認證碼實施解密,若已解密的上述第2認證碼與上述第1認證碼一致時,允許對上述非揮發性記憶體之存取,已解密的上述第2認證碼與上述第1認證碼不一致的話,禁止對上述非揮發性記憶體之存取。
- 如申請專利範圍第1項之記憶體系統,其中上述記憶體系統遵循信賴運算組織(TCG)之規格。
- 一種記憶體系統,具備:非揮發性記憶體;及控制器,構成為電連接於上述非揮發性記憶體,接受從複數個主機各自傳送的指令,對寫入上述非揮發性記憶體的資料實施加密,且對從上述非揮發性記憶體讀出的資料實施解密;上述控制器構成為, 從第1主機接受認證要求指令,在使用包含於上述認證要求指令的認證資訊之上述第1主機之認證成功之情況下,對上述第1主機傳送第1認證碼,從第2主機接受到存取上述非揮發性記憶體之存取指令之情況下,若包含於上述存取指令的第2認證碼與上述第1認證碼一致時,允許與上述存取指令對應的對上述非揮發性記憶體之存取,若上述第2認證碼與上述第1認證碼不一致的話,禁止與上述存取指令對應的對上述非揮發性記憶體之存取,此外,在使用包含於上述認證要求指令的上述認證資訊之上述第1主機之認證失敗之情況下,上述控制器不對上述第1主機傳送上述第1認證碼。
- 如申請專利範圍第13項之記憶體系統,其中上述存取指令為讀出指令,上述控制器構成為,包含於上述讀出指令的上述第2認證碼與上述第1認證碼一致時,從上述非揮發性記憶體讀出與上述讀出指令對應的第1資料,對上述第1資料實施解密,將已解密的上述第1資料傳送至上述第2主機,若上述第2認證碼與上述第1認證碼不一致的話,不從上述非揮發性記憶體讀出上述第1資料。
- 如申請專利範圍第14項之記憶體系統,其中上述控制器構成為,使用上述認證資訊之上述第1主機之認證成功之情況下,生成與上述認證資訊對應的加密金鑰,上述第2認證碼與上述第1認證碼一致時,使用上述加密金鑰對上述第1資料實施解密。
- 如申請專利範圍第13項之記憶體系統,其中上述存取指令為寫入指令,上述控制器構成為,伴隨著接受到上述寫入指令而接收從上述第2主機傳送來的第2資料,包含於上述寫入指令的上述第2認證碼與上述第1認證碼一致時,對上述第2資料實施加密,將已加密的上述第2資料寫入上述非揮發性記憶體,若上述第2認證碼與上述第1認證碼不一致的話,不將上述第2資料寫入上述非揮發性記憶體。
- 如申請專利範圍第16項之記憶體系統,其中上述控制器構成為,使用上述認證資訊之上述第1主機之認證成功之情況下,生成與上述認證資訊對應的加密金鑰,上述第2認證碼與上述第1認證碼一致時,使用上述加密金鑰對上述第2資料實施加密。
- 如申請專利範圍第13至17項中任一項之記憶體系統,其中上述第1認證碼包含亂數。
- 如申請專利範圍第13至17項中任一項之記憶體系統,其中上述第1認證碼包含亂數與上述第1主機之識別碼。
- 如申請專利範圍第13項之記憶體系統,其中上述認證要求指令包含已加密的上述認證資訊,上述控制器構成為,對已加密的上述認證資訊實施解密,使用已解密的上述認證資訊之上述第1主機之認證成功之情況下,對上述第1主機傳送上述第1認證碼。
- 如申請專利範圍第20項之記憶體系統,其中上述控制器構成為,上述第1主機之認證成功之情況下,對上述第1主機傳送已加密的上述第1認證碼。
- 如申請專利範圍第13項之記憶體系統,其中上述存取指令包含已加密的上述第2認證碼,上述控制器構成為,對已加密的上述第2認證碼實施解密,若已解密的上述第2認證碼與上述第1認證碼一致時,允許對上述非揮發性記憶體之存取,已解密的上述第 2認證碼與上述第1認證碼不一致的話,禁止對上述非揮發性記憶體之存取。
- 如申請專利範圍第13項之記憶體系統,其中上述記憶體系統遵循信賴運算組織(TCG)之規格。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019010138A JP2020119298A (ja) | 2019-01-24 | 2019-01-24 | メモリシステム |
JP2019-010138 | 2019-01-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202029047A TW202029047A (zh) | 2020-08-01 |
TWI716023B true TWI716023B (zh) | 2021-01-11 |
Family
ID=71732870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108123537A TWI716023B (zh) | 2019-01-24 | 2019-07-04 | 記憶體系統 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11362830B2 (zh) |
JP (1) | JP2020119298A (zh) |
CN (1) | CN111475871B (zh) |
TW (1) | TWI716023B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020144689A (ja) * | 2019-03-07 | 2020-09-10 | キオクシア株式会社 | ストレージ装置及びストレージ装置の制御方法 |
JP2021043708A (ja) * | 2019-09-11 | 2021-03-18 | キオクシア株式会社 | メモリシステム |
JP7366765B2 (ja) * | 2020-01-20 | 2023-10-23 | 株式会社東芝 | Icカード、icカード処理システム、及びicカード処理装置の制御プログラム |
US11455102B2 (en) | 2020-03-09 | 2022-09-27 | SK Hynix Inc. | Computing system and operating method thereof |
KR20210113906A (ko) * | 2020-03-09 | 2021-09-17 | 에스케이하이닉스 주식회사 | 컴퓨팅 시스템 및 그 동작 방법 |
US11461021B2 (en) | 2020-03-09 | 2022-10-04 | SK Hynix Inc. | Computing system and operating method thereof |
US12001707B2 (en) * | 2020-08-20 | 2024-06-04 | Micron Technology, Inc. | Host verification for a memory device |
US11528126B2 (en) * | 2021-02-16 | 2022-12-13 | Google Llc | Interface for revision-limited memory |
JP2022135641A (ja) * | 2021-03-05 | 2022-09-15 | キオクシア株式会社 | I/oコマンド制御装置およびストレージシステム |
JP2022144310A (ja) | 2021-03-18 | 2022-10-03 | キオクシア株式会社 | 電圧生成回路及び半導体装置 |
KR102482116B1 (ko) * | 2021-11-08 | 2022-12-29 | 삼성전자주식회사 | 연산 스토리지 장치의 메모리 할당 및 보호 방법 및 이를 수행하는 연산 스토리지 장치 |
US20230205430A1 (en) * | 2021-12-28 | 2023-06-29 | Micron Technology, Inc. | Verification of a volatile memory using a unique identifier |
CN114527933A (zh) * | 2022-01-06 | 2022-05-24 | 长江存储科技有限责任公司 | 存储器操作方法、存储器及存储*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014016659A (ja) * | 2012-07-05 | 2014-01-30 | Nec Soft Ltd | 電子認証システム、端末、サーバ、および電子認証プログラム |
TW201616390A (zh) * | 2013-06-20 | 2016-05-01 | 東芝股份有限公司 | 元件、主機裝置、主機系統及記憶體系統 |
TW201807616A (zh) * | 2016-08-30 | 2018-03-01 | 華邦電子股份有限公司 | 安全儲存系統以及用於安全儲存的方法 |
TW201826128A (zh) * | 2017-01-05 | 2018-07-16 | 美商.高通公司 | 非揮發性隨機存取記憶體及閘控安全存取 |
CN108573175A (zh) * | 2017-03-07 | 2018-09-25 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
US20180293364A1 (en) * | 2015-01-18 | 2018-10-11 | F. Scott Deaver | Methods for controlling access to digital assets |
CN108664817A (zh) * | 2017-03-30 | 2018-10-16 | 金士顿数位股份有限公司 | 智能安全存储器 |
CN109067732A (zh) * | 2018-07-26 | 2018-12-21 | 广州大学 | 物联网设备及数据接入***、方法及计算机可读存储介质 |
US20190018934A1 (en) * | 2012-07-18 | 2019-01-17 | Cryptography Research, Inc. | Protecting media items using a media security controller |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2242944B2 (de) | 1972-08-31 | 1981-04-23 | Robert Bosch Gmbh, 7000 Stuttgart | Bohrhammer |
US5058025A (en) * | 1989-03-23 | 1991-10-15 | F.M.E. Corporation | Emergency post office setting for remote setting meter |
JP2002352155A (ja) | 2001-05-29 | 2002-12-06 | Nec System Technologies Ltd | 電子情報保管システム |
KR100575767B1 (ko) * | 2004-03-05 | 2006-05-03 | 엘지전자 주식회사 | 이동 통신 단말기의 장치번호 저장 방법 |
US20060129824A1 (en) * | 2004-12-15 | 2006-06-15 | Hoff James P | Systems, methods, and media for accessing TPM keys |
KR101379172B1 (ko) | 2008-04-02 | 2014-03-28 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 데이터 암호화 방법, 컴퓨터 판독 가능한 매체 및 저장 시스템 |
JP5613596B2 (ja) | 2011-03-08 | 2014-10-29 | Kddi株式会社 | 認証システム、端末装置、認証サーバ、およびプログラム |
US9117062B1 (en) * | 2011-12-06 | 2015-08-25 | Amazon Technologies, Inc. | Stateless and secure authentication |
KR20150101683A (ko) * | 2014-02-27 | 2015-09-04 | 삼성전자주식회사 | 자기 암호화 드라이브 및 그것을 포함한 유저 장치 |
US10298546B2 (en) * | 2014-03-07 | 2019-05-21 | Toshiba Memory Corporation | Asymmetrical encryption of storage system to protect copyright and personal information |
CN106557802B (zh) * | 2015-09-30 | 2019-08-30 | 东芝存储器株式会社 | 存储装置以及信息处理*** |
-
2019
- 2019-01-24 JP JP2019010138A patent/JP2020119298A/ja active Pending
- 2019-07-04 TW TW108123537A patent/TWI716023B/zh active
- 2019-07-22 US US16/517,906 patent/US11362830B2/en active Active
- 2019-08-08 CN CN201910729681.8A patent/CN111475871B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014016659A (ja) * | 2012-07-05 | 2014-01-30 | Nec Soft Ltd | 電子認証システム、端末、サーバ、および電子認証プログラム |
US20190018934A1 (en) * | 2012-07-18 | 2019-01-17 | Cryptography Research, Inc. | Protecting media items using a media security controller |
TW201616390A (zh) * | 2013-06-20 | 2016-05-01 | 東芝股份有限公司 | 元件、主機裝置、主機系統及記憶體系統 |
US20180293364A1 (en) * | 2015-01-18 | 2018-10-11 | F. Scott Deaver | Methods for controlling access to digital assets |
TW201807616A (zh) * | 2016-08-30 | 2018-03-01 | 華邦電子股份有限公司 | 安全儲存系統以及用於安全儲存的方法 |
TW201826128A (zh) * | 2017-01-05 | 2018-07-16 | 美商.高通公司 | 非揮發性隨機存取記憶體及閘控安全存取 |
CN108573175A (zh) * | 2017-03-07 | 2018-09-25 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
CN108664817A (zh) * | 2017-03-30 | 2018-10-16 | 金士顿数位股份有限公司 | 智能安全存储器 |
CN109067732A (zh) * | 2018-07-26 | 2018-12-21 | 广州大学 | 物联网设备及数据接入***、方法及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11362830B2 (en) | 2022-06-14 |
JP2020119298A (ja) | 2020-08-06 |
CN111475871A (zh) | 2020-07-31 |
US20200244458A1 (en) | 2020-07-30 |
CN111475871B (zh) | 2023-11-24 |
TW202029047A (zh) | 2020-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI716023B (zh) | 記憶體系統 | |
US9529735B2 (en) | Secure data encryption in shared storage using namespaces | |
US7873837B1 (en) | Data security for electronic data flash card | |
US11507284B2 (en) | Storage device and control method | |
US11775184B2 (en) | Memory system, information processing apparatus, and information processing system | |
US11847243B2 (en) | Memory system | |
US20100058073A1 (en) | Storage system, controller, and data protection method thereof | |
US8589669B2 (en) | Data protecting method, memory controller and memory storage device | |
US20180260151A1 (en) | Data Storage Device and Operating Method Therefor | |
CN112463805B (zh) | 用于数据加解密的金钥管理装置及处理器芯片 | |
CN115391844A (zh) | 安全密钥存储装置 | |
US11468159B2 (en) | Memory system | |
US20230179418A1 (en) | Storage controller and method of operating electronic system | |
TWI775284B (zh) | 記憶系統、其控制方法及資訊處理系統 | |
TWI821675B (zh) | 記憶體系統 | |
US11113399B2 (en) | Electronic apparatus and control method of electronic apparatus | |
CN112468300B (zh) | 具有旁通通道的金钥管理装置及处理器芯片 | |
JP2000250818A (ja) | 記憶システム、記憶装置及び記憶データ保護方法 | |
US12001690B2 (en) | Memory system having controller connectable to network via interface and storage system having memory systems having controllers connectable to network via respective interface | |
CN118282630A (zh) | 避免使用不完整密钥的密钥管理装置、处理器芯片及方法 |