(57)【要約】【構成】オフラインで、あるいは場合によってオンラインでメッセージの復号を実施することができる機密保持通信システムである。メッセージキーに基づいてセンダがメッセージを暗号化し、これをレシピエントに送信する。レシピエントの秘密に基づくベラファイヤに基づいてメッセージキーを暗号化することによってメッセージキーを組みいれたエンベロープを生成する。メッセージなどの受信と同時に、メッセージとともにあるいは別に、センダまたは別な当事者からレシピエントがエンベロープを与える。次に、レシピエントがオフラインでエンベロープを開くことができ、エンベロープからメッセージキーを検索し、メッセージを復号する。レシピエントがエンベロープを開けない場合には、適宜オンラインアクセスに変更し、レシピエントが開くことができる別なエンベロープを得ることができるようにする。【特許請求の範囲】
【請求項１】
センダからレシピエントへメッセージを機密保持通信する方法において、
レシピエントの秘密に基づくベラファイヤに基づくメッセージキーを暗号化することによってこのメッセージキーを含むエンベロープを生成する段階、
このメッセージキーを上記センダに与える段階、
上記センダにおいて、上記メッセージキーに基づいて上記メッセージを暗号化する段階、
上記センダから上記レシピエントにこのメッセージを送る段階、
上記エンベロープを上記レシピエントに与える段階、および
上記レシピエントにおいて、上記レシピエントの秘密に基づくエンベロープを開き、上記エンベロープから上記メッセージキーを検索し、かつこのメッセージキーに基づいて上記メッセージを復号する段階を有することを特徴とする機密保持通信方法。
【請求項２】
センダからレシピエントへメッセージを機密保持通信する方法において、
（ａ）メッセージキーを準備する段階、
（ｂ）レシピエントの秘密に基づくベラファイヤに基づくメッセージキーを暗号化することによってこのメッセージキーを含むエンベロープを生成する段階、および
（ｃ）このメッセージキーに基づいて上記メッセージを暗号化することによって、上記エンベロープで機密を保持された状態で、上記メッセージを上記センダから上記レシピエントに送るとともに、上記レシピエントにこのエンベロープを送り、上記秘密を使用して上記エンベロープを開き、上記メッセージキーを検索するとともに、上記メッセージを復号する段階を有することを特徴とする機密保持通信方法。
【請求項３】
上記段階（ａ）では、上記センダそれ自体において上記メッセージキーを生成する請求項２記載の方法。
【請求項４】
上記段階（ａ）において、キーサーバで上記メッセージキーを得るとともに、上記センダがこのキーサーバから上記メッセージキーを受け取る請求項２記載の方法。
【請求項５】
上記キーサーバが、上記メッセージキーのコピーを保存する請求項４記載の方法。
【請求項６】
上記段階（ａ）において、上記メッセージキーがセンダそれ自体以外の当事者に解除されているかどうか、またどんな条件下でこれが行われているかに関して命令する請求項５記載の方法。
【請求項７】
上記段階（ａ）において、上記センダが上記キーサーバにレシピエントリストを与えるとともに、上記キーサーバがこのレシピエントリストのコピーを記憶する請求項５記載の方法。
【請求項８】
上記段階（ａ）において、上記センダを、上記メッセージキーを与える上記キーサーバの条件として認証する請求項４記載の方法。
【請求項９】
上記段階（ａ）において、上記センダが上記キーサーバにセンダアサーションを与え、このセンダアサーションが認証サーバから生成される請求項８記載の方法。
【請求項１０】
上記段階（ｂ）において、キーアグリーメントプロトコルに基づいて上記エンベロープキーを誘導し、そして対称暗号化アルゴリズムを使用することによって上記メッセージキーを暗号化する請求項２記載の方法。
【請求項１１】
上記キーアグリーメントプロトコルがＤｉｆｆｉｅ−Ｈｅｌｌｍａｎキーアグリーメントであり、そして上記暗号化アルゴリズムがＡＥＳ暗号化アルゴリズムである請求項１０記載の方法。
【請求項１２】
上記段階（ｂ）において、直接上記ベラファイヤを用いて上記エンベロープキーを暗号化することによって直接上記秘密を用いて上記エンベロープを復号する請求項２記載の方法。
【請求項１３】
上記段階（ｂ）において、パブリックキー暗号化アルゴリズムに基づいて上記メッセージキーを暗号化する請求項１２記載の方法。
【請求項１４】
上記パブリックキー暗号化アルゴリズムがＥｌ−Ｇａｍａｌ暗号化アルゴリズムである請求項１３記載の方法。
【請求項１５】
上記段階（ｂ）において、上記センダそれ自体で上記エンベロープを生成する請求項２記載の方法。
【請求項１６】
上記段階（ｂ）において、キーサーバで上記エンベロープを生成し、そして上記センダがこのエンベロープを上記キーサーバから受け取る請求項２記載の方法。
【請求項１７】
上記レシピエントが上記メッセージの複数のレシピエントの一つであり、そして
上記段階（ｂ）において、上記複数のレシピエントのうちどのレシピエントに関して上記キーサーバが上記エンベロープを生成するかについて上記センダが命令し、これによって、上記複数のレシピエントのうち少なくとも一部が上記メッセージキーをオンラインで受け取り、そして他のレシピエントが上記メッセージをオフラインで読み取る請求項１６記載の方法。
【請求項１８】
上記段階（ｂ）において、上記センダが上記ベラファイヤかまたは上記秘密のいずれかを上記キーサーバに与え、これによってこのキーサーバが上記ベラファイヤを生成する請求項１６記載の方法。
【請求項１９】
上記段階（ｂ）において、上記センダが上記ベラファイヤを生成し、これを上記キーサーバに与える請求項１８記載の方法。
【請求項２０】
上記段階（ｂ）において、上記キーサーバが、上記ベラファイヤまたは上記秘密のいずれかを介して認証サーバに問い合わせ、これによってこのキーサーバが上記ベラファイヤを生成する請求項１６記載の方法。
【請求項２１】
上記認証サーバが、既に上記ベラファイヤを生成したメンバー、既に秘密をもち上記ベラファイヤを生成するメンバー、上記秘密と等価なデータをもち上記ベラファイヤを生成するメンバー、および上記秘密のハッシュをもち上記ベラファイヤを生成するメンバーからなるセットのうちの一つのメンバーである請求項２０記載の方法。
【請求項２２】
上記秘密が、パスワードである請求項２記載の方法。
【請求項２３】
上記秘密が、パスワード以外の上記レシピエントの少なくとも一つのパブリックまたはプライベートな属性に基づく秘密である請求項２記載の方法。
【請求項２４】
上記ベラファイヤをレシピエントベラファイヤとし、そして上記センダを、上記メッセージをもつセンダベラファイヤとすることによって、上記レシピエントが上記メッセージに対して機密を保持した状態で簡単に返答できるようにした請求項２記載の方法。
【請求項２５】
上記センダベラファイヤを上記エンベロープに取り入れた請求項２４記載の方法。
【請求項２６】
メッセージキーで機密を保護されたメッセージをレシピエントが復号する方法において、
（ａ）エンベロープを生成するために使用するベラファイヤに対応するこのレシピエントの秘密に基づくエンベロープを受け取る段階、
（ｂ）このエンベロープを開いて上記メッセージキーを検索する段階、および
（ｃ）上記メッセージキーに基づいて上記メッセージを復号する段階からなることを特徴とする方法。
【請求項２７】
上記レシピエントが上記メッセージを受け取った後に、上記エンベロープを生成する請求項２６記載の方法。
【請求項２８】
上記秘密が、上記レシピエントが上記メッセージを受け取った後に、新しい秘密になる請求項２７記載の方法。
【請求項２９】
上記段階（ａ）において、上記エンベロープを、上記メッセージとともに上記レシピエントに与える請求項２６記載の方法。
【請求項３０】
上記段階（ａ）において、上記エンベロープをキーサーバから上記レシピエントに送る請求項２６記載の方法。
【請求項３１】
上記段階（ａ）において、上記エンベロープを与える上記キーサーバの条件として上記レシピエントを認証する請求項３０記載の方法。
【請求項３２】
上記キーサーバがレシピエントリストをもち、そして
上記段階（ａ）において、上記レシピエントが、上記エンベロープを与える上記キーサーバの条件としてこのレシピエントリストに載っていることを確認する請求項３１記載の方法。
【請求項３３】
上記認証が、上記認証サーバによって発行されるレシピエントの信用証明を上記キーサーバに与えることを有する請求項３１記載の方法。
【請求項３４】
上記認証サーバが上記ベラファイヤを保存することによって、このベラファイヤのリポジトリを与え、そして
上記キーサーバが上記認証サーバからこのベラファイヤを得る請求項３３記載の方法。
【請求項３５】
上記認証サーバが上記ベラファイヤを生成し、そして
上記キーサーバが上記認証サーバから上記ベラファイヤを得る請求項３３記載の方法。
【請求項３６】
アサーションを生成する上記要求以外のレシピエントとのトランザクションに基づいて上記認証サーバが上記ベラファイヤを生成する請求項３５記載の方法。
【請求項３７】
上記秘密がパスワードである請求項２６記載の方法。
【請求項３８】
上記秘密が、パスワード以外のレシピエントの少なくとも一つのパブリックまたはプライベートな属性に基づく請求項２６記載の方法。
【請求項３９】
上記エンベロープキーがキーアグリーメントプロトコルに基づいて誘導され、そして  
上記復号が対称復号アルゴリズムを使用する請求項２６記載の方法。
【請求項４０】
上記キーアグリーメントプロトコルがＤｉｆｆｉｅ−Ｈｅｌｌｍａｎキーアグリーメントであり、そして
上記復号アルゴリズムがＡＥＳ復号アルゴリズムである請求項３９記載の方法。
【請求項４１】
上記ベラファイヤで直接上記エンベロープキーを暗号化し、そして上記段階（ｂ）において、上記秘密で直接上記エンベロープを復号する請求項２６記載の方法。
【請求項４２】
上記段階（ｂ）において、パブリックキー復号アルゴリズムに基づいて上記エンベロープを復号することによって、上記メッセージキーを検索する請求項４１記載の方法。
【請求項４３】
上記パブリックキー復号アルゴリズムがＥｌ−Ｇａｍａｌ復号アルゴリズムである請求項４２記載の方法。
【請求項４４】
センダがレシピエントと対象とするメッセージを暗号化するシステムにおいて、
このレシピエントの秘密に基づくベラファイヤに基づいてメッセージキーを暗号化することによってこのメッセージキーを有するエンベロープを生成できる第１コンピュータ化システムであって、少なくとも上記エンベロープを第２コンピュータ化システムに送ることができる第１コンピュータ化システムを有し、
この第２コンピュータ化システムが上記センダによって使用され、そして
上記第２コンピュータ化システムが上記メッセージキーに基づいて上記メッセージを暗号化し、これによって上記センダから上記レシピエントへ機密を保持した状態で上記メッセージを送り、かつ上記レシピエントに上記エンベロープを与え、上記秘密を使用して上記エンベロープを開き、上記メッセージキーを検索するとともに上記メッセージを復号することを特徴とするシステム。
【請求項４５】
上記第１コンピュータ化システムおよび上記第２コンピュータ化システムが同一である請求項４４記載のシステム。
【請求項４６】
上記第１コンピュータ化システムがキーサーバで、そして
上記第２コンピュータ化システムがこのキーサーバから上記メッセージキーを受け取る請求項４４記載のシステム。
【請求項４７】
上記キーサーバが、上記メッセージキーのコピーを保存するデータベースを有する請求項４６記載のシステム。
【請求項４８】
上記第２コンピュータ化システムが上記キーサーバにレシピエントリストを与え、そして上記キーサーバが上記データベース内にこのレシピエントリストのコピーを保存する請求項４７記載のシステム。
【請求項４９】
さらに認証サーバを有し、そして上記第２コンピュータ化システムが、この認証サーバによって発行されたアサーションに基づく上記キーサーバに対する上記センダを、上記第２コンピュータ化システムに上記メッセージを送る上記キーサーバの条件として認証する請求項４６記載のシステム。
【請求項５０】
さらに認証サーバを有し、上記ベラファイヤまたは上記秘密のいずれかに関して上記キーサーバがこの認証サーバに問い合わせ、これによって上記キーサーバが上記ベラファイヤを生成する請求項４６記載のシステム。
【請求項５１】
レシピエントが、メッセージキーで機密保護されたメッセージを復号するシステムにおいて、
エンベロープを受け取ることができるコンピュータ化システムを有し、このエンベロープが上記レシピエントの秘密をベースとし、上記秘密が、上記エンベロープを生成するために使用したベラファイヤに対応し、
上記コンピュータ化システムがさらに上記エンベロープを開き、上記メッセージキーを検索でき、かつ
上記コンピュータ化システムがさらに上記メッセージキーに基づいて上記メッセージを復号できることを特徴とするシステム。
【請求項５２】
上記コンピュータ化システムが、上記メッセージの上記センダから上記エンベロープを受け取る請求項５１記載のシステム。
【請求項５３】
上記コンピュータ化システムが、キーサーバから上記エンベロープを受け取る請求項５１記載のシステム。
【請求項５４】
上記コンピュータ化システムが上記レシピエントを、上記エンベロープを与える上記キーサーバの条件として認証する請求項５３記載のシステム。
【請求項５５】
上記コンピュータ化システムが上記キーサーバに、認証サーバによって発行される上記レシピエントのアサーションを与える請求項５４記載のシステム。
【請求項５６】
上記認証システムが上記ベラファイヤを生成し、そして
上記キーサーバが、上記認証サーバから上記ベラファイヤを取得する請求項５５記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
[関連出願相互参照]
本出願は、２００３年２月２０日に出願された米国仮特許出願第６０／４４９，０６８号の優先権を主張する出願である。
本発明は、全体としては、電子通信のセキュリテイを確保することに、具体的には電子メールやその他のメッセージ、ファイルまたは他の情報の暗号化／復号化に関する。
【背景技術】
【０００２】
キーサーバの場合、対称暗号化キー、即ち、特定メッセージの暗号化キーおよび復号化キーが同じである暗号化システムのキーを管理分散するために使用することができる。例えば、機密保持電子メールシステムの場合、電子メールのセンダ（送信者）が、キーサーバがメッセージキー、即ち、上記の特定メッセージに対して特異的な、あるいは一連の特定メッセージに対して特異的なメッセージの暗号化／復号化キーを用意し、保存することを要求することができる。この場合、センダがこのメッセージキーを使用して電子メールを暗号化し、これをレシピエント（受信者）に送る。次に、所定のレシピエントがキーサーバからのメッセージキーを要求し、レシピエントが真正のレシピエントであることを決定する。レシピエントが真正のレシピエントであり、（元のセンダによって特定された）メッセージキーを受信できる資格がある場合には、キーサーバが、このメッセージキーを使用して電子メールを復号するレシピエントに、メッセージキーを送る。
【０００３】
キーサーバを介して対称キーを配信することには、多くの積極的な特質がある。例えば、センダ（あるいは任意の資格の当事者）が、レシピエントのメッセージキーの要求、受信時点を決定できる。この“キーアドバイズマント（ｋｅｙ  ａｄｖｉｓｅｍｅｎｔ）”が、オーディットシステムのベースを形成できる。また、センダ（あるいは任意の資格のある当事者）が、あるキーに関して非配信前時間および非配信後時間（ｎｏｔ−ｂｅｆｏｒｅ  ａｎｄ  ｎｏｔ−ａｆｔｅｒ  ｄｅｌｉｖｅｒｙ  ｔｉｍｅｓ）を含む、メッセージキーへのアクセスを制御できる。このように、メッセージキーは、所定の時間ウインドウの間だけ利用できるようにするか、あるいは条件がメッセージへのこれ以上のアクセス拒否することを警告した場合には、アクセスをやめることができる。
【０００４】
今までのキーサーバスキームの場合多くが、レシピエントがオンラインでキーサーバと通信できることが必要なため、オフライン復号が不可能であるが、例外もあり、これらオフライン復号システムの場合、一般に、以下のスキームの一つを介してキーエンベロープ化（ｋｅｙ  ｅｎｖｅｌｏｐｉｎｇ）を利用している。第１のスキームの場合、センダが、ランダムに選択するメッセージキーでメッセージを暗号化できる。次に、このセンダおよびレシピエントすべてに知られているパスワードから誘導される別なキーで、メッセージキーを暗号化（即ち、エンベロープ化）できる。第２のスキームは、メッセージキーをレシピエントのパブリックキーで暗号化することを除けば、上記と同じである。いずれのスキームでも、例えば、レシピエントそれぞれに一つのエンベロープがあり、特に第２のスキームの場合には、レシピエントそれぞれのパブリックキーが異なっている。
【０００５】
上記第１スキームには弱点がある。パスワードから誘導される別なキーでメッセージキーをエンベロープ化する場合、パスワードに対するオフライン辞書攻撃に弱い。パスワードの多くは使用者が記憶しておく必要があり、またパスワードは印刷可能な文字で構成する必要があることを考えれば、あるパスワードから誘導されるキーの有効長さは、文字あたり１．５〜５ビットの間のいずれかにある。このように、１２文字からなるパスワード（文字数が代表的な８文字からなるパスワードよりも文字が５０％以上多い）から誘導されるキーの有効長さは、１８〜６０ビットの間のいずれかにある。現在の基準に照らせば、このようなキーは非常に脆弱であり、強烈な力による攻撃には弱い。つまり、パスワードから誘導されるキーは、オフライン辞書攻撃および強烈な力による攻撃の両者に弱い。
【０００６】
上記の第２スキームはきわめて強靭であるが、レシピエントのパブリックキーでメッセージキーをエンベロープ化する場合には、面倒な条件がある。例えば、意図するレシピエントすべてが予めパブリックキーを用意する必要があり、またエンベロープ化時にセンダが利用できなければならない。センダおよびレシピエントが相互に新規な場合、パブリックキーを単に確認するだけでも、問題になり得る。パブリックキー、プライベートキーなどを得ることによって、立ち上げる場合でも、レシピエントがスキームに初めての場合には、敬遠することがある。多くの潜在的なレシピエントが、他の選択肢がない場合、セキュリテイのより低い選択肢を選ぶことがあり、またこの方法でセキュリテイの確保された実質的な数のメッセージを受け取ることが期待されるまで、多くのものが採用を控えることは驚くべきことではない。さらに、各レシピエントのプライベートキーの場合、そのレシピエントがメッセージを読むことを望む場所で利用できなければならない。例えば、レシピエントがそのプライベートキーを操作中のコンピュータに保存する場合、レシピエントは、レシピエントのプライベートキーのコピーをもたない家のコンピュータではメッセージを復号できない。
【０００７】
つまり、パスワードに依拠するスキームは使用が簡単ではあるが、セキュリテイに弱点がある。また、パブリックキースキームにセキュリテイには強いが、展開、使用に問題がある。以上の理由から、現状のオフライン復号システムは、セキュリテイと利便性を同時に満足するものではない。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
すなわち、本発明の目的は、高いセキュリテイおよび高い利便性に関する条件を同時に満足できる、セキュリテイを確保した（機密保持）通信システムを提供することである。
【課題を解決するための手段】
【０００９】
本発明の一つの好適な実施態様は、セキュリテイを確保した状態でメッセージをセンダからレシピエントに通信するシステムに関する。レシピエントの秘密に依拠するベラファイヤ（ｖｅｒｉｆｉｅｒ）に基づいてメッセージキーを復号することによって、このメッセージキーをもつエンベロープをつくる。メッセージキーをセンダに送り、このメッセージキーに基づいてメッセージを復号する。センダからメッセージをレシピエントに送る。必ずしも必要ないが、このメッセージとともにエンベロープもレシピエントに送る。この場合、レシピエントがエンベロープを開く。これは、レシピエントの秘密に基づいて行い、そしてレシピエントが、メッセージキーをエンベロープから検索し、メッセージをメッセージキーに基づいて復号できる。
【００１０】
本発明の第２の好適な実施態様は、レシピエントを対象としたメッセージを復号するセンサ用システムに関する。メッセージキーを用意する。次に、レシピエントの秘密に依拠するベラファイヤに基づいてメッセージキーを復号することによって、このメッセージキーをもつエンベロープをつくる。メッセージキーに基づいて、メッセージを復号する。これによって、メッセージをセンダから安全を確保した状態でレシピエントに送ることができ、必ずしも必要ないがメッセージとともに、レシピエントがエンベロープを用意している場合には、秘密を利用して、エンベロープを開き、メッセージキーを検索し、メッセージを復号する。
【００１１】
本発明の第３の好適な実施態様は、メッセージキーでセキュリテイが確保されたメッセージを復号するレシピエント用システムに関する。レシピエントの秘密に基づくエンベロープを受信する。この場合、秘密は、エンベロープをつくるために使用したベラファイヤに対応する。次に、エンベロープを開き、メッセージキーを検索する。最後に、メッセージキーに基づいてメッセージを復号する。
【発明の効果】
【００１２】
本発明の作用効果によれば、高いセキュリテイおよび高い利便性を確保できる。高いセキュリテイに関しては、本発明は、パスワードから直接誘導され、従ってその弱点を引き継いでいるエンベロープキーではなく、ベラファイヤに基づくメッセージキー（エンベロープ）の暗号化を利用する。また、高い利便性については、本発明は、パブリックキーインフラストラクチュア（ＰＫＩ）などのより複雑なスキームではなく、このようなエンベロープ／復号（デエンベロープ、即ちエンベロープを開くこと）を利用して、対応する秘密に基づくメッセージキーにアクセスする。
【００１３】
また、本発明の実施態様によれば、場合に応じて、オンライン復号特性およびオフライン復号特性を混成した形で利用でき、高いセキュリテイと高い利便性を実現できる。
【００１４】
以上目的およびその他の目的については、当業者ならば、本発明を実施するために知られている最良の態様および本明細書で説明しかつ一部の図面に図示した好適な実施態様の産業上の利用可能性から理解できるはずである。
【発明を実施するための最良の形態】
【００１５】
本発明の一つの好適な実施態様は、広い文脈では、セキュリテイを確保した通信システムのオンライン／オフライン復号システムに関する。添付図面、特に図３に示すように、本発明の好適な実施態様を参照数字１３０で示す。
【００１６】
［術語］
本明細書では、特に断らない限り、以下の術語を使用する。
メッセージキー、暗号化キー、復号キー、あるいは単にキーという場合には、メッセージを暗号化または復号するために使用する対称キーを意味する。
メッセージは、暗号化されかつ復号されるデータのユニットを意味する。本明細書全体を通して、メッセージの具体例として電子メールを使用する。なお、他の種類のメッセージも本発明の対象である。具体的には、瞬時メッセージ、チャットメッセージ、電子メール以外のプロトコル（ＳＭＴＰ）を使用し、かつ電子メール添付書類以外のファイル（ＦＴＰなど）を転送する方法を使用して２つのアプリケーション間で通信されるメッセージなどである。
センダは、メッセージのエンクリプタを意味する。
時にはレシーバと呼ばれるレシピエントは、メッセージのデクリプタを意味する。レシピエントのリストにはセンダを載せることができ、場合によってはセンダのみを載せてもよい。これは、セキュリテイのある通信メッセージを暗号化し、暗号化したもののみがこれを後で復号できるように構成した場合に相当する。
エンベロープキーは、メッセージキーを暗号化／復号する対称キーを意味する。この場合、エンベロープ暗号化キーがメッセージキーを暗号化するパブリックキーであり、またエンベロープ復号キーがメッセージキーを復号するプライベートまたは秘密キーである。
キー交換アルゴリズムは、センダおよびレシピエントがエンベロープキーを誘導するために使用するアルゴリズムである。
キー暗号化アルゴリズムは、センダ及びレシピエントがエンベロープキーを暗号化又は復号化するために使用するアルゴリズムである。
セッションキーは、本システムの構成成分間のオンライン通信のセキュリテイを確保するために使用する暗号化／復号キーである。セッションキーは一時的なキーで、サーバでは記憶しない。
【００１７】
［従来のオンライン暗号化／復号システム］
図１（従来技術）は、本発明の改良対象である機密保持通信システム１００を示す機能ブロック図である。この機密保持通信システム１００は３つの主要構成成分で構成する。即ち、クライアント１０２、認証サーバ１０４、およびキーサーバ１０６である。概念的には、クライアント１０２については、センダ１０８およびレシピエント１１０の両者は認証サーバ１０４およびキーサーバ１０６の“クライアント”と考えることができるため、一つの構成成分と考えることができる。クライアント１０２（即ち、センダ１０８またはレシピエント１１０のいずれか）と認証サーバ１０４またはキーサーバ１０６との間の双方向通信はすべて、一時セッションキーを使用して暗号化することができる。
【００１８】
図２Ａ〜Ｃ（従来技術）（図Ａ、ＢおよびＣはそれぞれ一枚図面である）は、具体的なメッセージ暗号化、送信、および本発明のセキュリテイを確保した通信システム１００内で行う復号を示すネットワークデータのフローチャートである。図１および図２Ａ〜Ｃそれぞれには、具体的なメッセージ１１２を暗号化しかつ復号する機密保護通信システム１００の主要構成成分のプロセス機能を示す。これらプロセス機能を以下に示す。
【００１９】
Ａ１：認証要求１１４を認証サーバ１０４に送り、センダ１０８が認証を行う。
Ａ２：適正な方法によって認証サーバ１０４がセンダ１０８を認証する。この適正な方法としては、各種の方法が利用でき、また複数の方法を同時に利用してもよい。ここで具体的に使用する方法は、特に重要ではない。認証をクリアしたなら、認証サーバ１０４がデジタルサインしたセンダアサーション１１６をつくり、センダ１０８の身元を保証する。
Ａ３：認証をクリアした認証サーバ１０４が、センダアサーション１１６をセンダ１０８に送る。
Ａ４：センダ１０３が、センダキー要求１１８をキーサーバ１０６に送る。センダアサーション１１６およびメッセージ１１２の承認を受けているレシピエント１１０に関するレシピエントリスト１２０を含むセンダキー要求１１８が正式にメッセージキー１２２を要求する。
Ａ５：キーサーバ１０６がセンダアサーション１１６を確認し、メッセージキー１２２をつくり、レシピエントリスト１２０とともにこのメッセージキー１２２を内部データベースに記憶する。
Ａ６：キーサーバ１０６が、メッセージキー１２２をセンダ１０８に送る。
Ａ７：メッセージキー１２２を使用して、センダ１０８がメッセージ１１２を暗号化する。
Ａ８：センダ１０８が、レシピエント１１０に暗号化処理メッセージ１１２を送る。（図示しないが）、センダ１０８と各レシピエント１１０との間に多数の中間リレーを介在させることができる。これら中間リレーはメッセージ１１２を単に仲介するだけで、ある特定の中間リレーがメッセージ１１２のレシピエント１１０に必要にならない限り、メッセージキー１２２にとって秘密ではない。
Ａ９：レシピエント１１０が、認証サーバ１０４に認証要求１２４を送る。レシピエント１１０が認証する認証サーバ１０４は、必ずしも必要ないが、センダ１０８が認証する認証サーバ１０４と同じであればよい。なお、認証要求１２４は、センダ１０８が認証する認証要求１１４と実質的に同一であるが、これは必要条件ではなく、異なる基準を適用してもよい。
Ａ１０：適正な方法によって、認証サーバ１０４がレシピエント１１０を認証する。上記と同様に、各種の方法を使用することができる。認証をクリアしたなら、認証サーバ１０４がデジタルサインしたレシピエントアサーション１２６をつくり、レシピエント１１０の身元を保証する。なお、レシピエントアサーション１２６は、センダ１０８の身元を保証するセンダアサーション１１６と実質的に同一であるが、これは必要条件ではない。
Ａ１１：認証をクリアした認証サーバ１０４が、レシピエント１１０にレシピエントアサーション１２６を送る。
Ａ１２：レシピエント１１０が、キーサーバ１０６にレシピエントキー要求１２８を送る。（独特な方法で復号キーを確認する）リソースＩＤおよびレシピエントアサーション１２６を含むレシピエントキー要求１２８が正式にメッセージキー１２２を要求する。
Ａ１３：キーサーバ１０６がレシピエントアサーション１２６を確認し、その内部データベースをチェックしてレシピエント１１０がレシピエントリスト１２０の載っているかを確認し、メッセージキー１２２を検索する。
Ａ１４：キーサーバ１０６が、レシピエント１１０にメッセージキー１２２を送る。
Ａ１５：レシピエント１１０がメッセージキー１２２を使用してメッセージ１１２を復号する。
【００２０】
ここで、認証サーバ１０４（複数の場合もある）とキーサーバ１０６との間には、先験的な信頼関係が存在しなければならない。即ち、あるセットのクライアント１０２の身元を保証するために、キーサーバ１０６は認証サーバ１０４を信頼する必要がある。換言すれば、キーサーバ１０６は、クライアント１０２がキーサーバ１０６に与えたアサーションが認証サーバ１０４によってつくられ、変更されていないことを検証しなければならない。キーサーバ１０６が、認証サーバ１０４（例えば、パブリックキーをもつ認証サーバ１０４のＸ．５０９認証）のパブリック検証キーを獲得することによってこの信頼関係を実行できる。この場合、認証サーバ１０４が対応するプライベートキーを使用してアサーション１１６、１２６にサインする。
【００２１】
図１に示した機密保持通信システム１００の場合、センダ１０８およびすべてのレシピエント１１０がメッセージキー１２２をオンラインで受け取る必要があるが、センダ１０８と任意のレシピエント１１０が同時にオンラインになっている必要はない。
【００２２】
［オフライン復号の適用］
本発明は、上述した機密保持通信システム１００をさらに展開して、オフライン復号機能を備えるようにすることによって、暗号化メッセージの受信後に、レシピエントが、メッセージを復号するために、他の構成成分と通信する必要がないように構成したものである。本発明の好適な実施態様は、また、オフライン復号が可能でない場合に（例えば、レシピエントがパスワードを忘れた場合に）、オンライン復号機能を与えるように構成したものである。そして、好適な実施態様によれば、レシピエント基準でオンラインおよびオフライン復号の必要条件を満足するポリシーをセンダ組織が実行できる。
【００２３】
オフライン復号の場合、各レシピエントのベラファイヤ（ｖｅｒｉｆｉｅｒ）にアクセスできるエンクリプタを利用する。このベラファイヤは、パブリックキーと類似したものであるが、ベラファイヤの場合は、ランダムなパブリック／プライベートキー対を使用する代わりに、既知の秘密（代表的な例はパスワードである）に基づいてつくる。これらベラファイヤは公知である。例えば、Ｔｈｅ  Ｓｅｃｕｒｅ  Ｒｅｍｏｔｅ  Ｐａｓｓｗｏｒｄ（ＳＲＰ）  ｐｒｏｐｏｓｅｄ  ｂｙ  ＴＨＯＭＡＳ  ＷＵ  ｉｎ  ＩＥＴＦ  ＲＦＣ２９４５“Ｔｈｅ  ＳＲＰ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ａｎｄ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ  Ｓｙｓｔｅｍ”を参照。ベラファイヤを知っている当事者が、対応する秘密を知っていることを主張する当事者に異議を申し立てることができるが、異議を申し立ている当事者に秘密を漏らす必要はない。ベラファイヤを知っている任意の当事者が対応する秘密を推測することも不可能である。
【００２４】
図３は、本発明の機密保持通信システム１３０の機能ブロック図である。この機密保持通信システム１３０は３つの主要構成成分で構成する。即ち、クライアント１０２、認証サーバ１０４、およびキーサーバ１０６である。上記と同様に、概念的には、クライアント１０２については、センダ１０８およびレシピエント１１０の両者は認証サーバ１０４およびキーサーバ１０６の“クライアント”と考えることができるため、一つの構成成分と考えることができる。認証サーバ１０４は、図１および図２Ａ〜Ｃ（従来技術）の機密保持通信システム１００と同じものを使用すればよい。なお、このキーサーバ１０６には、別な機能も与えてある。そして、本明細書で説明するように、キーサーバ１０６については、機密保持通信システム１００と同様に、また機密保持通信システム１３０と同様に機能する本発明の実施態様においても使用することができる。また、機密保持通信システム１００の場合と同様に、クライアント１０２（即ち、センダ１０８あるいはレシピエント１１０のいずれか）と認証サーバ１０４またはキーサーバ１０６との間の双方向通信は、一時セッションキーを使用して暗号化することができる。
【００２５】
図４Ａ〜Ｂ（従来技術）（図Ａ、Ｂはそれぞれ一枚図面である）は、本発明の機密保持通信システム１３０における具体的なメッセージ暗号化、送信、および復号を示すネットワークデータのフローチャートである。図３および図４Ａ〜Ｂそれぞれには、具体的なメッセージ１１２を暗号化しかつ復号する機密保護通信システム１３０の主要構成成分のプロセス機能を示す。これらプロセス機能を以下に示す。
【００２６】
Ｂ１：認証要求１１４を認証サーバ１０４に送り、センダ１０８が認証を行う。
Ｂ２：適正な方法によって認証サーバ１０４がセンダ１０８を認証する。この適正な方法としては、各種の方法が利用でき、また複数の方法を同時に利用してもよい。認証をクリアしたなら、認証サーバ１０４がデジタルサインしたセンダアサーション１１６をつくり、センダ１０８の身元を保証する。
Ｂ３：認証をクリアした認証サーバ１０４が、センダアサーション１１６をセンダ１０８に送る。
Ｂ４：センダ１０８が、センダキー要求１１８をキーサーバ１０６に送る。センダアサーション１１６およびメッセージ１１２の承認を受けているレシピエント１１０に関するレシピエントリスト１２０を含むセンダキー要求１１８が正式にメッセージキー１２２を要求する。
（機能Ｂ１〜Ｂ４は、図１および図２Ａ〜Ｃで説明した機能Ａ１〜Ａ４と本質的に同じであってよい）。
Ｂ５：キーサーバ１０６がセンダアサーション１１６を確認し、メッセージキー１２２をつくり、このメッセージキー１２２をエンベロープ１３２におく。各メッセージ１１２は、一つかそれ以上のメッセージキー１２２をもつことができる。例えば、メッセージ１１２が本文と一つかそれ以上の添付書類などのように複数の部分に分かれている場合には、複数のメッセージキー１２２を使用すればよい。また各メッセージキー１２２についても、複数のエンベロープ１３２に分けることができ、通常は一つのレシピエント１１０につき一つである。複数のレシピエント１１０に対して一つのエンベロープ１３２を使用することもできるが、これは一般的には望ましくない。というのは、この場合、各レシピエント１１０が、エンベロープ１３２を開き対応する秘密を知る必要があるからである。さらに、以下に詳しく説明するよく利用される選択肢では、キーサーバ１０６の場合、レシピエントリスト１２０ととともにメッセージキー１２２内部データベースに記憶できる。
Ｂ６：このキーサーバ１０６は、センダ１０８にメッセージキー１２２およびすべてのエンベロープ１３２（それぞれ暗号化されたメッセージキー１２２のコピーを含む）を送る。
Ｂ７：センダ１０８は、メッセージ１１２をメッセージキー１２２で暗号化する。
Ｂ８：センダ１０８は、レシピエント１１０に、エンベロープ１３２とともに暗号化メッセージ１１２を送る。レシピエント１１０すべてに、（一般的には小さい）エンベロープ１３２を送ることができる。あるいは、各レシピエント１１０に、これが必要とするエンベロープ１３２のみを与えることによってトラフィックを低減できる。（図示しないが）、センダ１０８と各レシピエント１１０との間に多数の中間リレーを介在させることができる。これら中間リレーはメッセージ１１２を単に仲介するだけで、ある特定の中間リレーがメッセージ１１２のレシピエント１１０に必要にならない限り、メッセージキー１２２あるいはエンベロープ１３２の内容にとって秘密ではない。
（機能Ｂ５〜Ｂ８は、図１および図２Ａ〜Ｃで説明した機能Ａ５〜Ａ８に変更を加えたものである）。
Ｂ９：ベラファイヤ１３４に対応して、レシピエント１１０が秘密１３６を利用して、適切なエンベロープ１３２を開い（復号し）てメッセージキー１２２を得る。
Ｂ１０：レシピエント１１０がメッセージキー１２２を利用して、メッセージ１１２を復号する。
（図１および図２Ａ〜Ｃで説明した機能Ａ９〜Ａ１４の代わりに機能Ｂ９を使用する。機能Ｂ１０は、機能Ａ１５と本質的に同じであればよい）。
【００２７】
[ベラファイヤの生成]
以上説明した機密保持通信システム１３０の場合、ベラファイヤ１３４を使用して、メッセージキー１２２を含む暗号化エンベロープ１３２をつくる（生成する）。キーサーバ１０６が各レシピエント１１０に関するベラファイヤ１３４を知ることができる方法は複数あるが、そのうちの５つの方法について以下に説明する。また、各エンベロープ１３２に異なる方法を使用することができる。即ち、すべてのレシピエント１１０に同じ方法を使用して、エンベロープを開く必要はない。
【００２８】
第１の方法では、キーサーバ１０６が、各レシピエント１１０を対象とするベラファイヤ１３４について認証サーバ１０４に問い合わせることができる。この場合、以下の一つ以上を対象とすることができる。認証サーバ１０４が既にベラファイヤ１３４をもっている場合；認証サーバ１０４がレシピエント１１０の秘密１３６をもち、従って実行中にベラファイヤ１３４をつくることができる場合；あるいは認証サーバ１０４が秘密１３６（例えば、秘密１３６のハッシュなど）と等価なデータをもち、実行中にこれからベラファイヤ１３４をつくることができる場合である。
【００２９】
第２の方法では、キーサーバ１０６が、レシピエント１１０の秘密１３６に関して、あるいはこれ（例えばそのハッシュ）と等価な情報に関して、認証サーバ１０４に問い合わせることによって、ベラファイヤ１３４を生成できる。第３の方法では、ベラファイヤ１３４の先験的な知識に基づいて、センダ１０８がレシピエント１１０のベラファイヤ１３４をキーサーバ１０６に送ることができる。第４の方法では、センダ１０８が実行中にレシピエント１１０のベラファイヤ１３４を生成し、これをキーサーバ１０６に送ることができる。第５の方法では、キーサーバ１０６はセンダ１０８が送る秘密１３６に基づいて、実行中にベラファイヤ１３４を生成できる。
【００３０】
以上説明した機密保持通信システム１３０の高度な実施態様ではキーサーバ１０６を使用するが、これですら必要条件ではない。センダ１０８の場合、ベラファイヤ１３４をもつか生成でき、次にこれ自体を使用してエンベロープ１３２を生成できる。また、センダ１０８はキーサーバ１０６から得たメッセージキー１２２を使用してこれを行うことができ、この場合認証サーバ１０４は関与することもあり、関与しないこともある。あるいは、センダ１０８がこのメッセージキー１２２をもち、あるいは生成できる。
【００３１】
[エンベロープ化アルゴリズム]
メッセージキー１２２を含むエンベロープ１３２を生成するために考えられる方法には各種のものがあるが、そのうちの２つについて以下説明する。第１の方法では、ベラファイヤ１３４を使用して、エンベロープキーを生成できる。このために好適な一つの技術では、公知のＤｉｆｆｉｅ−Ｈｅｌｌｍａｎキーアグリーメントによってエンベロープキーを誘導する。例えば、エンベロープキーをつくるものがベラファイヤ１３４を使用して、２，０００ビット程度のデータを利用できるようになり、同様に、レシピエント１１０も、秘密１３６を使用することによって同じ２，０００ビット程度のデータを利用できるようになる。次に、従来の暗号化アルゴリズム（例えばＡＥＳ）を使用して、エンベロープキーでメッセージキー１２２を暗号化し、これによってエンベロープ１３２を生成する。この場合、エンベロープ１３２を生成するものが、エンベロープキーをどのように誘導したかを、そしてどんなアルゴリズムを使用してメッセージキー１２２を暗号化したかを考える必要がある。本実施例の場合、暗号化アルゴリズムには１２８ビットのみが必要であるため、何らかの同意や相談が必要になり、これによってレシピエント１１０が、利用できる２，０００ビットからどの部分の１２８ビットを使用してエンベロープキーを生成したかを、そしてさらに、どの暗号化アルゴリズムを使用したかを知ることができるようになる。
【００３２】
第２の方法では、ベラファイヤ１３４をより直接的に使用して、エンベロープ１３２それ自体を生成できる。即ち、エンベロープ１３２の暗号化キーをベラファイヤ１３４に対応させ、かつエンベロープ１３４の対応する復号キーをベラファイヤ１３４に対応する秘密１３６に対応させることができる。この方法は、エンベロープ１３２を生成するものが、エンベロープ１３２の暗号化キーをどのように誘導したかを指定する必要がない利点がある。このために適当な具体的な技術は、公知のＥｌ−Ｇａｍａｌ暗号化アルゴリズムによってメッセージキー１２２を暗号化することである。
【００３３】
［別な実施態様］
次に、本発明の別な実施態様を説明するが、このうちのいくつかの例では、以上説明した機密保持通信システム１００、１３０を組み合わせて使用し、また他の例では、機密保持通信システム１００、１３０をそれぞれ単独で使用する。
【００３４】
例えば機密保持通信システム１００の方法で行うオンラインキー検索、および例えば機密保持通信システム１３０の方法で行うオフライン復号は相互に排他的ではない。オンラインキー検索は、伝送速度を落とすための機構として使用できる。上記の機能５のところで説明したように、キーサーバ１０６は、そのデータベースにメッセージキー１２２を記憶できる。エンベロープ１３２を生成するために使用したベラファイヤ１３４に対応する秘密１３６をレシピエント１１０が忘れた場合などで、レシピエント１１０がエンベロープ１３２を開けない場合には、レシピエント１１０に、キーサーバ１０６と通信し、メッセージキー１２２を要請する選択肢を付与できる。
【００３５】
センダ１０８は、キーサーバ１０６にキー検索ポリシーを通信し、各レシピエント１１０がどのようにメッセージキー１２２を検索するかを正確に指示できる。例えば、センダ１０８が、キーサーバ１０６から検索することによってメッセージキー１２２を取得する必要がある（即ち、オンラインにし、キーサーバ１０６からメッセージキー１２２を要求する必要がある）レシピエント１１０のセットを指示でき、またセンダ１０８が、オフラインにできるレシピエント１１０のセットを指示できる。キーサーバ１０６がメッセージキー１２２を生成し、保存する。さらに、キーサーバ１０６がメッセージ１１２をオフラインで復号するように認証されたレシピエント１１０のセットのみに関してエンベロープ１３２を生成できる。同様に、認証された当時者（例えば、キーサーバ１０６それ自体、キーサーバ１０６の管理クライアントなど）がキー検索ポリシーを設定できる。
【００３６】
キーサーバ１０６がレシピエント１１０のベラファイヤ１３４にアクセスできない場合には、センダ１０８がエンベロープ１３２を生成でき、またこれらをメッセージ１１２に取り入れることができる。なお、このような場合、キーサーバ１０６は機密保持通信システム１００の動作モード、即ちオンラインモードで動作する。この場合、メッセージキー１２２の受け取り後、エンベロープ１３２を生成し、メッセージ１１２の送信のさいにこれらエンベロープを取り入れるのはセンダ１０８である。
【００３７】
また、キーサーバ１０６を同時に消去、あるいは単に使用しないことが望ましい場合もある。これは、小さなセットのセンダ１０８／レシピエント１１０からなるピアツーピア通信の場合に特に有利である。本発明のこのような実施態様では、センダ１０８がメッセージキー１２２およびエンベロープ１３２を生成する。キーサーバ１０６が存在しない場合、あるいはキーサーバ１０６は存在するが、これが利用されず、またメッセージキー１２２をもたない場合、オンラインキー検索機能はない。
【００３８】
本発明の代表的な実施態様では、ベラファイヤ１３４の管理主体として認証サーバ１０４を利用する。というのは、その既存のユーザー（即ち潜在的なレシピエント１１０）に関するベラファイヤ１３４を簡単に生成保存できるからである。これの迅速化および透明化については、キーサーバ１０６にアクセスするためのアサーション１１６、１２６とは関係をもたない信用証明を始めとする、何らかの理由によりユーザーのプライベートな信用証明を認証サーバ１０４が求める場合にはいつでも実行できる。典型的には、信用証明、即ち“秘密”としてパスワードを使用できる。さらに、認証サーバ１０４がいったんベラファイヤ１３４を生成保存したなら、ユーザーがそのプライベートな信用証明を変更するたびに更新できる。これには、２つの利点がある。第１は、ベラファイヤ１３４の生成を透明化できる（なお、同意が必要な場合には、このような更新をとったことをユーザーに通知できる）。第２は、ユーザーが秘密１３６を変更した場合には、透明な状態でベラファイヤ１３４を更新できる。
【００３９】
ベラファイヤ１３４については、パスワードである秘密１３６から構成する。なお、これは必ずしも必要ない。また、ベラファイヤ１３４については、パブリックまたはプライベートな、レシピエント１１０の任意の数の属性から構成してもよい。例えば、ベラファイヤ１３４についは、社会保障番号、母親の結婚前の姓、居住地の州などに基づいて構成すればよい。ベラファイヤ１３４の強度は、構成するさいに取り入れた属性の数および秘密性の強度に比例する。
【００４０】
既に説明したように、本発明のいくつかの実施態様では、認証サーバ１０４をベラファイヤ１３４の管理主体とすることができるが、ベラファイヤ１３４は一般的な性質としてパブリックなデータであるため、信用のあるリポジトリに保存する必要はない。このように、本発明のさらに別な実施態様では、認証サーバ１０４とは別なベラファイヤリポジトリを使用できる。
【００４１】
オフライン復号システムでは、レシピエント１１０が秘密１３６を忘れた場合、オフライン復号を不可能にすることが重要な条件である。さらに、レシピエント１１０が秘密１３６を変更する場合、古い秘密１３６を使用してエンベロープ化したメッセージはすべて新しい秘密１３６を利用して開くことはできない。この結果、レシピエント１１０は、複数の秘密１３６（即ち複数のパスワード）を記憶する必要がある。
【００４２】
本発明のいくつかの実施態様によれば、これらの制限に関する問題は以下の方法によって解決できる。レシピエント１１０が秘密１３６をオンラインにしてメッセージキー１２２を検索する必要がある。いったんオンラインにすると、キーサーバ１０６が（レシピエント１１０の現時点での秘密１３６に関する現時点でのベラファイヤ１３４に基づいて）新しいエンベロープ１３２を生成でき、このエンベロープ１３２をレシピエント１１０に送ることができる。これによって、レシピエント１１０の秘密１３６を無理なく切れ目のない状態でロールオーバーできる。なお、現時点での秘密１３６に既に整合しないベラファイヤ１３４をもつメッセージ１１２についてはすべてレシピエント１１０をいったんオンラインにする必要がある。キーサーバ１０６は、この新しいベラファイヤ１３４を利用して、複数のエンベロープを送ることができる。例えば、古いベラファイヤ１３４を使用してメッセージキー１２２をいったんオンラインで既にエンベロープ化している場合、ユーザーが１００のメッセージ１１２をもっている場合には、レシピエント１１０が前のメッセージキー１２２の１００すべてについてキーサーバ１０６から新しいエンベロープ１３２を得ることができる。（あるいは、１００のメッセージキー１２２を含む一つのエンベロープ１３２を得ることができる。）
【００４３】
以上本発明を実施態様について説明してきたが、これらは例示のみを目的とするもので、発明を制限するものではない。従って、本発明の範囲は、上記実施態様によっては制限されず、特許請求の範囲およびこれと等価な範囲によってのみ制限を受けるものである。
【産業上の利用可能性】
【００４４】
本発明の機密保持通信システム１３０は、電子メール、その他のメッセージ、ファイルおよび他の情報を電子通信するさいに好適に利用でき、オンライン復号およびオフライン復号の両者において高度の機密保持および高度の利便性を与えるものである。
【００４５】
多くの従来スキームとは異なり、本発明では、メッセージのレシピエントによるオフライン復号が可能である。あるいは、オンライン復号も可能であり、これを複数のレシピエントの一部に対する必要条件として設定することもでき、あるいは例えば、レシピエントがパスワードを忘れた場合におけるフォールバックとして設定することも可能である。
【００４６】
さらに、直接パスワードから誘導されるエンベロープキーに基づいてメッセージキーを暗号化する場合のエンベロープ化を利用し、かつパスワードに対する各種攻撃に対して弱点のある、従来のオフライン復号スキームとは異なり、本発明では、メッセージのレシピエントの秘密に対応するベラファイヤに基づく復号を利用する。このようなベラファイヤはパスワードよりもかなり重要であるが、にもかかわらず対応する秘密としてパスワードを使用でき、従ってレシピエントが覚えやすくかつ利用しやすい。
【００４７】
さらに、機密保持メッセージを送るかあるいは読み取る場合に必ず大きなパブリックキーが確認、取得、保存かつ利用できなければならない、パブリックキーインフラストラクチュア（ＰＫＩ）などの複雑な構成を使用する他の従来オフラインスキームとは異なり、本発明では、ベラファイヤおよび秘密の両者が各当事者とって利用しやすいベラファイヤ／秘密をベースとする方法を利用する。ベラファイヤはパブリックキーと類似したものではあるが、はるかに使用しやすい。同様に、秘密もプライベートキーに（よく）類似したものであるが、はるかに使用しやすい。秘密としてパスワードを使用するか、あるいはレシピエントのその他のパブリックまたはプライベートな属性の一部に基づくものを利用できるため、レシピエントは秘密を覚えやすく、また扱いやすい。
【００４８】
にもかかわらず、上記作用効果およびこれら以外の作用効果をもつだけでなく、本発明は、常識的な技術のある当業者によって実施でき、所望に応じて既存の技術を利用して実施態様を実現でき、また普通の技術および適性をもつ個人や組織団体によって利用できるものである。
【００４９】
以上説明した理由および他の理由により、本発明の機密保持通信システム１３０は、大きな産業上の利用可能性をもつものであり、従って本発明の産業上の利用可能性は広範囲にわたりかつ射程も長いことが期待される。
【図面の簡単な説明】
【００５０】
【図１】オンライン機密保持通信システムの機能ブロック図である（従来技術）。
【図２Ａ】図１の機密保持通信システムにおける具体的なメッセージ暗号化、送信および復号を示すネットワークデータフローチャートである（従来技術）。
【図２Ｂ】図１の機密保持通信システムにおける具体的なメッセージ暗号化、送信および復号を示すネットワークデータフローチャートである（従来技術）。
【図２Ｃ】図１の機密保持通信システムにおける具体的なメッセージ暗号化、送信および復号を示すネットワークデータフローチャートである（従来技術）。
【図３】本発明のオンライン／オフライン機密保持通信システムを示す機能ブロック図である。
【図４Ａ】図３のシステムを改良した機密保持通信システムにおける具体的なメッセージ暗号化、送信および復号プロセスを示すネットワークデータフローチャートである。  なお、全図面中、同一符号は同一か同様な要素または段階を示す。
【図４Ｂ】図３のシステムを改良した機密保持通信システムにおける具体的なメッセージ暗号化、送信および復号プロセスを示すネットワークデータフローチャートである。  なお、全図面中、同一符号は同一か同様な要素または段階を示す。
【符号の説明】
【００５１】
１００、１３０：機密保持通信システム、
１０２：クライアント、
１０４：認証サーバ、
１０６：キーサーバ、
１０８：センダ、
１１０：レシピエント、
１１２：メッセージ、
１２０：レシピエントリスト、
１２２：キー、
１２４：認証要求、
１２６：レシピエントアサーション、
１２８：キー要求、
１３２：エンベロープ、
１３４：ベラファイヤ、および
１３６：秘密。
【図１】
2006514478.tif 000002
【図２Ａ】
2006514478.tif 000003
【図２Ｂ】
2006514478.tif 000004
【図２Ｃ】
2006514478.tif 000005
【図３】
2006514478.tif 000006
【図４Ａ】
2006514478.tif 000007
【図４Ｂ】
2006514478.tif 000008
【国際調査報告】
2006514478.tif 000009