KR100309535B1 - 보안저장영역에서애플리케이션데이터의보호방법및장치 - Google Patents

보안저장영역에서애플리케이션데이터의보호방법및장치 Download PDF

Info

Publication number
KR100309535B1
KR100309535B1 KR1019980016875A KR19980016875A KR100309535B1 KR 100309535 B1 KR100309535 B1 KR 100309535B1 KR 1019980016875 A KR1019980016875 A KR 1019980016875A KR 19980016875 A KR19980016875 A KR 19980016875A KR 100309535 B1 KR100309535 B1 KR 100309535B1
Authority
KR
South Korea
Prior art keywords
program
name
memory
operating system
secure area
Prior art date
Application number
KR1019980016875A
Other languages
English (en)
Other versions
KR19990006432A (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 KR19990006432A publication Critical patent/KR19990006432A/ko
Application granted granted Critical
Publication of KR100309535B1 publication Critical patent/KR100309535B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • G06F2211/008Public Key, Asymmetric Key, Asymmetric Encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party

Landscapes

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

Abstract

애플리케이션 프로그램의 인증을 보증하기 위해, 그리고, 보증이 확인된 애플리케이션 프로그램을 그들 소유의 지속 애플리케이션 데이터와 안전하게 연관시키키 위한 방법, 장치 및 컴퓨터 프로그램 제품을 개시한다. 본 발명은 보증이 확인되었던 보증된 애플리케이션 프로그램을 포함하여, 다른 애플리케이션 프로그램이 그들 소유가 아닌 데이터를 액세스하지 못하도록 막는다.

Description

보안 저장 영역에서 애플리케이션 데이터의 보호 방법 및 장치{METHOD AND APPARATUS FOR PROTECTING APPLICATION DATA IN SECURE STORAGE AREAS}
본 발명은 시스템 보안(system security)을 유지하기 위하여, 비보안 저장 장치(storage)로부터 수신한 애플리케이션 프로그램의 인증(authenticity)을 제어하고, 이러한 프로그램이 컴퓨터내 보안 환경에서 실행될 때에 데이터 액세스를 제어하기 위한 방법 및 장치에 관한 것이다.
운영체제 기술에서 알려진 바와 같이, 데이터 프로세싱 시스템에서 애플리케이션 프로그램이 저장 장치의 보호 영역을 액세스 또는 변형시키지 못하도록 하는 프로그래밍된 장치 및 방법이 사용되어 왔다. 예를 들면, 리차드 피. 존스(Richard P. Jones)에게 허여된 미국 특허 제5,144,659호 및 제5,289,540호가 있다. 존스는 중앙 처리 유닛과 파일 저장 장치 사이에서 제어 논리, 어드레스 및 데이터 신호 경로를 가로채는 디스크 드라이브 어댑터 카드상에 프로그래머블 보조 메모리 및 제어 유닛이 있는 형태의 하드웨어를 개시한다. 일단 존스 시스템의 하드웨어 및 관련된 소프트웨어가 설치되면, 운영체제는 더 이상 파일 시스템을 제어 또는 액세스하지 않는다. 존스 시스템에서, 보조 메모리는 모든 유효 파일의 서명(signatures)을 저장한다. 파일 서명은 단순한 순환 중복 코드(cyclic redundancy code:CRC)이다. 이러한 서명은 CRC가 마지막으로 계산된 이래 파일이 바이러스에 의해 변경되었는 지의 여부를 검출하므로써 바이러스 공격으로부터 파일을 보호할 수 있다. 프로그램 변경후에 새로운 CRC를 계산하여 첨부시키는 것은 간단한 일이므로, 이러한 서명은 해커의 공격을 막을 수는 없다.
최근에, 하드웨어 중앙 처리 유닛(CPU) 그자체는 예를 들어, 레벨 3에서 수행되는 애플리케이션 프로그램이 레벨 0을 가지는 메모리 세그먼트를 직접 어드레싱하지 못하도록 보호하는 내장된 특권 레벨을 가진다. 어드밴스드 마이크로 디바이스(Advanced Micro Device)에서 1994년 1월 발행한 Am486 마이크로프로세서 소프트웨어 사용자 매뉴얼의 페이지 A-28 내지 A-34에 이에 대한 예가 나타나 있다. 이들 회로는 레벨 3 애플리케이션 프로그램이 수퍼바이저 레벨 메모리 공간을 직접 어드레싱하지 못하도록 막을 수는 있지만, 이러한 액세스가 필요할 때도 있으며, 애플리케이션 프로그램이 인증된 것인지 여부 및, 액세스될 데이터가 인증된 프로그램에 할당되는 지의 여부를 결정할 메카니즘이 마이크로프로세서에는 없다.
사용자의 신원 및, 프로그램 또는 ID 카드의 인증을 확인하는데 암호화를 사용하는 기법이 알려져 있다. 이러한 기술의 예를 들면, IBM 4755 암호 어댑터 카드가 있다. 그러나, 현 기술로는 애플리케이션들이 비보안(non-secure) 소스로부터 적재될 때 보안 영역의 지속 데이터(persistent data)를 보호할 방법을 제시하지 못한다.
다수의 애플리케이션 프로그램을 실행하고, 이들 프로그램을 위한 장기 데이터(long-term data)를 저장할 수 있는 컴퓨터 시스템에서, 데이터 영역을 생성했던 애플리케이션 프로그램외의 다른 프로그램으로부터 이러한 각 데이터 영역을 보호할 필요가 있다. 여기서, "다른 프로그램"이란 완전히 상이한 프로그램과, 데이터를 생성했던 그 프로그램인 것처럼 행동하려고 하는 프로그램을 모두 포함한다.그러나, 소정 프로그램의 새 버전은 그 동일한 프로그램의 이전 버전에 의해 생성된 데이터 영역을 액세스할 수 있어야 한다.
이러한 특정 시나리오에 의해, 애플리케이션 프로그램은 존재하지 않더라도, 데이터는 컴퓨터 메모리에 계속 존재하게 된다. 애플리케이션 프로그램은 더 이상 필요가 없어지면 메모리로부터 삭제되며, 나중에 다시 서비스가 요구될 때 다시 적재된다. 각 애플리케이션 프로그램이 사용한 데이터 영역은 컴퓨터에 계속 남아있으며, 지속 매체상에 저장되고, 컴퓨터의 운영체제에 의해 관리된다. 애플리케이션 프로그램이 다시 적재될 때, 그 자신 소유의 데이터에 대한 액세스는 허용되지만, 다른 애플리케이션 프로그램 소유의 데이터에 대한 액세스는 금지되어야 한다. 이와 유사한 방식으로, 동시에 동작하는 애플리케이션 프로그램들은 각각 상대편 데이터를 액세스할 수 없어야 한다. 프로그램 저장매체 그자체는, 이로부터 애플리케이션 프로그램이 다시 적재되는데, 소정 방식으로 반드시 보호할 필요는 없으므로, 애플리케이션 프로그램은 변형으로부터 자신을 보호하고, 자신을 자신 소유의 데이터 영역에 안전하게 연관시키는데 사용될 수 있는 보호된 정보를 포함하도록 구성되어야 한다.
본 발명은 비보안 영역으로부터 보안 영역으로 적재되는 애플리케이션 프로그램의 인증을 효율적으로 확인하고, 다른 애플리케이션 프로그램을 제외하고 그 확인된 애플리케이션 프로그램을 지속 메모리에 있는 자신의 기존 데이터 영역에연관시키는 방법 및 장치를 제공하므로써, 본 기술분야의 단점 및 제약을 극복한다.
지속 데이터 영역에 대한 본 발명의 안전한 액세스 제어의 이점은 애플리케이션 프로그램이 안정성을 해함이 없이 비보안 저장 장치로부터 적재되고 지속 데이터에 액세스할 수 있다는 것이다.
본 발명의 또다른 이점은 프로세서의 특권 레벨을 사용하면, 애플리케이션 프로그램은 지속 메모리에 상주하지 않더라도 지속 데이터를 액세스할 수 있으며, 동시에 지속 데이터를 보호할 수 있다는 것이다.
도 1은 본 발명이 사용되는 컴퓨터 시스템의 블록도.
도 2는 본 발명에 따른 개선된 운영체제의 블록도.
도 3은 본 발명에 따른 애플리케이션 프로그램 인증 프로세스에 대한 흐름도.
도 4는 본 발명에 따른 애플리케이션 프로그램의 적재 및 확인에 대한 흐름도.
도 5는 애플리케이션 프로그램이 데이터 영역을 액세스하는 것을 도시한 흐름도.
도면의 주요 부분에 대한 부호의 설명
11: 보안 카드 13: 보안 모듈
51: 프로세서 53: RAM
55: ROM 57: 암호처리모듈
상기 및 다른 장점들은 본 발명의 후속되는 상세한 설명으로부터 명백해질 것이다.
이제, 도 1을 참조하면, 본 발명을 특정한 실시예로써 설명하기 위한 것으로, 다수의 IBM 퍼스널 컴퓨터에 사용되는 구성과 같은, 전형적인 퍼스널 컴퓨터 구조가 도시되어 있다. 또한, 본 발명은 미니 컴퓨터 및 메인프레임 컴퓨터 환경 따위의 다른 디지털 컴퓨터 구조에 사용될 수 있고, 근거리 및 광역 컴퓨터 네트워크와 같은 다른 디지탈 컴퓨터 환경에서도 사용될 수 있다. 단지, 침입자가 이 컴퓨터 회로를 탐사하거나 또는 변경시키지 못하도록, 컴퓨터를 물리적으로 안전하게 할 필요가 있다. 컴퓨터 그자체가 물리적으로 안전하게 될 수 없는 환경에서, 본 발명의 실시예는 미국 특허 제5,159,629호 및 제5,027,397호에 도시된 바와 같은 보안 모듈을 가지는 보안 카드(11)를 사용할 수 있다.
퍼스널 컴퓨터 구조의 처리소자는 마이크로프로세서(15)로서, 예를 들면, 인텔 80486, 펜티엄 또는 유사한 마이크로프로세서일 수 있다. 마이크로프로세서(15)는 데이터 라인 집합, 어드레스 라인 집합 및 제어 라인 집합으로 구성되는 버스(17)에 연결된다. 메모리 및 저장 디바이스를 포함한 다수의 I/O 디바이스는 개별 어댑터를 통하여 버스(17)에 연결된다. I/O 디바이스는 퍼스널 컴퓨터의 표준 특징(standard feature)이거나 또는 플러그인 선택사양(plug-in options)일 수 있다. 예를 들면, 이들 디바이스는 IBM 컴퓨터 및 IBM 호환 컴퓨터에 사용된다고 알려진 바와 같이, 그래픽 어댑터(21)를 통하여 접속되는 칼라 디스플레이(19)와, 어댑터(25)를 통하여 접속되는 키보드(23)와, SCSI 어댑터(29)를 통하여 접속되는 하드 디스크 드라이브(27)를 포함할 수 있다. 다른 디바이스들은 퍼스널 컴퓨터의 일부로서 포함되거나, 또는 IBM사 및 다른 공급사로부터 플러그인 선택사양으로서 사용될 수 있다.
RAM(31)을 보조하기 위하여 부가적인 랜덤 액세스 메모리가 플러그-인 메모리 확장 선택사양을 통하여 추가될 수는 있지만, 퍼스널 컴퓨터에는 표준 설비로서 랜덤 액세스 메모리(RAM)(31) 및 판독전용 메모리(ROM)(33)가 포함된다.
ROM(33)내에는 기본 입/출력 운영체제, 즉 BIOS로서 알려진 다수의 인스트럭션이 저장되는데, 이는 마이크로프로세서(15)에 의해 실행된다. BIOS는 컴퓨터의 기본적인 I/O 동작을 제어한다. 통상적으로 IBM 퍼스널 컴퓨터 계열과 함께 사용되는 IBM사의 IBM OS/2 운영체제 소프트웨어와 같은 운영체제는 RAM(31)으로 적재되어 ROM(33)에 저장된 BIOS와 함께 실행된다. 당업자라면, BIOS의 전체 또는 일부를 ROM(33)보다는 RAM(31)에 저장하도록 퍼스널 컴퓨터 시스템을 구성하면, RAM(31)으로 즉시 적재할 수 있는 BIOS 프로그램을 수정함으로써 기본 시스템 동작을 변경할 수 있다는 것을 알 수 있을 것이다. 유사하게, RAM(31)에 저장된 프로그램, 데이터 및 지식 표현은 ROM(33)에 저장될 수 있다.
도 1에 도시된 바와 같이, 본 발명의 방법을 구현하는 프로그램(35)은 프로그램을 컴팩트 디스크(37) 또는 다른 휴대용 저장매체에 내장시키므로써 제품으로서 유리하게 구현된다. 이 매체(37)는 어댑터(41)을 통하여 버스(17)에 연결된 판독기(39)에 의해 판독될 수 있다. 또한, 프로그램(35)은 프로그램의 실행가능 인스트럭션을 RAM(31), ROM(33) 또는 이들 둘의 조합체 또는 DASD(27)에 저장하므로써 특수 목적 장치로서 구현될 수 있고, 마이크로프로세서(15)는 실행을 위하여 어댑터(29)를 통하여 이 장치를 액세스할 수 있다.
주 마이크로프로세서(15)의 사용에 부가하여, 본 발명은 버스(17)에 연결된, 또한, 암호 어댑터(11)라 불리는 보안 카드(11)와 같은 특수 목적 디바이스에 유리하게 사용될 수 있다. 또한, 본 발명의 방법을 구현하는 프로그램(35)은 프로그램의 실행가능 인스트럭션을 RAM(53), ROM(55) 또는 이들 둘의 조합체에 저장시키므로서, 그리고/또는 DASD(27)로부터 RAM(53)으로 적재시키므로써 특수 목적 장치로서 구현될 수 있다. 암호 어댑터(11)는 사용가능한 알고리즘의 예로서 DES(Data Encryption Standard) 알고리즘 및 RSA(Rivest Shamir & Adleman) 알고리즘과 같은 알고리즘을 효율적으로 실행시키기 위한 암호 처리 모듈(57)을 포함한다.
본 발명의 바람직한 실시예는 IBM OS/2 운영체제와 같은 운영체제로 통합되어 그 운영체제의 일부가 되는데, 이는 도 2의 블록도로 도시된다. 설명을 단순하게 하기 위하여, 본 발명은 도 1의 보안 암호 어댑터 카드(11) 일부로서 구현되는 것으로 기술되고, 본 발명에 따라서 보증된 애플리케이션 프로그램에 대한 비보안 애플리케이션 소스는 도 1에 도시된 DASD(27)일 것이다.
도 2에서, 운영체제 커널(101)은 다이어그램의 중앙에 나타난다. 커널(101)은 다수의 시스템 제어 기능을 수행하여, 애플리케이션 프로그램을 컴퓨터상에 기록하고 효율적으로 운영한다.
애플리케이션 프로그램에 대한 메모리 할당은 운영체제가 수행하는 중요한 제어 기능중의 하나이다. 1988년 발행된 에드 이아코부치(Ed Iacobucci)의 OS/2 프로그래머 가이드중 제4장 메모리 관리에 기술된 바와 같이, OS/2 운영체제는 각 애플리케이션 프로그램에 국부(local) 어드레스 공간을 배정하고, 국부 기술자 테이블(Local Descriptor Table)을 사용하여 이들 국부 어드레스 공간을 실제 메모리로 매핑시킨다.
그 결과, 애플리케이션 프로그램들의 메모리 세그먼트들 사이가 자연스럽게 분리된다. 즉, 하나의 애플리케이션 프로그램에 할당된 메모리 세그먼트는 또다른 애플리케이션 프로그램에 의해 검사되거나 또는 변경될 수 없다는 것이다.
인텔 80286 및 이보다 높은 레벨의 마이크로프로세서상에서 실행되는 운영체제가 사용하는 전술한 방법은, 애플리케이션 프로그램 및 그들의 데이터 영역이 메모리내에 일시적이고, 애플리케이션 프로그램이 휘발성 메모리로 적재될 때마다 국부 기술자 테이블이 설치되고 새로운 메모리가 할당될 수 있는 애플리케이션들에 대하여 잘 동작한다. 데이터 영역이 플래시 메모리와 같은 지속 메모리에 계속 남아있어야 하는 상황에 있어서는, 인증이 확인되어 메모리로 재적재된 애플리케이션 프로그램에게 연속 메모리 영역을 안전하게 재할당하는 소정 방법이 제공되어야만 한다.
예를 들어, 보안 환경 밖에 위치하는 DASD 디바이스로부터 적재되는 애플리케이션 프로그램을 실행하기에 앞서, 애플리케이션 프로그램의 인증을 확인해야 한다. 그렇지 않으면, 사칭(imposter) 프로그램이 적재되어 보안 환경을 공격할 수 있다. 또한, 적재된 프로그램에 대한 메모리 영역의 재할당은 분리를 유지해야 하며, 다른 애플리케이션 프로그램의 메모리 영역이 최근에 적재된 프로그램에 배정되지 않도록 해야만 한다.
본 발명에 따르면, 인증에 대한 확인은, 애플리케이션 프로그램이 보안 메모리로 적재되기 전에 이 애플리케이션 프로그램에 대한 사전 보증 및 확인에 의하여 로더(111)에서 이루어진다. 본 발명에 따라 분리는 애플리케이션 프로그램 신원과 데이터 영역 테이블(Data Area Table)에서의 신원 확인 필드를 비교하므로써 보안 관련 데이터 항목(Security Relavent Data Item: SRDI) 관리자(109)에 의해 이루어진다. 데이터 영역 테이블은 운영체제에 대한 새로운 개선이라는 목적을 위해 유지되는데, 이는 도 2를 다시 참조하여 기술될 것이다.
도 1의 RAM(53) 및 ROM(55)은 보안 모듈(13)내에 포함된다. RAM(53) 및ROM(55)은 본 발명의 암호 어댑터 카드 버전으로 OS/2의 서브셋일 수 있는 운영체제를 포함한다. 커널(101)은 메모리 할당 및, DES 자원 관리자(103)를 통한 DES 알고리즘 및 RSA 자원 관리자(105)를 통한 RSA와 같은 다른 자원을 관리한다.
플래시 메모리 또는 배터리 전원 메모리와 같은 지속 메모리가 (107)에서 제공된다. 영구 메모리(107)의 실 어드레스 공간은 전역 기술자 테이블(Global Descriptor Table)로 매핑되고, 따라서, 항상 운영체제에서 사용가능하며, 메모리(107)를 사용하는 애플리케이션이 메모리(53)에서의 실행을 중지할 때도 사라지지 않는다. 본 발명의 SRDI 관리자(109)는 메모리(107)내의 어드레스를 애플리케이션 프로그램에 할당한다.
비보호 DASD(113) 또는 소정의 다른 비보호 외부 매체로부터 애플리케이션 프로그램을 가져와 재적재시키기 위하여 본 발명에 따르는 개선된 프로그램 로더가 (111)에서 제공된다. 보안 모듈(13)내 회로에 제공되는 물리적 보호는 합리적으로 제공될 수는 있지만, 공격으로부터 DASD 디바이스를 물리적으로 보호하기 위해 드는 비용 및 복잡성은 현시점에서 실용적이지 못하다. 따라서, DASD(27)로부터 적재되는 애플리케이션 프로그램이 시스템에 대한 공격으로 변형되거나 또는 대체되지 않도록 보장할 필요가 있다. 이것은 프로그램 로더(111)가 운영체제에 사용가능한 암호화 자원을 사용함에 의해 이루어진다.
애플리케이션 프로그램이 적재되어 사용되기 전에, 이는 시스템의 제어 및 보안을 담당하는 컴퓨터 시스템의 소유자 또는 제조자 또는 소정의 다른 중앙부서에 의해 보증된다. 도 3의 흐름도에 도시된 바와 같이, 상술한 보증은 본 발명에따라서 보안 카드(11)의 암호 설비를 사용하여 이루어 진다.
도 3에서, 블록(201)에서 프로그램 A에 대한 고유 이름 NA가 선택되어, 블록(203)에서 저장된다. 이 이름은 특별한 특징을 가질 필요는 없지만, 다만 특정 당국(particular authority)에 의해 보증될 프로그램의 이름 도메인내에서 유일해야한다. 이름 NA및 블록(205)의 입력인 프로그램 PA는 블록(207)에서 단일 인접한 데이터 객체로 결합되어, 블록(209)에서 저장된다. 다른 방법을 사용할 수도 있지만, 바람직한 실시예에서 결합은 NA를 PA에 연결(concatenate)시키므로써 행해진다. 결합된 객체는 PANA라 불린다.
블록(211)에서, PANA에 대한 해시(hash)가 계산되어 H(PANA)를 얻는다. H(PANA)는 PANA의 크기에 관계없이 일정한 길이일 것이다. 또한, 공용키 기법은 대개 전형적인 RSA 키를 위한 1024 비트와 같은 키 계수(modulus)의 크기보다 작은 데이터를 암호화할 수 있을뿐이다.
블록(215)에서, 보증 당국(certifying authority)은 블록(213)에서 보안 지속 저장 장치로부터 인출한 전용키 KPR를 사용하여, H(PANA)에 대한 디지탈 서명 DSIG를 계산한다. 이 계산 결과는 디지탈 서명 DSIG이다. KPR은 공용키/전용키 쌍 중의 전용키이다. 대응하는 공용키 KPU는 KPR로써 보증된 프로그램이 사용될 것으로 당국(authority)이 기대하는 모든 컴퓨터 시스템에서 사용가능하게 된다.
디지탈 서명은 디지탈 서명 알고리즘 RSA 및 DSA, 그리고, 해싱 알고리즘 SHA-1, MD5, MD4 및 MDC를 포함하며 이들로 제한되지 않는, 다수의 잘 알려진 기법을 사용하여 계산될 수 있다.
블록(217)에서 DSIG는 결합된 프로그램/이름 객체 PANA에 첨부되고, 블록(219)에서 저장되며, 따라서 서명 DSIG는 프로그램이 분산될 때 및 컴퓨터 시스템으로 적재될 때 이 프로그램과 함께 전송된다. 프로그램, 이름 및 디지탈 서명을 포함하는 이 최종 분산 객체는 보증 프로그램 A (CPA)라 불린다. 이제, 블록(221)에서 보증 프로그램은 지속 저장 장치를 구비한 보안 영역 및 본 발명에 따르는 운영체제를 가지는 단말 사용자(end user) 위치로 분산될 수 있다.
본 발명에 따르는 운영체제가 프로그램을 컴퓨터 시스템으로 적재시킬 때, 이 운영체제는 첨부된 디지탈 서명 DSIG를 확인하므로써 프로그램 그자체 및 프로그램 이름의 인증을 확인한다. 전술한 바와 같이, 공용키 KPU는 프로그램 PA를 사용할 필요가 있는 모든 컴퓨터 시스템에 사용가능하다.
이제, 도 4를 참조하면, 본 발명에 따르는 컴퓨터의 운영체제는 실행할 프로그램의 적재시에 다음과 같은 단계를 수행한다.
블록(301)에서, 보증 프로그램 객체 CPA는 디지탈 서명 DSIG 및 결합된 프로그램/이름 객체 PANA로 분리된다.
DSIG가 객체 PANA에서 프로그램 및 그의 이름에 대한 유효한 서명인지에 대한확인은 다음과 같은 단계에 따라서 공용키 KPU를 사용하여 달성된다. 먼저, 블록(303)에서 공용키 KPU를 사용하여 디지탈 서명 DSIG가 해독된다. 서명 DSIG가 정말로 대응하는 전용키로써 생성된 경우, 이 해독의 결과는 해시 H'(PANA)일 것이다.
다음에, 블록(305)에서, 보증동안 행해진 바와 동일한 방식으로 해시 H(PANA)를 계산한다. 블록(307)에서, 블록(303) 및 블록(305)로부터의 결과를 비교하여, H(PANA) = H'(PANA)인가를 조사한다. 만약 동일한 경우, 디지탈 서명은 PANA가 보증 당국에 의해 서명되었음을 확인 및 입중하며, 또한, PANA가 변형되지 않았음을 입증한다.
서명이 올바르지 않은 경우, 블록(309)에서 적재 프로세스가 중지된다. 서명이 맞는 경우, 블록(311)에서 객체 PANA는 프로그램 PA및 프로그램 이름 NA로 분리된다. 블록(313)에서, 프로그램 이름 NA는 운영체제 저장 장치의 데이터 영역 속성 테이블에 저장되는데, 이 속성 테이블에서 이 이름은 운영체제 그 자신외의 다른 어떠한 프로그램에 의해서도 변경될 수 없다. 블록(315)에서, 프로그램이 적재되고, 블록(317)에서 프로그램 PA의 실행이 개시된다.
모든 프로그램이 소유한 지속 데이터 영역은 컴퓨터의 운영체제에 의해 관리된다. 애플리케이션 프로그램은 운영체제 서비스에 요청하지 않고 이 영역을 직접 액세스할 수 없다.
프로그램이 운영체제에게 새로운 지속 데이터 영역을 할당할 것을 요구할 때, 운영체제는 프로그램의 이름을 조사하고, 이 이름을 지속 데이터 영역과 영구히 연관시키는 방식으로 이 이름을 저장한다. 따라서, 모든 지속 데이터 영역에는 영구 불변의 소유자 이름 필드가 첨부된다.
차후에, 프로그램이 기존의 데이터 영역에 대한 액세스를 요청할 때, 운영체제는 요청한 프로그램이 데이터 영역의 생성자 즉, 소유자인지를 확인한다. 운영체제는 프로그램 적재시에 저장된 프로그램의 이름과 데이터 영역 그자체에 첨부된 소유자 이름을 비교한다. 이 둘이 다른 경우, 프로그램은 요청한 데이터 영역을 액세스할 수 없다. 우리가 프로그램 이름이 어떤 방식으로든 위조될 수 없다고 보증할 수 있는 경우, 이 메카니즘은 소정 프로그램이 다른 프로그램의 데이터를 액세스하지 못하게 막는다. 이러한 보증은 전술한 프로그램 보증 및 프로그램 적재 프로세스를 통하여 제공된다.
이해할 것은 고유한 애플리케이션 프로그램 이름과 데이터 영역 소유자 이름의 비교가 정확한 매칭일 필요는 없으며, 어떤 시스템에서는 다른 부분적 또는 전체적 비교가 보다 양호한 역할을 할 것이라는 점이다. 예를 들면, 동일한 지속 데이터 영역에 대한 액세스를 요구하고 이러한 액세스에 대한 허가를 받으려는 프로그램들의 군(family)이 있을 수 있는데, 이 경우 보증 당국은 모든 이름이 동일한 문자로 시작하지만 접미사가 다르게 끝나도록 배정할 수 있다. 프로그램XYZ군은 XYZA, XYZB 등을 포함할 수 있다. 이 예에서, 단지 이름의 XYZ 부분만이 지속 데이터 영역 소유자 이름과 매칭될 것을 요구된다. 마찬가지로, 매칭은 정확한 매칭 이외의 것일 수 있지만, 보수, 역순서 문자 및 본 발명의 범주를 벗어나지 않는 범위내에서 이의 다른 변형일 수 있다.
데이터 영역 액세스 제어가 도 5의 흐름도에 도시되는데, 여기서 다음과 같은 단계가 발생한다. 블록(401)에서, 이름 NA를 가지는 애플리케이션 프로그램 A가 데이터 영역 D2를 액세스하기를 요청한다. 이 요청은 점선 경로를 통하여 블록(403)에서 SRDI 관리자(109)로 전해진다. SRDI 관리자는 이 프로그램이 적재되었을 시에 프로그램 A에 대해 저장되었던 이름 NA를 인출한다. 그 다음, SRDI 관리자는 데이터 영역 D2와 연관된 소유자 이름을 검사한다.
블록(405)에서 SRDI 관리자는 두 값을 비교하고, 블록(407)에서 요청자 이름(NA)이 데이터 소유자 이름(NA)과 동일하다는 것을 발견하고, 블록(409)에서 데이터 영역 D2를 프로그램 A의 국부 기술자 테이블에 할당하므로써 액세스가 승인될 수 있다.
또한, 도 5는 실선 경로에서, 상이한 프로그램이 소유한 데이터 영역에 대한 액세스 시도를 도시하는데, 여기서, 다음과 같은 단계들이 발생한다. 블록(402)에서, 이름 NA를 가지는 애플리케이션 프로그램 A가 데이터 영역 D1을 액세스하기를 요청한다. 이 요청은 실선 경로를 통하여 블록(403)에서 SRDI 관리자로 전해진다. SRDI 관리자는 이 프로그램이 적재된 때의 프로그램 A에 대하여 저장된 이름을 인출한다. 또한, 이 이름은 NA이다. 그 다음, SRDI 관리자는 데이터 영역 D1과 연관된 소유자 이름을 검사하고, 이 이름이 NB인 것을 발견한다. 블록(405)에서, SRDI 관리자는 두 값을 비교하고, 요청자 이름(NA)이 데이터 소유자 이름(NB)과 다르므로, 메모리를 할당하지 않고 액세스를 거부하며, 따라서 프로그램 A는 프로그램 B가 소유한 데이터를 액세스할 수 없다. 이해할 것은 이 바람직한 실시예에서 비교가 동일성에 대해 행해졌지만, 프로그램 이름을 데이터 소유자 이름과 매칭하기 위하여 다르게 비교가 행해질 수 있다는 점이다.
이해할 것은 지속 메모리의 데이터 영역에 대한 액세스의 허용은 전술한 바와 같은 할당에 의해 이루어지거나 또는, 보호 레벨 0에서 SRDI 관리자의 국부 기술자 테이블에 의해 할당된 영역으로부터의 데이터를 RAM내 또다른 영역으로 실제로 복사하므로써 이루어질 수 있다는 점이다. 이러한 RAM내의 다른 영역은 레벨 0에서 SRDI 관리자의 국부 기술자 테이블에 의해 할당되며, 또한, 레벨 3에서 그의 국부 기술자 테이블을 통하여, 요청한 애플리케이션 프로그램에 할당될 것이다.
본 발명은 보안 영역내의 지속 데이터와, 보안 영역밖에서 발생한 일시적인 애플리케이션 프로그램을 관련시키는 안전한 방식을 제공한다. 프로그램이 적재된 때, 그의 인증이 확인되고, 이 프로그램이 생성했던 데이터 영역과 자동적으로 연관되며, 어떠한 프로그램도 상이한 프로그램이 생성한 소정의 데이터 영역을 액세스할 수 없다.
물론, 본 발명의 사상 및 범주를 벗어나지 않는 범위내에서 본 발명에 대한다수의 변형 및 개선이 행해질 수 있다. 또한, 본 발명의 어떤 특징은 상응하는 다른 특징을 사용하지 않고서도 사용될 수 있다. 따라서, 상기 상세한 설명은 본 발명의 원리를 설명하기 위한 것이지 제약하기 위한 것은 아니다.
따라서, 본 발명에 의하면, 보안 영역의 지속 데이터와 비보안 영역의 애플리케이션 프로그램을 안전하게 연관시킬 수 있고, 또한 임의의 프로그램이 상이한 프로그램 소유의 데이터 영역을 액세스하는 것을 막을 수 있다.

Claims (4)

  1. 첨부된 디지탈 서명 DPN 및 객체 PN(a object PN)을 구비한 인증된(certified) 프로그램 CP를 보안 영역(a secure area)에서 실행시키기 위하여 외부 저장 장치로부터 상기 보안 영역으로 적재시키는 방법에 있어서,
    ① 상기 보안 영역에 상주하는 운영체제에게 상기 프로그램 CP를 적재할 것을 요청하는 단계와,
    ② 상기 외부 저장 장치로부터 운영체제 보호 모드 메모리(operating sytem protected mode memory)로 CP를 인출하는 단계와,
    ③ 상기 보안 영역의 보호 모드 메모리에서, 상기 인증된 프로그램 CP의 상기 객체 PN으로부터 상기 디지탈 서명 DPN을 분리시키는 단계와,
    ④ 상기 DPN을 생성하는데 사용했던 공용키-전용키쌍 알고리즘의 전용키에 대응하는 공용키를 사용하여, 상기 디지탈 서명 DPN이 상기 객체 PN에 대한 유효 서명임을 확인하는 단계와,
    ⑤ 상기 객체 PN의 이름 N으로부터 프로그램 P를 분리시키는 단계와,
    ⑥ 실행을 위하여 프로그램 P를 메모리로 적재시키는 단계와,
    ⑦ 프로그램 P가 상기 보안 영역의 메모리에 저장된 데이터 파일을 액세스하는 것을 허용하는 데 차후 사용하기 위하여 운영체제 보호 모드 메모리에 이름 N을 저장하는 단계를 포함하는
    인증된 프로그램의 보안 영역으로의 적재 방법.
  2. 제 1 항에 있어서,
    ① 상기 운영체제에서, 데이터 객체 D에 대한 상기 프로그램 P의 액세스 요청을 수신하는 단계와,
    ② 상기 보호 모드 메모리로부터 상기 프로그램 P의 이름 N을 인출하는 단계와,
    ③ 상기 데이터 객체 D로부터 소유자 이름 n을 인출하는 단계와,
    ④ 상기 이름 N과 상기 소유자 이름 n을 비교하는 단계와,
    ⑤ 이름 N 및 소유자 이름 n이 일치할 때, 데이터 객체 D에 대한 프로그램 P의 액세스를 승인하는 단계와,
    ⑥ 이름 N 및 소유자 이름 n이 일치하지 않을 때, 데이터 객체 D에 대한 프로그램 P의 액세스를 거부하는 단계를 더 포함하는
    인증된 프로그램의 보안 영역으로의 적재 방법.
  3. 첨부된 디지탈 서명 DPN 및 객체 PN을 구비한 인증된 프로그램 CP를 보안 영역에서 실행시키기 위하여 외부 저장 장치로부터 상기 보안 영역으로 적재시키는 장치에 있어서,
    ① 상기 보안 영역에 상주하는 운영체제에게 상기 프로그램 CP를 적재할 것을 요청하는 수단과,
    ② 상기 외부 저장 장치로부터 운영체제 보호 모드 메모리로 CP를 인출하는 수단과,
    ③ 상기 보안 영역의 보호 모드 메모리에서, 상기 인증된 프로그램 CP의 상기 객체 PN으로부터 상기 디지탈 서명 DPN을 분리시키는 수단과,
    ④ 상기 DPN을 생성하는 데 사용했던 공용키-전용키쌍 알고리즘의 전용키에 대응하는 공용키를 사용하여, 상기 디지탈 서명 DPN이 상기 객체 PN에 대한 유효 서명임을 확인하는 수단과,
    ⑤ 상기 객체 PN의 이름 N으로부터 프로그램 P를 분리시키는 수단과,
    ⑥ 실행을 위하여 상기 프로그램 P를 메모리로 적재시키는 수단과,
    ⑦ 상기 프로그램 P가 상기 보안 영역의 메모리에 저장된 데이터 파일을 액세스하는 것을 허용하는 데 차후 사용하기 위해 운영체제 보호 모드 메모리에 이름 N을 저장하는 수단을 포함하는
    프로그램 적재 장치.
  4. 제 3 항에 있어서,
    ① 상기 운영체제에서, 데이터 객체 D에 대한 상기 프로그램 P의 액세스 요청을 수신하는 수단과,
    ② 상기 보호 모드 메모리로부터 상기 프로그램 P의 이름 N을 인출하는 수단과,
    ③ 상기 데이터 객체 D로부터 소유자 이름 n을 인출하는 수단과,
    ④ 상기 이름 N과 상기 소유자 이름 n을 비교하는 수단과,
    ⑤ 이름 N과 소유자 이름 n이 일치할 때는 데이터 객체 D에 대한 프로그램 P의 액세스를 승인하고, 이름 N과 소유자 이름 n이 일치되지 않을 때는 데이터 객체 D에 대한 프로그램 P의 액세스를 거부하는 수단을 더 포함하는
    프로그램 적재 장치.
KR1019980016875A 1997-06-20 1998-05-12 보안저장영역에서애플리케이션데이터의보호방법및장치 KR100309535B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/877,776 1997-06-20
US08/877,776 US6175924B1 (en) 1997-06-20 1997-06-20 Method and apparatus for protecting application data in secure storage areas
US8/877,776 1997-06-20

Publications (2)

Publication Number Publication Date
KR19990006432A KR19990006432A (ko) 1999-01-25
KR100309535B1 true KR100309535B1 (ko) 2001-11-15

Family

ID=25370695

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980016875A KR100309535B1 (ko) 1997-06-20 1998-05-12 보안저장영역에서애플리케이션데이터의보호방법및장치

Country Status (6)

Country Link
US (1) US6175924B1 (ko)
EP (1) EP0886202B1 (ko)
JP (1) JP3363379B2 (ko)
KR (1) KR100309535B1 (ko)
CN (1) CN1097772C (ko)
DE (1) DE69815599T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020034862A (ko) * 2000-11-02 2002-05-09 권문상 컴퓨터의 응용프로그램의 비밀값 제어방법

Families Citing this family (128)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5014796A (en) * 1996-03-22 1997-10-17 Hitachi Limited Method and device for managing computer network
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
JPH11296423A (ja) * 1998-04-06 1999-10-29 Matsushita Electric Ind Co Ltd ファイル管理システム、ファイル管理装置および媒体
US7711714B2 (en) * 1998-09-22 2010-05-04 Hitachi, Ltd. Method and a device for sterilizing downloaded files
US6321238B1 (en) * 1998-12-28 2001-11-20 Oracle Corporation Hybrid shared nothing/shared disk database system
FI990461A0 (fi) 1999-03-03 1999-03-03 Nokia Mobile Phones Ltd Menetelmä ohjelmiston lataamiseksi palvelimelta päätelaitteeseen
US6565443B1 (en) * 1999-09-14 2003-05-20 Innovative Gaming Corporation System and method for verifying the contents of a mass storage device before granting access to computer readable data stored on the device
US6748592B1 (en) * 2000-02-14 2004-06-08 Xoucin, Inc. Method and apparatus for protectively operating a data/information processing device
JP2001243079A (ja) * 2000-03-02 2001-09-07 Omron Corp 情報処理システム
US6934817B2 (en) * 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6957332B1 (en) * 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US20060064596A1 (en) * 2000-05-09 2006-03-23 Microsoft Corporation Restricted software and hardware usage on a computer
FR2810138B1 (fr) * 2000-06-08 2005-02-11 Bull Cp8 Procede de stockage securise d'une donnee sensible dans une memoire d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
US6976162B1 (en) 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US6988196B2 (en) * 2000-12-22 2006-01-17 Lenovo (Singapore) Pte Ltd Computer system and method for generating a digital certificate
US7225441B2 (en) * 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
JP2002208922A (ja) * 2001-01-12 2002-07-26 Ntt Docomo Inc 暗号化装置および復号装置ならびに認証情報付与装置、暗号化方法、復号方法、認証情報付与方法
US20020133702A1 (en) * 2001-03-16 2002-09-19 Stevens Curtis E. Methods of granting access to a protected area
US7272831B2 (en) * 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
EP1388061A4 (en) * 2001-05-17 2010-11-03 Decru Inc ENCRYPTION BASED SAFETY SYSTEM FOR NETWORK STORAGE
US7925894B2 (en) * 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
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
US7257844B2 (en) * 2001-07-31 2007-08-14 Marvell International Ltd. System and method for enhanced piracy protection in a wireless personal communication device
US7463739B2 (en) * 2001-08-02 2008-12-09 Safenet, Inc. Method and system providing improved security for the transfer of root keys
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US20030059049A1 (en) * 2001-09-24 2003-03-27 Mihm Thomas J. Method and apparatus for secure mobile transaction
US7103529B2 (en) * 2001-09-27 2006-09-05 Intel Corporation Method for providing system integrity and legacy environment emulation
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US20030105830A1 (en) * 2001-12-03 2003-06-05 Duc Pham Scalable network media access controller and methods
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
JP2003216448A (ja) * 2002-01-17 2003-07-31 Ntt Docomo Inc 移動通信端末及びデータ送信方法
US20030154372A1 (en) * 2002-02-12 2003-08-14 Barszcz Chester J. Secure remote data acquisition method and system
US7124273B2 (en) 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
JP2003271457A (ja) * 2002-03-14 2003-09-26 Sanyo Electric Co Ltd データ記憶装置
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7127548B2 (en) * 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
US7139890B2 (en) 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
US8335915B2 (en) * 2002-05-14 2012-12-18 Netapp, Inc. Encryption based security system for network storage
US6820177B2 (en) 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US6996748B2 (en) * 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7124327B2 (en) * 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US6678828B1 (en) * 2002-07-22 2004-01-13 Vormetric, Inc. Secure network file access control system
US6931530B2 (en) 2002-07-22 2005-08-16 Vormetric, Inc. Secure network file access controller implementing access control and auditing
US7334124B2 (en) * 2002-07-22 2008-02-19 Vormetric, Inc. Logical access block processing protocol for transparent secure file storage
US7509683B2 (en) * 2002-08-26 2009-03-24 Hewlett-Packard Development Company, L.P. System and method for authenticating digital content
US7143288B2 (en) 2002-10-16 2006-11-28 Vormetric, Inc. Secure file system server architecture and methods
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US7073042B2 (en) * 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US7900017B2 (en) 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128528A1 (en) * 2002-12-31 2004-07-01 Poisner David I. Trusted real time clock
US7076802B2 (en) 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
JP3880933B2 (ja) * 2003-01-21 2007-02-14 株式会社東芝 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法
JP4338989B2 (ja) * 2003-02-20 2009-10-07 パナソニック株式会社 メモリデバイス
DE10331874A1 (de) * 2003-07-14 2005-03-03 Robert Bosch Gmbh Fernprogrammieren eines programmgesteuerten Geräts
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US8079034B2 (en) * 2003-09-15 2011-12-13 Intel Corporation Optimizing processor-managed resources based on the behavior of a virtual machine monitor
US7424709B2 (en) * 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7739521B2 (en) * 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) * 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7237051B2 (en) * 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US7177967B2 (en) * 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US20050086471A1 (en) * 2003-10-20 2005-04-21 Spencer Andrew M. Removable information storage device that includes a master encryption key and encryption keys
US8352726B2 (en) * 2003-11-07 2013-01-08 Netapp, Inc. Data storage and/or retrieval
US7636844B2 (en) * 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
JP4578088B2 (ja) * 2003-11-20 2010-11-10 大日本印刷株式会社 情報処理装置、情報処理システム及びプログラム
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
EP1538509A1 (fr) * 2003-12-04 2005-06-08 Axalto S.A. Procédé de sécurisation de l'éxécution d'un programme contre des attaques par rayonnement
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US20050152539A1 (en) * 2004-01-12 2005-07-14 Brickell Ernie F. Method of protecting cryptographic operations from side channel attacks
JP4335707B2 (ja) * 2004-02-06 2009-09-30 Necエレクトロニクス株式会社 プログラム改竄検出装置、及びプログラム改竄検出プログラムおよびプログラム改竄検出方法
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US20050216920A1 (en) * 2004-03-24 2005-09-29 Vijay Tewari Use of a virtual machine to emulate a hardware device
US7356735B2 (en) * 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) * 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US8024730B2 (en) 2004-03-31 2011-09-20 Intel Corporation Switching between protected mode environments utilizing virtual machine functionality
US7305592B2 (en) * 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
CN1324471C (zh) * 2004-08-18 2007-07-04 中兴通讯股份有限公司 对指定进程私有数据区和堆栈区实施保护的方法
US7802110B2 (en) 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code
US7516495B2 (en) * 2004-09-10 2009-04-07 Microsoft Corporation Hardware-based software authenticator
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
KR100589541B1 (ko) * 2004-11-25 2006-06-14 소프트캠프(주) 접근이 통제되는 가상디스크들 간의 온라인을 통한데이터의 보안전송시스템과 이를 통한 보안전송방법
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8533777B2 (en) 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) * 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US20060236100A1 (en) * 2005-04-19 2006-10-19 Guruprasad Baskaran System and method for enhanced layer of security to protect a file system from malicious programs
US8898452B2 (en) * 2005-09-08 2014-11-25 Netapp, Inc. Protocol translation
US7617541B2 (en) * 2005-09-09 2009-11-10 Netapp, Inc. Method and/or system to authorize access to stored data
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US7657754B2 (en) * 2005-12-08 2010-02-02 Agere Systems Inc Methods and apparatus for the secure handling of data in a microcontroller
US9177176B2 (en) * 2006-02-27 2015-11-03 Broadcom Corporation Method and system for secure system-on-a-chip architecture for multimedia data processing
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US8429724B2 (en) 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
US7539890B2 (en) * 2006-04-25 2009-05-26 Seagate Technology Llc Hybrid computer security clock
US8028166B2 (en) * 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
JP4902294B2 (ja) * 2006-08-18 2012-03-21 クラリオン株式会社 カーナビゲーション装置、並びに、データベース管理方法およびプログラム
US8042155B1 (en) 2006-09-29 2011-10-18 Netapp, Inc. System and method for generating a single use password based on a challenge/response protocol
US8190905B1 (en) 2006-09-29 2012-05-29 Netapp, Inc. Authorizing administrative operations using a split knowledge protocol
US8245050B1 (en) 2006-09-29 2012-08-14 Netapp, Inc. System and method for initial key establishment using a split knowledge protocol
US8607046B1 (en) 2007-04-23 2013-12-10 Netapp, Inc. System and method for signing a message to provide one-time approval to a plurality of parties
US8611542B1 (en) 2007-04-26 2013-12-17 Netapp, Inc. Peer to peer key synchronization
US8824686B1 (en) 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
KR20080104591A (ko) * 2007-05-28 2008-12-03 삼성전자주식회사 메모리 보호 방법 및 장치
US8196182B2 (en) 2007-08-24 2012-06-05 Netapp, Inc. Distributed management of crypto module white lists
US9774445B1 (en) 2007-09-04 2017-09-26 Netapp, Inc. Host based rekeying
FR2926381A1 (fr) * 2008-01-11 2009-07-17 Sagem Securite Sa Methode de transfert securise de donnees
EP2256658A1 (en) * 2009-05-26 2010-12-01 Gemalto SA Method of executing an application embedded in a portable electronic device
KR20120067136A (ko) * 2010-12-15 2012-06-25 삼성전자주식회사 전자 장치 및 이에 적용되는 파일 삭제 방지 방법
JP5583857B2 (ja) * 2011-11-04 2014-09-03 エスケー プラネット カンパニー、リミテッド セキュアドメインとノーマルドメインとの間の保安連動方法及び保安アプリケーションダウンロードの管理方法、管理サーバー、端末機、及びこれを適用した管理システム
US9069955B2 (en) 2013-04-30 2015-06-30 International Business Machines Corporation File system level data protection during potential security breach
JP2014235326A (ja) * 2013-06-03 2014-12-15 富士通セミコンダクター株式会社 システム、情報処理装置、セキュアモジュール、および検証方法
CN107070665B (zh) * 2017-04-28 2018-06-12 北京海泰方圆科技股份有限公司 一种数字签名的方法及装置
CN109190411A (zh) * 2018-07-25 2019-01-11 百富计算机技术(深圳)有限公司 一种操作系统的主动安全防护方法、系统及终端设备
CN110929304A (zh) * 2019-12-04 2020-03-27 四川虹微技术有限公司 一种基于risc-v的内存保护方法
CN110909391A (zh) * 2019-12-04 2020-03-24 四川虹微技术有限公司 一种基于risc-v的安全存储方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08166879A (ja) * 1994-06-10 1996-06-25 Sun Microsyst Inc 提供用ソフトウェアの安全性強化方法及び装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4328542A (en) * 1979-11-07 1982-05-04 The Boeing Company Secure implementation of transition machine computer
US5148461A (en) * 1988-01-06 1992-09-15 Jupiter Toy Co. Circuits responsive to and controlling charged particles
US4868877A (en) * 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5144659A (en) * 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
US5027397A (en) 1989-09-12 1991-06-25 International Business Machines Corporation Data protection by detection of intrusion into electronic assemblies
US5048085A (en) * 1989-10-06 1991-09-10 International Business Machines Corporation Transaction system security method and apparatus
JP2886969B2 (ja) * 1990-10-29 1999-04-26 株式会社日立製作所 プログラム変換方法
US5182770A (en) * 1991-04-19 1993-01-26 Geza Medveczky System and apparatus for protecting computer software
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
JPH0612251A (ja) * 1992-06-24 1994-01-21 Nec Shizuoka Ltd プログラム起動装置
JPH0628264A (ja) * 1992-07-10 1994-02-04 Mitsubishi Electric Corp 半導体記憶装置及びそのアクセス方法
US5412718A (en) * 1993-09-13 1995-05-02 Institute Of Systems Science Method for utilizing medium nonuniformities to minimize unauthorized duplication of digital information
US5526428A (en) * 1993-12-29 1996-06-11 International Business Machines Corporation Access control apparatus and method
US5579393A (en) * 1994-06-21 1996-11-26 Escan, Inc. System and method for secure medical and dental record interchange
EP0754999A4 (en) 1995-02-08 2000-03-01 Sega Enterprises Kk INFORMATION PROCESSOR WITH A SECURITY CONTROL FUNCTION
US5604800A (en) * 1995-02-13 1997-02-18 Eta Technologies Corporation Personal access management system
US5727061A (en) * 1995-02-13 1998-03-10 Eta Technologies Corporation Personal access management systems
JP3624971B2 (ja) * 1995-10-02 2005-03-02 松下電器産業株式会社 ソフトウエア利用制御方法
US5692047A (en) 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
JP3580333B2 (ja) * 1996-04-10 2004-10-20 日本電信電話株式会社 暗号認証機能の装備方法
JPH09288503A (ja) * 1996-04-22 1997-11-04 Fuji Electric Co Ltd Plc用サポートシステム導入方法
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08166879A (ja) * 1994-06-10 1996-06-25 Sun Microsyst Inc 提供用ソフトウェアの安全性強化方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020034862A (ko) * 2000-11-02 2002-05-09 권문상 컴퓨터의 응용프로그램의 비밀값 제어방법

Also Published As

Publication number Publication date
KR19990006432A (ko) 1999-01-25
US6175924B1 (en) 2001-01-16
DE69815599D1 (de) 2003-07-24
CN1203394A (zh) 1998-12-30
CN1097772C (zh) 2003-01-01
EP0886202A3 (en) 1999-11-10
EP0886202B1 (en) 2003-06-18
JP3363379B2 (ja) 2003-01-08
EP0886202A2 (en) 1998-12-23
DE69815599T2 (de) 2004-05-13
JPH1124919A (ja) 1999-01-29

Similar Documents

Publication Publication Date Title
KR100309535B1 (ko) 보안저장영역에서애플리케이션데이터의보호방법및장치
CN109923548B (zh) 通过监管进程访问加密数据实现数据保护的方法、系统及计算机程序产品
KR100294829B1 (ko) 플래시 메모리를 보호하는 방법 및 장치
KR101158184B1 (ko) 클라이언트 플랫폼들 상의 콘텐츠 보호
US20110289294A1 (en) Information processing apparatus
JP4498735B2 (ja) オペレーティングシステムおよびカスタマイズされた制御プログラムとインタフェースする安全なマシンプラットフォーム
KR100267872B1 (ko) 프로그램코드배포방법및컴퓨터시스템
JP5175856B2 (ja) セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法
JP5260081B2 (ja) 情報処理装置及びその制御方法
US7565685B2 (en) Operating system independent data management
US6539480B1 (en) Secure transfer of trust in a computing system
KR100611687B1 (ko) 멀티-토큰 실 및 실 해제
CN109800050B (zh) 一种虚拟机的内存管理方法、装置、相关设备及系统
US20030221115A1 (en) Data protection system
JP2002318719A (ja) 高信頼計算機システム
KR20190063264A (ko) 가상 트러스트 컴퓨팅 베이스를 이용한 기기 보안성 검증 방법 및 장치
JP5346608B2 (ja) 情報処理装置およびファイル検証システム
US10158623B2 (en) Data theft deterrence
JP2020150318A (ja) 情報処理装置、情報処理方法及びプログラム
CN108345804B (zh) 一种可信计算环境中的存储方法和装置
RU2067313C1 (ru) Устройство защиты от несанкционированного доступа к информации, хранимой в персональной эвм
US11841970B1 (en) Systems and methods for preventing information leakage
Karger et al. Implementing a high-assurance smart-card OS
CN115776405A (zh) 面向智能电网的嵌入式设备终端安全防护方法、装置及系统
CN115982699A (zh) 基于安全内存的恶意攻击防御方法、装置、设备及介质

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
FPAY Annual fee payment

Payment date: 20060814

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee