KR20090067649A - 보안 저장 장치를 갖는 메모리 시스템 및 그것의 보안 영역관리 방법 - Google Patents

보안 저장 장치를 갖는 메모리 시스템 및 그것의 보안 영역관리 방법 Download PDF

Info

Publication number
KR20090067649A
KR20090067649A KR1020070135380A KR20070135380A KR20090067649A KR 20090067649 A KR20090067649 A KR 20090067649A KR 1020070135380 A KR1020070135380 A KR 1020070135380A KR 20070135380 A KR20070135380 A KR 20070135380A KR 20090067649 A KR20090067649 A KR 20090067649A
Authority
KR
South Korea
Prior art keywords
secure
host
area
security
data
Prior art date
Application number
KR1020070135380A
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 삼성전자주식회사
Priority to KR1020070135380A priority Critical patent/KR20090067649A/ko
Priority to US12/328,553 priority patent/US20090164709A1/en
Publication of KR20090067649A publication Critical patent/KR20090067649A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells

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)
  • Storage Device Security (AREA)

Abstract

본 발명에 따른 보안 저장 장치를 갖는 메모리 시스템의 보안 영역 관리 방법은: 보안 영역의 크기 변경시 호스트 및 상기 보안 저장 장치 사이에 인증 절차를 수행하는 단계; 상기 수행결과로써 상기 인증 절차가 합법적으로 완료되었을 때 상기 보안 영역의 보안 데이터를 상기 호스트로 백업하는 단계; 상기 보안 영역의 크기가 변경되도록 영역 관리 정보를 갱신하는 단계; 및 상기 호스트에 백업된 상기 보안 데이터를 상기 변경된 보안 영역에 저장하는 단계를 포함한다.
보안 영역, FTL

Description

보안 저장 장치를 갖는 메모리 시스템 및 그것의 보안 영역 관리 방법{MEMORY SYSTEM HAVING SECURE STORAGE DEVICE AND METHOD OF MANAGING SECURE AREA THEREOF}
본 발명은 보안 저장 장치를 갖는 메모리 시스템 및 그것의 보안 영역 관리 방법에 관한 것이다.
보안 영역(secure area)은 보안 데이터(secure data)를 사용자의 임의의 접근으로부터 보호하는 저장 공간으로, 디지털 저작권 관리(Digital Rights Management: 이하 'DRM') 에이전트(Agent)와 같이 신뢰할 수 있는 개체 (Trusted Entity)가 합법적인 인증절차를 통해서만 보안 영역에 접근이 가능하다. 따라서 보안 영역을 구비한 비휘발성 메모리 장치를 소유한 사용자에 의해서 보안 영역은 접근할 수 없는 숨겨진 영역(hidden area)으로 남아 있다.
도 1은 일반적인 보안 영역을 구비한 비휘발성 메모리 시스템을 보여주는 도면이다. 도 1을 참조하면, 보안 영역을 구현하기 위하여 비휘발성 메모리(5)의 특정 주소 영역이 보안 영역(7)으로 설정되고, 이러한 보안 영역(7)은 메모리 제어기(2) 내부의 펌웨어(firmware; 3)만 접근이 가능하고, 외부 인터페이스를 통해서 는 접근이 불가능하다.
실제 콘텐츠(contents)가 보안 저장 장치(secure storage device)에 저장될 때, 하나의 콘텐츠(예를 들어, mp3 )에 대하여 여러 개의 저작권(rights)가 존재할 수 있고, 또한 보안 영역(7) 및 사용자 영역(8)에 저장될 수 있는 비율이 사용자의 패턴 및 보안 정책(security policy)에 따라 달라질 수 있다.
종래의 저장 방법에서는, 보안 영역(7)의 크기가 고정되어 있기 때문에 이러한 영역(7)에 저작권 등의 보안 데이터들이 가득차면, 전체 비휘발성 메모리(5)에 저장공간이 남아 있더라도 보안 데이터를 추가로 저장하지 못하는 문제점이 발생한다. 한편, 보안 영역(7)을 너무 크게 설정할 경우 숨겨진 영역(hidden area)만 늘어나고 사용자 영역(6)이 줄어들기 때문에 사용자의 불만이 야기될 수 있다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 보안 저장 영역 크기를 사용자의 필요에 의해 안전하고 유연하게 설정할 수 있는 보안 저장 장치의 보안 영역 관리 방법을 제공하는데 있다.
본 발명에 따른 보안 저장 장치를 갖는 메모리 시스템의 보안 영역 관리 방법은: 보안 영역의 크기 변경시 호스트 및 상기 보안 저장 장치 사이에 인증 절차를 수행하는 단계; 상기 인증 절차가 합법적으로 완료되었을 때 상기 보안 영역의 보안 데이터를 상기 호스트로 백업하는 단계; 상기 보안 영역의 크기가 변경되도록 보안 영역 관리 정보를 갱신하는 단계; 및 상기 호스트에 백업된 상기 보안 데이터를 상기 변경된 보안 영역에 저장하는 단계를 포함한다.
실시예에 있어서, 상기 호스트의 보안 영역에 대한 크기 변경 요청은 사용자에 의해 수행되는 것을 특징으로 한다.
실시예에 있어서, 상기 호스트의 보안 영역에 대한 크기 변경은 메모리 관리 정책에 따라 자동적으로 수행되는 것을 특징으로 한다.
실시예에 있어서, 상기 호스트 및 상기 보안 저장 장치의 인증 절차는 암호 프로토콜에 의해 수행되는 것을 특징으로 한다.
실시예에 있어서, 상기 보안 영역의 크기 변경시 사용자 영역의 데이터는 상기 호스트로 백업되는 것을 특징으로 한다.
실시예에 있어서, 상기 영역 관리 정보가 갱신된 후, 보안 파일 시스템은 상기 변경된 보안 영역을 포맷하는 단계를 더 포함한다.
실시예에 있어서, 상기 보안 저장 장치는 상기 변경된 보안 영역의 포맷을 제어하는 것을 특징으로 한다.
실시예에 있어서, 상기 보안 데이터의 백업 동작시, 상기 보안 데이터는 암호화되어 상기 호스트로 전송되는 것을 특징으로 한다.
실시예에 있어서, 상기 암호화된 보안 데이터는 복호화되어 상기 변경된 보안 영역에 저장되는 것을 특징으로 한다.
본 발명에 따른 메모리 시스템은: 보안 호스트; 보안 영역을 갖는 플래시 메모리; 및 상기 플래시 메모리를 제어하고, 상기 보안 호스트와 합법적인 인증을 통하여 상기 보안 영역에 접근 가능하도록 제어하는 보안 메모리 제어기를 포함한다.
실시예에 있어서, 상기 보안 메모리 제어기는 보안 플래시 변환 계층 소프트웨어에 의하여 동작하되, 상기 보안 플래시 변환 계층 소프트웨어는, 호스트로부터 요청을 입력받는 호스트 인터페이스 계층; 상기 입력받은 요청이 보안 데이터와 관련된 경우 상기 호스트와 암호 프로토콜을 통하여 인증 절차를 수행하는 신뢰된 개체; 상기 인증 절차가 합법적으로 수행될 경우 상기 신뢰된 개체가 상기 보안 영역의 접근하도록 허용하는 접근 제어 계층; 및 상기 신뢰된 개체로부터 전달된 데이터 및 어드레스에 따라 상기 보안 영역에 대한 맵핑 정보에 따라 읽기/쓰기 동작을 수행하는 플래시 변환 계층을 포함한다.
실시예에 있어서, 상기 인증 절차가 합법적으로 수행되지 않을 경우, 상기 보안 플래시 변환 계층 소프트웨어는 상기 호스트에 상기 보안 영역으로 접근이 불가능하다고 메시지를 전달하는 것을 특징으로 한다.
실시예에 있어서, 상기 호스트는 상기 신뢰된 개체와 상기 암호 프로토콜을 통하여 인증할 수 있는 호스트 신뢰된 개체를 포함한다.
실시예에 있어서, 상기 신뢰된 개체는 상기 암호 프로토콜에 이용되는 암호키를 저장하는 키 저장 계층; 및 상기 보안 영역을 포맷하는 보안 파일 시스템을 포함한다.
실시예에 있어서, 상기 보안 영역의 크기 변경 시 상기 호스트와 상기 신뢰된 개체 사이에는 상기 암호 프로토콜을 이용하여 인증 절차가 수행되는 것을 특징으로 한다.
실시예에 있어서, 상기 보안 영역의 크기 변경시 사용자에 의해 상기 호스트로부터 변경 요청이 전달되는 것을 특징으로 한다.
실시예에 있어서, 상기 보안 영역의 크기 변경시 메모리 관리 정책에 따라 상기 호스트로부터 변경 요청이 자동으로 전달되는 것을 특징으로 한다.
상술한 바와 같이 본 발명에 따른 메모리 시스템의 보안 영역 관리 방법은 사용자의 요구에 따라 보안 영역의 크기를 가변할 수 있다.
한편, 본 발명에 따른 보안 영역의 보안 데이터는 암호 프로토콜을 사용하여 안전하게 호스트로 백업된다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시예를 첨부된 도면을 참조하여 설명한다.
본 발명에 따른 보안 저장 장치에서는 보안 영역의 크기가 사용자의 요구에 따라 혹은 메모리 관리 정책에 따라 가변될 수 있다. 또한, 본 발명에 따른 보안 플래시 변환 계층 소프트웨어는 보안 데이터의 읽기/쓰기 동작시 혹은 보안 영역의 크기 변경시 우선적으로 호스트와 합법적인 인증 절차가 수행되도록 구현된다. 이로써 본 발명의 보안 플래시 변환 계층 소프트웨어는 보안 영역의 크기 변경시 보안 데이터의 안정성을 확보한다.
도 2는 본 발명에 따른 보안 저장 장치(40)를 구비한 메모리 시스템을 보여주는 도면이다. 도 2을 참조하면, 메모리 시스템은 보안 호스트(10), 보안 메모리 제어기(20), 및 플래시 메모리(30)를 포함한다. 본 발명의 메모리 시스템에서는 보안 호스트(10)가 보안 메모리 제어기(20)와 합법적인 인증을 통하여 플래시 메모리(30)의 보안 영역(304)에 대하여 접근 가능하도록 구현된다. 특히, 본 발명의 메모리 시스템은 보안 호스트(10)가 플래시 메모리(30)의 보안 영역(304)의 크기를 가변시킬 수 있다. 도 2에 도시된 저장 장치는 플래시 메모리(30)이다. 그러나 본 발명에 따른 메모리 시스템의 저장 장치가 반드시 플래시 메모리로 국한될 필요가 없다는 것은 당업자에게 자명하다. 본 발명의 저장 장치는 플래시 메모리 외에도 다양한 비휘발성 메모리들(예를 들어, MRAM, PRAM 등)로 구현될 수 있다.
보안 호스트(10)는 보안 저장 장치(40)를 저장 장치로 이용하는 장치로써, 예를 들어, 개인용 컴퓨터(PC), 핸드폰, 카메라 등이 될 수 있다. 특히, 본 발명의 보안 호스트(10)는 보안 메모리 제어기(20)와의 합법적인 인증을 통하여 플래시 메모리(30)의 보안 영역(304)에 접근 가능하도록 구현된다. 보안 호스트(10)에 대한 자세한 설명은 도 5에서 하도록 하겠다. 한편, 보안 호스트(10)과 보안 저장 장치(40)의 통신 방법으로는 SD(Secure Digital Card)/MMC(MultiMedia Card) 카드와 같은 메모리 카드 장치와 관련된 프로토콜, ATA(Advanced Technology Attachment)/SATA(Sriel ATA) 등의 하드 디스크와 같은 저장 장치와 관련된 프로토콜 등이 적용가능하다.
보안 메모리 제어기(20)는 보안 호스트(10)의 요청에 따라 플래시 메모리(30)를 제어한다. 보안 메모리 제어기(20)는 보안 호스트(10)와 합법적인 인증을 수행할 수 있도록 구현된다. 도 2에 도시된 바와 같이, 보안 메모리 제어기(20)는 호스트 인터페이스(201), 중앙처리장치(202), 보안 엔진(203), 롬(204), 및 램(205)을 포함한다. 보안 엔진(203)은 보안 호스트(10)와의 합법적인 인증을 위한 암호/복호 동작을 수행하고, 보안 영역(304)에 저장된 데이터의 복호화 및 사용자 데이터의 암호화를 수행한다. 램(205)은 보안 메모리 제어기(20)의 동작에 필요한 데이터를 임시로 저장하는데 이용되고, 롬(204)은 보안 메모리 제어기(20)의 동작에 필요한 소프트웨어를 저장하는데 이용된다. 도 2에 도시된 보안 메모리 제어기(20)는 하나의 실시예에 불과하다. 본 발명의 보안 메모리 제어기(20)는 보안 호스트(10)와 합법적인 인증을 수행할 수 있도록 다양하게 구현가능하다.
플래시 메모리(30)는 메모리 셀 어레이(301)를 포함한다. 메모리 셀 어레 이(301)는 메타 영역(302), 보안 영역(304), 및 사용자 영역(306)으로 구분된다. 본 발명의 보안 영역(304)의 크기는 보안 호스트(10)의 요청에 따라 가변될 수 있다. 자세한 설명은 도 3에서 하도록 하겠다.
도 3은 플래시 메모리(30)의 메모리 셀 어레이(301)를 보여주는 도면이다. 도 3을 참조하면, 메타 영역(302)에는 플래시 메모리(30)를 관리하는 데 필요한 관리 정보(예를 들어, 각 영역들(302,304,306)의 맵 테이블 등)가 저장된다. 보안 영역(304)을 관리하기 위한 정보(302a) 및 사용자 영역(306)을 관리하기 위한 정보(302b)는 플래시 변환 계층(Flash Translation Layer; 이하, 'FTL')에서 각각 관리된다. 여기서 사용자는 메타 영역(302)에 접근할 수 없다.
도 4는 본 발명에 따른 보안(secure) 플래시 변환 계층 소프트웨어 구조에 대한 실시예를 보여주는 도면이다. 도 4을 참조하면, 본 발명에 따른 보안 플래시 변환 계층 소프트웨어(21)는 호스트 인터페이스 계층(Host Interface Layer;211), 신뢰된 개체(Trusted Entity;212), 접근 제어 계층(Access Control Layer;215), 및 플래시 변환 계층(Flash Translation Layer;216)을 포함한다.
여기서 신뢰된 개체(212)는 키 저장 계층(213) 및 보안 파일 시스템(Secure File System;214) 포함한다. 신뢰된 개체(212)는 보안 호스트(10)와 보안 데이터를 주고 받을 수 있도록 암호 프로토콜을 이용하여 인증 및 비밀 통신을 수행한다. 인증 및 비밀 통신을 수행하는 데 필요한 암호키들은 키 저장 계층(213)에서 저장될 것이다. 보안 파일 시스템(SFS;214)은 신뢰된 개체(212)가 보안 영역(304)에 직접 파일을 쓰고 읽을 수 있는 파일 시스템(File System)을 제공한다. 접근 제어 계 층(ACL;215)은 신뢰된 개체(212)를 합법적으로 보안 파일 시스템(214)을 통하여 보안 영역(34)에 접근하도록 제어하며, 동시에 인증 과정이 수행되지 않은 보안 호스트(10)가 보안 영역(204)에 접근될 수 없도록 접근 제한한다.
플래시 변환 계층(216)은 보안 호스트(10)의 블럭 장치로 동작되도록 플래시 메모리(30)를 제어한다. 즉, 플래시 변환 계층(216)은 기존의 하드 디스크와 같이 섹터 단위로 읽기/쓰기가 가능하도록 플래시 메모리(30)에 선형 공간을 제공하는데 이용된다. 플래시 메모리(30)의 사용 효율성, 신뢰성, 성능 등을 향상시키기 위하여 플래시 변환 계층(216)은 논리 어드레스를 물리 어드레스로 맵핑하거나 배드 블럭을 처리하거나 혹은 최적화 동작을 수행한다.
도 5는 본 발명에 따른 보안 플래시 변환 계층 소프트웨어(21)를 갖는 메모리 시스템에 대한 실시예를 보여주는 도면이다. 도 5을 참조하면, 메모리 시스템은 보안 호스트(10) 및 보안 저장 장치(40)를 포함한다. 본 발명의 보안 호스트(10)는 보안 저장 장치(40)와 인증을 통한 비밀 통신을 수행하기 위하여 신뢰된 개체(102)를 포함한다.
보안 호스트(10)는 사용자 인터페이스 계층(101), 신뢰된 개체(102), 파일 시스템(103), 및 장치 인터페이스 계층(104)을 포함한다. 보안 저장 장치(40)는 보안 플래시 변환 계층 소프트웨어(21) 및 플래시 메모리(30)를 포함한다. 여기서 보안 파일 변환 계층 소프트웨어(21)는 도 4에서 설명된 바와 동일하고, 플래시 메모리(30)는 도 3에서 설명된 바와 동일하다.
도 6는 본 발명에 따른 보안 플래시 변환 계층 소프트웨어(21)의 기본적인 동작 패스들을 보여주는 도면이다. 도 6을 참조하면, 보안 플래시 변환 계층 소프트웨어(21)의 동작 패스들은 크게 세가지로 구분된다. 첫번째 패스는 정상(normal) 데이터를 위한 것이고, 두번째 및 세번째는 보안 데이터를 위한 것이다. 두번째 패스는 보안 영역(304)의 크기 변경에 관한 것이고, 세번째 패스는 보안 영역(304)의 읽기/쓰기에 대한 것이다.
먼저, 정상 데이터를 위한 동작 패스는 아래와 같이 설명된다. 보안 호스트(10)의 파일 시스템(103)의 요청에 따라 정상 데이터는 장치 인터페이스 계층(104)를 거쳐 호스트 인터페이스 계층(211)으로 전달된다. 접근 제어 계층(215)은 정상 데이터가 사용자 영역(306)에만 전달되도록 제어한다. 여기서 접근 제어 계층(215)은 신뢰된 개체(212)를 통과하지 않은 데이터(즉, 정상 데이터)가 보안 영역(301)에 접근하는 것을 방지한다. 플래시 변환 계층(216)에서는 접근 제어 계층(215)을 통과한 정상 데이터에 대응하는 논리 어드레스가 물리 어드레스로 변경되고, 변경된 물리 어드레스에 대응되는 사용자 영역(306)의 물리적 위치에 정상 데이터에 대한 쓰기 동작이 수행된다.
다음으로, 보안 데이터를 위한 두번째 동작 패스는 아래와 같이 설명된다. 아래에서는 보안 영역(304)의 크기 변경시 보안 데이터에 대한 동작 패스에 대하여 설명하도록 하겠다. 보안 영역(304)의 크기 변경 요청이 있다면, 우선적으로 보안 영역(304)에 저장된 보안 데이터가 보안 호스트(10)로 백업(backup)된다. 이때 보안 데이터는 보안 저장 장치(40)의 암호키(비대칭 암호 알고리즘의 공개키 혹은 대칭 암호 알고리즘의 비밀키)로 암호화되고, 암호화된 데이터는 보안 호스트(10)로 전달된다. 이때 보안 호스트(10)로 백업된 데이터에는 파일 경로, 폴더 정보 등의 복구에 필요한 정보까지 모두 포함될 것이다. 뿐만 아니라, 사용자 영역(306)에 저장된 데이터도 보안 호스트(10)로 백업된다. 이 경우에는 데이터에 대한 암호처리 과정이 필요 없으며, 통상적인 정상 데이터의 읽기 동작과 같이 진행된다.
보안 영역(304) 및 사용자 영역(306)의 크기는 사용자의 선택에 따라 변경될 수도 있고, 또한 정책(policy)에 따라 자동적으로 변경될 수 있다. 예를 들어, 사용자는 임의의 사용자가 접근가능하지 않도록 메모리 셀 어레이(301)에서 사용자 영역(306)을 전부 없애 버리고, 보안 영역(304)을 최대로 사용할 수 있다. 또한, 정책적으로 보안 영역(304)의 실제 사용량이 전체 보안 영역의 크기와 비교하여 일정 비율 이상일 때 보안 영역(304)의 크기가 자동적으로 일정 분량만큼 증가되도록 구현될 수도 있다.
변경된 보안 영역(304) 및 사용자 영역(306)의 크기에 따라 플래시 메모리(30)를 관리하는 데 필요한 관리 정보가 갱신된다. 예를 들어, 보안 영역(304)을 관리하는 데 필요한 맵핑 테이블이 갱신되고, 사용자 영역(306)을 관리하는 데 필요한 맵핑 테이블이 갱신된다. 접근 제어 계층(215)은 메타 영역(302)에 저장된 관리 정보를 이용하여 보안 영역(304) 및 사용자 영역(306)의 어드레스에 대한 접근을 제어한다.
보안 영역(306)의 크기 변경시 플래시 변환 계층(216)에서는 새롭게 갱신된 보안 영역(304) 및 사용자 영역(306)에 대한 파일 시스템 포맷(format)이 수행된다. 보안 영역(304)은 보안 저장 장치(40)의 보안 파일 시스템(SFS;215)에 의해 포 맷되며, 사용자 영역(306)은 보안 호스트(10)의 파일 시스템(103)에 의해 포맷된다. 여기서 보안 영역(304)의 포맷은 갱신된 보안 영역(304)의 크기 및 보안 영역(304)을 관리하는데 필요한 관리 정보의 크기 및 위치가 결정되고, 그 초기값이 저장되는 것을 의미한다.
보안 호스트(10)에 백업된 보안 데이터 및 사용자 데이터는 새롭게 맵핑된 보안 영역(304) 및 사용자 영역(306)으로 복구된다. 백업된 보안 데이터를 복구할 때에는, 상술된 암호키(대칭 암호 알고리즘의 비밀키) 혹은 대응되는 키(비대칭 암호 알고리즘의 비밀키)로 암호화된 보안 데이터(즉, 백업된 보안 데이터)가 복구된다.
마지막으로, 보안 데이터에 대한 세번째 동작 패스는 아래와 같이 설명된다. 보안 호스트(10)로부터 전달받은 보안 데이터의 읽기/쓰기 요청에 대하여, 신뢰된 개체(212)는 인증 절차를 수행한다. 인증 절차가 완료된 후, 보안 영역(304)을 관리하는 보안 파일 시스템(214)은 보안 영역(304)의 특정 어드레스에 읽기/쓰기 과정을 수행한다. 이때 파일 시스템(214)에서 접근하려는 데이터가 합법적인 인증을 수행했다면, 접근 제어 계층(215)은 해당 데이터를 플래시 변환 계층(216)에 전달한다. 플래시 변환 계층(216)에서는 전달된 데이터에 대하여 해당 어드레스에 대응하는 보안 영역(304)의 물리적 위치에 읽기/쓰기 동작이 수행되도록 한다.
특히, 두번째 패스 및 세번째 패스는 보안 호스트(10)의 신뢰된 개체(103) 및 보안 저장 장치(40)의 신뢰된 개체(212) 사이에 인증 절차가 합법적으로 완료된 후에 형성된다. 인증 절차가 실패할 경우, 보안 영역(304)에 대한 접근이 거부되 고, 보안 호스트(10)에 '접근이 불가하다'는 에러 메시지가 출력된다.
도 7은 본 발명에 따른 메모리 시스템의 데이터 흐름도이다. 도 5 내지 도 7을 참조하면, 메모리 시스템의 데이터 흐름은 아래와 같이 진행된다. 보안 저장 장치(40)는 보안 호스트(10)로부터 데이터를 전달받는다(S110). 여기서 데이터는 보안 영역(304)과 관련된 보안 데이터이거나 혹은 사용자 영역(306)과 관련된 정상 데이터일 수 있다. 전달된 데이터가 정상 데이터인 지 혹은 보안 데이터인 지는 입력된 요청에 따라 호스트 인터페이스(211)에서 선별될 것이다(S120).
입력된 요청이 사용자 영역(306)의 정상 데이터에 대한 읽기/쓰기 요청이라면, 접근 제어 계층(215)은 입력된 정상 데이터에 대응하는 어드레스가 사용자 영역(306)의 어드레스로 판별하고, 호스트 인터페이스(211)가 사용자 영역(306)에 접근 가능하도록 제어한다. 플래시 변환 계층(216)을 통하여 어드레스에 대응되는 사용영역(306)의 물리적 위치에/로부터 쓰기 동작이 수행되거나 혹은 읽기 동작이 수행된다. 이로써, 사용자 영역(306)의 정상 데이터에 대한 읽기/쓰기 동작이 완료된다.
반면에 입력된 요청이 보안 영역(304)의 크기를 변경하는 요청이거나 혹은 보안 데이터의 읽기/쓰기 요청이라면, 보안 호스트(10)의 신뢰된 개체(102)와 보안 플래시 변환 계층 소프트웨어(21)의 신뢰된 개체(214) 사이에 합법적인 인증 절차가 수행되었는지 판별한다(S130). 보안 호스트(10)의 신뢰된 개체(102)와 보안 플래시 변환 계층 소프트웨어(21)의 신뢰된 개체(214) 사이에 합법적으로 인증되지 않았다면, 보안 호스트(10)에는 '접근이 불가능하다'하는 에러 메시지가 출력된 다(S135). 한편, 보안 호스트(10)의 신뢰된 개체(102)와 보안 플래시 변환 계층 소프트웨어(21)의 신뢰된 개체(214) 사이에 합법적으로 인증되었다면, 호스트 인터페이스(211)에서는 입력된 데이터가 보안 영역(304)의 크기 변경에 관련된 데이터인 지 혹은 읽기/쓰기에 관련된 데이터인 지 판별된다(S140).
S140 단계의 판별결과로써 입력된 데이터가 보안 영역(304)에 대한 읽기/쓰기에 관련된 보안 데이터라면, 그 보안 데이터는 비밀키에 의하여 암호화된다(S142). 여기서 키 저장 계층(213)에서는 해당 비밀키가 저장된다. 암호화된 보안 데이터는 보안 파일 시스템(214)에 의하여 관리된다(S144). 보안 파일 시스템(214)은 암호화된 보안 데이터에 대응하는 어드레스를 생성한다. 접근 제어 계층(215)은 신뢰된 개체(213)가 합법적으로 인증하였다면 신뢰된 개체(213)가 보안 영역(304)에 접근하도록 제어한다(S146). 플래시 변환 계층(216)은 어드레스에 대응되는 보안 영역(304)의 물리적 위치에/로부터 쓰기 동작이 수행하거나 혹은 읽기 동작을 수행한다. 이로써, 보안 영역(304)에 대한 보안 데이터의 읽기/쓰기 동작이 완료된다.
S140 단계의 판별결과로써 입력된 데이터가 보안 영역(304)에 크기를 변경에 관련된 데이터라면, 우선적으로 보안 영역(304) 및 사용자 영역(306)에 저장된 데이터가 보안 호스트(10)로 백업된다(S150). 보안 영역(304)의 보안 데이터가 백업되는 과정은 아래와 같이 진행된다. 보안 영역(304)의 보안 데이터는 비밀키에 의하여 암호화된다(S152). 암호화된 데이터는 보안 호스트(10)에 백업된다(S154). 다음으로, 사용자 영역(306)의 정상 데이터에 대한 백업과정은 사용자 영역(306)의 통상적인 읽기 동작과 같이 수행된다(S156). 이로써 사용자 영역(306)의 정상 데이터는 보안 호스트(10)에 백업된다. 도 7에 도시된 바와 같이 보안 영역(304)의 크기를 변경하는 과정에서 사용자 영역(306)의 정상 데이터는 보안 호스트(10)로 백업된다. 하지만, 보안 영역(304)의 크기를 변경하는 과정에서 사용자 영역(306)의 정상 데이터가 반드시 보안 호스트(10)로 백업될 필요는 없다.
보안 영역(304) 및 사용자 영역(306)의 데이터가 백업완료되면, 보안 영역(304) 및 사용자 영역(306)은 보안 호스트(10)의 요청에 따라 크기가 변경된다. 변경된 정보는 플래시 메모리(30)의 메타 영역(302)에 저장된다. 접근 제어 계층(215)은 메타 영역(302)에 저장된 보안 영역(304) 크기 및 사용자 영역(306)의 크기에 대한 정보를 근거로 플래시 메모리(30)에 대한 접근을 제어한다. 이후, 플래시 변환 계층(216)에서는 변경된 보안 영역(304)의 크기에 적합하도록 보안 영역 맵핑 테이블이 갱신되고, 변경된 사용자 영역(306)의 크기에 적합하도록 사용자 영역 맵핑 테이블이 갱신된다(S160). 갱신된 맵핑 테이블들은 각각 플래시 메모리(30)의 메타 영역(302)에 저장된다. 플래시 변환 계층(216)은 메타 영역(302)에 저장된 맵핑 테이블에 근거하여 보안 영역(304) 및 사용자 영역(306)을 관리한다.
맵핑 테이블들이 갱신되면, 백업된 데이터를 다시 플래시 메모리(30)에 저장한다(S170). 크기가 변경된 보안 영역(304)은 보안 파일 시스템(214)에 의해 포맷되고(S172), 포맷된 보안 영역(304)으로 보안 호스트(10)에 백업되었던 보안 데이터가 다시 저장된다(S174). 한편, 크기가 변경된 사용자 영역(306)은 보안 호스트(10)의 파일 시스템(103)에 의해 포맷되고(S176), 포맷된 사용자 영역(306)으로 보안 호스트(10)에 백업되었던 정상 데이터가 다시 저장된다(S178). 이로써, 보안 영역(304)의 크기 변경 과정은 완료된다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 일반적인 보안 영역을 구비한 비휘발성 메모리 시스템을 보여주는 도면이다.
도 2는 본 발명에 따른 보안 저장 장치를 구비한 메모리 시스템을 보여주는 도면이다.
도 3은 플래시 메모리의 메모리 셀 어레이를 보여주는 도면이다.
도 4는 본 발명에 따른 보안 플래시 변환 계층 소프트웨어 구조에 대한 실시예를 보여주는 도면이다.
도 5는 본 발명에 따른 보안 플래시 변환 계층 소프트웨어를 갖는 메모리 시스템에 대한 실시예를 보여주는 도면이다.
도 6는 본 발명에 따른 보안 플래시 변환 계층 소프트웨어의 기본적인 동작 패스들을 보여주는 도면이다.
도 7은 본 발명에 따른 메모리 시스템의 데이터 흐름도이다.
*도면의 주요부분에 대한 부호의 설명*
1: 호스트 2: 메모리 제어기
5,30: 플래시 메모리 7,304: 보안 영역
8,306: 사용자 영역 302: 메타 영역
203: 보안 엔진 10: 보안 호스트
20: 보안 메모리 제어기 40: 보안 저장 장치
21: 보안 플래시 변환 계층 소프트웨어
211: 호스트 인터페이스 계층 212: 보안
102,212: 신뢰된 개체 213: 키 저장 계층
214: 보안 파일 시스템 215: 접근 제어 계층
216: 플래시 변환 계층

Claims (17)

  1. 보안 저장 장치를 갖는 메모리 시스템의 보안 영역 관리 방법에 있어서:
    보안 영역에 대한 크기 변경시 호스트 및 상기 보안 저장 장치 사이에 인증 절차를 수행하는 단계;
    상기 인증 절차가 합법적으로 완료되었을 때 상기 보안 영역의 보안 데이터를 상기 호스트로 백업하는 단계;
    상기 보안 영역의 크기가 변경되도록 보안 영역 관리 정보를 갱신하는 단계; 및
    상기 호스트에 백업된 상기 보안 데이터를 상기 변경된 보안 영역에 저장하는 단계를 포함하는 관리 방법.
  2. 제 1 항에 있어서,
    상기 호스트의 보안 영역에 대한 크기 변경 요청은 사용자에 의해 수행되는 것을 특징으로 하는 관리 방법.
  3. 제 1 항에 있어서,
    상기 호스트의 보안 영역에 대한 크기 변경은 메모리 관리 정책에 따라 자동적으로 수행되는 것을 특징으로 하는 관리 방법.
  4. 제 1 항에 있어서,
    상기 호스트 및 상기 보안 저장 장치의 인증 절차는 암호 프로토콜에 의해 수행되는 것을 특징으로 하는 관리 방법.
  5. 제 1 항에 있어서,
    상기 보안 영역의 크기 변경시 사용자 영역의 데이터는 상기 호스트로 백업되는 것을 특징으로 하는 관리 방법.
  6. 제 1 항에 있어서,
    상기 영역 관리 정보가 갱신된 후, 상기 변경된 보안 영역을 포맷하는 단계를 더 포함하는 관리 방법.
  7. 제 6 항에 있어서,
    상기 보안 저장 장치는 상기 변경된 보안 영역의 포맷을 제어하는 것을 특징으로 하는 관리 방법.
  8. 제 1 항에 있어서,
    상기 보안 데이터의 백업 동작시, 상기 보안 데이터는 암호화되어 상기 호스트로 전송되는 것을 특징으로 하는 관리 방법.
  9. 제 8 항에 있어서,
    상기 암호화된 보안 데이터는 복호화되어 상기 변경된 보안 영역에 저장되는 것을 특징으로 하는 관리 방법.
  10. 보안 호스트;
    보안 영역을 갖는 플래시 메모리; 및
    상기 플래시 메모리를 제어하고, 상기 보안 호스트와 합법적인 인증을 통하여 상기 보안 영역에 접근 가능하도록 제어하는 보안 메모리 제어기를 포함하는 메모리 시스템.
  11. 제 10 항에 있어서,
    상기 보안 메모리 제어기는 보안 플래시 변환 계층 소프트웨어에 의하여 동작하되,
    상기 보안 플래시 변환 계층 소프트웨어는,
    호스트로부터 요청을 입력받는 호스트 인터페이스 계층;
    상기 입력받은 요청이 보안 데이터와 관련된 경우 상기 호스트와 암호 프로토콜을 통하여 인증 절차를 수행하는 신뢰된 개체;
    상기 인증 절차가 합법적으로 수행될 경우 상기 신뢰된 개체가 상기 보안 영역의 접근하도록 허용하는 접근 제어 계층; 및
    상기 신뢰된 개체로부터 전달된 데이터 및 어드레스에 따라 상기 보안 영역 에 대한 맵핑 정보에 따라 읽기/쓰기 동작을 수행하는 플래시 변환 계층을 포함하는 메모리 시스템.
  12. 제 11 항에 있어서,
    상기 인증 절차가 합법적으로 수행되지 않을 경우, 상기 보안 플래시 변환 계층 소프트웨어는 상기 호스트에 상기 보안 영역으로 접근이 불가능하다고 메시지를 전달하는 것을 특징으로 하는 메모리 시스템.
  13. 제 11 항에 있어서,
    상기 호스트는 상기 신뢰된 개체와 상기 암호 프로토콜을 통하여 인증할 수 있는 신뢰된 개체를 포함하는 메모리 시스템.
  14. 제 11 항에 있어서,
    상기 신뢰된 개체는 상기 암호 프로토콜에 이용되는 암호키를 저장하는 키 저장 계층; 및 상기 보안 영역을 포맷하는 보안 파일 시스템을 포함하는 메모리 시스템.
  15. 제 11 항에 있어서,
    상기 보안 영역의 크기 변경 시 상기 호스트와 상기 신뢰된 개체 사이에는 상기 암호 프로토콜을 이용하여 인증 절차가 수행되는 것을 특징으로 하는 메모리 시스템.
  16. 제 15 항에 있어서,
    상기 보안 영역의 크기 변경시 사용자에 의해 상기 호스트로부터 변경 요청이 전달되는 것을 특징으로 하는 메모리 시스템.
  17. 제 16 항에 있어서,
    상기 보안 영역의 크기 변경시 메모리 관리 정책에 따라 상기 호스트로부터 변경 요청이 자동으로 전달되는 것을 특징으로 하는 메모리 시스템.
KR1020070135380A 2007-12-21 2007-12-21 보안 저장 장치를 갖는 메모리 시스템 및 그것의 보안 영역관리 방법 KR20090067649A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070135380A KR20090067649A (ko) 2007-12-21 2007-12-21 보안 저장 장치를 갖는 메모리 시스템 및 그것의 보안 영역관리 방법
US12/328,553 US20090164709A1 (en) 2007-12-21 2008-12-04 Secure storage devices and methods of managing secure storage devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070135380A KR20090067649A (ko) 2007-12-21 2007-12-21 보안 저장 장치를 갖는 메모리 시스템 및 그것의 보안 영역관리 방법

Publications (1)

Publication Number Publication Date
KR20090067649A true KR20090067649A (ko) 2009-06-25

Family

ID=40790016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070135380A KR20090067649A (ko) 2007-12-21 2007-12-21 보안 저장 장치를 갖는 메모리 시스템 및 그것의 보안 영역관리 방법

Country Status (2)

Country Link
US (1) US20090164709A1 (ko)
KR (1) KR20090067649A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8509430B2 (en) 2010-03-15 2013-08-13 Samsung Electronics Co., Ltd. Storage devices having a security function and methods of securing data stored in the storage device
KR101442539B1 (ko) * 2013-12-31 2014-09-26 권용구 보안저장장치를 구비하는 저장 시스템 및 그 관리 방법
KR101719129B1 (ko) 2016-11-18 2017-03-24 (주)세이퍼존 크로스 플랫폼 엔드포인트 보안시스템
KR20210043069A (ko) 2019-10-11 2021-04-21 김윤보 복수의 스토리지를 이용한 보안정보 저장 시스템
WO2023204413A1 (ko) * 2022-04-21 2023-10-26 김덕우 데이터복구기능이 부가된 컴퓨터 데이터 저장장치 및 그 제어방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9595300B2 (en) * 2009-10-21 2017-03-14 Media Ip, Llc Contextual chapter navigation
US8977783B2 (en) * 2009-10-21 2015-03-10 Media Ip, Llc High-speed secure content transfer to SD card from kiosk
US8942549B2 (en) * 2009-10-21 2015-01-27 Media Ip, Llc Resume point for digital media playback
US8898803B1 (en) 2010-01-11 2014-11-25 Media Ip, Llc Content and identity delivery system for portable playback of content and streaming service integration
US8745749B2 (en) 2010-11-15 2014-06-03 Media Ip, Llc Virtual secure digital card
US20120246713A1 (en) * 2011-03-24 2012-09-27 Cheng-Hsiung Liao Method and apparatus for controlling access of a secure digital memory card
US8775827B2 (en) * 2011-03-28 2014-07-08 Media Ip, Llc Read and write optimization for protected area of memory
US9311229B2 (en) * 2011-03-29 2016-04-12 Blackberry Limited System and method for managing flash memory
US8949879B2 (en) 2011-04-22 2015-02-03 Media Ip, Llc Access controls for known content
JP5209096B2 (ja) * 2011-09-07 2013-06-12 株式会社東芝 リモートアクセスシステム、電子機器およびリモートアクセス処理方法
KR20140072276A (ko) 2012-11-29 2014-06-13 삼성전자주식회사 불휘발성 메모리 및 불휘발성 메모리의 동작 방법
US11301422B2 (en) * 2016-02-23 2022-04-12 Samsung Electronics Co., Ltd. System and methods for providing fast cacheable access to a key-value device through a filesystem interface

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574733B1 (en) * 1999-01-25 2003-06-03 Entrust Technologies Limited Centralized secure backup system and method
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
JP2001051904A (ja) * 1999-08-11 2001-02-23 Hitachi Ltd 不揮発性半導体メモリを用いた外部記憶装置
JP2004199138A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd メモリデバイスとそれを使用する電子機器
BRPI0406422A (pt) * 2003-01-31 2005-10-04 Matsushita Electric Ind Co Ltd Cartão de memória semicondutor e programa para controlar o mesmo
JP2005056305A (ja) * 2003-08-07 2005-03-03 Matsushita Electric Ind Co Ltd メモリ領域に分割領域を持つ情報記憶装置
TWI263431B (en) * 2004-09-22 2006-10-01 Inst Information Industry Data encryption system and method
US8161524B2 (en) * 2005-01-13 2012-04-17 Samsung Electronics Co., Ltd. Method and portable storage device for allocating secure area in insecure area
US7721115B2 (en) * 2005-02-16 2010-05-18 Cypress Semiconductor Corporation USB secure storage apparatus and method
US9122643B2 (en) * 2005-12-08 2015-09-01 Nvidia Corporation Event trigger based data backup services
CA2635341A1 (en) * 2005-12-27 2007-07-05 Atomynet Inc. Computer session management device and system
WO2007074431A2 (en) * 2005-12-27 2007-07-05 Atomynet Inc. Method and apparatus for securing access to applications
US8959311B2 (en) * 2006-08-25 2015-02-17 Texas Instruments Incorporated Methods and systems involving secure RAM
US20080208929A1 (en) * 2007-02-22 2008-08-28 Mark Phillipi System And Method For Backing Up Computer Data
US8219766B1 (en) * 2008-03-31 2012-07-10 Symantec Corporation Systems and methods for identifying the presence of sensitive data in backups

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8509430B2 (en) 2010-03-15 2013-08-13 Samsung Electronics Co., Ltd. Storage devices having a security function and methods of securing data stored in the storage device
KR101442539B1 (ko) * 2013-12-31 2014-09-26 권용구 보안저장장치를 구비하는 저장 시스템 및 그 관리 방법
WO2015102220A1 (ko) 2013-12-31 2015-07-09 권용구 보안저장장치를 구비하는 저장 시스템 및 그 관리 방법
US9619161B2 (en) 2013-12-31 2017-04-11 Sung Gon Cho Storage system having security storage device and management system therefor
KR101719129B1 (ko) 2016-11-18 2017-03-24 (주)세이퍼존 크로스 플랫폼 엔드포인트 보안시스템
KR20210043069A (ko) 2019-10-11 2021-04-21 김윤보 복수의 스토리지를 이용한 보안정보 저장 시스템
WO2023204413A1 (ko) * 2022-04-21 2023-10-26 김덕우 데이터복구기능이 부가된 컴퓨터 데이터 저장장치 및 그 제어방법

Also Published As

Publication number Publication date
US20090164709A1 (en) 2009-06-25

Similar Documents

Publication Publication Date Title
KR20090067649A (ko) 보안 저장 장치를 갖는 메모리 시스템 및 그것의 보안 영역관리 방법
US7549044B2 (en) Block-level storage device with content security
US8761403B2 (en) Method and system of secured data storage and recovery
CN102945355B (zh) 基于扇区映射的快速数据加密策略遵从
KR101155697B1 (ko) 비휘발성 메모리에 데이터를 기록하고 이로부터 데이터를 판독하기 위한 데이터 화이트닝
JP4648687B2 (ja) データストレージシステムにおける暗号化変換の方法と装置
KR100678927B1 (ko) 비보안 영역에 보안 영역을 할당하는 방법 및 이를제공하는 휴대용 저장 장치
US20120303974A1 (en) Secure Removable Media and Method for Managing the Same
CN102855452B (zh) 基于加密组块的快速数据加密策略遵从
US8750519B2 (en) Data protection system, data protection method, and memory card
US9026755B2 (en) Content control systems and methods
NZ555998A (en) Method and portable storage device for allocating secure area in insecure area
KR20110055510A (ko) 보안 저장 장치에 저장된 디지털 컨텐츠의 백업
US11288212B2 (en) System, apparatus, and method for secure deduplication
US8983072B2 (en) Portable data carrier featuring secure data processing
US20080005590A1 (en) Memory system
CN105630965A (zh) 一种移动终端闪存介质上用户空间安全删除文件***及方法
US10733306B2 (en) Write-only limited-read filesystem
US20220123932A1 (en) Data storage device encryption
US11995223B2 (en) Data storage device encryption
TWI775284B (zh) 記憶系統、其控制方法及資訊處理系統
CN210691364U (zh) 一种加密u盘
KR20220124452A (ko) 스토리지 장치
Dolgunov Enabling optimal security for removable storage devices
JP5539024B2 (ja) データ暗号化装置およびその制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application