CN114943102A - 存储系统 - Google Patents

存储系统 Download PDF

Info

Publication number
CN114943102A
CN114943102A CN202110931264.9A CN202110931264A CN114943102A CN 114943102 A CN114943102 A CN 114943102A CN 202110931264 A CN202110931264 A CN 202110931264A CN 114943102 A CN114943102 A CN 114943102A
Authority
CN
China
Prior art keywords
user
access
access right
storage system
encryption key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110931264.9A
Other languages
English (en)
Inventor
曵地真理
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kioxia Corp
Original Assignee
Kioxia Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kioxia Corp filed Critical Kioxia Corp
Publication of CN114943102A publication Critical patent/CN114943102A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0822Key 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 key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3226Cryptographic 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
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Iron Core Of Rotating Electric Machines (AREA)
  • Soundproofing, Sound Blocking, And Sound Damping (AREA)
  • Vehicle Body Suspensions (AREA)

Abstract

实施方式之一提供一种能够强化针对向储存器的访问的安全性的存储系统。根据实施方式,存储系统具备非易失性存储器和控制器。控制器使对第一用户识别信息赋予的向非易失性存储器的至少一部分的存储区域即第一存储区域的第一访问权有效化,设定到第一访问权变为无效为止的第一期限。控制器与当前时刻超过了第一期限相应地,使第一访问权无效化。

Description

存储系统
关联申请
本申请享有以日本专利申请2021-21773号(申请日:2021年2月15日)为基础申请的优先权。本申请通过参照该基础申请而包含基础申请的全部内容。
技术领域
本发明的实施方式涉及对具备非易失性存储器的存储系统进行控制的技术。
背景技术
近年来,具备非易失性存储器的存储系统广泛普及。作为这样的存储系统之一,已知有具备NAND型闪速存储器的固态驱动器(SSD)。SSD被用作各种计算设备的主储存器。
为了防止数据泄漏,存储系统有时具有在写入时自动地对数据进行加密的自加密功能。具有自加密功能的存储系统也被称为自加密驱动器(self encrypting drive:SED)。
作为SED应遵循的安全标准之一,存在可信计算组织(TCG,Trusted ComputingGroup)的标准。在TCG的标准中,例如规定了数据加密、储存器的每个部分区域的访问控制。
发明内容
实施方式之一提供一种能够强化针对向储存器的访问的安全性的存储系统。
根据实施方式,存储系统具备非易失性存储器和控制器。控制器使对第一用户识别信息赋予的、向非易失性存储器的至少一部分的存储区域即第一存储区域的第一访问权有效化,设定到第一访问权变为无效为止的第一期限。控制器与当前时刻超过了第一期限相应地使第一访问权无效化。
附图说明
图1是示出包括第一实施方式的存储系统的信息处理系统的构成例的框图。
图2是示出第一实施方式的存储系统中的、对用户识别信息(用户ID)赋予的访问权的有效化以及无效化用的动作例的图。
图3是表示在第一实施方式的存储系统中访问权被控制的存储区域的例子的图。
图4是表示在第一实施方式的存储系统中使用的临时权限(TemporaryAuthority)表的构成例的图。
图5是表示在第一实施方式的存储系统中用于数据的加密以及解密的数据加密密钥(data encryption key:DEK)与认证信息的关系的例子的图。
图6是表示第一实施方式的存储系统中的、与对应于用户ID的访问权是否有效相应的读出动作例的图。
图7是表示第一实施方式的存储系统中的、与对应于用户ID的访问权是否有效相应的写入动作例的图。
图8是表示在第一实施方式的存储系统中,由多个用户使用1个用户ID的情况下的访问控制的例子的图。
图9是表示在第一实施方式的存储系统中执行的权限设定处理的次序的例子的流程图。
图10是表示在第一实施方式的存储系统中执行的权限无效化处理的次序的例子的流程图。
图11是表示在第一实施方式的存储系统中执行的用户认证处理的次序的例子的流程图。
图12是表示在第一实施方式的存储系统中执行的读出指令处理的次序的例子的流程图。
图13是表示在第一实施方式的存储系统中执行的写入指令处理的次序的例子的流程图。
图14是表示包括第二实施方式的存储系统的信息处理系统的构成例的框图。
具体实施方式
以下,参照附图对实施方式进行说明。
(第一实施方式)
首先,参照图1,说明第一实施方式的信息处理系统1的构成。信息处理系统1包括主机设备2(以下称为主机2)和存储系统3。
主机2是信息处理装置。主机2既可以是将大量且多种数据保存于存储系统3的储存服务器,也可以是个人计算机。
存储系统3是构成为向NAND型闪速存储器那样的非易失性存储器6写入数据并从非易失性存储器6读出数据的半导体储存设备,也被称为储存设备。存储系统3例如可作为具备NAND型闪速存储器的固态驱动器(SSD)来实现。以下,主要例示存储系统3作为SSD实现的情况,但存储系统3也可以作为硬盘驱动器(HDD)来实现。
为了防止数据泄漏,存储系统3具有在写入时自动地对数据进行加密的自加密功能。也就是说,存储系统3是具有自加密功能的自加密驱动器(self-encrypting drive:SED)。存储系统3例如遵循可信计算组织(TCG)的标准,具有在TCG的标准下确定的自加密功能。在TCG的标准中,例如规定了数据加密、储存器的每个部分区域的访问控制。
存储系统3可以用作主机2的储存器。存储系统3可以内置于主机2,也可以经由线缆或网络而与主机2连接。
用于将主机2和存储系统3相互连接的接口遵循SCSI、Serial Attached SCSI(SAS)、ATA、Serial ATA(SATA)、PCI Express(PCIe)(注册商标)、Ethernet(注册商标)、Fibre channel、NVM Express(NVMe)(注册商标)等标准。
主机2例如具备CPU21、随机存取存储器(RAM)22、只读存储器(ROM)24以及控制器25。RAM22例如是静态随机存取存储器(SRAM)。ROM24例如是NOR型闪速存储器。
CPU21是控制主机2内的各种组件的动作的处理器。CPU21例如执行从ROM24加载到RAM22的各种程序。这些程序中包含基本输入输出系统(BIOS)、操作系统(OS)以及各种应用程序。BIOS是用于硬件控制的程序。
控制器25作为控制与存储系统3的通信的电路发挥功能。另外,控制器25具备电力供给部251。电力供给部251例如使用从未图示的外部电源向主机2供给的电力,控制向存储系统3供给的电力。具体而言,电力供给部251在主机2进行动作的期间(即,主机2处于电源接通状态的期间),向存储系统3供给电力。电力供给部251在主机2没有动作的期间(即,主机2处于电源断开状态的期间),不向存储系统3供给电力。
存储系统3例如具备存储器控制器4、蓄电装置5以及非易失性存储器6。存储器控制器4可以通过片上系统(System-on-a-chip,SoC)那样的电路来实现。
蓄电装置5作为在从电力供给部251供给的电力被切断的情况下的电源发挥功能。蓄电装置5例如可以作为纽扣型电池或双电层电容器来实现。
非易失性存储器6包含多个块(block)。多个块分别包含多个页(page)。1个块作为数据擦除动作的最小单位而发挥功能。块有时也被称为“擦除块”或“物理块”。多个页分别包含与单个字线连接的多个存储单元。1个页作为数据写入动作及数据读出动作的单位而发挥功能。此外,1个字线也可以作为数据写入动作及数据读出动作的单位而发挥功能。
对各块的编程/抹除(erase)周期数(P/E周期数)有上限,称为最大P/E周期数。某块的1次的P/E周期包括用于使该块内的所有存储单元成为擦除状态的擦除动作和对该块的各页写入数据的写入动作。
存储器控制器4作为构成为控制非易失性存储器6的控制器发挥功能。
存储器控制器4例如具备主机接口(主机I/F)11、缓冲器12、RAM13、ROM14、加密电路15、存储器I/F16、实时时钟(RTC)17以及CPU18。这些主机I/F11、缓冲器12、RAM13、ROM14、加密电路15、存储器I/F16、RTC17以及CPU18也可以经由总线10连接。
RAM13例如是SRAM。ROM14例如是NOR型闪速存储器。此外,也可以代替内置于存储器控制器4的RAM13、或者除了RAM13之外还在存储器控制器4的外部设置RAM(例如DRAM)。在该情况下,在存储器控制器4中设置构成为控制向外部的RAM的访问的控制电路。
存储器控制器4也可以作为构成为执行非易失性存储器6的数据管理和块管理的闪存转换层(FTL)发挥功能。由该FTL执行的数据管理包含:(1)表示各个逻辑地址与非易失性存储器6的各个物理地址之间的对应关系的映射信息的管理、以及(2)用于隐藏以页为单位的读出/写入动作和以块为单位的擦除(抹除)动作的处理。在块管理中包含不良块的管理、损耗均衡(wear leveling)、以及垃圾回收(GC)。此外,逻辑地址是为了对存储系统3进行地址指定而由主机2使用的地址。逻辑地址例如是逻辑块地址(LBA)。以下,主要例示使用LBA作为逻辑地址的情况。
各LBA与各物理地址之间的映射的管理,使用逻辑物理地址转换表132来执行。存储器控制器4使用逻辑物理地址转换表132,以特定的管理尺寸为单位管理各LBA与各物理地址之间的映射。与某LBA对应的物理地址表示写入有该LBA的数据的非易失性存储器6内的物理存储位置。逻辑物理地址转换表132也可以在存储系统3的电源接通时从非易失性存储器6加载到RAM13。
向一个页的数据写入能够在每1次的P/E循环中仅进行1次。因此,存储器控制器4将与某LBA对应的更新数据不写入到与该LBA对应的以前的数据被保存的物理存储位置,而写入到其他的物理存储位置。并且,存储器控制器4通过以将该LBA与该其他的物理存储位置相关联的方式更新逻辑物理地址转换表132,使以前的数据无效化。从逻辑物理地址转换表132参照的数据(即与LBA建立了关联的数据)被称为有效数据。另外,与任一LBA均未建立关联的数据被称为无效数据。有效数据是之后有可能从主机2读出的数据。无效数据是已经没有从主机2读出的可能的数据。
存储器控制器4对将非易失性存储器6的存储区域逻辑地进行分割而得到的至少1个存储区域进行管理。非易失性存储器6的存储区域例如被分配为系统区域31和用户区域32。
在系统区域31中,例如保存认证信息311和密钥信息312。
认证信息311是用于验证使用主机2的管理员、用户的合法性的信息。以下,将与管理员权限对应的识别信息表述为管理员ID,将用户识别信息表述为用户ID。认证信息311例如包含管理员ID的认证信息和每个用户ID的认证信息。
用户ID是用于识别使用主机2对存储系统3进行访问的用户的信息。1个用户ID例如由1个用户使用。或者,1个用户ID也可以由多个用户使用。例如,1个用户ID也可以在某期间由1个用户使用,在其他期间由另1个用户使用。
作为管理员ID的认证信息和用户ID的认证信息,例如使用个人识别码(PersonalIdentification Number,PIN)、密码。认证信息311还可以包括PIN的散列(hash)值、密码的散列值。
密钥信息312包含与数据加密密钥(data encryption key:DEK)相关的信息。DEK用于对写入非易失性存储器6的数据的加密和对从非易失性存储器6读出的数据的解密。密钥信息312还可以包括对DEK进行了加密的加密DEK。加密DEK例如通过以使用管理员ID的认证信息、每个用户ID的认证信息生成的密钥加密密钥(key encryption key:KEK)对DEK进行加密而得到。
认证信息311和/或密钥信息312例如可以在存储系统3起动时从非易失性存储器6加载到RAM13。
用户区域32是使用认证信息311控制用户的访问的区域。
主机I/F11作为从主机2接收各种指令、例如I/O指令、控制指令、TCG指令的电路而发挥功能。I/O指令可以包括写入指令和读出指令。控制指令可以包括取消映射指令(修整指令)和格式化指令。格式化指令是用于对整个存储系统3取消映射的指令。另外,TCG指令可以包含用于对存储系统3请求认证、与向非易失性存储器6的访问相关的设定变更等的指令。进而,主机I/F11作为向主机2发送与接收到的指令相应的响应、数据、控制指令等的电路而发挥功能。
缓冲器12例如是DRAM。缓冲器12是暂时地存储要写入非易失性存储器6的数据和从非易失性存储器6读出的数据的存储区域。缓冲器12的存储区域被分配给例如作为读出缓冲器、写入缓冲器、垃圾回收(GC)缓冲器而利用的区域。
RAM13的存储区域被分配给例如固件(FW)131的保存区域、逻辑物理地址转换表132的高速缓存区域以及临时权限表133的保存区域。也可以将RAM13的存储区域分配给作为读出缓冲器、写入缓冲器、GC缓冲器利用的缓冲区域。
FW131是用于控制存储器控制器4的动作的程序。FW131例如从非易失性存储器6或ROM14被加载到RAM13。
逻辑物理地址转换表132管理各LBA与非易失性存储器6的各物理地址之间的映射。
临时权限表133管理对用户ID赋予的、向非易失性存储器6的至少一部分的存储区域的访问权的有效或无效、以及到访问权变为无效为止的有效期限。
加密电路15进行用户数据的加密和解密。加密电路15对经由存储器I/F16写入非易失性存储器6的用户数据进行加密。加密电路15对经由存储器I/F16从非易失性存储器6读出的用户数据进行解密。加密电路15在加密和解密中使用例如由CPU18设定的DEK。
存储器I/F16将存储器控制器4与非易失性存储器6电连接。存储器I/F16与ToggleDDR、Open NAND Flash Interface(ONFI)等接口标准对应。
存储器I/F16作为构成为控制非易失性存储器6的NAND控制电路发挥功能。存储器I/F16也可以经由多个通道而与非易失性存储器6内的多个存储器芯片分别连接。通过多个存储器芯片并行地驱动,能够使对非易失性存储器6整体的访问宽频带化。
RTC17是与是否从外部向存储系统3供给电力无关地进行动作的时钟。RTC17根据存储系统3内的各部(例如CPU18)的请求,提供当前时刻。RTC17在从主机2的电力供给部251向存储系统3供给电力的期间,使用所供给的电力进行动作。另外,RTC17在未从电力供给部251向存储系统3供给电力的情况下,使用从蓄电装置5供给的电力进行动作。即,蓄电装置5在从电力供给部251供给的电力被切断的情况下,向RTC17供给电力。
CPU18是构成为控制存储器控制器4内的各部的处理器。CPU18通过执行从非易失性存储器6加载到RAM13的FW131来进行各种处理。FW131是包含用于使CPU18执行各种处理的命令组的控制程序。CPU18能够执行用于处理来自主机2的各种指令的指令处理等。CPU18的动作通过由CPU18执行的FW131来控制。
存储器控制器4内的各部的功能既可以通过存储器控制器4内的专用硬件来实现,也可以通过CPU18执行FW131来实现,还可以通过它们的组合来实现。
接着,说明使对用户赋予的向非易失性存储器6的至少一部分的存储区域的访问权有效化以及无效化的方法。
在SED中,例如,根据通过管理员权限发出的第一设置指令,使第一用户访问非易失性存储器6内的用户区域32的第一区域用的访问权有效化。另外,在SED中,根据通过管理员权限发出的第二设定指令,使第一用户访问第一区域用的访问权无效化。第一设定指令及第二设定指令例如是TCG标准的Set指令。
在根据通过管理员权限发出的设定指令使访问权有效化或无效化的方法中,例如,由于指令操作的失误,应该无效化的用户有可能仍然保持着有效化。在应该无效化的用户仍然保持着有效化的情况下,会产生数据的泄漏、篡改的风险。
例如,考虑想要使对暂时参加项目的成员赋予的、向存储系统3的访问权仅在其参加期间内有效化的情形。在该情形下,在参加期间结束的定时,管理员(即具有管理员权限的用户)发出用于使访问权无效化的设定指令,由此,能够合适地控制该成员的访问权。
但是,在发出的指令存在错误、忘记发出设定指令的情况下,本来访问权应该变为了无效的成员有可能能够继续访问非易失性存储器6。由此,产生数据的泄漏、篡改的风险。
因此,在本实施方式的信息处理系统1中,在使用户的访问权有效化时,也设定到访问权变为无效为止的有效期限。具体而言,例如导入请求访问权的有效化和到该访问权变为无效为止的有效期限的设定的设定指令。存储系统3在当前时刻超过了所设定的有效期限的情况下,自动地使访问权无效化。如上所述,对于当前时刻,在没有向存储系统3供给电力的情况下,也从能够以由蓄电装置5供给的电力进行动作的RTC17取得。
由此,管理员在应该使用户的访问权无效化的定时,无需进行用于发出使访问权无效化的指令的操作。因此,能够避免因指令操作的失误而应该无效化的访问权仍然保持着有效的状态。因此,能够防止非意图的用户访问非易失性存储器6。
存储系统3对访问权为有效且具有合法的认证信息的用户,允许向非易失性存储器6的访问。由此,能够减低数据的泄漏、篡改发生的风险,强化针对向非易失性存储器6的访问的安全性。
CPU18为了实现上述那样的动作,例如作为访问控制部181、读出控制部182以及写入控制部183发挥功能。CPU18例如通过执行FW131来作为这些各部发挥功能。
访问控制部181控制向非易失性存储器6的至少一部分的存储区域的访问。访问控制部181在访问控制中例如使用临时权限表133。访问控制部181使用临时权限表133,管理对用户ID设定的向非易失性存储器6的至少一部分的存储区域的访问权的有效或无效、和到该访问权变为无效为止的有效期限。访问控制部181使用临时权限表133,例如使对第一用户ID赋予的向非易失性存储器6的至少一部分区域的访问权(第一访问权)有效化,设定到第一访问权变为无效为止的第一期限。并且,访问控制部181在当前时刻超过了所设定的有效期限的情况下,使第一访问权无效化。
访问控制部181从主机2接受与用户ID相关联的指令。指令例如包含相关联的用户ID或者能够确定该用户ID的信息。或者,访问控制部181也可以与指令一起取得与指令相关联的用户ID。
访问控制部181使用临时权限表133判定对相关联的用户ID赋予的访问权是有效还是无效。然后,访问控制部181根据判定结果决定可否执行指令。具体而言,访问控制部181在对用户ID赋予的访问权为有效的情况下,控制存储系统3内的各部,以执行与指令相应的处理。另外,访问控制部181在对用户ID赋予的访问权为无效的情况下,控制存储系统3内的各部,以例如向主机2通知错误。
对从主机2接受的指令是请求管理员或用户的认证的指令的情况进行说明。此外,以下,将请求管理员或用户的认证的指令也称为认证请求指令。认证请求指令包含确定管理员的信息(管理员ID)或确定用户的信息(用户ID)、和认证信息(例如PIN)。
访问控制部181在接受了用户的认证请求指令的情况下,如果对用户ID赋予的访问权为有效,则执行与认证请求指令相应的认证处理。如果对用户ID赋予的访问权为无效,则访问控制部181例如向主机2通知错误。认证处理是用于验证认证请求指令中包含的认证信息的合法性的处理。
接下来,说明从主机2接受的指令是请求向非易失性存储器6的访问的访问指令的情况。访问指令例如是读出指令和写入指令。访问指令也可以是取消映射指令、格式化指令、验证指令等请求向非易失性存储器6的访问的其他指令。
访问控制部181在用户的认证成功后,接受与该用户的用户ID相关联的访问指令。此外,访问控制部181在用户的认证未成功的情况下,对于与该用户的用户ID相关联的访问指令,向主机2通知错误。
访问控制部181接受与用户ID相关联的访问指令,在对用户ID赋予的访问权为有效的情况下,执行与访问指令相应的处理。例如,在访问指令是读出指令的情况下,访问控制部181使读出控制部182执行与读出指令相应的处理。此外,例如,在访问指令是写入指令的情况下,访问控制部181使写入控制部183执行与写入指令相应的处理。
参照图2至图6,对访问控制部181、读出控制部182以及写入控制部183的具体动作的例子进行说明。
图2表示对用户ID赋予的访问权的有效化以及无效化用的动作例。对用户ID赋予的访问权在管理员的认证成功后被有效化。因此,主机2和存储系统3首先进行用于管理员的认证的处理。
具体而言,首先,主机2向存储系统3发送管理员的认证请求指令(图2中的(1))。管理员的认证请求指令例如包含管理员ID和认证信息。
存储系统3的访问控制部181接受认证请求指令。访问控制部181算出认证请求指令中包含的认证信息的散列值。散列值的算出中使用预先规定的散列函数。访问控制部181从认证信息311取得管理员的认证信息的散列值(图2中的(2))。访问控制部181在所算出的散列值与所取得的管理员的认证信息的散列值一致的情况下,判断为管理员的认证成功。然后,访问控制部181向主机2通知认证成功(图2中的(3))。
在所算出的散列值与所取得的管理员的认证信息的散列值不同的情况下,访问控制部181判断为管理员的认证失败。在该情况下,访问控制部181向主机2通知认证失败(图2中的(3))。
以下,对控制对1个用户ID赋予的、向非易失性存储器6的至少一部分的存储区域的访问权的动作进行说明。控制访问权的动作在管理员的认证成功的情况下被执行。控制访问权的动作包括使访问权有效化的动作和使访问权无效化的动作。控制访问权的对象的存储区域也称为对象区域。
图3表示对象区域的例子。访问控制部181控制向将非易失性存储器6的存储区域逻辑地进行分割而得到的至少1个存储区域的访问权。更具体而言,访问控制部181例如控制向将非易失性存储器6内的用户区域32逻辑地进行分割而得到的至少1个区域的访问权。将用户区域32逻辑地进行分割而得到的各区域也被称为区间(range)。1个区间对应于1个LBA范围。访问控制部181例如按每个区间控制对管理员ID以及用户ID赋予的访问权。
在图3所示的例子中,在用户区域32中设定了Range1。Range1对应于从0xF到0xFF的LBA范围。另外,对管理员ID“Admin”和用户ID“TmpUser1”赋予的、向Range 1的访问权被有效化。
在该情况下,访问控制部181进行控制,以使得具有合法的认证信息的管理员能够访问Range1。访问控制部181进行控制,以使得使用TmpUser1且具有合法的认证信息的用户能够访问Range1。另外,访问控制部181进行控制,以使得使用TmpUser1以外的用户ID的用户无法访问Range1。
访问控制部181在访问权的控制中使用临时权限表133。
图4表示临时权限表133的构成例。临时权限表133可以包括与多个用户ID分别对应的多个条目(entry)。各条目例如包含用户ID字段、临时权限使能字段、开始时刻字段以及有效期限字段。
在与某用户ID对应的条目中,用户ID字段表示该用户ID。
临时权限使能字段表示对对应的用户ID赋予的向非易失性存储器6的至少一部分的存储区域(例如1个区间)的访问权为有效还是无效。如果访问权为有效,则在临时权限使能字段中例如设定“真(true)”。如果访问权为无效,则在临时权限使能字段中例如设定“假(false)”。
开始时刻字段表示对对应的用户ID赋予的访问权被有效化的时刻。开始时刻字段所示的时刻既可以是日期,也可以是日期时间。
有效期限字段表示到对对应的用户ID赋予的访问权变为无效为止的期限。有效期限字段所示的期限例如用日期、日期时间来表示。另外,有效期限字段所示的期限也可以是以开始时刻字段所示的时刻为起点的期间。期间例如以年、月、日那样的任意单位的时间的长度来表示。在当前时刻超过了有效期限字段所示的期限的情况下,对对应的用户ID赋予的访问权被无效化。
在以下的关于临时权限表133的说明中,将用户ID字段所示的值也简称为用户ID。对于其他各字段所示的值也是同样的。
在图4所示的例子中,与用户ID“TmpUser1”对应的临时权限使能为“true(真)”。与用户ID“TmpUser1”对应的开始时刻是“2020/10/1”。与用户ID“TmpUser1”对应的有效期限是“2020/10/31”。因此,包含用户ID“TmpUser1”的条目表示对TmpUser1赋予的访问权从2020年10月1日至2020年10月31日为有效。
与用户ID“TmpUser2”对应的临时权限使能是“false(假)”。对与用户ID“TmpUser2”对应的开始时刻和有效期限没有设定值(null,空)。因此,包含用户ID“TmpUser2”的条目表示对TmpUser2赋予的访问权为无效。
另外,与用户ID“TmpUser3”对应的临时权限使能是“false(假)”。对与用户ID“TmpUser3”对应的开始时刻以及有效期限没有设定值。因此,包含用户ID“TmpUser3”的条目表示对TmpUser3赋予的访问权为无效。
此外,也可以在临时权限表133的各条目中还设置访问次数字段和最大访问次数字段。访问次数字段表示对应的用户ID向非易失性存储器6的访问次数。最大访问次数字段表示对于对应的用户ID允许向非易失性存储器6访问的最大的次数。在该情况下,访问控制部181例如在满足了当前时刻超过有效期限和访问次数达到最大访问次数中的至少任意一个的情况下,使对对应的用户ID赋予的访问权无效化。
或者,也可以在临时权限表133的各条目中,代替开始时刻以及有效期限的字段而设置访问次数以及最大访问次数的字段。在该情况下,在访问次数达到最大访问次数的情况下,访问控制部181使对对应的用户ID赋予的访问权无效化。
此外,在临时权限表133的各条目中,不限于开始时刻以及有效期限的字段、访问次数以及最大访问次数的字段,也可以设置与使对对应的用户ID赋予的访问权无效化的条件相关的各种字段。
返回图2。主机2在通知了管理员的认证成功的情况下,通过管理员权限向存储系统3发送(发出)设定指令(图2中的(4))。该设定指令是请求使对用户ID赋予的向非易失性存储器6的至少一部分的存储区域的访问权有效化,设定到该访问权变为无效为止的有效期限的指令。设定指令包含用户ID、对象区域以及有效期限。对象区域例如以区间的识别信息或LBA范围(例如,开始LBA与尺寸)表示。另外,设定指令可以还包含用户ID的认证信息。此外,在设定指令不包含用户ID的认证信息的情况下,主机2向存储系统3发送包含用户ID的认证信息的别的指令。
访问控制部181接受设定指令。访问控制部181从RTC17取得当前时刻(图2中的(5))。然后,访问控制部181更新临时权限表133,使对通过设定指令指定的用户ID赋予的、向对象区域的访问权有效化(图2中的(6))。更具体而言,访问控制部181在临时权限表133中,确定包含通过设定指令指定的用户ID的条目。然后,访问控制部181在所确定的条目中,(1)对临时权限使能,设定“真”,(2)对开始时刻,设定从RTC17取得的当前时刻,(3)对有效期限,设定通过设定指令指定的有效期限。由此,对用户ID赋予的、向对象区域的访问权被有效化。
访问控制部181算出设定指令中包含的用户认证信息的散列值。访问控制部181将所算出的用户认证信息的散列值作为认证信息311的一部分保存于非易失性存储器6(图2中的(7))。所保存的用户认证信息的散列值作为与用户ID对应的合法的用户认证信息的散列值,用于以后的用户的认证处理。此外,在与该用户ID对应的用户认证信息的散列值已经保存于非易失性存储器6的情况下,访问控制部181将所保存的散列值置换为所算出的散列值。该置换相当于与该用户ID对应的用户认证信息的变更。
另外,访问控制部181利用设定指令中包含的用户认证信息,对向对象区域的访问所使用的DEK进行加密,由此取得加密DEK。访问控制部181将所取得的加密DEK作为密钥信息312的一部分保存于非易失性存储器6(图2中的(8))。向对象区域的访问所使用的DEK用于对写入对象区域的数据进行加密,对从对象区域读出的加密数据进行解密。
在此,对利用用户认证信息对DEK进行加密的方法进行说明。首先,访问控制部181使用用户认证信息生成KEK。具体而言,访问控制部181例如将是秘密的参数和不是秘密的参数作为输入值,使用密钥导出函数(key derivation function:KDF)生成KEK。是秘密的参数例如是用户认证信息。不是秘密的参数例如是随机数。
接着,访问控制部181使用所生成的KEK,对向对象区域的访问所使用的DEK进行加密。并且,访问控制部181将加密DEK作为密钥信息312的一部分保存于非易失性存储器6。以后,在使用用户ID的用户想要访问对象区域的情况下使用所保存的加密DEK。在使用用户ID的用户输入了合法的认证信息的情况下,加密DEK被解密,使用了DEK的向对象区域的访问能够进行。
图5表示DEK与认证信息的关系的例子。在此,例示针对管理员和TmpUser1的向Range1的访问权被有效化,管理员和使用TmpUser1的用户分别输入了合法的认证信息501、511的情况。另外,DEK52是与Range1对应的DEK。以下对管理员的访问和使用TmpUser1的用户的访问分别进行说明。
(1)管理员的访问
访问控制部181使用管理员的认证信息501生成KEK502。具体而言,访问控制部181例如将管理员的认证信息501和随机数作为输入值,使用KDF,生成KEK502。
接着,访问控制部181使用所生成的KEK502对加密DEK311-A进行解密,由此得到DEK52。加密DEK311-A是使用KEK502对DEK52进行加密后的加密DEK。加密DEK311-A例如在对管理员赋予的向Range1的访问权被有效化时生成,作为密钥信息312的一部分保存于非易失性存储器6。访问控制部181将所得到的DEK52设定于加密电路15。
由此,读出控制部182在根据与管理员相关联的读出指令而从非易失性存储器6读出了加密数据56的情况下,通过设定了DEK52的加密电路15,能够将加密数据56解密为明文的数据55。另外,写入控制部183能够通过设定了DEK52的加密电路15对伴随于与管理员相关联的写入指令的接受而接收到的明文的数据55(即写入对象的用户数据)进行加密,得到加密数据56。
(2)使用TmpUser1的用户的访问
访问控制部181使用TmpUser1的认证信息511生成KEK512。具体而言,访问控制部181例如将认证信息511和随机数作为输入值,使用KDF,生成KEK512。
接着,访问控制部181使用所生成的KEK512对加密DEK311-1进行解密,由此得到DEK52。加密DEK311-1是使用KEK512对DEK52进行加密后的加密DEK。加密DEK311-1例如在对TmpUser1赋予的向Range1的访问权被有效化时生成,作为密钥信息312的一部分保存于非易失性存储器6。访问控制部181将所得到的DEK52设定于加密电路15。
由此,读出控制部182在根据与TmpUser1相关联的读出指令而从非易失性存储器6读出了加密数据56的情况下,通过设定了DEK52的加密电路15,能够将加密数据56解密为明文的数据55。另外,写入控制部183能够通过设定了DEK52的加密电路15对伴随于与TmpUser1相关联的写入指令的接受而接收到的明文的数据55(即写入对象的用户数据)进行加密,得到加密数据56。
返回图2。访问控制部181定期地或者在与电力供给开始相应地存储系统3起动时,判定当前时刻是否超过了被有效化的访问权的有效期限。具体而言,访问控制部181从RTC17取得当前时刻(图2中的(9))。访问控制部181从临时权限表133取得被有效化的访问权的有效期限(图2中的(10))。然后,访问控制部181判定当前时刻是否超过了被有效化的访问权的有效期限。在作为有效期限而设定了访问权变为无效的日期或日期时间的情况下,访问控制部181将当前时刻与由日期或日期时间表示的有效期限进行比较,判定当前时刻是否超过有效期限。
此外,在作为有效期限而设定了以开始时刻为起点的有效期间的情况下,访问控制部181从临时权限表133取得被有效化的访问权的开始时刻和有效期间。访问控制部181使用开始时刻和有效期间,决定访问权变为无效的结束时刻。结束时刻例如由日期或日期时间表示。然后,访问控制部181将当前时刻和结束时刻进行比较,判定当前时刻是否超过有效期限(即结束时刻)。
在当前时刻超过了被有效化的访问权的有效期限的情况下,访问控制部181更新临时权限表133,使该访问权无效化(图2中的(11))。例如,访问控制部181对对应的条目内的临时权限使能设定“假”,将开始时刻和有效期限设为null,使该访问权无效化。由此,访问控制部181能够进行控制,以使得通过与超过了有效期限的访问权对应的用户ID无法进行向对象区域的访问。另外,访问控制部181从非易失性存储器6的密钥信息312废弃与访问权被无效化的用户ID对应的加密DEK。
通过以上的动作,访问控制部181在管理员的认证成功后,根据设定指令,使对用户ID赋予的向对象区域的访问权有效化,设定到该访问权变为无效为止的有效期限。并且,访问控制部181在当前时刻超过有效期限的情况下,自动地使访问权无效化。由此,访问控制部181能够进行控制,以使得所意图的用户能够在所意图的期间访问非易失性存储器6。换言之,能够防止非意图的用户访问非易失性存储器6、以及用户在非意图的期间访问非易失性存储器6。因此,能够减低数据的泄漏、篡改发生的风险,强化针对向非易失性存储器6的访问的安全性。
图6示出了与对应于用户ID的访问权的有效或无效相应的读出动作的例子。使用了用户ID的向存储系统3的读出访问,在具有该用户ID的用户的认证成功后进行。因此,主机2和存储系统3首先进行用于用户认证的处理。
具体而言,首先,主机2向存储系统3发送用户的认证请求指令(图6中的(1))。认证请求指令例如包含用户ID和认证信息。
存储系统3的访问控制部181使用临时权限表133,判定对用户ID赋予的访问权为有效还是无效(图6中的(2))。具体而言,访问控制部181在临时权限表133中确定与用户ID对应的条目。访问控制部181在所确定的条目的临时权限使能为“真”的情况下,判断为对用户ID赋予的访问权为有效。访问控制部181在所确定的条目的临时权限使能为“假”的情况下,判断为对用户ID赋予的访问权为无效。
在对用户ID赋予的访问权为无效的情况下,访问控制部181向主机2通知错误(图6中的(3))。
在对用户ID赋予的访问权为有效的情况下,进行以下的动作。
首先,访问控制部181算出认证请求指令中包含的认证信息的散列值。访问控制部181从认证信息311取得该用户ID的认证信息的散列值(图6中的(4))。访问控制部181在所算出的散列值与所取得的用户ID的认证信息的散列值一致的情况下,判断为用户的认证成功。
接着,访问控制部181从密钥信息312取得与用户ID对应的加密DEK(图6中的(5))。访问控制部181利用认证请求指令中包含的认证信息,对加密DEK进行解密,由此取得DEK。关于利用认证信息的加密DEK的解密方法,如参照图5在前面说明过的那样。访问控制部181将通过解密得到的DEK设定于加密电路15(图6中的(6))。然后,访问控制部181向主机2通知认证成功(图6中的(7))。
此外,在所算出的散列值与所取得的用户ID的认证信息的散列值不同的情况下,访问控制部181判断为用户的认证失败。在该情况下,访问控制部181向主机2通知认证失败(图6中的(7))。
以下,对访问控制部181将用户的认证成功通知给主机2之后的动作进行说明。
主机2在被通知了用户的认证成功的情况下,向存储系统3发送与该用户的用户ID相关联的读出指令(图6中的(8))。该读出指令是请求从对用户ID赋予的访问权的对象区域读出数据的指令。
访问控制部181接受由主机2发送的读出指令。访问控制部181使用临时权限表133,判定与读出指令相关联的用户ID所对应的访问权为有效还是无效(图6中的(9))。在与读出指令相关联的用户ID所对应的访问权为无效的情况下,访问控制部181向主机2通知错误(图6中的(10))。
在与读出指令相关联的用户ID所对应的访问权为有效的情况下,访问控制部181将读出指令向读出控制部182送出(图6中的(11))。
读出控制部182使用逻辑物理地址转换表132,确定与通过读出指令指定的LBA对应的物理地址(图6中的(12))。然后,读出控制部182经由存储器I/F16向非易失性存储器6指示从所确定的物理地址读出数据(图6中的(13))。非易失性存储器6从所确定的物理地址读出加密数据,向加密电路15送出(图6中的(14))。
加密电路15使用所设定的DEK对加密数据进行解密,得到用户数据。加密电路15将用户数据向读出控制部182送出(图6中的(15))。此外,用户数据也可以存储于缓冲器12。读出控制部182经由主机I/F11向主机2发送用户数据(图6中的(16))。
通过以上的动作,在用户使用访问权为有效的用户ID,具有与用户ID对应的认证信息的情况下,读出控制部182能够从非易失性存储器6(更详细而言为对象区域)读出与由主机2发送的读出指令相应的加密数据。并且,读出控制部182能够向主机2发送对所读出的加密数据进行解密而得到的用户数据。
与此相对,在用户使用了访问权为无效的用户ID的情况下,或者不具有与用户ID对应的认证信息的情况下,存储系统3不执行同与用户ID相关联的读出指令相应的处理。具体而言,访问控制部181对于与该用户ID相关联的读出指令,向主机2通知错误。由此,访问控制部181能够进行控制,以使得在存储系统3中不执行与读出指令相应的处理。
图7示出与对应于用户ID的访问权的有效或无效相应的写入动作的例子。使用了用户ID的向存储系统3的写入访问,在具有该用户ID的用户的认证成功后进行。因此,主机2和存储系统3首先进行用于用户的认证的处理。从主机2向存储系统3发送认证请求指令,从存储系统3向主机2通知认证结果为止的动作,如参照图6所述那样。
以下,对访问控制部181将用户的认证成功通知给主机2之后的动作进行说明。
主机2在被通知了用户的认证成功的情况下,向存储系统3发送与该用户的用户ID相关联的写入指令(图7中的(8))。伴随于写入指令被存储系统3接受,主机2向存储系统3发送写入对象的用户数据(图7中的(8))。该写入指令是请求向对用户ID赋予的访问权的对象区域写入用户数据的指令。
访问控制部181接受由主机2发送的写入指令。访问控制部181伴随于接受写入指令,从主机2接收写入对象的用户数据。所接收到的用户数据也可以存储于缓冲器12。访问控制部181使用临时权限表133,判定与写入指令相关联的用户ID所对应的访问权为有效还是无效(图7中的(9))。在与写入指令相关联的用户ID所对应的访问权为无效的情况下,访问控制部181向主机2通知错误(图7中的(10))。
在与写入指令相关联的用户ID所对应的访问权为有效的情况下,访问控制部181将写入指令和用户数据向写入控制部183送出(图7中的(11))。写入控制部183将用户数据向加密电路15送出(图7中的(12))。
加密电路15使用所设定的DEK对用户数据进行加密。由此,得到加密数据。加密电路15将加密数据经由存储器I/F16向非易失性存储器6送出(图7中的(13))。
另外,写入控制部183经由存储器I/F16向非易失性存储器6指示加密数据的写入(图7中的(14))。由此,加密数据被写入非易失性存储器6(更详细而言,与用户ID对应的访问权的对象区域)。然后,写入控制部183更新逻辑物理地址转换表132,以使得表示写入了加密数据的物理地址与LBA的对应(图7中的(15))。
通过以上的动作,在用户使用访问权为有效的用户ID,具有与用户ID对应的认证信息的情况下,写入控制部183能够将由主机2与写入指令一起发送的写入对象的用户数据进行加密,写入非易失性存储器6。
与此相对,在用户使用了访问权为无效的用户ID的情况下,或者不具有与用户ID对应的认证信息的情况下,存储系统3不执行同与用户ID相关联的写入指令相应的处理。具体而言,访问控制部181对于与该用户ID相关联的写入指令,向主机2通知错误。由此,访问控制部181能够进行控制,以使得在存储系统3中不执行与写入指令相应的处理。
此外,图6以及图7所示的动作不限于读出指令以及写入指令,能够应用于可产生向非易失性存储器6的访问的各种访问指令。也即是,访问控制部181在从主机2接受了与某用户ID相关联的访问指令的情况下,如果与用户ID对应的访问权为有效,则进行控制,以使得执行与访问指令相应的处理。另一方面,如果与用户ID对应的访问权为无效,则访问控制部181进行控制,以使得不执行与访问指令相应的处理。
不过,存在由多个用户使用1个用户ID的情况。
图8表示1个用户ID“TmpUser1”由用户A和用户B这两个用户使用的情况下的访问控制的例子。在此,例示TmpUser1在第一期间T1分配给用户A,在第二期间T2未分配给任一用户,在第三期间T3分配给用户B的情况。第一期间T1是从2020年10月1日到2020年10月31日的期间。第二期间T2是从2020年11月1日到2020年11月30日的期间。第三期间T3是从2020年12月1日到2020年12月31日的期间。另外,对TmpUser1赋予的访问权的对象区域是非易失性存储器6内的Range1。
首先,管理员在第一期间T1将TmpUser1分配给用户A的情况下,向用户A通知TmpUser1的认证信息“abcd”。管理员也可以向用户A通知用户A能够访问存储系统3的第一期间T1。
主机2根据管理员的操作,向存储系统3发送第一设定指令。第一设定指令是用于设定针对TmpUser 1使向Range1的访问权从2020年10月1日到2020年10月31日为有效的指令。另外,第一设定指令包含TmpUser1的认证信息“abcd”。
存储系统3的访问控制部181根据第一设定指令,将TmpUser1的认证信息变更为“abcd”。更具体地,访问控制部181算出新的认证信息“abcd”的散列值。访问控制部181将作为认证信息311保存的TmpUser1的认证信息的散列值置换为所算出的“abcd”的散列值。
然后,访问控制部181使TmpUser1的向Range1的访问权有效化。
由此,在第一期间T1,用户A能够使用从管理员通知的TmpUser1的认证信息“abcd”来访问Range1。此外,未从管理员向用户B通知TmpUser1的认证信息“abcd”。因此,在第一期间T1,用户B不能访问Range1。
访问控制部181在超过了2020年10月31日的情况下(例如2020年11月1日),自动地实施TmpUser1的向Range1的访问权的无效化和TmpUser1的认证信息“abcd”向默认的认证信息“1234”的变更。
由此,在第二期间T2,赋予给TmpUser1的访问权变为了无效,因此用户A和用户B不能访问Range1。
接着,管理员在第三期间T3,将TmpUser1分配给用户B的情况下,向用户B通知TmpUser1的新的认证信息“efgh”。管理员也可以向用户B通知用户B能够访问存储系统3的第三期间T3。
主机2根据管理员的操作,向存储系统3发送第二设定指令。第二设定指令是用于设定针对TmpUser 1从2020年12月1日到2020年12月31日赋予向Range1的访问权的指令。另外,第二设定指令包含TmpUser1的认证信息“efgh”。
访问控制部181根据第二设定指令,将TmpUser1的认证信息变更为“efgh”。并且,访问控制部181使TmpUser1的向Range1的访问权有效化。
由此,在第三期间T3,用户B能够使用从管理员通知的TmpUser1的认证信息“efgh”来访问Range1。另外,由于TmpUser1的认证信息从“abcd”变更为了“efgh”,因此,在第三期间T3,用户A不能访问Range1。也就是说,用户A即使在第一期间T1使用过的TmpUser1的访问权为有效的情况下,由于不知道第三期间T3中的TmpUser1的认证信息,所以也不能访问Range1。由此,能够防止用户A在非意图的第三期间T3访问Range1。
进而,访问控制部181在超过2020年12月31日的情况下(例如2021年1月1日),自动地实施TmpUser1的向Range1的访问权的无效化和TmpUser1的认证信息“efgh”向默认的认证信息“1234”的变更。
这样,即使在多个用户使用1个用户ID“TmpUser1”的情况下,通过对TmpUser1赋予的访问权的有效化以及无效化、和TmpUser1的认证信息的变更,能够进行控制,以使得在管理员所意图的期间,仅所意图的用户能够访问非易失性存储器6的Range1。因此,能够减低数据的泄漏、篡改发生的风险,强化针对向非易失性存储器6的访问的安全性。
在比较例的存储系统中,在超过了用户ID的有效期限的情况下,例如通过废弃DEK,废弃写入到非易失性存储器的用户数据。也就是说,通过废弃DEK,不再能够对使用DEK而被加密并被写入到非易失性存储器的加密数据进行解密,因此,实质上加密数据被废弃。
与此相对,在本实施方式的存储系统3中,在用户ID的有效期限已过的情况下,不废弃DEK,而废弃与该用户ID对应的加密DEK。在加密DEK被废弃的情况下,不再从加密DEK对DEK进行解密。
在本实施方式的存储系统3中,即使在用户ID的有效期限已过的情况下,DEK也不被废弃。因此,新设定了访问权的用户能够使用以前使用过的用户ID,利用以前保存于非易失性存储器6的用户数据。
例如,对图8所示的情形进行说明。
在第一期间T1,对用户A分配TmpUser1的向Range1的访问权。此时,访问控制部181使用TmpUser1的认证信息“abcd”(更详细而言,使用利用认证信息“abcd”生成的KEK)对Range1的DEK进行加密,由此生成加密DEK。访问控制部181将生成的加密DEK作为密钥信息312的一部分保存于非易失性存储器6。与使用TmpUser1的用户A的写入访问相应的用户数据通过Range1的DEK被加密。该DEK是使用认证信息“abcd”(更详细而言,使用认证信息“abcd”生成的KEK)对加密DEK进行解密而得到的。加密数据被写入非易失性存储器6的Range1。在第一期间T1,加密DEK作为密钥信息312的一部分保存于非易失性存储器6。
在TmpUser1的有效期限已过的情况下,与TmpUser1对应的加密DEK被废弃。因此,在第二期间T2,不再能够从与TmpUser1对应的加密DEK得到DEK。因此,在第二期间T2,使用TmpUser1的用户无法对从Range1读出的加密数据进行解密。
接着,在第三期间T3,对用户B分配TmpUser1的向Range1的访问权。此时,访问控制部181使用TmpUser1的认证信息“efgh”(更详细而言,使用利用认证信息“efgh”生成的KEK)对Range1的DEK进行加密,由此生成加密DEK。访问控制部181将所生成的加密DEK作为密钥信息312的一部分保存于非易失性存储器6。
根据使用TmpUser1的用户B的读出指令,从Range1读出加密数据。访问控制部181使用认证信息“efgh”(更详细而言,使用利用认证信息“efgh”生成的KEK)对加密DEK进行解密,取得Range1的DEK。从Range1读出的加密数据,通过Range1的DEK被解密。
通过解密得到的用户数据,可以是通过由以前被分配了TmpUser1的访问权的用户A进行的写入访问而利用Range1的DEK被加密,并被写入到非易失性存储器6的用户数据。因此,被新分配了TmpUser1的访问权的用户B能够使用以前被分配给别的用户A的TmpUser1,利用由该用户A以前写入到Range1的用户数据。
这样,本实施方式的存储系统3在TmpUser1的有效期限已过的情况下,不废弃DEK,而废弃与TmpUser1对应的加密DEK。由此,新设定了TmpUser1的访问权的用户能够利用以前别的用户使用TmpUser1保存于非易失性存储器6的用户数据。
图9是表示由CPU18执行的权限设定处理的次序的例子的流程图。权限设定处理是用于使对用户ID赋予的向非易失性存储器6的至少一部分的存储区域的访问权有效化的处理。
首先,CPU18从主机2接受管理员的认证请求指令(步骤S101)。CPU18算出认证请求指令中包含的认证信息的散列值(步骤S102)。
CPU18判定所算出的散列值与管理员的认证信息的散列值是否相等(步骤S103)。管理员的认证信息或管理员的认证信息的散列值,例如作为认证信息311保存于非易失性存储器6。
在所算出的散列值与管理员的认证信息的散列值不同的情况下(在步骤S103中为否),CPU18向主机2通知管理员的认证失败(步骤S104),CPU18的处理返回步骤S101。
在所算出的散列值与管理员的认证信息的散列值相等的情况下(在步骤S103中为是),CPU18向主机2通知管理员的认证成功(步骤S105)。CPU18对变量num_err设定0(步骤S106)。num_err表示在管理员的认证成功后与设定指令相关的错误发生的次数。然后,CPU18从主机2接受设定指令(步骤S107)。该设定指令是用于对用户ID“TmpUserX”赋予向非易失性存储器6内的RangeX的到特定的有效期限为止为有效的访问权的指令。
CPU18从RTC17取得当前时刻(步骤S108)。CPU18判定所接受的设定指令中是否设定了正确的有效期限(步骤S109)。在作为有效期限,例如设定了(1)不存在的日期或日期时间、(2)过去的日期或日期时间、以及(3)超过阈值的期间中的任一个的情况下,CPU18判断为设定指令中未设定正确的有效期限。
在设定指令中未设定正确的有效期限的情况下(在步骤S109中为否),CPU18对num_err加1(步骤S110)。然后,CPU18判定num_err是否为n以上(步骤S111)。n为1以上的整数。在num_err小于n的情况下(在步骤S111中为否),CPU18向主机2通知错误(步骤S112),CPU18的处理返回步骤S107。在num_err为n以上的情况下(步骤S111中为是),CPU18向主机2通知错误和认证的无效化(步骤S113),CPU18的处理返回步骤S101。
在设定指令中设定了正确的有效期限的情况下(在步骤S109中为是),CPU18基于从RTC17取得的当前时刻和设定指令,更新临时权限表133(步骤S114)。具体而言,CPU18从临时权限表133确定包含设定指令所示的用户ID的条目。然后,CPU18对所确定的条目的临时权限使能,设定“真”。CPU18对所确定的条目的开始时刻,设定当前时刻。另外,CPU18对所确定的条目的有效期限设定设定指令所示的有效期限。通过更新临时权限表133,对TmpUserX赋予的向RangeX的访问权被附期限地有效化。
接下来,CPU18使用设定指令中包含的TmpUserX的认证信息来算出认证信息的散列值,保存于非易失性存储器6(步骤S115)。CPU18使用设定指令中包含的TmpUserX的认证信息来算出KEK(步骤S116)。并且,CPU18使用KEK对RangeX的DEK进行加密,保存于非易失性存储器6(步骤S117),结束权限设定处理。
通过以上的权限设定处理,CPU18在管理员的认证成功后,能够根据设定指令,使对TmpUserX赋予的向RangeX的访问权附带期限地有效化。
图10是表示由CPU18执行的权限无效化处理的次序的例子的流程图。权限无效化处理是用于使超过了有效期限的访问权无效化的处理。CPU18例如与向存储系统3的电力供给开始相应地执行权限无效化处理。另外,CPU18也可以定期地(例如1天1次、1个月1次)执行权限无效化处理。
CPU18从RTC17取得当前时刻(步骤S201)。然后,CPU18将临时权限表133的开头的条目设定为对象条目(步骤S202)。
接着,CPU18判定对象条目的临时权限使能是否为“真”(步骤S203)。在对象条目的临时权限使能为“假”的情况下(在步骤S203中为否),对对象条目的用户ID赋予的访问权为无效,因此,CPU18的处理进入步骤S207。
在对象条目的临时权限使能为“真”的情况下(在步骤S203中为是),CPU18判定当前时刻是否超过了对象条目所示的有效期限(步骤S204)。在当前时刻未超过对象条目所示的有效期限的情况下(在步骤S204中为否),CPU18的处理进入步骤S207。在该情况下,CPU18不进行对对象条目的变更。因此,维持对对象条目的用户ID赋予的访问权为有效的状态。
与此相对,在当前时刻超过了对象条目所示的有效期限的情况下(在步骤S204中为是),CPU18对对象条目的临时权限使能,设定“假”,更新临时权限表133,以使开始时刻以及有效期限成为null(步骤S205)。另外,CPU18从非易失性存储器6废弃与对象条目的用户ID对应的加密DEK(步骤S206)。CPU18将与对象条目的用户ID对应的认证信息311变更为由管理员预先设定的认证信息(即默认的认证信息)(步骤S207),CPU18的处理进入步骤S208。由此,能够使超过有效期限的用户ID的访问权无效化,并且能够变更该用户ID的认证信息。
接着,CPU18判定对象条目是否是临时权限表133的最后的条目(步骤S208)。在对象条目不是最后的条目的情况下(在步骤S208中为否),CPU18将临时权限表133内的对象条目的下一条目设定为新的对象条目(步骤S209),CPU18的处理进入步骤S203。即,关于新的对象条目的用户ID,判断是否需要访问权的无效化,如果需要,则进行用于使访问权无效化的处理。
在对象条目是最后的条目的情况下(在步骤S208中为是),CPU18结束权限无效化处理。
通过以上的权限无效化处理,CPU18在当前时刻超过了有效期限的情况下,能够使对用户ID赋予的访问权无效化。在该情况下,管理员无需在应该使对用户ID赋予的访问权无效化的定时,进行发出用于该无效化的设定指令的操作。因此,能够避免因指令操作的失误而应该无效化的用户ID的访问权仍然保持着有效的状态。因此,能够减低数据的泄漏、篡改发生的风险,强化针对向非易失性存储器6的访问的安全性。
图11是表示由CPU18执行的用户认证处理的次序的例子的流程图。用户认证处理是用于使用用户ID进行用户的认证的处理。CPU18构成为例如在开始向存储系统3的电力供给,执行参照图9的流程图说明过的权限设定处理之后,执行用户认证处理。也就是说,不会在权限设定处理的执行完成之前执行用户认证处理。
首先,CPU18从主机2接受用户ID“TmpUserX”的认证请求指令(步骤S301)。CPU18在临时权限表133中,确定与通过认证请求指令指定的用户ID“TmpUserX”对应的条目(步骤S302)。
CPU18判定所确定的条目的临时权限使能是否为“真”(步骤S303)。在临时权限使能为“假”的情况下(在步骤S303中为否),由于对TmpUserX赋予的访问权为无效,因此,CPU18向主机2通知错误(步骤S304),结束用户认证处理。
在临时权限使能为“真”的情况下(在步骤S303中为是),CPU18算出认证请求指令中包含的认证信息的散列值(步骤S305)。并且,CPU18判定所算出的散列值与TmpUserX的认证信息的散列值是否相等(步骤S306)。TmpUserX的认证信息或TmpUserX的认证信息的散列值,例如作为认证信息311保存于非易失性存储器6。
在所算出的散列值与TmpUserX的认证信息的散列值不同的情况下(在步骤S306中为否),CPU18向主机2通知TmpUserX的认证失败(步骤S307),结束用户认证处理。
在所算出的散列值与TmpUserX的认证信息的散列值相等的情况下(在步骤S306中为是),CPU18使用认证信息生成KEK(步骤S308)。CPU18使用生成的KEK对加密DEK进行解密(步骤S309)。该加密DEK是使用KEK对用于访问非易失性存储器6内的RangeX的DEK进行加密而得到的数据。另外,RangeX是对TmpUserX赋予的访问权的对象区域。
CPU18将通过解密得到的DEK设定于加密电路15(步骤S310)。然后,CPU18向主机2通知TmpUserX的认证成功(步骤S311),结束用户认证处理。
通过以上的用户认证处理,在请求了用户ID“TmpUserX”的认证的情况下,如果对TmpUserX赋予的访问权为无效(即,如果临时权限使能为“假”),则CPU18不执行使用了认证请求中包含的认证信息的TmpUserX的认证处理,向主机2通知错误。因此,例如,在使用TmpUserX的用户在超过了有效期限后请求了向非易失性存储器6的访问的情况下,CPU18能够拒绝该访问。
另外,在请求了用户ID“TmpUserX”的认证的情况下,如果对TmpUserX赋予的访问权为有效(即,如果临时权限使能为“真”),则CPU18执行使用了认证请求中包含的认证信息的TmpUserX的认证处理。在认证成功了的情况下,CPU18能够将成为对TmpUserX赋予的访问权的对象的RangeX的DEK设定于加密电路15。CPU18通过使用设定了DEK的加密电路15,能够根据与TmpUserX相关联的访问指令,访问RangeX。即,CPU18使用加密电路15对写入RangeX的数据进行加密,能够将从RangeX读出的数据进行解密。
另一方面,在认证失败的情况下,CPU18向主机2通知认证失败。由此,使用TmpUserX的用户被变更,在变更了TmpUserX的认证信息之后,CPU18能够拒绝之前的用户向RangeX的访问。
图12是表示由CPU18执行的读出指令处理的次序的例子的流程图。CPU18例如在参照图11说明过的用户认证处理之后执行读出指令处理。
CPU18从主机2接受读出指令(步骤S401)。在此,例示发出了读出指令的用户所使用的用户ID为“TmpUserX”的情况。即,读出指令与TmpUserX相关联。另外,对TmpUserX赋予的访问权的对象区域是RangeX。
CPU18在临时权限表133中确定与TmpUserX对应的条目(步骤S402)。然后,CPU18判定所确定的条目的临时权限使能是否为“真”(步骤S403)。
在临时权限使能为“假”的情况下(在步骤S403中为否),CPU18向主机2通知错误(步骤S404),结束读出指令处理。也就是说,CPU18不执行用于根据读出指令从非易失性存储器6读出数据的处理,而结束读出指令处理。
在临时权限使能为“真”的情况下(在步骤S403中为是),CPU18从非易失性存储器6读出与读出指令相应的数据(步骤S405)。更具体而言,CPU18使用逻辑物理地址转换表132,确定与通过读出指令指定的LBA对应的物理地址。然后,CPU18从非易失性存储器6内的所确定的物理地址读出数据。
CPU18利用设定有DEK的加密电路15对所读出的数据进行解密(步骤S406)。该DEK是在参照图11说明过的用户认证处理的步骤S310中所设定的DEK。也就是说,DEK是成为对TmpUserX赋予的访问权的对象的RangeX的DEK。CPU18向主机2发送解密后的数据(步骤S407),结束读出指令处理。
通过以上的读出指令处理,在接受了与TmpUserX相关联的读出指令的情况下,如果对TmpUserX赋予的访问权为无效(即如果临时权限使能为“假”),则CPU18能够不执行与读出指令相应的读处理,而向主机2通知错误。因此,例如在使用TmpUserX的用户在超过有效期限之后请求了对非易失性存储器6的读出访问的情况下,CPU18能够拒绝该读出访问。
另外,在接受了与TmpUserX相关联的读出指令的情况下,如果对TmpUserX赋予的访问权为有效(即如果临时权限使能为“真”),则CPU18从非易失性存储器6读出与读出指令相应的数据,能够对所读出的数据进行解密。
图13是表示由CPU18执行的写入指令处理的次序的例子的流程图。CPU18例如在参照图11说明过的用户认证处理之后执行写入指令处理。
CPU18从主机2接受写入指令(步骤S501)。在此,例示表示发出了写入指令的用户的用户ID为“TmpUserX”的情况。即,写入指令与TmpUserX相关联。另外,对TmpUserX赋予的访问权的对象区域是RangeX。CPU18从主机2接收与接受到的写入指令一起发送的写入对象的用户数据(步骤S502)。
CPU18在临时权限表133中确定与TmpUserX对应的条目(步骤S503)。然后,CPU18判定所确定的条目的临时权限使能是否为“真”(步骤S504)。
在临时权限使能为“假”的情况下(在步骤S504中为否),CPU18向主机2通知错误(步骤S505),结束写入指令处理。也就是说,CPU18不执行用于根据写入指令向非易失性存储器6写入数据的处理,而结束写入指令处理。
在临时权限使能为“真”的情况下(在步骤S504中为是),CPU18利用设定了DEK的加密电路15对写入对象的用户数据进行加密(步骤S506)。DEK例如是在参照图11说明过的用户认证处理的步骤S310中所设定的DEK。也就是说,DEK是成为对TmpUserX赋予的访问权的对象的RangeX的DEK。CPU18将加密后的用户数据写入非易失性存储器6(步骤S507)。然后,CPU18更新逻辑物理地址转换表132,以表示写入了加密后的用户数据的物理地址与逻辑地址的对应(步骤S508),结束写入指令处理。
通过以上的写入指令处理,在接受到与TmpUserX相关联的写入指令的情况下,如果对TmpUserX赋予的访问权为无效,则CPU18能够不执行与写入指令相应的写处理,而向主机2通知错误。因此,例如在使用TmpUserX的用户在超过有效期限之后请求了对非易失性存储器6的写入访问的情况下,CPU18能够拒绝该写入访问。
另外,在接受了与TmpUserX相关联的写入指令的情况下,如果对TmpUserX赋予的访问权为有效的,则CPU18能够对与写入指令相应的写入对象的用户数据进行加密,写入非易失性存储器6。
(第二实施方式)
在第一实施方式中,在存储系统3中设置有RTC17和蓄电装置5。与此相对,在第二实施方式中,在主机2设置RTC和蓄电装置。
第二实施方式中的存储系统3及主机2的构成与第一实施方式的存储系统3及主机2同样,第二实施方式和第一实施方式中,仅RTC及蓄电装置设置于主机2的构成不同。以下,主要说明与第一实施方式的不同点。
图14表示包括第二实施方式的存储系统3的信息处理系统1的构成例。第二实施方式的存储系统3与第一实施方式的存储系统3相比,不具备RTC17和蓄电装置5。第二实施方式的主机2除了第一实施方式的主机2的构成以外,还具备RTC26和蓄电装置27。
RTC26是无论是否从外部向主机2供给电力都进行动作的时钟。RTC26根据主机2内的各部(例如,CPU21、控制器25)的请求,提供当前时刻。RTC26在从外部电源向主机2内的各部供给电力的情况下,使用所供给的电力进行动作。另外,RTC26在没有从外部电源向主机2内的各部供给电力的情况下,使用从蓄电装置27供给的电力进行动作。
蓄电装置27作为从外部电源向主机2供给的电力被切断的情况下的电源发挥功能。具体而言,蓄电装置27在从外部电源供给的电力被切断的情况下,能够向RTC26供给电力。蓄电装置27作为纽扣型电池或双电层电容器来实现。
存储器控制器4的CPU18(更详细而言,访问控制部181)在需要取得当前时刻的情况下,将请求发送当前时刻的指令(以下,称为时刻请求指令)经由主机I/F11向主机2发送。主机2的控制器25(或CPU21)与从存储系统3接收到时刻请求指令相应地,从RTC26取得当前时刻。控制器25将所取得的当前时刻向存储系统3发送。由此,存储系统3的CPU18能够取得当前时刻。
此外,第二实施方式的存储系统3也可以与第一实施方式的存储系统3同样,具备RTC17和蓄电装置5。也就是说,也可以在存储系统3中设置RTC17和蓄电装置5,在主机2中设置RTC26和蓄电装置27。
CPU18在内部的RTC17能够提供准确的当前时刻的期间,从RTC17取得当前时刻。另外,例如在因从蓄电装置5供给的电力用尽而RTC17无法提供准确的当前时刻的情况下,CPU18向主机2发送时刻请求指令,取得由主机2内的RTC26提供的当前时刻。由此,CPU18能够从存储系统3内的RTC17和主机2内的RTC26中的任一方取得当前时刻。
如以上说明过的那样,根据第一实施方式以及第二实施方式,能够强化针对向储存器的访问的安全性。
存储系统3的存储器控制器4(更详细地说是访问控制部181)使对第一用户识别信息赋予的、向非易失性存储器6的至少一部分的存储区域的第一访问权有效化,设定到第一访问权变为无效为止的第一期限。存储器控制器4在当前时刻超过了第一期限的情况下,使第一访问权无效化。
由此,在当前时刻超过了第一期限的情况下,第一访问权被无效化,因此管理员无需在应该使第一访问权无效化的定时进行用于发出使第一访问权无效化的指令的操作。因此,能够避免因指令操作的失误而应该无效化的访问权仍然保持着有效的状态。因此,能够减低数据的泄漏、篡改发生的风险,强化针对向非易失性存储器6的访问的安全性。
第一实施方式以及第二实施方式所记载的各种功能各自也可以通过电路(处理电路)来实现。在处理电路的例子中,包括中央处理装置(CPU)那样的被编程的处理器。该处理器通过执行保存于存储器的计算机程序(命令组)来执行所记载的各功能。该处理器也可以是包含电路的微处理器。在处理电路的例子中,也包括数字信号处理器(DSP)、面向特定用途的集成电路(ASIC)、微控制器、控制器、其他电路部件。这些实施方式中所记载的CPU以外的其他组件各自也可以通过处理电路来实现。
对本发明的几个实施方式进行了说明,但这些实施方式是作为例子而提出的,并非意在限定发明的范围。这些新颖的实施方式能够以其他各种方式实施,能够在不脱离发明主旨的范围内,进行各种省略、置换、变更。这些实施方式及其变形包含在发明的范围、主旨内,并且包含在权利要求书所记载的发明及其等同的范围内。
标号说明
1…信息处理系统、2…主机、3…存储系统、4…存储器控制器、5…蓄电装置、6…非易失性存储器、11…主机I/F、12…缓冲器、13…RAM、14…ROM、15…加密电路、16…存储器I/F、17…RTC、18…CPU、131…FW、132…逻辑物理地址转换表、133…临时权限表、181…访问控制部、182…读出控制部、183…写入控制部、21…CPU、22…RAM、24…ROM、25…控制器、26…RTC、27…蓄电装置、251…电力供给部、31…系统区域、32…用户区域、311…认证信息、312…密钥信息。

Claims (12)

1.一种存储系统,具备:
非易失性存储器;和
控制器,构成为,
使对第一用户识别信息赋予的、向所述非易失性存储器的至少一部分的存储区域即第一存储区域的第一访问权有效化,设定到所述第一访问权变为无效为止的第一期限,
与当前时刻超过了所述第一期限相应地,使所述第一访问权无效化。
2.根据权利要求1所述的存储系统,
所述控制器进一步构成为,
从主机接受用于对所述第一存储区域进行访问的、关联了所述第一用户识别信息的访问请求,
在所述第一访问权为有效的情况下,执行与根据所述访问请求的向所述第一存储区域的访问相关的处理,
在所述第一访问权为无效的情况下,不执行与根据所述访问请求的向所述第一存储区域的访问相关的处理,而对所述主机通知错误。
3.根据权利要求2所述的存储系统,
所述控制器进一步构成为,
与所述当前时刻超过了所述第一期限相应地,变更与所述第一用户识别信息对应的认证信息,
从所述主机接受包含关联了所述第一用户识别信息的第一认证信息的第一认证请求,
在所述第一访问权为有效的情况下,执行使用了所述第一认证信息的所述第一用户识别信息的认证处理,
在所述第一访问权为无效的情况下,不执行使用了所述第一认证信息的所述第一用户识别信息的认证处理,而对所述主机通知错误。
4.根据权利要求3所述的存储系统,
所述控制器进一步构成为,
在所述第一访问权为有效且所执行的所述认证处理成功了的情况下,执行与根据所述访问请求的向所述第一存储区域的访问相关的处理,
在所述第一访问权为有效但所执行的所述认证处理失败了的情况下,不执行与根据所述访问请求的向所述第一存储区域的访问相关的处理,而对所述主机通知错误。
5.根据权利要求1所述的存储系统,
所述控制器进一步构成为,
使用第一加密密钥对写入所述非易失性存储器的数据进行加密,使用所述第一加密密钥对从所述非易失性存储器读出的数据进行解密,
从主机接受用于从所述第一存储区域读出数据的、关联了所述第一用户识别信息的读出请求,
在所述第一访问权为有效的情况下,从所述第一存储区域读出根据所述读出请求的第一数据,使用所述第一加密密钥对所述读出的第一数据进行解密,将解密后的所述第一数据向所述主机发送,
在所述第一访问权为无效的情况下,不从所述第一存储区域读出所述第一数据,而对所述主机通知错误。
6.根据权利要求5所述的存储系统,
所述控制器进一步构成为,
通过使用第二加密密钥对所述第一加密密钥进行加密来取得第三加密密钥,所述第二加密密钥与对应于所述第一用户识别信息的第一认证信息相关联,
在所述第一访问权为有效的情况下,使用所述第一认证信息取得所述第二加密密钥,使用所述取得的第二加密密钥对所述第三加密密钥进行解密,由此取得所述第一加密密钥,使用所述第一加密密钥对所述读出的第一数据进行解密。
7.根据权利要求6所述的存储系统,
所述控制器进一步构成为,
与所述第一访问权变为无效相应地,不废弃所述第一加密密钥,而废弃所述第三加密密钥。
8.根据权利要求7所述的存储系统,
所述控制器进一步构成为,
通过使用第四加密密钥对所述第一加密密钥进行加密来取得第五加密密钥,所述第四加密密钥与不同于所述第一认证信息的第二认证信息相关联,
使用所述第二认证信息取得所述第四加密密钥,使用所述取得的第四加密密钥对所述第五加密密钥进行解密,由此取得所述第一加密密钥,使用所述第一加密密钥对所述读出的第一数据进行解密。
9.根据权利要求1所述的存储系统,
所述控制器进一步地,
对将所述非易失性存储器的存储区域进行逻辑分割而得到的至少一个存储区域进行管理,
所述第一存储区域是所述至少一个存储区域内的一个。
10.根据权利要求1至9中任一项所述的存储系统,
还具备:
实时时钟;和
蓄电装置,能够向所述实时时钟供给电力,
所述控制器构成为,从所述实时时钟取得所述当前时刻。
11.根据权利要求1至9中任一项所述的存储系统,
所述控制器进一步构成为,
从主机接收设定请求,
根据所述设定请求,使所述第一访问权有效化,设定所述第一期限。
12.根据权利要求11所述的存储系统,
所述控制器构成为,
从所述主机接受关联了管理员的识别信息的第二认证请求,
执行使用了所述第二认证请求中包含的第三认证信息的所述管理员的认证处理,
在所执行的所述管理员的认证处理成功了的情况下,根据所述设定请求,使所述第一访问权有效化,设定所述第一期限。
CN202110931264.9A 2021-02-15 2021-08-13 存储系统 Pending CN114943102A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021021773A JP2022124165A (ja) 2021-02-15 2021-02-15 メモリシステム
JP2021-021773 2021-02-15

Publications (1)

Publication Number Publication Date
CN114943102A true CN114943102A (zh) 2022-08-26

Family

ID=82801225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110931264.9A Pending CN114943102A (zh) 2021-02-15 2021-08-13 存储系统

Country Status (4)

Country Link
US (1) US20220261162A1 (zh)
JP (1) JP2022124165A (zh)
CN (1) CN114943102A (zh)
TW (1) TWI821675B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022030661A (ja) * 2020-08-07 2022-02-18 キオクシア株式会社 メモリシステム、制御方法、および情報処理システム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080189557A1 (en) * 2005-01-19 2008-08-07 Stmicroelectronics S.R.I. Method and architecture for restricting access to a memory device
US7925895B2 (en) * 2005-02-22 2011-04-12 Kyocera Mita Corporation Data management apparatus, data management method, and storage medium
US7757280B2 (en) * 2006-01-17 2010-07-13 International Business Machines Corporation Method and system for memory protection and security using credentials
US8800008B2 (en) * 2006-06-01 2014-08-05 Intellectual Ventures Ii Llc Data access control systems and methods
US8875261B2 (en) * 2008-10-22 2014-10-28 International Business Machines Corporation Rules driven multiple passwords
US8458799B2 (en) * 2009-06-30 2013-06-04 Nokia Corporation Method and apparatus for providing a scalable service platform using a network cache
WO2011123107A1 (en) * 2010-03-31 2011-10-06 Hewlett-Packard Development Company, L.P. Clients and servers for allocating and managing exclusive access to a portion of remote storage space
JP4881468B1 (ja) * 2010-09-17 2012-02-22 株式会社東芝 記憶装置、保護方法及び電子機器
US8863256B1 (en) * 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
JP5730082B2 (ja) * 2011-03-08 2015-06-03 キヤノン株式会社 プリントサーバ、印刷システム、制御方法、およびプログラム。
CN102799539B (zh) * 2012-06-08 2016-12-21 湖南文盾信息技术有限公司 一种安全优盘及其数据主动防护方法
BR112017014632B1 (pt) * 2015-01-27 2023-12-26 Visa International Service Association Método implementado por computador, sistema de computador, e, mídia legível de computador
GB2539428B (en) * 2015-06-16 2020-09-09 Advanced Risc Mach Ltd Data processing apparatus and method with ownership table
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US9875113B2 (en) * 2015-12-09 2018-01-23 Quanta Computer Inc. System and method for managing BIOS setting configurations
KR102656172B1 (ko) * 2018-03-28 2024-04-12 삼성전자주식회사 가상 스트림들과 물리 스트림들을 맵핑하기 위한 스토리지 장치 및 그것의 동작 방법
GB2578158B (en) * 2018-10-19 2021-02-17 Advanced Risc Mach Ltd Parameter signature for realm security configuration parameters
JP7187362B2 (ja) * 2019-03-15 2022-12-12 キオクシア株式会社 ストレージ装置及び制御方法

Also Published As

Publication number Publication date
TW202234259A (zh) 2022-09-01
TWI821675B (zh) 2023-11-11
JP2022124165A (ja) 2022-08-25
US20220261162A1 (en) 2022-08-18

Similar Documents

Publication Publication Date Title
CN111475871B (zh) 存储器系统
US11775184B2 (en) Memory system, information processing apparatus, and information processing system
US20100058073A1 (en) Storage system, controller, and data protection method thereof
US11847243B2 (en) Memory system
US8332653B2 (en) Secure processing environment
TWI763780B (zh) 儲存裝置
US20210216616A1 (en) Memory controller and storage device including the same
JP2012221257A (ja) 記憶装置、保護方法及び電子機器
CN1536579A (zh) 存储卡
US11681637B2 (en) Memory controller, storage device including the same, and operating method of the memory controller
US20130191636A1 (en) Storage device, host device, and information processing method
US20150227755A1 (en) Encryption and decryption methods of a mobile storage on a file-by-file basis
CN115391844A (zh) 安全密钥存储装置
CN114943102A (zh) 存储系统
US11468159B2 (en) Memory system
TWI775284B (zh) 記憶系統、其控制方法及資訊處理系統
US12032478B2 (en) Electronic apparatus for time series data management, and method and storage medium
US11113399B2 (en) Electronic apparatus and control method of electronic apparatus
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
CN112468300A (zh) 具有旁通通道的金钥管理装置及处理器芯片
US20230274037A1 (en) Secure Flash Controller
US20240094924A1 (en) Storage device
CN118282630A (zh) 避免使用不完整密钥的密钥管理装置、处理器芯片及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination