KR20120113702A - 스토리지 장치에 의한 파일 보호 정책의 집행 - Google Patents

스토리지 장치에 의한 파일 보호 정책의 집행 Download PDF

Info

Publication number
KR20120113702A
KR20120113702A KR1020127010945A KR20127010945A KR20120113702A KR 20120113702 A KR20120113702 A KR 20120113702A KR 1020127010945 A KR1020127010945 A KR 1020127010945A KR 20127010945 A KR20127010945 A KR 20127010945A KR 20120113702 A KR20120113702 A KR 20120113702A
Authority
KR
South Korea
Prior art keywords
file
storage device
protection policy
file protection
indicator
Prior art date
Application number
KR1020127010945A
Other languages
English (en)
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 KR20120113702A publication Critical patent/KR20120113702A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • 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/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에서 "집행 비트"라고 칭하는, 파일 속성이 스토리지 장치에 저장된 각 파일을 위해 사용된다. 저장된 파일과 연관된 보호 세부사항들이 변경되도록 허용되면, 집행 비트는 제1 값으로 설정되고, 보호 세부사항들 또는 특성들은 변경되지 않도록 되면, 집행 비트는 제2 값으로 설정된다. 스토리지 장치가 호스트 장치에 연결될 때, 스토리지 장치는 호스트 장치에 보호 세부사항들 및 집행 비트를 제공하며, 이는 보호 세부사항들이 자유롭게 변경되는 것을 허용하는 호스트 장치에 스토리지 장치의 파일들을 통지하기 위하여, 그리고, 보호 세부사항들이 인증되지 않은 사용자들 또는 장치들에 의해 허용되지 않는 파일들을 통지하기 위하여, 호스트 장치가 제시한 파일 시스템 판독 명령에 대응하여 저장된 각 파일에 대해, 집합적으로 "파일 보호 정책"을 구성한다.

Description

스토리지 장치에 의한 파일 보호 정책의 집행{ENFORCING A FILE PROTECTION POLICY BY A STORAGE DEVICE}
본 발명은 스토리지 장치들에 관한 것으로, 보다 상세하게는, 그러한 장치들에 저장된 파일에 관한 파일 보호 정책을 집행하기 위한 방법, 및 파일 보호 정책을 집행하는 방법을 사용하는 장치들에 관한 것이다.
컴퓨터 파일은 파일에 대한 사용, 접근 또는 소비를 위한 방법들을 정의하는 관련된 파일 보호 정책과 함께 스토리지 장치에 저장될 수 있다. 파일 보호 정책은, 예컨대, 보호되어야할 파일의 일부를 유지하는 특정 메모리 블록들을 보호할 수 있다. 다른 예에서, "파일 속성(file attributes)"으로 불리는 파일 성질들에 특정 값들을 설정하는 것에 의해 정의되는, 파일 보호 정책은, 파일에 대한 사용, 접근 또는 소비를 위한 방법들을 정의한다. 사용자가 선택 가능한, 몇몇 파일의 속성들은, 특정 스토리지 오퍼레이션(예컨대, "판독/기록(read/write)")으로부터 파일들을 보호하기 위한 기본 보호 수단을 사용자에게 제공한다. 사용자가 선택 가능한 파일 속성은 사용자가 관련된 파일의 보호를 활성 및 비활성 간에 스위치 할 수 있도록 허용한다. 파일로 랜더링되는 보호의 형식은 파일 속성을 특정하는 것에 의해 정의된다. 예를 들면, "판독-전용(read-only)"로 불리는 파일 속성이 (예컨대, 이를 체크하거나 또는 이를 클릭하는 것에 의해) 사용자에 의해 선택되면, 파일을 저장하는 스토리지 장치와 함께 동작하는 호스트 장치는 사용자가 파일을 판독할 수 있도록 허용하지만, 파일을 삭제, 변경, 또는 덮어쓰기 하는 것은 허용하지 않는다. "숨김(hidden)"으로 불리는 다른 사용자 선택 가능한 파일 속성이 사용자에 의해 선택되면, (다른) 사용자들로부터 파일을 숨긴다. "Archive", "index", "compression" 및 "encryption"은 다른 사용자 선택 가능한 파일 속성들의 실시예들이다.
전형적으로, 만약, 호스트 장치의 사용자가 스토리지 장치에 저장되는 파일을 사용하는 것을 원하면, 호스트 장치는 파일에 관련된 파일 보호 정책을 검사한다. 예를 들면, 만약, 보호 정책이 파일 속성들에 의해 정의되면, 이는 파일과 관련된 파일 속성들의 체크 값이 될 수 있고, 사용자가 단지, 적절한 파일 속성들의 상태 또는 값에 따라 파일을 사용할 수 있도록 한다. 즉, 만약, 사용자가 파일 속성이 허용하지 않는 파일에 대한 오퍼레이션을 수행하는 것을 시도하면, 호스트 장치는 사용자 오퍼레이션을 수행하는 것을 억제한다. 그러므로 호스트 장치가 사용자 및 파일 사이에 보호 계층을 제공하는 것으로 여겨질 수 있다. 하지만, 호스트 장치는 종래에는 파일 속성들에 변경을 허용하였기 때문에, 호스트 장치에 의해 제공되는 보호 계층은 사용자의 부정하게 파일 속성의 값을 변경하는 것에 의해, 또는 호스트 장치가 스토리지 장치와 동작하는 것에 의해, 쉽게 파괴될 수 있다. 호스트 장치는 파일 보호 정책과 관련되거나, 또는, 파일 보호 정책의 일부인 데이터에 우연히 덮어쓰기를 할 수도 있다. 만약, 그렇게 데이터가 덮어 쓰기 되면, 파일 보호 정책의 값은 "보호" 값들에서 "비보호"값들로 변경될 수 있다.
파일 속성들을 이용하는 것을 포함하는 파일 보호 정책들과 관련된 다른 문제는 기존에, 파일 속성들이 스토리지 장치 내에서 파일 시스템을 유지하는 것이다. 파일 시스템에서, 강력한 파일 속성들은, 파일 시스템을 통해 스토리지 장치와 상호작용하는 어플리케이션들로부터 오직 파일 속성들의 값들을 보호할 수 있기 때문에, 문제가 될 수 있다. 즉, 만약, 어플리케이션이 스토리지 장치에 데이터를 기록하는 것을 원하면, 호스트 장치는 이를 어디에 저장할지 결정한다. 그리고 이는 파일 속성들의 스토리지 위치들은 파일 시스템으로부터 호스트 장치로 알려짐으로서, 파일 속성에 덮어쓰기가 되지 않아야 한다. 하지만, 몇몇 관리 어플리케이션들은 스토리지 장치의 파일 시스템을 통해 (즉, 이용하여)서라기보다는 스토리지 장치 내의 메모리 블록들에 데이터를 직접 쓸 수 있다. 왜냐하면, 호스트 장치는 만약 파일 시스템 경로가 바이패스(bypass)되면, 스토지리 장치에 파일은 기록되는 것을 고려하는 제어를 가지고 있지 않기 때문에 문제가 될 수 있다. 그러한 제어의 결여는 파일 속성이 그러한 어플리케이션들에 의해 수행되는 저장 동작에 대해 취약하게 한다.
그러므로 스토리지 장치 상의 저장 동작을 수행하는 어플리케이션에 대해 파일 속성의 취약성의 문제를 해결하는 것이 필요하다. 또한, 인증되지 않은 장치들 및 사용자들에 의해 변경되는 파일 속성들을 보호하는 것이 필요하다.
따라서 본 발명의 목적은 장치들에 저장된 파일에 관한 파일 보호 정책을 집행하기 위한 방법, 및 파일 보호 정책을 집행하는 방법을 사용하는 장치들을 제공함에 있다.
앞서 설명된 내용에 따라, 이는 파일 보호 세부사항들에 의해 정의되는 보호 정책들을 강제하기 위해, 스토리지 장치에서 파일 보호 세부사항들을 보호하기 위한 메커니즘을 제공하는 데에 유리하다. 이는 또한, 원하지 않는 변경들로부터 보호 메커니즘 자체를 보호하는 데에 유리하다. 다양한 실시예들이 이 문헌에서 제공되는 예들, 보호들을 구현하기 위해 설계된다.
앞서 언급된 바를 다루기 위하여, 이 문헌에서 "집행 비트(enforcement bit)"라고 칭하는, 새로운 파일 속성이 스토리지 장치에 저장된 각 파일에 대해 사용된다. 만약, (예컨대, 호스트 장치에 의해) 스토리지 장치에 저장된 파일과 관련된 보호 세부사항들 또는 특성들(예컨대, 파일 속성들)이 변경되는 것을 허용되면, 집행 비트는 제1 값(예컨대, "0" 또는 "OFF")으로 설정되며, 만약, 보호 세부사항들 또는 특성들이 변경되지 않으면, 집행 비트는 제2 값(예컨대, "1" 또는 "ON")으로 설정된다. 스토리지 장치가 호스트 장치에 연결될 때, 상기 스토리지 장치는 호스트 장치 보호 세부사항들 및 집행 비트를 제공한다. 이는, (즉, 각 사용자 및 호스트 장치에 의해) 보호 세부사항들이 자유롭게 변경되는 것을 허용되는 스토리지 장치의 파일들, 및 보호 세부사항들이 인증되지 않은 사용자들 또는 장치들에 의해 변경되는 것이 허용되지 않는 파일들을 호스트 장치에 통지하기 위하여, 호스트 장치가 제시한 파일 시스템 판독 명령에 대응하여 각 저장된 파일에 대해 집합적으로 "파일 보호 정책"을 형성한다.
상술한 바와 같이, 본 발명은 장치들에 저장된 파일에 관한 파일 보호 정책을 집행하기 위한 방법, 및 파일 보호 정책을 집행하는 방법을 사용하는 장치들을 제공할 수 있다.
이 상세한 설명에 포함되며, 일부를 구성하는, 첨부된 도면들은 예시적이나 제한하려는 것이 아닌 의도를 가지는 다양한 실시예들을 도시한다. 설명의 단순화 및 간략화를 위하여, 아래에서 참조되는 도면에 도시된 요소들은 반드시 그러한 스케일로 도시되지는 않았음을 이해하여야 한다. 또한, 이해를 고려하여, 참조 번호는 같거나, 대응하거나, 또는 유사한 요소들을 나타내기 위하여 도면들에서 반복될 수 있다.
도 1은 본 발명의 실시예에 따른 스토리지 장치의 블록도이다;
도 2는 본 발명의 실시예에 따른 스토리지 장치의 파일 시스템에서 집행 비트들의 위치를 도시한다;
도 3은 본 발명의 실시예에 따른 스토리지 장치에서 집행 비트들을 "OFF"/"ON"으로 설정하기 위한 호스트 명령의 구조를 보인다;
도 4는 본 발명의 실시예에 따른 스토리지 장치 내의 메모리 블록들의 범위에 저장된 파일 보호 정책을 보호하기 위한 호스트 명령의 구조를 보인다.
도 5는 본 발명의 실시예에 따른 스토리지 장치 내의 메모리 바이트들의 범위에 저장된 지시자들(즉, 집행 비트들)을 보호하기 위한 호스트 명령의 구조를 보인다;
도 6은 본 발명의 실시예에 따른 파일 보호 정책을 가지는 스토리지 장치를 업데이트하기 위한 방법이다;
도 7은 본 발명의 실시예에 따른 호스트 장치에 의한 파일 보호 정책을 이용하기 위한 방법들이다; 그리고,
도 8은 본 발명의 다른 실시예에 따른 호스트 장치에 의해 파일 보호 정책을 이용하기 위한 방법이다.
다음의 설명은 실시예들의 다양한 세부 사항들을 제공한다. 하지만, 이 상세한 설명은 청구범위의 범위를 제한하기 위해 의도된 것은 아니며, 대신 다양한 본 발명의 다양한 원리들 및 이를 실시할 수 있는 방식을 설명하기 위한 것이다.
파일 속성은 보호 특정의 예들로서 공개되는 것들을 통해 언급된다. 하지만 다른 보호 특정이 사용될 수 있다. 예를 들면, 보호 정의 데이터가 파일 시스템 내에서 전용 위치들 대신 스토리지 장치의 전용 위치에 저장될 수 있다.
앞서 설명한 바와 같이, 호스트 장치들의 의해 처리되는 파일 보호 정책들은 의도하지 않은 변화들에 취약하다. 이 문제에 대한 해결책은 스토리지 장치에 제2 보호 "계층"을 추가하는 것, 호스트 장치에 스토리지 장차가 제2 보호 계층을 가지고 있으며, 스토리지 장치가 제2 보호 계층을 집행한다는 점을 통지하는 것을 포함한다. 만약, 새로운 보호 계층이 스토리지 장치에 추가되고, 호스트 장치가 스토리지 장치 동작이 파일 보호 정책을 집행할 수 없도록 하거나, 또는, 이를 무시하거나, 오용하거나, 또는 파일 보호 정책과 충돌되게 실행되면, 스토리지 장치는 이를 집행한다.
새로운 보호 계층은 다양한 방법으로 구현될 수 있다. 예를 들면, 새로운 파일 속성 또는 새로운 지시자를 추가하고 이용하는 것에 의해 구현될 수 있다. 새로운 파일 속성 또는 새로운 지시자는 본 문헌에서 "집행 비트(enforcement bit)"로 칭해진다. 집행 비트는 스토리지 장치에 대해 지시한다. 그리고, 호스트 장치에 파일 보호 정책을 집행할지 여부에 대한 통지를 전송한다. 만약, 파일 보호 정책이 집행되지 않으면, 이는 호스트 장치 또는 호스트 장치의 사용자에 의해 파일 보호 정책이 변경되는 것을 허가되었음을 의미한다.
집행 비트의 값은 관리 엔티티에 의해 (단지) 제1 값 또는 상태(예컨대, "0" 또는 "OFF") 및 제2 값 또는 상태(예컨대, "1" 또는 "ON") 사이에서 스위치 가능하다. 제1 값을 이용하는 것에 의해(또는 제1 상태를 이용하는 것에 의해), 스토리지 장치는 파일 보호 정책을 집행한다; 즉, 이는 파일 보호 정책에서 변경을 허용하지 않는다. 제2 값을 이용하는 것에 의해(또는 제2 상태를 이용하는 것에 의해), 스토리지 장치는 파일 보호 정책을 집행하지 않는다; 즉, 이는 파일 보호 정책을 고려하지 않으며, 이의 변경을 허용한다.
"스토리지 장치에 의해 집행되는 것"은 스토리지 장치가 (집행된) 파일 보호 정책의 어떤 성질을 변경하기 위한 인증되지 않은 장치의 어떤 시도를 거부 또는 무시하는 것을 의미한다. 각 파일 마다 하나의 파일 보호 정책 및 하나의 집행 비트가 존재하며, 각 집행 비트는 적절한 파일이 보호되어야 하는지 여부에 따라, 2개의 값 또는 상태들 "OFF" 및 "ON" 중 하나를 가질 수 있다. 집행 비트들의 값들은 신뢰되는 파티(예컨대, 관리 엔티티)에 의해 설정되고, 호스트 장치에 의해 판독될 수 있다. 하지만, 신뢰되는 파티에 의해 또는 신뢰되는 파티를 통해 변경될 수 없다.
집행 비트들은 호스트 장치가 집행 비트들을 판독하는 것을 허용하기 위하여, 스토리지 장치 내의 파일 시스템에 저장되고, 스토리지 장치 내의 파일 시스템을 통해 접속할 수 있다. 그리고 그들은 인증되지 않은 변경들로부터 스토리지 장치에서 자체적으로 보호된다.
"파일 할당 테이블(FAT, File Allocation Table)"은 많은 컴퓨터 시스템들 및 많은 메모리 카드들 상에서 널리 사용되는 컴퓨터 파일 시스템 아키텍처이다. FAT 파일 시스템은 많은 운영 체제(operating system)들에 의해 지원되며, 이는 메모리 카드에 유용한 형식을 제공하며, 운영 체제들 간에 데이터를 공유하기 위한 편리한 방법을 제공한다. FAT 파일 시스템은 4개의 다른 섹션들을 포함한다. 첫 번째 섹션은 예약된 섹터들을 포함한다. 제1 예약 섹터(sector 0)는 부트 섹터이며, 이는 일반적으로 운영 체제의 부트 로더 코드를 포함한다. 제2 섹션은 FAT 영역에 포함된다. FAT 영역은 전형적으로 여분을 위한 FAT의 2개의 카피들을 포함한다. FAT의 카피들은 데이터 영역에 매핑되고, 그들은 어떤 메모리 클러스터들이 파일들 및 디렉토리들에 의해 사용되었는지를 나타낸다. 제3 섹션은 루트 리렉토리 영역을 포함한다. 루트 디렉토리 영역은 루트 디렉토리에 위치한 파일들 및 디렉토리들에 대한 정보를 저장하는 디렉토리 테이블을 포함한다. 대부분의 디렉토리 영역은 단지 FAT12 및 FAT12와 함께 사용된다. FAT32는 파일들 및 다른 디렉토리들을 따라 데이터 영역에서 루트 디렉토리에 저장된다. 제4 섹션은 데이터 영역을 포함한다. 데이터 영역은 실제 파일 및 디렉토리 데이터가 저장되는 장소이다. 파일들의 크기 및 서브디렉토리는 FAT에서 파일의 체인에 링크들을 더 추가하는 것에 의해 (프리 메모리 클러스터가 존재하는 만큼) 임의로 증가될 수 있다. FAT32는 전형적으로 클러스터 번호 2에 루트 디렉토리 테이블을 유지한다. 이는 데이터 영역의 제1 메모리 클러스터이다.
디렉토리 테이블은 디렉토리를 표현하는 특별한 형식의 파일이다. FAT32의 디렉토리 테이블 내에 저장된 각 파일 또는 디렉토리는 테이블에서 32 바이트 엔트리에 의해 표현된다. 각 테이블 엔트리는 명칭, 확장, 파일 속성들("보관(archive)", "디렉토리(directory)", "숨김(hidden)", "판독 전용(read-only)", "시스템(system)" 및 "볼륨(volume)"), 데이터 및 생성 시간, 파일/디렉토리의 데이터의 첫 클러스터의 어드레스 및 마지막으로 파일/디렉토리의 크기를 유지(hold)한다. 각 디렉토리 엔트리의 12번째 바이트는 파일 속성을 표현하는 8개 비트들을 포함하며, 다음과 같다: 비트 0은 "판독 전용(read-only)" 속성을 표현한다; 비트 1은 "숨김(hidden)" 속성을 표현한다; 비트 2는 "시스템(system)" 속성을 표현한다; 비트 3은 "볼륨 라벨(Volume Label)" 속성을 표현한다; 비트 4는 "서브디렉토리(Subdirectory)" 속성을 표현한다; 비트 5는 "보관(archive)" 속성을 표현한다; 비트 6은 "장치(Device)" 속성을 표현한다(오직 내부에서 사용을 위한): 비트 7은 "사용되지 않는(Unused)" 비트이다. 일 실시예에 있어서, 종래에는 사용되지 않았던, 파일 속성 비트 6은, 집행 비트로 이용될 수 있다. (노트: 다른 여분 비트인 비트 7은 비트 6 대신 사용될 수 있다.)
도 1은 본 발명의 실시예에 따른 스토리지 장치(100)의 블록도이다. 스토리지 장치(100)는 파일 저장을 위한 메모리(110) 및 스토리지 장치(100)의 파일 시스템(114)을 포함한다. 파일 시스템(114)을 통해 저장된 파일에 접근할 수 있다.
또한, 스토리지 장치(100)는 메모리(110)를 관리하기 위한 메모리 제어기(120) 및 데이터 정보를 교환하기 위한 호스트 인터페이스(130)를 포함하며, 관리 엔티티(140) 및 (동시에 이루어지지 않음) 호스트 장치(150)에 명령한다. 관리 엔티티(140)는 서비스 제공자 또는 콘텐츠 제공자, 등이 될 수 있다. 호스트 장치(150)는 어플리케이션, 디지털 카메라, 셀룰러 폰, 등이 될 수 있다. 관리 엔티티(140)는 하나 이상의 파일들(112)을 메모리 제어기(120)에 메모리(110)에 파일들을 저장하라는 명령에 따라, 호스트 인터페이스(130)를 통해, 전송한다(142). 관리 엔티티(140)는 또한, 저장 장치(100)에 파일 보호 정책을 전송한다(142). 그리고 메모리 제어기(120)는 파일 시스템(114)을 파일 보호 정책으로 업데이트한다. 대안적으로, 관리 엔티티(140)는 그것에 미리 포함되어 있거나, 또는 내장되어 있는 파일 보호 정책과 함께 파일 시스템(114)을 메모리 제어기(120)에 그 전체를 기록한다. 115에 보인 파일 보호 정책은 저장된 각 파일에 대한, 그리고, 가능하다면 메모리(110)에 저장된 파일들에 대한 파일 보호 세부사항들을 포함한다. 예를 들면, 파일 보호 세부사항(160)은 파일(118)(파일 보호 세부사항들(160)의 파일(118)에 대한 관계는 점선(162)에 의해 보인다.)에 적용된다. 즉, 파일 보호 세부사항(160)이 사용되면, 즉, 그들이 "턴 온(turned on)되거나", 활성화되거나, 또는, 이용할 수 있게 되면, 파일(118)은 그들에 의해 보호된다. 이는 파일(118)이 파일 보호 세부사항(160)에 의해 특정된 방법으로 접속할 수 있거나, 사용될 수 있거나, 또는 소비될 수 있다는 것을 의미한다. 파일 보호 세부사항(160)이 사용되지 않으면, 즉, 그들이 "턴 오프(turned off)되거나", 비활성화되거나, 이용할 수 없게 되면, 파일(118)은 그들에 의해 보호받지 못한다. 이는 파일(118)이 파일 보호 세부사항(160)의 특정된 것에 무관하게 접속할 수 있거나, 사용될 수 있거나, 또는 소비될 수 있다는 것을 의미한다. 파일 보호 정보(160)의 콘텐츠는 파일 보호 정책에 따른다. 그리고 이는 관리 엔티티(140)에 의해 미리 결정된다. 이는 어플리케이션 또는 외부 장치가 될 수 있다.
관리 엔티티(140)는 다른 파일들이 보호되지 않아도 되는 반면, 적절한 파일 보호 세부사항들에 특정된 방법으로 보호되어야 하는 메모리(110)에 저장된 몇몇의 파일들을 결정할 수 있다. 앞서 설명된 바에 따라, 파일 보호 세부사상(160)의 활성화 및 비활성화를 고려하면, 각 파일의 파일 보호 정책은 이 파일이 반드시 보호되어야 하는지 또는 이 파일이 반드시 보호되지 않아도 되는지 여부에 따라 관리 엔티티(140)에 의해 활성화되거나 , 또는 비활성화된다.
메모리 제어기(120)가 특정 파일과 관련된 특정 파일 보호 정책이 특정 파일 상에서 집행되었는지 여부를 "알 수(Know)" 있도록 하기 위해, 관리 엔티티(140)는 파일 시스템(114) 내의 집행 비트로 대응하는 값(예컨대, "ON")을 설정한다. 이는 고유하게 특정 파일 보호 정책 및 특정 파일에 관련된다. 집행 비트를 "ON"으로 설정하는 것과 함께, 메모리 제어기(120)는 파일 상에서 파일 보호 정책이 집행되어야하는지를 "알 수(know)" 있다. (즉, 집행 비트는 나타내어진다.) 집행 비트가 "OFF"로 설정되면, 메모리 제어기(120)는 파일 보호 정책이 고려되지 않음을 알 수 있다. 비 관리 엔티티들(예컨대, 호스트 장치(150))에 의한 파일 보호 정책(116)에 대한 변경은 허용되지 않는다.
관리 엔티티(140)는 파일들의 파일 속성들을 특정 상태들로 설정하고, 그런 다음, 파일들 및 메모리(110)에 관련된 파일 속성들을 저장한다. 신뢰되는 장치(140)는 특정 파일의 파일 속성들을 집행하고, 호스트(150)를 허용하지 않기 위해, 또는, 호스트 장치(150)의 사용자가, 그들의 어떤 것이라도 변경하는 것을 허용하지 않기 위해, 메모리 제어기(120)에 명령을 추가로 전송할 수 있다.
그러므로 메모리 제어기(120)는 예를 들면, 파일들(112)로부터, 선택된 특정한 하나 이상의 파일들의 속성을 집행하기 위해 관리 엔티티(140)로부터 명령을 수신(142)하도록 구성된다. 관리 엔티티(140)로부터 하나 이상의 명령들을 수신하기 위하여, 메모리 제어기(120)는 "OFF" 상태로부터 대응하는 집행 비트를 스위칭 하는 것에 의해 각 선택된 파일의 파일 속성들을 집행한다. 여기서, 적절한 파일 속성들은 호스트 장치(예컨대, 호스트 장치 150)를 통해 또는 의해 "ON" 상태로 변경될 수 있다. 여기서, 호스트 장치에 의해 또는 호스트 장치를 통해 적절한 파일 속성들을 변경하는 것은 메모리 제어기(120)에 의해 금지된다.
호스트 장치(150)와 관리 엔티티(140) 및 인터페이스 하는 스토리지 장치(100)로부터 스토리지 장치(100)에 대한 연결을 해제하면, 메모리 제어기(120)는 호스트 장치(150)의 파일 속성들이 메모리 제어기(120)에 의해 집행됨을 파일들(예컨대, 하나 이상의 파일들(112))의 호스트 장치(150)에 통지한다. 메모리 제어기(120)는, 호스트 장치(150)가 메모리 제어기(120)에 의해 집행되는 파일 속성을 변경하도록 하는 틀린 명령을 전송하는 것을 방지하기 위하여, 그러한 파일들의 호스트 장치(150)에 통지한다. 메모리 제어기(120)에 의해 집행되는 파일 속성들은, 관리 엔티티(140)와 같은 신뢰되는 장치로부터 촉발되는 변경 명령과는 반대로, 그들을 변경하는 명령이 신뢰되지 않는 장치들(예컨대, 호스트 장치 150)로부터 촉발되었다면, 메모리 제어기(120)가 그들을 변경하는 것을 허용하지 않은 것과 같이, "보호 파일 속성들"로 간주될 수 있다.
호스트 장치(150)에 스토리지 장치(100)를 연결하면, 호스트 장치(150)는 파일 시스템의 제어를 추정하기 위하여, 스토리지 장치(100)로부터 파일 시스템(114)을 판독한다. 또한, 호스트 장치(150)에 의해 파일 시스템(114)을 판독하는 것은 디렉토리 테이블에 상주하는 파일 시스템(114)의 디렉토리 테이블 및 집행 비트들을 판독하다는 것을 의미한다. 메모리 제어기(120)가 파일 시스템(114)을 판독하라는 호스트의 명령에 대한 응답하는 프로세스는, 호스트 장치(150)에 메모리 제어기(120)에 의해 파일 보호 정책들이 사용됨을 통지하거나, 또는, 호스트 장치(150)에 보호 세부사항들(예컨대, 파일 속성들)이 변경들로부터 보호되는 파일들을 통지하는 것으로 간주된다. 다른 말로, 메모리 제어기(120)는 호스트 장치(150)에, 어떤 파일의 속성들이 메모리 제어기(120)에 의해 집행되거나/보호되는지, 그리고, 어떤 파일들의 속성들이 그렇지 않은지 여부에 따라, 집행 비트들 중 일부는 "OFF"로 설정하고, (아마) 몇몇 집행 비트들은 "ON"으로 설정하여, 파일 속성들이 호스트 장치(150)에 대한 전체 디렉터리 테이블의 뷰(view)를 제공하는 것에 의해 보호되는 파일들을 통지한다. 파일 보호 세부사항(160)은 디렉토리 테이블에 상주할 수 있다. 보인 디렉토리 테이블은 호스트 장치(150)에서 디렉토리 테이블(156)로 보인다.
보통 파일 속성은 종래의 방법으로 호스트 장치(150)의 사용자가 열람할 수 있다. 집행 비트는 호스트 장치(150)에 의해 식별되지만, 사용자는 이를 볼 수 없다. 그러므로 개별 파일의 파일 속성들이 메모리 제어기(120)에 의해 집행되는지는 알 수 없고, 사용자는 이의 값 또는 상태를 변경하는 것을 원할 수 있다. 예를 들면, 보호를 위해, 관리 엔티티(140)에 의해 선택되는, "판독 전용"으로부터 파일 속성의 상태를 "판독-기록"속성으로 변경하는 것을 원할 수 있다. 하지만, 호스트 장치(150)는 집행 비트들의 상태를 식별하기 위한, 그리고, 그들에 따라 반응하기 위한 수단(예컨대, 소프트웨어 어플리케이션 154)을 제공 받을 수 있다. 이에 따라, 적절한 비트가 "ON"으로 설정되면, 보호된 파일 속성들을 변경하도록 스토리지 장치(100)에 잘못된 명령들을 전송하는 것을 억제함; 그리고, (그 비트는 "ON"으로 설정된 것으로 가정한다.) 그러한 명령이 호스트 장치의 사용자에 의해 개시되면, 예를 들면, "파일 속성은 변경될 수 없음!"과 같은, 경고 메시지를 사용자에게 전송한다. 메모리 제어기(120)에 의해 실행될 때, 어플리케이션(112)은 이 문헌에서 설명된 바와 같이, 호스트 장치(150)에 의해 만들어지는, 프로세스, 프로시저, 결정, 등을 수행한다.
도 2는 본 발명의 실시예에 따른 디렉토리 테이블(116)을 보인다. 도 2는 도 1과 관련되어 설명될 것이다. 대형 디렉토리 테이블의 일부인 디렉토리 테이블(116)은 메모리(110)에 저장된 각 파일에 대한 엔트리를 포함하며, 이러한 각 파일은 사용자가 소비 가능한/이용할 수 있는 파일(예컨대, 마이크로소프트 워드 파일, 비디오 파일, 음악 파일, 그림 파일, 등), 시스템 파일, 어플리케이션 파일, 또는, 관련된 파일의 데이터가 접근할 수 있는(즉, 판독, 회수) 디렉토리 파일이 될 수 있다. 디렉토리 테이블(116)의 각 엔트리는 다른 것들 사이에서, 적절한 파일의 파일 속성들에 대해 전용된 8 비트들의 상태를 포함한다. 예를 들면, 디렉토리 테이블(116)은 파일 "F1"에 대한 엔트리(202), 파일 "F2"에 대한 엔트리(204), 파일 "F3"에 대한 엔트리, 등을 포함한다. 일예로써, 일반적으로 파일 속성 "판독 전용"으로 표현되어지는, 엔트리(202)의 비트 0은 "0"으로 설정되며, 파일 속성 "숨김"으로 표현되어지는, 비트 1(또한, 엔트리 202에서)은 "0"으로 설정되고, 파일 속성 "시스템"으로 표현되어지는, 비트 2(또한, 엔트리 202에서)는 "1"로 설정되는 것, 등을 예로 들 수 있다. 비트 0 내지 비트 5는 호스트에 의해 설정되거나, 도는 호스트의 사용자에 의해 설명될 수 있다. 반면, 비트 6(210에 보인)은 관리 엔티티(140)와 같은, 신뢰되는 장치에 의해 설정될 수 있다.
메모리 제어기(120)가 특정 파일의 속성을 보호하기 위한 명령을 수신할 때, 이는 대응하는 집행 비트를 "ON"으로 설정하는 것에 의한 명령을 따른다. 한 예로써, 파일 "F1"에 관련된 엔트리에서 비트 6(즉, 파일 "F1"의 집행 비트)은 "ON"으로 설정된다. 이는, 앞서 설명된 바와 같이, 호스트 장치나, 호스트 사용자가 포괄적으로, 파일 "F1"에 관련된 비트 0 내지 비트 5의 값, 을 변경하는 것을 허용하지 않음을 의미한다. 마찬가지로, 파일 "F2"와 관련된 엔트리의 비트 6(즉, 파일 "F2"의 집행 비트)은 "ON"으로 설정된다. 이는 호스트 장치 또는, 호스트 사용자가 포괄적으로, 파일 "F2"와 관련된, 비트 0 내지 비트 5의 값을 변경할 수 있도록, 허용하지 않는다는 것을 의미한다. 파일 "F3"의 비트 6은 "0"으로 설정된다. 이는 호스트 장치 또는 호스트 사용자가 파일 "F3"과 관련된 비트 0 내지 비트 5의 값을 변경할 수 있도록 허용한다는 것의 의미한다.
앞서 설명된 바와 같이, 메모리 제어기(120)는 관련된 집행 비트가 "ON"으로 설정되면, 파일 속성을 변경하는 것을 허용하지 않는다. 하지만, 호스트 장치(150)는 메모리(110)에 적법한 데이터를 기록할 수 있고, 그러한 데이터가 기록될 때, 하나 이상의 집행 비트들을 의도하지 않게 덮어 쓰기 할 수 있다. 그러므로 관리 엔티티(140)는 원하지 않는 변경으로부터 집행 비트를 보호하도록 메모리 제어기(120)에 분할 명령을 전송한다. 아래에서 설명될, 도 5는 관리 엔티티가 스토리지 장치에 집행 비트를 보호하기 위한 전송하는 예시적인 명령을 보인다.
도 3은 본 발명의 실시예에 따라 관리 엔티티가 "ON"으로 집행 비트들을 설정하도록 스토리지 장치에 전송하는 예시적인 명령(300)을 보인다. 명령(300)은 지정된 지시자(즉, 집행 비트)를 "ON" 또는 "OFF"로 설정하도록 하는 메모리 제어기(120)에 대한 인스트럭션이다. 스토리지 장치는 명령(300과 같은 많은 명령을 스토리지 장치에 파일이 존재하는 것만큼 수신할 수 있다. 즉, 하나의 명령은 각 파일에 대응하거나, 또는, 단지, 지시자들을 "ON"으로 설정하는 데에 요구되는 것만큼의 명령이거나, 또는, 지시자들의 그룹을 "ON"으로 설정하기 위한 오직 하나의 명령일 수 있다.
명령(300)은 관리 엔티티(140) 및 스토리지 장치(110) 사이의 통신 세션에 적용되는 세부사항들에 관련된 식별자를 포함하는 "세션 식별자(session ID)" 필드, 지시자(즉, 집행 비트)를 포함하는 LBA 메모리 블록의 제1 논리 블록(LBA) 어드레스를 포함하는 "LBA ID" 필드, 지시자를 포함하는 적용된 LBA 내의 바이트를 포인트(point, 지시)하는 "바이트 오프셋(Byte offset)" 필드, 및 이 지시자는 설정되어야 하는 값(예컨대, "ON" 또는 "OFF")을 나타내는, "파일 속성" 필드를 포함한다. 명령(300)을 이용하는 것에 의해, 스토리지 장치의 메모리 제어기(예컨대, 메모리 제어기 120)는 "지시자"로 서비스되는, 비트의 메모리 위치를 식별하고, 그 비트의 값을 지정된 값으로 설정한다.
이 문헌에 설명된 바와 같이, 파일은 파일 보호 정책을 이용하는 것에 의해 보호될 수 있고, 파일 보호 정책은 스토리지 장치에 의해 집행될 수 있다. 하지만, 파일 보호 정책 및 스토리지 장치에 의한 이의 집행의 지시자는 또한 파일이 의도적으로 보호되는 것을 보장하기 위하여, 보호되어야 한다. 파일 보호 정책 및 지시자들을 보호하는 것은 도 4 및 도 5에 보이며, 이는 아래에서 설명된다.
도 4는 관리 엔티티가 본 발명의 실시예에 따른 LBA들의 범위에 저장된 파일 보호 정책을 보호하기 위한 저장 장치에 전송하는 예시적인 명령(400)을 보인다. 명령(400)은, 신뢰되는 장치(예컨대, 관리 엔티티 140) 및 스토리지 장치(예컨대, 스토리지 장치 110) 사이의 통신 세션에 적용되는, 그리고, 파일 보호 정책(의 세부 사항)을 저장하는 FAT의 데이터 영역 내에 메모리 블록들의 특정 LBA 범위를 보호가 위해 스토리지 장치(예컨대, 메모리 제어기 120)의 메모리 제어기에 대한 대응하는 명령에 적용되는 세부사항에 관련된 식별자를 포함하는 "세션 식별자(ID)" 필드를 포함하는 구조를 가진다. 그러한 목적을 달성하기 위해, 명령(400)의 구조는 또한, 스토리지 장치의 메모리 제어기에 대해 FAT의 데이터 영역 내의 LBA 범위의 첫 번째 LBA 어드레스 및 마지막 LBA 어드레스를 특정하는 "LBA 시작 어드레스" 필드 및 "LBA 끝 어드레스" 필드를 각각 포함한다. 명령(400)을 이용하는 것에 의해, 스토리지 장치의 메모리 제어기(예컨대, 메모리 제어기 120)는 인증되지 않은 변경으로부터 파일 보호 정책들을 보호한다. 만약, 파일 보호 정책이 인터스프레드된(interspersed) LBA 어드레스에 저장되면(즉, LBA 어드레스들이 연속적으로 배치되어 있지 않으면), 관리 엔티티(140)는 각 LBA 어드레스에 대해 (즉, 보호를 위해) 스토리지 장치에 명령(400)과 유사한 명령을 전송한다.
일 실시예에 있어서, 명령(400)은 단지 파일 보호 정책을 저장하는 메모리 블록들의 어드레스들을 특정 하고, 메모리 제어기는 이러한 메모리 블록들의 콘텐츠를 보호하거나(즉, 정책의 세부사항), 또는, 대응하는 지시자 비트의 값에 따라 이를 보호하는 것을 억제한다. 대안적으로, 명령(400)은 또한, 메모리 제어기가 그 비트의 값을 고려하지 않고 특정된 메모리 블록들의 콘텐츠를 보호하도록 지시한다. 파일 보호 정책을 보호하는 것은, 또한, 지시자를 저장(hold)하는 메모리 내의 메모리 바이트를 보호하는 것에 의해 적절한 지시자를 보호하는 것을 포함한다.
도 2로 돌아가면, 디렉토리 테이블(116)은 단지 속성 비트들을 포함하는 것으로 보인다. 하지만, 디렉토리 테이블(116)의 각 엔트리는 또한, 파일들에 대한 접근을 용이하게 하는 디렉토리 데이터를 포함한다. (노트: FAT 스킴에 따라, 디렉토리 데이터는 FAT의 루트 디렉토리 영역 또는 FAT의 데이터 영역에 저장될 수 있음) 파일의 디렉토리 경로의 디렉토리 특정에 따라, 파일은 하나 이상의 디렉토리들을 통해 접근될 수 있다. 여기서, 각 디렉토리는 이것에 관련된 분리된 디렉토리 테이블/파일을 가진다. (노트: 만약, 파일 접근에 포함되는 2개 이상이 디렉토리들이 존재하면, 첫 번째 디렉토리는 "루트 디렉토리"라고 칭하며, 다른 디렉토리는 "서브디렉토리"라고 칭한다.) 몇몇 디렉토리 테이블들이 특정 파일에 접근하기 위하여 필요하면, 그 파일의 루트 디렉토리는 제1 서브디렉토리 테이블을 지시하는 포인터를 포함한다. 제1 서브디렉토리 테이블은 제2 서브디렉토리 테이블을 지시하는 포인터를 포함하며, 등, 그리고, 마지막 서브디렉토리 테이블은 파일의 데이터의 첫 번째 메모리 어드레스를 지시하는 포인터를 포함한다.
만약, 몇몇 이유로 인해, 보호된 파일의 진본의 디렉토리 경로가 변경되거나, 또는, 삭제되면, 파일은 파일의 데이터 및 속성이 보호되어 있다고 할지라도, 파일에 접근할 수 없다. 그러므로 만약, 파일이, 이의 디렉토리 경로가 훼손되었기 때문에, 파일 시스템을 통해 "보이지 않으면(invisible)", 파일 보호 정책을 이용하는 포인트가 존재하지 않는다. 그러므로 관리 엔티티(140)는 보호된 파일의 진본 디렉토리 경로를 보호가 위해, 보호된 파일에 관련된 (즉, 디렉토리 경로) 디렉토리 데이터를 보호하기 위해, 명령(400), 또는, 유사한 명령을 이용할 수 있다. 관리 엔티티(140)는 디렉토리 테이블에서 (예를 들면) 전체 32 바이트 엔트리를 보호하기 위한 명령(400)과 같은 명령을 이용할 수 있다. 이는 보호된 파일에 적용된다.
도 5는 본 발명의 실시예에 따라 관리 엔티티가 집행 비트를 보호하기 위해 스토리지 장치에 전송하는 예시적인 명령을 보인다. 명령(500)은 신뢰되는 장치(예컨대, 관리 엔티티 140) 및 스토리지 장치(예컨대, 스토리지 장치 110) 사이의 통신 세션에 적용되며, 지시자들을 (즉, 서비스하는 것과 같이) 저장하는 비트들의 콘텐츠를 보호하기 위한 대응하는 명령에 적용되는 세부 사항과 관련된 식별자를 포함하는 "세션 식별자(ID)" 필드를 포함하는 구조를 가진다. 명령(500)의 구조는 또한, 보호되기 위해 필요한 집행 비트들을 포함하는 LBA 어드레스를 특정하는 (즉, 스토리지 장치의 메모리 제어기에 대해) "LBA 어드레스" 필드를 포함하며, "바이트 시작 어드레스(byte start address)"는 보호되기 위해 필요한 특정된 LBA 어드레스 내의 제1 바이트를 특정하고, "바이트 끝 어드레스(byte end address)"는 보호되기 위해 필요한 LBA 어드레스 내의 마지막 바이트를 특정한다. 보호된 바이트는 오직 하나의 지시자 비트 또는 하나 이상의 지시자 비트를 포함할 수 있다. 명령(500)을 이용하는 것에 의해, 스토리지 장치의 메모리 제어기(예컨대, 메모리 제어기 120)는 인증되지 않은 변경으로부터 지시자들을 보호한다.
도 6은 본 발명의 실시예에 따른 파일 보호 정책을 보호호가 위한 방법이다. 도 6은 도 1과 관련되어 설명될 것이다. 610 단계에서, 스토리지 장치(100)는 메모리(110)에 저장된 하나 이상의 파일을 보호하기 위해, 그리고, 메모리(110)에 저장하기 위한 하나 이상의 파일들을 위해 관리 엔티티(140)로부터 파일 보호 정책을 수신한다. 파일 보호 정책은 보호 세부사항들을 포함할 수 있다. 또는, 이는 선택된 파일들에 적용하는 보호 특성들을 정의할 수 있다. 파일 보호 정책은 이의 값들/상태들이 각 선택된 파일이 집행되어야 하는지 또는 아닌지를 적용하는 보호 세부사항들인지, 또는, 보호 특성들인지 여부를 지시하는 집행 비트들을 포함할 수 있다.
보호 세부사항들, 또는 정의 보호 특성들은 보호 정책 파일로 스토리지 장치(100)로 전달될 수 있다. 보호 정책 파일은 메모리(110)에 저장될 수 있고, 또는, 스토리지 장치(100)의 파일 시스템 내에, 보호 정책 파일의 콘텐츠가 저장되거나, 또는, 내장될 수 있다.
집행 비트들은 다음의 방법들 중 하나를 이용하여 스토리지 장치(100)에 전달 될 수 있다. (1) 만약, 스토리지 장치(100)가 무관한 값들 또는 상태들로 설정된 집행 비트들을 가지는 파일 시스템을 포함하면, 스토리지 장치(100)는 파일 시스템 내에서 관심 있는 집행 비트들을 "ON"으로 설정하는 하나 이상의 명령들로 파일 보호 정책을 수신할 수 있다. (2) 만약, 스토리지 장치(100)가 집행 비트들을 포함하지 않는 파일 시스템을 포함하면, 관련된 값들 또는 상태들로 (예컨대, 관리 엔티티 140에 의해서) 미리 설정된 집행 비트들을 포함하는 대체 파일 시스템을 수신할 수 있다; 그리고, (3) 만약, 스토리지 장치(100)가 파일 시스템을 포함하지 않으면, 집행 비트들을 포함하는 파일 시스템을 수신할 수 있다. 여기서, 집행 비트들은 연관된 값들 또는 상태들로 미리 설정된다.
스토리지 장치(100)에 파일 보호 정책을 전달하기 위해 사용되는 방법에 따라, 620 단계에서, 메모리 제어기(120)는 정확한 값들 또는 상태들로 파일 시스템 내의 집행 비트들을 설정하기 위한, 또는, 정확한 값들 또는 상태들로 설정된 집행 비트들을 가지는 파일 시스템을 메모리(110)에 기록하기 위한 명령을 실행한다.
630 단계에서, 메모리 제어기(120)는 호스트 장치가 스토리지 장치의 파일 시스템을 판독하기 위해 스트로지 장치에 전송한 판독 명령에 대응하여 호스트 장치(150)에 파일 보호 정책을 제공한다. 호스트 장치에 파일 보호 정책을 제공하는 것에 의해, 메모리 제어기(120)는 호스트 장치에 파일 보호 정책을 통지하며, 그 파일 보호 정책은 스토리지 장치(100)에 의해 집행된다. 만약, 호스트 장치가 파일 보보 정책의 의미를 "이해하고", 이를 준수하면, 이는 파일 보호 정책을 위반하는 스토리지 장치(100)에 저장 명령을 전송하기 위해 시도하지 않는다. 호스트 장치가 파일 보호 정책의 의미를 이해하지 못하면, 이는 스토리지 장치(100)에 적법하지 않은 저장 명령을 전송하기 위해 시도할 수 있다. 하지만, 두 번째 경우에서, 메모리 제어기(120)는 파일 보호 정책을 위반하지 않기 위해, 호스트의 명령 실행을 억제한다. 파일 보호 정책의 의미를 이해한다는 것은 집행 비트가 "ON"으로 설정되어 있는지 여부를 이해한다는 의미이다. 이는 메모리(100)에 저장된 관련된 파일에 적용되는 보호 세부사항들 또는 특성들이 변경되지 않는다는 것을 의미하고, 그리고, 어떤 보호 세부사항 또는 특성들을 변경하기 위한 시도들도 실패할 것, 즉, 거부되거나 또는 무시될 것임을 의미한다.
호스트 장치는 "파일 보호 정책 호환('file protection policy compliant)" 장치 또는 비-호환(non-compliant) 장치가 될 수 있다. 만약, 호스트 장치가 파일 보호 정책 호환되는 것일 때의 파일 보호 정책을 이용하기 위한 예시적인 방법이 도 7에 도시되었다. 이는 아래에서 설명된다. 만약, 호스트 장치가 비 호환되는 장치일 때의 파일 보호 정책을 이용하기 위한 예시적인 방법이 도 8에 도시되었다. 이는 아래에서 설명된다.
도 7은 본 발명의 실시예에 따른 파일 보호 정책을 이용하는 방법의 실시예이다. 도 7은 도 1과 관련하여 설명될 것이다. 스토리지 장치(100)는 호스트 장치(150)에 연결되며, 사용자는 이 실시예에서, 메모리(110)에 저장된 특정 파일 'x'의 파일 속성(예컨대, "판독 전용")인 보호 세부사항의 현재 상태를 변경하는 것을 원한다고 가정한다. 710 단계에서, 호스트 장치(150)는 특정 파일의 특정 파일 속성의 상태를 변경하기 위해 사용자로부터 요청을 수신한다.
720 단계에서, 호스트 장치(150)는 파일과 관련된 집행 비트를 검사한다. 만약, 집행 비트가 "OFF"(730 단계에서 "N"으로 도시됨)이면, 어떤 장치라도 적절한 파일 속성의 상태를 변경할 수 있도록 허용됨을 의미하며, 호스트 장치(150)는 740 단계에서, 메모리 제어기(120)에 대응하는 명령을 전송하여 파일 속성의 상태를 변경한다. 만약, 집행 비트가 "ON"(730 단계에서 "Y"로 도시됨)이면, 호스트 장치(150)는 750 단계에서 파일 속성의 변경을 가져오는 어떤 동작도 억제한다. 760 단계에서, 호스트 장치(150)는 예를 들면, "파일 'x'의 파일 속성은 변경할 수 없음"과 같은 경고 메시지를 사용자에게 리턴 한다.
앞서 설명된 바와 같이, 710 단계 내지 760 단계에서, 포괄적으로, 설명된 바와 같이, 호스트 장치가 집행 비트를 번역하고, 이에 따라 동작하는 경우들을 따른다. 하지만, 종래의 호스트 장치들은 집행 비트들이 관련된 디렉토리 테이블에서 종래에 사용하지 않던 비트들을 수용하기 때문에, 집행 비트들의 의미를 이해할 수 없다.
도 8은 본 발명의 실시예에 따른 파일 보호 정책을 이용하는 방법의 실시예이다. 도 8은 도 1과 관련되어 설명될 것이다. 스토리지 장치(100)는 호스트 장치(150)에 연결되며, 사용자는 이 실시예에서, 메모리(110)에 저장된 파일 'x'의 파일 속성(예컨대, "판독 전용")인 보호 세부사항의 현재 상태를 변경하는 것을 원한다고 가정한다. 810 단계에서, 호스트 장치(150)는 특정 파일의 특정 파일 속성의 상태를 변경하기 위해 사용자로부터 요청을 수신한다. 820 단계에서, 호스트 장치(150)는 파일 속성의 상태를 변경하기 위하여, 스토리지 장치(100)에 명령을 전송한다. 즉, 만약, 호스트 장치(150)가 파일 속성의 변경을 요청하는 사용자 요청을 수신하고, 호스트 장치(150)가 집행 비트들에 대응하도록 구성되지 않았다면, 호스트 장치(150)는 820 단계에서, 적절한 집행 비트의 상태를 고려하지 않은 파일 속성을 변경하기 위해 메모리 제어기(120)에 명령을 전송한다. 앞서 설명된 바와 같이, 만약, 메모리 제어기(120)가 보호 세부사항을 변경하기 위한 호스트 장치(150)로부터 명령을 수신하면, 보호 세부사항에 관련된 집행 비트의 상태를 검사한다. 그리고 만약, 그것이 "ON"이라면, 명령은 거부되며, 호스트 장치(150)에 에러 메시지를 전송한다.
830 단계에서, 호스트 장치(150)는 거부 요청에 관하여 에러 메시지를 메모리 제어기(120)로부터 수신한다. 호스트 장치(150)의 캐퍼블러티(capabilities)에 따라, 호스트 장치(150)는, 840 단계에서, 사용자에게 에러 메시지를 리턴하여 메모리 제어기(120)로부터 수신된 에러 메시지에 대해 응답할 수 있다. 호스트 장치(150)는, 대안적으로, 메모리 제어기(120)로부터 전송된 에러 메시지를 무시할 수 있다.
메모리 제어기(120)는 표준의 선반 재고(off-the-shelf) "SoC(System-on-Chip)" 장치, 또는, "SiP(System-in-Package)" 장치, 또는, 메모리 제어기(120)에 의해 실행될 때, 이 문헌에서 기술된 구성들, 단계들, 오퍼레이션들, 결정들 및 평가들을 수행하는 특화된 소프트웨어 또는 어플리케이션(예컨대, 어플리케이션 122)을 가지는 범용 프로세싱 유닛이 될 수 있다. 대안적으로, 메모리 제어기(120)는 하드웨어를 이용하여 이 문헌에 설명된 구성들, 단계들, 동작들, 결정 및 평가들이 구현된 "ASIC(Application-Specific Integrated Circuit)"이 될 수 있다.
이 문헌에서 사용된 "하나", "일", 또는, 국문에서 관사가 없는 경우(영어에 있어서, 관사 "a", "an"에 대응함)는, 그 문맥에 따라, 관사의 문법적인 대상의 하나 또는 하나 이상(즉, 적어도 하나)임을 나타낸다. 한 예로써, 콘텍스트 "요소" 또는 "하나의 요소"는 하나의 요소 또는 하나 이상의 요소를 의미할 수 있다. 용어 "포함한다(including)"는 이 문헌에서 구문 "이에 한정되지 않지만, 포함한다"의 의미이며, 대체하여 사용할 수 있다. 용어들 "또는" 및 "그리고(및)"은 이 문헌에서는, 분명하게 그렇지 않음을 문맥상 명시한 경우를 제외하고, 용어 "및/또는"의 의미이며, 대체하여 사용할 수 있다. 용어, "와 같은(such as)"는 이 문헌에서, "이에 한정되지는 않지만, ~와 같은"의 의미이며, 대체하여 사용할 수 있다.
앞서 설명된 바들은, 메모리 카드들, SD 구동 플래시 메모리 카드들, 플래시 스토리지 장치들, "USB(Universal Serial Bus)" 인터페이스, "UFDs(USB Flash Drives), "MMC(MultiMedia Card)", SD(Secure Digital), 미니SD(miniSD) 및 마이크로SD(microSD), 등으로 제공되는 "디스크-온-키(Disk-on-Key)" 장치들과 같은, 다양한 형식의 대용량 스토리지 장치들에 관련되어 있음을 언급한다.
지금까지 본 발명의 실시예들이 설명되었으며, 기술된 실시예들의 변형이 본 발명의 범위 내에서 이루어질 수 있음을 이 기술분야에서 통상의 지식을 가진자들에게는 자명할 것이다. 그러므로, 대안적인 실시예들은 더 추가된 모듈들, 더 적은 모듈들 및/또는 기능적으로 동치인 모듈들을 포함할 수 있다. 다라서, 청구범위들의 범위는 이 문헌에 게시된 바에 의해 제안되어서는 안 된다.
100: 스토리지 장치 110: 메모리
114: 파일 시스템 120: 메모리 제어기
122: 어플리케이션 140: 관리 엔티티
150: 호스트 장치 154: 어플리케이션

Claims (14)

  1. 파일 보호 정책을 가지는 스토리지 장치를 업데이트하는 방법에 있어서,
    스토리지 장치에 연결된 관리 엔티티에서,
    스토리지 장치에 저장된 파일을 가지는 파일 보호 정책을 관련시키는 단계; 및
    파일 보호 정책이 스토리지 장치에 의해 집행되어야 하는지 여부를 고려한 지시자를 가지는 파일 보호 정책을 스토리지 장치에 기록하는 단계;를 포함하여 수행하는 것을 특징으로 하는
    파일 보호 정책을 가지는 스토리지 장치를 업데이트하는 방법.
  2. 제1항에 있어서,
    파일 보호 정책이 스토리지 장치에 의해 집행되어야 함을 나타내는
    상기 지시자는
    상기 스토리지 장치의 상기 파일 시스템 내에 포함되는 것을 특징으로 하는 파일 보호 정책을 가지는 스토리지 장치를 업데이트하는 방법.
  3. 제2항에 있어서,
    상기 지시자는
    스트로지 장치의 파일 시스템에서 각 파일에 대한 비트(bit)이며, 비트에 대응하는 파일에 대해 파일 보호 정책이 집행되는지 여부에 따라 각 비트는 "ON" 또는 "OFF" 상태로 설정되는 것을 특징으로 하는
    파일 보호 정책을 가지는 스토리지 장치를 업데이트하는 방법.
  4. 제1항에 있어서,
    상기 파일 보호 정책은
    상기 파일에 관련된 파일 속성에 의해 정의되는 것을 특징으로 하는
    파일 보호 정책을 가지는 스토리지 장치를 업데이트하는 방법.
  5. 제1항에 있어서,
    상기 지시자를 가지는 파일 보호 정책을 스토리지 장치에 기록하는 단계는
    스토리지 장치에 대한 관리를 인증 여부에 따르는 것을 특징으로 하는
    파일 보호 정책을 가지는 스토리지 장치를 업데이트하는 방법.
  6. 제1항에 있어서,
    파일들 중 어느 하나 또는 파일들 중 일부, 파일에 적용되는 디렉토리 테이블의 엔트리, 및 파일의 디렉토리 경로에 적용되는 디렉토리 데이터 또는 디렉토리 데이터의 일부를 유지하는 스토리지 장치 내의 메모리 블록을 기록 동작으로부터 보호하기 위해서, 스토리지 장치에 명령을 전송하는 단계;를 더 포함하는 것을 특징으로 하는
    파일 보호 정책을 가지는 스토리지 장치를 업데이트하는 방법.
  7. 제1항에 있어서,
    상기 파일 보호 정책 및 상기 지시자는
    스토리지 장치의 파일 시스템에 기록되는 것을 특징으로 하는
    파일 보호 정책을 가지는 스토리지 장치를 업데이트하는 방법.
  8. 제7항에 있어서,
    상기 파일 시스템은 메모리에 저장된 각 파일에 대한 엔트리를 가지는 디렉토리 테이블을 포함하는 파일 할당 테이블(FAT)이며,
    각 엔트리는 스토리지 장치에 의해 파일 보호 정책이 집행되는 호스트 장치에 대한 지시자 및 적합한 파일에 대한 파일 보호 정책을 포함하는 것을 특징으로 하는
    파일 보호 정책을 가지는 스토리지 장치를 업데이트하는 방법.
  9. 호스트 장치에 의해 파일 보호 정책을 이용하는 방법에 있어서,
    스토리지 장치에 저장된 파일을 보호하기 위한 파일 보호 정책을 포함하는 파일 시스템을 가지는 스토리지 장치에 연결된 호스트 장치에서,
    스토리지 장치로부터 상기 파일 시스템을 판독하는 단계;
    상기 지시자가 "ON"으로 또는 "OFF"로 설정되었는지 검출하는 단계;
    상기 지시자가 "OFF"로 설정되어 있다면, 파일 보호 정책에서 변경을 가능하게 하는 단계;
    상기 지시자가 "ON"으로 설정되어 있다면, 저장 동작들이 상기 파일 보호 정책에 의해 수락되는 경우에만, 저장 동작을 가능하게 하거나, 또는, 파일 상의 저장 동작을 수행하는 단계;를 포함하여 수행하는 것을 특징으로 하는
    호스트 장치에 의해 파일 보호 정책을 이용하는 방법.
  10. 스토리지 장치, 연결된 관리 엔티티에 있어서,
    호스트 장치는,
    스토리지 장치에 저장된 파일을 보호하기 위한 파일 보호 정책을 포함하는 파일 시스템; 및
    프로세서;를 포함하며,
    상기 프로세서는,
    상기 파일 보호 정책에서 변경이 허용되면, 파일 보호 시스템 내의 지시자를 제1 값으로 설정하고,
    상기 파일 보호 정책에서 변경이 허용되지 않으면, 상기 지시자를 제2 값으로 설정하여, 상기 스토리지 장치가 파일 보호 정책이 변경될 수 있는지 여부를 상기 스토리지 장치와 함께 동작하는 호스트 장치에 통지하도록 허용하며,
    상기 스토리지 장치 내로 상기 파일 시스템을 기록하도록 구성되는 것을 특징으로 하는
    관리 엔티티.
  11. 제10항에 있어서,
    상기 파일 시스템은 메모리에 저장된 각 파일에 대한 엔트리를 가지는 디렉토리 테이블을 포함하는 파일 할당 테이블(FAT)이며,
    각 엔트리는 스토리지 장치에 의해 파일 보호 정책이 집행되는 호스트 장치에 대한 지시자 및 적합한 파일에 대한 파일 보호 정책을 포함하는 것을 특징으로 하는
    관리 엔티티.
  12. 제1항에 있어서,
    상기 프로세서는
    파일들 중 어느 하나 또는 파일들 중 일부, 파일에 적용되는 디렉토리 테이블의 엔트리, 및 파일의 디렉토리 경로에 적용되는 디렉토리 데이터 또는 디렉토리 데이터의 일부를 유지하는 스토리지 장치 내의 메모리 블록을 기록 동작으로부터 보호하기 위해서, 스토리지 장치에 명령을 전송하도록 더 구성되는 것을 특징으로 하는
    관리 엔티티.
  13. 스토리지 장치에 연결되는 호스트 장치에 있어서,
    상기 스토리지 장치는,
    (1) 파일을 보호하기 위한 파일 보호 정책 및
    (2) 상기 스토리지 장치에 저장된 파일에 대한 상기 파일 보호 정책의 집행에 관한 지시자를 포함하며,
    상기 호스트 장치는, 제어기를 포함하며,
    상기 제어기는
    상기 스토리지 장치로부터 상기 파일 시스템을 판독하고,
    상기 지시자의 상태를 검출하며,
    상기 지시자가 "OFF"로 설정되어 있으면, 상기 파일 보호 정책의 변경을 가능하게 하며,
    상기 지시자가 "ON"으로 설정되어 있으면, 상기 파일 보호 정책을 변경하는 것을 억제하도록 구성되는 것을 특징으로 하는
    스토리지 장치에 연결되는 호스트 장치.
  14. 제13항에 있어서,
    상기 파일 시스템은 메모리에 저장된 각 파일에 대한 엔트리를 가지는 디렉토리 테이블을 포함하는 파일 할당 테이블(FAT)이며,
    각 엔트리는 스토리지 장치에 의해 파일 보호 정책이 집행되는 호스트 장치에 대한 지시자 및 적합한 파일에 대한 파일 보호 정책을 포함하는 것을 특징으로 하는
    스토리지 장치에 연결되는 호스트 장치.

KR1020127010945A 2009-11-03 2010-06-28 스토리지 장치에 의한 파일 보호 정책의 집행 KR20120113702A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US25767509P 2009-11-03 2009-11-03
US61/257,675 2009-11-03
US12/775,962 2010-05-07
US12/775,962 US20110107393A1 (en) 2009-11-03 2010-05-07 Enforcing a File Protection Policy by a Storage Device

Publications (1)

Publication Number Publication Date
KR20120113702A true KR20120113702A (ko) 2012-10-15

Family

ID=43926817

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127010945A KR20120113702A (ko) 2009-11-03 2010-06-28 스토리지 장치에 의한 파일 보호 정책의 집행

Country Status (6)

Country Link
US (1) US20110107393A1 (ko)
EP (1) EP2497049A1 (ko)
KR (1) KR20120113702A (ko)
CN (1) CN102598015B (ko)
TW (1) TW201117039A (ko)
WO (1) WO2011056268A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI451248B (zh) * 2012-01-13 2014-09-01 Phison Electronics Corp 資料保護方法、記憶體控制器與記憶體儲存裝置
CN106407831A (zh) * 2015-07-31 2017-02-15 中兴通讯股份有限公司 文件保护方法、装置及移动终端
CN114048469B (zh) * 2022-01-10 2022-06-14 荣耀终端有限公司 目录操作管理方法、电子设备及可读存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW360819B (en) * 1996-10-16 1999-06-11 Canon Kk File management system of image data
US7660902B2 (en) * 2000-11-20 2010-02-09 Rsa Security, Inc. Dynamic file access control and management
US7454788B2 (en) * 2001-04-26 2008-11-18 International Business Machines Corporation Method for adding and enforcing enhanced authorization policy on devices in computer operation systems
US6904493B2 (en) * 2002-07-11 2005-06-07 Animeta Systems, Inc. Secure flash memory device and method of operation
US7395420B2 (en) * 2003-02-12 2008-07-01 Intel Corporation Using protected/hidden region of a magnetic media under firmware control
JP2005122474A (ja) * 2003-10-16 2005-05-12 Fujitsu Ltd 情報漏洩防止プログラムおよびその記録媒体並びに情報漏洩防止装置
US20060010301A1 (en) * 2004-07-06 2006-01-12 Hitachi, Ltd. Method and apparatus for file guard and file shredding
JP4734986B2 (ja) * 2005-03-23 2011-07-27 日本電気株式会社 外部記憶媒体管理システム、及び、外部記憶媒体の管理方法
US7526812B2 (en) * 2005-03-24 2009-04-28 Xerox Corporation Systems and methods for manipulating rights management data
JP2007133807A (ja) * 2005-11-14 2007-05-31 Hitachi Ltd データ処理システム、ストレージ装置及び管理装置
US20070271472A1 (en) * 2006-05-21 2007-11-22 Amiram Grynberg Secure Portable File Storage Device
CN101529433A (zh) * 2006-10-09 2009-09-09 桑迪士克Il有限公司 应用相依的存储控制

Also Published As

Publication number Publication date
EP2497049A1 (en) 2012-09-12
US20110107393A1 (en) 2011-05-05
WO2011056268A1 (en) 2011-05-12
CN102598015A (zh) 2012-07-18
TW201117039A (en) 2011-05-16
CN102598015B (zh) 2015-12-16

Similar Documents

Publication Publication Date Title
KR20120102615A (ko) 스토리지 장치에 의한 파일 보호 정책의 집행
CN100580642C (zh) 通用串行总线存储设备及其访问控制方法
US7861311B2 (en) Apparatus and method of managing hidden area
US8504763B2 (en) Method and memory device that powers-up in a read-only mode and is switchable to a read/write mode
US9477487B2 (en) Virtualized boot block with discovery volume
US7814554B1 (en) Dynamic associative storage security for long-term memory storage devices
US7640404B2 (en) File system write filtering for selectively permitting or preventing data from being written to write-protected storage
KR101622416B1 (ko) 주변 디바이스 록킹 메커니즘
US20090164709A1 (en) Secure storage devices and methods of managing secure storage devices
JP5184041B2 (ja) ファイルシステム管理装置およびファイルシステム管理プログラム
US20060236026A1 (en) Method and system for allocating, accessing and de-allocating storage space of a memory card
JP2013506910A (ja) ライトワンスリードメニー(worm)メモリデバイスの認証およびセキュアリング
KR20100107453A (ko) 1회 기록 메모리 디바이스와 다수 회 기록 메모리 디바이스를 포함하는 컴퓨터용 스토리지 서브 시스템 및 관련 방법
US20110271064A1 (en) Storage device and method for accessing the same
US10310925B2 (en) Method of preventing metadata corruption by using a namespace and a method of verifying changes to the namespace
KR20120113702A (ko) 스토리지 장치에 의한 파일 보호 정책의 집행
EP3814910B1 (en) Hardware protection of files in an integrated-circuit device
US20220374534A1 (en) File system protection apparatus and method in auxiliary storage device
KR101110293B1 (ko) 파일 저장 장치의 파티션 액세스 제어 방법 및 제어 장치, 그 기록매체
CN115730299A (zh) 控制移动应用sdk库使用系统敏感权限的方法及存储介质
WO2010067346A1 (en) Method and apparatus for protecting content in a storage device
JP2019159766A (ja) データ保護装置、データ保護方法、およびデータ保護用プログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid