KR100362219B1 - 변조방지 프로세서를 이용하여 프로그램을 분배하기 위한방법 및 시스템 - Google Patents

변조방지 프로세서를 이용하여 프로그램을 분배하기 위한방법 및 시스템 Download PDF

Info

Publication number
KR100362219B1
KR100362219B1 KR1020010007301A KR20010007301A KR100362219B1 KR 100362219 B1 KR100362219 B1 KR 100362219B1 KR 1020010007301 A KR1020010007301 A KR 1020010007301A KR 20010007301 A KR20010007301 A KR 20010007301A KR 100362219 B1 KR100362219 B1 KR 100362219B1
Authority
KR
South Korea
Prior art keywords
program
communication path
client device
distribution device
program distribution
Prior art date
Application number
KR1020010007301A
Other languages
English (en)
Other versions
KR20010082632A (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
Priority claimed from JP2000035898A external-priority patent/JP3801833B2/ja
Priority claimed from JP2000135010A external-priority patent/JP4226760B2/ja
Application filed by 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Publication of KR20010082632A publication Critical patent/KR20010082632A/ko
Application granted granted Critical
Publication of KR100362219B1 publication Critical patent/KR100362219B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/109Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은, 네트워크를 통해, 실행가능한 프로그램을 프로그램 분배장치로부터 유일한 비밀키와 이 유일한 비밀키에 대응하는 유일한 공개키가 미리 제공된 변조방지 프로세서를 갖춘 클라이언트 장치로 분배하기 위한 체계를 제공한다. 이러한 체계에 있어서, 제1통신로는 프로그램 분배장치와 클라이언트 장치간에 셋업되고, 프로그램 분배장치와 변조방지 프로세서를 직접 연결하는 제2통신로는 제1통신로상에 셋업된다. 그런 다음에, 제2통신로를 통해 암호화 프로그램이 프로그램 분배장치에서 변조방지 프로세서로 전송된다.

Description

변조방지 프로세서를 이용하여 프로그램을 분배하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR DISTRIBUTING PROGRAMS USING TAMPER RESISTANT PROCESSOR}
본 발명은, 인터넷 등의 공중망을 통해, 암호화 된 실행가능한 프로그램을 PC와 같은 마이크로프로세서가 내장된 하드웨어 장치에 분배하기 위한 방법 및 시스템에 관한 것이다.
최근, 마이크로프로세서가 계산이나 그래픽 등의 통상의 기능 외에, 비디오 이미지와 오디오 사운드의 재생 및 편집을 실현할 수 있도록 마이크로프로세서의 성능이 현저히 향상되고 있다. 그러한 마이크로프로세서를 최종 사용자(end-user; 이후 PC라고도 한다)용으로 설계된 시스템에 구현함으로써, 사용자는 각종의 비디오 이미지와 오디오 사운드를 모니터상에서 즐길 수 있다. 또, 비디오 이미지와 오디오 사운드를 재생하기 위한 기능을 PC의 계산 능력과 결합함으로써, 게임 등으로의 응용을 향상시킬 수 있다. 이러한 마이크로프로세서는 어떤 특정한 하드웨어용으로 설계되지 않고, PC를 이미 소유하고 있는 사용자가 단순히 프로그램을 실행하기 위한 마이크로프로세서를 변경함으로써 비디오 이미지와 오디오 사운드의 재생 및 편집을 저가로 즐길 수 있는 이점을 갖도록 여러 가지의 하드웨어에 구현될 수 있다.
PC상에서 비디오 이미지와 오디오 사운드를 처리할 경우에는, 원래의 이미지나 음악의 저작권 보호의 문제를 발생시킨다. MD나 디지털 비디오 재생장치에 있어서는, 미리 이들 장치에 불법 복사를 방지하기 위한 기구(mechanism)를 구현함으로써 제한 없는 복사를 방지할 수 있다. 이들 장치를 분해 및 변경함으로써 불법 복사를 시도하는 일은 상당히 희박하고, 비록 그러한 장치가 만들어지더라도 불법복사할 목적으로 변경된 장치의 제조 및 판매를 법으로 금지하는 것이 세계적인 추세이다. 그래서, 하드웨어에 기초를 둔 불법 복사에 의한 손해는 그다지 심각하지 않다.
그렇지만, 이미지 데이터나 음악 데이터는 실제로 하드웨어보다 소프트웨어로 PC상에서 처리되어 최종 사용자가 PC상에서 그 소프트웨어를 자유로이 변경할 수 있다. 즉, 사용자가 일정한 수준의 지식을 가지고 있다면, 프로그램을 분석하여 실행가능한 소프트웨어를 재기록함으로써 불법 복사를 수행하는 것은 매우 가능성이 있다. 게다가, 그렇게 생성된 불법 복사의 소프트웨어는 하드웨어와 달리 네트워크 등의 매체를 통해 급속히 확산될 수 있다는 문제가 있다.
이러한 문제를 해결하기 위해서, 프로그램의 분석 및 변경을 방지하기 위한 기능을 갖춘 마이크로프로세서가 제안되고 있다(알.하트만의 미국특허출원 제5,224,166호; 1999년 11월 티.길몬트 등에 의한 "Hardware Security for Software Privacy Support"로 명기된 전자레터, Vol. 35, No. 24, pp. 2096-2098; 엠.하시모토 등에 의한 일본특허출원 제2000-135010호). 특히, 일본특허출원 제2000-135010호에 제안된 마이크로프로세서에 있어서는, 멀티작업환경에서 프로그램을 구성하는 3가지 타입의 구성요소인 모든 명령, 실행상태 및 데이터를 암호화 함으로써 분석 및 변경으로부터 프로그램을 보호한다.
이들 마이크로프로세서에 있어서, 암호화 프로그램이 외부 프로세서로부터 독출되고, 복호화 되어 비밀키에 대응하는 공개키를 사용하여 직접 또는 간접적으로 실행될 수 있도록 비밀키 및 이 비밀키를 이용한 복호화 기능이 프로세서 내부에 제공된다. 이들 마이크로프로세서의 이용은, 변조방지 소프트웨어 기술과 비교하여, 프로그램의 분석 및 변경이 원칙적으로 상당히 더 어려워질 수 있다. 이러한 기능을 갖춘 마이크로프로세서는 다음의 변조방지 마이크로프로세서로서 제공될 것이다.
그런데, 이들 프로세서를 사용할 경우, 프로그램이 직접 또는 간접적으로 프로세서의 공개키를 이용하여 암호화 된 상태로 프로그램 공급자로부터 제공되어야만 한다. 그러나, 그와 같은 프로그램 분배를 안전하게 실현시키기 위한 체계가 알려져 있지는 않다.
본 발명은 상기한 점을 감안하여 이루어진 것으로, 네트워크를 통해 클라이언트측 장치에 프로그램을 안전하게 분배할 수 있는 프로그램 분배장치를 제공하는 것에 그 목적이 있다.
또한, 본 발명은 네트워크를 통해 분배된 프로그램을 안전하게 수신할 수 있는 클라이언트측 장치를 제공하는 것에 그 목적이 있다.
또한, 본 발명은 네트워크를 통해 프로그램을 안전하게 분배할 수 있는 프로그램 분배 시스템을 제공하는 것에 그 목적이 있다.
더욱이, 본 발명은 공중망을 통해 프로그램을 안전하게 분배하기 위한 방법을 제공하는 것에 그 목적이 있다.
도 1은 본 발명의 1실시예에 따른 프로그램 분배 시스템의 구성을 나타낸 블록도,
도 2는 도 1의 프로그램 분배 시스템에서의 프로그램 분배 동작 시퀀스에 대한 시퀀스 챠트,
도 3은 도 2의 동작 시퀀스에서의 클라이언트 장치의 처리절차에 대한 순서도,
도 4는 도 2의 동작 시퀀스에서의 프로그램 분배장치(서버)의 처리절차에 대한 순서도,
도 5는 도 2의 동작 시퀀스에서의 마이크로프로세서의 처리절차에 대한 순서도이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 의하면, 유일한 비밀키 및 이 유일한 비밀키에 대응하는 유일한 공개키가 미리 제공된 변조방지 프로세서를 갖춘 클라이언트 장치에 네트워크를 통해 실행가능한 프로그램을 분배하기 위한 프로그램 분배장치는: 상기 프로그램 분배장치와 상기 클라이언트 장치간 제1통신로를 셋업하도록 구성된 제1통신로 셋업유닛과, 상기 제1통신로 상에, 상기 프로그램 분배장치와 상기 변조방지 프로세서를 직접 연결하는 제2통신로를 셋업하도록 구성된 제2통신로 셋업유닛, 상기 클라이언트 장치에 분배되는 실행가능한 프로그램을 암호화 하여 암호화 프로그램을 생성하도록 구성된 암호화 처리유닛 및, 상기 제2통신로를 통해 상기 변조방지 프로세서에 암호화 프로그램을 전송하도록 구성된 전송유닛을 구비하여 구성된다.
본 발명의 또 다른 특징에 의하면, 네트워크를 통해 프로그램 분배장치로부터 분배된 프로그램을 수신하기 위한 클라이언트 장치는: 유일한 비밀키 및 이 유일한 비밀키에 대응하는 유일한 공개키가 미리 제공된 변조방지 프로세서와, 상기 프로그램 분배장치와 상기 클라이언트 장치간 제1통신로를 셋업하도록 구성된 제1통신로 셋업유닛, 상기 제1통신로 상에, 상기 프로그램 분배장치와 상기 변조방지 프로세서를 직접 연결하는 제2통신로를 셋업하도록 구성된 제2통신로 셋업유닛 및, 상기 제2통신로를 통해 상기 프로그램 분배장치로부터 암호화 프로그램을 수신하도록 구성된 프로그램 수신유닛을 구비하여 구성된다.
본 발명의 또 다른 특징에 의하면, 프로그램 분배 시스템은: 네트워크를 통해 실행가능한 프로그램을 분배하기 위해 네트워크에 연결된 프로그램 분배장치와, 상기 네트워크를 통해 상기 프로그램 분배장치로부터 분배된 상기 실행가능한 프로그램을 수신하기 위해 상기 네트워크에 연결된 클라이언트 장치를 구비하여 구성되고, 상기 클라이언트 장치는; 유일한 비밀키 및 이 유일한 비밀키에 대응하는 유일한 공개키가 미리 제공된 변조방지 프로세서와, 상기 프로그램 분배장치와 상기 클라이언트 장치간 제1통신로를 셋업하도록 구성된 클라이언트측 제1통신로 셋업유닛, 상기 제1통신로 상에, 상기 프로그램 분배장치와 상기 변조방지 프로세서를 직접 연결하는 제2통신로를 셋업하도록 구성된 클라이언트측 제2통신로 셋업유닛 및, 상기 제2통신로를 통해 상기 프로그램 분배장치로부터 암호화 프로그램을 수신하도록 구성된 프로그램 수신유닛을 갖추며, 상기 프로그램 분배장치는; 상기 프로그램 분배장치와 상기 클라이언트 장치간 제1통신로를 셋업하도록 구성된 서버측 제1통신로 셋업유닛과, 상기 제1통신로 상에, 상기 프로그램 분배장치와 상기 변조방지 프로세서를 직접 연결하는 제2통신로를 셋업하도록 구성된 서버측 제2통신로 셋업유닛, 상기 클라이언트 장치에 분배되는 실행가능한 프로그램을 암호화 하여 암호화 프로그램을 생성하도록 구성된 암호화 처리유닛 및, 상기 제2통신로를 통해 상기 변조방지 프로세서에 암호화 프로그램을 전송하도록 구성된 전송유닛을 갖춘다.
본 발명의 또 다른 특징에 의하면, 유일한 비밀키 및 이 유일한 비밀키에 대응하는 유일한 공개키가 미리 제공된 변조방지 프로세서를 갖춘 클라이언트 장치에 프로그램 분배장치로부터 네트워크를 통해 실행가능한 프로그램을 분배하기 위한 방법은: 상기 프로그램 분배장치와 상기 클라이언트 장치간 제1통신로를 셋업하는단계와, 상기 제1통신로 상에, 상기 프로그램 분배장치와 상기 변조방지 프로세서를 직접 연결하는 제2통신로를 셋업하는 단계, 상기 프로그램 분배장치에서, 상기 클라이언트 장치에 분배되는 실행가능한 프로그램을 암호화 하여 암호화 프로그램을 생성하는 단계 및, 상기 제2통신로를 통해 상기 프로그램 분배장치로부터 상기 변조방지 프로세서로 상기 암호화 프로그램을 전송하는 단계를 구비하여 이루어진다.
(실시예)
이하, 본 발명의 실시예를 도면을 참조하면서 상세히 설명한다.
본 발명은, 변조방지 마이크로프로세서가 내장된 클라이언트 장치에 네트워크를 통해 실행가능한 프로그램을 분배하기 위한 프로그램 분배장치를 제공한다. 상기 마이크로프로세서에는 유일한 비밀키 및 이 유일한 비밀키에 대응하는 유일한 공개키가 미리 제공된다. 이러한 프로그램 분배장치는, 클라이언트 장치의 마이크로프로세서로부터 보내진 유일한 공개키를 사용하여 프로그램을 암호화 하거나, 임의의 암호화키를 사용하여 프로그램을 암호화 하고, 클라이언트 장치의 마이크로프로세서로부터 보내진 유일한 공개키를 사용하여 이러한 암호화키를 암호화 하는 암호화 처리유닛을 갖춘다. 그런 다음에, 암호화 된 암호화키가 암호화 프로그램과 함께 클라이언트 장치에 분배된다.
본 발명의 프로그램 분배방법에 있어서, 제1통신로는 네트워크를 통해 클라이언트 장치로부터 프로그램 분배장치로 셋업된다. 다음에, 마이크로프로세서를 프로그램 분배장치에 직접 연결하기 위한 제2통신로는 제1통신로 상에 셋업된다.유일한 공개키는 제2통신로를 통해 마이크로프로세서로부터 프로그램 분배장치로 보내진다. 네트워크를 통해 보내진 이러한 공개키는 프로그램 분배장치에서 수신되고, 프로그램 분배장치에 의해 프로그램이 암호화 된다. 다음에, 암호화 된 프로그램은 제2통신로를 통해 클라이언트 장치의 마이크로프로세서로 직접 보내진다.
이러한 방식으로 분배된 프로그램은 클라이언트 장치의 마이크로프로세서의 유일한 공개키에 의해 암호화 되거나, 또는 공통키에 의해 암호화 되고, 이러한 공통키는 마이크로프로세서의 유일한 공개키에 의해 암호화 된다. 프로그램은 어떠한 컴퓨터에 의해서도 차단되지 않고 마이크로프로세서로 직접 전송되고, 이러한 공개키에 대응하는 유일한 비밀키를 갖춘 마이크로프로세서에 의해서만 복호화 될 수 있다. 이러한 방식에 있어서는, 제3자에 의한 불법 복호화를 효과적으로 막을 수 있다.
이제, 도 1 내지 도 5를 참조하여, 본 발명에 따른 프로그램 분배 시스템의 1실시예를 상세히 설명한다.
도 1은 변조방지 마이크로프로세서가 내장된 컴퓨터 시스템에 분배 프로그램이 기본적으로 설치된 본 실시예에 따른 프로그램 분배 시스템(90)을 나타낸다. 따라서, 분배되는 실행가능한 프로그램은 마이크로프로세서에 유일한 키를 사용하여 직접 암호화 되거나 임의의 공통키를 사용하여 암호화 되고, 그 자신의 공통키는 마이크로프로세서에 유일한 키를 사용하여 암호화 되어 실행가능한 프로그램에 부속된다. 이 경우에는, 대량 생산된 CD-ROM 등과 같은 이상적인 프로그램 기록매체의 카피를 이용하여 프로그램을 분배하는 것이 불가능 하기 때문에, 프로그램이 네트워크를 통해 분배된다.
도 1의 프로그램 분배 시스템(90)은 네트워크(95)와, 이 네트워크(95)를 통해 실행가능한 프로그램을 분배하기 위해 상기 네트워크(95)에 연결된 프로그램 분배장치(93) 및, 상기 네트워크(95)를 통해 상기 프로그램 분배장치(93)로부터 분배된 실행가능한 프로그램을 수신하기 위해 상기 네트워크(95)에 연결된 클라이언트 장치(91)를 포함한다.
프로그램 분배장치(93)는 프로그램 분배장치(93)와 클라이언트 장치(91)간 제1통신로를 셋업하기 위한 제1통신로 셋업유닛(932)과, 제1통신로를 통해 클라이언트 장치(91)를 사용하는 사용자의 사용자 인증을 수행하기 위한 사용자 인증유닛(933), 클라이언트 장치(91) 내부에 제공된 마이크로프로세서에 직접 연결된 제2통신로를 셋업하기 위한 제2통신로 셋업유닛(934), 제2통신로를 통해 클라이언트 장치(91)의 마이크로프로세서(901)의 인증성을 검증하기 위한 프로세서 인증유닛(935), 클라이언트 장치(91)의 마이크로프로세서에 대응하는 암호화키를 사용하여 실행가능한 프로그램을 암호화 하여 암호화 프로그램을 생성하기 위한 프로그램 암호화 처리유닛(936), 제2통신로를 통해 클라이언트 장치(91)에 암호화 프로그램을 분배하기 위한 네트워크 인터페이스(931) 및, 차징(charging) 처리유닛(937)을 갖춘다.
클라이언트 장치(91)는 유일한 비밀키 및 공개키가 미리 제공된 마이크로프로세서(901)와, 네트워크 인터페이스(903), 클라이언트 장치(91)와 프로그램 분배장치(93)간 제1통신로를 셋업하기 위한 제1통신로 셋업유닛(905), 제1통신로를 통해 클라이언트 장치(91)를 사용하는 사용자의 사용자 ID를 전송하기 위한 사용자 인증유닛(910), 프로그램 분배장치(93)에 마이크로프로세서를 직접 연결하는 제2통신로를 셋업하기 위한 제2통신로 셋업유닛(906), 마이크로프로세서(901)에만 유일한 비밀키 및 공개키를 상기 마이크로프로세서가 확실히 갖춘 것임을 증명하는 증명(certificate)을 프로그램 분배장치(93)에 전송하기 위한 증명유닛(907), 제2통신로를 통해 암호화 된 실행가능한 프로그램을 수신하기 위한 프로그램 수신유닛(908), 프로그램 전송유닛(909) 및, 차징 처리인증유닛(912)을 갖춘다.
상술한 제1 및 제2통신로는 동일한 전송라인의 다른 채널이나 다른 전송라인상에 셋업될 수 있다. 마이크로프로세서(901)의 인증이 수행된 후, 마이크로프로세서에 직접 연결된 제2통신로를 통해 암호화 프로그램이 마이크로프로세서(901)에 전송됨으로써, 프로그램 분배의 안전성이 보장될 수 있어 사용자에 의한 불법 행위가 방지될 수 있다.
프로그램 분배장치(93; 서버)는 세계에서 유일한 한쌍의 공개키(K’p)와 비밀키(K’s) 및, 분배되는 프로그램의 원래 형태인 비암호화 프로그램 파일을 갖춘다. 한편, 클라이언트 장치(91)는 네트워크를 통해 프로그램을 다운로딩 하기 위한 전용 프로그램이 제공된 마이크로프로세서(901)를 갖춘다. 다운로딩 프로그램은 마이크로프로세서(901)나 이 마이크로프로세서(901)를 포함한 시스템 구매시에 제공되거나, 또는 메일링(mailing) 등의 소정 방법에 의해 개별적으로 각각의 사용자에게 분배될 수 있다.
다운로딩 프로그램에 있어서, 마이크로프로세서(901)에 유일한 공개키(Kp)등의 정보 및 증명이 삽입된다. 특히, 마이크로프로세서(901)의 공개키(Kp)가 현재 존재하는 마이크로프로세서에 대응하는 것임을 증명하는 증명(Cert)이 다운로딩 프로그램에 저장된다. 현재의 마이크로프로세서(901)에 대응하지 않는 공지된 공개키와 비밀키 세트를 사용하여 암호화 프로그램을 획득하고 공지의 비밀키를 사용하여 암호화 프로그램을 복호화 함으로써, 사용자가 불법적으로 평문 프로그램 콘텐츠(plaintext program contents)를 획득하는 것을 방지하기 위해 상기와 같은 증명이 제공된다.
상기의 증명은, 공개키(Kp)를 포함하며, 미리 계산된 공개키(Kp)의 증명권의 키 Kcert를 이용한 전자 시그너처(signature)인 값 Skcert[Kp]를 포함한다. Kcert의 값은 증명권에 의해 비밀리에 관리되고, 다운로딩 프로그램에 포함된다. 인증을 위한 공개키 Kval을 이용하여 증명에 포함된 시그너처 Skcert[Kp] 및 공개키 Kp를 검증함으로써, 공지의 키 세트가 사용될 수 없도록 Kp가 증명권에 의해 할당된 적절한 공개키인 것을 입증할 수 있다.
이러한 증명은 마이크로프로세서 내부에 미리 제공된다. 그러나, 증명을 유효기간에 다운로딩 프로그램 내에 저장하여 다운로딩 프로그램을 갖춘 마이크로프로세서를 판매함으로써 안전성이 더욱 향상될 수 있다. 이 경우, 규칙적으로 갱신되는 증명을 저장하는 다운로딩 프로그램은 마이크로프로세서의 구매자에게 분배될 것이다.
다운로딩 처리에 사용되는 비밀키(Ks)가 암호화 되어 다운로딩 프로그램의 데이터 영역에 저장된다. 암호화 비밀키(Ks)를 복호화 하는데 필요한 키는상수(constants)와 같은 다운로딩 프로그램 코드 내에 분배형식으로 삽입된다. 다운로딩 프로그램에 의해 인증처리에 이용되는 비밀키(Ks)는 마이크로프로세서(901)에 유일한 비밀키(Ks)와 같은 동일한 값을 갖지만, 마이크로프로세서(901)에 유일한 비밀키(Ks)가 프로그램에 의해 독출될 수 없기 때문에, 마이크로프로세서(901)로부터 비밀키(Ks)를 독출함으로써 얻어지지 않는다.
일반적으로, 주어진 호스트가 특정 공개키를 갖춘 것을 입증하기 위해 상기 증명권(CA)이 이용된다. 이러한 시스템에서 증명권을 이용할 경우, 마이크로프로세서(901)와 사용자(구매자)의 공개키의 조합은 마이크로프로세서(901)의 구매시나 추후의 온라인 처리에 의해 증명권에 등록된다. 이 경우, 프로그램 분배장치(93)에 의한 증명의 검증이 생략될 수 있다.
그러나, 증명권의 사용은 사용자가 구매된 마이크로프로세서를 증명권에 등록시켜야만 하는 사용자의 불편함을 야기한다. 이러한 이유 때문에, 본 실시예에 있어서는 암호화된 증명이 다운로딩 프로그램 내에 저장되어, 인증이 프로그램 분배장치(93)에 의해 수행되거나 클라이언트 장치(91) 단독으로 수행될 수 있다.
본 실시예에 있어서는, 증명을 훔치는 것과 같은 어떠한 불법 행위를 저지르지 못하도록 하는 신뢰성이 프로그램 분배장치(93)에 있고, 세계에서 유일한 한쌍의 키 K’p와 K’s를 갖춘 사실이 미리 증명권 등으로 인정되어 있다.
도 2는 도 1의 프로그램 분배 시스템(90)에서의 프로그램 분배처리에 대한 동작 시퀀스를 나타낸다. 이하, 프로그램 분배장치(93)는 서버(93)로 나타낸다.
도 2의 동작 시퀀스에 있어서, 각 장치의 제1통신로 셋업유닛에 의해 클라이언트 장치(91)와 서버(93)간 안전한 제1통신로가 셋업된다(단계1001). 특히, 통신시작 요청이 네트워크(95)를 통해 클라이언트 장치(91)로부터 서버(93)로 보내지고, 통신로를 비밀로 유지하기 위해 키 할당이 수행된다. 이것은 공지의 키 할당 프로토콜이나 DH(Diffie Hellman) 체계에 의해 실현될 수 있다. 상기와 같은 방식으로 네트워크(95)에 셋업되는 상기 통신로를 통해 클라이언트 장치(91)와 서버(93)간의 다음 통신이 수행됨으로써 도청에 안전하다.
제1통신로가 셋업된 후, 클라이언트 장치(91)는 서버(93)에 다운로드 되는 파일(프로그램)을 요청하고(단계1002), 서버(93)는 클라이언트 장치(91)의 사용자 레벨로 인증 및 차징 처리를 수행한다. 다운로딩 처리에서 사용자로부터 처리의 비밀을 보호하기 위해, 이하에 기술되는 클라이언트 장치(91)에서 적어도 일부의 다운로딩 시퀀스가 암호화 코드를 사용하여 실행된다. 여기서, 암호화 코드를 사용하여 실행되는 부분은 마이크로프로세서(901)의 동작으로서 기술된다.
다음에, 클라이언트 장치(91)의 마이크로프로세서(901)와 서버(93)를 직접 연결하기 위한 안전한 제2통신로가 제1통신로 상에 셋업된다(단계1003).
본 발명에 있어서, 다운로딩 처리에서 처리된 일부의 데이터를 사용자가 불법으로 획득하는 것을 방지하기 위해, 처리중에 메모리에 위치되는 데이터 뿐만 아니라 코드도 사용자가 다운로딩 프로그램에서 독출하여 이해하기 어려운 형태로 기술된다. 더욱이, 사용자의 불법 행위에 대한 보호를 향상시키기 위해 단계1003에서 서버(93)와 마이크로프로세서(901)간 비밀키를 이용한 암호통신이 수행된다.
비밀키 할당이 채용되지 못하면, 서버(93)와 마이크로프로세서(901)간 통신메세지에서의 마이크로프로세서(901)의 공개키(Kp)로 위조 공개키를 대신함으로써 암호화 프로그램을 획득하고, 위조 공개키에 대응하는 공지의 비밀키를 사용하여 암호화 프로그램을 복호화 함으로써 평문 프로그램을 획득하기 위한 사용자의 불법 행위를 가능하게 하기 때문에, 상기와 같은 대책이 취해진다. 비밀키를 사용하여 서버(93)와 마이크로프로세서(901)간 통신을 암호화 함으로써, 상술한 바와 같은 사용자의 불법 행위를 방지할 수 있게 된다. 이 후, 마이크로프로세서(901)와 서버(93)간 통신은 마이크로프로세서(901)와 서버(93)상에 변조방지 프로그램에 의해 할당된 암호화키를 이용하여 암호화 된 안전한 통신을 수반한다.
안전한 제2통신로가 셋업된 후, 마이크로프로세서(901)와 서버(93)는 상호 인증을 수행한다. 즉, 마이크로프로세서(901)는 서버(93)에 대한 이의 신청(challenge)으로서 난수(Rc)를 생성하고, 마이크로프로세서(901)에 유일한 공개키(Kp)와 함께 이러한 난수(Rc)를 제2통신로를 통해 서버(93)에 전송한다(단계1004). 이의 신청을 접수하자 마자, 서버(93)는 서버(93)의 공개키(K’p) 및 서버(93)의 이의 신청(Rs)과 함께 서버(93)의 비밀키(K’s)를 이용하여 난수(Rc)를 암호화 하여 얻어진 시그너처 Sk’s[Rc]를 마이크로프로세서(901)에 전송한다(1005). 도 2에 있어서, Sk’s[Rc]는 S[Rc](K’s)로 나타냈고, 유사한 표기가 또 다른 유사한 표현을 위해 사용된다.
서버(93)로부터 전송된 시그너처 Sk’s[Rc]가 서버(93)의 공개키(K’p)를 이용하여 Rc를 해싱(hashing) 함으로써 얻어진 Vk’p[Rc]와 일치하는지의 여부를 마이크로프로세서(901)가 검사한다. 만약 일치하지 않으면, 서버(93)의 인증이 실패하여 다음 처리가 중지된다. 만약 인증이 성공하면, 응답 Sks[Rs]이 서버(93)의 이의 신청(Rs)로부터 계산되어 증명 E[Cert]과 함께 서버(93)에 전송된다(단계1006).
서버(93)는 Vkp[Rs]와 Sks[Rs]를 비교하고, 만약 그들이 일치하지 않으면, 처리를 중지한다. 만약 그들이 일치하면, 마이크로프로세서(901)의 공개키(Kp)와 증명권의 공개키(Kval)로부터 Vkval[Kp]가 계산되고, 증명(Cert)으로부터 얻어진 공개키에 대응하는 Skcert[Kp]와 비교된다. 만약 그들이 일치하지 않으면, 검증이 실패하여 처리가 중지된다. 만약 그들이 일치하면, Ek’p[Cert]를 복호화 함으로써 증명(Cert)이 얻어져 검증된다. 만약 검증이 실패하면, 처리가 중지된다.
만약 검증이 성공하여 마이크로프로세서(901)가 공개키(Kp)를 가진 사실이 증명에 의해 확인되면, 서버(93)는 마이크로프로세서(901)의 공개키(Kp)를 이용하여 실행가능한 프로그램으로부터 암호화 프로그램 Ekp[Prog]을 생성한다. 이 점에서, 프로그램의 코드부가 마이크로프로세서(901)의 공개키(Kp)를 이용하여 암호화 된다. 이러한 암호화에 있어서, 프로그램 자신의 ".text"부가 점프 테이블의 ".IAT(Import Address Table)"부에 의해 암호화 되고 평문형태로 남는다.
다음에, 서버는 제2통신로를 통해 마이크로프로세서(901)에 서버(93)의 비밀키(K’s)를 이용하여 얻어진 시그너처 Sk’s[Ekp[Prog]] 및 암호화 프로그램 Ekp[Prog]을 전송한다(단계1007). 클라이언트 장치(91)가 도청될 수 없도록 마이크로프로세서(901)와 서버(93)간 직접 확립된 제2통신로를 통해 상기 암호화 프로그램 및 시그너처가 전송된다.
프로그램의 수신이 완료되면, 마이크로프로세서(901)는 클라이언트 장치(91)에 다운로딩 완료를 통지한다(단계1008). 다음에, 클라이언트 장치(91)는 서버(93)에 차징 처리를 요청하고, 서버(93)는 접수 Rcpt와, 서버(93)의 비밀키(K’s)를 이용하여 얻어진 접수의 시그너처 Sk’s[Rcpt] 및, 프로그램의 시그너처 Sk’s[Ekp[Prog]]를 클라이언트 장치(91)에 전송한다(단계1009). 클라이언트 장치(91)는, 수신된 접수 및 상기 시그너처를 저장하면서, 서버(93)로부터 수신된 프로그램의 시그너처 Sk’s[Ekp[Prog]]를 마이크로프로세서(901)로 보낸다(단계1010).
마이크로프로세서(901)는 서버(93)의 공개키(K’p)를 이용하여 클라이언트 장치(91)로부터 수신된 프로그램의 시그너처 Sk’s[Ekp[Prog]를 검증하여, 만약 적절하면, 마이크로프로세서(901)는 암호화 된 실행가능한 프로그램 Ekp[Prog]를 클라이언트 장치(91)에 인도한다(단계1011). 암호화 된 실행가능한 프로그램 Ekp[Prog]를 수신하자 마자, 클라이언트 장치(91)는 서버(93)의 통신채널에 대한 종료처리를 수행한다(단계1012).
그 후, 마이크로프로세서(901)는 지시된 방법으로 암호화 프로그램을 실행한다.
도 3은 도 2의 동작 시퀀스에서의 클라이언트 장치(91)의 처리절차를 나타낸다. 이러한 처리절차는 도 2와 관련하여 이미 설명한 바와 같고, 이하와 같이 진행된다.
우선, 제1통신로가 클라이언트 장치(91)와 서버(93)간 셋업된다(단계1101).다음에, 프로그램 다운로딩 요청이 서버(93)에 대해 이루어지고, 상술한 바와 같은 인증처리가 수행된다(단계1103). 다음에, 마이크로프로세서(901)와 서버(93)간 인증이 수행되고, 마이크로프로세서(901)에 프로그램의 전송이 수행된다(단계1105). 다음에, 수신완료 통지가 마이크로프로세서(901)로부터 수신되고(단계1107), 차징 처리가 서버(93)에 의해 수행되며, 접수 및 시그너처가 서버(93)로부터 수신된다(단계1111). 다음에, 시그너처가 마이크로프로세서(901)에 인도되고(단계1113), 암호화 프로그램이 마이크로프로세서(901)로부터 수신되며(단계1115), 클라이언트 장치(91)와 서버(93)간 통신채널이 종료된다(단계1117).
도 4는 도 2의 동작 시퀀스에서의 서버(93)의 처리절차를 나타내고, 다음과 같이 진행한다.
우선, 클라이언트 장치(91)로부터의 요청에 따라 제1통신로가 셋업된다(단계1201). 다음에, 클라이언트 장치(91)로부터 프로그램 다운로딩 요청이 수신되고, 클라이언트의 인증이 차징 등의 목적을 위해 수행된다(단계1203). 다음에, 서버(93)와 마이크로프로세서(901)간 제2통신로가 셋업되고(단계1205), 이의 신청(Rc)과 공개키(Kp)가 마이크로프로세서(901)로부터 수신된다(단계1207). 다음에, 서버측 이의 신청 Rs 및 응답 Sk’s[Rc]가 발생되어 서버(93)의 공개키(K’p)와 함께 마이크로프로세서(901)에 전송된다(단계1209). 다음에, 응답 Sks[Rs] 및 증명 E[Cert]가 마이크로프로세서(901)로부터 수신되고(단계1211), 마이크로프로세서(901)로부터 수신된 Sks[Rs] 및 E[Cert]가 검증된다(단계1213). 검증이 실패하면, 처리가 중지된다. 검증이 성공하면, 마이크로프로세서(901)에대응하는 시그너처 및 암호화 프로그램이 생성되어 마이크로프로세서(901)에 전송되고(단계1215), 서버(93)와 마이크로프로세서(901)간 프로그램 전송이 종료된다(단계1217). 다음에, 클라이언트 장치(91)에 대한 차징 처리가 수행되고 접수 및 시그너처가 전송되며(단계1219), 서버(93) 및 클라이언트 장치(91)간 통신채널이 종료된다(단계1221).
도 5는 도 2의 동작 시퀀스에서의 마이크로프로세서의 처리절차를 나타내고, 다음과 같이 진행한다.
우선, 마이크로프로세서(901)와 서버(93)간 제2통신로가 셋업된다(단계1301). 다음에, 이의 신청(Rc)이 생성되어 마이크로프로세서(901)에 유일한 공개키(Kp)와 함께 서버(93)에 전송된다(단계1303). 전송이 성공하면, 응답 Sk’s[Rc], 이의 신청(Rs) 및 공개키(K’p)가 서버(93)로부터 수신된다(단계1305). 다음에, 응답이 적절한지의 여부가 판단된다(단계1307). 만약 부적절하면, 처리가 중지된다. 만약 적절하면, 서버(93)에 대한 응답 및 서버(93)에 대응하는 증명이 생성되어 전송된다(단계1309). 다음에, 암호화 프로그램이 서버(93)로부터 수신되고(단계1311), 수신이 완료되면, 다운로딩 완료가 클라이언트 장치(91)에 통지된다(단계1313). 다음에, 시그너처가 클라이언트 장치(91)로부터 수신되고(단계1315), 시그너처가 검증된다(단계1317). 만약 검증이 실패하면, 처리가 중지된다. 만약 검증이 성공하면, 암호화 프로그램이 클라이언트 장치(91)로 전송된다(단계1319).
도 2의 동작 시퀀스에 있어서, 차징 처리의 종료 후 다운로딩 프로그램의 비정상적인 종료로 인해 암호화 프로그램 E[Prog]가 획득될 수 없으면, 클라이언트는 안전한 접수에 따라 다시 서버(93)로부터 프로그램을 다운로드 할 권리를 갖는다. 이 경우, 차징은 다시 수행되지 않고, 마이크로프로세서(901)를 위한 암호화 프로그램 이외의 프로그램은 획득되지 않는다.
또한, 도 2의 동작 시퀀스에 있어서, 서버(93)는 마이크로프로세서(901)의 공개키 대신에 프로그램의 암호화를 위한 공통키를 사용한다. 이 경우, 서버(93)는 공통키(Kx) 및 암호화 알고리즘을 선택하고, 공통키(Kx)를 이용하여 프로그램을 암호화 하고, 마이크로프로세서(901)에 유일한 공개키를 이용하여 공통키(Kx)를 암호화 하며, 서버(93)와 마이크로프로세서(901)간 통신을 암호화 한 후 마이크로프로세서(901)에 프로그램을 전송한다. 이러한 점에서, 서버(93)로부터 마이크로프로세서에 제공된 암호화/복호화 기능을 제2통신로가 셋업된 후 마이크로프로세서(901)에 문의하기 위한 단계를 부가함으로써, 서버(93)는 마이크로프로세서(901)에 의해 처리될 수 있는 암호화 알고리즘으로부터 암호화 알고리즘을 선택할 것이다.
이 경우, 각 프로그램에 대한 폐기 공통키가 실행 코드를 복호화 하는데 이용되어, 키 길이가 보다 더 짧아질 수 있고, 마이크로프로세서(901)의 캐쉬나 클라이언트 장치(91)의 메모리에 구성된 페이지 테이블의 크기가 보다 더 작아질 수 있다.
또한, 상술한 바와 같은 다운로딩 절차는 데이터베이스나 고객정보 등과 같은 비밀정보의 처리에 이용할 수 있다. 또한, 이러한 다운로딩 절차는 실행가능한 프로그램 이외의 어떠한 음악이나 비디오 데이터에 적용할 수 있도록 확장될 수 있고, 여기서 프로그램의 경우와 다른 점은 프로그램의 경우에 대상 마이크로프로세서에 의해서만 프로그램이 실행될 수 있는 방식으로 프로그램이 암호화 된다는 점 뿐이다.
상술한 실시예는 변조방지 마이크로프로세서를 이용하여 설명한 예이고, 통상의 변조방지 프로세서를 이용한 경우에도 동일하게 적용할 수 있다.
또한, 본 발명은 상술한 실시예 외에 본 발명의 목적 및 배경을 벗어나지 않는 범위 내에서 다양하게 변경하여 실시할 수 있다.
이상 설명한 바와 같이 본 발명에 의하면, 네트워크를 통해 안전하고 확실하게 프로그램 분배장치로부터 클라이언트 장치로 암호화 프로그램이 분배될 수 있다. 또한, 마이크로프로세서에서 실행되는 변조방지 다운로딩 프로그램을 사용함으로써, 어떠한 제3자의 간섭없이 안전하고 효과적으로 프로그램 분배장치와 마이크로프로세서간 직접 프로그램 다운로딩이 수행될 수 있다.
또한, 컴퓨터 독출가능 기록매체 내에 비암호화 평문 형태로 외부 프로그램에 직접 조회하기 위한 IAT영역을 저장하고 암호화 형태로 프로그램 코드부를 기록함으로써, 프로그램 실행시에 정확하게 재배치가 수행될 수 있다.

Claims (19)

  1. 유일한 비밀키 및 이 유일한 비밀키에 대응하는 유일한 공개키가 미리 제공된 변조방지 프로세서를 갖춘 클라이언트 장치에 네트워크를 통해 실행가능한 프로그램을 분배하기 위한 프로그램 분배장치에 있어서,
    상기 프로그램 분배장치와 상기 클라이언트 장치간 제1통신로를 셋업하도록 구성된 제1통신로 셋업유닛과,
    상기 제1통신로 상에, 상기 프로그램 분배장치와 상기 변조방지 프로세서를 직접 연결하는 제2통신로를 셋업하도록 구성된 제2통신로 셋업유닛,
    상기 클라이언트 장치에 분배되는 실행가능한 프로그램을 암호화 하여 암호화 프로그램을 생성하도록 구성된 암호화 처리유닛 및,
    상기 제2통신로를 통해 상기 변조방지 프로세서에 암호화 프로그램을 전송하도록 구성된 전송유닛을 구비하여 구성된 것을 특징으로 하는 프로그램 분배장치.
  2. 제1항에 있어서, 상기 제1통신로를 통해 상기 클라이언트 장치로부터 수신된 사용자의 사용자 ID를 사용함으로써, 상기 클라이언트 장치를 사용하는 사용자의 인증을 수행하도록 구성된 사용자 인증유닛을 더 구비하여 구성된 것을 특징으로 하는 프로그램 분배장치.
  3. 제1항에 있어서, 상기 변조방지 프로세서가 상기 제2통신로를 통해 상기 클라이언트 장치로부터 수신된 유일한 비밀키 및 유일한 공개키를 확실히 갖춘 것임을 증명하는 증명을 검증함으로써, 상기 변조방지 프로세서의 인증을 수행하도록 구성된 프로세서 인증유닛을 더 구비하여 구성된 것을 특징으로 하는 프로그램 분배장치.
  4. 제1항에 있어서, 상기 암호화 처리유닛은 상기 제2통신로를 통해 상기 변조방지 프로세서로부터 수신된 상기 유일한 공개키를 사용하여 상기 실행가능한 프로그램을 암호화 하는 것을 특징으로 하는 프로그램 분배장치.
  5. 제1항에 있어서, 상기 암호화 처리유닛은 공통키를 사용하여 상기 실행가능한 프로그램을 암호화 하고, 상기 제2통신로를 통해 상기 변조방지 프로세서로부터 수신된 상기 유일한 공개키를 사용하여 상기 공통키를 암호화 하며,
    상기 전송유닛은 상기 제2통신로를 통해 상기 변조방지 프로세서에 암호화 공통키와 함께 암호화 프로그램을 전송하는 것을 특징으로 하는 프로그램 분배장치.
  6. 제1항에 있어서, 상기 제2통신로를 통한 통신은 암호통신인 것을 특징으로 하는 프로그램 분배장치.
  7. 네트워크를 통해 프로그램 분배장치로부터 분배된 프로그램을 수신하기 위한클라이언트 장치에 있어서,
    유일한 비밀키 및 이 유일한 비밀키에 대응하는 유일한 공개키가 미리 제공된 변조방지 프로세서와,
    상기 프로그램 분배장치와 상기 클라이언트 장치간 제1통신로를 셋업하도록 구성된 제1통신로 셋업유닛,
    상기 제1통신로 상에, 상기 프로그램 분배장치와 상기 변조방지 프로세서를 직접 연결하는 제2통신로를 셋업하도록 구성된 제2통신로 셋업유닛 및,
    상기 제2통신로를 통해 상기 프로그램 분배장치로부터 암호화 프로그램을 수신하도록 구성된 프로그램 수신유닛을 구비하여 구성된 것을 특징으로 하는 클라이언트 장치.
  8. 제7항에 있어서, 상기 제1통신로를 통해 상기 프로그램 분배장치에 사용자의 사용자 ID를 전송함으로써, 상기 프로그램 분배장치에 대한 상기 클라이언트 장치를 사용하는 사용자의 인증을 수행하도록 구성된 사용자 인증유닛을 더 구비하여 구성된 것을 특징으로 하는 클라이언트 장치.
  9. 제7항에 있어서, 상기 제2통신로를 통해, 상기 변조방지 프로세서가 상기 유일한 비밀키 및 상기 유일한 공개키를 확실히 갖춘 것임을 증명하는 증명을 전송함으로써, 상기 프로그램 분배장치에 대한 상기 변조방지 프로세서의 인증을 수행하도록 구성된 인증유닛을 더 구비하여 구성된 것을 특징으로 하는 클라이언트 장치.
  10. 제7항에 있어서, 상기 프로그램 수신유닛은 상기 제2통신로를 통해 상기 변조방지 프로세서로부터 상기 프로그램 분배장치로 통지된 상기 유일한 공개키를 사용하여 암호화 된 암호화 프로그램을 수신하는 것을 특징으로 하는 클라이언트 장치.
  11. 제7항에 있어서, 상기 프로그램 수신유닛은 공통키를 사용하여 암호화 된 암호화 프로그램과, 상기 제2통신로를 통해 상기 변조방지 프로세서로부터 상기 프로그램 분배장치로 통지된 상기 유일한 공개키를 사용하여 암호화 된 암호화 공통키를 수신하는 것을 특징으로 하는 클라이언트 장치.
  12. 제7항에 있어서, 상기 제2통신로를 통한 통신은 암호통신인 것을 특징으로 하는 클라이언트 장치.
  13. 네트워크를 통해 실행가능한 프로그램을 분배하기 위해 네트워크에 연결된 프로그램 분배장치와,
    상기 네트워크를 통해 상기 프로그램 분배장치로부터 분배된 상기 실행가능한 프로그램을 수신하기 위해 상기 네트워크에 연결된 클라이언트 장치를 구비하여 구성되고,
    상기 클라이언트 장치는;
    유일한 비밀키 및 이 유일한 비밀키에 대응하는 유일한 공개키가 미리 제공된 변조방지 프로세서와,
    상기 프로그램 분배장치와 상기 클라이언트 장치간 제1통신로를 셋업하도록 구성된 클라이언트측 제1통신로 셋업유닛,
    상기 제1통신로 상에, 상기 프로그램 분배장치와 상기 변조방지 프로세서를 직접 연결하는 제2통신로를 셋업하도록 구성된 클라이언트측 제2통신로 셋업유닛 및,
    상기 제2통신로를 통해 상기 프로그램 분배장치로부터 암호화 프로그램을 수신하도록 구성된 프로그램 수신유닛을 갖추며,
    상기 프로그램 분배장치는;
    상기 프로그램 분배장치와 상기 클라이언트 장치간 제1통신로를 셋업하도록 구성된 서버측 제1통신로 셋업유닛과,
    상기 제1통신로 상에, 상기 프로그램 분배장치와 상기 변조방지 프로세서를 직접 연결하는 제2통신로를 셋업하도록 구성된 서버측 제2통신로 셋업유닛,
    상기 클라이언트 장치에 분배되는 실행가능한 프로그램을 암호화 하여 암호화 프로그램을 생성하도록 구성된 암호화 처리유닛 및,
    상기 제2통신로를 통해 상기 변조방지 프로세서에 암호화 프로그램을 전송하도록 구성된 전송유닛을 갖춘 것을 특징으로 하는 프로그램 분배 시스템.
  14. 유일한 비밀키 및 이 유일한 비밀키에 대응하는 유일한 공개키가 미리 제공된 변조방지 프로세서를 갖춘 클라이언트 장치에 프로그램 분배장치로부터 네트워크를 통해 실행가능한 프로그램을 분배하기 위한 방법에 있어서,
    상기 프로그램 분배장치와 상기 클라이언트 장치간 제1통신로를 셋업하는 단계와,
    상기 제1통신로 상에, 상기 프로그램 분배장치와 상기 변조방지 프로세서를 직접 연결하는 제2통신로를 셋업하는 단계,
    상기 프로그램 분배장치에서, 상기 클라이언트 장치에 분배되는 실행가능한 프로그램을 암호화 하여 암호화 프로그램을 생성하는 단계 및,
    상기 제2통신로를 통해 상기 프로그램 분배장치로부터 상기 변조방지 프로세서로 상기 암호화 프로그램을 전송하는 단계를 구비하여 이루어진 것을 특징으로 하는 실행가능한 프로그램을 분배하기 위한 방법.
  15. 제14항에 있어서, 상기 제1통신로를 통해 상기 클라이언트 장치로부터 수신된 사용자의 사용자 ID를 사용함으로써, 상기 클라이언트 장치를 사용하는 사용자의 인증을 수행하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 실행가능한 프로그램을 분배하기 위한 방법.
  16. 제14항에 있어서, 상기 변조방지 프로세서가 상기 제2통신로를 통해 상기 클라이언트 장치로부터 수신된 상기 유일한 비밀키 및 상기 유일한 공개키를 확실히 갖춘 것임을 증명하는 증명을 검증함으로써, 상기 변조방지 프로세서의 인증을 수행하는 단계를 더 구비하여 이루어진 것을 특징으로 하는 실행가능한 프로그램을 분배하기 위한 방법.
  17. 제14항에 있어서, 상기 생성단계는 상기 제2통신로를 통해 상기 변조방지 프로세서로부터 수신된 상기 유일한 공개키를 사용하여 상기 실행가능한 프로그램을 암호화 하는 것을 특징으로 하는 실행가능한 프로그램을 분배하기 위한 방법.
  18. 제1항에 있어서, 상기 생성단계는 공통키를 사용하여 상기 실행가능한 프로그램을 암호화 하고, 상기 제2통신로를 통해 상기 변조방지 프로세서로부터 수신된 상기 유일한 공개키를 사용하여 상기 공통키를 암호화 하며,
    상기 전송단계는 상기 제2통신로를 통해 상기 변조방지 프로세서에 암호화 공통키와 함께 암호화 프로그램을 전송하는 것을 특징으로 하는 프로그램 분배장치.
  19. 제14항에 있어서, 상기 제2통신로를 통한 통신은 암호통신인 것을 특징으로 하는 실행가능한 프로그램을 분배하기 위한 방법.
KR1020010007301A 2000-02-14 2001-02-14 변조방지 프로세서를 이용하여 프로그램을 분배하기 위한방법 및 시스템 KR100362219B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000035898A JP3801833B2 (ja) 2000-02-14 2000-02-14 マイクロプロセッサ
JP2000-035898 2000-02-14
JP2000-135010 2000-05-08
JP2000135010A JP4226760B2 (ja) 2000-05-08 2000-05-08 マイクロプロセッサ、これを用いたマルチタスク実行方法、およびマルチレッド実行方法

Publications (2)

Publication Number Publication Date
KR20010082632A KR20010082632A (ko) 2001-08-30
KR100362219B1 true KR100362219B1 (ko) 2002-11-23

Family

ID=26585335

Family Applications (2)

Application Number Title Priority Date Filing Date
KR10-2001-0007300A KR100375158B1 (ko) 2000-02-14 2001-02-14 변조방지 마이크로프로세서
KR1020010007301A KR100362219B1 (ko) 2000-02-14 2001-02-14 변조방지 프로세서를 이용하여 프로그램을 분배하기 위한방법 및 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR10-2001-0007300A KR100375158B1 (ko) 2000-02-14 2001-02-14 변조방지 마이크로프로세서

Country Status (5)

Country Link
US (3) US6983374B2 (ko)
EP (2) EP1126356B1 (ko)
KR (2) KR100375158B1 (ko)
CN (2) CN1220121C (ko)
DE (1) DE60135695D1 (ko)

Families Citing this family (208)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7600131B1 (en) 1999-07-08 2009-10-06 Broadcom Corporation Distributed processing in a cryptography acceleration chip
US6983374B2 (en) 2000-02-14 2006-01-03 Kabushiki Kaisha Toshiba Tamper resistant microprocessor
US6895506B1 (en) * 2000-05-16 2005-05-17 Loay Abu-Husein Secure storage and execution of processor control programs by encryption and a program loader/decryption mechanism
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
FR2817067B1 (fr) * 2000-11-21 2003-02-21 Cyber Comm Procede et dispositif d'authentification de documents electroniques au moyen d'une signature numerique
US20020114457A1 (en) * 2001-01-26 2002-08-22 Takahiro Sato LSI having interpreter function and information recording/reproducing apparatus using the same
US7260820B1 (en) 2001-04-26 2007-08-21 Vm Ware, Inc. Undefeatable transformation for virtual machine I/O operations
US7428636B1 (en) * 2001-04-26 2008-09-23 Vmware, Inc. Selective encryption system and method for I/O operations
TWI256001B (en) * 2001-05-14 2006-06-01 Ntt Docomo Inc System for managing program stored in storage block of mobile terminal
US7979740B2 (en) * 2001-05-21 2011-07-12 Mudalla Technology, Inc. Gaming machine having game play suspension and resumption features using biometrically-based authentication and method of operating same
US20050097342A1 (en) * 2001-05-21 2005-05-05 Cyberscan Technology, Inc. Trusted watchdog method and apparatus for securing program execution
US7051332B2 (en) * 2001-05-21 2006-05-23 Cyberscan Technology, Inc. Controller having a restart engine configured to initiate a controller restart cycle upon receipt of a timeout signal from a watchdog timer
US7237121B2 (en) * 2001-09-17 2007-06-26 Texas Instruments Incorporated Secure bootloader for securing digital devices
US7181530B1 (en) * 2001-07-27 2007-02-20 Cisco Technology, Inc. Rogue AP detection
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
JP4226816B2 (ja) * 2001-09-28 2009-02-18 株式会社東芝 マイクロプロセッサ
KR100692425B1 (ko) * 2001-09-28 2007-03-09 하이 덴시티 디바이시스 에이에스 대량 저장 장치의 암호화/복호화를 위한 방법 및 장치
CN1559026A (zh) * 2001-11-12 2004-12-29 �����о�ʵ�������޹�˾ 防止非法使用信息的方法和装置
US20030115471A1 (en) * 2001-12-19 2003-06-19 Skeba Kirk W. Method and apparatus for building operational radio firmware using incrementally certified modules
KR100458515B1 (ko) * 2001-12-21 2004-12-03 한국전자통신연구원 무선 인터넷을 통한 이동 단말용 응용프로그램 설치시스템 및 그 방법
US7305567B1 (en) * 2002-03-01 2007-12-04 Cavium Networks, In. Decoupled architecture for data ciphering operations
KR20030075018A (ko) * 2002-03-15 2003-09-22 주식회사 셈틀로미디어 변조 방지용 소프트웨어 파일 생성 장치와 그 소프트웨어파일의 자가 무결성 검증 방법 및 클라이언트-서버환경에서의 소프트웨어 파일의 자가 무결성 검증 방법
US7900054B2 (en) * 2002-03-25 2011-03-01 Intel Corporation Security protocols for processor-based systems
JP2003330365A (ja) * 2002-05-09 2003-11-19 Toshiba Corp コンテンツ配布/受信方法
KR100619657B1 (ko) 2002-06-05 2006-09-08 후지쯔 가부시끼가이샤 메모리 관리 유닛, 코드 검증 장치 및 코드 복호 장치
US7392415B2 (en) * 2002-06-26 2008-06-24 Intel Corporation Sleep protection
WO2004006075A1 (ja) * 2002-07-09 2004-01-15 Fujitsu Limited 開放型汎用耐攻撃cpu及びその応用システム
US20040017918A1 (en) * 2002-07-24 2004-01-29 Christophe Nicolas Process for point-to-point secured transmission of data and electronic module for implementing the process
JP2004054834A (ja) 2002-07-24 2004-02-19 Matsushita Electric Ind Co Ltd プログラム開発方法、プログラム開発支援装置およびプログラム実装方法
EP1429224A1 (en) * 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
JP4099039B2 (ja) 2002-11-15 2008-06-11 松下電器産業株式会社 プログラム更新方法
US7137109B2 (en) * 2002-12-17 2006-11-14 Hewlett-Packard Development Company, L.P. System and method for managing access to a controlled space in a simulator environment
US7568110B2 (en) 2002-12-18 2009-07-28 Broadcom Corporation Cryptography accelerator interface decoupling from cryptography processing cores
US20040123120A1 (en) * 2002-12-18 2004-06-24 Broadcom Corporation Cryptography accelerator input interface data handling
US7434043B2 (en) 2002-12-18 2008-10-07 Broadcom Corporation Cryptography accelerator data routing unit
US20040123123A1 (en) * 2002-12-18 2004-06-24 Buer Mark L. Methods and apparatus for accessing security association information in a cryptography accelerator
US7512811B2 (en) * 2003-01-14 2009-03-31 Canon Kabushiki Kaisha Encryption/decryption method for data limited in value range, apparatus and program therefor
JP3880933B2 (ja) * 2003-01-21 2007-02-14 株式会社東芝 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法
US7370319B2 (en) * 2003-02-11 2008-05-06 V.I. Laboratories, Inc. System and method for regulating execution of computer software
US8225290B2 (en) * 2003-02-11 2012-07-17 V. i. Laboratories, Inc. Systems and methods for regulating execution of computer software
US7529367B2 (en) * 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent cipher feedback mode cryptographic functions
US7542566B2 (en) * 2003-04-18 2009-06-02 Ip-First, Llc Apparatus and method for performing transparent cipher block chaining mode cryptographic functions
US7392400B2 (en) * 2003-04-18 2008-06-24 Via Technologies, Inc. Microprocessor apparatus and method for optimizing block cipher cryptographic functions
US7519833B2 (en) * 2003-04-18 2009-04-14 Via Technologies, Inc. Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine
US7502943B2 (en) * 2003-04-18 2009-03-10 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic block cipher round results
US7925891B2 (en) * 2003-04-18 2011-04-12 Via Technologies, Inc. Apparatus and method for employing cryptographic functions to generate a message digest
US7536560B2 (en) * 2003-04-18 2009-05-19 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic key size
US7844053B2 (en) * 2003-04-18 2010-11-30 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7539876B2 (en) * 2003-04-18 2009-05-26 Via Technologies, Inc. Apparatus and method for generating a cryptographic key schedule in a microprocessor
US7529368B2 (en) * 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent output feedback mode cryptographic functions
US7321910B2 (en) * 2003-04-18 2008-01-22 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7532722B2 (en) * 2003-04-18 2009-05-12 Ip-First, Llc Apparatus and method for performing transparent block cipher cryptographic functions
US7900055B2 (en) * 2003-04-18 2011-03-01 Via Technologies, Inc. Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms
US8060755B2 (en) * 2003-04-18 2011-11-15 Via Technologies, Inc Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine
GB2403562A (en) * 2003-07-04 2005-01-05 Hewlett Packard Development Co Secure processing environment in which executable code for services is only received by a secure loading process through the service request interface
US7366302B2 (en) * 2003-08-25 2008-04-29 Sony Corporation Apparatus and method for an iterative cryptographic block
KR101059257B1 (ko) 2003-08-26 2011-08-24 파나소닉 주식회사 프로그램 실행장치
JP4263976B2 (ja) * 2003-09-24 2009-05-13 株式会社東芝 オンチップマルチコア型耐タンパプロセッサ
US7681046B1 (en) 2003-09-26 2010-03-16 Andrew Morgan System with secure cryptographic capabilities using a hardware specific digital secret
TWI274280B (en) * 2003-09-29 2007-02-21 Via Tech Inc Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms
TWI247241B (en) * 2003-09-29 2006-01-11 Ip First Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7694151B1 (en) * 2003-11-20 2010-04-06 Johnson Richard C Architecture, system, and method for operating on encrypted and/or hidden information
US8156343B2 (en) * 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
TWI274281B (en) * 2003-12-04 2007-02-21 Ip First Llc Apparatus and method for performing transparent block cipher cryptographic functions
JP4282472B2 (ja) * 2003-12-26 2009-06-24 株式会社東芝 マイクロプロセッサ
CN1661958B (zh) * 2004-03-15 2010-04-28 威盛电子股份有限公司 区块密码功能的微处理器及方法
US20070245419A1 (en) * 2004-04-29 2007-10-18 Padraig Omahony Intrusion detection during program execution in a computer
US9219729B2 (en) * 2004-05-19 2015-12-22 Philip Drope Multimedia network system with content importation, content exportation, and integrated content management
JP2005346182A (ja) * 2004-05-31 2005-12-15 Fujitsu Ltd 情報処理装置、耐タンパ方法、耐タンパプログラム
US20050276413A1 (en) * 2004-06-14 2005-12-15 Raja Neogi Method and apparatus to manage heterogeneous cryptographic operations
CN100353276C (zh) * 2004-06-24 2007-12-05 株式会社东芝 微处理器
CN100354787C (zh) * 2004-06-24 2007-12-12 株式会社东芝 微处理器
JP4559794B2 (ja) * 2004-06-24 2010-10-13 株式会社東芝 マイクロプロセッサ
JP4612461B2 (ja) * 2004-06-24 2011-01-12 株式会社東芝 マイクロプロセッサ
JP4447977B2 (ja) 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
JP4490192B2 (ja) * 2004-07-02 2010-06-23 株式会社エヌ・ティ・ティ・ドコモ マルチタスク実行システム
JP2006023957A (ja) * 2004-07-07 2006-01-26 Sony Corp 半導体集積回路及び情報処理装置
JP4204522B2 (ja) * 2004-07-07 2009-01-07 株式会社東芝 マイクロプロセッサ
US20060136717A1 (en) 2004-12-20 2006-06-22 Mark Buer System and method for authentication via a proximate device
US8295484B2 (en) 2004-12-21 2012-10-23 Broadcom Corporation System and method for securing data from a remote input device
JP2006202017A (ja) * 2005-01-20 2006-08-03 Sharp Corp 情報処理装置、情報記憶装置、情報処理装置の機能拡張システム、情報処理装置の機能拡張方法及び機能削除方法、並びに情報処理装置の機能拡張プログラム及び機能削除プログラム
EP1717723A1 (en) * 2005-04-29 2006-11-02 ST Incard S.r.l. Improved virtual machine or hardware processor for IC-card portable electronic devices
JP2006311462A (ja) * 2005-05-02 2006-11-09 Toshiba Corp コンテンツ検索装置及びその方法
US9633213B2 (en) * 2005-05-16 2017-04-25 Texas Instruments Incorporated Secure emulation logic between page attribute table and test interface
US20060259828A1 (en) * 2005-05-16 2006-11-16 Texas Instruments Incorporated Systems and methods for controlling access to secure debugging and profiling features of a computer system
US7874009B2 (en) * 2005-05-26 2011-01-18 Panasonic Corporation Data processing device
US7571298B2 (en) * 2005-06-30 2009-08-04 Intel Corporation Systems and methods for host virtual memory reconstitution
US7953980B2 (en) 2005-06-30 2011-05-31 Intel Corporation Signed manifest for run-time verification of software program identity and integrity
US8839450B2 (en) 2007-08-02 2014-09-16 Intel Corporation Secure vault service for software components within an execution environment
US7669242B2 (en) * 2005-06-30 2010-02-23 Intel Corporation Agent presence monitor configured to execute in a secure environment
US20070006307A1 (en) * 2005-06-30 2007-01-04 Hahn Scott D Systems, apparatuses and methods for a host software presence check from an isolated partition
EP1752937A1 (en) * 2005-07-29 2007-02-14 Research In Motion Limited System and method for encrypted smart card PIN entry
JP2007058588A (ja) * 2005-08-24 2007-03-08 Toshiba Corp プログラム保護機能を持つプロセッサ
US8171268B2 (en) * 2005-09-19 2012-05-01 Intel Corporation Technique for context state management to reduce save and restore operations between a memory and a processor using in-use vectors
US20070067590A1 (en) * 2005-09-22 2007-03-22 Uday Savagaonkar Providing protected access to critical memory regions
US7496727B1 (en) 2005-12-06 2009-02-24 Transmeta Corporation Secure memory access system and method
US20070168680A1 (en) * 2006-01-13 2007-07-19 Lockheed Martin Corporation Anti-tamper system
US7681047B2 (en) * 2006-04-18 2010-03-16 International Business Machines Corporation Decryption of data in storage systems
US7428306B2 (en) * 2006-04-18 2008-09-23 International Business Machines Corporation Encryption apparatus and method for providing an encrypted file system
US7660769B2 (en) 2006-09-12 2010-02-09 International Business Machines Corporation System and method for digital content player with secure processing vault
US8095802B2 (en) 2006-09-12 2012-01-10 International Business Machines Corporation System and method for securely saving a program context to a shared memory
US8190917B2 (en) 2006-09-12 2012-05-29 International Business Machines Corporation System and method for securely saving and restoring a context of a secure program loader
US7945789B2 (en) * 2006-09-12 2011-05-17 International Business Machines Corporation System and method for securely restoring a program context from a shared memory
WO2008035141A2 (en) * 2006-09-20 2008-03-27 Chan Kam-Fu From polymorphic executable to polymorphic operating system
US7882318B2 (en) * 2006-09-29 2011-02-01 Intel Corporation Tamper protection of software agents operating in a vitual technology environment methods and apparatuses
US7802050B2 (en) * 2006-09-29 2010-09-21 Intel Corporation Monitoring a target agent execution pattern on a VT-enabled system
US20080141382A1 (en) * 2006-12-12 2008-06-12 Lockheed Martin Corporation Anti-tamper device
US8495383B2 (en) * 2006-12-14 2013-07-23 Nokia Corporation Method for the secure storing of program state data in an electronic device
US8245307B1 (en) * 2006-12-18 2012-08-14 Nvidia Corporation Providing secure access to a secret
US20080148061A1 (en) * 2006-12-19 2008-06-19 Hongxia Jin Method for effective tamper resistance
US20080155273A1 (en) * 2006-12-21 2008-06-26 Texas Instruments, Inc. Automatic Bus Encryption And Decryption
US7949130B2 (en) * 2006-12-28 2011-05-24 Intel Corporation Architecture and instruction set for implementing advanced encryption standard (AES)
US20080229117A1 (en) * 2007-03-07 2008-09-18 Shin Kang G Apparatus for preventing digital piracy
EP1978466A1 (en) * 2007-04-05 2008-10-08 STMicroelectronics (Research & Development) Limited Integrated circuit and method for secure execution of software
KR101405915B1 (ko) 2007-04-26 2014-06-12 삼성전자주식회사 데이터의 암호화 저장 방법 및 암호화된 데이터의 판독방법
US20100088528A1 (en) * 2007-05-03 2010-04-08 Radu Sion Method and apparatus for tamper-proof wirte-once-read-many computer storage
EP2015561A1 (fr) * 2007-07-10 2009-01-14 Nagracard S.A. Procédé d'envoi d'un code exécutable à un dispositif de réception et procédé d'exécution de ce code
US8312518B1 (en) * 2007-09-27 2012-11-13 Avaya Inc. Island of trust in a service-oriented environment
JP5201716B2 (ja) * 2007-09-28 2013-06-05 東芝ソリューション株式会社 暗号モジュール配信システム、暗号管理サーバ装置、暗号処理装置、クライアント装置、暗号管理プログラム、暗号処理プログラム、およびクライアントプログラム
US8539098B2 (en) 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
US8099718B2 (en) * 2007-11-13 2012-01-17 Intel Corporation Method and system for whitelisting software components
JP4976991B2 (ja) * 2007-11-22 2012-07-18 株式会社東芝 情報処理装置、プログラム検証方法及びプログラム
US8978132B2 (en) * 2008-05-24 2015-03-10 Via Technologies, Inc. Apparatus and method for managing a microprocessor providing for a secure execution mode
US8819839B2 (en) 2008-05-24 2014-08-26 Via Technologies, Inc. Microprocessor having a secure execution mode with provisions for monitoring, indicating, and managing security levels
US8175265B2 (en) 2008-09-02 2012-05-08 Apple Inc. Systems and methods for implementing block cipher algorithms on attacker-controlled systems
US8745411B2 (en) * 2008-11-07 2014-06-03 Broadcom Corporation Protecting external volatile memories using low latency encryption/decryption
JP5322620B2 (ja) 2008-12-18 2013-10-23 株式会社東芝 情報処理装置、プログラム開発システム、プログラム検証方法及びプログラム
US8364601B2 (en) * 2008-12-31 2013-01-29 Intel Corporation Methods and systems to directly render an image and correlate corresponding user input in a secure memory domain
US9846789B2 (en) 2011-09-06 2017-12-19 International Business Machines Corporation Protecting application programs from malicious software or malware
US8578175B2 (en) 2011-02-23 2013-11-05 International Business Machines Corporation Secure object having protected region, integrity tree, and unprotected region
US9954875B2 (en) 2009-06-26 2018-04-24 International Business Machines Corporation Protecting from unintentional malware download
US9298894B2 (en) 2009-06-26 2016-03-29 International Business Machines Corporation Cache structure for a computer system providing support for secure objects
US8954752B2 (en) 2011-02-23 2015-02-10 International Business Machines Corporation Building and distributing secure object software
US8819446B2 (en) * 2009-06-26 2014-08-26 International Business Machines Corporation Support for secure objects in a computer system
US8812872B2 (en) * 2010-02-08 2014-08-19 Hypertech Co., Ltd. Memory managment method
WO2011101972A1 (ja) 2010-02-18 2011-08-25 株式会社東芝 プログラム
DE102010010851A1 (de) * 2010-03-10 2011-09-15 Giesecke & Devrient Gmbh Ausspähungsschutz bei der Ausführung einer Operationssequenz in einem tragbaren Datenträger
US8370648B1 (en) * 2010-03-15 2013-02-05 Emc International Company Writing and reading encrypted data using time-based encryption keys
US20110258430A1 (en) * 2010-04-15 2011-10-20 Nokia Corporation Method and apparatus for applying execution context criteria for execution context sharing
TWI497344B (zh) * 2010-05-17 2015-08-21 Via Tech Inc 微處理器及產生不可預測之鑰的方法
US9798898B2 (en) 2010-05-25 2017-10-24 Via Technologies, Inc. Microprocessor with secure execution mode and store key instructions
US9911008B2 (en) 2010-05-25 2018-03-06 Via Technologies, Inc. Microprocessor with on-the-fly switching of decryption keys
US9967092B2 (en) 2010-05-25 2018-05-08 Via Technologies, Inc. Key expansion logic using decryption key primitives
US8719589B2 (en) * 2010-05-25 2014-05-06 Via Technologies, Inc. Microprocessor that facilitates task switching between multiple encrypted programs having different associated decryption key values
US9892283B2 (en) 2010-05-25 2018-02-13 Via Technologies, Inc. Decryption of encrypted instructions using keys selected on basis of instruction fetch address
US8990582B2 (en) * 2010-05-27 2015-03-24 Cisco Technology, Inc. Virtual machine memory compartmentalization in multi-core architectures
US8812871B2 (en) * 2010-05-27 2014-08-19 Cisco Technology, Inc. Method and apparatus for trusted execution in infrastructure as a service cloud environments
JP5171907B2 (ja) * 2010-09-13 2013-03-27 株式会社東芝 情報処理装置、情報処理プログラム
JP2012080295A (ja) * 2010-09-30 2012-04-19 Toshiba Corp 情報記憶装置、情報記憶方法、及び電子機器
JP2012084071A (ja) 2010-10-14 2012-04-26 Toshiba Corp デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置
US8955110B1 (en) 2011-01-14 2015-02-10 Robert W. Twitchell, Jr. IP jamming systems utilizing virtual dispersive networking
US8941659B1 (en) 2011-01-28 2015-01-27 Rescon Ltd Medical symptoms tracking apparatus, methods and systems
US9864853B2 (en) 2011-02-23 2018-01-09 International Business Machines Corporation Enhanced security mechanism for authentication of users of a system
US8839001B2 (en) * 2011-07-06 2014-09-16 The Boeing Company Infinite key memory transaction unit
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
US9166953B2 (en) 2011-10-31 2015-10-20 Nokia Technologies Oy Method and apparatus for providing identity based encryption in distributed computations
US20130108038A1 (en) * 2011-11-01 2013-05-02 Apple Inc. System and method for a collatz based hash function
JP5275432B2 (ja) 2011-11-11 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
CN102509048A (zh) * 2011-11-14 2012-06-20 西安电子科技大学 防止操作***中断流程被非法转移的方法
JP5112555B1 (ja) 2011-12-02 2013-01-09 株式会社東芝 メモリカード、ストレージメディア、及びコントローラ
JP5100884B1 (ja) 2011-12-02 2012-12-19 株式会社東芝 メモリ装置
JP5204290B1 (ja) 2011-12-02 2013-06-05 株式会社東芝 ホスト装置、システム、及び装置
JP5204291B1 (ja) 2011-12-02 2013-06-05 株式会社東芝 ホスト装置、装置、システム
CN102521037B (zh) * 2011-12-05 2013-12-25 晶门科技(深圳)有限公司 使用双上下文存储的密码学算法协处理器及数据流处理方法
JP5275482B2 (ja) 2012-01-16 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
US8954755B2 (en) 2012-01-23 2015-02-10 International Business Machines Corporation Memory address translation-based data encryption with integrated encryption engine
EP2653992A1 (en) 2012-04-17 2013-10-23 Itron, Inc. Microcontroller configured for external memory decryption
JP6201298B2 (ja) * 2012-11-14 2017-09-27 オムロン株式会社 コントローラおよびプログラム
US9183161B2 (en) * 2012-12-28 2015-11-10 Intel Corporation Apparatus and method for page walk extension for enhanced security checks
US9201811B2 (en) 2013-02-14 2015-12-01 Kabushiki Kaisha Toshiba Device and authentication method therefor
US8984294B2 (en) 2013-02-15 2015-03-17 Kabushiki Kaisha Toshiba System of authenticating an individual memory device via reading data including prohibited data and readable data
US11044076B2 (en) * 2013-02-25 2021-06-22 Hecusys, LLC Encrypted data processing
US9846656B2 (en) 2013-04-17 2017-12-19 Laurence H. Cooke Secure computing
US9280490B2 (en) * 2013-04-17 2016-03-08 Laurence H. Cooke Secure computing
US10055588B2 (en) * 2013-11-13 2018-08-21 Via Technologies, Inc. Event-based apparatus and method for securing BIOS in a trusted computing system during execution
US9547767B2 (en) * 2013-11-13 2017-01-17 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9223965B2 (en) 2013-12-10 2015-12-29 International Business Machines Corporation Secure generation and management of a virtual card on a mobile device
US9235692B2 (en) 2013-12-13 2016-01-12 International Business Machines Corporation Secure application debugging
TWI712915B (zh) 2014-06-12 2020-12-11 美商密碼研究公司 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體
US9954849B2 (en) * 2014-06-27 2018-04-24 Oath (Americas) Inc. Systems and methods for managing secure sharing of online advertising data
US20170228548A1 (en) * 2014-08-20 2017-08-10 Intel Corporation Encrypted code execution
US9967319B2 (en) * 2014-10-07 2018-05-08 Microsoft Technology Licensing, Llc Security context management in multi-tenant environments
GB2531770A (en) * 2014-10-30 2016-05-04 Ibm Confidential Extracting System Internal Data
US9729319B2 (en) * 2014-12-15 2017-08-08 Nxp Usa, Inc. Key management for on-the-fly hardware decryption within integrated circuits
US9418246B2 (en) * 2014-12-15 2016-08-16 Freescale Semiconductor, Inc. Decryption systems and related methods for on-the-fly decryption within integrated circuits
JP2016181836A (ja) * 2015-03-24 2016-10-13 キヤノン株式会社 情報処理装置、暗号装置、情報処理装置の制御方法、およびプログラム
US10868665B1 (en) * 2015-05-18 2020-12-15 Amazon Technologies, Inc. Mitigating timing side-channel attacks by obscuring accesses to sensitive data
US10311229B1 (en) * 2015-05-18 2019-06-04 Amazon Technologies, Inc. Mitigating timing side-channel attacks by obscuring alternatives in code
CN105530088A (zh) * 2015-09-01 2016-04-27 北京中电华大电子设计有限责任公司 一种安全的java卡密钥存储方法
US10297003B2 (en) * 2015-09-21 2019-05-21 Qualcomm Incorporated Efficient saving and restoring of context information for context switches
US9449189B1 (en) * 2015-11-03 2016-09-20 International Business Machines Corporation Protection of state data in computer system code
US10210040B2 (en) 2016-01-28 2019-02-19 Nxp Usa, Inc. Multi-dimensional parity checker (MDPC) systems and related methods for external memories
US9418327B1 (en) 2016-01-29 2016-08-16 International Business Machines Corporation Security key system
KR102068228B1 (ko) * 2016-04-12 2020-01-21 가드녹스 사이버 테크놀로지스 엘티디. 보안 록다운을 구현하도록 구성되는 관련 디바이스 및 그 사용 방법을 갖는 특별히 프로그래밍된 컴퓨터 시스템
KR101855905B1 (ko) * 2016-07-15 2018-06-19 주식회사 마크애니 영상 반출 처리 서버, 영상 반출 웹 서버 및 영상 반출 관리 시스템, 및 암호화 영상에 대한 무결성 검증 방법
DE102016009439A1 (de) * 2016-08-03 2018-02-08 Giesecke+Devrient Mobile Security Gmbh Individuelles Verschlüsseln von Steuerbefehlen
CN107066331B (zh) * 2016-12-20 2021-05-18 华为技术有限公司 一种基于TrustZone的资源分配方法及设备
DE102017212618B3 (de) * 2017-07-21 2018-12-13 Bundesdruckerei Gmbh Hardwaresystem mit Blockchain
FR3069935A1 (fr) * 2017-08-01 2019-02-08 Maxim Integrated Products, Inc. Dispositifs et procedes de protection de propriete intellectuelle de logiciel pour des plates-formes integrees
KR20190075363A (ko) * 2017-12-21 2019-07-01 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈
GB2572579B (en) * 2018-04-04 2020-09-16 Advanced Risc Mach Ltd Speculative side-channel hint instruction
US11113424B2 (en) 2019-05-07 2021-09-07 Motorola Solutions, Inc. Device, system and method for installing encrypted data
JP7249968B2 (ja) * 2020-03-09 2023-03-31 株式会社東芝 情報処理装置およびストレージ
US11502832B2 (en) 2020-06-04 2022-11-15 PUFsecurity Corporation Electronic device capable of protecting confidential data
KR102512342B1 (ko) * 2021-02-23 2023-03-22 엘아이지넥스원 주식회사 캐시 메모리에 비밀키를 저장하여 암복호화를 처리하는 점검 대상 점검 방법 및 그를 위한 장치
US11868275B2 (en) 2021-06-24 2024-01-09 International Business Machines Corporation Encrypted data processing design including local buffers
US12008150B2 (en) * 2021-06-24 2024-06-11 International Business Machines Corporation Encrypted data processing design including cleartext register files

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168396A (en) 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
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
US4847902A (en) * 1984-02-10 1989-07-11 Prime Computer, Inc. Digital computer system for executing encrypted programs
EP0175487A3 (en) * 1984-08-23 1989-03-08 Btg International Limited Software protection device
US4757533A (en) * 1985-09-11 1988-07-12 Computer Security Corporation Security system for microcomputers
US5123045A (en) * 1989-08-18 1992-06-16 Massachusetts Institute Of Technology Comprehensive software protection system
JPH0770629B2 (ja) 1990-03-20 1995-07-31 株式会社東芝 不揮発性半導体記憶装置の製造方法
JPH0520197A (ja) 1991-07-09 1993-01-29 Hitachi Ltd 記憶管理システム及びマイクロプロセツサ
US5224166A (en) 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
US5495411A (en) * 1993-12-22 1996-02-27 Ananda; Mohan Secure software rental system using continuous asynchronous password verification
US5666411A (en) * 1994-01-13 1997-09-09 Mccarty; Johnnie C. System for computer software protection
US6473860B1 (en) * 1994-04-07 2002-10-29 Hark C. Chan Information distribution and processing system
US5805706A (en) * 1996-04-17 1998-09-08 Intel Corporation Apparatus and method for re-encrypting data without unsecured exposure of its non-encrypted format
US5701343A (en) 1994-12-01 1997-12-23 Nippon Telegraph & Telephone Corporation Method and system for digital information protection
CN1312549C (zh) * 1995-02-13 2007-04-25 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的***和方法
US6246767B1 (en) * 1995-04-03 2001-06-12 Scientific-Atlanta, Inc. Source authentication of download information in a conditional access system
JPH08305558A (ja) 1995-04-27 1996-11-22 Casio Comput Co Ltd 暗号化プログラム演算装置
US6006328A (en) * 1995-07-14 1999-12-21 Christopher N. Drake Computer software authentication, protection, and security system
US5894516A (en) * 1996-07-10 1999-04-13 Ncr Corporation Broadcast software distribution
US5825878A (en) * 1996-09-20 1998-10-20 Vlsi Technology, Inc. Secure memory management unit for microprocessor
JP2980576B2 (ja) 1997-09-12 1999-11-22 株式会社東芝 物理乱数発生装置及び方法並びに物理乱数記録媒体
US6429879B1 (en) * 1997-09-30 2002-08-06 Compaq Computer Corporation Customization schemes for content presentation in a device with converged functionality
US6003117A (en) * 1997-10-08 1999-12-14 Vlsi Technology, Inc. Secure memory management unit which utilizes a system processor to perform page swapping
US6237137B1 (en) 1997-10-15 2001-05-22 Dell Usa, L.P. Method and system for preventing unauthorized access to a computer program
US6330549B1 (en) * 1997-10-30 2001-12-11 Xerox Corporation Protected shareware
JPH11282667A (ja) 1998-03-31 1999-10-15 Nakamichi Corp 多重鍵方式の暗号処理機能を有するマイクロプロセッサ
JP3713141B2 (ja) * 1998-05-19 2005-11-02 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラムの不正実行防止方法
US6385727B1 (en) * 1998-09-25 2002-05-07 Hughes Electronics Corporation Apparatus for providing a secure processing environment
EP1032869A1 (en) 1998-09-25 2000-09-06 Hughes Electronics Corporation An apparatus for providing a secure processing environment
US6567915B1 (en) * 1998-10-23 2003-05-20 Microsoft Corporation Integrated circuit card with identity authentication table and authorization tables defining access rights based on Boolean expressions of authenticated identities
US6836847B1 (en) * 1999-03-05 2004-12-28 The Johns Hokins University Software protection for single and multiple microprocessor systems
US6691226B1 (en) * 1999-03-16 2004-02-10 Western Digital Ventures, Inc. Computer system with disk drive having private key validation means for enabling features
US6651171B1 (en) * 1999-04-06 2003-11-18 Microsoft Corporation Secure execution of program code
US6468160B2 (en) * 1999-04-08 2002-10-22 Nintendo Of America, Inc. Security system for video game system with hard disk drive and internet access capability
AU5910800A (en) * 1999-06-30 2001-01-31 Accenture Llp A system, method and article of manufacture for tracking software sale transactions of an internet-based retailer for reporting to a software publisher
US6983374B2 (en) 2000-02-14 2006-01-03 Kabushiki Kaisha Toshiba Tamper resistant microprocessor
JP4153653B2 (ja) 2000-10-31 2008-09-24 株式会社東芝 マイクロプロセッサおよびデータ保護方法

Also Published As

Publication number Publication date
CN1189819C (zh) 2005-02-16
US20050166069A1 (en) 2005-07-28
DE60135695D1 (de) 2008-10-23
US20010014157A1 (en) 2001-08-16
EP1126355A1 (en) 2001-08-22
US20010018736A1 (en) 2001-08-30
US7353404B2 (en) 2008-04-01
CN1309351A (zh) 2001-08-22
KR100375158B1 (ko) 2003-03-08
KR20010082632A (ko) 2001-08-30
KR20010082631A (ko) 2001-08-30
US7270193B2 (en) 2007-09-18
EP1126356A2 (en) 2001-08-22
US6983374B2 (en) 2006-01-03
EP1126356A3 (en) 2003-01-08
CN1220121C (zh) 2005-09-21
EP1126356B1 (en) 2008-09-10
CN1309355A (zh) 2001-08-22

Similar Documents

Publication Publication Date Title
KR100362219B1 (ko) 변조방지 프로세서를 이용하여 프로그램을 분배하기 위한방법 및 시스템
KR100912276B1 (ko) 하드웨어 식별에 기초한 디지털권 관리 방법을 이용한 전자소프트웨어 배포 방법 및 시스템
US7222232B2 (en) License-based cryptographic technique particularly suited for use in a digital rights management system for controlling access and use of bore resistant software objects in a client computer
US6801999B1 (en) Passive and active software objects containing bore resistant watermarking
EP1942430B1 (en) Token Passing Technique for Media Playback Devices
EP1477879B1 (en) Tying a digital license to a user and tying the user to multiple computing devices in a digital rights management (DRM) system
RU2375748C2 (ru) Представление защищенного цифрового контента в рамках сети вычислительных устройств или т.п.
JP5330488B2 (ja) 安全にコンテンツを配布する方法及び装置
US20060149683A1 (en) User terminal for receiving license
US20060064756A1 (en) Digital rights management system based on hardware identification
US20040030911A1 (en) Contents distribution scheme using tamper-resistant processor
JP2009070397A (ja) 改竄防止ハードウェアを使用してコピー保護およびオンラインセキュリティを提供するための方法ならびにシステム
US20010056533A1 (en) Secure and open computer platform
JP2013059078A (ja) マルチメディア・データの保護
KR20050123105A (ko) 데이터 보호 관리 장치 및 데이터 보호 관리 방법
US7802109B2 (en) Trusted system for file distribution
KR20050039595A (ko) 휴대용 매체 상의 콘텐트에 대한 암호화 및 데이터 보호
US8417937B2 (en) System and method for securely transfering content from set-top box to personal media player
KR20040058278A (ko) 비인가된 사용에 대한 정보의 보호방법 및 보호장치
JPH1124916A (ja) ソフトウェアライセンス管理装置および方法
JP2000172648A (ja) ディジタル情報保護装置及びディジタル情報保護方法並びにディジタル情報保護プログラムを記録した記憶媒体
KR100831726B1 (ko) Drm 시스템에서의 보안 방법 및 시스템
JP2001356833A (ja) ソフトウェアの不正使用防止システム
JPH10274928A (ja) ユーザ認証装置および方法

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: 20091028

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee