KR20050112118A - 컴퓨터 오퍼레이팅 시스템용 보안 시스템 및 그 방법 - Google Patents

컴퓨터 오퍼레이팅 시스템용 보안 시스템 및 그 방법 Download PDF

Info

Publication number
KR20050112118A
KR20050112118A KR1020057018380A KR20057018380A KR20050112118A KR 20050112118 A KR20050112118 A KR 20050112118A KR 1020057018380 A KR1020057018380 A KR 1020057018380A KR 20057018380 A KR20057018380 A KR 20057018380A KR 20050112118 A KR20050112118 A KR 20050112118A
Authority
KR
South Korea
Prior art keywords
computer
user
data
security
storage device
Prior art date
Application number
KR1020057018380A
Other languages
English (en)
Other versions
KR101146153B1 (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 시큐어 시스템즈 리미티드
Publication of KR20050112118A publication Critical patent/KR20050112118A/ko
Application granted granted Critical
Publication of KR101146153B1 publication Critical patent/KR101146153B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • G06F21/126Interacting with the operating system
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • 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)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 오퍼레이팅 시스템을 저장하기 위한 저장 장치(21)에 형성되는 보안 구역과 호스트 CPU(13) 간의 접속을 제어하기 위한 호스트 CPU(13)에 독립적인 프로세서(37)를 구비하는 컴퓨터 오퍼레이팅 시스템을 위한 보안 시스템에 관한 것이다. 컴퓨터 메모리와 저장 장치(21)에 독립적인 프로그램 메모리(41)가 상기 저장 장치(21)에 있는 보안 구역에 대한 저속을 통제하도록 하는 방식으로 프로세서(37)를 동작시키기 위한 컴퓨터 프로그램들을 영구적으로 저장하고 제공하게 된다. 데이터 저장장치(21)에 대한 상기한 호스트 CPU(13)에 의한 모든 데이터 접속은 보안 시스템의 초기화 이전에는 봉쇄되며 프로세서(37)의 제어 하에 초기화 이후에 즉시 인터셉트 된다. 상기 프로세서(37)는 호스트 CPU(13)의 독립적인 제어와 아울러 상기한 인터셉트 단계 동안에 저장장치(21) 상의 보안 구역에 대한 인가되지 않은 접속을 방지하기 위한 컴퓨터(11)의 구성을 달성한다. 컴퓨터(11)의 모든 사용자들은 저장장치(21) 상의 보안 구역 안에 있는 오퍼레이팅 시스템 파일들에 대한 규정된 접속 프로필로써 신원이 확인되고, 저장 장치에 대한 데이터 접속은 컴퓨터(11)의 사용자의 신분이 정확하게 확인될 때까지 보류된 채로 유지된다.

Description

컴퓨터 오퍼레이팅 시스템용 보안 시스템 및 그 방법{SECURITY SYSTEM AND METHOD FOR COMPUTER OPERATING SYSTEMS}
본 발명은 컴퓨터 시스템에 있어서 데이터 및 정보 저장의 보안을 위한 보안 시스템 및 그것을 위한 방법에 관한 것으로서, 더 상세하게는, 본 발명은 컴퓨터의 오퍼레이팅 시스템에 대한 보안을 달성하기 위한 보안 시스템 및 방법에 관한 것이다.
본 명세서에 관련하여 컴퓨터 시스템이라는 용어는 중앙처리장치(CPU) 및 저장장치를 구비하는 하나의 컴퓨터와, 클라이언트-서버 시스템에서와 마찬가지로 하나 또는 다수의 그러한 컴퓨터들을 통합하기 위한 네트워크를 포함하는 것으로 정의되며, 여기서 상기한 저장장치는 하드 디스크, CD R/W 또는 기타 읽기/쓰기 가능한 데이터 저장매체 또는 그러한 것들의 임의의 조합일 수도 있다.
여기에 사용된 것과 같이, 컴퓨터의 오퍼레이팅 시스템은 컴퓨터의 하드웨어와 사용자 사이의 인터페이스를 제공하는 한편 상기 컴퓨터상에서 작동되는 모든 다른 프로그램들을 제어하는 소프트웨어 및 데이터를 포함한다. 따라서 오퍼레이팅 시스템은 주변 하드웨어 장치에 대한 인터페이스를 처리하고, 작업(태스크)의 스케줄을 잡고, 저장장치를 할당하고, 응용 프로그램이 동작중이 아닌 때에는 사용자에게 디폴트 인터페이스를 제공할 수도 있다. 사용자 인터페이스는 명령어, 그래픽 유저 인터페이스 또는 윈도우 시스템을 포함할 수도 있다. 오퍼레이팅 시스템 로더, BIOS, 또는 부팅 시 또는 오퍼레이팅 시스템의 설치 시에 요구되는 다른 펌웨어 등은 일반적으로는 오퍼레이팅 시스템의 일부로서 간주되지는 않는다.
여기서 "구역(구획)(partition)"이라는 용어는 저장장치를 포맷함으로써 생성되는 읽기/쓰기 가능한 저장장치에 있는 데이터 블록들의 연속적인 그룹화, 부분 또는 영역 등을 의미하기 위해 사용된다.
또한 명세서 전체에 걸쳐서, 문맥상 특히 달리 요구되지 않는다면, "포함(comprise)"이라는 용어 또는 "포함하는(comprising), 포함하여"등과 같은 변형된 용어들은 거기에 기술된 구성요소 또는 일군의 구성요소들을 포함함을 의미하지만 다른 어떤 구성요소 또는 일군의 구성요소들을 배제하는 것은 아닌 것으로 이해되어야 할 것이다.
컴퓨터가 광범위하게 사용되고 있는 오늘날 컴퓨터 시스템에 저장된 데이터는 다양한 사용자들에게 점점 더 접근가능하게 되고 있는 것이 현실이다. 이것은 상이한 사용자들에 의한 컴퓨터 시스템의 로컬 및/또는 원격(remote) 사용을 통해 직접 실시간으로 또는 소정의 시간대에서 컴퓨터 프로그램의 로딩 및 작동을 통해 간접적으로 컴퓨터 시스템의 사용자에 의해 자동 또는 수동으로 발생된다. 근거리 통신망(LAN) 및 인터넷과 같은 광역 통신망(Wide Area Networks)을 통해 컴퓨터 시스템에 대한 원격 접속을 가능하게 하는 컴퓨터 네트워크 시대의 도래와 아울러, 그리고 플로피 디스크 및 컴팩트 디스크 롬(CD ROM) 등을 통한 수동적인 또는 컴퓨터 네트워크들을 통한 자동적으로 컴퓨터 시스템 간의 컴퓨터 프로그램 및 데이터들의 편리한 전송기능의 도래와 함께, 컴퓨터의 리드/라이트 저장매체에 저장되는 데이터 및 정보의 보안성(security) 내지는 보전성(integrity)이 점점 더 심각한 문제가 되고 있는 실정이다.
근래에는 적대적인 컴퓨터 소프트웨어로부터 저장장치에 저장된 데이터 및 정보를 보호하기 위해서 "바이러스 방지용(anti-virus)" 소프트웨어를 통합하거나 사용자의 상태에 따라서 컴퓨터 시스템의 저장장치에 저장된 데이터 및 정보에 대한 미리 지정된 접속(access) 레벨을 부여하는 사용자 신분확인 절차를 수반하는 것이 컴퓨터 시스템에 있어서 통상적이다.
근자에 사용되고 있는 대부분의 바이러스 방지용 소프트웨어 및 사용자 신분확인 프로토콜들에 있어서의 문제는 이들이 소프트웨어에 내장되어 있어서 컴퓨터의 오퍼레이팅 시스템의 제어 하에 수행되는 것이 요구된다는 사실이다. 그러므로 그러한 바이러스 방지(치료)용 소프트웨어 및 사용자 신분확인 소프트웨어가 정확하게 작동하도록 하기 위한 전제조건은 컴퓨터 시스템의 전원이 켜지고(power-on) 초기시동(부팅) 되는 동안에 컴퓨터 시스템에 영향을 주는 어떠한 바이러스나 보안상의 문제를 야기함이 없이 그의 오퍼레이팅 시스템이 "완전하게(깨끗하게)" 구동될 수 있어야만 한다는 점이다.
바이러스 방지용 소프트웨어의 경우에는 그들의 대부분은 그로부터 컴퓨터 시스템을 안전하게 보호하고자 하는 바이러스에 관한 지식 또는 그의 종류 등에 대한 정보를 갖는 것에 의존한다. 그러므로 전술한 바이러스 치료용 소프트웨어는 특정한 어느 바이러스가 컴퓨터 시스템에 침투하기 전에 해당 컴퓨터 시스템에 대하여 계속적으로 업데이트 되고 그에 입력될 필요가 있다.
어떠한 바이러스는 컴퓨터 시스템에 극도로 적대적이거나 파괴적일 수가 있기 때문에 어느 바이러스의 최초의 발생으로부터 그것에 대항하기 위한 소프트웨어의 생산 시기까지에는 일종의 지연기간이 있게 되어 하나의 과도기(window)를 만들게 되고 그 기간 내에서는 상기한 바이러스가 감염된 어떠한 컴퓨터 시스템에는 종종 치유가 불가능한 손상이 발생할 수도 있다. 이에 따라서 바이러스와 바이러스 치료 소프트웨어의 제조는 숙명적으로 영속적인 문제로 되는 경향을 갖는다. 그리하여 그러한 바이러스에 대항하여 정보와 데이터의 보안성을 보장하는 더 양호한 해결수단들이 종래에 많이 제안되어 왔지만 현재까지의 통상적인 기술은 상기한 문제를 해결하기 위해 소프트웨어적 접근방법을 채택하는 수준에 머물러 있는 것이 현실이다.
이럼에도 불구하고 컴퓨터 시스템에 저장된 데이터에 대한 비인가 접속 또는 바이러스를 예방함에 있어서 본질적으로 더 신뢰성이 있고 탄력적인 다양한 하드웨어 기초의(hardware-based) 해결수단이 과거에 제안되기도 하였다. 그러나 이들은 적용하기에 불편하거나, 그들의 적응성에 있어서 상이한 그리고 변경된 형식 표준에는 부적합한 제약이 존재하거나, 또는 그들이 효과적으로 또는 정상적으로 동작되게 하기 위해서는 실행 가능한 프로그램들의 단순한 로딩차원을 상당히 넘어선 기술적인 성격의 사용자의 상호작용을 필요로 하였다.
컴퓨터의 오퍼레이팅 시스템은 전형적으로 읽기/쓰기가 가능한 저장장치 또는 CD ROM에 저장된다. 전술한 보안상의 문제들은 오퍼레이팅 시스템이 하드 디스크 드라이브(HDD)와 같은 읽기/쓰기 가능한 저장장치에 저장되는 경우에 적용된다. 대조적으로 CD ROM 상에 오퍼레이팅 시스템을 저장하는 것은 보안성을 제공하기는 하지만 그 오퍼레이팅 시스템이 변경될 수 없기 때문에 융통성을 희생시키게 되며, 컴퓨터는 단지 CD ROM 자체로써만 동작될 수가 있다. 더욱이, 오퍼레이팅 시스템은 단지 그러한 CD ROM을 교체함으로써만 업그레이드가 가능할 것이다.
따라서 읽기/쓰기 가능한 저장장치에서 컴퓨터를 위한 오퍼레이팅 시스템의 보안을 확보하는 것이 바람직할 것이다.
후술하는 발명의 최선 실시예에 대한 설명에서 참조될 첨부 도면들에 관하여 간략히 기술하면 다음과 같다:
도 1은 본 발명에 따른 호스트 CPU, 메인 버스, 인터페이스 로직부 및 여러 가지의 주변장치들에 대한 보안장치의 물리적인 위치를 도시하는 전형적인 컴퓨터 시스템의 개략적인 블록 다이어그램;
도 2는 본 발명의 제1 실시예에 따른 전반적인 기능적 구성을 나타내는 보안장치의 개략적인 블록도;
도 3은 보안장치가 장착되지 않은 정상적인 컴퓨터의 시동(start-up) 시퀀스를 도시하는 흐름도;
도 4A 및 4B는 제1 실시예에 따라 기술된 본 발명의 보안장치가 장착된 컴퓨터 시스템의 시동 시퀀스를 도시하는 흐름도;
도 5는 제1 실시예에 따른 전원을 켠 시점에서부터의 보안장치의 여러 가지의 동작상태를 나타내는 흐름도;
도 6은 제1 실시예에 따른 신분확인(authentication) 응용 프로그램에 의해 수행되는 여러 과정들을 도시하는 흐름도;
도 7A는 제1 실시예에 따른 일반적인 형태의 로그인(login) 그래픽 유저 인터페이스(GUI) 스크린의 세부적인 그래픽 포맷을 도시하는 도면;
도 7B는 제1 실시예에 따른 정상 사용자 타입의 로그인 그래픽 유저 인터페이스(GUI) 스크린의 세부적 그래픽 포맷을 도시하는 도면;
도 7C는 제1 실시예에 따른 관리자 타입의 로그인 그래픽 유저 인터페이스(GUI) 스크린의 세부적 그래픽 포맷을 도시하는 도면;
도 7D는 제1 실시예에 따른 관리자의 사용자 편집 타입의 그래픽 유저 인터페이스(GUI) 스크린의 세부적 그래픽 포맷을 도시하는 도면;
도 7E는 제1 실시예에 따른 관리자의 접속 편집 타입의 그래픽 유저 인터페이스(GUI) 스크린의 세부적인 그래픽 포맷을 도시하는 도면;
도 8은 본 발명의 제2 실시예에 따른 다중 버스 및 버스 브리지 회로들을 포함하는 버스 브리지 구조를 갖는 전형적인 컴퓨터 시스템의 개략적인 블록도;
도 9는 도 8에 도시된 형태의 컴퓨터 시스템 내에서 본 발명의 제2 실시예에 따른 버스 브리지 회로의 개략적인 블록도; 그리고
도 10은 본 발명의 제3 실시예에 따른 버스 브리지 회로의 개략적인 블록도이다.
본 발명의 일 측면에 따르면, 호스트 중앙처리장치(CPU), 컴퓨터를 작동시키기 위한 프로그램들을 로드하기 위하여 상기 호스트 CPU에 의해 이용되는 메모리, 및 컴퓨터에 의해 처리될 데이터를 저장하기 위한 읽기/쓰기 가능한 저장장치를 구비하는 컴퓨터의 오퍼레이팅 시스템을 위한 보안 시스템이 제공되는데, 상기 보안 시스템은:
상기 오퍼레이팅 시스템이 저장되어 있는, 상기 저장장치에 형성된 보안 구역과;
상기 컴퓨터의 사용자들에 대하여 저장장치에 관한 적어도 두 개의 상이한 데이터 접속 프로필을 정의하기 위한 프로필 수단으로서, 그 중 하나의 접속 프로필은 상기 보안 구역에 저장된 데이터에 대한 읽기/쓰기 접속을 허용하도록 구성되고, 다른 하나의 접속 프로필은 상기 보안 구역에 대한 쓰기 접속을 허용치 않는 차단 레벨의 접속을 허용하도록 구성된 상기 프로필 수단과; 그리고
어떤 특정한 시간적 포인트에서 상기 저장장치에 대한 데이터 접속을 하는 사용자에 대하여 미리 정의된 특정한 데이터 접속 프로필에 따라서 상기 호스트 CPU와 보안 구역 간의 데이터 접속을 선택적으로 차단하기 위한 차단 수단을 포함하고;
상기 차단 수단은 상기 호스트 CPU와는 독립적으로 그리고 분리되도록 구성이 가능함으로써 상기 호스트 CPU의 후속적인 동작에 관계없이 상기한 특정한 데이터 접속 프로필에 따라서 상기한 데이터 접속을 이루고자 하는 사용자들에 대하여 상기 보안 구역에 대한 필요한 수준의 데이터 접속을 부과하고 계속하여 유지하도록 구성된다.
바람직하게는, 상기 보안 시스템은, 규정된 데이터 접속 프로필을 갖는 컴퓨터 사용자의 진정여부를 확인하고, 그 사용자가 그의 특정한 데이터 접속 프로필에 관계없이 상기 보안 구역에 접속하는 것이 가능해지기 전에, 그 사용자의 데이터 접속 프로필에 따라서 보안 구역에 대한 후속적인 접속을 통제하도록 상기 차단 수단을 구성하는 신분 확인 수단을 포함한다.
바람직하게는, 상기 보안 시스템은 상기 신분 확인 수단에 응답하여 저장장치와 호스트 CPU 간의 접속을 차단하기 위한 상기 차단 수단의 동작을 제어하기 위한 호스트 CPU에 독립적인 프로세싱 수단을 포함한다.
바람직하게는, 상기 차단 수단은 보안 시스템의 초기화가 이루어지기 전에 데이터 저장장치에 대한 호스트 CPU의 모든 데이터 접속을 차단하고, 상기 프로세싱 수단의 제어 하에 초기화 후에 바로 즉시 모든 데이터 접속을 인터셉트하기 위한 인터셉트 수단을 포함한다.
바람직하게는, 상기 프로세싱 수단은 상기 인터셉트 수단이 상기한 초기화 바로 후에 그리고 컴퓨터의 오퍼레이팅 시스템의 로딩 바로 전에 상기한 데이터 접속을 인터셉트 할 때 저장장치에 대한 비인가(unauthorized) 접속을 방지하도록 하는 방식으로 컴퓨터의 구성과 상기 호스트 CPU의 독립적인 제어를 달성하도록 구성된다.
바람직하게는, 상기 신분 확인 수단은 컴퓨터의 소프트웨어 부팅이 사용자의 신분을 정확하게 확인한 연후에 수행되는 것을 가능하게 하며, 상기 프로세싱 수단은 상기 소프트웨어 부팅 후의 컴퓨터의 시동(start-up) 과정 동안에 오퍼레이팅 시스템의 정상적인 로딩을 가능하게 해준다.
바람직하게는, 상기 보안 시스템은 상기한 접속을 통제하기 위하여 규정된 방법으로 프로세싱 수단을 동작시키기 위한 컴퓨터 프로그램들을 영구적으로 저장 및 제공하는 저장장치와 컴퓨터의 메모리와는 독립적인 프로그램 메모리 수단을 포함한다.
바람직하게는, 상기 보안 시스템은 컴퓨터의 기본적인 동작과 저장장치에 대한 접속과 연관된 제어 요소들과 중요(critical) 데이터를 저장하기 위한 컴퓨터의 저장장치와 메모리 수단에 독립적인 메모리 저장 수단을 포함한다.
바람직하게는, 상기 중요 데이터 및 제어 요소들은 저장장치의 검증을 위해 그리고 컴퓨터의 시동 과정 동안 저장장치와는 독립적으로 컴퓨터를 동작시키기 위해 호스트 CPU에 제공되고 그에 의해 사용된다.
바람직하게는, 상기 신분 확인 수단은 컴퓨터의 사용자가 로그인 식별기호 및 패스워드를 입력하고, 그 로그인 식별기호 및 패스워드가 검증되도록 함으로써, 컴퓨터의 시동 과정이 더 이상 진행되기 전에 상기 사용자가 저장장치에 대한 규정된 접속 프로필을 갖는 컴퓨터의 인가된 사용자인 것을 확인하는 것을 가능하게 하는 로그인 검증 수단을 포함한다.
바람직하게는, 인가된 사용자의 상기 로그인 식별기호 및 패스워드와 그 접속의 규정된 프로필은 상기한 중요 데이터 및 제어 요소들의 일부를 형성하고 상기 로그인 검증 수단은 상기 중요 데이터 및 제어 요소들에 접속하여 사용자의 신분확인을 달성한다.
바람직하게는, 상기한 규정된 접속 프로필은 저장장치의 규정된 구역들에 대한 인가된 컴퓨터 사용자를 위해 허용되도록 미리 규정된 소정의 접속 레벨들의 할당을 하는 것을 포함한다.
바람직하게는, 독립적인 프로세싱 수단 및 독립적인 프로그램 메모리 수단은 호스트 CPU와 저장장치 간의 데이터 접속 채널과 맞추어서 그리고 호스트 CPU의 메인 데이터 및 제어 버스를 벗어나게 연결되도록 구성된다.
본 발명의 또 다른 측면에 따르면, 호스트 중앙처리장치(CPU), 컴퓨터와 저장장치를 작동시키기 위한 프로그램들을 로드하기 위하여 상기 호스트 CPU에 의해 이용되는 메모리, 및 컴퓨터에 의해 처리될 데이터를 저장하기 위한 읽기/쓰기 가능한 저장장치를 구비하는 컴퓨터의 오퍼레이팅 시스템을 비인가 접속으로부터 보호하고 보안화를 수행하기 위한 보안 방법이 제공되는데, 상기 보안 방법은:
상기 저장장치에 보안 구역(파티션)을 형성하고 상기 오퍼레이팅 시스템을 그 보안구역에 저장하는 과정과;
상기 컴퓨터의 사용자들에 대하여 저장장치에 관한 적어도 두 개의 상이한 데이터 접속 프로필을 정의하는 과정으로서, 그 중 하나의 접속 프로필은 상기 보안 구역에 저장된 데이터에 대한 읽기/쓰기 접속을 허용하도록 이루어지고, 다른 하나의 접속 프로필은 상기 보안 구역에 대한 쓰기 접속을 허용치 않는 차단 레벨의 접속을 허용하도록 이루어지는 과정과;
어떤 특정한 시간적 포인트에서 상기 저장장치에 대한 데이터 접속을 하는 사용자에 대하여 미리 정의된 특정한 데이터 접속 프로필에 따라서 상기 호스트 CPU와 보안 구역 간의 데이터 접속을 선택적으로 차단하는 과정과; 그리고
상기 호스트 CPU의 후속적인 동작에 관계없이 상기한 특정한 데이터 접속 프로필에 따라서 상기한 데이터 접속을 이루고자 하는 사용자들에 대하여 상기 보안 구역에 대한 필요한 수준의 데이터 접속을 부과하고 계속하여 유지하는 과정을 포함하여 이루어진다.
바람직하게는, 상기 보안 방법은, 규정된 데이터 접속 프로필을 갖는 컴퓨터 사용자의 진정여부를 확인하는 과정과, 그 사용자가 그의 특정한 데이터 접속 프로필에 관계없이 상기 보안 구역에 접속하는 것이 가능해지기 전에, 그 사용자의 데이터 접속 프로필에 따라서 상기 보안구역에 대한 후속적인 접속을 통제하도록 상기 저장장치에 대한 데이터 접속의 차단을 행하는 과정을 포함한다.
바람직하게는, 상기 선택적 차단 과정은 호스트 CPU와는 독립적으로 상기 호스트 CPU와 보안구역 간의 접속을 통제하는 과정을 포함한다.
바람직하게는, 상기 선택적 차단 과정은 컴퓨터의 초기화 과정 중에 일어나고, 상기 초기화 바로 후에 그리고 컴퓨터의 오퍼레이팅 시스템의 로딩 바로 전에 시동 과정 중의 모든 데이터 접속을 인터셉트하는 과정을 포함하여, 상기 저장장치에 대한 비인가 접속을 방지하도록 하는 방식으로 컴퓨터의 구성과 상기 호스트 CPU의 독립적인 제어를 가능하게 하도록 구성된다.
바람직하게는, 상기 보안 방법은 사용자의 신분을 정확하게 확인한 연후에 컴퓨터의 소프트웨어 부팅을 수행하고, 그 후에 컴퓨터의 시동(start-up) 과정 동안에 오퍼레이팅 시스템의 정상적인 로딩을 가능하게 하는 과정을 포함한다.
바람직하게는, 상기 방법은 사용자의 규정된 접속 프로필에 따라서 사용자의 신분을 정확하게 확인한 다음에 저장장치에 대한 접속 차단을 통제하는 과정을 포함한다.
바람직하게는, 상기 방법은 메모리로부터 분리되어 있는 호스트 CPU에 의해 어드레싱이 가능하지 않은 위치에서 상기한 접속과정을 통제하는 것을 실행하기 위한 영구적으로 저장되는 컴퓨터 프로그램을 포함한다.
바람직하게는, 상기 신분 확인 과정은 컴퓨터의 사용자가 로그인 식별기호 및 패스워드를 입력하고, 그 로그인 식별기호 및 패스워드가 검증되도록 함으로써, 컴퓨터의 시동 과정이 더 이상 진행되기 전에 상기 사용자가 저장장치에 대한 규정된 접속 프로필을 갖는 컴퓨터의 인가된 사용자인지 아닌지를 판정하도록 하는 과정을 포함한다.
바람직하게는, 인가된 사용자의 상기 로그인 식별기호 및 패스워드와 그의 규정된 접속 프로필은 상기한 중요 데이터 및 제어 요소들의 일부를 형성하고, 상기 검증 과정은 상기 중요 데이터 및 제어 요소들 내의 로그인 식별기호와 패스워드를 입력된 로그인 식별기호와 패스워드와 비교하여, 그들이 일치된다면, 사용자의 신분이 진정함을 확인하는 과정을 포함한다.
바람직하게는, 상기한 규정된 접속 프로필은 저장장치의 규정된 구역들에 대한 인가된 컴퓨터 사용자를 위해 허용되는 소정의 접속 레벨들의 미리 규정된 방식의 할당을 포함한다. 바람직하게는, 상기한 규정된 구역들은 보안구역을 포함한다.
이하 본 발명을 실시하기 위한 가장 바람직한 양태를 여러 실시예를 참조하면서 기술한다.
본 발명의 제1 실시예는 본원 출원인에 의한 국제출원공개 제WO 03/003242호에 개시된 형태의 컴퓨터의 오퍼레이팅 시스템에 대한 보안 시스템에 대하여 지향하고 있는데, 그 내용은 본 출원에 참조로 포함된다. 상기 보안 시스템은 컴퓨터의 오퍼레이팅 시스템이 저장되어 있고 컴퓨터의 동장 중에 상기 오퍼레이팅 시스템을 보호하도록 하는 방식으로 구성된 보안 구역(구획)의 형성을 포함한다.
도 1에 도시된 바와 같이, 내부에 보안 시스템이 연결된 컴퓨터 시스템(11)은 일반적으로 하나의 중앙처리장치(CPU)와, 메인 CPU 어드레스 및 데이터 버스(15)를 통해 연결된 다수의 주변장치들을 포함한다. 상기 주변장치들은 모니터(17), 키보드(19) 및 하나 또는 다수의 일기/쓰기 가능한 저장장치들(21)을 포함한다. 본 실시예에 있어서 저장장치들(21)은 ATA (AT Attachment) 표준에 따라서 통신하고 이에 따라서 그들과 컴퓨터 시스템(11)의 나머지 구성요소들 간에 제공되는 ATA 채널을 필요로 한다.
이들 주변장치들은 적절한 인터페이스 로직부(23, 27 및 31)를 통해 메인 CPU 버스(15)에 연결되며, 그 각각은 디코드 로직부 및 입출력 장치(I/O)를 포함한다. 상기 인터페이스 로직부는 상기 CPU(13) 및 특정한 주변장치 간의 통신을 가능하게 하도록 구성함을 특징으로 한다.
모니터(17)의 경우에는 그의 인터페이스 로직부(23)는 비디오 어댑터와 함께 통합(집적)되며 표준 비디오 케이블(25)을 통해 모니터에 연결된다. 키보드(19)의 경우에는 그것의 인터페이스 로직부(27)는 키보드 포트와 함께 통합되어 적절한 키보드 케이블(29)을 통해 키보드에 연결된다. 그리고 저장장치(21)의 경우에는 그의 인터페이스 로직부(31)는 상기 ATA 어댑터와 통합되어 ATA 케이블(33)을 경유해 저장장치(들)에 연결되어 ATA 채널을 제공한다.
본 실시예에 따른 보안 시스템은 장치 인터페이스 로직부(31)에 제공된 ATA 어댑터와 저장장치들(21) 사이에서 상기 ATA 케이블(33)과 정렬되도록 물리적으로 그 사이에 삽입된다. 상기 ATA 표준은 하드 디스크 드라이브(HDD), CD-ROM(ATA 표준으로는 ATA/ATAPI 인핸스먼트형을 실제적으로 채택함), 플래시 메모리, 플로피 디스크 드라이브, 집(zip) 드라이브 및 테이프 드라이브 등을 포함하는 대부분의 형태의 저장장치들을 지원한다.
상기한 ATA 표준 하에서는 두 개의 분리(디스크리트)형 저장장치들이 단일 인터페이스 로직(31) 및 ATA 케이블(33)을 통해 제어될 수도 있다. 그러므로 이하에서는 "저장 매체(storage medium)"로 언급될 것이며, 이것은 하나 또는 두 개의 저장장치들을 포함하고 "저장장치(storage device)"와 상호 교환이 가능하게 사용될 것이다.
PC들의 경우에는 읽기/쓰기 가능한 저장장치의 대표적인 형태는 HDD 장치이다. 대부분의 HDD는 IDE(Integrated Drive Electronics) 하드 디스크 드라이브 표준규격 또는 EIDE(Enhanced IDE) 하드 디스크 드라이브 표준규격에 상응하는데, 그에 의하면 디스크 드라이브를 위한 컨트롤러는 PC의 주기판(mother board)에 직접적으로 연결된 것과는 반대로 HDD 그 자체에 배치된다.
도면에 도시되지는 않았지만, 컴퓨터 시스템의 다른 실시예는 그 자신의 상응하는 인터페이스 로직을 갖는 SCSI(Small Computer Systems Interface) 표준규격을 통해 메인 컴퓨터 시스템에 연결된 저장 매체를 수반할 수도 있는데, 이것은 그 자신의 상응하는 인터페이스 로직부를 구비한다. 따라서 이러한 방법으로 PC에 연결된 저장 매체의 경우에는 상기 보안장치(35)는 SCSI 타입의 드라이브 장치와 그의 인터페이스 로직부 사이에 유사하게 삽입될 것이다.
상기 보안 시스템은 또한 보안 구역(36)을 포함하는데, 이것은 저장장치들 중의 하나에 분리된 구획(파티션)으로서 논리적으로 구성된다. 컴퓨터의 오퍼레이팅 시스템은 상기 보안 구역(36)에 저장된다는 것이 중요하다.
본 발명에 따른 실시예에서는 상기보안 구역(36)은 C:(C 드라이브)이며, 저장 매체(21) 사에서 이용 가능한 전체 디스크 공간의 일부를 취한다. 그러므로 저장 매체(21)는 C:, D:, E: 및 F: 와 같은 다수의 파티션 구획으로 포맷된다.
도 2에 도시된 바와 같이, 보안장치(35)는 일반적으로 CPU(37), 램(RAM) (39), 플래시 롬(ROM)(41) 및 버스 제어 및 인터페이스 로직부(43)를 포함하는데, 이것은 본 실시예에 있어서는 ATA 저장장치(21)를 보호하기 위한 목적으로 전술한 ATA 표준규격에 맞춰진다. 상기 버스 제어 및 인터페이스 로직부(43)는 보안장치 CPU(37)의 제어 하에 디스크 저장장치들(21)과 호스트 CPU(13)과의 사이의 모든 통신의 제어를 가능케 하고 그것을 인터셉트하도록 연결된 FPGA(Field Programmable Gate Array) 및/또는 ASIC(Application Specific Integrated Circuit) 장치들로 구현됨이 전형적이다.
상기 보안장치(35)는 또한 분리된 보안성 저장매체(47)가 커스텀 인터페이스(49)를 통해 보안장치에 연결되도록 해주는 보안성 매체 인터페이스(45)를 포함한다.
보안장치 CPU(37)는 플래시 롬(41)에 저장되고 시동시 램(39)에 로드되어 보안장치의 오퍼레이팅 시스템이 되는 소정의 응용 프로그램에 따라서 동작한다. 상기 CPU(37)는 호스트 CPU(13)와 저장매체(21) 간의 통신을 인터셉트 하는 차단 수단으로서 기능하도록 상기 ATA 케이블(33)과 맞춰 그 사이에 삽입된 버스 제어 및 인터페이스 로직부(43)와 통신을 한다. 보안성 매체 인터페이스(45)는 상기한 버스 제어 및 인터페이스 로직부(43)와 커스텀 인터페이스(49) 사이에 삽입되어 CPU(37)의 제어 하에 상기 보안성 저장 매체(47)와 호스트 CPU(13) 간의 통신을 도모하도록 한다.
플래시 ROM(41)에 저장된 응용(application) 프로그램의 기능 및 상기한 보안장치(35)의 동작에 대하여 도 3 내지 도 5를 참조하여 이하에서 기술될 것이다.
보안장치(35)를 위한 플래시 ROM(41)에 저장된 응용 프로그램은 컴퓨터 시스템의 부팅 과정을 인터셉트하고 제어하도록 일반적으로 설계되며, 보호되는 저장매체에 대한 접속이 허용되기 이전에 로그인 ID와 패스워드를 사용하여 신분확인(authentication) 절차를 제공하게 된다. 또한, 저장매체(21)와 호스트 CPU(13)와의 사이의 보안장치(35)의 위치는 상기 보안장치가 저장매체에 대해 그리고 그로부터 입출력되는 정보 및 데이터에 대한 모든 요구사항(requests)들을 필터링 할 수 있도록 특별히 설계된다. 상기한 보안장치(35)는 관리자(administrator)의 프로필을 갖는 사용자에 의해 설정되는 소정의 사용자(user) 프로필들에 기초하여 이러한 요구사항들을 적절한 저장매체에 전달하는데, 여기서 상기 프로필들은 보안장치 그 자체 내에 저장된다. 이러한 프로필들은 저장매체 내의 다른 파티션(partition)들 및/또는 파일들에 대한 접속관계에 기초하여 형성된다. 그리하여 지정된 관리자는 파티션 별로(partition-by-partition) 및/또는 파일별로(file-by-file) 데이터 보호를 설정할 수가 있고, 그래서 나중에 더 상세하게 기술될 방식으로 특정한 보안 파티션의 오퍼레이팅 시스템을 위한 데이터 보호를 설정하는 것이 가능하다.
일단 오퍼레이팅 시스템을 함유하는 보안 구역(파티션)이 설정되면, 사용자 대한 지식이 없이 컴퓨터의 정상적인 호스트 CPU에 대한 제어를 수행할 수 있는 비인가 또는 악의적인 동작들로부터 그것을 차폐해 주면서, 보안 장치는 일종의 가짜(pseudo) 호스트 CPU로서 상기 오퍼레이팅 시스템과 상호 작용을 수행하고 오퍼레이팅 시스템이 정상적으로 기능하는 것을 가능하게 해준다.
보안 시스템의 동작과 그것이 어떻게 오퍼레이팅 시스템을 보호하는지를 완전히 이해하기 위해서는 표준형 컴퓨터 시스템에 의해 수행되는 정상적인 부팅 프로세스에 대한 이해가 요구된다. 이러한 부팅 프로세스를 첨부된 도 3을 참조하여 지금부터 설명할 것이다.
도 3에 도시된 바와 같이 PC에 의해 수행되는 정상적인 시동(start-up) 시퀀스는 단계 51에서 지시된 바와 같이 53에 도시된 전원 ON 동작으로써 시작된다. 이것은 일명 "콜드(cold)" 부팅이라고 알려져 있는데, 이것에 의하면 호스트 CPU의 내부 메모리 레지스터들 및 램(RAM)으로부터의 모든 잔여 데이터들이 클리어(clear)되고 상기 CPU의 프로그램 카운터는 시작 어드레스로써 설정되어 부팅 과정을 프로세스를 시작하게 된다. 이러한 어드레스는 롬 바이오스(ROM BIOS: Basic Input/Output System)에 영구적으로 저장된 부팅 프로그램의 시작에 해당한다.
다음 단계 55는 상기 어드레스를 사용하여 CPU를 불러들임으로써 상기한 롬 바이오스 부팅 프로그램을 찾아 그것을 가져오게 한다. 롬 바이오스 프로그램은 하드웨어 및 소프트웨어 인터럽트 벡터들을 설정하고 단계 57에 의해 표시된 것과 같은 "파워-온 셀프-테스트(POST: Power-on Self Test)"로 알려진 일련의 시스템 점검절차를 불러들이는 과정을 포함하는 초기화 단계를 수행하게 된다.
상기한 POST 과정은 PC의 램이 적절하게 기능을 하도록 보장하기 위한 일련의 테스트들을 수반한다. 그 다음 그것은 비디오 카드와 모니터(17), 키보드(19) 및 저장매체(21)와 같은 여러 가지의 주변장치들이 존재하고 적절히 동작하는지를 점검하도록 상기 호스트 CPU에 지시하는 또 다른 일련의 테스트 과정을 수행한다.
POST 과정을 완료하면, 상기 바이오스는 그 다음 단계 59에서 주변장치들의 ROM에 들어가 있는 바이오스 확장자(BIOS Extensions)들의 어드레스들을 찾아서 그들 중의 어떤 것이 작동할 확장된 BIOS를 보유하고 있는지를 알아본다.
이러한 바이오스 확장자들의 첫 번째는 비디오 카드와 연관된다. 이 바이오스 확장자는 단계 61에서 도시된 바와 같이 모니터를 동작시키도록 비디오 카드를 초기화하게 된다.
비디오 카드의 초기화를 완료하고나면, 상기 바이오스는 그 다음 단계 63으로 진행하여 그들을 보유하고 있는 주변장치들에 대한 다른 바이오스 확장자들을 작동하게 된다.
그 다음, 상기 BIOS는, 단계 67에서 시스템에 대한 추가의 테스트들을 수행하는 것을 진행하기에 앞서서, 스크린에 표시되는 단계 67에서의 메모리 테스트를 포함하여 단계 65에서 시동(start-up)을 위한 스크린을 표시하도록 진행한다.
다음으로 상기 바이오스는 단계 69에서 어떤 종류의 주변장치 하드웨어가 시스템에 연결되어 있는가를 결정하기 위해 소위 "시스템 품목조사(system inventory)" 또는 장치 점검 절차를 수행한다. HDD 저장매체에 관해서는 상기한 바이오스 프로그램은 드라이브 표준(ATA 또는 SCSI), 어떠한 표준 레벨인지(예를 들면, 구형 표준인 ATA 1-3형인지 아니면 신형 표준 ATA 6형인지), 실린더/헤드/섹터의 숫자, 그리고 그것이 다른 모드에서 동작가능한지의 여부 등과 같은 세부적 HDD 요구사양을 호스트 CPU가 질문하도록 해준다. HDD의 이러한 질문 단계는 일반적으로 "드라이브 ID"로서 알려져 있다.
다음으로 BIOS는 단계 71에서 "Plug and Play" 장치들과 같은 "논리적(logical)" 장치들을 구성하도록 진행하고 그것이 발견하는 각각의 장치에 대한 스크린 상의 메시지들을 표시한다.
그 다음에는 컴퓨터 시스템의 구성을 지시하는 개요적인 스크린이 단계 73에서 표시된다. 상기 BIOS는 그 다음 단계 75에서 지정된 부팅 시퀀스에 대해 점검하고, 거기서 컴퓨터 시스템의 오퍼레이팅 시스템이 그로부터 로드될 유효한 부트 섹터의 위치에 대한 점검될 저장매체의 우선순위가 지정된다. 정상적인 순서는 플로피 디스크 드라이브(A:)를 점검하고 그 다음 하드 디스크 드라이브(C:)를 하는 것인데, 그와 반대로 하거나, 아니면 CD ROM 드라이브를 먼저 할 수도 있다.
일단 우선순위를 확인하고나면, 상기 BIOS는 단계 77에서 상기 CPU가 유효한 부트 섹터의 위치를 찾을 때까지 각 드라이브에 있는 부팅 정보를 순서대로 찾도록 해준다.
상기 BIOS는 단계 79에서 소프트웨어 인터럽트 벡터(interrupt vector) "int 19를 불러옴으로써 이 프로세스를 시작하게 되는데, 이것은 바이오스의 초기화 단계 중에 설정되는 소프트웨어 인터럽트 벡터 테이블에 특정한 주변장치의 어드레스를 저장하게 된다.
예를 들면, 만일 목표 부팅 드라이브가 HDD라면, CPU는 상기 테이블에 지정된 장치의 어드레스에서 실린더 0, 헤드 0, 섹터 1(디스크 상의 첫 번째 섹터에 해당됨)에서 마스터 부트 레코드 또는 부트 섹터를 찾게 된다. 그렇지만, 만일 그것이 플로피 디스크이면, CPU는 상기 테이블로부터 플로피 디스크의 어드레스를 획득하여 플로피 디스크 상의 같은 위치에서 볼륨 부트 섹터(volume boot sector)를 찾게 된다.
유효 부트 섹터는 "ID 바이트"의 서명을 검사하는 CPU에 의해 결정되는데, 이것은 부트 섹터의 첫 번째 두 바이트를 통상적으로 포함한다. 만일 상기한 서명이 부트 섹터가 현재 존재한다는 것을 나타내면, CPU는 단계 81에서 그 부트 섹터를 RAM에 대한 로딩을 진행하고 여러 가지의 오퍼레이팅 시스템 파일들을 로딩하기 위해 단계 83에서 부트 로더(boot loader)를 실행 또는 작동한다.
DOS 오퍼레이팅 시스템의 경우에는 숨겨진 파일들 MS DOS.SYS, IO.SYS 및 COMMAND.COM이 로딩이 되어 실행되고 그 다음 파일들 CONFIG.SYS 및 AUTOEXEC.BAT가 로딩이 되어 컴퓨터 시스템의 구성을 완료하도록 작동되며, 이로써 컴퓨터 시스템의 후속 동작을 위해 적절한 응용 프로그램들이 초기화되도록 하는 것이다.
보안장치(35)를 통합하고 있는 본 발명의 실시예의 경우에는 상기 보안장치는 BIOS의 동작 중의 초기 단계에서 부팅 프로세스를 인터셉트함으로써 보호된 저장 매체(21)에 대한 호스트 CPU(13)의 모든 접속을 차단하도록 프로그램 된다. 게다가 보안장치는 호스트 CPU(13)의 RAM에 로딩될 커스텀 부트 섹터를 제공하는데, 이것은 그 다음으로 컴퓨터 시스템이 그의 정상적인 부트 섹터 동작과 오퍼레이팅 시스템의 로딩을 진행하도록 허용하기 이전에 올바른 사용자 여부에 대한 신분확인 절차를 요구하는 신분확인을 위한 응용 프로그램을 수행하게 된다. 후자의 동작들은 보호된 저장매체(21)에 대한 접속을 필요로 하기 때문에 이러한 방법론은 보안장치(35)의 관리적 제어가 각 사용자별로 설정된 다음에만 그러한 접속이 착수된다는 것을 보장하게 된다.
상기한 보안장치(35)의 이러한 동작방식은 도 4A, 4B 및 도 5와 결부하여 보다 잘 설명되고 있으며, 이것은 전술한 방식으로 설치된 보안장치를 갖는 컴퓨터 시스템의 시동 시퀀스의 동작을 요약적으로 설명한다.
이러한 구성에서는 컴퓨터 시스템(11)의 콜드 부팅 프로세스는 정상적인 컴퓨터 시동 시퀀스의 경우와 같이 단계 51 및 53에서 시동 및 파워-ON 과정으로써 시작된다. 그러나 파워-온 과정에서 개별적으로 전원이 공급되는 상기한 보안장치(35)는 시작 단계 100으로써 개시되는 자신의 초기화 과정을 실시하며, 거기서 모든 그의 탑재된 자원은 단계 101에서 초기화 되어 그의 오퍼레이팅 시스템 프로그램이 로드되고, 단계 103에서 도시된 바와 같이 그의 첫 번째 동작단계로 진입하도록 동작하게 된다. 보안장치(35)의 초기화 절차는 컴퓨터 시스템(11)의 그것들과 비교하여 보안장치의 감소된 오버헤드(overhead)로 인하여 컴퓨터 시스템의 BIOS를 실시하는 것보다 훨씬 더 신속하게 진행되어야만 한다. 따라서 플래시 롬(41)에 저장된 오퍼레이팅 시스템 프로그램은 즉시 단계 103에서 보안장치 CPU(37)의 개입을 불러일으켜 버스 제어 인터페이스 로직부(43)를 제어하고 ATA 채널을 따라 호스트 CPU(13)으로부터 저장매체로의 모든 통신을 인터셉트하도록 함으로써, 이러한 기간동안 호스트와 상기 보호된 저장매체(21) 사이에 ATA 케이블을 따라서 어떠한 통신도 이루어지지 않도록 한다. 이러한 기간 전에는 상기 버스 제어 및 인터페이스 로직부(43)는 구성되지 않아서 어떤 경우에도 ATA 케이블을 따른 보안장치의 초기화 이전에 또는 도중에 저장매체에 대한 어떠한 접속도 허용되지 않는다.
그 다음 보안장치 CPU(33)는 저장매체(21)의 상태에 대해 CPU(13)에게 알려주기 위해서 ATA 채널 상에 드라이브 "비지(busy)"신호를 제공하고 단계 104에 도시된 바와 같이 저장매체로부터 "드라이브 ID"를 요구하는 과정을 진행한다.
이 시간동안 보안장치(35)의 동작은 BIOS와는 독립적으로 발생되는데, 여기서 상기 BIOS는 상기한 "드라이브 ID" 점검 절차가 단계 69에서 그에 의해 수행될 때까지 그의 정상적인 동작에 따라서 단계들 55 내지 69를 수행하도록 진행한다.
상기한 단계 55 내지 단계 69의 과정 중에 보안장치(35)는 저장매체(21)와의 호스트 CPU(13) 또는 다른 외부장치로부터의 모든 데이터 통신을 계속적으로 차단한다. 이러한 "드라이브 비지" 단계 도중에 상기한 보안장치(35)의 CPU(37)는 보안장치로부터의 "드라이브 ID" 정보를 대기하는 상태에 있다. 일단 상기 보안장치 CPU(37)가 저장매체(21)로부터 상기한 "드라이브 ID" 정보를 입력하고나면, 상기 CPU(37)는 그것의 RAM(39)에 이것을 저장하고 그리고 호스트 CPU(13)에 상기 저장매체(21)가 "드라이브 ID"를 제공할 준비가 되어 있다는 것을 지시하기 위해 ATA 채널 상에 "드라이브 ready" 신호를 주장한다.
만일 호스트 CPU(13)가 상기 "드라이브 ID" 단계 69에 이미 도달하였고 또한 필요한 시간기간보다 더 짧은 상기한 "드라이브 busy" 단계 동안에, 또는 더 정상적으로는 상기 보안장치 CPU(37)가 ATA 채널 상에서 "드라이브 ready" 단계에 대하여 신호를 보낸 후 단계 69에서 상기한 BIOS가 "드라이브 ID" 단계에 마침내 도달한 시점에서 드라이브 인터페이스 로직부(31)에 대한 폴링(polling)을 하였다면, 상기한 호스트 CPU(13)는 "드라이브 ID"에 대하여 드라이브 인터페이스 로직부(31)에 요구(request)를 하게 된다.
일단 이러한 요구가 단계 69에서 이루어지면, 보안장치 CPU(37)는 단계 105에서 그 요구를 인터셉트하고 저장매체(21)에 대한 접속을 차단하기를 계속하며, 단계 106에서 HDD의 "드라이브 ID"를 호스트 CPU(13)에 제공하게 된다.
상기한 BIOS는 HDD가 반응하는 약 31초의 기간 동안 그것을 기술하도록 저장된 "드라이브 ID" 정보를 제공한다. 따라서 만일 보안장치 CPU(37)가 어떤 이유로 인해 상기 바이오스가 "드라이브 ID" 장치 점검(equipment check) 단계 69에 도달한 시점부터 이러한 시간 내에 상기한 "드라이브 ID" 정보를 제공할 수가 없다면, 상기한 BIOS는 해당 위치에서의 저장매체(21)가 동작하지 않고 그것을 우회한다는 것을 나타낼 것이다. 상기 보안장치(35)는 이 시간까지는 양호하게 초기화되어 정확하게 동작될 것으로 예상되기 때문에 그러한 지연은 보호된 HDD와 관련된 어떠한 문제가 존재한다는 것을 일반적으로 나타낼 것이다.
호스트 CPU(13)에 "드라이브 ID"를 제공한 연후에 상기 보안장치(35)는 그 다음 상태로 진행하여 보호된 저장매체(21)와 호스트 CPU(13) 간의 데이터 통신을 여전히 차단하게 되는 한편, 그 반면에 상기 BIOS 프로그램은 그것이 유효한 부투 섹터의 로딩을 수반하는 단계 81에 도달할 때까지 단계 71 내지 단계 81에서 그의 정상적인 부팅 절차를 진행한다.
이러한 상태에서 보안장치(35)의 CPU(37)은 호스트 CPU(13)로부터 드라이버 인터페이스 로직부(31)로의 부트 섹터 리퀘스트(boot sector request)를 대기한다. 보호된 저장장치에 저장된 부트 섹터를 로딩하는 대신에 그러한 BIOS 리퀘스트를 수신하면, 보안장치는 단계 107에 도시된 바와 같이 호스트 CPU에 그 자신의 플래시 ROM(41) 상에 저장된 하나의 "커스텀" 부트 섹터를 제공한다. 그 다음 CPU(13)는 상기한 커스텀 부트 섹터에 따른 부트 로더(boot loader)를 작동시키는데, 이것은 상기한 플래시 ROM(41) 내에 저장된 규정된 신분확인 응용 프로그램이 단계 109에서 로딩이 되고 단계 111에서 실행되도록 해준다.
본 실시예에 있어서, 유효한 부트 섹터는 보호된 저장매체(21) 상에 저장된 것이어야만 하는데, 그렇지 않으면 상기 보안장치(35)는 결코 그의 차단 상태를 넘어서는 진행하지 않을 것이다. 그러한 배열은, 보호된 저장매체(21) 상에 저장된 데이터와 통신하는 목적으로 호스트 CPU(13)의 제어를 실행하기 위하여, 상기한 보호된 저장매체(21) 상에 제공된 것이 아닌 다른 어떠한 외부 오퍼레이팅 시스템을 허용하지 않음으로써 시스템 보안의 완전무결함을 확실히 하게 된다.
따라서 상기한 BIOS가 부트 섹터를 확인하고 로딩하는 목적을 위해 보호된 저장매체(21)를 목표로 하는 컴퓨터 시스템의 정상적인 동작에 있어서, 상기 BIOS는 보호된 저장매체(21)로부터 부트 섹터를 상기 호스트 CPU(13)가 요구하는 것을 가능하게 한다.
신분확인 응용 프로그램은 단지 신분이 확인된 사용자만 컴퓨터 시스템(11)의 동작을 계속하도록 허용해주는 미리 규정된 로그인 응용 프로그램을 필수적으로 포함하는 프로필링 수단을 제공하도록 하기 위해 호스트 CPU(13)과 결합한다. 상기 규정된 로그인 응용 프로그램에 의해 신분이 확인되는 것이 불가능한 사용자는 컴퓨터 시스템을 계속해서 사용할 수가 없을 것이다. 상기 로그인 응용 프로그램의 상세한 동작은 나중에 더 상세히 설명될 것이지만, 여기서 상기한 시스템 시동 시퀀스를 설명할 목적상 총괄적 견지에서 기술될 것이다.
더욱이, 상기한 로그인 응용 프로그램은 초기의 로그인 상태를 넘어서 컴퓨터 시스템이 진행하도록 하기 위한 유효한 로그인 이름과 패스워드를 사용자가 입력하는 것을 요구한다. 본 실시예에 있어서 로그인 응용 프로그램은 올바른 로그인 이름과 패스워드를 입력함에 있어서 단지 세 번의 시도만을 허용하도록 설계된다. 다른 실시예에 있어서는 허용될 수 있는 로그인 시도의 횟수가 상이하게 될 수도 있지만, 극도로 보안이 요구되는 응용분야에서는 단지 한번의 시도만 허용될 수도 있다는 것을 인식하여야 할 것이다. 올바른 로그인 이름과 패스워드가 세 번째 시도에 의해서도 입력되지 않으면, 상기 응용 프로그램은 시스템 정지(시스템이 정체해 있거나 무기한으로 루핑하게 됨)를 일으키게 되는데, 이것은 전체적인 콜드 부팅 프로세스가 반복되게끔 할 것이다.
저장매체(21)에 대하여 접속이 허용된 모든 사용자들에 대한 유효한 로그인 이름과 그와 관련된 패스워드들이 보안장치(35)의 플래시 ROM(41)에 저장된다. 따라서 신분확인 응용 프로그램의 제어 하에 호스트 CPU(13)와 112에 도시된 보안장치 CPU(37) 간의 다양한 통신행위가 이러한 로그인 과정 중에 진행된다.
만일 상기 로그인이 성공적이라면, 단계 113에 의해 표시되는 바와 같이, 신분확인 응용 프로그램은 나중에 더 상세히 기술될 방식으로 진행한다. 상기 보안장치(35)에 관하여 일단 사용자의 신분확인이 되고나면 플래시 ROM(41)에서 그 특정한 사용자에 대해 이전에 저장된 데이터 접속 프로필이 단계 114에서 설정되어 상기 신분확인 응용 프로그램과 보안장치의 오퍼레이팅 시스템 간의 동작 프로토콜을 정하도록 한다. 이러한 동작 단계의 중간에 보안장치 CPU(37)은 특정한 사용자의 데이터 접속 프로필의 세부사항을 표시할 호스트 CPU(13)에 전달한다. 사용자의 접속 레벨에 따라서, 상기 저장매체(21)에 대한 접속이 이루어지는 다른 사용자들의 데이터 접속 프로필 정보뿐만 아니라 가능한 로그인 및 패스워드 정보는 디스플레이 될 그리고 신분확인 응용 프로그램 하에서 편집이 가능한 호스트 CPU에 전달된다.
사용자가 단계 115에서 "부팅 허가(allow boot)" 과정을 불러올 때까지 이러한 동작 단계는 계속된다. 이러한 상태를 설정함으로써 단계 117에서 그의 동작의 제2단계에 상기 보안장치(35)가 들어가도록 한다. 이 단계에서 상기 보안장치 CPU(37)에 의해 작동되고 있는 오퍼레이팅 시스템은 단계 119에서 신분이 확인된 사용자의 데이터 접속 프로필을 설정하도록 보안장치(35)를 배열하는데, 이 프로필은 그 후에 상기한 보호된 데이터 저장매체(21)에 대한 호스트 CPU(13)의 접속을 결정하도록 적용된다.
그 다음으로 보안장치(37)의 오퍼레이팅 시스템은 단계 120에서 호스트 CPU (13)에 의해 작동된 신분확인 응용 프로그램에 신호를 보냄으로써 보안장치 버스 제어 및 인터페이스 로직(43)이 사용자의 데이터 접속 프로필을 채택하도록 배열되는데, 여기에서 단계 121에서 응용 프로그램은 "웜-부팅(warm boot)"을 초래하는 호스트 CPU(13)에 대해 소프트웨어 인터럽트 벡터를 보내 주게 된다. 적절한 소프트웨어 부팅 벡터가 그 다음에 로딩 되어 상기 호스트 CPU(13)은 단계 85에서 소프트 시스템 재시동(re-start) 또는 웜-부팅을 실행시킨다.
소프트웨어 리셋 도중에, 상기 보안장치(35)는 그 다음에 단계 125에 도시된 바와 같은 보호된 저장매체(21)와 호스트 CPU(13)와의 사이의 모든 데이터 통신을 위한 데이터 접속 프로필을 실행하는 동안에, 단계 123에 지시된 바와 같은 부트 섹터 리퀘스트를 위한 대기상태를 입력한다. 중요한 것은 컴퓨터 시스템(11)이 시스템 리셋을 진행하고 있는 중에 그의 보안장치(35)는 아직도 이 시간동안 액티브 상태로 완전히 동작가능하게 유지된다는 것이다.
소프트웨어 리셋 "웜-부팅"은 단축된 시동 시퀀스를 수행하는 BIOS 프로그램의 특별한 서브루틴의 동작을 일으킨다. 더욱이, 단계 51 내지 단계 63은 필수적으로 바이패스 되며, 상기한 BIOS 프로그램은 대략 단계 65에서의 동작으로 진행된다.
HDD에 관하여 상기한 "드라이브 ID"를 수반하는 장치 점검 과정을 작동시키는 단계 69에서 보안장치(35)의 오퍼레이팅 시스템은, 저장매체의 HDD에 대한 접속이 그의 동작의 제1단계 중에 보안장치(35)의 동작에 의해 설정된 특정한 사용자 데이터 프로필과 합치되는 한, 더 이상 호스트 CPU(13)으로부터 보호된 저장매체(21)로의 리퀘스트를 인터셉트하지는 않는다. 그러한 접속은 관리자가 HDD 접속으로부터 특별하게 신분이 확인된 사용자를 금지시키지 않았다면 대부분의 경우에 허용될 것이다.
따라서 보안장치(35)는 저장매체(21)의 HDD가 "드라이브 ID"와의 리퀘스트에 직접적으로 응답하도록 허용하는데, 여기서 호스트 CPU(13)은 BIOS의 정상적인 부팅 시퀀스에 따라서 단계 71 내지 81을 통해 BIOS 프로그램을 진행한다.
하나의 유효한 BIOS 부트 섹터 리퀘스트가 ATA 케이블 33을 경유해 호스트 CPU(13)으로부터 발견될 때까지 상기한 데이터 접속 프로필 실행 프로세스의 초기 부분은 보호된 저장매체(21)에 대한 접속을 차단하는 보안장치(35)의 오퍼레이팅 시스템을 수반한다는 것은 중요한 점이다. 한편 보안장치 CPU(37)는 단계 125 중에 보호된 저장매체에 대한 모든 다른 명령들을 거절한다.
상기한 보호된 저장매체(21)의 특정한 HDD로부터의 하나의 부트 섹터에 리퀘스트를 요구하는 바이오스(BIOS) 상에서 버스 제어 및 인터페이스 로직부(43)은 그 리퀘스트가 진행되는 것을 허용한다.
상기 저장매체로부터의 유효한 서명을 수신하는 BIOS 상에서 상기 호스트 CPU(13)는 그 다음 단계 81에서 저장매체(21)로부터 규정된 부트 섹터를 로딩 하도록 것을 진행하고 컴퓨터 시스템의 정상 동작에 따라서 단계 83에서 저장매체(21)로부터 오퍼레이팅 시스템을 로딩하기 위해 부트 로더(boot loader)의 작동을 진행한다.
상기한 저장매체(21) 상에 부트 섹터를 위한 유효한 바이오스 리퀘스트의 입력에 후속하여 상기 보안장치(35)는 ATA 케이블(33)을 따른 모든 매체 채널 행위의 모니터링 상태를 채택하고 단계 127에서 지시된 바와 같이 신분이 확인된 사용자의 설정된 데이터 접속 프로필에 따른 보안장치의 버스 제어 및 인터페이스 로직부(43)을 배열하게 된다. 따라서 보안장치(35)는 단지 설정된 사용자 데이터 접속 프로필과 일치하여 저장매체(21) 내의 적절한 파티션들 그리고 파일들에 대한 접속을 허용하거나 불허하게 되는 바, 그에 의해서 접속이 허용되지 않는 사용자의 데이터는 해당 사용자에 의해 또는 어떠한 바이러스에 의해, 또는 잘못된 응용 프로그램 또는 비인가(unauthorized) 접속에 의해서는 접속이 이루어질 수가 없다.
상기한 보안장치(35)는 컴퓨터 시스템(11)이 작동이 중단되거나 또는 전원이 내려질 때까지 이러한 모니터링 또는 감독 상태를 유지한다. 일단 보안장치에 대한 전원이 내려지면 모든 다이내믹 메모리가 소거되고 상기 장치가 다시 전원이 인가되어 초기화 될 때 까지 저장매체에 대한 접속이 금지된다.
이제 상기한 보안장치(35)의 전반적인 동작관계를 다 기술하였는바, 신분확인 응용 프로그램은 도 6에 도시된 흐름도와 도 7A 내지 7E에 도시된 GUI(Graphic User Interface) 스크린 그래픽 사양의 포맷들에 관하여 더 상세히 설명될 것이다.
단계 111에서 호스트 CPU에 의해 동작되고 단계 109에서 부트 로더에 의해 로딩 되어 있는 상기한 사용자 신분확인 응용 프로그램은 단계 130에서 시작하여 단계 131에서 사용자 로그인 스크린이 초기에 디스플레이 되도록 하는데, 그것을 위한 그래픽 사양들은 도 7A에서 도시된다. 스크린(132)은 헤딩 프레임(133), 로그인 프레임(135) 및 메시지/로그 프레임(137)으로 분할된다.
헤딩 프레임(133)은 139에서 제품의 상표(trademark)에 대한 규정을, 143에서는 스크린 이름을, 그리고 145에서는 법률적 경고문의 디스플레이를 위한 규정을 갖는다.
로그인 프레임(135)은 147에서 텍스트 "user:"를 위한 배너(banner)를 149에서는 텍스트 "패스워드"를 위한 배너를 구비하고, 프레임들은 사용자 ID를 각각 입력하거나 또는 151에서 "사용자 ID", 그리고 153에서 "사용자 패스워드"를 위한 배너를 구비한다. 메시지/로그 프레임은 157에서 텍스트 "메시지들"을 표시하기 위한 배너와 메시지 프레임(159)을 포함하는데, 이것은 스크롤(scroll)이 가능한 리스트로서 신분확인 응용 프로그램에 대해 보안장치에 의해 발행된 상태 메시지를 디스플레이 한다. 로그인 버튼(155)은 또한 사용자가 보안장치에 의한 신분확인의 목적을 위해 사용자 및 패스워드 입력의 처리를 실행하도록 하기 위해 제공된다.
상기한 스크린(132)이 디스플레이 되는 동안 상기 응용 프로그램은 단계 160에서 도시된 바와 같이 로그인 ID와 패스워드가 입력되기를 기다린다. 로그인 버튼(155)을 활성화하는 것은 호스트 CPU(13)이 스크린 상에서 입력된 로그인 세부사항을 보안장치(35)에 전달하도록 하는 단계 161에서의 하나의 프로세스를 불러일으키는 신분확인용 응용 프로그램을 수반하며, 여기서 보안장치의 오퍼레이팅 시스템은 보안장치 CPU(37)가 플래시 ROM(41)에 제공된 저장된 로그인 정보와 입력된 로그인 정보를 비교하도록 한다. 저장된 사용자 및 패스워드 정보와 로그인 스크린을 통한 입력된 사용자 및 패스워드 정보 간에 유효한 짝(match)이 있는지에 따라서 상기한 보안장치 CPU(37)는 호스트 CPU(13)에 유효한 또는 효력이 없는 신분확인 신호를 되돌려 준다.
단계 162에 도시된 유효한 신분확인에 해당하는 경우에는 CPU(37)은 또한 특정 사용자에 대해 저장된 데이터 접속 프로필에 의거하여 사용자 타입 및 그와 관련된 장치 정보에 관한 부가적인 정보를 제공한다.
유효하지 않은 신분확인에 해당하는 경우에는 첫 번째의 신분확인 시도가 성공적으로 수행되지 못하였다는 것을 기록하기 위하여 카운터가 증가/감소되며, 메시지/로그 프레임(137) 상의 사용자에게 적절한 메시지가 디스플레이 되는 바, 단계 163에서 도시된 바와 같이 신분확인 시도의 실패한 상태를 나타낸다. 전술한 바와 같이, 단계 164에 도시된 것과 같은 신분확인 시도의 세 번의 실패시기에는 상기 신분확인 응용 프로그램은 정지(shutdown) 인터럽트 벡터가 165에서 호스트 CPU(13)에 의해 동작이 시작되도록 함으로써 시스템을 다시 시작하기 위하여 콜드부팅(cold booting)을 필요로 하는 컴퓨터 시스템(11)의 완전한 정지(shutdown)를 초래한다.
유효한 신분확인 시에는 상기 신분확인 응용 프로그램은 사용자의 타입에 따라서 로그인 스크린의 주 종류 중의 하나를 디스플레이 하는 과정으로 단계 166에서 진행한다. 본 실시예에서는 두 가지의 사용자 타입이 있는데, 그 중 하나는 도 7B에서의 그래픽 사양(specification)에 의해 도시된 바와 같은 스크린이 단계 167에서 디스플레이 되는 정상적인 사용자이고, 다른 하나는 7C에서의 그래픽 사양에 의해 표현된 바와 같은 스크린이 단계 168에서 디스플레이 되는 관리자(administrator)인 경우이다.
정상적인 사용자 GUI 스크린 169에 대한 그래픽 사양은 일반적으로 헤딩 프레임(170), 로그인 세부사항 프레임(171), 장치 세부사항 프레임(172) 및 메시지/로그 프레임(173)으로 나뉘어 진다. 스크린은 또한 나중에 기술될 시스템 시작(launch system) 버튼(174)을 포함한다.
상기한 헤딩 프레임(170)은 일반적인 로그인 스크린을 위한 헤딩 프레임(133)과 필연적으로 동일한데, 여기서 동일한 참조기호는 프레임의 해당하는 속성(attributes)들을 확인하기 위해 사용되었다. 그러나 이 경우에 도면 중의 143에 도시된 바와 같이 스크린 타이틀은 그것이 사용자 타입의 로그인 스크린이라는 것을 나타내도록 변경된다.
상기한 로그인 세부사항 프레임(171)은 이전 스크린의 로그인 프레임(147)과 유사한데, 따라서 프레임의 해당하는 속성들을 식별하기 위해 동일한 참조기호가 사용되었다. 그러나 로그인 세부사항 프레임은 이전의 스크린에 있는 엔트리 프레임과는 반대로 사용자 ID를 디스플레이하기 위한 사용자 ID 디스플레이 프레임을 포함한다. 상기 로그인 세부사항 프레임은 또한 새로운 패스워드 입력 버튼(176)을 포함하는데, 이것은 패스워드 입력 프레임(153)과 결합하여 사용자가 그의 패스워드를 변경하도록 허용하기 위해 사용된다. 따라서 상기한 새로운 패스워드 버튼(176)을 활성화하는 것은 177에 도시된 특정한 사용자를 위한 보안장치의 플래시 ROM(41) 내에 저장된 패스워드에 대한 변화를 야기하도록 상기 호스트 CPU(13)와 보안장치 CPU(37) 간의 통신행위를 수반하면서 상기 신분확인 응용 프로그램 내에서 하나의 프로세스를 불러일으킨다. 새로운 패스워드의 확인과정을 수반하는 표준 작업루틴이 패스워드에 대한 변경이 완료되기 전에 채택된다.
상기한 장치 세부사항 프레임(172)은 단계 179에서 "마스터(master)"를 그리고 181에서 "슬레이브(slave)"를 디스플레이 하는 두개의 추가적인 서브-배너(sub-banner)들 뿐만 아니라 "장치 정보"라는 문구를 디스플레이 하는 타이틀 배너 178을 포함한다. 이러한 서브-배너들은 보안장치(35)에 의해 보호되는 소정의 장치 또는 장치들에 대한 정보를 디스플레이 하기 위한 영역들의 선두에 선다. 본 실시예에 있어서, ATA 표준 하에서 통상적인 두 개까지의 저장장치가 허용되는데, 그 중 하나는 "마스터" 장치로 명명되고 반면에 다른 하나는 "슬레이브" 장치로 명명된다. 상기한 장치 정보의 세부사항을 정의하는 각각의 영역은 183에서 "장치(device)"라는 문구를, 185에서 "접속(access)"이라는 문구를 그리고 187에서는 "size MB"라는 문구를 디스플레이 하기 위한 세 개의 부가적인 서브-레벨 배너들을 포함한다. 각각의 서브-배너를 위한 디스플레이 프레임들 189는, 관리자에 의해 설정되는 바와 같이, 사용자가 마스터 및/또는 슬레이브 장치 상에서 진술하도록 허용되는 장치의 세부사항(device details)을 열거하기 위한 장치, 접속 및 사이즈 배너(banner)들 아래에 각각 제공된다.
각각의 진술 가능한 장치에 대하여 디스플레이 되는 리스트는 다음과 같다:
- 장치의 번호;
- 사용자에 대한 접속 종류(타입); 및
- 장치의 MB 사이즈 (Mega-Byte 단위로).
그리고 상기한 접속 종류는 다음의 다섯 개의 가능한 표시들 중의 하나를 열거하면 다음과 같다:
- 읽기 전용(read only), 적색 텍스트로 표시됨;
- 읽기/쓰기, 녹색 텍스트로 표시됨;
- 숨겨짐(invisible), 노랑색 텍스트로 표시됨;
- 디렉토리 입력 읽기, 회색 텍스트로 표시됨; 그리고
- 삭제(delete), 청색 텍스트로 표시됨.
상기한 메시지/로그 프레임(173)은 "메시지"라는 텍스트와 디스플레이 프레임(159)을 표시하기 위한 타이틀 배너(title banner) 157을 포함하는데, 이것은 이전의 스크린과 마찬가지로 스크롤이 가능한 리스트로서 보안장치에 의해 제공된 상태 메시지들을 디스플레이 한다.
사용자의 경우에는 장치 정보는 디스플레이 목적으로만 단지 제공되며 변경될 수는 없다.
이제 본 실시예에 있어서 디스플레이 프레임들(189)에 포함된 리스트들 이면의 방법론과 그에 의해 제공되는 작용을 더 상세히 설명하면, 보호된 저장장치는 컴퓨터 시스템(11)의 관리자의 결정에 따라서 상이한 접속 허용 레벨들을 갖는 구획(partition)들로 분할된다. 이러한 파티션들은 공지의 방법으로 생성될 수 있으며 각각의 저장장치의 종류에 대하여 개별적인 장치들로 표현된다. 전술한 바와 같이, 본 실시예에서는, 이러한 파티션들은 C:, D:, E: F:를 포함할 수도 있다. 그리하여 각 사용자는 이러한 파티션들, 즉 읽기전용, 읽기/쓰기, 숨겨짐, 읽기 디렉토리 입력 및 삭제에 대한 다섯 종류의 접속 중의 하나를 가질 수 있다.
"읽기전용(read only)" 접속은 사용자가 지정된 파티션에 존재하는 파일들 모두에 접속할 수는 있지만 그 파일 내용들을 단지 읽기만 하는 것을 의미한다. 사용자는 그러한 파티션에 있는 파일들에 관해서는 어떠한 쓰기나 삭제를 할 권한을 갖지 않는다.
"읽기/쓰기(read/write)" 접속에서는 사용자가 지정된 파티션에 존재하는 파일들 모두에 접속할 수 있고 또한 그 파일 내용들에 관하여 읽기 및 쓰기 기능을 수행할 수는 있지만, 해당 파일들에 관해서는 삭제를 할 어떠한 권한을 갖지는 않는다.
"숨겨짐(invisible)" 접속은 지정된 파티션 내에 있는 파일들 중의 어느 것도 사용자에게 어떠한 형태로든 접속이 불가능하고 또한 사용자에게 이용 가능한 해당 파티션에 대한 파일들의 디렉토리 리스트에 있어서 어떠한 파일의 세부사항도 열거되지 않거나 볼 수 없을 정도로 숨겨져 있음을 의미한다.
"읽기 디렉토리 입력(read directory entry)" 접속은 사용자가 지정된 파티션의 파일들의 어떠한 디렉토리 리스트에 있는 명칭과 속성 등과 같은 파일 세부사항들을 열거할 수도 있지만 사용자는 해당 파티션에 있는 파일들 중의 어떤 것에 관하여도 읽기, 쓰기 또는 삭제와 같은 권한을 갖지 않는다는 것을 의미한다.
"삭제(delete)" 접속은 지정된 파티션 내에서의 어떠한 파일들에 대해서도 가장 높은 레벨의 접속에 해당하는데, 그에 의해서 사용자는 읽기 및 쓰기 권한을 완벽하게 가질 뿐만 아니라 해당 파티션에 있는 모든 파일들에 관하여 삭제하는 권한도 또한 갖는다.
상기 사용자가 컴퓨터 시스템(11)의 동작과 함께 계속할 준비가 되어 있을 때 시작 시스템 버튼(174)이 190에 도시된 바와 같이 활성화되어, 상기한 신분확인 응용 프로그램은 보안장치(35)에 신호를 보내어 단계 191에 의한 것과 같이 거기에 "부팅 허용(allow boot)" 상태를 설정한다. 상기한 바와 같이 "부팅 허용(allow boot)" 상태를 설정하는 과정은 단계 117에서 도시된 바와 같이 보안장치(35)의 제2단계 동작의 개시를 유발함으로써 시스템 시동 시퀀스가 전술한 바와 같은 방식으로 단계 120과 같이 "웜-부팅(warm boot)" 인터럽트 벡터를 제공하는 신분확인 응용 프로그램 과정을 계속하도록 해준다. 이것은 사용자의 신분확인 응용 프로그램의 동작을 정지하게 한다.
사용자의 타입이 관리자인 경우에는 도 7C에 도시된 그래픽 사양에 의해 표현된 바와 같은 관리자용 스크린이 단계 168에서 전술한 사용자 신분확인 응용 프로그램을 통해 모니터 상에 사용자에게 디스플레이 된다. 관리자 타입 스크린(192)은 실질적으로 사용자 타입의 스크린에 유사하고 이에 따라 두 개의 스크린들 사이에서 해당 속성들을 식별하기 위해 동일한 참조기호들이 사용되었다. 따라서 관리자용 타입의 스크린은 유사한 헤딩 프레임(193), 로그인 세부사항(195), 장치 세부사항 프레임(197) 및 메시지/로그 프레임(199)으로 나뉘어 진다.
헤딩 프레임(193)의 배너 타이틀(143)에 관하여 텍스트는 스크린이 관리자용 타입의 로그인을 위한 것임을 지시하기 위해 변경된다.
상기한 장치 세부사항 프레임(197) 및 메시지/로그 프레임(199)은 실질적으로 사용자 타입의 스크린의 해당하는 속성들에 동일하고 나중에 더 기술될 것이다. 시작 시스템 버튼(174)은 이전의 스크린의 시작 시스템 버튼과 동일한 방식으로 작동하는데, 그에 의해 200에 도시된 바와 같은 활성화 과정은 전술한 보안장치(35)의 제2단계 동작의 시작을 유발하게 된다.
상기한 로그인 세부사항 프레임(195)과 함께 관리자의 패스워드를 변경하기 위한 동일한 시스템이 유사한 입력 프레임(153)으로써 단계 201에 도시된 바와 같이 제공되며 사용자 타입의 로그인의 경우에서와 같이 새로운 패스워드 버튼(176)을 접수한다. 그러나 상기 로그인 세부사항 프레임은 또한 편집 모드 사용자 버튼(202)을 포함하는데, 그것의 활성화는 단계 203에서 도시된 바와 같은 신분확인 응용 프로그램 내에서 편집과정을 유발하게 되어 관리자가 각각의 사용자들에 대한 데이터 접속 프로필들을 생성하고 편집하는 것을 가능케 해줌으로써 저장매체(21)에 대해 허가된 접속을 위한 그들의 데이터 접속 프로필을 결정하도록 한다. 상기한 버튼(201)의 활성화는 신분확인 응용 프로그램이 단계 204에서 관리자 편집 스크린을 사용자에게 디스플레이 하는 것을 가능케 하는데, 그것의 그래픽 사양은 도면 제7D도에 도시된다.
관리자용 사용자 편집 스크린(205)은 헤딩 프레임(206), 편집용 사용자 세부사항 프레임(207), 메시지/로그 프레임(209) 및 어드민으로의 복귀(return to admin) 로그인 버튼(211)으로 나뉘어져 있다. 상기 스크린을 관리자 편집용 사용자 스크린으로서 나타내는 적절하게 표현된 타이틀 배너(143)를 별도로 하고 상기한 헤딩 프레임(206)은 이전의 헤딩 프레임과 동일하다. 마찬가지로, 메시지/로그 프레임(209)은 이전의 스크린들로써의 메시지/로그 프레임과 실질적으로 동일하다. 이리하여 동일한 참조기호들이 이러한 스크린들 각각의 해당하는 속성들을 식별하기 위해 사용되었다.
편집 사용자(edit user)용 세부사항 프레임(207)에 관하여 이것은 단계 213에서 도시된 바와 같이 "사용자 리스트"라는 텍스트를 나타내는 타이틀 배너를 그리고 단계 215에서 "사용자", 단계 217에서 "패스워드", 그리고 단계 219에서 "접속"이라는 텍스트들을 나타내는 서브-타이틀(sub-title)을 포함한다. 보호된 저장매체(21)에 대해 접속이 가능한 모든 사용자들의 리스트가 스크롤 가능하게 그리고 편집이 또한 가능하게 디스플레이 되어 있는 서브-배너의 하부에는 편집 가능한 프레임(221)이 제공된다. 이 리스트는 상기한 신분확인 응용 프로그램의 제어 하의 호스트 CPU(13)과 그의 오퍼레이팅 시스템의 제어 하의 보안장치 CPU(37)과의 사이의 통신작용으로부터 일어나는 저장장치의 플래시 ROM(41) 내에 저장된 데이터로부터 도출된다.
리스트에서 각각의 사용자 입력항목은 다음 사항을 포함하는데, 각각의 서브-타이틀 배너 215, 217 및 219 하에서:
- 사용자 ID;
- 패스워드; 및
- 접속 버튼.
특정한 사용자를 위한 접속 버튼을 누를 때 그 사용자에 대한 접속 편집용 스크린이 나타날 것이다. 관리자 편집용 프로세스는 그것의 입력을 선택하여 키보드 상에서 "ALT-d" 키를 누름으로써 편집 프레임(221)을 통해 관리자에 의해 사용자가 삭제되는 것을 가능케 한다.
신규 사용자 생성용(create new user) 버튼(223)이 또한 새로운 사용자를 생성하기 위한 편집모드 사용자 세부사항 프레임(207) 내에 포함된다. 상기 버튼(223)의 활성화는 단계 224에서 도시된 바와 같은 신분확인 응용 프로그램 내에서 소정의 프로세스를 일으킨다. 이것은 사용자 ID 및 패스워드 그리고 접수 버튼을 입력하기 위한 프레임들을 제공하는 관리자 편집용 사용자 스크린(205) 상으로 대화 상자가 디스플레이 되도록 하는데, 여기서 그의 활성화 과정은 단계 225에서 도시된 바와 같은 편집 프레임 221에서 사용자 및 패스워드가 디스플레이 되도록 한다. 각각의 새로운 사용자는 초기에 정의된 디폴트(default) 데이터 접속 프로필을 갖는데, 그것은 관리자가 접속 편집 스크린을 사용하는 사용자에 대한 데이터 접속 프로필을 편집하는 것과 같은 그러한 시간까지 모든 파티션 장치들을 숨겨진 장치로 설정하게끔 한다. 상기 관리자는 편집모드 프레임(221)에서의 편집을 필요로 하는 사용자에 대하여 226에서 도시된 해당하는 접속 버튼을 활성화함으로써 이 스크린을 평가한다.
상기한 리턴-투-어드민(관리자로의 복귀용) 로그인 버튼(211)은 227에 도시된 바와 같이 관리자 편집모드 사용자 스크린(205)으로부터 관리자 타입 로그인 스크린(191)으로 관리자가 복귀하는 것을 가능하게 하기 위해 제공된다.
편집모드 사용자 세부사항 프레임(207)의 사용자 리스트에 열거된 어떤 사용자와 함께 서브-타이틀 배너(219) 하부의 접속 버튼을 활성화하는 것은 도면 7E도에 도시된 그래픽 사양을 구비한 관리자 접속 편집용 스크린을 상기한 신분확인 응용 프로그램이 단계 228에서 디스플레이 하도록 해준다. 관리자 접속 편집용 스크린(229)은 헤딩 프레임(230)과 편집모드 접속 세부항목 프레임(231), 메시지/로그 프레임(232) 및 리턴-투-어드민 사용자 텍스트 편집용 스크린 버튼(233)으로 나뉘어 진다.
상기 헤딩 프레임(230)은 해당 스크린이 235에서 도시된 바와 같은 관리자 접속 편집모드 타입이라는 것을 식별하기 위해 적절한 텍스트가 타이틀 배너에 제공된다는 점을 제외하고는 이전의 스크린들에 있는 것과 동일하다. 상기한 메시지/로그 프레임(232)은 이전의 스크린들에 있는 것과 동일하고 이에 따라서 스크린들 간의 해당하는 속성들을 확인하기 위해 동일한 참조기호가 사용되었다.
편집용 접속 세부사항 프레임(231)은 "접속 세부사항(access details)"이라는 텍스트를 디스플레이 하는 헤드 배너(235)와, "사용자"라는 텍스트를 함유하는 서브-배너(237)과, 그리고 상기한 관리자 편집용 사용자 스크린(205)으로부터 선택된 특정한 사용자의 사용자 ID를 표시하기 위한 그에 인접한 디스플레이 프레임(239)을 포함한다.
그 다음, 편집용 접속 세부사항 프레임(229)은 사용자 타입 로그인 스크린(169)과 관리자 타입 로그인 스크린(192)의 장치 프레임들에 대해 설정된 유사한 프레임을 제공하며, 그렇게 함으로써 179와 181에 제공된 상기 보안장치(35)에 의해 보호된 "마스터" 및 "슬레이브" 저장매체를 위한 배너들과 그리고 "장치", "접속" 및 "사이즈(MB)" 타이틀의 세부사항들을 정의하는 각각의 서브-타이틀 배너들 183, 185 및 187이 각 장치에 대해 제공된다.
사용자 로그인 및 관리자 로그인 스크린들의 장치 세부사항 프레임들(172 및 197)의 디스플레이 프레임들(189)에 유사한 이들 서브-타이틀 배너들 각각의 아래에 장치 세부사항 프레임들(239)이 제공된다. 그러나 상기 장치 세부사항 프레임들(239)은 편집이 가능하지만, 반면에 이전의 두 프레임들은 그렇지 않았다. 따라서 각각의 장치 세부사항 프레임들은 서브-타이틀 배너(183) 하에 장치번호를, 서브-타이틀 배너(185) 하에 사용자를 위한 접속 타입을, 그리고 사이즈(MB) 서브-타이틀 배너(187) 하에는 장치 사이즈(MB 단위로)를 열거하게 된다.
사용자를 위한 접속 타입은 다음과 같이 다섯 종류로 나뉘어 진다.
- 읽기 전용(read only), 적색 텍스트로 표시됨;
- 읽기/쓰기, 녹색 텍스트로 표시됨;
- 숨겨짐(invisible), 노랑색 텍스트로 표시됨;
- 읽기 디렉토리 입력, 회색 텍스트로 표시됨; 그리고
- 삭제(delete), 청색 텍스트로 표시됨.
전술한 경우와 마찬가지로 장치번호는 특정한 저장매체 장치에 대해 생성되는 각각의 파티션들을 나타낸다. 이것은 사이즈 정보와 함께 단지 디스플레이용이며, 보안장치의 플래시 ROM(41) 내에 저장된 특정한 파티션에 대해 규정된 정보에 의해 결정되는 바, 반면에 접속 타입은 디스플레이 된 입력을 하이라이트 형태로 강조하여 빤짝이게 함으로써 편집이 가능하게 된다. 이러한 관점에서 디스플레이 된 입력들은 읽기 전용, 읽기/쓰기, 숨겨짐, 읽기 디렉토리 입력 및 삭제 사이에서 표시된 텍스트 주위의 눈에 보이지 않는 프레임을 클릭함에 의해 그래픽 상의 사용자 인터페이스를 통해 반복된다.
이러한 방법으로 각 파티션에 대한 접속 타입은 선택된 사용자에 대한 특정한 데이터 접속 프로필을 생성하도록 개별적으로 설정되고 편집될 수 있다. 사용자에 대해 생성된 특정한 데이터 접속 프로필은 신분확인 응용 프로그램에 의해 처리되어 단계 241에 도시된 바와 같이 상기한 리턴-투-어드민(return-to-admin) 사용자 편집용 스크린 버튼(233)을 활성화할 시에 보안장치(35)에 제공된다. 이 때 관리자에 의해 결정되는 상기 디스플레이 데이터 접속 프로필은 호스트 CPU(13)에 의해 보안장치 CPU(35)로 전달되어 보안장치 플래시 ROM(41) 내에 저장된다. 이 단계에서 관리자는 컴퓨터(11)의 오퍼레이팅 시스템이 저장되는 보안 파티션에 대해 읽기 접속만을 허용하도록 사용자 프로필을 구성하며, 이로써 비인가 변경이나 파괴로부터 오퍼레이팅 시스템을 보호하게 된다.
이와 동시에 상기 신분확인(authentication) 응용 프로그램은 관리자가 그로부터 편집 리스트(207)에 있는 다른 사용자들의 데이터 접속 프로필을 선택하고 편집할 수 있는 관리자 편집용 사용자 스크린(205)을 디스플레이 하는 과정으로 복귀한다.
전술한 방식으로 HDD(21)는 컴퓨터(11)의 오퍼레이팅 시스템이 관리자에 의해 정의된 보안 파티션에 저장되도록 구성된다. 상기 보안 파티션은 최소한 보통의 사용자가 거기에 있는 오퍼레이팅 시스템 파일들 중의 어떤 것에 관련하여 어떠한 읽기 또는 삭제 허가도 갖지 않도록 관리자에 의해 구성된다. 이것은 인가되지 않은 변경 또는 파괴로부터 컴퓨터(11)의 오퍼레이팅 시스템을 보호한다. 컴퓨터의 오퍼레이팅시스템을 위한 최적의 보호는 보통의 사용자에게는 보이지 않도록 HDD(21)의 보안 파티션을 구성함으로써 제공될 수가 있다.
HDD(21)의 보안 파티션은 컴퓨터 시스템(11)의 관리자가 그 파티션에 있는 오퍼레이팅 시스템 파일들 중의 어떤 것에 선택적으로 쓰기를 하거나 삭제를 할 수 있도록 또한 구성된다. 이것은 오퍼레이팅 시스템의 유연한 관리적 변경 및/또는 업그레이드(upgrading)를 도와준다.
정상적인 동작 중에 오퍼레이팅 시스템이 읽기만 가능한(read only) 보안 파티션 내에 함유된 시스템 파일들을 업데이트 하기를 원할 때가 있을 것이다. 만일 쓰기(write)가 이러한 파티션에 단순히 허용되지 않는다면, 상기 오퍼레이팅 시스템은 정확하게 동작하지 않을 것이다. 따라서 보안 장치의 응용 프로그램은 읽기 전용(read only) 파티션 대신에 플래시 ROM(41)의 메모리의 일부에 버스 제어 및 인터페이스 로직(43)에 의해 인터셉트 된 모든 쓰기(write)들을 방향전환 하도록 설계된다. 이러한 방식으로 컴퓨터는 필요한 파일들을 업데이트 한 것으로 생각하고 정상적인 동작을 계속한다. 따라서 플래시 ROM(41)의 일부는 스크래치패드(scratchpad) 메모리로서 이용되고 매번 오버라이트(overwritten) 된다.
이러한 사건(occurrence)의 예는 다음과 같다:
- 정상 동작 중, 사용자는 데스크톱 디스플레이 속성(desktop like display attributes), 데스크톱 주제(desktop theme), 배경 색 등에 대한 변경을 한다.
- 오퍼레이팅 시스템(OS)이 상기한 변화를 수행한다.
- 그 다음 OS는 HDD에 대한 변화를 저장하여 새로운 변화를 시동(startup) 시의 디폴트(default) 값으로 만든다.
- 만일 HDD에 대한 쓰기(write)가 허용되지 않는다면 OS는 정상적으로 동작을 멈춘다.
- 따라서 SDV는 오퍼레이팅 시스템의 읽기전용 보안 파티션 대신에 플래시 ROM의 스크래치패드 영역으로 모든 쓰기(write)를 돌리도록 한다.
- 이러한 방법으로 OS는 상기한 변화를 수행하고 그것이 시스템 파일들을 업데이트 하였다고 생각하고 정상 동작을 계속한다.
- 사용자가 수행했던 변화는 컴퓨터가 꺼질 때까지 유효하다.
- 파워를 켤 때 원래의 OS 구성이 로드 된다.
요약하면 다음과 같다:
- 사용자는 예를 들면 데스크톱 배경 색을 변경한다.
- 배경 색이 변화한다.
- OS는 HDD에 쓰기를 함으로써 시스템 파일들의 업데이트를 시도한다.
- 시스템 파일들은 읽기전용 OS 보안 파티션에 존재한다.
- 보안 장치는 시스템 파일 쓰기를 플래시 ROM의 스크래치패드 영역으로 돌린다.
- 시스템은 유효한 색 변경으로써 지속된다.
- 사용자는 컴퓨터를 끈다.
- 컴퓨터가 꺼질 때 OS는 읽기전용 OS 보안 파티션으로부터 로드된다.
- 원래의 OS 시스템 파일들이 로드된다.
- 배경 색은 사용자가 그것을 바꾸기 전에는 원래의 색깔이다.
본 발명의 바람직한 제2 실시예는 그것이 한 종류의 보안 시스템을 지향하고 있다는 것을 제외하고는 전술한 실시예와 실질적으로 유사하지만, 여기서는 메인 CPU 버스(15)를 읽기/쓰기 가능한 저장장치(21)에 연결된 ATA 케이블에 의해 제공되는 데이터 접속 채널(33)과 인터페이스 하는 버스 브리지 회로에 상기 보안장치가 집적된다. 이러한 종류의 보안 시스템은 국제출원번호 제PCT/AU2004/000210호에 개시되어 있으며, 그 내용은 본 출원에 참조로 포함된다.
상기한 제2 실시예를 기술하기 위하여 이하 도 8 및 도 9를 특히 참조하여 설명한다.
도 8에 도시된 바와 같이, 컴퓨터 시스템(11)에는 본 실시예의 보안장치가 집적되는데, 이것은 도 1에 도시된 것에 대하여 대안적이지만 대체적으로 동등한 구조를 갖는다. 더욱이, 도 8에 도시된 바와 같은 컴퓨터 시스템의 구조는 적절한 브리지 회로들을 통해 메인 CPU 버스(15)와 인터페이스 되는 다수의 버스들을 포함한다. 상기 버스들은 PCI 버스(306)와 다수의 주변 버스들을 포함한다. 이 주변 버스들은 ISA 버스(302)와 IDE 버스(또는 ATA 케이블)(33)를 구비한다.
상기 CPU 버스(15)는 호스트 CPU(13)를 CPU/PCI 브리지 회로 또는 노스 브리지(north bridge)(304)에 연결한다. 상기 노스 브리지(304)는 CPU 버스(15)와 PCI 버스(306) 사이의 브리지를 제공하는 하나의 주문형 반도체(ASIC)이다. 이 노스 브리지(304)는 또한 호스트 CPU(13), 시스템 메모리(308) 및 AGP(가속형 그래픽 포트: Accelerated Graphic Port)(310) 간의 통신을 제어하는 것과 같은 시스템 기능들을 집적하고 있다.
상기한 노스 브리지(304)에 유사하게, 사우스 브리지(south bridge)(312)의 브리지 회로가 ASIC 회로로서 제공되어 PCI 버스(306), ISA 버스(302) 및 IDE 버스(33) 간의 브리지를 제공하도록 한다. 상기한 사우스 브리지(312)는 또한 카운터 및 활동성(activity) 타이머, 파워 관리, 그리고 PCI 버스(306), ISA 버스(302) 및 IDE 버스(33) 상의 장치들 간의 통신을 처리하기 위한 여러 가지 인터페이스 또는 컨트롤러들과 같은 다양한 시스템 기능들을 집적하고 있다. HDD 저장장치(21)는 IDE 버스(33)에 연결된다. 다른 저장 매체들은 주변 버스들을 통해 사우스 브리지(312)에 유사하게 연결될 수도 있다.
도 9는 사우스 브리지(312) 내에서 상기한 보안 시스템(332)의 현재의 집적(integration)과 IDE 버스(33)를 통한 HDD(21)과의 접속연결을 더 상세히 나타내는 개략적인 블록도이다. 사우스 브리지(312)는 그것의 통상적인 버스 브리지 구성을 위한 로직과 아울러 PCI 인터페이스(314), IDE 인터페이스(31), USB(Universal Serial Bus) 인터페이스(316), ISA 인터페이스(318), 파워 관리 로직(320), 키보드/마우스 컨트롤러(322) 및 타이머 로직(324)을 포함하는 시스템 기능들을 포함한다. 상기 사우스 브리지(312)는 또한 다른 잡다한 시스템 기증들을 위한 로직부를 구비할 수도 있다.
상기 사우스 브리지(312)는 또한 보안 로직(326) 및 RAM(328)을 포함한다. 보안 로직(326)은 도 1에 도시된 국제출원공개 제WO 03/003242호의 보안장치(35)의 버스 제어 및 인터페이스 로직(43) 및 CPU(37)에 기능적으로 동등하다. 다음에서 더 상세하게 기술되듯이, 상기 보안 로직(326)은 호스트 CPU(13)와 보호된 HDD(21) 간의 접속을 선택적으로 안전하게 할 수 있다.
국제출원공개 제WO 03/003242호의 보안장치(35)에 유사하게, 상기 보안 로직(326)은 시동시 RAM(328)에 로드되어 그 보안 로직(326)을 위한 오퍼레이팅 시스템이 되는 소정의 응용 프로그램에 따라서 동작하게 된다. 상기한 소정의 응용 프로그램은 지정된 관리자에 의해 단지 접속될 수가 있고 사용자에게는 보이지 않는 보호된 HDD(21) 그 자체에 있는 하나의 파티션(330)에 저장된다. 안전한 보이지 않는 HDD 파티션(330)은 아래에 더 상세히 기술된다. 다른 방법으로서는, 상기 응용 프로그램은 사우스 브리지(312) 그 자체 또는 사우스 브리지(312)에 연결된 분리된 안전한 메모리(미도시)에 저장될 수 있다. 안전한 보이지 않는 HDD 파티션(330)에 저장된 응용 프로그램의 기능은 전술한 실시예에 대하여 기술된 것과 실질적으로 동일하다.
사우스 브리지(312)의 보안 로직을 위한 보이지 않는 HDD에 저장된 응용 프로그램은 컴퓨터 시스템의 부팅 과정을 인터셉트 및 제어하고 또한 보호된 저장 매체에 대한 접속이 허용되기 전에 로그인 ID와 패스워드에 의한 신분확인을 제공하도록 전반적으로 설계된다. 따라서 호스트 CPU(13)와 저장매체(21) 사이의 사우스 브리지(312)에 있는 보안 로직(326)의 위치는 그것이 상기한 보호된 저장 매체(21)에 그리고 그로부터 입출력되는 정보와 데이터에 대한 모든 요구(request)들을 선택적으로 필터링 할 수 있도록 특히 설계된다. 상기 보안 로직(326)은 관리자 프로필을 갖는 사용자에 의해 설정된 소정의 사용자 프로필에 기초하여 저장 매체(21)에 대한 이러한 요구들을 적절한 것으로서 전송하게 되며, 여기서 상기 프로필은 보이지 않는 HDD 파티션(330) 내에 저장된다. 이러한 프로필들은 보호된 저장 매체(21) 내의 다른 파티션 및/또는 파일들에 대한 접속에 의거한다. 그리하여 지정된 관리자는 이전의 실시예에 관하여 설명하였던 방식으로 파티션별로 및/또는 파일별로 데이터 보호를 설정할 수가 있게 된다. 응용 프로그램과 마찬가지로, 사용자 프로필들은 사우스 브리지(312) 그 자체 또는 상기 사우스 브리지(312)에 연결된 분리된 안전한 메모리에 선택적으로 저장될 수도 있다.
본 실시예에 따른 보안 시스템은 다르게 설계될 수도 있지만 전술한 실시예의 동작과 실질적으로 동일한 방식으로 동작되므로 특정한 세부사항에 있어서는 설명이 생략될 것이다. 따라서 본 실시예의 보안 시스템(332)의 경우에는 사우스 브리지(312)의 보안 로직(326)은, 선행하는 실시예의 경우와 마찬가지로, BIOS의 동작 중의 초기단계에서 부팅 과정을 인터셉트함으로써 보호된 저장매체(21)에 대한 호스트 CPU(13)의 모든 접속을 차단하도록 프로그램 된다. 또한 사우스 브리지(312)의 보호 로직(312)은 호스트 CPU(13)의 RAM(308)에 로드될 커스텀 부트 섹터를 제공하며, 이것은 그 다음으로 상기한 제1 실시예와 마찬가지 방식으로 컴퓨터 시스템이 그것의 정상적인 부트 섹터 동작과 오퍼레이팅 시스템 로딩을 진행하도록 허용하기 전에 정확한 사용자 신분확인을 요구하는 신분확인 응용 프로그램을 실행한다. 후자의 동작들은 보호된 저장 매체(21)에 대한 접속을 필요로 하기 때문에, 이러한 방법은 사우스 브리지(312)의 보안 로직(326)에 대한 감독적인 통제가 사용자별로 설정된 후에만 그러한 접속이 시작되는 것을 보장해 준다.
본 발명의 제1 실시예에서 그렇듯이 컴퓨터(11)의 오퍼레이팅 시스템은 HDD(21)에 형성된 보안 파티션에 저장된다. 상기 보안 파티션은 최소한 통상적인 사용자가 오퍼레이팅 시스템 파일들 중의 어떤 것에 관련하여 어떠한 쓰기 또는 삭제 권한을 갖지 않도록 유사하게 구성된다.
마찬가지로, HDD(21)의 보안 파티션은 또한 컴퓨터 시스템(11)의 관리자가 그 파티션에 있는 오퍼레이팅 시스템 파일들 중의 어떤 것에 대한 쓰기 또는 삭제를 선택적으로 할 수 있도록 구성된다.
그러나 상기한 제1 실시예와는 대조적으로 상기 사우스 브리지(312)에 제공되는 어떠한 플래시 ROM도 없다. 대신에 상기 보안 로직(326)은 오퍼레이팅 시스템에 의해 OS 보안 파티션 상의 시스템 파일들로 안내되는 모든 쓰기(write) 값들을 보이지 않는 파티션의 스크래치패드 영역으로 보내도록 하기 위해 보이지 않는 HDD 파티션(330)을 이용한다. 이러한 보이지 않는 파티션의 일부는 전술한 실시예에서의 플래시 ROM의 기능에 유사한 방식으로 매번 오버라이트(overwritten) 된다.
본 발명의 제3 실시예는 보안 시스템이 HDD 상에 제공되는 버스 브리지 집적회로(IC)로 구현됨을 제외하고는 전술한 제2 실시예와 실질적으로 유사하다. 이 실시예는 HDD들을 컴퓨터 시스템에 연결하기 위한 시리얼 ATA(SATA) 표준방식에 따른 발전으로부터 기인하고 있는데, 이것은 국제출원 제PCT/AU2004/000210호에 또한 개시되어 있으며, 그 내용은 상기한 제3 실시예를 설명하기 위한 목적상 본 출원에서 마찬가지로 참조로 포함된다.
SATA 인터페이스 설계의 영향을 받아 버스 브리지 IC가 고도로 집적된 시스템-온-칩(SOC) 장치의 형태로 개발되었으며, 이것의 예로서 인피니온 테크놀로지(Infineon Technologies)사에 의해 최근에 발표된 것이 있다. 이러한 SOC 장치는 1.6 Gbit/s 리드 채널 코어(read channel core), 3Gbit/s 네이티브(native) SATA 인터페이스, 16-bit 마이크로컨트롤러, 하드 디스크 컨트롤러, 임베디드(embedded) 메모리, 및 품질 모니터링 시스템 등을 집적하고 있다. 이러한 장치는 저장장치와의 통신을 위하여 SATA 채널을 이용하여 컴퓨터 버스와 저장장치의 HDD 간의 통신을 본질적으로 연결(bridging)함으로써 HDD의 제어회로에 통합되도록 설계된다.
본 실시예에서 보안 시스템은 전술한 SOC 장치에 유사한 구성의 버스 브리지 회로에 통합되며 버스 브리지 회로가 그에 연결되는 HDD 상에 저장된 동일한 것을 동작시키는 응용 소프트웨어를 구비한다.
도 10에 도시된 바와 같이, 버스 브리지 회로(351)는 CPU(353)을 포함하는데, 이것은 메모리 RAM(355), SATA 인터페이스(357), 디스크 컨트롤러 인터페이스(359) 및 보안 로직(361)을 구비한다.
전술한 실시예에서와 마찬가지로, 버스 브리지 회로(351)의 보안 로직(361)은 HDD에 저장된 응용 소프트웨어를 RAM(355)에 로드하도록 설계되어 메인 컴퓨터와 HDD 간의 접속을 선택적으로 안전하게 달성(보안화)하도록 한다.
상기한 응용 소프트웨어의 기능은, 보안 시스템이 장치 그 자체의 디스크 컨트롤러 기능을 이용하여 디스크 접속에 대한 통제를 수행하도록 SOC 장치의 하드웨어 및 펌웨어 디자인에 집적화되고 그와 인터페이스 되도록 한다는 사실을 제외하고는 선행하는 실시예에 관하여 기술된 것에 실질적으로 동일하다.
결과적으로, 컴퓨터(11)의 오퍼레이팅 시스템은 HDD(21)에 형성된 보안 구획(파티션) 내에 저장된다. 상기 보안 구획은 선행하는 실시예들과 유사한 방식으로 구성됨으로써 통상의 사용자가 그것의 오퍼레이팅 시스템 파일들 중의 어떤 것에 관하여 어떠한 쓰기 또는 삭제 권한을 갖지 않도록 한다.
선행하는 실시예에서 또한 그러하였듯이, 보안 파티션은 또한 컴퓨터 시스템의 관리자가 선택적으로 그 파티션 내의 오퍼레이팅 시스템 파일들 중의 어떤 것을 삭제하거나 또는 그것에 기록하는 것이 가능하도록 구성된다.
이상 본 발명은 예시적인 특정 실시예들을 참조하여 설명되었지만, 당해 기술 분야의 전문가라면 본 발명의 정신과 교시를 이탈함이 없이도 여러 가지의 변형 및 기능적으로 대등한 구성 요소들에 의해 그의 일부가 대체될 수도 있다는 점을 이해하여야 할 것이다.

Claims (28)

  1. 호스트 중앙처리장치(CPU), 컴퓨터를 작동시키기 위한 프로그램들을 로드하기 위하여 상기 호스트 CPU에 의해 이용되는 메모리, 및 컴퓨터에 의해 처리될 데이터를 저장하기 위한 읽기/쓰기 가능한 저장장치를 구비하는 컴퓨터의 오퍼레이팅 시스템을 위한 보안 시스템에 있어서:
    상기 오퍼레이팅 시스템이 저장되어 있는, 상기 저장장치에 형성된 보안 구역(파티션)과;
    상기 컴퓨터의 사용자들에 대하여 저장장치에 관한 적어도 두 개의 상이한 데이터 접속 프로필을 정의하기 위한 프로필 수단으로서, 그 중 하나의 접속 프로필은 상기 보안 구역에 저장된 데이터에 대한 읽기/쓰기 접속을 허용하도록 구성되고, 다른 하나의 접속 프로필은 상기 보안 구역에 대한 쓰기 접속을 허용치 않는 차단 레벨의 접속을 허용하도록 구성된 상기 프로필 수단과; 그리고
    어떤 특정한 시간적 포인트에서 상기 저장장치에 대한 데이터 접속을 하는 사용자에 대하여 미리 정의된 특정한 데이터 접속 프로필에 따라서 상기 호스트 CPU와 보안 구역 간의 데이터 접속을 선택적으로 차단하기 위한 차단 수단을 포함하고;
    상기 차단 수단은 상기 호스트 CPU와는 독립적으로 그리고 분리되도록 구성함으로써 상기 호스트 CPU의 후속적인 동작에 관계없이 상기한 특정한 데이터 접속 프로필에 따라서 상기한 데이터 접속을 이루고자 하는 사용자들에 대하여 상기 보안 구역에 대한 필요한 수준의 데이터 접속을 부과하고 계속하여 유지하도록 구성함을 특징으로 하는 보안 시스템.
  2. 제1항에 있어서, 상기 보안 시스템은, 규정된 데이터 접속 프로필을 갖는 컴퓨터 사용자의 진정여부를 확인하고, 그 사용자가 그의 특정한 데이터 접속 프로필에 관계없이 상기 보안 구역에 접속하는 것이 가능해지기 전에, 그 사용자의 데이터 접속 프로필에 따라서 보안 구역에 대한 후속적인 접속을 통제하도록 상기 차단 수단을 구성하는 신분 확인 수단을 포함함을 특징으로 하는 보안 시스템.
  3. 제2항에 있어서, 상기 차단 수단은 상기 신분 확인 수단에 응답하여 저장장치와 호스트 CPU 간의 접속을 차단하기 위한 상기 차단 수단의 동작을 제어하기 위한 호스트 CPU에 독립적인 프로세싱 수단을 포함함을 특징으로 하는 보안 시스템.
  4. 제3항에 있어서, 상기 차단 수단은 보안 시스템의 초기화가 이루어지기 전에 데이터 저장장치에 대한 호스트 CPU의 모든 데이터 접속을 차단하도록 구성되고, 상기 초기화 후에 바로 즉시 상기한 모든 데이터 접속을 인터셉트하고 그리고 상기 신분확인 수단에 의해 신분이 확인된 대로 상기 데이터 접속을 이행하는 사용자들의 데이터 접속 프로필에 따라서 상기 프로세싱 수단의 제어 하에 상기 보안 구역과 저장장치에 대한 데이터 접속을 달성하기 위한 인터셉트 수단을 포함함을 특징으로 하는 보안 시스템.
  5. 제4항에 있어서, 상기 프로세싱 수단은 상기 인터셉트 수단이 상기한 초기화 바로 후에 그리고 컴퓨터의 오퍼레이팅 시스템의 로딩 바로 전에 상기한 데이터 접속을 인터셉트 할 때 저장장치에 대한 비인가 접속을 방지하도록 하는 방식으로 컴퓨터의 구성과 상기 호스트 CPU의 독립적인 제어를 달성하도록 구성함을 특징으로 하는 보안 시스템.
  6. 제5항에 있어서, 상기 신분 확인 수단은 컴퓨터의 소프트웨어 부팅이 사용자의 신분을 정확하게 확인한 연후에 수행되는 것을 가능하게 하며, 상기 프로세싱 수단은 상기 소프트웨어 부팅 후의 컴퓨터의 시동(start-up) 과정 동안에 오퍼레이팅 시스템의 정상적인 로딩을 가능하게 하도록 구성함을 특징으로 하는 보안 시스템.
  7. 전기한 청구항들 중의 어느 하나에 있어서, 컴퓨터의 기본적인 동작과 저장장치에 대한 접속과 연관된 제어 요소들과 중요 데이터를 저장하기 위한 컴퓨터의 저장장치와 메모리 수단에는 독립적인 메모리 저장 수단을 구비함을 특징으로 하는 보안 시스템.
  8. 제7항에 있어서, 상기 중요 데이터 및 제어 요소들은 저장장치의 검증을 위해 그리고 컴퓨터의 시동 과정 동안 저장장치와는 독립적으로 컴퓨터를 동작시키기 위해 호스트 CPU에 제공되고 그에 의해 사용되도록 구성함을 특징으로 하는 보안 시스템.
  9. 전기한 청구항들 중의 어느 하나에 있어서, 상기 신분 확인 수단은 컴퓨터의 사용자가 로그인 식별기호 및 패스워드를 입력하고, 그 로그인 식별기호 및 패스워드가 검증되도록 함으로써, 컴퓨터의 시동 과정이 더 이상 진행되기 전에 상기 사용자가 저장장치에 대한 규정된 접속 프로필을 갖는 컴퓨터의 인가된 사용자인 것을 확인하는 것을 가능하게 하는 로그인 검증 수단을 포함함을 특징으로 하는 보안 시스템.
  10. 제7항, 제8항 또는 제9항에 있어서, 인가된 사용자의 상기 로그인 식별기호 및 패스워드와 그 접속의 규정된 프로필은 상기한 중요 데이터 및 제어 요소들의 일부를 형성하고 상기 로그인 검증 수단은 상기 중요 데이터 및 제어 요소들에 접속하여 사용자의 신분확인을 달성하도록 구성함을 특징으로 하는 보안 시스템.
  11. 전기한 청구항들 중의 어느 하나에 있어서, 사용자의 규정된 데이터 접속 프로필은 저장장치의 규정된 구역들에 대한 인가된 컴퓨터 사용자를 위해 허용되도록 미리 규정된 소정의 접속 레벨들의 할당을 포함함을 특징으로 하는 보안 시스템.
  12. 전기한 청구항들 중의 어느 하나에 있어서, 상기 차단 수단은 호스트 CPU와 저장장치 간의 데이터 접속 채널과 정렬하여 물리적으로 배치되도록 구성함을 특징으로 하는 보안 시스템.
  13. 제12항에 있어서, 상기 차단 수단은 호스트 CPU의 메인 데이터 및 제어 버스와 저장장치에 연결된 데이터 접속 채널 간의 통신을 수행하는 브리지 회로의 일부로서 배치되도록 구성함을 특징으로 하는 보안 시스템.
  14. 제12항에 있어서, 상기 차단 수단은 데이터 접속 채널과 저장장치 간의 통신을 수행하는 브리지 회로의 일부로서 배치되도록 구성함을 특징으로 하는 보안 시스템.
  15. 제12항에 있어서, 상기 차단 수단은 호스트 CPU의 메인 데이터 및 제어 버스와 저장장치 간의 데이터 접속 채널 중간에 배치되도록 구성함을 특징으로 하는 보안 시스템.
  16. 호스트 중앙처리장치(CPU), 컴퓨터와 저장장치를 작동시키기 위한 프로그램들을 로드하기 위하여 상기 호스트 CPU에 의해 이용되는 메모리, 및 컴퓨터에 의해 처리될 데이터를 저장하기 위한 읽기/쓰기 가능한 저장장치를 구비하는 컴퓨터의 오퍼레이팅 시스템을 인가되지 않은 접속으로부터 보호하고 보안화를 수행하기 위한 보안 방법에 있어서:
    상기 저장장치에 보안구역(파티션)을 형성하고 상기 오퍼레이팅 시스템을 그 보안구역에 저장하는 과정과;
    상기 컴퓨터의 사용자들에 대하여 저장장치에 관한 적어도 두 개의 상이한 데이터 접속 프로필을 정의하는 과정으로서, 그 중 하나의 접속 프로필은 상기 보안 구역에 저장된 데이터에 대한 읽기/쓰기 접속을 허용하도록 이루어지고, 다른 하나의 접속 프로필은 상기 보안 구역에 대한 쓰기 접속을 허용치 않는 차단 레벨의 접속을 허용하도록 이루어지는 과정과;
    어떤 특정한 시간적 포인트에서 상기 저장장치에 대한 데이터 접속을 하는 사용자에 대하여 미리 정의된 특정한 데이터 접속 프로필에 따라서 상기 호스트 CPU와 보안 구역 간의 데이터 접속을 선택적으로 차단하는 과정과; 그리고
    상기 호스트 CPU의 후속적인 동작에 관계없이 상기한 특정한 데이터 접속 프로필에 따라서 상기한 데이터 접속을 이루고자 하는 사용자들에 대하여 상기 보안 구역에 대한 필요한 수준의 데이터 접속을 부과하고 계속하여 유지하는 과정을 포함하여 이루어짐을 특징으로 하는 보안 방법.
  17. 제16항에 있어서, 상기 보안 방법은, 규정된 데이터 접속 프로필을 갖는 컴퓨터 사용자의 진정여부를 확인하는 과정과, 그 사용자가 그의 특정한 데이터 접속 프로필에 관계없이 상기 보안 구역에 접속하는 것이 가능해지기 전에, 그 사용자의 데이터 접속 프로필에 따라서 상기 보안구역에 대한 후속적인 접속을 통제하도록 상기 저장장치에 대한 데이터 접속의 차단을 행하는 과정을 더 포함함을 특징으로 하는 보안 방법.
  18. 제16항 또는 제17항에 있어서, 상기 선택적 차단 과정은 호스트 CPU와는 독립적으로 상기 호스트 CPU와 보안구역 간의 접속을 통제하는 과정을 포함함을 특징으로 하는 보안 방법.
  19. 제18항에 있어서, 상기 선택적 차단 과정은 컴퓨터의 초기화 과정 중에 저장장치에 대한 호스트 CPU의 데이터 접속을 완전히 차단하는 과정을 포함하고, 상기 초기화 후에 바로 즉시 컴퓨터의 오퍼레이팅 시스템을 로딩하기 바로 전에 시동 과정중의 모든 데이터 접속을 인터셉트하는 과정과, 그리고 상기 신분확인 절차시에 상기 데이터 접속을 이행하는 사용자들의 데이터 접속 프로필에 따라서 상기 보안 구역과 저장장치에 대한 데이터 접속을 수행하는 과정을 더 포함함을 특징으로 하는 보안 방법.
  20. 제19항에 있어서, 사용자의 신분을 정확하게 확인한 연후에 컴퓨터의 소프트웨어 부팅을 수행하고, 그 후에 컴퓨터의 시동(start-up) 과정 동안에 오퍼레이팅 시스템의 정상적인 로딩을 가능하게 하는 과정을 포함함을 특징으로 하는 보안 방법.
  21. 제17항 내지 제20항 중의 어느 하나에 있어서, 사용자의 규정된 접속 프로필에 따라서 사용자의 신분을 정확하게 확인한 다음에 저장장치에 대한 접속 차단을 통제하는 과정을 포함함을 특징으로 하는 보안 방법.
  22. 제16항 내지 제21항 중의 어느 하나에 있어서, 호스트 CPU에 의해 어드레싱 되지 않는 메로리로부터 분리된 위치에 상기 접속 제어를 실행하기 위한 컴퓨터 프로그램들을 영구적으로 저장하는 것을 포함함을 특징으로 하는 보안 방법.
  23. 전기한 청구항들 중의 어느 하나에 있어서, 상기 신분 확인 과정은 컴퓨터의 사용자가 로그인 식별기호 및 패스워드를 입력하고, 그 로그인 식별기호 및 패스워드가 검증되도록 함으로써, 컴퓨터의 시동 과정이 더 이상 진행되기 전에 상기 사용자가 저장장치에 대한 규정된 접속 프로필을 갖는 컴퓨터의 인가된 사용자인지 아닌지를 판정하도록 하는 과정을 포함함을 특징으로 하는 보안 방법.
  24. 제23항에 있어서, 인가된 사용자의 상기 로그인 식별기호 및 패스워드와 그의 규정된 접속 프로필은 상기한 중요 데이터 및 제어 요소들의 일부를 형성하고, 상기 검증 과정은 상기 중요 데이터 및 제어 요소들 내의 로그인 식별기호와 패스워드를 입력된 로그인 식별기호와 패스워드와 비교하여, 그들이 일치된다면, 사용자의 신분이 진정함을 확인하는 과정을 포함함을 특징으로 하는 보안 방법.
  25. 제16항 내지 제24항 중의 어느 하나에 있어서, 상기한 규정된 접속 프로필은 저장장치의 규정된 구역들에 대한 인가된 컴퓨터 사용자를 위해 허용되는 소정의 접속 레벨들의 미리 규정된 방식의 할당을 포함함을 특징으로 하는 보안 방법.
  26. 제25항에 있어서, 상기한 규정된 구역들은 보안구역(파티션)을 포함함을 특징으로 하는 보안 방법.
  27. 첨부된 도면을 참조하여 기술된 것과 같은 컴퓨터의 오퍼레이팅 시스템을 위한 보안 시스템.
  28. 첨부된 도면을 참조하여 기술된 것과 실질적으로 같은 인가되지 않은 접속으로부터 컴퓨터의 오퍼레이팅 시스템을 보호 및 보안화 하기 위한 방법.
KR1020057018380A 2003-03-28 2004-03-29 컴퓨터 오퍼레이팅 시스템용 보안 시스템 및 그 방법 KR101146153B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2003901454 2003-03-28
AU2003901454A AU2003901454A0 (en) 2003-03-28 2003-03-28 Security system and method for computer operating systems
PCT/AU2004/000387 WO2004086228A1 (en) 2003-03-28 2004-03-29 Security system and method for computer operating systems

Publications (2)

Publication Number Publication Date
KR20050112118A true KR20050112118A (ko) 2005-11-29
KR101146153B1 KR101146153B1 (ko) 2012-05-16

Family

ID=31500497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057018380A KR101146153B1 (ko) 2003-03-28 2004-03-29 컴퓨터 오퍼레이팅 시스템용 보안 시스템 및 그 방법

Country Status (8)

Country Link
US (1) US8250648B2 (ko)
EP (1) EP1609070A4 (ko)
JP (1) JP4690310B2 (ko)
KR (1) KR101146153B1 (ko)
CN (1) CN1795439B (ko)
AU (2) AU2003901454A0 (ko)
CA (1) CA2520707C (ko)
WO (1) WO2004086228A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100893980B1 (ko) * 2005-12-14 2009-04-20 엔비디아 코포레이션 칩세트 보안 오프로드 엔진

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060174343A1 (en) * 2004-11-30 2006-08-03 Sensory Networks, Inc. Apparatus and method for acceleration of security applications through pre-filtering
US7920701B1 (en) 2004-12-15 2011-04-05 Nvidia Corporation System and method for digital content protection
US8473750B2 (en) 2004-12-15 2013-06-25 Nvidia Corporation Chipset security offload engine
US20060136338A1 (en) * 2004-12-16 2006-06-22 Intel Corporation Techniques for filtering attempts to access component core logic
KR101238848B1 (ko) * 2004-12-21 2013-03-04 샌디스크 코포레이션 파티셔닝을 포함한 다기능 컨텐트 제어
US7502946B2 (en) * 2005-01-20 2009-03-10 Panasonic Corporation Using hardware to secure areas of long term storage in CE devices
US8108691B2 (en) 2005-02-07 2012-01-31 Sandisk Technologies Inc. Methods used in a secure memory card with life cycle phases
US8423788B2 (en) 2005-02-07 2013-04-16 Sandisk Technologies Inc. Secure memory card with life cycle phases
US8321686B2 (en) 2005-02-07 2012-11-27 Sandisk Technologies Inc. Secure memory card with life cycle phases
US7770028B2 (en) * 2005-09-09 2010-08-03 Invention Science Fund 1, Llc Limited use data storing device
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US20070061597A1 (en) 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
US7536540B2 (en) 2005-09-14 2009-05-19 Sandisk Corporation Method of hardware driver integrity check of memory card controller firmware
CN100418065C (zh) * 2005-10-21 2008-09-10 万国电脑股份有限公司 具显示使用历程的储存装置及其显示使用历程的方法
JP2007184044A (ja) 2006-01-06 2007-07-19 Hitachi Global Storage Technologies Netherlands Bv ディスク装置、磁気ディスク装置及び情報記憶装置
US20070174549A1 (en) * 2006-01-24 2007-07-26 Yevgen Gyl Method for utilizing a memory interface to control partitioning of a memory module
US8078990B2 (en) 2006-02-01 2011-12-13 Research In Motion Limited Secure device sharing
US7845005B2 (en) 2006-02-07 2010-11-30 International Business Machines Corporation Method for preventing malicious software installation on an internet-connected computer
US8560829B2 (en) 2006-05-09 2013-10-15 Broadcom Corporation Method and system for command interface protection to achieve a secure interface
US8285988B2 (en) * 2006-05-09 2012-10-09 Broadcom Corporation Method and system for command authentication to achieve a secure interface
US8032761B2 (en) * 2006-05-09 2011-10-04 Broadcom Corporation Method and system for memory attack protection to achieve a secure interface
US8245031B2 (en) 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US8140843B2 (en) 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US8639939B2 (en) 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US8266711B2 (en) 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8613103B2 (en) 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US9052916B2 (en) * 2006-09-21 2015-06-09 Hewlett-Packard Development Company, L.P. System ROM with an embedded disk image
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US8880582B2 (en) * 2007-03-30 2014-11-04 Hewlett-Packard Development Company, L.P. User access to a partitionable server
US8296385B2 (en) * 2007-04-23 2012-10-23 Lenovo (Singapore) Pte. Ltd. Apparatus and method for selective engagement in software distribution
US8627406B2 (en) * 2007-07-31 2014-01-07 Bull S.A.S Device for protection of the data and executable codes of a computer system
US8782801B2 (en) * 2007-08-15 2014-07-15 Samsung Electronics Co., Ltd. Securing stored content for trusted hosts and safe computing environments
US20090172378A1 (en) * 2007-12-28 2009-07-02 Kazmierczak Gregory J Method and system for using a trusted disk drive and alternate master boot record for integrity services during the boot of a computing platform
CA2720398C (en) 2008-04-02 2016-08-16 Twilio Inc. System and method for processing telephony sessions
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
US8868929B2 (en) * 2008-04-08 2014-10-21 Microelectronica Espanola S.A.U. Method of mass storage memory management for large capacity universal integrated circuit cards
EP2335402A4 (en) 2008-10-01 2013-04-24 Twilio Inc TELEPHONY WEB EVENT SYSTEM AND METHOD
US20100138916A1 (en) * 2008-12-02 2010-06-03 Price Iii William F Apparatus and Method for Secure Administrator Access to Networked Machines
US9104618B2 (en) 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
KR101537699B1 (ko) * 2009-01-29 2015-07-20 엘지전자 주식회사 이동단말기 및 그의 디바이스 접근 제어방법
US8131991B2 (en) * 2009-02-10 2012-03-06 Sony Corporation System and method for configuring plural software profiles
EP2404412B1 (en) 2009-03-02 2019-05-01 Twilio Inc. Method and system for a multitenancy telephone network
US8509415B2 (en) 2009-03-02 2013-08-13 Twilio, Inc. Method and system for a multitenancy telephony network
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
US8582737B2 (en) 2009-10-07 2013-11-12 Twilio, Inc. System and method for running a multi-module telephony application
US9087188B2 (en) * 2009-10-30 2015-07-21 Intel Corporation Providing authenticated anti-virus agents a direct access to scan memory
US8638781B2 (en) 2010-01-19 2014-01-28 Twilio, Inc. Method and system for preserving telephony session state
US8407783B2 (en) * 2010-06-17 2013-03-26 Mediatek Inc. Computing system providing normal security and high security services
US20120208495A1 (en) 2010-06-23 2012-08-16 Twilio, Inc. System and method for monitoring account usage on a platform
US9338064B2 (en) 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US8416923B2 (en) 2010-06-23 2013-04-09 Twilio, Inc. Method for providing clean endpoint addresses
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
GB2498139B (en) 2010-10-29 2017-01-11 Ibm Method, secure device, system and computer program product for securely managing user access to a file system
US8649268B2 (en) 2011-02-04 2014-02-11 Twilio, Inc. Method for processing telephony sessions of a network
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US9398622B2 (en) 2011-05-23 2016-07-19 Twilio, Inc. System and method for connecting a communication to a client
JP5712851B2 (ja) * 2011-07-29 2015-05-07 富士通株式会社 データ分割装置、データ分割方法およびデータ分割プログラム
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
EP2759123B1 (en) 2011-09-21 2018-08-15 Twilio, Inc. System and method for authorizing and connecting application developers and users
EP2795505A4 (en) 2011-12-22 2015-09-02 Intel Corp ACTIVATION AND MONETIZATION OF INTEGRATED FUNCTIONS IN STORAGE SUBSYSTEMS USING A RELIABLE CONNECTION SERVICE BACKPACK INFRASTRUCTURE
EP2795521A4 (en) * 2011-12-22 2015-08-26 Intel Corp SYSTEMS AND METHODS OF PROVIDING MALWARE SOFTWARE PROTECTION AND MALWARE SEARCHING IN STORAGE DEVICES
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
US9240941B2 (en) 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
US20130304928A1 (en) 2012-05-09 2013-11-14 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US8737962B2 (en) 2012-07-24 2014-05-27 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US8738051B2 (en) 2012-07-26 2014-05-27 Twilio, Inc. Method and system for controlling message routing
US9471514B1 (en) * 2012-08-23 2016-10-18 Palo Alto Networks, Inc. Mitigation of cyber attacks by pointer obfuscation
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
CA2794132C (en) * 2012-11-01 2020-12-08 Ibm Canada Limited - Ibm Canada Limitee Configuring configuration settings using a user context
US9253254B2 (en) 2013-01-14 2016-02-02 Twilio, Inc. System and method for offering a multi-partner delegated platform
WO2014125324A1 (en) * 2013-02-12 2014-08-21 Freescale Semiconductor, Inc. A method of and circuitry for controlling access by a master to a peripheral, a method of configuring such circuitry, and associated computer program products
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US9392059B2 (en) * 2013-03-15 2016-07-12 Joseph Leslie Nicholson Communication protocol
US9001666B2 (en) 2013-03-15 2015-04-07 Twilio, Inc. System and method for improving routing in a distributed communication platform
EP2979217B1 (en) * 2013-03-28 2018-05-02 Irdeto B.V. Obfuscating access to a data store by a software application
US10489612B2 (en) 2013-04-29 2019-11-26 Nxp Usa, Inc. Memory controller to verify authenticity of data
US9338280B2 (en) 2013-06-19 2016-05-10 Twilio, Inc. System and method for managing telephony endpoint inventory
US9240966B2 (en) 2013-06-19 2016-01-19 Twilio, Inc. System and method for transmitting and receiving media messages
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
GB2515736A (en) 2013-07-01 2015-01-07 Ibm Controlling access to one or more datasets of an operating system in use
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
KR102167393B1 (ko) * 2013-08-16 2020-10-19 삼성전자 주식회사 메모리 공유 환경에서 데이터 무결성 감시 장치 및 방법
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
US9338018B2 (en) 2013-09-17 2016-05-10 Twilio, Inc. System and method for pricing communication of a telecommunication platform
GB2534693B (en) * 2013-11-08 2017-02-08 Exacttrak Ltd Data accessibility control
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9325624B2 (en) 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US10049216B2 (en) * 2014-02-06 2018-08-14 Intel Corporation Media protection policy enforcement for multiple-operating-system environments
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
CN103955427B (zh) * 2014-04-29 2016-08-24 探月与航天工程中心 一种安全攸关系统的软件安全性保证的实现方法
CN104063641B (zh) * 2014-06-23 2017-11-24 华为技术有限公司 硬盘安全访问控制方法和硬盘
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US10339328B1 (en) 2014-07-15 2019-07-02 Cru Acquisition Group, Llc Securing stored computer files from modification
US9473509B2 (en) * 2014-09-29 2016-10-18 International Business Machines Corporation Selectively permitting or denying usage of wearable device services
US9749428B2 (en) 2014-10-21 2017-08-29 Twilio, Inc. System and method for providing a network discovery service platform
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
CN104932921B (zh) * 2015-06-16 2018-07-06 联想(北京)有限公司 启动控制方法和电子设备
CN104933374A (zh) * 2015-07-07 2015-09-23 山东中孚信息产业股份有限公司 一种存储介质隔离方法
KR102353058B1 (ko) 2016-02-02 2022-01-20 삼성전자주식회사 시스템 온 칩 및 그것의 동작 방법
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10095635B2 (en) 2016-03-29 2018-10-09 Seagate Technology Llc Securing information relating to data compression and encryption in a storage device
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
CN105872108B (zh) * 2016-06-15 2019-02-22 深圳市清时捷科技有限公司 一种多个接收终端的数据筛选、传输方法及其装置
KR102477043B1 (ko) * 2017-11-08 2022-12-14 삼성전자주식회사 전자 장치 및 그의 제어 방법
CN110472443A (zh) * 2018-05-11 2019-11-19 威尔奇·伊沃 一种数据安全方法和带开关的本地设备
CN110971580B (zh) * 2018-09-30 2022-05-17 北京国双科技有限公司 一种权限控制方法及装置
KR102275764B1 (ko) 2019-08-22 2021-07-13 김덕우 가변 컴퓨터 파일시스템이 적용된 데이터 저장장치
US11308243B2 (en) * 2019-09-11 2022-04-19 International Business Machines Corporation Maintenance of access for security enablement in a storage device
US11722295B2 (en) * 2020-04-30 2023-08-08 Musarubra Us Llc Methods, apparatus, and articles of manufacture to securely audit communications
US11373014B2 (en) * 2020-07-21 2022-06-28 Hewlett Packard Enterprise Development Lp Controlling access to peripheral ports of a host computing system
US11757648B2 (en) * 2022-02-09 2023-09-12 Dell Products L.P. System and method for remote startup management

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5651139A (en) * 1993-12-23 1997-07-22 International Business Machines Corporation Protected system partition read/write access on a SCSI controlled DASD
US5956715A (en) * 1994-12-13 1999-09-21 Microsoft Corporation Method and system for controlling user access to a resource in a networked computing environment
GB9809885D0 (en) 1998-05-09 1998-07-08 Vircon Limited Protected storage device for computer system
AU9094198A (en) * 1998-09-10 2000-04-03 Sanctum Ltd. Method and system for maintaining restricted operating environments for application programs or operating systems
EP1097274A2 (de) * 1998-10-28 2001-05-09 Anton Varosanec Transportable biologische wc-kabine mit wasserspülung
US6510512B1 (en) * 1999-01-20 2003-01-21 Dell Products L.P. Method and system for executing BIOS code in secure multitasking operating environment
CA2322113A1 (en) * 1999-10-04 2001-04-04 Pitney Bowes Inc. System and method for managing user permissions for accessing functionality of multiple software applications
US6681323B1 (en) * 1999-11-29 2004-01-20 Toshiba America Information Systems, Inc. Method and system for automatically installing an initial software configuration including an operating system module from a library containing at least two operating system modules based on retrieved computer identification data
JP4522548B2 (ja) * 2000-03-10 2010-08-11 富士通フロンテック株式会社 アクセス監視装置及びアクセス監視方法
US7392398B1 (en) * 2000-06-05 2008-06-24 Ati International Srl Method and apparatus for protection of computer assets from unauthorized access
US7284271B2 (en) * 2001-03-14 2007-10-16 Microsoft Corporation Authorizing a requesting entity to operate upon data structures
US7287250B2 (en) * 2001-04-30 2007-10-23 Dell Products L.P. Method, computer program product, and system for installing an operating system from a storage device using a sector offset
TWI231896B (en) * 2001-06-29 2005-05-01 Secure Systems Ltd Security system and method for computers
US7036020B2 (en) 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
US20030061494A1 (en) * 2001-09-26 2003-03-27 Girard Luke E. Method and system for protecting data on a pc platform using bulk non-volatile storage
JP4066325B2 (ja) * 2002-06-07 2008-03-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ユーザデータのバックアップ方法
AU2003900764A0 (en) * 2003-02-20 2003-03-06 Secure Systems Limited Bus bridge security system and method for computers
US7788427B1 (en) * 2005-05-05 2010-08-31 Marvell International Ltd. Flash memory interface for disk drive
US7634615B2 (en) * 2004-06-10 2009-12-15 Marvell World Trade Ltd. Adaptive storage system
US7730335B2 (en) * 2004-06-10 2010-06-01 Marvell World Trade Ltd. Low power computer with main and auxiliary processors
US7809118B2 (en) * 2004-07-29 2010-10-05 Aspect Software, Inc. System and method for voice and data convergence
US8127147B2 (en) * 2005-05-10 2012-02-28 Seagate Technology Llc Method and apparatus for securing data storage while insuring control by logical roles
US7636838B2 (en) * 2006-01-05 2009-12-22 Broadcom Corporation Method and system for handling operation of multiple devices within a single system-on-chip (SoC) integrated circuit (IC)
US7908665B2 (en) * 2006-01-23 2011-03-15 Autodesk, Inc Cloaked data objects in an electronic content management security system
US8032761B2 (en) * 2006-05-09 2011-10-04 Broadcom Corporation Method and system for memory attack protection to achieve a secure interface
US7987464B2 (en) * 2006-07-25 2011-07-26 International Business Machines Corporation Logical partitioning and virtualization in a heterogeneous architecture

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100893980B1 (ko) * 2005-12-14 2009-04-20 엔비디아 코포레이션 칩세트 보안 오프로드 엔진

Also Published As

Publication number Publication date
EP1609070A4 (en) 2011-01-12
CA2520707C (en) 2014-11-18
AU2003901454A0 (en) 2003-04-10
AU2004223343B2 (en) 2010-02-25
CA2520707A1 (en) 2004-10-07
US8250648B2 (en) 2012-08-21
JP4690310B2 (ja) 2011-06-01
US20080104348A1 (en) 2008-05-01
AU2004223343A1 (en) 2004-10-07
CN1795439A (zh) 2006-06-28
JP2006521602A (ja) 2006-09-21
KR101146153B1 (ko) 2012-05-16
WO2004086228A1 (en) 2004-10-07
EP1609070A1 (en) 2005-12-28
CN1795439B (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
KR101146153B1 (ko) 컴퓨터 오퍼레이팅 시스템용 보안 시스템 및 그 방법
KR100880185B1 (ko) 컴퓨터용 보안 시스템 및 그 방법
US20070028292A1 (en) Bus bridge security system and method for computers
AU2002315565A1 (en) Security system and method for computers
US7107460B2 (en) Method and system for securing enablement access to a data security device
US8533845B2 (en) Method and apparatus for controlling operating system access to configuration settings
US9430250B2 (en) Bootability with multiple logical unit numbers
CN103262092B (zh) 基于存储驱动器的防恶意软件方法和装置
MXPA06002447A (es) Sistema de seguridad en internet para computadora personal.
JP7146812B2 (ja) 独立した復元領域を有する補助記憶装置およびこれを適用した機器
US6907524B1 (en) Extensible firmware interface virus scan
US20220374534A1 (en) File system protection apparatus and method in auxiliary storage device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee