TWI712889B - 記憶裝置及程式 - Google Patents
記憶裝置及程式 Download PDFInfo
- Publication number
- TWI712889B TWI712889B TW108106665A TW108106665A TWI712889B TW I712889 B TWI712889 B TW I712889B TW 108106665 A TW108106665 A TW 108106665A TW 108106665 A TW108106665 A TW 108106665A TW I712889 B TWI712889 B TW I712889B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory device
- information
- memory
- host device
- controller
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3268—Power saving in hard disk drive
-
- 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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- 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/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
-
- 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/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/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0658—Controller construction arrangements
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
實施形態提供一種使待機電力降低並且安全地恢復為解鎖狀態之記憶裝置及程式。 本實施形態之記憶裝置能夠與主機裝置進行通信,且具備:控制器,其控制記憶裝置;及記憶區域,其包含安全資訊及時間資訊,該安全資訊包含表示是否允許對記憶裝置進行資料之讀出或寫入之狀態的旗標資訊,該時間資訊表示記憶裝置電源接通之累積時間值。控制器於自主機裝置接收到第1指令之情形下,產生將對安全資訊附加時間資訊所得之資料加密而成之密文資料,並將密文資料發送至主機裝置後,使記憶裝置切換為低電力狀態。
Description
本實施形態係關於一種記憶裝置及程式。
近年來,使用有作為具備資料之加密功能之記憶裝置(儲存器)的自加密驅動器(Self Encrypting Drive:SED)。自加密驅動器內置有密鑰,禁止自外部讀出該密鑰,藉此確保驅動器之安全性、隱匿性。
自加密驅動器具備驗證功能,例如藉由經由主機裝置輸入密碼而解除自加密驅動器之鎖定。於解鎖後,自加密驅動器允許由主機裝置進行讀寫,藉由斷開驅動器之電源而再次使其成為鎖定狀態。
本實施形態提供一種使待機電力降低並且安全地恢復為解鎖狀態之記憶裝置及程式。
本實施形態之記憶裝置能夠與主機裝置進行通信,且具備:控制器,其控制上述記憶裝置;及記憶區域,其包含安全資訊及時間資訊,該安全資訊包含表示是否允許對上述記憶裝置進行資料之讀出或寫入之狀態之旗標資訊,該時間資訊表示上述記憶裝置電源接通之累積時間值。上述控制器於自上述主機裝置接收到第1指令之情形下,產生將對上述安全資訊附加上述時間資訊所得之資料加密而成之密文資料,並將上述密文資料發送至上述主機裝置後,使上述記憶裝置切換為低電力狀態。
[相關申請案]
本申請案享有以日本專利申請案2018-154777號(申請日:2018年8月21日)為基礎申請案之優先權。本申請案藉由參照該基礎申請案而包含基礎申請案之所有內容。
一般而言,記憶裝置於例如存取頻度降低之情形下,為了節約消耗電力而以自通常狀態切換為低電力狀態之方式被控制。於自加密驅動器中,較佳為不重新輸入密碼便自該低電力狀態恢復至通常狀態(即解除低電力狀態)。進而,例如於自加密驅動器因電池電量不足、失竊等而成為電源斷開之狀態之情形下,再次成為鎖定狀態,藉此,可防止驅動器中所儲存之資料洩漏。
作為實現低電力狀態之方法,考慮例如將自加密驅動器之內部狀態中之一部分狀態保持於例如延續(retention)SRAM(Static Random Access Memory,靜態隨機存取記憶體)、延續FF(Flip Flop,正反器)等待機電力極小之記憶電路的方法。然後,於自低電力狀態恢復時,將記憶電路中所保持之內容寫回至通常之記憶區域。此處,若意外發生電源斷開,則會因延續SRAM、延續FF之內容消失而再次鎖定,藉此確保安全性。然而,於使用該方法之情形下,記憶電路必須通電,因此雖所需之電力極小,但仍需要待機電力。
作為實現低電力狀態之另一種方法,考慮例如將上述一部分狀態預先記憶於NAND(Not AND,反及)快閃記憶體等非揮發性記憶體中,並完全斷開驅動器之電源的方法。該方法中,驅動器之待機電力成為零。然而,於接通電源時,若例如利用外部輸入信號來區分是自低電力狀態之恢復或是冷啟動,則存在驅動器中所儲存之資料被盜之可能性。具體而言,可能遭遇如下攻擊:自某一系統將成為低電力狀態之驅動器卸除後連接於另一系統,假裝成自低電力狀態之恢復而接通驅動器之電源,藉此使驅動器於解鎖狀態下啟動。又,會因頻繁對非揮發性記憶體進行寫入而導致非揮發性記憶體疲勞。
又,作為實現低電力狀態之又一種方法,考慮於在主機裝置之安全區域儲存有未加密之(即明文之)密碼之狀態下斷開自加密驅動器之電源的方法。其後,驅動器電源接通而自低電力狀態恢復,並且自主機裝置讀出密碼。該方法中,驅動器之待機電力成為零。然而,當主機裝置與驅動器一併失竊時,例如藉由利用測定器等讀取流通於匯流排介面(例如SATA(Serial ATA(Serial Advanced Technology Attachment,串列進階附接技術))、PCI(Peripheral Component Interconnect,周邊元件互連)、DIMM(Dual Inline Memory Module,雙列直插式記憶體模組)等)之密碼而導致該密碼洩漏。再者,於將驅動器之內部狀態而非密碼儲存於主機裝置之情形下亦同樣如此。
於以下說明之各實施形態中,提供一種記憶裝置,其於使作為自加密驅動器之記憶裝置切換為低電力(或電源斷開)狀態時,例如能夠將用於記憶裝置中所儲存之資料之加密的密鑰或記憶裝置之鎖定狀態等機密資訊安全地避讓至主機裝置之特定緩衝區等安全性未必得到保障之區域。
具體而言,記憶裝置對記憶裝置中所儲存之機密資訊實施加密處理及防篡改處理,並將處理後之資料避讓於主機裝置。此時,將表示電源接通時間之資訊預先避讓於例如記憶裝置內之非揮發性記憶體等。記憶裝置於將該資料復原時,使用該表示電源接通時間之資訊驗證該資料之正當性。藉此,可將記憶裝置之機密資訊安全地避讓並復原至主機裝置,並且可防止重播攻擊(replay attack)。
以下,一面參照圖式一面對各實施形態進行說明。於以下之說明中,對大致或實質上相同之功能及構成要素標註相同符號,並視需要進行說明。
[第1實施形態] 本實施形態之電腦系統包含記憶裝置,該記憶裝置經由PCIe(PCI Express,Peripheral Component Interconnect Express,快捷外設互聯標準)規格之介面而與主機裝置連接,且支援NVMe(Non-Volatile Memory Express,非揮發性記憶體標準)規格之主機記憶體緩衝區(Host Memory Buffer)。所謂支援主機記憶體緩衝區係指將主機裝置之DRAM(Dynamic Random Access Memory,動態隨機存取記憶體)之一部分用作該記憶裝置之緩衝區。又,該記憶裝置於NVMe規格所定義之動作之範圍內實現低電力狀態。
圖1係表示本實施形態之記憶裝置及具備該記憶裝置之電腦系統1之構成之一例的方塊圖。
電腦系統1包含主機裝置2、及記憶裝置3。
主機裝置2例如為PC(Personal Computer,個人電腦)、智慧型手機等資訊處理裝置。
主機裝置2包含連接器介面(I/F)21、CPU(Central Processing Unit,中央處理單元)22、RAM(Random Access Memory,隨機存取記憶體)23、ROM(Read Only Memory,唯讀記憶體)24等。連接器介面21、RAM23、ROM24分別與CPU22電性連接。
連接器介面21進行主機裝置2與記憶裝置3之間之介面處理。更具體而言,連接器介面21經由下述記憶裝置3之連接器介面31而與記憶裝置3之間收發指令、位址、資料、資訊、命令、信號等。連接器介面21例如為PCIe規格之介面等。
CPU22為控制主機裝置2整體之動作之處理器。CPU22例如由ROM24中所儲存之控制程式等控制。
CPU22將用以控制記憶裝置3之指令等經由連接器介面21發送至記憶裝置3。又,CPU22將經由連接器介面21而自記憶裝置3接收之資料等儲存至RAM23或ROM24等。
RAM23用作CPU22之作業區域,儲存控制程式及控制程式之執行所需之各種資料。RAM23例如亦可用作暫時儲存資料之快取記憶體。RAM23例如為SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)等揮發性記憶體。
ROM24為儲存由CPU22使用之控制程式等軟體或韌體之非揮發性記憶體。
再者,CPU22亦可構成為SoC(System On Chip,系統單晶片)。於CPU22為SoC之情形下,RAM23及/或ROM24亦可包含於CPU22。
記憶裝置3例如為SSD(Solid State Drive,固態驅動器)等記憶裝置。記憶裝置3亦可為能夠攜帶之HDD(Hard Disk Drive,硬碟驅動器)等。
記憶裝置3包含連接器介面(I/F)31、控制器32、RAM33、快閃記憶體34等。連接器介面31、RAM33、快閃記憶體34分別與控制器32電性連接。
連接器介面31與連接器介面21同樣地進行記憶裝置3與主機裝置2之間之介面處理。再者,連接器介面31亦可包含於控制器32。
控制器32係控制記憶裝置3整體之動作之SoC。控制器32於記憶裝置3切換為低電力狀態時,對記憶裝置3中所包含之特定資料(下述安全資訊)實施加密處理及防篡改處理。控制器32將實施過該等處理之安全資訊發送至主機裝置2。又,控制器32於記憶裝置3自低電力狀態恢復時,自主機裝置2讀出安全資訊,對所讀出之安全資訊實施驗證處理、解碼處理。
關於控制器32之構成之詳細情況,將使用圖2於下文敍述。又,關於控制器32所執行之處理之詳細情況,將於圖3後於下文敍述。
RAM33用作控制器32之作業區域。RAM33例如亦可用作暫時儲存資料之快取記憶體。RAM33與RAM23同樣地例如為SRAM、DRAM等揮發性記憶體。
快閃記憶體34係構成記憶裝置3之記憶區域之非揮發性記憶體。快閃記憶體34例如設為NAND型快閃記憶體,亦可為NOR(Not OR,反或)型快閃記憶體、MRAM(Magnetoresistive Random Access Memory,磁阻記憶體)、PRAM(Phasechange Random Access Memory,相變記憶體)、ReRAM(Resistive Random Access Memory,可變電阻型記憶體)、FeRAM(Ferroelectric Random Access Memory,鐵電式隨機存取記憶體)等其他非揮發性之半導體記憶體。例如,快閃記憶體34亦可為其他非揮發性之記憶體、磁性記憶體等。例如,快閃記憶體34亦可為三維構造之記憶體。再者,上述ROM24例如為與快閃記憶體34同種之記憶體。
圖2係表示本實施形態之記憶裝置之控制器之構成之一例的方塊圖。
控制器32包含介面(I/F)321、CPU322、RAM控制器323、快閃記憶體控制器324、RAM325、ROM326等,其等藉由系統匯流排而連接。
介面321對於對控制器32之存取進行介面處理。介面321例如為PCIe規格之介面等。
CPU322係對控制器32之動作進行控制之處理器。CPU322與主機裝置2之CPU22同樣地由特定之控制程式等控制。
RAM控制器323係用以控制上述RAM33之控制器。又,快閃記憶體控制器324係用以控制上述快閃記憶體34之控制器。
RAM325係構成控制器32之內部之記憶區域之揮發性記憶體。RAM325例如儲存資料加密金鑰DK、讀出鎖定旗標F1、寫入鎖定旗標F2、密碼驗證金鑰PK、電源接通時間資訊PI等。
資料加密金鑰DK係用以對快閃記憶體34中所儲存之資料進行加密之金鑰資訊。控制器32於對快閃記憶體34儲存資料時,使用該資料加密金鑰DK對該資料進行加密。資料加密金鑰DK例如使用XTS模式之AES(Advanced Encryption Standard,進階加密標準)等。資料加密金鑰之尺寸例如為512位元。
讀出鎖定旗標F1及寫入鎖定旗標F2係表示是否允許對記憶裝置3進行存取之狀態之旗標資訊。
讀出鎖定旗標F1係管理記憶裝置3是否為不可讀出狀態之旗標。於記憶裝置3為不可讀出狀態之情形下,控制器32拒絕記憶裝置3之快閃記憶體34中所儲存之資料之讀出。例如,於讀出鎖定旗標F1為打開之情形下,記憶裝置3成為不可讀出狀態,於讀出鎖定旗標F1為關閉之情形下,記憶裝置3成為允許讀出狀態。
寫入鎖定旗標F2係管理記憶裝置3是否為不可寫入狀態之旗標。於記憶裝置3為不可寫入狀態之情形下,控制器32拒絕對記憶裝置3之快閃記憶體34寫入資料。例如,於寫入鎖定旗標F2為打開之情形下,記憶裝置3成為不可寫入狀態,於寫入鎖定旗標F2為關閉之情形下,記憶裝置3成為允許寫入狀態。
再者,讀出鎖定旗標F1、寫入鎖定旗標F2之資料尺寸分別例如為1位元。
密碼驗證金鑰PK例如係表示用以允許使用者經由主機裝置2對記憶裝置3進行存取之密碼的資料。使用者於對記憶裝置3進行存取時,經由主機裝置2對記憶裝置3輸入特定密碼。主機裝置2將所輸入之密碼發送至記憶裝置3。控制器32對自主機裝置2接收到之密碼與密碼驗證金鑰PK進行比較,於兩者一致之情形下,判定為使用者之驗證成功,而允許該使用者對記憶裝置3進行存取。
再者,密碼驗證金鑰PK較佳為包含與複數個使用者對應之複數個密碼資訊。密碼驗證金鑰PK之資料尺寸例如為256位元。
上述所說明之資料加密金鑰DK、讀出鎖定旗標F1、寫入鎖定旗標F2、密碼驗證金鑰PK等在記憶裝置3切換為低電力狀態時避讓至主機裝置2。以下,將避讓至主機裝置2之資料總稱為安全資訊SI1。
再者,於該安全資訊SI1中,亦可不包含資料加密金鑰DK、密碼驗證金鑰PK。即,安全資訊SI1至少包含讀出鎖定旗標F1及寫入鎖定旗標F2。控制器32亦可於記憶裝置3切換為低電力狀態時,將資料加密金鑰DK及密碼驗證金鑰PK避讓至例如ROM326或快閃記憶體34。
又,於安全資訊SI1中,亦可包含例如經藉由使用者輸入密碼而解除記憶裝置3之鎖定從而產生之各種中間安全資訊、或其他資訊等。
電源接通時間資訊PI係表示記憶裝置3自製品出貨至當前為止電源接通之累積時間值的資訊。電源接通時間資訊PI例如為表示單位時間之經過之計數值,每經過單位時間時將值累加。單位時間較佳為例如1毫秒左右或其以下。
電源接通時間資訊PI於記憶裝置3之電源斷開後停止值之累加,於電源重新接通後再次開始值之累加。因此,電源接通時間資訊PI於電源斷開時非揮發化而儲存於ROM326或快閃記憶體34等。再者,電源接通時間資訊PI亦可儲存於RAM33。
一般而言,於SSD(Solid State Drive)中,該電源接通時間資訊PI係作為管理資訊之一部分項目而儲存於該SSD內。例如,於NVMe規格下,該管理資訊係能夠藉由“Get Log Page”指令而獲取之SMART資訊。電源接通時間資訊PI係該SMART資訊中以“Power On Hours”項目表示之值。
ROM326係構成控制器32之內部之記憶區域之非揮發性記憶體。ROM326例如儲存密鑰資訊KI。密鑰資訊KI中例如包含第1密鑰SK1、第2密鑰SK2等。
第1密鑰SK1係用以對安全資訊SI1進行加密之固定密鑰。更具體而言,第1密鑰SK1係根據例如AES對安全資訊SI1執行加密及解碼時所使用之金鑰資訊。第1密鑰SK1之資料尺寸例如為256位元。
第2密鑰SK2係對安全資訊SI1實施防篡改處理時所使用之金鑰資訊。更具體而言,第2密鑰SK2係用以利用例如HMAC(Hash-based Message Authentication Code,雜湊訊息驗證碼)方式算出針對安全資訊SI1之固有值(訊息驗證碼)的金鑰資訊。再者,於HMAC方式之情形下,訊息驗證碼為MAC(Message Authentication Code,訊息驗證碼)值。又,第2密鑰SK2之資料尺寸例如為256位元。
再者,RAM33亦可包含於RAM325。又,RAM325及/或ROM326亦可配置於控制器32之外部。
圖3係表示本實施形態之電腦系統中之各資料之儲存狀態之一例的圖。
首先,圖3(a)表示記憶裝置3切換為低電力狀態前之各資料之儲存狀態。於記憶裝置3中,如上所述,包含安全資訊SI1、密鑰資訊KI、及電源接通時間資訊PI。又,於主機裝置2之緩衝區25中,不包含該等資訊。再者,緩衝區25例如係包含RAM23等之記憶區域。更具體而言,如上所述,緩衝區25係NVMe規格之主機記憶體緩衝區等。
其次,圖3(b)表示記憶裝置3切換為低電力狀態後之各資料之儲存狀態。於記憶裝置3切換為低電力狀態時,控制器32對安全資訊SI1實施加密處理及防篡改處理。藉此,安全資訊SI1被轉換為已處理之安全資訊SI2。進而,控制器32將已處理之安全資訊自RAM325發送至主機裝置2。主機裝置2將該已處理之安全資訊SI2儲存至緩衝區25。
又,於記憶裝置3自低電力狀態恢復時,控制器32自主機裝置2讀出已處理之安全資訊SI2,並對所讀出之已處理之安全資訊SI2實施驗證處理及解碼處理,藉此將安全資訊SI1復原至RAM325。
以下,使用圖4及圖5,對記憶裝置3向低電力狀態之切換處理、及記憶裝置3自低電力狀態之恢復處理之詳細情況進行說明。
圖4係表示本實施形態之電腦系統向低電力狀態之切換動作及自低電力狀態之恢復動作之一例的圖。
狀態(1)表示主機裝置2及記憶裝置3之初始狀態。主機裝置2及記憶裝置3設為電源斷開狀態。
狀態(2)表示已對記憶裝置3輸入了密碼之狀態。於狀態(1)之後,主機裝置2及記憶裝置3之電源接通(on),主機裝置2及記憶裝置3成為電源接通狀態。使用者經由主機裝置2對記憶裝置3輸入用以對記憶裝置3進行存取之密碼。
狀態(3)表示允許記憶裝置3之存取之狀態。於狀態(2)之後,記憶裝置3之控制器32對輸入之密碼與密碼驗證金鑰PK進行比較。控制器32於兩者一致之情形下,判定為使用者之驗證成功,允許該使用者對記憶裝置3進行存取。
再者,亦可不對輸入之密碼與密碼驗證金鑰PK本身進行比較,而例如設為使用利用HMAC方式之詰問/回應驗證等對MAC值彼此進行比較。於該情形下,為了產生訊息驗證碼(MAC值),亦需要輸入之明文密碼之值。因此,若將密碼以明文保存於主機,則如上所述般會產生利用測定器等對流通於匯流排之密碼進行解析而導致密碼洩漏的可能性。
狀態(4)表示記憶裝置3自主機裝置2接收到向低電力狀態之切換要求後之狀態。記憶裝置3產生已處理之安全資訊SI2,並向主機裝置2發送。
狀態(5)表示記憶裝置3之低電力狀態。於該低電力狀態下,記憶裝置3將除用以接收來自主機之恢復要求而自低電力狀態恢復所需之功能以外之所有電源斷開。
狀態(6)表示記憶裝置3自主機裝置2接收到自低電力狀態之恢復要求後之狀態。記憶裝置3自主機裝置2接收已處理之安全資訊SI2。
狀態(7)表示記憶裝置3已恢復為切換為低電力狀態前之狀態的狀態。控制器32藉由對自主機裝置2接收到之已處理之安全資訊SI2實施驗證處理及解碼處理,而復原安全資訊SI1。
圖5係表示本實施形態之電腦系統中之向低電力狀態之切換處理及自低電力狀態之恢復處理之一例的流程圖。
再者,步驟S101~S104之處理對應於圖4之狀態(4),步驟S105之處理對應於圖4之狀態(5),步驟S106~S112之處理對應於圖4之狀態(6)。
於步驟S101中,主機裝置2之CPU22對記憶裝置3發送向低電力狀態之切換要求。更具體而言,CPU22例如發出NVMe規格之“Set Features”指令。該指令係要求於記憶裝置3中將NVMe規格所規定之“Power Management Feature”之“Power State”設為電力最低之狀態的指令。該電力最低之狀態例如為NVMe規格之“Non-Operational Power State”,且係無法對I/O指令(讀出指令、寫入指令等)進行處理之狀態。再者,於本實施形態中,PCIe規格之“Power State”係並非電源斷開之狀態(例如D0等)。
記憶裝置3之控制器32接收該要求。控制器32為了轉變為低電力狀態,而等待已經自主機裝置2發出之I/O指令之結束。
於步驟S102中,控制器32停止電源接通時間資訊PI之更新。控制器32以自低電力狀態之恢復後保持電源接通時間資訊PI之計數值之方式,將電源接通時間資訊PI避讓於非揮發性記憶體(ROM326、快閃記憶體34)、或未圖示之延續SRAM、延續FF等。
於步驟S103中,控制器32對記憶裝置3之安全資訊實施加密處理及防篡改處理,產生已處理之安全資訊SI2。控制器32將所產生之已處理之安全資訊SI2發送至主機裝置2。關於加密處理及防篡改處理之詳細情況,使用圖6及圖7於下文敍述。
再者,於步驟S103中,於除已處理之安全資訊SI2以外還有必須避讓於主機裝置2之資料之情形下,將該資料亦發送至主機裝置2。
於步驟S104中,主機裝置2之CPU22將所接收之已處理之安全資訊SI2儲存至緩衝區25。
於步驟S105中,控制器32將記憶裝置3內之電路之電源斷開。更具體而言,控制器32經由記憶裝置3內之電源控制電路而將除例如NVMe規格所規定之執行最低限度之功能(對組態空間或Admin Queue之存取等I/O指令以外之功能)所需之電路以外的電源斷開。
其後,於步驟S106中,主機裝置2之CPU22對記憶裝置3發送自低電力狀態之恢復要求。更具體而言,CPU22發出NVMe規格之“Set Features”指令。該指令係與步驟S103同樣之指令,但例如具有不同之自變量。該指令係要求於記憶裝置3中將VNMe規格所規定之“Power Management Feature”之“Power State”設為電力最高之狀態的指令。所謂該電力最高之狀態,例如為可對I/O指令進行處理之狀態。
發送該恢復要求之時序例如為CPU22檢測到使用者對記憶裝置3進行之存取之情形等。
於步驟S107中,記憶裝置3之控制器32自主機裝置2接收恢復要求。此處,記憶裝置3能夠識別自低電力狀態之恢復,因此將記憶裝置內之電路之電源接通(on)。
於步驟S108中,控制器32自主機裝置2之緩衝區25讀出已處理之安全資訊SI2,對所讀出之已處理之安全資訊SI2執行驗證處理及解碼處理。更具體而言,控制器32於驗證成功之情形下(即判定為未被篡改之情形下),自已處理之安全資訊SI2復原安全資訊SI1,並儲存至RAM325。關於驗證處理及解碼處理之詳細情況,使用圖8及圖9於下文敍述。
於步驟S109中,控制器32再次開始電源接通時間資訊PI之更新。藉此,記憶裝置3成為已自低電力狀態恢復之狀態。
以下,使用圖6及圖7,對安全資訊SI1之加密處理及防篡改處理之詳細情況進行說明。再者,圖6及圖7所示之處理相當於圖5之步驟S103。
圖6係表示本實施形態之安全資訊之加密處理及防篡改處理之一例的流程圖。
圖7係本實施形態之安全資訊之加密處理及防篡改處理之概念圖。
於步驟S201中,記憶裝置3之控制器32特定並獲取避讓至主機裝置2之安全資訊SI1。
於步驟S202中,控制器32利用特定演算法而產生偽隨機數。特定演算法例如為Hash_DRBG-SHA256等。又,偽隨機數之資料尺寸例如為128位元。
於步驟S203中,控制器32將對安全資訊SI1及電源接通時間資訊PI建立關聯所得之資料設為明文資料。然後,控制器32使用ROM326中所儲存之第1密鑰SK1、及步驟S202中產生之偽隨機數,藉由特定加密演算法將該明文資料加密。藉由該加密處理,而產生密文資料。再者,特定加密演算法例如為AES-CBC演算法等。
於步驟S204中,控制器32對步驟S203中所產生之密文資料實施防篡改處理。更具體而言,控制器32產生將步驟S203中所產生之密文資料與偽隨機數建立關聯而得之訊息資料。然後,控制器32使用ROM326中所儲存之第2密鑰SK2,利用特定演算法而產生針對該訊息資料之訊息驗證碼(MAC值)。再者,特定演算法例如為HMAC-SHA256等。
於步驟S205中,控制器32將對訊息資料(包含密文資料及偽隨機數)附加訊息驗證碼而成之資料設為已處理之安全資訊SI2,並發送至主機裝置2。主機裝置2將所接收之已處理之安全資訊SI2儲存至緩衝區25。
再者,控制器32於記憶裝置3自低電力狀態恢復時對該訊息驗證碼進行驗證,於訊息驗證碼發生變化之情形下,判定為已處理之安全資訊SI2已被篡改。
以下,使用圖8及圖9,對已處理之安全資訊SI2之驗證處理及解碼處理之詳細情況進行說明。再者,圖8及圖9所示之處理相當於圖5之步驟S108。
圖8係表示本實施形態之安全資訊之驗證處理及解碼處理之一例的流程圖。
圖9係本實施形態之安全資訊之驗證處理及解碼處理之概念圖。
於步驟S301中,記憶裝置3之控制器32自已處理之安全資訊SI2獲取密文資料、偽隨機數、及訊息驗證碼。又,控制器32產生將密文資料及偽隨機數建立關聯而得之訊息資料。
於步驟S302中,控制器32讀出ROM326中所儲存之第2密鑰SK2。然後,控制器32使用該第2密鑰SK2,藉由與步驟S204同樣之處理而產生針對該訊息資料之訊息驗證碼(MAC值)。
於步驟S303中,控制器32對步驟S302中所產生之訊息驗證碼與步驟S301中所獲取之訊息驗證碼進行比較。
於兩者之比較結果不一致之情形下,控制器32判定為已處理之安全資訊SI2已被篡改,處理前進至步驟S307。另一方面,於該比較結果一致之情形下,處理前進至步驟S304。
於步驟S307中,控制器32執行錯誤處理。更具體而言,控制器32將記憶裝置3例如設為“Persistent Internal Error”。該錯誤處理後,記憶裝置3成為例如重設前無法恢復之狀態。
於步驟S304中,控制器32讀出ROM326中所儲存之第1密鑰SK1。然後,控制器32使用該第1密鑰SK1、及步驟S301中所獲取之偽隨機數,藉由與步驟S204同樣之演算法對密文資料進行解碼。藉由該解碼處理而產生明文資料。
於步驟S305中,控制器32確認步驟S304中所產生之明文資料所包含之電源接通時間資訊與記憶裝置3中所儲存之電源接通時間資訊PI是否一致。
於兩者之比較結果不一致之情形下,於步驟S307中,控制器32執行上述錯誤處理。另一方面,於該比較結果一致之情形下,處理前進至步驟S306。
於步驟S306中,控制器32自步驟S304中產生之明文資料獲取安全資訊SI1,並儲存(復原)至RAM325。
於以上所說明之本實施形態中,記憶裝置3之控制器32於自主機裝置2接收到向低電力狀態之切換要求之情形下,對安全資訊SI1實施加密處理及防篡改處理,產生已處理之安全資訊SI2。控制器32將已處理之安全資訊SI2避讓至主機裝置2之緩衝區25。藉此,於記憶裝置3之低電力狀態下,可確保安全資訊SI1之安全性。
換言之,藉由對機密性較高之安全資訊SI1實施加密處理及防篡改處理,可將該資料避讓於安全性較低之主機裝置2之緩衝區25。
於記憶裝置3自低電力狀態恢復時,藉由對已處理之安全資訊SI2之正當性進行驗證,可檢測篡改。又,於該驗證處理時,藉由確認電源接通時間資訊PI之計數值正確,可防止重播攻擊。
又,藉由將安全資訊SI1(已處理之安全資訊SI2) 避讓至主機裝置2之緩衝區25,而與將該安全資訊SI1保持於例如記憶裝置3內之延續SRAM、延續FF等之情形相比,可削減記憶裝置3之待機電力。
同樣地,安全資訊SI1藉由避讓於主機裝置2而無需保持於記憶裝置3內之非揮發性記憶體(快閃記憶體34、ROM326等),因此可減少資料向該非揮發性記憶體之寫入次數。即,可防止每當記憶裝置3向低電力狀態切換時該非揮發性記憶體疲勞。
於本實施形態中,安全資訊SI1藉由被加密後避讓至主機裝置2,而可防止密碼驗證金鑰PK等之洩漏。更具體而言,即便於主機裝置2被第三者盜竊,該第三者例如利用邏輯分析器等嘗試解析主機裝置2及記憶裝置3之匯流排中流通之密碼之情形下,由於密碼已被加密,因而不會被解析。
又,於安全資訊SI1之加密處理時,使用電源接通時間資訊PI。藉此,即便例如盜竊了記憶裝置3之第三者一次成功解鎖,為了再次解鎖所需之資訊亦變得不同。即,第三者例如僅解析主機裝置2及記憶裝置3之匯流排中流通之資料並不能獲得用以解鎖之資訊。因此,可提高記憶裝置3之機密性,並且防止該第三者之重播攻擊。
於本實施形態中,記憶裝置3自低電力狀態恢復時無需再次解除驅動器之鎖定,因此提昇利用者之便利性。
本實施形態之記憶裝置3尤其適用於如BGA(Ball Grid Array,球狀柵格陣列)-SSD、無DRAM之SSD般對待機電力及DRAM等之記憶量之制約條件嚴格之製品。
再者,對於安全資訊SI1,亦可使用第1密鑰SK1並藉由其他共通金鑰加密方式進行加密。其他加密方式例如為AES-CTR(計數模式)、RSA方式等。
又,對於安全資訊SI1,亦可使用第2密鑰SK2並藉由其他方式實施防篡改處理。作為其他防篡改處理,例如為使用變更了雜湊函數之HMAC方式、使用公開密鑰加密對密文資料賦予署名並驗證該署名等。
再者,亦可使用隨時間變化之其他資訊來代替本實施形態中所使用之電源接通時間資訊PI。例如,亦可使用值隨時間變化之隨機數等。又,亦可使用基於記憶裝置3之串列編號、型號編號等之資訊來代替電源接通時間資訊PI。
又,記憶裝置3之控制器32亦可於步驟S103中不將所有已實施過加密處理及防篡改處理之已處理之安全資訊SI2發送至主機裝置2。例如,控制器32亦可僅將訊息驗證碼(MAC值)發送至主機裝置2,將訊息驗證碼以外之已處理之安全資訊SI2避讓於記憶裝置3內之非揮發性記憶體(例如快閃記憶體34、ROM326等)。其後,控制器32於步驟S108中,當自低電力狀態恢復時,對自主機裝置2接收到之訊息驗證碼與自記憶裝置3中所儲存之已處理之安全資訊SI2產生之訊息驗證碼進行比較,藉此進行防篡改之驗證。於該情形下,自記憶裝置3發送至主機裝置2之資料量變少,因此,防止明文資料之洩漏之效果進一步提高。
[第2實施形態] 於第1實施形態中,於記憶裝置3切換為低電力狀態時、或記憶裝置3自低電力狀態恢復時,主機裝置2對記憶裝置3發出NVMe規格之“Set Features”指令。於該指令下,記憶裝置3之電源不成為完全斷開狀態。
另一方面,於本實施形態中,於記憶裝置3切換為低電力狀態時,使用NVMe規格所未規定之獨自之指令(以下稱為供應商擴展指令),將記憶裝置3之電源設為完全斷開狀態,對上述情形進行敍述。供應商擴展指令例如係記憶裝置3之製造商等所定義之指令。
再者,NVMe規格上,於將記憶裝置3設為電源斷開之情形下,主機裝置2之主機記憶體緩衝區(Host Memory Buffer)亦被釋放。即,於本實施形態中,以不支援主機記憶體緩衝區之記憶裝置3為對象。
圖10係表示本實施形態之電腦系統中之向低電力狀態之切換處理及自低電力狀態之恢復處理之一例的流程圖。
於本實施形態中,主機裝置2之緩衝區25並非NMVe規格之主機記憶體緩衝區。除此以外之電腦系統1之構成與第1實施形態相同。
再者,圖10之處理對應於圖5之處理。對於圖10所示之處理中與圖5同樣之處理,省略說明。
於步驟S401中,主機裝置2之CPU22發出用以將記憶裝置3之電源斷開之指令(供應商擴展指令)。再者,主機裝置2發出該指令後,按照例如NVMe規格所規定之關機序列,等待對記憶裝置3之I/O指令結束,並刪除I/O隊列。
於步驟S402中,記憶裝置3之控制器32停止更新電源接通時間資訊PI。停止之時點時之電源接通時間資訊PI之值係非揮發化而記錄於例如快閃記憶體34。步驟S402之處理與步驟S102之處理相同,因此省略說明。
於步驟S403中,控制器32對記憶裝置3之安全資訊實施加密處理及防篡改處理,產生已處理之安全資訊SI2。又,控制器32將所產生之已處理之安全資訊SI2作為對供應商擴展指令之應答而發送至主機裝置2。加密處理及防篡改處理之內容與步驟S103相同。
於步驟S404中,主機裝置2之CPU22將已處理之安全資訊SI2儲存至緩衝區25。
於步驟S405中,CPU22對記憶裝置3進行例如NVMe規格所規定之關機通知。再者,CPU22於記憶裝置3之關機處理結束後,例如使PCIe規格之“Power State”轉變為電源斷開狀態(D3)。
藉此,於步驟S406中,記憶裝置3之電源成為斷開狀態,即成為待機電力為零之狀態。
於步驟S407中,主機裝置2之CPU22使記憶裝置3執行啟動處理。該啟動處理例如係PCIe規格及/或NVMe規格所規定之處理。
於步驟S408中,當啟動處理結束時,記憶裝置3成為電源接通狀態。此處,記憶裝置3不區分冷啟動與自低電力狀態之恢復。
又,伴隨記憶裝置3之啟動而重新開始電源接通時間資訊PI之計數。因此,控制器32將電源再接通時點時之電源接通時間資訊PI之重新開始前之計數值與重新開始後之計數值分開而預先保持於例如RAM325或快閃記憶體34等。
於步驟S409中,主機裝置2之CPU22發出用以復原記憶裝置3之安全資訊SI1之指令(供應商擴展指令)。CPU22與該指令之發出同時地將已儲存於緩衝區25之已處理之安全資訊SI2發送至記憶裝置3。
於步驟S410中,記憶裝置3之控制器32藉由接收已處理之安全資訊SI2,而識別為自低電力狀態之恢復。控制器32對已處理之安全資訊SI2執行驗證處理及解碼處理。驗證處理及解碼處理之內容與步驟S108相同。再者,用於驗證處理之電源接通時間資訊PI之計數值係使用步驟S408中保持之值。
於步驟S411中,控制器32使電源接通時間資訊PI之計數值恢復為步驟S408中保持之值(即電源重新接通時點之值)。藉此,記憶裝置3成為已自低電力狀態恢復之狀態。
根據以上所說明之本實施形態,主機裝置2於使記憶裝置3切換為低電力狀態時,使用供應商擴展指令,針對記憶裝置3,使記憶裝置3之電源成為完全斷開狀態。藉此,於低電力狀態下,本實施形態之電腦系統1較第1實施形態之電腦系統1更加低電力化。
又,於本實施形態中,於不支援NVMe規格之主機記憶體緩衝區之記憶裝置3中,亦可於電源斷開時將安全資訊SI1安全地避讓至主機裝置2,因此可提高機密性。
已對本發明之若干個實施形態進行了說明,但該等實施形態係作為示例而提出者,並非意在限定發明之範圍。該等新穎之實施形態能夠以其他各種形態實施,且可於不脫離發明主旨之範圍內進行各種省略、置換、變更。該等實施形態及其變化包含於發明之範圍或主旨中,並且包含於申請專利範圍所記載之發明及其均等之範圍內。
1‧‧‧電腦系統2‧‧‧主機裝置3‧‧‧記憶裝置21‧‧‧連接器介面22‧‧‧CPU23‧‧‧RAM24‧‧‧ROM25‧‧‧緩衝區31‧‧‧連接器介面32‧‧‧控制器33‧‧‧RAM34‧‧‧快閃記憶體321‧‧‧介面322‧‧‧CPU323‧‧‧RAM控制器324‧‧‧快閃記憶體控制器325‧‧‧RAM326‧‧‧ROMDK‧‧‧資料加密金鑰F1‧‧‧讀出鎖定旗標F2‧‧‧寫入鎖定旗標KI‧‧‧密鑰資訊PK‧‧‧密碼驗證金鑰PI‧‧‧電源接通時間資訊S101~S109‧‧‧步驟S201~S205‧‧‧步驟S301~S307‧‧‧步驟S401~S411‧‧‧步驟SI1‧‧‧安全資訊SI2‧‧‧已處理之安全資訊SK1‧‧‧第1密鑰SK2‧‧‧第2密鑰
圖1係表示第1實施形態之記憶裝置及具備該記憶裝置之電腦系統之構成之一例的方塊圖。 圖2係表示第1實施形態之記憶裝置之控制器之構成之一例的方塊圖。 圖3(a)及(b)係表示第1實施形態之電腦系統中之各資料之儲存狀態之一例的圖。 圖4係表示第1實施形態之電腦系統向低電力狀態之切換動作及自低電力狀態之恢復動作之一例的圖。 圖5係表示第1實施形態之電腦系統中之向低電力狀態之切換處理及自低電力狀態之恢復處理之一例的流程圖。 圖6係表示第1實施形態之安全資訊之加密處理及防篡改處理之一例的流程圖。 圖7係第1實施形態之安全資訊之加密處理及防篡改處理之概念圖。 圖8係表示第1實施形態之安全資訊之驗證處理及解碼處理之一例的流程圖。 圖9係第1實施形態之安全資訊之驗證處理及解碼處理之概念圖。 圖10係表示第2實施形態之電腦系統中之向低電力狀態之切換處理及自低電力狀態之恢復處理之一例的流程圖。
1‧‧‧電腦系統
2‧‧‧主機裝置
3‧‧‧記憶裝置
21‧‧‧連接器介面
22‧‧‧CPU
23‧‧‧RAM
24‧‧‧ROM
31‧‧‧連接器介面
32‧‧‧控制器
33‧‧‧RAM
34‧‧‧快閃記憶體
Claims (9)
- 一種記憶裝置,其係能夠與主機裝置進行通信者,且具備:控制器,其控制上述記憶裝置;及記憶區域,其包含安全資訊及時間資訊,上述安全資訊包含表示是否允許對上述記憶裝置進行資料之讀出或寫入之狀態之旗標資訊,上述時間資訊表示上述記憶裝置電源接通之累積時間值;且上述控制器係:於自上述主機裝置接收到第1指令之情形下,產生將對上述安全資訊附加上述時間資訊所得之資料加密而成之密文資料,並將上述密文資料發送至上述主機裝置後,使上述記憶裝置切換為低電力狀態。
- 如請求項1之記憶裝置,其中上述控制器於自上述主機裝置接收到第2指令之情形下,自上述主機裝置接收上述密文資料,對上述密文資料執行解碼處理,將藉由上述解碼處理所獲得之上述安全資訊及上述時間資訊復原至上述記憶區域。
- 如請求項2之記憶裝置,其中上述控制器係:執行針對上述密文資料之防篡改處理,將藉由上述防篡改處理所產生之第1驗證碼發送至上述主機裝置,於接收到上述第2指令之情形下,藉由對自上述主機裝置接收到之上述密文資料執行上述防篡改處理而產生第2驗證碼,且 於自上述主機裝置接收到之上述第1驗證碼與上述第2驗證碼一致之情形下,執行上述解碼處理。
- 如請求項2之記憶裝置,其中上述控制器係:於接收到上述第1指令之情形下,使上述時間資訊於上述記憶區域內非揮發化,於接收到上述第2指令之情形下,對經上述非揮發化之上述時間資訊與藉由上述解碼處理而獲得之上述時間資訊進行比較,且於該比較結果一致之情形下,將藉由上述解碼處理而獲得之上述安全資訊及上述時間資訊復原至上述記憶區域。
- 如請求項2之記憶裝置,其中上述第1指令及上述第2指令為NVMe規格下之Set Features指令。
- 如請求項1至5中任一項之記憶裝置,其中上述安全資訊包含用以允許對上述記憶裝置之存取之驗證金鑰資料、及用以將上述記憶裝置中所儲存之資料加密之加密金鑰資料。
- 一種記憶裝置,其係能夠與主機裝置進行通信者,且具備:控制器,其控制上述記憶裝置;及記憶區域,其包含安全資訊及時間資訊,上述安全資訊包含表示是否允許對上述記憶裝置進行資料之讀出或寫入之狀態之旗標資訊,上述時 間資訊表示上述記憶裝置電源接通之累積時間值;且上述控制器係:於自上述主機裝置接收到第1指令之情形下,產生將對上述安全資訊附加上述時間資訊所得之資料加密而成之密文資料並儲存於上述記憶裝置,且執行針對上述密文資料之防篡改處理,將藉由上述防篡改處理而產生之第1驗證碼發送至上述主機裝置後,使上述記憶裝置切換為低電力狀態。
- 如請求項7之記憶裝置,其中上述控制器係:於自上述主機裝置接收到第2指令之情形下,自上述主機裝置接收上述第1驗證碼,藉由對上述記憶裝置中所儲存之上述密文資料執行上述防篡改處理而產生第2驗證碼,於上述第1驗證碼與上述第2驗證碼一致之情形下,對上述密文資料執行解碼處理,且將藉由上述解碼處理而獲得之上述安全資訊及上述時間資訊復原至上述記憶區域。
- 一種記憶裝置用程式,其用以使記憶裝置中所包含之電腦作為以下機構而發揮功能:通信機構,其能夠與主機裝置進行通信; 記憶機構,其記憶安全資訊及時間資訊,上述安全資訊包含表示是否允許對上述記憶裝置進行資料之讀出或寫入之狀態之旗標資訊,上述時間資訊表示上述記憶裝置電源接通之累積時間值;及控制機構,其用以控制上述記憶裝置;且上述控制機構於自上述主機裝置接收到特定指令之情形下,產生將對上述安全資訊附加上述時間資訊所得之資料加密而成之密文資料,並將上述密文資料發送至上述主機裝置後,使上述記憶裝置切換為低電力狀態。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-154777 | 2018-08-21 | ||
JP2018154777A JP2020030527A (ja) | 2018-08-21 | 2018-08-21 | 記憶装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202009717A TW202009717A (zh) | 2020-03-01 |
TWI712889B true TWI712889B (zh) | 2020-12-11 |
Family
ID=69586093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108106665A TWI712889B (zh) | 2018-08-21 | 2019-02-27 | 記憶裝置及程式 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11222144B2 (zh) |
JP (1) | JP2020030527A (zh) |
CN (1) | CN110851886B (zh) |
TW (1) | TWI712889B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102576684B1 (ko) * | 2018-11-15 | 2023-09-11 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US20210397363A1 (en) * | 2020-06-17 | 2021-12-23 | Micron Technology, Inc. | Operational monitoring for memory devices |
TWI800795B (zh) * | 2021-02-09 | 2023-05-01 | 宏碁股份有限公司 | 使用持續性記憶體的資料整理方法與記憶體儲存系統 |
JP7413300B2 (ja) * | 2021-03-15 | 2024-01-15 | 株式会社東芝 | 記憶装置 |
TWI798680B (zh) * | 2021-04-14 | 2023-04-11 | 群聯電子股份有限公司 | 主機記憶體緩衝區管理方法、記憶體儲存裝置與記憶體控制電路單元 |
CN112965670B (zh) * | 2021-04-22 | 2023-08-01 | 群联电子股份有限公司 | 主机存储器缓冲区管理方法、存储装置与控制电路单元 |
US20230035137A1 (en) * | 2021-07-30 | 2023-02-02 | Western Digital Technologies, Inc. | Idle power mode for external storage device |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043326A (zh) * | 2006-03-22 | 2007-09-26 | 赵兴 | 动态信息加密***和方法 |
US8850583B1 (en) * | 2013-03-05 | 2014-09-30 | U.S. Department Of Energy | Intrusion detection using secure signatures |
CN104252426A (zh) * | 2013-06-28 | 2014-12-31 | 国际商业机器公司 | 利用自加密驱动器加密盘驱动器上的数据的方法和*** |
TW201521413A (zh) * | 2013-08-28 | 2015-06-01 | Lsi Corp | 用於自我加密驅動器之虛擬帶集中 |
CN104951409A (zh) * | 2015-06-12 | 2015-09-30 | 中国科学院信息工程研究所 | 一种基于硬件的全盘加密***及加密方法 |
CN204791027U (zh) * | 2015-07-02 | 2015-11-18 | 沈阳睿隆鸿业科技有限公司 | 安全固态硬盘控制器 |
US9477489B1 (en) * | 2015-07-09 | 2016-10-25 | Dell Products L.P. | Software based self-encrypting drive (SED) sleep resuming method |
TW201712588A (zh) * | 2015-09-22 | 2017-04-01 | 廣達電腦股份有限公司 | 以電腦實施的方法與使用其的系統、以及電腦程式產品 |
CN107408175A (zh) * | 2015-03-25 | 2017-11-28 | 英特尔公司 | 用于自加密驱动的挑战响应认证 |
TWI618087B (zh) * | 2014-12-11 | 2018-03-11 | Toshiba Memory Corp | 記憶體元件及腳本執行控制方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3644579B2 (ja) * | 1998-10-29 | 2005-04-27 | 富士通株式会社 | セキュリティ強化方法及び装置 |
US20080304364A1 (en) * | 2007-06-08 | 2008-12-11 | Michael Holtzman | Memory device with circuitry for improving accuracy of a time estimate |
US9336387B2 (en) * | 2007-07-30 | 2016-05-10 | Stroz Friedberg, Inc. | System, method, and computer program product for detecting access to a memory device |
US8442235B2 (en) * | 2010-04-14 | 2013-05-14 | Microsoft Corporation | Extensible management of self-encrypting storage devices |
JP4881468B1 (ja) * | 2010-09-17 | 2012-02-22 | 株式会社東芝 | 記憶装置、保護方法及び電子機器 |
JP5595965B2 (ja) * | 2011-04-08 | 2014-09-24 | 株式会社東芝 | 記憶装置、保護方法及び電子機器 |
KR101537973B1 (ko) | 2011-07-27 | 2015-07-20 | 엘에스아이 코포레이션 | 보안 스토리지 하이잭킹 보호를 위한 기법들 |
US9342713B2 (en) * | 2011-09-28 | 2016-05-17 | Hewlett-Packard Development Company, L.P. | Unlocking a storage device |
US20140122867A1 (en) * | 2012-10-26 | 2014-05-01 | Hcl Technologies Limited | Encryption and decryption of user data across tiered self-encrypting storage devices |
KR20150101683A (ko) * | 2014-02-27 | 2015-09-04 | 삼성전자주식회사 | 자기 암호화 드라이브 및 그것을 포함한 유저 장치 |
US9443111B2 (en) * | 2014-02-28 | 2016-09-13 | Seagate Technology Llc | Device security using an encrypted keystore data structure |
KR20160028680A (ko) | 2014-09-04 | 2016-03-14 | 삼성전자주식회사 | 데이터 저장 장치와 이의 작동 방법 |
US9626531B2 (en) | 2014-11-18 | 2017-04-18 | Intel Corporation | Secure control of self-encrypting storage devices |
WO2016088273A1 (ja) * | 2014-12-05 | 2016-06-09 | 富士通株式会社 | セキュリティ装置および制御方法 |
US10061377B2 (en) | 2015-02-06 | 2018-08-28 | Toshiba Memory Corporation | Memory device and information processing device |
US10235526B2 (en) * | 2015-12-18 | 2019-03-19 | Intel Corporation | Secure resume from a low power state |
JP6784198B2 (ja) * | 2017-03-09 | 2020-11-11 | トヨタ自動車株式会社 | 施解錠システム、キーユニット |
US10778451B2 (en) * | 2018-07-30 | 2020-09-15 | United States Of America As Represented By The Secretary Of The Navy | Device and method for hardware timestamping with inherent security |
-
2018
- 2018-08-21 JP JP2018154777A patent/JP2020030527A/ja active Pending
-
2019
- 2019-02-26 CN CN201910142951.5A patent/CN110851886B/zh active Active
- 2019-02-26 US US16/286,520 patent/US11222144B2/en active Active
- 2019-02-27 TW TW108106665A patent/TWI712889B/zh active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043326A (zh) * | 2006-03-22 | 2007-09-26 | 赵兴 | 动态信息加密***和方法 |
US8850583B1 (en) * | 2013-03-05 | 2014-09-30 | U.S. Department Of Energy | Intrusion detection using secure signatures |
CN104252426A (zh) * | 2013-06-28 | 2014-12-31 | 国际商业机器公司 | 利用自加密驱动器加密盘驱动器上的数据的方法和*** |
TW201521413A (zh) * | 2013-08-28 | 2015-06-01 | Lsi Corp | 用於自我加密驅動器之虛擬帶集中 |
TWI618087B (zh) * | 2014-12-11 | 2018-03-11 | Toshiba Memory Corp | 記憶體元件及腳本執行控制方法 |
CN107408175A (zh) * | 2015-03-25 | 2017-11-28 | 英特尔公司 | 用于自加密驱动的挑战响应认证 |
CN104951409A (zh) * | 2015-06-12 | 2015-09-30 | 中国科学院信息工程研究所 | 一种基于硬件的全盘加密***及加密方法 |
CN204791027U (zh) * | 2015-07-02 | 2015-11-18 | 沈阳睿隆鸿业科技有限公司 | 安全固态硬盘控制器 |
US9477489B1 (en) * | 2015-07-09 | 2016-10-25 | Dell Products L.P. | Software based self-encrypting drive (SED) sleep resuming method |
TW201712588A (zh) * | 2015-09-22 | 2017-04-01 | 廣達電腦股份有限公司 | 以電腦實施的方法與使用其的系統、以及電腦程式產品 |
Also Published As
Publication number | Publication date |
---|---|
TW202009717A (zh) | 2020-03-01 |
US11222144B2 (en) | 2022-01-11 |
CN110851886A (zh) | 2020-02-28 |
US20200065528A1 (en) | 2020-02-27 |
CN110851886B (zh) | 2023-11-21 |
JP2020030527A (ja) | 2020-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI712889B (zh) | 記憶裝置及程式 | |
JP4982825B2 (ja) | コンピュータおよび共有パスワードの管理方法 | |
KR102013841B1 (ko) | 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치 | |
JP6137499B2 (ja) | 方法および装置 | |
CN110998578B (zh) | 用于在异构存储器环境内进行引导的***和方法 | |
US8375440B2 (en) | Secure bait and switch resume | |
TWI447583B (zh) | 資料保護方法、記憶體控制器與記憶體儲存裝置 | |
US20100058066A1 (en) | Method and system for protecting data | |
US20130227266A1 (en) | Processor boot security device and methods thereof | |
US8910301B2 (en) | System and method for locking and unlocking storage device | |
US8621195B2 (en) | Disabling communication ports | |
US9935768B2 (en) | Processors including key management circuits and methods of operating key management circuits | |
US20230059382A1 (en) | Electronic device | |
WO2022212046A1 (en) | Fuse based replay protection with conservative fuse usage | |
JP6293648B2 (ja) | メモリデバイス | |
WO2022212043A1 (en) | Fuse based replay protection with aggressive fuse usage and countermeasures for fuse voltage cut attacks | |
CN111737773A (zh) | 具有se安全模块功能的嵌入式安全存储器 | |
JP5767657B2 (ja) | 不揮発性メモリが記憶するデータを保護する方法およびコンピュータ | |
CN109583196B (zh) | 一种密钥生成方法 | |
US20240012889A1 (en) | Secure processor performing user authentication, and electronic device including the same | |
CN109598150B (zh) | 一种密钥使用方法 | |
TW202036349A (zh) | 電腦系統及其虛擬硬碟的加解密方法 |