KR970049509A - 아키텍처 중간 프로그램의 신뢰된 컴파일 아키텍처 특정 버전을 발생시키기 위한 시스템 및 방법 - Google Patents

아키텍처 중간 프로그램의 신뢰된 컴파일 아키텍처 특정 버전을 발생시키기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR970049509A
KR970049509A KR1019960062292A KR19960062292A KR970049509A KR 970049509 A KR970049509 A KR 970049509A KR 1019960062292 A KR1019960062292 A KR 1019960062292A KR 19960062292 A KR19960062292 A KR 19960062292A KR 970049509 A KR970049509 A KR 970049509A
Authority
KR
South Korea
Prior art keywords
program
architecture
party
compilation
digital signature
Prior art date
Application number
KR1019960062292A
Other languages
English (en)
Other versions
KR100420569B1 (ko
Inventor
이. 맥마니스 찰스
옐린 프랜크
Original Assignee
리 패치
선 마이크로시스템즈, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 리 패치, 선 마이크로시스템즈, 인코포레이티드 filed Critical 리 패치
Publication of KR970049509A publication Critical patent/KR970049509A/ko
Application granted granted Critical
Publication of KR100420569B1 publication Critical patent/KR100420569B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

분산 컴퓨터 시스템 프로그램 컴파일 컴퓨터 및 프로그램 실행 컴퓨터를 가진다. 프로그램 컴파일 컴퓨터는 컴파일 파티(compiling party)에 의해 동작되며, 아키텍처 중간 프로그램의 원시 파티에 대한 디지털 서명이 검사될 때 (A) 아키텍처 중간 프로그램의 아키텍처 중간 프로그램 코드를 아키텍처 중간 프로그램의 정보를 컴파일함으로서 식별되는 아키텍처 특정 언어의 아키텍처 특정 프로그램 코드로 컴파일하며 (B) 아키텍처 특정 프로그램을 발생시키기 위해 컴파일 파티의 디지털 서명을 아키텍처 특정 프로그램 코드에 부가하는 컴파일러를 포함한다. 프로그램 시행 컴퓨터는 실행 파이테 의해 동작되며, 아키텍처 중간 프로그램의 원시 파티에 대한 디지털 서명이 검사되고 아키텍처 특정 프로그램의 컴파일 파티에 대한 디지털 서명이 검사되며 상기 컴파일 파티가 소정 세트의 신뢰된 컴파일 파티의 멤버로 결정될 때, 아키텍처 특정 프로그램의 아키텍처 특정 프로그램 코드를 실행하는 아키텍처 특정 프로그램 실행기를 포함한다.

Description

아키텍처 중간 프로그래의 신뢰된 컴파일 아키텍처 특정 버전을 발생시키기 위한 시스템 및 방법
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명의 바람직한 실시예를 통합하는 분산 컴퓨터 시스템의 블록도,
제2도는 본 발명의 바람직한 실시예에 따라 발생된 컴파일된 특정 아키텍처 프로그램의 구조를 나타낸 도면,
제3도는 본 발명의 바람직한 실시예에 따라 발생된 컴파일된 특정 아키텍처 프로그램의 구조를 나타낸 도면.

Claims (14)

  1. 컴파일 파티에 의해 동작되며, 상기 원시파티에 의해 발생된 아키텍처 중간 프로그램을 수신하는 프로그램 컴파일 컴퓨터를 포함하는데, 상기 아키텍처 중간 프로그램은 아키텍처 중간 프로그램 코드와, 검사시에 아키텍처 중간 프로그램이 상기 원시파티에 의해 서명되는 것을 검사하는 원시파티의 디지털 서명을 가지며, 상기 프로그램 컴파일 컴퓨터는, 원시파티의 디지털 서명을 검사하는 서명 검사장치와, 원시파티의 디지털 서명이 검사될 때 아키텍처 특정 프로그램을 발생시키며, (A) 아키텍처 중간 프로그램 코드를 아키텍처 특정 언어의 아키텍처 특정 프로그램 코드로 컴파일함으로서 그리고 (B) 검사시에 아키텍처 특정 프로그램이 컴파일 파티에 의해 발생되는 것을 검사하는 컴파일 파티의 디지털 서명을 부가함으로서 아키텍처 특정 프로그램을 발생시키는 컴파일러와, 상기 컴파일 파티의 디지털 서명을 발생시키는 서명 발생기를 가지며; 실행파티에 의해 동작되며, 상기 아키텍처 특정 프로그램을 수신하여 상기 아키텍처 중간 프로그램을 수신 또는 개시하는 프로그램 실행 컴퓨터를 포함하는데, 상기 프로그램 실행 컴퓨터는, 상기 컴파일 파티의 디지털 서명을 검사하는 서명 검사장치와, 상기 아키텍처 특정 언어로 된 프로그램을 실행하며, 컴파일 파티의 서명이 검사되고 컴파일 파티가 소정 세트의 신뢰된 컴파일 파티의 멤버일 때 상기 아키텍처 특정 프로그램 코드를 실행하는 실행자를 가지는 것을 특징으로 하는 컴퓨터 네트워크.
  2. 제1항에 있어서, 상기 서명 발생기는 검사시에 상기 아키텍처 특정 프로그램이 컴파일러로 발생되는 것을 검사하는 컴파일러의 디지털 서명을 발생시키며; 상기 컴파일러는 상기 컴파일러의 디지털 서명을 아키텍처 특정 프로그램 코드에 더 부가함으로서 상기 아키텍처 특정 프로그램을 발생시키며; 상기 실행 컴퓨터의 서명 검사장치는 컴파일러의 디지털 서명을 검사하며; 상기 실행자는 상기 컴파일러의 디지털 서명이 검사되고 상기 컴파일러가 소정 세트의 신뢰된 컴파일러의 멤버로 결정된 후에만 상기 아키텍처 특정 프로그램 코드를 실행하는 것을 특정으로 하는 컴퓨터 네트워크.
  3. 제1항에 있어서, 상기 원시 및 컴파일 파티를 위해, 상기 네트워크는 대응하는 전용 및 공개 암호화 키와 대응하는 해시함수를 포함하며, 상기 원시 파티의 디지털 서명은 상기 아키텍처 중간 프로그램으로 원시 파티의 대응 해시함수를 실행함으로서 발생되며 원시파티의 대응 전용 키로 암호화되는 상기 아키텍처 중간 프로그램의 메시지 요약을 포함하며, 상기 프로그램 컴파일 컴퓨터의 서명 검사장치는 (A) 상기 원시 파티의 공개 암호화 키로 상기 아키텍처 중간 프로그램의 메시지 요약을 해독하고, (B) 상기 아키텍처 중간 프로그램 코드로 원시 파티의 해시함수를 시랭하여 상기 아키텍처 중간 프로그램의 대응하는 테스트 메시지 요약을 발생하며, (C) 상기 해독된 메시지 요약 및 상기 아키텍처 중간 프로그램의 페스트 메시지 요약을 비교함으로서, 상기 원시파티의 디지털 서명을 검사하기 위한 명령을 포함하며, 상기 서명 발생기는 (A) 상기 아키텍처 특정 프로그램 코드로 상기 컴파일 파티의 대응하는 해시함수를 실행하여 발생된 상기 아키텍처 중간 프로그램의 메시지 요약을 발생하고, (B) 상기 컴파일 파티의 공개 암호화 키로 상기 아키텍처 특정 프로그램의 메시지 요약을 암호화함으로서, 컴파일 파티의 디지털 서명을 발생시키기 위한 명령을 포함하며, 프로그램 실행 컴퓨터의 서명 검사장치는 (A) 상기 컴파일 파티의 공개 암호화 키로 상기 아키텍처 특정 프로그램의 메시지 요약을 해독하고, (B) 상기 아키텍처 특정 프로그램 코드로 컴파일 파티의 해시함수를 실행하여 상기 아키텍처 특정 프로그램의 대응하는 테스트 메시지 요약을 발생하며, 상기 해독된 메시지 요약과 상기 아키텍처 특정 프로그램의 상기 테스트 메시지 요약을 비교함으로서, 상기 컴파일 파티의 디지털 서명을 검사하는 명령을포함하는 것을 특징으로 하는 컴퓨터 네트워크.
  4. 제1항에 있어서, 상기 프로그램 실행 컴퓨터는 상기 아키텍처 중간 프로그램 코드가 소정의 프로그램 보존성 기준을 만족하는 것을 검사함으로서, 상기 아키텍처 중간 프로그램 코드의 보존성을 검사하는 아키텍처 중간 프로그램 보존성 검사장치를 더 포함하며, 상기 실행자는 상기 아키텍처 중간 프로그램 코드의 보존성이 검사된 후에만 상기 아키텍처 특정 프로그램 코드를 실행하는 것을 특징으로 하는 컴퓨터 네트워크.
  5. 제1항에 있어서, 상기 아키텍처 중간 프로그램을 제공하는 프로그램 원시 컴퓨터를 더 포함하는데, 상기 프로그램 원시 컴퓨터는 상기 아키텍처 중간 프로그램 코드에 부가된 원시 파티의 디지털 서명을 발생시키는 서명 발생기를 포함하며, 상기 프로그램 컴파일 컴퓨터는 상기 프로그램 원시 컴퓨터로부터 상기 아키텍처 중간 프로그램을 수신하고 상기 프로그램 원시 컴퓨터에 상기 아키텍처 특정 프로그램을 제공하기 위해 상기 프로그램 원시 컴퓨터와 통신하며, 상기 프로그램 실행 컴퓨터는 상기 프로그램 원시 컴퓨터로부터 상기 아키텍처 중간 및 특정 프로그램을 수신하기 위해 상기 프로그램 원시 컴퓨터와 통신하며, 상기 프로그램 실행 컴퓨터의 서명 검사장치는 상기 원시 파티의 디지털 서명을 검사하며, 상기 실행자는 원시파티의 디지털 서명이 검사된 후만 상기 아키텍처 특정 프로그램을 실행하는 것을 특징으로 하는 컴퓨터 네트워크.
  6. 컴파일 파티에 의해 동작되는 프로그램 컴파일 컴퓨터에서, 원시 파티에 의해 발생되고, 아키텍처 중간 프로그램 코드와 검사시에 아키텍처 중간 프로그램이 상기 원시 파티에 의해 서명되는 것을 검사하는 원시파티의 디지털 서명을 포함하는 아키텍처 중간 프로그램을 수신하는 단계와, 상기 원시파티의 디지털 서명을 검사하는 단계와, 상기 원시파티의 디지털 서명이 검사될 때 아키텍처 특정 프로그램을 발생시키기 위해 컴파일러로 상기 아키텍처 중간 프로그램을 컴파일 검사시에 상기 아키텍처 특정 프로그램이 상기 컴파일 파티에 의해 발생되는 것을 검사하는 상기 컴파일 파티의 디지털 서명을 부가하는 단계를 포함하며; 실행파티에 의해 동작되는 프로그램 실행 컴퓨터에서, 상기 아키텍처 특정 프로그램을 수신하고, 상기 아키텍처 중간 프로그램을 수신 또는 개시하는 단계와, 상기 컴파일 파티의 디지털 서명을 검사하는 단계와, 상기 컴파일 파티의 서명이 검사되고 상기 컴파일 파티가 소정 세트의 신뢰된 컴파일 파티의 멤버로 결정될 때 상기 아키텍처 특정 프로그램을 실행하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 네트워크를 동작시키는 방법.
  7. 제6항에 있어서, 상기 프로그램 컴파일 네트워크에서, 검사시에 상기 아키텍처 특정 프로그램이 상기 컴파일러로 발생되는 것을 검사하는 상기 컴파일러의 디지털 서명을 발생시키는 단계와, 상기 컴파일러의 디지털 서명을 상기 아키텍처 특정 프로그램 코드에 부가하는 단계를 포함하며; 상기 프로그램 실행 컴퓨터에서, 상기 컴퓨터의 디지털 서명을 검사하는 단계와, 상기 컴파일러의 디지털 서명이 검사되고 상기 컴파일러가 소정 세트의 신뢰된 컴파일러의 멤버로 결정된후에만 상기 아키텍처 특정 프로그램을 실행하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 네트워크를 동작시키는 방법.
  8. 제6항에 있어서, 상기 원시 및 컴파일 파티를 위해, 상기 네트워크는 대응하는 전용 및 공개 암호화 키와 대응하는 해시함수를 포함하며, 상기 원시파티의 디지털 서명은 아키텍처 중간 프로그램으로 상기 원시파티의 대응하는 해시함수를 실행함으로서 발생되고, 상기 원시파티의 대응하는 전용키로 암호화되는 아키텍처 중간 프로그램의 메시지 요약을 포함하며, 상기 프로그램 컴파일 컴퓨터에서, (A) 상기 원시 파티의 공개 암호화키로 상기 아키텍처 중간 프로그램의 메시지 요약을 해독하고, (B) 상기 아키텍처 중간 프로그램 코드로 상기 원시 파티의 해시함수를 실행하여 상기 아키텍처 중간 프로그램의 대응하는 테스트 메시지 요약을 발생시키며, (C) 상기 해독된 메시지 요약과 상기 아키텍처 중간 프로그램의 상기 테스트 메시지 요약을 비교함으로서, 상기 원시파티의 디지털 서명을 검사하는 단계와, (A) 상기 아키텍처 특정 프로그램 코드상의 상기 컴파일 파티의 대응하는 해시함수를 실행하여 상기 아키텍처 중간 프로그램의 메시지 요약을 발생시키며, (B) 상기 컴파일 파티의 대응하는 전용 키로 상기 아키텍처 특정 프로그램의 상기 메시지 요약을 암호화함으로서 상기 컴파일 파티의 디지털 서명을 발생시키는 단계를 더 포함하며; 상기 프로그램 실행 컴퓨터에서, (A) 상기 컴파일 파티의 공개 암호화 키로 상기 아키텍처 특정 프로그램의 메시지 요약을 해독하고, (B) 상기 아키텍처 특정 프로그램 코드로 상기 컴파일 파티의 해시함수를 실행하여 상기 아키텍처 특정 프로그램의 대응하는 테스트 메시지 요약을 발생하며, 상기 해독된 메시지 요약 및 상기 아키텍처 특정 프로그램의 상기 테스트 메시지 요약을 비교함으로서 상기 컴파일 파티의 특정 서명을 검사하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 네트워크를 동작시키는 방법.
  9. 제6항에 있어서, 상기 프로그램 실행 컴퓨터에서, 상기 아키텍처 중간 프로그램 코드가 소정의 프로그램 보존성 기준을 만족하는 것을 검사함으로서 상기 아키텍처 중간 프로그램 코드의 보존성을 검사하는 단계와; 상기 아키텍처 중간 프로그램 코드의 보존성이 검사된후에만 상기 아키텍처 특정 프로그램 코드를 실행하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 네트워크를 동작시키는 방법.
  10. 제6항에 있어서, 상기 아키텍처 중간 프로그램을 제공하는 프로그램 원시 컴퓨터에서, 상기 원시 파티의 디지털 서명을 발생시키고 이 원시파티의 디지털 서명을 상기 아키텍처 중간 프로그램 코드에 부가하는 단계를 더 포함하며; 상기 프로그램 컴파일 컴퓨터에서, 상기 프로그램 원시 컴퓨터로부터 상기 아키텍처 중간 프로그램을 수신하여 상기 프로그램 원시 컴퓨터에 상기 아키텍처 특정 프로그램을 제공하기 위해 상기 프로그램 원시 컴퓨터와 통신하는 단계를 더 포함하며; 상기 프로그램 실행 컴퓨터에서, 상기 프로그램 원시 컴퓨터로부터 상기 아키텍처 중간 및 특정 프로그램을 수신하기 위해 상기 프로그램 원시 컴퓨터와 통신하는 단계와, 상기 원시파티의 디지털 서명을 검사하는 단계와, 상기 원시 파티의 디지털 서명이 검사된후에만 상기 아키텍처 특정 프로그램을 실행하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 네트워크를 동작시키는 방법.
  11. 제6항에 있어서, 상기 프로그램 실행 컴퓨터에서, 상기 아키텍처 중간 프로그램을 제공하는 단계와, 상기 아키텍처 중간 프로그램을 서명하는 원시 파티의 디지털 서명을 발생시키고, 이 디지털 서명을 상기 아키텍처 중간 프로그램 코드에 부가하는 단계를 더 포함하며; 상기 프로그램 컴파일 컴퓨터에서, 상기 프로그램 실행 컴푸터로부터 상기 아키텍처 중간 프로그램을 수신하고 상기 프로그램 실행 컴퓨터에 상기 아키텍처 특정 프로그램을 제공하기 위해 상기 프로그램 실행 컴퓨터와 통신하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 네트워크를 동작시키는 방법.
  12. 컴퓨터에 의해 컴퓨터 판독기능 미디아상에 실행가능하게 기억되며 컴퓨터중 하나에 의해 실행될 적어도 하나의 함수를 실해하기 위해 각각 구성된 다수의 모듈을 포함하는 코드를 분산하는 시스템에 있어서, 원시파티에 의해 발생되고 아키텍처 중간 프로그램코드와 검사시에 상기 아키텍처 중간 프로그램이 상기 원시 파티에 의해 서명되는 것을 검사하는 상기 원시파티의 디지털 서명을 가지는 아키텍처 중간 프로그램을 수신하며, 컴파일 파티에 의해 동작되는 프로그램 컴파일 컴퓨터와 관련하여 사용하기 위해 구성된 제1모듈을 포함하는데, 상기 제1모듈은, 상기 원시파티의 디지털 서명을 검사하는 서명 검사장치와, 상기 원시파티의 디티절 서명이 검사될 때 아키텍처 특정 프로그램을 발생시키며, (A) 상기 아키텍처 중간 프로그램 코드를 아키텍처 특정 언어의 아키텍처 특정 프로그램 코드로 컴파일하고 (B) 검사시에 상기 아키텍처 특정 프로그램이 상기 컴파일 파티에 의해 발생되는 것을 검사하는 컴파일 파티의 디지털 서명을 부가함으로서 상기 아키텍처 특정 프로그램을 발생시키는 컴파일러와, 상기 컴파일 파티 디지털 서명을 발생시키는 서명 발생기를 구비하며; 실행 파티에 의해 동작되며, 상기 아키텍처 특정 프로그램을 수신하고 상기 아키텍처 중간 프로그램을 수신 또는 개시하는 프로그램 실행 컴퓨터와 관련하여 사용하기 위한 제2모듈을 포함하는데, 상기 제2모듈은, 상기 컴파일 파티의 디지털 서명을 검사하는 서명 검사장치와, 상기 아키텍처 특정 언어로 된 프로그램 코드를 실행하며, 상기 컴파일 파티의 서명이 검사되고 상기 컴파일 파티가 소정 세트의 신뢰된 컴파일 파티의 멤버로 결정될 때 상기 아키텍처 특정 프로그램 코드를 실행하는 실행자를 포함하는 것을 특징으로 하는 코드를 분산시키기 위한 시스템.
  13. 제12항에 있어서, 검사시에 상기 서명 발생기는 상기 아키텍처 특정 프로그램이 컴파일러로 발생되는 것을 감시하는 컴파일러의 디지털 서명을 발생시키며, 상기 제1모듈은 상기 아키텍처 특정 프로그램 코드에 상기 컴파일러의 디지털 서명을 부가하며, 상기 제2모듈의 서명 검사장치는 상기 컴파일러의 디지털 서명을 검사하며, 상기 제2모듈 실행자는 상기 컴파일러의 디지털 서명이 검사되며 상기 컴파일러가 소정 세트의 신뢰된 컴파일러의 멤버로 결정된후에만 상기 아키텍처 특정 프로그램 코드를 실행하는 것을 특징으로 하는 코드를 분산시키기 위한 시스템.
  14. 제12항에 있어서, 상기 원시 및 컴파일 파티를 위해, 상기 시스템은 대응하는 전용 및 공개 암호화 키와 대응하는 해시함수를 포함하며, 상기 원시 파티의 디지털 서명은 상기 아키텍처 중간 프로그램으로 상기 원시파티의 대응하는 해시함수를 실행함으로서 발생되며 상기 원시 파티의 대응하는 전용 키로 암호화되는 상기아키텍처 중간 프로그램의 메시지 요약을 포함하며, 상기 제1모듈의 서명 검사장치는 (A) 상기 원시 파티의 공개 암호화키로 상기 아키텍처 중간 프로그램의 메시지 요약을 해독하고, (B) 상기 아키텍처 중간 프로그램 코드로 원시 파티의 해시함수를 실행하여 상기 아키텍처 중간 프로그램의 대응하는 테스트 메시지 요약을 발생시키며, (C) 상기 해독된 메시지 요약과 상기 아키텍처 중간 프로그램의 상기 테스트 메시지 요약을 비교함으로서, 상기 원시파티의 디지털 서명을 검사하기 위한 명령을 포함하며, 상기 제1모듈의 서명 발생기는 (A) 상기 아키텍처 특정 프로그램 코드로 상기 컴파일 파티의 대응하는 해시함수를 실행하여 상기 아키텍처 중간 프로그램의 메시지 요약을 발생시키며, (B) 상기 컴파일 파티의 대응하는 전용 키로 상기 아키텍처 특정 프로그램의 상기 메시지 요약을 암호화함으로서, 상기 컴파일 파티의 디지털 서명을 발생시키기 위한 명령을 포함하며, 상기 제2모듈의 서명 검사장치는 (A) 컴파일 파티의 공개 암호화 키로 상기 아키텍처 특정 프로그램의 메시지 요약을 해독하고, (B) 상기 아키텍처 특정 프로그램 코드로 상기 컴파일 파티의 해시함수를 수행하여 상기 아키텍처 특정 프로그램의 대응하는 테스트 메시지 요약을 발생시키며, (C) 상기 해독된 메시지 요약 및 상기 아키텍처 특정 프로그램의 상기 테스트 메시지 요약을 비교하는 것을 특징으로 하는 코드를 분산시키기 위한 시스템.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019960062292A 1995-12-08 1996-12-06 아키텍처중간프로그램의신뢰성있는컴파일아키텍처특정버전을발생시키기위한시스템및방법 KR100420569B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/569,397 US6067575A (en) 1995-12-08 1995-12-08 System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs
US08/569,397 1995-12-08

Publications (2)

Publication Number Publication Date
KR970049509A true KR970049509A (ko) 1997-07-29
KR100420569B1 KR100420569B1 (ko) 2004-06-10

Family

ID=24275282

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960062292A KR100420569B1 (ko) 1995-12-08 1996-12-06 아키텍처중간프로그램의신뢰성있는컴파일아키텍처특정버전을발생시키기위한시스템및방법

Country Status (10)

Country Link
US (1) US6067575A (ko)
EP (1) EP0778522B1 (ko)
JP (1) JPH1069382A (ko)
KR (1) KR100420569B1 (ko)
CN (1) CN1103968C (ko)
AU (1) AU718051B2 (ko)
CA (1) CA2191522C (ko)
DE (1) DE69635204D1 (ko)
SG (1) SG75106A1 (ko)
TW (1) TW355773B (ko)

Families Citing this family (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067575A (en) * 1995-12-08 2000-05-23 Sun Microsystems, Inc. System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6466947B2 (en) * 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6708171B1 (en) 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6237009B1 (en) 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
JPH1165851A (ja) * 1997-08-12 1999-03-09 Mitsubishi Electric Corp ファイル変換方法および記録媒体
US6334189B1 (en) * 1997-12-05 2001-12-25 Jamama, Llc Use of pseudocode to protect software from unauthorized use
US6219787B1 (en) * 1997-12-22 2001-04-17 Texas Instruments Incorporated Method and apparatus for extending security model to native code
WO1999044133A2 (en) 1998-02-26 1999-09-02 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
CN1298503A (zh) * 1998-02-26 2001-06-06 太阳微系统公司 分布式系统中的动态查找服务
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
US6324685B1 (en) 1998-03-18 2001-11-27 Becomm Corporation Applet server that provides applets in various forms
JPH11282672A (ja) * 1998-03-31 1999-10-15 Hitachi Software Eng Co Ltd オンラインプログラム転送方法およびオンラインプログラム実行システム
JPH11338710A (ja) * 1998-05-28 1999-12-10 Toshiba Corp 複数種の命令セットを持つプロセッサのためのコンパイル方法ならびに装置および同方法がプログラムされ記録される記録媒体
US6430569B1 (en) 1998-08-14 2002-08-06 Sun Microsystems, Inc. Methods and apparatus for type safe, lazy, user-defined class loading
AU1889699A (en) * 1999-01-13 2000-08-01 Hitachi Limited Method and system for executing mobile code
JP3360635B2 (ja) * 1999-01-14 2002-12-24 日本電気株式会社 プログラム検査システムとプログラム検査方法並びにその記憶媒体
US6581206B2 (en) 1999-11-12 2003-06-17 Sun Microsystems, Inc. Computer program language subset validation
US6880155B2 (en) 1999-02-02 2005-04-12 Sun Microsystems, Inc. Token-based linking
EP1035461A3 (de) * 1999-03-11 2004-04-14 BDC - EDV Consulting GmbH Terminal für gesichertes Bestätigen von Daten und Verfahren hierzu
US6601114B1 (en) 1999-05-27 2003-07-29 Sun Microsystems, Inc. Fully lazy linking with module-by-module verification
US6618769B1 (en) 1999-05-27 2003-09-09 Sun Microsystems, Inc. Module-by-module verification
US6763397B1 (en) 1999-05-27 2004-07-13 Sun Microsystems, Inc. Fully lazy linking
US6766521B1 (en) 1999-05-27 2004-07-20 Sun Microsystems, Inc. Dataflow algorithm for symbolic computation of lowest upper bound type
US6618855B1 (en) 1999-05-27 2003-09-09 Sun Microsystems, Inc. Caching untrusted modules for module-by-module verification
WO2000079382A2 (en) * 1999-06-20 2000-12-28 Thinkpulse, Inc. Method and system of performing a security check of a smart device description file
NL1013249C2 (nl) * 1999-10-08 2001-04-10 Tryllian B V Werkwijze voor het overdragen van een softwaremodule van een zender aan een ontvanger in een computersysteem of computernetwerk.
US6363523B1 (en) 1999-11-12 2002-03-26 Sun Microsystems, Inc. Optimization of N-base typed arithmetic expressions
US7107581B2 (en) 1999-11-12 2006-09-12 Sun Microsystems, Inc. Overflow predictive arithmetic instruction optimization using chaining
US7010786B2 (en) 1999-11-12 2006-03-07 Sun Microsystems, Inc. Predictive arithmetic overflow detection
US8453133B2 (en) 1999-11-12 2013-05-28 Oracle America, Inc. Optimization of N-base typed arithmetic instructions via rework
US7207037B2 (en) 1999-11-12 2007-04-17 Sun Microsystems, Inc. Overflow sensitive arithmetic instruction optimization using chaining
US6629163B1 (en) 1999-12-29 2003-09-30 Implicit Networks, Inc. Method and system for demultiplexing a first sequence of packet components to identify specific components wherein subsequent components are processed without re-identifying components
US7155606B1 (en) 2000-04-12 2006-12-26 Microsoft Corporation Method and system for accepting preverified information
AU2001247742A1 (en) 2000-04-12 2001-10-30 Microsoft Corporation Method and system for accepting precompiled information
US7577853B2 (en) * 2000-05-09 2009-08-18 Microsoft Corporation Restricted software and hardware usage on a computer
ES2180391B1 (es) * 2000-09-25 2003-12-16 Telesincro S A Circuito integrado.
US6971023B1 (en) * 2000-10-03 2005-11-29 Mcafee, Inc. Authorizing an additional computer program module for use with a core computer program
US7296275B2 (en) * 2001-01-04 2007-11-13 Sun Microsystems, Inc. Method and system for passing objects in a distributed system using serialization contexts
WO2002061572A1 (fr) 2001-01-31 2002-08-08 Ntt Docomo, Inc. Systeme d'envoi de programme a un module de memoire de terminaux mobiles
EP1356680B1 (en) 2001-02-02 2013-05-22 Opentv, Inc. A method and apparatus for reformatting of content for display on interactive television
BR0206974A (pt) 2001-02-02 2004-03-09 Opentv Inc Método e aparelho para compilar uma linguagem interativa para televisão interativa
US7305697B2 (en) 2001-02-02 2007-12-04 Opentv, Inc. Service gateway for interactive television
DE10108487A1 (de) * 2001-02-22 2002-09-12 Giesecke & Devrient Gmbh Verfahren und System zur verteilten Erstellung eines Programms für einen programmierbaren, tragbaren Datenträger
CA2742139C (en) 2001-05-14 2012-03-27 Ntt Docomo, Inc. System for managing program stored in storage block of mobile terminal
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7660887B2 (en) * 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US8086664B2 (en) * 2001-09-24 2011-12-27 Siemens Industry, Inc. Method and apparatus for programming programmable controllers and generating configuration data from a centralized server
DE10157251A1 (de) * 2001-11-22 2003-06-05 Siemens Ag Verfahren zum Zugriff auf Daten eines Automatisierungsgerätes und Automatisierungsgerät
US8788650B1 (en) * 2002-07-19 2014-07-22 Fortinet, Inc. Hardware based detection devices for detecting network traffic content and methods of using the same
CN1322385C (zh) * 2002-08-13 2007-06-20 诺基亚有限公司 用于提供数据安全性的电路系统和方法
US20040122962A1 (en) * 2002-12-24 2004-06-24 Difalco Robert A. Service environment integrity based service selection
US7587754B2 (en) * 2002-12-24 2009-09-08 Tripwire, Inc. Environment integrity assured transactions
WO2005047993A1 (de) * 2003-10-17 2005-05-26 Trinary Anlagenbau Gmbh Verfahren und vorrichtung zur vermeidung einer fehlansteuerung einer werkzeugmaschine
US7516331B2 (en) * 2003-11-26 2009-04-07 International Business Machines Corporation Tamper-resistant trusted java virtual machine and method of using the same
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
JP4727278B2 (ja) * 2005-04-05 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム
US8682795B2 (en) * 2005-09-16 2014-03-25 Oracle International Corporation Trusted information exchange based on trust agreements
US7681239B2 (en) * 2005-09-30 2010-03-16 Microsoft Corporation Modularly constructing a software defined radio
US8396041B2 (en) 2005-11-08 2013-03-12 Microsoft Corporation Adapting a communication network to varying conditions
JP4537940B2 (ja) * 2005-11-21 2010-09-08 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、及びプログラム実行制御方法
US8381047B2 (en) 2005-11-30 2013-02-19 Microsoft Corporation Predicting degradation of a communication channel below a threshold based on data transmission errors
US7624131B2 (en) * 2007-01-18 2009-11-24 Microsoft Corporation Type restriction and mapping for partial materialization
DE102008055076A1 (de) * 2008-12-22 2010-07-01 Robert Bosch Gmbh Vorrichtung und Verfahren zum Schutz von Daten, Computerprogramm, Computerprogrammprodukt
US8850211B2 (en) 2009-04-27 2014-09-30 Qualcomm Incorporated Method and apparatus for improving code and data signing
US8677329B2 (en) 2009-06-03 2014-03-18 Apple Inc. Methods and apparatuses for a compiler server
US9117071B2 (en) 2009-06-03 2015-08-25 Apple Inc. Methods and apparatuses for secure compilation
DE102009024985A1 (de) * 2009-06-16 2010-12-23 Giesecke & Devrient Gmbh Verfahren zur Ausführung eines Bytecodes in einer gesicherten Laufzeitumgebung
DE102009031143B3 (de) * 2009-06-30 2010-12-09 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erstellen und Validieren eines digitalen Zertifikats
CN102141914A (zh) * 2010-12-16 2011-08-03 华为技术有限公司 提升移动微件Widget应用性能的方法及装置
WO2012079531A1 (zh) * 2010-12-16 2012-06-21 华为技术有限公司 提升移动微件widget应用性能的方法及装置
US8631628B1 (en) 2011-02-25 2014-01-21 Clearview Composite Wall System, LLC Tilt-up concrete spandrel assemblies and methods
US8756582B2 (en) * 2011-08-22 2014-06-17 International Business Machines Corporation Tracking a programs calling context using a hybrid code signature
US8997038B2 (en) * 2012-03-30 2015-03-31 Anypresence, Inc. Systems and methods for building and deploying mobile applications
CN103914329B (zh) * 2014-03-20 2017-05-10 北京京东尚科信息技术有限公司 编译程序的方法和装置
EP3026559A1 (en) * 2014-11-28 2016-06-01 Thomson Licensing Method and device for providing verifying application integrity
US9547484B1 (en) * 2016-01-04 2017-01-17 International Business Machines Corporation Automated compiler operation verification
US10230527B2 (en) * 2017-04-19 2019-03-12 Continental Automotive Systems, Inc. Method and apparatus to quickly authenticate program using a security element
WO2019026137A1 (ja) * 2017-07-31 2019-02-07 日本電気株式会社 プログラム検証システム、方法およびプログラム
CN115955365A (zh) * 2023-03-14 2023-04-11 之江实验室 一种内生安全的网络编译系统及方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224160A (en) * 1987-02-23 1993-06-29 Siemens Nixdorf Informationssysteme Ag Process for securing and for checking the integrity of the secured programs
US4868877A (en) * 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5280613A (en) * 1990-06-25 1994-01-18 Hewlett-Packard Company ANDF installer using the HPcode-Plus compiler intermediate language
JP2665089B2 (ja) * 1991-09-26 1997-10-22 三菱電機株式会社 分散環境下におけるコンパイル方式
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5359659A (en) * 1992-06-19 1994-10-25 Doren Rosenthal Method for securing software against corruption by computer viruses
FR2703800B1 (fr) * 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
US5432937A (en) * 1993-08-20 1995-07-11 Next Computer, Inc. Method and apparatus for architecture independent executable files
US5343527A (en) * 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
US5475753A (en) * 1993-11-12 1995-12-12 Matsushita Electric Corporation Of America Apparatus and method for certifying the delivery of information
US5724425A (en) * 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5559884A (en) * 1994-06-30 1996-09-24 Microsoft Corporation Method and system for generating and auditing a signature for a computer program
US6067575A (en) * 1995-12-08 2000-05-23 Sun Microsystems, Inc. System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs

Also Published As

Publication number Publication date
EP0778522A2 (en) 1997-06-11
AU718051B2 (en) 2000-04-06
CN1157959A (zh) 1997-08-27
EP0778522B1 (en) 2005-09-21
CA2191522C (en) 2003-05-06
DE69635204D1 (de) 2006-02-02
KR100420569B1 (ko) 2004-06-10
CA2191522A1 (en) 1997-06-09
AU7402196A (en) 1997-06-12
TW355773B (en) 1999-04-11
US6067575A (en) 2000-05-23
JPH1069382A (ja) 1998-03-10
EP0778522A3 (en) 1999-04-07
CN1103968C (zh) 2003-03-26
SG75106A1 (en) 2000-09-19

Similar Documents

Publication Publication Date Title
KR970049509A (ko) 아키텍처 중간 프로그램의 신뢰된 컴파일 아키텍처 특정 버전을 발생시키기 위한 시스템 및 방법
Protzenko et al. Evercrypt: A fast, verified, cross-platform cryptographic provider
Wahby et al. Efficient RAM and control flow in verifiable outsourced computation
US8806428B1 (en) Deploying and distributing of applications and software components
Bond et al. Vale: Verifying {High-Performance} Cryptographic Assembly Code
Kreuter et al. {PCF}: A Portable Circuit Format for Scalable {Two-Party} Secure Computation
EP3201819B1 (en) Automated verification of a software system
EP0778520A3 (en) System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US11328065B1 (en) Architectures, systems, and methods for building trusted and secure artifacts
Mouris et al. Zilch: A framework for deploying transparent zero-knowledge proofs
CN114675828A (zh) 通过工具链的操作证明
Mercadier et al. Usuba: optimizing & trustworthy bitslicing compiler
CN114416097A (zh) 应用程序加固方法、系统、设备及存储介质
Yang et al. Ezee: Epoch parallel zero knowledge for ansi c
Liu et al. Practical and efficient in-enclave verification of privacy compliance
de Carné de Carnavalet et al. Challenges and implications of verifiable builds for security-critical open-source software
Erkök et al. Pragmatic equivalence and safety checking in Cryptol
Cipresso et al. Software reverse engineering
Mantel et al. RiCaSi: rigorous cache side channel mitigation via selective circuit compilation
Barthe et al. System-level non-interference of constant-time cryptography. part II: verified static analysis and stealth memory
Patrignani et al. Universal composability is secure compilation
Cipresso Software reverse engineering education
Mouha Exploring Formal Methods for Cryptographic Hash Function Implementations
Kananizadeh et al. Development of dynamic protection against timing channels
CN112948773B (zh) 脚本加密与解密方法、终端设备及可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070208

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee