JP4359427B2 - データストリーム及びデータアーカイブのためのデジタル署名の実施 - Google Patents

データストリーム及びデータアーカイブのためのデジタル署名の実施 Download PDF

Info

Publication number
JP4359427B2
JP4359427B2 JP2002367156A JP2002367156A JP4359427B2 JP 4359427 B2 JP4359427 B2 JP 4359427B2 JP 2002367156 A JP2002367156 A JP 2002367156A JP 2002367156 A JP2002367156 A JP 2002367156A JP 4359427 B2 JP4359427 B2 JP 4359427B2
Authority
JP
Japan
Prior art keywords
file
signature
identifier
applet
data
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.)
Expired - Lifetime
Application number
JP2002367156A
Other languages
English (en)
Other versions
JP2003218859A (ja
Inventor
ジェイ. レナウド ベンジャミン
シー. パンプッチ ジョン
イー. ホシーズ ウィルシャー エイブリル
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 US08/753,716 external-priority patent/US6021491A/en
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2003218859A publication Critical patent/JP2003218859A/ja
Application granted granted Critical
Publication of JP4359427B2 publication Critical patent/JP4359427B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/604Tools and structures for managing or administering access control systems

Description

【0001】
【発明の属する技術分野】
本発明は、一般に計算資源の間のデータの共有に関するものである。より詳細には、本発明は、コンピュータシステム上で処理されているデータの真正性(authenticity)を保証し(secure)また証明するための方法、装置、及び生産物に関するものである。
【0002】
【従来の技術】
インターネットといったネットワーク化されたコンピュータ環境の人気が高くなるにつれて、共有されている情報を安全な(secure)方法でネットワーク化されたコンピュータ間において伝送する方法を用意する要求が高まってきた。例えば、インターネットのユーザがデータの形式で情報を他のユーザに送るとき、受け手のユーザにとって、受け取ったデータが何らかの方法で変質されていなかったこと、さもなければ改変されていなかったこと、を検証することが有益なことがある。さらに、受け手のユーザは、受け取ったデータが詐称者からではなく送り手ユーザから実際に送られたことを検証することが有益であることを見いだすこともある。
【0003】
その結果、コンピュータネットワークや他のデータリンクにわたって転送されたデータのセキュリティを増す方法やアルゴリズムが、一定の成果とともに、開発されまた展開されてきた。もっと安全な方法には、データを送るに先立ってその全部または一部を暗号化し、また同様にして、送られたデータを使うに先立ってそれを復号化することを含む傾向がある。そのような暗号化や復号化の技術には、例えばコンピュータシステムを用い「署名アルゴリズム」を走らせることによって、暗号化データをデータファイルに付加し、そのデータファイル内のデータを暗号化したり、さもなければ変形したりすることを含む。
【0004】
現在、今日使用されているいくつかの署名アルゴリズムがある。1つの著名な署名アルゴリズムは、実際には、メッセージ・ダイジェスト(Message Digest)アルゴリズムとRSA暗号アルゴリズムを組み合わせ(例えば、MD5とRSAの組み合わせ、MD2とRSAの組み合わせ等)である。RSA付きのメッセージ・ダイジェストは、カルフォルニアのレッドウッド・シティ(Redwood City)にあるメッセージ・データ・セキュリティ(Message Data Security)社から入手可能である。他の有名な署名アルゴリズムは、DSA暗号化アルゴリズムである。DSA暗号化アルゴリズムは、米国政府から入手可能であり、署名アルゴリズムとして私的な団体によって限られた目的のために用いることができる。これらの署名アルゴリズムを、限定された詳しさで以下に説明する。
【0005】
RSAアルゴリズム付きのメッセージ・ダイジェストは、データファイルに付加できる「電子署名(デジタル署名、digital signature)」を生成する性能(capability)を含む。電子署名は、基本的には、ユーザが受け取ったデータファイルの出所(source)が真正であることを証明できるメカニズムである。電子署名は、典型的には、関連のデータファイルに伴って、他のユーザに対して発生され、また供給されることができるデータの特別な続き(sequence)である。ほとんどの署名アルゴリズムの裏にある基本的なコンセプトは、すべてのユーザ(例えば、個人や会社や政府など)が「私的キー(private key)」や「公開キー(public key)」の両方を含む「キーの対」を有していることである。キー(鍵)は、例えば、数の続きである。私的キーは、単一のユーザに割り当てられまたそのユーザによって秘密に保たれるも独自のキーである。私的キーは、割り当てられたユーザによって使用され署名アルゴリズムを用いデータファイルのための電子署名を創り出す。それに対して、公開キーは、典型的にはすべての他のユーザに対して利用できるようにされる。公開キーは、受け取ったデータファイルに関する電子署名が真正である(例えば、その電子署名がその私的キーで創り出された)ことを検証するために、これらの他のユーザによって用いられることができる。検証プロセスは、同じ署名アルゴリズムで達成される。原理的には、このような検証プロセスは、受け取ったデータの出所の真正性において比較的高い水準の信頼度を提供できる。
【0006】
電子署名発生アルゴリズムに加えて、データファイルが何らかの方法で変質されていなかったことの真正性を証明するために用いられるアルゴリズムも存在する。これらのアルゴリズムは、典型的には「一方向ハッシュ関数(one-way hashfunction)」として知られている。そのようなアルゴリズムの一例は、上にて紹介されたメッセージ・ダイジェストである。一方向ハッシュ関数は、通常はキーを必要としない。一方向ハッシュ関数は、典型的には、データファイルに挿入される付加的なデータを含んである。そのため、データファイルを受け取ったとき、そのハッシュ関数は、そのハッシュ関数が発生されて以来、そのデータファイル内のどのデータも改変されていないことを検証するために使用できる。しかしながら、ハッシュ関数は、誰がそれを送ったいった、関連したファイルについての何事もユーザは必ずしも推論できないという点で典型的には限定されている。多くの署名アルゴリズムが一方向ハッシュ関数を内部の構成部品として使っている点を言及しておく。
【0007】
インターネットといった比較的にオープンでセキュリティに欠けるネットワークに対しては、受け取ったデータファイルを使うに先立ってそれらが真正であること証明することはユーザにとって有益である。そのようなデータファイルには、制限されるものではないが、コンピュータプログラム、グラフィックス、テキスト、写真、音声、ビデオ、叉はコンピュータシステム内での使用に適する他の情報などがある。データファイルのタイプがどんなものであっても、真正性の証明は、上述したような署名アルゴリズム叉は暗号化アルゴリズムの類似タイプで達成されることができる。例示によれば、もしデータファイルがソフトウェアプログラムならば、そのプログラムがユーザのコンピュータをウィルスに感染させるトロイの木馬(Trojan Horse)を含んでいると困るので、ユーザのコンピュータシステムをソフトウェアプログラムにさらすに先立ってそのプログラムが信頼できる権限者によって送られたことが真正であると証明することをユーザが望むかもしれない。そのような場合においては、送り手のユーザは上述したように、データの真正性を証明できる。
【0008】
別な例は、受け手のユーザが、自分のコンピュータの画面に表示するに先立ってテキストファイル及び画像データファイル、叉はテキストファイル若しくは画像データファイルが真正であると証明することを望む場合である。これは、望ましくない内容を有するテキスト及び画像の表示を制御するために有効である。例えば、親たちは成人ものの主題や資料に関係する絵やテキストに対する子供が行うあらゆるアクセスを制限したいかもしれない。これは、そのデータファイル(例えば、テキストファイル叉は画像ファイル)が信頼できる出所から来たことを検証することによって達成されることできる。同様に、テキストファイルや画像ファイルの供給者は、商標や他の知的所有権の使用を制御するように認可又は真正性の「スタンプ」を与えたいかもしれない。
【0009】
【発明が解決しようとする課題】
残念ながら、暗号化することと復号化すること、署名することと検証すること、及び/叉はハッシュ関数を生成すること、のプロセスは、送り手及び受け手のユーザのコンピュータ資源に追加の負荷をかける(place)。この負荷は、いくつかのデータファイルを送ったりまた受けたりするユーザに対して度合いが増す。例えば、ワールドワイドウェブ(World-Wide Web)として知られるインターネットの側面が成長すると、ユーザ間における多数の(multiple)データファイルの転送において激増することに至る。このような多数のデータファイルは、JavaTMアプレット(Java applet)といったオブジェクト指向のソフトウェアプロセスを構成するコンポーネント叉はオブジェクトをしばしば含む。そのような多数のデータファイルの転送の際にユーザのコンピュータ資源上にかけ得る潜在的な負荷を例示するためには、そのファイルの各々のために電子署名を検証することに関連する結果として生じる処理時間を計算することのみを必要とする。例えば、仮にJavaTMアプレットが電子的に署名された(データファイルも含む)200個ものJavaTMクラスファイルを含むとすると、通常のデスクトップコンピュータ上で平均検証時間が1秒であると仮定して、ユーザはデータファイルを受けた後にアプレットを使うために約200秒もの間待たなくてはならないでしょう。そのような時間遅れは、コンピュータネットワーク環境の効率を著しく縮小させる可能性がある。このことは、リアル(またはリアルに近い)タイムでのストリーム方式の音声叉はビデオのデータファイルといった、時間が決められた処理に関係するデータファイルに関してはまさに真実となる。
【0010】
従って、望まれていることは、データファイルの真正性を保証しまた検証するための、特にコンピュータネットワークにわたって転送されると意図されるデータファイルについての、より効率的な方法、装置および生産物である。
【0011】
【課題を解決するための手段】
本発明は、コンピュータネットワークをわたって転送されると意図されるデータファイルのような、データファイルの真正性を保証しまた検証するための、より効率的な方法、装置および生産物を提供する。本発明の1つの側面に従って、データの真正性を検証するための方法は識別子と署名ファイルとを含む少なくとも1つのデータファイルを提供することを伴い、この署名ファイルは電子署名だけでなく、データファイルのための識別子を含む。そして、電子署名はコンピュータシステムを使用して検証され、そのデータファイル内の識別子はコンピュータシステムを使って署名ファイル内の識別子と比較される。
【0012】
1つの実施例として、そのデータファイルのための識別子は、少なくとも1つの証明の認証、サイト証明、ソフトウェア配布者の識別子、またはサイト名を含み、またデータの真正性を検証することは少なくとも1つの証明の認証、前記サイト証明、前記ソフトウェア配布者の識別子、前記サイト名のためのセキュリティレベルを設定することを伴う。そのような実施例においては、データファイルがコンピュータシステムにダウンロードされ、そしてそのデータファイルがアプレットでありまたその電子署名が検証されると、データの真正性の検証することは、そのアプレットへブランドを付けることとそれに応じてアプレットを動作させることを伴う。
【0013】
本発明の別の側面では、識別子を含んだ少なくとも1つのデータファイルと、電子署名に加えてデータファイルのための識別子を含む署名ファイルとの真正性を検証するための装置は、電子署名を検証するベリファイヤ(verifier)と、データファイル内の識別子と署名ファイル内の識別子を比較するためのコンパレータ(comparator)とを含む。別の実施例においては、そのコンパレータは一方向ハッシュ関数アルゴリズムを含む。
【0014】
本発明のさらに別の側面においては、識別子を含み、且つデータファイルのためのその識別子と電子署名とを有する署名ファイルに関連づけられる、データファイルの真正性を検証するために用意されるコンピュータシステムは、プロセッサと、プロセッサに結合されるメモリと、電子署名を検証しまたデータファイル内の識別子を署名ファイル内の識別子を比較するために用意されたベリファイヤとを含む。ある実施例においては、そのデータファイルのための識別子は証明の認証、サイト証明、ソフトウェア配布者の識別子、およびサイト名のうちの少なくとも1つを含む。そのような実施例においては、ヴェリファイヤは証明認証、サイト証明、ソフトウェア開発者の識別子、およびサイト名のうちの少なくとも1つのためのセキュリティレベルを設定するように調整されている。別の実施例では、データファイルはアプレットであり、ベリファイアはアプレットにブランドを付け、且つそのアップレットを動作させるために用意されている。
【0015】
本発明は、データの真正性を検証するための、コンピュータで実現される方法であって、該方法は、少なくとも1つのデータファイルと署名ファイルとを受け取る工程を備え、該データファイルと該署名ファイルは別個であり、該データファイルは識別子を含み、該署名ファイルは該データファイルのための該識別子と電子署名とを含み、該方法は、該署名ファイルの真正性を判断するためにコンピュータシステムを使用して署名ファイルの処理する工程を備える。
【0016】
本発明の方法は、該コンピュータシステムを使用して、該データファイル内の該識別子と該署名ファイル内の該識別子を比較し該データファイルの真正性を判定する工程を更に含むことができ、署名ファイルを処理する該工程は、該署名ファイルの真正性を判定するためにコンピュータシステムを使用して該電子署名を処理する工程を更に含むことができる。
【0017】
本発明の方法は、該データファイル内の該識別子と該署名ファイル内の該識別子が一致するとき、該データファイルを署名されたものとしてマーキングする工程を更に含むことができる。
【0018】
本発明の方法は、該データファイルの該識別子と該署名ファイルの該識別子とが一致しないとき、該データファイルを無視すること、該データファイルのロードを中止すること、及びユーザに警告すること、の群から選択される少なくとも1つを、該データファイルの該識別子と該署名ファイルの該識別子とが一致しないとき、更に含むことができる。
【0019】
本発明の方法では、該コンピュータシステムを使用して該データファイル内の該識別子を該署名ファイルの該識別子と比較する該工程が、第2のデータファイルに対して繰り返されるようにしてもよい。
【0020】
本発明の方法では、該電子署名を処理する該工程は、署名アルゴリズムを用いて該電子署名を検証する工程を更に含むことができ、該署名アルゴリズムはキー付きのアルゴリズムであり、該署名アルゴリズムはDSAアルゴリズムとメッセージ・ダイジェスト及びRSAアルゴリズムの組み合わせとから成る群から選択されることができる。
【0021】
本発明の方法では、該識別子は、1方向ハッシュ関数アルゴリズム及びサイクリック冗長チェックサムアルゴリズムの一方を使用して発生されるようにしてもよい。
【0022】
本発明の方法では、該データファイル内の該識別子を該署名ファイル内の該識別子と比較する工程は、1方向ハッシュアルゴリズムを用いて1つ以上の該識別子を発生する工程を更に含むことができる。
【0023】
本発明の方法では、該データファイル内の該識別子を該署名ファイル内の該識別子と比較する該工程は、サイクリック冗長チェックサムアルゴリズムを用いて1つ以上の該識別子をチェックする工程を更に含むことができる。
【0024】
本発明の方法では、該データファイルと該署名ファイルとを受け取る該工程は、ネットワーク接続されたコンピュータ間で該データファイルと該署名ファイルを転送する工程を、更に含むことができる。
【0025】
本発明の方法では、該データファイル内の該識別子は、証明の認証、サイト証明、ソフトウェア配布者の識別子、及びサイト名のうちの少なくとも1つを含むことができ、当該方法は、前記証明の認証、前記サイト証明、前記ソフトウェア配布者の識別子、前記サイト名の少なくとも1つに対してセキュリティレベルの設定を含むことができる。
【0026】
本発明の方法は、該データファイルを該コンピュータシステムにダウンロードする工程を含み、該データファイルがアプレットを備えるとき、そして該電子署名が検証されるとき、当該方法は、検証されたものとして該アプレットにブランドを付ける(brand)工程、及び該アプレットを動作させる工程を含むことができる。
【0027】
本発明の方法は、該データファイルがアプレットを備えるとき、そして該署名が検証されないとき、当該方法は未署名のデータファイルが該コンピュータ上での実行に対して受け入れ可能か否かを決定する工程、未署名のデータファイルが前記コンピュータ上での実行に対して受け入れ可能でない場合に該アプレットを停止する工程、を含むことができる。
【0028】
本発明の方法は、該未署名のデータファイルが前記コンピュータ上での実行に対して受け入れ可能と決定されるとき、該アプレットにブランドを付ける工程を含むことができる。
【0029】
本発明の方法は、アプレットを動作させる工程と、該アプレットがセキュリティチェックを駆動するアクションを実行するか否かを決定する工程とを含むことができ、該セキュリティチェックは、該ブランドをセキュリティレベルと比較する工程、該セキュリティチェックが満たされるとき該アクションを許容しかつセキュリティチェックが満足されない場合該アクションを許容しない工程を含むことができる。
【0030】
本発明の方法は、該コンピュータシステムを使用して遠隔のサイトとデータ通信の接続を確立する工程と、該サイトが安全な接続を要求しているか否かを決定する工程と、安全な接続が要求されているという決定に応じて、該サイトに対するサイト証明が妥当であるか否かを決定する工程とを含むことができる。
【0031】
本発明は、少なくとも1つのデータファイルと署名ファイルとの真正性を検証するための装置であって、該データファイルは識別子を含み、該署名ファイルは該データファイルのための該識別子と電子署名とを含み、当該装置は電子署名を処理し該署名ファイルの真正性を決定するためのプロセッサを備え、該装置はコンピュータシステムを使用して該データファイル内の該識別子を該署名ファイル内の該識別子と比較し該データファイルの真正性を判断するためコンパレータを備え、該プロセッサは該コンピュータシステムを使用して該電子署名を処理し該署名ファイルの真正性を決定するように更に配置されている。
【0032】
本発明の装置では、該コンピュータシステムを使用して該データファイル内の該識別子を該署名ファイル内の該識別子と比較するための該コンパレータは、該データファイルの該識別子と該署名ファイルの該識別子とが一致するとき、署名されたものとして該データをマークするためのマーカを含むことができる。
【0033】
本発明は、データの真正性を検証する際の使用のためにコンピュータで利用できる媒体上に具体化されたコンピュータで可読なプログラムコードを有するコンピュータで利用できる媒体、を含んだコンピュータプログラム生産物であって、該プログラムは、コンピュータシステムで以下のa)少なくとも1つのデータファイルと署名ファイルとを受け取ることであって、該データファイルは識別子を含み、該署名ファイルは該データファイルのための該識別子と電子署名を含み、b)コンピュータシステムを使用して該署名ファイルを処理し該署名ファイルの真正性を判断すること、をもたらすための、コンピュータで可読なプログラムコードを含む。
【0034】
本発明のコンピュータプログラムコード生産物は、該コンピュータシステムを使用して該データファイル内の該識別子を該署名ファイル内の該識別子と比較し該データファイルの真正性を決定するための生産物であって、該署名ファイルを処理することは該コンピュータシステムを使用して該電子署名を処理し該署名ファイルの真正性を決定することを含むことができる。
【0035】
本発明のコンピュータプログラムコード生産物は、該コンピュータシステムを使用して該データファイル内の該識別子を該署名ファイル内の該識別子と比較することは、該データファイル内の該識別子と該署名ファイル内の該識別子とが一致するとき、該データファイルを署名されたものとしてマークすることを含むことができる。
【0036】
本発明とそれについてのさらなる利点を、添付図面と共に以下の記述を参照することによって最もよく理解できる。
【0037】
【発明の実施の形態】
本発明のいくつかの実施例は、任意の数のデータファイルに対して単一の電子署名のみの実施とその検証を要求することによって、出所ユーザのコンピュータシステムと受け手ユーザのコンピュータシステムとの両方にかけられた計算要求を減少させる新規の方法、装置および生産物(product)を供給する。本発明の実施例に従うと、データファイルを個々に署名する必要がない。その代わりに、1つの別個の(separate)署名ファイルが電子的に署名され後に検証されるときに署名ファイルが対応するデータファイルがこれらのデータファイルの各々に対して署名アルゴリズムを実行することなく真正性を証明できるように、その別個の署名ファイルが創り出される。ある実施例においては、署名ファイルは、転送されるべき個々のデータファイルに関連付けられた、一方向ハッシュ関数といった、「識別子」のリストを含む。そのため、署名ファイルは、基本的には、データファイルの各々のための電子署名と暗号的に同等なものである。
【0038】
このため、本発明の1つの実施例に関して、ユーザは各データファイルのために独自の識別子を含む署名ファイルを創り出すことができる。この署名ファイルは、署名アルゴリズムを使って電子的に署名されることができる。そして、署名された署名ファイルとデータファイルとを受け手のユーザに送ることができ、そのユーザは適切な署名アルゴリズムを使ってその電子署名を検証できる。一旦、電子署名が検証されると、署名ファイル内にある識別子をデータファイル内の識別子に比較できる。与えられたデータファイル内の識別子が署名ファイル内の対応する識別子と一致するならば、真正であるとしてそのデータファイルは検証され得る。すると、受け手ユーザは、真正性について確信を持って、その検証されたデータファイルを処理することを進めることができる。その結果、電子的に署名しまた後にデータファイルの各々に対して電子署名を検証する必要がもはやないので、計算による遅れを縮小できる。
【0039】
図1は、データ形式の情報を受け手ユーザのコンピュータシステム14と交換するためにデータリンク16にわたって結合された出所ユーザのコンピュータシステム12を、ブロックダイアグラムによって表現されるものとして、ネットワーク化された計算環境10を示す。出所ユーザのコンピュータシステム12は、例えば、インターネットに関連づけられたウェブサーバといったサーバコンピュータの形式をとることができる。同様に、受け手ユーザのコンピュータシステム14は、例えば、データリンク16にわたってウェブサーバにネットワーク接続されたクライアントシステムの形式をとることができる。そのようなケースでは、データリンク16は、したがって、インターネットや他の接続されたネットワークの一部か、または、全体を表わすことができる。データリンク16は、また、1つ以上のローカルエリアネットワーク(LANs)、広域エリアネットワーク(WANs)、「イントラネット」若しくは「エクストラネット」、叉は他の同様の電子通信若しくはデータのネットワークを表わし得る。
【0040】
図2は、図1に従う、送り手ユーザまたは受け手ユーザのいずれかが使用できる典型的なコンピュータシステム20を示す。代わりに、コンピュータシステム20は、コンピュータに使える生産物を介してデータを受け取ることの能力があるスタンドアロンのコンピュータであっても良い。コンピュータシステム20は、1つ以上のプロセッサ22、主記憶24、2次記憶26、1つ以上の入力/出力(I/O)デバイス28、1つ以上のネットワーク通信デバイス30、1つ以上のバス32を含む。
【0041】
プロセッサ22は、コンピュータ命令を実行する能力を提供する。プロセッサ22は、例えば、市場で入手できる多くのデスクトップコンピュータ、ラップトップコンピュータ、ワークステーション、メインフレームコンピュータ内で見られるようなマイクロプロセッサ、中央処理装置(CPU)、マイクロコントローラであり得る。また、プロセッサ22は、特定目的コンピュータ若しくは大型フレームコンピュータ、通信交換ノード、叉は他のネットワーク化された計算デバイス内で典型的に使われるプロセッサといった従来のプロセッサ叉はカスタマイズ若しくはセミカスタマイズされたプロセッサの形式をとることもできる。プロセッサ22は、バス32へのデータを出力するため、またバス32からのデータを入力するために結合されている。
【0042】
バス32は、2つ以上のノード間において、データを転送すること叉はさもなければデータを移動することの能力を持っている。例えば、バス32は、共有の汎用バスの形式をとることができ、叉は特定ノード間において特定タイプのデータを転送するために専用にされることができる。バス32は、データを転送できるノード間の経路を確立する際に使うためのインターフェース回路構成およびソフトウェアを含むことができる。プロセッサ22といった、あるデバイスは、内部ノード間においてデータを転送するための1つ以上のバス32を内部に含むこともできることが認識される。データは、処理済データ、アドレス、及び制御信号を含むことができる。
【0043】
主記憶24は典型的には、データの格納および検索のために備えている。主記憶24は、例えば、ランダムアクセスメモリ(RAM)叉は同様の回路であり得る。主記憶24はバス32を介して、プロセッサ22といった他のデバイス叉は回路によってアクセスされ得る。
【0044】
2次記憶26は、典型的にはデータの付加的な格納及び検索のために備えている。2次記憶26は、例えば、磁気ディスクドライブ、磁気テープドライブ、CDROMといった光学的に読み取り可能なデバイス、PCMCIAカードといった半導体メモリ、叉は同様のデバイスの形式をとることができる。2次記憶26は、バス32を介して、プロセッサ22といった他のデバイス叉は回路からアクセスされ得る。2次記憶26は、例えばその上に具現化されたコンピュータで可読なコードを有するコンピュータで利用可能な媒体を含むコンピュータプログラム生産物からデータをアクセスし叉は読むことができる。
【0045】
入出力デバイス28は典型的には、ユーザに対するインタフェースを提供し、それを介してデータが共有される。入出力デバイス28は、例えば、キーボード、タブレット及び指示ペン、音声認識器及び手書き文字認識器、叉は別のコンピュータといったよく知られた他の入力装置の形式をとることができる。入出力デバイス28は、例えば、ディスプレイモニタ、フラット・パネル・ディスプレイ、叉はプリンタの形式をとることもできる。入出力デバイス28は、バス32を介して、プロセッサ22といった他のデバイス叉は回路によってアクセスされ得る。
【0046】
ネットワーク通信デバイス30は典型的には、他のコンピュータシステムといった他の計算資源およびデバイスへのインタフェースを提供する。ネットワーク通信デバイス30は典型的には、データ通信リンクおよびデータ通信リンクネットワークにわたってデータ通信の標準およびプロトコルを実現するインタフェースのハードウェア及びソフトウェアを含む。例えば、ネットワーク・コネクションを用いて、プロセッサ22はネットワークにわたってデータ(すなわち情報)を送り及び受け取ることができる。上述したデバイス及び方法は、コンピュータのハードウェア及びソフトウェアの分野の当業者には精通していることである。
【0047】
図3(a)は、本発明の実施例に従う、アーカイブ(記録保管所)のデータ構造300の実施例を示す。データ構造300は、署名ファイル302といくつかのデータファイル304〜314とを含む。ファイル304〜314は、任意のデジタルビット列でもよく、例えば、JavaTMクラスファイル、画像ファイル、音声ファイル、テキストファイル、および付加的な署名ファイルであってもよい。
【0048】
図3(b)は、署名ファイル302の具体例である。ある実施例においては、署名ファイル302はヘッダファイルであることを留意すべきである。図示された実施例においては、署名ファイル302には、データファイル304〜314の各々のための少なくとも1つの識別子316を含む。オプションとして、署名ファイル302は、データファイル304〜314の各々のための付加的なデータ318も含むことができる。例えば、付加的なデータ318は、ファイルの名前、ファイル作成者、ファイルの日付、ファイルの版数、ファイルのレート付け(例えば、「親の指導が必要」といった映画のレート付け)、またはユーザが署名ファイル302内に含めたい真正性の証明される他の任意にデータについての情報を更に備える。
【0049】
署名ファイル302は、識別子ID320と電子署名322とを更に含む。識別子ID320は、署名ファイル302に列記された識別子を創り出すために用いられるアルゴリズムを決定するために必要な情報を提供する。電子署名322は、その署名ファイルのために創り出された電子署名を表わす。もちろん、電子署名322の構造は、それを創り出すために用いられる署名アルゴリズムに依存する。
【0050】
図4は、本発明の実施例に従い、1つ以上のデータファイルを発生するためのステップ402を含む方法400を図示する。例えば、ステップ402は、テキストファイルを発生するためのテキストプログラム、音声やビデオのファイルを発生するための記録プログラム、画像もしくは映像のファイルを発生するためのグラフィックスプログラム、クラスファイルやプログラムファイルを発生するためのプログラミング言語、叉はデータファイルを発生する能力がある他の任意の機構を使用することを含むことができる。
【0051】
ステップ402で1つ以上のデータファイルを発生したら、ステップ404はこれらのデータファイルの各々について識別子を発生する。例えば、ステップ404で生成された識別子は、一方向ハッシュ関数アルゴリズムによって発生されることができ、また代わりにサイクリック冗長性チェックサム(CRC、cyclicredunduncy checksum)等の形式をとることもできる。しかしながら、一般的に一方向ハッシュ関数アルゴリズムはより大きなセキュリティに備える傾向にあり、なぜなら、そのような関数は簡単には叉は効率的には破られることができず、またさもなければリバースエンジニアされることができないからである。例として、MD5及びSHAといった一方向ハッシュ関数アルゴリズムは典型的には、暗号的に安全であると考えられる。そのようなアルゴリズムは、コンピュータ科学の分野の当業者に知られるであろう。
【0052】
次に、ステップ406は、ステップ404で発生されるような識別子を列記し、またはコンパイルする署名ファイルを創り出すことを含む。署名ファイルは、例えば、識別子を列記するテキストファイルであってもよい。オプションとして、署名ファイルは、例えば、各ファイルの名、各ファイルの著者名、ファイルの版数、ファイルの日付スタンプ、各データファイルに関係する他のデータを更に含んでもよい。ステップ406はさらに、データファイルからのそのようなデータを問い合わせ、たどり(トレースし、trace)、選択し、集め、叉は与える(render)1以上のプログラムを含むことができる。ステップ406は、例えば、バッチモードでデータファイルを処理し適当な識別子及び付加的なデータを集めることによって、実行できる。当業者は、方法400におけるステップを促進するある方法で、署名ファイルに列記されるデータを特定的に、順番に並べ、グループ分けし、叉は配置することが、(例えば、効率の面で)有益であることを認識するであろう。例えば、識別子に加えてファイル名及び作成者をグループ分けすることは有益であろう。
【0053】
一旦、署名ファイルが創り出されたら、ステップ408は署名アルゴリズムを使って署名ファイルに電子的に署名することを含む。適切な署名アルゴリズムの例示は、メッセージダイジェストアルゴリズムおよびRSA暗号化アルゴリズムを組み合わせたもの(例えば、RSAを持つMD5、若しくはRSA持つMD2等)、または(上記で説明した)DSAアルゴリズムを含む。ステップ408は、例えば、公開キー叉は私的キーを手段として署名アルゴリズムを用いて署名ファイルのための電子署名を発生することを含む(例えば、上記のシュナイヤ(Schneier)を参照せよ)。
【0054】
ステップ408からの署名された署名ファイルは、次に、ステップ410において受け手ユーザに送られ、提供され、または利用できるようにされる。例えば、ステップ410は、署名された署名ファイルをデータバス、データリンク、インターネット、他のコンピュータ若しくはデータ通信のネットワーク若しくはリンクにわたって転送されることを含むことができる。加えて、ステップ410は例えば、署名ファイルを磁気記憶媒体や光学的記憶媒体のようなコンピュータで読み込める媒体に格納すること、及びコンピュータで読み込み可能な媒体上の署名された署名ファイルをあるコンピュータから別のコンピュータに移動することを含むことができることが認識される。
【0055】
受け取り叉はアクセスのときに、ステップ412における受け手ユーザは、ステップ410において送られ、叉は利用できるようにされた署名された署名ファイルの真正性を検証する。ステップ412は例えば、キーを手段として署名アルゴリズムを用いて、署名された署名ファイル上の電子署名を検証することを含むことができる。
【0056】
ステップ414は、ステップ412で決定されたものとして電子署名の有効性(validity)が方法400を終了するか叉は継続するかのいずれかである決定を示す。方法400を中断するとか叉は回避する(preempt)というように表示がされる一方で、また署名済の署名ファイルのステップ412におけるその検証が失敗したことを、ある方法で記録し若しくは識別し、または発する(address)別のプロセス、例えば警告若しくは通知プロセス、またはログプロセス、を呼びだすことをステップ414は含むことができということが認識される。
【0057】
ステップ414での決定がそのファイルが正当である(すなわち、真正である)場合、プロセスは、署名ファイルからの少なくとも識別子を格納することを含むステップ416へ続く。本発明のある実施例においては、識別子がセキュア地帯(secure location)に格納される。セキュア地帯は、例えば受け手のコンピュータシステムのRAMであってもよく、なぜならこのメモリはプロセスが終了するときに容易にクリアされるからである。代わりに、識別子はディスクドライブまたはテープドライブに格納されることもでき、そこでは識別子はある後のステージで検索できる。当業者は、いろいろなデータ記憶デバイス及び他のコンピュータシステム構成が様々な及び潜在的なセキュリティリスク(つまり、ある記憶デバイスは他よりもより安全である)を引き起こす(pose)ことを認識するであろう。また、ステップ414で記憶された署名ファイルの信用性を増しまた保証するために、暗号化やファイルアクセスの特権といった、さらなるセキュリティの方策(measure)を使用できることも認識できる。
【0058】
ステップ416で識別子がセキュア地帯に記憶されてしまうと、次に対象のデータファイル、またはステップ406において署名ファイルにその識別子が列記されたデータファイルがステップ418に表示されるようなループに合わせて処理されることができる。ステップ418は、例えば、署名ファイルに列記されている識別子の数に基づいて、ステップ420に入る回数を繰り返し制御するカウンタ機構を含むことができる。例えば、署名ファイル列記されたn個の識別子がある(つまり、ロードされるべきn個のデータファイルがある)とならば、繰り返しループは、i=1からi=nまで数え上げし若しくは代わりにi=nからi=1に数え上げすることができ、又は、以下に提供されるように方法400内の残りのステップに合わせて、データファイルの全てがロードされたとき若しくはそのロードすることが試みられたときを決定する。
【0059】
ステップ420は、i番目のデータファイルをロードすることを含む。ステップ420は、例えば、ダウンロードし、アップロードし、同時通信し(broadcast)、またはさもなければi番目のデータファイルをある場所から別の場所に移動するいずれかのためにステップ410内の任意の方法を使用できる。一旦、i番目のデータファイルがロードされたら、ステップ422は(そのデータファイルのために)適切な識別子アルゴリズムを使ってi番目のデータファイルのための識別子を提供し、計算し、または発生することを含むことができる。
【0060】
次に、ステップ424は、ステップ416で格納された署名ファイル内に、i番目のデータファイルに関して、列記された識別子と、ステップ422で提供された識別子を比較することを含む。識別子が一致すると、そのときi番目のデータファイルを真正であるものとして検証する。識別子が一致しないならば、そのときi番目のデータファイルは検証されなかったとみなす。
【0061】
ステップ426は、ステップ424で決定されるような識別子の正当性がステップ418の繰り返しループを中断するか継続するかの判断を表示する。i番目のデータファイルのための識別子がステップ424で検証されたなら、ステップ426は、i番目のデータファイルが真正であるとして検証されたことを、マーキングし(印を付け、marking)、または何らかの方法で記録し若しくは確立することを含むステップ428へ進むことによって、ステップ418の繰り返しループを継続する。ステップ428は、例えば、i番目のデータファイルを送り手ユーザによって署名されたものとして、修正しまたはマーキングすることを含むことができる。
【0062】
一方、i番目のデータファイルのための識別子が真正なものとしてステップ424で検証されることができないと、そのときステップ426はステップ430に進むことによってステップ418の繰り返しループを中断する。ステップ430は、ステップ428を避けまたステップ418に逆進するように、ある方法でステップ418の繰り返しループを中断することを含む。ステップ430は、例えばi番目のデータファイルを無視することを含むことができる。ステップ430に加えて、i番目のデータファイルが真正でないことをともかく記録しまた識別するために、別のステップを方法400に含むことができる。
【0063】
このように、上記のデータ構造およびステップを用いて、いくつかのデータファイルを送っているユーザは、各データファイルに対して個別の電子署名を発生する必要があるというよりもむしろ、送り手ユーザが1つの署名ファイルを創り出しまたそのファイルに電子的に署名するだけでよいので、関連する処理時間を縮小できるでしょう。同様に、上記のデータ構造やステップを用いて、いくつかのデータファイルを受け取っているユーザは、関連する電子署名の暗号を解くことによって真正であるとして各データファイルを検証しなければならないというよりはむしろ、その署名ファイルの真正であることを検証するのみ必要であるので、関連する処理時間を減少できるでしょう。そのような混成の(ハイブリッドな、hybrid)検証プロセスは、署名プロセスと検証プロセスを実質的に合理化できる。その結果、データファイルは、電子署名され、そして後に短い時間で真正性が証明されまた処理される。
【0064】
加えて、ステップ430は,ステップ424において真正性を検証するために、試みられているロードを中止するオプションのステップ432、及び/叉はその失敗を警告しまた警報を出すオプションのステップ434、へ導くことができる。一旦、ステップ430とオプションのステップ432及び/叉はステップ434は完了すると、方法400はステップ418に戻り、その中の繰り返しループを完了する。ステップ418の繰り返しループが完了したら、方法400を終了する。
【0065】
本発明の実施例においては、署名した各認証のために、証明(certificate)が創出され、つまり署名ファイル内に列記される独自の識別子が証明として具体化される。一般的には、証明とは典型的には送り手コンピュータシステムかまたは受け手のコンピュータシステムのいずれかであるサイトが自分自身を識別するために使用できるトークンである。いくつかのサイトは1つの証明に関連付けられることができる。代わりに、いくつかの証明が1つのサイトに関連付けられことができる。
【0066】
出所のユーザのコンピュータシステムや受け手ユーザのコンピュータシステムは、データファイルだけでなく、例えばカリフォルニア、マウンテンビューウのサンマイクロシステム(Sun Microsystems of Mountain View, California)から入手できるJavaTMプログラミング言語で書かれた「アプレット」の形式であるコンピュータソフトウェアを交換するように構成されることができる。ここで使われた「アプレット」は、出所のコンピュータ又は典型的にはサーバからクライアントのマシンに伝えられる(pass)ように構成され、また例えばブラウザのような、既にクライアントにインストールされているソフトウェアと連携して実行される、ソフトウェアプログラムである。記述されている実施例では、アプレットはクラスファイルから具現化された(instantiate)ものであり、クラスファイルは、図3(a)に関して述べられたように、アーカイブのデータ構造にまとめられグループ化され、出所のコンピュータ、つまりサーバ、からクライアントのマシンにダウンロードされる。典型的には、アプレットは、実行するようにブラウザソフトウエア自身が構成されていない様々な計算タスクを実行することによって、ブラウザソフトエアに追加の機能を提供する。このため、アプレットをダウンロードするユーザは、そうしなければブラウザソフトエアに利用可能でない追加の機能をブラウザソフトウエアに提供できる。そのような追加の能力は、例えばデータベースに対するカスタムインタフェースを含む。
【0067】
与えられたアプレット、例えばJavaTMアプレットがアクセスできるオペレーションを制御するために、出所コンピュータおよびクライアントマシンのいずれか上で、ブラウザに関連したセキュリティマネージャを使用できる。換言すれば、セキュリティマネージャは、アプレットが実行することを許可するアクションを制御するために、またはアプレットに対する特権を拡張するために、使用されることができる。アプレットに許可されるアクションは大きく変化しうるが、一般的には、そのアクションは読むおよび書くアクションである。アプレットに関連する異なる証明およびサイトに対する許可を設定するための柔軟性をユーザに与えるために、セキュリティマネージャの内部において、異なるセキュリティレベルを実現できる。一般的に、ユーザは特別の証明若しくはサイト、または一群の証明およびサイトを選択でき、そしてそのユーザの選択に関してのセキュリティレベルを設定できる。
【0068】
セキュリティレベルを実現するためにセキュリティマネージャを使うことは、一般的には、安全でなく、安心できず、若しくは信頼できないアプレットアクションだけでなく、どのアプレットアクションが安全であり、安心でき、若しくは信頼あできるかを、識別することにつながる。安全なアクションは、一般的には、システムセキュリティを危険にすること、またはクライアント若しくはサーバ上に格納されている情報が衝突する(corrupt)こと、に関して重大な可能性があるとみなされない。例として、安全なアクションは読み出し専用アクション、または特定のディレクトリに対する読み出し専用アクションがあり得る。一方、安全でない(unsecure)アクションは、一般的にはシステムセキュリティを違反することに関して、またはたクライアント若しくはサーバに格納されている情報に損害を与えることに関してあらゆる可能性のあるアクションである。安全でないアクションは、制限するものでないが、書き込みアクション、削除アクション、名前替アクション、および機密文書へのアクセスを要求するような読み出しアクションを含むことができる。安全でないアクションは、保護(プロテクト、protect)される遠隔サイトへの接続の確立するための要求を更に含む。
【0069】
本発明の実施例として、JavaTMアプレットを実行できるブラウザは、例としてはHotJavaTMブラウザ(カリフォルニア、マウンテンビューのサンマイクロエレクトロニクスから入手可能)といった、高セキュリティレベル、中セキュリティレベル、低セキュリティレベル、不信頼レベルを含むセキュリティレベルを持ったセキュリティマネージャを有している。高セキュリティレベルにすれば、あらゆる安心でないアクションを遮断する一方で、基本的にはアプレットは一組の安心できるアクションと共にまたは制約と共に動作することが可能になる。記述された実施例においては、高セキュリティレベルにすれば、安心でないアクション、例えば信頼できないと考えられるどのアクションに対するアクセスも拒否する一方で、アプレットが安全であるアクション、例えば信頼できると考えられるほとんどのアクションを実行することが可能になる。
【0070】
中セキュリティレベルは、潜在的に安心でないアクションに対する認証を認める能力(ability)をユーザに提供する一方で、アプレットが安心な制約と共に動作することを可能にするために使用され得る。中セキュリティレベルを用いると、安心できる、例えば許容可能な、アクションでないかもしれないアクションをユーザインタフェースを介してユーザに警告できる。記述された実施例においては、アクティビティ(活動、activity)を記述する対話ボックスが現われ、ユーザは、実行される潜在的に安心でないアクションに対する許可を拒否することまたは認めることのいずれかを促される。低セキュリティレベルにすると、アプレットが最小の制約と共に動作し、また記述された実施例では、潜在的に安心でないアクションをユーザに警告しない。不信頼セキュリティレベルは、安心でないと知られている証明及びサイトを識別するために用いられる。
【0071】
次に図5を参照して、本発明の実施例に従って、セキュリティマネージャにおけるセキュリティレベルを設定することと関連づけられるステップが記述される。ある実施例では、セキュリティレベルは、信頼及び検証の設定のレベルとしても知られているが、前述したように、高セキュリティレベル、中セキュリティレベル、低セキュリティレベル、及び不信頼セキュリティレベルである。セキュリティレベルは、適切なグラフィカルユーザインタフェース(GUI)の使用を通してユーザによって設定されることができるが、セキュリティレベルを設定するために任意の適切な方法を使用できることを認識すべきである。
【0072】
セキュリティマネージャ500においてセキュリティレベルを設定するプロセスが始まり、そしてステップ502で証明の認証(authority)に関するセキュリティレベルが設定される。証明の認証は、個々の証明と証明の群との両方に適用されるべき異なるセキュリティのレベル、つまり優先度を可能にする。一般的には、証明の認証は、限定されるものではないが、どのように特定の証明が使われるかを識別する情報を含む。例として、証明の認証は、ある証明が他の証明を保証しまたは真正性を証明することを可能にするために設定されることができる。
【0073】
証明の認証のためのセキュリティレベルが設定されると、ステップ504でサイトの証明のためのセキュリティレベルが設定される。サイトの証明は、トランザクション処理(transaction)を成す安全なコネクション(connection)を開始するために、所与のサイトが使用できる証明である。サイトの証明のためのセキュリティレベルは、一般的に、セキュア・ソケット・レイヤ(secure socketlayer:SSL)標準プロトコルと、安全なトランザクションが起こるべきコネクションの真正性を証明するために使用できるセキュリティの認証とを明記することを伴う。そのような安全な通信の技術が、悪漢のサイト若しくは潜在的に安全でないサイトを識別するため、またそれ故、そのようなサイトとの通信を避けることによって伝達できるより安全なチャネルを提供するために使用できる。
【0074】
ステップ506では、ソフトウェア配布者のためのセキュリティレベルが設定される。イントラネットの環境においては、イントラネットは安全な環境であると通常は考えられているので、ソフトウェアは通常は証明と共に配布されない。それ故、そのような安全な環境で配布されたソフトウェアは、一般に安全であると仮定される。しかしながら、例えばインターネット環境といった、ソフトウェアが証明と共に配布される環境に関しては、その証明に関連付けられたソフトウェアコードがブラウザの実行に対して信頼できるかどうかを決定するためにその証明を使用できる。
【0075】
サイト名のためのセキュリティレベルが、ステップ508で設定される。サイト名のためのセキュリティレベルの設定のプロセスは、サイトのためにセキュリティレベルが設定されるときそのセキュリティレベルはそのサイトに関連するすべてのソフトウェアに適用されるという点を除いて、ソフトウェア配布者の設定のプロセスと本質的に同じである。サイト名の許可を設定することは、一般にはシステムの資源にみだりに変更する(tamper)ほとんどないリスクと共に、証明のないソフトウェアをテストすることを可能にする。次に、証明タイプがステップ510で設定される。証明タイプを設定すると、どのように証明が使われるべきかを決定すること、またどのように証明が使われることを期待するかに基づいて証明のための認証を選択することを伴う。証明サイトがステップ510で設定された後に、セキュリティレベルの設定のプロセスが終了する。セキュリティレベルが設定される順番が、特定のセキュリティマネージャの要求に依存して大きく変わり得ることを認識すべきである。
【0076】
ある実施例においては、セキュリティレベルを設定するために、追加の「高度な(advanced)」設定を使用できる。1つの実施例では、高度の設定は、個人の証明認証、サイト証明、ソフトウェア配布者、叉はサイト名のための特定の注文で特製にされた(カスタマイズされた、customized)セキュリティレベルをユーザが設定することを可能にするために、グラフィカルユーザインターフェース(GUI)まはた類似したインターフェースを通してユーザが変更できる細分性(グラニュラリティ、granularity)の制御である。さらに、高度な設定は、一群の証明の認証、サイト証明、ソフトウェア配布者、またはサイト名のためのセキュリティレベルをユーザがカスタマイズすることを可能にするように構成できる。このため、高度なセッティングにすると、一般的に、セキュリティレベルを制御する際に、また全体的な証明の取り扱いの際に柔軟になる。例として、高度な設定の使用を介して、ユーザは特定のサイト証明を中セキュリティレベルに設定でき、一方ではサイト証明に関連するセキュリティ許可を読み出しアクセスのみの許容に制限することを明記できる。加えて、高度なセッティングを使用し、所与のセキュリティレベルにおける仕様を置き換え(override)でき、例えば高度なセッティングを使用し所与のセキュリティレベルでは通常は許されていないような許可を認める(grant)ことができる。
【0077】
記述された実施例においては、高度な設定は、上述したように高セキュリティレベル、中セキュリティレベル、低セキュリティレベル、および不信頼レベルに加えて、サイト証明、例えば選択されたセキュリティレベルに加えて実施されることができるサイト証明、について特定の許可をユーザが選択することを可能にするために付加的なオプションが利用可能であるように、提供される。これらの特別な許可は、これらに限られるわけではないが、ユーザに警告メッセージを与えずにアプレットがウィンドウを開けることを許したり、警告の対話を用いまたh用いずにアプレットが自動的に局所的なアプリケーションを始める(launch)ことを許したり、警告の対話を与えることなしにアプレットがすべてのプロパティにアクセスすることを許したり、また警告の対話を与えることなしにアプレットが実行を開始することを許したりすることを含むことができる。
【0078】
図6は、本発明の実施例に従った高度の設定を例示するブラウザインターフェースを図式的に表す。前に述べたように、高度な設定は、ブラウザインタフェースと共に提供されるセキュリティレベルに加えて、可能にしたり不可能にしたりできる特定の許可を選択するために使用される。ブラウザインタフェース560は任意の適当なブラウザインタフェース560であってもよいが、記述された実施例においては、ブラウザインタフェース560はHotJavaTMブラウザの基本的な表現となっている。示されるように、ブラウザインターフェース560には高度な設定のディスプレイ・ウィンドウ564がある。ディスプレイ・ウィンドウ564の第1の領域568は、サイト及び証明570とサイト及び証明の群とを列記して、それらのセキュリティ許可をカスタマイズする。 "Applet Permissions"(アプレットの許可)572、 "File Access"(ファイルアクセス)574、"Network Access"(ネットワークアクセス)576は、カスタマイズできる許可の中にある。 記述された実施例では、選択580は、"File Access"(ファイルアクセス)574、つまりアプレットがアクセスすることを許容するファイル、に関する設定を示す。
【0079】
第2のサブ領域582は、選択されたときに、選択された設定、つまり"Applet Permissions"(アプレットの許可)572のコマンドを使って決定される設定、を持つアプレットが読み取ることを許すファイルとディレクトリ584を表示する。同様に、第3のサブ領域588は、適切な許可を持つアプレットが書きこむことが許すファイルやディレクトリ590を表示している。「"Warn beforegranting access to other files"(他のファイルへのアクセスを許す前に警告せよ)」オプション594、叉は「"Warn when applet tries to delete a files"(アプレットがファイルを削除しようとするときに警告せよ)」オプション596の例のような付加的な選択可能なオプションにすると、ユーザがセキュリティオプションを更にカスタマイズすることを可能にする。
【0080】
図7は、本発明の1つの実施例に従う、検証の設定を用いるアプレットを実行する一つのプロセスに関連付けられたステップを図示するフローチャートである。検証の設定を実施するプロセスが開始し、ステップ602において、アプレットは、それが実行されるべきローカルなマシンへダウンロードされる。記述された実施例においては、アプレットをダウンロードすることは、クラスファイル、それからそのアプレットが具体例をあげて示される(instantiate)ファイル、を含むアーカイブファイル、つまりアーカイブデータ構造、の少なくとも一部をダウンロードすることを伴う。そのアプレットがダウンロードされた後、署名されたアーカイブストリームがステップ604で受け取られる。記述された実施例においては、アーカイブストリームはJavaTMアーカイブファイルに関連した電子署名を含む。
【0081】
ステップ606では、その署名されたアーカイブストリーム内の署名が妥当(valid)であるか、つまり、その署名が既知の且つ受け入れ可能なものであるか、に関して決定がなされる。署名されたアーカイブストリームは前述した署名された署名ファイルの一実施例であることを認識すべきである。アーカイブストリーム内の署名が妥当であるかどうかの決定は、既知の認証を見つけるまで、署名ファイル内に認証、例えば証明、の一続き(chain)を体系的にチェックすることを伴う。そして、既知の認証が妥当性に関してチェックされる。例として、証明"A"は、妥当な証明であると知られている証明"B"によって保証できる(vouch)。すると、証明"B"が妥当であると知られているので、証明"A"が妥当であると決めてかかることができる。
【0082】
決定がその署名が妥当であるということならば、プロセスフローは、アプレットに「ブランドを付ける(brand)」ステップ608に進む。アプレットにブランドを付けしまたはマーキングすることは、一般的にはそのアプレットに署名者を結び付ける(attach)か、または、そのアプレットの妥当性を識別するために使用できる識別子をアプレットに結び付けることを指す。一旦、アプレットに適切にブランド付けされたら、そのアプレットはステップ610で実行される、つまり動作する。そのアプレットが動作している中、そのアプレット内の様々なアクションが呼び出される。
【0083】
ステップ612で、そのアプレットが動作を終了したかどうかに関する決定がなされる。言い換えると、そのアプレットに関連する各アクションが実行されたか、または、以下に述べるように実行することを許可されないか、のいずれかが決定される。アプレットの実行が完了したことが決定されたら、アプレットを実行するプロセスは終了する。アプレットの実行が終了していないこととが決定されると、ステップ614で、そのアプレットのアクションがセキュリティチェックを駆動する(trigger)かどうかが決定される。すなわち、ステップ614では、特定のアプレットのアクションがユーザのシステムのセキュリティに潜在的に害となる決定されたアクションの範囲に納まるかどうかの決定がなされる。そのようなアクションは、コンピュータ技術分野の当業者、特に、コンピュータセキュリティ技術の当業者とって、よく知られている。例として、ユーザのシステムセキュリティに潜在的に害であるアクションは、制限されるものではないが、制約されていない書き込みアクセス、システム資源の変更、及び他のシステムへのオープンな伝達を含む。
【0084】
アプレットのアクションがセキュリティチェックを駆動するなら、ステップ616において、ステップ608でそのアプレット上に置かれた(place)ブランドは前にユーザによって与えられたセキュリティ設定、すなわち許可レベル、と比較される。ある実施例においては、セキュリティ設定をアプレット上のブランドと比較することは、ユーザインタフェースを介してユーザに相談することを伴う。そのような実施例においては、ユーザはセキュリティ設定の迂回路(バイパス)を正当と認めることができ、すなわち、ユーザはセキュリティ設定を置き換えし(override)特定のアクションを許し叉は否定することのいずれかができる。ステップ616から、プロセスの制御は、アプレットアクションのセキュリティが満足されているかどうかの決定であるステップ618に進む。セキュリティが満足されていると、そのアプレット上に置かれたブランドがセキュリティ設定と好ましくは照合するという事実、または、ユーザがそのアプレットのアクションを正当と認めたという事実、という理由(virtue)のいずれかに基づき、ステップ620でそのアプレットのアクションが許される。すると、プロセス制御はステップ610に戻り、そしてアプレットの実行が継続する。一方、ステップ618でセキュリティが満足されていないと、アプレットのアクションはステップ622で許可されない。アプレットのアクションが不許可にされた後、プロセス制御はアプレットの実行が継続されるステップ610に戻る。
【0085】
アプレットのアクションがステップ614でセキュリティチェックを駆動しないと、プロセスフローはアプレットが動作することを継続するステップ610に戻る。プロセスフローは、アプレットが実行することを終了するか、または、現在のアプレットのアクションがセキュリティチェックを駆動するという決定がステップ614でなされ、その場合に前述のようにステップ618に進むか、のいずれかまで、ステップ610と614の間のループを継続する。
【0086】
ステップ606における署名の妥当性のチェックに戻って、署名が妥当でないという決定がされると、そのアーカイブは署名されていないとみなされて、そしてプロセスのフローは、未署名のストリームを受け入れるかどうかの決定がなされるステップ624へ進む。記述された実施例では、未署名のストリームが受け入れられるべきかどうかの決定が、ユーザインタフェースの使用を介してユーザによってなされる。例として、署名が妥当でないけれどユーザがそのアプレットを動作させるという決定をすることができることを表示する警告の対話を用いて、ユーザを促すことができる。未署名のストリームが受け入れられるべきだという決定がなされると、プロセスフローはステップ608に移り、そこではアプレットは適切であるとしてブランドが付けられ、例えばそのアプレットに関連づけられるストリームが未署名であることを示すためにブランド付けされる。未署名のストリームが受け入れられるべきでないという決定がステップ624でなされると、そのアプレットは停止させられ、つまりステップ626において動作することを禁止させられて、そしてアプレットの実行プロセスは終了する。
【0087】
次に、図8を参照して、コンピュータネットワークにわたる接続を達成することに関連するステップが、本発明の実施例に従って説明される。接続を成すプロセス700は、望まれている接続が定義されるステップ702で始まる。記述された実施例では、望まれている接続を定義することは、接続が望まれているサイトのための汎用参照言語(URL)アドレスを特定することを伴う。接続が定義された後、ステップ704において、接続が望まれているサイトへ通信が確立される。
【0088】
ステップ704から、プロセスの制御は、サイトが安全な接続を要求しているかに関する判断が成されるステップ706に進む。ある実施例では、安全な接続は当業者によって理解されているように、セキュリティソケット層(SSL)越しの(over)接続である。安全な接続が要求されていないことが決定されると、そのサイトへの接続がステップ708でなされ、そして接続を達成するプロセスは完了する。
【0089】
サイトが安全な接続を要求していることが決定されると、ステップ710において、そのサイトに関連するサイト証明が妥当なものであるかどうかが決定される。サイト証明が信頼されていないサイト、つまり安心でないことが既知であるサイト、に関する妥当な証明であることもあるから、妥当なサイト証明は必ずしも信頼されたサイト証明ではないことを認識すべきである。サイト証明が妥当であれば、プロセスフローはステップ712に進み、それはそのサイト証明が信頼できるものかどうかの決である。そのサイト証明が信頼できるという決定がなされると、プロセスフローは、そのサイトへの接続がなされるステップ708に進む。また、サイト証明が信頼できないという決定がなされると、ステップ714で、そのサイトと(ステップ704で)達成されていた通信は終了する。同様に、サイト証明が妥当でないという判断がステップ710でなされると、そのサイトとの通信はステップ714で終了する。
【0090】
上述したような、本発明の実施例は、コンピュータシステムに格納されたデータを伴う様々なプロセスステップを採用している。これらのステップは物理的な量に物理的な操作(manipulation)を要求するステップである。通常、必ずしもそうではないが、これらの量は、格納されたり、転送されたり、組み合わされたり、比較されたり、その他の操作されることが可能な電気的信号または磁気的信号の形態をとっている。ときには、主に一般の用法の理由に関しては、ビット、値、要素、変数、文字、データ構造などとして、これらの信号を参照することが便利である。しかしながら、このような用語また類似の用語の全ては、適当な物理量と関連付けられるべきものであり、またこれらの物理的な量に適用される単なる便利なラベルに過ぎないことを覚えておくべきである。
【0091】
さらに、実行される操作はしばしば、発生すること、算定する(caluculate)こと、計算する(compute)こと、マーキング、無視すること、中止すること、警報すること、検証すること、署名すること、送すること、受け取ること、創り出すこと、繰り返すこと、識別すること、動作させること、比較することといった用語で参照される。本発明の実施例の一部分を構成するオペレーションのどれかにおいては、これらのオペレーションはマシンのオペレーションである。本発明の実施例のオペレーションを実行する有効なマシンは、汎用のデジタルコンピュータか、または他の類似のデバイスを含む。どの場合でも、コンピュータを操作するオペレーションの方法と計算自体の方法との区別を心に抱くべきである。本発明の1つの実施例は、電気的または他の物理的な信号の処理においてコンピュータを操作し他の望まれた物理的な信号を発生するための方法のステップに関連する。
【0092】
本発明の実施例はまた、これらのオペレーションを実行するための装置(apparatus)に関連する。この装置は、要求された目的のために特別に構築されたものであってもよいし、コンピュータ内に格納されたコンピュータプログラムによって選択的に起動され(activate)または再構成される汎用のコンピュータであってもよい。ここで提示されたプロセスは、本来、特定のコンピュータまたは他の装置に関連していない。特に、ここであげた技術に従って書かれたコンピュータプログラムと共にさまざまな汎用のコンピュータを使用できるし、また、もっと特殊な装置を構築し要求された方法のステップを実行することはもっと便利である。さまざまなこれらのマシンのための要求構造は、上述した記述から明らかである。
【0093】
加えて、本発明の実施例は、さまざまなコンピュータで実施される(implemented)オペレーションを実行するためのプログラム命令を含む、コンピュータで可読な媒体にも更に関連している。この媒体およびプログラム命令は、本発明の実施例の目的のために特に設計されまた構築されたものでもよく、または、それらはコンピュータソフトウェア技術分野の当業者によく知られまた利用可能な種類のものであってもよい。コンピュータで可読な媒体の例は、制限されるものではないが、ハードディスク、フロッピーディスク、及び磁気テープといった磁気的メディア、CD−ROMディスクといった光学的メディア、光ディスク(floptical disk)といった磁気光学的メディア、並びに読み出し専用メモリデバイス(ROM)及びランダムアクセスメモリ(RAM)といったプログラム命令を格納しまた実行するために特に配置されたハードウェアデバイスを含む。プログラム命令の例は、コンパイラによって生成されるようなマシンコード、およびインタプリタを使ってコンピュータによって実行できる高水準コードを含むファイルを含む。
【0094】
前述の発明は理解を明晰にする目的のためにある程度の詳しさで記述されたが、添付された特許請求の範囲の内で、ある程度の変更や変形を行うことが可能であることは明らかである。例えば、識別子や署名のアルゴリズムは、輸出の法令に合わせて、さらに選択されたり、変形されたり、使用を制限されたりする。これは、データファイルの世界的な交換を考慮するために、ネットワーク化されたコンピュータにおいては特に真実となる。
【0095】
加えて、検証の設定を利用するアプレットを実行することに伴われるステップだけでなく、サイトへの接続を行うために伴われるステップもまた、順序変更できる。本発明の精神や範囲を離れることなく、ステップを削除したり追加したりすることが可能である。
【0096】
さらに、いくつかのセキュリティレベルのみが記述されたが、特定のコンピュータシステムの要求に合わせて、セキュリティレベルは大きく変化できることを理解するべきである。したがって、記述された実施例は、例示的であって制限的でないものとしてとらえるべきであり、この発明はここで与えられた詳細に制限されるものではなく、以下の特許請求の範囲および等価物の全範囲によって定義されるべきである。
【0097】
【発明の効果】
以上説明したように、データファイルの真正性を保証しまた検証するための、特にコンピュータネットワークにわたって転送されると意図されるデータファイルについての、より効率的な方法、装置および生産物が提供される。
【図面の簡単な説明】
【図1】図1は、ネットワーク化されたコンピュータ環境を表す構成図である。
【図2】図2は、図1のネットワーク化されたコンピュータ環境で使われる典型的なコンピュータシステムを表わす構成図である。
【図3】図3(a)は、本発明の実施例で用いられる、アーカイブのデータ構造の実施例であって、署名ファイルが含まれている構成図である。図3(b)は、本発明の実施例で用いられる、署名ファイルの実施例を表わす構成図である。
【図4】図4は、署名ファイルを持ったデータ構造で使われる、本発明の実施例のフローチャートである。
【図5】図5は、本発明の実施例に合わせて、セキュリティマネージャの中にセキュリティレベルをセッティングすることに関するステップを表わすフローチャートである。
【図6】図6は、本発明の実施例に合わせた、高度セッティングを表わすブラウザインターフェースをダイアグラムで表現した構成図である。
【図7】図7は、本発明の実施例に合わせた、検証のセッティングを用いるアプレットの実行に関するステップを表わすフローチャートである。
【図8】図8は、本発明の実施例に合わせた、コンピュータネットワークを介した接続の確立に関するステップを表わすフローチャートである。
【符号の説明】
10…計算環境、12…送り手ユーザのコンピュータ、16…データリンク、14…受け手ユーザのコンピュータ、20…コンピュータシステム、22…プロセッサ、24…主記憶、26…2次記憶、28…入出力デバイス、30…ネットワーク通信インターフェース、32…バス、302…署名ファイル、304…ファイル1、306…ファイル2、314…ファイルn、320…識別子ID、322…署名

Claims (20)

  1. データの真正性を検証するためにコンピュータシステムで実行される方法であって、
    コンピュータシステムが、少なくとも一つのデータファイルと一つの署名ファイルとを通信手段を用いて受け取るステップであって、該少なくとも一つのデータファイルと該署名ファイルとは分離されており、該署名ファイルは、該少なくとも一つのデータファイルのそれぞれに対応する少なくとも一つの識別子と、一つの電子署名とを含む、ステップと、
    前記コンピュータシステムが、記憶手段に記憶された前記署名ファイルを署名アルゴリズムを用いて検証することで該署名ファイルの真正性を判断する、ステップと、
    前記コンピュータシステムが、前記署名ファイルが真正であると判断された場合に、記憶手段に記憶された前記少なくとも一つのデータファイルの真正性を判断するステップであって、
    前記データファイルをロードし、ロードされた前記データファイルに対して識別子アルゴリズムを使って該データファイルに対応する識別子を導出するサブステップと、
    前記導出された識別子と前記署名ファイル内の前記識別子とを比較するサブステップと、
    前記導出された識別子と前記署名ファイル内の前記識別子とが一致した場合に、これらの識別子に対応する前記データファイルを、署名されたものとしてマーキングするサブステップと、
    を前記データファイルの各々に対して実行する、ステップと、
    前記少なくとも一つのデータファイルが、セキュリティレベルが設定されたアプレットを含んでいる場合に、前記署名ファイルが真正であると判断されると、前記コンピュータシステムが該アプレットに検証済のアプレットとしてブランドを付けるステップと、
    前記コンピュータシステムが、前記ブランドが付けられたアプレットを動作させるステップと、
    前記コンピュータシステムが、前記アプレットがセキュリティチェックを駆動させるか否かを決定するステップと、
    を含み、
    前記セキュリティチェックは、前記コンピュータシステムが前記ブランドと前記セキュリティレベルとを比較する第1サブステップと、その比較により前記アプレットのセキュリティが満たされていると判定された場合に前記コンピュータシステムが前記アプレットの動作を許可し、該セキュリティが満たされていないと判定された場合に前記コンピュータシステムが該動作を許可しない第2サブステップとを含む、
    方法。
  2. 前記少なくとも一つのデータファイルの真正性を判断するステップは、前記導出された識別子と前記署名ファイル内の前記識別子とが一致しない場合に、前記データファイルを無視するサブステップと、前記データファイルのロードを中止するサブステップと、ユーザに警告するサブステップとの群から選択された少なくとも一つのサブステップを該データファイルの各々に対して実行する、
    請求項1に記載の方法。
  3. 前記署名アルゴリズムは、キー付きのアルゴリズムである、
    請求項1に記載の方法。
  4. 前記署名アルゴリズムは、メッセージダイジェストアルゴリズム及びRSA暗号化アルゴリズムを組み合わせたものと、DSAアルゴリズムと、からなる群から選択されるアルゴリズムである、
    請求項3に記載の方法。
  5. 前記導出された識別子と前記署名ファイル内の前記識別子とを比較する前記ステップは、一方向ハッシュ関数アルゴリズムを用いて一つ以上の前記識別子を生成するサブステップを更に含む、
    請求項1に記載の方法。
  6. 前記導出された識別子と前記署名ファイル内の前記識別子とを比較する前記ステップは、サイクリック冗長性チェックサムアルゴリズムを用いて一つ以上の前記識別子をチェックするサブステップを更に含む、
    請求項1に記載の方法。
  7. 前記署名ファイルは、テキスト、ファイルの名前、ファイル作成者、ファイルバージョン、ファイル日付及びファイルのレート付けからなる群から選択された追加のデータを含む、
    請求項1に記載の方法。
  8. 前記識別子は、一方向ハッシュ関数アルゴリズム及びサイクリック冗長性チェックサムアルゴリズムのうちの一つを用いて生成される、
    請求項1に記載の方法。
  9. 前記少なくとも一つのデータファイルと一つの署名ファイルとを受け取る前記ステップは、該データファイルと前記署名ファイルとをネットワーク接続されたコンピュータシステム間で転送するサブステップを更に含む、
    請求項1に記載の方法。
  10. 前記セキュリティレベルが、サイト証明と、ソフトウェア配布者の識別子と、サイト名とのうち少なくとも一つに対して設定されている、
    請求項1に記載の方法。
  11. 前記少なくとも一つのデータファイルが前記アプレットを含んでいる場合に、前記署名ファイルが真正であると判断されなければ、前記コンピュータシステムが未署名のデータファイルが前記コンピュータシステム上での実行に対して受け入れ可能か否かを決定するステップと、
    前記コンピュータシステムが、未署名のデータファイルが前記コンピュータシステム上での実行に対して受け入れ可能でない場合に前記アプレットを停止するステップとを含む、
    請求項1に記載の方法。
  12. 前記コンピュータシステムが、未署名のデータファイルが前記コンピュータシステム上での実行に対して受け入れ可能であると決定された場合に、前記アプレットに前記ブランドを付けるステップを含む、
    請求項11に記載の方法。
  13. 前記第1サブステップでは、前記コンピュータシステムがユーザによるセキュリティ設定の置き換えの入力を受け付け、
    前記第2サブステップでは、受け付けられた入力に基づいて前記セキュリティが満たされていると判定された場合に前記コンピュータシステムが前記アプレットの動作を許可し、該セキュリティが満たされていないと判定された場合に前記コンピュータシステムが該動作を許可しない、
    請求項1に記載の方法。
  14. 少なくとも一つのデータファイル及び一つの署名ファイルの真正性を検証する装置であって、該署名ファイルは、該少なくとも一つのデータファイルのそれぞれに対応する少なくとも一つの識別子と、一つの電子署名とを含み、
    前記電子署名を処理して前記署名ファイルの真正性を判断する第1判断手段と、
    前記署名ファイルが真正であると判断された場合に、前記少なくとも一つのデータファイルの真正性を判断する第2判断手段であって、前記データファイルをロードし、ロードされた前記データファイルに対して識別子アルゴリズムを使って該データファイルに対応する識別子を導出し、前記導出された識別子と前記署名ファイル内の前記識別子とを比較し、前記導出された識別子と前記署名ファイル内の前記識別子とが一致した場合に、これらの識別子に対応する前記データファイルを、署名されたものとしてマーキングする、ことを前記データファイルの各々に対して実行する、第2判断手段と、
    前記少なくとも一つのデータファイルが、セキュリティレベルが設定されたアプレットを含んでいる場合に、前記署名ファイルが真正であると判断されると、該アプレットに検証済のアプレットとしてブランドを付けるブランド付け手段と、
    前記ブランドが付けられたアプレットを動作させる動作手段と、
    前記アプレットがセキュリティチェックを駆動させるか否かを決定する決定手段と、
    を備え、
    前記セキュリティチェックは、前記ブランドと前記セキュリティレベルとを比較する第1サブステップと、その比較により前記アプレットのセキュリティが満たされていると判定された場合に前記アプレットの動作を許可し、該セキュリティが満たされていないと判定された場合に該動作を許可しない第2サブステップとを含む、
    装置。
  15. 前記第2判断手段は、前記導出された識別子と前記署名ファイル内の前記識別子とが一致しない場合にユーザに警告することを前記データファイルの各々に対して実行する、
    請求項14に記載の装置。
  16. 前記第1判断手段は、署名アルゴリズムを用いて前記電子署名を検証する、
    請求項14に記載の装置。
  17. 前記署名アルゴリズムは、メッセージダイジェストアルゴリズム及びRSA暗号化アルゴリズムを組み合わせたものと、DSAアルゴリズムと、からなる群から選択されるアルゴリズムである、
    請求項16に記載の装置。
  18. 前記セキュリティレベルが、サイト証明と、ソフトウェア配布者の識別子と、サイト名とのうち少なくとも一つに対して設定されている、
    請求項14に記載の装置。
  19. データの真正性を検証するための方法をコンピュータシステムに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
    前記方法は、
    少なくとも一つのデータファイルと一つの署名ファイルとを受け取るステップであって、該少なくとも一つのデータファイルと該署名ファイルとは分離されており、該署名ファイルは、該少なくとも一つのデータファイルのそれぞれに対応する少なくとも一つの識別子と、一つの電子署名とを含む、ステップと、
    前記署名ファイルの真正性を判断するために該署名ファイルを処理するステップであって、前記電子署名を処理して該署名ファイルの真正性を判断する、ステップと、
    前記署名ファイルが真正であると判断された場合に、前記少なくとも一つのデータファイルの真正性を判断するステップであって、
    前記データファイルをロードし、ロードされた前記データファイルに対して識別子アルゴリズムを使って該データファイルに対応する識別子を導出するサブステップと、
    前記導出された識別子と前記署名ファイル内の前記識別子とを比較するサブステップと、
    前記導出された識別子と前記署名ファイル内の前記識別子とが一致した場合に、これらの識別子に対応する前記データファイルを、署名されたものとしてマーキングするサブステップと、
    を前記データファイルの各々に対して実行するステップと、
    前記少なくとも一つのデータファイルが、セキュリティレベルが設定されたアプレットを含んでいる場合に、前記署名ファイルが真正であると判断されると、該アプレットに検証済のアプレットとしてブランドを付けるステップと、
    前記ブランドが付けられたアプレットを動作させるステップと、
    前記アプレットがセキュリティチェックを駆動させるか否かを決定するステップと、
    を含み、
    前記セキュリティチェックは、前記ブランドと前記セキュリティレベルとを比較する第1サブステップと、その比較により前記アプレットのセキュリティが満たされていると判定された場合に前記アプレットの動作を許可し、該セキュリティが満たされていないと判定された場合に該動作を許可しない第2サブステップとを含む、
    コンピュータ読取り可能な記録媒体。
  20. 前記方法は、
    前記少なくとも一つのデータファイルが前記アプレットを含んでいる場合に、前記署名ファイルが真正であると判断されなければ、未署名のデータファイルが前記コンピュータシステム上での実行に対して受け入れ可能か否かを決定するステップと、
    未署名のデータファイルが前記コンピュータシステム上での実行に対して受け入れ可能でない場合に前記アプレットを停止するステップとを含む、
    請求項19に記載のコンピュータ読取り可能な記録媒体。
JP2002367156A 1996-11-27 2002-12-18 データストリーム及びデータアーカイブのためのデジタル署名の実施 Expired - Lifetime JP4359427B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/753716 1996-11-27
US08/753,716 US6021491A (en) 1996-11-27 1996-11-27 Digital signatures for data streams and data archives
US08/780,817 US5958051A (en) 1996-11-27 1997-01-09 Implementing digital signatures for data streams and data archives
US08/780817 1997-01-09

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP9363804A Division JPH10326078A (ja) 1996-11-27 1997-11-27 データストリーム及びデータアーカイブのためのデジタル署名の実施

Publications (2)

Publication Number Publication Date
JP2003218859A JP2003218859A (ja) 2003-07-31
JP4359427B2 true JP4359427B2 (ja) 2009-11-04

Family

ID=27115801

Family Applications (2)

Application Number Title Priority Date Filing Date
JP9363804A Pending JPH10326078A (ja) 1996-11-27 1997-11-27 データストリーム及びデータアーカイブのためのデジタル署名の実施
JP2002367156A Expired - Lifetime JP4359427B2 (ja) 1996-11-27 2002-12-18 データストリーム及びデータアーカイブのためのデジタル署名の実施

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP9363804A Pending JPH10326078A (ja) 1996-11-27 1997-11-27 データストリーム及びデータアーカイブのためのデジタル署名の実施

Country Status (5)

Country Link
US (1) US5958051A (ja)
EP (1) EP0845733B1 (ja)
JP (2) JPH10326078A (ja)
KR (1) KR100338397B1 (ja)
DE (1) DE69727198T2 (ja)

Families Citing this family (184)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993152B2 (en) * 1994-03-17 2006-01-31 Digimarc Corporation Hiding geo-location data through arrangement of objects
US6829368B2 (en) * 2000-01-26 2004-12-07 Digimarc Corporation Establishing and interacting with on-line media collections using identifiers in media signals
US6263442B1 (en) * 1996-05-30 2001-07-17 Sun Microsystems, Inc. System and method for securing a program's execution in a network environment
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
GB9626241D0 (en) * 1996-12-18 1997-02-05 Ncr Int Inc Secure data processing method and system
CA2285027C (en) * 1997-03-27 2009-01-06 British Telecommunications Public Limited Company Copy protection of data
US6167522A (en) * 1997-04-01 2000-12-26 Sun Microsystems, Inc. Method and apparatus for providing security for servers executing application programs received via a network
US6324574B1 (en) * 1997-11-07 2001-11-27 International Business Machines Corporation Relay server for unsigned applets
JP3272283B2 (ja) 1997-11-14 2002-04-08 富士通株式会社 電子データ保管装置
US6236661B1 (en) * 1998-02-05 2001-05-22 Acceleration Software International Corporation Accelerating access to wide area network information
US6345361B1 (en) 1998-04-06 2002-02-05 Microsoft Corporation Directional set operations for permission based security in a computer system
US6366912B1 (en) * 1998-04-06 2002-04-02 Microsoft Corporation Network security zones
US6374357B1 (en) * 1998-04-16 2002-04-16 Microsoft Corporation System and method for regulating a network service provider's ability to host distributed applications in a distributed processing environment
US6487301B1 (en) * 1998-04-30 2002-11-26 Mediasec Technologies Llc Digital authentication with digital and analog documents
EP0993631B1 (en) 1998-05-06 2009-07-22 Sun Microsystems, Inc. Processing apparatus and method
WO1999060568A1 (en) * 1998-05-20 1999-11-25 Recording Industry Association Of America Copy protection method using broken modulation rules
US6684199B1 (en) 1998-05-20 2004-01-27 Recording Industry Association Of America Method for minimizing pirating and/or unauthorized copying and/or unauthorized access of/to data on/from data media including compact discs and digital versatile discs, and system and data media for same
US6321334B1 (en) 1998-07-15 2001-11-20 Microsoft Corporation Administering permissions associated with a security zone in a computer system security model
US6473800B1 (en) 1998-07-15 2002-10-29 Microsoft Corporation Declarative permission requests in a computer system
US20010044850A1 (en) 1998-07-22 2001-11-22 Uri Raz Method and apparatus for determining the order of streaming modules
US7197570B2 (en) * 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US6356935B1 (en) 1998-08-14 2002-03-12 Xircom Wireless, Inc. Apparatus and method for an authenticated electronic userid
US6615348B1 (en) 1999-04-16 2003-09-02 Intel Corporation Method and apparatus for an adapted digital signature
US6085321A (en) 1998-08-14 2000-07-04 Omnipoint Corporation Unique digital signature
JP3754565B2 (ja) * 1998-10-30 2006-03-15 株式会社日立製作所 電子印鑑マーク認証システム
US6327662B1 (en) * 1998-09-30 2001-12-04 3Com Corporation Security through the use of tokens and automatically downloaded applets
US6751670B1 (en) * 1998-11-24 2004-06-15 Drm Technologies, L.L.C. Tracking electronic component
US6499109B1 (en) * 1998-12-08 2002-12-24 Networks Associates Technology, Inc. Method and apparatus for securing software distributed over a network
US6266774B1 (en) 1998-12-08 2001-07-24 Mcafee.Com Corporation Method and system for securing, managing or optimizing a personal computer
US6330588B1 (en) * 1998-12-21 2001-12-11 Philips Electronics North America Corporation Verification of software agents and agent activities
US7127515B2 (en) 1999-01-15 2006-10-24 Drm Technologies, Llc Delivering electronic content
US8214295B2 (en) 1999-02-05 2012-07-03 Icopyright, Inc. Internet system for facilitating human user advisement and licensing of copyrighted works of authorship
JP2002536706A (ja) 1999-02-12 2002-10-29 マック ヒックス 証明書関連その他のサービスを提供するシステム及び方法
CA2363465A1 (en) 1999-02-26 2000-08-31 Authentidate Holding Corp. Digital file management and imaging system and method including secure file marking
EP1046977A3 (en) * 1999-04-21 2001-10-24 Sun Microsystems, Inc. Modal security approach
US6757827B1 (en) * 1999-04-26 2004-06-29 Unisys Corporation Autonomously secured image data
US7430714B1 (en) 1999-04-30 2008-09-30 Ricoh Company, Ltd. Document storage system including a user interface for associating documents into groups
GB2354347B (en) * 1999-08-04 2003-09-03 Internat Federation Of The Pho Reproduction control system
US6959382B1 (en) 1999-08-16 2005-10-25 Accela, Inc. Digital signature service
EP1437700A2 (fr) * 1999-08-30 2004-07-14 CORNUEJOLS, Georges Procede et dispositif de communication
CA2317139C (en) 1999-09-01 2006-08-08 Nippon Telegraph And Telephone Corporation Folder type time stamping system and distributed time stamping system
US20020029200A1 (en) 1999-09-10 2002-03-07 Charles Dulin System and method for providing certificate validation and other services
CA2384242A1 (en) 1999-09-24 2001-04-05 Mary Mckenney System and method for providing payment services in electronic commerce
US6980658B1 (en) * 1999-09-30 2005-12-27 Qualcomm Incorporated Method and apparatus for encrypting transmissions in a communication system
US20060195400A1 (en) * 2000-10-13 2006-08-31 Patrick Patterson Controlling access to electronic content
JP2003513388A (ja) * 1999-10-29 2003-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 安全性が確保されたカウンタによりデータ信頼性を保証するシステム及び方法
AU7623600A (en) * 1999-11-16 2001-05-30 Intel Corporation A method of providing secure linkage of program modules
US6898707B1 (en) * 1999-11-30 2005-05-24 Accela, Inc. Integrating a digital signature service into a database
US6307471B1 (en) 1999-12-01 2001-10-23 Ensure Technologies, Inc. Radio based proximity token with multiple antennas
US6961855B1 (en) * 1999-12-16 2005-11-01 International Business Machines Corporation Notification of modifications to a trusted computing base
US6792113B1 (en) * 1999-12-20 2004-09-14 Microsoft Corporation Adaptable security mechanism for preventing unauthorized access of digital data
CN1423766A (zh) * 2000-02-17 2003-06-11 通用仪器公司 提供安全控制软件或固件代码下载和接收下载代码的计算装置的安全操作的方法和装置
DE60132931T2 (de) * 2000-03-20 2009-02-26 Comodo Research Lab Ltd. Zugriffs- und benutzungsmethoden für webseiten
US20040186996A1 (en) * 2000-03-29 2004-09-23 Gibbs Benjamin K. Unique digital signature
JP2001290513A (ja) * 2000-04-10 2001-10-19 Toyota Motor Corp 制御パラメータの提供方法、サーバ装置及び車両制御システム
US7124408B1 (en) * 2000-06-28 2006-10-17 Microsoft Corporation Binding by hash
US7117371B1 (en) 2000-06-28 2006-10-03 Microsoft Corporation Shared names
US20020046045A1 (en) * 2000-06-30 2002-04-18 Attila Narin Architecture for an electronic shopping service integratable with a software application
US7225159B2 (en) * 2000-06-30 2007-05-29 Microsoft Corporation Method for authenticating and securing integrated bookstore entries
US7350204B2 (en) * 2000-07-24 2008-03-25 Microsoft Corporation Policies for secure software execution
SE517116C2 (sv) * 2000-08-11 2002-04-16 Ericsson Telefon Ab L M Metod och anordning för säkra kommunikationstjänster
US7366896B1 (en) * 2000-08-29 2008-04-29 Microsoft Corporation Systems and methods for limiting access to potentially dangerous code
WO2002021409A1 (en) 2000-09-08 2002-03-14 Tallent Guy S System and method for transparently providing certificate validation and other services within an electronic transaction
US7072870B2 (en) 2000-09-08 2006-07-04 Identrus, Llc System and method for providing authorization and other services
CN101714201B (zh) 2000-09-21 2016-02-03 黑莓有限公司 代码签字系统及方法
US20020087717A1 (en) * 2000-09-26 2002-07-04 Itzik Artzi Network streaming of multi-application program code
JP4137370B2 (ja) * 2000-12-19 2008-08-20 株式会社リコー セキュア電子メディア管理方法
JP2002207426A (ja) * 2001-01-10 2002-07-26 Sony Corp 公開鍵証明書発行システム、公開鍵証明書発行方法、および電子認証装置、並びにプログラム記憶媒体
US9002734B2 (en) * 2001-01-23 2015-04-07 Verizon Patent And Licensing Inc. Method and system for procuring telecommunications services on-line
US7249257B2 (en) * 2001-03-05 2007-07-24 Digimarc Corporation Digitally watermarked maps and signs and related navigational tools
US7254249B2 (en) 2001-03-05 2007-08-07 Digimarc Corporation Embedding location data in video
US7197160B2 (en) 2001-03-05 2007-03-27 Digimarc Corporation Geographic information systems using digital watermarks
US6664976B2 (en) 2001-04-18 2003-12-16 Digimarc Corporation Image management system and methods using digital watermarks
US6950519B2 (en) 2001-03-05 2005-09-27 Digimarc Corporation Geographically watermarked imagery and methods
US7042470B2 (en) * 2001-03-05 2006-05-09 Digimarc Corporation Using embedded steganographic identifiers in segmented areas of geographic images and characteristics corresponding to imagery data derived from aerial platforms
US9363409B2 (en) 2001-03-05 2016-06-07 Digimarc Corporation Image management system and methods using digital watermarks
US7061510B2 (en) * 2001-03-05 2006-06-13 Digimarc Corporation Geo-referencing of aerial imagery using embedded image identifiers and cross-referenced data sets
US7098931B2 (en) * 2001-03-05 2006-08-29 Digimarc Corporation Image management system and methods using digital watermarks
US6732279B2 (en) * 2001-03-14 2004-05-04 Terry George Hoffman Anti-virus protection system and method
US20020133709A1 (en) 2001-03-14 2002-09-19 Hoffman Terry George Optical data transfer system - ODTS; Optically based anti-virus protection system - OBAPS
US7188342B2 (en) * 2001-04-20 2007-03-06 Microsoft Corporation Server controlled branding of client software deployed over computer networks
US7167985B2 (en) * 2001-04-30 2007-01-23 Identrus, Llc System and method for providing trusted browser verification
US7065658B1 (en) 2001-05-18 2006-06-20 Palm, Incorporated Method and apparatus for synchronizing and recharging a connector-less portable computer system
US7036111B2 (en) * 2001-06-01 2006-04-25 Hewlett-Packard Development Company, L.P. Code verification system and method
US7475429B2 (en) * 2001-06-12 2009-01-06 International Business Machines Corporation Method of invisibly embedding into a text document the license identification of the generating licensed software
ATE343898T1 (de) * 2001-06-12 2006-11-15 Ibm Verfahren zum unsichtbaren einbetten und verstecken der daten in soft-copy textdokumenten
US7117367B2 (en) * 2001-06-12 2006-10-03 International Business Machines Corporation Method of authenticating a plurality of files linked to a text document
US20030009687A1 (en) * 2001-07-05 2003-01-09 Ferchau Joerg U. Method and apparatus for validating integrity of software
US7310817B2 (en) * 2001-07-26 2007-12-18 Mcafee, Inc. Centrally managed malware scanning
US7162525B2 (en) * 2001-08-07 2007-01-09 Nokia Corporation Method and system for visualizing a level of trust of network communication operations and connection of servers
GB2379146A (en) * 2001-08-23 2003-02-26 Inventec Corp Transmission of encrypted and digitally signed files over the internet
US7281125B2 (en) * 2001-08-24 2007-10-09 Lenovo (Singapore) Pte. Ltd. Securing sensitive configuration data remotely
US7340526B2 (en) * 2001-10-30 2008-03-04 Intel Corporation Automated content source validation for streaming data
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
EP1315066A1 (en) * 2001-11-21 2003-05-28 BRITISH TELECOMMUNICATIONS public limited company Computer security system
US7653814B2 (en) 2001-12-11 2010-01-26 International Business Machines Corporation System and method for securely hyperlinking graphic objects
US20030120923A1 (en) * 2001-12-21 2003-06-26 Avaya Technology Corp. Secure data authentication apparatus
JP2003281002A (ja) * 2002-03-27 2003-10-03 Fujitsu Ltd 稼働監視装置および稼働監視プログラム
US8226473B2 (en) * 2002-04-10 2012-07-24 Wms Gaming Inc. Gaming software authentication
US6993665B2 (en) * 2002-05-01 2006-01-31 Sun Microsystems, Inc. Applet permissions manager
EP1429224A1 (en) * 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
US7287164B2 (en) * 2002-09-12 2007-10-23 International Business Machines Corporation Method and system for encoding signatures to authenticate files
US7694139B2 (en) * 2002-10-24 2010-04-06 Symantec Corporation Securing executable content using a trusted computing platform
US7251832B2 (en) 2003-03-13 2007-07-31 Drm Technologies, Llc Secure streaming container
US7320009B1 (en) * 2003-03-28 2008-01-15 Novell, Inc. Methods and systems for file replication utilizing differences between versions of files
US7464158B2 (en) 2003-10-15 2008-12-09 International Business Machines Corporation Secure initialization of intrusion detection system
WO2005043802A1 (en) 2003-10-20 2005-05-12 Drm Technologies, Llc Securing digital content system and method
US20060116966A1 (en) * 2003-12-04 2006-06-01 Pedersen Palle M Methods and systems for verifying protectable content
US7552093B2 (en) * 2003-12-04 2009-06-23 Black Duck Software, Inc. Resolving license dependencies for aggregations of legally-protectable content
US9489687B2 (en) * 2003-12-04 2016-11-08 Black Duck Software, Inc. Methods and systems for managing software development
US8700533B2 (en) * 2003-12-04 2014-04-15 Black Duck Software, Inc. Authenticating licenses for legally-protectable content based on license profiles and content identifiers
US20090288147A1 (en) * 2004-02-02 2009-11-19 Michael Yeung System and method for modifying security functions of an associated document processing device
US7503067B2 (en) * 2004-02-02 2009-03-10 Toshiba Corporation Preset security levels
US7315965B2 (en) 2004-02-04 2008-01-01 Network Appliance, Inc. Method and system for storing data using a continuous data protection system
US7904679B2 (en) 2004-02-04 2011-03-08 Netapp, Inc. Method and apparatus for managing backup data
US7426617B2 (en) 2004-02-04 2008-09-16 Network Appliance, Inc. Method and system for synchronizing volumes in a continuous data protection system
US7720817B2 (en) 2004-02-04 2010-05-18 Netapp, Inc. Method and system for browsing objects on a protected volume in a continuous data protection system
US7783606B2 (en) 2004-02-04 2010-08-24 Netapp, Inc. Method and system for remote data recovery
EP1751690B1 (en) 2004-02-04 2018-10-03 Digimarc Corporation Digital watermarking image signals on-chip and photographic travel logs through digital watermarking
US8332943B2 (en) 2004-02-17 2012-12-11 Microsoft Corporation Tiered object-related trust decisions
US7373505B2 (en) * 2004-04-15 2008-05-13 Microsoft Corporation Displaying a security element with a browser window
US7065650B2 (en) * 2004-05-10 2006-06-20 Aladdin Knowledge Systems Ltd. Method for indicating the integrity of a collection of digital objects
EP1783580A4 (en) * 2004-08-12 2011-03-23 Fujitsu Ltd JAVA APPLET, JAR FILE GENERATION PROCESS, JAR FILE GENERATION PROGRAM, AND JAR FILE GENERATION DEVICE
US8028135B1 (en) 2004-09-01 2011-09-27 Netapp, Inc. Method and apparatus for maintaining compliant storage
DE102004051771A1 (de) * 2004-10-15 2006-04-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtungen und Verfahren zum Prüfen und Ermitteln von Prüfwerten
US20060150153A1 (en) * 2004-12-04 2006-07-06 Micah Altman Digital object verification method
US7774610B2 (en) * 2004-12-14 2010-08-10 Netapp, Inc. Method and apparatus for verifiably migrating WORM data
US8843414B2 (en) * 2005-02-04 2014-09-23 Ricoh Company, Ltd. Techniques for accessing controlled media objects
US7797245B2 (en) * 2005-03-18 2010-09-14 Black Duck Software, Inc. Methods and systems for identifying an area of interest in protectable content
US7770015B1 (en) * 2005-05-20 2010-08-03 Adobe Systems Incorporated Signatures for multiple encodings
US7856658B2 (en) * 2005-06-20 2010-12-21 Lijit Networks, Inc. Method and system for incorporating trusted metadata in a computing environment
JP4804816B2 (ja) * 2005-06-29 2011-11-02 株式会社エヌ・ティ・ティ・ドコモ 通信端末、および通信方法
JP4788213B2 (ja) * 2005-07-13 2011-10-05 富士ゼロックス株式会社 タイムスタンプ検証プログラム及びタイムスタンプ検証システム
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
JP4993674B2 (ja) * 2005-09-09 2012-08-08 キヤノン株式会社 情報処理装置、検証処理装置及びそれらの制御方法、コンピュータプログラム及び記憶媒体
US7752401B2 (en) 2006-01-25 2010-07-06 Netapp, Inc. Method and apparatus to automatically commit files to WORM status
EA009450B1 (ru) * 2006-04-03 2007-12-28 Некоммерческая Организация «Фонд Сопровождения Инвестиционных Проектов "Генкей"» Способ и устройство получения подлинной цифровой информации и проверки ее подлинности
US8010538B2 (en) * 2006-05-08 2011-08-30 Black Duck Software, Inc. Methods and systems for reporting regions of interest in content files
US7971257B2 (en) * 2006-08-03 2011-06-28 Symantec Corporation Obtaining network origins of potential software threats
US8615801B2 (en) * 2006-08-31 2013-12-24 Microsoft Corporation Software authorization utilizing software reputation
US7681045B2 (en) * 2006-10-12 2010-03-16 Black Duck Software, Inc. Software algorithm identification
US8010803B2 (en) * 2006-10-12 2011-08-30 Black Duck Software, Inc. Methods and apparatus for automated export compliance
RU2480926C2 (ru) 2007-04-23 2013-04-27 Томсон Лайсенсинг Способ и устройство, предназначенные для загрузок программного обеспечения в сети
JP5056153B2 (ja) * 2007-05-16 2012-10-24 コニカミノルタホールディングス株式会社 ファイル情報の管理方法及び情報処理装置
US20090044018A1 (en) * 2007-08-08 2009-02-12 Mark Louis Kirchner Section Inclusion and Section Order Authentication Method for Computer Electronic Documents
CA2712242C (en) 2008-01-18 2017-03-28 Identrust, Inc. Binding a digital certificate to multiple trust domains
USD640976S1 (en) 2008-08-28 2011-07-05 Hewlett-Packard Development Company, L.P. Support structure and/or cradle for a mobile computing device
US8385822B2 (en) 2008-09-26 2013-02-26 Hewlett-Packard Development Company, L.P. Orientation and presence detection for use in configuring operations of computing devices in docked environments
US8688037B2 (en) 2008-09-26 2014-04-01 Hewlett-Packard Development Company, L.P. Magnetic latching mechanism for use in mating a mobile computing device to an accessory device
US8234509B2 (en) * 2008-09-26 2012-07-31 Hewlett-Packard Development Company, L.P. Portable power supply device for mobile computing devices
US8401469B2 (en) * 2008-09-26 2013-03-19 Hewlett-Packard Development Company, L.P. Shield for use with a computing device that receives an inductive signal transmission
US8850045B2 (en) 2008-09-26 2014-09-30 Qualcomm Incorporated System and method for linking and sharing resources amongst devices
US8868939B2 (en) 2008-09-26 2014-10-21 Qualcomm Incorporated Portable power supply device with outlet connector
US8712324B2 (en) 2008-09-26 2014-04-29 Qualcomm Incorporated Inductive signal transfer system for computing devices
US8527688B2 (en) * 2008-09-26 2013-09-03 Palm, Inc. Extending device functionality amongst inductively linked devices
US9083686B2 (en) * 2008-11-12 2015-07-14 Qualcomm Incorporated Protocol for program during startup sequence
DE102008055076A1 (de) * 2008-12-22 2010-07-01 Robert Bosch Gmbh Vorrichtung und Verfahren zum Schutz von Daten, Computerprogramm, Computerprogrammprodukt
WO2010078557A2 (en) * 2009-01-05 2010-07-08 Palm, Inc. Interior connector scheme for accessorizing a mobile computing device with a removeable housing segment
JP4834742B2 (ja) * 2009-01-21 2011-12-14 株式会社エヌ・ティ・ティ・データ 署名データ生成装置及び検証装置
US9395827B2 (en) * 2009-07-21 2016-07-19 Qualcomm Incorporated System for detecting orientation of magnetically coupled devices
US8954001B2 (en) * 2009-07-21 2015-02-10 Qualcomm Incorporated Power bridge circuit for bi-directional wireless power transmission
US8437695B2 (en) * 2009-07-21 2013-05-07 Hewlett-Packard Development Company, L.P. Power bridge circuit for bi-directional inductive signaling
US8755815B2 (en) 2010-08-31 2014-06-17 Qualcomm Incorporated Use of wireless access point ID for position determination
US8395547B2 (en) 2009-08-27 2013-03-12 Hewlett-Packard Development Company, L.P. Location tracking for mobile computing device
US9742778B2 (en) 2009-09-09 2017-08-22 International Business Machines Corporation Differential security policies in email systems
USD674391S1 (en) 2009-11-17 2013-01-15 Hewlett-Packard Development Company, L.P. Docking station for a computing device
US9104517B2 (en) 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
US8650195B2 (en) * 2010-03-26 2014-02-11 Palle M Pedersen Region based information retrieval system
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
US9218359B2 (en) * 2010-07-02 2015-12-22 Code Systems Corporation Method and system for profiling virtual application resource utilization patterns by executing virtualized application
EP4344257A2 (en) 2010-09-29 2024-03-27 QUALCOMM Incorporated Location tracking for mobile computing device
US8948692B2 (en) * 2011-02-08 2015-02-03 Qualcomm Incorporated Graphic notification feedback for indicating inductive coupling amongst devices
US20130036103A1 (en) * 2011-08-04 2013-02-07 The Boeing Company Software Part Validation Using Hash Values
US8839446B2 (en) * 2011-09-12 2014-09-16 Microsoft Corporation Protecting archive structure with directory verifiers
KR101311287B1 (ko) * 2012-02-21 2013-09-25 주식회사 파수닷컴 전자책 생성 장치 및 방법, 그리고 전자책 무결성 검증 장치 및 방법
EP2882156B1 (en) * 2013-12-04 2018-09-19 Telefonica Digital España, S.L.U. Computer implemented method and a computer system to prevent security problems in the use of digital certificates in code signing and a computer program product thereof
US9805099B2 (en) 2014-10-30 2017-10-31 The Johns Hopkins University Apparatus and method for efficient identification of code similarity
US9843451B2 (en) 2014-10-30 2017-12-12 Motorola Solutions, Inc. Apparatus and method for multi-state code signing
DE102015103740A1 (de) * 2015-03-13 2016-09-15 Phoenix Contact Gmbh & Co. Kg Verfahren und Vorrichtung zum Verarbeiten und Übertragen von Daten innerhalb eines funktional sicheren elektrischen, elektronischen oder programmierbar elektronischen Systems
US10476846B2 (en) * 2016-08-05 2019-11-12 The Boeing Company Data-at-rest (DAR) encryption for integrated storage media

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4868877A (en) * 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5214702A (en) * 1988-02-12 1993-05-25 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US4981370A (en) * 1990-01-29 1991-01-01 Dziewit Halina S Document authentication apparatus
US5031214A (en) * 1990-01-29 1991-07-09 Dziewit Halina S Document authentication apparatus
US5163091A (en) * 1990-01-29 1992-11-10 Graziano James M Knowledge based system for document authentication (apparatus)
US5191613A (en) * 1990-11-16 1993-03-02 Graziano James M Knowledge based system for document authentication
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
US5677953A (en) * 1993-09-14 1997-10-14 Spyrus, Inc. System and method for access control for portable data storage media
IL110891A (en) * 1993-09-14 1999-03-12 Spyrus System and method for controlling access to data
US5499294A (en) * 1993-11-24 1996-03-12 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Digital camera with apparatus for authentication of images produced from an image file
US5572673A (en) * 1993-12-01 1996-11-05 Sybase, Inc. Secure multi-level system for executing stored procedures
US5572590A (en) * 1994-04-12 1996-11-05 International Business Machines Corporation Discrimination of malicious changes to digital information using multiple signatures
US5579393A (en) * 1994-06-21 1996-11-26 Escan, Inc. System and method for secure medical and dental record interchange
US5675650A (en) * 1995-05-02 1997-10-07 Pitney Bowes Inc. Controlled acceptance mail payment and evidencing system
US5619571A (en) * 1995-06-01 1997-04-08 Sandstrom; Brent B. Method for securely storing electronic records

Also Published As

Publication number Publication date
DE69727198D1 (de) 2004-02-19
JPH10326078A (ja) 1998-12-08
JP2003218859A (ja) 2003-07-31
KR19980042805A (ko) 1998-08-17
US5958051A (en) 1999-09-28
EP0845733B1 (en) 2004-01-14
DE69727198T2 (de) 2004-07-01
EP0845733A3 (en) 2002-09-18
EP0845733A2 (en) 1998-06-03
KR100338397B1 (ko) 2002-10-11

Similar Documents

Publication Publication Date Title
JP4359427B2 (ja) データストリーム及びデータアーカイブのためのデジタル署名の実施
US6021491A (en) Digital signatures for data streams and data archives
US6694434B1 (en) Method and apparatus for controlling program execution and program distribution
US7424606B2 (en) System and method for authenticating an operating system
US6272631B1 (en) Protected storage of core data secrets
US7171558B1 (en) Transparent digital rights management for extendible content viewers
US6327652B1 (en) Loading and identifying a digital rights management operating system
US7685645B2 (en) Security containers for document components
US7257707B2 (en) Manifest-based trusted agent management in a trusted operating system environment
US7577840B2 (en) Transferring application secrets in a trusted operating system environment
US7614077B2 (en) Persistent access control of protected content
US6820063B1 (en) Controlling access to content based on certificates and access predicates
US6802002B1 (en) Method and apparatus for providing field confidentiality in digital certificates
EP1168141B1 (en) A secure and open computer platform
US7660798B1 (en) System and method for providing document security, access control and automatic identification of recipients
US8261082B1 (en) Self-signing electronic documents
JPH1091427A (ja) 署名入り内容の使用の安全を保証する方法及びシステム
US20050060549A1 (en) Controlling access to content based on certificates and access predicates
MXPA04009838A (es) Identificacion segura de un ejecutable en una entidad de determinacion de confianza.
Weeks et al. CCI-Based Web security: a design using PGP
CA2615030A1 (en) Transparent digital rights management for extendible content viewers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070528

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080422

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080422

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090615

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090810

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

Free format text: PAYMENT UNTIL: 20120814

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130814

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term