JP2002140126A - プログラム配布システム、暗号化プログラム配布装置、プログラム不具合情報収集システム、及びプログラム配布方法 - Google Patents

プログラム配布システム、暗号化プログラム配布装置、プログラム不具合情報収集システム、及びプログラム配布方法

Info

Publication number
JP2002140126A
JP2002140126A JP2000332068A JP2000332068A JP2002140126A JP 2002140126 A JP2002140126 A JP 2002140126A JP 2000332068 A JP2000332068 A JP 2000332068A JP 2000332068 A JP2000332068 A JP 2000332068A JP 2002140126 A JP2002140126 A JP 2002140126A
Authority
JP
Japan
Prior art keywords
file
program
receiving
executable file
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000332068A
Other languages
English (en)
Other versions
JP4067757B2 (ja
Inventor
Mikio Hashimoto
幹生 橋本
Kenji Shirakawa
健治 白川
Yoshimitsu Shimojo
義満 下條
Keiichi Teramoto
圭一 寺本
Kensaku Fujimoto
謙作 藤本
Satoru Ozaki
哲 尾崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000332068A priority Critical patent/JP4067757B2/ja
Priority to EP01309273A priority patent/EP1308820A3/en
Priority to US09/984,717 priority patent/US20020053024A1/en
Publication of JP2002140126A publication Critical patent/JP2002140126A/ja
Application granted granted Critical
Publication of JP4067757B2 publication Critical patent/JP4067757B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

(57)【要約】 【課題】 暗号化されたプログラムを安全に確実に配布
するプログラム配布システム及びその方法を提供する。 【解決手段】 ソースファイル送信装置101 は、ソース
ファイルを暗号化プログラム配布装置102に送信し、暗
号化プログラム配布装置102は、これをコンパイルし実
行ファイルとする。更にこの実行ファイルを所定の鍵で
暗号化し、実行ファイル受信装置103に送信する。実行
ファイル受信装置103は受信した実行ファイルを、所定
の鍵に対応した自装置のプロセッサ固有の鍵を用いて復
号し、実行ファイルを取り出して実行する。また、この
実行ファイルの不具合情報を暗号化プログラム配布装置
102に送信する。暗号化プログラム配布装置102はユーザ
の所定の秘密情報を取り除き、平文としてソースファイ
ル送信装置101に送信する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、暗号化されたプロ
グラムの配布システムに係り、特に安全であることが保
証された暗号化されたプログラムの検証、配布、バグ情
報のフィードバックなどを実現するプログラム配布シス
テム、暗号化プログラム配布装置及びその方法に関す
る。
【0002】
【従来の技術】一般にプログラム開発にあたってはC言
語などの高級言語が使用されることが多い。この高級言
語で書かれたソースファイルをコンパイル及びリンクす
ることで実行ファイルが生成される。
【0003】コンパイル及びリンクされた実行ファイル
には、メモリに置かれるデータと直接プログラムローダ
によって解釈されるがメモリには配置されないデータと
がある。さらに前者は、CPUが直接読み取り実行可能
な機械語命令列と、命令としては実行されないデータと
からなる。
【0004】ここでは実行ファイルと呼ぶ場合は、シェ
ルスクリプトなどの機械語以外で書かれたものは含ま
ず、機械語命令列を含むものとする。
【0005】近年、このソフトウェア(プログラム)の
不正な解析、改変が問題となっている。本発明の発明者
らによる特願2000-35898の特許出願明細書に記載された
プログラムとデータを暗号化する機能を備えたマイクロ
プロセッサ(以下、耐タンパプロセッサと呼ぶ)はその問
題を解決する手段の一つである。
【0006】このような耐タンパプロセッサでは不正な
解析、改変がハードウェアによる実行コードとデータの
暗号化によって防止されるためである。その安全性はプ
ロセッサチップに埋め込まれた秘密鍵の安全性に依存す
る。
【0007】ただし、この種の耐タンパプロセッサで
は、一部のプロセッサの鍵が暴かれてしまった場合に備
えてチップ毎に異なる固有の鍵を用いることが多い。
【0008】その場合、暗号化された実行プログラムの
少なくとも一部はこれらの耐タンパプロセッサチップが
持つ固有の鍵に依存する部分を持たなければならない。
このような耐タンパプロセッサチップ毎に異なる実行プ
ログラムの配布にはネットワークによる配布が適してい
る。
【0009】また、一方でネットワークを通じて配布さ
れるプログラムにはいわゆるコンピュータウィルスやワ
ームの恐れがある。あるプログラムが有害なものでない
ことは、その配布者の署名と身元確認によって消極的に
確かめることはできるが、一般にプログラムを配布する
主体が十分信用できるかを判断することは難しい。
【0010】これはそのプログラムが有料であるか否か
に関係なくつきまとう問題である。特に現在では無数と
いえるほどの企業、個人がソフトウエアを開発し、その
中には知名度こそ低いものの、有用なものがたくさん含
まれている。
【0011】よってソフトウエア開発元の知名度だけで
これらソフトウエアの安全性を判定することは逆に多く
の有用なソフトウエアを締め出すことになってしまう。
【0012】ソフトウエアの実行コードを直接解析する
タイプのいわゆるウィルス検査プログラムは、いくつか
の限界はあるにせよ直接ネットワーク配布されたプログ
ラムの安全性を検証できる。
【0013】ところが、前述した耐タンパプロセッサを
用いる環境においてはプログラムはそれぞれの耐タンパ
プロセッサのチップ固有の鍵に基づいて暗号化されてい
るため、汎用のウィルス検査プログラムによって安全性
を検証することが困難であった。
【0014】さらにソフトウェアの普及にしたがって、
それらソフトウェアがユーザのさまざまなプライバシー
情報を扱うようになりつつある。一方で、コンピュータ
ウィルスのようなプログラムも現れている。また、従来
の技術で記したようにコンピュータソフトウェアに含ま
れる秘密が不正に読み出されることもしばしばおきてい
るという問題があった。
【0015】また、利用料課金方式を取るプログラムの
場合、課金情報を課金サーバに通知する部分がユーザに
よる解析、改変から安全であることが必要とされる。更
に著作権が設定されたコンテンツをユーザシステムに配
信するときの不正コピー作成の防止も行われなければな
らない。
【0016】ここで実際にプログラムを使用するユーザ
の保護は、プログラムの保護が暗号学的に保証される環
境、例えば耐タンパプロセッサが導入された環境では解
決が困難である。なぜなら、ユーザが入手した暗号化さ
れたプログラムを実行前に検証することはできないとい
う問題があった。
【0017】
【発明が解決しようとする課題】上述したように、暗号
化されたプログラムを実行できる環境が特定される耐タ
ンパプロセッサなどを利用したシステムでは、それぞれ
の耐タンパプロセッサのチップ固有の鍵に基づいて暗号
化されているため、その実行ファイルの中身を検証する
ことができないという問題があった。
【0018】また、あるプログラムがコンピュータウィ
ルスやワームの恐れがあるかどうかを検証することは、
耐タンパプロセッサを利用する場合には、耐タンパプロ
セッサが各々違う固有鍵を有するという問題から、困難
であった。
【0019】また、耐タンパプロセッサに対しネットワ
ークを経由して、暗号化プログラムを配布する仕組みが
なく、更にその暗号化プログラムの不具合情報をユーザ
の秘密情報を保護してプログラム開発者に提供すること
も困難であった。
【0020】本発明は安全であることが保証されたプロ
グラムの配布、その検証、フィードバックといった一連
の情報の流れを、コンピュータネットワークが支援する
ことで従来の方法に比べて安価かつ確実に行うことがで
きるプログラム配布システムを実現することを目的とす
る。
【0021】
【課題を解決するための手段】上記課題を解決するため
に、本発明では、ネットワークに接続されたソースファ
イル送信装置、暗号化プログラム配布装置及び実行ファ
イル受信装置とからなるプログラム配布システムにおい
て、ソースファイル送信装置は、プログラムのソースフ
ァイルを暗号化プログラム配布装置宛てに送信する第1
の送信手段を具備し、暗号化プログラム配布装置は、ソ
ースファイル送信装置から送信されたソースファイルを
受信する第1の受信手段と、第1の受信手段で受信した
ソースファイルからプログラムの実行ファイルを生成す
る実行ファイル生成手段と、実行ファイル受信装置から
該実行ファイル受信装置固有の公開鍵、又は該実行ファ
イル受信装置のプロセッサ固有の公開鍵のいずれか一方
を受信する公開鍵受信手段と、実行ファイルの少なくと
も一部を公開鍵にて暗号化する暗号化手段と、暗号化手
段で暗号化された実行ファイルを実行ファイル受信装置
宛てに送信する第2の送信手段とを具備し、実行ファイ
ル受信装置は、公開鍵を暗号化プログラム配布装置宛て
に送信する暗号化鍵送信手段と、暗号化プログラム配布
装置から送信された実行ファイルを受信する第2の受信
手段と、公開鍵に対応した秘密鍵を用いて、第2の受信
手段で受信した実行ファイルを復号化する第2の復号化
手段とを具備する。
【0022】また、本発明は、ネットワークに接続され
たソースファイル送信装置、暗号化プログラム配布装置
及び実行ファイル受信装置とからなるプログラム配布シ
ステムにおいて、ソースファイル送信装置は、プログラ
ムのソースファイルを暗号化プログラム配布装置宛てに
送信する第1の送信手段を具備し、暗号化プログラム配
布装置は、ソースファイル送信装置から送信されたソー
スファイルを受信する第1の受信手段と、第1の受信手
段で受信したソースファイルからプログラムの実行ファ
イルを生成する実行ファイル生成手段と、実行ファイル
の少なくとも一部を所定の共通鍵にて暗号化する第1の
暗号化手段と、実行ファイル受信装置から該実行ファイ
ル受信装置固有の公開鍵、又は該実行ファイル受信装置
のプロセッサ固有の公開鍵のいずれか一方を受信する公
開鍵受信手段と、共通鍵を、公開鍵受信手段で受信した
公開鍵で暗号化する第2の暗号化手段と、第1の暗号化
手段で暗号化された実行ファイル及び第2の暗号化手段
で暗号化された共通鍵を実行ファイル受信装置宛てに送
信する第2の送信手段とを具備し、実行ファイル受信装
置は、公開鍵を暗号化プログラム配布装置宛てに送信す
る暗号化鍵送信手段と、暗号化プログラム配布装置から
送信された実行ファイル及び暗号化された共通鍵を受信
する第2の受信手段と、第2の受信手段で受信した共通
鍵を、公開鍵に対応した秘密鍵で復号化する第1の復号
化手段と、第1の復号化手段で復号化した共通鍵を用い
て、第2の受信手段で受信した実行ファイルを復号化す
る第2の復号化手段とを具備する。
【0023】更に本発明は、所定の共通鍵は、プログラ
ムに基づいてランダムに生成されることを特徴とする。
【0024】更に本発明は、暗号化プログラム配布装置
は、ソースファイル送信装置と暗号化プログラム配布装
置間で予め定められた秘密情報操作規約に基づき、ソー
スファイルが該秘密情報操作規約に違反しているか否か
を検出する検出手段とを更に具備し、検出手段において
ソースファイルが該秘密情報操作規約を違反していた場
合、ソースファイルの実行ファイル化、暗号化及び実行
ファイル受信装置への送信を中止することを特徴とす
る。
【0025】更に本発明は、暗号化プログラム配布装置
は、検出手段においてソースファイルが該秘密情報操作
規約を違反していた場合、及び又はソースファイルから
実行ファイルの作成に失敗した場合に、該違反を示す情
報及び又は該失敗を示す情報をソースファイル送信装置
に通知することを特徴とする。
【0026】更に本発明は、ソースファイル送信装置
は、プログラムの実行ファイル内の秘密情報領域を指定
する領域情報を暗号化プログラム配布装置宛てに送信す
る第3の送信手段を更に具備し、暗号化プログラム配布
装置は、領域情報を受信する第3の受信手段と、ソース
ファイル送信装置と暗号化プログラム配布装置間で予め
定められた秘密情報操作規約、及び又は領域情報に基づ
いて、実行ファイル内の秘密情報を格納する領域を決定
する秘密情報領域決定手段とを更に具備したことを特徴
とする。
【0027】更に本発明は、暗号化プログラム配布装置
は、ソースファイル、実行ファイル、該実行ファイルを
暗号化した公開鍵及び実行ファイル内の秘密情報領域を
指定する領域情報を関連付けて記録する記録手段とを更
に具備したことを特徴とする。
【0028】更に本発明は、暗号化プログラム配布装置
は、ソースファイル、実行ファイル、該実行ファイルを
暗号化した共通鍵及び実行ファイル内の秘密情報領域を
指定する領域情報を関連付けて記録する記録手段とを更
に具備したことを特徴とする。
【0029】更に本発明は、暗号化プログラム配布装置
は、実行ファイル生成手段において、ソースファイルか
ら実行ファイルを生成する際に、機能的に同一であり、
かつ異なる機械語命令を持つ実行ファイルを生成するこ
とを特徴とする。
【0030】更に本発明は、暗号化プログラム配布装置
は、実行ファイル生成手段において、ソースファイルか
ら実行ファイルを生成する際に、実行ファイルの一部に
プログラムの不具合情報送付先を示す情報を書き込むこ
とを特徴とする。
【0031】更に本発明は、不具合情報送付先は、暗号
化プログラム配布装置であることを特徴とする。
【0032】更に本発明は、実行ファイル受信装置は、
実行ファイルに関する不具合情報を送信する第3の送信
手段を更に具備し、暗号化プログラム配布装置は、実行
ファイル受信装置から送信された不具合情報を受信する
第3の受信手段を更に具備したことを特徴とする。
【0033】更に本発明は、暗号化プログラム配布装置
は、受信した不具合情報をソースファイル送信装置宛て
に送信する第4の送信手段とを更に具備したことを特徴
とする。
【0034】更に本発明は、実行ファイル受信装置は、
実行ファイルに関する不具合情報を送信する第3の送信
手段を更に具備し、暗号化プログラム配布装置は、実行
ファイル受信装置から送信された不具合情報の一部を、
対応する実行ファイルの共通鍵にて復号化する第3の復
号化手段と、復号化した不具合情報から、予め定められ
た所定の秘密情報格納領域のデータを削除する削除手段
と、削除手段により、所定の秘密情報が削除された不具
合情報をソースファイル送信装置に送信する第3の送信
手段とを更に具備したことを特徴とする。
【0035】また本発明は、ネットワークを介して第1
の通信装置から、プログラムのソースファイルを受信す
る第1の受信手段と、第1の受信手段で受信したソース
ファイルからプログラムの実行ファイルを生成する実行
ファイル生成手段と、ネットワークを介して第2の通信
装置から、該第2の通信装置固有の公開鍵、又は該第2
の通信装置のプロセッサ固有の公開鍵のいずれか一方を
受信する公開鍵受信手段と、実行ファイルの少なくとも
一部を公開鍵にて暗号化する暗号化手段と、暗号化手段
で暗号化された実行ファイルを第1の通信装置宛てに送
信する送信手段とを具備したことを特徴とする。
【0036】また本発明は、ネットワークを介して第1
の通信装置から、プログラムのソースファイルを受信す
る第1の受信手段と、第1の受信手段で受信したソース
ファイルからプログラムの実行ファイルを生成する実行
ファイル生成手段と、実行ファイルの少なくとも一部を
所定の共通鍵にて暗号化する第1の暗号化手段と、ネッ
トワークを介して第2の通信装置から、該第2の通信装
置固有の公開鍵、又は該第2の通信装置のプロセッサ固
有の公開鍵のいずれか一方を受信する公開鍵受信手段
と、共通鍵を、公開鍵受信手段で受信した公開鍵で暗号
化する第2の暗号化手段と、第1の暗号化手段で暗号化
された実行ファイル及び第2の暗号化手段で暗号化され
た共通鍵を第2の通信装置宛てに送信する送信手段とを
具備したことを特徴とする。
【0037】また本発明は、ネットワークに接続された
ソースファイル送信装置、暗号化プログラム配布装置及
び実行ファイル受信装置とからなるプログラム不具合情
報収集システムにおいて、ソースファイル送信装置は、
プログラムのソースファイルを暗号化プログラム配布装
置宛てに送信する第1の送信手段とを具備し、暗号化プ
ログラム配布装置は、ソースファイル送信装置から送信
されたソースファイルを受信する第1の受信手段と、第
1の受信手段で受信したソースファイルからプログラム
の実行ファイルを生成する実行ファイル生成手段と、実
行ファイルの少なくとも一部を所定の共通鍵にて暗号化
する第1の暗号化手段と、実行ファイル受信装置から該
実行ファイル受信装置固有の公開鍵、又は該実行ファイ
ル受信装置のプロセッサ固有の公開鍵のいずれか一方を
受信する公開鍵受信手段と、共通鍵を、公開鍵受信手段
で受信した公開鍵で暗号化する第2の暗号化手段と、第
1の暗号化手段で暗号化された実行ファイル及び第2の
暗号化手段で暗号化された共通鍵を実行ファイル受信装
置宛てに送信する第2の送信手段と、実行ファイルに関
する不具合情報を実行ファイル受信装置から受信する第
2の受信手段と、不具合情報を送信した実行ファイル受
信装置のユーザに対する所定の報奨を決定する報奨決定
手段とを具備し、実行ファイル受信装置は、公開鍵を暗
号化プログラム配布装置宛てに送信する暗号化鍵送信手
段と、暗号化プログラム配布装置から送信された実行フ
ァイル及び暗号化された共通鍵を受信する第2の受信手
段と、第2の受信手段で受信した共通鍵を、公開鍵に対
応した秘密鍵で復号化する第1の復号化手段と、第1の
復号化手段で復号化した共通鍵を用いて、第2の受信手
段で受信した実行ファイルを復号化する第2の復号化手
段と、実行ファイルに関する不具合情報を送信する第3
の送信手段を具備したことを特徴とする。
【0038】また本発明は、ネットワークに接続された
ソースファイル送信装置、暗号化プログラム配布装置及
び実行ファイル受信装置とからなるプログラム配布シス
テムにて用いられるプログラム配布方法において、前記
ソースファイル送信装置は、プログラムのソースファイ
ルを前記暗号化プログラム配布装置宛てに送信し、前記
暗号化プログラム配布装置は、前記ソースファイル送信
装置から送信された前記ソースファイルを受信し、受信
した前記ソースファイルから前記プログラムの実行ファ
イルを生成し、前記実行ファイル受信装置から該実行フ
ァイル受信装置固有の公開鍵、又は該実行ファイル受信
装置のプロセッサ固有の公開鍵のいずれか一方を受信
し、前記実行ファイルの少なくとも一部を前記公開鍵に
て暗号化し、前記暗号化手段で暗号化された前記実行フ
ァイルを前記実行ファイル受信装置宛てに送信し、前記
実行ファイル受信装置は、前記公開鍵を前記暗号化プロ
グラム配布装置宛てに送信し、前記暗号化プログラム配
布装置から送信された前記実行ファイルを受信し、前記
公開鍵に対応した秘密鍵を用いて、受信した前記実行フ
ァイルを復号化することを特徴とする。
【0039】また本発明は、ネットワークに接続された
ソースファイル送信装置、暗号化プログラム配布装置及
び実行ファイル受信装置とからなるプログラム配布シス
テムにて用いられるプログラム配布方法において、前記
ソースファイル送信装置は、プログラムのソースファイ
ルを前記暗号化プログラム配布装置宛てに送信し、前記
暗号化プログラム配布装置は、前記ソースファイル送信
装置から送信された前記ソースファイルを受信し、受信
した前記ソースファイルから前記プログラムの実行ファ
イルを生成し、前記実行ファイルの少なくとも一部を所
定の共通鍵にて暗号化し、前記実行ファイル受信装置か
ら該実行ファイル受信装置固有の公開鍵、又は該実行フ
ァイル受信装置のプロセッサ固有の公開鍵のいずれか一
方を受信し、前記共通鍵を、受信した前記公開鍵で暗号
化し、暗号化された前記実行ファイル及び暗号化された
前記共通鍵を前記実行ファイル受信装置宛てに送信し、
前記実行ファイル受信装置は、前記公開鍵を前記暗号化
プログラム配布装置宛てに送信し、前記暗号化プログラ
ム配布装置から送信された前記実行ファイル及び暗号化
された前記共通鍵を受信し、受信した前記共通鍵を、前
記公開鍵に対応した秘密鍵で復号化し、復号化した前記
共通鍵を用いて、受信した前記実行ファイルを復号化す
ることを特徴とする。
【0040】また本発明は、ネットワークを介して第1
の通信装置から、プログラムのソースファイルを受信
し、受信した前記ソースファイルから前記プログラムの
実行ファイルを生成し、ネットワークを介して第2の通
信装置から、該第2の通信装置固有の公開鍵、又は該第
2の通信装置のプロセッサ固有の公開鍵のいずれか一方
を受信し、前記実行ファイルの少なくとも一部を前記公
開鍵にて暗号化し、暗号化された前記実行ファイルを前
記第1の通信装置宛てに送信することを特徴とする。
【0041】また本発明は、ネットワークを介して第1
の通信装置から、プログラムのソースファイルを受信
し、受信した前記ソースファイルから前記プログラムの
実行ファイルを生成し、前記実行ファイルの少なくとも
一部を所定の共通鍵にて暗号化し、ネットワークを介し
て第2の通信装置から、該第2の通信装置固有の公開
鍵、又は該第2の通信装置のプロセッサ固有の公開鍵の
いずれか一方を受信し、前記共通鍵を、受信した前記公
開鍵で暗号化し、暗号化された前記実行ファイル及び暗
号化された前記共通鍵を前記第2の通信装置宛てに送信
することを特徴とする。
【0042】また本発明は、コンピュータにより実行可
能なコンピュータプログラムであって、ネットワークを
介して第1の通信装置から、プログラムのソースファイ
ルを受信する機能と、受信した前記ソースファイルから
前記プログラムの実行ファイルを生成する機能と、ネッ
トワークを介して第2の通信装置から、該第2の通信装
置固有の公開鍵、又は該第2の通信装置のプロセッサ固
有の公開鍵のいずれか一方を受信する機能と、前記実行
ファイルの少なくとも一部を前記公開鍵にて暗号化する
機能と暗号化された前記実行ファイルを前記第1の通信
装置宛てに送信する機能とを具備したことを特徴とす
る。
【0043】また本発明は、コンピュータにより実行可
能なコンピュータプログラムであって、ネットワークを
介して第1の通信装置から、プログラムのソースファイ
ルを受信する機能と、受信した前記ソースファイルから
前記プログラムの実行ファイルを生成する機能と、前記
実行ファイルの少なくとも一部を所定の共通鍵にて暗号
化する機能と、ネットワークを介して第2の通信装置か
ら、該第2の通信装置固有の公開鍵、又は該第2の通信
装置のプロセッサ固有の公開鍵のいずれか一方を受信す
る機能と、前記共通鍵を、受信した前記公開鍵で暗号化
する機能と、暗号化された前記実行ファイル及び暗号化
された前記共通鍵を前記第2の通信装置宛てに送信する
機能とを具備したことを特徴とする。
【0044】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して詳細に説明する。
【0045】(実施例1)図1において 101 はソフトウ
ェア開発者のコンピュータでありソースファイル送信装
置(以下、単に開発者と記す場合もある)、102 はソフト
ウェア配布者のコンピュータであり暗号化プログラム配
布装置 (以下、単に配布者と記す場合もある)、 103 は
ソフトウェア利用者のコンピュータであり実行ファイル
受信装置(以下、単にユーザと記す場合もある)をそれ
ぞれ表す。
【0046】これらのコンピュータはそれぞれネットワ
ーク105 に接続され、通信が可能であるものとする。ネ
ットワーク 105 がインターネットの場合、コンピュー
タからネットワークへの接続は、直接の接続であっても
よいし、プロキシサーバ等を通じた間接的接続であって
も良い。さらに 認証局104もネットワーク 104 に接続
されている。
【0047】ここで図2、図3に基づいて本実施例の概略
を簡単に説明する。
【0048】配布者はユーザ秘密情報保護のガイドライ
ン(秘密情報操作規約など)を公開しており(201,30
1)、開発者はそのガイドラインを取得し(302-303)、そ
れにしたがってアプリケーションプログラム(ソフトウ
エア)を作成する(202, 304)。
【0049】次に開発者は配布者とオンラインで契約(3
05〜308)を結び、作成したソースコードを配布者に提出
する(203, 309〜311)。配布者はプログラムをコンパイ
ルし、暗号化したロードモジュール(実行ファイル)を
作成する(204, 312)。暗号化ロードモジュールは配布者
のみが知る暗号化鍵で暗号化される。また、コンパイル
完了後にはソースコードは安全な場所に保管される。
【0050】暗号化ロードモジュールは、ユーザの持つ
コンピュータのCPUに対応する復号化鍵を添付されてユ
ーザへと配布される(205-206, 313〜315)。配布された
プログラムをユーザが利用(316)してプログラムに不具
合を発見した場合、配布者の元へその不具合が生じたと
きのメモリ上プログラムイメージ(不具合情報)が送ら
れる(208, 317-318)。
【0051】配布者はこのプログラムイメージからあら
かじめ開発者が申告したプライバシー情報(秘密情報)
に相当する部分(秘密情報格納領域)の情報を抜き取っ
て(319)、開発者へプログラムイメージを送付する(209,
220-221)。開発者はこの情報に基づいてプログラムの
デバッグを行う(322)。
【0052】プログラムが不正な動作をしている可能性
が高いとみなされるとき、配布者はプログラムのソース
ファイルを審査し、不正がないことを確かめる。また、
配布者、開発者、ユーザの処理の概略を示すフローチャー
トを 図4,5,6にそれぞれ示す。
【0053】次に配布者、開発者間の契約関係について
説明する。配布者はネットワーク経由で、配布代行にあ
たっての倫理基準、ユーザ秘密情報保護の技術ガイドラ
イン、契約条件やプログラム開発環境のなどの情報をネ
ットワークを通じて公開している。ここではhtml 形式
で記述されたこれらの配布代行条件情報が http サーバ
を通じて公開されているものとする。
【0054】配布者はある特定のプログラム開発環境
(例: Linux)のみに対応するだけでもよいし、複数のプ
ログラム開発環境(例: Linux, Windows)に対応していて
それらを選択できるようにしておいてもよい。開発者は
複数の配布者から自分に適した開発環境に対応する配布
者を選択する。
【0055】開発者は配布代行条件情報を web ブラウ
ザによって取得しその内容を知る。そして、配布代行情
報に基づいてプログラムを開発し、配布契約に必要な資
料を準備する。
【0056】プログラムの開発が完了すると、開発者は
配布者の web サーバにアクセスして、配布者との間で
配布の契約を結び、プログラムのソースコードを提出し
て、引き換えにソースコード受領証を受け取る。
【0057】契約とソースコードの提出は、web クライ
アントによって行われ、開発者側で特別なプログラムや
サーバ装置は必要としない。契約とソースコードの提出
では、以下に述べる安全な署名ずみ契約条項の交換とソ
ースコードの委託を保証する手順が用いられるが、開発
者自身はこれら手順の詳細を意識することはなく、開発
者はソースコードを用意し、 web ブラウザ画面上で締結
したい契約の種類を選択して資料を送付するだけで完了
する。
【0058】契約手順の実行は、開発者が配布者の web
サーバ上に用意されたプログラム(例えば JavaScript
形式)を実行するだけでよい。一方、サーバ側では契約、
ソースコード受領とその後に続く配布処理までが自動的
に処理され、基本的には人間のオペレータの介入を必要
としない。実際のシステムにおいては必要に応じてそれ
ぞれの手順において、オペレータが介入してもよい。
【0059】契約の完了時において、開発者と配布者は
それぞれ相手の署名がなされた契約条項を交換し、契約
識別番号 CID を共有する。
【0060】ここで図7に示すようにプログラムの提出
には以下の資料が必要である。
【0061】1)ロードモジュール作成に必要なソースコ
ード一式(701) 2)取扱説明書(702) 3)秘密情報部分記述資料(703) 4)テスト用スクリプト(704) この契約にあたっては、一般的な電子商取引の方法が適
用できる。具体的には、認証局が配布者、開発者の身元を
証明する公開鍵の証明書を発行しておき、配布者、開発者
は自らの秘密鍵を安全に管理しておくことで、秘密鍵を
持つ相手だけがメッセージを受信できるよう適切な暗号
化を行うことで通信の安全を保つ。
【0062】さらに契約書面の交換にあたっては、認証
局が契約書面の同時交換を行う手段を提供し、詐欺を防
止してもよい。ここでは開発者、配布者、ユーザはそれ
ぞれ自身の秘密鍵を安全に保持しており、公証局に身元
情報と秘密鍵に対応する公開鍵とが登録されているもの
とする。
【0063】公証手順については、契約書面の同時交換
が達成できればよく、必ずしも公証局の存在を前提とす
るものでなくともよい。例えば文献 岡本、山本著「現
代暗号」1997 産業図書で知られる秘密情報段階的交換
プロトコルなどを使用してもよい。資料と署名の交換が
完了すると、ロードモジュールの配布までは基本的に配
布者のサーバ内で処理が行われる。
【0064】次にプログラムの審査とこのプログラムの
コンパイルに関し説明する。
【0065】配布者は提出されたプログラムを形式的に
審査する。審査は具体的には次のようにプログラム部分
と変数を機械的に抽出する。
【0066】1) プログラム中から GUI によってユーザ
にプライバシー情報の入力を促し、入力結果が格納され
るプログラム中の変数のリスト。
【0067】2) プログラム中からシステムのデータベ
ースやレジストリにアクセスしてユーザのプライバシー
情報を取得し、その結果が格納されるプログラム中の変
数のリスト。
【0068】これらの情報が格納される部分は後述の不
具合情報のフィードバックの際にフィードバック情報か
ら削除されることになる。配布者は審査の結果と、開発
者から申告されたプライバシー情報(303)を照合し、一
致すればプログラムをコンパイルする。一致しない場
合、エラーとして開発者に通知する。
【0069】なお、上記 1), 2) と同等の効果を得るプ
ログラムの記述方法は他にも多数あるが、ここでは契約
条件において、プライバシー情報を扱う場合にはあらか
じめ配布者が指定した形式の記述方法をとることが開発
者の義務として盛り込まれているものとする。
【0070】もし配布者が、開発者によるプライバシー
情報取得の隠蔽を意図的と判断した場合、契約違反とし
て以後の処理を中止し、契約条件に定められた違約時の
処理を行う。
【0071】つぎに審査が完了すると配布者は提出され
たプログラムをコンパイルして、平文ロードモジュール
(図8)を作成する。この段階で作成されたロードモジュ
ールはまだ暗号化されていない。
【0072】実行コードにはこの後の処理で暗号化され
る部分(803Pe)と実行時にリロケーションなどの操作を
可能にする暗号化されない部分(802Pp)がある。
【0073】なお、プログラムの全てについてソースフ
ァイルが必要というわけではなく、汎用のライブラリ関
数などすでに安全性が配布者で検証された機械語ライブ
ラリなどがロードモジュールにリンクされてもよい。
【0074】次に暗号化ロードモジュールの内容を図9
に示す。平文ロードモジュールから暗号化ロードモジュ
ールを作成するときは、暗号化対象部分(803Pe)を、を
契約に対して配布者が決めたプログラム暗号化鍵(共通
鍵) Kx#CID により共通鍵暗号アルゴリズム、たとえば
DES アルゴリズムで暗号化し、フィードバック情報904
と契約識別子 CID 905 とを加えて、901〜905 の内容
についてハッシュ関数H[] を計算した結果にプログラム
暗号化鍵 Kx#CID で署名した署名 906 を加えた形式が
暗号化ロードモジュールとなる。ハッシュ関数はたとえ
ば MD5, SHA1などを使えばよい。
【0075】契約識別子 CID は後述する配布者による
ユーザのプライバシー情報を除去の際にその範囲を決定
するために用いられる。フィードバック情報には不具合
情報の送り先が含まれる。ここでは送り先は配布者のUR
I(Universal Resource Indicator)で記述されるものと
する。
【0076】ロードモジュールの最後の部分、復号化鍵
907は、プログラム暗号化鍵 Kx#CIDを、プログラムを
実行するユーザの実行ファイル受信装置(ターゲットシ
ステム)のCPU(耐タンパプロセッサなどん)の公開
鍵 Kp により、公開鍵アルゴリズム、たとえば RSA ア
ルゴリズムによって暗号化したもの(EKp[Kx#CID]であ
る。
【0077】ターゲットシステムのプロセッサは 公開
鍵 Kp に対応する秘密鍵 Ks を内部に持っているので、
復号化鍵 907 (EKp[Kx#CID])を復号化して Kx#CID をと
りだし、暗号化プログラム部分 903 を復号化して実行
することができる。
【0078】一方、実行ファイル受信装置(ターゲット
システム)を所有するユーザもしくはアドミニストレー
タは、公開鍵 Kp に対応する秘密鍵 Ks を知らないので
直接暗号化プログラム部分 903 を復号化することはで
きない。CPUでのプログラムの復号化はチップの中で
行われるのでユーザが復号化されたプログラムを盗みと
ることは不可能であり、プログラムの秘密は守られる。
【0079】また、特願2000-35898に記載されたマイク
ロプロセッサでは、実行中のプログラムが扱うデータに
ついても保護機構が設けられており、ユーザによるデー
タの盗み読みを防ぐことができる。これらの秘密の保護
はプログラムの暗号化鍵 Kx#CID の秘密性に基づいてお
り、逆に Kx#CID がわかれば、メインメモリ中の暗号化
されたプログラム、データ、実行状態(レジスタ情報)
を読みとることにより、暗号化プログラム 903 も、プ
ログラムが扱うデータも暗号化前の状態に復元すること
ができる。
【0080】この原理に基づいて、後述の不具合情報の
解析が行われる。このようにプログラムの暗号化によ
り、プログラム自身とそれが扱うデータの秘密をターゲ
ットシステムのユーザから効果的に守ることができる
が、一方であるプログラムがターゲットシステムまたは
ユーザにとって危険なものかどうかを、プログラムの実
行前にも実行後にも判断する材料がなくなってしまう。
【0081】本発明では、信頼できるプログラム配布者
が審査済みのプログラムを配布することにより、この潜
在的なユーザの危険を排除する効果がある。以上がプロ
グラムのコンパイルと暗号化ロードモジュールの作成手
順である。
【0082】ここで前述の過程においてコンパイルに失
敗した場合は、開発者にエラーの内容が通知され、開発
者はソースファイルを修正して再度ソースファイル委託
309 のシーケンスからやりなおすことになる。
【0083】そして、コンパイル後の平文ロードモジュ
ール、それに暗号化を行った暗号化モジュールのそれぞ
れについて配布者が、開発者の用意した自動化されたテ
スト用スクリプトに基づいた試験を行い、その結果が条
件を満たさない場合も、開発者にはエラーの内容が通知
され、開発者はやはりソースファイルの不具合を修正し
て再度ソースファイル供託 309 のシーケンスからやり
なおす。
【0084】これで配布前の暗号化ロードモジュールが
完成したが、最後にもう一度、開発者による完成したロ
ードモジュールのテストを行ってもよい。この場合、配
布者から開発者に暗号化ロードモジュールが配布される
と、開発者はロードモジュールを実行するターゲットシ
ステムのCPUに対応する復号化鍵を、配布者に請求す
る。
【0085】この手順については、ユーザへのプログラ
ム配布と同様であり、例えばこれらの一実現方法は特開
平10-269078 に開示されている。ダウンロード後、開発
者によるテストが配布者に通知され、配布者は通知結果
が合格ならばそのまま次のユーザへの配布へと処理を進
め、不合格であれば、開発者が再びソースファイル供託
209 のシーケンスからやりなおす。
【0086】このテストにより、開発者は配布者の環境
におけるコンパイルオプションや暗号化によるプログラ
ムへの性能の影響を実際にユーザの手に渡るものと同じ
ロードモジュールで検証することができる。
【0087】ところで配布者と開発者との間の契約は、
305-308 の間で締結されており、配布の手数料などもそ
こで決定される。このとき、ソースファイル検査、コン
パイルなどのサーバ負荷を配布手数料に反映させるた
め、ソースファイル供託を行った回数などに応じて配布
手数料を増加させてもよい。
【0088】配布者はプログラムが法律や配布業者が定
める公序良俗に関する規定に違反がないことを、主に人
間によるプログラムの機能と説明書の検査によって確認
してもよい。
【0089】このようにして全ての検査を終えた暗号化
ロードモジュールと配布用説明書と契約に対応する暗号
化鍵 Kx#CID は配布者サーバの安全な場所に保存され
る。ここではプログラム暗号化鍵 Kx#CID は契約毎に1
つ発行されるものとする。
【0090】開発者がプログラムの秘密を守るため、プ
ログラム暗号化鍵 Kx#CID を更新したり、あるいはプロ
グラムの不具合修正やバージョンアップを配布プログラ
ムに反映させるときは契約を再度行うことになる。もち
ろん、このような継続契約には審査の簡易化や料金の割
引などの規則を設けてもよい。
【0091】次にこのプログラムの配布に関し説明す
る。
【0092】暗号化ロードモジュールの作成が完了する
と続けて配布の準備が始まる。まずダウンロード画面の
html 形式記述が用意される。
【0093】ブラウザのダウンロード画面で CID に対
応するソフトウェアのダウンロードを意味するリンクが
選択されると、ユーザのブラウザにそのリンクが指定す
るサーバに置かれたJava script がダウンロードされ、
実行されてプログラムがダウンロードされる。
【0094】プログラムのダウンロードにあたっては、
上記暗号化鍵 Kx#CID によって暗号化されたプログラム
と、その鍵 Kx#CID をユーザ側コンピュータ 103 のプ
ロセッサの公開鍵 Kp#u で暗号化した暗号化鍵情報 E[K
p#u][Kx#CID] をユーザに配布しなければならない。こ
こで E[X][Y] はあるデータ Y の鍵 X による暗号化を
表す。
【0095】このとき、暗号化鍵情報を生成するための
Kp#u は、プログラムの秘密保護とプログラムが正しく
実行されるために、実在するプロセッサに対応するもの
でなければならない。プロセッサの公開鍵 Kp#u を確認
してプログラムをダウンロードする方法の一例は特願20
00-35898 に開示されている。
【0096】ブラウザのダウンロード画面で契約識別子
CID に対応するソフトウェアのダウンロードを意味す
るリンクがユーザによって選択されると、それに対応す
る Javascript がユーザのブラウザユーザ側のJava scr
ipt では図に示す手順が実行され、プロセッサの公開鍵
が要求される。一方、配布者側では Java script から発
行されたダウンロード要求により、 315 のダウンロード
手順が実行される。
【0097】このダウンロード手順が完了すると、ユー
ザに対する課金処理が実行される。web サーバ、クライ
アント間の安全な課金処理の手順は既にさまざまなもの
が知られている。例えば特開平10-269078 に開示されて
いる方法である。課金処理はダウンロード処理より先、
または処理の間に開始されてもよい。もちろん、配布す
るファイルが無料で配布されるものであれば課金手続き
の必要はない。
【0098】次に暗号化ロードモジュールと暗号化鍵情
報がダウンロードされ、それらはユーザシステム上で一
体となった実行ファイルとして格納される。暗号化ロー
ドモジュールはユーザのシステムで、特願2000-35898に
開示されているようにターゲットプロセッサによって復
号化、実行され、ユーザによって利用される。
【0099】次に配布したプログラムにバグ(不具合)
があった場合、この情報を開発元へフィードバックする
方法について説明する。
【0100】プログラムは機能が複雑であるほど不具
合、いわゆるバグを含んでいることが普通である。ユー
ザの使用状況で発生したバグを修正して、プログラムの
完成度を高めることはプログラムの品質を向上させる上
で不可欠の作業である。
【0101】ユーザの使用時に発生したプログラムの不
具合を解析する手段の代表は、不具合が発生した時のプ
ログラムのメモリイメージ、いわゆるコアダンプを解析
する方法である。
【0102】不正なアドレスの参照など、プログラムの
実行継続が不可能となったり、不具合を示す兆候があっ
たとき、メモリ上のイメージをファイルに保存し、解析
する機構はさまざまなOSに備えられている。こうして保
存されたメモリイメージを、開発者が解析することで、
不具合の原因を解析し、不具合をなおすことができる。
【0103】だが、このメモリイメージには、ユーザの
プライバシーに属する情報、例えば個人の住所録や健康
状態、クレジットカード番号などが含まれている可能性
がある。このような情報を含むプライバシー情報は、社
会的信用と厳密な監査体制の団体にのみ取り扱いが許さ
れるべきだが、一般に優秀なプログラムの開発元が必ず
しも社会的信用と厳密な監査体制を備えている場合は稀
と言える(ここでの監査体制とはユーザ情報の不正利用
に対する監査体制であって、企業会計における監査を意
味するものではない)。
【0104】メモリイメージが直接開発元に送られた場
合、そこに含まれるユーザのプライバシー情報が取り出
され、不正に使用される可能性は開発者が厳密な監査体
制を持たない限り排除できない。
【0105】ここで考えうる一つの解決方法は、ユーザ
のシステムから不具合情報を送付するとき、プライバシ
ー情報を削除してしまうことである。配布されたプログ
ラムの中に、予めユーザのプライバシー情報が格納され
るメモリ上の領域を指定する情報、(ここでは秘密情報
格納領域の識別子と呼ぶ)を格納しておき、その情報に
基づいて不具合を発生したプログラム自身、あるいはユ
ーザ側システムが、そのメモリ領域の情報を削除したメ
モリイメージを作成し、不具合情報として、送付先に送る
ものである。
【0106】この削除はユーザのシステムで行われるの
で、この削除手順がユーザの意図に反して妨害されるこ
とはないと考えてよい。ただし、秘密情報格納領域の識
別子が正しいことが、削除手順が正しく行われることの
前提となる。この可能性は、信頼できるプログラム配布
者が、秘密情報格納領域の識別子に対して署名を行って
おくことにより排除できる。
【0107】ユーザはプライバシー情報の削除の前に署
名を検証し、もし改変が行われている場合は不具合情報
の送付をやめる。
【0108】この場合のロードモジュール形式を図16に
示す。秘密情報格納領域の識別子 SECはその先頭アドレ
ス(Saddr)と終了アドレス(Eaddr)の組として定義さ
れ、記号1608 で示されている。そして SEC を含むロー
ドモジュール全体の配布者による署名 1606 によって、
秘密情報格納領域の識別子の改変を防いでいる。
【0109】また別の方法としては次の方法が考えられ
る。プログラムの不具合情報を以下の手順により一度厳
密な監査体制を持つ配布者に送り、そこでプライバシー
情報を削除してから開発者に不具合情報を転送する。
【0110】プログラムの動作に不具合が生じた場合、
次の2つの方法によってその時のプログラムの内部状態
を配布者に送信する。
【0111】(1) プログラム自身による異常状態の
検出と、プログラム内部状態の配布者への送信。
【0112】(2)記憶装置に保存されたプログラムイ
メージの、ユーザシステムによる配布者への送信。
【0113】前者の場合、不具合が検出されるとあらか
じめプログラムに組み込まれた通知手続きが呼出され、
プログラムの内部状態が配布者に送信される。
【0114】この宛先はプログラムのコンパイル時に配
布者によって指定され、直接開発者に内部状態が送信さ
れることはない。プログラムはメモリ上で暗号化された
上に、さらに配布者の公開鍵によって暗号化されて送信
される。
【0115】後者の場合、ユーザシステムはフィードバ
ック情報 504 の宛先にプログラムイメージを送る。メ
モリイメージには図9の元プログラムが添付されるもの
とする。
【0116】このとき、署名が検証され、宛先が正しい
かどうか検証される。さらに宛先に対応する証明書を認
証局に要求し、その暗号化鍵でプログラムイメージを暗
号化して送ればより安全である。
【0117】プログラムイメージを受け取った配布者
は、ネットワーク転送のための暗号を復号化した後、契
約識別子 905に基づいて配布者の持つデータベースから
そのプログラムの暗号化鍵 Kx#CID を検索し、プログラ
ムとデータを復号化する。プログラムにはCPU対応のプ
ログラム復号化鍵 907 が含まれているが、対応するプ
ロセッサのみがそれを復号化可能であり、配布者はこれ
を復号化することができないことに注意が必要である。
【0118】ここで、配布者のシステムではやはり契約
識別子からデータベースに保存されたプライバシー情報
の場所をとりだし、プログラムイメージから当該部分の
データを値0で置き換えるなどして消去する。
【0119】そしてプライバシー情報の削除が完了した
ら、復号化した状態のプログラムイメージを開発者へと
送信する。開発者はそれを自身の秘密鍵で復号化し、解
析してプログラムの不具合を修正するために使う。
【0120】次にこれらの不具合情報に対する奨励金支
払い方法について説明する。
【0121】開発者はより多くの不具合情報を集めるた
め、ユーザによる不具合情報の提供に報奨金を与えるこ
とができる。開発者はあらかじめ不具合情報の提供に対
してどのような報奨金を与えるかについての定義を配布
者に提出し、契約を行っておく。
【0122】たとえばあるソフトウェアに対する不具合
情報を提供すると、その配布者のサイトで使用できる電
子的な商品券がユーザに与えられるなどである。つま
り、報奨金は実際の貨幣でなくてよい。もちろん、銀行
口座に直接報奨金が振り込まれてもよいが、このような
報奨金は非常に定額であり、銀行取り引きの手数料に見
合う金額ではないことを考慮する必要がある。
【0123】次に不具合情報の選別について説明する。
【0124】報奨金が比較的高額な場合にはまた別の問
題が発生する。同一の不具合を複数回送って、多数の報
奨金を得ようとするユーザが多くなることである。この
ような事態が起きると開発者は報奨金の支払いにもかか
わらずプログラムを改善するための材料を得ることがで
きないことになる。
【0125】このような事態を防止するため、配布者の
サーバに既知の不具合のパターンを記憶しておき、既知
の不具合に対応する場合には報奨金を減額する方法をと
ることができる。ある条件、たとえば変数の値が0の時
に不具合が発生することがわかっていれば、その条件に
合致する不具合情報の報奨金を減額する。
【0126】ただし、この場合、既知不具合情報をあら
かじめ配布者のサーバに掲示しておき、それらに該当す
る場合には報奨金は減額されることを公開しておくこと
が望ましい。
【0127】不具合情報の送信では、ユーザの側にもプ
ログラムイメージ送信の際の通信帯域の占有や通信料と
いった負担が生じる。また、いわゆるプライバシー情報
以外にも、プログラムがエディタの場合には編集中の文
書全体秘密であるなど、ユーザにとって不具合情報の送
信が望ましくない場合がある。プログラムによる不具合
情報の送信の際には送信前にユーザの許可を求めること
が望ましい。
【0128】次に開発者がソフトウエアのバージョンア
ップを行う場合を説明する。
【0129】開発者がソフトウェアのバージョンアップ
を行う場合は、配布者との新たに配布者と契約を行う。
その際、オプションとして前回の契約IDを入力するこ
とにより、配布手数料の割引などの措置を受けられると
ともに、ユーザへのダウンロード方法紹介画面の識別子
(URL)に前のバージョンと同じ名前を使うことができ
る。プログラムは再度コンパイルされ、暗号化鍵 Kx#C
ID は契約識別子(CID)ごとに新たな値が割り当てられ、
暗号化ロードモジュールが作られる。
【0130】バージョンアップのほかに、暗号が破られ
た場合も契約を新たにやり直す。当然プログラムの暗号
化鍵 Kx#CID は変更される。
【0131】その外、配布手数料、使用回数・時間課金
などの条件を変更する場合も新たに契約をやりなおし新
たにロードモジュールを作成する。ただし、フィードバ
ック情報に対する報奨金の金額や除外リストの変更では
ロードモジュールは変更されない。
【0132】次にプログラムの暗号化鍵の決定について
説明する。
【0133】本実施例では、プログラムの暗号化部分 9
03 は、プログラムのコンパイル完了直後に決定された
暗号化鍵 Kx#CID によって暗号化されることとなってお
り、たとえば複数のユーザからプログラムのダウンロー
ド要求があったときは、暗号化プログラム部分 903 は
共通だが、復号化鍵 908 はターゲットのCPU毎に異
なる実行ファイルが作られ、ユーザに送られる。
【0134】この手順では、暗号化部分 903 の暗号化
処理はプログラムコンパイル直後に一度だけ行われ、ユ
ーザによるダウンロード要求の都度暗号化処理をやりな
おす必要はない。
【0135】だが、本発明の実施にあたっては、暗号化
鍵 Kx#CID を決め、プログラムを暗号化する手順はかな
らずしも上記の順序に限定されなくてもよい。
【0136】たとえばユーザのプログラムのダウンロー
ド要求を受け取ってからプログラム暗号化鍵を決定し
て、暗号化部分 903 の暗号化と、復号化鍵 908 の作成
を行ってもよい。
【0137】(実施例2)実施例1では配布者システムが
直接公衆ネットワークに接続されている例を示した。実
施例1における配布者システムにはプログラムのソース
ファイルや、実行プログラムを暗号化して保護するため
の暗号化鍵 Kx#CID, プログラム上のプライバシー情報
の領域などの秘密情報あるいは契約情報のような改竄を
防止する必要のある情報が保存されている。
【0138】これらの情報が公衆ネットワーク 105 を
通じた攻撃によって読み出されたり、改変されることを
防がなければならない。
【0139】そこで、実施例2では配布者システムが図
10に示すような、ファイアウォールによりフロントエン
ドとバックエンドのサーバが分離された構成をとり、ネ
ットワークからの攻撃を防いでいる。
【0140】図10にしたがって本実施例での動作を説明
する。配布者は開発者向けサーバ 1004により配布条件
情報を公開している。開発者システム 101 は配布条件
情報の入手と契約を開発者向けサーバ 1004 との通信に
より実行する。
【0141】開発者向けサーバは配布条件情報を内部に
保持しており、配布者のその他のサーバとは独立に配布
を実行する。だが、開発者からの契約の要求は配布者の
バックエンドサーバ 1001 に転送され、そこで開発者の
身元証明の確認や契約条件の確認、契約終了後の契約文
書の保管などの処理が行われる。配布者バックエンドサ
ーバは開発者向けサーバからの要求のみを受け付けるよ
うに構成されている。
【0142】そして、バリアセグメント 1007 と配布者
システム内部セグメント 602 を接続するファイアウォ
ール 1003 はバリアセグメント 1007 におかれた配布
者のサーバ、開発者向けサーバ 1004, 不具合情報受け
付けサーバ 1005 、ダウンロードサーバ 1006 以外の要
求は転送しない。配布者システムの外部、たとえば開発
者 101 やユーザ 103 が直接配布者バックエンドサーバ
に要求を発行することはできない。
【0143】開発者向けサーバを通じて配布者バックエ
ンドシステムはソースファイルをうけとり、審査してコ
ンパイル、暗号化して配布可能な暗号化ロードモジュー
ルを作成する。そして、配布のために作成された html
ドキュメントはダウンロードサーバ 1006 に転送され、
公開される。
【0144】ユーザシステム 103 はダウンロードサー
バに指定ドキュメントのダウンロード要求を発行し、ダ
ウンロードサーバにシステムの CPU の公開鍵 Kp の証
明書を提示する。ダウンロードサーバはバックエンドサ
ーバにダウンロード要求を転送し、暗号化されたロード
モジュールに、CPU の公開鍵 Kp で暗号化された ロー
ドモジュール暗号化鍵 EKp[Kx#CID] を添付したファイ
ルを作成する。ダウンロードサーバはこのファイルをユ
ーザにダウンロードする。
【0145】ユーザはユーザシステムでプログラムを実
行し、不具合があった場合には不具合情報受け付けサー
バに不具合情報を送る。ロードモジュールのフィードバ
ック情報 504 には不具合情報受け付けサーバの URI が
書かれている。
【0146】不具合情報受け付けサーバは不具合情報と
送信元のユーザ情報をバックエンドサーバに送り、不具
合情報の契約 ID からプライバシー情報の領域を決定
し、その領域の情報を消去して、開発元へ送付する。
【0147】このように、実施例2の実施形態ではネッ
トワーク外部からの要求を直接受け付けるサーバと、秘
密情報を保持するバックエンドサーバを分離することに
より、秘密情報をより安全に管理することができる。
【0148】(実施例3)プログラムの使用権を売り切
りで販売するのではなく、実行回数や実行時間によって
使用料金を徴収する方法がある。このような目的を実現
するにあたっては、プログラム提供側と利用者の双方に
とって安全かつ安価なシステムが求められる。プログラ
ム提供側にとっては不正にただで利用されず、利用者側
にとっては第3者による不正な課金を防ぐことである。
【0149】使用料を管理する最も単純な方法は、プロ
グラム提供者が課金情報を管理するサーバを運用し、ユ
ーザが実行するプログラムはサーバとの接続なしでは動
作しないようにすることである。
【0150】だが、このようなシステムでは次の2つの
点が利用者側の不安となる。
【0151】(1)課金は正しく行われるか。
【0152】(2)課金サーバの停止によりソフトウェ
アが使用不能になるおそれ これらは課金サーバの運用に対する信頼の問題といえる
が、すでに述べたような監査体制の場合と同じように、
一般にプログラムの開発元がサーバの運用に十分な経験
と管理体制を備えているとはいえない。この問題を解決
するため、課金サーバの管理を配布者が代行する実施例
を説明する。
【0153】図7が本実施例の構成である。実施例2と
の違いは配布者システムに課金サーバ 1208 が追加され
たことである。以下、実施例1、2との変更点について
のみ説明する。
【0154】まず契約の開始時において開発者は使用料
金の徴収代行と料金条件を契約条件として選択する。そ
して開発者はプログラム中で配布者が用意する課金関数
が呼出されるようにプログラムを開発する。
【0155】配布者は提出されたプログラムを審査し、
課金関数の呼出しが正しく行われているかを検査する。
検査に合格すると、配布者が用意した課金関数がリンク
された暗号化ロードモジュールが作成される。課金関数
は悪意のユーザによって改変されないように暗号化領域
に置かれる。
【0156】ロードモジュールの案内情報には利用回
数、時間による課金が行われることが記述されている。
ロードモジュールのダウンロード時に、配布者は課金契
約IDを含む、課金の同意を求める同意書をユーザに送付
し、ユーザはその同意書にユーザの(CPUのではな
く)秘密鍵で署名してダウンロードサーバに返送する。
【0157】ダウンロードサーバは署名をバックエンド
サーバに転送し、バックエンドサーバは図9の暗号化ロ
ードモジュール基本形式に、ユーザ情報 1308 を追加し
た、図13の形式の暗号化ロードモジュールファイルを作
成する。追加された課金契約情報 1308 は、課金契約 I
D と1301〜1307 と課金契約IDに対するハッシュから成
る。
【0158】ダウンロードされたプログラムが実行さ
れ、課金関数が呼出されると、課金関数は課金契約情報
1308 のハッシュを検証し、正しければ課金サーバへの
接続を行い、課金要求をしてソフトウェアの正常実行を
継続する。
【0159】もし課金契約が別なソフトウェアのものに
すりかえられていたり、改変されていた場合、課金関数
はハッシュの検証に失敗し、ソフトウェアの実行は停止
される。このようにユーザの課金情報書き換えによる意
図的な課金の回避が防止されている。
【0160】同時に、実行ファイルのうちでユーザごと
に書き換えの必要な部分を1306〜1308に限定することで
サーバ側のファイル書き換えの負荷を軽減している。
【0161】(実施例4)上記のようなプログラムの監
査を行っても、ユーザの秘密情報を盗み取るようなプロ
グラムを完全に排除することは困難である。したがっ
て、実際にそのプログラムを使用して発生したトラブル
の解決を支援する機構が必要となる。それは同時にユー
ザのプライバシーと開発者のプログラムの秘密が守られ
るものでなければならない。
【0162】まず単独の配布者がユーザからのフィード
バック情報によって得たデータに基づいて監査を行う例
を説明する。配布者はユーザからフィードバック情報と
して不具合情報とともにコメントや苦情なども受け付け
る。
【0163】これらの情報はバックエンドサーバ内のデ
ータベースに蓄積される。また、ソフトウェアを使用し
ているユーザに定期的にアンケートを取り、「最近SPAM
(受信者の意志を無視して送られる広告などのメール)が
多くなった」、「個人情報が漏れていると感じる」など
の情報を事前に収集してもよい。
【0164】これらの苦情のうち悪質かつ因果関係が容
易に推定できるもの、たとえばある健康管理ソフトウェ
アを使っているユーザの健康状態が漏れて、医療機関の
ダイレクトメールが届く、あるいは生命保険への加入を
断られるなどの場合は、配布者が供託されたソースコー
ドを検査し、不審な部分がないかどうかを検査する。も
しプライバシー情報が不正に取り扱われている場合、配
布者は配布を中止して、ユーザに通知を行う。
【0165】一般には、苦情とソフトウェアとの因果関
係が不明確な場合が覆いと予想される。このような場合
でも、ソフトウェアに不正が組み込まれている可能性が
あるため、苦情内容毎の件数とソフトウェア利用との間
に因果関係がある場合、相関の高いものから調査が行わ
れ、不正なソフトウェアが配布されないよう配布業者は
管理を行う。
【0166】苦情内容毎の件数とソフトウェア利用との
間になんらかの関係があるかどうかを推定する手法は現
在データベースの機能としてさまざまなものが利用可能
であり、説明を省略する。
【0167】(実施例5)上記の例ではソフトウェアの
フィードバック情報収集とソフトウェアの監査を配布業
者が行うこととしていた。だが、ソフトウェアの配布と
監査とはある場合には利害が相反する業務である。たと
えばあるソフトウェア配布業者で多くの配布手数料を稼
いでいるソフトウェアにユーザのプライバシー侵害のお
それがあったとき、その監査に消極的になることは想像
に難くない。
【0168】本実施例では図14、15および図13に
基づいて監査業者が不具合情報を回収する実施例を説明
する。
【0169】監査業者が入った場合でもダウンロード
1506 までのシーケンスは配布者のみの場合と同じであ
る。違いはユーザがダウンロード要求をするとき、監査
業者を契約書に指定し自らの契約書に秘密鍵で署名す
る。
【0170】配布者は指定された監査業者のアドレスが
ロードモジュール中のフィードバック情報 1304 とし
て格納された暗号化ロードモジュールを作成し、ユーザ
に配布する。ユーザは配布業者とは関わりなく複数の監
査業者の中から好きな業者を選択することができる。
【0171】ユーザで不具合があったときに不具合情報
をフィードバック情報の送り先に送るのは前の例と同じ
である。その後、監査業者でのプライバシー情報の削除
には2通りの方法がある。
【0172】監査業者でフィードバック情報を復号化す
る場合始めに監査業者でフィードバック情報を復号化す
る場合について説明する。この場合、監査業者は契約ID
に対応する復号化鍵とプライバシー情報領域情報を配布
業者に要求する。監査業者はフィードバック情報を復号
化してプライバシー情報領域を削除し、開発者へフィー
ドバック情報を送る。
【0173】この方法では監査業者はロードモジュール
の平文実行コードの全てとユーザのプライバシー情報の
全てを平文で見ることができるため、監査業者が自主的
に機械語レベルでの監査行為を行うことができるが、監
査業者のプログラムやプライバシー情報の取り扱いに厳
密性が求められる。
【0174】次に監査業者でロードモジュールを復号化
しない場合を説明する。
【0175】第2の方法は、監査業者がフィードバック
情報を復号化することなく、プライバシー領域情報のみ
をうけとり、フィードバック情報が暗号化された状態で
プライバシー領域の情報の削除を行う。
【0176】したがって、この場合はあらかじめプライ
バシー領域の暗号化は他の領域と関係を持たないような
変数は位置、暗号ブロック方式、暗号アルゴリズムが選
択されている必要がある。
【0177】この方法では監査業者は配布業者の強力な
死には平文の機械語プログラムを解読することができな
いため、自主的な監査行為は制限される。
【0178】ただ、どちらの方法をとっても最初はすで
に説明したようなユーザの苦情などに基づいて状況証拠
を収集し、不正の疑いが濃い場合は配布業者にそれらの
状況証拠を提示してソースファイルの開示を求める。監
査業者には限定された強制捜査権が与えられ、状況証拠
に基づいて配布業者に対してソースファイルの開示を強
制でキルとしてもよい。
【0179】開示されたソースファイルを検査するのは
監査業者であり、不正が発見された場合、配布業者に配
布の停止とユーザへのアナウンスを求める。そのソフト
ウェアによって被害を受けた専門的な知識をもたないユ
ーザに代わってそのソフトウェアの開発者に対する賠償
要求などを代行してもよい。
【0180】もし監査の結果、そのソフトウェアに不正
がないことがわかった場合、監査業者は配布業者にあら
かじめ定められた手数料を支払う。監査業者は監査のた
めに開示されたソースファイルに対して守秘義務を追う
のは当然である。
【0181】次にリバースエンジニアリングの権利につ
いて説明する。
【0182】ソフトウェアのリバースエンジニアリング
は技術の共有化のために広く認められた権利である。特
に、ソフトウェアの作成元がメンテナンスを放棄したソ
フトウェアの不具合を修正する場合などには不可欠な技
術である。
【0183】特にいわゆる西暦2000年問題では10
〜20年ほど前に作られたコンピュータプログラムをリ
バースエンジニアリングによって補修した事例が多く見
られた。ところが、耐タンパマイクロプロセッサ上のア
プリケーションではソフトウェアを解析することは暗号
学的に不可能である。
【0184】ソフトウェアの作成元が解散するなどし
て、ソースコードが行方不明になったりした場合、耐タ
ンパマイクロプロセッサでは機械語を解析することは原
則としてできない。
【0185】プロセッサの秘密鍵管理団体がプロセッサ
の秘密鍵を開示することにより、暗号化された機械語プ
ログラムを平文に戻すことは、そのプロセッサ上で動作
する他のプログラムをも危険にさらすことになり、現実
的ではない。
【0186】このような場合、配布機関に供託されたソ
ースコードが役に立つ。あるソフトウェアの保守を行い
たい者は、そのソフトウェアの作成元が連絡不能である
ことを確認してソースコードを一般に公開する。
【0187】公開されたソースコードに基づいてソフト
ウェアの保守を希望するものはその作業を行う。また、
配布業者は著作権法上の保護期間を経過したソフトウェ
アのソースコードを公開して、技術の共有化を促進す
る。
【0188】これらの作業によって、耐タンパマイクロ
プロセッサの使用を前提とした場合でもソフトウェアの
保守と技術の共有という目的をリバースエンジニアリン
グという手段をとることなく行うことができる。
【0189】
【発明の効果】以上詳細に説明したように、本発明によ
れば、耐タンパプロセッサに暗号化されたプログラムを
配布する場合でも、実行ファイルの安全が確保できるほ
か、バグ情報などの不具合情報をユーザーから、プログ
ラム配布装置を介してプログラム作成者へ伝えることが
できる。
【0190】また、配布したプログラムの不具合情報を
提供したユーザに対して、このプログラム毎に報奨を決
定することができる。
【図面の簡単な説明】
【図1】 本発明の一実施例のネットワーク構成図
【図2】 本発明の一実施例のシステム間の関係図
【図3】 本発明の一実施例のシーケンス図
【図4】 本発明の一実施例の配布者システムのフロー
チャート
【図5】 本発明の一実施例の開発者システムのフロー
チャート
【図6】 本発明の一実施例のユーザシステムのフロー
チャート
【図7】 本発明の一実施例の提出情報説明図
【図8】 本発明の一実施例の平文ロードモジュール説
明図
【図9】 本発明の一実施例の暗号化ロードモジュール
説明図
【図10】 本発明の一実施例のネットワーク構成図
【図11】 本発明の一実施例のシステム間の関係図
【図12】 本発明の一実施例のネットワーク構成図
【図13】 本発明の一実施例の暗号化ロードモジュール
説明図
【図14】 本発明の一実施例のネットワーク構成図
【図15】 本発明の一実施例のシステム間の関係図
【図16】 本発明の一実施例のロードモジュール説明図
【符号の説明】
101・・・ソースファイル送信装置 102・・・暗号化プログラム配布装置 103・・・実行ファイル受信装置 104・・・ネットワーク 105・・・認証局
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H04L 9/00 601F (72)発明者 下條 義満 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 寺本 圭一 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 藤本 謙作 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 (72)発明者 尾崎 哲 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝研究開発センター内 Fターム(参考) 5B017 AA03 BA07 BB09 CA15 CA16 5B076 AB15 FA13 5J104 AA01 AA09 AA16 EA04 EA19 EA24 JA03 LA03 LA05 LA06 NA02 NA12 NA42 PA11

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークに接続されたソースファ
    イル送信装置、暗号化プログラム配布装置及び実行ファ
    イル受信装置とからなるプログラム配布システムにおい
    て、 前記ソースファイル送信装置は、 プログラムのソースファイルを前記暗号化プログラム配
    布装置宛てに送信する第1の送信手段を具備し、 前記暗号化プログラム配布装置は、 前記ソースファイル送信装置から送信された前記ソース
    ファイルを受信する第1の受信手段と、 前記第1の受信手段で受信した前記ソースファイルから
    前記プログラムの実行ファイルを生成する実行ファイル
    生成手段と、 前記実行ファイル受信装置から該実行ファイル受信装置
    固有の公開鍵、又は該実行ファイル受信装置のプロセッ
    サ固有の公開鍵のいずれか一方を受信する公開鍵受信手
    段と、 前記実行ファイルの少なくとも一部を前記公開鍵にて暗
    号化する暗号化手段と、 前記暗号化手段で暗号化された前記実行ファイルを前記
    実行ファイル受信装置宛てに送信する第2の送信手段と
    を具備し、 前記実行ファイル受信装置は、 前記公開鍵を前記暗号化プログラム配布装置宛てに送信
    する暗号化鍵送信手段と、 前記暗号化プログラム配布装置から送信された前記実行
    ファイルを受信する第2の受信手段と、 前記公開鍵に対応した秘密鍵を用いて、前記第2の受信
    手段で受信した前記実行ファイルを復号化する第2の復
    号化手段とを具備したことを特徴とするプログラム配布
    システム。
  2. 【請求項2】 ネットワークに接続されたソースファ
    イル送信装置、暗号化プログラム配布装置及び実行ファ
    イル受信装置とからなるプログラム配布システムにおい
    て、 前記ソースファイル送信装置は、 プログラムのソースファイルを前記暗号化プログラム配
    布装置宛てに送信する第1の送信手段を具備し、 前記暗号化プログラム配布装置は、 前記ソースファイル送信装置から送信された前記ソース
    ファイルを受信する第1の受信手段と、 前記第1の受信手段で受信した前記ソースファイルから
    前記プログラムの実行ファイルを生成する実行ファイル
    生成手段と、 前記実行ファイルの少なくとも一部を所定の共通鍵にて
    暗号化する第1の暗号化手段と、 前記実行ファイル受信装置から該実行ファイル受信装置
    固有の公開鍵、又は該実行ファイル受信装置のプロセッ
    サ固有の公開鍵のいずれか一方を受信する公開鍵受信手
    段と、 前記共通鍵を、前記公開鍵受信手段で受信した前記公開
    鍵で暗号化する第2の暗号化手段と、 前記第1の暗号化手段で暗号化された前記実行ファイル
    及び前記第2の暗号化手段で暗号化された前記共通鍵を
    前記実行ファイル受信装置宛てに送信する第2の送信手
    段とを具備し、 前記実行ファイル受信装置は、 前記公開鍵を前記暗号化プログラム配布装置宛てに送信
    する暗号化鍵送信手段と、 前記暗号化プログラム配布装置から送信された前記実行
    ファイル及び暗号化された前記共通鍵を受信する第2の
    受信手段と、 前記第2の受信手段で受信した前記共通鍵を、前記公開
    鍵に対応した秘密鍵で復号化する第1の復号化手段と、 前記第1の復号化手段で復号化した前記共通鍵を用い
    て、前記第2の受信手段で受信した前記実行ファイルを
    復号化する第2の復号化手段とを具備したことを特徴と
    するプログラム配布システム。
  3. 【請求項3】 前記所定の共通鍵は、前記プログラム
    に基づいてランダムに生成されることを特徴とする請求
    項2記載のプログラム配布システム。
  4. 【請求項4】 前記暗号化プログラム配布装置は、 前記ソースファイル送信装置と暗号化プログラム配布装
    置間で予め定められた秘密情報操作規約に基づき、前記
    ソースファイルが該秘密情報操作規約に違反しているか
    否かを検出する検出手段とを更に具備し、 前記検出手段において前記ソースファイルが該秘密情報
    操作規約を違反していた場合、前記ソースファイルの実
    行ファイル化、暗号化及び前記実行ファイル受信装置へ
    の送信を中止することを特徴とする請求項1及び請求項
    2記載のプログラム配布システム。
  5. 【請求項5】 前記暗号化プログラム配布装置は、 前記検出手段において前記ソースファイルが該秘密情報
    操作規約を違反していた場合、及び又は前記ソースファ
    イルから実行ファイルの作成に失敗した場合に、該違反
    を示す情報及び又は該失敗を示す情報を前記ソースファ
    イル送信装置に通知することを特徴とする請求項4記載
    のプログラム配布システム。
  6. 【請求項6】 前記ソースファイル送信装置は、 前記プログラムの前記実行ファイル内の秘密情報領域を
    指定する領域情報を前記暗号化プログラム配布装置宛て
    に送信する第3の送信手段を更に具備し、 前記暗号化プログラム配布装置は、 前記領域情報を受信する第3の受信手段と、 前記ソースファイル送信装置と暗号化プログラム配布装
    置間で予め定められた秘密情報操作規約、及び又は前記
    領域情報に基づいて、前記実行ファイル内の秘密情報を
    格納する領域を決定する秘密情報領域決定手段とを更に
    具備したことを特徴とする請求項1及び請求項2記載の
    プログラム配布システム。
  7. 【請求項7】 前記暗号化プログラム配布装置は、 前記ソースファイル、前記実行ファイル、該実行ファイ
    ルを暗号化した公開鍵及び実行ファイル内の秘密情報領
    域を指定する領域情報を関連付けて記録する記録手段と
    を更に具備したことを特徴とする請求項1記載のプログ
    ラム配布システム。
  8. 【請求項8】 前記暗号化プログラム配布装置は、 前記ソースファイル、前記実行ファイル、該実行ファイ
    ルを暗号化した共通鍵及び実行ファイル内の秘密情報領
    域を指定する領域情報を関連付けて記録する記録手段と
    を更に具備したことを特徴とする請求項2記載のプログ
    ラム配布システム。
  9. 【請求項9】 前記暗号化プログラム配布装置は、 前記実行ファイル生成手段において、前記ソースファイ
    ルから前記実行ファイルを生成する際に、機能的に同一
    であり、かつ異なる機械語命令を持つ前記実行ファイル
    を生成することを特徴とする請求項1及び請求項2記載
    のプログラム配布システム。
  10. 【請求項10】 前記暗号化プログラム配布装置は、 前記実行ファイル生成手段において、前記ソースファイ
    ルから前記実行ファイルを生成する際に、前記実行ファ
    イルの一部に前記プログラムの不具合情報送付先を示す
    情報を書き込むことを特徴とする請求項1及び請求項2
    記載のプログラム配布システム。
  11. 【請求項11】 前記不具合情報送付先は、前記暗号
    化プログラム配布装置であることを特徴とする請求項1
    0記載のプログラム配布システム。
  12. 【請求項12】 前記実行ファイル受信装置は、 前記実行ファイルに関する不具合情報を送信する第3の
    送信手段を更に具備し、 前記暗号化プログラム配布装置は、 前記実行ファイル受信装置から送信された前記不具合情
    報を受信する第3の受信手段を更に具備したことを特徴
    とする請求項1及び請求項2記載のプログラム配布シス
    テム。
  13. 【請求項13】 前記暗号化プログラム配布装置は、 受信した前記不具合情報を前記ソースファイル送信装置
    宛てに送信する第4の送信手段とを更に具備したことを
    特徴とする請求項12記載のプログラム配布システム。
  14. 【請求項14】 前記実行ファイル受信装置は、 前記実行ファイルに関する不具合情報を送信する第3の
    送信手段を更に具備し、 前記暗号化プログラム配布装置は、 前記実行ファイル受信装置から送信された前記不具合情
    報の一部を、対応する前記実行ファイルの前記共通鍵に
    て復号化する第3の復号化手段と、 復号化した前記不具合情報から、予め定められた所定の
    秘密情報格納領域のデータを削除する削除手段と、 前記削除手段により、前記所定の秘密情報が削除された
    前記不具合情報を前記ソースファイル送信装置に送信す
    る第3の送信手段とを更に具備したことを特徴とする請
    求項2記載のプログラム配布システム。
  15. 【請求項15】 ネットワークを介して第1の通信装
    置から、プログラムのソースファイルを受信する第1の
    受信手段と、 前記第1の受信手段で受信した前記ソースファイルから
    前記プログラムの実行ファイルを生成する実行ファイル
    生成手段と、 ネットワークを介して第2の通信装置から、該第2の通
    信装置固有の公開鍵、又は該第2の通信装置のプロセッ
    サ固有の公開鍵のいずれか一方を受信する公開鍵受信手
    段と、 前記実行ファイルの少なくとも一部を前記公開鍵にて暗
    号化する暗号化手段と、 前記暗号化手段で暗号化された前記実行ファイルを前記
    第2の通信装置宛てに送信する送信手段とを具備したこ
    とを特徴とする暗号化プログラム配布装置。
  16. 【請求項16】 ネットワークを介して第1の通信装
    置から、プログラムのソースファイルを受信する第1の
    受信手段と、 前記第1の受信手段で受信した前記ソースファイルから
    前記プログラムの実行ファイルを生成する実行ファイル
    生成手段と、 前記実行ファイルの少なくとも一部を所定の共通鍵にて
    暗号化する第1の暗号化手段と、 ネットワークを介して第2の通信装置から、該第2の通
    信装置固有の公開鍵、又は該第2の通信装置のプロセッ
    サ固有の公開鍵のいずれか一方を受信する公開鍵受信手
    段と、 前記共通鍵を、前記公開鍵受信手段で受信した前記公開
    鍵で暗号化する第2の暗号化手段と、 前記第1の暗号化手段で暗号化された前記実行ファイル
    及び前記第2の暗号化手段で暗号化された前記共通鍵を
    前記第2の通信装置宛てに送信する送信手段とを具備し
    たことを特徴とする暗号化プログラム配布装置。
  17. 【請求項17】 ネットワークに接続されたソースフ
    ァイル送信装置、暗号化プログラム配布装置及び実行フ
    ァイル受信装置とからなるプログラム不具合情報収集シ
    ステムにおいて、 前記ソースファイル送信装置は、 プログラムのソースファイルを前記暗号化プログラム配
    布装置宛てに送信する第1の送信手段とを具備し、 前記暗号化プログラム配布装置は、 前記ソースファイル送信装置から送信された前記ソース
    ファイルを受信する第1の受信手段と、 前記第1の受信手段で受信した前記ソースファイルから
    前記プログラムの実行ファイルを生成する実行ファイル
    生成手段と、 前記実行ファイルの少なくとも一部を所定の共通鍵にて
    暗号化する第1の暗号化手段と、 前記実行ファイル受信装置から該実行ファイル受信装置
    固有の公開鍵、又は該実行ファイル受信装置のプロセッ
    サ固有の公開鍵のいずれか一方を受信する公開鍵受信手
    段と、 前記共通鍵を、前記公開鍵受信手段で受信した前記公開
    鍵で暗号化する第2の暗号化手段と、 前記第1の暗号化手段で暗号化された前記実行ファイル
    及び前記第2の暗号化手段で暗号化された前記共通鍵を
    前記実行ファイル受信装置宛てに送信する第2の送信手
    段と、 前記実行ファイルに関する不具合情報を前記実行ファイ
    ル受信装置から受信する第2の受信手段と、 前記不具合情報を送信した前記実行ファイル受信装置の
    ユーザに対する所定の報奨を決定する報奨決定手段とを
    具備し、 前記実行ファイル受信装置は、 前記公開鍵を前記暗号化プログラム配布装置宛てに送信
    する暗号化鍵送信手段と、 前記暗号化プログラム配布装置から送信された前記実行
    ファイル及び暗号化された前記共通鍵を受信する第2の
    受信手段と、 前記第2の受信手段で受信した前記共通鍵を、前記公開
    鍵に対応した秘密鍵で復号化する第1の復号化手段と、 前記第1の復号化手段で復号化した前記共通鍵を用い
    て、前記第2の受信手段で受信した前記実行ファイルを
    復号化する第2の復号化手段と、 前記実行ファイルに関する不具合情報を送信する第3の
    送信手段を具備したことを特徴とするプログラム不具合
    情報収集システム。
  18. 【請求項18】 ネットワークに接続されたソースフ
    ァイル送信装置、暗号化プログラム配布装置及び実行フ
    ァイル受信装置とからなるプログラム配布システムにて
    用いられるプログラム配布方法において、 前記ソースファイル送信装置は、 プログラムのソースファイルを前記暗号化プログラム配
    布装置宛てに送信し、 前記暗号化プログラム配布装置は、 前記ソースファイル送信装置から送信された前記ソース
    ファイルを受信し、 受信した前記ソースファイルから前記プログラムの実行
    ファイルを生成し、 前記実行ファイル受信装置から該実行ファイル受信装置
    固有の公開鍵、又は該実行ファイル受信装置のプロセッ
    サ固有の公開鍵のいずれか一方を受信し、 前記実行ファイルの少なくとも一部を前記公開鍵にて暗
    号化し、 前記暗号化手段で暗号化された前記実行ファイルを前記
    実行ファイル受信装置宛てに送信し、 前記実行ファイル受信装置は、 前記公開鍵を前記暗号化プログラム配布装置宛てに送信
    し、 前記暗号化プログラム配布装置から送信された前記実行
    ファイルを受信し、 前記公開鍵に対応した秘密鍵を用いて、受信した前記実
    行ファイルを復号化することを特徴とするプログラム配
    布方法。
  19. 【請求項19】 ネットワークに接続されたソースフ
    ァイル送信装置、暗号化プログラム配布装置及び実行フ
    ァイル受信装置とからなるプログラム配布システムにて
    用いられるプログラム配布方法において、 前記ソースファイル送信装置は、 プログラムのソースファイルを前記暗号化プログラム配
    布装置宛てに送信し、 前記暗号化プログラム配布装置は、 前記ソースファイル送信装置から送信された前記ソース
    ファイルを受信し、 受信した前記ソースファイルから前記プログラムの実行
    ファイルを生成し、 前記実行ファイルの少なくとも一部を所定の共通鍵にて
    暗号化し、 前記実行ファイル受信装置から該実行ファイル受信装置
    固有の公開鍵、又は該実行ファイル受信装置のプロセッ
    サ固有の公開鍵のいずれか一方を受信し、 前記共通鍵を、受信した前記公開鍵で暗号化し、 暗号化された前記実行ファイル及び暗号化された前記共
    通鍵を前記実行ファイル受信装置宛てに送信し、 前記実行ファイル受信装置は、 前記公開鍵を前記暗号化プログラム配布装置宛てに送信
    し、 前記暗号化プログラム配布装置から送信された前記実行
    ファイル及び暗号化された前記共通鍵を受信し、 受信した前記共通鍵を、前記公開鍵に対応した秘密鍵で
    復号化し、 復号化した前記共通鍵を用いて、受信した前記実行ファ
    イルを復号化することを特徴とするプログラム配布方
    法。
  20. 【請求項20】 ネットワークを介して第1の通信装
    置から、プログラムのソースファイルを受信し、 受信した前記ソースファイルから前記プログラムの実行
    ファイルを生成し、 ネットワークを介して第2の通信装置から、該第2の通
    信装置固有の公開鍵、又は該第2の通信装置のプロセッ
    サ固有の公開鍵のいずれか一方を受信し、 前記実行ファイルの少なくとも一部を前記公開鍵にて暗
    号化し、 暗号化された前記実行ファイルを前記第2の通信装置宛
    てに送信することを特徴とするプログラム配布方法。
  21. 【請求項21】 ネットワークを介して第1の通信装
    置から、プログラムのソースファイルを受信し、 受信した前記ソースファイルから前記プログラムの実行
    ファイルを生成し、 前記実行ファイルの少なくとも一部を所定の共通鍵にて
    暗号化し、 ネットワークを介して第2の通信装置から、該第2の通
    信装置固有の公開鍵、又は該第2の通信装置のプロセッ
    サ固有の公開鍵のいずれか一方を受信し、 前記共通鍵を、受信した前記公開鍵で暗号化し、 暗号化された前記実行ファイル及び暗号化された前記共
    通鍵を前記第2の通信装置宛てに送信することを特徴と
    するプログラム配布方法。
  22. 【請求項22】 コンピュータにより実行可能なコン
    ピュータプログラムであって、 ネットワークを介して第1の通信装置から、プログラム
    のソースファイルを受信する機能と、 受信した前記ソースファイルから前記プログラムの実行
    ファイルを生成する機能と、 ネットワークを介して第2の通信装置から、該第2の通
    信装置固有の公開鍵、又は該第2の通信装置のプロセッ
    サ固有の公開鍵のいずれか一方を受信する機能と、 前記実行ファイルの少なくとも一部を前記公開鍵にて暗
    号化する機能と暗号化された前記実行ファイルを前記第
    1の通信装置宛てに送信する機能とを具備したことを特
    徴とするコンピュータプログラム。
  23. 【請求項23】 コンピュータにより実行可能なコン
    ピュータプログラムであって、 ネットワークを介して第1の通信装置から、プログラム
    のソースファイルを受信する機能と、 受信した前記ソースファイルから前記プログラムの実行
    ファイルを生成する機能と、 前記実行ファイルの少なくとも一部を所定の共通鍵にて
    暗号化する機能と、ネットワークを介して第2の通信装
    置から、該第2の通信装置固有の公開鍵、又は該第2の
    通信装置のプロセッサ固有の公開鍵のいずれか一方を受
    信する機能と、 前記共通鍵を、受信した前記公開鍵で暗号化する機能
    と、 暗号化された前記実行ファイル及び暗号化された前記共
    通鍵を前記第2の通信装置宛てに送信する機能とを具備
    したことを特徴とするコンピュータプログラム。
JP2000332068A 2000-10-31 2000-10-31 プログラム配布システム Expired - Fee Related JP4067757B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2000332068A JP4067757B2 (ja) 2000-10-31 2000-10-31 プログラム配布システム
EP01309273A EP1308820A3 (en) 2000-10-31 2001-10-31 Encrypted program distribution system using computer network
US09/984,717 US20020053024A1 (en) 2000-10-31 2001-10-31 Encrypted program distribution system using computer network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000332068A JP4067757B2 (ja) 2000-10-31 2000-10-31 プログラム配布システム

Publications (2)

Publication Number Publication Date
JP2002140126A true JP2002140126A (ja) 2002-05-17
JP4067757B2 JP4067757B2 (ja) 2008-03-26

Family

ID=18808322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000332068A Expired - Fee Related JP4067757B2 (ja) 2000-10-31 2000-10-31 プログラム配布システム

Country Status (3)

Country Link
US (1) US20020053024A1 (ja)
EP (1) EP1308820A3 (ja)
JP (1) JP4067757B2 (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795921B2 (en) * 1997-12-24 2004-09-21 Fujitsu Limited Apparatus and method for translating with decoding function
JP2007067630A (ja) * 2005-08-30 2007-03-15 Ancl Inc ネットワークを使用するデータ伝送システム及びその方法
JP2008090791A (ja) * 2006-10-05 2008-04-17 Nippon Telegr & Teleph Corp <Ntt> 仮想端末を利用した検疫ネットワークシステム、仮想端末を検疫する方法、及び、仮想端末を検疫するためのプログラム
WO2008056700A1 (fr) * 2006-11-09 2008-05-15 Panasonic Corporation Système de détection de falsification, procédé de détection de falsification, programme de détection de falsification, support d'enregistrement, circuit intégré, dispositif de génération d'informations d'authentification et dispositif de détection de fals
CN100418096C (zh) * 2005-04-05 2008-09-10 株式会社Ntt都科摩 应用程序验证系统和应用程序验证方法
JP2009503698A (ja) * 2005-07-26 2009-01-29 アップル インコーポレイテッド 安全なソフトウェア更新
JP2009026010A (ja) * 2007-07-18 2009-02-05 Yahoo Japan Corp コンテンツ配信装置、コンテンツ配信制御方法、および、コンテンツ配信制御プログラム
JP2010040051A (ja) * 2009-09-15 2010-02-18 Spicysoft Kk コンテンツ配信システム及びコンテンツ配信方法、並びにコンテンツ配信装置
JP2011515743A (ja) * 2008-03-04 2011-05-19 アップル インコーポレイテッド セキュアな動作環境におけるソフトウェア開発者に対するコードエンタイトルメントの管理
JP2020077347A (ja) * 2018-11-09 2020-05-21 国立大学法人東北大学 情報処理システム、データ提供方法、および情報処理システムの製造方法
JP2020079891A (ja) * 2018-11-14 2020-05-28 日鉄ソリューションズ株式会社 プログラム、記憶媒体、情報処理装置及び情報処理方法
WO2020144758A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 秘密計算装置及びクライアント装置
JP2020202535A (ja) * 2019-06-13 2020-12-17 伊格拉斯▲控▼股有限公司 安全製造に適用される制御システム及び制御方法
WO2021245837A1 (ja) * 2020-06-03 2021-12-09 日本電気株式会社 バックドア検査装置、バックドア検査方法、及びコンピュータ可読媒体

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7320075B2 (en) * 2001-11-20 2008-01-15 Safenet, Inc. Software protection method utilizing hidden application code in a protection dynamic link library object
US7280819B2 (en) * 2003-02-19 2007-10-09 Cingular Wireless Ii Llc Interrogate-response communication system with privacy indication
US7676546B2 (en) * 2003-03-25 2010-03-09 Verisign, Inc. Control and management of electronic messaging
JP4282472B2 (ja) * 2003-12-26 2009-06-24 株式会社東芝 マイクロプロセッサ
GB0403705D0 (en) * 2004-02-19 2004-03-24 Waterleaf Ltd Gaming facility and method of operation thereof
JP4612461B2 (ja) * 2004-06-24 2011-01-12 株式会社東芝 マイクロプロセッサ
JP4559794B2 (ja) * 2004-06-24 2010-10-13 株式会社東芝 マイクロプロセッサ
JP4204522B2 (ja) * 2004-07-07 2009-01-07 株式会社東芝 マイクロプロセッサ
US20060064488A1 (en) * 2004-09-17 2006-03-23 Ebert Robert F Electronic software distribution method and system using a digital rights management method based on hardware identification
US7822972B2 (en) * 2005-04-05 2010-10-26 Mcafee, Inc. Remotely configurable bridge system and method for use in secure wireless networks
US7761710B2 (en) 2005-04-05 2010-07-20 Mcafee, Inc. Captive portal system and method for use in peer-to-peer networks
US7606370B2 (en) * 2005-04-05 2009-10-20 Mcafee, Inc. System, method and computer program product for updating security criteria in wireless networks
US7757274B2 (en) * 2005-04-05 2010-07-13 Mcafee, Inc. Methods and systems for exchanging security information via peer-to-peer wireless networks
US20060288411A1 (en) * 2005-06-21 2006-12-21 Avaya, Inc. System and method for mitigating denial of service attacks on communication appliances
US7930557B2 (en) * 2006-05-16 2011-04-19 Autodesk, Inc. Framework for embedding graphical processing unit programs in computer software
US8302179B2 (en) * 2006-12-13 2012-10-30 Avaya Inc. Embedded firewall at a telecommunications endpoint
US7934197B2 (en) 2006-12-19 2011-04-26 Telefonaktiebolaget Lm Ericsson (Publ) Maintaining code integrity in a central software development system
JP4976991B2 (ja) * 2007-11-22 2012-07-18 株式会社東芝 情報処理装置、プログラム検証方法及びプログラム
US9251339B2 (en) * 2007-12-29 2016-02-02 International Business Machines Corporation Core dump privacy during application failure
US20090327712A1 (en) * 2008-06-29 2009-12-31 Amnon Sarig System and method for variable encryption
US8010804B2 (en) * 2008-08-08 2011-08-30 International Business Machines Corporation Method to protect secrets against encrypted section attack
JP5322620B2 (ja) 2008-12-18 2013-10-23 株式会社東芝 情報処理装置、プログラム開発システム、プログラム検証方法及びプログラム
DE102010003581A1 (de) * 2010-04-01 2011-10-06 Bundesdruckerei Gmbh Elektronisches Gerät, Datenverarbeitungssystem und Verfahren zum Lesen von Daten aus einem elektronischen Gerät
US8719415B1 (en) 2010-06-28 2014-05-06 Amazon Technologies, Inc. Use of temporarily available computing nodes for dynamic scaling of a cluster
US8260840B1 (en) * 2010-06-28 2012-09-04 Amazon Technologies, Inc. Dynamic scaling of a cluster of computing nodes used for distributed execution of a program
US8832855B1 (en) * 2010-09-07 2014-09-09 Symantec Corporation System for the distribution and deployment of applications with provisions for security and policy conformance
US8896858B2 (en) * 2012-07-22 2014-11-25 Xerox Corporation Method for enforcing document privacy through third party systems
CN104426989B (zh) * 2013-09-09 2018-12-14 联想(北京)有限公司 数据呈现方法、数据请求方法及电子设备
CN103561091A (zh) * 2013-10-31 2014-02-05 上海上讯信息技术有限公司 文档外发控制系统及方法
GB2531770A (en) * 2014-10-30 2016-05-04 Ibm Confidential Extracting System Internal Data
US10103891B2 (en) * 2015-01-07 2018-10-16 Cyph, Inc. Method of generating a deniable encrypted communications via password entry
US9961056B2 (en) 2015-01-07 2018-05-01 Cyph, Inc. Method of deniable encrypted communications
WO2016114822A1 (en) 2015-01-16 2016-07-21 Cyph Inc. A system and method of cryprographically signing web applications
US9965635B2 (en) * 2015-04-24 2018-05-08 Panasonic Intellectual Property Corporation Of America Image tagging device
DE102016009439A1 (de) * 2016-08-03 2018-02-08 Giesecke+Devrient Mobile Security Gmbh Individuelles Verschlüsseln von Steuerbefehlen
CN108471411B (zh) * 2018-03-19 2020-11-13 银联商务股份有限公司 密钥处理方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5509074A (en) * 1994-01-27 1996-04-16 At&T Corp. Method of protecting electronically published materials using cryptographic protocols
US5701343A (en) * 1994-12-01 1997-12-23 Nippon Telegraph & Telephone Corporation Method and system for digital information protection
SE504085C2 (sv) * 1995-02-01 1996-11-04 Greg Benson Sätt och system för att hantera dataobjekt i enlighet med förutbestämda villkor för användare
NO302388B1 (no) * 1995-07-13 1998-02-23 Sigurd Sigbjoernsen Fremgangsmåte og anordning for å beskytte programvare mot bruk uten tillatelse
US5892904A (en) * 1996-12-06 1999-04-06 Microsoft Corporation Code certification for network transmission
US6141698A (en) * 1997-01-29 2000-10-31 Network Commerce Inc. Method and system for injecting new code into existing application code
US6108420A (en) * 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US6044469A (en) * 1997-08-29 2000-03-28 Preview Software Software publisher or distributor configurable software security mechanism
WO2001010076A2 (en) * 1999-07-29 2001-02-08 Intertrust Technologies Corp. Systems and methods for protecting secure and insecure computing environments using cryptography
US6684389B1 (en) * 1999-08-05 2004-01-27 Canon Kabushiki Kaisha Compiler that decrypts encrypted source code

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795921B2 (en) * 1997-12-24 2004-09-21 Fujitsu Limited Apparatus and method for translating with decoding function
CN100418096C (zh) * 2005-04-05 2008-09-10 株式会社Ntt都科摩 应用程序验证系统和应用程序验证方法
US8332823B2 (en) 2005-04-05 2012-12-11 Ntt Docomo, Inc. Application program verification system, application program verification method and computer program
JP2009503698A (ja) * 2005-07-26 2009-01-29 アップル インコーポレイテッド 安全なソフトウェア更新
JP2007067630A (ja) * 2005-08-30 2007-03-15 Ancl Inc ネットワークを使用するデータ伝送システム及びその方法
JP2008090791A (ja) * 2006-10-05 2008-04-17 Nippon Telegr & Teleph Corp <Ntt> 仮想端末を利用した検疫ネットワークシステム、仮想端末を検疫する方法、及び、仮想端末を検疫するためのプログラム
WO2008056700A1 (fr) * 2006-11-09 2008-05-15 Panasonic Corporation Système de détection de falsification, procédé de détection de falsification, programme de détection de falsification, support d'enregistrement, circuit intégré, dispositif de génération d'informations d'authentification et dispositif de détection de fals
JPWO2008056700A1 (ja) * 2006-11-09 2010-02-25 パナソニック株式会社 改竄検出システム、改竄検出方法、改竄検出プログラム、記録媒体、集積回路、認証情報生成装置及び改竄検出装置
US8453206B2 (en) 2006-11-09 2013-05-28 Panasonic Corporation Detecting unauthorized tampering of a program
JP2009026010A (ja) * 2007-07-18 2009-02-05 Yahoo Japan Corp コンテンツ配信装置、コンテンツ配信制御方法、および、コンテンツ配信制御プログラム
JP2011515743A (ja) * 2008-03-04 2011-05-19 アップル インコーポレイテッド セキュアな動作環境におけるソフトウェア開発者に対するコードエンタイトルメントの管理
JP2010040051A (ja) * 2009-09-15 2010-02-18 Spicysoft Kk コンテンツ配信システム及びコンテンツ配信方法、並びにコンテンツ配信装置
JP2020077347A (ja) * 2018-11-09 2020-05-21 国立大学法人東北大学 情報処理システム、データ提供方法、および情報処理システムの製造方法
JP7090903B2 (ja) 2018-11-09 2022-06-27 国立大学法人東北大学 情報処理システム、データ提供方法、および情報処理システムの製造方法
JP2020079891A (ja) * 2018-11-14 2020-05-28 日鉄ソリューションズ株式会社 プログラム、記憶媒体、情報処理装置及び情報処理方法
JP7261566B2 (ja) 2018-11-14 2023-04-20 日鉄ソリューションズ株式会社 プログラム、記憶媒体、情報処理装置及び情報処理方法
WO2020144758A1 (ja) * 2019-01-09 2020-07-16 三菱電機株式会社 秘密計算装置及びクライアント装置
JPWO2020144758A1 (ja) * 2019-01-09 2021-03-11 三菱電機株式会社 クライアント装置
JP2020202535A (ja) * 2019-06-13 2020-12-17 伊格拉斯▲控▼股有限公司 安全製造に適用される制御システム及び制御方法
JP2022084708A (ja) * 2019-06-13 2022-06-07 伊格拉斯▲控▼股有限公司 安全製造に適用される制御システム及び制御方法
WO2021245837A1 (ja) * 2020-06-03 2021-12-09 日本電気株式会社 バックドア検査装置、バックドア検査方法、及びコンピュータ可読媒体
JP7448005B2 (ja) 2020-06-03 2024-03-12 日本電気株式会社 バックドア検査装置、バックドア検査方法、及びプログラム

Also Published As

Publication number Publication date
EP1308820A3 (en) 2003-07-09
US20020053024A1 (en) 2002-05-02
EP1308820A2 (en) 2003-05-07
JP4067757B2 (ja) 2008-03-26

Similar Documents

Publication Publication Date Title
JP4067757B2 (ja) プログラム配布システム
US7734549B2 (en) Methods and apparatus for managing secured software for a wireless device
EP1342149B1 (en) Method for protecting information and privacy
EP1710724B1 (en) Application program verification system, application program verification method and computer program
US7991995B2 (en) Method and apparatus for protecting information and privacy
US9898587B2 (en) Software protection using an installation product having an entitlement file
US20090031141A1 (en) Computer platforms and their methods of operation
JPH10269078A (ja) ソフトウエア流通方法およびサーバ装置およびクライアント装置
JP2008146479A (ja) ソフトウェア部品、ソフトウェア部品管理方法、及びソフトウェア部品管理システム
JP2004518205A5 (ja)
JPH1031587A (ja) データ端末装置およびコンピュータプログラム
US20100031033A1 (en) Apparatus and method of sharing drm agents
CN102004887A (zh) 程序保护方法和装置
WO2002035324A2 (en) System and method for managing digital content
US20140373167A1 (en) Trace center apparatus and method for enabling contents to be traced
US20030212639A1 (en) Method and system for providing secure authoring services for protected software
EP1211587A1 (en) Distributing programming language code
JP2005084989A (ja) ソフトウェア改ざん検出システム、方法及びプログラム
JP2021118444A (ja) 情報処理装置、情報処理方法及びプログラム
Hachez et al. Towards a practical secure framework for mobile code commerce
WO2022270626A1 (ja) ソフトウェア利用システムおよびソフトウェア利用方法
JP2002189526A (ja) 配信システム
Gerrits Implementing a DRM-Preserving Digital Content Redistribution System

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050301

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050414

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080109

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110118

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees