[go: up one dir, main page]

KR100405574B1 - 위조방지 방법 및 장치 - Google Patents

위조방지 방법 및 장치 Download PDF

Info

Publication number
KR100405574B1
KR100405574B1 KR10-2000-7002387A KR20007002387A KR100405574B1 KR 100405574 B1 KR100405574 B1 KR 100405574B1 KR 20007002387 A KR20007002387 A KR 20007002387A KR 100405574 B1 KR100405574 B1 KR 100405574B1
Authority
KR
South Korea
Prior art keywords
confusion
instruction cells
execution
programming instruction
counterfeit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
KR10-2000-7002387A
Other languages
English (en)
Other versions
KR20010023733A (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 KR20010023733A publication Critical patent/KR20010023733A/ko
Application granted granted Critical
Publication of KR100405574B1 publication Critical patent/KR100405574B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • 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
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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]
    • 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/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • 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/2107File 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/2135Metering
    • 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/2151Time stamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)

Abstract

한 장치에서, 다수의 혼동(obfuscated) 프로그래밍 명령어들은 상기 혼동 프로그래밍 명령어들의 실행이 감시되고 있는지 자체-검증하도록 구비된다. 다른 장치에서, 다수의 혼동 프로그래밍 명령어들은 장치가 상기 혼동 프로그래밍 명령어들의 단일 단계 실행을 지원하는 모드로 동작하고 있는지 판단하도록 구비된다. 또다른 장치에서, 다수의 혼동 프로그래밍 명령어들은 경과된 실행시간의 양이 임계치를 초과했는지 검증하도록 구비된다(단계 154). 또다른 장치에서, 제1 및 제2 위조방지 기법을 각각 구현하기 위해 혼동 프로그래밍 명령어들의 제1 및 제2 그룹이 제공되며, 상기 프로그래밍 명령어들의 제1 및 제2 그룹은 제1 및 제2 위조방지 기법에 대응하는 제1 및 제2 키값을 위해 하나의 저장 위치를 공유한다.

Description

위조방지 방법 및 장치{TAMPER RESISTANT METHODS AND APPARATUS}
예를 들어, 금융 거래, 부재 권한부여(unattended authorization) 및 콘텐츠 관리와 같은 많은 애플리케이션은 그들의 동작의 기본적인 무결성(basic integrity)이 인정되거나 또는 적어도 검증될 필요가 있다. 비록 이 기술분야에 암호화 및 해독 기술과 같은 다양한 보안 방법이 알려져 있지만, 이러한 보안 방법은 쉽게 손상될 수 있으며, 그 이유는 이들 애플리케이션 및 보안 방법이 개방형의 억세스가능한 아키텍처를 가진 시스템 상에 구현되어, 보안 방법을 포함하는 소프트웨어 및 하드웨어가 모두 부당한 사용자 또는 부당한 프로그램에 의해 감시되고 변경될 수 있기 때문이다.
개방형의 억세스가능한 아키텍처에 기반한 시스템은 보안 방법을 사용함에도 불구하고 근본적으로 안전하지 못한 플랫폼이다. 그러나, 개방성 및 억세스가능성은 다양한 장점을 제공하여, 이러한 시스템의 성공에 기여한다. 그러므로, 이러한개방성 및 억세스가능성에도 불구하고 이들 근본적으로 안전하지 못한 플랫폼 상에서도 소프트웨어 실행이 실질적으로 감시불가능하거나 변경불가능하게 만드는 기술이 요구된다.
본 발명은 시스템 보안(system security) 분야에 관한 것이다. 특히, 본 발명은 위조방지(tamper resistant) 방법 및 장치에 관한 것이다.
본 발명은 첨부도면에 도시된 실시예를 이용하여 설명되며, 도면에서 유사한 참조번호는 유사한 구성요소를 나타낸다.
도1은 본 발명의 다양한 기술사상과 병합된 예시적인 위조방지 모듈의 개요를 도시한 블록도.
도2 및 도3은 본 발명의 무결성 검증 방법의 스타트-업 및 실행시간 동안의 연산 흐름의 일실시예를 도시한 흐름도.
도4는 본 발명의 침입자 검출 방법의 연산 흐름의 일실시예를 도시한 흐름도.
도5 및 도6은 본 발명의 2가지 감시 검출 방법의 연산 흐름의 일실시예를 도시한 흐름도.
도7은 다양한 위조방지 방법을 상호결합하기 위한 본 발명의 결합 기법의 일실시예를 도시한 블록도.
도8은 본 발명의 기술사상을 병합한 스크램블된 콘텐츠를 위한 위조방지 플레이어의 일실시예를 도시한 블록도.
도9는 본 발명을 실시하기에 적합한 컴퓨터 시스템의 일실시예를 도시한 블록도.
발명의 요약
한 장치에서, 다수의 혼동(obfuscated) 프로그래밍 명령어들은 상기 혼동 프로그래밍 명령어들의 실행이 감시되고 있는지 자체-검증하도록 구비된다.
다른 장치에서, 다수의 혼동 프로그래밍 명령어들은 장치가 상기 혼동 프로그래밍 명령어들의 단일 단계 실행을 지원하는 모드로 동작하고 있는지 판단하도록 구비된다.
또다른 장치에서, 다수의 혼동 프로그래밍 명령어들은 경과된 실행시간의 양이 임계치를 초과했는지 검증하도록 구비된다.
또다른 장치에서, 제1 및 제2 위조방지 기법을 각각 구현하기 위해 혼동 프로그래밍 명령어들의 제1 및 제2 그룹이 제공되며, 상기 프로그래밍 명령어들의 제1 및 제2 그룹은 제1 및 제2 위조방지 기법에 대응하는 제1 및 제2 키값을 위해 하나의 저장 위치를 공유한다.
다음의 설명에서는 본 발명의 다양한 관점이 설명된다. 그러나, 이 기술분야에 통상의 지식을 가진 자는 본 발명의 관점의 전부 또는 단지 일부만 가지고도 본 발명이 실시될 수 있다는 것을 이해할 것이다. 설명목적상, 본 발명의 완전한 이해를 제공하기 위해 특정 번호, 재료 및 구성이 기재되어 있다. 그러나, 이 기술분야에 통상의 지식을 가진 자는 이러한 특정 세부사항 없이도 본 발명이 실시될 수 있다는 것을 이해할 것이다. 다른 예로서, 본 발명을 불명확하게 만들지 않기 위해 공지된 특징들은 생략되거나 간략화된다.
설명의 일부분은 이 기술분야에 통상의 지식을 가진 자에 의해 그 작업의 본질을 다른 통상의 지식을 가진 자에게 전달하기 위해 일반적으로 사용되는 방식에 일치하는, 데이터, 플래그, 비트, 값, 문자, 스트링, 번호 등과 같은 컴퓨터 시스템에 의해 수행되는 연산에 관해 제시된다. 이 기술분야에 통상의 지식을 가진 자에게 잘 이해될 수 있는 바와 같이, 이러한 수량들은 컴퓨터 시스템의 기계적 전기적 구성요소들을 통해 저장, 전송, 조합 또는 조작될 수 있는 전기적, 자기적 또는 광학적 신호의 형태를 가질 수 있으며, 컴퓨터 시스템이란 용어는 독립형, 부속형 또는 내장형이 될 수 있는 범용 및 특수목적 데이터 처리기 또는 시스템을 포함하는 것을 말한다.
본 발명의 이해에 가장 도움이 되는 방식으로 여러 분리된 단계들로서 다양한 연산들이 설명되게 되지만, 그 설명하는 순서가 이들 연산들이 반드시 순서, 특히 제시되는 순서에 의존하는 것을 의미하는 것으로 이해되어서는 안된다.
이제 도1을 참조하면, 본 발명의 다양한 기술사상과 병합된 예시적인 위조방지 모듈의 일실시예의 블록도가 도시되어 있다. 도시된 바와 같이, 예시적인 위조방지 모듈(100)은 비-위조방지부(102)와 위조방지부(104)를 포함하고 있다. 도시된 실시예에 있어서, 이들 2개의 부분은 함께 링크되어 단일의 실행가능한 모듈을 형성한다. 본 출원의 목적을 위해, 용어 "모듈"은 이들 부분 사이의 배타적(exclusive) 통신을 용이하게 하는 다양한 부분들 사이의 구조적 관계를 의미하는 일반적인 의미로 사용된 것이다.
미국 특허 출원 제08/662,679호에 기재된 바와 같이, 비-위조방지부(102)는 예시적인 위조방지 모듈(100)의 민감하지 않은(non-sensitive) 다양한 서비스를 구현하는 다수의 플레인 텍스트 프로그래밍 명령어를 포함하고, 반면에, 위조방지부(104)는 예시적인 위조방지 모듈(100)의 다양한 민감한 서비스를 구현하는 프로그래밍 명령어들의 플레인 텍스트 및 혼동 셀(106)들의 다양한 그룹을 포함한다. 하나의 민감한 서비스 또는 민감한 서비스들의 집합을 구현하는 각각의 셀 그룹은 적어도 하나의 플레인 텍스트 셀(106)을 포함한다. 간단하게 말하면, 서비스와 관련된 비밀(secretes)들이 시간과 공간적으로 분산되어 있으며, 따라서 혼동을 준다. 서비스를 혼동시키기 위해 사용되는 혼동 셀들의 수는 서비스 또는 민감성(sensitivity)에 의존한다. 일반적으로, 더 많은 수의 혼동 셀들이 사용될수록, 그러한 혼동이 해독되기가 더욱 어렵게 된다. 보다 상세한 설명은 미국 특허 출원 제08/662,679호를 참조하자.
부가적으로, 본 발명에 따르면, 플레인 텍스트 및 혼동 셀(106)의 선택된 그룹은 예시적인 위조방지 모듈(100)이 침입받거나 감시되고 있지 않다는 것을 동작중에 검증하기 위해 다수의 위조방지 메저(measures)를 포함한다. 이들 위조방지 메저를 사용하는 그룹의 수와 사용되는 위조방지 메저의 수 및 빈도는 서비스 또는 민감성에 의존한다. 보다 상세하게 후술되는 바와 같이, 이들 위조방지 메저는 다수의 무결성 검증 메저와 다수의 감시방지(anti-observation) 메저를 포함한다. 무결성 검증 메저는 스타트-업 및 실행시간 동안에 비-위조방지부(102)의 무결성을 검증하는 제1 무결성 검증 메저와 플레인 텍스트 및 혼동 셀들의 그룹의 호출이 침입자에 의해 발생된 것이 아니라는 것을 검증하는 제2 무결성 검증 메저를 포함한다. 감시방지 메저는 모듈(100)을 실행하는 프로세서가 단일 단계 실행을 지원하는 모드로 동작하고 있지 않다는 것을 검증하는 제1 감시방지 메저와 경과된 실행시간이 정상적인 비-감시(unobserved) 실행과 일치한다는 것을 검증하는 제2 감시방지 메저를 포함한다.
도2 및 도3은 제1 무결성 검증 메저의 연산 흐름의 일실시예를 도시하고 있다. 도2는 스타트-업 시간의 연산 흐름을 도시하고, 도3은 실행시간 동안의 연산 흐름을 도시하고 있다. 도2에 도시된 바와 같이, 도시된 실시예에서 스타트-업 시간에 제1 무결성 검증 메저가 포함된 셀 그룹(GOC)은 블록(108)에서 비-위조방지부(102)를 스캐닝하고, 비-위조방지부(102)에 대한 서명(signature)를 계산한다. 다음에, GOC는 블록(110)에서 비-위조방지부(102)에 대해 미리 저장된 서명을 검색한다. 다음에, GOC는 블록(112-114)에서, 생성된 서명을 검증하기 위해 2개의 서명을 비교한다. 만일 생성된 서명이 성공적으로 검증되면, 그것은 비-위조방지부(102)가 변경되지 않았다는 것을 의미하며, GOC는 블록(116)에서 어떠한 검증 의존 연산도 스킵하지 않고 스타트-업 프로세스가 계속되도록 허용하고, 만일 성공적으로 검증되지 않으면, GOC는 블록(118)에서 검증 의존 연산을 스킵하고 스타트-업 프로세스가 계속되도록 한다. 검증 의존 연산의 예로는, 소정의 민감한 서비스를 배달하는데 필요한 비밀을 셋업하는 것과 관련된 연산이 있다.
도3에 도시된 바와 같이, 도시된 실시예에서, 실행시간 동안의 검증 체크 시간에 블록(120)에서 제1 무결성 검증 메저가 병합된 GOC는 비-위조방지부(102)의 다음 부분을 스캐닝하고, 비-위조방지부(102)에 대한 서명을 점증식으로(incrementally) 계산한다. 다음에, GOC는 블록(122)에서 점증식으로 계산된 서명을 갱신한다. 다음에, GOC는 블록(124)에서 비-위조방지부(102)의 끝에 도달했는지 검사한다. 만일 끝에 도달하지 못했으면, 프로세스는 종료되고, 만일 그렇지 않으면, 프로세스는 블록(126)에서 계속된다.
블록(126)에서, GOC는 비-위조방지부(102)에 대해 미리 저장된 서명을 검색한다. 다음에, GOC는 블록(128-130)에서 생성된 서명을 검증하기 위해 2개의 서명을 비교한다. 만일 생성된 서명이 성공적으로 검증되면, 그것은 비-위조방지부(102)가 변경되지 않았다는 것을 의미하며, GOC는 모듈(100)의 실행이 계속될 수 있도록 허용하고, 만일 성공적으로 검증되지 못하면, GOC는 블록(132)에서 모듈(100)의 실행이 종료되도록 한다. 모듈이 종료되도록 하는 것은 이 기술분야에 잘 알려진 방식으로 수행될 수 있다. 애플리케이션에 따라, 비-위조방지부의 무결성 검증 실패 시점으로부터 모듈이 더 이상의 다운스트림을 이행하지 않도록 하는 것이 바람직할 수 있다.
다시 말하면, 실행시간 무결성 체크는 실행중에 여러번의 검증 체크를 통해점증식으로 수행된다. 이 기술분야에 통상의 지식을 가진 자는 이러한 점증식 방법이 성능에 민감한 서비스에 특히 유용하다는 것을 이해할 것이다. 실행중에 사용되는 검증 체크 횟수는 서비스 또는 민감성에 의존한다.
도4는 제2 무결성 검증 메저의 연산 흐름의 일실시예를 도시하고 있다. 도시된 실시예에서, 호출시에 제2 무결성 검증 메저가 병합된 GOC는 블록(134)에서 그 호출에 대한 리턴 어드레스를 검색한다. 도시된 실시예에서, GOC는 블록(136)에서 그 리턴 어드레스가 모듈(100)의 어드레스 공간내에 있는지 판단한다. 만일 리턴 어드레스가 모듈(100)의 어드레스 공간내에 있으면, 그것은 그 호출이 침입자로부터 발생한 것이 아니라는 것을 의미하며, GOC는 블록(138)에서 모듈(100)의 실행이 계속될 수 있도록 허용하고, 만일 리턴 어드레스가 모듈의 어드레스 공간내에 있지 않으면, GOC는 블록(140)에서 모듈(100)의 실행이 종료되도록 한다. 마찬가지로, 모듈이 종료되도록 하는 것은 이 기술분야에 잘 알려진 여러 가지 방식으로 수행될 수 있다. 애플리케이션에 따라, 침입이 검출되는 시점으로부터 모듈이 더 이상의 다운스트림을 이행하지 못하도록 하는 것이 바람직할 수 있다.
도5는 제1 감시방지 메저의 연산 흐름의 일실시예를 도시하고 있다. 도시된 실시예에서는, 실행 시간 동안의 미리 선택된 시점에서, 제1 감시방지 메저가 병합된 GOC는 블록(142)에서 프로세서 실행 모드 상태 변수를 검색한다. 도시된 실시예에서, GOC는 블록(144)에서 상태 변수가 예를 들어, 디버그 모드(debug mode)와 같이 단일 단계 실행을 지원하는 실행 모드를 나타내는지 판단한다. 만일 상태 변수가 단일 단계 실행을 지원하지 않는 실행 모드를 나타내면, 그것은 모듈(100)의 실행이 감시되고 있지 않다는 것을 의미하며, GOC는 블록(146)에서 모듈(100)의 실행이 계속될 수 있도록 허용하고, 만일 그렇지 않으면, GOC는 블록(148)에서 모듈(100)의 실행이 종료되도록 한다. 마찬가지로, 모듈의 실행이 종료되도록 하는 것은 이 기술분야에 잘 알려진 여러 가지 방식으로 수행될 수 있다. 애플리케이션에 따라, 감시가 검출되는 시점으로부터 모듈이 더 이상의 다운스트림을 이행하지 못하도록 하는 것이 바람직할 수 있다. 프로세서의 실행 모드가 체크되는 횟수 및 실행 시간 동안의 정확한 시점은 서비스 또는 민감성에 의존한다.
도6은 제2 감시방지 메저의 연산 흐름의 일실시예를 도시하고 있다. 도시된 실시예에 있어서는, 실행시간 동안에 미리 선택된 시점에서, 제2 감시방지 메저가 병합된 GOC는 블록(150)에서 모듈(100)을 실행하는 프로세서로부터 타이머 값을 검색하고, 그 검색된 타이머 값(타임스탬프)을 기록한다. 다음에, GOC는 블록(152)에서 그것이 제공하기 위해 지정된 정상적인 서비스의 수행을 계속한다. 미리 선택된 나중의 시점에서, GOC는 블록(154-156)에서 경과된 실행시간의 양이 소정의 임계치를 초과했는지 판단하기 위해 최종 타임스탬프 이후에 경과된 실행 시간의 양을 체크한다. 만일 경과된 실행시간이 소정의 임계치를 초과하지 않았으면, 그것은 (예를 들어, 브레이크포인트를 설정함으로써) 모듈(100)의 실행이 감시되고 있지 않다는 것을 의미하며, GOC는 블록(158)에서 모듈(100)의 실행이 계속될 수 있도록 허용하고, 만일 그렇지 않으면, GOC는 블록(160)에서 모듈(100)의 실행이 종료되도록 한다. 마찬가지로, 모듈이 종료되도록 하는 것은 이 기술분야에 잘 알려진 여러 가지 방식으로 수행될 수 있다. 애플리케이션에 따라, 감시가 검출되는 시점으로부터모듈이 더 이상 다운스트림을 이행하지 못하도록 하는 것이 바람직할 수 있다. 최종 타임스탬프 이래로 경과된 실행시간의 양이 체크되는 횟수 및 실행시간 동안의 정확한 시점은 서비스 또는 민감성에 의존한다.
도7은 위조방지 메저를 상호결합시키기 위한 결합 기법의 일실시예를 도시하고 있다. 도시된 바와 같이, 다양한 위조방지 메저와 관련된 키값(key values)에 대해 메저들이 예를 들어 메모리내의 공통 저장 위치를 공유하도록 함으로써 상이한 위조방지 메저들이 상호결합된다. 도시된 실시예에 있어서, GOC는 저장위치(168)의 일부분(162)에 비밀을 검색하기 위한 키를 저장하고, 모듈(100)의 실행이 감시되고 있는지 판단하기 위한 타임스탬프를 저장위치(168)의 더 적은 부분(162)에 저장한다. 경과된 실행시간을 판단하는데 있어서는, GOC는 단지 상기 부분(162) 보다 더 높은 비트만을 사용한다. 부가적으로, GOC는 인증 프로세스에 사용되는 의사난수(pseudo random numbers)를 생성하기 위한 시드(seed)로서 하위 비트(164)를 이용한다. 그러므로, 만일 침입자가 경과된 실행시간 체크 메저를 무력화시키기 위해 타임스탬프를 변경하려고 시도하면, 이것은 인증 프로세스 뿐만 아니라 비밀을 검색하려는 어떠한 시도도 실패하도록 한다. 마찬가지로, 만일 침입자가 인증 프로세스를 무력화시키기 위해 의사난수를 생성하기 위한 시드를 변경하려고 시도하면, 이것은 경과된 실행시간 체크 뿐만 아니라 비밀을 검색하기 위한 어떠한 시도도 실패하도록 한다.
도8은 본 발명의 위조방지 기술을 적용한 스크램블된 콘텐츠를 위한 위조방지 플레이어의 일실시예를 도시하고 있다. 도시된 일실시예에 있어서, 위조방지 플레이어(172)는 비-위조방지 구성요소(171)와 위조방지 디코더(172)를 포함한다. 위조방지 구성요소(171)는 최종 사용자 인터페이스와 같은 일반적인 서비스 구성요소의 넓은 범주를 나타내도록 의도된 것이다. 이러한 일반적인 서비스 구성요소는 이 기술분야에 잘 알려진 다양한 기술중 하나를 이용하여 구현되는 다양한 서비스중 하나를 제공할 수 있다. 위조방지 디코더(172)는 스크램블된 압축 콘텐츠를 수신하고, 그에 응답하여, 예를 들어 YUV 비디오 및 AC3 오디오와 같은 콘텐츠를 렌더링하기 위한 적절한 신호를 출력하기 위해 콘텐츠를 디스크램블 및 압축해제한다.
위조방지 디코더(172)는 비-위조방지부(175)와 위조방지부(174,176,178,180) 및 비-위조방지부(175)를 위한 서명(173)을 포함한다. 비-위조방지부(175)는 플레인 텍스트 프로그래밍 명령어로 구성되고, 반면에, 위조방지부(174,176,178,180)는 프로그래밍 명령어들의 플레인 텍스트 및 혼동 셀들의 복수의 그룹으로 구성된다. 서명(173)을 포함하여, 비-위조방지부(175)와 위조방지부(174,176,178,180)는 이들 부분들 사이의 배타적 통신을 용이하게 하도록 구조적으로 관련되어 있다. 도시된 실시예에서는, 2개의 부분이 단일 실행가능 모듈로서 함께 링크되어 있다.
비-위조방지부(175)는 플레이어(170) 및 스크램블된 콘텐츠 공급자 장치가 서로에 대해 상호 인증되도록 하는 것을 포함하여, 스크램블된 콘텐츠의 디스크램블링을 달성하기 위해 통합된 위조방지부(174,176,178,180)의 서비스를 호출한다. 비-위조방지부(175)는 전술한 출력신호를 생성하기 위해 스크램블되지 않은 압축 콘텐츠를 압축해제한다. 서명(173)은 전술한 바와 같이 스타트-업 시간 및 실행시간 무결성 검증을 용이하게 하기 위해 소정의 위치에 미리 저장된다.
도시된 실시예에서, 위조방지부(172)의 위조방지 서비스는 스크램블된 콘텐츠를 수신하고 그에 응답하여 디코더(172)의 비-위조방지부를 위한 디스크램블된 콘텐츠를 생성하기 위해 상기 스크램블된 콘텐츠를 디스크램블하기 위한 위조방지 디스크램블러(174)를 포함한다. 일실시예에서, 위조방지 디스크램블러(174)는 스크램블된 콘텐츠를 디스크램블하기 위해 위조방지 비밀 홀더(180)로부터 검색되는 비밀키를 사용한다. 사용되는 비밀키의 수와 이들 키의 특성은 애플리케이션에 따라 다르며, 이것들은 본 발명을 이해하는데 있어 필수적인 것은 아니다. 위조방지 디스크램블러(174)는 프로그램 명령어들의 플레인 텍스트 및 혼동 셀로된 하나의 그룹으로 구성된다. 일실시예에서, 코어 디스크램블링 서비스는 향상된 성능을 제공하기 위해 플레인 텍스트 셀에 배치된다. 일실시예에서, GOC는 전술한 침입자 검출 무결성 검증 메저와 단일 단계 실행 모드 검출 감시방지 메저를 갖추고 있다. 일실시예에서, GOC는 또한, 경과 실행시간 검출 감시방지 메저를 갖추고 있다. 일실시예에서, GOC는 복수의 경과 실행시간 검출 감시방지 메저를 갖추고 있다. 일실시예에서, 경과 실행시간 검출 감시방지 메저는 스크램블된 콘텐츠를 디스크램블하는 것과 관련된 비밀키를 검색하기 위한 프로세스와, 플레이어(170)와 스크램블된 콘텐츠 공급자 장치를 상호 인증하기 위한 인증 프로세스와 상호결합된다.
도시된 실시예에서, 위조방지 디코더(172)의 위조방지 서비스는 스크램블된 콘텐츠 공급자 장치에 대해 위조방지 플레이어(170)를 인증시키고, 위조방지 플레이어(170)에 대해 스크램블된 콘텐츠 공급자 장치를 인증시키기 위한 위조방지 인증기(176)를 포함한다. 일실시예에서, 위조방지 인증기(176)는 인증 프로세스를 행하기 위해 위조방지 비밀 홀더(180)로부터 검색되는 비밀키를 사용한다. 사용되는 비밀키의 수와 이들 키의 특성은 애플리케이션에 따라 다르며, 이것들이 본 발명을 이해하는데 있어 필수적인 것은 아니다. 일실시예에서, 위조방지 인증기(176)는 프로그래밍 명령어들의 플레인 텍스트 및 혼동 셀들로된 하나의 그룹으로 구성된다. 일실시예에서, GOC는 전술한 침입자 검출 무결성 검증 메저와 단일 단계 실행 모드 검출 감시방지 메저를 갖추고 있다. 일실시예에서, GOC는 또한, 경과 실행시간 검출 감시방지 메저를 갖추고 있다. 일실시예에서, GOC는 복수의 경과 실행시간 검출 감시방지 메저를 갖추고 있다. 일실시예에서, 경과 실행시간 검출 감시방지 메저는 스크램블된 콘텐츠를 디스크램블하는 것과 관련된 비밀키를 검색하기 위한 프로세스와, 플레이어(170)와 스크램블된 콘텐츠 공급자 장치를 상호 인증하기 위한 인증 프로세스와 상호결합된다.
도시된 실시예에서, 위조방지 디코더(172)의 위조방지 서비스는 스타트-업 시간 및 실행시간 동안에 디코더(172)의 비-위조방지부를 무결성 검증하기 위한 위조방지 무결성 검증기(178)를 포함한다. 일실시예에서, 위조방지 무결성 검증기(178)는 비밀 홀더(180)에 대해 플레이어(170)와 스크램블된 콘텐츠 공급자 장치를 상호 인증시키기 위해 사용될 비밀키를 제공한다. 사용되는 비밀키의 수와 이들 키의 특성은 애플리케이션에 따라 다르며, 이것들이 본 발명을 이해하는데 있어 필수적인 것은 아니다. 일실시예에서, 위조방지 무결성 검증기(178)는 프로그래밍 명령어들의 플레인 텍스트 및 혼동 셀들로된 하나의 그룹으로 구성된다. 일실시예에서, GOC는 단일 단계 실행 모드 검출 감시방지 메저를 갖추고 있다. 일실시예에서, GOC는 또한, 경과 실행시간 검출 감시방지 메저를 갖추고 있다. 일실시예에서, GOC는 복수의 경과 실행시간 검출 감시방지 메저를 갖추고 있다. 일실시예에서, 경과 실행시간 검출 감시방지 메저는 스크램블된 콘텐츠를 디스크램블하는 것과 관련된 비밀키를 검색하기 위한 프로세스와, 플레이어(170)와 스크램블된 콘텐츠 공급자 장치를 상호 인증하기 위한 인증 프로세스와 상호결합된다.
마지막으로, 도시된 실시예에 있어서, 위조방지 디코더(172)의 위조방지 서비스는 스크램블된 콘텐츠를 디스크램블하는 것과 관련된 비밀을 저장하기 위한 위조방지 비밀 홀더(180)를 포함한다. 이 비밀 홀더(180)는 스크램블된 콘텐츠 공급자 장치에 대해 위조방지 플레이어(170)를 인증시키고 위조방지 플레이어(170)에 대해 스크램블된 콘텐츠 공급자 장치를 인증시키기 위한 인증 프로세스와 관련된 비밀을 저장한다. 일실시예에서, 위조방지 비밀 홀더(180)는 셀 어레이 형태로 프로그래밍 명령어들의 플레인 텍스트 및 혼동 셀들로된 하나의 그룹으로 구성된다. 일실시예에서, GOC는 전술한 침입자 검출 무결성 검증 메저와 단일 단계 실행 모드 검출 감시방지 메저를 갖추고 있다. 일실시예에서, GOC는 또한, 경과 실행시간 검출 감시방지 메저를 갖추고 있다. 일실시예에서, GOC는 복수의 경과 실행시간 검출 감시방지 메저를 갖추고 있다.
그러므로, 플레이어(170)가 "개방형" 버스를 통해 그 콘텐츠 입력을 수신하는 경우 조차도, 그 콘텐츠가 보호되며, 그 이유는 콘텐츠가 스크램블된 형태로 "개방형" 버스를 통해 플레이어(170)로 제공되기 때문이다. 또한, 스크램블된 콘텐츠를 디스크램블하는 것과 관련된 비밀과 이러한 디스크램블을 수행하는 프로그래밍 명령어도 침입과 감시로부터 보호된다. 아직까지 코어 디스크램블링 서비스와 같은 성능에 민감한 연산들에는 부담이 주어지지 않았다. 마지막으로, 위조방지 서비스, 예를 들어, 디스크램블러(174), 인증기(176) 등은 고도로 이식가능하며, 다수의 디코더 구현예와 링크될 수 있다.
도9는 본 발명을 실시하는데 적합한 컴퓨터 시스템의 일실시예를 도시하고 있다. 도시된 실시예에서, 컴퓨터 시스템(200)은 프로세서(202), 프로세서 버스(206), 고성능 I/O 버스(210) 및 표준 I/O 버스(220)를 포함하고 있다. 프로세서 버스(206)와 고성능 I/O 버스(210)는 호스트 브릿지(208)에 의해 브릿지되어 있으며, 반면에, I/O 버스들(210,220)은 I/O 버스 브릿지(212)에 의해 브릿지되어 있다. 프로세서 버스(206)에는 캐시(204)가 연결되어 있다. 고성능 I/O 버스(210)에는 시스템 메모리(214)와 비디오 메모리(216)가 연결되어 있고, 비디오 메모리(216)에는 비디오 디스플레이(218)가 연결되어 있다. 표준 I/O 버스(220)에는 디스크 드라이브(222), 키보드 및 포인팅 장치(224) 및 DVD_ROM(226)이 연결되어 있다.
이들 구성요소는 이 기술분야에 알려진 그들의 통상적인 기능을 수행한다. 특히, 디스크 드라이브(222)와 시스템 메모리(214)는 프로세서(202)에 의해 실행될 때 본 발명의 위조방지 애플리케이션의 영구적인 카피 및 작업용 카피를 저장하기 위해 사용된다. 영구적인 카피는 공장에서 디스크 드라이브(222)로 사전에 로딩되거나, 분배 매체(도시 안됨)로부터 로딩되거나, 또는 온라인/네트워크 분배 소스(도시 안됨)로부터 다운로드될 수 있다. 이들 구성요소의 구성은 알려져 있다. 이 기술분야에 알려진 이들 구성요소의 다수의 구현예중 어느 것이라도 컴퓨터 시스템(200)을 구성하기 위해 사용될 수 있다.
물론, 본 발명을 실시하기 위해 대안의 아키텍처의 컴퓨터 시스템을 포함하여 대안의 구성을 가진 컴퓨터 시스템도 역시 사용될 수 있다.
일반적으로, 본 발명이 전술한 실시예에 관해 설명되었지만, 이 기술분야에 통상의 지식을 가진 자는 본 발명이 설명된 실시예들에 제한되지 않는 다는 것을 이해할 것이다. 본 발명은 첨부된 청구범위의 사상 및 범위내에서 수정 및 변경이 이루어질 수 있다. 그러므로, 전술한 설명은 본 발명을 제한하고자 하는 것이 아니라 예시적인 것으로 간주되어야 한다. 지금까지 다양한 위조방지 방법 및 장치에 관해 설명되었다.

Claims (32)

  1. 위조를 감시(monitor tampering)하기 위한 장치에 있어서,
    다수의 혼동(obfuscated) 프로그래밍 명령어들의 실행이 감시되고 있는지 자체-검증하도록 설계된 다수의 혼동 프로그래밍 명령어 셀들을 저장하고 있는 저장 매체; 및
    상기 저장 매체에 연결되어 상기 프로그래밍 명령어들을 실행하기 위한 실행 유닛
    을 포함하고,
    상기 혼동 셀은 셀간 종속 변환 프로세스(inter-cell dependent mutation process)를 통해 변환되고,
    상기 다수의 혼동 프로그램 명령어 셀들은 경과된 실행시간의 양이 임계치를 초과했는지 검증하도록 설계된 혼동 프로그래밍 명령어 셀들을 포함하는
    위조 감시 장치.
  2. 제 1 항에 있어서,
    상기 다수의 혼동 프로그램 명령어 셀들은 상기 장치가 상기 혼동 프로그래밍 명령어 셀들의 단일 단계 실행을 지원하는 모드로 동작되고 있는지 판단하도록 설계된 혼동 프로그래밍 명령어 셀들을 포함하는
    위조 감시 장치.
  3. 제 2 항에 있어서,
    상기 다수의 혼동 프로그램 명령어 셀들은 상기 단일 단계 실행 지원 판단을 수행하기 위해 상기 장치의 상태 변수에 억세스하도록 설계된 혼동 프로그래밍 명령어 셀들을 포함하는
    위조 감시 장치.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 다수의 혼동 프로그램 명령어 셀들은 기록된 타임스탬프에 기반하여 상기 경과된 실행시간의 양을 계산하도록 설계된 혼동 프로그래밍 명령어 셀들을 더 포함하는
    위조 감시 장치.
  6. 제 5 항에 있어서,
    상기 다수의 혼동 프로그램 명령어 셀들은 상기 장치의 타이머의 현재값을 검색하고 상기 타이머의 검색된 현재값을 기록된 타임스탬프로서 저장하도록 설계된 혼동 프로그래밍 명령어 셀들을 더 포함하는
    위조 감시 장치.
  7. 제 6 항에 있어서,
    상기 타이머의 검색된 현재값을 기록된 타임스탬프로서 저장하도록 설계된 상기 혼동 프로그래밍 명령어 셀들은 적어도 하나의 다른 위조방지 기법에 의해 공유되는 저장 위치에 상기 검색된 현재값을 저장하는
    위조 감시 장치.
  8. 위조를 감시(monitor tampering)하기 위한 방법에 있어서,
    (a) 다수의 혼동 프로그래밍 명령어 셀들을 실행하는 단계 - 여기서, 상기 혼동 셀들은 셀간 종속 변환 프로세스를 통해 변환됨 - ;
    (b) 상기 실행이 감시되고 있지 않다는 것을 상기 다수의 혼동 프로그래밍 명령어 셀들에 의해 자체-검증하는 단계; 및
    (c) 상기 단계 (b)에서 상기 실행이 감시되고 있는 것으로 검증되면 상기 단계 (a)의 실행을 종료시키는 단계
    를 포함하고,
    상기 단계 (b)는 경과된 실행시간의 양이 임계치를 초과했는지 검증하는 단계를 포함하는
    위조 감시 방법.
  9. 제 8 항에 있어서,
    상기 단계 (b)는 상기 다수의 혼동 프로그래밍 명령어 셀들이 단일 단계 실행을 지원하는 모드로 실행되고 있는지 판단하는 단계를 포함하는
    위조 감시 방법.
  10. 제 9 항에 있어서,
    상기 단계 (b)는 상기 다수의 혼동 프로그래밍 명령어 셀들이 상기 단일 단계 실행 지원 판단을 수행하기 위해 상태 변수에 억세스하는 단계를 포함하는
    위조 감시 방법.
  11. 삭제
  12. 제 8 항에 있어서,
    상기 단계 (b)는 기록된 타임스탬프에 기반하여 상기 경과된 실행시간의 양을 계산하는 단계를 포함하는
    위조 감시 방법.
  13. 제 12 항에 있어서,
    상기 단계 (b)는 타이머의 현재값을 검색하고, 상기 타이머의 검색된 현재값을 기록된 타임스탬프로서 저장하는 단계를 더 포함하는
    위조 감시 방법.
  14. 제 13 항에 있어서,
    상기 단계 (b)는 다른 위조방지 기법에 의해 공유되는 저장 위치에 상기 검색된 현재값을 저장하는 단계를 포함하는
    위조 감시 방법.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 위조를 감시(monitor tampering)하기 위한 장치에 있어서,
    경과된 실행시간의 양이 임계치를 초과했는지 검증하도록 설계된 다수의 혼동(obfuscated) 프로그래밍 명령어 셀들을 저장하고 있는 저장 매체; 및
    상기 저장 매체에 연결되어 상기 프로그래밍 명령어들을 실행하기 위한 실행 유닛
    을 포함하고,
    상기 혼동 셀은 셀간 종속 변환 프로세스를 통해 변환되고,
    상기 다수의 혼동 프로그램 명령어 셀들은 기록된 타임스탬프에 기반하여 상기 경과된 실행시간의 양을 계산하도록 설계된 혼동 프로그래밍 명령어 셀들을 포함하는
    위조 감시 장치.
  20. 삭제
  21. 제 19 항에 있어서,
    상기 다수의 혼동 프로그램 명령어 셀들은 상기 장치의 타이머의 현재값을 검색하고 상기 타이머의 검색된 현재값을 기록된 타임스탬프로서 저장하도록 설계된 혼동 프로그래밍 명령어 셀들을 더 포함하는
    위조 감시 장치.
  22. 제 21 항에 있어서,
    상기 타이머의 검색된 현재값을 기록된 타임스탬프로서 저장하도록 설계된 혼동 프로그래밍 명령어 셀들은 적어도 하나의 다른 위조방지 기법에 의해 공유되는 저장 위치에 상기 검색된 현재값을 저장하는
    위조 감시 장치.
  23. 위조를 감시(monitor tampering)하기 위한 방법에 있어서,
    (a) 다수의 혼동 프로그래밍 명령어 셀들을 실행하는 단계;
    (b) 경과된 실행시간의 양이 임계치를 초과했는지 검증하는 단계; 및
    (c) 상기 단계 (b)에서 상기 실행이 감시되고 있는 것으로 검증되면 상기 단계 (a)의 실행을 종료시키는 단계
    를 포함하고,
    상기 혼동 셀은 셀간 종속 변환 프로세스를 통해 변환되고,
    상기 단계 (b)는 기록된 타임스탬프에 기반하여 상기 경과된 실행시간의 양을 계산하는 단계를 포함하는
    위조 감시 방법.
  24. 삭제
  25. 제 23 항에 있어서,
    상기 단계 (b)는 타이머의 현재값을 검색하고 상기 타이머의 검색된 현재값을 기록된 타임스탬프로서 저장하는 단계를 더 포함하는
    위조 감시 방법.
  26. 제 25 항에 있어서,
    상기 단계 (b)는 다른 위조방지 기법에 의해 공유되는 저장 위치에 상기 검색된 현재값을 저장하는 단계를 포함하는
    위조 감시 방법.
  27. 제1 감시방지(anti-observation) 위조방지 기법과 감시검출 위조방지 기법을 각각 구현하도록 설계된 제1 및 제2 다수의 혼동(obfuscated) 프로그래밍 명령어 셀들을 저장하고 있는 저장 매체; 및
    상기 저장 매체에 연결되어 상기 프로그래밍 명령어들을 실행하기 위한 실행 유닛
    을 포함하고,
    상기 제1 및 제2 다수의 혼동 프로그래밍 명령어 셀들은 상기 제1 감시방지 및 감시검출 위조방지 기법들에 대응하는 제1 및 제2 키값을 위해 하나의 저장 위치를 공유하고,
    상기 혼동 셀은 셀간 종속 변환 프로세스를 통해 변환되며,
    상기 제1 다수의 혼동 프로그램 명령어 셀들은 키-기반 비밀 검색 기법을 구현하도록 설계되고, 상기 제2 다수의 혼동 프로그래밍 명령어 셀들은 경과된 실행시간의 양이 임계치를 초과하지 않았다는 것을 검증하도록 설계된
    장치.
  28. 삭제
  29. 제 27 항에 있어서,
    상기 저장 매체는 제2 감시방지(anti-observation) 위조방지 기법을 구현하도록 설계된 제3 다수의 혼동 프로그래밍 명령어 셀들 - 여기서, 상기 제3 다수의 혼동 프로그래밍 명령어 셀들은 상기 제2 감시방지(anti-observation) 위조방지 기법에 대응하는 제3 키값을 위해 동일한 저장 위치를 공유함 - 을 더 저장하고 있는
    장치.
  30. 제 29 항에 있어서,
    상기 제1 다수의 혼동 프로그램 명령어 셀들은 키-기반 비밀 검색 기법을 구현하도록 설계되고, 상기 제2 다수의 혼동 프로그래밍 명령어 셀들은 경과된 실행시간의 양이 임계치를 초과하지 않았다는 것을 검증하도록 설계되고, 상기 제3 다수의 혼동 프로그래밍 명령어 셀들은 인증 프로세스를 구현하도록 설계된
    장치.
  31. 삭제
  32. 삭제
KR10-2000-7002387A 1997-09-05 1998-07-17 위조방지 방법 및 장치 Expired - Fee Related KR100405574B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/924,740 1997-09-05
US08/924,740 US6205550B1 (en) 1996-06-13 1997-09-05 Tamper resistant methods and apparatus

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR10-2003-7012887A Division KR20030085085A (ko) 1997-09-05 1998-07-17 위조방지 방법 및 장치
KR10-2003-7012888A Division KR20030085086A (ko) 1997-09-05 1998-07-17 위조방지 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20010023733A KR20010023733A (ko) 2001-03-26
KR100405574B1 true KR100405574B1 (ko) 2003-11-14

Family

ID=25450647

Family Applications (3)

Application Number Title Priority Date Filing Date
KR10-2003-7012888A Ceased KR20030085086A (ko) 1997-09-05 1998-07-17 위조방지 방법 및 장치
KR10-2003-7012887A Ceased KR20030085085A (ko) 1997-09-05 1998-07-17 위조방지 방법 및 장치
KR10-2000-7002387A Expired - Fee Related KR100405574B1 (ko) 1997-09-05 1998-07-17 위조방지 방법 및 장치

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR10-2003-7012888A Ceased KR20030085086A (ko) 1997-09-05 1998-07-17 위조방지 방법 및 장치
KR10-2003-7012887A Ceased KR20030085085A (ko) 1997-09-05 1998-07-17 위조방지 방법 및 장치

Country Status (6)

Country Link
US (1) US6205550B1 (ko)
EP (1) EP1020049A4 (ko)
JP (1) JP4544739B2 (ko)
KR (3) KR20030085086A (ko)
AU (1) AU8495798A (ko)
WO (1) WO1999013613A1 (ko)

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253323B1 (en) 1996-11-01 2001-06-26 Intel Corporation Object-based digital signatures
US6542610B2 (en) 1997-01-30 2003-04-01 Intel Corporation Content protection for digital transmission systems
US6941463B1 (en) 1998-05-14 2005-09-06 Purdue Research Foundation Secure computational outsourcing techniques
US6957341B2 (en) * 1998-05-14 2005-10-18 Purdue Research Foundation Method and system for secure computational outsourcing and disguise
US6324646B1 (en) * 1998-09-11 2001-11-27 International Business Machines Corporation Method and system for securing confidential data in a computer network
WO2000055962A2 (en) 1999-03-15 2000-09-21 Sony Electronics, Inc. Electronic media system, method and device
WO2000072112A2 (en) * 1999-05-12 2000-11-30 Fraunhofer Crcg, Inc. Obfuscation of executable code
US7421586B2 (en) 1999-05-12 2008-09-02 Fraunhofer Gesselschaft Protecting mobile code against malicious hosts
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7757097B2 (en) * 1999-09-03 2010-07-13 Purdue Research Foundation Method and system for tamperproofing software
US7287166B1 (en) 1999-09-03 2007-10-23 Purdue Research Foundation Guards for application in software tamperproofing
US7073071B1 (en) 2000-03-31 2006-07-04 Intel Corporation Platform and method for generating and utilizing a protected audit log
US7013484B1 (en) 2000-03-31 2006-03-14 Intel Corporation Managing a secure environment using a chipset in isolated execution mode
US6996710B1 (en) 2000-03-31 2006-02-07 Intel Corporation Platform and method for issuing and certifying a hardware-protected attestation key
US6507904B1 (en) 2000-03-31 2003-01-14 Intel Corporation Executing isolated mode instructions in a secure system running in privilege rings
US7194634B2 (en) 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
US6678825B1 (en) 2000-03-31 2004-01-13 Intel Corporation Controlling access to multiple isolated memories in an isolated execution environment
US6760441B1 (en) 2000-03-31 2004-07-06 Intel Corporation Generating a key hieararchy for use in an isolated execution environment
US7013481B1 (en) 2000-03-31 2006-03-14 Intel Corporation Attestation key memory device and bus
US7082615B1 (en) 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US6934817B2 (en) * 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US7089418B1 (en) 2000-03-31 2006-08-08 Intel Corporation Managing accesses in a processor for isolated execution
US6754815B1 (en) 2000-03-31 2004-06-22 Intel Corporation Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set
US6990579B1 (en) 2000-03-31 2006-01-24 Intel Corporation Platform and method for remote attestation of a platform
US6957332B1 (en) 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US6769058B1 (en) 2000-03-31 2004-07-27 Intel Corporation Resetting a processor in an isolated execution environment
US7111176B1 (en) 2000-03-31 2006-09-19 Intel Corporation Generating isolated bus cycles for isolated execution
US6633963B1 (en) 2000-03-31 2003-10-14 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6795905B1 (en) 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
US7356817B1 (en) 2000-03-31 2008-04-08 Intel Corporation Real-time scheduling of virtual machines
US7000119B1 (en) 2000-04-20 2006-02-14 Realnetworks, Inc. Instruction/data protection employing derived obscuring instruction/data
JP4186381B2 (ja) * 2000-05-10 2008-11-26 日本電気株式会社 プログラムを格納する記録媒体及びその実行方法
US7065652B1 (en) * 2000-06-21 2006-06-20 Aladdin Knowledge Systems, Ltd. System for obfuscating computer code upon disassembly
US6976162B1 (en) * 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US7389427B1 (en) 2000-09-28 2008-06-17 Intel Corporation Mechanism to secure computer output from software attack using isolated execution
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
US7215781B2 (en) 2000-12-22 2007-05-08 Intel Corporation Creation and distribution of a secret value between two devices
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
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
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
US7117376B2 (en) 2000-12-28 2006-10-03 Intel Corporation Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations
US7512986B2 (en) 2001-03-28 2009-03-31 Nds Limited Digital rights management system and method
US7096497B2 (en) * 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US20020144121A1 (en) * 2001-03-30 2002-10-03 Ellison Carl M. Checking file integrity using signature generated in isolated execution
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
US20050097342A1 (en) * 2001-05-21 2005-05-05 Cyberscan Technology, Inc. Trusted watchdog method and apparatus for securing program execution
US7979740B2 (en) * 2001-05-21 2011-07-12 Mudalla Technology, Inc. Gaming machine having game play suspension and resumption features using biometrically-based authentication and method of operating same
US8515773B2 (en) 2001-08-01 2013-08-20 Sony Corporation System and method for enabling distribution and brokering of content information
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
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7103771B2 (en) 2001-12-17 2006-09-05 Intel Corporation Connecting a virtual token to a physical token
US7308576B2 (en) 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7480806B2 (en) 2002-02-22 2009-01-20 Intel Corporation Multi-token seal and unseal
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US7028149B2 (en) 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
US7069442B2 (en) 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7058807B2 (en) 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
US7076669B2 (en) 2002-04-15 2006-07-11 Intel Corporation Method and apparatus for communicating securely with a token
US6782477B2 (en) * 2002-04-16 2004-08-24 Song Computer Entertainment America Inc. Method and system for using tamperproof hardware to provide copy protection and online security
US7127548B2 (en) 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
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
US7392415B2 (en) 2002-06-26 2008-06-24 Intel Corporation Sleep protection
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
US7296267B2 (en) 2002-07-12 2007-11-13 Intel Corporation System and method for binding virtual machines to hardware contexts
EP1795993B1 (en) * 2002-07-30 2018-02-28 Fujitsu Limited Method and apparatus for reproducing information using a security module
WO2004023313A1 (en) 2002-09-04 2004-03-18 Fraunhofer Crcg, Inc. Protecting mobile code against malicious hosts cross references to related applications
FR2845494B1 (fr) * 2002-10-04 2005-08-19 Canal Plus Technologies Logiciel et procede d'authentification de celui-ci
US7165181B2 (en) 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US7073042B2 (en) 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US7149900B2 (en) * 2002-12-12 2006-12-12 Intel Corporation Method of defending software from debugger attacks
US7318235B2 (en) * 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
US7318141B2 (en) 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7793286B2 (en) * 2002-12-19 2010-09-07 Intel Corporation Methods and systems to manage machine state in virtual machine operations
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
US20040128465A1 (en) * 2002-12-30 2004-07-01 Lee Micheil J. Configurable memory bus width
US7584354B2 (en) * 2003-01-31 2009-09-01 Intel Corporation Implementing portable content protection to secure secrets
JP4338989B2 (ja) * 2003-02-20 2009-10-07 パナソニック株式会社 メモリデバイス
US8510571B1 (en) 2003-03-24 2013-08-13 Hoi Chang System and method for inserting security mechanisms into a software program
KR100568228B1 (ko) * 2003-05-20 2006-04-07 삼성전자주식회사 고유번호를 이용한 프로그램 탬퍼 방지 방법과 난독처리된 프로그램 업그레이드 방법, 상기 방법을 위한 장치
US7415708B2 (en) * 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US7366914B2 (en) * 2003-08-29 2008-04-29 Intel Corporation Source code transformation based on program operators
US7424709B2 (en) 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7287197B2 (en) 2003-09-15 2007-10-23 Intel Corporation Vectoring an interrupt or exception upon resuming operation of a virtual machine
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
US7424620B2 (en) * 2003-09-25 2008-09-09 Sun Microsystems, Inc. Interleaved data and instruction streams for application program obfuscation
US8220058B2 (en) * 2003-09-25 2012-07-10 Oracle America, Inc. Rendering and encryption engine for application program obfuscation
US20050069138A1 (en) * 2003-09-25 2005-03-31 Sun Microsystems, Inc., A Delaware Corporation Application program obfuscation
US7353499B2 (en) * 2003-09-25 2008-04-01 Sun Microsystems, Inc. Multiple instruction dispatch tables for application program obfuscation
US7363620B2 (en) * 2003-09-25 2008-04-22 Sun Microsystems, Inc. Non-linear execution of application program instructions for application program obfuscation
US7415618B2 (en) * 2003-09-25 2008-08-19 Sun Microsystems, Inc. Permutation of opcode values for application program obfuscation
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
US7366305B2 (en) 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US7177967B2 (en) * 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
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
US20050108534A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Providing services to an open platform implementing subscriber identity module (SIM) capabilities
US20050108171A1 (en) * 2003-11-19 2005-05-19 Bajikar Sundeep M. Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform
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
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
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
US7490070B2 (en) 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US20050288056A1 (en) * 2004-06-29 2005-12-29 Bajikar Sundeep M System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module
US7305592B2 (en) * 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
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
US20060075441A1 (en) * 2004-10-06 2006-04-06 Sony Corporation Method and system for a personal video recorder comprising multiple removable storage/tuner units
US8768844B2 (en) * 2004-10-06 2014-07-01 Sony Corporation Method and system for content sharing and authentication between multiple devices
US8146078B2 (en) * 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
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
US7571263B2 (en) * 2004-12-02 2009-08-04 Hitachi Global Storage Technologies Netherlands B.V. Apparatus and method for monitoring data storage device for usage and warranty
US20060137016A1 (en) * 2004-12-20 2006-06-22 Dany Margalit Method for blocking unauthorized use of a software application
US20060136705A1 (en) * 2004-12-21 2006-06-22 Motorola, Inc. Multiple stage software verification
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
JP4810846B2 (ja) * 2005-03-15 2011-11-09 富士ゼロックス株式会社 プログラムデータの不正利用を阻止するプログラム
US7620987B2 (en) * 2005-08-12 2009-11-17 Microsoft Corporation Obfuscating computer code to prevent an attack
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
WO2007055169A1 (ja) * 2005-11-09 2007-05-18 Nec Corporation 通信端末装置、サーバ端末装置、それらを用いる通信システム
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
KR101501418B1 (ko) 2006-05-09 2015-03-10 인터디지탈 테크날러지 코포레이션 무선 장치에 대한 안전 시간 기능
US7818799B2 (en) * 2006-05-30 2010-10-19 Microsoft Corporation Tamper response mechanism
US20080104704A1 (en) * 2006-10-27 2008-05-01 Ravikumar Mohandas Security for physically unsecured software elements
US8286138B2 (en) * 2007-01-30 2012-10-09 Microsoft Corporation Multi-threaded detection of a game software debugger
US20110047630A1 (en) * 2007-02-09 2011-02-24 Agency For Science, Technology And Research Method and system for tamper proofing a system of interconnected electronic devices
US8010773B2 (en) * 2008-06-24 2011-08-30 Microsoft Corporation Hardware constrained software execution
JP2010039891A (ja) * 2008-08-07 2010-02-18 Nec Corp 情報処理装置、プログラム実行方法、プログラムおよび情報処理システム
KR101272028B1 (ko) * 2011-08-18 2013-06-07 정지혜 해킹 여부 정보를 제공하는 통신 단말기 및 그 제어방법과, 그 통신 단말기를 포함하는 해킹 방지 시스템 및 그 제어방법
US8914634B2 (en) 2012-04-10 2014-12-16 Western Digital Technologies, Inc. Digital rights management system transfer of content and distribution
US8831217B2 (en) 2012-04-10 2014-09-09 Western Digital Technologies, Inc. Digital rights management system and methods for accessing content from an intelligent storage
US9792439B2 (en) 2012-09-19 2017-10-17 Nxp B.V. Method and system for securely updating firmware in a computing device
DE102014203095A1 (de) * 2014-02-20 2015-08-20 Rohde & Schwarz Gmbh & Co. Kg Funkgerät-System und Verfahren mit Zeitparameter-Auswertung
US10079686B2 (en) 2015-07-29 2018-09-18 International Business Machines Corporation Privacy-preserving attribute-based credentials
KR101977008B1 (ko) * 2019-01-07 2019-05-09 동양대학교 산학협력단 시간정보 왜곡보정이 가능한 타임스탬프를 이용한 데이터 숨김방법

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4262329A (en) * 1978-03-27 1981-04-14 Computation Planning, Inc. Security system for data processing
US4723284A (en) * 1983-02-14 1988-02-02 Prime Computer, Inc. Authentication system
US4947430A (en) 1987-11-23 1990-08-07 David Chaum Undeniable signature systems
US4926480A (en) 1983-08-22 1990-05-15 David Chaum Card-computer moderated systems
US4847902A (en) 1984-02-10 1989-07-11 Prime Computer, Inc. Digital computer system for executing encrypted programs
JPS619740A (ja) * 1984-06-26 1986-01-17 Matsushita Electric Ind Co Ltd プログラムの領域はみ出し検出装置
EP0175487A3 (en) * 1984-08-23 1989-03-08 Btg International Limited Software protection device
GB2197506A (en) * 1986-10-27 1988-05-18 Burr Brown Ltd Providing and handling break points in a software monitor
US5224160A (en) * 1987-02-23 1993-06-29 Siemens Nixdorf Informationssysteme Ag Process for securing and for checking the integrity of the secured programs
ES2041712T3 (es) 1987-03-04 1993-12-01 Siemens Nixdorf Informationssysteme Ag Sistema de intercambio de datos.
US5347579A (en) 1989-07-05 1994-09-13 Blandford Robert R Personal computer diary
US5136643A (en) * 1989-10-13 1992-08-04 Fischer Addison M Public/key date-time notary facility
US5081675A (en) 1989-11-13 1992-01-14 Kitti Kittirutsunetorn System for protection of software in memory against unauthorized use
US5267312A (en) 1990-08-06 1993-11-30 Nec Home Electronics, Ltd. Audio signal cryptographic system
US5265164A (en) 1991-10-31 1993-11-23 International Business Machines Corporation Cryptographic facility environment backup/restore and replication in a public key cryptosystem
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5359659A (en) * 1992-06-19 1994-10-25 Doren Rosenthal Method for securing software against corruption by computer viruses
US5343527A (en) 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
US5469507A (en) * 1994-03-01 1995-11-21 International Business Machines Corporation Secure communication and computation in an insecure environment
US5483649A (en) * 1994-07-01 1996-01-09 Ybm Technologies, Inc. Personal computer security system
US5535276A (en) * 1994-11-09 1996-07-09 Bell Atlantic Network Services, Inc. Yaksha, an improved system and method for securing communications using split private key asymmetric cryptography
JPH0855023A (ja) * 1994-07-25 1996-02-27 Motorola Inc データ処理システムおよびその方法
US5684875A (en) 1994-10-21 1997-11-04 Ellenberger; Hans Method and apparatus for detecting a computer virus on a computer
US5668874A (en) * 1995-02-28 1997-09-16 Lucent Technologies Inc. Identification card verification system and method
US5559960A (en) 1995-04-21 1996-09-24 Lettvin; Jonathan D. Software anti-virus facility
US5652793A (en) 1995-05-08 1997-07-29 Nvidia Corporation Method and apparatus for authenticating the use of software
US5768382A (en) 1995-11-22 1998-06-16 Walker Asset Management Limited Partnership Remote-auditing of computer generated outcomes and authenticated biling and access control system using cryptographic and other protocols
WO1997004394A1 (en) * 1995-07-14 1997-02-06 Christopher Nathan Drake Computer software authentication, protection, and security system
US6006328A (en) * 1995-07-14 1999-12-21 Christopher N. Drake Computer software authentication, protection, and security system
US5638446A (en) 1995-08-28 1997-06-10 Bell Communications Research, Inc. Method for the secure distribution of electronic files in a distributed environment
US5822431A (en) * 1996-01-19 1998-10-13 General Instrument Corporation Of Delaware Virtual authentication network for secure processors
US5892899A (en) * 1996-06-13 1999-04-06 Intel Corporation Tamper resistant methods and apparatus
US6049609A (en) 1997-08-06 2000-04-11 Intel Corporation Cell array providing non-persistent secret storage through a mutation cycle
US5966306A (en) * 1997-07-07 1999-10-12 Motorola Inc. Method for verifying protocol conformance of an electrical interface

Also Published As

Publication number Publication date
EP1020049A1 (en) 2000-07-19
WO1999013613A1 (en) 1999-03-18
KR20030085086A (ko) 2003-11-01
AU8495798A (en) 1999-03-29
EP1020049A4 (en) 2000-10-11
KR20030085085A (ko) 2003-11-01
US6205550B1 (en) 2001-03-20
JP4544739B2 (ja) 2010-09-15
JP2001516908A (ja) 2001-10-02
KR20010023733A (ko) 2001-03-26

Similar Documents

Publication Publication Date Title
KR100405574B1 (ko) 위조방지 방법 및 장치
KR100482775B1 (ko) 위조방지 방법 및 장치
KR100479681B1 (ko) 스크램블된 콘텐츠를 위한 위조방지 플레이어
Aucsmith Tamper resistant software: An implementation
US7707429B2 (en) System and method to proactively detect software tampering
EP0900488B1 (en) Tamper resistant methods and apparatus
US8332652B2 (en) Computing device that securely runs authorized software
JP2710754B2 (ja) チップ・カードのキーを保護する装置
JP5097130B2 (ja) 情報端末、セキュリティデバイス、データ保護方法及びデータ保護プログラム
WO1999031842A1 (en) Conditional use private key distribution
EP1449048B1 (en) Method, system, device and computer program for mutual authentication and content protection
US20060253714A1 (en) Information processor, tamper-proof method, and tamper-proof program
JPWO2008093690A1 (ja) 分散情報生成装置、復元装置、復元結果検証装置、秘密情報分散システム、方法およびプログラム
US7770219B2 (en) Method and system for using shared secrets to protect access to testing keys for set-top box
CN117216813B (zh) 用于读写数据的方法、装置和安全芯片
AU2004218702B8 (en) Method for verifying integrity on an apparatus
AU774198B2 (en) Apparatus for tamper resistance
MXPA00005079A (en) Method and apparatus for controlling access to confidential data
MXPA00005081A (en) An apparatus for providing a secure processing environment

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20000306

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20020123

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20030107

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20020123

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

J201 Request for trial against refusal decision
PJ0201 Trial against decision of rejection

Patent event date: 20030407

Comment text: Request for Trial against Decision on Refusal

Patent event code: PJ02012R01D

Patent event date: 20030107

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20031020

Appeal identifier: 2003101001362

Request date: 20030407

AMND Amendment
PB0901 Examination by re-examination before a trial

Comment text: Amendment to Specification, etc.

Patent event date: 20030507

Patent event code: PB09011R02I

Comment text: Request for Trial against Decision on Refusal

Patent event date: 20030407

Patent event code: PB09011R01I

Comment text: Amendment to Specification, etc.

Patent event date: 20020624

Patent event code: PB09011R02I

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

Comment text: Notification of reason for refusal

Patent event date: 20030619

Patent event code: PE09021S01D

A107 Divisional application of patent
PA0104 Divisional application for international application

Comment text: Divisional Application for International Patent

Patent event code: PA01041R01D

Patent event date: 20030930

B701 Decision to grant
PB0701 Decision of registration after re-examination before a trial

Patent event date: 20031020

Comment text: Decision to Grant Registration

Patent event code: PB07012S01D

Patent event date: 20030526

Comment text: Transfer of Trial File for Re-examination before a Trial

Patent event code: PB07011S01I

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20031103

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20031104

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20061027

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20071105

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20081030

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20091028

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20091028

Start annual number: 7

End annual number: 7

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee