KR20010024853A - 피어 컴포넌트를 인증하는 시스템 및 방법 - Google Patents

피어 컴포넌트를 인증하는 시스템 및 방법 Download PDF

Info

Publication number
KR20010024853A
KR20010024853A KR1020007007722A KR20007007722A KR20010024853A KR 20010024853 A KR20010024853 A KR 20010024853A KR 1020007007722 A KR1020007007722 A KR 1020007007722A KR 20007007722 A KR20007007722 A KR 20007007722A KR 20010024853 A KR20010024853 A KR 20010024853A
Authority
KR
South Korea
Prior art keywords
data object
peer
data
objects
peer data
Prior art date
Application number
KR1020007007722A
Other languages
English (en)
Other versions
KR100539987B1 (ko
Inventor
벤손그레그
프랜크린마틴
노프트크리스토퍼엘.
Original Assignee
메디아드나 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22103256&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20010024853(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 KR20010024853A publication Critical patent/KR20010024853A/ko
Application granted granted Critical
Publication of KR100539987B1 publication Critical patent/KR100539987B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Lock And Its Accessories (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

컴포넌트 오브젝트(component object) 시스템에서의 데이터 오브젝트의 사용을 제어하는 시스템 및 방법. 본 발명에 따라, 각 데이터 오브젝트(112)는 이 데이터 오브젝트(112)에 의해 요구되는 하나 이상의 피어 데이터 오브젝트(peer data object)를 규정하는 피어 리스트를 포함한다. 데이터 오브젝트(112)를 수신하는 경우, 시스템은 데이터 오브젝트(112)의 무결성을 확인한다. 또한, 이 시스템은 피어 데이터 오브젝트(118)의 무결성을 식별한다. 시스템이 피어 데이터 오브젝트(118)를 찾을 수 없거나, 또는 시스템이 피어 데이터 오브젝트(118)를 인증할 수 없는 경우, 시스템은 데이터 오브젝트 저장소로부터 인증될 수 있는 피어 데이터 오브젝트를 선택적으로 검색한다. 데이터 오브젝트(112)의 무결성에 대한 유효성 검사에 부가하여, 시스템은 데이터 오브젝트(112)가 각 피어 데이터 오브젝트(118)와 통신할 권한을 부여받는가를 확인한다. 또한, 이 시스템은 피어 데이터 오브젝트(118)가 데이터 오브젝트(112)와 통신할 권한을 부여받는가를 확인한다.

Description

피어 컴포넌트를 인증하는 시스템 및 방법{SYSTEM AND METHOD FOR AUTHENTICATING PEER COMPONENTS}
역사적으로, 소프트웨어 애플리케이션은 저스트-인-타임(just-in-time; JIT) 제조가 출현하기 전에 공장을 지원하는데 사용되었던 창고와 같이 설계되었다. JIT 제조 이전에, 창고는 부품이 필요한 경우나 또는 부품이 전혀 필요치 않은 경우에 관계없이 모든 부품을 저장하었다. 마찬가지로, 소프트웨어 애플리케이션은 모든 모듈이 필요한지의 여부에 관계없이 소프트웨어 애플리케이션에 저장되는 복수개의 모듈을 사용하여 제작되는 것이 관례였다. 오브젝트 기반의 솔루션을 개발하는데 있어서의 한가지 기술적 문제는 소프트웨어 코드가 전형적으로 컴파일되어, 실행 가능한 프로그램에 링크된다는 것이다. 일단 코드가 실행 가능한 상태가 되면, 부가적인 컴포넌트를 프로그램에 통합시키는 것은 곤란하다.
그렇지만 이제 새로운 오브젝트 모델은 데이터 오브젝트를 실용 애플리케이션에 동적 통합시킬 수 있다. 예를 들면, 인터넷 브라우저는 번역 환경을 사용하여 자바 애플릿(Java applet)과 같은 다양한 데이터 오브젝트가 인터넷 브라우저에 동적 통합되는 것을 허용한다.
현재의 오브젝트 모델에 따른 데이터 오브젝트가 일부 제한된 단방향 보안 기능을 가지고 있지만, 현재까지는 데이터 오브젝트가 브라우저의 동일성(identity)을 인증하고 브라우저가 데이터 오브젝트의 동일성을 인증할 수 있는 방법이 없다. 기껏해야 데이터 오브젝트는 브라우저가 데이터 오브젝트의 신뢰 여부를 결정할 수 있는 단순한 보안책을 갖도록 설계될 뿐이다. 데이터 오브젝트가 신뢰되는 경우, 데이터 오브젝트는 어떠한 시스템 기능으로의 접근이 허용된다. 그렇지 않고 데이터 오브젝트가 인증되지 않는 경우, 데이터 오브젝트는 시스템 기능으로의 제한된 접근만이 허용된다.
더우기 현재의 기술을 사용하여, 데이터 오브젝트는 브라우저 또는 브라우저에 설치될 수 있는 기타 데이터 오브젝트의 동일성을 확인할 수 없다. 이러한 제한으로 인해, 보안 및 보호 데이터 오브젝트(secure and protected data object)들은 타깃 환경이 이들의 내부 보안을 인식하는 것을 보장할 수 없기 때문에 개발될 수 없다.
따라서, 어떤 데이터 오브젝트가 사용될 때마다 그 피어(peer)에 대한 데이터 오브젝트의 동일성을 인증할 수 있는 시스템이 필요하다. 게다가, 이 시스템은 데이터 오브젝트에 대한 피어의 동일성을 인증할 수 있어야 한다. 데이터 오브젝트 및 피어 데이터 오브젝트가 식별된 후, 데이터 오브젝트는 피어 데이터 오브젝트와 동적으로 연결될 수 있어야 한다. 또한, 데이터 오브젝트가 선택된 피어 데이터 오브젝트를 필요로 하는 경우, 그리고 선택된 피어 데이터 오브젝트를 시스템 상에서 찾을 수 없거나 또는 피어 데이터 오브젝트를 인증할 수 없는 경우, 시스템은 인증될 수 있는 피어 데이터 오브젝트를 검색할 수 있어야 한다.
본 발명은 데이터 관리에 관한 것이다. 보다 구체적으로, 본 발명은 컴포넌트 오브젝트 시스템에서 피어 데이터 오브젝트(peer data object)를 인증하는 시스템 및 방법에 관한 것이다.
도 1은 복수개의 데이터 오브젝트 제공자, 데이터 오브젝트, 및 데이터 오브젝트를 하나 이상의 피어 데이터 오브젝트(peer data object)에 연결하는 본 발명의 애니메이팅 시스템을 도시하는 상위 블록 선도.
도 2는 도 1에 도시된 애니메이팅 시스템을 구성하는 많은 모듈을 도시하는 블록 선도.
도 3은 도 1에 도시된 데이터 오브젝트의 컴포넌트(component)를 도시하는 블록 선도로서, 이 컴포넌트에는 디지털 오브젝트 식별자, 피어 리스트(peer list), 서명 리스트, 관리 정보, 하나 이상의 서브컴포넌트 및 엑스포트 리스트가 포함되는 블록 선도.
도 4는 도 3에 도시된 서브컴포넌트들 중 한 서브컴포넌트의 구성요소를 도시하는 블록 선도.
도 5는 도 3에 도시된 엑스포트 리스트의 구성요소를 도시하는 블록 선도.
도 6은 도 3에 도시된 선택된 서브컴포넌트에 포함되어 있는 와이어링 데이터 필드(wiring data field)를 도시하는 블록 선도.
도 7은 도 3에 도시된 서브컴포넌트에 포함될 수 있는 예시적인 데이터를 도시하는 블록 선도.
도 8은 도 3에 도시된 서브컴포넌트에 포함될 수 있는 예시적인 코드를 도시하는 블록 선도.
도 9는 도 3에 도시된 데이터 오브젝트를 생성하는 프로세스를 도시하는 흐름도.
도 10은 데이터 오브젝트를 도 1에 도시된 피어 데이터 오브젝트와 연결하는 프로세스를 도시하는 흐름도.
발명의 요약
본 발명의 애니메이팅 시스템(animating system)은 몇 가지 특징을 가지고 있는데, 이러한 특징은 단독으로는 바람직한 어트리뷰트(attribute)를 가져오지 않는다. 다음의 특허청구범위와는 달리 본 발명의 범위를 제한하지 않고서, 이하에서는 본 발명의 중요한 특징들을 설명할 것이다.
본 발명의 일 실시예에서는, 하나 이상의 피어 데이터 오브젝트를 갖는 컴퓨터에서의 데이터의 사용을 제어하는 방법으로서, 하나 이상의 피어 데이터 오브젝트의 기술(description)을 포함하는 데이터 오브젝트를 제공하는 과정과, 피어 데이터 오브젝트가 데이터 오브젝트와 통신할 권한을 부여받는지 여부를 결정하는 과정과, 데이터 오브젝트가 피어 데이터 오브젝트와 통신할 권한을 부여받는지 여부를 결정하는 과정과, 데이터 오브젝트가 피어 데이터 오브젝트와 통신하고 피어 데이터 오브젝트가 데이터 오브젝트와 통신할 수 있도록 부여되는 권한에 기초하여 데이터 오브젝트를 피어 데이터 오브젝트에 연결하는 과정을 포함하는 데이터 사용 제어 방법이 포함된다.
본 발명의 또 다른 실시예에서는, 데이터 오브젝트의 사용을 제어하는 시스템으로서, 소프트웨어 애플리케이션을 집합적으로 규정하는 하나 이상의 피어 데이터 오브젝트와, 데이터 오브젝트의 사용에 요구되는 하나 이상의 피어 데이터 오브젝트의 기술을 데이터 오브젝트로부터 판독할 수 있는 파서(parser)와, 데이터 오브젝트가 하나 이상의 데이터 오브젝트와 통신할 권한을 부여받는지 여부를 결정할 수 있는 유효 데이터 오브젝트 모듈과, 피어 데이터 오브젝트가 데이터 오브젝트와 통신할 권한을 부여받는지 여부를 결정할 수 있는 유효 피어 모듈과, 피어 데이터 오브젝트를 데이터 오브젝트에 연결하는 것을 제어할 수 있는 와이어링 모듈을 포함하는 데이터 오브젝트의 사용 제어 시스템이 포함된다.
본 발명의 실시예의 상세한 설명
다음의 상세한 설명은 본 발명의 어떠한 구체적인 실시예에 관한 것이다. 그렇지만, 본 발명은 청구항에 의해 한정되는 바와 같은 다수의 서로 다른 방식으로 구현될 수 있다.
시스템 개요
도 1은 본 발명의 애니메이팅 시스템(100)을 도시하는 상위 블록 선도이다. 애니메이팅 시스템(100)은 보안 및 보호 환경에서 데이터 오브젝트(112)가 하나 이상의 피어 데이터 오브젝트 또는 컴포넌트(118)에 인증 및 연결되는 것을 가능하게 한다. 인증에 이어서 데이터 오브젝트(112)가 피어 데이터 오브젝트(118)와 통신할 권한을 부여받는 경우, 애니메이팅 시스템(100)은 데이터 오브젝트(112)의 피어 데이터 오브젝트(118)와의 연결을 조정한다.
도 1에 도시된 바와 같이, 애니메이팅 시스템(100)은 데이터 오브젝트(112)를 가지고 있는 하나 이상의 데이터 오브젝트 제공자(107)와 통신할 수 있다. 예시적인 데이터 오브젝트 제공자는 다음 중 하나일 수 있다: 데이터베이스(104), 서버 컴퓨터(106), 탈착식 저장 매체(110), 또는 하드웨어 장치(111). 탈착식 저장 매체(110)는 플로피디스크, 콤팩트디스크, 하드디스크, 테이프 드라이브, ROM, 또는 기타 지속 저장 매체(persistent storage medium)일 수 있다. 하드웨어 장치(111)는 논리 칩, ROM, RAM, 스마트 카드, 또는 중앙 처리 장치일 수 있다.
본 발명의 일 실시예에서, 데이터 오브젝트(112)는 자바 아카이브(Java Archive; JAR) 파일로 유지될 수 있다. JAR은 많은 파일을 하나로 집합하는 플래폼 독립형(platform-independent) 파일 포맷이다. JAR 파일 포맷을 사용하여, 다수의 자바 애플릿 및 이들의 필수적 구성요소들은 단일 파일로 함께 그룹화되어 컴퓨터간의 애플릿 전송을 용이하게 할 수 있다. JAR 파일에 관한 부가적인 정보는 캘리포니아주 마운틴뷰에 소재한 선 마이크로시스템즈사(Sun Microsystems, Inc.)가 개설한 Jar Guide http://java.sun.com/products/jdk/1.1/docs/guide/ jarGuide.html에서 찾을 수 있으며, 이는 인용에 의해 여기에 삽입되어 있다. 본 발명의 또 다른 실시예에서 데이터 오브젝트(112)는 하드웨어 장치이다.
피어(peer)라는 용어는 단지 그 역할을 구별하는 것이고, 여기서 정의된 바와 같이 각각의 피어 데이터 오브젝트(118)는 하나의 데이터 오브젝트라는 것이 주목된다. 데이터 오브젝트(112) 및 피어 데이터 오브젝트(118)의 스키마(schema)는 도 3을 참조하여 아래에서 설명된다.
피어 데이터 오브젝트(118)들은 결합하여 또는 단독으로 하나 이상의 소프트웨어 애플리케이션들을 규정할 수 있다. 이 소프트웨어 애플리케이션은 워드 프로세서, 데이터베이스, 개인 금융 유틸리티, 그래픽 도구, 인터넷 브라우저, 컴퓨터 게임, 통신 프로그램, 권한부여 프로그램, 전자 지갑, 멀티미디어 제공자 또는 계약 관리자 등을 포함할 수 있다. 피어 데이터 오브젝트를 사용하는 과정은 도 10을 참조하여 아래에서 설명된다.
본 발명의 일 실시예에서, 애니메이팅 시스템(100)은 클라이언트 컴퓨터(102) 상에 상주하는 실행 가능한 컴퓨터 프로그램이다. 애니메이팅 시스템(100)은 전형적으로 개별 컴파일되어, 단일의 실행 가능한 프로그램에 링크되는 다양한 모듈을 포함한다. 이 애니메이팅 시스템(100)의 모듈은 도 6을 참조하여 아래에서 설명된다.
애니메이팅 시스템(100)(도 1)은 C, C++, 베이직, 파스칼, 자바 및 포트란과 같은 임의의 프로그래밍 언어로 작성될 수 있다. C, C++, 베이직, 파스칼, 자바 및 포트란은 많은 상업용 컴파일러 및 인터프리터가 실행 가능한 코드를 생성하는데 사용될 수 있는 산업 표준 프로그래밍 언어이다. 더우기, 애니메이팅 시스템(100)은 유닉스, 솔라리스(Solaris), 디스크 운영 체제(DOS), OS/2, 윈도즈 3.X, 윈도즈 98, 윈도즈 CE, 팜 파일럿(Palm Pilot) OS 및 윈도즈 NT 등과 같은 다양한 운영 체제와 연결되어 사용될 수 있다.
클라이언트 컴퓨터(102)는 펜티엄 프로세서, 펜티엄 Ⅱ 프로세서, 펜티엄 프로 프로세서, xx86 프로세서, 8051 프로세서, MIPS 프로세서, 파워(Power) PC 프로세서, 또는 알파(Alpha) 프로세서 등과 같은 하나 이상의 마이크로프로세서를 사용하는, 종래의 여하한 범용 컴퓨터일 수 있다. 또한, 클라이언트 컴퓨터(102)는 휴대용 컴퓨터, 전화, 라우터, 위성, 스마트 카드, 내장형 계산 장치, 또는 계산 장치의 네트워크와 같은 전용 컴퓨터일 수 있다.
도 2는 애니메이팅 시스템(100)(도 1)의 컴포넌트를 도시하는 블록 선도이다. 애니메이팅 시스템(100)은 데이터 오브젝트(112)를 판독하는 파서(parser; 150)를 포함한다. 애니메이팅 시스템(100)은 또한 유효성 검사 모듈(validation module; 152)을 포함한다. 이 유효성 검사 모듈(152)은 2개의 서브컴포넌트, 즉 유효 데이터 오브젝트 모듈(158) 및 유효 피어 모듈(160)을 포함한다. 유효 데이터 오브젝트 모듈(validate data object module; 158)은 데이터 오브젝트가 피어 데이터 오브젝트(118)(도 1)에 연결되기 전에 데이터 오브젝트(112)(도 1)의 무결성(integrity)을 확인하도록 구성된다. 유효 피어 모듈(160)은 각각의 피어 데이터 오브젝트(118)의 무결성을 확인하는데 사용된다.
애니메이팅 시스템(100)은 유효성 검사 모듈(152)과 통신하는 와이어링 모듈(154)을 또한 포함한다. 이 와이어링 모듈(154)은 데이터 오브젝트(112)를 판독하여, 적당한 동작을 위해 어느 피어 데이터 오브젝트 및/또는 하드웨어 구성이 데이터 오브젝트에 의해 요구되는지를 결정한다. 데이터 컴포넌트를 피어 데이터 컴포넌트와 연결하는 과정은 도 10을 참조하여 아래에서 설명된다.
또한, 애니메이팅 시스템(100)은 이벤트 관리자(event manager; 156)를 포함한다. 이 이벤트 관리자는 데이터 오브젝트(112)가 피어 데이터 오브젝트(118)에 연결되기 이전과 이후에 이벤트를 데이터 오브젝트(112)에 전송하는 일을 담당한다.
도 3은 데이터 오브젝트(112)의 구성요소를 도시하는 블록 선도이다. 데이터 오브젝트(112)는 데이터 오브젝트를 고유하게 식별하는 디지털 오브젝트 식별자(200)를 포함한다. 디지털 오브젝트 식별자(digital object identifier)는 임의의 표준적 또는 독점적인 식별 스키마(standard or proprietary identification schema)에 따라 생성될 수 있다. 예시적인 디지털 오브젝트 식별 프레임워크에 관한 부가적인 정보는 International Digital Object Identifier Foundation이 개설한 About the DOI <http://www.doi.org/overview.html>에 기술되어 있으며, 이는 인용에 의해 여기에 삽입되어 있다.
데이터 오브젝트(112)는 또한 피어 리스트(peer list; 202)(도 3)를 포함한다. 피어 리스트(202)는 적절한 동작을 위해 데이터 오브젝트(212)에 의해 요구되는, 도 1에 도시된 바와 같은 모든 피어 데이터 오브젝트를 규정한다. 본 발명의 일 실시예에서, 피어 리스트(202)는 피어 리스트 구조(도시되지 않음)의 링크된 리스트(linked list)이며, 이 피어 리스트 구조 각각은 피어 데이터 오브젝트(118)들 중 하나를 나타낸다. 각각의 피어 리스트 구조에는 피어 데이터 오브젝트, 피어 데이터 오브젝트와 연관된 버전수 및 위치 식별자가 들어있다. 위치 식별자는 데이터 오브젝트가 클라이언트 컴퓨터(102) 상에 저장되어 있지 않아도 피어 데이터 오브젝트를 검색할 수 있는 위치를 지정한다. 본 발명의 일 실시예에서, 위치 식별자는 웹사이트를 지정하는 URL(Universal Resource Locator)이다. 변형적으로, 위치 식별자는 데이터베이스(104)를 식별할 수 있다.
선택적으로, 피어 리스트(202)는 데이터 오브젝트(112)의 서브컴포넌트의 내용을 해독하는 해독 데이터 오브젝트(도시되지 않음)의 기술을 포함할 수 있다.
데이터 오브젝트(112)는 또한 서명 리스트(204)(도 3)를 포함할 수 있다. 이 서명 리스트(signature list; 204)에는 서명 리스트(204) 내의 서명에 대한, 한 명 이상의 서명자의 동일성을 인증하는데 사용될 수 있는 하나 이상의 디지털 서명이 들어있다.
데이터 오브젝트(112)의 디지털 서명 각각은 데이터 오브젝트(112)의 내용과 서명자의 개인키(private key) 모두를 기초로 한다. 각 디지털 서명은 개인키를 사용하여 데이터 오브젝트를 암호화하는 개인 서명 함수 및 해시(hash) 함수의 사용을 통해서 생성될 수 있다. 각 디지털 서명은 데이터 오브젝트(112)의 인증성(authenticity)을 확인하는데 사용될 수 있는 공개키(public key)를 또한 포함한다.
본 발명의 일 실시예에서, 각 디지털 서명은 관련 디지털 인증서(associated digital certificate)를 가진다. 디지털 인증서는 인증기관에 의해 발행되는데, 이 인증기관은 주어진 키를 갖는 디지털 인증서가 발행된 사람들의 신원을 보증한다.
공개키와 개인키가 데이터 오브젝트(112)에 사용 가능한 경우, 공개키는 신원 증명과 함께 인증기관으로 보내진다. 인증기관은 신원을 체크하고 나서, 인증기관의 공개키를 확인하는 인증서의 계층(hierarchy) 또는 인증서 체인(certificate chain)과 함께, 데이터 오브젝트(112) 제공자의 성명과 공개키 간의 결속을 증명하는 인증서를 인증서 요청자에 보내준다. 데이터 오브젝트(112)의 제공자는 제공자의 공개키의 합법성을 입증하기 위해 필요한 경우 언제든지 이 인증서 체인을 제출할 수 있다. 디지털 서명과 디지털 인증서에 관한 부가적인 정보는 RSA Data Security http://www/rsa.com 등에서 기술하고 있다.
데이터 오브젝트는 관리 정보(management information; 205)를 포함한다. 이 관리 정보(205)는 데이터 오브젝트(112) 제공자의 성명, 데이터 오브젝트의 명칭, 및/또는 데이터 오브젝트(112)의 제공자가 데이터 오브젝트(112)에 관하여 포함하기를 원하는 기타 정보를 포함할 수 있다.
또한, 데이터 오브젝트(112)는 하나 이상의 서브컴포넌트(206)를 포함한다. 이 서브컴포넌트는 데이터 오브젝트(112)의 내용을 포함한다. 각 서브컴포넌트(206)의 유형에 대한 설명은 도 3을 참조하여 아래에서 기술된다.
마지막으로, 데이터 오브젝트(112)는 엑스포트 리스트(export list; 210)를 포함한다. 이 엑스포트 리스트(210)는 피어 데이터 오브젝트(118) 및 애니메이팅 시스템(100)으로 엑스포트되는 절차를 규정한다. 피어 데이터 오브젝트(118)는 데이터 오브젝트(112)와 연관된 서브컴포넌트(206)에 접근하기 위하여 엑스포트된 루틴을 사용한다. 엑스포트 리스트(210)의 설명은 도 5를 참조하여 아래에서 기술된다.
도 4는 각 서브컴포넌트(206)(도 3)내의 구성요소들을 도시하는 블록 선도이다. 각 서브컴포넌트(206)는 네임 필드(302), 타입 필드(304), 데이터 필드(306) 및 서명 필드(308)를 포함한다. 네임 필드(name field; 302)에는 서브컴포넌트(206)를 식별하는 임의적인 문자 시퀀스가 담겨있다. 서브컴포넌트(206)의 타입 필드(304)는 서브컴포넌트(206)의 타입에 관한 기술을 포함한다.
본 발명의 일 실시예에서 각 서브컴포넌트(206)는 다음의 6가지 타입 중 하나에 해당하는 것으로 규정된다: 피어 와이어링(peer-wiring), 애니메이터 와이어링, 셀프 와이어링(self-wiring), 데이터, 상태, 및 코드. 각 서브컴포넌트(206)의 타입은 어느 타입의 정보가 데이터 필드(306)에 포함되는지를 결정한다. 설명의 편의를 위해, 각 타입의 서브컴포넌트(206)는 타입 필드(304)에서 규정되는 식별자로 아래와 같이 칭해진다. 예를 들면, 셀프 와이어링을 식별하는 타입 필드(304)를 갖는 서브컴포넌트는 셀프 와이어링 서브컴포넌트로 칭한다. 또 다른 예로써, 데이터를 지정하는 타입 필드(304)를 갖는 서브컴포넌트는 데이터 서브컴포넌트로 칭한다.
본 발명의 일 실시예에서, 피어 와이어링 서브컴포넌트, 애니메이터 와이어링 서브컴포넌트, 및 셀프 와이어링 컴포넌트는 각각 일련의 자바빈즈(JavaBeans)이다. JavaBeans에 관한 부가적인 정보는 선 마이크로시스템즈가 발표한 JavaBeans API Specification, Versions 1.01에서 찾을 수 있으며, 이는 인용에 의해 여기에 삽입되어 있다.
각 피어 와이어링 서브컴포넌트, 예컨대 데이터 오브젝트(112)내의 선택된 서브컴포넌트(206)는 데이터 오브젝트(112)내의 상태 서브컴포넌트와, 피어 데이터 오브젝트(118)(도 1)들 중 한 피어 데이터 오브젝트 내의 상태 서브컴포넌트 간의 연결관계를 설명한다.
각 애니메이터 와이어링 서브컴포넌트는 데이터 오브젝트(112)내의 상태 컴포넌트를 애니메이팅 시스템(100)(도 1)에 연결하는 방법에 대한 기술을 포함한다. 또한 도 3에 있어서, 셀프 와이어링 컴포넌트는 데이터 오브젝트(112)내의 2개의 상태 서브컴포넌트를 연결하는 방법에 대한 기술을 포함한다. 데이터 서브컴포넌트, 상태 서브컴포넌트 및 코드 서브컴포넌트는 일단 데이터 오브젝트(112)가 피어 데이터 오브젝트(118)(도 1)에 연결되면 데이터 오브젝트(112)의 함수를 규정하는데 사용된다.
본 발명의 일 실시예에서, 데이터 서브컴포넌트, 상태 서브컴포넌트 및 코드 서브컴포넌트는 자바 프로그래밍 언어를 사용하여 구현된다. 이 실시예에서, 각 상태 서브컴포넌트는 일련의 자바빈(JavaBean)이다. 또한, 각 코드 서브컴포넌트는 자바 클래스(Java class)이다. 그렇지만, 본 발명의 변형 실시예에서, 코드 컴포넌트는 비주얼 베이직 스크립트, 자바스크립트, 또는 동적 연결 라이브러리(dynamic linked library; DLL) 등과 같은 기타 유형의 코드를 또한 포함할 수 있다는 것이 주목된다.
마지막으로, 서명 필드(308)(도 3)는 서브컴포넌트(206)에 대한 하나 이상의 디지털 서명을 규정한다. 서명 필드(308)내의 디지털 서명 각각은 서명 리스트(204)(도 3)에 제공된 고유의 식별자와 유사한 각 서브컴포넌트에 대한 고유의 식별자이다.
도 5는 엑스포트 리스트(210)의 절차를 도시하는 블록 선도이다. 엑스포트 리스트(210)는 데이터 오브젝트(112)에 의해 엑스포트되는 절차의 리스트를 규정한다. 엑스포트 리스트(210)는 애니메이팅 시스템(100)(도 1)에 서명 리스트(204)(도 3)를 제공하는 셀-서명-취득 절차(400)를 포함한다. 애니메이팅 시스템(100)(도 1)은 서명 리스트(204)를 사용하여 디지털 오브젝트(112)의 서명자의 동일성을 결정한다.
또한, 엑스포트 리스트(210)는 데이터-오브젝트-ID-취득 절차(402)를 포함한다. 신청하면 바로, 데이터-오브젝트-ID-취득 절차(402)는 애니메이팅 시스템(100) 또는 피어 데이터 오브젝트(118)와 같은 요청자에게 디지털 오브젝트 식별자(200)(도 3)를 제공한다. 도 1 및 도 3에 있어서, 애니메이팅 시스템(100)은 오브젝트 식별자(200)를 사용하여 데이터 오브젝트(112)가 피어 데이터 오브젝트(118)와의 연결이 허용되어야 하는지 여부를 결정할 수 있다.
또한, 도 5에 도시된 바와 같이, 엑스포트 리스트(210)는 엔트리-리스트-취득 절차(404)를 포함한다. 엔트리-리스트-취득 절차(404)는 각 서브컴포넌트(206)(도 3)내의 네임 필드(302)(도 4)에서 식별되는 네임 리스트를 애니메이팅 시스템(100)(도 1)에 제공한다.
또한, 엑스포트 리스트(210)는 서명-인증서-취득 절차(406)를 포함한다. 서명-인증서-취득 절차(406)를 사용하여, 애니메이팅 시스템(100)을 통한 임의의 피어 데이터 오브젝트(118)는 데이터 오브젝트(112)(도 12)내에 있는 하나 이상의 디지털 서명과 연관된 디지털 인증서를 얻을 수 있다.
또한, 엑스포트 리스트(210)는 엔트리-이름-취득 절차(408)를 포함한다. 엔트리-이름-취득 절차(408)는 서브컴포넌트(206)(도 3)들 중 선택된 한 서브컴포넌트에 대한 핸들(handle)을 요청자에게 제공한다. 요청자가 서브컴포넌트(206)들 중 한 서브컴포넌트에 대한 핸들을 요청할 수 있기 전에, 선택된 서브컴포넌트는 애니메이팅 시스템(100)에 의해 요청자에게 와이어링(wiring)되어야 한다는 것이 주목된다.
엑스포트 리스트(210)는 또한 피어-리스트-취득 절차(412)를 포함한다. 피어-리스트-취득 절차(412)는 피어 리스트(202)(도 3)를 애니메이팅 시스템(100)(도 1)에 제공한다. 애니메이팅 시스템(100)은 피어 리스트(202)를 사용하여 데이터 오브젝트(112)에 의해 요구될 수 있는 각 피어 데이터 오브젝트(118)가 클라이언트 컴퓨터(102)내에 포함되어 있는지 여부를 결정한다.
또한, 엑스포트 리스트(210)는 또한 인증자-취득 절차(414)를 규정한다. 인증자-취득 절차(414)는 데이터 오브젝트(112)가 피어 데이터 오브젝트(118)(도 1)에 연결되도록 하는 조건을 제공하는데 사용될 수 있는 인증 시스템(도시되지 않음)의 이름을 제공한다. 본 발명의 일 실시예에서, 인증 시스템은 데이터 오브젝트(112)내의 서브컴포넌트 중 하나이다. 본 발명의 또 다른 실시예에서, 인증 시스템은 애니메이팅 시스템(100)내의 컴포넌트이다. 본 발명의 또 다른 실시예에서, 인증 시스템은 피어 데이터 오브젝트(118)들 중 하나에 포함되어 있다.
인증 시스템이 피어 데이터 오브젝트(118)들 중 하나와 같은 타깃 데이터 오브젝트에 데이터 오브젝트(112)가 연결되는 것을 허용하기 전에, 이 인증 시스템은 데이터 오브젝트(112)에 관한 복수개의 임의로 규정된 조건을 조사한다. 본 발명의 일 실시예에서 인증 시스템은 서명 리스트(204)내의 서명 및 서브컴포넌트(206)내의 각 서명 필드(308)를 조사하여 타깃 데이터 오브젝트의 동일성을 확인한다. 일단 피어 데이터 오브젝트(118)들 중 한 피어 데이터 오브젝트와 같은 요청자의 동일성이 확인되면, 인증 시스템은 요청자가 데이터 오브젝트(112)와의 연결이 허용되어야 하는지 여부를 결정한다.
마지막으로, 엑스포트 리스트(210)는 오브젝트-활성화 절차(418)를 포함한다. 이 오브젝트-활성화 절차(418)는 애니메이팅 시스템(100)(도 1)에 의해 사용되어, 애니메이팅 시스템(100)이 데이터 오브젝트(112)를 피어 데이터 오브젝트(118)에 연결한 후, 데이터 오브젝트(112)를 활성화한다.
도 6은 와이어링 데이터 필드내의 구성요소들을 도시하는 블록 선도이다. 이 와이어링 데이터 필드는 피어 와이어링 서브컴포넌트, 애니메이터 와이어링 서브컴포넌트 및 셀프 와이어링 서브컴포넌트에 대한 데이터 필드(306)(도 4)의 내용을 기술한다. 와이어링 서브컴포넌트와 연관된 데이터 필드(306)(도 4) 각각은 상태 서브컴포넌트들 중 2개를 상호 연결하는 방법을 기술한다. 데이터 필드는 리스너(listener; 500), 소스(502), 방법 부가(504), 방법 제거(506) 및 소스 지시자(508)를 규정한다.
리스너(500)에는 이벤트의 청취를 담당하는, 서브컴포넌트(206)들 중 하나를 식별하는 리스너 식별자가 들어있다. 리스너(502)에 대한 대응물로서, 소스(502)에는 이벤트의 전송을 담당하는, 서브컴포넌트(206)들 중 하나를 식별하는 소스 식별자가 들어있다.
방법 부가(504)는 소스 컴포넌트 상의 방법을 식별하여, 이벤트를 수신하는 리스너 컴포넌트를 개시한다. 방법 제거(504)는 리스너 서브컴포넌트가 이벤트의 청취를 중지하도록 호출될 수 있는 소스 컴포넌트 상의 방법을 식별한다. 소스 식별자는 리스너(500) 및 소스(502)에 의해 식별된 이벤트의 방향을 식별한다. 자바 실시예에서의 서브컴포넌트의 연결에 관한 부가적인 정보는 선 마이크로시스템즈가 발표한 JavaBeans API Specification, Version 1.01, pp. 54-58에서 찾을 수 있다.
도 7은 데이터 서브컴포넌트의 데이터 필드(306)에 포함될 수 있는 예시적인 내용의 데이터 아이템(510)을 도시하는 블록 선도이다. 데이터는 예로써 서적, 시, 기사, 은행 예금 정보, 계약, 멀티미디어 프리젠테이션, 또는 보안 환경에서 데이터 자료 제공자가 보호받기를 원한 어떠한 다른 유형의 데이터를 포함할 수 있다.
도 8은 코드 서브컴포넌트의 데이터 필드(306)(도 4)에 포함될 수 있는 코드의 예시적인 아이템(512)을 나타내는 블록 선도이다. 전형적으로 각각의 코드 서브컴포넌트는 사용자 정의된 집합적 데이터 타입을 포함한다. 예를 들면, 코드 서브컴포넌트에는 데이터 타입을 나타내는 데이터 멤버(data member)와 이 데이터 타입 상에서 동작을 구현하는 함수 멤버(function member) 모두가 담길 수 있다. 이 예에서는, 도 8에 도시된 바와 같이, 코드 서브컴포넌트에 자바 클래스가 들어있다.
각각의 상태 서브컴포넌트는 클래스 서브컴포넌트들 중 하나에 대한 인스턴스 정보(instance information)를 규정한다. 예를 들면, 도 8에 있어서, 도 8에 도시된 자바 클래스의 인스턴스는 변수 "계수(count)"의 상태에 관한 정보를 포함할 수 있다.
시스템 동작
도 9는 도 1에 도시된 데이터 오브젝트(112)를 생성하는 과정을 도시하는 흐름도이다. Java Beans, Active X, LiveConnect 및 OpenDoc, 또는 System Object Model(SOM), 또는 후에 개발될 수 있는 임의의 오브젝트 모델과 같은 임의의 공지된 오브젝트 모델을 사용하여 데이터 오브젝트(112)가 생성될 수 있다는 것이 주목된다. 본 발명의 일 실시예에서, 데이터 오브젝트(112)는 데이터 오브젝트 패키저(data object packager)(도시되지 않음)를 통해서 서버 컴퓨터(106) 상에서 생성된다. 이 실시예에서, 도 9에 도시된 각각의 상태는 데이터 오브젝트 패키저의 공용 방법에 해당한다. 데이터 오브젝트의 생성을 원하는 데이터 오브젝트 제공자는 데이터 오브젝트 패키저의 공용 방법 각각을 연속하여 호출함으로써, 데이터 오브젝트를 생성하도록 한다. 본 발명의 일 실시예에서, 데이터 오브젝트(112)가 애니메이팅 시스템(100)에 의해 생성된다는 것이 주목된다.
상태(604)에서 시작하여, 자료 제공자는 어떠한 유형의 정보를 다른 사람들에게 분배하기를 원한다. 예를 들면, 정보는 서적, 시, 기사, 은행 예금 정보, 계약, 멀티미디어 프리젠테이션, 비디오, 음악, 스트리밍 미디어와 같은 동적 자료에 대한 보편적인 자원 식별자, 또는 데이터 자료 제공자가 보안 환경에서 보호하고자 하는 기타 임의 유형의 데이터를 포함할 수 있다.
상태(604)에서, 데이터 오브젝트(112)를 고유하게 식별하는 디지털 오브젝트 식별자(200)는 데이터 오브젝트(112)에 부가된다. 본 발명의 일 실시예에서, 데이터 오브젝트 식별자는 애니메이팅 시스템(100)에 의해 제공된다. 본 발명의 또 다른 실시예에서, 데이터 오브젝트 식별자는 제 3 자로부터 취득된다.
상태(608)로 계속하여, 관리 정보(205)(도 3)는 데이터 오브젝트(112)(도 1)로 입력된다. 관리 정보(205)는 데이터 오브젝트(112)의 제공자의 성명, 데이터 오브젝트의 명칭, 및/또는 데이터 오브젝트(112)의 제공자가 데이터 오브젝트(112)에 관하여 포함하기를 원하는 기타 임의의 정보를 포함할 수 있다.
다음으로, 상태(612)에서, 서브컴포넌트(206)(도 3)는 데이터 오브젝트(112)에 부가된다. 서브컴포넌트는 다음을 포함한다: 애니메이터 와이어링 서브컴포넌트, 셀프 와이어링 서브컴포넌트, 피어 와이어링 서브컴포넌트, 데이터 서브컴포넌트 및 코드 서브컴포넌트. 이러한 서브컴포넌트 각각의 목적은 도 4를 참조하여 위에 설명되어 있다.
상태(614)로 이동하여, 피어 리스트(204)(도 3)를 집합적으로 포함하는 피어 리스트 구조는 데이터 오브젝트(112)(도 1)에 부가된다. 각각의 피어 리스트 구조는 피어 데이터 오브젝트(118)(도 1)들 중 선택된 하나의 명칭, 선택된 피어 데이터 오브젝트의 버전수, 및 선택된 피어 데이터 오브젝트를 클라이언트 컴퓨터(102)(도 1)에서 찾을 수 없는 경우에 선택된 피어 데이터 오브젝트를 찾을 수 있는 위치 식별자를 받는다.
상태(618)로 계속하여, 각각의 서브컴포넌트(206)(도 1)는 한 명 이상의 서명자에 의해 디지털 서명된다. 각 디지털 서명은 개인키를 사용하여 데이터 오브젝트의 결과적인 해시(hash)를 암호화하는 개인 서명 함수 및 해시 함수의 사용을 통해 생성될 수 있다.
다음으로 상태(622)에서, 데이터 오브젝트(112)는 한 명 이상의 서명자에 의해 디지털 서명된다. 데이터 오브젝트(112)는 상태(622)를 참조하여 위에서 설명된 바와 같은, 각 서브컴포넌트에 서명하는데 사용되는 동일한 과정에 의해 서명될 수 있다. 본 발명의 일 실시예에서, 캘리포니아주 산 마테오에 소재한 RSA Data Security에 의한 Certificate Security Suite가 서명 과정에 사용될 수 있다.
최종적으로, 상태(626)에서, 데이터 오브젝트(112)는 디스크와 같은 데이터 저장 장치에 저장된다. 본 발명의 일 실시예에서, 데이터 오브젝트(112)는 Java Serialization을 사용하여 시리얼화되고 JAR 파일로 저장된다. 본 발명의 또 다른 실시예에서, 데이터 오브젝트(112)는 ASCII 텍스트 파일로 저장된다.
도 10은 데이터 오브젝트(112)(도 1)를 피어 데이터 오브젝트(118)(도 1)와 통합하는 과정을 도시하는 흐름도이다. 상태(700)에서 시작하여, 클라이언트 컴퓨터(102)(도 1)는 데이터 오브젝트 제공자로부터 데이터 오브젝트(112)를 수신한다. 데이터 오브젝트 제공자는 데이터베이스(104), 서버 컴퓨터(110), 또는 도 1에 도시된 바와 같은 탈착식 저장 매체(110)일 수 있다.
본 발명의 일 실시예에서, 데이터 오브젝트(112)가 클라이언트 컴퓨터(102)에 의해 수신된 후, 클라이언트 컴퓨터(102)상의 운영 체제(도시되지 않음)에 의해 데이터 오브젝트(112)의 존재가 애니메이팅 시스템(100)(도 1)에 자동적으로 통지된다. 이 실시예에서, 운영 체제는 데이터 오브젝트(112)내의 관리 정보(205)(도 3)를 조사하여 데이터 오브젝트에 대한 핸들러(handler)를 결정하도록 구성된다. 또한, 이 실시예에서, 관리 정보(205)는 애니메이팅 시스템(100)을 그 핸들러로서 지정한다.
일단 데이터 오브젝트(112)가 클라이언트 컴퓨터(102)(도 1)에 의해 수신되면, 데이터 오브젝트(112)는 피어 데이터 오브젝트(118)에 의해 사용불가 상태가 된다는 것이 주목된다. 데이터 오브젝트(112)가 피어 데이터 오브젝트(118)와 연결될 수 있기 전에, 각 피어 데이터 오브젝트(118)의 동일성이 확인될 필요가 있다. 또한, 애니메이팅 시스템(100)은 피어 데이터 오브젝트(118)가 데이터 오브젝트(112)와 통신할 권한을 부여받는지 여부를 결정할 필요가 있다.
다음으로 상태(704)(도 10)에서, 애니메이팅 시스템(100)(도 1)은 데이터 오브젝트를 인증하여, 데이터 오브젝트(112)가 부적절하게 변경되지 않았거나 또는 그 밖의 방법으로 변형되었음을 보증한다. 애니메이팅 시스템(100)은 데이터 오브젝트(112)의 제공자로부터 입수될 수 있는 공개키를 사용하여 서명 리스트(204)(도 3)내의 각 서명을 조사한다. 또한, 애니메이팅 시스템(100)은 서명-인증서-취득 절차(406)(도 5)를 사용하여 데이터 오브젝트(112)와 연관된 하나 이상의 디지털 인증서를 분석할 수 있다.
상태(708)(도 10)로 이동하여, 애니메이팅 시스템(100)(도 1)은 피어-리스트-취득 절차(412)(도 5)를 사용하여 피어 리스트(202)(도 3)를 얻는다. 다음으로 상태(712)(도 1)에서, 애니메이팅 시스템(100)은 모든 요구되는 피어 데이터 오브젝트(118) - 여기서, 피어 데이터 오브젝트(118)는 피어 리스트(202)에 의해 식별되어 짐 - 가 클라이언트 컴퓨터(102)에 존재하는지 여부를 결정한다. 피어 데이터 오브젝트(118) 모두가 존재하는 것이 아닌 경우, 애니메이팅 시스템(100)은 상태(714)로 진행한다. 상태(714)에서, 애니메이팅 시스템(100)은 존재하지 않는 임의의 피어 데이터 오브젝트(118)를 검색한다. 위에서 논의된 바와 같이, 피어 리스트(202)내의 피어 리스트 구조 각각은 존재하지 않는 피어 데이터 오브젝트(118) 각각을 찾을 수 있는 곳을 식별하는 위치 식별자를 포함한다. 예를 들면, 위치 식별자는 데이터베이스(104)(도 1), 서버 컴퓨터(106)(도 1), 탈착식 저장 매체(110)(도 1), 또는 기타 어떠한 데이터 오브젝트의 저장소를 참조할 수 있다.
애니메이팅 시스템(100)(도 1)이 존재하지 않는 임의의 데이터 오브젝트(118)를 검색할 수 없는 경우, 애니메이팅 시스템(100)은 중지하여 데이터 오브젝트(112)(도 1)의 사용에 관한 어떠한 부가적 조처도 허용하지 않는다. 그렇지만, 애니메이팅 시스템(100)이 존재하지 않는 데이터 오브젝트를 검색할 수 있는 경우, 애니메이팅 시스템(100)은 상태(716)로 진행한다.
결정 상태(712) 또는 상태(714) 중 어는 하나로부터, 애니메이팅 시스템(100)(도 1)은 상태(716)로 진행한다. 상태(716)에서, 애니메이팅 시스템(100)은 각각의 피어 데이터 오브젝트(118)(도 1)를 애니메이팅한다. 피어 데이터 오브젝트(118)를 애니메이팅하기 위해, 애니메이팅 시스템(100)은 각각의 피어 데이터 오브젝트(118)와 관련하여 각 상태(700-730)(도 10)를 이행한다. 각각의 피어 데이터 오브젝트(118) 상에서 애니메이팅 과정을 실행함으로써, 애니메이팅 시스템(100)은 피어 데이터 오브젝트(118)가 부적절하게 변경되지 않았거나 또는 그 밖의 방법으로 변형되었음을 보증한다.
다음으로 상태(720)(도 10)에서, 애니메이팅 시스템(100)(도 1)은 자체에 데이터 오브젝트(112)를 와이어링한다. 상태(720)에서, 애니메이팅 시스템(100)은 데이터 오브젝트(112)의 선택된 서브컴포넌트(206)를 애니메이팅 시스템(100)에 연결한다. 본 발명의 일 실시예에서, 애니메이팅 시스템(100)은 데이터 오브젝트(112)와 통신하기 위해 데이터 오브젝트(112)와 포맷이 유사한 연결 데이터 오브젝트(도시되지 않음)를 포함한다.
상태(720)에서, 애니메이팅 시스템(100)은 도 6에 도시된 바와 같은 각 서브컴포넌트(206)의 와이어링 데이터 필드(306), 즉 리스너 필드(500), 소스 필드(502), 방법 부가 필드(504), 방법 제거 필드(506) 및 소스 지시자 필드(508)에서 데이터를 판독하여 데이터 오브젝트(112)에 대한 적절한 연결을 결정한다. 서브컴포넌트의 연결에 관한 부가적인 정보는 선 마이크로시스템즈가 발표한 JavaBeans API Specification, Version 1.01, pp. 54-58에서 찾을 수 있다.
애니메이팅 와이어링 과정의 일부로서, 애니메이팅 시스템(100)(도 1)은 데이터 오브젝트(112)에 대한 인증 시스템(도시되지 않음)을 검색하기 위해, 데이터 오브젝트(112)와 연관된 인증자-취득 절차(414)(도 5)를 호출한다. 위에서 논의된 바와 같이, 인증 시스템은 데이터 오브젝트(112), 애니메이팅 시스템(100), 또는 피어 데이터 오브젝트 중 하나를 포함하는 하나 이상의 장소에 상주할 수 있다. 이 인증 시스템은 애니메이팅 시스템(100)에 대해 소정 연결이 이루어져야 하는지 여부를 확인한다.
다음으로 상태(722)에서, 애니메이팅 시스템(100)(도 1)은 데이터 오브젝트내의 서브컴포넌트(206)를 상호 연결한다. 애니메이터 와이어링 과정과 유사하게, 셀프 와이어링 과정에서 애니메이팅 시스템(100)은 각각의 셀프 와이어링 서브컴포넌트에서 데이터 와이어링 필드를 조사하여 데이터 오브젝트(112)가 구성되는 방법을 결정한다. 피어 와이어링 서브컴포넌트의 동일성을 확인하면 바로, 애니메이팅 시스템(100)은 피어 와이어링 컴포넌트의 내용을 검사하여 알맞은 연결을 결정한다.
애니메이터 와이어링 과정과 마찬가지로 셀프 와이어링 과정에서, 애니메이팅 시스템(100)(도 1)은 인증 시스템에 문의하여 연결이 이행되어야 하는지 여부를 결정한다. 예를 들면, 데이터 오브젝트(112)에는 제 1 서브컴포넌트가 제 2 서브컴포넌트에 연결됨을 나타내는 셀프 와이어링 서브컴포넌트가 담길 수 있다. 그렇지만, 인증 시스템은 데이터 오브젝트의 제공자가 인증 시스템에 의해 유지되는 가상 계정(virtual account)에 유지된 펀드를 가지고 있는 경우에 한해 연결을 허용할 수 있을 뿐이다.
다음으로 상태(726)에서, 애니메이팅 시스템(100)(도 1)은 피어 와이어링을 이행한다. 애니메이팅 시스템(100)은 서브컴포넌트(206)를 조사하여 피어 와이어링 서브컴포넌트를 찾는다. 피어 와이어링 과정에서, 애니메이팅 시스템(100)은 와이어링 데이터 필드내의 정보를 사용하여 와이어링 서브컴포넌트에 의해 식별되는 서브컴포넌트(206)들을 연결한다.
피어 와이어링 과정에서, 애니메이팅 시스템(100)(도 1)은 데이터 오브젝트(112)가 피어 데이터 오브젝트(118)와 통신할 권한을 받는지를 결정한다. 유리하게도, 피어 데이터 오브젝트(118) 및 데이터 오브젝트(112) 각각은 인증 시스템을 통해서 이들 사용에 관한 여러 가지 제약을 규정할 수 있다. 위에서 논의된 바와 같이, 각 데이터 오브젝트는 데이터 오브젝트에 대한 인증 시스템을 식별하는 인증자-취득 절차(414)(도 5)를 포함한다. 인증 시스템은 데이터 오브젝트에 관한 사용 조건을 규정한다.
예를 들면, 데이터 오브젝트(112) 내의 관리 정보(205)(도 3)에 따라 데이터 오브젝트(112)(도 1)가 어린이용 만화 애니메이션인 것으로 가정한다. 그렇지만 사실상 데이터 오브젝트(112)는 이것이 다른 것들로부터 개인 정보를 탐색하도록 변형되고 부적절하게 수정되었다. 이 예에서, 데이터 오브젝트(112)가 변경되었기 때문에, 애니메이팅 시스템(100)은 데이터 오브젝트(112)의 서명 리스트(204)(도 3)에서 서명을 확인할 수 없다. 또한 이 예에서 피어 데이터 오브젝트(118)는 개인 금융 프로그램(도시되지 않음)을 규정한다. 데이터 오브젝트(112)가 개인 금융 프로그램에 접근하려고 시도하면, 애니메이팅 시스템(100)(도 1)은 데이터 오브젝트(112)가 피어 데이터 오브젝트(118)에 접근할 권한을 받아야 하는지 여부를 결정하기 위하여 피어 데이터 오브젝트(118)와 대조한다. 이 경우에 피어 데이터 오브젝트(118)의 인증 시스템은 요청을 거절한다.
따라서 데이터 오브젝트(112)(도 1)가 피어 데이터 오브젝트(118)에 접근할 권한을 받지 않음을 애니메이팅 시스템(100)(도 1)이 결정하는 경우, 애니메이팅 시스템(100)은 데이터 오브젝트(112)에 관련한 부가적인 조처를 중지할지 또는 계속할지 여부를 결정한다. 또한 상태(726)에 있어서, 애니메이팅 시스템(100)이 권한이 허용됨을 결정하면, 애니메이팅 시스템(100)은 각각의 피어 데이터 오브젝트(118)가 이들의 관련 인증 시스템에 접근하도록, 하여 피어 데이터 오브젝트(118)가 데이터 오브젝트(112)에 접근할 권한을 받는지 여부를 결정한다.
예를 들면, 데이터 오브젝트(112)가 ACME 사("ACME")에 의해 만들어졌다고 가정한다. 이 예에서 데이터 오브젝트(112)는 서브컴포넌트(206)들 중 하나에 ACME 사의 정책을 기술하는 문서를 포함한다. 또한 이 예에서 피어 데이터 오브젝트(118)는 워드프로세싱 시스템을 규정하며, 피어 데이터 오브젝트(118)들 중 하나는 문서 편집을 담당하고, 피어 데이터 오브젝트(118)들의 다른 하나는 문서 보기를 담당한다. 데이터 오브젝트(112) 내의 서브컴포넌트(206)(도 3)들 중 하나는 시스템 관리자만이 데이터 오브젝트(112)를 편집할 권한을 받음을 나타낼 수 있다. 데이터 오브젝트(112)가 피고용자에게 배포되는 경우, ACME는 데이터 오브젝트(112)가 편집을 담당하는 피어 데이터 오브젝트와 연결될 권한을 받지 않도록 데이터 오브젝트(112)를 설정할 수 있다. 이 예에서 데이터 오브젝트(112)는 보기 데이터 오브젝트와 통신할 권한을 받도록 설정될 뿐이다.
최종적으로, 상태(730)에서 애니메이팅 시스템(100)(도 1)은 데이터 오브젝트(112)와 연관된 오브젝트-활성화 절차(418)(도 5)를 호출함으로써 데이터 오브젝트(112)를 초기화한다.
본 발명의 애니메이팅 시스템(100)(도 1)은 보안 환경에서의 데이터 컴포넌트의 동적 연결을 가능하게 한다. 애니메이팅 시스템(100)은 데이터 오브젝트(112)가 피어 데이터 오브젝트(118)들 중 하나에 연결되기 전에 피어 데이터 오브젝트가 부적절하게 변경되지 않았음을 보장한다. 또한 본 발명의 애니메이팅 시스템(100)은 상호 보안책(two-way security scheme)을 포함하는데, 여기서 데이터 오브젝트는 피어 데이터 오브젝트의 동일성에 근거하여 피어 데이터 오브젝트가 데이터 오브젝트와 통신할 권한을 부여한다. 거꾸로 말하면, 각각의 피어 데이터 오브젝트는 데이터 오브젝트의 내용을 확인한다. 각각의 피어 데이터 오브젝트는 데이터 오브젝트의 동일성에 따라서 데이터 오브젝트가 자신들과 통신하도록 허용할지 여부를 결정한다.
본 발명의 데이터 오브젝트는 여러 유형의 전자상거래 관리 솔루션을 규정하는데 유리하게 사용될 수 있다. 예를 들면, 본 발명을 사용하여 피어 데이터 오브젝트들 중 하나는 "관리된" 데이터 오브젝트에 대한 계약 관리자로서 작용할 수 있다. 관리된 데이터 오브젝트를 사용하여 어떠한 행위가 이행되기 전에, 계약 관리자는 사용자에 의한 요금의 지불을 요구할 수 있다. 선택적으로, 계약 관리자는 관리된 데이터 오브젝트의 사용 조건을 규정하는 "계약" 데이터 오브젝트를 제공할 수 있다. 계약 데이터 오브젝트에는 또 하나의 데이터 오브젝트가 관리된 데이터 오브젝트로부터 어떠한 조처를 요구할 때마다 청구되는 가상 화폐가 포함될 수 있다. 또한, 계약 오브젝트는 특정 시간 또는 특정 사용수로 관리된 데이터 오브젝트에의 접근을 규정하는 것과 같이, 관리된 데이터 오브젝트의 사용에 관한 가변적 제한을 둘 수 있다. 이 가변적 제한은 다른 데이터 오브젝트에 의해 선택될 수 있는 하나 이상의 지불 계획에 좌우될 수 있다.
또한 예를 들면, 본 발명의 데이터 오브젝트는 구매자 데이터 오브젝트(buy data object)를 규정하는데 유리하게 사용될 수 있다. 이 구매자 데이터 오브젝트는 어떠한 가상 화폐와 함께 인터넷 상에서 배포되어, 특정 상품의 가장 값싼 판매자를 찾도록 구성될 수 있다. 이 예에서 구매자 데이터 오브젝트는 데이터 오브젝트가 유효한 가상 화폐를 가진다는 것을 승인하는 은행에 의해 디지털 서명될 수 있다.
또한 예를 들면, 하나 이상의 판매자 데이터 오브젝트(seller data object)가 특정 상품을 판매하는데 제공될 수 있다. 본 발명의 일 실시예에서 구매자 데이터 오브젝트가 판매자 데이터 오브젝트와 마주치는 경우, 구매자 데이터 오브젝트는 제공자에게 구매자 데이터 오브젝트를 통지하려는 시도를 할 수 있다. 본 발명의 또 다른 실시예에서, 구매자 데이터 오브젝트는 판매자 데이터 오브젝트와 협상하도록 구성될 수 있다. 유리하게, 서명과 인증서의 사용을 통해서, 구매자 데이터 오브젝트는 판매자 데이터 오브젝트의 동일성을 확인하고, 판매자가 실제로 해당 상품을 판매하고 있음을 확증할 수 있다. 또한 판매자 중개인은 구매자 데이터 오브젝트가 판매자의 상품을 구매하기 위한 유효한 가상 화폐를 실제로 가지고 있음을 결정할 수 있다.
전기한 예들은 단지 몇 개의 본 발명의 용도일 뿐이다. 본 발명의 애니메이팅 시스템은 새로운 전자상거래 솔루션에 관한 신규하고 무제한적인 가능성을 제공한다.
상기의 상세한 설명이 다양한 실시예에 적용되는 본 발명의 신규한 특징을 도시, 설명 및 지적하고 있지만, 도시된 장치 및 프로세스의 형태 및 상세에서 여러 생략, 대체 및 변경이 본 발명의 사상에서 벗어나지 않고서 당업자에 의해 이루어질 수 있다는 것을 이해해야 한다. 본 발명의 범위는 전기한 설명에 의해서보다는 오히려 첨부된 청구항에 의해 정해진다. 청구항과 균등한 의미와 범위 내에서 일어나는 모든 변경들은 청구항의 범위에 포함된다.

Claims (32)

  1. 하나 이상의 피어 데이터 오브젝트를 갖는 컴퓨터에서의 데이터의 사용을 제어하는 방법으로서,
    상기 하나 이상의 피어 데이터 오브젝트의 기술(description)을 포함하는 데이터 오브젝트를 제공하는 과정과,
    상기 피어 데이터 오브젝트가 상기 데이터 오브젝트와 통신할 권한을 부여받는지 여부를 결정하는 과정과,
    상기 데이터 오브젝트가 상기 피어 데이터 오브젝트와 통신할 권한을 부여받는지 여부를 결정하는 과정과,
    상기 데이터 오브젝트가 상기 피어 데이터 오브젝트와 통신하고, 상기 피어 데이터 오브젝트가 상기 데이터 오브젝트와 통신할 수 있도록 부여되는 권한에 기초하여 상기 데이터 오브젝트를 상기 피어 데이터 오브젝트에 연결하는 과정
    을 포함하는 데이터 사용의 제어 방법.
  2. 제 1항에 있어서, 상기 데이터 오브젝트의 동일성을 인증하는 과정을 더 포함하는 데이터 사용의 제어 방법.
  3. 제 1항에 있어서, 상기 피어 데이터 오브젝트 각각의 동일성을 인증하는 과정을 더 포함하는 데이터 사용의 제어 방법.
  4. 제 1항에 있어서,
    상기 피어 데이터 오브젝트의 존재를 결정하는 과정과,
    컴퓨터에 존재하지 않는 임의의 피어 데이터 오브젝트를 검색하는 과정
    을 더 포함하는 데이터 사용의 제어 방법.
  5. 제 1항에 있어서, 상기 데이터 오브젝트는 상기 피어 데이터 오브젝트와 관련하여 상기 데이터 오브젝트의 사용을 규정하는 하나 이상의 서브컴포넌트를 포함하는 데이터 사용의 제어 방법.
  6. 제 1항에 있어서, 상기 피어 데이터 오브젝트는 소프트웨어 애플리케이션을 집합적으로 한정하는 데이터 사용의 제어 방법.
  7. 제 1항에 있어서, 상기 소프트웨어 애플리케이션은 인터넷 브라우저인 데이터 사용의 제어 방법.
  8. 제 7항에 있어서, 상기 소프트웨어 애플리케이션은 온라인 가상 상점인 데이터 사용의 제어 방법.
  9. 제 1항에 있어서, 상기 피어 데이터 오브젝트들 중 하나는 하드웨어 장치인 데이터 사용의 제어 방법.
  10. 제 1항에 있어서, 상기 데이터 오브젝트는 암호화되는 데이터 사용의 제어 방법.
  11. 제 1항에 있어서, 상기 피어 데이터 오브젝트가 데이터 오브젝트와 통신할 권한을 부여받는지 여부를 결정하는 과정은 상기 피어 데이터 오브젝트 각각의 적어도 하나의 디지털 서명을 확인하는 과정을 포함하는 데이터 사용의 제어 방법.
  12. 제 1항에 있어서, 상기 데이터 오브젝트가 상기 피어 데이터 오브젝트와 통신할 권한을 부여받는지 여부를 결정하는 과정은 상기 데이터 오브젝트 내의 적어도 하나의 디지털 서명을 확인하는 과정을 포함하는 데이터 사용의 제어 방법.
  13. 제 1항에 있어서, 상기 데이터 오브젝트는 적어도 하나의 서브컴포넌트를 가지며, 이 서브컴포넌트는 연관된 디지털 서명을 가지며, 상기 데이터 오브젝트가 상기 피어 데이터 오브젝트와 통신할 권한을 부여받는지 여부를 결정하는 과정은 각 서브컴포넌트와 연관된 디지털 서명을 확인하는 과정을 포함하는 데이터 사용의 제어 방법.
  14. 제 13항에 있어서, 상기 서브컴포넌트는 데이터를 포함하며, 상기 디지털 서명은 이 디지털 서명의 서명자의 개인키를 사용하여, 상기 서브컴포넌트 내의 데이터의 내용을 디지털 암호화한 해시(hash)인 데이터 사용의 제어 방법.
  15. 제 1항에 있어서, 상기 데이터 오브젝트의 무결성을 확인하는 과정을 더 포함하는 데이터 사용의 제어 방법.
  16. 제 1항에 있어서, 상기 피어 데이터 오브젝트 각각은 데이터 오브젝트인 데이터 사용의 제어 방법.
  17. 데이터 오브젝트의 사용을 제어하는 시스템에 있어서,
    소프트웨어 애플리케이션을 집합적으로 규정하는 하나 이상의 피어 데이터 오브젝트와,
    상기 데이터 오브젝트의 사용에 요구되는 하나 이상의 피어 데이터 오브젝트에 대한 기술을 데이터 오브젝트로부터 판독할 수 있는 파서(parser)와,
    상기 데이터 오브젝트가 하나 이상의 피어 데이터 오브젝트와 통신할 권한을 부여받는지 여부를 결정할 수 있는 유효 데이터 오브젝트 모듈과,
    상기 피어 데이터 오브젝트가 상기 데이터 오브젝트와 통신하도록 인증되는지의 여부를 결정할 수 있는 유효 피어 모듈과,
    상기 피어 데이터 오브젝트를 상기 데이터 오브젝트에 연결하는 것을 제어할 수 있는 와이어링 모듈
    을 포함하는 데이터 오브젝트의 사용 제어 시스템.
  18. 제 17항에 있어서, 상기 데이터 오브젝트의 무결성을 확인할 수 있는 유효성 검사 모듈을 더 포함하는 데이터 오브젝트의 사용 제어 시스템.
  19. 제 17항에 있어서, 상기 피어 데이터 오브젝트의 무결성을 확인할 수 있는 유효성 검사 모듈을 더 포함하는 데이터 오브젝트의 사용 제어 시스템.
  20. 하나 이상의 다른 데이터 오브젝트에 동적으로 와이어링되도록 구성된 데이터 오브젝트로서,
    상기 데이터 오브젝트에 접근할 수 있기 전에 상기 데이터 오브젝트에 연결되기 위해 요구되는 하나 이상의 피어 데이터 오브젝트에 대한 기술과,
    상기 데이터 오브젝트의 제공자를 식별하는 적어도 하나의 디지털 서명
    을 포함하는 데이터 오브젝트.
  21. 제 20항에 있어서, 인증 시스템을 식별하는 인증 식별자를 더 포함하는 데이터 오브젝트로서, 상기 인증 시스템은 상기 데이터 오브젝트에 관한 하나 이상의 사용 조건을 포함하는 데이터 오브젝트.
  22. 제 20항에 있어서, 상기 디지털 서명은 은행에 의해 서명되었으며, 상기 데이터 오브젝트는 가상 통화를 포함하는 데이터 오브젝트.
  23. 하나 이상의 피어 데이터 오브젝트를 갖는 컴퓨터에서의 데이터의 사용을 제어하는 시스템으로서,
    상기 하나 이상의 피어 데이터 오브젝트에 대한 기술을 포함하고, 상기 피어 데이터 오브젝트에 의해 사용 불가능한 상태로 구성되는 데이터 오브젝트를 판독하는 수단과,
    상기 피어 데이터 오브젝트가 상기 데이터 오브젝트와 통신할 권한을 받는지 여부를 결정하는 수단과,
    상기 데이터 오브젝트가 상기 피어 데이터 오브젝트와 통신할 권한을 받는지 여부를 결정하는 수단과,
    상기 데이터 오브젝트를 상기 피어 데이터 오브젝트에 의해 사용될 수 있는 상태로 변환하는 수단과,
    상기 데이터 오브젝트가 상기 피어 데이터 오브젝트와 통신하고, 상기 피어 데이터 오브젝트가 상기 데이터 오브젝트와 통신할 수 있도록 상기 데이터 오브젝트를 상기 피어 데이터 오브젝트에 연결하는 수단
    을 포함하는 데이터 사용 제어 시스템.
  24. 제 23항에 있어서, 상기 데이터 오브젝트의 동일성을 인증하는 수단을 더 포함하는 데이터 사용 제어 시스템.
  25. 제 23항에 있어서, 상기 피어 데이터 오브젝트 각각의 동일성을 인증하는 수단을 더 포함하는 데이터 사용 제어 시스템.
  26. 제 23항에 있어서,
    상기 피어 데이터 오브젝트의 존재를 결정하는 수단과,
    컴퓨터에 존재하지 않는 임의의 피어 데이터 오브젝트를 검색하는 수단
    을 더 포함하는 데이터 사용 제어 시스템.
  27. 제 23항에 있어서, 상기 데이터 오브젝트는 하나 이상의 서브컴포넌트를 포함하는 데이터 사용 제어 시스템.
  28. 제 23항에 있어서, 상기 피어 데이터 오브젝트는 모두 소프트웨어 애플리케이션을 규정하는 데이터 사용 제어 시스템.
  29. 제 28항에 있어서, 상기 소프트웨어 애플리케이션은 인터넷 브라우저인 데이터 사용 제어 시스템.
  30. 제 28항에 있어서, 상기 소프트웨어 애플리케이션은 온라인 가상 상점인 데이터 사용 제어 시스템.
  31. 제 23항에 있어서, 상기 피어 데이터 오브젝트들 중 하나는 하드웨어 장치인 데이터 사용 제어 시스템.
  32. 제 23항에 있어서, 상기 데이터 오브젝트는 암호화되는 데이터 사용 제어 시스템.
KR1020007007722A 1998-01-16 1999-01-15 피어 컴포넌트를 인증하는 시스템 및 방법 KR100539987B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US7173798P 1998-01-16 1998-01-16
US60/071,737 1998-01-16
PCT/US1999/000968 WO1999036854A1 (en) 1998-01-16 1999-01-15 System and method for authenticating peer components

Publications (2)

Publication Number Publication Date
KR20010024853A true KR20010024853A (ko) 2001-03-26
KR100539987B1 KR100539987B1 (ko) 2006-01-10

Family

ID=22103256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007007722A KR100539987B1 (ko) 1998-01-16 1999-01-15 피어 컴포넌트를 인증하는 시스템 및 방법

Country Status (15)

Country Link
US (1) US6510516B1 (ko)
EP (1) EP1047992B1 (ko)
JP (1) JP2002509313A (ko)
KR (1) KR100539987B1 (ko)
CN (1) CN1153140C (ko)
AT (1) ATE216095T1 (ko)
AU (1) AU765747B2 (ko)
CA (1) CA2315212C (ko)
DE (1) DE69901231T2 (ko)
DK (1) DK1047992T3 (ko)
ES (1) ES2175936T3 (ko)
MX (1) MX214637B (ko)
PT (1) PT1047992E (ko)
RU (1) RU2000115287A (ko)
WO (1) WO1999036854A1 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820202B1 (en) * 1998-11-09 2004-11-16 First Data Corporation Account authority digital signature (AADS) system
US7047416B2 (en) * 1998-11-09 2006-05-16 First Data Corporation Account-based digital signature (ABDS) system
US6754886B1 (en) * 1998-11-30 2004-06-22 International Business Machines Corporation Method and system for storing java objects in devices having a reduced support of high-level programming concepts
US6802006B1 (en) * 1999-01-15 2004-10-05 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
US6944776B1 (en) 1999-04-12 2005-09-13 Microsoft Corporation System and method for data rights management
US7650504B2 (en) * 1999-07-22 2010-01-19 Macrovision Corporation System and method of verifying the authenticity of dynamically connectable executable images
US7117371B1 (en) 2000-06-28 2006-10-03 Microsoft Corporation Shared names
US7124408B1 (en) * 2000-06-28 2006-10-17 Microsoft Corporation Binding by hash
US6978369B2 (en) * 2000-08-04 2005-12-20 First Data Corporation Person-centric account-based digital signature system
US6983368B2 (en) * 2000-08-04 2006-01-03 First Data Corporation Linking public key of device to information during manufacture
US6789189B2 (en) * 2000-08-04 2004-09-07 First Data Corporation Managing account database in ABDS system
EP1320956A4 (en) 2000-08-04 2006-06-21 First Data Corp DIGITAL SIGNATURE SYSTEM WITH CERTIFICATION OF AUTHENTITICITY
US7096354B2 (en) * 2000-08-04 2006-08-22 First Data Corporation Central key authority database in an ABDS system
US7082533B2 (en) * 2000-08-04 2006-07-25 First Data Corporation Gauging risk in electronic communications regarding accounts in ABDS system
US7010691B2 (en) * 2000-08-04 2006-03-07 First Data Corporation ABDS system utilizing security information in authenticating entity access
US7509492B2 (en) * 2001-03-27 2009-03-24 Microsoft Corporation Distributed scalable cryptographic access control
GB2409919B (en) 2001-07-06 2005-11-23 Livedevices Ltd Improvements relating to internet-connected devices
WO2003005671A2 (en) * 2001-07-06 2003-01-16 Livedevices Limited Improvements relating to internet-connected devices
US7444522B1 (en) * 2002-09-18 2008-10-28 Open Invention Network, Llc Dynamic negotiation of security arrangements between web services
US7188359B2 (en) 2002-12-18 2007-03-06 America Online, Inc. Optimizing authentication service availability and responsiveness via client-side routing
US7693867B2 (en) * 2003-05-14 2010-04-06 Pixar Model referencing method and apparatus
US7831519B2 (en) * 2003-12-17 2010-11-09 First Data Corporation Methods and systems for electromagnetic initiation of secure transactions
US8043219B2 (en) * 2004-09-17 2011-10-25 Siemens Medical Solutions Usa, Inc. Automated power level for contrast agent imaging
US20060156013A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature software using ephemeral private key and system
US7936869B2 (en) * 2005-01-07 2011-05-03 First Data Corporation Verifying digital signature based on shared knowledge
US20060153364A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Asymmetric key cryptosystem based on shared knowledge
US7593527B2 (en) * 2005-01-07 2009-09-22 First Data Corporation Providing digital signature and public key based on shared knowledge
KR20060081337A (ko) 2005-01-07 2006-07-12 엘지전자 주식회사 비밀키를 이용한 암호화 및 복호화 방법
US20060153370A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Generating public-private key pair based on user input data
US20060153369A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Providing cryptographic key based on user input data
US7693277B2 (en) * 2005-01-07 2010-04-06 First Data Corporation Generating digital signatures using ephemeral cryptographic key
US7490239B2 (en) * 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
US20060153367A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature system based on shared knowledge
US7869593B2 (en) * 2005-01-07 2011-01-11 First Data Corporation Software for providing based on shared knowledge public keys having same private key
US8214634B1 (en) * 2006-02-21 2012-07-03 Adobe Systems Incorporated Establishing trust via aggregate peer ranking
US8818904B2 (en) 2007-01-17 2014-08-26 The Western Union Company Generation systems and methods for transaction identifiers having biometric keys associated therewith
US7933835B2 (en) 2007-01-17 2011-04-26 The Western Union Company Secure money transfer systems and methods using biometric keys associated therewith
US8504473B2 (en) 2007-03-28 2013-08-06 The Western Union Company Money transfer system and messaging system
US9009309B2 (en) * 2007-07-11 2015-04-14 Verizon Patent And Licensing Inc. Token-based crediting of network usage
US9177313B1 (en) 2007-10-18 2015-11-03 Jpmorgan Chase Bank, N.A. System and method for issuing, circulating and trading financial instruments with smart features
KR100961442B1 (ko) * 2007-11-14 2010-06-09 한국전자통신연구원 멀티그룹 멀티캐스팅 서비스를 위한 키 그래프 구성 방법및 그를 이용한 키 관리 방법
KR101407640B1 (ko) 2008-02-14 2014-06-16 삼성전자주식회사 피투피 네트워크 상에서 접근 제어 장치 및 방법
US20090290714A1 (en) * 2008-05-20 2009-11-26 Microsoft Corporation Protocol for Verifying Integrity of Remote Data
US20100088520A1 (en) * 2008-10-02 2010-04-08 Microsoft Corporation Protocol for determining availability of peers in a peer-to-peer storage system
CN111131246B (zh) * 2019-12-24 2022-06-28 南京南瑞继保工程技术有限公司 一种适用于电力系统嵌入式设备的信息升级、备份方法和系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4919545A (en) 1988-12-22 1990-04-24 Gte Laboratories Incorporated Distributed security procedure for intelligent networks
US5187790A (en) 1989-06-29 1993-02-16 Digital Equipment Corporation Server impersonation of client processes in an object based computer operating system
US5222134A (en) 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
US5103476A (en) 1990-11-07 1992-04-07 Waite David P Secure system for activating personal computer software at remote locations
US5291598A (en) 1992-04-07 1994-03-01 Gregory Grundy Method and system for decentralized manufacture of copy-controlled software
JP2659896B2 (ja) 1992-04-29 1997-09-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 構造化文書複製管理方法及び構造化文書複製管理装置
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
US5319705A (en) 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5400403A (en) 1993-08-16 1995-03-21 Rsa Data Security, Inc. Abuse-resistant object distribution system and method
US5625690A (en) 1993-11-15 1997-04-29 Lucent Technologies Inc. Software pay per use system
US5572590A (en) * 1994-04-12 1996-11-05 International Business Machines Corporation Discrimination of malicious changes to digital information using multiple signatures
US5802275A (en) * 1994-06-22 1998-09-01 Lucent Technologies Inc. Isolation of non-secure software from secure software to limit virus infection
US5559884A (en) 1994-06-30 1996-09-24 Microsoft Corporation Method and system for generating and auditing a signature for a computer program
US5630066A (en) * 1994-12-20 1997-05-13 Sun Microsystems, Inc. System and method for locating object view and platform independent object
US5757914A (en) * 1995-10-26 1998-05-26 Sun Microsystems, Inc. System and method for protecting use of dynamically linked executable modules
US5692047A (en) 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US5982390A (en) * 1996-03-25 1999-11-09 Stan Stoneking Controlling personality manifestations by objects in a computer-assisted animation environment
US6289320B1 (en) * 1998-07-07 2001-09-11 Diebold, Incorporated Automated banking machine apparatus and system
US6317868B1 (en) * 1997-10-24 2001-11-13 University Of Washington Process for transparently enforcing protection domains and access control as well as auditing operations in software components
DE19840029C1 (de) 1998-09-02 2000-04-20 Siemens Ag Verfahren zum Linken von in einen Arbeitsspeicher eines Prozessors nachgeladenen Programmodulen auf einer Chipkarte

Also Published As

Publication number Publication date
DE69901231T2 (de) 2002-11-07
AU2322899A (en) 1999-08-02
PT1047992E (pt) 2002-09-30
CN1153140C (zh) 2004-06-09
CA2315212C (en) 2008-12-02
RU2000115287A (ru) 2002-07-27
DK1047992T3 (da) 2002-07-29
AU765747B2 (en) 2003-09-25
WO1999036854A1 (en) 1999-07-22
ATE216095T1 (de) 2002-04-15
KR100539987B1 (ko) 2006-01-10
ES2175936T3 (es) 2002-11-16
MX214637B (es) 2003-06-04
EP1047992B1 (en) 2002-04-10
CA2315212A1 (en) 1999-07-22
JP2002509313A (ja) 2002-03-26
CN1287639A (zh) 2001-03-14
EP1047992A1 (en) 2000-11-02
US6510516B1 (en) 2003-01-21
DE69901231D1 (de) 2002-05-16

Similar Documents

Publication Publication Date Title
KR100539987B1 (ko) 피어 컴포넌트를 인증하는 시스템 및 방법
US8156049B2 (en) Universal DRM support for devices
US9191389B2 (en) Access control of remote communication interfaces based on system-specific keys
EP3968191B1 (en) Trusted hardware-based identity management methods, apparatuses, and devices
US10540484B2 (en) Networked services licensing system and method
US7237114B1 (en) Method and system for signing and authenticating electronic documents
US7386513B2 (en) Networked services licensing system and method
US5978484A (en) System and method for safety distributing executable objects
US20040250075A1 (en) Systems and methods for automated configuration of secure web site publishing
US11108811B2 (en) Methods and devices for detecting denial of service attacks in secure interactions
CN103154960A (zh) 用于生成授权虚拟设备的系统和方法
US20030065946A1 (en) Paragraph management software system
EP1170926A2 (en) Personal information security and exchange tool
WO2002051057A2 (en) Methods for rights enabled peer-to-peer networking
Wei et al. A secure information flow architecture for web service platforms
CN110879876A (zh) 用于发行证书的系统和方法
KR101085365B1 (ko) 디지털적으로 서명된 콘텐츠에서 보조 정보를 임베딩 및 인증하기 위한 컴퓨터-구현된 방법 및 시스템
JP2010535373A (ja) デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステム
Linkies et al. SAP security and risk management
MXPA00006914A (en) System and method for authenticating peer components
Haunts et al. Key Storage and Azure Key Vault
Claessens et al. Secure communication for secure agent-based electronic commerce applications
Gousios et al. Distributed component architectures security issues
CN115510493A (zh) 基于区块链的资源数据处理方法、装置和服务器
Labuschagne et al. Real‐time risk analysis using Java concepts

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121130

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141201

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee