[go: up one dir, main page]

KR101370816B1 - 프로그램 자동 실행 기능을 가진 이동식 저장 장치 및 그 방법 - Google Patents

프로그램 자동 실행 기능을 가진 이동식 저장 장치 및 그 방법 Download PDF

Info

Publication number
KR101370816B1
KR101370816B1 KR1020110102657A KR20110102657A KR101370816B1 KR 101370816 B1 KR101370816 B1 KR 101370816B1 KR 1020110102657 A KR1020110102657 A KR 1020110102657A KR 20110102657 A KR20110102657 A KR 20110102657A KR 101370816 B1 KR101370816 B1 KR 101370816B1
Authority
KR
South Korea
Prior art keywords
host computer
storage device
program
removable storage
user
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020110102657A
Other languages
English (en)
Other versions
KR20130038034A (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 KR1020110102657A priority Critical patent/KR101370816B1/ko
Publication of KR20130038034A publication Critical patent/KR20130038034A/ko
Application granted granted Critical
Publication of KR101370816B1 publication Critical patent/KR101370816B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 실시예들에 따른 프로그램 자동 실행 기능을 가진 이동식 저장 장치는 설치 프로그램 및 타겟 프로그램이 수록된 읽기 전용 영역을 가지는 비휘발성 메모리부와, 호스트 컴퓨터에 연결되면 호스트 컴퓨터의 운영 체제에 대해 디스크 드라이브 장치로 인식되며 읽기 전용 영역을 디스크 드라이브 장치에 마운트(mount)될 수 있는 제1 볼륨으로서 인식시키는 메모리 컨트롤러를 포함할 수 있다. 이때 설치 프로그램은 사용자의 지시에 의해 실행되면 호스트 컴퓨터로 하여금 제1 볼륨에서 감시 프로그램을 호스트 컴퓨터에 설치 및 실행하도록 구성될 수 있다. 감시 프로그램은 호스트 컴퓨터에 설치된 후에는 호스트 컴퓨터로 하여금 이동식 저장 장치가 호스트 컴퓨터에 삽입되는지 여부를 백그라운드에서 감시하다가, 이동식 저장 장치가 감지되어 읽기 전용 영역이 마운트되면, 제1 볼륨에서 타겟 프로그램을 찾아 실행하도록 구성될 수 있다.

Description

프로그램 자동 실행 기능을 가진 이동식 저장 장치 및 그 방법{REMOVABLE MASS STORAGE DEVICE AND METHOD FOR AUTOMATICALLY RUNNING PROGRAMS ON CONNECTION}
본 발명은 이동식 저장 장치에 관한 것으로, 더욱 상세하게는, 어플리케이션의 자동 실행 기능을 가진 이동식 저장 장치에 관한 것이다.
오토런(Auto-run)으로 알려진 자동 실행 기능은 마이크로소프트 사의 윈도 기반 운영체제에서 이동식 디스크가 삽입될 때 이동식 디스크의 루트에서 오토런 파일(autorun.inf)을 찾고, 만약 오토런 파일이 있으면 그 내부에 기록된 커맨드 및 환경 변수에 따라 특정 기능이나 프로그램들을 실행하는 기능이다.
이러한 오토런 기능들은 편리하였지만 악성 코드의 유포나 보안 결함 공격에 쉽게 악용되었기 때문에, 최근의 윈도 기반 운영체제에서는 사용자가 활성화시키기 전까지는 기본적으로 비활성화된 상태로 설정된다. 최근의 윈도 운영체제에서 오토런 기능의 비활성화와 함께 제공된 오토플레이(Auto-play) 기능은 이동식 디스크에서 발견되는 파일의 종류, 특히 미디어 종류에 따라 호스트 PC에 기설치된 특정 프로그램들을 연결하고 활성화하는 기능으로, 이동식 디스크에 설치 또는 저장된 프로그램을 자동으로 실행시키지는 않는다.
오토런 기능을 비활성 상태로 유지하면 보안에 문제가 없는 경우에도 오토런 기능을 활용하기 어렵고, 반대로 오토런 기능을 활성화하면 악성 코드나 원치 않는 프로그램도 자동 실행되는 문제가 있다.
따라서, 사용자가 신뢰할 수 있는 이동식 저장 장치 내지 여기에 기록된 프로그램의 경우에는 자동 실행을 가능하게 할 수 있는 방안이 요구된다.
본 발명이 해결하고자 하는 과제는 신뢰할 수 있는 이동식 저장 장치의 인식 및 그러한 이동식 저장 장치에 기록된 프로그램의 자동 실행을 가능하게 하는 이동식 저장 장치와 그 자동 실행 방법을 제공하는 데에 있다.
본 발명의 일 측면에 따른 프로그램 자동 실행 기능을 가진 이동식 저장 장치는,
설치 프로그램 및 타겟 프로그램이 수록된 읽기 전용 영역을 가지는 비휘발성 메모리부; 및
호스트 컴퓨터에 연결되면 상기 호스트 컴퓨터의 운영 체제에 대해 디스크 드라이브 장치로 인식되며, 상기 읽기 전용 영역을 상기 디스크 드라이브 장치에 마운트(mount)될 수 있는 제1 볼륨으로서 인식시키는 메모리 컨트롤러를 포함하는 자동 실행 기능을 가진 이동식 저장 장치로서,
상기 설치 프로그램은 사용자의 지시에 의해 실행되면 상기 호스트 컴퓨터로 하여금 상기 제1 볼륨에서 감시 프로그램을 상기 호스트 컴퓨터에 설치 및 실행하도록 구성되고,
상기 감시 프로그램은 상기 호스트 컴퓨터에 설치된 후에는 상기 호스트 컴퓨터로 하여금 상기 이동식 저장 장치가 상기 호스트 컴퓨터에 삽입되는지 여부를 백그라운드에서 감시하다가, 상기 이동식 저장 장치가 감지되어 상기 읽기 전용 영역이 마운트되면, 상기 제1 볼륨에서 상기 타겟 프로그램을 찾아 실행하도록 구성될 수 있다.
일 실시예에 따라, 상기 타겟 프로그램은 상기 호스트 컴퓨터로 하여금 사용자가 상기 이동식 저장 장치의 적법한 사용자인지 여부를 인증하도록 구성될 수 있다.
일 실시예에 따라, 상기 비휘발성 메모리부는 상기 이동식 저장 장치의 적법한 사용자가 액세스할 수 있는 일반 사용 영역을 더 포함하고,
상기 메모리 컨트롤러는 상기 호스트 컴퓨터의 운영 체제에 대해 추가로 이동식 디스크 장치로 인식되며 상기 타겟 프로그램에 의해 적법한 사용자임이 인증되면 상기 일반 사용 영역을 이동식 디스크 장치에 마운트될 수 있는 제2 볼륨으로 인식시키도록 동작할 수 있다.
일 실시예에 따라, 청구항 3에 있어서, 상기 메모리 컨트롤러부는 상기 타겟 프로그램에 의해 적법한 사용자임이 인증된 이후에 상기 일반 사용 영역을 마운트하기 위한 상기 이동식 디스크 장치를 상기 운영 체제에 인식시키도록 동작할 수 있다.
일 실시예에 따라, 상기 타겟 프로그램은 상기 호스트 컴퓨터로 하여금 상기 일반 사용 영역에 대해 저장되는 데이터를 암호화하고 상기 일반 사용 영역에서 독출되는 데이터를 복호화하도록 구성될 수 있다.
일 실시예에 따라, 상기 비휘발성 메모리부는 상기 메모리 컨트롤러에 의해 상기 호스트 컴퓨터의 운영 체제로부터 은닉되는 숨김 영역을 더 포함할 수 있다.
일 실시예에 따라, 상기 설치 프로그램 또는 상기 타겟 프로그램은 사용자에 의해 최초로 실행될 때에 또는 사용자가 인증 정보를 변경하고자 할 때에, 상기 호스트 컴퓨터로 하여금 사용자가 이후에 인증에 사용할 인증 정보를 상기 메모리 컨트롤러에 전달하도록 구성되고,
상기 메모리 컨트롤러는 사용자의 인증에 사용될 상기 인증 정보의 적어도 일부를 상기 숨김 영역에 기록하며,
상기 설치 프로그램 또는 상기 타겟 프로그램은 상기 호스트 컴퓨터로 하여금 상기 숨김 영역에 기록된 상기 인증 정보에 기초하여 사용자의 적법 여부를 인증하도록 구성될 수 있다.
일 실시예에 따라, 상기 인증 정보는 사용자가 입력한 패스워드 또는 사용자에 의해 선택된 인증서 파일일 수 있다.
일 실시예에 따라, 상기 숨김 영역은 사용자의 적법 여부를 판정할 수 있는 인증 정보, 상기 이동식 저장 장치의 사용 이력을 저장하는 로그 정보, 상기 이동식 저장 장치에 대한 전송 데이터의 암호화 및 복호화를 위한 암호화 키 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라, 상기 감시 프로그램은 상기 호스트 컴퓨터로 하여금 상기 이동식 저장 장치의 제품 식별 정보(PID), 상기 이동식 저장 장치의 고유 일련 번호, 상기 메모리 컨트롤러의 식별 정보, 상기 읽기 전용 영역의 고유 일련 번호 중 적어도 한 가지를 기초로 상기 이동식 저장 장치를 감지하도록 구성될 수 있다.
일 실시예에 따라, 상기 타겟 프로그램은 상기 호스트 컴퓨터로 하여금 상기 읽기 전용 영역에 기록된 컨텐츠 또는 외부 컨텐츠 서버의 URL 링크를 자동으로 활성화하도록 구성될 수 있다.
일 실시예에 따라, 상기 디스크 드라이브 장치는 CD-ROM 드라이브, DVD-ROM 드라이브, BD-ROM 드라이브 중 적어도 하나이고,
상기 읽기 전용 영역은 ISO 9660, ISO 13490, ISO/IEC 13346 유니버설 디스크 포맷(UDF), 또는 이들로부터 파생된 포맷 중 하나로 포맷팅될 수 있다.
본 발명의 다른 측면에 따른 이동식 저장 장치의 프로그램 자동 실행 방법은,
설치 프로그램, 감시 프로그램 및 타겟 프로그램이 수록된 읽기 전용 영역을 가지는 비휘발성 메모리부와, 호스트 컴퓨터에 연결되면 상기 호스트 컴퓨터의 운영 체제에 대해 디스크 드라이브 장치로 인식되며 상기 읽기 전용 영역을 상기 디스크 드라이브 장치에 마운트될 수 있는 제1 볼륨으로서 인식시키는 메모리 컨트롤러를 포함하는 이동식 저장 장치의 자동 실행 방법으로서,
사용자의 지시에 의해 실행되는 상기 설치 프로그램에 의해 상기 호스트 컴퓨터가 상기 감시 프로그램을 상기 제1 볼륨에서 읽어들여 상기 호스트 컴퓨터에 설치하고 실행하는 단계;
상기 감시 프로그램이 설치된 후에는 상기 감시 프로그램에 의해 상기 호스트 컴퓨터가 상기 이동식 저장 장치의 삽입 여부를 감시하는 단계; 및
상기 이동식 저장 장치가 감지되어 상기 읽기 전용 영역이 마운트되면, 상기 감시 프로그램에 의해 상기 호스트 컴퓨터가 상기 제1 볼륨에서 상기 타겟 프로그램을 찾아 실행하는 단계를 포함할 수 있다.
일 실시예에 따라, 상기 이동식 저장 장치의 프로그램 자동 실행 방법은
상기 타겟 프로그램에 의해 상기 호스트 컴퓨터가 사용자가 상기 이동식 저장 장치의 적법한 사용자인지 여부를 인증하는 단계를 더 포함할 수 있다.
일 실시예에 따라,
상기 비휘발성 메모리부는 상기 이동식 저장 장치의 적법한 사용자가 액세스할 수 있는 일반 사용 영역을 더 포함하고,
상기 이동식 저장 장치의 프로그램 자동 실행 방법은,
상기 타겟 프로그램에 의해 적법한 사용자임이 인증되면, 상기 타겟 프로그램에 의해 상기 호스트 컴퓨터가 상기 메모리 컨트롤러를 상기 호스트 컴퓨터의 운영 체제에 대해 추가로 이동식 디스크 장치로 인식하는 단계; 및
상기 타겟 프로그램에 의해 상기 호스트 컴퓨터가 상기 일반 사용 영역을 제2 볼륨으로 인식하여 상기 이동식 디스크 장치에 마운트하는 단계를 더 포함할 수 있다.
일 실시예에 따라, 상기 메모리 컨트롤러부는 상기 타겟 프로그램에 의해 적법한 사용자임이 인증된 이후에 상기 일반 사용 영역을 마운트하기 위한 상기 이동식 디스크 장치를 상기 운영 체제에 인식시키도록 동작할 수 있다.
일 실시예에 따라 상기 이동식 저장 장치의 프로그램 자동 실행 방법은,
상기 타겟 프로그램에 의해 상기 호스트 컴퓨터가 상기 일반 사용 영역에 대해 저장되는 데이터를 암호화하고 상기 일반 사용 영역에서 독출되는 데이터를 복호화하는 단계를 더 포함할 수 있다.
일 실시예에 따라, 상기 비휘발성 메모리부는 상기 메모리 컨트롤러에 의해 상기 호스트 컴퓨터의 운영 체제로부터 은닉되는 숨김 영역을 더 포함할 수 있다.
일 실시예에 따라, 상기 이동식 저장 장치의 프로그램 자동 실행 방법은
사용자가 이후에 인증에 사용할 인증 정보를 상기 메모리 컨트롤러에 전달하는 단계;
상기 메모리 컨트롤러가 사용자의 인증에 사용될 상기 인증 정보의 적어도 일부를 상기 숨김 영역에 기록하는 단계; 및
상기 숨김 영역에 기록된 상기 인증 정보에 기초하여 사용자의 적법 여부를 인증하는 단계를 더 포함할 수 있다.
일 실시예에 따라, 상기 인증 정보는 사용자가 입력한 패스워드 또는 사용자에 의해 선택된 인증서 파일일 수 있다.
일 실시예에 따라, 상기 감시 프로그램에 의해 상기 호스트 컴퓨터가 상기 이동식 저장 장치의 삽입 여부를 감시하는 단계는,
상기 감시 프로그램에 의해 상기 호스트 컴퓨터가 상기 이동식 저장 장치의 제품 식별 정보(PID), 상기 이동식 저장 장치의 고유 일련 번호, 상기 메모리 컨트롤러의 식별 정보, 상기 읽기 전용 영역의 고유 일련 번호 중 적어도 한 가지를 기초로 상기 이동식 저장 장치를 감지하는 단계를 포함할 수 있다.
일 실시예에 따라 상기 이동식 저장 장치의 프로그램 자동 실행 방법은,
상기 타겟 프로그램에 의해 상기 호스트 컴퓨터가 상기 읽기 전용 영역에 기록된 컨텐츠 또는 외부 컨텐츠 서버의 URL 링크를 자동으로 활성화하는 단계를 더 포함할 수 있다.
본 발명의 프로그램의 자동 실행이 가능한 이동식 저장 장치 및 자동 실행 방법에 따르면, 사용자가 신뢰할 수 있는 이동식 저장 장치를 호스트 컴퓨터에 장착하는 즉시 이동식 저장 장치에 수록된 특정한 프로그램을 자동으로 실행시킬 수 있다.
또한 본 발명의 프로그램의 자동 실행이 가능한 이동식 저장 장치 및 자동 실행 방법에 따르면, 사용자가 특정한 호스트 컴퓨터에서 특정한 이동식 저장 장치에 대해서만 자동 실행 기능이 동작하도록 할 수 있다.
나아가, 본 발명의 프로그램의 자동 실행이 가능한 이동식 저장 장치 및 자동 실행 방법에 따르면, 사용자가 이동식 저장 장치를 호스트 컴퓨터에 연결할 때에, 이동식 저장 장치의 일반 사용 영역에 접근할 수 있도록 통제하는 프로그램을 자동으로 실행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 프로그램 자동 실행 기능을 가진 이동식 저장 장치와 사용을 예시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 이동식 저장 장치의 프로그램 자동 실행 방법을 예시한 순서도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 프로그램 자동 실행 기능을 가진 이동식 저장 장치와 사용을 예시한 블록도이다.
도 1을 참조하면, 프로그램 자동 실행 기능을 가진 이동식 저장 장치(10)는 비휘발성 메모리부(11), 메모리 컨트롤러(12), 전송 인터페이스(13)를 포함할 수 있다.
이동식 저장 장치(10)는 바람직하게는 USB(universal serial bus) 인터페이스를 가진 장치이나, 실시예에 따라서는 예를 들어 e-SATA(external serial ATA), 썬더볼트(thunderbolt), IEEE 1394와 같은 유선 주변기기 인터페이스 또는 와이파이 다이렉트(Wifi Direct), 블루투스(bluetooth)와 같은 무선 주변기기 인터페이스 중에서 선택된 적어도 하나의 인터페이스 규격에 의해 호스트 컴퓨터(20)와 전기적 및 논리적으로 연결될 수 있다. 이때, 이동식 저장 장치(10)와 호스트 컴퓨터(20)는 각각 디바이스와 호스트 또는 슬레이브와 마스터로서 동작할 수 있지만, 그 명칭에도 불구하고 실시예에 따라 이동식 저장 장치(10)가 호스트 컴퓨터(20)와 대등한 관계로 연결될 수도 있다.
비휘발성 메모리부(11)는 전원이 차단되더라도 기록된 데이터가 소거되지 않는 비휘발성 메모리(non-volatile memory)를 포함한다.
메모리 컨트롤러(12)는 비휘발성 메모리부(11) 내의 비휘발성 메모리 영역의 분할과 포맷팅, 섹터 단위의 기록 및 독출, 블록 단위의 소거, 물리 주소와 논리 주소의 매핑, 트림(trim), 수명 관리(wear-levelling), 조각 정리(garbage collection), 불량 셀 관리, 오류 검출 및 정정 기능, 암호화/복호화 기능, 프로토콜 변환 등의 기능을 수행한다.
본 발명의 실시예들에 따른 이동식 저장 장치(10)의 메모리 컨트롤러(12)는, 이러한 기본적인 기능에 추가하여, 비휘발성 메모리 내에 호스트 컴퓨터의 운영 체제에 의해 직접 접근할 수 없는 은닉된 블록을 특정하고, 이 은닉된 블록에 사용자의 인증 정보 또는 암호화 키 등을 기록할 수 있다.
또한 메모리 컨트롤러(12)는 호스트 컴퓨터(20)에 대해 복수 개의 서로 다른 저장 장치로 인식될 수 있다. 예를 들어, 메모리 컨트롤러(12)는 특정 규격의 광학 디스크 드라이브 장치로서 인식될 수 있는데, 이때 비휘발성 메모리부(11)의 일부 영역을 호스트 컴퓨터에 인식된 디스크 드라이브 장치의 디스크 볼륨으로 인식시킬 수 있다. 또한 메모리 컨트롤러(12)는 당연히 본래 기능인 이동식 디스크 장치로 인식될 수 있고, 이때 비휘발성 메모리부(11)의 나머지 일부 영역을 호스트 컴퓨터에 인식된 이동식 디스크 장치의 볼륨으로 인식시킬 수 있다
특히 메모리 컨트롤러(12)는 비휘발성 메모리부(11)에 다수의 파티션을 설정하고, 특정 파티션 영역에 관하여 특정 조건에 따라 호스트 컴퓨터의 운영 체제에 대해 특정 디스크 장치의 볼륨으로 인식시키거나 또는 은닉하도록 동작할 수 있다.
전송 인터페이스(13)는 호스트 컴퓨터(20)에 전기적 및 논리적으로 연결되기 위한 프로토콜을 제공할 수 있다. 바람직하게는 전송 인터페이스(13)는 USB 인터페이스로서, 호스트 컴퓨터(20)의 USB 전송 인터페이스(25)와 전기적으로 연결되어 호스트 컴퓨터(20)로부터 주소, 데이터, 명령, 제어 신호를 USB 프로토콜에 따라 수신하고 또한 메모리 컨트롤러(12)로부터 주소, 데이터, 명령, 제어 신호를 USB 프로토콜에 따라 호스트 컴퓨터(20)로 전송한다.
호스트 컴퓨터(20)는 프로그램을 설치 및 구동할 수 있는 통상적인 개인용 컴퓨터(PC), 노트북 컴퓨터, 태블릿 컴퓨터나, 또는 그 밖에 외부 스토리지를 연결시킬 수 있고 운영 체제에 의해 구동되는 정보 처리 기기를 포함할 수 있다.
또한 호스트 컴퓨터(20)는 네트워크 인터페이스를 더 포함할 수 있으며, 인터넷에 연결되어 컨텐츠 서버에 접속할 수 있다.
호스트 컴퓨터(20)는 본 발명의 실시예들에 따른 프로그램 자동 실행 기능을 가진 이동식 저장 장치(10)의 메모리 컨트롤러(12)를 다수의 장치로, 예를 들어 CD-ROM 드라이브 장치, DVD-ROM 드라이브 장치, BD-ROM 드라이브 장치 중 하나와, USB 대용량 저장소 장치로 인식할 수 있다.
본 발명의 실시예들에 따른 이동식 저장 장치(10)는 비휘발성 메모리부(11)에 적어도 하나의 읽기 전용 영역(111)을 가진다.
이러한 읽기 전용 영역(111)은 메모리 컨트롤러(12)가 인식되는 디스크 드라이브 장치의 종류에 따라 적절하게 결정된 파일 시스템에 의해 포맷팅되어 있고, 메모리 컨트롤러(12)가 호스트 컴퓨터(20)에 특정 디스크 드라이브 장치로 인식되면, 해당 디스크 드라이브 장치에 마운트된 하나의 디스크 볼륨으로 인식될 수 있다.
바람직하게는, 읽기 전용 영역(111)은 ISO 9660 규격, ISO 13490 규격으로 포맷팅되어 CD-ROM 디스크로 인식되거나, 또는 ISO/IEC 13346 UDF(universal disk format) 규격으로 포맷팅되어 CD-ROM, DVD-ROM, BD-ROM 디스크로 인식될 수 있다. 이러한 규격으로 포맷팅된 경우에, 읽기 전용 영역(111)은 CD-ROM 영역이라고 통칭할 수 있다.
이동식 저장 장치(10)가 호스트 컴퓨터(20)에 성공적으로 연결되면, 사용자에게는 읽기 전용 영역(111)은 예를 들어 CD-ROM 드라이브 장치에 삽입된 디스크처럼 액세스될 수 있다.
이때, 이러한 읽기 전용 영역(111)에는 설치 프로그램과 타겟 프로그램이 수록될 수 있다. 설치 프로그램과 타겟 프로그램에 대해서는 추후에 더 설명한다. 설치 프로그램과 타겟 프로그램은 읽기 전용 영역(111)에 저장되므로, 제조 단계에서 악성코드를 포함할 가능성을 배제한다면, 유통 단계에서 또는 사용 중에 변조될 가능성은 매우 낮다.
읽기 전용 영역(111)에 더하여, 비휘발성 메모리부(11)는 사용자가 액세스하여 읽고 쓰고 지울 수 있는 일반 사용 영역(112)을 포함할 수 있다.
앞서 설명하였듯이, 메모리 컨트롤러(12)는 호스트 컴퓨터(20)에 대하여 하나 이상의 장치로 인식될 수 있는데, 일반 사용 영역(112)의 사용을 위해 메모리 컨트롤러(12)는 호스트 컴퓨터(20)에 대해 이동식 디스크 장치로 인식될 수 있다.
이 경우, 일반 사용 영역(112)은 하나의 볼륨으로서 호스트 컴퓨터(20)에 인식된 이동식 디스크 장치에 마운트될 수 있다.
다만, 실시예에 따라, 이동식 저장 장치(10)의 메모리 컨트롤러(12)는 이동식 저장 장치(10)가 호스트 컴퓨터(20)에 삽입될 당시에는 이동식 디스크 장치로서 인식시키지 않다가, 추후에 사용자가 적법한 사용자임이 인증된 후에 비로소 이동식 디스크 장치로 인식시킬 수 있다.
나아가, 비휘발성 메모리부(11)는 호스트 컴퓨터(20)의 운영 체제로부터 은닉되어 있는 숨김 영역(113)을 더 가질 수 있다.
숨김 영역(113)은 메모리 컨트롤러(12)에 의해서만 액세스될 수 있으며, 숨김 영역(113)에 대한 액세스는 읽기 전용 영역(111)의 설치 프로그램과 타겟 프로그램에 의해 개시될 수 있다.
예를 들어, 숨김 영역(113)에는 타겟 프로그램이 최초로 구동될 때에 사용자가 이동식 저장 장치(10)의 적법한 사용자임을 인증하는 데에 사용할 인증 정보가 전부 또는 적어도 일부분이 기록될 수 있다. 인증 정보는 사용자가 입력한 패스워드 또는 사용자가 선택한 인증서일 수 있다.
이후에 숨김 영역(113)에 기록된 인증 정보에 기초하여 사용자의 적법 여부가 인증될 수 있다.
나아가, 숨김 영역(113)에 메모리 컨트롤러(12)에 의해 이동식 저장 장치(10)의 연결 내지 사용에 관한 로그가 기록될 수도 있다.
실시예에 따라서는, 숨김 영역(113)에 타겟 프로그램에서 사용될 암호화 키가 기록될 수 있다.
다른 실시예에서는, 숨김 영역(113)에 읽기 전용 영역(111)의 이미지의 해시 데이터 또는 패리티 값이 기록될 수 있다. 만약 유통 중에 읽기 전용 영역(111)의 설치 프로그램 내지 타겟 프로그램이 변조되었다면, 숨김 영역(113)의 해시 데이터 또는 패리티 값을 통해 이를 판정할 수 있다.
한편, 읽기 전용 영역(111)에 기록되는 설치 프로그램은 감시 프로그램을 호스트 컴퓨터(20)에 설치하기 위한 프로그램으로서, 운영 체제에서 오토런 기능이 비활성된 상태에서는 사용자가 호스트 컴퓨터(20)에 인식된 디스크 드라이브 장치의 디스크 볼륨 내에서 설치 프로그램을 선택하여 직접 실행하여야 한다.
사용자에 의해 설치 프로그램이 가동되면, 설치 프로그램은 먼저 해당 호스트 컴퓨터(20)에 감시 프로그램이 이미 설치되어 있거나 구동 중인지 확인하고, 그렇지 않으면 감시 프로그램을 호스트 컴퓨터(20)에 설치한다. 설치 프로그램은 바람직하게는 감시 프로그램이 호스트 컴퓨터(20) 내에서 백그라운드로 상시적으로 구동될 수 있도록 설정할 수 있다.
감시 프로그램은 호스트 컴퓨터(20)의 메모리에 로딩되어 상시적으로 구동되며, 이동식 저장 장치(10)가 호스트 컴퓨터(20)에 삽입되는지 여부를 감시한다. 감시 프로그램은, 이동식 저장 장치(10)가 감지되고 읽기 전용 영역(111)이 소정의 디스크 드라이브 장치에 마운트되면, 그 마운트된 볼륨 내에서 타겟 프로그램을 찾아 실행한다.
실시예에 따라, 감시 프로그램은 이동식 저장 장치(10)의 제품 식별 정보(PID), 이동식 저장 장치(10)의 고유 일련 번호, 메모리 컨트롤러(12) 칩의 식별 정보, 읽기 전용 영역(111)에 할당된 고유 일련 번호 등을 기초로 이동식 저장 장치(10)를 감지할 수 있다.
이렇게 하여, 운영 체제에서 오토런 기능이 비활성화된 상태에서도, 본 발명의 실시예들에 따르면, 특정 종류의 이동식 저장 장치(10) 또는 사용자에게 사용 권한이 있는 특정한 이동식 저장 장치(10)가 호스트 컴퓨터(20)에 삽입되면, 감시 프로그램은 그러한 이동식 저장 장치(10)를 감지하고, 이동식 저장 장치(10)의 읽기 전용 영역(111)에 기록되어 있는 특정한 타겟 프로그램을 자동으로 실행시킬 수 있다.
타겟 프로그램은 사용자가 액세스 가능한 디스크 드라이브 장치의 볼륨 내에 기록되어 있으므로, 사용자가 직접 찾아서 구동시킬 수 있다.
이렇게 실행된 타겟 프로그램은 다양한 동작을 수행할 수 있지만, 본질적으로 프로그램을 자동 실행할 수 있는 이동식 저장 장치(10)가 특정한 목적을 가지고 특정한 사용자에게 배포될 것이라는 점에서, 아래에 개괄하는 특정한 동작들을 특히 수행할 수 있다.
일 실시예에서, 타겟 프로그램은 호스트 컴퓨터(20)로 하여금 사용자가 이동식 저장 장치(10)의 적법한 사용자인지 여부를 인증하는 동작을 수행할 수 있다.
이 경우, 타겟 프로그램은 숨김 영역(113)에 기록된 인증 정보에 기초하여 사용자의 적법 여부를 인증할 수 있다.
이를 위해, 이동식 저장 장치(10)를 최초로 호스트 컴퓨터(20)에 설치할 경우에, 타겟 프로그램은 사용자로부터 인증 정보, 예를 들어, 사용자에 의해 선택된 패스워드나 인증서 내지 그 밖의 인증 정보를 지정받고, 이를 숨김 영역(113)에 저장할 수 있다.
만약 이동식 저장 장치(10)가 한번도 호스트 컴퓨터(20)에 장착된 적이 없었다면, 숨김 영역(113)에는 인증 정보가 기록된 적이 없을 것이다. 따라서, 만약 어떤 이동식 저장 장치(10)가 어떤 호스트 컴퓨터(20)에 처음으로 장착되었는데 숨김 영역(113)에 이미 인증 정보가 기록되어 있다면, 이 이동식 저장 장치(10)가 다른 호스트 컴퓨터에 설치되었던 장치임을 의미할 수 있다. 이 경우, 이동식 저장 장치(10)는 현재 사용자에게 새로 인증 정보를 수령하지 않고 이미 숨김 영역(113)에 기록되어 있는 인증 정보를 기초로 현재 사용자가 적법한 사용자인지 인증할 수 있다.
이로써, 이동식 저장 장치(10)가 타인에 의해 또는 타 시스템에서 사용될 경우에 부적법한 사용자 또는 호스트 컴퓨터임을 확인할 수 있다.
타겟 프로그램은, 사용자 인증에 성공하면, 미리 다양하게 예약된 기능을 이어서 수행할 수 있다. 예를 들어, 회사의 업무 프로그램이 자동으로 실행될 수 있다.
일 실시예에 따라, 사용자의 인증이 통과되면, 타겟 프로그램은 메모리 컨트롤러(12)가 호스트 컴퓨터(20)에 대하여 이동식 디스크 장치로 인식되도록 설정할 수 있다. 이어서, 호스트 컴퓨터(20)가 이동식 디스크 장치를 인식하면, 타겟 프로그램은 메모리 컨트롤러(12)가 일반 사용 영역(112)을 이동식 디스크 장치에 마운트하도록 설정한다.
이렇게 하여, 사용자는 권한을 인증하면 일반 사용 영역(112)에 액세스할 수 있다. 권한을 인증받지 못하는 사용자는 일반 사용 영역(112)에 대해 액세스하지 못할 뿐 아니라, 운영 체제에서 이동식 디스크로 인식되지 않으므로 존재 자체를 알지 못할 수 있다. 따라서, 상당 수준의 보안성을 담보할 수 있다.
또한 실시예에 따라, 타겟 프로그램은 읽기 전용 영역(111)에 기록된 컨텐츠를 자동으로 실행하거나 또는 외부 컨텐츠 서버의 URL 링크를 자동으로 활성화할 수 있다. 예를 들어, 만약 컨텐츠나 URL 링크가 광고에 관한 것이라면, 이동식 저장 장치(10)를 호스트 컴퓨터(20)에 삽입하면 광고 컨텐츠가 자동으로 화면에 표시될 수 있다.
이렇듯, 본 발명의 실시예들에 따른 프로그램 자동 실행 기능을 가진 이동식 저장 장치(10)는 특정한 이동식 저장 장치(10)가 특정한 호스트 컴퓨터(20)에서 특정한 사용자에 의해 연결 및 사용될 때에 그 특정한 이동식 저장 장치(10)에 수록된 특정한 프로그램이 자동으로 실행될 수 있는 환경을 제공할 수 있다.
이때, 자동 실행의 대상이 되는 특정한 타겟 프로그램은 미리 정해져 있고, 또한 읽기 전용 영역에 기록되어 있어 변조 가능성이 낮으며, 사용자의 인증을 통과해야 실행되고, 인증을 통과하지 못하면 일반 사용 영역을 액세스할 수 없으므로, 보안 문제가 발생할 가능성이 거의 없다. 또한 특정한 이동식 저장 장치를 특정 호스트 컴퓨터에 삽입하기만 하면 실행 중인 감시 프로그램에 의해 타겟 프로그램이 구동되므로 편리하다.
도 2는 본 발명의 일 실시예에 따른 이동식 저장 장치의 프로그램 자동 실행 방법을 예시한 순서도이다.
도 2를 참조하면, 설치 프로그램, 감시 프로그램 및 타겟 프로그램이 수록된 읽기 전용 영역(111)을 가지는 비휘발성 메모리부(11)와, 호스트 컴퓨터(20)에 연결되면 호스트 컴퓨터(20)의 운영 체제에 대해 디스크 드라이브 장치로 인식되며 읽기 전용 영역(111)을 디스크 드라이브 장치에 마운트될 수 있는 제1 볼륨으로서 인식시키는 메모리 컨트롤러(12)를 포함하는 이동식 저장 장치(10)의 프로그램 자동 실행 방법에 관한 것으로서, 아래 단계들의 수행에 앞서, 먼저 이동식 저장 장치(10)가 호스트 컴퓨터(20)에 삽입되면, 이동식 저장 장치(10)의 메모리 컨트롤러(12)가 호스트 컴퓨터(20)에 의해 소정의 디스크 드라이브 장치로 인식된다.
호스트 컴퓨터(20)는 인식된 디스크 드라이브 장치에 맞는 드라이버를 구동하고 이동식 저장 장치(10)와 사이에 통신을 준비한다. 이어서 호스트 컴퓨터(20)는 읽기 전용 영역(111)을 앞서 인식된 디스크 드라이브 장치에 삽입된 디스크처럼 인식하고 읽기 전용 영역(1111)을 제1 볼륨으로서 디스크 드라이브 장치에 마운트한다. 사용자는 호스트 컴퓨터(20)의 운영 체제가 디스크 드라이브 장치, 예를 들어 CD-ROM 디스크 드라이브 장치에 읽기 전용 영역(111)의 파일 구조를 가진 디스크가 삽입된 것처럼 취급하는 것을 확인할 수 있다.
이러한 상황 하에서 다음과 같은 절차들이 진행될 수 있다. 단계(S21)와 단계(S22)는 이동식 저장 장치(10)가 최초로 삽입될 때의 설정 절차이다.
단계(S21)에서, 사용자의 지시에 의해 실행되는 설치 프로그램에 의해 호스트 컴퓨터(20)가 감시 프로그램을 제1 볼륨에서 읽어들여 호스트 컴퓨터(20)에 설치하고 실행할 수 있다.
선택적인 단계(S22)에서, 설치 프로그램에 의해 호스트 컴퓨터(20)가 사용자로부터 패스워드 또는 인증서와 같은 인증 정보를 수령하여 메모리 컨트롤러(12)에 전달한다.
다만, 실시예에 따라, 인증 기능은 사용자가 인증 정보를 변경하는 절차에도 이용되므로, 이러한 인증 기능은 설치 프로그램이 아닌 타겟 프로그램에 탑재되어 있을 수도 있다.
이때, 비휘발성 메모리부(11)는 메모리 컨트롤러(12)에 의해 호스트 컴퓨터(20)의 운영 체제로부터 은닉되는 숨김 영역(113)을 더 포함할 수 있다.
이 경우에, 실시예에 따라서는, 이동식 저장 장치(10)를 최초로 설치할 때에 설치 프로그램은 호스트 컴퓨터(20)가 사용자가 이후에 인증에 사용할 인증 정보를 메모리 컨트롤러(12)에 전달하고, 이어서 메모리 컨트롤러(12)가 그 인증 정보의 적어도 일부를 숨김 영역(113)에 기록할 수 있다. 추후에, 타겟 프로그램이 숨김 영역(113)에 기록된 인증 정보를 호스트 컴퓨터(20)에 제공하면, 호스트 컴퓨터(20)가 이에 기초하여 사용자의 적법 여부를 인증할 수 있다.
이제, 단계(S23)에서 단계(S29)에 의해, 감시 프로그램이 설치된 호스트 컴퓨터(20)에 사용자가 이동식 저장 장치(10)를 삽입하였을 때의 절차들을 예시한다.
단계(S23)에서는, 감시 프로그램이 설치 및 실행된 이후에 백그라운드 서비스로 동작하면서, 감시 프로그램에 의해 호스트 컴퓨터(20)가 이동식 저장 장치(10)의 삽입 여부를 감시한다.
이때, 실시예에 따라, 감시 프로그램은 호스트 컴퓨터(20)가 이동식 저장 장치(10)의 제품 식별 정보(PID), 이동식 저장 장치(10)의 고유 일련 번호, 메모리 컨트롤러(12) 칩의 식별 정보, 읽기 전용 영역(111)에 부여된 고유 일련 번호 중 적어도 한 가지를 기초로 이동식 저장 장치(10)를 감지할 수 있다.
단계(S24)에서는, 이동식 저장 장치(10)가 감지되고 읽기 전용 영역(111)이 디스크 드라이브 장치에 마운트되면, 감시 프로그램에 의해 호스트 컴퓨터(20)가 제1 볼륨에서 타겟 프로그램을 찾아 실행할 수 있다.
선택적인 단계(S25)에서는, 타겟 프로그램에 의해 호스트 컴퓨터(20)가 사용자가 이동식 저장 장치(10)의 적법한 사용자인지 여부를 인증할 수 있다.
다만, 타겟 프로그램은 인증 기능을 비롯한 예시적인 기능 외에 부가적인 기능에 제한이 없으며, 개발자가 작성 가능한 어떠한 기능도 가질 수 있다. 나아가, 타겟 프로그램은 인증 절차를 갖지 않고 곧바로 특정 기능을 활성화하도록 구성될 수도 있다.
한편, 이동식 저장 장치(10)의 비휘발성 메모리부(11)는 이동식 저장 장치(10)의 적법한 사용자가 액세스할 수 있는 일반 사용 영역(112)을 더 포함할 수 있다.
이 경우에, 단계(S26)에서, 타겟 프로그램에 의해 적법한 사용자임이 인증되면, 타겟 프로그램에 의해 호스트 컴퓨터(20)가 메모리 컨트롤러(12)를 호스트 컴퓨터(20)의 운영 체제에 대해 추가로 이동식 디스크 장치로 인식할 수 있다.
이어서, 단계(S27)에서는, 타겟 프로그램에 의해 호스트 컴퓨터(20)가 일반 사용 영역(112)을 제2 볼륨으로 인식하여 이동식 디스크 장치에 마운트할 수 있다.
일반 사용 영역(112)이 이동식 디스크 장치에 마운트되면, 그때부터 사용자는 일반 사용 영역(112)을 통상의 이동식 디스크처럼 사용할 수 있다.
이때, 메모리 컨트롤러부(12)는 타겟 프로그램에 의해 적법한 사용자임이 인증되기 전에는 이동식 디스크 장치를 운영 체제에 인식시키지 않을 수 있다.
이어서, 선택적인 단계(S28)에서는, 타겟 프로그램에 의해 호스트 컴퓨터(20)가 일반 사용 영역(112)에 대해 기록 내지 독출되는 데이터를 각각 암호화 내지 복호화할 수 있다.
이 경우에, 암호화 키는 숨김 영역(113)에 저장될 수 있다.
선택적인 단계(S29)에서는, 타겟 프로그램에 의해 호스트 컴퓨터(20)가 읽기 전용 영역(111)에 기록된 컨텐츠를 자동으로 재생하거나, 또는 외부 컨텐츠 서버의 URL 링크를 자동으로 활성화할 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다.
10 이동식 저장 장치 11 비휘발성 메모리부
111 읽기 전용 영역 112 일반 사용 영역
113 숨김 영역 12 메모리 컨트롤러
13 전송 인터페이스 20 호스트 컴퓨터

Claims (22)

  1. 설치 프로그램 및 타겟 프로그램이 수록된 읽기 전용 영역을 가지는 비휘발성 메모리부; 및
    호스트 컴퓨터에 연결되면 상기 호스트 컴퓨터의 운영 체제에 대해 디스크 드라이브 장치로 인식되며, 상기 읽기 전용 영역을 상기 디스크 드라이브 장치에 마운트(mount)될 수 있는 제1 볼륨으로서 인식시키는 메모리 컨트롤러를 포함하는 자동 실행 기능을 가진 이동식 저장 장치로서,
    상기 설치 프로그램은 사용자의 지시에 의해 실행되면 상기 호스트 컴퓨터로 하여금 상기 제1 볼륨에서 감시 프로그램을 상기 호스트 컴퓨터에 설치 및 실행하도록 구성되고,
    상기 감시 프로그램은 상기 호스트 컴퓨터에 설치된 후에는 상기 호스트 컴퓨터로 하여금 상기 이동식 저장 장치가 상기 호스트 컴퓨터에 삽입되는지 여부를 백그라운드에서 감시하다가, 상기 이동식 저장 장치가 감지되어 상기 읽기 전용 영역이 마운트되면, 상기 제1 볼륨에서 상기 타겟 프로그램을 찾아 실행하도록 구성된 것을 특징으로 하는 프로그램 자동 실행 기능을 가진 이동식 저장 장치.
  2. 청구항 1에 있어서,
    상기 타겟 프로그램은 상기 호스트 컴퓨터로 하여금 사용자가 상기 이동식 저장 장치의 적법한 사용자인지 여부를 인증하도록 구성된 것을 특징으로 하는 프로그램 자동 실행 기능을 가진 이동식 저장 장치.
  3. 청구항 2에 있어서,
    상기 비휘발성 메모리부는 상기 이동식 저장 장치의 적법한 사용자가 액세스할 수 있는 일반 사용 영역을 더 포함하고,
    상기 메모리 컨트롤러는 상기 호스트 컴퓨터의 운영 체제에 대해 추가로 이동식 디스크 장치로 인식되며 상기 타겟 프로그램에 의해 적법한 사용자임이 인증되면 상기 일반 사용 영역을 이동식 디스크 장치에 마운트될 수 있는 제2 볼륨으로 인식시키도록 동작하는 것을 특징으로 하는 프로그램 자동 실행 기능을 가진 이동식 저장 장치.
  4. 청구항 3에 있어서, 상기 메모리 컨트롤러부는 상기 타겟 프로그램에 의해 적법한 사용자임이 인증된 이후에 상기 일반 사용 영역을 마운트하기 위한 상기 이동식 디스크 장치를 상기 운영 체제에 인식시키도록 동작하는 것을 특징으로 하는 프로그램 자동 실행 기능을 가진 이동식 저장 장치.
  5. 청구항 3에 있어서, 상기 타겟 프로그램은 상기 호스트 컴퓨터로 하여금 상기 일반 사용 영역에 대해 저장되는 데이터를 암호화하고 상기 일반 사용 영역에서 독출되는 데이터를 복호화하도록 구성되는 것을 특징으로 하는 프로그램 자동 실행 기능을 가진 이동식 저장 장치.
  6. 청구항 1에 있어서, 상기 비휘발성 메모리부는 상기 메모리 컨트롤러에 의해 상기 호스트 컴퓨터의 운영 체제로부터 은닉되는 숨김 영역을 더 포함하는 것을 특징으로 하는 프로그램 자동 실행 기능을 가진 이동식 저장 장치.
  7. 청구항 6에 있어서, 상기 설치 프로그램 또는 상기 타겟 프로그램은 사용자에 의해 최초로 실행될 때에 또는 사용자가 인증 정보를 변경하고자 할 때에, 상기 호스트 컴퓨터로 하여금 사용자가 이후에 인증에 사용할 인증 정보를 상기 메모리 컨트롤러에 전달하도록 구성되고,
    상기 메모리 컨트롤러는 사용자의 인증에 사용될 상기 인증 정보의 적어도 일부를 상기 숨김 영역에 기록하며,
    상기 설치 프로그램 또는 상기 타겟 프로그램은 상기 호스트 컴퓨터로 하여금 상기 숨김 영역에 기록된 상기 인증 정보에 기초하여 사용자의 적법 여부를 인증하도록 구성된 것을 특징으로 하는 프로그램 자동 실행 기능을 가진 이동식 저장 장치.
  8. 청구항 7에 있어서, 상기 인증 정보는 사용자가 입력한 패스워드 또는 사용자에 의해 선택된 인증서 파일인 것을 특징으로 하는 프로그램 자동 실행 기능을 가진 이동식 저장 장치.
  9. 청구항 6에 있어서,
    상기 숨김 영역은 사용자의 적법 여부를 판정할 수 있는 인증 정보, 상기 이동식 저장 장치의 사용 이력을 저장하는 로그 정보, 상기 이동식 저장 장치에 대한 전송 데이터의 암호화 및 복호화를 위한 암호화 키 중 적어도 하나를 포함하는 것을 특징으로 하는 프로그램 자동 실행 기능을 가진 이동식 저장 장치.
  10. 청구항 1에 있어서,
    상기 감시 프로그램은 상기 호스트 컴퓨터로 하여금 상기 이동식 저장 장치의 제품 식별 정보(PID), 상기 이동식 저장 장치의 고유 일련 번호, 상기 메모리 컨트롤러의 식별 정보, 상기 읽기 전용 영역의 고유 일련 번호 중 적어도 한 가지를 기초로 상기 이동식 저장 장치를 감지하도록 구성된 것을 특징으로 하는 프로그램 자동 실행 기능을 가진 이동식 저장 장치.
  11. 청구항 1에 있어서,
    상기 타겟 프로그램은 상기 호스트 컴퓨터로 하여금 상기 읽기 전용 영역에 기록된 컨텐츠 또는 외부 컨텐츠 서버의 URL 링크를 자동으로 활성화하도록 구성된 것을 특징으로 하는 프로그램 자동 실행 기능을 가진 이동식 저장 장치.
  12. 청구항 1에 있어서,
    상기 디스크 드라이브 장치는 CD-ROM 드라이브, DVD-ROM 드라이브, BD-ROM 드라이브 중 적어도 하나이고,
    상기 읽기 전용 영역은 ISO 9660, ISO 13490, ISO/IEC 13346 유니버설 디스크 포맷(UDF), 또는 이들로부터 파생된 포맷 중 하나로 포맷팅되어 있는 것을 특징으로 하는 프로그램 자동 실행 기능을 가진 이동식 저장 장치.
  13. 설치 프로그램, 감시 프로그램 및 타겟 프로그램이 수록된 읽기 전용 영역을 가지는 비휘발성 메모리부와, 호스트 컴퓨터에 연결되면 상기 호스트 컴퓨터의 운영 체제에 대해 디스크 드라이브 장치로 인식되며 상기 읽기 전용 영역을 상기 디스크 드라이브 장치에 마운트될 수 있는 제1 볼륨으로서 인식시키는 메모리 컨트롤러를 포함하는 이동식 저장 장치의 자동 실행 방법으로서,
    사용자의 지시에 의해 실행되는 상기 설치 프로그램에 의해 상기 호스트 컴퓨터가 상기 감시 프로그램을 상기 제1 볼륨에서 읽어들여 상기 호스트 컴퓨터에 설치하고 실행하는 단계;
    상기 감시 프로그램이 설치된 후에는 상기 감시 프로그램에 의해 상기 호스트 컴퓨터가 상기 이동식 저장 장치의 삽입 여부를 감시하는 단계; 및
    상기 이동식 저장 장치가 감지되어 상기 읽기 전용 영역이 마운트되면, 상기 감시 프로그램에 의해 상기 호스트 컴퓨터가 상기 제1 볼륨에서 상기 타겟 프로그램을 찾아 실행하는 단계를 포함하는 것을 특징으로 하는 이동식 저장 장치의 프로그램 자동 실행 방법.
  14. 청구항 13에 있어서,
    상기 타겟 프로그램에 의해 상기 호스트 컴퓨터가 사용자가 상기 이동식 저장 장치의 적법한 사용자인지 여부를 인증하는 단계를 더 포함하는 것을 특징으로 하는 이동식 저장 장치의 프로그램 자동 실행 방법.
  15. 청구항 14에 있어서,
    상기 비휘발성 메모리부는 상기 이동식 저장 장치의 적법한 사용자가 액세스할 수 있는 일반 사용 영역을 더 포함하고,
    상기 타겟 프로그램에 의해 적법한 사용자임이 인증되면, 상기 타겟 프로그램에 의해 상기 호스트 컴퓨터가 상기 메모리 컨트롤러를 상기 호스트 컴퓨터의 운영 체제에 대해 추가로 이동식 디스크 장치로 인식하는 단계; 및
    상기 타겟 프로그램에 의해 상기 호스트 컴퓨터가 상기 일반 사용 영역을 제2 볼륨으로 인식하여 상기 이동식 디스크 장치에 마운트하는 단계를 더 포함하는 것을 특징으로 하는 이동식 저장 장치의 프로그램 자동 실행 방법.
  16. 청구항 15에 있어서,
    상기 메모리 컨트롤러부는 상기 타겟 프로그램에 의해 적법한 사용자임이 인증된 이후에 상기 일반 사용 영역을 마운트하기 위한 상기 이동식 디스크 장치를 상기 운영 체제에 인식시키도록 동작하는 것을 특징으로 하는 이동식 저장 장치의 프로그램 자동 실행 방법.
  17. 청구항 15에 있어서,
    상기 타겟 프로그램에 의해 상기 호스트 컴퓨터가 상기 일반 사용 영역에 대해 저장되는 데이터를 암호화하고 상기 일반 사용 영역에서 독출되는 데이터를 복호화하는 단계를 더 포함하는 것을 특징으로 하는 이동식 저장 장치의 프로그램 자동 실행 방법.
  18. 청구항 13에 있어서,
    상기 비휘발성 메모리부는 상기 메모리 컨트롤러에 의해 상기 호스트 컴퓨터의 운영 체제로부터 은닉되는 숨김 영역을 더 포함하는 것을 특징으로 하는 이동식 저장 장치의 프로그램 자동 실행 방법.
  19. 청구항 18에 있어서,
    사용자가 이후에 인증에 사용할 인증 정보를 상기 메모리 컨트롤러에 전달하는 단계;
    상기 메모리 컨트롤러가 사용자의 인증에 사용될 상기 인증 정보의 적어도 일부를 상기 숨김 영역에 기록하는 단계; 및
    상기 숨김 영역에 기록된 상기 인증 정보에 기초하여 사용자의 적법 여부를 인증하는 단계를 더 포함하는 것을 특징으로 하는 이동식 저장 장치의 프로그램 자동 실행 방법.
  20. 청구항 19에 있어서,
    상기 인증 정보는 사용자가 입력한 패스워드 또는 사용자에 의해 선택된 인증서 파일인 것을 특징으로 하는 이동식 저장 장치의 프로그램 자동 실행 방법.
  21. 청구항 13에 있어서, 상기 감시 프로그램에 의해 상기 호스트 컴퓨터가 상기 이동식 저장 장치의 삽입 여부를 감시하는 단계는,
    상기 감시 프로그램에 의해 상기 호스트 컴퓨터가 상기 이동식 저장 장치의 제품 식별 정보(PID), 상기 이동식 저장 장치의 고유 일련 번호, 상기 메모리 컨트롤러의 식별 정보, 상기 읽기 전용 영역의 고유 일련 번호 중 적어도 한 가지를 기초로 상기 이동식 저장 장치를 감지하는 단계를 포함하는 것을 특징으로 하는 이동식 저장 장치의 프로그램 자동 실행 방법.
  22. 청구항 13에 있어서,
    상기 타겟 프로그램에 의해 상기 호스트 컴퓨터가 상기 읽기 전용 영역에 기록된 컨텐츠 또는 외부 컨텐츠 서버의 URL 링크를 자동으로 활성화하는 단계를 더 포함하는 것을 특징으로 하는 것을 특징으로 하는 이동식 저장 장치의 프로그램 자동 실행 방법.
KR1020110102657A 2011-10-07 2011-10-07 프로그램 자동 실행 기능을 가진 이동식 저장 장치 및 그 방법 Expired - Fee Related KR101370816B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110102657A KR101370816B1 (ko) 2011-10-07 2011-10-07 프로그램 자동 실행 기능을 가진 이동식 저장 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110102657A KR101370816B1 (ko) 2011-10-07 2011-10-07 프로그램 자동 실행 기능을 가진 이동식 저장 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20130038034A KR20130038034A (ko) 2013-04-17
KR101370816B1 true KR101370816B1 (ko) 2014-03-10

Family

ID=48438831

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110102657A Expired - Fee Related KR101370816B1 (ko) 2011-10-07 2011-10-07 프로그램 자동 실행 기능을 가진 이동식 저장 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101370816B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9575775B2 (en) 2014-03-07 2017-02-21 International Business Machines Corporation Autorun on eject

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080087579A (ko) * 2007-03-27 2008-10-01 삼성전자주식회사 외부 저장장치 및 상기 외부 저장장치의 자동 실행방법
KR20090048576A (ko) * 2006-07-13 2009-05-14 트렉 2000 인터네셔널 엘티디. 유저 인터페이스를 구비한 이동식 장치
KR20100001211A (ko) * 2008-06-26 2010-01-06 엘지전자 주식회사 이동식 저장 장치 및 그 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090048576A (ko) * 2006-07-13 2009-05-14 트렉 2000 인터네셔널 엘티디. 유저 인터페이스를 구비한 이동식 장치
KR20080087579A (ko) * 2007-03-27 2008-10-01 삼성전자주식회사 외부 저장장치 및 상기 외부 저장장치의 자동 실행방법
KR20100001211A (ko) * 2008-06-26 2010-01-06 엘지전자 주식회사 이동식 저장 장치 및 그 동작 방법

Also Published As

Publication number Publication date
KR20130038034A (ko) 2013-04-17

Similar Documents

Publication Publication Date Title
US7721115B2 (en) USB secure storage apparatus and method
US8789137B2 (en) Data processing device
CN100555298C (zh) 虚拟个人办公环境的方法和设备
US8332604B2 (en) Methods to securely bind an encryption key to a storage device
US20060253620A1 (en) Data structure of flash memory having system area with variable size in which data can be updated, USB memory device having the flash memory, and method of controlling the system area
US20100058073A1 (en) Storage system, controller, and data protection method thereof
AU2012281313B2 (en) Method and apparatus for using non-volatile storage device
KR20120123885A (ko) 저장 장치의 인증 장치 및 인증 장치 연결 수단을 구비한 저장 장치
JP2011210129A (ja) 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム
EP2781048B1 (en) Method, host apparatus and machine-readable storage medium for authenticating a storage apparatus
JP4116024B2 (ja) ペリフェラルの使用管理方法、電子システム及びその構成装置
US20050193195A1 (en) Method and system for protecting data of storage unit
TWI446172B (zh) 記憶體儲存裝置、其記憶體控制器與存取方法
CN102789430B (zh) 存储器储存装置、其存储器控制器与存取方法
KR101370816B1 (ko) 프로그램 자동 실행 기능을 가진 이동식 저장 장치 및 그 방법
KR100586063B1 (ko) 가변 크기이고 데이터의 갱신이 가능한 시스템 영역을 갖는플래시 메모리 데이터 구조, 그 플래시 메모리를 구비한usb 저장 장치 및 상기 시스템 영역의 제어 방법
US20120066486A1 (en) Feature Of A Computing Machine
CN118709240B (zh) 用于窃密演示的存储设备接入系统、方法、设备及介质
JP2010146401A (ja) 制御支援システム、情報処理装置及びコンピュータプログラム
CN113051533A (zh) 一种终端设备的安全管理方法
KR101460297B1 (ko) 자료 유출 방지를 위한 이동 저장매체 제어 장치 및 방법
JP2007122731A (ja) バイオ認証センサー付きハードディスク装置とそのデータ保護方法
KR101410488B1 (ko) 외장 메모리용 보안 젠더 및 이를 이용한 외장 메모리 관리 방법
KR100637350B1 (ko) 응용 프로그램의 실행 인증 방법과, 이를 저장한 컴퓨터로읽을 수 있는 기록매체 및 외장형 저장 장치
EP2273410A1 (en) System and method for software activation through digital media fingerprinting

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

P14-X000 Amendment of ip right document requested

St.27 status event code: A-5-5-P10-P14-nap-X000

P16-X000 Ip right document amended

St.27 status event code: A-5-5-P10-P16-nap-X000

Q16-X000 A copy of ip right certificate issued

St.27 status event code: A-4-4-Q10-Q16-nap-X000

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

FPAY Annual fee payment

Payment date: 20170526

Year of fee payment: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20180301

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

P14-X000 Amendment of ip right document requested

St.27 status event code: A-5-5-P10-P14-nap-X000

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20180301

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000