KR102422680B1 - 보안 기능이 내재된 플래시 스토리지 시스템 - Google Patents

보안 기능이 내재된 플래시 스토리지 시스템 Download PDF

Info

Publication number
KR102422680B1
KR102422680B1 KR1020200176360A KR20200176360A KR102422680B1 KR 102422680 B1 KR102422680 B1 KR 102422680B1 KR 1020200176360 A KR1020200176360 A KR 1020200176360A KR 20200176360 A KR20200176360 A KR 20200176360A KR 102422680 B1 KR102422680 B1 KR 102422680B1
Authority
KR
South Korea
Prior art keywords
security
mode
storage system
command
flash storage
Prior art date
Application number
KR1020200176360A
Other languages
English (en)
Other versions
KR20220086165A (ko
Inventor
조완호
Original Assignee
조완호
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 조완호 filed Critical 조완호
Priority to KR1020200176360A priority Critical patent/KR102422680B1/ko
Priority to PCT/KR2021/012421 priority patent/WO2022131489A1/ko
Publication of KR20220086165A publication Critical patent/KR20220086165A/ko
Application granted granted Critical
Publication of KR102422680B1 publication Critical patent/KR102422680B1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

추가적인 하드웨어 및 응용프로그램 없이 기본 탑재된 펌웨어만으로 읽기 잠금, 쓰기 잠금 등의 데이터 보안 기능이 구현되는 플래시 스토리지 시스템이 제공된다. 본 발명에 따른 보안 기능이 내재된 플래시 스토리지 시스템은, 저장 매체인 낸드 플래시 메모리와 상기 낸드 플래시 메모리의 활용에 관한 연산을 처리하는 컨트롤러를 포함하는 플래시 스토리지 시스템에 있어서, 상기 낸드 플래시 메모리는, 호스트 운영체제에 의해 파일 시스템이 쓰여지고 사용자의 저장 공간으로 활용되는 사용자 영역; 및 상기 컨트롤러를 이용하여 상기 사용자 영역의 활용에 관한 상기 호스트 운영체제의 명령을 해석하고 수행하도록 구성된 펌웨어(Firmware)와, 상기 펌웨어에 의해 활용 및 관리되는 메타데이터가 저장되는, 펌웨어 및 메타데이터 영역; 을 포함하고, 상기 펌웨어는 사용자가 호스트 운영체제를 통해 포맷 명령을 입력할 때 입력된 사항의 적어도 일부를 미리 정해진 바에 따라 보안 모드 설정 코드 또는 패스워드로 해석하고, 그 해석에 따라 상기 사용자 영역에 대한 읽기 또는 쓰기 잠금 모드를 포함하는 보안 모드를 설정 및 해제하도록 구성된다.

Description

보안 기능이 내재된 플래시 스토리지 시스템{Flash Storage System Having Embedded Security Program}
본 발명은 보안 기능이 내재된 플래시 스토리지 시스템 및 그 보안 설정 방법에 관한 것으로, 좀 더 자세하게는, 낸드(NAND) 플래시 메모리(Flash Memory) 소자를 저장 매체로 하는 메모리 카드, USB 메모리, SSD(Solid State Drive) 등의 플래시 스토리지 시스템에 적용되는 데이터 보안 기술에 관한 것이다.
일반적으로 플래시 스토리지 시스템은 낸드(NAND) 플래시 메모리에 데이터를 저장하도록 구성된 장치로서, 낸드 플래시 메모리, 컨트롤러(Controller), 및 디램(Dram)등으로 구성 될 수 있고, 이러한 구성 요소를 제어하기 위한 소프트웨어인 펌웨어(Firmware)가 내장된다.
플래시 스토리지 시스템에는 내장형과 외장형이 있는데, 내장형 플래시 스토리지 시스템은 서버 또는 PC(Personal Computer) 등의 기기 내부에 장착되어 계속적으로 사용된다. 외장형 플래시 스토리지 시스템은 PC나 모바일 기기 등의 외부에 연결되어 일시적으로 사용되고 손쉽게 분리되며, 사용자가 소지하고 이동하기 쉽다. 흔히 사용되는 USB 메모리, 포터블(Portable) SSD와 메모리 카드 등이 이러한 외장형 플래시 스토리지 시스템에 해당된다. 외장형 플래시 스토리지 시스템은 휴대하기가 쉬워서 편리한 반면 분실이나 도난의 위험도 크기 때문에 저장된 데이터의 보호에 취약한 측면이 있다.
외장형 플래시 스토리지 시스템의 취약점인 데이터 보호 기능을 보완하기 위해 몇 가지 기술들이 적용되고 있다. 메모리 카드의 일종인 SD(Secure Digital) 카드에는 외부에 쓰기 방지용 스위치가 구비되어 사용자가 원치 않는 쓰기를 방지할 수 있으나, 저장된 데이터의 유출 방지와는 다소 거리가 있다. 근래 들어, 플래시 스토리지 시스템의 외부에 패스워드를 입력할 수 있는 번호 키패드가 설치되거나, 지문이나 홍채 등 생체인식 센서가 구비되어 데이터 유출을 방지하는 외장형 플래시 스토리지 시스템도 제시되고 있다. 또한, 플러그 앤 플레이(Plug and Play) 방식으로 작동하여 플래시 메모리에 저장된 데이터를 보호하는 보안 프로그램이 설치된 제품도 알려져 있다.
이러한 기술의 적용이 플래시 스토리지 시스템의 보안성을 향상시키는 데에 도움이 되는 것은 사실이나, 키패드나 생체인식 센서 등의 하드웨어가 추가된 제품은 휴대성과 가격 경쟁력이 떨어질 수밖에 없다. 보안 프로그램이 설치된 제품은 특정 OS(Operation System)가 설치된 기기에서만 해당 스토리지 시스템을 사용할 수 있다는 제약이 따른다. 암/복호화 기술 기반의 보안 프로그램은 데이터 읽기 및 쓰기 속도를 저하시키기도 한다. 키패드 등의 하드웨어가 구비된 경우에도 이를 활용하기 위한 보안 프로그램이 필요한데, 이들의 공통적인 문제는 보안 프로그램이 플래시 스토리지 시스템의 사용자 영역(User Area)에 저장된다는 점이다. 사용자에게 제공될 저장 공간을 차지할 뿐만 아니라, 사용자 영역은 연결된 기기로부터 어떤식으로든 접근이 가능하기 때문에 보안상의 약점이 될 수 있다.
본 발명은 추가적인 하드웨어 없이 기본적인 구성요소만으로 읽기 잠금, 쓰기 잠금 등의 데이터 보안 기능이 구현되는 플래시 스토리지 시스템을 제공하는 데에 그 목적이 있다. 또한, 본 발명은 플래시 스토리지 시스템에 포함된 저장 매체의 사용자 영역에 보안 프로그램 등의 흔적을 남기지 않고, 데이터 읽기/쓰기 속도를 저하시키지 않으면서도 보안 기능이 내재된 플래시 스토리지 시스템을 제공하는 데에 그 목적이 있다.
전술한 과제의 해결을 위하여, 본 발명에 따른 보안 기능이 내재된 플래시 스토리지 시스템은, 저장 매체인 낸드 플래시 메모리와 상기 낸드 플래시 메모리의 활용에 관한 연산을 처리하는 컨트롤러를 포함하는 플래시 스토리지 시스템에 있어서, 상기 낸드 플래시 메모리는, 호스트 운영체제에 의해 파일 시스템이 쓰여지고 사용자의 저장 공간으로 활용되는 사용자 영역; 및 상기 컨트롤러를 이용하여 상기 사용자 영역의 활용에 관한 상기 호스트 운영체제의 명령을 해석하고 수행하도록 구성된 펌웨어(Firmware)와, 상기 펌웨어에 의해 활용 및 관리되는 메타데이터가 저장되는, 펌웨어 및 메타데이터 영역; 을 포함하고, 상기 펌웨어는 사용자가 호스트 운영체제를 통해 포맷 명령을 입력할 때 입력된 사항의 적어도 일부를 미리 정해진 바에 따라 보안 모드 설정 코드 또는 패스워드로 해석하고, 그 해석에 따라 상기 사용자 영역에 대한 읽기 또는 쓰기 잠금 모드를 포함하는 보안 모드를 설정 및 해제하도록 구성된다.
상기 펌웨어는 상기 포맷 명령을 입력할 때 볼륨레이블 입력란에 입력된 문자열을 상기 보안 모드 설정 코드 또는 패스워드로 인식하도록 구성될 수 있다.
상기 펌웨어는 상기 해석 결과에 따라 보안 모드 설정값 또는 패스워드를 메타데이터 영역에 저장하도록 구성될 수 있다.
상기 펌웨어는 상기 보안 모드 설정 코드를 해석하고 그에 따른 보안 동작을 수행하는 보안 제어부를 포함하고, 상기 보안 제어부는 상기 입력된 사항의 적어도 일부가 미리 정해진 보안 모드 설정 코드로, 나머지 일부가 패스워드로 해석되면, 해당 보안 모드의 설정값과 상기 패스워드를 메타데이터 영역 내의 보안 저장부에 저장하도록 구성될 수 있다.
이 경우, 상기 보안 저장부는, 보안 모드에 따른 설정값이 저장되는 적어도 하나의 모드 설정값 섹터와 패스워드가 저장되는 패스워드 섹터를 구비한 보안 모드 데이터 구조체를 포함할 수 있다.
또한, 상기 보안 저장부는, 상기 보안 제어부가 상기 입력된 사항을 해석할 때 참조하도록 보안 모드별로 미리 정해진 설정 코드 정보를 포함하는 룩업테이블을 포함할 수 있다.
한편, 상기 보안 모드는, 상기 사용자 영역에 대한 데이터 읽기 또는 쓰기 기능을 상기 패스워드의 확인을 거쳐 제한적으로 수행하는 읽기 또는 쓰기 잠금 모드; 및 상기 읽기 또는 쓰기 잠금 모드와 중첩하여 설정 가능한 허용 모드; 를 포함하고, 상기 허용 모드가 설정된 상태로 전원이 재인가 된 때에는, 상기 읽기 또는 쓰기 잠금 모드 설정으로 인해 잠긴 기능을 패스워드 확인 없이 허용하고, 다음번 전원 재인가 시에 상기 읽기 또는 쓰기 잠금 모드로 복귀하도록 구성될 수 있다.
이 경우, 상기 펌웨어는 상기 보안 모드 설정 코드를 해석하고 그에 따른 보안 동작을 수행하는 보안 제어부를 포함하고, 상기 보안 제어부는 상기 입력된 사항의 적어도 일부가 미리 정해진 보안 모드 설정 코드로, 나머지 일부가 패스워드로 해석되면, 해당 보안 모드의 설정값과 상기 패스워드를 메타데이터 영역 내의 보안 저장부에 저장하며, 상기 보안 저장부는, 상기 읽기 또는 쓰기 잠금 모드에 따른 설정값이 저장되는 제1 모드 설정값 섹터, 상기 허용 모드에 따른 설정값이 저장되는 제2 모드 설정값 섹터, 및 패스워드가 저장되는 패스워드 섹터를 구비한 보안 모드 데이터 구조체를 포함하도록 구성될 수 있다.
본 발명의 한 측면에 따른, 보안 기능이 내재된 플래시 스토리지 시스템은, 저장 매체인 낸드 플래시 메모리와 상기 낸드 플래시 메모리의 활용에 관한 연산을 처리하는 컨트롤러를 포함하는 플래시 스토리지 시스템에 있어서, 상기 낸드 플래시 메모리는, 호스트 운영체제에 의해 파일 시스템이 쓰여지고 사용자의 저장 공간으로 활용되는 사용자 영역; 및 상기 컨트롤러를 이용하여 상기 사용자 영역의 활용에 관한 상기 호스트 운영체제의 명령을 해석하고 수행하도록 구성된 펌웨어(Firmware)와, 상기 펌웨어에 의해 활용 및 관리되는 메타데이터가 저장되는, 펌웨어 및 메타데이터 영역; 을 포함하고, 상기 펌웨어 및 메타데이터 영역은, 상기 펌웨어의 일부로서 상기 호스트 운영체제의 명령에 포함된 사용자 입력 사항을 미리 정해진 바에 따라 보안 모드 설정 코드 또는 패스워드로 해석하고, 그 해석에 따라 상기 사용자 영역에 대한 보안 모드의 설정 및 해제를 실행하는 보안 제어부; 및 상기 메타데이터의 일부로서 상기 보안 제어부에 의해 저장 및 활용되는 것으로 상기 보안 모드에 따른 설정값과 상기 패스워드를 포함하는 보안 저장부; 를 포함하여 구성된다.
상기 보안 모드는, 상기 사용자 영역에 대한 데이터 읽기 또는 쓰기 기능을 상기 패스워드의 확인을 거쳐 제한적으로 수행하는 읽기 또는 쓰기 잠금 모드; 및 상기 읽기 또는 쓰기 잠금 모드와 중첩하여 설정 가능한 허용 모드; 를 포함하고, 상기 허용 모드가 설정된 상태로 전원이 재인가 된 때에는, 상기 읽기 또는 쓰기 잠금 모드 설정으로 인해 잠긴 기능을 패스워드 확인 없이 허용하고, 다음번 전원 재인가 시에 상기 읽기 또는 쓰기 잠금 모드로 복귀하도록 구성될 수 있다.
본 발명에 따르면, 추가적인 하드웨어 없이 기본적인 구성요소만으로 읽기 잠금, 쓰기 잠금 등의 데이터 보안 기능이 구현되는 플래시 스토리지 시스템이 제공된다.
본 발명에 따르면, 플래시 스토리지 시스템에 보안 기능이 내재되어 있어, 저장 매체의 사용자 영역에 보안 프로그램 등의 흔적을 남기지 않는다. 또한, 보안 프로그램이 데이터 읽기/쓰기 속도를 저하시키지도 않으며, 윈도우(Windows) 기반의 PC뿐만 아니라 리눅스 등 다양한 운영체제(OS)를 갖는 다양한 기기에서도 데이터 보안 기능을 수행할 수 있도록 구성된 플래시 스토리지 시스템이 제공될 수 있다.
도 1은 본 발명에 따른 플래시 스토리지 시스템의 구성을 개략적으로 보이는 블록도이다.
도 2는 본 발명의 한 실시예에 따른 플래시 스토리지 시스템의 보안 모드 설정 과정을 보인다.
도 3은 본 발명의 한 실시예에 따른 플래시 스토리지 시스템에 대한 포맷 명령 입력창을 이용한 보안 모드 설정 입력 예를 보인다.
도 4는 본 발명의 한 실시예에 따른 플래시 스토리지 시스템의 보안 모드 종류 및 그 설정 입력 체계를 예시한 테이블이다.
도 5는 본 발명의 한 실시예에 따른 플래시 스토리지 시스템에서 읽기 잠금 모드의 활용 예를 보인다.
도 6은 본 발명의 한 실시예에 따른 플래시 스토리지 시스템에서 쓰기 잠금 모드의 활용 예를 보인다.
도 7은 본 발명의 한 실시예에 따른 플래시 스토리지 시스템에서 허용 모드의 활용 예를 보인다.
이하에서는 도면을 참조하여 본 발명의 다양한 실시예를 설명한다. 실시예를 통해 본 발명의 기술적 사상이 좀 더 명확하게 이해될 수 있을 것이다. 본 발명의 기술적 구성이 이하에 설명된 실시예에 한정되는 것은 아니다. 또한, 장치의 구성에 관한 직접적인 설명뿐만 아니라, 장치를 사용하는 방법 또는 과정에 관한 설명도 장치의 구성에 대한 이해를 돕는 도구로 활용될 수 있을 것이다.
도 1은 본 발명에 따른 플래시 스토리지 시스템의 구성을 개략적으로 보이는 블록도이다.
플래시 스토리지 시스템(100)은 호스트(200)에 커넥터(101)를 통해 연결되면 파워라인(104)을 통해 전력을 공급받아 전원이 On/Off 되도록 구성된다. 호스트(200) 명령을 처리하는 컨트롤러(102), 낸드 플래시 메모리(105)를 구비하고, 추가로 디램(DRAM)(103)을 구비할 수 있다. 플래시 스토리지 시스템(100)에서 저장 매체로 사용되는 낸드 플래시 메모리(105)에는 펌웨어 및 메타데이터 영역(300)과, 호스트(200)의 운영체제(OS)를 통해 사용자의 저장 공간으로 활용되는 사용자 영역(400), 그리고 상기 사용자 영역(400) 등 낸드 플래시 메모리(105) 내에서 배드 블락(Bad Block)이 발생할 경우 교체 또는 버퍼를 위한 추가 영역(401)이 구비된다.
여기서, 상기 호스트(200)는 윈도우(Windows), 도스(DOS) 또는 리눅스(Linux)와 같은 운영체제가 탑재된 PC 또는 서버일 수 있다. 이러한 운영체제는 일반적으로 스토리지 시스템을 사용하기 위해 포맷(Format) 명령을 이용하여 FAT, NTFS 또는 EXT와 같은 파일 시스템(File System)을 제품에 쓰기(Write)하고, 데이터(Data) 또는 파일(File)을 쓰기 또는 읽는 방식으로 스토리지 시스템을 활용한다. 이와 같이, 낸드 플래시 메모리 영역(105) 중 운영체제가 펌웨어 및 메타데이터를 이용하여 파일 시스템을 쓰고, 데이터 쓰기 또는 읽기를 진행하는 영역을 사용자 영역(400)이라 한다.
상기 펌웨어 및 메타데이터 영역(300)에 구비된 펌웨어는, 호스트(200)의 명령에 따라 플래시 스토리지 시스템(100)을 구동하는 소프트웨어로서, 일반적인 플래시 스토리지 시스템의 펌웨어와 마찬가지로 호스트(200)의 명령을 해석하고 처리하는 HIL(301: Host interface Layer)과 Address-Mapping 알고리즘, Wear-leveling 알고리즘 등을 포함한 FTL(302: Flash Transition Layer), 그리고 낸드 플래시 메모리(105)를 동작시키기 위하여 호스트(200)의 명령을 낸드 플래시 명령으로 변환하는 FIL(303: Flash Interface Layer)을 포함하여 구성된다. 또한, 상기 펌웨어 및 메타데이터 영역(300)에는 상기 펌웨어가 낸드 플래시 메모리(105)를 사용하기 위하여 생성된 메타데이터가 존재할 수 있다. 플래시 스토리지 시스템(100)은 이러한 펌웨어와 메타데이터에 의해서 파워 On시 초기화를 진행하고, 초기화 이후 포맷, 읽기, 쓰기, 삭제와 같은 운영체제의 명령을 처리 할 수 있다.
본 발명에 따른 플래시 스토리지 시스템(100)의 상기 펌웨어 및 메타데이터 영역(300)에는 펌웨어의 일부로서 상기 호스트(200) 운영체제의 명령에 따라 보안 모드의 설정, 해제 등을 담당하는 보안 제어부(304)가 마련된다. 또한, 상기 메타데이터의 일부로서 상기 보안 제어부(304)에 의해 생성, 관리, 및 활용되는 보안 저장부(305)가 마련된다.
상기 보안 제어부(304)는 상기 사용자 영역(400)에 대한 보안 모드 설정에 관하여 호스트(200) 운영체제의 명령을 해석하고, 그에 따라 상기 보안 저장부(305)에 보안 모드 설정값 및 패스워드 등을 저장하며, 보안 모드에 따른 보안 동작을 제어하도록 구성될 수 있다. 상기 보안 모드에는 쓰기 잠금 모드, 읽기 잠금 모드, 쓰기 및 읽기 잠금 모드, 잠금 해제 모드, 또는 허용 모드 등이 포함될 수 있다. 상기 보안 모드에 따른 보안 동작은 각 모드의 명칭과 동일한데, 상기 허용 모드는 쓰기 및/또는 읽기 잠금이 설정된 상태에서 추가적으로 설정되는 것으로, 플래시 스토리지 시스템(100)의 전원이 새롭게 Off/On 되었을 때, 전원이 다시 Off 되기 전까지 일회적으로 쓰기 및/또는 읽기가 허용되도록 구성될 수 있다.
상기 보안 제어부(304)가 상기 호스트(200)의 운영체제로부터 받는 명령은 운영체제에서 플래시 스토리지 시스템으로 전달되는 기존의 명령들 중 어느 하나일 수도 있고, 향후에 추가될 새로운 명령일 수도 있다. 상기 명령은 별도의 응용프로그램 없이 사용자의 입력에 따라 윈도우, 리눅스 등의 운영체제로부터 플래시 스토리지 시스템으로 전달된다. 일 예로, 본 실시 형태에 따른 플래시 스토리지 시스템(100)의 보안 제어부(304)는 운영체제의 포맷(Format) 명령을 보안 모드 설정에 관한 명령으로 인식하도록 구성될 수 있다.
이하에서는 운영체제의 포맷 명령을 보안 설정 명령으로 활용할 수 있도록 한 구성 예에 관하여 상기 도 1을 다른 도면과 함께 참조하여 좀 더 구체적으로 설명하기로 한다. 이를 통해 상기 보안 제어부(304) 및 상기 보안 저장부(305) 등의 구성이 더 명확하게 이해될 수 있을 것이다.
도 2는 본 발명의 한 실시예에 따른 플래시 스토리지 시스템의 보안 모드 설정 과정을 보인다. 도 3은 본 발명의 한 실시예에 따른 플래시 스토리지 시스템에 대한 포맷 명령 입력창을 이용한 보안 모드 설정 입력 예를 보인다.
플래시 스토리지 시스템(100)에 대해 전원 재인가(s10) 시, 즉 사용자가 본 발명에 따른 플래시 스토리지 시스템(100)의 커넥터(101)를 호스트(200)의 커넥터(미도시)에 연결하여 전력이 다시 공급되면, 통상적인 플래시 스토리지 시스템과 마찬가지로 호스트(200)의 디바이스 식별을 위한 제1 응답(s11)을 제공한다. 다음으로 전술한 보안 제어부(304)는 현재 설정된 보안 모드가 읽기 또는 쓰기 잠금 모드인지 확인한다(s20). 이를 위해 상기 보안 제어부(304)는 상기 보안 저장부(305)에 저장된 보안 모드 설정값을 참조하여, 보안 모드 설정값에 따라 미리 정해진 보안 동작을 수행한다. 현재의 설정 값이 읽기 또는 쓰기 잠금 모드에 해당하면, 그에 따라 읽기 또는 쓰기 기능을 차단(s21)하는 보안 동작을 수행한다. 현재의 보안 모드가 읽기 또는 쓰기 잠금 상태가 아니라면, 사용자의 추가적인 입력에 따라 읽기, 쓰기, 지우기, 포맷 등을 수행할 수 있는 정상 상태(s30)로 진입한다.
상기 정상 상태(s30)에서 사용자는 운영체제의 명령 입력 수단, 예컨대 포맷(Format) 명령 입력창(341)을 이용하여 플래시 스토리지 시스템(100)에 보안 모드 설정 입력(s31)을 진행할 수 있다. 예를 들어, 윈도우 운영체제에서 포맷 명령 입력창(341)은 포맷된 드라이브에 부여될 볼륨레이블(volume lable)의 입력을 위해 볼륨레이블 입력란(343)을 제공하는데, 본 발명에 따른 플래시 스토리지 시스템(100)은 사용자로부터 운영체제가 제공하는 상기 볼륨레이블 입력란(343)을 통해 보안 모드 설정을 위한 설정 코드와 패스워드 등을 입력 받도록 구성될 수 있다. 상기 포맷 명령 입력창(341)에 포함된 빠른 포맷 선택란(342)도 보안 모드 설정 입력을 위해 활용될 수 있다.
예를 들어, 본 발명에 따른 플래시 스토리지 시스템(100)의 상기 보안 제어부(304)는 사용자가 상기 볼륨레이블 입력란(343)에 입력한 문자열 중 앞부분이 미리 정해진 보안 모드 설정 코드에 해당하면, 이를 보안 모드 설정을 위한 명령으로 해석하고 그 설정 코드에 따라 보안 모드 설정값을 메타데이터 영역의 상기 보안 저장부(305)에 저장함으로써 플래시 스토리지 시스템(100)이 읽기 잠금 모드, 쓰기 잠금 모드, 읽기 및 쓰기 잠금 모드, 잠금 해제 모드, 등과 같은 보안 모드에 진입(s32)하도록 구성될 수 있다. 읽기 또는 쓰기 잠금 모드로 설정된 플래시 스토리지 시스템의 경우 전원 재인가(Off/ON) 시에 포맷 명령 입력창을 통해 패스워드를 입력 받아 상기 사용자 영역(400)에 대하여 읽기 또는 쓰기를 허용 할 수 있고, 또한 잠금을 해제 하기 위한 명령, 즉 잠금 해제 모드 설정 코드 및 패스워드를 입력 받아 잠금을 해제할 수도 있다. 여기서, 문자열은 좁은 의미의 문자뿐만 아니라 숫자 및 특수문자 등을 포함할 수 있다.
상기 보안 제어부(304)는 상기 문자열 중 상기 보안 모드 설정 코드의 뒷부분을 패스워드로 인식하고, 이를 상기 보안 저장부(305)에 저장하도록 구성될 수 있다. 상기 보안 저장부(305)는 적어도 하나의 보안 모드 설정값을 저장하는 보안 모드 설정값 섹터과 패스워드를 저장하는 패스워드 섹터를 포함하는 보안 모드 데이터 구조체를 구비할 수 있다. 한편, 상기 보안 제어부(304)가 상기 볼륨레이블 입력란(343)에 입력된 문자열로부터 보안 모드 설정 코드를 식별할 때에는, 상기 보안 저장부(305)에 미리 저장된 룩업테이블(LUT), 예컨대 다수의 보안 모드 설정 코드와 각 설정 코드에 대응되는 보안 동작 정보를 참조하도록 구성될 수 있다.
도 4는 본 발명의 한 실시예에 따른 플래시 스토리지 시스템의 보안 모드 종류 및 그 설정 입력 체계를 예시한 테이블이다.
좀 더 구체적인 예로서, 사용자가 호스트의 운영체제를 통해 포맷 명령을 전달할 때, 본 실시 형태에 따른 플래시 스토리지 시스템(100)은 상기 포맷 명령 입력창(341)의 빠른 포맷 선택란(342)에 체크되고, 볼륨레이블 입력란(343)에 입력된 문자열이 '1#1234abcd'이면, 상기 플래시 스토리지 시스템(100)은 '1#'에 대하여 쓰기 및 읽기 잠금 모드의 설정 명령으로 인식하여 잠금을 설정하고, 나머지 '1234abcd' 값을 패스워드로 저장할 수 있다. 다시 말해서, 메타데이터 영역의 상기 보안 모드 데이터 구조체에 쓰기 및 읽기 잠금 모드의 설정값과 상기 패스워드를 저장할 수 있다.
상기 볼륨레이블 입력란(343)에 2# 또는 3#과 패스워드가 입력된 경우 각각 읽기 또는 쓰기 잠금 모드로서, 읽기 또는 쓰기 기능만 상기 패스워드로 잠그는 설정이 가능하고, 사용자가 읽기 또는 쓰기 잠금 모드가 설정된 상태의 플래시 스토리지 시스템을 사용하기 위하여 '0#1234abcd' 또는 '1234abcd' 와 같은 문자열을 입력하면 플래시 스토리지 시스템의 전원이 Off 될 때까지(호스트와의 연결이 해제될 때까지) 읽기 또는 쓰기를 허용하거나, 허용 모드로 전환할 수 있다. 허용 모드에 대해서는 뒤에서 좀 더 자세히 설명하기로 한다. 사용자가 포맷 명령의 볼륨레이블 입력란(343)에 '##1234abcd'를 입력하면, '##'을 플래시 스토리지 시스템의 잠금을 해제하기 위한 명령인 해제 모드의 설정 코드로 인식하고, 그 뒤에 기재된 패스워드가 일치할 경우 전술한 보안 저장부(305)의 읽기 또는 쓰기 잠금 모드의 설정값과 패스워드를 삭제하여 잠금 모드를 해제할 수도 있다.
사용자가 패스워드를 분실하였을 경우, 사용자는 빠른 포맷이 아닌 포맷 명령을 이용하여, 즉 빠른 포맷 선택란(342)에 대한 체크를 해제함으로써 일반적인 포맷 동작과 동일하게 상기 사용자 영역(400)의 파일 시스템과 데이터를 삭제하고 잠금을 해제할 수도 있다.
여기서 설명한 실시예는 포맷 명령 입력창(341)의 옵션 중 빠른 포맷 선택란(342)과 볼륨레이블 입력란(343)을 이용하여 보안 모드 설정에 관한 명령 및 패스워드를 입력하는 구성을 구체적으로 예시한 것이나, 본 발명의 구성이 이 것으로 한정되는 것은 아니다. 예컨대 0#, 1#, #2, ##과 같은 명령(설정 코드)은 다른 문자, 숫자 또는 기호로 대체될 수 있고, 또한 빠른 포맷의 선택과 해제 구분 없이 볼륨레이블로 입력되는 명령만으로 구성될 수도 있으며, 포맷 명령의 구성 요소인 빠른 포맷, 포맷, 볼륨레이블, 파일 시스템의 종류, 할당 크기와 같은 항목 등을 선택 또는 조합하여 사용하도록 구성될 수도 있다.
한편, 본 도면에서 점선으로 표시된 부분(LUT)은 앞서 설명된 바와 같이, 보안 제어부(304)가 볼륨레이블 입력란(343)을 통한 명령을 해석할 때 참조하도록 보안 저장부(305)에 미리 저장된 룩업테이블의 구성을 이해하는 데에 도움이 될 것이다.
도 5는 본 발명의 한 실시예에 따른 플래시 스토리지 시스템에서 읽기 잠금 모드의 활용 예를 보인다.
본 실시예에 따른 플래시 스토리지 시스템(100)에 대해 전원 재인가(s10) 시, 즉 호스트와의 연결이 시작될 때, 호스트(200)의 디바이스 식별을 위해 제1 응답(s11)을 제공한다. 다음으로 현재 설정된 보안 모드가 읽기 잠금 모드인지를 확인한다(s201). 이를 위해 보안 제어부(304)는 보안 저장부(305)에 저장된 보안 모드 설정값을 미리 정해진 읽기 잠금 모드의 설정값과 비교한다. 현재의 보안 모드 설정값이 읽기 잠금 모드에 해당하면, 읽기 기능이 제한된 상태임을 알리는 제2 응답을 제공(s211)한다. 이때, 운영체제에 제공되는 '비정상 포맷 상태(Abnormal Format Condition)'와 같은 메세지를 활용할 수 있다. 현재의 보안 모드가 읽기 잠금 모드가 아니라면, 사용자의 추가적인 입력에 따라 읽기, 쓰기, 지우기, 포맷 등을 수행할 수 있는 정상 상태(s30)로 진입한다.
상기 제2 응답에 대응하여, 사용자가 볼륨레이블을 포함하는 포맷 명령을 입력(s213)하면, 상기 보안 제어부(304)는 상기 볼률레이블로서 입력된 문자열에 포함된 패스워드를 읽기 잠금 모드 설정 시에 상기 보안 저장부(305)에 저장된 패스워드와 비교하여 일치 여부를 판단(s214)한다. 예를 들어, 사용자가 볼륨레이블 입력란에 '0#1234abcd'을 입력하면, 상기 보안 제어부(304)는 '0#'을 그 뒤에 따르는 문자열이 패스워드임을 나태내는 명령으로 인식하고 '1234abcd'를 상기 보안 저장부(305)에 미리 저장된 패스워드와 비교하도록 구성될 수 있다. 별도의 코드 없이 문자열이 입력되더라도 이를 저장된 패스워드와 비교하도록 구성될 수도 있다.
입력된 패스워드가 미리 저장된 것과 일치하면 플래시 스토리지 시스템(100)의 사용자 영역(400)에 대한 읽기 요청을 허용(s221)하고, 상기 정상 상태(s30)로 진입한다. 이와 달리, 사용자에 의해 볼률레이블 입력란에 입력된 패스워드가 상기 보안 저장부(305)에 저장된 것과 불일치하면, 불일치 횟수를 세는 카운트 값을 증가시키고 상기 포맷 명령 입력(s213)을 반복하며 상기 불일치 횟수가 미리 정해진 소정의 횟수(예컨대 5)에 도달하는지를 판단한다(s215). 상기 카운트 값이 소정의 값에 도달하면 예컨대 상기 사용자 영역(400)에 대해 포맷(Format)을 실행(s216)할 수 있다. 이것은 저장된 데이터에 대한 부정한 목적의 접근을 종국적으로 차단하기 위한 조치이다. 이와 달리 더 이상의 패스워드 입력을 차단하고 읽기 잠금 상태만을 유지하도록 구성될 수도 있을 것이다. 한편 상기 카운트 값(변수)은 상기 보안 저장부(305)에 저장되며, 전술한 보안 모드 데이터 구조체에 포함될 수 있다.
도 6은 본 발명의 한 실시예에 따른 플래시 스토리지 시스템에서 쓰기 잠금 모드의 활용 예를 보인다.
본 실시예에 따른 플래시 스토리지 시스템(100)에 대해 전원 재인가(s10) 시, 즉 호스트와의 연결이 시작될 때, 호스트(200)의 디바이스 식별을 위해 제1 응답(s11)을 제공한다. 다음으로 현재 설정된 보안 모드가 쓰기 잠금 모드인지를 확인한다(s202). 이를 위해 보안 제어부(304)는 보안 저장부(305)에 저장된 보안 모드 설정값을 미리 정해진 쓰기 잠금 모드의 설정값과 비교한다. 현재의 보안 모드 설정값이 쓰기 잠금 모드에 해당하면, 쓰기 기능이 제한된 상태에서 호스트 운영체제로부터의 읽기 명령만 수행(s212)하고, 호스트로부터 쓰기 명령이 있을 때는 쓰기 잠금 상태임을 알리는 제3 응답을 제공할 수 있다. 현재의 보안 모드가 쓰기 잠금 모드가 아니라면 정상 상태(s30)로 진입한다.
상기 제3 응답에 대응하여, 사용자가 볼륨레이블을 포함하는 포맷 명령을 입력(s213)하면, 그 이후의 과정은 패스워드가 일치할 때 쓰기 기능을 허용(s223)한다는 차이점을 제외하고는 앞서 도 5를 참조하여 설명한 것과 동일하다.
도 7은 본 발명의 한 실시예에 따른 플래시 스토리지 시스템에서 허용 모드의 활용 예를 보인다.
본 실시예에 따른 플래시 스토리지 시스템(100)에서 허용 모드는 설정 가능한 다수의 보안 모드 중 하나로서, 허용 모드가 설정된 상태로 호스트(200)와의 연결이 해제되었다가 플래시 스토리지 시스템이 이전과 같은 또는 다른 호스트(200)에 연결되어 전원이 재인가 된 때, 기존의 쓰기 또는 읽기 잠금 설정 여부와 상관없이, 전원이 Off 되기 전까지 읽기 및 쓰기가 허용되는 보안 모드로 정의된다. 이러한 허용 모드는 전술한 읽기 또는 쓰기 잠금 모드와 중복해서 설정될 수 있도록 구성될 수 있다. 이 경우 허용 모드에서의 플래시 스토리지 시스템(100) 사용을 마친 뒤에는, 즉 호스트(200)와의 연결이 해제되거나 전원이 Off 된 후에는 자동적으로 기존의 읽기 또는 쓰기 잠금 모드로 복귀되도록 구성될 수 있다.
이와 같은 허용 모드는 통상적으로 윈도우 또는 리눅스 운영체제가 설치된 호스트에서 플래시 스토리지 시스템(100)을 읽기 또는 쓰기 잠금 모드로 사용하는 사용자가 이러한 보안 모드 설정 상태를 유지하면서 해당 플래시 스토리지 시스템(100)을 모바일 디바이스 등의 다른 기기에서 일회성으로 사용하고자 할 때 유용한 선택이 될 수 있다. 허용 모드를 이용하면 볼륨레이블 입력란을 포함한 포맷 명령 입력창을 제공하지 않는 운영체제를 가진 호스트에도 본 발명에 따른 플래시 스토리지 시스템(100)을 연결하여 사용할 수 있게 되어, 그 활용 범위가 확대된다.
허용 모드의 설정 및 활용 순서는 본 도면에 예시된 바와 같다. 먼저, 전원 재인가(s10) 후의 정상 상태(s30)에서 읽기 또는 쓰기 잠금 모드 및 허용 모드를 설정(s320)할 수 있다. 그 설정 방법에 관한 설명은 앞서 도 2 내지 도 4를 참조한 보안 모드 설정 방법에 관한 설명으로 대신하기로 한다. 여기서, 허용 모드는 중첩하여 설정된 잠금 모드를 일회적으로 허용하도록 구성될 수도 있고, 읽기 허용 모드와 읽기 및 쓰기 허용 모드 등으로 세분화되어 설정될 수도 있을 것이다.
호스트 연결 해제 후 같은 혹은 다른 호스트에 연결되어 전원 재인가(s10)되면, 플래시 스토리지 시스템(100)은 디바이스 식별을 위한 제1 응답(s11)을 제공하고, 읽기 또는 쓰기 잠금 모드 설정 여부를 판단(s20)한다. 읽기 또는 쓰기 잠금 모드가 아니라면 곧바로 정상 상태(미도시)에 진입하게 될 것이고, 읽기 또는 쓰기 잠금 모드일 때는 다시 허용 모드 설정 여부를 판단(s25)한다. 이를 위해 보안 제어부(304)는 보안 저장부(305)에 미리 저장된 보안 모드 데이터 구조체에서 허용 모드 설정값을 확인하도록 구성될 수 있다.
이때 상기 보안 모드 데이터 구조체는 쓰기 및/또는 읽기 잠금 모드에 대응되는 보안 모드 설정값을 저장하는 제1 모드 설정값 섹터와 별도로 허용 모드 설정값을 저장하는 제2 모드 설정값 섹터를 포함하여, 전술한 바와 같이 쓰기 및/또는 읽기 잠금 모드와 상기 허용 모드가 중첩하여 설정될 수 있도록 구성될 수 있다.
허용 모드가 설정되어 있지 않다면 전술한 바와 같이 읽기 또는 쓰기 잠금 모드(s21)에 따른 보안 동작을 수행하게 될 것이다. 허용 모드가 설정되어 있는 경우, 상기 보안 제어부(304)는 상기 보안 저장부(305)의 허용 모드 설정값을 리셋(reset)하고(s251), 플래시 스토리지 시스템(100)은 잠금이 해제된 정상 상태(s30)로 동작하게 된다. 이후, 전원 재인가(s10) 된 때는 상기 허용 모드와 별도로 설정되어 있던 쓰기 또는 읽기 잠금 모드(s21)로 복귀하도록 구성될 수 있다.
100: 플래시 스토리지 시스템
101: 커넥터 102: 컨트롤러
103: 디램(DRAM) 105: 낸드 플래시 메모리
200: 호스트 300: 펌웨어 및 메타데이터 영역
304: 보안 제어부 305: 보안 저장부
400: 사용자 영역

Claims (10)

  1. 저장 매체인 낸드 플래시 메모리와 상기 낸드 플래시 메모리의 활용에 관한 연산을 처리하는 컨트롤러를 포함하는 플래시 스토리지 시스템에 있어서,
    상기 낸드 플래시 메모리는,
    호스트 운영체제에 의해 파일 시스템이 쓰여지고 사용자의 저장 공간으로 활용되는 사용자 영역; 및
    상기 컨트롤러를 이용하여 상기 사용자 영역의 활용에 관한 상기 호스트 운영체제의 명령을 해석하고 수행하도록 구성된 펌웨어; 를 포함하고,
    상기 펌웨어는 사용자 호스트 운영체제에서 포맷 명령을 입력 받을 경우, 상기 포맷 명령의 구성요소가 미리 정해진 바에 따라 보안 명령으로 해석되는지 여부를 판단하고, 상기 포맷 명령이 보안 명령으로 해석될 경우 상기 보안 명령에 포함된 보안 모드 및 패스워드를 이용하여, 상기 사용자 영역에 대한 읽기 또는 쓰기 잠금 모드를 포함하는 보안 모드를 설정 및 해제하도록 구성된,
    플래시 스토리지 시스템.
  2. 제1항에 있어서,
    상기 펌웨어는 상기 포맷 명령의 구성요소 중 볼륨레이블에 입력된 문자열을 미리 정해진 보안 모드 설정 코드와 대조하여 상기 포맷 명령이 보안 명령으로 해석되는지 여부를 판단하고, 상기 문자열을 상기 보안 모드와 패스워드로 해석하도록 구성된,
    플래시 스토리지 시스템.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
KR1020200176360A 2020-12-16 2020-12-16 보안 기능이 내재된 플래시 스토리지 시스템 KR102422680B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200176360A KR102422680B1 (ko) 2020-12-16 2020-12-16 보안 기능이 내재된 플래시 스토리지 시스템
PCT/KR2021/012421 WO2022131489A1 (ko) 2020-12-16 2021-09-13 보안 기능이 내재된 플래시 스토리지 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200176360A KR102422680B1 (ko) 2020-12-16 2020-12-16 보안 기능이 내재된 플래시 스토리지 시스템

Publications (2)

Publication Number Publication Date
KR20220086165A KR20220086165A (ko) 2022-06-23
KR102422680B1 true KR102422680B1 (ko) 2022-07-18

Family

ID=82057881

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200176360A KR102422680B1 (ko) 2020-12-16 2020-12-16 보안 기능이 내재된 플래시 스토리지 시스템

Country Status (2)

Country Link
KR (1) KR102422680B1 (ko)
WO (1) WO2022131489A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023546423A (ja) 2021-08-27 2023-11-02 エルジー・ケム・リミテッド 多層素材の物性予測システムおよび方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096217A1 (en) * 2010-10-15 2012-04-19 Kyquang Son File system-aware solid-state storage management system
US10656854B1 (en) * 2019-10-22 2020-05-19 Apricorn Method and portable storage device with internal controller that can self-verify the device and self-convert the device from current mode to renewed mode without communicating with host

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7721115B2 (en) * 2005-02-16 2010-05-18 Cypress Semiconductor Corporation USB secure storage apparatus and method
KR100739722B1 (ko) * 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
KR20080111219A (ko) * 2007-06-18 2008-12-23 (주)케이티에프테크놀로지스 복합 usb 디바이스의 기능모드 변경방법 및 이를 이용한복합 usb 디바이스

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096217A1 (en) * 2010-10-15 2012-04-19 Kyquang Son File system-aware solid-state storage management system
US10656854B1 (en) * 2019-10-22 2020-05-19 Apricorn Method and portable storage device with internal controller that can self-verify the device and self-convert the device from current mode to renewed mode without communicating with host

Also Published As

Publication number Publication date
WO2022131489A1 (ko) 2022-06-23
KR20220086165A (ko) 2022-06-23

Similar Documents

Publication Publication Date Title
EP2367135B1 (en) Adapter for portable storage medium and method of disabling data access
US20100088527A1 (en) Memory protection system and method
US20080046997A1 (en) Data safe box enforced by a storage device controller on a per-region basis for improved computer security
US11681637B2 (en) Memory controller, storage device including the same, and operating method of the memory controller
US7620761B2 (en) Multi-functional storage apparatus and control method thereof
KR102422680B1 (ko) 보안 기능이 내재된 플래시 스토리지 시스템
US10013172B2 (en) Electronic data storage device with multiple configurable data storage mediums
KR100841982B1 (ko) 호스트 식별 정보를 저장하는 메모리 카드 및 그것의액세스 방법
GB2412227A (en) Tape cartridge format command key
JP4653497B2 (ja) 携帯記憶装置
US12019907B2 (en) Storage device including memory controller, and non-volatile memory system including the same and operating method thereof
US11947466B2 (en) Storage device, nonvolatile memory system including memory controller, and operating method of the storage device
KR101613576B1 (ko) 가변 용량 플래시 메모리 기반 저장 장치
JP4480513B2 (ja) Hdd用情報漏洩防止装置
JP2015079525A (ja) 可搬型記憶媒体用アダプタ及びデータアクセス不能化方法
WO2013024702A1 (ja) 外部記憶装置及び外部記憶装置の制御方法
JP5662600B2 (ja) 可搬型記憶媒体用アダプタ及びデータアクセス不能化方法
EP2629222A1 (en) Portable, protected data storage device
KR102597220B1 (ko) 데이터 완전삭제 방법 및 시스템
CN114282228B (zh) 用于检测存储装置中的恶意活动的模块和方法
KR20010094068A (ko) 개인용 컴퓨터의 보안을 위한 데이터 변경, 복구 및 외부입출력 장치(유에스비, 프린터 포트, 시리얼 포트,에프디디등)통제용 드라이버 프로그램을 내장한 하드웨어장치
TW201310329A (zh) 外部記憶裝置及該外部記憶裝置的控制方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant