KR101608110B1 - 저장 장치의 어드레스 범위에 대한 액세스 관리 방법 - Google Patents
저장 장치의 어드레스 범위에 대한 액세스 관리 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/1425—Protection 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/1441—Protection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2113—Multi-level security, e.g. mandatory access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2129—Authenticate client device independently of the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2149—Restricted 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
이 출원은 일반적으로 비휘발성 플래시 메모리 시스템의 동작에 관한 것이고, 보다 구체적으로는 저장 장치의 어드레스 범위에 대한 액세스를 관리하는 방법에 관한 것이다.
특히, 하나 이상의 집적 회로 장치에 형성된 플래시 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는 비휘발성 저장 장치 내 비휘발성 저장 장치에 논리 파티션을 수정하기 위한 단계들을 도시한 도면.
도 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 특징 및 제 2 특징과 연관된 인접한 어드레스의 어드레스 범위에 의해 확인),
요청하는 실체(requesting entity)로부터 상기 저장 매체의 어드레스 가능한 메모리 위치에 대한 액세스 요청을 수신하고,
상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 있고 이때 임의의 실체가 상기 세트의 어드레스 가능한 메모리 위치에 인증되고 이에 대한 액세스 권한이 있다면 상기 제 1 특징을 적용하며 - 상기 요청하는 실체는 인증 및 권한 프로세스를 반드시 수행하지 않고 상기 세트의 어드레스 가능한 메모리 위치들을 액세스할 수 있음 - ,
상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 있고 이때 어떠한 실체도 상기 세트의 어드레스 가능한 메모리 위치에 인증되지 않고 이에 대한 액세스 권한이 없다면 상기 제 2 특징을 적용하여,
상기 어드레스 가능한 메모리 위치에 대한 액세스를 관리하는 단계를
포함하는, 액세스 관리 방법. - 제 1항에 있어서, 상기 액세스를 관리하는 단계는, 상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 없다면 내정된 특징(default characteristic)을 적용하는 단계를 더 포함하는, 액세스 관리 방법.
- 제 1항에 있어서, 상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 있다면, 상기 액세스를 관리하는 단계는, 이때에, 요청을 하는 특정 실체가 상기 세트의 어드레스 가능한 메모리 위치에 인증되어 이에 대한 액세스 권한이 있는 경우 상기 제 1 특징을 적용하고, 이때, 요청을 하는 상기 특정 실체가 상기 세트의 어드레스 가능한 메모리 위치에 인증되지 않고 이에 대한 액세스 권한이 없는 경우 상기 제 2 특징을 적용하는 것을 더 포함하는, 액세스 관리 방법.
- 제 1항에 있어서, 상기 실체는 트리(tree)로부터 액세스 제어 레코드를 이용하여 상기 저장 장치에 상기 세트의 어드레스 가능한 메모리 위치에 인증되고, 상기 트리는 이에 계층적으로 구성된 노드를 포함하며, 각 노드는 적어도 하나의 액세스 제어 레코드를 포함하고, 상기 액세스 제어 레코드는 상기 세트의 어드레스 가능한 위치에 상기 실체를 인증하고 상기 세트의 어드레스 가능한 메모리 위치에 저장된 데이터에 대한 액세스 권한을 상기 실체에 의해 부여하기 위한 크레덴셜(credential) 및 허가(permission)를 포함하는, 액세스 관리 방법.
- 제 1항에 있어서, 상기 세트의 어드레스 가능한 메모리 위치에 대한 액세스 권한을 상기 실체에 부여하는 단계를 더 포함하고, 상기 권한부여(authorizing)는 상기 저장 장치에 의해 수행되는, 액세스 관리 방법.
- 제 5항에 있어서, 상기 세트의 어드레스 가능한 메모리 위치에 대한 액세스 권한을 상기 실체에 부여하는 단계는 상기 세트의 어드레스 가능한 메모리 위치에 대한 액세스 권한을 상기 실체에 부여하기 위해 트리로부터 액세스 제어 레코드를 이용하는 단계를 포함하고, 상기 트리는 이에 계층적으로 구성된 노드를 포함하며, 각 노드는 적어도 하나의 액세스 제어 레코드를 포함하고, 상기 액세스 제어 레코드는 상기 실체를 인증하고 상기 세트의 어드레스 가능한 메모리 위치에 저장된 데이터에 대한 액세스 권한을 상기 실체에 부여하기 위한 크레덴셜 및 허가를 포함하는, 액세스 관리 방법.
- 제 5항에 있어서, 권한을 상기 실체에서 추가의 실체에 위임하는 단계를 더 포함하는, 액세스 관리 방법.
- 제 7항에 있어서, 권한을 상기 실체에서 추가의 실체에 위임하는 단계는 액세스 제어 레코드의 적어도 하나의 허가를 추가의 액세스 제어 레코드에 위임하는 단계를 포함하는, 액세스 관리 방법.
- 제 1항에 있어서, 상기 세트의 어드레스 가능한 메모리 위치와 상기 제 1 특징 및 상기 제 2 특징 사이의 연관을 생성하는 단계를 더 포함하는, 액세스 관리 방법.
- 제 9항에 있어서, 상기 세트의 어드레스 가능한 위치들과 상기 제 1 특징 및 상기 제 2 특징 사이의 상기 연관을 생성하는 단계는 논리 파티션 테이블에 새로운 엔트리를 생성하는 단계를 포함하는, 액세스 관리 방법.
- 제 1항에 있어서, 상기 세트의 어드레스 가능한 메모리 위치와 상기 제 1 특징 및 상기 제 2 특징 사이의 연관을 제거하는 단계를 더 포함하는, 액세스 관리 방법.
- 제 11항에 있어서, 상기 세트의 어드레스 가능한 위치들과 상기 제 1 특징 및 상기 제 2 특징 사이의 상기 연관을 제거하는 단계는 논리 파티션 테이블로부터 엔트리를 제거하는 단계를 포함하는, 액세스 관리 방법.
- 제 1항에 있어서, 새로운 한 세트의 어드레스 가능한 메모리 위치와 상기 제 1 특징 및 상기 제 2 특징 사이의 연관을 생성하는 단계를 더 포함하는, 액세스 관리 방법.
- 제 1항에 있어서, 상기 세트의 어드레스 가능한 메모리 위치에 연관된 상기 제 1 특징 및 상기 제 2 특징 중 적어도 하나를 변경하는 단계를 더 포함하는, 액세스 관리 방법.
- 제 1항에 있어서, 상기 제 1 특징 및 상기 제 2 특징 중 적어도 하나를 적용하기 전에 상기 세트의 어드레스 가능한 메모리 위치에 연관된 상기 제 1 특징 및 상기 제 2 특징 중 적어도 하나를 인출하는 단계를 더 포함하는, 액세스 관리 방법.
- 제 15항에 있어서, 상기 제 1 특징 및 상기 제 2 특징은 논리 파티션 테이블에 저장되고, 상기 논리 파티션 테이블은 복수의 엔트리를 포함하며, 엔트리는 인접 어드레스의 상기 어드레스 범위에 연관된 논리 파티션 식별자, 상기 제 1 특징, 및 상기 제 2 특징을 포함하는, 액세스 관리 방법.
- 제 1항에 있어서, 상기 세트의 어드레스 가능한 메모리 위치는 파티션 테이블의 어드레스 가능한 범위 내에 있는, 액세스 관리 방법.
- 제 1항에 있어서, 상기 제 1 특징 및 상기 제 2 특징은 액세스 특징을 포함하는, 액세스 관리 방법.
- 제 18항에 있어서, 상기 액세스 특징은 판독 명령에 연관된 판독 액세스 허가를 포함하는, 액세스 관리 방법.
- 제 18항에 있어서, 상기 액세스 특징은 기록 명령에 연관된 기록 액세스 허가를 포함하는, 액세스 관리 방법.
- 제 18항에 있어서, 상기 액세스 특징은 판독 명령에 연관된 판독 액세스 허가와, 기록 명령에 연관된 기록 액세스 허가를 포함하는, 액세스 관리 방법.
- 제 1항에 있어서, 상기 제 1 특징 및 상기 제 2 특징은 보호 특징을 포함하는, 액세스 관리 방법.
- 제 22항에 있어서, 상기 보호 특징은 암호화 명령을 포함하는, 액세스 관리 방법.
- 제 1항에 있어서, 상기 제 1 특징 및 상기 제 2 특징은 수행 특징을 포함하는, 액세스 관리 방법.
- 제 24항에 있어서, 상기 수행 특징은 제 1 수행 레벨과 제 2 수행 레벨 중 하나인, 액세스 관리 방법.
- 제 1항에 있어서, 상기 제 1 특징 및 상기 제 2 특징은 전력 소비 특징을 포함하는, 액세스 관리 방법.
- 제 26항에 있어서, 상기 전력 소비 특징은 제 1 전력 소비 레벨과 제 2 전력 소비 레벨 중 하나인, 액세스 관리 방법.
- 제 1항에 있어서, 상기 저장 장치는 비휘발성 착탈 가능 메모리 카드인, 액세스 관리 방법.
- 제 1항에 있어서,
상기 제 1 특징과 상기 제 2 특징 중 적어도 하나를 변경하는 요청을 실체에 의해 수신하는 단계와,
상기 실체가 현재 인증되고 상기 세트의 어드레스 가능한 메모리 위치에 연관된 상기 제 1 특징 및 상기 제 2 특징 중 적어도 하나를 변경할 권한이 있는 경우 상기 요청을 승인하는 단계를
더 포함하는, 액세스 관리 방법. - 제 29항에 있어서, 상기 제 1 특징 및 상기 제 2 특징 중 적어도 하나를 변경하는 상기 요청은 상기 제 1 특징 및 상기 제 2 특징을 삭제하는 요청이고, 삭제된 특징은 더 이상 적용되지 않는, 액세스 관리 방법.
- 저장 장치에 있어서,
어드레스 가능한 메모리 위치를 갖는 저장 매체로서, 이중 하나 이상의 세트는 제 1 특징 및 제 2 특징과 연관된 인접한 어드레스의 어드레스 범위에 의해 확인되는, 저장 매체와,
요청하는 실체로부터 상기 저장 매체의 어드레스 가능한 메모리 위치에 대한 액세스 요청을 수신하고,
상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 있고 이때 임의의 실체가 상기 세트의 어드레스 가능한 메모리 위치에 인증되고 이에 대한 액세스 권한이 있다면 상기 제 1 특징을 적용하며 - 상기 요청하는 실체는 인증 및 권한 프로세스를 반드시 수행하지 않고 상기 세트의 어드레스 가능한 메모리 위치들을 액세스할 수 있음 - ,
상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 있고 이때 어떠한 실체도 상기 세트의 어드레스 가능한 메모리 위치에 인증되지 않고 이에 대한 액세스 권한이 없다면 상기 제 2 특징을 적용하기 위해
동작하는 제어기를
포함하고,
상기 요청하는 동일 실체는 상기 요청에서 특정되지 않거나 특정되지만, 상기 세트의 어드레스 가능한 메모리 위치를 액세스하도록 인증되고 권한이 있는 동일 실체와 서로 다른,
저장 장치. - 제 31항에 있어서, 상기 제어기는, 상기 어드레스 가능한 메모리 위치가 상기 세트의 어드레스 가능한 메모리 위치 내에 없다면, 내정된 특징을 적용하기 위해 추가 동작하는, 저장 장치.
- 제 31항에 있어서, 실체는 트리로부터 액세스 제어 레코드를 이용하여 상기 저장 장치에 상기 세트의 어드레스 가능한 메모리 위치에 인증되며, 상기 트리는 이에 계층적으로 구성된 노드를 포함하며, 각 노드는 적어도 하나의 액세스 제어 레코드를 포함하고, 상기 액세스 제어 레코드는 상기 세트의 어드레스 가능한 위치에 상기 실체를 인증하고 상기 세트의 어드레스 가능한 메모리 위치에 저장된 데이터에 대한 액세스 권한을 상기 실체에 의해 부여하기 위한 크레덴셜 및 허가를 포함하는, 저장 장치.
- 제 31항에 있어서, 실체는 트리로부터 액세스 제어 레코드를 이용하여 상기 저장 장치에 상기 세트의 어드레스 가능한 메모리 위치에 대한 액세스 권한이 주어지고, 상기 트리는 이에 계층적으로 구성된 노드를 포함하며, 각 노드는 적어도 하나의 액세스 제어 레코드를 포함하고, 상기 액세스 제어 레코드는 상기 실체를 인증하고 상기 세트의 어드레스 가능한 메모리 위치에 저장된 데이터에 대한 액세스 권한을 상기 실체에 부여하기 위한 크레덴셜 및 허가를 포함하는, 저장 장치.
- 제 31항에 있어서, 상기 저장 매체는 논리 파티션 테이블을 더 포함하고, 상기 논리 파티션 테이블은 복수의 엔트리를 포함하며, 엔트리는 인접 어드레스의 상기 어드레스 범위에 연관된 논리 파티션 식별자, 상기 제 1 특징, 및 상기 제 2 특징을 포함하는, 저장 장치.
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)
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)
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)
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 |
-
2008
- 2008-12-18 US US12/338,738 patent/US9104618B2/en active Active
-
2009
- 2009-11-05 KR KR1020117012655A patent/KR101608110B1/ko not_active IP Right Cessation
- 2009-11-05 EP EP09796144.5A patent/EP2368190B1/en active Active
- 2009-11-05 WO PCT/US2009/006010 patent/WO2010080089A1/en active Application Filing
- 2009-11-05 CN CN200980151089.9A patent/CN102257483B/zh active Active
- 2009-11-18 TW TW098139137A patent/TW201025001A/zh unknown
Patent Citations (2)
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 |