KR20030040427A - Systems and methods for integrity certification and verification of content consumption environments - Google Patents

Systems and methods for integrity certification and verification of content consumption environments Download PDF

Info

Publication number
KR20030040427A
KR20030040427A KR10-2003-7002905A KR20037002905A KR20030040427A KR 20030040427 A KR20030040427 A KR 20030040427A KR 20037002905 A KR20037002905 A KR 20037002905A KR 20030040427 A KR20030040427 A KR 20030040427A
Authority
KR
South Korea
Prior art keywords
integrity
profile
content
information
applications
Prior art date
Application number
KR10-2003-7002905A
Other languages
Korean (ko)
Other versions
KR100402071B1 (en
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24606431&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20030040427(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 콘텐트가드 홀딩즈 인코포레이티드 filed Critical 콘텐트가드 홀딩즈 인코포레이티드
Publication of KR20030040427A publication Critical patent/KR20030040427A/en
Application granted granted Critical
Publication of KR100402071B1 publication Critical patent/KR100402071B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

문서발행자나 배포자와 같은 콘텐트 제공자는 예컨대 보호되는 콘텐트를 사용자에게 신뢰된 사용자 환경 내에서의 소비를 위해 제공한다. 무결성 보증 및 검증 서비스를 제공함으로써, 콘텐트 소비환경들의 진정성(authenticity)이 검증될 수 있다. 콘텐트 제공자는 예컨대 라이센스 계약서와 무결성 프로파일 ID와 같은 것을 포함하는 디지털 콘텐트의 보호판을 사용자에게 보낸다. 프로파일은 예컨대 애플리케이션들과 시스템 구성요소들을 포함하는데, 이들은 보호되는 콘텐트와 결합하여 사용되도록 허락된다. 부가하여, 콘텐트 제공자는 무결성 프로파일에 대한 요청을 개시한다. 무결성 프로파일에 대한 이러한 요청은 무결성 보증 및 검증 장치에 전달된다. 무결성 보증 및 검증 장치는 예컨대, 만약 무결성 프로파일이 요청된 애플리케이션들 및/또는 시스템 구성요소들에 대하여 이미 존재하지 않는다면, 예컨대 사용자에게 시스템 구성요소들을 제공하는 콘텐트 소비 시스템/애플리케이션 제공자에게 질의를 할 수 있다. 콘텐트 소비 시스템/애플리케이션 제공자는 특정의 애플리케이션들이나 시스템 구성요소들에 관한 무결성 보증 및 검증 장치 인증 정보로 리턴 한다. 인증정보는 사용자 시스템 상의 애플리케이션 및/또는 시스템 구성요소와 콘텐트 소비 시스템/애플리케이션 제공자가 배포한 그 상태의 오리지널 애플리케이션이나 시스템 간에 만들어지는 비교 또는 무결성 검증을 하게 한다.Content providers, such as document publishers and distributors, for example, provide protected content for consumption within a trusted user environment. By providing integrity assurance and verification services, the authenticity of content consumption environments can be verified. The content provider sends to the user a safeguard of the digital content, including, for example, a license agreement and an integrity profile ID. Profiles include, for example, applications and system components, which are allowed to be used in conjunction with protected content. In addition, the content provider initiates a request for an integrity profile. This request for integrity profile is forwarded to the integrity assurance and verification device. The integrity assurance and verification device may, for example, query the content consuming system / application provider providing system components to the user if the integrity profile does not already exist for the requested applications and / or system components. have. The content consuming system / application provider returns with integrity assurance and verification device authentication information for specific applications or system components. The authentication information allows a comparison or integrity verification to be made between the application and / or system components on the user's system and the original application or system in its state distributed by the content consuming system / application provider.

Description

콘텐트 소비 환경의 무결성 보증 및 검증 시스템 및 방법{Systems and methods for integrity certification and verification of content consumption environments}Systems and methods for integrity certification and verification of content consumption environments

[0002]디지털문서를 전자상거래를 통해 널리 배포하는 것을 방해하는 가장 중요한 이슈들 중의 하나는 디지털 문서의 배포와 사용 동안에 콘텐트 소유자와 제공자의 지적재산권에 대해 가용한 보호가 현실적으로 부족하다는 점이다. 이러한 문제를 해결하려는 노력들이 지적재산권관리(Intellectual Property Rights Management: IPRM), 디지털재산권 관리(Digital Property Rights Management: DPRM), 지적재산 관리(Intellectual Property Management: IPM), 디지털권 관리(Digital Rights Management: DRM), 권리 관리(Rights Management: RM) 및 전자저작권 관리(Electronic Copyright Management: ECM) 등으로 불린다.One of the most important issues that prevent widespread distribution of digital documents through electronic commerce is the lack of practical protection available to the intellectual property of content owners and providers during the distribution and use of digital documents. Efforts to address these issues include Intellectual Property Rights Management (IPRM), Digital Property Rights Management (DPRM), Intellectual Property Management (IPM), and Digital Rights Management: DRM), Rights Management (RM) and Electronic Copyright Management (ECM).

[0003]콘텐트 제공자들은 종종 그들의 콘텐츠가 원하는 특성 및/또는 작용(behaviors)을 갖는 보증된 애플리케이션들(applications)과 시스템에 의해 소비되기를 바란다. 공개키 기반구조(public key infrastructure: PKI)의 직접적인 사용은 애플리케이션과 시스템 제공자들이 그들 자신의 제품을 보증할 수 있고 콘텐트 제공자들은 그들의 콘텐츠를 소비하는 데 이용되는 그런 애플리케이션들과 시스템들의 무결성을 검증할 수 있음을 가능하게 해준다.[0003] Content providers often desire their content to be consumed by guaranteed applications and systems with desired characteristics and / or behaviors. Direct use of the public key infrastructure (PKI) allows application and system providers to vouch for their own products, and content providers can verify the integrity of those applications and systems used to consume their content. Makes it possible.

[0001]본 발명은 무결성 보증 및 검증에 관한 것이다. 특히, 본 발명은 콘텐트 소비 환경(a content consumption environment) 내에서의 무결성 보증 및 검증(integrity certification and verification)에 관련된 것이다.The present invention relates to integrity assurance and verification. In particular, the present invention relates to integrity certification and verification within a content consumption environment.

[0025]본 발명은 첨부된 도면을 참조하여 상세히 설명되는데, 첨부된 도면은 다음과 같다.The present invention is described in detail with reference to the accompanying drawings, the accompanying drawings are as follows.

[0026]도 1은 본 발명에 따른 무결성 보증 및 검증 시스템의 제1 실시예를 도시하는 기능 개요도(functional overview)이다.1 is a functional overview showing a first embodiment of an integrity assurance and verification system according to the present invention.

[0027]도 2는 본 발명에 따른 무결성 보증 및 검증 시스템의 제1 실시예를 도시한 기능 블록도이다.2 is a functional block diagram illustrating a first embodiment of the integrity assurance and verification system according to the present invention.

[0028] 도 3은 본 발명에 따른 예시적인 무결성 보증 및 검증장치의 작업흐름도이다.3 is a workflow diagram of an exemplary integrity assurance and verification device in accordance with the present invention.

[0029] 도 4는 본 발명에 다른 무결성 프로파일의 예시적인 구조를 도시한다.4 shows an exemplary structure of an integrity profile according to the present invention.

[0030] 도 5는 본 발명에 따른 예시적인 환경 스택(environment stack)을 도시한다.5 shows an exemplary environment stack in accordance with the present invention.

[0031] 도 6은 본 발명에 따른 예시적인 환경 스택을 도시한다.6 shows an exemplary environmental stack in accordance with the present invention.

[0032] 도 7은 본 발명에 따른 예시적인 환경 스택의 작업흐름(workflow)을 도시한다.FIG. 7 shows a workflow of an exemplary environmental stack in accordance with the present invention. FIG.

[0033] 도 8은 본 발명에 따른 스택의 예시적인 작업흐름을 도시한다.8 shows an exemplary workflow of a stack according to the present invention.

[0034]도 9는 본 발명에 따른 스택을 조작하는 방법을 예시적으로 도시한다.9 illustratively shows a method of manipulating a stack in accordance with the present invention.

[0035]도 10은 본 발명에 따른 디버깅의 사용을 통해 동적 간섭(dynamic tampering)을 막는 방법을 예시적으로 도시한다.10 illustratively illustrates a method of preventing dynamic tampering through the use of debugging in accordance with the present invention.

[0036]도 11은 본 발명에 따른 무결성 보증 및 검증 방법의 예시적인 일 실시예의 대강을 나타내는 흐름도이다.FIG. 11 is a flow diagram illustrating an overview of one exemplary embodiment of an integrity assurance and verification method according to the present invention. FIG.

[0037]도 12는 본 발명에 따른 애플리케이션들 및/또는 시스템을 등록하는 방법의 예시적인 일 실시예의 대강을 나타내는 흐름도이다.12 is a flow diagram illustrating the outline of one exemplary embodiment of a method of registering applications and / or a system in accordance with the present invention.

[0038]도 13은 본 발명에 따른 무결성 프로파일을 결정하는 방법의 예시적인 일 실시예의 대강을 나타내는 흐름도이다.[0038] Figure 13 is a flow diagram illustrating the outline of one exemplary embodiment of a method of determining an integrity profile according to the present invention.

[0039]도 14는 본 발명에 따른 무결성 인증자(integrity authenticator)의 무결성을 검증하는 방법의 예시적인 일 실시예의 대강을 나타내는 흐름도이다.[0039] Figure 14 is a flow diagram illustrating an overview of one exemplary embodiment of a method for verifying the integrity of an integrity authenticator in accordance with the present invention.

[0004]그러나 PKI의 직접적인 사용은 판매자들과 제공자들 간에 다 대 다 관계(many-to-many relationship)를 만들게 된다. 이런 유형의 관계는 기준화하기(scale)가 쉽지 않고, 따라서 그 관계를 관리하고 효율적이고 실시간적으로 무결성 검증을 하는 것이, 불가능하지는 않다 하더라도, 어려운 일이다.However, direct use of PKI will create a many-to-many relationship between sellers and providers. This type of relationship is not easy to scale, and it is difficult, if not impossible, to manage that relationship and verify integrity in an efficient and real-time manner.

[0005]콘텐트 제공자들은 종종 원하는 특성과 작용(behaviors)을 갖는 보증된 애플리케이션들과 시스템에 의해 소비되는 그들의 콘텐트를 갖기를 원한다. 콘텐트 소비 환경의 이러한 측면들을 제어함으로써, 콘텐트 제공자는 예컨대 복사, 프린트, 매입(embedding), 배포(distribution) 등과 같은 사용법(usage)을 제한할 수 있다.Content providers often want to have guaranteed content and their content consumed by the system with desired characteristics and behaviors. By controlling these aspects of the content consumption environment, content providers can restrict usage, such as copying, printing, embedding, distribution, and the like.

[0006] 예컨대, 콘텐트 제공자는 콘텐트를 소비하는 시스템이 안전도와 권리관리능력이 어떤 레벨은 되어야 한다는 것을 요구하는 방식으로 콘텐트를 오용으로부터 보호하기를 원할 수 있다. 콘텐트 제공자는 또한 예컨대 디버거, 바이러스,가로채기 루틴(interception routine) 등과 같은 어떤 "외래(alien)" 애플리케이션도 콘텐트나 다른 민감한 정보를 압수하거나 혹은 그렇지 않다면 "훔치기"를 하는 사용자 시스템상의 콘텐트 소비 애플리케이션과 상호작용하지 않기를 원할 수도 있다. 예컨대, 변호사 도켓번호(Attorney Docket No.)가 111325 000002이고 제목이 "표준 렌더링 엔진을 사용하는 문서 배포 관리 방법 및 장치와 표준 렌더링 엔진을 제어하기 위한 방법 및 장치"이며 그 내용 전체가 본 출원에 통합되어 여기에 함께 출원되는 발명이 있는데, 그 발명은 사용자 시스템의 기능성 관리를 통해 문서에 대한 사용자의 접근을 제한하도록 한다.For example, a content provider may want to protect content from misuse in a manner that requires a system that consumes content to be at some level of safety and rights management capabilities. The content provider may also be able to communicate with any content consuming application on the user's system that any "alien" application, such as a debugger, virus, interception routine, etc., confiscates or otherwise "steals" the content or other sensitive information. You may not want to interact. For example, Attorney Docket No. 111325 000002, entitled "Method and Apparatus for Managing Document Distribution and Using Standard Rendering Engine, and Method and Apparatus for Controlling Standard Rendering Engine", the entire contents of which There is an invention that is incorporated and filed together here, which allows the user to restrict access to a document through the functionality management of the user system.

[0007]주어진 애플리케이션들과 시스템이 원하는 특성과 작용을 갖는 것을 보증하기 위해서는, 콘텐트를 소비하는 데 필요한 모든 애플리케이션들과 시스템 구성요소들(system components)의 검증은 검증 애플리케이션에 의해 확인받을 필요가 있다.In order to ensure that given applications and systems have the desired characteristics and behavior, verification of all applications and system components needed to consume content needs to be verified by the verifying application. .

[0008]본 발명은 콘텐트 소비 환경들에 대한 보증과 검증을 제공하는 시스템들과 방법들을 기술한다. 그러한 시스템 내에서, 이러한 서비스들을 제공하는 무결성 보증 및 검증 장치는 콘텐트 제공자와 콘텐트 소비 시스템/애플리케이션 제공자 사이에 도입된다. 이 보증장치는 각 제공자들의 개별 애플리케이션들 및/또는 시스템들을 등록하고, 이들 애플리케이션들 및/또는 시스템들의 무결성을 미리 정해진 선택에 따라 콘텐트 제공자들에게 보증해준다. 이러한 서비스의 사용을 통해, 콘텐트 제공자는 무결성 보증과 검증 장치를 "신뢰(trust)"할 수 있다. 이러한 신뢰를 가지고, 제공자는 그의 콘텐트를 소비하는 것이 허락된 애플리케이션들과 시스템세트의 프로파일(profile)을 수립하고, 그 프로파일에 따라 사용자 시스템에 대하여 사용자의 애플리케이션들과 시스템 세트가 인증된다는 것을 검증한다.The present invention describes systems and methods that provide assurance and verification for content consumption environments. Within such a system, an integrity assurance and verification device that provides these services is introduced between the content provider and the content consuming system / application provider. This assurance device registers the individual applications and / or systems of each provider and assures the content providers the integrity of these applications and / or systems according to a predetermined choice. Through the use of these services, content providers can "trust" the integrity assurance and verification device. With this trust, the provider establishes a profile of the applications and system sets that are allowed to consume its content, and verifies that the user's applications and system sets are authenticated to the user system according to that profile. .

[0009] 특히, 본 발명의 시스템들과 방법들은 예를 들면 문서와 같은 콘텐트와 소비 환경의 무결성에 대하여 보증과 검증을 제공한다. 그러한 시스템 내에서, 이러한 서비스를 제공하는 무결성 보증 및 검증 장치는, 콘텐트 제공자들과 콘텐트 소비 시스템과, 예컨대 개인용 컴퓨터들, 핸드헬드 컴퓨터들, PDA들, 멀티미디어 디스플레이장치들, DVD 플레이어들, 분산망작동형 전화기들(distributed network enabled phones), 그리고 워드프로세서, 문서 뷰어, 멀티미디어 플레이어들과 같은 애플리케이션들을 배포하는 애플리케이션 제공자들 사이에 도입된다. 무결성 보증 및 검증 장치는 콘텐트 소비 시스템/애플리케이션 제공자들의 개별적인 애플리케이션들 및/또는 시스템들을 등록하고, 이러한 애플리케이션들과 시스템들의 집합을 콘텐트 제공자들에게 보증해준다. 이러한 서비스를 이용하는 것에 의해, 콘텐트 제공자는 무결성 보증 및 검증 장치를 선택하거나 신뢰할 수 있고, 애플리케이션들과 그 콘텐트를 소비하도록 허여된 시스템들 세트의 프로파일을 수립할 수 있고, 그 프로파일에 따라서 사용자 시스템 상의 애플리케이션들과 시스템이 인증된 것이라고 사용자 시스템에 대하여 검증을 해줄 수 있다. 이러한 방법에 있어서, 사용자가 요청하거나 제출한 콘텐트에 대한 접근이나 통제의 정도는 제어될 수 있다.In particular, the systems and methods of the present invention provide assurance and verification for the integrity of content and consumption environments, such as, for example, documents. Within such systems, integrity assurance and verification devices that provide such services include content providers and content consumption systems, such as personal computers, handheld computers, PDAs, multimedia display devices, DVD players, distributed networks. It is introduced between distributed network enabled phones and application providers that distribute applications such as word processors, document viewers, and multimedia players. The integrity assurance and verification device registers the individual applications and / or systems of the content consuming system / application providers, and assures the content providers the set of such applications and systems. By using such a service, a content provider can select or trust an integrity assurance and verification device, establish a profile of applications and a set of systems that are allowed to consume the content, and according to that profile on the user system You can verify your system that your applications and systems are authenticated. In this way, the degree of access or control of the content requested or submitted by the user can be controlled.

[0010]문서라는 용어는, 여기서 사용되는 것처럼, 배포나 전달할 정보의 어떤 단위로서, 서신, 책, 잡지, 정기간행물, 신문, 기타 서류, 소프트웨어, 플러그-인, 사진, 기타 이미지, 오디오 비디오 클립 및 기타 멀티미디어 프레젠테이션들을 포함하지만, 이것들에 국한되는 것은 아니다. 문서는, 저장매체 혹은, 예컨대 콤팩트디스크(CDs), 디지털비디오디스크(DVDs), 레이저디스크, 광- 및 광자기- 매체 등과 것을 포함하는, 어떤 다른 알려진 혹은 향후에 개발될 다양한 매체나 소프트웨어에 기록된 디지털데이터로서, 종이에 인쇄된 형태로 구체화될 수도 있다.The term document, as used herein, is any unit of information to be distributed or conveyed, such as letters, books, magazines, periodicals, newspapers, other documents, software, plug-ins, photographs, other images, audio video clips. And other multimedia presentations, but are not limited to these. The document may be recorded on a storage medium or any other known or future development medium or software, including compact discs (CDs), digital video discs (DVDs), laser discs, optical and magneto-optical media, and the like. The digital data may be embodied in a printed form on paper.

[0011] 본 발명의 시스템들과 방법들은 무결성 보증 및 검증 서비스를 제공한다.[0011] The systems and methods of the present invention provide integrity assurance and verification services.

[0012] 본 발명은 콘텐트 소비 시스템 환경에 관한 무결성 보증 및 검증 서비스용 시스템 및 방법을 별도로 제공한다.The present invention separately provides a system and method for integrity assurance and verification services for a content consumption system environment.

[0013] 본 발명은 무결성 프로파일을 결정하는 시스템과 방법을 또한 별도로 제공한다.The present invention also separately provides a system and method for determining an integrity profile.

[0014] 본 발명은 하나 이상의 시스템 환경의 무결성을 검증하는 시스템과 방법을 부가적으로 제공한다.The present invention additionally provides a system and method for verifying the integrity of one or more system environments.

[0015] 본 발명은 또한 무결성 프로파일, 시스템 및 시스템 구성요소 정보를 관리하는 시스템 및 방법을 제공한다.The present invention also provides a system and method for managing integrity profiles, system and system component information.

[0016] 본 발명은 사용자 시스템 상의 무결성 체크를 무결성 프로파일의 사용을 통해 수행하는 시스템과 방법을 부가적으로 제공한다.The present invention additionally provides a system and method for performing an integrity check on a user system through the use of an integrity profile.

[0017] 구체적으로, 문서 발행자 또는 배포자와 같은 콘텐트 제공자는 무결성 프로파일에 대한 요청을 시작한다. 무결성 프로파일에 관한 이러한 요청은 무결성 보증 및 검증 장치로 전달된다. 무결성 보증 및 검증 장치는 예컨대, 만약 요청된 애플리케이션들과 시스템 구성요소들에 관한 무결성 프로파일이 존재하지 않는다면, 여러 가지 시스템 구성요소 및/또는 애플리케이션들을 사용자에게 공급해오고 있는 콘텐트 소비 시스템/애플리케이션 제공자에게 질의를 할 수 있다. 콘텐트 소비 시스템/애플리케이션 제공자는 특정 애플리케이션들 또는 시스템 구성요소들에 관한 무결성 보증 및 검증장치 인증정보(authentication information)로 리턴한다. 상기 인증정보는 사용자의 시스템 상의 애플리케이션 또는 시스템 구성요소와 콘텐트 소비 시스템/애플리케이션 제공자가 배포한 오리지널 애플리케이션 또는 시스템 구성요소 간의 비교, 또는 무결성 검증이 수행되도록 한다.In particular, a content provider, such as a document publisher or distributor, initiates a request for an integrity profile. This request for integrity profile is forwarded to the integrity assurance and verification device. The integrity assurance and verification device may, for example, query the content consuming system / application provider who has been supplying various system components and / or applications to the user if there is no integrity profile for the requested applications and system components. You can do The content consuming system / application provider returns with integrity assurance and verifier authentication information about specific applications or system components. The authentication information enables a comparison or integrity verification between an application or system component on the user's system and the original application or system component distributed by the content consuming system / application provider.

[0018] 시스템 애플리케이션들 및 구성요소에 관한 상기 인증정보는 구성요소 데이터베이스에 저장된다. 콘텐트 제공자들에 대한 프로파일들은 프로파일 데이터베이스에 저장된다. 다른 대안으로서, 콘텐트 소비 시스템/애플리케이션 제공자는, 무결성 프로파일을 결정하는 무결성 검증 및 보증 장치에 대한 필요성 없이, 무결성 보증 및 검증 장치의 각 데이터베이스로 직접 전달될 수 있는 인증정보의 데이터베이스를 유지할 수 있다. 무결성 프로파일 식별자(identification: ID)가, 정해진 무결성 프로파일에 대응하여, 그 후에 콘텐트 제공자에게 리턴 된다.The authentication information regarding system applications and components is stored in a component database. Profiles for content providers are stored in a profile database. As another alternative, the content consumption system / application provider can maintain a database of authentication information that can be passed directly to each database of integrity assurance and verification devices, without the need for integrity verification and assurance devices to determine the integrity profile. An integrity profile identifier (ID) is then returned to the content provider, corresponding to the specified integrity profile.

[0019] 문서 배포자와 같은 콘텐트 제공자는 예컨대 보호되는 콘텐트(protected content)를 사용자에게 제공한다. 콘텐트 제공자는 사용자에게 예컨대 라이센스 동의서와 무결성 프로파일 ID를 포함하는 디지털 콘텐트의 보호판(protected version)을 전달한다. 무결성 프로파일 ID는 예컨대 보호되는 콘텐트와 결합되어 사용되도록 허여된 애플리케이션들과 시스템 구성요소들, 그리고 그러한 시스템/애플리케이션들에 관한 무결성 프로파일의 ID를 포함한다.A content provider, such as a document distributor, provides the user with protected content, for example. The content provider delivers a protected version of the digital content to the user, including, for example, a license agreement and an integrity profile ID. The integrity profile ID includes, for example, the IDs of the applications and system components that are allowed to be used in conjunction with the protected content and the integrity profile for those systems / applications.

[0020] 무결성 보증 및 검증 장치는, 콘텐트 소비 시스템/애플리케이션 제공자로부터의 인증정보를 가지고서, 예컨대 사용자 시스템의 요청이 있으면, 무결성 프로파일을 사용자 시스템으로 전달한다. 이러한 무결성 프로파일을 이용하여, 사용자 시스템의 무결성 검증이 수행될 수 있다. 사용자 시스템의 구성요소/애플리케이션이 인증받을 수 있는 것이라고 결정되면, 비로소 콘텐트 제공자에 의해 제공되는 디지털 콘텐트에 대한 사용자의 애플리케이션들과 시스템의 액세스가 예컨대 부가적인 프로파일 정보에 따라서 이루어질 수 있다.The integrity assurance and verification apparatus has authentication information from the content consuming system / application provider, for example, upon request of the user system, delivers an integrity profile to the user system. Using this integrity profile, integrity verification of the user system can be performed. Once it is determined that the components / applications of the user system can be authenticated, the user's applications and system access to the digital content provided by the content provider may be made, for example, in accordance with additional profile information.

[0021] 그러나 무결성 보증은 콘텐트 제공자에게서 유래될 필요는 없다는 점을 인식할 필요가 있다. 반대로, 보증 요청은 예컨대 프로파일 ID 정보에 내장된(embedded) 소프트웨어 애플리케이션에 의해 시발될 수 있으며, 그 프로파일 ID 정보는 보호되는 콘텐트와 함께 콘텐트 제공자로부터 사용자의 시스템으로 전달된다.However, it is necessary to recognize that integrity assurance does not need to be derived from a content provider. In contrast, a warranty request can be initiated, for example, by a software application embedded in profile ID information, which profile ID information is passed from the content provider to the user's system along with the protected content.

[0022] 대안으로서, 콘텐트 제공자는 또한 무결성 검증 및 보증 시스템으로서 서비스할 수도 있다. 이 경우, 콘텐트 제공자는 적절한 인증정보를 수집하고 콘텐트 제공자 자신의 사용에 관한 무결성 프로파일을 정함으로써 무결성 보증 및 검증 서비스 그 자체를 수행한다.As an alternative, the content provider may also serve as an integrity verification and assurance system. In this case, the content provider performs the integrity assurance and verification service itself by collecting the appropriate authentication information and establishing an integrity profile for the content provider's own use.

[0023] 부가적으로, 콘텐트 소비 애플리케이션/시스템 제공자는 또한 무결성 보증 및 검증 장치로서 행동할 수 있다. 이 경우, 콘텐트 소비 애플리케이션/시스템 제공자는 무결성 프로파일을 예컨대 관련 애플리케이션 및/또는 시스템 구성요소와 함께 공급할 수도 있다.Additionally, the content consuming application / system provider may also act as an integrity assurance and verification device. In this case, the content consuming application / system provider may supply an integrity profile, for example with associated applications and / or system components.

[0024] 본 발명의 이러한 그리고 그 밖의 특징들과 장점은 바람직한 실시예에 관한 다음의 상세한 설명으로부터 명확해질 것이다.These and other features and advantages of the present invention will become apparent from the following detailed description of preferred embodiments.

[0040]본 발명의 시스템과 방법은 콘텐트 소비 환경의 무결성을 결정하는 보증 및 검증 서비스를 제공한다. 이러한 시스템 내에서, 무결성 보증 및 검증 장치는 하나 이상의 콘텐트 제공자와 하나 이상의 콘텐트 소비 시스템 및 애플리케이션 제공자들 사이에 도입된다. 무결성 보증 및 검증 장치는 인증정보를 콘텐트 소비 애플리케이션 및/또는 시스템 제공자들로부터 획득한다. 이 인증정보는 콘텐트 제공자로 하여금 콘텐트가 제공되는 환경에 대하여 신뢰하도록 해준다. 따라서 콘텐트 소비 애플리케이션 및 시스템 제공자로부터 받은 인증정보에 의거하여, 무결성 프로파일이 만들어진다. 이 프로파일은 그 후 사용자 시스템으로 전달되어 그 사용자가 콘텐트 제공자에 의해 제공된 디지털 콘텐트를 개조하였거나, 변경하였거나 공인되지 않은 방법으로 잠재적인 방해를 하지 않는다는 것을 확인해준다.The system and method of the present invention provide assurance and verification services for determining the integrity of a content consumption environment. Within such a system, an integrity assurance and verification device is introduced between one or more content providers and one or more content consumption systems and application providers. The integrity assurance and verification device obtains authentication information from the content consuming application and / or system providers. This authentication information allows the content provider to trust the environment in which the content is presented. Thus, based on the authentication information received from the content consuming application and the system provider, an integrity profile is created. This profile is then passed to the user's system to confirm that the user has not altered, altered or otherwise tampered with the digital content provided by the content provider.

[0041] 도 1은 무결성 보증 및 검증을 수행하는 예시적인 시스템을 도시한다. 특히, 무결성 보증 및 검증 시스템(100)은 무결성 보증 및 검증 장치(200), 콘텐트 제공자 및/또는 배포자(300), 사용자 시스템(400), 콘텐트 소비 시스템/애플리케이션 제공자(500), 구성요소 데이터베이스(260) 및 프로파일 데이터베이스(270)를 포함한다.1 shows an example system for performing integrity assurance and verification. In particular, the integrity assurance and verification system 100 includes an integrity assurance and verification apparatus 200, a content provider and / or distributor 300, a user system 400, a content consumption system / application provider 500, a component database ( 260 and profile database 270.

[0042] 예시적 운영 환경에 있어서, 콘텐트 소비 시스템/애플리케이션 제공자(500)는 애플리케이션들, 시스템 및/또는 소프트웨어/하드웨어 구성요소들을 사용자에게 제공한다. 사용자 시스템(400)은 문서와 같이 콘텐트 제공자와 배포자(300)에 의해 공급되는 디지털 콘텐트의 소비를 허락한다. 사용자 시스템(400)의 무결성을 검증하기 위해, 무결성 보증 및 검증 장치(200)는 개인적인 애플리케이션들, 시스템 및/또는 콘텐트 소비 시스템/애플리케이션 제공자(500)의 소프트웨어/하드웨어 구성요소들에 대한 인증정보를 수집 및 등록한다. 이러한 인증정보를 가지고서, 무결성 보증 및 검증 장치(200)는 하나 이상의 애플리케이션들의 무결성 프로파일, 그 콘텐트 제공자(300)로부터의 서비스 요청(20)에 의거한 시스템 및/또는 시스템 구성요소들을 결정하고 보증해준다. 이 결정된 무결성 프로파일(50)은 사용자 시스템(400)에 전달되어 사용자 시스템(400)의 무결성이 결정될 수 있다.In an example operating environment, content consumption system / application provider 500 provides applications, systems, and / or software / hardware components to a user. User system 400 allows consumption of digital content, such as documents, supplied by content providers and distributors 300. In order to verify the integrity of the user system 400, the integrity assurance and verification device 200 may provide authentication information for the software / hardware components of the individual applications, system and / or content consumption system / application provider 500. Collect and register. With this authentication information, integrity assurance and verification device 200 determines and assures the system and / or system components based on the integrity profile of one or more applications, the service request 20 from its content provider 300. . This determined integrity profile 50 may be communicated to the user system 400 to determine the integrity of the user system 400.

[0043] 동작 시, 콘텐트 제공자 및 배포자(300)는 문서와 같은 디지털 콘텐트를 사용자 시스템(400)에 제공한다. 사용자 시스템(400)은 하드웨어 구성요소들 및/또는 여러 가지 소프트웨어 애플리케이션들과 같은 하나 이상의 시스템 구성요소들을 구비한다. 이들 애플리케이션들과 하드웨어/소프트웨어 구성요소들은 대개 사용자에 의해, 컴퓨터 공급자, 소프트웨어 창고, 애플리케이션 제공자 등과 같은 하나 이상의 콘텐트 소비 시스템/애플리케이션 제공자로부터 입수된다. 그 후, 이들 애플리케이션들과 하드웨어 및 소프트웨어 구성요소들은, 사용자가 문서와 같은 콘텐트를 소비하게 되도록 하기 위해, 만약 이미 조립되어 있는 것이 아니라면, 사용자에 의해 조립되거나 전용물로서 설치된다.In operation, the content provider and distributor 300 provide digital content, such as a document, to the user system 400. User system 400 has one or more system components, such as hardware components and / or various software applications. These applications and hardware / software components are usually obtained by the user from one or more content consumption system / application providers such as computer providers, software warehouses, application providers, and the like. These applications and hardware and software components are then assembled by the user or installed as dedicated, if not already assembled, in order to allow the user to consume content such as documents.

[0044] 따라서 사용자 환경의 애플리케이션들 및 하드웨어/소프트웨어를 사용하는 과정 동안에, 사용자는 문서와 같은 보호되는 내용을 보길 원할 수도 있다. 따라서 사용자(400)는 콘텐트 제공자(300)로부터 하나 이상의 서류, 예컨대 전자책, 멀티미디어 파일, 프레젠테이션, 폼 템플릿 등을 요청할 것이다. 이러한 요청을 받으면, 콘텐트 제공자 및 배포자(300)는 요청된 콘텐트를 보호되는 형식으로 프로파일 ID(10)와 함께 최종 사용자(400)에게 제공할 수 있다. 이 프로파일 ID(10)는 예컨대 어떤 애플리케이션에서 그 보호되는 콘텐트가 보여질 수 있는지와 예컨대 제공된 콘텐트가 특정의 소프트웨어/하드웨어 환경 내에서 조작될 수 있는 정도에 관한 상세사항들을 포함한다.Thus, during the process of using applications and hardware / software of the user environment, the user may wish to view protected content such as a document. Thus, user 400 will request one or more documents, such as e-books, multimedia files, presentations, form templates, etc. from content provider 300. Upon receiving such a request, the content provider and distributor 300 may provide the requested content to the end user 400 with the profile ID 10 in a protected format. This profile ID 10 includes details, for example, in which application the protected content can be viewed and for example the degree to which the provided content can be manipulated within a particular software / hardware environment.

[0045]부가해서, 콘텐트 제공자(300)는 서비스요청(20)을 무결성 보증 및 검증 장치(200)로 전달할 수 있다. 서비스 요청(20)은 예컨대 구성요소 및/또는 콘텐트 제공자(300)가 배포된 보호 콘텐트를 사용자 시스템(400)이 소비하게 하는 것을원하는 소프트웨어 애플리케이션의 리스트를 포함한다. 무결성 보증 및 검증 장치(200)는 서비스 요청에서 식별된 구성요소 및 애플리케이션들/소프트웨어가 구성요소 데이터베이스(260) 및/또는 프로파일 데이터베이스(270)안에 저장된 대응 인증정보를 가지고 있는 지를 결정한다. 만약 무결성 보증 및 검증 장치가 서비스 요청(20)에서 특정된 인증정보를 가지지 않았다면, 그 무결성 보증 및 검증 장치(200)는, 하나 이상의 콘텐트 소비 시스템/애플리케이션들의 제공자들(500)로부터, 특정 애플리케이션, 시스템 하드웨어/소프트웨어 구성요소 등에 관한 인증정보를 요청할 수 있다. 이러한 인증정보를 갖고서, 무결성 보증 및 검증 장치(200)는 애플리케이션과 시스템 구성요소에 관련된 정보를 구성요소 데이터베이스(260)에 저장한다. 대안으로서, 무결성 보증 및 검증 장치(200)는 하나 이상의 애플리케이션들에 관한 무결성 프로파일을 발전시킬 수 있다. 애플리케이션들, 시스템 및 시스템 구성요소들의 진정성(authenticity)을 확인해주는 이러한 정보를 가지고서, 무결성 보증 및 검증 장치(200)는 무결성 프로파일(50)을 사용자 시스템(400)에 전달한다. 이 무결성 프로파일(50)은 시스템, 시스템 구성요소 및/또는 사용자 시스템(400)의 애플리케이션들의 진정성을 확인하는 데 이용된다. 만약 사용자의 시스템 구성요소 및/또는 애플리케이션들이 진정한 것이라는 점이 결정되면, 보호 콘텐트(protected content)(10)는 방호가 해제되어(unprotected) 사용자 시스템(400)은 그 보호 콘텐트를 보거나 그렇지 않을 경우 무결성 프로파일에 따라서 조작하게 된다.In addition, the content provider 300 may deliver the service request 20 to the integrity assurance and verification apparatus 200. The service request 20 includes, for example, a list of software applications that the component and / or content provider 300 wants to cause the user system 400 to consume the protected content that has been distributed. The integrity assurance and verification device 200 determines whether the component and applications / software identified in the service request have corresponding authentication information stored in the component database 260 and / or the profile database 270. If the integrity assurance and verification device did not have the authentication information specified in the service request 20, then the integrity assurance and verification device 200, from the providers 500 of one or more content consumption systems / applications, will be able to obtain the specific application, Authentication information regarding system hardware / software components and the like can be requested. With this authentication information, the integrity assurance and verification device 200 stores information related to applications and system components in the component database 260. Alternatively, integrity assurance and verification apparatus 200 may develop an integrity profile for one or more applications. With this information confirming the authenticity of applications, systems and system components, integrity assurance and verification device 200 forwards integrity profile 50 to user system 400. This integrity profile 50 is used to verify the authenticity of the system, system components, and / or applications of the user system 400. If it is determined that the user's system components and / or applications are true, the protected content 10 is unprotected so that the user system 400 sees the protected content or otherwise the integrity profile. The operation is performed according to.

[0046]도 2는 본 발명의 예시적인 실시예에 따른 무결성 보증 및 검증환경(100)의 구성요소들의 개요를 도시한다. 특히, 무결성 보증 및 검증 환경(100)은 하나 이상의 콘텐트 제공자들(300), 하나 이상의 사용자 시스템들(400), 하나 이상의 무결성 보증 및 검증 장치들(200), 그리고 하나 이상의 콘텐트 소비 시스템/애플리케이션 제공자들(500)을 구비한다.FIG. 2 shows an overview of the components of the integrity assurance and verification environment 100 in accordance with an exemplary embodiment of the present invention. In particular, integrity assurance and verification environment 100 may include one or more content providers 300, one or more user systems 400, one or more integrity assurance and verification devices 200, and one or more content consumption system / application providers. Field 500 is provided.

[0047]콘텐트 제공자(300)는 예컨대 제어기(310), 메모리(320), 입출력제어기(330), 그리고 콘텐트 데이터베이스(340)를 구비한다. 그러나 콘텐트 제공자(300)는 또한 보다 전통적인 방법으로 콘텐트를 배포할 수도 있음을 인식할 필요가 있다. 예컨대 콘텐트 제공자는 콘텐트를 담고 있는 콤팩트디스크(CD)를 배포할 수도 있다. 이 CD는 예컨대 우편배달 서비스를 통해 사용자에게 배달될 수 있을 것이다. 일반적으로 어떤 형태의 배포와 보급과정이라도 본 발명의 시스템 및 방법들과 동등하게 잘 돌아갈 수 있을 수 있을 것이다.The content provider 300 includes, for example, a controller 310, a memory 320, an input / output controller 330, and a content database 340. However, content provider 300 also needs to be aware that content may be distributed in a more traditional manner. For example, the content provider may distribute a compact disc (CD) containing the content. This CD may be delivered to the user, for example, via a postal delivery service. In general, any form of distribution and dissemination may work equally well with the systems and methods of the present invention.

[0048]무결성 보증 및 검증 장치(200)는 제어기(210), 메모리(220), 입출력제어기(230), 디지털 서명장치(240), 구성요소 등록장치(250), 구성요소 데이터베이스(260), 프로파일 데이터베이스(270), 프로파일 생성장치(280), 프로파일 배포장치(290) 및 프로파일 검증장치(295)를 구비한다. 무결성 보증 및 검증장치(200)는 다음과 같은 서비스들을 제공한다: 구성요소 등록 서비스와 무결성 프로파일 서비스. 등록서비스는 각 제공자들로부터 받은 애플리케이션들, 시스템, 및/또는 소프트웨어/하드웨어 구성요소들을, 의도된 특징들, 목적 및/또는 작용등과 함께, 인증된 것으로서 등록되도록 허락한다.Integrity assurance and verification device 200 is a controller 210, memory 220, input and output controller 230, digital signature device 240, component registration device 250, component database 260, A profile database 270, a profile generating device 280, a profile distribution device 290, and a profile verification device 295 are provided. The integrity assurance and verification device 200 provides the following services: component registration service and integrity profile service. The registration service allows applications, systems, and / or software / hardware components received from each provider to be registered as authorized, along with their intended features, purposes and / or actions, and the like.

[0049]무결성 프로파일 서비스는 콘텐트 제공자들에게 제공되어 무결성 프로파일들을 구축하고 검색한다. 무결성 프로파일은 임의적으로(optionally) 그리고 디지털적으로 서명될 수 있는 문서인데, 그 문서는 검증 가능한 정보와 보호 문서들의 콘텐트를 소비할 등록된 시스템 구성요소 세트를 포함한다. 일단 한 번 무결성 프로파일이 생성되면, 그 무결성 프로파일의 ID는 콘텐트 제공자에게로 리턴된다. 콘텐트 제공자는 무결성 프로파일 ID와 임의적으로는(optionally) 보호문서에 관한 사용 라이센스를 포함할 것이다. 보호문서들의 콘텐트가 소비되고 사용자의 시스템과 환경의 지역적인 무결성 검증을 수행할 필요가 있을 때, 무결성 프로파일은 무결성 보증 및 검증 장치(200)로부터 사용자 시스템으로 검색될 수 있다.An integrity profile service is provided to content providers to build and retrieve integrity profiles. An integrity profile is a document that can be optionally and digitally signed, which includes a set of registered system components that will consume verifiable information and the content of protected documents. Once an integrity profile is created, the ID of that integrity profile is returned to the content provider. The content provider will include a use license for the integrity profile ID and optionally the protected document. When the content of the protected documents is consumed and needs to perform local integrity verification of the user's system and environment, the integrity profile can be retrieved from the integrity assurance and verification device 200 to the user system.

[0050]사용자 시스템(400)은 제어기(410), 메모리(420), 입출력제어기(430), 저장장치(440), 무결성 인증장치(450), 및 프로파일 저장장치(460)를 구비한다. 그러나 이 예시적인 사용자 시스템은 컴퓨터의 모델에 기반을 둔 것이라는 점이 인식될 필요가 있다. 그러나 사용자 시스템의 구성요소들은 예컨대 소비되고 있는 콘텐트의 유형에 따라서 변할 수 있다. 일반적으로, 자신의 무결성이 검증될 수 있는 부분들을 구비하는 어떠한 사용자 시스템이건 본 발명의 시스템 및 방법들과 동등하게 잘 작동할 것이다.The user system 400 includes a controller 410, a memory 420, an input / output controller 430, a storage device 440, an integrity authentication device 450, and a profile storage device 460. However, it should be appreciated that this exemplary user system is based on the model of the computer. However, the components of the user system may vary depending on the type of content being consumed, for example. In general, any user system with parts whose integrity can be verified will work equally well with the systems and methods of the present invention.

[0051]콘텐트 소비 시스템/애플리케이션 제공자(500)는 예컨대 제어기(510), 메모리(520), 입출력제어기(530), 등록애플리케이션장치(540), 애플리케이션 데이터베이스(550), 및 시스템 데이터베이스(560)를 구비한다. 그러나 콘텐트 제공자(300)와 비슷하게, 콘텐트 소비시스템/애플리케이션 제공자는 콘텐트 소비 시스템/애플리케이션 제공자가 공급하는 시스템 및/또는 애플리케이션의 유형에 따라서 여러 가지 다른 형태를 가질 수도 있다. 예컨대 만약 콘텐트 소비 시스템/애플리케이션 제공자(500)가 특수한 하드웨어 구성요소들을 공급한다면, 콘텐트 소비 시스템/애플리케이션 제공자(500)는 애플리케이션 및 시스템 데이터베이스들을 유지하지 않을 수도 있다. 대안으로는, 예컨대 시스템/장치 구성요소 공급자는 예컨대, 디스크 상에서, 인증정보를 직접 무결성 보증 및 검증장치(200)로 보낼 수도 있을 것이다.The content consumption system / application provider 500 may, for example, include a controller 510, a memory 520, an input / output controller 530, a registered application device 540, an application database 550, and a system database 560. Equipped. However, similar to the content provider 300, the content consumption system / application provider may take many different forms depending on the type of system and / or application provided by the content consumption system / application provider. For example, if content consumption system / application provider 500 supplies special hardware components, content consumption system / application provider 500 may not maintain application and system databases. Alternatively, the system / device component supplier may, for example, send authentication information directly to the integrity assurance and verification device 200, for example on a disk.

[0052] 다른 방안으로서, 콘텐트 소비 시스템/애플리케이션 제공자(500)는 콘텐트 제공자(300)와 노력을 조율하여 무결성 프로파일의 결정을 용이하게 할 수도 있다. 일반적으로 콘텐트 소비 시스템/애플리케이션 제공자는 하드웨어 혹은 소프트웨어 및 그에 관한 인증정보를 공급할 수 있는 어떤 실체가 될 수 있다.Alternatively, the content consumption system / application provider 500 may coordinate efforts with the content provider 300 to facilitate determination of the integrity profile. In general, a content consumption system / application provider may be any entity capable of supplying hardware or software and authentication information about it.

[0053]이러한 예시적인 실시예에서 콘텐트 소비 시스템/애플리케이션 제공자(500)는 여러 가지 시스템 구성요소들을 구비하는 것으로 나타나는 반면, 콘텐트 소비 시스템/애플리케이션 제공자(500)는 예컨대 컴퓨터 배포자, 소프트웨어 개발자, 소프트웨어 제공자, 소프트웨어 배포자 등이 될 수 있다는 점을 인식할 필요가 있다. 따라서 콘텐트 소비 시스템/애플리케이션 제공자(500)는 콘텐트 제공자(300)에 의해 제공되는 콘텐트의 소비를 허락하는 장치들 및/또는 소프트웨어를 공급할 수 있다.In this example embodiment, the content consumption system / application provider 500 appears to have various system components, while the content consumption system / application provider 500 is, for example, a computer distributor, software developer, software provider. You need to be aware that it can be a software distributor. Thus, the content consumption system / application provider 500 may supply devices and / or software to allow consumption of the content provided by the content provider 300.

[0054]무결성 보증 및 검증 환경(100)의 다양한 구성요소들은 그들 간에 링크(5)를 경유하여 통신을 할 수 있으며, 그 링크는 유선 또는 혹은 무선 링크, 또는 연결된 구성요소들간에 전자적인 데이터를 공급할 수 있는 어떤 다른 알려진 혹은 후에 개발될 구성요소들이 될 수 있다. 예컨대 링크(5)는 하나 이상의 분산망일 수 있으며, 이들 망은 하나 이상의 무결성 보증 및 검증 환경들(100) 혹은, 다른 대안으로서, 하나 이상의 콘텐트 제공자들(300), 사용자 시스템들(400), 콘텐트 소비 시스템/애플리케이션 제공자들(500) 그리고 무결성 보증 및 검증 장치들(200)의 다중 인스턴스(multiple instances)에 차례로 연결될 수 있다.The various components of the integrity assurance and verification environment 100 may communicate via a link 5 between them, the link being a wired or wireless link, or electronic data between the connected components. It can be any other known or later developed component that can be supplied. For example, the link 5 may be one or more distributed networks, which may be one or more integrity assurance and verification environments 100, or alternatively, one or more content providers 300, user systems 400, content. It may in turn be connected to the consumer systems / application providers 500 and to multiple instances of the integrity assurance and verification devices 200.

[0055]예시적인 운영 환경에 있어서, 콘텐트 소비 시스템/애플리케이션 제공자(500)는 애플리케이션들, 소프트웨어 및/또는 하드웨어를 사용자에게 공급한다. 이들 애플리케이션들, 소프트웨어 및/또는 하드웨어는 사용자에 의해 이용되어 예컨대 문서를 보는 것과 같은 콘텐트 소비를 한다.In an exemplary operating environment, content consumption system / application provider 500 supplies applications, software, and / or hardware to a user. These applications, software and / or hardware are used by a user to consume content such as viewing a document.

[0056]콘텐트 제공자(300)는 예컨대 사용자 시스템(400)에 위치하고 있는 사용자의 요청에 즈음하여 문서와 같은 콘텐트를 사용자 시스템(400)으로 배포한다. 특히, 하나의 요청은 콘텐트 제공자(300)에 의해 사용자 시스템(400)으로부터 수신될 수 있다. 이 요청은, 입출력 제어기(330)를 통해 수신되는데, 제어기(310)에 의해, 메모리(320)와 협력하여 처리되어 콘텐트 데이터베이스(340)로부터 요청된 콘텐트를 검색한다. 예컨대 콘텐트 제공자(300)는 온라인 콘텐트 제공자, 책방, 소프트웨어 제공자, 혹은 문서와 같은 콘텐트를 사용자에게 제공하기를 희망하는 어떤 다른 콘텐트 제공자 일 수 있다.The content provider 300 distributes content, such as a document, to the user system 400, for example, at the request of a user located in the user system 400. In particular, one request may be received from the user system 400 by the content provider 300. This request is received via the input / output controller 330, which is processed by the controller 310 in cooperation with the memory 320 to retrieve the requested content from the content database 340. For example, the content provider 300 may be an online content provider, a bookstore, a software provider, or any other content provider who wishes to provide content to the user, such as a document.

[0057]사용자 시스템(400)으로부터의 콘텐트 요청을 접수하였을 때, 콘텐트 제공자(300)는 그 요청된 콘텐트 뿐만 아니라 보호되는 콘텐트에 관한 부가적인 정보까지 사용자 시스템으로 되돌려준다. 이러한 부가적인 정보는 프로파일 ID를 포함할 수 있다. 다른 안으로서, 부가정보는 예컨대 사용자 시스템에게 프로파일과 따라서 무결성 보증도, 콘텐트의 인에이블 전에, 요청하도록 지시하는 정보를 내포할 수 있다.When receiving a content request from user system 400, content provider 300 returns not only the requested content, but also additional information about the protected content to user system. Such additional information may include a profile ID. Alternatively, the additional information may contain, for example, information instructing the user system to request a profile, and thus integrity assurance, before enabling the content.

[0058]덧붙여, 부가정보는 어느 시스템 구성요소 및/또는 하드웨어 및/또는 소프트웨어가, 요청된 콘텐트를 보거나 그것과 상호 작용할 때, 사용자의 기계에서 실행 및/또는 사용될 수 있는지를 식별할 수 있다.In addition, the additional information may identify which system components and / or hardware and / or software may be executed and / or used on the user's machine when viewing or interacting with the requested content.

[0059] 따라서 하나 이상의 요청된 콘텐트, 부가정보 및 프로파일 ID는 사용자 시스템(400)에 의해 입출력 제어기(430)를 경유하여 수신되며, 제어기(410)의 방향에서 하나 이상의 메모리(420)와 저장장치(440)에 저장된다.Thus, one or more requested content, additional information, and profile ID are received by the user system 400 via the input / output controller 430, and the one or more memories 420 and storage in the direction of the controller 410. 440 is stored.

[0060] 하나의 예시적인 실시예에 있어서, 콘텐트 제공자(300)는 무결성 보증 및 검증 장치(260)로부터의 무결성 프로파일에 관한 요청과 같은 서비스 요청(20)을 시작케 할 수 있다. 무결성 보증 및 검증 장치(260)는, 입출력 제어기(230)를 경유하여, 그리고 제어기(210)와 메모리(220)와 협력하여, 콘텐트 제공자(300)로부터의 서비스 요청을 수신한다.In one example embodiment, content provider 300 may initiate a service request 20, such as a request for an integrity profile from integrity assurance and verification device 260. The integrity assurance and verification device 260 receives a service request from the content provider 300 via the input / output controller 230 and in cooperation with the controller 210 and the memory 220.

[0061]앞서 논의했듯이, 무결성 보증 및 검증 장치(200)는 구성요소 데이터베이스(260)와 프로파일 데이터베이스(270)를 구비한다. 구성요소 데이터베이스(260)는 하나 이상의 콘텐트 소비 시스템/애플리케이션들 제공자들(500)에 의해 배포될 수 있는 시스템들과 시스템 구성요소들에 관계된 인증정보를 저장한다. 비슷하게, 프로파일 데이터베이스(270)는 검증 가능한 정보와 하나 이상의 개별적인 콘텐트 제공자들(300)용 보호 문서의 콘텐트를 소비할 예정인 등록된 시스템 구성요소 세트를 저장한다.As discussed above, the integrity assurance and verification apparatus 200 includes a component database 260 and a profile database 270. Component database 260 stores authentication information related to systems and system components that may be distributed by one or more content consumption system / application providers 500. Similarly, profile database 270 stores verifiable information and a set of registered system components that are intended to consume the content of a protected document for one or more individual content providers 300.

[0062]따라서 콘텐트 제공자(300)로부터 무결성 프로파일에 대한 요청을 접수하였을 때, 무결성 보증 및 검증 장치(200)는, 제어기(210)의 방향에서 메모리(220)의 도움으로, 구성요소 데이터베이스(260)와 프로파일 데이터베이스(270)를 조사하여 서비스요청에 있는 정보에 대응하는 인증정보가 이미 존재하는지 여부를 결정한다.Thus, upon receiving a request for an integrity profile from the content provider 300, the integrity assurance and verification apparatus 200, with the help of the memory 220 in the direction of the controller 210, causes the component database 260. And the profile database 270 to determine whether authentication information corresponding to the information in the service request already exists.

[0063]다른 대안으로서, 무결성 보증 및 검증 장치(200)는 온라인 검증 서비스를 수행할 수 있다. 온라인 검증 서비스는 온라인에서, 예컨대 실시간으로 무결성 보증 및 검증 장치(200) 내에서, 무결성 검증을 수행하기 위해 제공된다. 이러한 서비스를 개시하기 위해, 무결성 인증자(integrity authenticator)라 불리는, 일부 소프트웨어가 사용자 시스템(400)에 전달된다. 무결성 인증자는 로컬 소프트웨어 및/또는 하드웨어 구성요소의 정보수집이 수행되도록 한다. 다른 대안으로서, 무결성 인증자는 도 2에 예시된 무결성 인증장치(450)와 같은 전용의 장치(dedicated device)일 수 있다. 로컬 소프트웨어 및/또는 하드웨어 구성요소에 관해 수집된 그 정보는 무결성 프로파일 ID와 함께 무결성 보증 및 검증 장치(200)로 리턴 되어 온라인 무결성 검증이 수행될 수 있다. 구성요소 등록장치(250)는 각 제공자로부터 제공된 소프트웨어/하드웨어 구성요소를 검사하고 ID 정보를 구성요소 데이터베이스(260) 내에 저장한다. 그 소프트웨어/하드웨어 구성요소에 관계된 정보는 예컨대 해시(hash) 될 수 있으며, 해시값(hash value)은 인증된 소프트웨어/하드웨어 정보로서 사용될 수 있다. 그러나 각 소프트웨어/하드웨어 구성요소를 식별하는 정보는 하드웨어 및/또는 소프트웨어의 인증된 부분의 ID를 참작하는 어떤 알려지거나 후에 개발되는 구조일 수 있다는 점이 인식될 필요가 있다.As another alternative, the integrity assurance and verification apparatus 200 may perform an online verification service. The online verification service is provided for performing integrity verification online, such as in the integrity assurance and verification apparatus 200 in real time. To initiate this service, some software, called an integrity authenticator, is delivered to the user system 400. Integrity authenticators allow the gathering of local software and / or hardware components to be performed. Alternatively, the integrity authenticator may be a dedicated device, such as the integrity authentication device 450 illustrated in FIG. 2. The information collected about the local software and / or hardware components may be returned to the integrity assurance and verification device 200 along with the integrity profile ID to perform online integrity verification. The component registration apparatus 250 inspects a software / hardware component provided from each provider and stores ID information in the component database 260. Information relating to the software / hardware component may be hashed, for example, and the hash value may be used as authorized software / hardware information. However, it is to be appreciated that the information identifying each software / hardware component may be any known or later developed structure that takes into account the ID of the hardware and / or authorized portion of the software.

[0064]특별한 소프트웨어 및/또는 하드웨어 구성요소의 등록은 다음과 같이 이루어진다. 예컨대 콘텐트 소비 시스템/애플리케이션 제공자(500)는 등록서비스를 요청하기 위해 식별 및 보증 검증 장치(identification and certification verification device)(200)와 통신을 할 수 있거나, 또는 다른 대안으로, 그 식별 및 보증 검증 장치(200)는 인증 정보를 확보하기 위해 콘텐트 소비 시스템/애플리케이션 제공자(500)와 통신할 수 있다. 이 예에서, 등록 애플리케이션 장치(540)는 제어기(510), 메모리(520) 및 입출력 제어기(530)와 협력하여, 하나 이상의 애플리케이션 데이터베이스(550)와 시스템 데이터베이스(560)를 서치 하여 예컨대, 제공자 이름, 구성요소 ID, 예컨대 일련번호, 버전 번호, 제조번호(build number), 등을 포함하는 특정한 소프트웨어 및/또는 하드웨어에 관한 정보 혹은 다른 대안으로서, 애플리케이션 그 자체를 확보한다.Registration of special software and / or hardware components is as follows. For example, the content consumption system / application provider 500 may communicate with an identification and certification verification device 200 to request a registration service, or alternatively, the identification and warranty verification device. 200 may communicate with content consumption system / application provider 500 to obtain authentication information. In this example, registered application device 540 cooperates with controller 510, memory 520, and input / output controller 530 to search for one or more application databases 550 and system database 560, eg, provider name. The application itself is secured as information or other alternative about specific software and / or hardware, including component IDs such as serial numbers, version numbers, build numbers, and the like.

[0065]예컨대, 하나의 특정한 운영 시나리오에 있어서, 특정한 콘텐트 소비 시스템/애플리케이션 제공자(500)로부터의 인증 정보를 얻는 대신에, 무결성 보증 및 검증 장치(200)는 실제적으로 예컨대 소프트웨어 프로그램과 같은 콘텐트 소비 시스템/애플리케이션 제공자(500)로부터의 특정한 애플리케이션을 요청할 수 있다. 이러한 방법에 있어서, 무결성 보증 및 검증 장치(200)는 인증정보를 필요치 않을지도 모르는데, 그 이유는 무결성 보증 및 검증 장치(200)가 특정한 소프트웨어 애플리케이션을 콘텐트 소비 시스템/애플리케이션 제공자(500)로부터 직접적으로 확보할 수 있기 때문이다.For example, in one particular operating scenario, instead of obtaining authentication information from a particular content consumption system / application provider 500, integrity assurance and verification apparatus 200 may actually consume content such as, for example, a software program. A specific application from the system / application provider 500 may be requested. In this way, the integrity assurance and verification device 200 may not require authentication information, because the integrity assurance and verification device 200 may be required to directly access a particular software application from the content consumption system / application provider 500. This is because it can be secured.

[0066] 구성요소 등록장치(250)는 구성요소의 정보를 검증하고, 예컨대 인증 소프트웨어 및/또는 하드웨어 ID로서 사용될 수 있는 해시값은 임의적으로(optionally) 계산한다. 구성요소 등록장치(250)는 그 후 구성요소 정보와 예컨대 해시값을 구성요소 데이터베이스(260)에 저장한다.The component registration apparatus 250 verifies the information of the component, and optionally calculates a hash value that can be used as the authentication software and / or hardware ID, for example. The component registration apparatus 250 then stores the component information and, for example, the hash value in the component database 260.

[0067]다른 대안으로, 소프트웨어 및/또는 하드웨어 구성요소를 등록 애플리케이션 장치(540)로 보내는 대신에, 콘텐트 소비 시스템/애플리케이션 제공자(500)는 또한 구성요소 등록장치(250)에 접속하여 등록 애플리케이션과 같은 작은 소프트웨어 애플리케이션을 다운로드할 수 있고, 국부적으로 실행되도록 할 수 있다. 이 등록 애플리케이션은 타겟(target) 소프트웨어/하드웨어 구성요소를 검사하여 이 소프트웨어/하드웨어 구성요소에 관계되는 정보를, 어쩌면 해시값과 같은 무결성 값과 함께, 구성요소에 관한 인증정보를 구성요소 데이터베이스(260)에 저장할 수 있는, 원래의 구성요소 등록장치(250)로 보낼 것이다.Alternatively, instead of sending software and / or hardware components to the registration application device 540, the content consuming system / application provider 500 may also connect to the component registration device 250 to register with the registration application. You can download the same small software application and have it run locally. This registration application examines the target software / hardware component and retrieves information related to the software / hardware component, including authentication information about the component, together with an integrity value, such as a hash value. Will be sent to the original component registration apparatus 250, which can be stored in.

[0068]다른 대안으로서, 프로파일 생성장치(280)는 소프트웨어용 무결성 프로파일들을 구축한다. 특히, 각 소프트웨어의 해시값과 같은 무결성 값은 구성요소 데이터베이스로부터 검색되어 저장될 수 있다. 또한 구성요소들 간의 임의적인 상호작용관계(optional interaction relationship)가 그 프로파일들에 포함된다. 이러한 관계는, 다른 구성요소들과의 의도되지 않은 상호작용을 막기 위해, 구성요소들의 호출과 반환 순서를 식별하는 데 이용된다. 무결성 프로파일의 콘텐트는 그후 예컨대 디지털적으로 서명되고 그 서명결과물은 무결성 프로파일에 추가된다. 각 무결성 프로파일은 유일한 ID와 연관된다.As another alternative, the profile generator 280 builds integrity profiles for software. In particular, integrity values, such as hash values for each software, can be retrieved from the component database and stored. Also included in the profiles is an optional interaction relationship between the components. This relationship is used to identify the calling and returning order of the components to prevent unintended interaction with the other components. The content of the integrity profile is then digitally signed, for example, and the signature result is added to the integrity profile. Each integrity profile is associated with a unique ID.

[0069]도 3은 무결성 보증 및 검증 장치(200)에 의해 제공된 입력, 출력 및 서비스와 작용들의 예시적인 작업흐름을 도시한다. 특히, 구성요소 등록 서비스를 위해 구성요소 ID, 그리고 임의적으로는(optionally) 특정한 구성요소에 관한 메타 정보(meta information)가 구성요소 등록장치(250)에 전달된다. 구성요소 등록장치(250)는 예컨대 의도된 특징들, 목적들 및 작용들을 갖는 구성요소를 구성요소 데이터베이스에 등록한다. 그런 다음, 구성요소 장치(250)는 등록된 구성요소의 ID를 예컨대 콘텐트 소비 시스템/애플리케이션 제공자에게 반환하고 그 ID를 예컨대 콘텐트 제공자(300)에 대하여 가용하게 만든다.FIG. 3 shows an example workflow of inputs, outputs, and services and actions provided by the integrity assurance and verification apparatus 200. In particular, the component ID, and optionally, meta information about a specific component, is transmitted to the component registration apparatus 250 for the component registration service. Component registration apparatus 250 registers, for example, a component with intended features, objects, and actions in a component database. Component device 250 then returns the registered component's ID to, for example, the content consuming system / application provider and makes that ID available to, for example, content provider 300.

[0070]프로파일 생성을 위해 프로파일 생성장치(280)는 등록된 구성요소들의 ID를 수신한다. 등록된 구성요소들의 ID들은, 관련 구성요소들에 관한 정보와 조합될 때, 만약 있다면, 디지털적으로 서명되어 프로파일 데이터베이스에 저장된다. 무결성 프로파일 ID는 요청자에게 반환된다.Profile generation device 280 for generating a profile receives the ID of the registered components. The IDs of the registered components, if combined with the information about the relevant components, are digitally signed and stored in the profile database, if any. The integrity profile ID is returned to the requestor.

[0071]유사하게, 프로파일 배포장치(290)는 무결성 프로파일 ID를 수신한다. 그리고 나서 프로파일 데이터베이스(270)는 질의를 받아 그 무결성 프로파일 ID에 해당하는 무결성 프로파일이 가용한지를 결정한다. 만약 무결성 프로파일이 가용하다면, 그 무결성 프로파일은 요청자에게 반환된다. 그렇지 않다면, 그 무결성 프로파일은 프로파일 생성장치(280)의 도움으로 정해질 수 있다.Similarly, profile distribution device 290 receives an integrity profile ID. The profile database 270 then receives a query to determine if an integrity profile corresponding to that integrity profile ID is available. If an integrity profile is available, the integrity profile is returned to the requestor. If not, the integrity profile can be determined with the help of profile generator 280.

[0072]무결성 검증장치(295)는 하나 이상의 구성요소들과 무결성 프로파일ID를 식별하는 정보를 받는다. 프로파일 검증장치는 구성요소 ID들, 무결성 프로파일 ID 및 대응 무결성 파일을 비교하여 검증데이터를 결정한다. 만약 그 프로파일들과 구성요소들 및 ID들이 매치되면, 그 시스템의 무결성은 검증된다. 그렇지않으면, 그 시스템은 무결성 프로파일에서 특정된 것이 아니거나 혹은 어떤 방법으로 변경되어버린 것이다.The integrity verification apparatus 295 receives information identifying one or more components and an integrity profile ID. The profile verification apparatus determines the verification data by comparing the component IDs, the integrity profile ID, and the corresponding integrity file. If the profiles and components and IDs match, the integrity of the system is verified. Otherwise, the system is not specified in the integrity profile or has been altered in some way.

[0073]도 4는 예시적인 무결성 프로파일을 보여준다. 이 예시적인 무결성 프로파일은 무결성 생성장치(280)에 의해 생성될 수 있다. 인증된 콘텐트 제공자를 위한 무결성 프로파일을 구축하기 위해, 무결성 프로파일 생성하라는 요청이 시작된다. 예컨대 그 제공자는 무결성 보증 및 검증장치(200)와 접촉하여 무결성 프로파일의 생성을 요청할 수 있다. 그런 다음, 그 제공자는 소프트웨어 및/또는 하드웨어 구성요소들의 이름 리스트를 무결성 보증 및 검증 장치(200)에 보낸다. 그 후 프로파일 생성장치(280)는 무결성 혹은 해시값과 같은 구성요소들 각각의 ID를 구성요소 데이터베이스(260)로부터 검색해낸다. 그러고 나서, 프로파일 생성장치(280)는 무결성 프로파일을 정하는데, 그 무결성 프로파일은 구성요소들 각각의 무결성 혹은 해시값과 같은 인증정보를 기타 정보 예컨대 무결성 프로파일 ID, 버전번호, 생성일자, 구축일자, 콘텐트 제공자명, 및 예컨대, 임의적으로(optionally), 어떤 소프트웨어 및/또는 하드웨어 구성요소들이건 그들 간의 상호작용관계와 같은 정보를 함께 내포한다.4 shows an example integrity profile. This example integrity profile can be generated by the integrity generator 280. In order to build an integrity profile for an authenticated content provider, a request is initiated to create an integrity profile. For example, the provider may contact the integrity assurance and verification device 200 to request the creation of an integrity profile. The provider then sends a list of names of software and / or hardware components to integrity assurance and verification apparatus 200. The profile generator 280 then retrieves the ID of each of the components, such as integrity or hash value, from the component database 260. The profile generator 280 then determines an integrity profile, which provides authentication information, such as the integrity or hash value of each of the components, with other information such as the integrity profile ID, version number, creation date, construction date, Content provider names, and optionally, together contain information such as interactions between any software and / or hardware components.

[0074]프로파일 생성장치(280)는 정해진 무결성 프로파일을 디지털 서명자(240)에게 전달하며, 그 후에 디지털 서명자(240)는 프로파일의 콘텐트에 대하여 서명할 수 있다. 프로파일 생성장치(280)는 그리고 나서 서명된 프로파일을 프로파일 데이터베이스(270)에 저장하고 그 프로파일 ID를 콘텐트 제공자(300)에게 반환한다.The profile generation device 280 delivers the determined integrity profile to the digital signer 240, after which the digital signer 240 can sign the content of the profile. Profile generator 280 then stores the signed profile in profile database 270 and returns the profile ID to content provider 300.

[0075]예컨대 보호되는 문서의 콘텐트에 대한 사용 라이센스(usage license)를 생성할 때, 콘텐트 제공자(300)는 임의적으로(optionally) 그 무결성 프로파일 ID를 사용 라이센스 안에 포함시킬 수 있다. 사용자 시스템(400) 상에서, 그 무결성 프로파일은 환경호출스택에 있는 모든 소프트웨어/하드웨어 구성요소들을 검증하는 데 사용될 것이다. 이는 민감한 정보(sensitive information)는 권한이 주어진 소프트웨어/하드웨어 구성요소들, 혹은 그들의 어떤 조합에 의해 소비될 수 있을 뿐임을 보장해준다.For example, when generating a usage license for the content of a protected document, the content provider 300 may optionally include its integrity profile ID in the usage license. On the user system 400, the integrity profile will be used to verify all software / hardware components in the paging stack. This ensures that sensitive information can only be consumed by authorized software / hardware components, or some combination thereof.

[0076]프로파일 배포장치(290)는 무결성 프로파일들을 입수하기 위한 요청을 받아들이고 그들을 프로파일 데이터베이스(270)로부터 검색하여 그 무결성 프로파일을 각각의 요청자에게 반환한다. 비슷하게, 프로파일 검증장치(295)는 하나 이상의 시스템 환경에 관한 사용자 시스템들을 검증하기 위한 요청을 받아들인다. 프로파일 검증장치(295)는 소프트웨어/하드웨어 구성요소들에 관한 정보를 무결성 프로파일들에 따라 모으고, 그 정보를 그 프로파일들과 대비하여 검증하고, 그 검증결과를 그 요청자들에게 반환한다.The profile distribution device 290 accepts a request to obtain integrity profiles and retrieves them from the profile database 270 and returns the integrity profile to each requestor. Similarly, profile verification device 295 accepts a request to verify user systems for one or more system environments. Profile verification device 295 gathers information about software / hardware components according to integrity profiles, verifies the information against the profiles, and returns the verification results to the requestors.

[0077]사용자 시스템(400)은 무결성 인증장치(450)를 구비한다. 그 무결성 인증장치(450)는 예컨대 어떤 콘텐트 소비 애플리케이션의 최상부(top)에서 실행된다.User system 400 has an integrity authentication device 450. The integrity authentication device 450 is executed at the top of a content consumption application, for example.

[0078]따라서 도 5는 시스템 무결성을 검증하기 위한 사용자 장치(400) 위의 예시적인 시스템 환경 스택을 도시한다. 특히, 사용자시스템 환경 스택은 무결성 인증자와 하나 이상의 시스템 구성요소들을 구비한다.Thus, FIG. 5 shows an example system environment stack over user device 400 for verifying system integrity. In particular, the user system environment stack includes an integrity authenticator and one or more system components.

[0079]도 6은 환경 스택의 일 예를 도시하는데, 이 환경스택은 무결성 인증자, 플러그-인, 랜더링 애플리케이션, 운영체제(OS), 운영체제 부트스트랩 (OS boot strap), 및 각각의 하드웨어를 포함한다.FIG. 6 shows an example of an environment stack, which includes an integrity authenticator, a plug-in, a rendering application, an operating system (OS), an operating system bootstrap (OS boot strap), and respective hardware. do.

[0080]예시적인 운영 환경에 있어서, 무결성 인증장치(450)는 그 자신의 암호/해독 키 쌍과 ID 보증 및 검증 장치의 검증키를 내포한다. 이들 키들은 본 발명의 간섭-저항의 측면들을 고려하여 가능한 한 무결성 인증장치(400) 내에 숨기거나 및/또는 내장(embedded)된다. 사용자의 사적 정보의 사용을 필요로 하거나 민감한 문서와 데이터를 포함하는 그런 애플리케이션들을 위해, 무결성 인증장치(450)는 연관된 무결성 프로파일을 사용할 수 있어 사용자 시스템 환경의 호출 스택상의 모든 소프트웨어/하드웨어 구성요소들을 검증할 수 있다.In an exemplary operating environment, the integrity authentication device 450 contains its own encryption / decryption key pair and verification key of the ID guarantee and verification device. These keys are concealed and / or embedded in the integrity authenticator 400 as much as possible in view of aspects of the interference-resistance of the present invention. For those applications that require the use of a user's private information or that contain sensitive documents and data, the integrity authenticator 450 can use an associated integrity profile to load all software / hardware components on the call stack of the user's system environment. Can be verified

[0081]무결성 인증장치(450)는 먼저 무결성 보증 및 검증장치 검증키를 사용하는 그 프로파일의 서명을 검증할 것이다. 도 7-9에서 예시된 것처럼, 일단 그 서명이 검증되면, 그 무결성 인증장치(450)는 현재의 호출스택을 검사하고, 무결성 프로파일 내에 제공된 그 정보를 사용하는 호출스택상의 각 소프트웨어/하드웨어 구성요소를 인증하기 시작한다. 상기 호출스택은 메모리 이미지들과 포함된 기능들 혹은 절차들로 구성된 메모리의 연속 블록이다. 그 스택은 후입선출(last-in-first-out)의 개념으로 작동하며 스택들의 기본 동작들은 스택 "푸쉬(push)" 및 스택 "팝(pop)"이다. 푸쉬는 이미지들을 스택 위에 저장하여 스택의 최상부(top)를 어떤 위치로 전진시키는 데 사용된다. 팝은 그 데이터를 스택으로부터 제거하고 그 스택의 최상부를 이전 위치로 회복시키는 데 사용된다.Integrity authentication device 450 will first verify the signature of the profile using the integrity assurance and verification device verification key. As illustrated in Figures 7-9, once the signature is verified, the integrity authenticator 450 examines the current call stack and uses each software / hardware component on the call stack that uses the information provided in the integrity profile. Start authenticating. The call stack is a contiguous block of memory consisting of memory images and the functions or procedures involved. The stack operates on the concept of last-in-first-out and the basic operations of the stacks are stack "push" and stack "pop". Pushes are used to store images on the stack to advance the top of the stack to some position. The pop is used to remove the data from the stack and restore the top of the stack to its previous position.

[0082]호출스택의 경우. 현재 실행되는 기능의 이미지가 그 스택의 최상부에 있다. 현재 실행되는 기능이 다음 기능을 부르거나 호출할 때, 다음번 기능의 메모리 이미지는 그 호출스택의 최상부로 푸쉬되고 그 호출스택의 최상부는 다음번 기능의 이미지를 가리킨다. 축적된(stacked) 이미지들의 각부는, 그 호출된 기능이 그 실행을 마친 후에, 주소나 반환명령을 내포할 것이다.[0082] in the case of a call stack. The image of the function currently being executed is at the top of the stack. When the currently executing function calls or calls the next function, the memory image of the next function is pushed to the top of the call stack and the top of the call stack points to the image of the next function. Each part of the stacked images will contain an address or a return instruction after the called function finishes its execution.

[0083]도 10은 어떻게 그 실행환경이 보호되는지를 예시한다. 특히, 무결성 인증자(Integrity Authenticator: IA)를 보호하기 위해, 그 IA의 실행은, IA의 일부분인, 신뢰된 애플리케이션에 의해 모니터 된다. 모티터링 프로세스, 예를 들면 애플리케이션은, 그 IA를 시스템 내의 어떤 다른 프로세스나 애플리케이션에 의해 모니터링 되지 않도록 막을 수 있는, 디버거 혹은 특별 프로세스일 수 있다. 어떤 환경에서 프로세서가 오로지 하나의 프로세스에 의해 오로지 디버그 될 수 있을 때에는, 그 신뢰된 모니터링 프로그램은 디버거로서 실행될 수 있다. 모니터링 프로그램은 신뢰된 애플리케이션이므로, 그 모니터링 프로그램의 무결성은 현재의 무결성 프로파일에 있어야 한다. 그러므로 그 IA는 그 신뢰된 애플리케이션의 무결성을 로딩 및 실행 이전에 검증할 것이다. 신뢰된 모니터링 애플리케이션의 기능은 그 IA를 다른 프로세스에 의해 모니터 되고 제어되고 포착되는 것으로부터 막아준다. 신뢰된 모니터링 애플리케이션의 다른 기능은 현재의 환경을 모니터하고 환경상의변화가 유효한지를 결정하는 것이다. 그러나 그 IA와 같이, 신뢰된 모니터링 애플리케이션은 또한 보호되어야 하고 그 IA는 모니터로서 행동하여 신뢰된 모니터링 애플리케이션이 다른 애플리케이션들에 의해 모니터 되고, 포착되고 및/또는 제어되는 것을 막아줄 것이다. 이러한 이중보호 메커니즘은, 다른 애플리케이션들이 무결성 인증자의 실행을 모니터링 하는 것을 막아주는 닫힌 시스템(closed system)을 생성한다.10 illustrates how the execution environment is protected. In particular, to protect the Integrity Authenticator (IA), the execution of the IA is monitored by trusted applications that are part of the IA. A monitoring process, for example an application, can be a debugger or a special process that can prevent the IA from being monitored by any other process or application in the system. In some circumstances, when a processor can only be debugged by one process, the trusted monitoring program can run as a debugger. Since the monitoring program is a trusted application, the integrity of the monitoring program must be in the current integrity profile. Therefore, the IA will verify the integrity of the trusted application before loading and executing. The function of a trusted monitoring application prevents the IA from being monitored, controlled and captured by other processes. Another function of trusted monitoring applications is to monitor the current environment and determine if changes in the environment are effective. However, like the IA, a trusted monitoring application must also be protected and the IA will act as a monitor to prevent the trusted monitoring application from being monitored, captured and / or controlled by other applications. This double protection mechanism creates a closed system that prevents other applications from monitoring the execution of the integrity authenticator.

[0084]도 11은 무결성 보증 및 검증 장치의 작동의 예시적인 방법을 도시한다. 특히 제어는 단계 S100에서 시작하여 단계 S110까지 계속된다. 단계 S110에 있어서, 무결성 프로파일이 결정된다. 다음으로, 단계 S120에서, 무결성 프로파일이 보증된다. 그런 다음, 단계 S130에서, 무결성 프로파일이 사용자에게로 전달된다. 제어는 단계 S140까지 계속된다.11 shows an example method of operation of the integrity assurance and verification device. In particular, control begins in step S100 and continues to step S110. In step S110, an integrity profile is determined. Next, in step S120, the integrity profile is guaranteed. Then, in step S130, the integrity profile is delivered to the user. Control continues to step S140.

[0085]단계 S140에서, 사용자 시스템의 무결성은 검증된다. 다음으로, 단계 S150에서, 사용자 시스템이 인증될 만한지에 관한 결정이 이루어진다. 만약 사용자 시스템이 인증될 만한 것이라면, 제어는 단계 S160으로 계속 이어져서 거기서 사용자는 선택된 콘텐트에 대한 액세스가 주어진다. 그렇지 않으면, 제어는 단계 S170으로 점프하여, 콘텐트 액세스가 부정되거나 혹은 불능으로 된다. 그런 다음, 제어는 단계 S180으로 이어져서 그 제어시퀀스는 종료한다.In step S140, the integrity of the user system is verified. Next, in step S150, a determination is made as to whether the user system is eligible for authentication. If the user system is eligible for authentication, control continues to step S160 where the user is given access to the selected content. Otherwise, control jumps to step S170, where content access is denied or disabled. Control then continues to step S180, where the control sequence ends.

[0086]도 12는 본 발명에 따른 구성요소/하드웨어 및/또는 소프트웨어의 등록에 관한 예시적인 방법을 도시한다. 구체적으로, 제어는 단계 S200에서 시작하여 단계 210까지 계속된다. 단계 S210에서는, 등록 서비스가 개시된다. 다음으로, 단계 S220에서는, 구성요소 공급자가 특정의 구성요소/하드웨어 및/또는 소프트웨어에 관한 인증정보를 제공한다. 그런 다음, 단계 S230에서, 그 특정의 구성요소/하드웨어 및/또는 소프트웨어에 관한 정보가 검증된다. 그런 다음, 제어가 단계 S240으로 이어진다.12 shows an exemplary method for registration of components / hardware and / or software in accordance with the present invention. Specifically, control begins in step S200 and continues to step 210. In step S210, the registration service is started. Next, in step S220, the component provider provides authentication information regarding a specific component / hardware and / or software. Then, in step S230, information about that particular component / hardware and / or software is verified. Control then continues to step S240.

[0087]단계 S240에서는, 무결성 값이 결정되어야 하는지에 관한 결정이 이루어진다. 만약 무결성 값이 정해져야 할 것이라면, 제어는 단계 S250으로 연결되어 거기서 무결성 값이 결정된다. 그렇지 않다면 제어는 단계 S260으로 점프하여 구성요소/하드웨어 및/또는 소프트웨어에 관한 인증정보가 저장된다.In step S240, a determination is made as to whether the integrity value should be determined. If the integrity value should be determined, control passes to step S250 where the integrity value is determined. If not, control jumps to step S260 where authentication information regarding the component / hardware and / or software is stored.

[0088]다음으로, 단계 S270에서, 무결성 값을 저장해야 하는지에 관한 결정이 이루어진다. 만약 무결성 값이 저장될 것이라면, 제어는 단계 S280으로 이어져서 거기서 무결성 값이 저장된다. 그렇지 않고, 무결성 값이 저장되지 않을 것이라면, 제어는 단계 S290으로 점프하여 제어시퀀스가 종료한다.Next, at step S270, a determination is made as to whether the integrity value should be stored. If the integrity value is to be stored, control continues to step S280 where the integrity value is stored. Otherwise, if the integrity value will not be stored, control jumps to step S290 where the control sequence ends.

[0089]도 13은 본 발명에 따른 프로파일을 결정하는 예시적인 방법을 보여준다. 구체적으로, 제어는 단계 S300에서 시작하여 단계 S310까지 이어진다. 단계 S310에서 무결성 프로파일 결정이 시작된다. 다음으로, 단계 S320에서 구성요소 및/또는 하드웨어 혹은 소프트웨어의 ID와 같은 이름이 얻어진다. 그런 다음, 단계 S330에서, 구성요소/하드웨어 혹은 소프트웨어에 관한 ID가 검색된다. 그런 다음 제어는 단계 S340으로 이어진다.13 shows an exemplary method of determining a profile according to the present invention. Specifically, control begins in step S300 and continues to step S310. In step S310 integrity profile determination is started. Next, in step S320, a name such as an ID of the component and / or hardware or software is obtained. Then, in step S330, an ID relating to the component / hardware or software is retrieved. Control then continues to step S340.

[0090]단계 S340에서, 무결성 프로파일이 결정된다. 다음으로, 단계 S350에서, 무결성 프로파일은 디지털적으로 서명된다. 그런 다음 단계 S360에서 디지털적으로 서명된 무결성 프로파일이 저장된다. 그 후 제어는 단계 S370으로 이어진다.In step S340, the integrity profile is determined. Next, in step S350, the integrity profile is digitally signed. Then, in step S360 the digitally signed integrity profile is stored. Control then continues to step S370.

[0091] 단계 S370에서, 서명된 무결성 프로파일은 콘텐트 소비 시스템/애플리케이션 제공자와 같은 요청자에게 전달된다. 그런 다음, 제어는 단계 S380으로 계속되어 제어시퀀스가 종료된다.In step S370, the signed integrity profile is delivered to the requestor, such as a content consumption system / application provider. Control then continues to step S380, where the control sequence ends.

[0092]도 14는 본 발명의 일 측면에 따라서 무결성 인증자의 무결성을 검증하는 예시적인 방법을 예시한다. 제어는 단계 S400에서 시작하여 단계 S410으로 계속한다. 단계 S410에서, 무결성 인증자의 무결성이 검증된다. 다음으로, 단계 S420에서 무결성 인증자가 유효한지에 관한 결정이 이루어진다. 만약 무결성 인증자가 유효하면, 제어가 단계 S430으로 이어진다. 그렇지 않으면, 제어는 단계 S540으로 점프한다.14 illustrates an example method for verifying the integrity of an integrity authenticator in accordance with an aspect of the present invention. Control begins in step S400 and continues to step S410. In step S410, the integrity of the integrity authenticator is verified. Next, a determination is made as to whether the integrity authenticator is valid at step S420. If the integrity authenticator is valid, control continues to step S430. Otherwise, control jumps to step S540.

[0093]단계 S430에서, 간섭-저항 환경(tamper-resistant environment)이 수립된다. 다음으로, 단계 S440에서 무결성 프로파일이 검증된다. 그런 다음, 단계 S450에서 그 무결성 프로파일이 유효한지에 관한 결정이 만들어진다. 만약 그 무결성 프로파일이 유효하면, 단계 S640으로 이어진다. 그렇지 않으면, 제어는 단계 S540으로 점프한다.In step S430, a tamper-resistant environment is established. Next, the integrity profile is verified in step S440. Then, in step S450, a determination is made as to whether the integrity profile is valid. If the integrity profile is valid, step S640 is reached. Otherwise, control jumps to step S540.

[0094]단계 S460에서, 무결성 프로파일이 로드 된다. 다음으로, 단계 S470에서 현재의 실행환경의 호출스택이 도 6에 관련되어 예시된 것처럼 구축된다. 그 호출스택의 바닥에는 하드웨어 및/또는 장치들 집합이, 스택의 최상부를 향하는 모든 소프트웨어 구성요소들과 더불어, 있다. 스택에 있는 구성요소들의 관계는 저위의 구성요소가 그 바로 위의 구성요소를 호출하는 것이다. 일단 호출스택이 구축되면,마지막으로 실행된 구성요소의 실행이미지를 내포하는 그 호출스택의 최상부는 위치가 정해진다. 따라서 스택상의 각 구성요소의 실행이미지는 호출 구성요소를 식별하는 것을 돕는다. 그런 다음, 단계 S480에서 구성요소를 호출하는 ID가 검색된다. 그 후 제어는 단계 S490으로 이어진다.In step S460, the integrity profile is loaded. Next, in step S470, the call stack of the current execution environment is constructed as illustrated in relation to FIG. At the bottom of the call stack is a set of hardware and / or devices, with all the software components facing the top of the stack. The relationship of the components on the stack is that the lower component calls the component immediately above it. Once the call stack has been established, the top of the call stack containing the execution image of the last executed component is positioned. Thus, the executable image of each component on the stack helps to identify the calling component. Then, in step S480, the ID for calling the component is retrieved. Control then continues to step S490.

[0095]단계 S490에서, 구성요소의 무결성은 무결성 프로파일과 대비하여 검증된다. 다음으로, 단계 S500에서, 구성요소가 유효한지에 관한 결정이 이루어진다. 만약 구성요소가 유효하면, 제어는 단계 S510으로 계속된다. 그렇지 않으면, 제어는 단계 S540으로 점프한다.In step S490, the integrity of the component is verified against the integrity profile. Next, in step S500, a determination is made as to whether the component is valid. If the component is valid, control continues to step S510. Otherwise, control jumps to step S540.

[0096]단계 S510에서, 스택이 비어 있는지를 결정한다. 만약 스택이 비어있으면, 제어는 단계 S520으로 점프한다. 그렇지 않으면, 제어는 단계 S530으로 점프한다. 단계 S520에서, 스택내의 다음 번 구성요소에 위치하고 이 다음번 구성요소가 현재 스택 프레임으로서 설정된다. 그런 다음, 제어는 검증을 위해 단계 S480으로 복귀한다.In step S510, it is determined whether the stack is empty. If the stack is empty, control jumps to step S520. Otherwise, control jumps to step S530. In step S520, the next component in the stack is located and this next component is set as the current stack frame. Control then returns to step S480 for verification.

[0097]단계 S530에서, 무결성이 검증되고 제어는 단계 S550으로 계속 이어져서 거기서 그 제어시권스가 종료된다.In step S530, the integrity is verified and control continues to step S550 where the control right is terminated.

[0098]단계 S540에서, 무결성 체크가 실패하고 제어는 단계 S550으로 이어져 그 제어시퀀스가 종료된다.In step S540, the integrity check fails and control continues to step S550 where the control sequence ends.

[0099]도 1-2에서 예시된 바와 같이, 무결성 보증과 검증장치는 바람직하게는 단일 프로그램 범용 목적 컴퓨터 혹은 별개 프로그램 범용 목적 컴퓨터 중 어느 하나 위에서 실행된다. 그러나 상기 무결성 보증 및 검증 장치는 또한 특수 목적의 컴퓨터, 프로그램 된 마이크로프로세서 또는 마이크로콘트롤러 및 주변 집적회로(IC) 요소, ASIC, 또는 다른 집적회로, 디지털 신호 처리기, 분산요소회로와 같은 하드-와이어드(hard-wired) 전자 및 논리회로, PLA, PLD, FPGA, PAL, 등과 같은 프로그램가능 논리장치 위에서 수행될 수도 있다. 일반적으로, 도 11-14에 예시된 흐름도를 순차적으로 실행할 수 있는 유한 상태 기계를 실행할 수 있는 어떤 장치가 무결성 보증 및 검증 장치를 실행하는 데 사용될 수 있다.As illustrated in FIGS. 1-2, the integrity assurance and verification device is preferably executed on either a single program general purpose computer or a separate program general purpose computer. However, the integrity assurance and verification device may also be used for hard-wired devices such as special purpose computers, programmed microprocessors or microcontrollers and peripheral integrated circuit (IC) elements, ASICs, or other integrated circuits, digital signal processors, distributed element circuits. hard-wired) may be implemented on programmable logic devices such as electronic and logic circuits, PLA, PLD, FPGA, PAL, and the like. In general, any device capable of executing a finite state machine that can sequentially execute the flowcharts illustrated in FIGS. 11-14 can be used to implement the integrity assurance and verification device.

[0100]나아가, 개시된 방법은, 다양한 컴퓨터 또는 워크스테이션 하드웨어 플랫폼에서 사용될 수 있는 휴대용 소스코드를 제공하는 환경에서, 객체 혹은 객체지향 (object-oriented) 소프트웨어 개발 기술들을 사용하는 소프트웨어에서 실행될 수 있다. 대안으로는, 개시된 무결성 보증 및 검증장치는 부분적으로 혹은 전적으로 표준 로직회로 혹은 VLSI 설계를 사용하는 하드웨어에서 실행될 수 있다. 소프트웨어 혹은 하드웨어가 본 발명에 따른 시스템들과 방법들을 실행하는 데 사용되는지 여부는 그 시스템의 속도 및/또는 효율 요구사항, 특수한 기능, 및 특수한 하드웨어 혹은 소프트웨어 시스템 또는 이용되고 있는 마이크로프로세서 혹은 마이크로컴퓨터 시스템에 달려있다. 그러나 위에서 설명된 그 무결성 보증 및 검증 장치 및 방법들은, 컴퓨터 기술에 관한 일반적인 지식과 함께, 어떤 알려진 또는 나중에 개발되는 시스템 혹은 구조, 장치, 및/또는 당업자가 여기서 기술된 기능적인 설명을 토대로 어떤 과도한 실험을 하지 않고서도 만들 수 있는 소프트웨어를 사용하는 하드웨어 또는 소프트웨어에서도 실행될 수 있다. 더구나 개시된 방법들은 소프트웨어로서 프로그램 된 범용 컴퓨터, 특수목적 컴퓨터, 마이크로프로세서, 서버 등과 같은 장치 상에서 기꺼이 실행될 수도 있다. 이 경우에 있어서 본 발명의 방법 및 장치들은 JAVA 또는 CGI 스크립트와 같은 개인용 컴퓨터나 서버 상에, 전용의 무결성 보증 및 검증장치, 웹브라우저, 웹TV 인터페이스, PDA 인터페이스, 멀티미디어 프레젠테이션 장치 등과 같은 장치에 내장된 루틴으로서 서버나 그래픽 워크스테이션에 상주하는 자원(resource)처럼, 내장된 루틴(embedded routine)으로서 실행될 수 있다. 상기 무결성 보증 및 입증장치는 또한 시스템과 방법을 물리적으로 통합하여, 그래픽 워크스테이션의 하드웨어 및 소프트웨어 시스템 또는 전용의 무결성 보증 및 검증장치와 같은 소프트웨어 및/또는 하드웨어 시스템화 하는 것에 의해 실행될 수도 있다.[0100] Furthermore, the disclosed methods can be executed in software using object or object-oriented software development techniques in an environment that provides portable source code that can be used on a variety of computer or workstation hardware platforms. Alternatively, the disclosed integrity assurance and verification device may be implemented, in part or in whole, in hardware using standard logic circuits or VLSI designs. Whether software or hardware is used to implement the systems and methods according to the invention depends upon the speed and / or efficiency requirements of the system, the special functions, and the particular hardware or software system or microprocessor or microcomputer system being used. Depends on However, the integrity assurance and verification apparatus and methods described above, along with general knowledge of computer technology, may be used to identify any known or later developed system or structure, apparatus, and / or techniques based upon the functional description set forth herein by those skilled in the art. It can also run on hardware or software that uses software that can be created without experimentation. Moreover, the disclosed methods may be willing to run on devices such as general purpose computers, special purpose computers, microprocessors, servers, etc., programmed as software. In this case, the methods and devices of the present invention are embedded in devices such as dedicated integrity assurance and verification devices, web browsers, web TV interfaces, PDA interfaces, multimedia presentation devices, etc., on personal computers or servers such as JAVA or CGI scripts. It can be run as an embedded routine, such as a resource residing on a server or graphics workstation as a routine. The integrity assurance and attestation device may also be implemented by physically integrating systems and methods to software and / or hardware system, such as a hardware and software system of a graphics workstation or a dedicated integrity assurance and verification device.

[0101]그러므로 본 발명에 따라서, 무결성 검증을 위한 시스템과 방법들이 제공되었다는 것이 분명하다. 본 발명이 바람직한 실시예들과 조합되어 설명되었고, 많은 다른 대안들, 수정 및 변경들이 당업자에게는 자명함이 분명하다. 따라서 출원인들은 본 발명의 사상과 범위에 있는 모든 그러한 대안들, 수정들 및 변경들을 권리범위로 두고자 한다.It is therefore evident, in accordance with the present invention, systems and methods for integrity verification have been provided. While the invention has been described in combination with the preferred embodiments, it is evident that many other alternatives, modifications and variations will be apparent to those skilled in the art. Applicants therefore intend to envision all such alternatives, modifications and variations that fall within the spirit and scope of the invention.

Claims (34)

하나 이상의 애플리케이션들, 시스템들 또는 시스템 구성요소들에 관한 인증 정보(authentication information)를 저장하는 무결성 보증 및 검증 장치; 및An integrity assurance and verification device that stores authentication information about one or more applications, systems, or system components; And 상기 하나 이상의 애플리케이션들, 시스템들 또는 시스템 구성요소들의 진정성(authenticity)을 결정하는 데 사용되는 무결성 프로파일을 구비하는 것을 특징으로 하는 콘텐트 소비 환경용 무결성 보증 및 검증 시스템.And an integrity profile used to determine the authenticity of the one or more applications, systems or system components. 제1항에 있어서, 상기 인증정보로부터 무결성 프로파일을 정하는 구성요소 등록장치를 더 구비하며, 상기 무결성 프로파일은 적어도 검증 가능한 정보와 등록된 애플리케이션들, 시스템들 또는 시스템 구성요소들의 ID 중에서 적어도 하나를 포함하는 것을 특징으로 하는 무결성 보증 및 검증 시스템.The apparatus of claim 1, further comprising a component registration device that defines an integrity profile from the authentication information, wherein the integrity profile includes at least one of verifiable information and an ID of registered applications, systems, or system components. Integrity assurance and verification system, characterized in that. 제1항에 있어서, 등록된 애플리케이션들, 시스템들 또는 시스템 구성요소들의 무결성 프로파일과 ID를 유지관리(maintain)하는 프로파일 데이터베이스를 더 구비하는 것을 특징으로 하는 무결성 보증 및 검증 시스템.2. The integrity assurance and verification system of claim 1, further comprising a profile database that maintains an integrity profile and an identity of registered applications, systems, or system components. 제1항에 있어서, 하나 이상의 애플리케이션, 시스템 또는 시스템 구성요소 ID들, 상기 하나 이상의 애플리케이션들, 시스템들 또는 시스템 구성요소들, 상기 무결성 프로파일 및 무결성 프로파일 식별자를 비교함으로써 진정성(authenticity)을 검증하는 프로파일 검증 장치를 더 구비하는 것을 특징으로 하는 무결성 보증 및 검증 시스템.The profile of claim 1, wherein the profile verifies authenticity by comparing one or more application, system or system component IDs, the one or more applications, systems or system components, the integrity profile and the integrity profile identifier. Integrity assurance and verification system further comprising a verification device. 제1항에 있어서, 상기 하나 이상의 애플리케이션들, 시스템들 또는 시스템 구성요소들에 관한 인증정보를 콘텐트 소비 애플리케이션, 시스템 또는 시스템 구성요소 제공자로부터 입수하는 등록 애플리케이션 장치를 더 구비하는 것을 특징으로 하는 것을 특징으로 하는 무결성 보증 및 검증 시스템.The apparatus of claim 1, further comprising a registration application device that obtains authentication information about the one or more applications, systems or system components from a content consuming application, system or system component provider. Integrity assurance and verification system. 제1항에 있어서, 상기 무결성 프로파일은 하나 이상의 애플리케이션들, 시스템들 또는 배포된 정보에 관련하여 사용될 수 있는 시스템 구성요소들의 ID를 구비하는 것을 특징으로 하는 무결성 보증 및 검증 시스템.10. The system of claim 1, wherein the integrity profile includes an ID of system components that can be used in connection with one or more applications, systems, or distributed information. 제1항에 있어서, 정보를 배포하는 콘텐트 제공자를 더 구비하는 것을 특징으로 하는 무결성 보증 및 검증 시스템.2. The integrity assurance and verification system of Claim 1, further comprising a content provider for distributing information. 제1항에 있어서, 콘텐트 소비 애플리케이션, 시스템 또는 시스템 구성요소 제공자를 더 구비하는 것을 특징으로 하는 무결성 보증 및 검증 시스템.10. The system of claim 1, further comprising a content consuming application, system or system component provider. 제1항에 있어서, 프로파일 검증장치가 상기 하나 이상의 애플리케이션들, 시스템들 또는 시스템 구성요소들이 인증될 수 없는 것으로 결정하면, 하나 이상의문서들에 대한 접근(access)이 불가능해지는 것을 특징으로 하는 무결성 보증 및 검증 시스템.The integrity guarantee of claim 1, wherein if the profile verifier determines that the one or more applications, systems, or system components cannot be authenticated, access to one or more documents is disabled. And verification system. 제1항에 있어서, 상기 무결성 프로파일을 상기 하나 이상의 애플리케이션들, 시스템들 또는 시스템 구성요소들, 그리고 하나 이상의 인증된 콘텐트 소비 애플리케이션들, 시스템 또는 시스템 구성요소들에 관한 검증 가능한 정보에 의거하여 결정하는 프로파일 생성장치를 더 구비하는 것을 특징으로 하는 무결성 보증 및 검증 시스템.The method of claim 1, wherein the integrity profile is determined based on verifiable information regarding the one or more applications, systems or system components, and one or more authenticated content consuming applications, system or system components. Integrity assurance and verification system, further comprising a profile generating device. 상기 무결성 프로파일은 하나 이상의 애플리케이션들, 시스템들 또는 시스템 구성요소들의 진정성(authenticity)의 결정을 허여하는 무결성 프로파일을 결정하는 단계; 및The integrity profile comprises: determining an integrity profile that allows determination of the authenticity of one or more applications, systems or system components; And 상기 확실성 결정에 의거하여 콘텐트에 대한 접근권을 결정하는 단계를 구비하는 것을 특징으로 하는 콘텐트 소비 환경에서의 무결성 보증과 검증을 위한 방법.Determining access rights to content based on the determination of certainty. 제11항에 있어서, 상기 무결성 프로파일을 보증하는 단계를 더 구비하는 것을 특징으로 하는 방법.12. The method of claim 11, further comprising assuring said integrity profile. 제11항에 있어서, 상기 하나 이상의 애플리케이션들, 시스템들 또는 시스템구성요소들의 진정성을 검증하는 단계를 더 구비하는 것을 특징으로 하는 방법.12. The method of claim 11, further comprising verifying the authenticity of the one or more applications, systems or system components. 제11항에 있어서, 상기 접근권은 상기 콘텐트에 대한 접근 가능 또는 접근 불가능 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 방법.The method of claim 11, wherein the access right includes at least one of accessible or inaccessible access to the content. 제11항에 있어서, 적어도 하나의 애플리케이션, 시스템 또는 시스템 구성요소에 관한 인증정보를 입수하는 단계를 더 구비하는 것을 특징으로 하는 방법.12. The method of claim 11, further comprising obtaining authentication information about at least one application, system or system component. 제15항에 있어서, 상기 무결성 프로파일을 디지털적으로 서명하는 단계를 더 구비하는 것을 특징으로 하는 방법.16. The method of claim 15, further comprising digitally signing the integrity profile. 제15항에 있어서, 상기 디지털적으로 서명된 무결성 프로파일을 콘텐트 소비자에게 전달하는 단계를 더 구비하는 것을 특징으로 하는 방법.16. The method of claim 15, further comprising communicating the digitally signed integrity profile to a content consumer. 제11항에 있어서, 무결성 인증자의 상기 무결성을 검증하는 단계를 더 구비하는 것을 특징으로 하는 방법.12. The method of claim 11, further comprising verifying said integrity of an integrity authenticator. 제18항에 있어서, 간섭 저항 환경을 수립하는 단계를 더 구비하는 것을 특징으로 하는 방법.19. The method of claim 18, further comprising establishing an interference resistance environment. 제18항에 있어서, 상기 무결성 프로파일을 검증하는 단계를 더 구비하는 것을 특징으로 하는 방법.19. The method of claim 18, further comprising verifying the integrity profile. 제18항에 있어서, 유효한 무결성 프로파일을 더 구비하는 것을 특징으로 하는 방법.19. The method of claim 18, further comprising a valid integrity profile. 제18항에 있어서, 상기 무결성 인증자의 무결성을 검증하는 것은 상기 무결성 인증자가 적어도 모니터 되거나, 제어되거나, 또는 기록된 것이 아니라는 것을 수립하는 단계를 구비하는 것을 특징으로 하는 방법.19. The method of claim 18, wherein verifying the integrity of the integrity authenticator comprises establishing that the integrity authenticator is not at least monitored, controlled, or recorded. 무결성 보증 및 검증을 위한 정보를 콘텐트 소비 환경 내에 저장하는 정보저장매체로서,An information storage medium that stores information for integrity assurance and verification in a content consumption environment. 무결성 프로파일을 결정하는, 상기 무결성 프로파일은 하나 이상의 애플리케이션들, 시스템들 또는 시스템 구성요소들의 진정성의 결정을 하게 하는, 정보; 및The integrity profile, which determines an integrity profile, enables information to determine the authenticity of one or more applications, systems or system components; And 상기 진정성 결정에 의거하여 콘텐트에 대한 접근권을 결정하는 정보를 구비하는 것을 특징으로 하는 정보저장 매체.And information for determining access right to the content based on the authenticity determination. 제23항에 있어서, 상기 무결성 프로파일을 보증하는 정보를 더 구비하는 것을 특징으로 하는 정보저장 매체.24. The information storage medium of claim 23, further comprising information for assuring said integrity profile. 제23항에 있어서, 상기 하나 이상의 애플리케이션들, 시스템들 또는 시스템 구성요소들의 진정성을 검증하는 정보를 더 구비하는 것을 특징으로 하는 정보저장 매체.24. The information storage medium of claim 23, further comprising information verifying the authenticity of the one or more applications, systems, or system components. 제23항에 있어서, 상기 접근권은 상기 콘텐트에 대한 접근 가능 또는 접근 불가능 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 정보저장 매체.24. The information storage medium of claim 23, wherein the access right includes at least one of accessible or inaccessible access to the content. 제23항에 있어서, 적어도 하나의 애플리케이션, 시스템, 시스템 구성요소에 관한 인증정보를 입수하는 정보를 구비하는 것을 특징으로 하는 정보저장 매체.24. The information storage medium of claim 23, comprising information for obtaining authentication information about at least one application, system, system component. 제27항에 있어서, 상기 무결성 프로파일을 디지털적으로 서명하는 정보를 더 구비하는 것을 특징으로 하는 정보저장 매체.28. The information storage medium of claim 27, further comprising information digitally signing the integrity profile. 제27항에 있어서, 상기 디지털적으로 서명된 무결성 프로파일을 콘텐트 소비자에게 전달하는 정보를 더 구비하는 것을 특징으로 하는 정보저장 매체.28. The information storage medium of claim 27, further comprising information for conveying the digitally signed integrity profile to a content consumer. 제23항에 있어서, 무결성 인증자의 상기 무결성을 검증하는 정보를 더 구비하는 것을 특징으로 하는 정보저장 매체.24. The information storage medium of claim 23, further comprising information for verifying the integrity of an integrity authenticator. 제30항에 있어서, 간섭 저항 환경을 수립하는 정보를 더 구비하는 것을 특징으로 하는 정보저장 매체.31. The information storage medium of claim 30, further comprising information for establishing an interference resistance environment. 제30항에 있어서, 상기 무결성 프로파일을 검증하는 정보를 더 구비하는 것을 특징으로 하는 정보저장 매체.31. The information storage medium of claim 30, further comprising information for verifying the integrity profile. 제30항에 있어서, 유효한 무결성 프로파일을 로드 하는 정보를 더 구비하는 것을 특징으로 하는 정보저장 매체.31. The information storage medium of claim 30, further comprising information loading a valid integrity profile. 제30항에 있어서, 상기 무결성 인증자의 무결성을 검증하는 것은 상기 무결성 인증자가 모니터 되거나, 제어되거나 또는 기록되는 어떤 것이 적어도 아니라는 것을 입증하는 정보를 구비하는 것을 특징으로 하는 정보저장 매체.31. The information storage medium of claim 30, wherein verifying the integrity of the integrity authenticator comprises information verifying that the integrity authenticator is not at least monitored, controlled or recorded.
KR10-2003-7002905A 2000-08-28 2001-08-28 Systems and methods for integrity certification and verification of content consumption environments KR100402071B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/649,838 2000-08-28
US09/649,838 US6931545B1 (en) 2000-08-28 2000-08-28 Systems and methods for integrity certification and verification of content consumption environments
PCT/US2001/026634 WO2002019598A2 (en) 2000-08-28 2001-08-28 Systems and methods for integrity certification and verification of content consumption environments

Publications (2)

Publication Number Publication Date
KR20030040427A true KR20030040427A (en) 2003-05-22
KR100402071B1 KR100402071B1 (en) 2003-10-17

Family

ID=24606431

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7002905A KR100402071B1 (en) 2000-08-28 2001-08-28 Systems and methods for integrity certification and verification of content consumption environments

Country Status (12)

Country Link
US (2) US6931545B1 (en)
EP (1) EP1301863B1 (en)
JP (1) JP3671178B2 (en)
KR (1) KR100402071B1 (en)
CN (2) CN1291326C (en)
AT (1) ATE325384T1 (en)
AU (2) AU8529801A (en)
BR (1) BR0113572A (en)
CA (1) CA2419863C (en)
DE (1) DE60119326T2 (en)
MX (1) MXPA03001761A (en)
WO (1) WO2002019598A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100823738B1 (en) * 2006-09-29 2008-04-21 한국전자통신연구원 Method for integrity attestation of a computing platform hiding its configuration information
WO2013125783A1 (en) * 2012-02-21 2013-08-29 주식회사 파수닷컴 Apparatus and method for creating electronic books, and apparatus and method for verifying electronic book integrity

Families Citing this family (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1085396A1 (en) 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US8095508B2 (en) * 2000-04-07 2012-01-10 Washington University Intelligent data storage and processing using FPGA devices
US6965881B1 (en) * 2000-04-24 2005-11-15 Intel Corporation Digital credential usage reporting
US7395246B2 (en) * 2000-06-30 2008-07-01 Intel Corporation Delegating digital credentials
GB0020441D0 (en) 2000-08-18 2000-10-04 Hewlett Packard Co Performance of a service on a computing platform
US7457950B1 (en) * 2000-09-29 2008-11-25 Intel Corporation Managed authentication service
GB2376763B (en) * 2001-06-19 2004-12-15 Hewlett Packard Co Demonstrating integrity of a compartment of a compartmented operating system
GB2371636A (en) * 2000-12-21 2002-07-31 Nokia Oyj Content Distribution System
GB0102516D0 (en) * 2001-01-31 2001-03-21 Hewlett Packard Co Trusted gateway system
US20020111911A1 (en) * 2001-02-13 2002-08-15 Kennedy Kelli Hodge Document distribution system and method with consolidated document services management
GB2372345A (en) * 2001-02-17 2002-08-21 Hewlett Packard Co Secure email handling using a compartmented operating system
GB2372593B (en) * 2001-02-23 2005-05-18 Hewlett Packard Co Electronic communication
GB2372595A (en) 2001-02-23 2002-08-28 Hewlett Packard Co Method of and apparatus for ascertaining the status of a data processing environment.
GB2372592B (en) 2001-02-23 2005-03-30 Hewlett Packard Co Information system
WO2002091146A2 (en) 2001-05-09 2002-11-14 Ecd Systems, Inc. Systems and methods for the prevention of unauthorized use and manipulation of digital content
US7099663B2 (en) 2001-05-31 2006-08-29 Qualcomm Inc. Safe application distribution and execution in a wireless environment
GB2376765B (en) 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments with verifiable environment identities
GB2376762A (en) * 2001-06-19 2002-12-24 Hewlett Packard Co Renting a computing environment on a trusted computing platform
GB2376764B (en) * 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments
GB2376761A (en) * 2001-06-19 2002-12-24 Hewlett Packard Co An arrangement in which a process is run on a host operating system but may be switched to a guest system if it poses a security risk
GB0114898D0 (en) * 2001-06-19 2001-08-08 Hewlett Packard Co Interaction with electronic services and markets
US7552222B2 (en) * 2001-10-18 2009-06-23 Bea Systems, Inc. Single system user identity
US20090006659A1 (en) * 2001-10-19 2009-01-01 Collins Jack M Advanced mezzanine card for digital network data inspection
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
GB2382419B (en) * 2001-11-22 2005-12-14 Hewlett Packard Co Apparatus and method for creating a trusted environment
JP4145118B2 (en) * 2001-11-26 2008-09-03 松下電器産業株式会社 Application authentication system
GB0129596D0 (en) * 2001-12-11 2002-01-30 Nokia Corp Risk detection
US7680743B2 (en) 2002-05-15 2010-03-16 Microsoft Corporation Software application protection by way of a digital rights management (DRM) system
US7296154B2 (en) 2002-06-24 2007-11-13 Microsoft Corporation Secure media path methods, systems, and architectures
US7827607B2 (en) * 2002-11-27 2010-11-02 Symantec Corporation Enhanced client compliancy using database of security sensor data
US7694343B2 (en) * 2002-11-27 2010-04-06 Symantec Corporation Client compliancy in a NAT environment
US20040139312A1 (en) 2003-01-14 2004-07-15 General Instrument Corporation Categorization of host security levels based on functionality implemented inside secure hardware
US7290149B2 (en) * 2003-03-03 2007-10-30 Microsoft Corporation Verbose hardware identification for binding a software package to a computer system having tolerance for hardware changes
US7137002B2 (en) * 2003-03-24 2006-11-14 Lucent Technologies Inc. Differential authentication entity validation scheme for international emergency telephone service
US8041957B2 (en) * 2003-04-08 2011-10-18 Qualcomm Incorporated Associating software with hardware using cryptography
US20070277036A1 (en) 2003-05-23 2007-11-29 Washington University, A Corporation Of The State Of Missouri Intelligent data storage and processing using fpga devices
US10572824B2 (en) 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
US7249263B2 (en) * 2003-07-25 2007-07-24 International Business Machines Corporation Method and system for user authentication and identification using behavioral and emotional association consistency
GB2404536B (en) * 2003-07-31 2007-02-28 Hewlett Packard Development Co Protection of data
GB2404537B (en) * 2003-07-31 2007-03-14 Hewlett Packard Development Co Controlling access to data
US8037515B2 (en) 2003-10-29 2011-10-11 Qualcomm Incorporated Methods and apparatus for providing application credentials
KR100982515B1 (en) 2004-01-08 2010-09-16 삼성전자주식회사 Apparatus and method for constraining the count of access to digital contents using a hash chain
EP1709513A1 (en) * 2004-01-09 2006-10-11 General Instrument Corporation Method and apparatus for providing a security profile
KR20050094273A (en) * 2004-03-22 2005-09-27 삼성전자주식회사 Digital rights management structure, handheld storage deive and contents managing method using handheld storage device
US20050235357A1 (en) * 2004-04-19 2005-10-20 Securemedia International Preventing cloning of high value software using embedded hardware and software functionality
US8074287B2 (en) 2004-04-30 2011-12-06 Microsoft Corporation Renewable and individualizable elements of a protected environment
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
FR2872979A1 (en) * 2004-07-09 2006-01-13 France Telecom ACCESS SYSTEM CONTROLLING INFORMATION CONTAINED IN A TERMINAL
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US10477151B2 (en) 2004-10-18 2019-11-12 Inside Secure Method and apparatus for supporting multiple broadcasters independently using a single conditional access system
US8243925B2 (en) * 2004-10-18 2012-08-14 Syphermedia International, Inc. Method and apparatus for supporting multiple broadcasters independently using a single conditional access system
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
CN1633065B (en) * 2004-12-28 2010-05-12 华中师范大学 Method and system for secure distribution of network digital books with content monitoring
US7917299B2 (en) 2005-03-03 2011-03-29 Washington University Method and apparatus for performing similarity searching on a data stream with respect to a query string
JP4464297B2 (en) 2005-03-10 2010-05-19 パナソニック株式会社 Playback apparatus, playback method, and playback program
EP1866825A1 (en) 2005-03-22 2007-12-19 Hewlett-Packard Development Company, L.P. Methods, devices and data structures for trusted data
US9436804B2 (en) * 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
JP2008539502A (en) * 2005-04-29 2008-11-13 コンテントガード ホールディングズ インコーポレイテッド Validation
US7805752B2 (en) * 2005-11-09 2010-09-28 Symantec Corporation Dynamic endpoint compliance policy configuration
US7921303B2 (en) 2005-11-18 2011-04-05 Qualcomm Incorporated Mobile security system and method
KR101005212B1 (en) * 2005-12-16 2011-01-13 노키아 코포레이션 Support for integrated wlan hotspot clients
EP1801720A1 (en) * 2005-12-22 2007-06-27 Microsoft Corporation Authorisation and authentication
WO2007076484A2 (en) * 2005-12-22 2007-07-05 Flory Clive F Method, system, and apparatus for the management of the electronic files
EP1826695A1 (en) * 2006-02-28 2007-08-29 Microsoft Corporation Secure content descriptions
JP4960023B2 (en) 2006-01-18 2012-06-27 株式会社Pfu Image reading apparatus, authentication method, evaluation system, evaluation method, and program
US7954114B2 (en) 2006-01-26 2011-05-31 Exegy Incorporated Firmware socket module for FPGA-based pipeline processing
GB0603781D0 (en) 2006-02-24 2006-04-05 Nokia Corp Application verification
WO2007121035A2 (en) 2006-03-23 2007-10-25 Exegy Incorporated Method and system for high throughput blockwise independent encryption/decryption
CA2651436A1 (en) * 2006-05-05 2008-08-21 Interdigital Technology Corporation Digital rights management using trusted processing techniques
US7970138B2 (en) 2006-05-26 2011-06-28 Syphermedia International Method and apparatus for supporting broadcast efficiency and security enhancements
EP1873668A1 (en) * 2006-06-28 2008-01-02 Nokia Siemens Networks Gmbh & Co. Kg Integration of device integrity attestation into user authentication
US8239915B1 (en) 2006-06-30 2012-08-07 Symantec Corporation Endpoint management using trust rating data
US20080008321A1 (en) * 2006-07-10 2008-01-10 Syphermedia International, Inc. Conditional access enhancements using an always-on satellite backchannel link
US20080086431A1 (en) * 2006-09-15 2008-04-10 Icebreaker, Inc. Social interaction messaging and notification
US20080080711A1 (en) * 2006-09-28 2008-04-03 Syphermedia International, Inc. Dual conditional access module architecture and method and apparatus for controlling same
US8296569B2 (en) * 2006-10-09 2012-10-23 Microsoft Corporation Content protection interoperability infrastructure
US10031830B2 (en) * 2006-10-13 2018-07-24 International Business Machines Corporation Apparatus, system, and method for database management extensions
US8761393B2 (en) * 2006-10-13 2014-06-24 Syphermedia International, Inc. Method and apparatus for providing secure internet protocol media services
US9277259B2 (en) 2006-10-13 2016-03-01 Syphermedia International, Inc. Method and apparatus for providing secure internet protocol media services
GB0622149D0 (en) * 2006-11-07 2006-12-20 Singlepoint Holdings Ltd System and method to validate and authenticate digital data
US20080148253A1 (en) * 2006-12-15 2008-06-19 Microsoft Corporation Automatic software license reconciliation
US8879727B2 (en) 2007-08-31 2014-11-04 Ip Reservoir, Llc Method and apparatus for hardware-accelerated encryption/decryption
US8108856B2 (en) * 2007-03-30 2012-01-31 Intel Corporation Method and apparatus for adaptive integrity measurement of computer software
US8145655B2 (en) * 2007-06-22 2012-03-27 International Business Machines Corporation Generating information on database queries in source code into object code compiled from the source code
US8639627B2 (en) * 2007-07-06 2014-01-28 Microsoft Corporation Portable digital rights for multiple devices
US8887298B2 (en) * 2007-07-13 2014-11-11 Microsoft Corporation Updating and validating documents secured cryptographically
CN100454324C (en) * 2007-09-21 2009-01-21 武汉大学 Embed type platform guiding of credible mechanism
US8997054B2 (en) * 2007-11-30 2015-03-31 Red Hat, Inc. Software application certification service
GB2468422A (en) 2007-12-04 2010-09-08 Fox Entertainment Group System for distributing digital media to exhibitors
US10229453B2 (en) 2008-01-11 2019-03-12 Ip Reservoir, Llc Method and system for low latency basket calculation
US8374986B2 (en) 2008-05-15 2013-02-12 Exegy Incorporated Method and system for accelerated stream processing
US9779234B2 (en) * 2008-06-18 2017-10-03 Symantec Corporation Software reputation establishment and monitoring system and method
US8402519B2 (en) * 2008-10-16 2013-03-19 Verisign, Inc. Transparent client authentication
US9946848B2 (en) 2009-02-26 2018-04-17 International Business Machines Corporation Software protection using an installation product having an entitlement file
KR101590188B1 (en) * 2009-05-08 2016-01-29 삼성전자주식회사 Method for verification of software package integrity in a mobile terminal
US8800057B2 (en) 2009-09-24 2014-08-05 Samsung Information Systems America, Inc. Secure content delivery system and method
KR20110045960A (en) * 2009-10-28 2011-05-04 엘지이노텍 주식회사 Electronic book termimal and system for downloading electronic document
US8521778B2 (en) * 2010-05-28 2013-08-27 Adobe Systems Incorporated Systems and methods for permissions-based profile repository service
US8515241B2 (en) 2011-07-07 2013-08-20 Gannaway Web Holdings, Llc Real-time video editing
US9047243B2 (en) 2011-12-14 2015-06-02 Ip Reservoir, Llc Method and apparatus for low latency data distribution
US20140122897A1 (en) * 2011-12-31 2014-05-01 Rakesh Dodeja Securing device environment for trust provisioning
US11436672B2 (en) 2012-03-27 2022-09-06 Exegy Incorporated Intelligent switch for processing financial market data
US10121196B2 (en) 2012-03-27 2018-11-06 Ip Reservoir, Llc Offload processing of data packets containing financial market data
US9990393B2 (en) 2012-03-27 2018-06-05 Ip Reservoir, Llc Intelligent feed switch
US10650452B2 (en) 2012-03-27 2020-05-12 Ip Reservoir, Llc Offload processing of data packets
CN104620278B (en) * 2012-09-12 2017-12-22 英派尔科技开发有限公司 For the compound certification ensured without appearing foundation structure
US9135436B2 (en) * 2012-10-19 2015-09-15 The Aerospace Corporation Execution stack securing process
US9633093B2 (en) 2012-10-23 2017-04-25 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
US10146845B2 (en) 2012-10-23 2018-12-04 Ip Reservoir, Llc Method and apparatus for accelerated format translation of data in a delimited data format
US10133802B2 (en) 2012-10-23 2018-11-20 Ip Reservoir, Llc Method and apparatus for accelerated record layout detection
US9560014B2 (en) * 2013-01-23 2017-01-31 Mcafee, Inc. System and method for an endpoint hardware assisted network firewall in a security environment
TWI502342B (en) * 2013-03-08 2015-10-01 Chunghwa Telecom Co Ltd Method and system for automatic synchronization of dual - track test
EP3025235B1 (en) 2013-07-25 2020-10-28 Siemens Healthcare Diagnostics Inc. Anti-piracy protection for software
KR20150049571A (en) * 2013-10-30 2015-05-08 한국전자통신연구원 Object verification apparatus and the integrity authentication method
CN103685277B (en) * 2013-12-17 2016-08-17 南京大学 A kind of browser access safe web page guard method
WO2015164639A1 (en) 2014-04-23 2015-10-29 Ip Reservoir, Llc Method and apparatus for accelerated data translation
FR3023028B1 (en) * 2014-06-26 2017-07-28 Olivier Robert Gerard Joffray METHOD FOR PROTECTING GOODS USED BY CERTIFIED COMMUNICATION DEVICES CONNECTED INTO NETWORKS, AND FOR GUARANTEEING THE OPERATIONAL BEHAVIOR OF SAID DEVICES
WO2016001814A1 (en) * 2014-07-02 2016-01-07 Indian Institute Of Technology Madras System and method for determining the behavioral integrity of an application
JP6757125B2 (en) * 2015-07-29 2020-09-16 ヤフー株式会社 Transfer device and transfer system
US10942943B2 (en) 2015-10-29 2021-03-09 Ip Reservoir, Llc Dynamic field data translation to support high performance stream data processing
US10149166B2 (en) 2016-01-14 2018-12-04 Blackberry Limited Verifying a certificate
US10496814B2 (en) * 2016-03-07 2019-12-03 Intertrust Technologies Corporation Software integrity checking systems and methods
CN105930721B (en) * 2016-04-28 2018-11-23 北京小米移动软件有限公司 A kind of method and apparatus managing application program
WO2018119035A1 (en) 2016-12-22 2018-06-28 Ip Reservoir, Llc Pipelines for hardware-accelerated machine learning
US10733178B2 (en) 2018-08-01 2020-08-04 Saudi Arabian Oil Company Electronic document workflow
US10924933B2 (en) 2018-08-23 2021-02-16 Motorola Solutions, Inc. System and method for monitoring the integrity of a virtual assistant
US11240044B2 (en) 2018-11-22 2022-02-01 International Business Machines Corporation Verifying purpose of data usage at sub-application granularity
DE102019216527A1 (en) * 2019-10-28 2021-04-29 Robert Bosch Gmbh DEVICE, SYSTEM AND METHOD FOR DETECTING THE CONDITION OF INTEGRITY OF A DEVICE
CN111737657B (en) * 2020-06-16 2024-03-12 湖南省星岳天璇科技有限公司 Method for realizing authorization control on JAVA software based on license file

Family Cites Families (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3263158A (en) 1963-08-15 1966-07-26 Motorola Inc Saturable reactor voltage control circuit
US3609697A (en) 1968-10-21 1971-09-28 Ibm Program security device
US3798605A (en) 1971-06-30 1974-03-19 Ibm Centralized verification system
US3790700A (en) 1971-12-17 1974-02-05 Hughes Aircraft Co Catv program control system
US4220991A (en) 1977-10-08 1980-09-02 Tokyo Electric Co., Ltd. Electronic cash register with removable memory packs for cashier identification
US4278837A (en) 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4159468A (en) 1977-11-17 1979-06-26 Burroughs Corporation Communications line authentication device
FR2448825A1 (en) 1979-02-06 1980-09-05 Telediffusion Fse SYSTEM FOR TRANSMITTING INFORMATION BETWEEN A TRANSMISSION CENTER AND RECEIVING STATIONS, WHICH IS PROVIDED WITH A MEANS OF CONTROLLING ACCESS TO THE INFORMATION TRANSMITTED
US4529870A (en) 1980-03-10 1985-07-16 David Chaum Cryptographic identification, financial transaction, and credential device
US4442486A (en) 1981-11-25 1984-04-10 U.S. Philips Corporation Protected programmable apparatus
US4558176A (en) 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
US4593376A (en) 1983-04-21 1986-06-03 Volk Larry N System for vending program cartridges which have circuitry for inhibiting program usage after preset time interval expires
US4658093A (en) 1983-07-11 1987-04-14 Hellman Martin E Software distribution system
US4644493A (en) 1984-09-14 1987-02-17 International Business Machines Corporation Implementing a shared higher level of privilege on personal computers for copy protection of software
US4614861A (en) 1984-11-15 1986-09-30 Intellicard International, Inc. Unitary, self-contained card verification and validation system and method
US4713753A (en) 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
US4891838A (en) 1985-11-04 1990-01-02 Dental Data Service, Inc. Computer accessing system
EP0252646B1 (en) 1986-07-07 1993-09-29 Semiconductor Energy Laboratory Co., Ltd. Paperless portable book
US5014234A (en) 1986-08-25 1991-05-07 Ncr Corporation System with software usage timer and counter for allowing limited use but preventing continued unauthorized use of protected software
US5010571A (en) 1986-09-10 1991-04-23 Titan Linkabit Corporation Metering retrieval of encrypted data stored in customer data retrieval terminal
US4977594A (en) 1986-10-14 1990-12-11 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US5050213A (en) 1986-10-14 1991-09-17 Electronic Publishing Resources, Inc. Database usage metering and protection system and method
US4827508A (en) 1986-10-14 1989-05-02 Personal Library Software, Inc. Database usage metering and protection system and method
US5047928A (en) 1986-10-24 1991-09-10 Wiedemer John D Billing system for computer software
US4817140A (en) 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US4796220A (en) 1986-12-15 1989-01-03 Pride Software Development Corp. Method of controlling the copying of software
US4868376A (en) 1987-05-15 1989-09-19 Smartcard International Inc. Intelligent portable interactive personal data system
US4975647A (en) 1987-06-01 1990-12-04 Nova Biomedical Corporation Controlling machine operation with respect to consumable accessory units
US4999806A (en) 1987-09-04 1991-03-12 Fred Chernow Software distribution system
US5390297A (en) * 1987-11-10 1995-02-14 Auto-Trol Technology Corporation System for controlling the number of concurrent copies of a program in a network based on the number of available licenses
US4937863A (en) 1988-03-07 1990-06-26 Digital Equipment Corporation Software licensing management system
US4924378A (en) 1988-06-13 1990-05-08 Prime Computer, Inc. License mangagement system and license storage key
US4961142A (en) 1988-06-29 1990-10-02 Mastercard International, Inc. Multi-issuer transaction device with individual identification verification plug-in application modules for each issuer
US5247575A (en) 1988-08-16 1993-09-21 Sprague Peter J Information distribution system
US4932054A (en) 1988-09-16 1990-06-05 Chou Wayne W Method and apparatus for protecting computer software utilizing coded filter network in conjunction with an active coded hardware device
US5023907A (en) 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
US4953209A (en) 1988-10-31 1990-08-28 International Business Machines Corp. Self-verifying receipt and acceptance system for electronically delivered data objects
DE3903454A1 (en) 1988-12-12 1990-06-13 Raymund H Eisele ELEMENT INSERTABLE IN IT FACILITIES
US4949187A (en) 1988-12-16 1990-08-14 Cohen Jason M Video communications system having a remotely controlled central source of video and audio data
US5113519A (en) 1989-05-15 1992-05-12 International Business Machines Corporation Maintenance of file attributes in a distributed data processing system
US5347579A (en) 1989-07-05 1994-09-13 Blandford Robert R Personal computer diary
US5138712A (en) 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
US5148481A (en) 1989-10-06 1992-09-15 International Business Machines Corporation Transaction system security method and apparatus
US5136643A (en) 1989-10-13 1992-08-04 Fischer Addison M Public/key date-time notary facility
FR2653248B1 (en) 1989-10-13 1991-12-20 Gemolus Card International PAYMENT OR INFORMATION TRANSFER SYSTEM BY ELECTRONIC MEMORY CARD.
FR2653914A1 (en) 1989-10-27 1991-05-03 Trt Telecom Radio Electr SYSTEM FOR AUTHENTICATING A MICROCIRCUIT CARD BY A PERSONAL MICROCOMPUTER, AND METHOD FOR ITS IMPLEMENTATION
US5263158A (en) 1990-02-15 1993-11-16 International Business Machines Corporation Method and system for variable authority level user access control in a distributed data processing system having multiple resource manager
US5263157A (en) 1990-02-15 1993-11-16 International Business Machines Corporation Method and system for providing user access control within a distributed data processing system by the exchange of access control profiles
US5058164A (en) 1990-05-03 1991-10-15 National Semiconductor Corp. Encryption of streams of addressed information to be used for program code protection
US5052040A (en) 1990-05-25 1991-09-24 Micronyx, Inc. Multiple user stored data cryptographic labeling system and method
JP2689998B2 (en) 1990-08-22 1997-12-10 インターナショナル・ビジネス・マシーンズ・コーポレイション Device for cryptographic operation
JPH05134957A (en) 1990-10-10 1993-06-01 Fuji Xerox Co Ltd Data management system
US5103476A (en) 1990-11-07 1992-04-07 Waite David P Secure system for activating personal computer software at remote locations
US5222134A (en) 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
US5255106A (en) 1991-02-05 1993-10-19 International Integrated Communications, Ltd. Method and apparatus for delivering secured hard-copy facsimile documents
US5504818A (en) 1991-04-19 1996-04-02 Okano; Hirokazu Information processing system using error-correcting codes and cryptography
US5260999A (en) 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
US5438508A (en) 1991-06-28 1995-08-01 Digital Equipment Corporation License document interchange format for license management system
US5204897A (en) 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
US5504814A (en) 1991-07-10 1996-04-02 Hughes Aircraft Company Efficient security kernel for the 80960 extended architecture
US5276444A (en) 1991-09-23 1994-01-04 At&T Bell Laboratories Centralized security control system
US5734823A (en) 1991-11-04 1998-03-31 Microtome, Inc. Systems and apparatus for electronic communication and storage of information
WO1993009490A1 (en) * 1991-11-04 1993-05-13 Vpr Systems Ltd. Lap-top computer for retrieving and displaying text and graphic information encoded on personal library cd-rom
US5557518A (en) 1994-04-28 1996-09-17 Citibank, N.A. Trusted agents for open electronic commerce
US5453601A (en) 1991-11-15 1995-09-26 Citibank, N.A. Electronic-monetary system
US5301231A (en) 1992-02-12 1994-04-05 International Business Machines Corporation User defined function facility
US5183404A (en) 1992-04-08 1993-02-02 Megahertz Corporation Systems for connection of physical/electrical media connectors to computer communications cards
US5276735A (en) 1992-04-17 1994-01-04 Secure Computing Corporation Data enclave and trusted path system
US5440631A (en) * 1992-04-24 1995-08-08 Fijitsu Limited Information distribution system wherein storage medium storing ciphered information is distributed
JP2659896B2 (en) 1992-04-29 1997-09-30 インターナショナル・ビジネス・マシーンズ・コーポレイション Structured document copy management method and structured document copy management device
US5412717A (en) 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
US5235642A (en) 1992-07-21 1993-08-10 Digital Equipment Corporation Access control subsystem and method for distributed computer system using locally cached authentication credentials
US5287408A (en) * 1992-08-31 1994-02-15 Autodesk, Inc. Apparatus and method for serializing and validating copies of computer software
US5381526A (en) 1992-09-11 1995-01-10 Eastman Kodak Company Method and apparatus for storing and retrieving generalized image data
JP3358627B2 (en) * 1992-10-16 2002-12-24 ソニー株式会社 Information recording / reproducing device
US5319705A (en) 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5414852A (en) * 1992-10-30 1995-05-09 International Business Machines Corporation Method for protecting data in a computer system
US5341429A (en) 1992-12-04 1994-08-23 Testdrive Corporation Transformation of ephemeral material
US5509070A (en) 1992-12-15 1996-04-16 Softlock Services Inc. Method for encouraging purchase of executable and non-executable software
US5504837A (en) 1993-05-10 1996-04-02 Bell Communications Research, Inc. Method for resolving conflicts among distributed entities through the generation of counter proposals by transversing a goal hierarchy with acceptable, unacceptable, and indeterminate nodes
US5337357A (en) 1993-06-17 1994-08-09 Software Security, Inc. Method of software distribution protection
US5428606A (en) 1993-06-30 1995-06-27 Moskowitz; Scott A. Digital information commodities exchange
IL110891A (en) 1993-09-14 1999-03-12 Spyrus System and method for data access control
CA2129075C (en) 1993-10-18 1999-04-20 Joseph J. Daniele Electronic copyright royalty accounting system using glyphs
US6135646A (en) * 1993-10-22 2000-10-24 Corporation For National Research Initiatives System for uniquely and persistently identifying, managing, and tracking digital objects
US5455953A (en) 1993-11-03 1995-10-03 Wang Laboratories, Inc. Authorization system for obtaining in single step both identification and access rights of client to server directly from encrypted authorization ticket
US5625690A (en) * 1993-11-15 1997-04-29 Lucent Technologies Inc. Software pay per use system
US5768426A (en) * 1993-11-18 1998-06-16 Digimarc Corporation Graphics processing system employing embedded code signals
US5748783A (en) * 1995-05-08 1998-05-05 Digimarc Corporation Method and apparatus for robust information coding
US5495411A (en) * 1993-12-22 1996-02-27 Ananda; Mohan Secure software rental system using continuous asynchronous password verification
US5473687A (en) 1993-12-29 1995-12-05 Infosafe Systems, Inc. Method for retrieving secure information from a database
US5394469A (en) 1994-02-18 1995-02-28 Infosafe Systems, Inc. Method and apparatus for retrieving secure information from mass storage media
US5499298A (en) 1994-03-17 1996-03-12 National University Of Singapore Controlled dissemination of digital information
US5563946A (en) 1994-04-25 1996-10-08 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for passing encrypted files between data processing systems
CA2143874C (en) * 1994-04-25 2000-06-20 Thomas Edward Cooper Method and apparatus for enabling trial period use of software products: method and apparatus for utilizing a decryption stub
US5757907A (en) * 1994-04-25 1998-05-26 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for generating a machine-dependent identification
US5799087A (en) * 1994-04-28 1998-08-25 Citibank, N.A. Electronic-monetary system
US5473692A (en) 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5638443A (en) 1994-11-23 1997-06-10 Xerox Corporation System for controlling the distribution and use of composite digital works
US5715403A (en) 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US5634012A (en) 1994-11-23 1997-05-27 Xerox Corporation System for controlling the distribution and use of digital works having a fee reporting mechanism
US5629980A (en) 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
US5655077A (en) 1994-12-13 1997-08-05 Microsoft Corporation Method and system for authenticating access to heterogeneous computing services
US5649013A (en) 1994-12-23 1997-07-15 Compuserve Incorporated Royalty tracking method and apparatus
US5745569A (en) * 1996-01-17 1998-04-28 The Dice Company Method for stega-cipher protection of computer code
US5943422A (en) * 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
EP2110732A3 (en) * 1995-02-13 2009-12-09 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5530235A (en) 1995-02-16 1996-06-25 Xerox Corporation Interactive contents revealing storage device
US5534975A (en) 1995-05-26 1996-07-09 Xerox Corporation Document processing system utilizing document service cards to provide document processing services
US5765152A (en) * 1995-10-13 1998-06-09 Trustees Of Dartmouth College System and method for managing copyrighted electronic media
US5708717A (en) 1995-11-29 1998-01-13 Alasia; Alfred Digital anti-counterfeiting software method and apparatus
US5633932A (en) 1995-12-19 1997-05-27 Intel Corporation Apparatus and method for preventing disclosure through user-authentication at a printing node
US5761686A (en) * 1996-06-27 1998-06-02 Xerox Corporation Embedding encoded information in an iconic version of a text image
US6006332A (en) * 1996-10-21 1999-12-21 Case Western Reserve University Rights management system for digital media
US5920861A (en) * 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
US6233684B1 (en) * 1997-02-28 2001-05-15 Contenaguard Holdings, Inc. System for controlling the distribution and use of rendered digital works through watermaking
PL186325B1 (en) * 1997-03-21 2003-12-31 Canal Plus Sa Transmit-receive system and conditional access system therefor
US6073089A (en) * 1997-10-22 2000-06-06 Baker; Michelle Systems and methods for adaptive profiling, fault detection, and alert generation in a changing environment which is measurable by at least two different measures of state
FR2772486B1 (en) * 1997-12-15 2000-01-07 Elf Exploration Prod METHOD FOR THE AUTOMATIC DETECTION OF PLANAR HETEROGENEITIES INTERRUPTING THE LAMINATION OF A MEDIUM
GB2319102B (en) * 1998-01-30 1998-12-23 Ibm A security system for a transaction processing system
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US7243236B1 (en) * 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100823738B1 (en) * 2006-09-29 2008-04-21 한국전자통신연구원 Method for integrity attestation of a computing platform hiding its configuration information
WO2013125783A1 (en) * 2012-02-21 2013-08-29 주식회사 파수닷컴 Apparatus and method for creating electronic books, and apparatus and method for verifying electronic book integrity

Also Published As

Publication number Publication date
CN1291326C (en) 2006-12-20
BR0113572A (en) 2003-07-15
EP1301863A2 (en) 2003-04-16
CN1449523A (en) 2003-10-15
JP3671178B2 (en) 2005-07-13
DE60119326T2 (en) 2006-08-31
AU8529801A (en) 2002-03-13
WO2002019598A3 (en) 2002-06-13
CA2419863A1 (en) 2002-03-07
EP1301863B1 (en) 2006-05-03
MXPA03001761A (en) 2003-06-04
ATE325384T1 (en) 2006-06-15
EP1301863A4 (en) 2003-07-02
KR100402071B1 (en) 2003-10-17
WO2002019598A2 (en) 2002-03-07
AU2001285298B2 (en) 2005-09-08
CA2419863C (en) 2006-04-25
DE60119326D1 (en) 2006-06-08
CN1953459A (en) 2007-04-25
US20050262086A1 (en) 2005-11-24
US6931545B1 (en) 2005-08-16
JP2004507845A (en) 2004-03-11

Similar Documents

Publication Publication Date Title
KR100402071B1 (en) Systems and methods for integrity certification and verification of content consumption environments
AU2001285298A1 (en) Systems and methods for integrity certification and verification of content consumption environments
JP6983794B2 (en) Copyright management method and system
US6327652B1 (en) Loading and identifying a digital rights management operating system
US7809648B2 (en) System and method for software licensing
US7302709B2 (en) Key-based secure storage
US6189146B1 (en) System and method for software licensing
JP4912406B2 (en) Transfer of digital license from the first platform to the second platform
US6820063B1 (en) Controlling access to content based on certificates and access predicates
CA2457291C (en) Issuing a publisher use license off-line in a digital rights management (drm) system
US6330670B1 (en) Digital rights management operating system
US6757824B1 (en) Client-side boot domains and boot rules
EP0803789A2 (en) Software copy protection mechanism
JP2006222951A (en) Flexible licensing architecture in content rights management system
KR20040076627A (en) Enrolling/sub-enrolling a digital rights management (drm) server into a dram architecture
KR101034127B1 (en) Systems and methods for integrity certification and verification
US20050060549A1 (en) Controlling access to content based on certificates and access predicates
US20100031033A1 (en) Apparatus and method of sharing drm agents
GB2404828A (en) Copyright management where encrypted content and corresponding key are in same file
JP2003256596A (en) Copyright protected content delivery method and system, copyright protection management method, copyright protection management terminal, program and storage medium
KR100716719B1 (en) Method and apparatus for providing package contents using d.r.m
WO2002010907A2 (en) Method of revoking_authorizations for software components
Gerrits Implementing a DRM-Preserving Digital Content Redistribution System

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20120306

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20130919

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140919

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150924

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee