KR101608110B1 - 저장 장치의 어드레스 범위에 대한 액세스 관리 방법 - Google Patents

저장 장치의 어드레스 범위에 대한 액세스 관리 방법 Download PDF

Info

Publication number
KR101608110B1
KR101608110B1 KR1020117012655A KR20117012655A KR101608110B1 KR 101608110 B1 KR101608110 B1 KR 101608110B1 KR 1020117012655 A KR1020117012655 A KR 1020117012655A KR 20117012655 A KR20117012655 A KR 20117012655A KR 101608110 B1 KR101608110 B1 KR 101608110B1
Authority
KR
South Korea
Prior art keywords
access
feature
entity
addressable memory
memory locations
Prior art date
Application number
KR1020117012655A
Other languages
English (en)
Other versions
KR20110097802A (ko
Inventor
로템 셀라
미카엘 홀츠만
론 바질라이
도날드 레이 브리얀트-리치
Original Assignee
샌디스크 테크놀로지스, 인코포레이티드
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 샌디스크 테크놀로지스, 인코포레이티드 filed Critical 샌디스크 테크놀로지스, 인코포레이티드
Publication of KR20110097802A publication Critical patent/KR20110097802A/ko
Application granted granted Critical
Publication of KR101608110B1 publication Critical patent/KR101608110B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • 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/2107File encryption
    • 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/2113Multi-level security, e.g. mandatory access control
    • 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/2129Authenticate client device independently of the user
    • 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • 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/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

저장 장치 내 데이터에 대한 보안 및 액세스 제어의 향상된 구성이 개시된다. 저장 장치 내 저장 매체에 어드레스 가능한 메모리 위치에 대한 액세스하기 위한 요청이 수신된다. 어드레스 범위에 의해 확인되는 인접한 어드레스를 가진 한 세트의 어드레스 가능한 메모리 위치는 제 1 및 제 2 특징에 연관된다. 어드레스 가능한 메모리 위치가 한 세트의 어드레스 가능한 메모리 위치 내에 있고 실체가 한 세트의 어드레스 가능한 메모리 위치에 인증되고 이에 대한 액세스 권한이 있다면 제 1 특징이 적용된다. 어드레스 가능한 메모리 위치가 한 세트의 어드레스 가능한 메모리 위치 내에 있고 어떠한 실체도 한 세트의 어드레스 가능한 메모리 위치에 인증되지 않고 이에 대한 액세스 권한이 없다면 제 2 특징이 적용된다. 한 세트의 어드레스 가능한 메모리 위치는 논리 파티션일 수 있고, 제 1 및 제 2 특징은 논리 파티션 테이블에 저장된다.

Description

저장 장치의 어드레스 범위에 대한 액세스 관리 방법{MANAGING ACCESS TO AN ADDRESS RANGE IN A STORAGE DEVICE}
이 출원은 일반적으로 비휘발성 플래시 메모리 시스템의 동작에 관한 것이고, 보다 구체적으로는 저장 장치의 어드레스 범위에 대한 액세스를 관리하는 방법에 관한 것이다.
특히, 하나 이상의 집적 회로 장치에 형성된 플래시 EEPROM(전기적으로 소거 가능하고 프로그래밍 가능한 판독 전용 메모리) 셀을 채용하는 소형 폼 팩 터 카드 형태의 많은 상업적으로 성공한 비휘발성 메모리 제품이 현재 사용된다. 상업적으로 이용 가능한 카드 형식 중 일부는 콤팩트플래시(CF) 카드, 멀티매체 카드(MMC), 보안 디지털(SD) 카드, 및 개인용 태그(P-태그)를 포함한다. 비휘발성 소형 폼 팩터 카드를 탑재 또는 액세스할 수 있는 호스트는 개인용 컴퓨터, 노트북 컴퓨터, 개인용 디지털 보조장치(PDAs), 각종 데이터 통신 장치, 디지털 카메라, 셀룰러 전화, 휴대용 오디오 플레이어, 자동차 음성 시스템, 및 유사한 유형의 장비를 포함한다. 일부 시스템에서, 착탈 가능 카드는 제어기를 포함하지 않으며 호스트는 카드 내 메모리의 동작을 제어한다. 이러한 유형의 메모리 시스템의 예는 스마트 매체 카드 및 xD 카드를 포함한다. 이에 따라, 메모리의 제어는 카드 내 제어기 상에 소프트웨어에 의해서 또는 호스트 내 제어 소프트웨어에 의해 달성될 수도 있다. 메모리 카드 구현 이외에, 비휘발성 이러한 유형의 메모리는 대안적으로 다양한 유형의 호스트 시스템에 내장될 수 있다. 착탈 가능형 응용 및 내장형 응용 둘 다에 있어서, 호스트 데이터는 메모리 제어기 소프트웨어 및/또는 하드웨어에 의해 구현되는 저장방법에 따라 메모리에 저장될 수 있다. 카드 내에 저장되는 데이터는 프로그램에 의해서, 그리고 어떤 경우 보안 하드웨어 또는 소프트웨어에 의해 제어되는 인터페이스를 통해 액세스된다.
비휘발성 메모리 카드의 저장 밀도 증가로 수가 날로 증가하는 호스트 애플리케이션은 추가의 저장 공간을 이용할 수 있게 되었다. 예를 들어, 추가의 저장 장치는 MP3 오디오 파일, 고-해상 이미지 파일, 비디오 파일, 및 문서, 그리고 멀티매체 메시징 서비스(MMS) 객체 첨부물을 저장하는 것, 및 이메일 연락처 목록 및 달력과 같은 완전한 개인 정보 관리(PIM) 기능을 제공하는 것 등 다양한 진보된 셀룰라 전화 서비스를 위해 이용될 수 있다. 그러므로, 다양한 애플리케이션은 비휘발성 저장 장치에 대한 액세스를 공유하며 데이터에 대한 액세스하거나 이 자신의 데이터를 저장하고 관리할 수 있다. 각각의 애플리케이션이 비휘발성 메모리 카드 내 전체 저장 공간량을 공유하나, 각각의 애플리케이션의 대역폭, 전력 소비, 및 파일 보안 요건은 서로 다를 수 있다.
예를 들어, 셀룰라 전화와 같은 휴대 계산장치는 모바일 네트워크 상에서 더 많은 데이터 교환이 발생하게 하여 평균 수입을 증가시키기 위해 콘텐트 저장을 아마도 착탈 가능 비휘발성 저장 장치에 제공할 수도 있다. 이 콘텐트는 비휘발성 저장 장치를 제조하거나 판매하는 관계자 이외의 관계자가 소유하는 데이터일 수 있는 유가의 데이터를 포함한다. 그러므로, 비휘발성 저장 장치 내 콘텐트는 권한 없는 사용자 또는 애플리케이션에 의한 액세스로부터 보호될 필요가 있다. 한편, 셀룰라 전화 카메라로 사진을 찍기 위한 애플리케이션은 다른 애플리케이션이 비휘발성 저장 카드에 저장된 사진 파일에 대해 액세스할 수 있게 필요가 있을 수도 있다. 또 다른 예에서, 비디오 플레이어와 같은 애플리케이션은 비휘발성 저장 장치에 고-대역폭, 저-레이턴시 액세스를 요구할 수도 있다. 동시에, 전화 주소록과 같은 비휘발성 저장 장치에 대한 액세스를 공유하는 다른 애플리케이션은 요구하는 대역폭 및 레이턴시 요건을 덜 갖고 있을 수 있다. 이 예로 보인 바와 같이, 비휘발성 저장 장치에 저장될 수 있는 데이터량 및 유형과 같이 비휘발성 저장 장치에 대한 액세스하는 호스트 애플리케이션의 수가 증가하고 있다. 또한, 점점 더 복잡해지는 애플리케이션의 요구조건은 요구되는 저장 공간량뿐만 아니라 이를 넘어 확장하고 있다. 예를 들어, 비휘발성 저장 장치 카드가 이 서로 다른 애플리케이션 요구조건을 인식하지 못하거나 수용하지 못한다면, 카드 상에 저장된 데이터의 보안은 위태롭게 될 수 있거나, 대역폭은 비휘발성 저장 장치 카드에 대한 액세스를 공유하는 애플리케이션 사이에 할당이 부적절할 수 있다.
이 문제를 해결하기 위해, 비휘발성 저장 장치 내에 비휘발성 저장 장치의 어드레스 범위에 연관된 특징을 정의할 필요성이 있다. 특징은 정의된 어드레스 범위로부터 데이터를 판독하거나 이에 데이터를 기록하는 요청을 처리할 때 암호화, 전력 소비, 대역폭 소비, 및 액세스 허가와 같은 기능을 제어하기 위해 적용될 수 있다. 드레스 범위에 연관된 저장 공간은 하나 이상의 애플리케이션에 의해 이용될 수 있다. 그렇게 함에 있어, 보안, 수행 및 전력 소비와 같은 저장 장치 특징을 이 어드레스 범위에 대한 액세스하는 애플리케이션의 요구조건에 맞출 수 있다. 적용되는 특징은 실체가 현재 인증되어 어드레스 범위에 대한 액세스 권한을 갖게 되는지에 따를 수 있다. 한 애플리케이션이 현재 인증되어 어드레스 범위에 대한 액세스 권한을 갖게 되면, 이 어드레스 범위에 대한 액세스하는 모든 실체는 이 어드레스 범위에 대한 액세스 동안 제 1 세트의 특징이 적용되게 할 수 있다. 어떠한 애플리케이션도 현재 인증되지 않고 어드레스 범위에 대한 액세스 권한이 없으면, 이 어드레스 범위에 대한 액세스하는 어떠한 실체든 이 어드레스 범위에 대한 액세스 동안 제 2 세트의 특징이 적용되게 할 수 있다. 실체가 현재 인증되고 어드레스 범위에 대한 액세스 권한이 있는가에 따른 제 1 또는 제 2 특징 세트의 적용은 비휘발성 저장 장치의 작동의 제어 및 작동에 있어 통성을 더욱 제공한다. 여기 제시되는 개념(들)은 여러 실시예에서 구현될 수 있고, 이 요약은 다수의 실시예를 포함한다.
일 실시예에서, 저장 장치는 저장 장치 내에 저장 매체에 어드레스 가능한 메모리 위치에 대한 액세스 요청을 수신하며, 저장 매체는 어드레스 가능한 메모리 위치를 포함하고, 어드레스 범위에 의해 확인되는 인접한 어드레스를 가진 한 세트의 어드레스 가능한 메모리 위치는 제 1 특징 및 제 2 특징과 연관된다. 어드레스 가능한 메모리 위치가 한 세트의 어드레스 가능한 메모리 위치 내에 있고 임의의 실체가 한 세트의 어드레스 가능한 메모리 위치에 인증되고 이에 대한 액세스 권한이 있다면 제 1 특징이 적용된다. 어드레스 가능한 메모리 위치가 한 세트의 어드레스 가능한 메모리 위치 내에 있고 어떠한 실체도 한 세트의 어드레스 가능한 메모리 위치에 인증되지 않고 이에 대한 액세스 권한이 없다면 제 2 특징이 적용된다. 일 실시예에서, 어드레스 가능한 메모리 위치가 한 세트의 어드레스 가능한 메모리 위치 내에 없다면 내정된 특징이 적용된다. 또 다른 실시예에서, 저장 장치는 한 세트의 어드레스 가능한 메모리 위치에 대해 실체를 인증한다. 트리로부터 액세스 제어 레코드를 이용하여 한 세트의 어드레스 가능한 메모리 위치에 실체를 인증한다. 트리는 계층적으로 구성된 노드를 포함하며, 각 노드는 적어도 하나의 액세스 제어 레코드를 포함하고, 액세스 제어 레코드는 실체를 인증하고 한 세트의 어드레스 가능한 메모리 위치에 저장된 데이터에 대한 액세스 권한을 실체에 부여하기 위한 크레덴셜 및 허가를 포함한다. 또한, 저장 장치는 제 1 특징 및 제 2 특징 중 적어도 하나를 변경하는 요청을 실체에 의해 수신할수 있고, 실체가 현재 인증되고 제 1 특징 및 제 2 특징 중 적어도 하나를 변경할 권한이 있는 경우 요청이 승인된다.
또 다른 실시예에서, 저장 장치 내에 저장 매체에 어드레스 가능한 메모리 위치에 대한 액세스 요청이 수신되며, 저장 매체는 어드레스 가능한 메모리 위치를 포함하고, 논리 파티션은 어드레스 범위에 의해 확인되는 인접한 어드레스를 가지며 제 1 특징 및 제 2 특징과 연관된 한 세트의 어드레스 가능한 메모리 위치를 포함한다. 실체가 현재 인증되고 논리 파티션에 대한 액세스 권한이 있다면, 제 1 특징을 논리 파티션 테이블로부터 가져온다. 논리 파티션 테이블은 복수의 엔트리를 포함하며, 각각의 엔트리는 논리 파티션에 연관된 논리 파티션 식별자, 어드레스 범위, 제 1 특징, 및 제 2 특징을 포함한다. 요청에 응하여 제 1 특징이 적용된다. 실체가 현재 인증되지 않고 논리 파티션에 대한 액세스 권한이 없다면, 액세스될 논리 파티션에 대응하는 논리 파티션 테이블 엔트리로부터 제 2 특징을 가져오고, 요청에 응하여 제 2 특징이 적용된다. 또 다른 실시예에서, 어드레스된 메모리 위치가 논리 파티션 내에 없다면 내정된 특징이 적용된다. 일 실시예에서, 저장 장치는 논리 파티션에 실체를 인증한다. 이 실시예에서, 저장 장치는 논리 파티션에 실체를 인증하기 위해 트리로부터 액세스 제어 레코드를 사용하며, 트리는 이에 계층적으로 구성된 노드를 포함하며, 각 노드는 적어도 하나의 액세스 제어 레코드를 포함하고, 액세스 제어 레코드는 실체를 인증하고 논리 파티션에 저장된 데이터에 대한 액세스 권한을 실체에 부여하기 위한 크레덴셜 및 허가를 포함한다.
또 다른 실시예에서, 어드레스 가능한 메모리 위치를 갖는 저장 매체을 구비한 저장 장치는 한 세트의 어드레스 가능한 메모리 위치와 제 1 특징 및 제 2 특징 사이의 연관을 생성하는 요청을 실체로부터 수신한다. 한 세트의 하나 이상의 어드레스 가능한 메모리 위치는 인접한 어드레스의 어드레스 범위에 의해 확인된다. 저장 장치는 실체가 현재 인증되고 연관을 생성할 권한이 있다면 요청을 승인한다. 연관을 생성할 요청이 승인되면, 제 1 특징은 어떠한 실체이든 어드레스 범위에 인증되고 이에 대한 액세스 권한이 있다면 어드레스 범위 내에 어드레스 가능한 메모리 위치에 대한 액세스 요청에 응하여 적용될 수 있다. 또한, 제 2 특징은 어떠한 실체도 어드레스 범위에 인증되지 않고 이에 대한 액세스 권한이 없다면 어드레스 범위 내에 어드레스 가능한 메모리 위치에 대한 액세스 요청에 응하여 적용될 수 있다.
일 실시예에서, 제 1 특징 및 제 2 특징 중 적어도 하나를 변경하기 위한 요청이 실체로부터 수신된다. 요청은 실체가 이러게 하라고 현재 인증되고 이렇게 행할 권한이 있다면 승인된다. 또 다른 실시예에서, 논리 파티션을 생성하기 위한 요청이 실체로부터 수신된다. 요청은 실체가 현재 인증되고 논리 파티션을 생성할 권한이 있다면 승인된다. 저장 장치는 트리로부터 액세스 제어 레코드를 사용하여 실체를 인증할 수 있다. 트리는 계층적으로 구성된 노드를 포함하며, 각 노드는 적어도 하나의 액세스 제어 레코드를 포함하고, 액세스 제어 레코드는 실체를 인증하고 실체에 권한을 부여하기 위한 크레덴셜 및 허가를 포함한다. 저장 장치는 실체에 권한을 부여하고 액세스 제어 레코드를 사용하여 논리 파티션을 생성, 액세스, 또는 변경할 수 있다.
또 다른 실시예에서, 저장 장치는 저장 매체 및 제어기를 포함한다. 저장 매체는 어드레스 가능한 메모리 위치를 가지며, 이 중 한 세트의 하나 이상의 메모리 이치는 제 1 특징 및 제 2 특징과 연관된 인접한 어드레스의 어드레스 범위에 의해 확인된다. 제어기는 저장 매체의 어드레스 가능한 메모리 위치에 대한 액세스 요청을 수신하고, 어드레스 가능한 메모리 위치가 한 세트의 어드레스 가능한 메모리 위치 내에 있고 이때 임의의 실체가 한 세트의 어드레스 가능한 메모리 위치에 인증되고 이에 대한 액세스 권한이 있다면 제 1 특징을 적용하고, 어드레스 가능한 메모리 위치가 한 세트의 어드레스 가능한 메모리 위치 내에 있고 이때 어떠한 실체도 한 세트의 어드레스 가능한 메모리 위치에 인증되지 않고 이에 대한 액세스 권한이 없다면 제 2 특징을 적용하게 동작한다.
다른 실시예, 및 이의 특성 및 잇점이 가능하며 다음의 도면 및 상세한 설명을 검토하여 당업자에게 명백하거나 명백해질 것이다. 따라서, 이하 청구항에서 인용되는 청구된 발명의 범위는 여기 도시되고 기술된 실시예에 제한되지 않는 것이다.
본 발명은, 저장 장치의 어드레스 범위에 대한 액세스를 관리하는 방법을 제공하는 효과를 갖는다.
도면에서 구성성분은 반드시 축척에 맞는 것은 아니며, 대신 발명의 여러 면을 예시하는 것에 강조하였다. 또한, 도면에서, 동일 구성요소에 동일 참조부호를 사용하였다.
도 1은 비휘발성 저장 장치 내 비휘발성 저장 장치에 대한 액세스하기 위한 시스템을 도시한 도면.
도 2는 비휘발성 저장 매체를 물리 및 논리 파티션들으로 분할한 것을 도시한 도면.
도 3은 논리 파티션 테이블, 이 내에 엔트리, 및 비휘발성 저장 장치에 대한 액세스 동안 적용되는 여러 특징의 엔코딩을 도시한 도면.
도 4는 액세스 제어 그룹(AGP) 내에, 인증 및 권한 정보를 포함하는 액세스 제어 레코드(ACR)를 도시한 도면.
도 5는 트리형상 계층구조로 액세스 제어 레코드 및 액세스 제어 그룹의 배열을 도시한 도면.
도 6은 비휘발성 저장 장치 내 비휘발성 저장 장치에 대한 액세스 시도를 처리하기 위한 단계들을 도시한 도면.
도 7은 비휘발성 저장 장치 내 비휘발성 저장 장치에 논리 파티션을 생성하기 위한 단계들을 도시한 도면.
도 8은 비휘발성 저장 장치 내 비휘발성 저장 장치에 논리 파티션을 삭제하기 위한 단계들을 도시한 도면.
도 9는 비휘발성 저장 장치 내 비휘발성 저장 장치에 논리 파티션을 수정하기 위한 단계들을 도시한 도면.
비휘발성 저장 장치는 개인용 컴퓨터, 노트북 컴퓨터, PDA, 각종 데이터 통신 장치, 디지털 카메라, 셀룰라 전화, 휴대 오디오 플레이어, 차량 음향 시스템, 및 이들과 유사한 유형의 장비를 포함한 다양한 호스트 시스템에서 이용될 수 있다. 비휘발성 저장 장치의 증가하는 저장용량을 이용하는 새로운 호스트 애플리케이션이 계속해서 개발되고 있다. 예를 들어, 개개의 호스트 애플리케이션은 MP3 오디오 파일, 고-해상 이미지 파일, 비디오 파일, 문서, 멀티매체 메시징 서비스(MMS) 객체 첨부물, 이메일 메시지, 주소록, 및 달력을 판독하거나 기록할 수 있다.
하나 이상의 애플리케이션이 한번에 호스트 상에서 실행하고 있을 수 있는데 이에 따라 2 이상의 호스트 애플리케이션은 비휘발성 저장 장치에 대한 액세스를 공유할 필요가 있을 수 있다. 한번에 단지 한 애플리케이션만이 실행하고 있는 시스템에서도, 비휘발성 저장 장치 상에 저장된 데이터에 대한 액세스를 제한할 필요가 있을 수 있다. 일예에서, 애플리케이션은 자신의 데이터를 비휘발성 저장 장치로부터만 읽을 수 있다. 또 다른 예에서, 2 이상의 사용자는 동일 애플리케이션을 실행할 수 있는데, 한 사용자의 데이터를 동일 애플리케이션을 실행하는 또 다른 사용자가 액세스할 수 있을 것이다. 또 다른 예에서, 사용자는 데이터를 또 다른 사용자와 공유하기로 선택할 수도 있을 것이다. 유사하게, 한 애플리케이션은 또 다른 애플리케이션이 사용할 수 있는 데이터를 생성할 수도 있다. 그러나, 이 경우에서, 애플리케이션 또는 사용자가 또 다른 애플리케이션 또는 사용자에 의해 생성된 데이터를 읽을 수 있게 하지만 또 다른 애플리케이션 또는 사용자에 의해 생성된 데이터를 수정, 기록, 덮어쓰기, 또는 소거하는 것을 금지하는 것이 바람직할 수 있다.
전술한 예는 복수의 애플리케이션 및 사용자가 한 비휘발성 저장 장치 내에 저장 공간을 공유할 때 일어날 수 있는 다양한 상호작용의 몇 가지 샘플이다. 그러므로, 비휘발성 저장 장치 내에 저장 장치에 대한 액세스를 더 잘 관리할 수 있는 제어 특징을 메모리 시스템에 제공하는 것이 바람직하다.
일 실시예에서, 사용자 또는 애플리케이션은 비휘발성 저장 장치 내에 정의된 어드레스 범위 내의 데이터를 판독, 기록, 수정 또는 소거할 수 있다. 각각의 어드레스 범위, 또는 논리 파티션은 특징 세트에 연관될 수 있다. 특징 세트는 연관된 어드레스 범위에 데이터를 판독, 기록, 소거, 또는 수정하는 요청이 수신되었을 때 적용될 수 있다. 세트 내 몇몇 특징은 이를테면 저장된 데이터의 암호화 및 해독, 액세스를 수행할 때 전력 소비, 액세스를 수행할 때 대역폭 소비, 및 판독, 기록, 수정, 및 소거 허가와 같은 액세스 허가 등의 기능을 포함할 수 있다. 각각이 자신의 특징 세트를 갖고 있는 하나 이상의 어드레스 범위가 정의될 수 있다. 이렇게 하여, 하나 이상의 실체는 비휘발성 저장 장치 내에 커스터마이즈된 저장 영역을 생성할 수 있다. 정의된 어드레스 범위 중 어느 한 범위 밖의 액세스 요청이 수신되었을 때는 내정된 특징 세트가 요청을 처리할 때 적용될 수 있다.
일 실시예에서, 어드레스 범위는 두 특징 세트에 연관될 수 있다. 제 1 특징 세트는 이를테면 사용자, 호스트, 또는 애플리케이션와 같은 것인 실체가 현재 인증되고 어드레스 범위에 대한 액세스 권한이 있을 때 요청에 적용되며, 제 2의 다른 특징 세트는 어떠한 살체도 현재 인증되지 않고 어드레스 범위에 대한 액세스 권한이 없을 때 적용된다. 제 1 특징 세트가 적용되는 상황에서, 어드레스 범위에 대한 액세스를 요청하는 실체는 현재 인증되고 어드레스 범위에 대한 액세스 권한을 갖는 실체 중 하나일 수 있다. 대안적으로, 액세스를 요청하는 실체는 현재 인증되고 어드레스 범위에 대한 액세스 권한이 있는 실체 중 하나가 아니다. 이 경우에, 제 1 실체는 자신을 어드레스 범위에 인증하고 이에 대한 액세스 권한을 부여받을 수도 있다. 일단 이것이 완료되면, 제 2 실체가 인증 및 권한 프로세스를 완료하지 않았을지라도, 제 2 실체가 어드레스 범위에 대한 액세스를 시도할 때 제 1 특징 세트가 적용될 수 있다. 이에 관하여, 제 2 실체는 이전에 제 1 실체에 의해 완료된 인증에 의존하며, 이 어드레스 범위에 대한 액세스를 수행할 때 제 1 특징 세트에 의해 명시된 속성을 적용한다. 일 실시예에서, 액세스를 요청하는 실체의 신원은 요청을 처리할 때 비휘발성 저장 장치는 알 수 없거나 사용되지 않는다. 이 구현에서, 어느 특징 세트를 적용할지의 결정은 어드레스 범위에 대한 액세스 권한이 있는 현재-인증된 실체에 따르며 어드레스 범위에 대한 액세스를 요청하는 실체의 신원에는 무관하다.
특징 세트의 이러한 사용은 몇 가지 중요한 보안 및 수행 잇점을 제공한다. 예를 들어, 어드레스 범위에 연관된 제 1 특징 세트는 이 어드레스 범위에 판독 및 기록 액세스를 허용할 것이며, 반면 제 2 특징 세트는 판독 및 기록 액세스 둘 다를 금지할 수 있다. 한 애플리케이션은 자신을 어드레스 범위에 인증하고 어드레스 범위에 대한 액세스 권한을 갖기 위해 크레덴셜 및 필요한 절차를 지닐 수 있다. 일단 인증 및 권한 프로세스가 완료되면, 이 어드레스 범위에 대한 액세스를 시도하는 다른 애플리케이션에 제 1 특징 세트가 적용된다. 그러나, 이 다른 애플리케이션은 크레덴셜 및 인증 절차를 지닐 필요가 없다. 시스템의 보안은 크레덴셜 및 인증 절차를 거쳐야 하는 실체의 수가 감소되기 때문에 개선될 수 있다. 또한, 다른 애플리케이션은 액세스할 수 있기 위해서 인증절차를 반복하는 것을 피할 수 있어 어드레스 범위에 대한 액세스함에 있어 레이턴시를 감소시킬 수 있다. 이에 따라, 이 예에서, 한 애플리케이션은 애플리케이션을 어드레스 범위에 판독 및 기록 액세스를 할 수 있게 하는 게이트키퍼로서 작용할 수 있다. 애플리케이션이 어드레스 범위에 인증되고 이에 대한 액세스 권한이 있는 한, 다른 애플리케이션은 보안의, 시간 소비적인, 또는 성가신 인증 및 권한 프로세스를 수행할 필요없이 이 어드레스 범위에 대해 액세스할 수 있다.
도 1은 비휘발성 저장 장치 내에 비휘발성 저장 장치에 대한 액세스하기 위한 시스템(100)을 도시한 것이다. 시스템(100)은 호스트(110) 및 비휘발성 저장 장치(120)를 포함한다. 호스트(110) 및 비휘발성 저장 장치(120)는 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 일 실시예에서, 비휘발성 저장 장치(120)는 캘리포이나주 밀피타스의 SanDisk사로부터의 저장 장치인 TrustedFlash(등록상표) 카드이다. 호스트(110) 및 비휘발성 저장 장치(120)는 통신 인터페이스(112)를 통해 통신할 수 있다. 통신 인터페이스는 USB(Universal Serial Bus) 인터페이스, 보안 디지털(SD) 인터페이스, 또는 호스트(110)와 비휘발성 저장 장치(120) 사이에 명령 및 데이터를 교환할 수 있는 임의의 통신 인터페이스 또는 프로토콜 또는 프로토콜의 조합일 수 있다. 예를 들어, 호스트(110)는 비휘발성 저장 장치(120)에 데이터를 저장하기 위해 통신 인터페이스(112)를 통해 데이터 및 명령을 송신할 수 있다. 또 다른 예에서, 호스트(110)는 비휘발성 저장 장치(120)로부터 데이터를 판독하기 위해 통신 인터페이스(112)를 통해 명령을 송신할 수 있고, 비휘발성 저장 장치(120)는 통신 인터페이스(112)를 통해 호스트(110)에 데이터를 리턴할 수 있다. 통신 인터페이스(112)를 통해 송신될 수 있는 그외 파일 조작은 파일 열기, 닫기, 생성, 확장, 및 소거를 포함한다.
호스트(110)는 비휘발성 저장 장치(120)에 데이터를 저장하거나 액세스할 수 있는 하나 이상의 애플리케이션을 포함할 수 있다. 또 다른 실시예에서, 한 사용자 이상의 사용자는 하나 이상의 애플리케이션을 사용하여 비휘발성 저장 장치(120)에 데이터를 저장하거나 액세스할 수 있다. 또한, 비휘발성 저장 장치(120) 내에 프로세서(160) 상에서 실행되는 애플리케이션은 비휘발성 저장 장치(120)에 데이터를 저장하거나 액세스할 수 있다. 비휘발성 저장 장치(120)의 견지에서 보면, 이 액세스 시도의 일부 또는 전부는 2 이상의 개별적 실체에서 오는 것처럼 보일 수 있다.
비휘발성 저장 장치(120)는 비휘발성 저장 매체(130), 제어기(140), 및 CPU 또는 프로세서(160)를 포함할 수 있다. 비휘발성 저장 매체(130)는 이를테면 통신 인터페이스(112)를 통해 호스트(110)로부터 수신된 데이터, 프로세서(160)로부터 수신된 데이터, 또는 제조공정 동안 비휘발성 저장 장치(120)에 프로그램 또는 기록되는 데이터와 같은 데이터를 저장할 수 있다. 비휘발성 저장 매체(130)는 플래시 메모리, 전기적으로 소거가능하고 프로그램가능한 판독전용 메모리(EEPROM), 판독전용 메모리(ROM), 하드디스크, 광학 디스크, 또는 정보를 저장하고 전원이 인가되지 않았을 때 이 정보를 유지할 수 있는 그외 어떤 다른 유형의 메모리일 수 있다.
제어기(140)는 액세스 처리 논리 블록(142), 인증 논리 블록(144), 권한 논리 블록(146), 하나 이상의 액세스 제어 레코드(ACR)(148), 특징 시행 논리 블록(150), 및 논리 파티션 테이블(152)을 포함한다. 제어기(140) 및 이의 모든 성분은 이하 기술되는 바와 같은 기능을 구현하기에 적합한 회로와 같은 하드웨어, 또는 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있다. 일 실시예에서, 제어기(140)는 CPU 또는 프로세서(160)와 같은 비휘발성 저장 장치(120) 내에 프로세서 상에서 실행되는 소프트웨어 또는 펌웨어로서 구현된다.
제어기(140)는 통신 인터페이스(112)를 통해 호스트(110)로부터 요청을 수신한다. 수신된 요청은 비휘발성 저장 매체(130) 내 데이터를 판독, 기록, 소거 또는 수정하기 위한 요청을 포함할 수 있다. 수신된 요청은 어드레스를 포함할 수 있으며, 또는 어드레스는 이전에 수신된 요청에 기초하여 추론 또는 산출될 수도 있다. 일 실시예에서, 어드레스는 제어기(140)에 의해 비휘발성 저장 매체(130) 내 물리 저장 위치에 재 매핑될 수 있는 논리 블록 어드레스(LBA)이다. 액세스 처리 논리 블록(142)은 요청을 위한 어드레스가 비휘발성 저장 매체(130)의 하나 이상의 어드레스 범위, 또는 논리 파티션 내에 있는지를 판정한다. 판정은 요청을 위한 어드레스가 테이블 내 논리 파티션 중 어느 하나의 어드레스 범위 내에 있는지 판정하기 위해 논리 파티션 테이블(152) 내 엔트리를 검토할 수 있는 특징 시행 논리 블록(150)의 도움으로 수행될 수 있다. 그렇지 않다면, 내정된 특징을 특징 시행 논리 블록(150)으로부터 가져와 액세스 처리 논리 블록(142)에 리턴된다. 그러면 액세스 처리 논리 블록(142)은 액세스 요청을 처리할 때 내정된 특징 또는 특징 세트를 비휘발성 저장 매체(130)에 적용한다.
요청을 위한 어드레스가 논리 파티션 테이블(152) 내 논리 파티션 중 어느 하나의 어드레스 범위 내에 있다면, 임의의 실체가 인증되었는지 판정되고, 그러하다면, 인증된 실체가 요청된 어드레스 범위 또는 논리 파티션에 대한 액세스 권한이 있는지가 판정된다. 일 실시예에서, 액세스 처리 논리 블록(142)은 인증 논리 블록(144)으로부터 인증된 실체 목록을 가져올 수 있다. 목록은 이를테면 패스워드를 제공하고, 시도응답 알고리즘, 또는 비휘발성 저장 장치(130)에 대한 액세스를 얻기 위해 하는 실체의 신원을 검증하는데 적합한 그외 어떤 다른 절차를 완료하는 것과 같은, 인증 논리 블록(144)을 통한 인증 프로세스를 성공적으로 완료한 실체를 나타낼 수 있다. 인증된 실체는 인증 프로세스를 완료함으로써 시스템에 "로그인" 할 수 있다. 유사하게, 인증된 실체는 인증 논리(144)에 대한 액세스가 더 이상 요망되지 않음을 나타냄으로써 시스템에서 "로그 아웃" 할 수 있다. 이에 따라, 또 다른 실시예에서, 인증된 실체의 목록은 현재 인증된 실체, 즉, "로그인" 하였지만 아직 "로그 아웃" 하지 않은 실체를 포함할 수 있다. 일 실시예에서, 액세스 요청을 처리할 때, "로그인" 된 인증된 실체가 액세스 요청이 처리되고 있을 때 논리 파티션에 대한 액세스 권한이 부여되었는지 판정하기 위해 목록을 참조할 수 있다.
인증된 실체가 비휘발성 저장 장치(130)에 대한 액세스 요청에 대응하는 어드레스 범위 또는 논리 파티션에 대한 액세스 권한이 부여되었는지를 판정하기 위해서 권한 논리 블록(146)은 각각의 인증된 실체 또는 현재 인증된 실체에 대응하는 액세스 제어 레코드(148)를 검토한다. 그러하면, 특징 시행 논리 블록(150)은 제 1 특징 또는 특징 세트를 가져와 액세스 처리 논리 블록(142)에 리턴한다. 그렇지 않다면, 특징 시행 논리 블록(150)은 제 2 특징 또는 특징 세트를 가져와 액세스 처리 논리 블록(142)에 리턴한다. 액세스 처리 논리 블록(142)은 특징 또는 특징 세트를 수신하여 이를 액세스 요청을 처리할 때 비휘발성 저장 매체(130)에 적용한다. 일 실시예에서, 제 1 특징 및 제 2 특징은 논리 파티션 테이블(152)에 저장된다.
또한, 제어기(140)는 실체로부터 논리 파티션 및 이들의 연관된 특징 또는 특징 세트를 생성, 업데이트, 및 삭제하는 요청을 수신할 수 있다. 액세스 처리 논리 블록(142)은 인증 논리 블록(144) 및 액세스 제어 레코드(148)의 도움으로, 실체가 인증되었는지를 판정할 수 있다. 실체가 인증되었다면, 인증된 실체가 새로운 논리 파티션을 생성하거나, 기존 논리 파티션을 업데이트/삭제할 권한이 부여되었는지를 판정하기 위해서 권한 논리 블록(146)에 의해 인증된 실체에 대응하는 액세스 제어 레코드(148)가 검토된다. 이어서 요청은 액세스 제어 레코드(148)으로부터 인출된 권한에 따라 액세스 처리 논리 블록(142)에 의해 처리된다(요청을 허용 또는 거절하는 것을 포함해서).
또한, 제어기(140)는 실체로부터 하나 이상의 액세스 제어 레코드(ACR)(148)를 추가, 삭제, 또는 업데이트하라는 요청을 수신할 수도 있다. 액세스 처리 논리(142)는 인증 논리 블록(144) 및 액세스 제어 레코드(148)의 도움으로, 실체가 인증되었는지를 판정할 수 있다. 이어서 요청은 권한 논리(146)에 의해 액세스 제어 레코드(148)로부터 인출된 권한에 따라 액세스 처리 논리 블록(142)에 의해 처리된다.
시스템(100)의 실시예의 동작의 더 상세한 것은 다음 설명 및 동반된 도면을 통해 명백하게 될 것이다.
일 실시예에서, 비휘발성 저장 장치(120) 내 보안 저장 애플리케이션(SSA)은 비휘발성 저장 장치(120)에 저장된 데이터에 대한 데이터 보안, 무결성 및 액세스 제어를 제공한다. 데이터는 이러한 것이 없었다면 어떤 종류의 대량-저장 장치에 평문으로(암호화 또는 액세스 제어 없이) 저장하였을 파일을 포함할 수 있다. SSA 시스템은 저장 시스템 최상위에 놓이고 비휘발성 저장 장치(130)에 저장된 파일 및 데이터에 대한 보안계층을 추가한다. SSA는 제어기(140) 및/또는 프로세서(160) 내에 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다.
논리 파티션의 동작은 논리 파티션을 이용할 수 있는 아키텍처의 맥락에서 더 잘 이해될 수 있다. 일 실시예에서, 비휘발성 저장 매체(130)는 대안적 실시예에서 다른 유형의 비휘발성 저장 장치가 이용될 수도 있을지라도, 독립적 물리 파티션으로 분할된 NAND 플래시 칩이다. 이 물리 파티션은 논리 어드레스의 연속한 스레드이며, 시작 및 끝 어드레스가 이들의 경계들을 정의한다. 일 실시예에서, 각각의 물리 파티션은 파티션 이름을 갖는다. 이 실시예에서, 물리 파티션 이름 및 논리 블록 어드레스는 비휘발성 저장 매체(130)에 물리 저장 위치에 대한 액세스하는 명령에 의해 사용되는 어드레싱 메커니즘이다. 비휘발성 저장 장치(120)는 비휘발성 저장 매체(130) 내에 물리 저장 위치에 파티션 이름 및 논리 블록 어드레스의 매핑을 관리할 수 있다. 어떤 SSA 명령을 사용하여, 호스트(110)는 특정 물리 파티션의 액세스 속성 및 크기를 변경할 수 있다. 그러나, 모든 물리 파티션의 크기의 합은 일정한 채로 있는다.
물리 파티션은 공공 물리 파티션 또는 사설 물리 파티션일 수 있다. 공공 물리 파티션은 비휘발성 저장 장치(120)의 비휘발성 저장 매체(130)에 대해 액세스할 수 있는 임의의 실체에 의해 검출될 수 있다. 달리 말하여, 공공 물리 파티션은 사전 인증없이 액세스될 수 있다. 한편, 인증된 실체만이 사설 또는 감추어진 물리 파티션에 대해 액세스할 수 있고 이들을 알 수 있다. 사설 또는 감추어진 물리 파티션이 검출될 수 있을지라도, 요망된다면, 사설 또는 감추어진 물리 파티션에 대한 액세스에 대한 제약을 이러한 경계 내에 어드레스에 연관시키는 하드웨어 및/또는 소프트웨어(이를테면 제어기(140))에 의해서 이러한 제약이 부과될 수 있다.
물리 파티션은 이들의 이름들에 의해 SSA에 완전히 인식될 수 있고 및/또는 SSA에 의해 관리되는 논리 어드레스 경계에 의해 SSA에 완전히 인식될 수 있다. SSA 시스템은 권한없는 호스트 애플리케이션으로부터 데이터를 물리적으로 보안하기 위해서 사설 물리 파티션을 사용한다. 호스트(110)에게 있어, 물리 파티션은 데이터 파일을 저장할 전유의 공간을 정의하는 메커니즘이다. 위에 나타낸 바와 같이, 이 물리 파티션은 저장 장치에 대해 액세스할 수 있는 어느 누구이든 볼 수 있고 장치 상에 파티션이 있다는 것을 알 수 있는 것인 공공 파티션이거나, 선택된 호스트 애플리케이션만이 액세스할 수 있고 저장 장치 내에 존재하여 있음을 아는 것인 사설 또는 감추어진 파티션일 수 있다. 하나 이상의 논리 파티션 또는 어드레스 범위는 공공 물리 파티션 또는 사설 물리 파티션 내에 정의될 수 있다. 논리 파티션은 비휘발성 저장 장치(120)의 비휘발성 저장 매체(130) 내 인접한 범위의 저장 어드레스에 연관된 보안, 액세스, 및 수행 특징을 정의함에 있어 더 자세한 입도(granularity)를 호스트(110)에 허용할 수 있다.
도 2는 도 1에 비휘발성 저장 매체(130)와 같은 비휘발성 저장 매체를 물리 및 논리 파티션으로 파티션하는 것을 예시한 도면이다. 비휘발성 저장 매체(130)는 복수의 물리 파티션(202, 204, 206, 208)으로 분할될 수 있다. 도 2에 도시된 실시예에서, N 물리 파티션이 도시되었으나, 임의의 수의 물리 파티션이 가능하다. 물리 파티션은 공공 물리 파티션, 또는 사설 물리 파티션일 수 있다.
P1 파티션(204), P2 파티션(206), 또는 P(N-1) 파티션(208)와 같은, 사설 물리 파티션은 이 파티션 내에 파일에 대한 액세스를 숨긴다. 호스트(110)가 사설 물리 파티션에 대해 액세스하지 못하게 함으로써, 비휘발성 저장 장치(120)는 물리 파티션 내에 데이터 파일을 보호한다. 그러나, 이러한 종류의 보호는 물리 파티션 내에 논리 어드레스에 저장된 데이터에 대한 액세스에 제약을 부과함으로써 사설 물리 파티션 내에 있는 모든 파일을 숨긴다. 즉, 제약은 전체 사설 물리 파티션에 연관된다. 이 사설 물리 파티션에 대해 액세스할 수 있는 모든 애플리케이션, 사용자, 또는 호스트는 사설 물리 파티션 내에 모든 파일들에 제한없이 액세스할 수 있을 것이다. 인증된 실체는 사설 물리 파티션에 대한 액세스 권한이 부여된다면 액세스할 수 있다.
반대로, P0 파티션(202)과 같은 공공 파티션은 전형적으로 인증 또는 권한 없이 임의의 실체에 의해 액세스될 수 있다. 그러므로, 공공 파티션은 표준 호스트 판독/기록 명령에 의해서, 또는 SSA 시스템을 통해 인증된 실체가 사용할 수 있는 특별한 판독/기록 명령을 통해 액세스될 수 있다. SSA 명령을 사용하여 파일에 대한 액세스하는 것은 위에 기술된 바와 같이 암호화를 통한 파일-기반 액세스 제어의 추가적 선택을 할 수 있게 한다. 구체적으로, SSA 명령은 공공 파티션에 파일을 암호화하여 기록하고 공공 파티션에 저장된 파일을 판독하여 해독하기 위해 이용될 수 있다.
서로 다른 파일 또는 다수 그룹의 파일을 물리 파티션 내에서 서로 격리시키기 위해서, 암호화 키 및 키 레퍼런스, 또는 키 ID를 사용하여 파일-수준의 보안이 제공된다. 서로 다른 메모리 어드레스의 데이터를 암호화하기 위해 사용되는 특정 키 값의 키 레퍼런스 또는 키 ID는 암호화된 데이터 또는 파일을 내포하는 사설 물리 파티션 내에 콘테이너 또는 영역과 유사할 수 있다. 애플리케이션, 사용자, 또는 호스트가 키로 암호화된 파일을 내포하는 사설 물리 파티션에 대해 액세스할 수 있을지라도, 파일은 애플리케이션, 사용자, 또는 호스트가 이 키에 대해 액세스할 수 없는 한 해독될 수 없다. 키에 대한 액세스하지 않는다면, 애플리케이션, 사용자, 또는 호스트는 암호화된 파일을 덮어쓰거나 변질시킬 수 있지만, 암호화된 파일을 해독하지는 못한다. 그러므로, 사설 물리 파티션 내에 복수의 대응하는 파일을 암호화하기 위해 복수의 키들이 이용될 수 있고, 이에 따라 사설 물리 파티션에는 액세스에 할 수 있지만, 필요한 해독 키 또는 키들엔 액세스할 수 없는 애플리케이션, 사용자, 또는 호스트로부터 파일 데이터를 보호할 수 있게 된다.
공공 물리 파티션 또는 사설 물리 파티션 내에 정의된 논리 파티션은 물리 파티션 내에서 서로 다른 파일 또는 다수 그룹의 파일을 서로 사이에 격리하거나 구별할 수 있게 한다. 일 실시예에서, 논리 파티션(212)은 비휘발성 저장 장치(130)의 공공 파티션(202)의 논리 파티션 내에 저장된 데이터에 대한 데이터 보안, 무결성, 및 액세스 제어도 제공하기 위해 생성될 수 있다. 구체적으로, 공공 파티션(202) 내에 논리 파티션(212)을 정의하는 한 범위의 어드레스 내에 대한 액세스가 요청되었을 때, 제어기(130)는 액세스를 처리할 때 내정된 특징 세트와는 다른 제 1 특징 세트 또는 제 2 특징 세트를 적용할 수 있다. 복수의 논리 파티션(212, 214, 216)은 비휘발성 저장 매체(130) 내에 정의될 수 있다. 2 이상의 논리 파티션(214, 216)은 단일 물리 파티션(206) 내에 정의될 수 있다. 또한, 논리 파티션(216)은 사설 물리 파티션(216)과 같은 사설 물리 파티션(206) 내에 정의될 수 있다. 비휘발성 저장 장치(120)에 정의된 논리 파티션에 관한 정보는 논리 파티션 테이블(152)에 저장될 수 있다.
정의된 논리 파티션(212, 214, 216) 중 한 파티션 내에 없는 공공 파티션(202) 또는 사설 파티션(204, 206, 208)의 영역에 대한 액세스를 실체가 요청하였을 때, 제어기(140)는 액세스 요청에 응하여 내정된 한 세트의 특징을 적용할 수 있다. 내정된 특징은 암호화, 전력 소비, 대역폭 소비, 및 액세스 허가와 같은 기능을 제어하기 위해 적용될 수 있다.
이에 따라, 비휘발성 저장 장치(120)는 여기에 개시된 보호 방법의 임의의 조합을 사용하여 비휘발성 저장 매체(130)에 저장된 데이터에 대한 액세스를 제어할 수 있다. 호스트(110)는 인증된 실체들만이 액세스할 수 있는 사설 물리 파티션에 파일을 저장함으로써 물리적 보호를 이용하기로 선택할 수 있다. 호스트(110)는 물리 파티션 내에 정의된 논리 파티션에 파일을 저장할 수 있고, 논리 파티션 내에 저장된 파일들에 대해 액세스할 때 암호화, 전력 소비, 대역폭 소비, 및 액세스 허가가 적용된다. 비휘발성 저장 매체(130) 내에 임의의 곳에 저장된 개개의 파일에 대한 액세스는 하나 이상의 인증된 실체들만이 액세스할 수 있는 키로 파일을 암호화함으로써 효과적으로 금지될 수 있다. 이 보호 방법들의 임의의 조합은 비휘발성 저장 장치(120)에 저장된 데이터에 대한 액세스를 관리하기 위해 사용될 수 있다. 각각의 콘텐트 보호 방법의 상세를 이하 더욱 상세히 논한다.
위에 언급된 바와 같이, 비휘발성 저장 장치(120)에 정의된 논리 파티션에 관한 정보는 논리 파티션 테이블(152)에 저장될 수 있다. 도 3은 논리 파티션 테이블(152), 이 내에 엔트리, 및 비휘발성 저장 장치(120)에 대한 액세스 동안 적용되는 각종 특징의 엔코딩을 도시한 것이다. 일 실시예에서, 논리 파티션 테이블(152)은 M개의 엔트리를 포함하며, 여기에서 M은 논리 파티션의 개수이다. 또 다른 실시예에서, 논리 파티션 테이블은 정의된 논리 파티션 중 어느 한 파티션 밖의 어드레스에 대한 액세스 요청들에 적용되는 내정된 특징 세트를 저장하기 위한 추가의 엔트리를 내포한다.
논리 파티션 테이블(152) 내 각각의 엔트리는 도 2에 도시된 바와 같이 비휘발성 저장 매체(130) 내에 논리 파티션에 대응한다. 예를 들어, 도 2에서 논리 파티션(216)은 논리 파티션 테이블(152) 내 대응하는 논리 파티션 테이블 엔트리(302)를 갖는다. 논리 파티션 테이블 엔트리(302)와 같은 논리 파티션 테이블(152) 내 엔트리는 논리 파티션 이름 또는 식별자와 같은 정보, 논리 파티션이 정의되는 소스 물리 파티션에 대한 식별자, 및 논리 파티션의 시작 및 끝 논리 블록 어드레스(LBA)를 내포한다. 또한, 논리 파티션 테이블 엔트리(302)는 두 세트의 특징(312, 314)을 내포한다. 도 3에 도시된 예에서, 두 세트의 특징(312, 314) 각각은 액세스 속성 특징, 암호화 속성 특징, 수행 속성 특징, 및 파워 액세스 속성 특징을 명시할 수 있다. 실체가 현재 인증되고 논리 파티션(216)에 대한 액세스 권한이 부여되었을 때 논리 파티션(216) 내에 대한 액세스 요청을 처리하기 위해 제 1 특징 세트(312)를 테이블로부터 가져와 사용할 수 있다. 어떠한 실체도 현재 인증되지 않고 논리 파티션(216)에 대한 액세스 권한이 부여되지 않았을 때 논리 파티션(216) 내에 대한 액세스 요청을 처리하기 위해 제 2 특징 세트(312)를 테이블로부터 가져와 사용할 수 있다.
액세스 속성 특징, 암호화 속성 특징, 수행 속성 특징, 및 전력 소비 특징들의 넓은 범주 내에서, 많은 특징 설정이 가능하다. 예를 들어, 테이블(320)에 도시된 바와 같이, 액세스 속성 특징은 논리 파티션 내에 기록 액세스 금지, 판독 액세스 금지, 또는 데이터의 소거 금지를 포함할 수 있다. 또 다른 실시예에서, 액세스 속성 특징은 공공 물리 파티션(202)과 같은 논리 파티션에 대한 액세스하기 위해 표준 호스트 판독/기록/소거 명령들의 사용을 금지하거나 허용할 수도 있다. 테이블(330)에 도시된 바와 같이, 암호화 속성 특징 값들은 논리 파티션에 데이터를 기록하거나 이로부터 데이터를 판독할 때 선택된 암호화 알고리즘들이 이용될 것을 요구할 수도 있다.
테이블(340)은 수행 속성 값들을 보인 것이다. 일 실시예에서, 고, 보통, 또는 저 수행의 선택에 따라 특징을 적용하는 제어기(140)는 고 수행 요청을 우선적으로 처리하거나, 또는 다른 비휘발성 저장 장치에 대한 액세스들을 중단시키거나, 또는 액세스 요청의 레이턴시 또는 데이터 대역폭을 개선하기 위해 다른 조치를 취할 수 있다. 유사하게, 제어기(140)가 저 수행 특징을 적용할 때, 제어기(140)는 요청된 액세스보다 다른 프로세스 또는 액세스들이 우선 처리되게 한다. 다른 수행 엔코딩 방법들도 가능하다. 일 실시예에서, 수행 속성 특징 값은 특정 논리 파티션에의 요청을 처리할 때 제어기(140)가 적용하는 데이터 대역폭량 또는 레이턴시량 특징을 지시할 수 있다.
테이블(350)에 도시된 바와 같이, 전력 소비 특징은 고, 보통, 또는 저 전력 소비 값을 명시할 수 있다. 일 실시예에서, 제어기(140)는 특정 논리 파티션에의 요청을 처리할 때 전력 소비를 감소시키기 위해서 비휘발성 저장 장치(120) 내에 적어도 일부 클럭 트리를 비활성화하거나 늦추어 저 파워 특징을 적용할 수 있다. 다른 전력 소비 특징이 논리 파티션 테이블 엔트리(302)에 엔코딩되어 제어기(140)에 의해 적용될 수 있다.
본 명세서에 기술된 특징 범주 및 엔코딩은 예시적인 것이며 한정하려는 것이 아니다. 허가, 암호화, 수행, 전력 소비, 또는 비휘발성 저장 장치에 대한 액세스하는 것에 관계된 이외 어떤 다른 속성에 관한 요건 또는 제한을 제어, 제약 또는 부과할 수 있는 임의의 어떠한 특징이든 특징에 엔코딩되어 액세스 요청에 응하여 제어기(140)에 의해 적용될 수 있다.
제 1 세트의 특징(312) 및 제 2 세트의 특징(314)을 논리 파티션에 연관되게 함으로써, 논리 파티션을 위한 몇 개의 유용한 데이터 보안, 무결성, 및 액세스 제어 구성들을 생성하는 것이 가능할 수 있다. 예를 들어, 제 1 세트의 특징 내에 대한 액세스 속성 특징은 판독 및 기록 액세스를 허용할 수 있고, 반면 제 2 세트의 특징 내에 또 다른 액세스 속성 특징은 판독 액세스는 허용하나 기록 액세스는 허용하지 않을 수 있다. 이에 따라, 실체가 현재 인증되고 논리 파티션에 대한 액세스 권한이 부여되었을 때, 논리 파티션에 판독 및 기록 액세스가 허용될 수 있다. 어떠한 실체도 현재 인증되지 않고 논리 파티션에 대한 액세스 권한이 부여되지 않았을 때, 논리 파티션은 이로부터 판독되지만 이에 기록되지 않을 수 있다. 또 다른 예에서, 실체가 현재 인증되고 논리 파티션에 대한 액세스 권한이 부여되었을 때, 고 수행 액세스 특징이 파티션에 대한 액세스 요청들에 적용될 수 있다. 어떠한 실체도 현재 인증되지 않고 논리 파티션에 대한 액세스 권한이 부여되지 않았을 때, 저 수행 액세스 특징이 적용될 수 있다. 데이터 보안, 무결성, 및 액세스 제어 구성들을 위한 이외 많은 다른 유용한 조합들이 가능하다.
위에 언급된 바와 같이, 제 1 세트의 특징(312) 또는 제 2 세트의 특징(314)으로부터의 특징이 논리 파티션에 대한 액세스 요청에 응하여 적용될지 판정하기 위해서, 제어기(140)는 현재-인증된 실체가 논리 파티션에 대한 액세스 권한이 부여되었는지 판정한다. 액세스 제어 레코드(ACR)를 통해 SSA 시스템에 로그인 하는 것은 논리 파티션이 액세스될 때 제 1 세트의 특징이 적용될 수 있게, 논리 파티션을 생성, 업데이트, 또는 삭제하기 위해 필요하다. 키 및 물리 파티션을 생성하고, 이들로부터 데이터를 기록 및 판독하거나 키를 사용하는 능력을 필요로 하는 실체는 ACR을 통해 SSA 시스템에 로그인 할 필요가 있다.
SSA 시스템에서 ACR의 특전들을 행위들이라 한다. 모든 ACR은 다음 범주들의 행위들을 수행할 권한을 가질 수 있다: 논리 파티션, 물리 파티션, 및 키들/키 ID를 생성하는 것, 물리 파티션 및 키에 대한 액세스하는 것, 논리 파티션에 대해 액세스할 때 제 1 특징 세트를 적용할 수 있게 하는 것, 및 그외 ACR을 생성/업데이트. ACR은 ACR 그룹 또는 AGP들이라 하는 그룹들로 구성된다. 일단 ACR가 성공적으로 인증되었으면, SSA 시스템은 ACR의 행위 중 어느 것이 실행될 수 있는 세션을 연다.
도 4는 액세스 제어 그룹(AGP) 내에서, 인증 및 권한 정보를 포함한 액세스 제어 레코드(ACR)를 도시한 것이다. ACR은 SSA 시스템에의 개별적 "로그인" 포인트이다. ACR은 "로그인" 또는 인증 크레덴셜 및 인증 방법을 가지고 있다. 또한, ACR에는 허가 제어 레코드(PCR), SSA 시스템 내에서 허가 또는 권한들이 있으며, 이 중에 판독 및 기록 특전이 있다. 이것이 도 4에 도시되었는데 도 4는 동일 AGP 내에 N개의 ACR을 도시하고 있다. ACR은 동일 AGP 내에 있기 때문에, N개의 ACR 중 적어도 일부는 동일 키에 대한 액세스를 공유할 수 있다. 이에 따라, ACR #1 및 ACR #N은 키 ID "키 3"을 갖는 키에 대한 액세스를 공유하며, ACR #1 및 ACR #N은 ACR ID이며, "키 3"은 "키 3"에 연관된 데이터를 암호화하기 위해 사용되는 키에 대한 키 ID이다. 다수의 파일, 또는 다수 세트의 데이터를 암호화 및/또는 해독하기 위해 같은 키가 사용될 수 있다.
ACR에 로그인하거나 이에 인증되기 위해서, 실체는 SSA가 정확한 "로그인" 또는 인증 알고리즘을 셋업하고 모든 "로그인" 또는 인증 요건이 충족되었을 때 정확한 PCR을 선택하도록 ACR ID를 명시할 필요가 있다. ACR ID는 ACR이 생성되었을 때 SSA 시스템에 제공된다. SSA 시스템은 실체가 일단 성공적으로 로그린 또는 인증되면 시스템 내에서 실체의 특전 또는 권한으로서, 인증 알고리즘 및 실체 크레덴셜이 다양할 수 있는 시스템에의 몇 가지 유형의 "로그인"을 지원한다. 도 4는 서로 다른 "로그인" 알고리즘 및 크레덴셜을 도시한다. ACR #1은 패스워드 "로그인" 알고리즘과 크레덴셜로서 패스워드를 요구하며 ACR #2는 PKI(공개키 기반구조) "로그인" 알고리즘과 크레덴셜로서 공개키를 요구한다. 따라서, 로그인하기 위해서 또는 인증되기 위해서, 실체는 정확한 인증 또는 로그인 알고리즘을 완료할 뿐만 아니라, 유효한 ACR ID 및 크레덴셜을 제시할 필요가 있을 것이다. 인증 알고리즘은 실체에 의해 어떤 종류의 "로그인" 절차가 사용될 것인지와, 사용자의 신원의 입증을 제공하기 위해 어떤 종류의 크레덴셜이 필요하게 되는지를 명시한다. SSA 시스템은 무절차(및 무-크레덴셜) 및 패스워드-기반 절차 내지는 대칭 또는 비대칭 암호화에 기초한 쌍방 인증 프로토콜에 이르는 몇 가지 표준 "로그인" 알고리즘을 지원한다.
실체의 크레덴셜은 "로그인" 알고리즘에 대응하며 실체를 검증하고 인증하기 위해 SSA에 의해 사용된다. 크레덴셜에 대한 예는 패스워드 인증을 위한 패스워드/PIN-번호, AES 인증을 위한 AES-키, 등일 수 있다. 크레덴셜의 유형/형식(즉, PIN, 대칭 키, 등)은 사전에 정의되고 인증 모드로부터 도출되는데, 이들은 ACR이 생성될 때 SSA 시스템에 제공된다. 이 실시예에서, SSA 시스템은 저장 장치(120)가 RSA 키 쌍을 생성하기 위해 사용될 수 있고 인증서 생성을 위해 공개키를 내보낼 수 있는 PKI 기반의 인증은 제외하고, 이 크레덴셜을 정의하고, 분배하고 관리하는 데에는 관여하지 않는다.
ACR은 시스템에 실체의 ACR 인증 프로세스가 비성공적일 때 증분하는 차단 카운터를 구비할 수도 있다. 비성공 인증의 어떤 최대수에 도달하였을 때, ACR은 SSA 시스템에 의해 차단될 수 있고 이 ACR에 대한 더 이상의 인증 시도는 성공하지 못할 것이다.
일단 실체가 SSA 시스템의 ACR에 로그인 되면, 이의 허가 - SSA 명령을 사용할 권리 - 이 ACR에 연관된 허가 제어 레코드(PCR)에 정의된다. 환언하여, PCR은 성공적으로-인증된 실체가 사용 권한이 부여된 SSA 명령 및 키, 실체가 액세스하여 생성할 권한이 부여된 물리 및 논리 파티션, 실체에 허용된 AGP 관리 행위들을 나타낸다.
PCR의 이 파티션 목록난은 ACR 국면을 성공적으로 완료하였을 때 실체가 액세스할 권한이 갖게 되는(SSA 시스템에 제공되는 이들의 ID를 사용하여) 파티션의 목록을 담고 있다. 따라서, 도 4에서 ACR #1은 물리 파티션 #1이 아니라, 물리 파티션 #2에 대해 액세스할 수 있다. 도 4에 도시된 바와 같이, ACR #2에 인증된 실체는 논리 파티션 #0에 대한 액세스 권한이 있고, ACR #N에 인증된 실체는 논리 파티션 #X에 대한 액세스 권한이 있다. ACR의 PCR이 예를 들어 ACR #N에 인증된 실체가 논리 파티션 #X에 대한 액세스 권한을 갖게 됨을 설정하였을 때, 허용된 특정 액세스 유형을 결정하기 위해서 논리 파티션 세트에 연관된 특징 세트가 이용될 수 있다. 도 3을 참조하면, 논리 파티션 #X에 대응하는 논리 파티션 테이블 엔트리는 제 1 특징 세트(312) 및 제 2 특징 세트(314)의 부분으로서 액세스 속성을 포함할 수 있다.
예를 들어, 논리 파티션 #X에 대한 제 1 특징 세트 내 액세스 속성이 0x4이고, 이에 따라 논리 파티션에서 판독/기록/소거 액세스가 허용되는 것으로 가정한다. 또한, 논리 파티션에서 판독 액세스만이 허용되는 것을 의미하는 것인, 논리 파티션 #X에 대한 제 2 특징 세트 내 액세스 속성이 0x1인 것으로 가정한다. 논리 파티션 #X 내에 어드레스 가능한 한 메모리 위치에 기록하라는 요청이 수신되었을 때, 제어기(140)는 실체가 ACR #N(및 PCR이 논리 파티션 #X에 대한 액세스 권한을 갖는 그외 어떤 다른 ACR)에 인증되었는지를 판정할 수 있다. 일 실시예에서, 액세스 요청자의 신원은 알려지지만 액세스 요청을 처리할 때 어느 논리 파티션 특징 세트를 적용할지를 결정할 땐 제어기(140)에 의해 사용되지 않는다. 또 다른 실시예에서, 요청자의 신원은 제어기(140)에 알려지지 않는다. 어느 경우이든, 요청자의 신원은 요청을 처리할 때 어느 논리 파티션 특징 세트를 적용할지를 결정하기 위해 필요하지 않다. 간략히 도 3을 참조하면, ACR #N의 PCR은 논리 파티션 #X에 대한 액세스 권한을 갖는다. 이에 따라, 요청이 처리되고 있을 때에 ACR #N에 임의의 실체가 인증된다면, 논리 파티션 #X에 연관된 제 1 특징 세트로부터 특징이 요청을 처리할 때 적용될 것이며, 기록 요청이 승인될 것이다. 요청이 처리되고 있을 때에 ACR #N에(또는 PCR이 논리 파티션 #X에 대한 액세스 권한을 갖는 그외 어떤 다른 ACR)에 임의의 어떠한 실체도 인증되지 않는다면, 논리 파티션 #X 세트에 연관된 제 2 특징 세트가 적용될 것이며, 기록 요청은 거절될 것이다.
PCR의 키 ID난은 ACR 정책이 실체의 "로그인" 프로세스에 의해 충족되었을 때 실체가 액세스할 수 있는 키 ID의 목록(호스트(110)에 의해 SSA 시스템에 제공되는)에 연관된 데이터를 담고 있다. 명시된 키 ID는 PCR에 나타난 PCR에 있는 하나 이상의 파일에 연관된다. 키 ID는 하나 이상의 파티션이 특정 ACR에 연관될 때 저장 장치 내 논리 어드레스에 연관되지 않기 때문에, 파일들은 파티션 중 어느 하나에 있을 수 있다. PCR에 명시된 키 ID는 각각 다른 한 세트의 액세스 권리를 가질 수 있다. 키 ID에 의해 지적된 데이터에 대한 액세스하는 것은 기록만으로 또는 판독만으로 제약될 수 있고 또는 완전한 기록/판독 액세스 권리를 명시할 수도 있다.
ACR의 ACR 속성 관리(ACAM) 난은 이 ACR에 인증된 실체가 수행할 권한을 갖는 관리 행위들을 기술한다. SSA 시스템에 허용될 수 있는 행위는 AGP 및 ACR을 생성, 삭제, 또는 업데이트하는 것과, 논리 파티션, 물리 파티션, 또는 키를 생성 또는 삭제하는 것과, 키 및 파티션에 대한 액세스 권리를 위임하는 것을 포함한다. 바람직하게 실체는 ACR에 의해 정의된 이 ACAM 허가를 변경하기 위해서 이 ACR에 인증되어야 한다. ACR의 삭제, 및 ACAM 허가가 변경된 ACR을 재생성하는 것이, 단순히 기존 ACR의 ACAM 허가를 변경하는 것보다 낫다. 바람직하게는 ACR에 의해 생성된 키 ID에 대한 액세스 허가를 없애지 않을 수 있다. ACR은 다른 ACR 및 AGP들을 생성할 용량을 갖고 있을 수 있다. ACR을 생성한다는 것은 이들의 생성자가 소유하는 일부 또는 모든 ACAM 허가를 이들에 위임하는 것을 의미할 수 있다. 이 실시예에서, ACR을 생성할 허가를 갖는다는 것은 다음 행위들에 대한 허가를 갖는다는 것을 의미한다.
1. 생성된 ACR의 (자식의) 크레덴셜을 정의하고 편집한다 - 인증 방법은 바람직하게는 일단 생성한 ACR에 의해 설정되면 편집될 수 없다. 크레덴셜은 이미 자식에 정의된 인증 알고리즘의 경계 내에서 변경될 수 있다.
2. ACR을 삭제한다.
3. 생성한 허가를 자식 ACR(따라서 손자를 갖는)에 위임한다.
부모 ACR는 바람직하게는 이의 자식 ACR를 삭제할 허가를 갖는 유일한 ACR이다. ACR이 자신이 생성한 저 레벨 ACR을 삭제할 때, 이 저 레벨 ACR에 의한 자손들인 모든 ACR도 자동으로 삭제된다. ACR이 삭제될 때, 자신이 생성한 모든 키 ID 및 파티션이 삭제된다. ACR이 자신의 레코드를 업데이트할 수 있게 하는 2가지 예외들이 있다. 첫 번째는 생성자 ACR가 ACR에 대한 패스워드 또는 PIN을 설정할 때, ACR 자신만이 자신의 패스워드 또는 PIN을 업데이트 할 수 있다. 두 번째로는 루트 ACR은 자신과 이 안에 있는 AGP를 삭제할 수 있다.
위에 언급된 바와 같이, ACR은 시스템에 실체의 ACR 인증 프로세스가 비성공적일 때 증분하는 금지 카운터를 구비할 수 있다. 비성공 인증의 어떤 최대수에 도달하였을 때, ACR은 SSA 시스템에 의해 금지될 것이다. 해제 허가는 금지된 ACR의 해제를 허용하게 정의될 수도 있다. 다른 ACR을 생성할 허가를 가진 ACR은 자신이 생성한 ACR들에 해제 허가를 위임할 허가를 갖는다(바람직하게는 ACR을 해제 허가를 갖고 있지 않을지라도). 부모 ACR은 자식 ACR 내에 부모 ACR의 해제자에 대한 참조를 넣어둘 것이다. 금지된 ACR은 금지된 ACR에 의해 참조된 또 다른 ACR에 의해 해제될 수 있다. 해제 ACR에 대한 참조는 이의 생성자에 의해 설정된다. 해제 ACR는 바람직하게는 금지된 ACR의 생성자와 동일한 AGP 내에 있으며 "해제" 허가를 갖는다. 시스템 내 어떠한 다른 ACR도 금지된 ACR을 해제할 수 없다. ACR은 금지 카운터로, 그러나 해제자 ACR 없이 구성될 수 있다. 이 경우에, 이 ACR이 금지된다면 이것은 해제될 수 없다.
키를 생성할 허가는 바람직하게는 키를 사용할 액세스 허가를 위임할 허가를 포함한다. 키에 대한 허가는 3개의 범주로 분할된다.
1. 액세스 - 이것은 키에 대한 액세스 허가, 이를테면 각각 데이터를 해독 또는 암호화하기 위해 키를 사용한 판독 또는 기록 동작들을 허용하는 것을 정의한다.
2. 소유권 - 키를 생성한 ACR이 정의에 의해 이의 소유자이다. 이 소유권은 한 ACR에서 다른 ACR로 위임될 수 있다(이들이 동일 AGP 또는 자식 AGP에 있다면). 키의 소유권은 이를 삭제할 허가 및 이에 허가를 위임할 허가를 제공한다.
3. 액세스 권리/위임 - 이 허가는 ACR이 자신이 보유한 권리를 위임할 수 있게 한다.
ACR은 자신이 생성한 논리 또는 물리 파티션에, 그리고 ACR이 액세스 허가를 갖는 논리 또는 물리 파티션에 대한 액세스 허가를 위임할 수 있다. 허가 위임은 논리 파티션, 물리 파티션, 및 키 ID의 이름을 지정된 ACR의 PCR에 추가함으로써 행해진다. 키 액세스 허가를 위임하는 것은 키 ID에 의해서, 또는 위임하는 ACR이 생성한 모든 키에 대한 액세스 허가임을 표명함으로써 위임될 수 있다.
이에 따라, 도 4에 ACR의 PCR난을 검토하면, ACR #1은 "키 3" -이것은 비휘발성 저장 장치(130)로부터 읽어낸 데이터를 해독하기 위해 사용될 수 있다- 에 연관된 물리 파티션 #2 내 데이터에 대한 판독 허가만을 승인하며, ACR #2는 "키 5"에 연관된 물리 파티션 #1에 데이터를 판독 및 기록하는 허가를 승인하며 도시된 PCR에 따라 데이터를 암호화 또는 해독하기 위해 "키 5"를 이용할 수 있다. 언급된 바와 같이, 파일이 어떤 감추어진 파티션, 이를테면 도 2의 P1, P2, 또는 P(N-1) 파티션(204, 206, 208)에 기록될 때, 이 파일은 일반적인 공공으로부터 감추어지며 인증되고 권한이 부여된 실체에 의해 SSA 명령을 통해서 액세스될 수 있을 뿐이다. 그러나, 일단 실체(적대적인 또는 그렇지 않은)가 이 파티션을 알게 되어 액세스하게 되면, 파일은 입수하여 명백히 볼 수 있게 된다. 파일을 더욱 보안하기 위해서, SSA는 감추어진 파티션에 이를 암호화할 수 있고, 이 경우 파일을 해독하기 위한 키에 대한 액세스하기 위한 크레덴셜은 바람직하게는 파티션에 대한 액세스하기 위한 것과 다르다. 파일은 SSA가 알고 있는 어떤 것이 아니라는 사실에 기인하여(파일은 호스트에 의해 완전히 제어되고 관리되기 때문에), 콘텐트 암호화 키(CEK)를 파일에 연관시키는 것은 문제가 된다. 파일을 SSA가 인정하는 어떤 것, 즉 키 ID에 결부시키는 것은 이것은 바로잡는다.
이에 따라, 키가 SSA에 의해 생성되었을 때, 호스트는 이 키에 대한 키 ID를 SSA가 생성한 키를 사용하여 암호화된 데이터에 연관시키다. 키 값 및 키 ID는 논리적 보안을 제공한다. 소정의 키 ID의 위치에 관계없이 이와 연관된 모든 데이터는 동일 CEK로 암호화되는데, 이 CEK의 참조 이름 또는 키 ID는 호스트 애플리케이션에 의한 생성시 고유하게 제공된다. 일단 셀체가 감추어진 파티션에 대한 액세스를 얻어(ACR를 통해 인증함으로써) 이 파티션 내 암호화된 파일을 판독 또는 기록하기 원하면, 실체는 파일에 연관된 키 ID에 대해 액세스할 수 있어야 한다. 이 키 ID에 대한 키에 대한 액세스를 승인할 때, SSA는 이 키 ID에 연관된 CEK에 키 값을 로딩하고 데이터를 호스트(110)에 보내기 전에 해독하거나 데이터를 비휘발성 저장 장치(130)에 기록하기 전에 암호화한다. 키 ID에 연관된 CEK 내 키 값은 SSA 시스템에 의해 한번 무작위로 생성되고 이에 의해 유지된다. SSA 시스템 밖에 어느 것도 CEK 내 이 키 값을 모르거나 액세스할 수 없다. 외부세계는 CEK 내 키 값아 아니라, 참조 또는 키 ID만을 제공하고 사용한다. 키 값은 전적으로 SSA에 의해 관리되고 SSA에 의해서만 액세스될 수 있다.
다른 예에서, 도 4에서, ACR #2에 인증된 실체는 논리 파티션 #0에 대한 액세스 권한이 부여되며, ACR #N에 인증된 실체는 논리 파티션 #X에 대한 액세스 권한이 부여된다. 따라서, 실체가 현재 ACR #2에 인증되었다면, 논리 파티션 #0에 대한 액세스 요청이 수신되었을 때, 제 1 특징 세트(312)가 액세스 요청을 처리할 때 적용된다. 또 다른 예에서, 실체가 현재 ACR #N에 인증되었다면, 논리 파티션 #X에 대한 액세스 요청이 수신되었을 때, 제 1 특징 세트(312)가 액세스 요청을 처리할 때 적용된다.
서로 다른 ACR은 이를테면 판독 및 기록하는데 사용하는 키, 및 액세스할 권한이 부여된 논리 파티션과 같은 시스템 내 공통의 관심 및 특전을 공유할 수 있다. 이것을 달성하기 위해서, 어떤 것을 공통으로 지니는 ACR은 AGP, 또는 ACR 그룹으로 그룹화된다. 이에 따라, ACR #1 및 ACR #N은 키 ID "키 3"을 갖는 키에 대한 액세스를 공유한다. 도 4에는 도시되지 않았지만, AGP 내에 ACR은 논리 파티션에 대한 액세스도 공유할 수 있다.
ACR 및 이들의 AGP는 계층적 트리들로 조립될 수 있다. 도 5는 트리 형상 계측 구조로 액세스 제어 레코드 및 액세스 제어 그룹의 배열을 도시한 것이다. 이 내에 루트 AGP 및 ACR은 트리의 맨 위에 있다(예를 들면, 도 5에서 루트 AGP(530)). SSA 시스템에는 완전히 서로 분리되어 있을지라도 몇 개의 AGP 트리들이 있을 수 있다. AGP 내에 ACR은 이의 키에 대한 액세스 허가를 동일 AGP 내에 모든 ACR에, 그리고 이 ACR에 의해 생성된 모든 ACR에 위임할 수 있다.
그러므로, 키, 논리 파티션, 물리 파티션, 및 관리 명령에 의한 권한을 정의하는 정보를 내포하는 것 외에도, ACR은 바람직하게는 다른 (자식) ACR 엔트리를 생성할 수 있다. 이 ACR 자식은 이들의 부모/생성자와 동일한 또는 적은 허가를 가질 것이며 부모 ACR이 생성한 키 및 파티션에 대한 허가가 주어질 수 있다. 자식 ACR은 이들의 생성하는 임의의 키에 대한 액세스 허가를 얻는다. 이것이 도 5에 도시되었다. 이에 따라, AGP(520)에 모든 ACR은 ACR(522)에 의해 생성되었으며 이러한 ACR 중 2개는 "키 3"에 연관된 데이터에 대해 액세스할 허가(들)을 ACR(522)로부터 물려받는다.
SSA 시스템에 로그인 하는 것은 AGP 및 AGP 내에 ACR을 명시함으로써 행해진다. 모든 AGP는 고유한 ID(참조 이름)를 가지며, 이것은 SSA 데이터베이스 내 그의 엔트리에 대한 색인으로서 사용된다. AGP 이름은 AGP가 생성될 때 SSA 시스템에 제공된다. 제공된 AGP 이름이 이미 시스템에 존재한다면, SSA는 생성 동작을 거절할 것이다.
AGP는 액세스 및 관리 허가의 위임에 관한 제약들을 관리하기 위해 사용된다. 단지 한 트리가 도 5에 도시되었지만, 하나 이상의 트리가 SSA 시스템 내에 존재할 수 있다. 도 5에 트리에 의해 서비스되는 기능 중 하나는 호스트 애플리케이션 또는 사용자와 같은 실체에 의해 액세스를 관리하는 것이다. 별도의 트리가 각각의 실체에 대해 정의될 수 있다. 이러한 목적들을 위해서, 각 트리 내 ACR에 대한 액세스 처리가, 이들이 동시에 일어날지라도, 실질적으로 서로 무관한 것이(즉, 실질적으로 크로스토크가 없는 것이) 중요할 수 있다. 이것은 각 트리내 추가의 ACR 및 AGP의 생성뿐만 아니라 인증, 허가가 다른 트리의 것들에 연결되지 않고 이들에 의존하지 않음을 의미한다. 그러므로, SSA 시스템이 비휘발성 저장 장치(120)에 사용될 때, 2개의 애플리케이션은 2개의 개별적 세트들의 데이터에 동시에 서로 독립적으로 액세스한다.
AGP 시스템의 트리 구조는 애플리케이션 특정의 데이터를 확인하여 격리시키기 위해 사용되는 주요 도구이다. 루트 AGP는 애플리케이션 SSA 데이터베이스 트리의 끝에 있고 다소 서로 다른 거동 규칙을 고수한다. 몇몇 루트 AGP는 SSA 시스템에 구성될 수 있다. 호스트(110) 내 새로운 호스트 애플리케이션 또는 실체는 새로운 AGP/ACR 트리를 장치에 추가하는 과정을 통해 비휘발성 저장 장치(120) 내에 그 자신의 보안 데이터 공간 또는 보안 구성을 정의할 수 있다.
이 실시예에서 SSA 시스템은 (루트 AGP의 모든 ACR 및 이들의 허가뿐만 아니라) 루트 AGP 생성의 3가지 서로 다른 모드를 지원한다.
1. 개방 - 임의의 종류의 인증을 요구함이 없이 어떠한 실체(이를테면 사용자 또는 애플리케이션)이든, 또는 시스템 ACR을 통해 인증된 실체(이하 설명됨)는 새로운 루트 AGP를 생성할 수 있다. 개방 모드는 모든 데이터 전송을 개방 채널로 행하면서 어떠한 보안 조치도 없이, 또는 시스템 ACR 인증(즉 OTA(Over the Air) 및 후발급(후발급) 절차)을 통해 설정된 보안 채널을 통해 루트 AGP들을 생성할 수 있게 한다. 선택적 시스템 ACR이 구성되지 않고 루트 AGP 생성 모드가 개방으로 설정된다면, 개방 채널 선택만이 사용될 수 있다.
2. 제어 - 시스템 ACR을 통해 인증된 실체들만이 새로운 루트 AGP를 생성할 수 있다. SSA 시스템은 시스템 ACR이 구성되지 않는다면 이 모드로 설정될 수 없다.
3. 잠금 - 루트 AGP의 생성이 비활성화되고 어떠한 추가의 루트 AGP도 시스템에 추가될 수 없다.
2개의 SSA 명령은 이 특성을 제어한다(이 명령은 인증없이 임의의 사용자/실체가 사용할 수 있다):
1. 방법 구성 명령 - 3개의 루트 AGP 생성 모드 중 어느 하나를 사용하는 SSA 시스템을 구성하기 위해 사용된다. 단지 다음 모드 변경만 허용된다: a) 개방에서 제어로의 변경, b) 제어에서 잠금으로의 변경(즉 SSA 시스템 이 현재 제어로 구성된 경우, 잠금으로만 변경될 수 있다).
2. 방법 구성 잠금 명령 - 방법 구성 명령을 비활성화하고 현재 선택된 방법을 영구히 잠그기 위해 사용된다.
루트 AGP가 생성될 때, 이것은 이의 ACR을 생성하고 구성할 수 있게 하는(루트 AGP의 생성에 적용된 것과 동일한 액세스 제약들을 사용하여) 특별한 초기화 모드에 있다. 루트 AGP 구성 프로세스의 끝에서, 실체가 이를 동작 모드로 확실히 전환시킬 때, 기존 ACR은 더 이상 업데이트될 수 없고 추가의 ACR은 더 이상 생성될 수 없다.
일단 루트 AGP가 표준 모드에 놓여지면, 이것은 루트 AGP를 삭제할 허가가 할당되는 그의 ACR 중 하나를 통해 시스템에 로그인 함으로써만 삭제될 수 있다. 이것은 특별한 초기화 모드 외에, 루트 AGP의 또 다른 예외이며; 바람지갛게는 다음 트리 레벨에 AGP와 반대로, 자신의 AGP를 삭제할 허가를 가진 ACR을 내포할 수 있는 유일한 AGP이다. 다른 경우들에 있어서, AGP를 생성한 ACR은 AGP에 ACR 엔트리가 없을 때만 이를 삭제할 허가를 갖는다. 루트 ACR과 표준 ACR 사이에 또 다른 차이는 물리 파티션을 생성하고 삭제할 허가를 가질 수 있는 시스템 내 유일한 ACR이라는 것이다.
제어기(140)는 다음 2개의 SSA 동작을 수행하기 위해 시스템 ACR이라고 하는 특별한 ACR을 이용할 수도 있다.
1. 적대적 환경 내에서 보안된 채널의 보호 하에 ACR/AGP 트리를 생성한다.
2. SSA 시스템을 맡은 장치를 식별하고 인증한다.
SSA엔 단지 한 시스템 ACR만 있는 것이 바람직하고, 일단 정의되면, 변경될 수 없는 것이 바람직하다. 시스템 ACR을 생성할 때 시스템 인증에 대한 필요성이 없고, SSA 명령만 필요하다. "시스템 ACR 생성" 특성은 비활성화될 수 있다(루트 AGP 생성 특성과 유사하게). 시스템 ACR이 생성된 후에, "시스템 ACR 생성" 명령은 바람직하게는 단지 한 시스템 ACR만 허용되므로, 효과가 없다.
생성 중에는 시스템 ACR은 사용되지 않는다. 마쳤을 때, 바람직하게는 시스템 ACR이 생성되어 사용될 준비가 되었음을 나타내는 특별한 명령이 발행될 필요가 있다. 이 명령이 발행된 후에, 시스템 ACR은 바람직하게는 업데이트되거나 교체될 수 없다.
시스템 ACR은 SSA에 루트 ACR/AGP를 생성한다. 이것은 호스트가 만족되어 차단할 때까지는 루트 레벨 ACR/AGP을 추가/변경할 허가를 갖는다. SSA 명령을 통해 루트 AGP를 차단하는 것은 근본적으로 이를 시스템 ACR에 연결하는 것을 차단하여 쉽게 조작할 수 없게 만든다. 루트 AGP 및 이 내에 ACR은 변경되거나 편집될 수 없다. 루트 AGP를 생성하지 못하게 하는 것은 영속적 효과를 가지며 반대로 할 수 없다. 시스템 ACR은 도 5에서 루트 AGP(530)와 같은 서로 다른 루트 AGP를 생성하기 위해 사용된다. 이들이 생성된 후 어떤 시간에, 시스템 ACR로부터 루트 AGP의 생성을 막기 위해서 호스트로부터 또 다른 SSA 명령이 보내질 수 있고, 그럼으로써 "루트 AGP 생성" 특성을 비활성화할 수 있다. 이렇게 함에 있어, 이미 생성된 루트 AGP는 쉽게 조작될 수 없게 된다. 루트 AGP는 루트 AGP가 차단되기 전에 또는 후에 자식 AGP를 생성하기 위해 사용될 수 있다.
전술한 특성은 콘텐트를 가진 보안 제품들을 구성함에 있어 콘텐트 소유자에게 큰 융통성을 제공한다. 보안 제품들은 "발급"될 필요가 있다. 발급은 비휘발성 저장 장치(120)가 호스트(110)를 식별할 수 있게 하거나 호스트가 비휘발성 저장 장치를 식별할 수 있게 하는 식별키를 부과하는 프로세스이다. 비휘발성 저장 장치(120)를 식별하는 것은 호스트(110)가 식별키로 자신의 시크릿을 신뢰할 수 있는지를 결정할 수 있게 한다. 한편, 호스트(120)를 식별하는 것은 호스트(110)가 허용된 경우에만 장치(120)가 보안 정책을 시행할 수 있게 한다(특정 호스트 명령을 승인하고 실행할 수 있게 한다).
복수의 애플리케이션에 서비스하게 설계된 제품은 몇 개의 식별키를 가질 것이다. 제품은 출하하기 전에 제조시 저장되는 "선발급된" - 키이거나, "후발급되는" - 새로운 키가 출하 후에 추가될 수 있다. 후발급에 있어서, 메모리 장치(예를 들면, 메모리 카드)는 어떤 종류의 마스터 또는 장치 레벨 키를 갖고 있을 필요가 있고, 이 키는 장치에 애플리케이션을 추가하는 것이 허용된 실체를 식별하기 위해 사용된다.
전술한 특성은 제품이 후발급을 활성화/비활성화하게 구성될 수 있게 한다. 또한, 후발급 구성은 출하 후에 보안적으로 행해질 수 있다. 장치는 위에 기술된 마스터 또는 장치 레벨 키 외에도, 그에 키들이 없는 소매 제품으로서 구입될 수도 있고, 새로운 소유자에 의해 후발급 애플리케이션을 활성화하거나 이들을 비활성화하기 위해 구성될 수도 있다.
따라서, 시스템 ACR 특성은 위에 목적을 달성하는 능력을 제공한다. 시스템 ACR이 없는 메모리 장치는 애플리케이션을 제한없이, 그리고 제어함이 없이 추가할 수 있을 것이다. 시스템 ACR이 없는 메모리 장치는 시스템 ACR 생성을 할 수 없게 구성될 수 있는데, 이것은 새로운 애플리케이션의 추가를 제어할 방도가 없음을(새로운 루트 AGP를 생성하는 특성도 비활성화 되지 않는 한) 의미한다. 시스템 ACR을 갖는 메모리 장치는 시스템 ACR 크레덴셜을 사용하여 인증 절차를 통해 설정하는 보안 채널을 통해서 애플리케이션의 제어된 추가만을 허용할 것이다. 시스템 ACR을 갖는 메모리 장치는 애플리케이션이 추가되기 전에 또는 후에 애플리케이션 추가 특성을 비활성화하게 구성될 수 있다.
SSA 시스템은 구성된 어드레스 범위 또는 논리 파티션을 액세스, 생성, 수정 및 삭제하는 요청을 처리하기 위해 이용될 수 있다. 도 6은 비휘발성 저장 장치 내에 비휘발성 저장 장치에 대한 액세스 시도를 처리하기 위한 단계(600)를 도시한다. 간략히 도 1을 참조하면, 비휘발성 저장 장치(120)의 비휘발성 저장 매체(130)에 대한 액세스 요청이 수신된다. 요청은 통신 인터페이스(112)를 통해 호스트(110)로부터 수신될 수 있다. 도 6으로 가서, 단계(602)에서, 제어기(140)의 액세스 처리 논리 블록(142)은 수신된 요청이 비휘발성 저장 매체(130) 내에 정의된 논리 파티션 내 데이터에 대한 액세스(이를테면, 판독, 기록, 또는 소거)하기 위한 것인지 판정한다. 액세스 처리 논리 블록(142)은 특징 시행 논리 블록(150), 및 적합하다면 논리 파티션 테이블(152)을 참고하여 액세스 요청에 연관된 어드레스가 논리 파티션 테이블(152)에 정의된 논리 파티션 또는 어드레스 범위 내에 있는지를 판정한다. 그렇지 않다면, 제어는 단계(610)로 가서, 액세스 처리 논리 블록(142)은 제어기(140)로 논리 파티션 테이블(152) 또는 다른 어떤 곳에 저장된 내정 특징 세트를 인출하고 액세스 요청을 처리할 때 내정 특징 또는 특징 세트를 적용한다.
액세스 요청에 연관된 어드레스가 논리 파티션 테이블(152)에 정의된 논리 파티션 또는 어드레스 범위 내에 있다면, 수신된 요청은 논리 파티션 또는 어드레스 범위에 대한 액세스이다. 그러면 제어는 단계(602)에서 단계(604)로 간다. 단계(604)에서, 제어기(140)는 현재-인증된 실체가 구성된 LBA 범위에 대한 액세스 권한이 있는지 판정한다. 액세스 처리 논리 블록(142)은 현재 인증된 또는 시스템에 "로그인"된 실체를 판정하기 위해 인증 논리 블록(144) 내에 테이블 또는 엔트리의 목록을 참고할 수 있다. 액세스 처리 논리 블록(142)은 각각의 인증된 실체에 연관된 ACR을 체크하여 임의의 인증된 실체가 요청된 논리 파티션 또는 어드레스 범위에 대한 액세스 권한이 있는지를 판정하기 위해 권한 논리 블록(142)을 이용할 수 있다.
적어도 하나의 실체가 현재 인증되고 파티션에 대한 액세스 권한이 있다면, 제어는 단계(610)로 가서, 액세스 처리 논리 블록(142)은 논리 파티션에 연관된 제 1 특징 세트를 논리 파티션 테이블(152)로부터 인출하기 위해 특징 시행 논리 블록(150)을 사용한다. 적합하다면 특징 시행 논리 블록(150)에 관련하여, 액세스 처리 논리 블록(142)은 액세스 요청을 처리할 때 제 1 특징 또는 특징 세트를 적용한다. 어떠한 실체도 현재 인증되지 않거나, 현재-인증된 실체 중 어느 것도 액세스 시도에서 요청된 논리 파티션에 대한 액세스 권한이 없다면, 제어는 단계(608)로 가서, 제 2 특징 세트를 가져와 액세스 요청을 처리할 때 적용한다.
일 실시예에서, 단계(604)에서, 인증되고 권한이 있는 실체는 논리 파티션 또는 어드레스 범위에 대한 액세스를 요청하는 동일 실체이어야 한다. 또 다른 실시예에서, 인증되고 권한이 있는 실체는 논리 파티션 또는 어드레스 범위에 대한 액세스를 요청하는 실체일 수 있으나 이러한 실체이어야 하는 것은 아니다. 이 실시예에서, 현재-인증된 실체가 어드레스 범위에 대한 액세스 권한이 있다면, 현재-인증된 실체를 포함한 어떠한 실체이든 논리 파티션에 대해 액세스할 수 있다. 일 구현에서, 비휘발성 저장 장치(120)의 보안 저장 애플리케이션(SSA)은 논리 파티션 또는 어드레스 범위에 대한 액세스를 요청하는 실체의 신원을 판정할 수 있고, 액세스 요청을 처리할 때 적용할 특징을 선택할 때 이 신원 정보를 이용하지 않는다. 또 다른 구현에서, SSA는 논리 파티션 또는 어드레스 범위에 대한 액세스를 요청하는 실체의 신원을 판정할 수 없다. 예를 들어, 액세스를 요청하는 실체는 정보를 액세스 요청의 부분으로서 확인하는 것을 제공하지 않을 수도 있다. 이 경우에, 현재-인증된 실체가 어드레스 범위에 대한 액세스 권한이 있다면, 실체의 모르는 신원에 관계없이 어떠한 실체이든 논리 파티션에 대해 액세스할 수 있다.
논리 파티션 또는 어드레스 범위에 데이터를 판독 또는 기록하는 요청을 다루는 것 외에도, 제어기(140)는 논리 파티션 또는 구성된 어드레스 범위들을 관리하는 요청을 처리할 수도 있다. 논리 파티션의 관리는 논리 파티션을 생성하는 것과, 논리 파티션을 삭제하는 것과, 논리 파티션 또는 어드레스 범위에 연관된 하나 이상의 특징 또는 특징 세트들을 수정하는 것을 포함할 수 있다.
도 7은 비휘발성 저장 장치(120) 내에 비휘발성 저장 매체(130)에 논리 파티션을 생성하기 위한 단계(700)를 도시한 것이다. 간략히 도 1을 참조하면, 비휘발성 저장 장치(120)의 비휘발성 저장 매체(130) 내에 논리 파티션을 생성하라는 요청이 수신된다. 요청은 통신 인터페이스(112)를 통해 호스트(110)로부터 수신될 수 있다. 도 7로 가서, 단계(702)에서, 제어기(140)는 실체로부터 명령을 수신한다. 제어는 단계(704)로 가서, 제어기는 요청이 논리 파티션을 생성하는 것인지 판정한다. 그렇지 않다면, 제어기는 단계(714에서 명령을 처리하고, 단계(700)를 완료한다. 요청이 논리 파티션을 생성하는 것이라면, 제어는 단계(706)로 가서, 제어기(140)는 요청이 인증된 실체로부터 수신되었는지 판정한다. 일 실시예에서, 실체가 ACR에 인증되었을 때, SSA 시스템은 실체에 세션 ID를 발행한다. 또 다른 실시예에서, 성공적 인증일 때, 새로이 인증된 실체와 제어기(140) 사이에 보안 채널이 설정된다. 일 실시예에서, 보안 채널은 데이터가 통신 인터페이스(112)를 통해 송신되기 전에 데이터를 채널 키로 암호화하고 수신측에서 수신된 후에 채널 키로 데이터를 해독함으로써 데이터를 복구함으로써 호스트(110)와 비휘발성 저장 장치(120) 사이에 통신s 인터페이스(112) 상에 설정된다. 보안 채널은 실체에 의해 명시되거나 논리 파티션을 생성할 때 비휘발성 저장 장치(120)에 의해 리턴되는 민감성 정보를 보호할 수 있다. 인증된 실체는 자신을 인증된 실체로서 확인시키기 윙해서, 세션 ID, 및 아마도 ACR ID를 아마도 보안 채널을 통해 제어기(140)에 송신할 수 있다. 논리 파티션을 생성하는 요청이 인증된 실체에서 오는 것이 아니라면, 단계(700)는 종료하고 논리 파티션은 생성되지 않는다.
실체가 현재 인증되었다면, 제어는 단계(706)에서 단계(708)로 간다. 단계(708)에서, 제어기(140)는 인증된 실체가 논리 파티션을 생성할 허가를 갖고 있는지를 판정한다. 액세스 처리 논리 블록(142)은 인증된 실체에 연관된 ACR을 체크하기 위해 권한 논리 블록(146)을 이용한다. 예를 들어, 도 4를 참조하면, ACR #2의 PCR은 ACR #2를 사용하여 인증된 실체가 논리 파티션을 생성할 권한이 있음을 나타낸다. 비교하여, ACR #1 및 ACR #N의 PCR은 인증된 실체에게 논리 파티션을 생성할 권한을 부여하지 않는다. 실체가 논리 파티션을 생성할 권한이 없다면, 단계(700)는 종료하고 논리 파티션은 생성되지 않는다.
인증된 실체가 권한을 갖게 되면, 제어는 단계(710)로 가서 제어기(140)는 생성될 논리 파티션의 어드레스 범위를 체크하고, 어드레스 범위가 겹치는지 아니면 이미 존재하는 논리 파티션의 어드레스 범위 내에 있는지를 판정한다. 그러하다면, 명령은 거절되고, 단계(700)는 종료하며, 논리 파티션은 생성되지 않는다. 그렇지 않다면, 제어는 단계(712)로 가서, 단계(702)에서 송신된 명령에서 수신된 정보를 사용하여 논리 파티션이 생성된다. 실체로부터 수신된 명령은 제 1 및 제 2 특징 세트 내 특징, 논리 파티션의 어드레스 범위, 및 파티션을 생성하는데 필요한 그외 파라미터를 포함할 수 있다. 논리 파티션을 생성하는 것은 엔트리를 논리 파티션 테이블(152)에 추가하는 것을 포함할 수 있다. 논리 파티션이 생성된 후에, 단계(700)는 종료한다.
도 8은 비휘발성 저장 장치(120) 내에 비휘발성 저장 매체(130)에 논리 파티션을 삭제하는 단계(800)를 도시한 것이다. 도 1을 간략히 참조하면, 비휘발성 저장 장치(120)의 비휘발성 저장 매체(130) 내에 논리 파티션을 삭제하는 요청이 수신된다. 요청은 통신 인터페이스(112)를 통해 호스트(110)로부터 수신될 수 있다. 도 8로 가서, 단계(802)에서, 제어기(140)는 실체로부터 명령을 수신한다. 제어는 단계(804)로 가서, 제어기(140)는 요청이 논리 파티션을 삭제하는 것인지 판정하기 위해 명령을 검사한다. 그렇지 않다면, 제어기는 단계(814)에서 명령을 처리하며, 단계(800)를 완료한다. 요청이 논리 파티션을 삭제하는 것이라면, 제어는 단계(806)로 가서, 제어기(140)는 요청이 인증된 실체로부터 수신된 것인지를 판정한다. 일 실시예에서, 인증된 실체로부터의 요청은 성공적 인증시 실체와 제어기(140) 사이에 설정된 보안 채널을 통해 수신된다. 논리 파티션을 삭제하는 요청이 인증된 실체로부터 온 것이 아니라면, 단계(800)는 종료하고 논리 파티션은 삭제되지 않는다..
실체가 현재 인증되었다면, 제어는 단계(806)에서 단계(808)로 간다. 단계(808)에서, 제어기(140)는 인증된 실체가 논리 파티션을 삭제할 허가를 갖고 있는지를 판정한다. 액세스 처리 논리 블록(142)은 인증된 실체에 연관된 ACR을 체크하기 위해 권한 논리 블록(142)을 이용한다. 일 실시예에서, ACR은 임의의 논리 파티션이 삭제되게 하는 권한을 내포할 수 있다. 또 다른 실시예에서, ACR은 이 ACR 또는 이 ACR의 부모에 인증된 실체에 의해 이전에 생성된 논리 파티션과 같은 특정 논리 파티션 또는 파티션이 삭제될 수 있게 하는 권한을 내포할 수 있다. 일 구현에서, 논리 파티션을 구성할 허가를 가진 실체는 논리 파티션을 삭제할 허가도 갖는다. 실체가 파티션을 삭제할 권한이 없다면, 단계(800)는 종료되고 논리 파티션은 삭제되지 않는다.
인증된 실체가 권한이 있다면, 제어기는 실체로부터의 요청을 인정하고, 제어는 단계(810)로 가서, 제어기(140)는 삭제할 명시된 구성된 어드레스 범위 또는 논리 파티션 이 실제로 존재하는가를 검증한다. 존재하지 않는다면, 제어기(140)는 존재하지 않는 논리 파티션을 삭제하라는 명령을 수신한 것으로, 따라서 명령은 거절되며, 단계(800)를 종료한다. 구성된 어드레스 범위 또는 논리 파티션이 존재한다면, 제어는 단계(812)로 가서 논리 파티션이 삭제된다. 논리 파티션을 삭제하는 것은 논리 파티션 테이블(152)로부터 엔트리를 제거하는 것을 포함할 수 있다. 일 실시예에서, 논리 파티션을 삭제하는 것은 논리 파티션 내에 데이터를 소거하는 것을 포함한다. 또 다른 실시예에서, 어드레스 범위 또는 논리 파티션 내에 데이터는 그대로 놔둔다. 논리 파티션 이 삭제된 후에, 단계(800)가 종료된다.
도 9는 비휘발성 저장 장치 내에 비휘발성 저장 장치에 논리 파티션를 수정하는 단계(900)를 도시한 것이다. 논리 파티션 또는 구성된 어드레스 범위를 수정하는 것은 특징을 변경하는 것, 특징을 삭제하는 것, 구성된 어드레스 범위 또는 파티션에 연관된 최소 및 최대 어드레스 범위들을 변경하는 것, 또는 이외 어떤 다른 구성, 유지보수, 또는 관리 동작을 포함할 수 있다. 도 1을 간략히 참조하면, 비휘발성 저장 장치(120)의 비휘발성 저장 매체(130) 내에 논리 파티션을 수정하는 요청이 수신된다. 요청은 통신 인터페이스(112)를 통해 호스트(110)로부터 수신될 수 있다. 도 9로 가서, 단계(902)에서, 제어기(140)는 실체로부터 명령을 수신한다. 제어는 단계(904)로 가서, 제어기는 요청이 논리 파티션을 수정하는 것인지를 판정한다. 그렇지 않다면, 제어기는 단계(914)에서 명령을 처리하고, 단계(900)는 완료된다. 요청이 논리 파티션을 수정하는 것이라면, 제어는 단계(906)로 가서, 제어기(140)는 요청이 인증된 실체로부터 수신되었는지를 판정한다. 일 실시예에서, 인증된 실체로부터 요청은 성공적 인증시 실체와 제어기(140) 사이에 설정된 보안 채널을 통해 수신된다. 논리 파티션을 수정하는 요청이 인증된 실체로부터 온 것이 아니라면, 단계(900)는 종료되고 논리 파티션은 변경되지 않는다.
실체가 현재 인증되었다면, 제어는 단계(906)에서 단계(908)로 간다. 단계(908)에서, 제어기(140)는 인증된 실체가 논리 파티션을 수정할 허가를 갖고 있는지 판정한다. 액세스 처리 논리 블록(142)은 인증된 실체에 연관된 ACR을 체크하기 위해 권한 논리 블록(142)을 이용한다. 일 실시예에서, ACR은 임의의 논리 파티션 이 수정될 수 있게 하는 권한을 내포할 수 있다. 또 다른 실시예에서, ACR은 이 ACR 또는 이 ACR의 부모에 인증된 실체에 의해 이전에 생성된 논리 파티션과 같은 특정 논리 파티션 또는 파티션이 수정될 수 있게 하는 권한을 내포할 수 있다. 실체가 파티션을 삭제할 권한이 없다면, 단계(900)는 종료되고 논리 파티션은 그대로 둔다.
인증된 실체가 권한이 있다면, 제어기(140)는 실체로부터 요청을 인정하고 제어는 단계(910)로 가서 제어기(140)는 명시된 구성된 어드레스 범위 또는 논리 파티션이 실제로 존재하는가를 검증한다. 존재하지 않는다면, 제어기는 존재하지 않는 논리 파티션을 수정하라는 명령을 수신한 것이 되고, 따라서 명령은 거절되며, 단계(900)를 종료한다. 단계(910)에서, 요청이 파티션의 어드레스 범위를 확장하는 것이라면, 제어기(140)는 확장되는 논리 파티션이 다른 현존의 어드레스 범위 또는 논리 파티션과 겹칠 것인지를 체크한다. 그러하다면, 명령은 거절되고, 단계(900)는 종료한다. 그렇지 않다면, 제어는 단계(912)로 가고, 논리 파티션은 단계(902)에서 실체로부터 수신된 명령에 따라 수정된다. 요청은 어드레스 범위 또는 논리 파티션, 및 파티션을 수정하는데 필요한 다른 파라미터, 이를테면 변경 또는 삭제하기 위해 제 1 및/또는 제 2 특징 세트들로부터의 특징을 확인할 수 있다. 논리 파티션의 수정은 논리 파티션 테이블(152) 내 엔트리를 업데이트하는 것을 포함할 수 있다. 논리 파티션 또는 구성된 어드레스 범위가 수정된 후에, 단계(900)는 종료한다.
이에 따라, 논리 파티션 또는 구성된 어드레스 범위는 비휘발성 저장 장치(120)의 비휘발성 저장 매체(130) 내에 데이터 보안, 무결성 및 액세스 제어가 향상되게 한다. 여기에 개시된 하나 이상의 실시예는 비휘발성 착탈 가능 매체 카드 내에 탑재될 수 있다. 비휘발성 착탈 가능 매체 카드의 일예는 캘리포이나주 밀피타스의 SanDisk사로부터의 저장 장치인 TrustedFlash(등록상표)카드이다. TrustedFlash(등록상표) 카드 내에 비휘발성 저장 장치는 공공 물리 파티션 및 사설 물리 파티션으로 분할될 수 있다. 특징에 연관된 논리 파티션 또는 어드레스 범위를 이용하지 않는다면, 공공 물리 파티션 내 데이터에 대한 액세스는 몇 가지 제약을 갖고 표준 호스트 명령을 통해 달성되거나, TrustedFlash(등록상표) 장치의 SSA 시스템에 ACR에 일단 인증되면 특별한 액세스 명령을 이용함으로써 달성될 수 있다. 사설 물리 파티션에 대한 액세스는 TrustedFlash(등록상표) 장치의 SSA 시스템에 정의된 ACR에 인증된 실체들로 물리적으로 제약된다. 사설 물리 파티션 또는 공공 물리 파티션 내 데이터에 대한 액세스는 어떤 암호화 또는 해독 키에 대한 액세스 권한을 선택된 인증된 실체에 부여하고, 사설 물리 파티션 또는 공공 물리 파티션에 데이터를 저장하기 전에 이 키를 이용하여 데이터를 암호화함으로써 논리적으로 제약될 수 있다.
논리 파티션 또는 구성된 어드레스 범위에 적용되는 특징 세트들을 정의함으로써, 데이터 보안, 무결성 및 액세스 제어의 향상된 제어가 달성될 수 있다. TrustedFlash(등록상표) 장치는 공공 물리 파티션 또는 사설 물리 파티션에 논리 파티션을 내포할 수도 있다. 논리 파티션은 장치의 특정 어드레스 범위에 대한 액세스 요청을 정의 및/또는 단속하는 특징 세트에 연관된다. 액세스 허가를 제어하는 것 외에도, 암호화, 전력 소비, 및 대역폭 소비와 같은 기능을 제어하기 위해서 특징 세트가 정의될 수 있다. 2개의 특징 세트들가 정의될 수도 있다. 제 1 특징 세트는 적어도 하나의 현재 인증된 실체가 논리 파티션에 대한 액세스 권한이 있을 때 논리 파티션에 대한 액세스 요청을 처리할 때 적용된다. 제 2 특징 세트는 어떠한 현재 인증된 실체들도 논리 파티션에 대한 액세스 권한이 없을 때 논리 파티션에 대한 액세스에 적용된다. 임의의 논리 파티션 밖에 어드레스에 대한 액세스 시도가 행해질 때, 액세스 요청을 처리하기 위해 내정된 특징 세트가 적용된다. 결합하여, 특징 세트는 TrustedFlash(등록상표) 장치의 공공 또는 사설 물리 파티션 내에 정의된 개개의 논리 파티션에 요구에 맞추어 유용한 파워, 수행, 암호화, 및 액세스 구성들을 제공하기 위해 조합될 수 있다.
논리 파티션은 전형적으로 물리 파티션에 할당되지 않는 또는 연관되지 않는 특징에 연관되며, 논리 파티션은 이들이 있는 물리 파티션보다 더 융통성있게 생성, 변경 및 삭제될 수 있다. 따라서, 논리 파티션은 TrustedFlash(등록상표) 장치를 물리적으로 파티션하는 것을 보완하고 향상시키며, 저장하기 전에 파일 데이터의 암호화를 사용하고 키에 대한 액세스를 제한시킴으로써 파일별 보호가 달성된다. 동시에, 논리 파티션 액세스, 생성, 삭제, 및 관리에 대한 권한이 액세스 제어 그룹 및 액세스 제어 레코드의 유연한 TrustedFlash(등록상표) 계층적 트리(트리) 구조에 쉽게 탑재될 수 있다. 액세스 제어 그룹 및 액세스 제어 레코드를 사용함으로써, 논리 파티션을 액세스, 생성, 삭제, 또는 유지관리할 수 있게 하는데 실체(애플리케이션, 사용자, 또는 호스트)를 맞출 수 있다.
발명이 여러 시스템 및 방법 실시예에 관련하여 기술되었을지라도, 첨부된 청구항의 전체 범위 내에서 발명이 보호됨을 알 것이다.

Claims (35)

  1. 저장 장치의 어드레스 가능한 메모리 위치에 대한 액세스를 관리하는 방법에 있어서,
    상기 방법은,
    어드레스 가능한 메모리 위치를 갖는 저장 매체를 구비한 저장 장치에서 (이중 하나 이상의 세트는 제 1 특징 및 제 2 특징과 연관된 인접한 어드레스의 어드레스 범위에 의해 확인),
    요청하는 실체(requesting entity)로부터 상기 저장 매체의 어드레스 가능한 메모리 위치에 대한 액세스 요청을 수신하고,
    상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 있고 이때 임의의 실체가 상기 세트의 어드레스 가능한 메모리 위치에 인증되고 이에 대한 액세스 권한이 있다면 상기 제 1 특징을 적용하며 - 상기 요청하는 실체는 인증 및 권한 프로세스를 반드시 수행하지 않고 상기 세트의 어드레스 가능한 메모리 위치들을 액세스할 수 있음 - ,
    상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 있고 이때 어떠한 실체도 상기 세트의 어드레스 가능한 메모리 위치에 인증되지 않고 이에 대한 액세스 권한이 없다면 상기 제 2 특징을 적용하여,
    상기 어드레스 가능한 메모리 위치에 대한 액세스를 관리하는 단계를
    포함하는, 액세스 관리 방법.
  2. 제 1항에 있어서, 상기 액세스를 관리하는 단계는, 상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 없다면 내정된 특징(default characteristic)을 적용하는 단계를 더 포함하는, 액세스 관리 방법.
  3. 제 1항에 있어서, 상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 있다면, 상기 액세스를 관리하는 단계는, 이때에, 요청을 하는 특정 실체가 상기 세트의 어드레스 가능한 메모리 위치에 인증되어 이에 대한 액세스 권한이 있는 경우 상기 제 1 특징을 적용하고, 이때, 요청을 하는 상기 특정 실체가 상기 세트의 어드레스 가능한 메모리 위치에 인증되지 않고 이에 대한 액세스 권한이 없는 경우 상기 제 2 특징을 적용하는 것을 더 포함하는, 액세스 관리 방법.
  4. 제 1항에 있어서, 상기 실체는 트리(tree)로부터 액세스 제어 레코드를 이용하여 상기 저장 장치에 상기 세트의 어드레스 가능한 메모리 위치에 인증되고, 상기 트리는 이에 계층적으로 구성된 노드를 포함하며, 각 노드는 적어도 하나의 액세스 제어 레코드를 포함하고, 상기 액세스 제어 레코드는 상기 세트의 어드레스 가능한 위치에 상기 실체를 인증하고 상기 세트의 어드레스 가능한 메모리 위치에 저장된 데이터에 대한 액세스 권한을 상기 실체에 의해 부여하기 위한 크레덴셜(credential) 및 허가(permission)를 포함하는, 액세스 관리 방법.
  5. 제 1항에 있어서, 상기 세트의 어드레스 가능한 메모리 위치에 대한 액세스 권한을 상기 실체에 부여하는 단계를 더 포함하고, 상기 권한부여(authorizing)는 상기 저장 장치에 의해 수행되는, 액세스 관리 방법.
  6. 제 5항에 있어서, 상기 세트의 어드레스 가능한 메모리 위치에 대한 액세스 권한을 상기 실체에 부여하는 단계는 상기 세트의 어드레스 가능한 메모리 위치에 대한 액세스 권한을 상기 실체에 부여하기 위해 트리로부터 액세스 제어 레코드를 이용하는 단계를 포함하고, 상기 트리는 이에 계층적으로 구성된 노드를 포함하며, 각 노드는 적어도 하나의 액세스 제어 레코드를 포함하고, 상기 액세스 제어 레코드는 상기 실체를 인증하고 상기 세트의 어드레스 가능한 메모리 위치에 저장된 데이터에 대한 액세스 권한을 상기 실체에 부여하기 위한 크레덴셜 및 허가를 포함하는, 액세스 관리 방법.
  7. 제 5항에 있어서, 권한을 상기 실체에서 추가의 실체에 위임하는 단계를 더 포함하는, 액세스 관리 방법.
  8. 제 7항에 있어서, 권한을 상기 실체에서 추가의 실체에 위임하는 단계는 액세스 제어 레코드의 적어도 하나의 허가를 추가의 액세스 제어 레코드에 위임하는 단계를 포함하는, 액세스 관리 방법.
  9. 제 1항에 있어서, 상기 세트의 어드레스 가능한 메모리 위치와 상기 제 1 특징 및 상기 제 2 특징 사이의 연관을 생성하는 단계를 더 포함하는, 액세스 관리 방법.
  10. 제 9항에 있어서, 상기 세트의 어드레스 가능한 위치들과 상기 제 1 특징 및 상기 제 2 특징 사이의 상기 연관을 생성하는 단계는 논리 파티션 테이블에 새로운 엔트리를 생성하는 단계를 포함하는, 액세스 관리 방법.
  11. 제 1항에 있어서, 상기 세트의 어드레스 가능한 메모리 위치와 상기 제 1 특징 및 상기 제 2 특징 사이의 연관을 제거하는 단계를 더 포함하는, 액세스 관리 방법.
  12. 제 11항에 있어서, 상기 세트의 어드레스 가능한 위치들과 상기 제 1 특징 및 상기 제 2 특징 사이의 상기 연관을 제거하는 단계는 논리 파티션 테이블로부터 엔트리를 제거하는 단계를 포함하는, 액세스 관리 방법.
  13. 제 1항에 있어서, 새로운 한 세트의 어드레스 가능한 메모리 위치와 상기 제 1 특징 및 상기 제 2 특징 사이의 연관을 생성하는 단계를 더 포함하는, 액세스 관리 방법.
  14. 제 1항에 있어서, 상기 세트의 어드레스 가능한 메모리 위치에 연관된 상기 제 1 특징 및 상기 제 2 특징 중 적어도 하나를 변경하는 단계를 더 포함하는, 액세스 관리 방법.
  15. 제 1항에 있어서, 상기 제 1 특징 및 상기 제 2 특징 중 적어도 하나를 적용하기 전에 상기 세트의 어드레스 가능한 메모리 위치에 연관된 상기 제 1 특징 및 상기 제 2 특징 중 적어도 하나를 인출하는 단계를 더 포함하는, 액세스 관리 방법.
  16. 제 15항에 있어서, 상기 제 1 특징 및 상기 제 2 특징은 논리 파티션 테이블에 저장되고, 상기 논리 파티션 테이블은 복수의 엔트리를 포함하며, 엔트리는 인접 어드레스의 상기 어드레스 범위에 연관된 논리 파티션 식별자, 상기 제 1 특징, 및 상기 제 2 특징을 포함하는, 액세스 관리 방법.
  17. 제 1항에 있어서, 상기 세트의 어드레스 가능한 메모리 위치는 파티션 테이블의 어드레스 가능한 범위 내에 있는, 액세스 관리 방법.
  18. 제 1항에 있어서, 상기 제 1 특징 및 상기 제 2 특징은 액세스 특징을 포함하는, 액세스 관리 방법.
  19. 제 18항에 있어서, 상기 액세스 특징은 판독 명령에 연관된 판독 액세스 허가를 포함하는, 액세스 관리 방법.
  20. 제 18항에 있어서, 상기 액세스 특징은 기록 명령에 연관된 기록 액세스 허가를 포함하는, 액세스 관리 방법.
  21. 제 18항에 있어서, 상기 액세스 특징은 판독 명령에 연관된 판독 액세스 허가와, 기록 명령에 연관된 기록 액세스 허가를 포함하는, 액세스 관리 방법.
  22. 제 1항에 있어서, 상기 제 1 특징 및 상기 제 2 특징은 보호 특징을 포함하는, 액세스 관리 방법.
  23. 제 22항에 있어서, 상기 보호 특징은 암호화 명령을 포함하는, 액세스 관리 방법.
  24. 제 1항에 있어서, 상기 제 1 특징 및 상기 제 2 특징은 수행 특징을 포함하는, 액세스 관리 방법.
  25. 제 24항에 있어서, 상기 수행 특징은 제 1 수행 레벨과 제 2 수행 레벨 중 하나인, 액세스 관리 방법.
  26. 제 1항에 있어서, 상기 제 1 특징 및 상기 제 2 특징은 전력 소비 특징을 포함하는, 액세스 관리 방법.
  27. 제 26항에 있어서, 상기 전력 소비 특징은 제 1 전력 소비 레벨과 제 2 전력 소비 레벨 중 하나인, 액세스 관리 방법.
  28. 제 1항에 있어서, 상기 저장 장치는 비휘발성 착탈 가능 메모리 카드인, 액세스 관리 방법.
  29. 제 1항에 있어서,
    상기 제 1 특징과 상기 제 2 특징 중 적어도 하나를 변경하는 요청을 실체에 의해 수신하는 단계와,
    상기 실체가 현재 인증되고 상기 세트의 어드레스 가능한 메모리 위치에 연관된 상기 제 1 특징 및 상기 제 2 특징 중 적어도 하나를 변경할 권한이 있는 경우 상기 요청을 승인하는 단계를
    더 포함하는, 액세스 관리 방법.
  30. 제 29항에 있어서, 상기 제 1 특징 및 상기 제 2 특징 중 적어도 하나를 변경하는 상기 요청은 상기 제 1 특징 및 상기 제 2 특징을 삭제하는 요청이고, 삭제된 특징은 더 이상 적용되지 않는, 액세스 관리 방법.
  31. 저장 장치에 있어서,
    어드레스 가능한 메모리 위치를 갖는 저장 매체로서, 이중 하나 이상의 세트는 제 1 특징 및 제 2 특징과 연관된 인접한 어드레스의 어드레스 범위에 의해 확인되는, 저장 매체와,
    요청하는 실체로부터 상기 저장 매체의 어드레스 가능한 메모리 위치에 대한 액세스 요청을 수신하고,
    상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 있고 이때 임의의 실체가 상기 세트의 어드레스 가능한 메모리 위치에 인증되고 이에 대한 액세스 권한이 있다면 상기 제 1 특징을 적용하며 - 상기 요청하는 실체는 인증 및 권한 프로세스를 반드시 수행하지 않고 상기 세트의 어드레스 가능한 메모리 위치들을 액세스할 수 있음 - ,
    상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 있고 이때 어떠한 실체도 상기 세트의 어드레스 가능한 메모리 위치에 인증되지 않고 이에 대한 액세스 권한이 없다면 상기 제 2 특징을 적용하기 위해
    동작하는 제어기를
    포함하고,
    상기 요청하는 동일 실체는 상기 요청에서 특정되지 않거나 특정되지만, 상기 세트의 어드레스 가능한 메모리 위치를 액세스하도록 인증되고 권한이 있는 동일 실체와 서로 다른,
    저장 장치.
  32. 제 31항에 있어서, 상기 제어기는, 상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 없다면, 내정된 특징을 적용하기 위해 추가 동작하는, 저장 장치.
  33. 제 31항에 있어서, 실체는 트리로부터 액세스 제어 레코드를 이용하여 상기 저장 장치에 상기 세트의 어드레스 가능한 메모리 위치에 인증되며, 상기 트리는 이에 계층적으로 구성된 노드를 포함하며, 각 노드는 적어도 하나의 액세스 제어 레코드를 포함하고, 상기 액세스 제어 레코드는 상기 세트의 어드레스 가능한 위치에 상기 실체를 인증하고 상기 세트의 어드레스 가능한 메모리 위치에 저장된 데이터에 대한 액세스 권한을 상기 실체에 의해 부여하기 위한 크레덴셜 및 허가를 포함하는, 저장 장치.
  34. 제 31항에 있어서, 실체는 트리로부터 액세스 제어 레코드를 이용하여 상기 저장 장치에 상기 세트의 어드레스 가능한 메모리 위치에 대한 액세스 권한이 주어지고, 상기 트리는 이에 계층적으로 구성된 노드를 포함하며, 각 노드는 적어도 하나의 액세스 제어 레코드를 포함하고, 상기 액세스 제어 레코드는 상기 실체를 인증하고 상기 세트의 어드레스 가능한 메모리 위치에 저장된 데이터에 대한 액세스 권한을 상기 실체에 부여하기 위한 크레덴셜 및 허가를 포함하는, 저장 장치.
  35. 제 31항에 있어서, 상기 저장 매체는 논리 파티션 테이블을 더 포함하고, 상기 논리 파티션 테이블은 복수의 엔트리를 포함하며, 엔트리는 인접 어드레스의 상기 어드레스 범위에 연관된 논리 파티션 식별자, 상기 제 1 특징, 및 상기 제 2 특징을 포함하는, 저장 장치.
KR1020117012655A 2008-12-18 2009-11-05 저장 장치의 어드레스 범위에 대한 액세스 관리 방법 KR101608110B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/338,738 2008-12-18
US12/338,738 US9104618B2 (en) 2008-12-18 2008-12-18 Managing access to an address range in a storage device

Publications (2)

Publication Number Publication Date
KR20110097802A KR20110097802A (ko) 2011-08-31
KR101608110B1 true KR101608110B1 (ko) 2016-03-31

Family

ID=41693023

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117012655A KR101608110B1 (ko) 2008-12-18 2009-11-05 저장 장치의 어드레스 범위에 대한 액세스 관리 방법

Country Status (6)

Country Link
US (1) US9104618B2 (ko)
EP (1) EP2368190B1 (ko)
KR (1) KR101608110B1 (ko)
CN (1) CN102257483B (ko)
TW (1) TW201025001A (ko)
WO (1) WO2010080089A1 (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304942B2 (en) * 2010-11-30 2016-04-05 Nokia Technologies Oy Security configuration for memory access control
WO2012121024A1 (ja) * 2011-03-04 2012-09-13 日本電気株式会社 乱数値特定装置、乱数値特定システム、および、乱数値特定方法
US9015401B2 (en) * 2011-04-28 2015-04-21 Seagate Technology Llc Selective purge of confidential data from a non-volatile memory
US9003101B1 (en) * 2011-06-29 2015-04-07 Western Digital Technologies, Inc. Prioritized access for media with heterogeneous access rates
US9417803B2 (en) * 2011-09-20 2016-08-16 Apple Inc. Adaptive mapping of logical addresses to memory devices in solid state drives
JP5821558B2 (ja) * 2011-11-17 2015-11-24 ソニー株式会社 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
EP2657845A1 (de) * 2012-04-25 2013-10-30 Siemens Aktiengesellschaft Verfahren zur Änderung von Daten bei einer Anforderung der Daten von einem physikalischen Speicher durch eine Empfangseinheit
US10455071B2 (en) 2012-05-09 2019-10-22 Sprint Communications Company L.P. Self-identification of brand and branded firmware installation in a generic electronic device
EP2704053B1 (en) * 2012-08-27 2016-09-21 Giesecke & Devrient GmbH Method and system for updating a firmware of a security module
KR102017828B1 (ko) 2012-10-19 2019-09-03 삼성전자 주식회사 보안 관리 유닛, 상기 보안 관리 유닛을 포함하는 호스트 컨트롤러 인터페이스, 상기 호스트 컨트롤러 인터페이스의 동작 방법, 및 상기 호스트 컨트롤러 인터페이스를 포함하는 장치들
US9720843B2 (en) * 2012-12-28 2017-08-01 Intel Corporation Access type protection of memory reserved for use by processor logic
US10445229B1 (en) * 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
JP6273733B2 (ja) * 2013-09-20 2018-02-07 富士通株式会社 演算処理装置、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
US9743271B2 (en) 2013-10-23 2017-08-22 Sprint Communications Company L.P. Delivery of branding content and customizations to a mobile communication device
US10506398B2 (en) 2013-10-23 2019-12-10 Sprint Communications Company Lp. Implementation of remotely hosted branding content and customizations
FR3016067B1 (fr) * 2013-12-30 2017-03-24 European Aeronautic Defence & Space Co Eads France Dispositif mobile pour le stockage de donnees numeriques
KR20150090621A (ko) * 2014-01-29 2015-08-06 삼성전자주식회사 스토리지 장치 및 데이터 처리 방법
WO2015116078A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Memory data versioning
US9681251B1 (en) 2014-03-31 2017-06-13 Sprint Communications Company L.P. Customization for preloaded applications
US9992326B1 (en) 2014-10-31 2018-06-05 Sprint Communications Company L.P. Out of the box experience (OOBE) country choice using Wi-Fi layer transmission
US9600642B2 (en) 2014-11-20 2017-03-21 International Business Machines Corporation Implementing extent granularity authorization processing in CAPI adapters
US9600428B2 (en) 2014-11-20 2017-03-21 International Business Machines Corporation Implementing extent granularity authorization command flow processing in CAPI adapters
US9582659B2 (en) 2014-11-20 2017-02-28 International Business Machines Corporation Implementing extent granularity authorization and deauthorization processing in CAPI adapters
US20160149909A1 (en) 2014-11-20 2016-05-26 International Business Machines Corporation Implementing block device extent granularity authorization model processing in capi adapters
US9398462B1 (en) 2015-03-04 2016-07-19 Sprint Communications Company L.P. Network access tiered based on application launcher installation
US10097534B2 (en) * 2015-08-28 2018-10-09 Dell Products L.P. System and method to redirect hardware secure USB storage devices in high latency VDI environments
US9760730B2 (en) * 2015-08-28 2017-09-12 Dell Products L.P. System and method to redirect and unlock software secure disk devices in a high latency environment
CN106909311A (zh) * 2015-12-23 2017-06-30 宇瞻科技股份有限公司 数据储存装置及其储存方法
TWI546729B (zh) * 2015-12-23 2016-08-21 宇瞻科技股份有限公司 資料儲存裝置及其儲存方法
US9913132B1 (en) 2016-09-14 2018-03-06 Sprint Communications Company L.P. System and method of mobile phone customization based on universal manifest
US10021240B1 (en) 2016-09-16 2018-07-10 Sprint Communications Company L.P. System and method of mobile phone customization based on universal manifest with feature override
TWI673667B (zh) * 2017-01-25 2019-10-01 楊建綱 內建智慧安全行動裝置
CN108345785B (zh) 2017-01-25 2021-05-11 杨建纲 内建智能安全行动装置
US10642741B2 (en) * 2017-02-06 2020-05-05 International Business Machines Corporation Accessing tables with heterogeneous partitions
US10306433B1 (en) 2017-05-01 2019-05-28 Sprint Communications Company L.P. Mobile phone differentiated user set-up
TWI685847B (zh) * 2017-10-12 2020-02-21 慧榮科技股份有限公司 資料儲存裝置之非揮發式記憶體的命名空間規劃
US10685126B2 (en) * 2018-01-22 2020-06-16 International Business Machines Corporation Operating a secure storage device with a non-volatile memory
US11243909B2 (en) * 2018-10-31 2022-02-08 Alibaba Group Holding Limited Journaling overhead reduction with remapping interface
US11086840B2 (en) 2018-12-07 2021-08-10 Snowflake Inc. Transactional streaming of change tracking data
US10909045B2 (en) * 2018-12-20 2021-02-02 Arm Limited System, method and apparatus for fine granularity access protection
US11954326B2 (en) * 2019-02-01 2024-04-09 Liqid Inc. Memory device instantiation onto communication fabrics
US10922022B2 (en) * 2019-03-13 2021-02-16 Samsung Electronics Co., Ltd. Method and system for managing LBA overlap checking in NVMe based SSDs
US11329990B2 (en) * 2019-05-17 2022-05-10 Imprivata, Inc. Delayed and provisional user authentication for medical devices
US10856170B1 (en) * 2019-06-12 2020-12-01 Cisco Technology, Inc. Reducing traffic in a low power and lossy network based on removing redundant certificate from authentication message destined for constrained wireless device via authenticated wireless device
DE102019215298A1 (de) * 2019-10-04 2021-04-08 Robert Bosch Gmbh Verfahren, Computerprogramm, Speichermedium, Speichermittel und System zur Nutzung eines gemeinsam genutzten Speichermittels
US11743241B2 (en) 2020-12-30 2023-08-29 International Business Machines Corporation Secure data movement
US11991293B2 (en) 2021-08-17 2024-05-21 International Business Machines Corporation Authorized secure data movement

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020065867A1 (en) * 2000-08-21 2002-05-30 Gerard Chauvel Address Space priority arbitration
US20060242151A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Control structure for versatile content control

Family Cites Families (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US618097A (en) * 1899-01-24 Leg and ankle brace
US4575621A (en) 1984-03-07 1986-03-11 Corpra Research, Inc. Portable electronic transaction device and system therefor
US4780905A (en) 1984-11-26 1988-10-25 Nightwatch, Inc. Computer data encryption system
EP0330404B1 (en) 1988-02-20 1994-11-30 Fujitsu Limited Integrated circuit cards
US5237609A (en) 1989-03-31 1993-08-17 Mitsubishi Denki Kabushiki Kaisha Portable secure semiconductor memory device
US5347579A (en) 1989-07-05 1994-09-13 Blandford Robert R Personal computer diary
US5148481A (en) 1989-10-06 1992-09-15 International Business Machines Corporation Transaction system security method and apparatus
US5052040A (en) 1990-05-25 1991-09-24 Micronyx, Inc. Multiple user stored data cryptographic labeling system and method
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
GB9412434D0 (en) 1994-06-21 1994-08-10 Inmos Ltd Computer instruction compression
US5778071A (en) 1994-07-12 1998-07-07 Information Resource Engineering, Inc. Pocket encrypting and authenticating communications device
US5581753A (en) 1994-09-28 1996-12-03 Xerox Corporation Method for providing session consistency guarantees
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US5604801A (en) 1995-02-03 1997-02-18 International Business Machines Corporation Public key data communications system under control of a portable security device
DE19536548A1 (de) 1995-09-29 1997-04-03 Ibm Vorrichtung und Verfahren zur vereinfachten Erzeugung von Werkzeugen zur Initialisierung und Personalisierung von und zur Kommunikation mit einer Chipkarte
US5793868A (en) 1996-08-29 1998-08-11 Micali; Silvio Certificate revocation system
US5687235A (en) 1995-10-26 1997-11-11 Novell, Inc. Certificate revocation performance optimization
US5857020A (en) 1995-12-04 1999-01-05 Northern Telecom Ltd. Timed availability of secured content provisioned on a storage medium
JP3176030B2 (ja) 1996-01-08 2001-06-11 株式会社東芝 複製制御方法及び複製制御装置
ATE221677T1 (de) 1996-02-09 2002-08-15 Digital Privacy Inc Zugriffssteuerungs/verschlüsselungssystem
US6038551A (en) 1996-03-11 2000-03-14 Microsoft Corporation System and method for configuring and managing resources on a multi-purpose integrated circuit card using a personal computer
JP3513324B2 (ja) 1996-04-26 2004-03-31 キヤノン株式会社 ディジタル署名処理方法
US5903651A (en) 1996-05-14 1999-05-11 Valicert, Inc. Apparatus and method for demonstrating and confirming the status of a digital certificates and other data
US5949877A (en) 1997-01-30 1999-09-07 Intel Corporation Content protection for transmission systems
US6189097B1 (en) 1997-03-24 2001-02-13 Preview Systems, Inc. Digital Certificate
US6513116B1 (en) 1997-05-16 2003-01-28 Liberate Technologies Security information acquisition
JPH10327147A (ja) 1997-05-21 1998-12-08 Hitachi Ltd 電子認証公証方法およびシステム
JPH1139437A (ja) 1997-07-17 1999-02-12 Dainippon Printing Co Ltd 公開鍵方式の暗号鍵生成方法及びicカード発行装置
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US6438666B2 (en) 1997-09-26 2002-08-20 Hughes Electronics Corporation Method and apparatus for controlling access to confidential data by analyzing property inherent in data
US6094724A (en) 1997-11-26 2000-07-25 Atmel Corporation Secure memory having anti-wire tapping
JPH11161552A (ja) 1997-11-28 1999-06-18 Fujitsu Ltd 可換記憶媒体のデータ保護方法及び、これを適用した記憶装置
US6026402A (en) 1998-01-07 2000-02-15 Hewlett-Packard Company Process restriction within file system hierarchies
EP1056015A4 (en) 1998-01-21 2005-01-05 Tokyo Electron Ltd MEMORY DEVICE, DEVICE AND DECOMPOSITION DEVICE AND ACCESS PROCESS FOR NON-VOLATILE MEMORY
US6584495B1 (en) 1998-01-30 2003-06-24 Microsoft Corporation Unshared scratch space
US6134550A (en) 1998-03-18 2000-10-17 Entrust Technologies Limited Method and apparatus for use in determining validity of a certificate in a communication system employing trusted paths
US6073242A (en) 1998-03-19 2000-06-06 Agorics, Inc. Electronic authority server
FR2779018B1 (fr) 1998-05-22 2000-08-18 Activcard Terminal et systeme pour la mise en oeuvre de transactions electroniques securisees
US6343320B1 (en) 1998-06-09 2002-01-29 Compaq Information Technologies Group, L.P. Automatic state consolidation for network participating devices
US6397197B1 (en) 1998-08-26 2002-05-28 E-Lynxx Corporation Apparatus and method for obtaining lowest bid from information product vendors
US7111173B1 (en) 1998-09-01 2006-09-19 Tecsec, Inc. Encryption process including a biometric unit
US6609199B1 (en) 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
EP1125262A1 (en) 1998-10-27 2001-08-22 Visa International Service Association Delegated management of smart card applications
US20030172280A1 (en) 1998-12-04 2003-09-11 Scheidt Edward M. Access control and authorization system
US7272723B1 (en) 1999-01-15 2007-09-18 Safenet, Inc. USB-compliant personal key with integral input and output devices
US6343291B1 (en) 1999-02-26 2002-01-29 Hewlett-Packard Company Method and apparatus for using an information model to create a location tree in a hierarchy of information
US7073063B2 (en) 1999-03-27 2006-07-04 Microsoft Corporation Binding a digital license to a portable device or the like in a digital rights management (DRM) system and checking out/checking in the digital license to/from the portable device or the like
FI108389B (fi) 1999-04-15 2002-01-15 Sonera Smarttrust Oy Tilaajaidentiteettimoduulin hallinta
CN100358034C (zh) 1999-04-28 2007-12-26 松下电器产业株式会社 光盘记录和再现装置以及光盘记录和再现方法
US6449720B1 (en) 1999-05-17 2002-09-10 Wave Systems Corp. Public cryptographic control unit and system therefor
US6289450B1 (en) 1999-05-28 2001-09-11 Authentica, Inc. Information security architecture for encrypting documents for remote access while maintaining access control
US7073073B1 (en) 1999-07-06 2006-07-04 Sony Corporation Data providing system, device, and method
CN1248143C (zh) 1999-08-10 2006-03-29 富士通株式会社 存储插件
US7124170B1 (en) 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
GB9922665D0 (en) 1999-09-25 1999-11-24 Hewlett Packard Co A method of enforcing trusted functionality in a full function platform
RU2257609C2 (ru) 1999-10-21 2005-07-27 Мацусита Электрик Индастриал Ко., Лтд. Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти
US6779113B1 (en) 1999-11-05 2004-08-17 Microsoft Corporation Integrated circuit card with situation dependent identity authentication
CN1326352C (zh) 1999-12-03 2007-07-11 三洋电机株式会社 数据传输系统及用于该系统的记录装置
US6816900B1 (en) 2000-01-04 2004-11-09 Microsoft Corporation Updating trusted root certificates on a client computer
US20060161725A1 (en) 2005-01-20 2006-07-20 Lee Charles C Multiple function flash memory system
US7269726B1 (en) 2000-01-14 2007-09-11 Hewlett-Packard Development Company, L.P. Lightweight public key infrastructure employing unsigned certificates
WO2001054099A1 (fr) 2000-01-21 2001-07-26 Sony Corporation Systeme d'authentification de donnees
TW519651B (en) 2000-06-27 2003-02-01 Intel Corp Embedded security device within a nonvolatile memory device
US7215771B1 (en) 2000-06-30 2007-05-08 Western Digital Ventures, Inc. Secure disk drive comprising a secure drive key and a drive ID for implementing secure communication over a public network
US7350204B2 (en) 2000-07-24 2008-03-25 Microsoft Corporation Policies for secure software execution
US20020199001A1 (en) 2001-02-25 2002-12-26 Storymail, Inc. System and method for conducting a secure response communication session
ATE374993T1 (de) 2000-08-16 2007-10-15 Uqe Llc Verfahren und gerät zum kontrolieren des verteilens und der benutzung von digitalwerken
US6880084B1 (en) 2000-09-27 2005-04-12 International Business Machines Corporation Methods, systems and computer program products for smart card product management
US7546334B2 (en) 2000-11-13 2009-06-09 Digital Doors, Inc. Data security system and method with adaptive filter
FR2817055B1 (fr) 2000-11-22 2003-02-14 Gemplus Card Int Execution d'une application dans un objet electronique portable a faible capacite de memoire
US6970891B1 (en) 2000-11-27 2005-11-29 Microsoft Corporation Smart card with volatile memory file subsystem
US7209893B2 (en) 2000-11-30 2007-04-24 Nokia Corporation Method of and a system for distributing electronic content
ATE359652T1 (de) 2001-02-06 2007-05-15 Certicom Corp Mobile zertifikatverteilung in einer infrastruktur mit öffentlichem schlüssel
AU1547402A (en) 2001-02-09 2002-08-15 Sony Corporation Information processing method/apparatus and program
JP2002271316A (ja) 2001-03-13 2002-09-20 Sanyo Electric Co Ltd 再生装置
JP2002278838A (ja) 2001-03-15 2002-09-27 Sony Corp メモリアクセス制御システム、デバイス管理装置、パーティション管理装置、メモリ搭載デバイス、およびメモリアクセス制御方法、並びにプログラム記憶媒体
JP2002278839A (ja) 2001-03-15 2002-09-27 Sony Corp データアクセス管理システム、メモリ搭載デバイス、およびデータアクセス管理方法、並びにプログラム記憶媒体
US20020136410A1 (en) 2001-03-26 2002-09-26 Sun Microsystems, Inc. Method and apparatus for extinguishing ephemeral keys
JP3895940B2 (ja) 2001-03-27 2007-03-22 三洋電機株式会社 情報端末装置
US7020645B2 (en) 2001-04-19 2006-03-28 Eoriginal, Inc. Systems and methods for state-less authentication
FR2825209A1 (fr) 2001-05-23 2002-11-29 Thomson Licensing Sa Dispositifs et procede de securisation et d'identification de messages
US20020188856A1 (en) 2001-06-11 2002-12-12 Brian Worby Storage device with cryptographic capabilities
US7500104B2 (en) 2001-06-15 2009-03-03 Microsoft Corporation Networked device branding for secure interaction in trust webs on open networks
EP1402372B1 (en) 2001-07-05 2017-09-20 Panasonic Intellectual Property Management Co., Ltd. Recording apparatus, medium, method, and related computer program
US7036020B2 (en) 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
US7925894B2 (en) 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
US7418344B2 (en) 2001-08-02 2008-08-26 Sandisk Corporation Removable computer with mass storage
FI115257B (fi) 2001-08-07 2005-03-31 Nokia Corp Menetelmä informaation käsittelemiseksi elektroniikkalaitteessa, järjestelmä, elektroniikkalaite ja suoritinlohko
KR100538659B1 (ko) 2001-08-13 2005-12-26 콸콤 인코포레이티드 컴퓨터 장치의 저장 영역에 대한 애플리케이션 레벨 액세스 특권을 부여하는 방법 및 장치
JP2003085321A (ja) 2001-09-11 2003-03-20 Sony Corp コンテンツ利用権限管理システム、コンテンツ利用権限管理方法、および情報処理装置、並びにコンピュータ・プログラム
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
RU2298824C2 (ru) 2001-09-28 2007-05-10 Хай Денсити Дивайсез Ас Способ и устройство для шифрования/дешифрования данных в запоминающем устройстве большой емкости
US6865555B2 (en) 2001-11-21 2005-03-08 Digeo, Inc. System and method for providing conditional access to digital content
AUPR966001A0 (en) 2001-12-20 2002-01-24 Canon Information Systems Research Australia Pty Ltd A microprocessor card defining a custom user interface
DE10164422A1 (de) 2001-12-29 2003-07-17 Philips Intellectual Property Verfahren und Anordnung zum Beschreiben von NV-Memories in einer Controller-Architektur sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium
US20030149869A1 (en) 2002-02-01 2003-08-07 Paul Gleichauf Method and system for securely storing and trasmitting data by applying a one-time pad
JP2003233594A (ja) 2002-02-06 2003-08-22 Sony Corp アクセス権管理システム、アクセス権管理方法、アクセス権管理プログラム及びアクセス権管理プログラムが記録された記録媒体
GB0205751D0 (en) 2002-03-12 2002-04-24 James Barry E Improvements relating to memory devices
ATE254773T1 (de) 2002-03-18 2003-12-15 Ubs Ag Sichere benutzerauthenifizierung über ein kommunikationsnetzwerk
US7627753B2 (en) 2002-03-19 2009-12-01 Microsoft Corporation Secure digital data format and code enforced policy
US7058768B2 (en) * 2002-04-17 2006-06-06 Microsoft Corporation Memory isolation through address translation data edit control
JP4209131B2 (ja) 2002-04-23 2009-01-14 株式会社エヌ・ティ・ティ・ドコモ 携帯端末、及びアクセス制御方法
EP1361527A1 (en) 2002-05-07 2003-11-12 Sony Ericsson Mobile Communications AB Method for loading an application in a device, device and smart card therefor
US7680743B2 (en) 2002-05-15 2010-03-16 Microsoft Corporation Software application protection by way of a digital rights management (DRM) system
JP2003345654A (ja) 2002-05-23 2003-12-05 Hitachi Ltd データ保護システム
JP3908982B2 (ja) 2002-05-28 2007-04-25 日本電信電話株式会社 CUG(ClosedUserGroup)管理方法及びCUG提供システム及びCUG提供プログラム及びCUG提供プログラムを格納した記憶媒体
US6785790B1 (en) * 2002-05-29 2004-08-31 Advanced Micro Devices, Inc. Method and apparatus for storing and retrieving security attributes
JP2004013744A (ja) 2002-06-10 2004-01-15 Takeshi Sakamura デジタルコンテンツの発行システム及び発行方法
US20050220304A1 (en) 2002-06-17 2005-10-06 Koninklijke Philips Electronics N.V. Method for authentication between devices
US7103914B2 (en) 2002-06-17 2006-09-05 Bae Systems Information Technology Llc Trusted computer system
GB2391082B (en) 2002-07-19 2005-08-03 Ritech Internat Ltd Portable data storage device with layered memory architecture
US7083090B2 (en) 2002-08-09 2006-08-01 Patrick Zuili Remote portable and universal smartcard authentication and authorization device
US20040083370A1 (en) 2002-09-13 2004-04-29 Sun Microsystems, Inc., A Delaware Corporation Rights maintenance in a rights locker system for digital content access control
US20040059946A1 (en) 2002-09-25 2004-03-25 Price Burk Pieper Network server system and method for securely publishing applications and services
US7197585B2 (en) * 2002-09-30 2007-03-27 International Business Machines Corporation Method and apparatus for managing the execution of a broadcast instruction on a guest processor
US20040139021A1 (en) 2002-10-07 2004-07-15 Visa International Service Association Method and system for facilitating data access and management on a secure token
JP4400059B2 (ja) 2002-10-17 2010-01-20 株式会社日立製作所 ポリシー設定支援ツール
EP1554855A1 (en) 2002-10-24 2005-07-20 Matsushita Electric Industrial Co., Ltd. System and method for pushing information from a service provider to a communication terminal comprising a memory card
US7478248B2 (en) 2002-11-27 2009-01-13 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for securing data on a portable storage device
JP2004199138A (ja) 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd メモリデバイスとそれを使用する電子機器
TW588244B (en) 2002-12-30 2004-05-21 Foquest Advanced Inc Data protection method and system for storage unit
KR20050117605A (ko) 2003-01-04 2005-12-15 김재형 네트워크 확장형 스마트 카드 및 운영 방법
KR100493885B1 (ko) 2003-01-20 2005-06-10 삼성전자주식회사 공개키 기반 구조(pki) 도메인간의 이동 사용자를 위한스마트카드 인증서 등록 및 검증 시스템 및 방법
JP3703457B2 (ja) 2003-01-21 2005-10-05 キヤノン株式会社 アドレス通知方法、プログラム、及び、装置
US7340615B2 (en) 2003-01-31 2008-03-04 Microsoft Corporation Method and apparatus for managing power in network interface modules
US7322042B2 (en) 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
JP2004266652A (ja) 2003-03-03 2004-09-24 Nippon Telegr & Teleph Corp <Ntt> 電子証明書の失効情報作成装置、方法、プログラム及び記録媒体、電子証明書の失効情報作成システム、並びに電子証明書の失効検証装置、方法、プログラム及び記録媒体
AU2003901454A0 (en) 2003-03-28 2003-04-10 Secure Systems Limited Security system and method for computer operating systems
JP4682498B2 (ja) 2003-04-09 2011-05-11 ソニー株式会社 通信装置及び通信装置のメモリ管理方法
US8467534B2 (en) 2003-04-16 2013-06-18 Broadcom Corporation Method and system for secure access and processing of an encryption/decryption key
WO2004112036A1 (en) 2003-06-11 2004-12-23 Matsushita Electric Industrial Co., Ltd. Reproduction apparatus, program, integrated circuit
US6988175B2 (en) 2003-06-30 2006-01-17 M-Systems Flash Disk Pioneers Ltd. Flash memory management method that is resistant to data corruption by power loss
US7949877B2 (en) 2003-06-30 2011-05-24 Realnetworks, Inc. Rights enforcement and usage reporting on a client device
TW200502758A (en) 2003-07-07 2005-01-16 Yuen Foong Paper Co Ltd Portable secure information accessing system and method thereof
US6938136B2 (en) 2003-07-14 2005-08-30 International Business Machines Corporation Method, system, and program for performing an input/output operation with respect to a logical storage device
US7546630B2 (en) 2003-07-17 2009-06-09 International Business Machines Corporation Methods, systems, and media to authenticate a user
US20050049931A1 (en) 2003-08-29 2005-03-03 Wisnudel Marc Brian Digital content kiosk and associated methods for delivering selected digital content to a user
US7484090B2 (en) 2003-10-10 2009-01-27 Panasonic Corporation Encryption apparatus, decryption apparatus, secret key generation apparatus, and copyright protection system
JP3880957B2 (ja) 2003-10-20 2007-02-14 日本電信電話株式会社 ルート証明書配布システム、ルート証明書配布方法、コンピュータ実行可能なルート証明書配布プログラム、サーバ装置及びクライアント装置
JP4070708B2 (ja) * 2003-11-14 2008-04-02 株式会社リコー セキュリティ確保支援プログラム及びそのプログラムを実行するサーバ装置並びにそのプログラムを記憶した記憶媒体
US7711951B2 (en) 2004-01-08 2010-05-04 International Business Machines Corporation Method and system for establishing a trust framework based on smart key devices
US8019928B2 (en) 2004-02-15 2011-09-13 Sandisk Il Ltd. Method of managing a multi-bit-cell flash memory
US7523140B2 (en) 2004-03-01 2009-04-21 Sandisk Il Ltd. File system that manages files according to content
TWI252664B (en) 2004-03-05 2006-04-01 Chunghwa Telecom Co Ltd System and method for applying network electronic certification
KR101100385B1 (ko) 2004-03-22 2011-12-30 삼성전자주식회사 인증서 폐지 목록을 이용한 디지털 저작권 관리 방법 및장치
AU2005255327B2 (en) 2004-03-22 2008-05-01 Samsung Electronics Co., Ltd. Method and apparatus for digital rights management using certificate revocation list
JP3947528B2 (ja) 2004-04-21 2007-07-25 株式会社エヌ・ティ・ティ・ドコモ Icカード及びアクセス制御方法
WO2005104431A1 (ja) 2004-04-21 2005-11-03 Matsushita Electric Industrial Co., Ltd. コンテンツ提供システム、情報処理装置及びメモリカード
EP1594250A1 (en) 2004-05-03 2005-11-09 Thomson Licensing Distributed management of a certificate revocation list
US8352697B2 (en) 2004-05-17 2013-01-08 Sandisk Il Ltd. Method of managing files for optimal performance
US8042163B1 (en) 2004-05-20 2011-10-18 Symatec Operating Corporation Secure storage access using third party capability tokens
US20050262361A1 (en) 2004-05-24 2005-11-24 Seagate Technology Llc System and method for magnetic storage disposal
JP4576894B2 (ja) 2004-06-14 2010-11-10 ソニー株式会社 情報管理装置及び情報管理方法
US7562216B2 (en) 2004-06-28 2009-07-14 Symantec Operating Corporation System and method for applying a file system security model to a query system
US7363365B2 (en) 2004-07-13 2008-04-22 Teneros Inc. Autonomous service backup and migration
US7797750B2 (en) 2004-08-10 2010-09-14 Newport Scientific Research Llc Data security system
FR2875028B1 (fr) 2004-09-03 2006-12-08 Trango Systems Sarl Mecanismes pour la virtualisation de cpu
JP2006085647A (ja) 2004-09-17 2006-03-30 Sony Corp 階調変換装置、画像出力装置、階調変換方法、ユーザー・インタフェースの表示方法及びプログラム
US8954751B2 (en) * 2004-10-08 2015-02-10 International Business Machines Corporation Secure memory control parameters in table look aside buffer data fields and support memory array
GB2434673B (en) 2004-11-12 2009-10-14 Discretix Technologies Ltd Method, device, and system of securely storing data
DE112005002949T5 (de) 2004-11-24 2007-12-27 Discretix Technologies Ltd. System, Verfahren und Vorrichtung zur Sicherung eines Betriebssystems
US20060129824A1 (en) 2004-12-15 2006-06-15 Hoff James P Systems, methods, and media for accessing TPM keys
US20060242066A1 (en) 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Versatile content control with partitioning
TWI388985B (zh) 2004-12-21 2013-03-11 Sandisk Technologies Inc 控制一儲存裝置中資料存取的方法及儲存裝置
TW200700991A (en) 2004-12-21 2007-01-01 Sandisk Corp Control structure for versatile content control and method using structure
EP1836641A2 (en) 2004-12-21 2007-09-26 SanDisk Corporation Versatile content control with partitioning
EP1836640A2 (en) 2004-12-21 2007-09-26 SanDisk Corporation Memory system with versatile content control
US8504849B2 (en) 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
EP1836543A1 (en) 2004-12-22 2007-09-26 Telecom Italia S.p.A. Method and system for access control and data protection in digital memories, related digital memory and computer program product therefor
DE102004062203B4 (de) 2004-12-23 2007-03-08 Infineon Technologies Ag Datenverarbeitungseinrichtung, Telekommunikations-Endgerät und Verfahren zur Datenverarbeitung mittels einer Datenverarbeitungseinrichtung
US20060232826A1 (en) 2005-04-13 2006-10-19 Hagai Bar-El Method, device, and system of selectively accessing data
US20060262928A1 (en) 2005-05-23 2006-11-23 Hagai Bar-El Method, device, and system of encrypting/decrypting data
US20060272027A1 (en) 2005-05-26 2006-11-30 Finisar Corporation Secure access to segment of data storage device and analyzer
US7493656B2 (en) 2005-06-02 2009-02-17 Seagate Technology Llc Drive security session manager
JP4654806B2 (ja) 2005-07-15 2011-03-23 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
US8046837B2 (en) 2005-08-26 2011-10-25 Sony Corporation Information processing device, information recording medium, information processing method, and computer program
US7752382B2 (en) 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
US7634629B2 (en) 2005-12-19 2009-12-15 Intel Corporation Mechanism to control access to a storage device
US20070180210A1 (en) 2006-01-31 2007-08-02 Seagate Technology Llc Storage device for providing flexible protected access for security applications
US20080072060A1 (en) 2006-08-28 2008-03-20 Susan Cannon Memory device for cryptographic operations
US8166326B2 (en) * 2007-11-08 2012-04-24 International Business Machines Corporation Managing power consumption in a computer
WO2009070430A2 (en) 2007-11-08 2009-06-04 Suridx, Inc. Apparatus and methods for providing scalable, dynamic, individualized credential services using mobile telephones
US20090144347A1 (en) * 2007-11-30 2009-06-04 Boyd James A Storage volume spanning with intelligent file placement and/or rearrangement

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020065867A1 (en) * 2000-08-21 2002-05-30 Gerard Chauvel Address Space priority arbitration
US20060242151A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb Control structure for versatile content control

Also Published As

Publication number Publication date
EP2368190B1 (en) 2016-01-06
US20100161928A1 (en) 2010-06-24
TW201025001A (en) 2010-07-01
CN102257483B (zh) 2015-07-08
US9104618B2 (en) 2015-08-11
KR20110097802A (ko) 2011-08-31
CN102257483A (zh) 2011-11-23
WO2010080089A1 (en) 2010-07-15
EP2368190A1 (en) 2011-09-28

Similar Documents

Publication Publication Date Title
KR101608110B1 (ko) 저장 장치의 어드레스 범위에 대한 액세스 관리 방법
KR101213118B1 (ko) 다기능 컨텐츠 제어가 가능한 메모리 시스템
KR101238848B1 (ko) 파티셔닝을 포함한 다기능 컨텐트 제어
US8051052B2 (en) Method for creating control structure for versatile content control
US8601283B2 (en) Method for versatile content control with partitioning
US8504849B2 (en) Method for versatile content control
TWI388985B (zh) 控制一儲存裝置中資料存取的方法及儲存裝置
US20060242150A1 (en) Method using control structure for versatile content control
US20060242066A1 (en) Versatile content control with partitioning
JP2008524758A5 (ko)
US20060242067A1 (en) System for creating control structure for versatile content control
JP2009508412A (ja) メディアコンテンツのセキュアストレージと配信のためのモバイルメモリシステム
KR20070087175A (ko) 다기능 컨텐트 제어를 위한 제어구조 및 상기 구조를이용한 방법
KR20090052321A (ko) 다기능 제어 구조를 이용하는 콘텐트 제어 시스템과 방법
KR20090026357A (ko) 증명서 체인을 이용한 콘텐트 제어 시스템과 방법
KR20090028806A (ko) 증명서 철회 리스트를 이용한 콘텐트 제어 시스템과 방법

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee