[go: up one dir, main page]

JP2005295570A - プライベートデータを露出せずに通信ネットワークを介してパスワードで保護されたプライベートデータを回復する方法およびシステム - Google Patents

プライベートデータを露出せずに通信ネットワークを介してパスワードで保護されたプライベートデータを回復する方法およびシステム Download PDF

Info

Publication number
JP2005295570A
JP2005295570A JP2005108017A JP2005108017A JP2005295570A JP 2005295570 A JP2005295570 A JP 2005295570A JP 2005108017 A JP2005108017 A JP 2005108017A JP 2005108017 A JP2005108017 A JP 2005108017A JP 2005295570 A JP2005295570 A JP 2005295570A
Authority
JP
Japan
Prior art keywords
key
client
encrypted
server
recovery
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005108017A
Other languages
English (en)
Other versions
JP4907895B2 (ja
JP2005295570A5 (ja
Inventor
Adam Back
バック アダム
Baskaran Dharmarajan
ダルマラジヤン バシカラン
Dafina Ivanova Toncheva
イワノワ トンシュバ ダフィナ
Kok Wai Chan
ワイ チャン コック
Rahul Shrikant Newaskar
シュリカント ネワスカル ラフル
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005295570A publication Critical patent/JP2005295570A/ja
Publication of JP2005295570A5 publication Critical patent/JP2005295570A5/ja
Application granted granted Critical
Publication of JP4907895B2 publication Critical patent/JP4907895B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B47/00Constructional features of components specially designed for boring or drilling machines; Accessories therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q11/00Accessories fitted to machine tools for keeping tools or parts of the machine in good working condition or for cooling work; Safety devices specially combined with or arranged in, or specially adapted for use in connection with, machine tools
    • B23Q11/0042Devices for removing chips
    • B23Q11/0046Devices for removing chips by sucking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B2270/00Details of turning, boring or drilling machines, processes or tools not otherwise provided for
    • B23B2270/30Chip guiding or removal
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K3/00Apparatus or processes for manufacturing printed circuits
    • H05K3/0011Working of insulating substrates or insulating layers
    • H05K3/0044Mechanical working of the substrate, e.g. drilling or punching
    • H05K3/0047Drilling of holes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mechanical Engineering (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 通信ネットワークを介して接続した第1のクライアントコンピュータから第2のクライアントコンピュータにプライベートデータを安全に移動するシステムと方法を提供する。
【解決手段】 第1のクライアントコンピュータのユーザが、ホームクライアントアプリケーションを実行し移動するプライベートデータを指示する。ホームクライアントアプリケーションは、パスワードに応答して第1の鍵を生成し、指示されたプライベートデータを第1の鍵の関数として暗号化する。サーバは、暗号化されたプライベートデータを受け取り、記憶する。第2のコンピュータのユーザがローミングクライアントアプリケーションを実行し、サーバから暗号化されたプライベートデータの転送を要求する。ローミングクライアントアプリケーションは、パスワードに応答して第1の鍵を生成し、サーバから転送された暗号化プライベートデータを解読してプライベートデータを得る。
【選択図】 図2

Description

本発明は、コンピュータネットワーク環境の分野に関する。詳細には、本発明は、通信ネットワークを介してつながれた1つまたは複数のクライアントコンピュータ間を巡ることが可能なプライベートデータ(非公開データ、秘密データともいう)をバックアップおよび回復するシステムおよび方法に関する。
インターネットサイトなどのウェブサービスは、非常に多くの場合、情報、プロダクト、サービスなどをユーザに提供する。しかし、ユーザとウェブサービス双方にとっての大きな問題は、特に機密性のある情報を送信する際のインターネットの安全性(セキュリティ)である。情報の安全性は、多くの場合、暗号化方式を通じてユーザおよび/またはウェブサービスに提供される。例えば、公開鍵基盤(PKI)と公開鍵暗号システムが、通信の安全性のための良く知られた鍵管理サービスである。プライベートキー(秘密鍵、私有鍵、非公開鍵ともいう)は秘密性を保つために安全に記憶しなければならないので、上記のサービスは、通常、1台のコンピュータでしか利用することができない。したがって、プライベートキーをローミングし、バックアップを作成し、回復できることが望ましい。
既存のプライベートキー(秘密鍵)ローミングプロトコルは、ユーザが主要(プライマリ)パスワードを思い出せないときに、終端間のセキュリティ上の問題とデータの回復に対応することができない。したがって、ユーザデータとユーザ通信の機密性、秘密性、完全性、および真正性に対応しながら、非公開のユーザデータをローミングするシステムが望まれる。
本発明は、通信ネットワークを介してつながれた1つまたは複数のクライアント間での秘密性のある情報の改良されたローミングに関する。詳細には、本発明は、サーバが秘密情報の知識を得ることなく、あるいは秘密情報を受け取ることなく、サーバにリンクされたクライアント間で秘密情報(プライベートキーなど)をローミングする能力をユーザに提供する。さらに、本発明は、ユーザがそのプライベートキーの暗号化に関連付けられたパスワードを思い出せない場合でも、クライアントで解読するために、暗号化されたバージョンのプライベートキーをサーバから取り出す能力をユーザに与える。クライアント間で秘密情報をローミングし、そのような情報をサーバに隠す能力をユーザに与えることにより、ネットワークの安全性が大幅に強化され、したがって、悪意あるユーザが、セキュリティの保護された通信を妨害する能力は著しく低下する。
本発明の一態様によれば、データ通信ネットワークに接続されたコンピュータ間でプライベートデータを通信する方法が提供される。この方法は、サーバにとって未知のラッピングキーの関数として第1のクライアントによって暗号化されたプライベートデータをネットワークサーバで受け取ることを含む。サーバと第1のクライアントは、データ通信ネットワークに接続されている。この方法はさらに、受け取った暗号化プライベートデータをサーバで記憶することを含む。この方法は、暗号化されたプライベートデータに対する第2のクライアントからの要求をサーバで受け取ることも含む。この方法はさらに、受け取られた要求に応答して、ラッピングキーの関数として解読するために、暗号化されたプライベートデータをサーバから第2のクライアントに転送することも含む。
本発明の別の態様によれば、データ通信ネットワーク上でプライベートデータを通信するシステムが提供される。サーバが、サーバに未知のラッピングキーの関数として第1のクライアントによって暗号化されたプライベートデータを受け取る。サーバと第1のクライアントは、データ通信ネットワークに接続されている。サーバにデータベースが関連付けられる。サーバは、受け取った暗号化プライベートデータをそのデータベースに記憶するように構成される。サーバは、第2のクライアントから受け取られた暗号化されたプライベートデータに対する要求に応答して、ラッピングキーの関数として解読するために、記憶された暗号化プライベートデータを、データ通信ネットワークに接続された第2のクライアントに転送するようにも構成される。
本発明の別の態様によれば、データ通信ネットワークに接続されたコンピュータ間でプライベートデータを通信するコンピュータ実行可能命令を有するコンピュータ可読媒体が提供される。第1の受信命令は、サーバに未知のラッピングキーの関数として第1のクライアントによって暗号化されたプライベートデータをネットワークサーバで受け取る。サーバと第1のクライアントは、データ通信ネットワークに接続されている。記憶命令は、受け取った暗号化プライベートデータをサーバに記憶する。第2の受信命令は、暗号化されたプライベートデータに対する第2のクライアントからの要求をサーバで受信する。転送命令は、受け取られた要求に応答して、ラッピングキーの関数として解読するために、暗号化されたプライベートデータをサーバから第2のクライアントに転送する。
本発明のさらに別の態様によれば、データ通信ネットワークに接続されたコンピュータ間でプライベートデータを通信する方法が提供される。この方法は、暗号化されたプライベートデータに対するローミングクライアントからの要求をサーバで受信することを含む。この要求は、認証パスワードのダイジェストあるいはハッシュ値を含む。サーバとローミングクライアントは、データ通信ネットワークに接続されている。この方法はさらに、ローミングクライアントから受け取られたある形態の認証パスワードが有効であるかどうかを判定することを含む。この方法はさらに、ある形態の認証パスワードが有効である場合、暗号化されたプライベートデータを取り出すことを含み、プライベートデータは、サーバに未知の暗号化パスワードの関数としてあらかじめ暗号化されている。この方法はさらに、ラッピングキーの関数として解読するために、取り出された暗号化プライベートデータをサーバからローミングクライアントに転送することを含む。
本発明の別の態様によれば、データ構造が記憶されたコンピュータ可読媒体が提供される。第1のデータフィールドは、プライベートデータを含む。第2のデータフィールドは、ユーザから受け取られた入力データストリームを表す鍵データを含む。第3の機能フィールドは、鍵データの関数としてプライベートデータを暗号化し、暗号化されたプライベートデータを記憶装置の中心位置に転送する。
これに代えて、本発明は、各種の他の方法および装置を備えることができる。
以下で、この他の特徴が部分的には明らかになり、部分的には指摘される。
すべての図面を通じて、同じ参照符号は、同じ部分を示す。
さて、図1を参照すると、ホームあるいはローカルクライアントコンピュータ102がデータ通信ネットワーク104に接続されている。この例では、ネットワーク104は、インターネット(あるいはワールドワイドウェブ)である。ただし、本発明の教示は、どのようなデータ通信ネットワークにも適用することができる。複数のローミングあるいはリモートクライアントコンピュータ106および108もネットワーク104に接続されている。そして、ホームクライアントコンピュータ102は、ネットワーク104を介してローミングクライアントコンピュータ106および108と通信することができる。信頼できない第3者はコンピュータ102への制限のないアクセス権あるいは容易な物理的アクセス権を持たないので、ホームクライアントコンピュータ102は、そのユーザが信頼に対する根拠を有するコンピュータを表す。ローミングクライアントコンピュータ106および108は、第3者により所有され、物理的に制御されるため、ユーザの信頼がより制限されたコンピュータを表す。ネットワーク104に接続された認証サーバ110が、認証サーバ110と、ホームクライアントコンピュータ102と、ローミングクライアントコンピュータ106および108との間の通信を可能にする。「認証サーバ」と称するが、図1の実施形態の認証サーバ110は、単に、ユーザを認証することができるもので、ウェブブラウザおよび他のウェブサーバと対話することが可能なウェブサーバである。
この例では、データは、情報を安全に交換するために一般にインターネットで使用されるプロトコルであるSSL(セキュアソケットレイヤ:セキュリティ規格の1つ)を使用して、認証サーバ110、クライアントコンピュータシステム102、およびローミングクライアントコンピュータ106と108間で安全に通信される。より具体的には、SSLを使用して公開鍵の暗号化を実施することができる。当業者には知られるように、公開鍵の暗号化には、プライベートキー(秘密鍵、私有鍵、非公開鍵ともいう)を有する者(あるいはコンピュータ)だけがその情報を復号できるような方式で情報を符号化することが必要となる。現在使用されるコンピュータ暗号化システムには、対称鍵暗号化(共通鍵暗号化ともいう)と公開鍵暗号化がある。
対称鍵暗号化では、各コンピュータがプライベートキー(コード)を有し、それを使用して情報のパケットを暗号化した後、そのパケットがネットワークを介して別のコンピュータに送信される。対称鍵では、各コンピュータに鍵をインストールすることができるように、通信相手のコンピュータを知っていることが必要となる。このタイプの暗号化を成功させるには、双方のコンピュータが、情報を復号するために暗号(secret code)を知らなければならない。
公開鍵暗号化では、プライベートキー(秘密鍵)と公開鍵の組み合わせが情報の符号化と復号化に使用される。例えば、特定の送信元コンピュータ(ホームクライアント)が、公開鍵/プライベートキーの対を有するローミングクライアント(移動するクライアント)に、安全に情報を送信する。送信元コンピュータは、情報に関して行われる数学的操作でローミングクライアントの公開鍵を利用して暗号化されたメッセージを生成し、自身のプライベートキーでそのメッセージに署名してメッセージの完全性(integrity)をアサートする(有効な状態にする)ことができる。送信元コンピュータは、自身の公開鍵をローミングクライアントに提供するが、プライベートキー(秘密鍵)は、送信元のコンピュータに非公開(すなわち秘密)のままにされる。暗号化メッセージを復号するには、受信者は、自身のプライベートキーを使用しなければならず、送信者から提供された公開鍵を使用してそのメッセージ上の署名を照合する。したがって、ホームクライアント102のユーザである受信者が、ローミングクライアント106および108を介して暗号化メッセージを復号する能力を望む場合には、ユーザは、プライベートキーをそれらのローミングクライアントに転送しなければならない。
認証サーバ110は、認証データベース112が接続され、クライアントコンピュータシステム102のユーザ(およびネットワーク上の他のユーザ)を認証するのに必要な情報と、ホームクライアントコンピュータまたはローミングクライアントコンピュータのユーザがデータベースに暗号データを記憶する、かつ/またはデータベース112から暗号データを受け取る権限を有するかどうかを判定するのに必要な情報を保持する。
次に、図2を参照すると、ブロック図により、本発明の一実施形態による、ホームクライアント202(例えばホームクライアントコンピュータ102)とウェブサーバ204(例えば認証サーバ110)の間で暗号化されたプライベートデータを通信するシステム200を示す。
ホームクライアントアプリケーション206は、ホームユーザ208が、プライベートデータを暗号化し、その暗号化したプライベートデータを通信ネットワーク212(例えばネットワーク104)を介してウェブサーバ204に転送することを可能にする。ホームクライアントアプリケーション206は、ホームクライアント202によって実行することができ、プライベートデータの暗号化と、その暗号化したプライベートデータのウェブサーバ204への転送を開始させるユーザ入力に応答する。この実施形態では、ホームクライアントアプリケーション206は、図1を参照して上述したような公開鍵の暗号化プロセスで使用されるプライベートキー216を記憶するメモリ214を包含する。ホームクライアントアプリケーション206は、プライベートデータに数学的操作を行ってそれを暗号化されたプライベートデータに変換する暗号化アルゴリズム218を含む。より具体的には、鍵データと併せて暗号化アルゴリズム218を使用してプライベートデータを変換する。当業者によく知られているように、いくつかの暗号化アルゴリズム(3DESやHMAC−RC4など)を使用して、暗号鍵(encryption key)を知らないで内容を復号することがほぼ不可能となるように、データを暗号化することができる。
ホームクライアント202のユーザ208は、1つまたは複数のローミングクライアント(例えば、ローミングクライアント106、108)を介して安全にウェブサービスと通信するために、プライベートキー216をローミング(移動)する能力を望む場合がある。しかし、そのようにプライベートキー216をローミングすると、プライベートキー216が悪意のある者に傍受されてしまう可能性がある。その結果、その特定のプライベートキー216で安全に(セキュリティを確保して)データを復号する、あるいはデータに署名するユーザ208の能力が、著しく損なわれる可能性がある。
ホームクライアント202に結び付けられたユーザインタフェース(UI)220により、ユーザ208は、ウェブブラウザ204と対話することができる。UI220は、例えば、データおよび/または入力フォームを表示するコンピュータモニタなどのディスプレイ217と、入力フォーム(図示せず)にデータを入力するためのキーボードまたはポインティングデバイス(マウス、トラックボール、ペン、タッチパッドなど)などの入力装置219とを含むことができる。すなわち、UI214により、ユーザ208は、暗号化するホームクライアント210上のデータを選択し、暗号化したデータを、記憶するためにホームクライアント202からウェブサーバ204に転送する要求を提出することができる。
データベース226(データベース110など)がウェブサーバ204に接続され、暗号化されたプライベートデータをデータベース226に記憶することを求めるホームクライアント202(ならびにネットワーク上の他のユーザ)からの要求を検証するのに必要な情報を保持する。データベース210は認証サーバ(ウェブサーバ)204と別個になっているが、本発明の他の実施形態では、データベース226はウェブサーバ204の中に含めることができることを理解されたい。
一実施形態では、ウェブサーバ204は、サーバ204へのアクセスを要求するユーザ208を認証する認証サービス227を実行するログインサーバである。そのような実施形態では、ウェブサーバ204は、ウェブサーバ204によって提供されるウェブサービスへのユーザアクセスを許可する前に、参照符号229で示すように初めに認証パスワードなどの認証情報をユーザ208に要求する。
さらに図2を参照すると、ホームクライアント202は、ホームクライアントアプリケーション206を使用して、暗号化されたプライベートキーをサーバ204に記憶することを求める。その前に、ホームクライアントアプリケーション206は、サーバ204に対してユーザ208を認証する/権限を付与する必要がある。この実施形態では、ユーザ208から提供される認証パスワードを使用してサーバ204に対してユーザ208を認証する。
安全に(セキュリティを確保して)プライベートデータを転送し、記憶するために、ホームクライアントアプリケーション206は、暗号化パスワードなどの入力データをユーザ208に要求する。ホームクライアントアプリケーション206とUI220は、ユーザ208が暗号化パスワードを入力できるようにしている。ホームクライアントアプリケーション206は、ユーザ208によって入力された暗号化パスワードに応答してラッピングキーK1 230を生成し、そのキーでプライベートデータを暗号化する。この実施形態では、ラッピングキーK1は、プライベートキーを暗号化する(例えば、ハッシュ値を生成する)ために使用される対称鍵である。ホームクライアントアプリケーション206は、参照符号232で示すように、暗号化されたプライベートデータをサーバのローミングアプリケーション228に転送する。認証パスワードと暗号化パスワードは、ユーザデータの秘密性を保護するために別個のパスワードとして図解している。しかし、それらのパスワードは1つのパスワードとしてもよいことは理解されよう。また、ウェブサーバ204は、スマートカード(メモリ内蔵カード)、ワンタイムパスワード(使い捨てパスワード)、バイオメトリクス(生体測定)など、異なる認証機構を用いてユーザ208を認証できることも理解されよう。
サーバ204によって実行されるサーバローミングアプリケーション228(すなわち、ウェブサービス)は、参照符号233で示すように、受け取った暗号化プライベートデータをデータベース226に記憶する。この例では、プライベートデータは、メモリ214に記憶されたプライベートキー216であり、このプライベートキーは、生成されたラッピングキー230の関数として暗号化アルゴリズム218により暗号化されて、暗号化されたプライベートキーEK1PK234を生成する。注意すべき点として、生成されたラッピングキーとプライベートキー216は、ウェブサーバ204にとって未知のままにされていることである。さらに、サーバは、ラッピングキー230の生成に使用される暗号化パスワードを所有していないので、サーバローミングアプリケーションは、暗号化されたプライベートデータ234を解読することができない。
次に、図3を参照すると、本発明の一実施形態によるローミングクライアント302とウェブサーバ204間で暗号化プライベートデータを通信するシステム300をブロック図で示す。
この実施形態では、サーバローミングアプリケーション228は、ローミングクライアントアプリケーション304と通信ネットワーク212を介して、ローミングクライアント302から要求を受信して、データベース226からそれに記憶されている暗号化プライベートデータを取り出す。サーバローミングアプリケーション228は、受信された要求に応答し、ローミングユーザ306を認証するためにウェブサーバ204によって実行することができる。この実施形態では、サーバ204は、図2Aに示すような入力フォームを介してローミングユーザ306に認証パスワードを要求する。
上記で図2を参照して説明したやり方と実質的に同じように、サーバローミングアプリケーション228は、クライアントから受け取ったある形態の認証パスワードを照合して、ローミングユーザ306が、データベースから暗号化データを取り出す権限があるかどうかを判定する。認証パスワードが有効であると認められない場合、サーバローミングアプリケーション228は、データベース226に記憶された暗号化プライベートデータへのローミングクライアント302によるアクセスを拒否する。一方、認証パスワードが有効であると認められた場合、サーバローミングアプリケーション228は、参照符号310で示すように、データベース226から暗号化データを取り出し、参照符号311で示すように、その暗号化データをローミングクライアント302に転送する。ローミングクライアントアプリケーション304は、受け取った暗号化プライベートデータに応答して、ユーザに暗号化パスワード308を要求し、ラッピングキーK1を生成し、暗号解読アルゴリズム312を実行する(308は図3では誤って図示されている)。この場合、暗号解読アルゴリズム312は、受け取った暗号化プライベートデータを、ローミングクライアント302で生成されたラッピングキー230の関数として解読して、ホームクライアント202に関連付けられたプライベートキーを取得する。その後、ローミングクライアントアプリケーション304は、取得したプライベートキーを、ローミングクライアント302に関連付けられたメモリ314に記憶することができる。
次に、図4を参照すると、ブロック図により、本発明の別の好ましい実施形態による、ホームクライアントコンピュータ202とサーバ204間で暗号化されたプライベートデータと回復データを通信するシステム400を示す。
この実施形態では、ホームユーザ208は、データをUI220を使用して、暗号化パスワードを思い出させないときでさえも、サーバ204に記憶された暗号化プライベート回復することができる回復のオプションを選択する。この実施形態では、上記で図2を参照して述べたように、ローミングクライアントアプリケーション206は、暗号化パスワードの関数としてラッピングキーK1を生成するのに加えて、回復キー要求に応答して、新しい暗号鍵(すなわち回復キーK2)を無作為に生成する。例えば、ユーザ208は、フォーム(図示せず)に暗号化パスワードを入力した後、例えば、メッセージ「暗号化パスワードなしでプライベートデータの回復を可能にする」を表示するダイアログボックスとともにユーザに提示される「YES」ボタンを、マウスを使用してクリックする。ホームクライアントアプリケーション206は、ユーザによる「YES」の選択に応答して、回復キーK2を無作為に生成する。注意すべき点として、K2は、どのような形でも暗号化パスワードに結び付けられない。サーバローミングアプリケーション228は、クライアントから受け取った認証パスワードを検証して承認することによりユーザ208を認証する。認証パスワードが有効であることが確認されると、ユーザ208は、暗号化されたプライベートデータをサーバ204に転送することが許可され、このプライベートデータは、それぞれ418、420、422で示すように、ラッピングキーEK1PK234で暗号化されたプライベートキー、回復キーEK2K1 414で暗号化されたラッピングキー、および、ラッピングキーEK1K2 416で暗号化された回復キーを含む。サーバローミングアプリケーション228は、受け取った暗号化プライベートデータに応答して、それぞれ421、422、423で表すように、EK1PKと、EK2K1と、EK1K2をデータベース226に記憶する。さらに、サーバローミングアプリケーション228は、ホームクライアント202から受け取った暗号化データに応答して、参照符号425で表すように、データベース226に記憶するためのバックアップキーK3 424を無作為に生成し、426で示すように、生成したバックアップキー424をホームクライアント202に転送する。K3の転送は、セキュリティ機能が確保されたチャネル(secure channel)(例えば、SSL(secure socket layer)上で)を介して行われることに留意されたい。セキュアチャネルがないと、値が変更される可能性があり、それゆえ回復キーが容易に発見されてしまう。ホームクライアントアプリケーション206は、受け取ったバックアップキー424に応答して、第2の暗号化された回復キーEK3K2 428を生成し、これをホームクライアント202に関連付けられたメモリ214および/またはディスクに記憶する。
この実施形態では、暗号化アルゴリズム218を使用して、暗号化されたプライベートキー234、暗号化されたラッピングキー414、第1の暗号化された回復キー416、および第2の暗号化された回復キー428を生成する。暗号化されたプライベートキー234は、ラッピングキーの関数として暗号化されたプライベートキーに相当し、暗号化されたラッピングキー414は、回復キーK2の関数として暗号化されたラッピングキーに相当し、第1の暗号化された回復キー416は、ラッピングキーK1の関数として暗号化された回復キー408に相当し、第2の暗号化された回復キー428は、バックアップキー424の関数として暗号化された回復キー408に相当する。本明細書では同じ暗号化アルゴリズムを使用するものとして本発明を説明しているが、異なる暗号化鍵のそれぞれを生成するために異なる暗号化アルゴリズムを使用できることが意図されている。
次に、図5を参照すると、ブロック図により、本発明の一実施形態による、サーバ204からローミングクライアント302に回復データを転送するシステム500を示す。
この実施形態では、サーバローミングアプリケーション228は、遠隔のローミングクライアントアプリケーション304と通信ネットワーク212とを介して、ローミングクライアント302から要求を受信してデータベース226からバックアップデータを取り出す。この例では、バックアップデータは、第1の暗号化された回復キー416とバックアップキー424である。サーバローミングアプリケーション228は、クライアントから受け取ったある形態の認証パスワードを検証し承認することによりユーザ208を認証する。認証パスワードが有効であると確認された場合、サーバローミングアプリケーション228は、それぞれ参照符号506、508で示すように、データベース226から第1の暗号化された回復キー416とバックアップキー424を取り出し、それぞれ参照符号510、512で示すように、EK1K2とK3をローミングクライアントアプリケーション304に転送する。一方、認証パスワードが有効と認められない場合には、サーバローミングアプリケーション228は、データベース226へのアクセスを拒否する。
ローミングクライアントアプリケーション304は、受け取った第1の暗号化回復キー416に応答して、ユーザに暗号化パスワード504を要求し、ラッピングキーK1を生成し、暗号解読アルゴリズム312を実行する。この場合、暗号解読アルゴリズム312は、ローミングクライアント302で生成されたラッピングキー230の関数として、受け取った第1の暗号化された回復キー416を解読して、ホームクライアントコンピュータ202に関連付けられた回復キー408を取得する。ローミングクライアントアプリケーション304は、受け取ったバックアップキー424に応答して暗号化アルゴリズム218を実行する。この場合、暗号化アルゴリズム218は、受け取ったバックアップキー424の関数として、取得した回復キー408を暗号化して、第2の暗号化された回復キー428を生成する。その後、ローミングクライアントアプリケーション304は、第2の暗号化された回復キー428を、ローミングクライアント302に関連付けられたメモリ314とディスクに記憶する。メモリ314に記憶された第2の暗号化された回復キー428、サーバから得たバックアップキー424および暗号化されたラッピングキーを得た結果、ローミングクライアント302は、ラッピングキーK1を生成するために使用されたパスワード(すなわち、暗号化パスワード)の知識を持たずに、データベース226に記憶された暗号化プライベートキー234を回復し、解読することができる。
次に、図6を参照すると、ブロック図により、本発明の一実施形態による、暗号化パスワードの知識を持たずに、ローミングクライアント302でウェブサーバ204から暗号化されたプライベートデータを回復するシステム600を示す。
この実施形態では、すでに上記のバックアッププロセスがローミングクライアント302で行われ、ローミングクライアント302は、メモリ314に第2の暗号化された回復キー428を有する。サーバローミングアプリケーション228は、ローミングクライアントアプリケーション304と通信ネットワーク212とを介してローミングクライアント302からの要求を受信して、データベース226から、プライベートキー216などの暗号化されたプライベートデータを取り出す。サーバローミングアプリケーション228は、クライアントから受け取った認証パスワードの有効性を検証し承認することによりユーザ302を認証する。ユーザの認証が成功すると、サーバアプリケーションは、暗号化されたプライベートデータ216をローミングクライアントアプリケーション304に転送する。図3および図5を参照して上記で説明したように、ローミングクライアントアプリケーション304は、暗号化されたプライベートデータに応答して、ラッピングキーK1を生成するためにローミングユーザ306に暗号化パスワードを要求する。
ユーザ306が暗号化パスワードを覚えていない場合、ユーザは例えばUIを使用して、「暗号化パスワードを入力せずにプライベートデータを回復する」というメッセージを表示する別のダイアログボックス(図示せず)とともにユーザに提示される「YES」の選択肢を選択する。サーバローミングアプリケーション228は、回復要求に応答して、それぞれ参照符号604、606、608で示すように、データベース226からバックアップキー424、暗号化されたプライベートキー234、および暗号化されたラッピングキー414を取り出し、それぞれ参照符号610、612、614で示すように、取り出したK3、EK1PK、EK2K1をローミングクライアントアプリケーション304に転送する。
ローミングクライアントアプリケーション304は、受け取ったバックアップキー424、暗号化されたプライベートキー234、および暗号化されたラッピングキー414に応答して、暗号解読アルゴリズム312を実行する。この場合、暗号解読アルゴリズム312は、受け取ったバックアップキー424の関数として、それまでメモリに記憶されていた(図5参照)第2の暗号化回復キー428を解読して、ホームクライアント202に関連付けられた回復キー408を取得する。暗号解読アルゴリズム312は、次に、取得した回復キー408の関数として、受け取った暗号化ラッピングキー414を解読して、ラッピングキー230を得る。暗号解読アルゴリズム312は次いで、取得したラッピングキー230の関数として、受け取った暗号化プライベートキー234を解読して、ホームクライアント202に関連付けられたプライベートキー216を取得する。その後、ローミングクライアントアプリケーション304は、取得したプライベートキーPKを、ローミングクライアント302に関連付けられたメモリ214に記憶する。
次に、図7を参照して、例示的なフローチャートにより、本発明の一実施形態による、ホームクライアントコンピュータとサーバ間でプライベートデータを通信してローミングクライアントコンピュータによるプライベートデータの回復(再生、リカバリー)を容易にする方法を説明する。702で、ホームクライアントコンピュータのユーザが、ホームクライアントアプリケーションを実行し、暗号化してサーバに転送すべき、ホームクライアントコンピュータに関連付けられたメモリに記憶されているプライベートデータ(プライベートキー)を指示する。704で、ホームクライアントアプリケーションは、ユーザに暗号化パスワードを要求する。706で、ユーザから受け取られた暗号化パスワードの関数としてラッピングキーが生成される。708で、指示されたプライベートデータが、生成されたラッピングキーの関数として暗号化される。710で、ホームクライアントアプリケーションは、暗号化されたデータを、サーバローミングアプリケーションを実行するサーバに転送する。712で、サーバアプリケーションは、転送された暗号化プライベートデータに応答し、暗号化されたプライベートデータが、サーバにリンクされたデータベースに記憶される。
次に、図8を参照して、例示的なフローチャートにより、本発明の一実施形態による、サーバからローミングクライアントコンピュータに暗号化されたプライベートデータを転送する方法を説明する。
802で、ローミングクライアントアプリケーションを実行するローミングクライアントコンピュータのユーザが、サーバローミングアプリケーションを実行するサーバからの暗号化されたプライベートデータの転送を要求する。この例では、ユーザは、上記で図7を参照して説明したような方法で、サーバにリンクされたデータベースにあらかじめ記憶されている暗号化されたプライベートキーEK1PKの転送を要求する。804で、ローミングクライアントアプリケーションは、ユーザに暗号化パスワードを要求する。806で、ユーザから受け取った暗号化パスワードの関数として、ローミングクライアントアプリケーションによりラッピングキーが生成される。認証サービスが、初めに、パスワードの照合などの何らかの認証機構を使用してユーザを認証する。認証に通らなかった場合808、サーバローミングアプリケーションは、809で、要求される暗号化データへのユーザアクセスを拒否する。認証が成功した場合808、サーバローミングアプリケーションは、データベースから要求される暗号化プライベートキーEK1PKを取り出し、810で、取り出した暗号化プライベートキーをローミングクライアントコンピュータに転送する。812で、ローミングクライアントアプリケーションは、生成されたラッピングキー230の関数として、受け取った暗号化プライベートキーEK1PKを解読してプライベートキーPKを得る。
次に、図9Aおよび図9Bを参照して、例示的なフローチャートにより、本発明の一実施形態による、ホームクライアントコンピュータとサーバ間でプライベートデータと回復データを通信する方法を説明する。
902で、ホームクライアントコンピュータのユーザがローミングクライアントアプリケーションを実行し、暗号化すべき、ホームクライアントコンピュータのメモリに記憶されたプライベートデータを指示し、その指示したプライベートデータをサーバに転送する要求を提出する。要求が上記で図8を参照して記述したように認証されると、サーバは、904でローミングサーバアプリケーションを実行する。サーバローミングアプリケーションは、906で、その特定のホームクライアントからの要求に応答してSRA(サーバローミングアプリケーション)が実行されるのが初めてであるかどうかを判定する。サーバローミングアプリケーションが906で初めての実行であると判定するか、または、そのユーザについてバックアップキーK3がデータベースに見つからないと判定した場合、サーバローミングアプリケーションは、908でランダムなバックアップキーK3を生成する。910で、サーバローミングアプリケーションは、バックアップキーK3をデータベースに記憶し、912で、回復データを暗号化する際に使用するためにバックアップキーK3をホームクライアントアプリケーションに提供する。サーバローミングアプリケーションは、906で実行されるのが初めてではないと判定した場合、909でデータベースからバックアップキーを取り出し、912で、回復データを暗号化する際に使用するためにバックアップキーK3をホームクライアントアプリケーションに提供する。
次に、図9Bを参照すると、ホームクライアントアプリケーションは、914で、ユーザから提供された暗号化パスワードの関数としてラッピングキーK1を生成する。ホームクライアントアプリケーションは、916で、回復キーK2がホームクライアントコンピュータに記憶されているかどうかを判定する。916で回復キーK2がホームクライアントに関連付けられたメモリに記憶されていないとホームクライアントアプリケーションが判定し、第1の暗号化された回復キーEK1K2がサーバに存在しない場合には、ホームクライアントアプリケーションは、918でランダムな回復キーK2を生成する。例えば、ホームクライアントアプリケーションが実行されるのが初めてである場合は、回復キーは、ホームクライアントコンピュータには存在しない。916で回復キーK2がホームクライアントに関連付けられたメモリに記憶されているとホームクライアントアプリケーションが判断した場合には、ホームクライアントアプリケーションは、920でメモリから回復キーK2を取り出す。922で、ホームクライアントアプリケーションは、暗号化されたプライベートキー、暗号化されたラッピングキーK1、第1の暗号化された回復キー、および第2の暗号化された回復キーを生成する。暗号化されたプライベートキーは、生成されたラッピングキーK1の関数として暗号化されたプライベートキーPKに相当する。暗号化されたラッピングキーEK2K1は、回復キーK2の関数として暗号化されたラッピングキーK1に相当する。第1の暗号化された回復キーEK1K2は、ラッピングキーK1の関数として暗号化された回復キーK2に相当する。第2の暗号化された回復キーEK3K2は、サーバから転送されたバックアップキーK3の関数として暗号化された回復キーK2に相当する。924で、ホームクライアントアプリケーションは、第2の暗号化された回復キーEK3K2を、ホームクライアントコンピュータに関連付けられたメモリに記憶する。926で、ホームクライアントアプリケーションは、暗号化されたプライベートキー、暗号化されたラッピングキー、第1の暗号化された回復キー、および第1の暗号化された回復キーをサーバに転送する。再度図9Aを参照すると、928で、サーバローミングアプリケーションは、転送された暗号化プライベートキー、暗号化されたラッピングキー、および第1の暗号化回復キーを受信し、データベースに記憶する。
次に、図10を参照すると、回復データをサーバからローミングクライアントに転送して、ローミングクライアントが暗号化パスワードなしでプライベートデータを回復できるようにする方法を例示的フローチャートで示す。1002で、ローミングサーバアプリケーションを実行するサーバが、ローミングクライアントアプリケーションを実行するローミングクライアントのユーザから、認証パスワードと、回復データをローミング、あるいはバックアップを作成する要求とを受け取る。ローミングクライアントアプリケーションは、1004で、認証されたユーザから提供された暗号化パスワードに応答してラッピングキーK1を生成する。1006で、バックアップK3および第1の暗号化された回復キーEK1K2が、ローミングサーバアプリケーションからローミングクライアントアプリケーションに転送される。ローミングクライアントアプリケーションは、1008で、生成されたラッピングキーK1の関数として、受け取った第1の暗号化された回復キーEK1K2を解読してK2を得る。1010で、クライアントアプリケーションは、受け取ったバックアップキーK3の関数として、取得した回復キーK2を暗号化して、第2の暗号化された回復キーEK3K2を生成する。1012で、ローミングクライアントアプリケーションは、生成した第2の暗号化回復キーを、ローミングクライアントコンピュータに関連付けられたメモリに記憶する。
次に、図11を参照すると、例示的なフローチャートで、ローミングクライアントで暗号化パスワードなしでサーバからのプライベートデータを回復する方法を示す。1102で、サーバは、ローミングクライアントアプリケーションを実行するローミングクライアントから認証パスワードと、暗号化されたプライベートキーを暗号化パスワードなしで転送する要求とを受け取る。1104で、ローミングサーバアプリケーションは、データベースからバックアップキー、暗号化されたラッピングキーEK2K1、および暗号化されたプライベートキーEK1PKを取り出す。1106で、ローミングサーバアプリケーションは、取り出したバックアップキー、暗号化されたラッピングキー、および暗号化されたプライベートキーをローミングクライアントに転送する。ローミングクライアントアプリケーションは、1108で、取り出されたバックアップキーK3の関数として、あらかじめローミングクライアント(図10参照)に記憶されていた第2の暗号化された回復キーEK3K2を解読して、回復キーK2を得る。1110で、ローミングクライアントアプリケーションは、取得した回復キーK2の関数として、暗号化されたラッピングキーEK2K1を解読して、ラッピングキーK1を得る。ローミングクライアントアプリケーションは、1112で、取得したラッピングキーの関数として、暗号化されたプライベートキーを解読する。
とりわけ、クライアントでK2を生成し、それを決してサーバに公開しないことにより、サーバが暗号化パスワードキーK1と回復キーK2を一切知ることなく、サーバでその両方のバックアップを作成することができる。同時に、クライアントは2つの鍵の少なくとも1つが分かる、すなわち、ユーザが暗号化パスワードK1を入力するか、またはK2がクライアントにあらかじめ記憶されているので、クライアントは、プライベートデータを復元するため、またバックアップを行うためにもEk1K2とEk2K1を使用することができる。
図12に、コンピュータ130の形態の汎用コンピューティングデバイスの一例を示す。本発明の一実施形態では、コンピュータ130のようなコンピュータが、図示されてここで説明した他の図で使用するのに適する。コンピュータ130は、1つまたは複数のプロセッサあるいは処理装置132とシステムメモリ134を有する。本図の実施形態では、システムバス136は、システムメモリ134を含む各種のシステム構成要素をプロセッサ132に接続する。バス136は、各種のバスアーキテクチャを使用した、メモリバスあるいはメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィックポート、およびプロセッサバスまたはローカルバスを含む数種のバス構造の1つまたは複数を表す。限定ではなく例示として、そのようなアーキテクチャには、ISA(Industry Standard Architecture:業界標準アーキテクチャ)バス、MCA(Micro Channel Architecture:マイクロチャネルアーキテクチャ)バス、EISA(Enhanced ISA:32ビットの拡張スロットバスの共通規格)バス、VESA(Video Electronics Standards Association:ビデオ電子標準規格)ローカルバス、およびメザニンバスとも称されるPCI(Peripheral Component Interconnect:周辺構成要素相互接続)バスがある。
コンピュータ130は通例、少なくとも何らかの形態のコンピュータ可読媒体を備える。コンピュータ可読媒体は、揮発性および不揮発性の媒体、取り外し可能および取り外し不能の媒体を含み、コンピュータ130によるアクセスが可能な任意の利用可能媒体でよい。限定ではなく例示として、コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体からなる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための方式または技術として実施された、揮発性および不揮発性、取り外し可能および取り外し不能の媒体を含む。例えば、コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、あるいは他の光ディスク記憶、磁気カセット、磁気テープ、磁気ディスク記憶、または他の磁気記憶装置、あるいは、所望の情報を記憶するために使用することができ、コンピュータ130によるアクセスが可能な他の媒体が含まれる。通信媒体は通例、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波などの変調データ信号や他のトランスポート機構として実施し、任意の情報伝達媒体を含む。当業者は、信号中に情報を符号化するような方式で特性の1つまたは複数を設定または変化させた変調データ信号に精通していよう。有線ネットワークや直接配線接続などの有線媒体と、音波、RF、赤外線、および他の無線媒体などの無線媒体は、通信媒体の例である。上記の媒体の組み合わせもコンピュータ可読媒体の範囲に含まれる。
システムメモリ134は、取り外し可能および/または取り外し不能メモリ、揮発性および/または不揮発性メモリの形態のコンピュータ記憶媒体を含む。図の実施形態では、システムメモリ134は、読み取り専用メモリ(ROM)138とランダムアクセスメモリ(RAM)140を含む。起動時などにコンピュータ130中の要素間の情報転送を助ける基本ルーチンを含んだ基本入出力システム142(BIOS)は、通例、ROM138に記憶される。RAM140は、通例、処理装置132から即座にアクセスできる、かつ/または処理装置132によって現在操作されているデータおよび/またはプログラムモジュールを保持する。限定ではなく例として、図12にはオペレーティングシステム144、アプリケーションプログラム146、他のプログラムモジュール148、およびプログラムデータ150を示す。
コンピュータ130は、他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ記憶媒体も含むことができる。例えば、図12には、取り外し不能、不揮発性の磁気媒体の読み書きを行うハードディスクドライブ154を示す。図12には、取り外し可能、不揮発性の磁気ディスク158の読み書きを行う磁気ディスクドライブ156と、CD−ROMや他の光学媒体などの取り外し可能、不揮発性の光ディスク162の読み書きを行う光ディスクドライブ160も示す。例示的動作環境で使用することができるこの他の取り外し可能/取り外し不能、揮発性/不揮発性のコンピュータ記憶媒体には、これらに限定しないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体素子RAM、固体素子ROMなどがある。ハードディスクドライブ154、磁気ディスクドライブ156、および光ディスクドライブ160は、通例、インタフェース166などの不揮発性メモリインタフェースでシステムバス136に接続される。
上記で説明し、図12に示すこれらのドライブあるいはその他の大容量記憶装置とそれに関連付けられたコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶をコンピュータ130に提供する。図12では、例えば、ハードディスクドライブ154にオペレーティングシステム170、アプリケーションプログラム172、他のプログラムモジュール174、およびプログラムデータ176が記憶されている。これらのコンポーネントは、オペレーティングシステム144、アプリケーションプログラム146、他のプログラムモジュール148、およびプログラムデータ150と同じでも異なってもよいことに留意されたい。ここでは、オペレーティングシステム170、アプリケーションプログラム172、他のプログラムモジュール174、およびプログラムデータ176には、それらが少なくとも異なるコピーであることを表すために異なる参照符号を付している。
ユーザは、キーボード180およびポインティングデバイス182(マウス、トラックボール、ペン、タッチパッドなど)などの入力装置またはユーザインタフェース選択装置(user interface selection device)を通じてコンピュータ130にコマンドと情報を入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなどがある。これらおよび他の入力装置は、システムバス136に接続されたユーザ入力インタフェース184を通じて処理装置132に接続されるが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)など他のインタフェースおよびバス構造で接続してもよい。モニタ188あるいは他のタイプの表示装置も、ビデオインタフェース190などのインタフェースを介してシステムバス136に接続される。モニタ188に加えて、コンピュータは多くの場合、プリンタやスピーカなどの他の周辺出力装置(図示せず)を含み、それらは、出力周辺インタフェース(図示せず)を通じて接続することができる。
コンピュータ130は、ローミングクライアント194などの1つまたは複数のローミングクライアントとの論理接続を使用するネットワーク環境で動作することができる。ローミングクライアント194は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス(peer device)、あるいは他の一般的なネットワークノードであり、通例は、コンピュータ130との関連で上述した要素の多くまたはすべてを含む。図12に示す論理接続には、ローカルエリアネットワーク(LAN)196とワイドエリアネットワーク(WAN)198が含まれるが、他のネットワークを含むことも可能である。このようなネットワーキング環境は、オフィス、企業内のコンピュータネットワーク、イントラネット、および世界規模のコンピュータネットワーク(インターネットなど)に一般的に見られる。
ローカルエリアネットワーク環境で使用される場合、コンピュータ130は、ネットワークインタフェースあるいはアダプタ186を通じてLAN196に接続される。ワイドエリアネットワーク環境で使用される場合、コンピュータ130は通例、インターネットなどのWAN198を通じて通信を確立するためのモデム178あるいは他の手段を含む。モデム178は、内蔵型でも外付け型でもよく、ユーザ入力インタフェース184または他の適切な機構を介してシステムバス136に接続される。ネットワーク環境では、コンピュータ130との関連で図示するプログラムモジュールまたはその一部は、遠隔のメモリ記憶装置(図示せず)に記憶することができる。限定ではなく例として、図12では、リモートアプリケーションプログラム192がメモリデバイスにある。図のネットワーク接続は典型的なものであり、コンピュータ間に通信リンクを確立する他の手段を使用してよいことは認識されよう。
一般に、コンピュータ130のデータプロセッサは、異なる時にコンピュータの各種のコンピュータ可読記憶媒体に記憶される命令によってプログラムされる。プログラムとオペレーティングシステムは、通例、フロッピー(登録商標)ディスクやCD−ROMなどで配布される。そこから、コンピュータの2次メモリにインストールあるいはロードされる。実行時には、少なくとも一部分がコンピュータの主要電子メモリにロードされる。ここに記載される本発明は、そのような媒体がマイクロプロセッサまたは他のデータプロセッサと併せて上記のステップを実施する命令またはプログラムを含む場合は、上記および他の各種タイプのコンピュータ可読記憶媒体を含む。本発明は、ここに記載される方法および技術に従ってプログラムされた場合はコンピュータ自体も含む。
説明のために、オペレーティングシステムなどのプログラムおよび他の実行可能プログラムコンポーネントは、本明細書では別個のブロックとして図示する。しかし、そのようなプログラムとコンポーネントは、様々な時にコンピュータの異なる記憶コンポーネントに存在し、コンピュータのデータプロセッサによって実行されることが認識されよう。
コンピュータ130を含む典型的なコンピューティングシステム環境との関連で説明したが、本発明は、多数の他の汎用または特殊目的のコンピューティングシステム環境または構成で動作する。このコンピューティングシステム環境は、本発明の使用または機能の範囲についての限定を示唆するものではない。さらに、このコンピューティングシステム環境は、例示的動作環境に図示する構成要素の1つまたは組み合わせに関連する依存性または必要性を有するものとも解釈すべきでない。本発明とともに使用するのに適する可能性のある、よく知られるコンピューティングシステム、環境、および/または構成の例には、これらに限定しないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサを利用したシステム、セットトップボックス、プログラム可能な家庭電化プロダクト、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスを含む分散コンピューティング環境などがある。
本発明は、1つまたは複数のコンピュータあるいは他のデバイスによって実行されるプログラムモジュールなどのコンピュータ実行可能命令との一般的関連で説明することができる。一般に、プログラムモジュールには、これに限定しないが、特定のタスクを行うか、特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造が含まれる。本発明は、通信ネットワークで結ばれた遠隔の処理デバイスによってタスクが行われる分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルクライアントとローミングクライアント両方の記憶媒体に置くことができる。
動作の際、コンピュータ130は、図7〜図11に示すようなコンピュータ実行可能命令を実行して、プライベートデータを暗号化および転送し、かつ/またはプライベートデータを取り出し、解読する。
本発明またはその実施形態の要素を紹介する際、冠詞「a」、「an」、「the」、および「said」は、その要素が1つまたは複数あることを意味するものとする。用語「〜を備える」、「〜を含む」、および「〜を有する」は、包含的な意味とし、記載される要素以外に追加的な要素があってよいことを意味する。
上記に鑑みて、本発明のいくつかの目的が達成され、他の有利な結果が得られることが理解されよう。
本発明の特許請求の範囲から逸脱せずに構成および方法に各種の変更を加えることができるので、上記の説明に含まれ、添付図面に図示されるすべての事項は、限定的な意味ではなく例示的に解釈されたい。
本発明を利用することができる例示的なネットワーク環境を示すブロック図である。 本発明の一実施形態によるホームクライアントとサーバ間で暗号化されたプライベートデータを通信するシステムを表すブロック図である。 本発明の一実施形態によるローミングクライアントコンピュータとサーバ間で暗号化されたプライベートデータを通信するシステムを表すブロック図である。 本発明の一実施形態によるホームクライアントとサーバ間で暗号化されたプライベートデータと回復データを通信するシステムを表すブロック図である。 本発明の一実施形態によるサーバからローミングクライアントに回復データを通信するシステムを表すブロック図である。 本発明の一実施形態による暗号化パスワードなしでサーバからローミングクライアントに暗号化されたプライベートデータを回復するシステムを表すブロック図である。 本発明の一実施形態によるホームクライアントとサーバ間でプライベートデータを通信する方法を説明する例示的なフローチャートである。 本発明の一実施形態によるサーバからローミングクライアントに暗号化されたプライベートデータを通信する方法を説明する例示的なフローチャートである。 本発明の一実施形態によるサーバとホームクライアント間で暗号化されたプライベートデータと回復データを通信する方法を説明する例示的なフローチャートである。 本発明の一実施形態によるサーバとホームクライアント間で暗号化されたプライベートデータと回復データを通信する方法を説明する例示的なフローチャートである。 本発明の一実施形態によるサーバとローミングクライアント間で回復データを通信する方法を説明する例示的フローチャートである。 本発明の一実施形態による暗号化パスワードなしでサーバからローミングクライアントに暗号化されたプライベートデータを回復する方法を説明する例示的フローチャートである。 本発明を実施することが可能な適切なコンピューティングシステム環境の一例を示すブロック図である。
符号の説明
102 ホームクライアントコンピュータ
104 通信ネットワーク
106、108 リモートクライアントコンピュータ
110 認証サーバ
112 データベース
132 処理装置
134 システムメモリ
136 システムバス
144、170 オペレーティングシステム
146、172 アプリケーションプログラム
148、174 他のプログラムモジュール
150、176 プログラムデータ
166 不揮発性メモリインタフェース
184 ユーザ入力インタフェース
186 ネットワークインタフェース
190 ビデオインタフェース
192 リモートアプリケーションプログラム
196 ローカルエリアネットワーク
198 ワイドエリアネットワーク
202 ホームクライアント
204 ウェブサーバ
206 クライアントアプリケーション
208 ホームユーザ
210 ウェブフォーム(HTML)
212 データ通信ネットワーク
214 メモリ
215 認証サービス
216 プライベートキー(PK)
217 ディスプレイ
218 暗号化アルゴリズム
219 入力装置
220 ユーザインタフェース
226 データベース
227 認証サービス
228 サーバローミングPKIアプリケーション
229 認証パスワード
230 ラッピングキー(K1)
232,233 プライベートデータ
234 プライベートキー
302 ローミングクライアント
304 ローミングクライアントアプリケーション
306 ローミングユーザ
310,311 暗号化データ
312 暗号解読アルゴリズム
408 回復キー(K2)
414 ラッピングキー
416 第1の暗号化された回復キー
421,422,423,425 書き込みデータ
424 バックアップキー(K3)
426 転送データ
428 第2の暗号化された回復キー
506,508,604,606,608 取り出したデータ
510,512,610,612,614 転送データ

Claims (32)

  1. データ通信ネットワークに接続されたコンピュータ間でプライベートデータを通信する方法であって、
    ネットワークサーバと第1のクライアントとが前記データ通信ネットワークに接続され、該サーバにとって未知のラッピングキーの関数として該第1のクライアントによって暗号化されたプライベートデータを該ネットワークサーバで受信することと、
    前記受信された暗号化プライベートデータを前記サーバで記憶することと、
    前記暗号化されたプライベートデータに対する第2のクライアントからの要求を前記サーバで受信することと、
    前記受信された要求に応答して、前記ラッピングキーの関数として解読するために、前記暗号化されたプライベートデータを前記サーバから前記第2のクライアントに転送することと
    を含むことを特徴とする方法。
  2. 前記暗号化されたプライベートデータを受信することは、暗号化されたプライベートキーを受信することを含み、該暗号化されたプライベートキーは、前記第1のクライアントに関連付けられ、かつ前記ラッピングキーの関数として暗号化されたプライベートキーを表し、該ラッピングキーは、該第1のクライアントのユーザから受け取られる暗号化パスワードに応答して前記第1のクライアントで生成されることを特徴とする請求項1に記載の方法。
  3. 前記暗号化されたプライベートキーを前記ラッピングキーの関数として前記第2のクライアントで解読することをさらに含み、該ラッピングキーは、前記第2のクライアントのユーザから受け取られる前記暗号化パスワードに応答して前記第2のクライアントで生成されることを特徴とする請求項2に記載の方法。
  4. 前記サーバに未知の回復キーの関数として前記第1のクライアントによって暗号化された前記ラッピングキーを前記サーバで受信することであって、該回復キーは、前記ユーザによって選択された回復のオプションに応答して該第1のクライアントで生成されることと、
    前記ラッピングキーの関数として前記第1のクライアントによって暗号化された前記回復キーを前記サーバで受信することと
    をさらに含むことを特徴とする請求項2に記載の方法。
  5. 暗号化されたプライベートデータが前記第1のクライアントから受信されるのに応答して前記サーバでバックアップキーを生成することと、
    前記生成されたバックアップキーを前記サーバに関連付けられたデータベースに記憶することと、
    前記第1のクライアントの前記ユーザから受信される回復の要求に応答して、前記記憶されたバックアップキーを取り出すことと、
    前記受信された回復要求に応答して、前記バックアップキーを前記サーバから前記データ通信ネットワークを介して前記第1のクライアントに転送することであって、前記第1のクライアントは、前記転送されたバックアップキーの関数として暗号化された前記回復キーを表すバックアップ用の暗号化された回復キーを生成して前記第1のクライアントに記憶し、前記バックアップキーは前記サーバに既知であることと
    をさらに含むことを特徴とする請求項4に記載の方法。
  6. 前記受信された回復要求に応答して、前記暗号化されたプライベートキーと前記暗号化されたラッピングキーを前記サーバから前記第1のクライアントに転送することをさらに備え、該第1のクライアントに記憶された前記バックアップ用の暗号化された回復キーが、前記転送されたバックアップキーの関数として該第1のクライアントで解読されて前記回復キーを取得し、前記暗号化されたラッピングキーが、前記取得された回復キーの関数として前記第1のクライアントで解読されて前記ラッピングキーを取得し、前記暗号化されたプライベートキーが、前記取得されたラッピングキーの関数として前記第1のクライアントで解読されて前記プライベートキーを取得することを特徴とする請求項5に記載の方法。
  7. 前記第2のクライアントのユーザから受信されたバックアップ要求に応答して、前記暗号化された回復キーと前記転送されたバックアップキーを前記第2のクライアントに転送することをさらに備え、該転送された暗号化回復キーが、該第2のクライアントで生成された前記ラッピングキーの関数として該第2のクライアントで解読されて前記回復キーを取得し、該第2のクライアントが、前記転送されたバックアップキーの関数として、前記取得した回復キーを暗号化して前記バックアップ用の暗号化された回復キーを生成し、前記第2のクライアントに関連付けられたメモリに記憶することを特徴とする請求項5に記載の方法。
  8. 前記第2のクライアントのユーザから受け取られた回復要求に応答して、前記サーバに関連付けられた前記データベースから前記記憶されたバックアップキーを取り出すことと、
    前記受け取られた回復要求に応答して前記バックアップキーを前記サーバから前記第2のクライアントに転送することと
    をさらに含むことを特徴とする請求項5に記載の方法。
  9. 前記第2のクライアントから前記データ通信ネットワークを介して受信された回復要求に応答して、前記暗号化されたプライベートキーと前記暗号化されたラッピングキーを前記サーバから前記第2のクライアントに転送することをさらに含み、該第2のクライアントに記憶された前記バックアップ用の暗号化された回復キーが、前記転送されたバックアップキーの関数として該第2のクライアントで解読されて前記回復キーを取得し、該暗号化されたラッピングキーが、該取得された回復キーの関数として該第2のクライアントで解読され、該暗号化されたプライベートキーが、該取得されたラッピングキーの関数として該第2のクライアントで解読されて前記プライベートキーを取得することを特徴とする請求項5に記載の方法。
  10. 前記第2のクライアントは、前記データ通信ネットワークに接続されたローミングクライアントコンピュータであることを特徴とする請求項1に記載の方法。
  11. 請求項1に記載の方法を行うコンピュータ実行可能命令を有することを特徴とする1つまたは複数のコンピュータ可読媒体。
  12. データ通信ネットワークでプライベートデータを通信するシステムであって、
    当該サーバに未知のラッピングキーの関数として第1のクライアントによって暗号化されたプライベートデータを受信するサーバであって、前記サーバと前記第1のクライアントは、前記データ通信ネットワークに接続されるサーバと、
    前記サーバに関連付けられたデータベースであって、前記サーバは、前記受信した暗号化プライベートデータを前記データベースに記憶し、第2のクライアントから受信される暗号化プライベートデータに対する要求に応答して、ラッピングキーの関数として解読するために、前記記憶された暗号化プライベートデータを、同じく前記データ通信ネットワークに接続された前記第2のクライアントに転送するように構成されるデータベースと
    を含むことを特徴とするシステム。
  13. 前記暗号化されたプライベートデータは、前記前記第1のクライアントに関連付けられ、前記ラッピングキーの関数として暗号化されたプライベートキーからなり、前記ラッピングキーは、前記第1のクライアントのユーザから受け取られる暗号化パスワードに応答して前記第1のクライアントで生成されることを特徴とする請求項12に記載のシステム。
  14. 前記第1のクライアントは、前記第1のクライアントで前記ラッピングキーを生成し、前記生成したラッピングキーの関数として前記プライベートデータを暗号化し、前記第1のクライアントに記憶される回復キーを生成するように構成されることを特徴とする請求項13に記載のシステム。
  15. 前記第2のクライアントは、前記第2のクライアントコンピュータで前記ラッピングキーを生成し、前記第2のクライアントで生成された前記ラッピングキーの関数として、前記転送された暗号化プライベートデータを解読するように構成され、前記ラッピングキーは、前記第2のクライアントのユーザから受け取られる暗号化パスワードに応答して前記第2のクライアントコンピュータで生成されることを特徴とする請求項13に記載のシステム。
  16. サーバアプリケーションを実施するコンピュータ可読命令をさらに備え、前記サーバは、前記第1のクライアントコンピュータのユーザから受け取られた記憶要求に応答して前記サーバアプリケーションを実行して、前記受信した暗号化データを前記データベースに記憶し、前記データベースに記憶するバックアップキーを生成し、前記生成したバックアップキーを前記第1のクライアントコンピュータに転送し、前記バックアップキーが前記第1のクライアントコンピュータによって使用されて、前記第1のクライアントコンピュータに記憶する第2の暗号化された回復キーを生成することを特徴とする請求項15に記載のシステム。
  17. 前記バックアップキーは、前記第1のクライアントから暗号化されたプライベートデータを受信するのに応答して前記サーバによって無作為に生成されることを特徴とする請求項16に記載のシステム。
  18. 前記受信される暗号化プライベートデータは、前記ラッピングキーの関数として暗号化された、前記第1のクライアントに関連付けられたプライベートキーを表す暗号化されたプライベートキーと、前記回復キーの関数として暗号化された前記ラッピングキーを表す暗号化ラッピングキーと、前記ラッピングキーの関数として暗号化された前記回復キーを表す第1の暗号化された回復キーとを含むことを特徴とする請求項17に記載のシステム。
  19. 前記サーバはさらに、前記第2のクライアントから受け取られるバックアップ要求に応答して、前記第1の暗号化された回復キーと前記バックアップキーとを前記第2のクライアントに転送するように構成され、前記バックアップ要求は、定義されたバックアップパスワードを含み、前記転送された第1の暗号化回復キーが、前記第2のクライアントコンピュータで生成された前記ラッピングキーの関数として前記第2のクライアントで解読されて前記回復キーを取得し、前記取得された回復キーが前記転送されたバックアップキーの関数として暗号化されて、前記第2のクライアントコンピュータに関連付けられたメモリに記憶する前記第2の暗号化回復キーを生成することを特徴とする請求項18に記載のシステム。
  20. 前記サーバはさらに、前記第2のクライアントコンピュータから受け取られる回復要求に応答して、前記暗号化されたプライベートキー、前記生成されたバックアップキー、および前記暗号化されたラッピングキーを前記第2のクライアントコンピュータに転送するように構成され、前記第2のクライアントコンピュータに関連付けられた前記メモリに記憶された前記第2の暗号化された回復キーが、前記転送されたバックアップキーの関数として前記第2のクライアントで解読されて前記回復キーを取得し、前記転送された暗号化ラッピングキーが、前記取得された回復キーの関数として前記第2のクライアントで解読されて前記ラッピングキーを取得し、前記転送された暗号化プライベートキーが、前記取得されたラッピングキーの関数として前記第2のクライアントで解読されて前記プライベートキーを取得することを特徴とする請求項19に記載のシステム。
  21. データ通信ネットワークに接続されたコンピュータ間でプライベートデータを通信するコンピュータ実行可能命令を備えるコンピュータ可読媒体であって、
    ネットワークサーバに未知のラッピングキーの関数として第1のクライアントによって暗号化されたプライベートデータを前記サーバで受信する第1の受信命令であって、前記サーバと前記第1のクライアントは、前記データ通信ネットワークに接続される第1の受信命令と、
    前記受信された暗号化プライベートデータを前記サーバに記憶する記憶命令と、
    前記暗号化されたプライベートデータに対する第2のクライアントからの要求を前記サーバで受信する第2の受信命令と、
    前記受信された要求に応答して、前記ラッピングキーの関数として解読するために前記暗号化されたプライベートデータを前記サーバから前記第2のクライアントに転送する転送命令とを備えることを特徴とするコンピュータ可読媒体。
  22. 前記第1の受信命令は、前記第1のクライアントに関連付けられ、前記ラッピングキーの関数として暗号化されたプライベートキーを表す暗号化されたプライベートキー(EK1PK)を受信する命令を含み、前記ラッピングキーは、前記第1のクライアントのユーザから受け取られる暗号化パスワードに応答して前記第1のクライアントで生成されることを特徴とする請求項21に記載のコンピュータ可読媒体。
  23. 前記転送命令は、前記暗号化されたプライベートキーを転送する命令を含み、前記暗号化されたプライベートキーは、前記ラッピングキーの関数として前記第2のクライアントで解読され、前記ラッピングキーは、前記第2のクライアントのユーザから受け取られた前記暗号化パスワードに応答して前記第2のクライアントで生成されることを特徴とする請求項22に記載のコンピュータ可読媒体。
  24. 前記第1の受信命令はさらに、前記サーバに未知の回復キーの関数として前記第1のクライアントによって暗号化された前記ラッピングキーを前記サーバで受信する命令であって、前記回復キーは、前記第1のクライアントを介して前記ユーザによって選択される回復のオプションに応答して前記第1のクライアントで生成される命令と、前記ラッピングキーの関数として前記第1のクライアントによって暗号化された前記回復キーを前記サーバで受信する命令とを含むことを特徴とする請求項22に記載のコンピュータ可読媒体。
  25. データ通信ネットワークに接続されたコンピュータ間でプライベートデータを通信する方法であって、
    暗号化されたプライベートデータに対するローミングクライアントからの要求をサーバで受信することであって、該要求は、認証パスワードのダイジェストまたはハッシュ値を含み、前記サーバと前記ローミングクライアントは、前記データ通信ネットワークに接続されていることと、
    前記ローミングクライアントから受信されたある形態の前記認証パスワードが有効であるかどうかを判定することと、
    前記ある形態の前記認証パスワードが有効である場合、前記サーバに未知の暗号化パスワードの関数として以前に暗号化されたプライベートデータを取り出すことと、
    前記ラッピングキーの関数として解読するために、前記取り出した暗号化プライベートデータを前記サーバから前記ローミングクライアントに転送することと
    を含むことを特徴とする方法。
  26. 前記暗号化されたプライベートデータを取り出すことは、暗号化されたプライベートキーを取り出すことを含み、前記暗号化されたプライベートキーは、前記ホームクライアントに関連付けられ、前記ラッピングキーの関数として暗号化されたプライベートキーを表し、前記ラッピングキーは、前記ホームクライアントのユーザから受け取られる暗号化パスワードに応答して前記ホームクライアントで生成されることを特徴とする請求項25に記載の方法。
  27. 前記転送された暗号化プライベートキーを前記ラッピングキーの関数として前記ローミングクライアントで解読することをさらに含み、前記ラッピングキーは、前記ローミングクライアントのユーザから受け取られる前記暗号化パスワードに応答して前記ローミングクライアントで生成されることを特徴とする請求項26に記載の方法。
  28. 前記サーバに未知の回復キーの関数として前記ホームクライアントで暗号化された前記ラッピングキーを取り出すことであって、前記回復キーは、前記ホームクライアントを介して前記ユーザによって選択された回復のオプションに応答して前記ホームクライアントで生成されることと、
    前記ラッピングキーの関数として前記ホームクライアントによって暗号化された前記回復キーを取り出すことと、
    前記暗号化された回復キーを、前記ローミングクライアントで生成された前記ラッピングキーの関数として前記ローミングクライアントで解読して、前記回復キーを取得することと、
    前記ローミングクライアントのユーザから受け取られるバックアップ要求に応答して、記憶されたバックアップキーを取り出すことであって、前記バックアップキーは、前記ホームクライアントから暗号化されたプライベートデータを受信するのに応答して前記サーバで生成されることと、
    前記受信された回復要求に応答して、セキュリティが保護された方式で前記バックアップキーを前記サーバから前記データ通信ネットワークを介して前記ローミングクライアントに転送することであって、前記ローミングクライアントは、前記取り出されたバックアップキーの関数として前記取得された回復キーを暗号化することと、
    前記転送されたバックアップキーの関数として暗号化された前記回復キーを表すバックアップ用の暗号化回復キーを前記ローミングクライアントに記憶することと
    を含むことを特徴とする請求項27に記載の方法。
  29. 前記ローミングクライアントのユーザから受け取られる回復要求に応答して前記記憶されたバックアップキーを取り出すことであって、前記バックアップキーは、前記ホームクライアントから暗号化されたプライベートデータを受信するのに応答して前記サーバで生成されることと、
    前記受信された回復要求に応答して、セキュリティが保護された方式で前記バックアップキーを前記サーバから前記データ通信ネットワークを介して前記ローミングクライアントに転送することであって、前記ローミングクライアントは、前記バックアップ用の暗号化回復キーを解読して前記回復キーを取得することと
    をさらに含むことを特徴とする請求項28に記載の方法。
  30. 前記受信された回復要求に応答して前記暗号化されたプライベートキーと前記暗号化されたラッピングキーを前記サーバから前記ローミングクライアントに転送することをさらに含み、前記暗号化されたラッピングキーが、前記取得された回復キーの関数として前記ローミングクライアントで解読されて前記ラッピングキーを取得し、前記暗号化されたプライベートキーが前記取得されたラッピングキーの関数として前記ローミングクライアントで解読されて前記プライベートキーを取得することを特徴とする請求項29に記載の方法。
  31. データ構造が記憶されたコンピュータ可読媒体であって、該データ構造は、
    プライベートデータを含む第1のデータフィールドと、
    ユーザから受け取られた入力データストリームを表す鍵データを含む第2のデータフィールドと、
    前記鍵データの関数として前記プライベートデータを暗号化し、前記暗号化されたプライベートデータを記憶装置の中心位置に転送するための第3の機能フィールドと
    を備えることを特徴とするコンピュータ可読媒体。
  32. 前記暗号化されたプライベートデータは、暗号化されたプライベートキーを含み、前記暗号化されたプライベートキーは、ホームクライアントに関連付けられ、ラッピングキーの関数として暗号化されたプライベートキーを表し、前記ラッピングキーは、前記ホームクライアントのユーザから受け取られた暗号化パスワードに応答して前記ホームクライアントで生成されることを特徴とする請求項31に記載のコンピュータ可読媒体。
JP2005108017A 2004-04-02 2005-04-04 プライベートデータを露出せずに通信ネットワークを介してパスワードで保護されたプライベートデータを回復する方法およびシステム Expired - Fee Related JP4907895B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/816,756 2004-04-02
US10/816,756 US7379551B2 (en) 2004-04-02 2004-04-02 Method and system for recovering password protected private data via a communication network without exposing the private data

Publications (3)

Publication Number Publication Date
JP2005295570A true JP2005295570A (ja) 2005-10-20
JP2005295570A5 JP2005295570A5 (ja) 2008-05-15
JP4907895B2 JP4907895B2 (ja) 2012-04-04

Family

ID=34887771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005108017A Expired - Fee Related JP4907895B2 (ja) 2004-04-02 2005-04-04 プライベートデータを露出せずに通信ネットワークを介してパスワードで保護されたプライベートデータを回復する方法およびシステム

Country Status (8)

Country Link
US (1) US7379551B2 (ja)
EP (1) EP1583322A2 (ja)
JP (1) JP4907895B2 (ja)
KR (1) KR101130415B1 (ja)
CN (1) CN1697367B (ja)
BR (1) BRPI0502257A (ja)
CA (1) CA2503271A1 (ja)
MX (1) MXPA05003549A (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3406140B2 (ja) * 1996-01-18 2003-05-12 シャープ株式会社 カラー画像読み取り装置
US8392612B2 (en) * 2003-12-24 2013-03-05 Apple Inc. Replication server selection method
US7617501B2 (en) 2004-07-09 2009-11-10 Quest Software, Inc. Apparatus, system, and method for managing policies on a computer having a foreign operating system
US20060041932A1 (en) * 2004-08-23 2006-02-23 International Business Machines Corporation Systems and methods for recovering passwords and password-protected data
JP2006146308A (ja) * 2004-11-16 2006-06-08 Hitachi Ltd ストレージシステムおよびバックアップ管理方法
US20070083917A1 (en) * 2005-10-07 2007-04-12 Peterson Matthew T Apparatus system and method for real-time migration of data related to authentication
FR2892876A1 (fr) * 2005-11-02 2007-05-04 Gemplus Sa Procede de depot securise de donnees numeriques, procede associe de recuperation de donnees numeriques, dispositifs associes pour la mise en oeuvre des procedes, et systeme comprenant les dits dispositifs
US7904949B2 (en) 2005-12-19 2011-03-08 Quest Software, Inc. Apparatus, systems and methods to provide authentication services to a legacy application
US8296827B2 (en) * 2005-12-29 2012-10-23 International Business Machines Corporation Method for enabling an administrator to configure a recovery password
US20070168656A1 (en) * 2005-12-29 2007-07-19 Paganetti Robert J Method for enabling a user to initiate a password protected backup of the user's credentials
US8087075B2 (en) 2006-02-13 2011-12-27 Quest Software, Inc. Disconnected credential validation using pre-fetched service tickets
US20070240226A1 (en) * 2006-03-28 2007-10-11 Samsung Electronics Co., Ltd. Method and apparatus for user centric private data management
GB2437558B (en) 2006-04-19 2010-12-15 Thales Holdings Uk Plc Privacy protection system
US8005223B2 (en) 2006-05-12 2011-08-23 Research In Motion Limited System and method for exchanging encryption keys between a mobile device and a peripheral device
US8670566B2 (en) * 2006-05-12 2014-03-11 Blackberry Limited System and method for exchanging encryption keys between a mobile device and a peripheral output device
US8429712B2 (en) * 2006-06-08 2013-04-23 Quest Software, Inc. Centralized user authentication system apparatus and method
US20080040613A1 (en) * 2006-08-14 2008-02-14 David Carroll Challener Apparatus, system, and method for secure password reset
US8086710B2 (en) 2006-10-30 2011-12-27 Quest Software, Inc. Identity migration apparatus and method
US7895332B2 (en) 2006-10-30 2011-02-22 Quest Software, Inc. Identity migration system apparatus and method
US7904947B2 (en) * 2007-03-22 2011-03-08 Glynntech, Inc. Gateway log in system with user friendly combination lock
US8484464B2 (en) 2007-06-15 2013-07-09 Research In Motion Limited Method and devices for providing secure data backup from a mobile communication device to an external computing device
US20100250939A1 (en) * 2009-02-26 2010-09-30 Research In Motion Limited System and method of handling encrypted backup data
US8171564B2 (en) * 2009-04-17 2012-05-01 Ericsson Television Inc. Systems and methods for one-to-many secure video encryption
US8255984B1 (en) 2009-07-01 2012-08-28 Quest Software, Inc. Single sign-on system for shared resource environments
US8478996B2 (en) * 2009-12-21 2013-07-02 International Business Machines Corporation Secure Kerberized access of encrypted file system
GB201000288D0 (en) * 2010-01-11 2010-02-24 Scentrics Information Security System and method of enforcing a computer policy
US9106721B2 (en) * 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9294267B2 (en) * 2012-11-16 2016-03-22 Deepak Kamath Method, system and program product for secure storage of content
US9787672B1 (en) * 2013-03-15 2017-10-10 Symantec Corporation Method and system for smartcard emulation
CN103413086B (zh) * 2013-08-23 2016-08-10 杭州华三通信技术有限公司 一种解决可信移动存储介质安全漫游的方法及装置
US9785787B2 (en) * 2013-09-30 2017-10-10 Juniper Networks, Inc. Encrypting images on a client device for secure transmission and storage on a storage device
US9270449B1 (en) * 2014-01-17 2016-02-23 Amazon Technologies, Inc. Secured communication in network environments
IN2014CH00971A (ja) * 2014-02-26 2015-08-28 Samsung R & D Inst India Bangalore Private Ltd
EP3155754B1 (en) * 2014-06-13 2018-10-24 Bicdroid Inc. Methods, systems and computer program product for providing encryption on a plurality of devices
US9703979B1 (en) 2014-06-13 2017-07-11 BicDroid Inc. Methods and computer program products for encryption key generation and management
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US9509500B2 (en) * 2015-03-31 2016-11-29 Here Global B.V. Method and apparatus for migrating encrypted data
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
US10432589B1 (en) * 2015-07-31 2019-10-01 Symphony Communication Services Holdings Llc Secure end-to-end communications
US10237246B1 (en) 2015-07-31 2019-03-19 Symphony Communication Services Holdings Llc Secure message search
US9565020B1 (en) * 2016-02-02 2017-02-07 International Business Machines Corporation System and method for generating a server-assisted strong password from a weak secret
CN105763763B (zh) * 2016-02-05 2018-08-31 重庆工商职业学院 一种图像加密方法
US10819709B1 (en) 2016-09-26 2020-10-27 Symphony Communication Services Holdings Llc Authorizing delegated capabilities to applications in a secure end-to-end communications system
US10972445B2 (en) 2017-11-01 2021-04-06 Citrix Systems, Inc. Dynamic crypto key management for mobility in a cloud environment
JP2019149763A (ja) * 2018-02-28 2019-09-05 オムロン株式会社 データの処理方法、制御システム、制御装置
US11252161B2 (en) * 2018-04-19 2022-02-15 PIV Security LLC Peer identity verification
US10812267B2 (en) * 2018-11-05 2020-10-20 International Business Machines Corporation Secure password lock and recovery
CN111836262B (zh) * 2020-07-13 2022-08-12 中国联合网络通信集团有限公司 一种鉴权方法及装置
CN112613058A (zh) * 2020-12-30 2021-04-06 绿盟科技集团股份有限公司 一种加密密钥的找回方法、装置、电子设备及存储介质
KR102682578B1 (ko) 2021-12-13 2024-07-08 서울과학기술대학교 산학협력단 스마트 컨트랙트를 이용한 tmto 암호 해독 시스템 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05224604A (ja) * 1991-09-27 1993-09-03 Internatl Business Mach Corp <Ibm> パスフレーズを用いて公用および私用キーペアを生成する方法およびその装置
JPH08171535A (ja) * 1993-10-04 1996-07-02 Addison M Fischer コンピュータ・データの機密保護方法
JPH10177341A (ja) * 1996-07-26 1998-06-30 Nippon Telegr & Teleph Corp <Ntt> Rsa暗号における秘密鍵預託方法およびシステム
JPH11215117A (ja) * 1997-10-20 1999-08-06 Sun Microsyst Inc 鍵の符号化及び回復方法及び装置
JPH11239124A (ja) * 1998-02-23 1999-08-31 Nippon Telegr & Teleph Corp <Ntt> 秘密鍵回復方法および装置
JP2003198524A (ja) * 2001-12-27 2003-07-11 Ntt Advanced Technology Corp 暗号鍵回復装置、中継装置、及び預託装置

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535279A (en) * 1994-12-15 1996-07-09 Pitney Bowes Inc. Postage accounting system including means for transmitting a bit-mapped image of variable information for driving an external printer
US5812776A (en) * 1995-06-07 1998-09-22 Open Market, Inc. Method of providing internet pages by mapping telephone number provided by client to URL and returning the same in a redirect command by server
AR003524A1 (es) * 1995-09-08 1998-08-05 Cyber Sign Japan Inc Un servidor de verificacion para ser utilizado en la autenticacion de redes de computadoras.
US6088451A (en) * 1996-06-28 2000-07-11 Mci Communications Corporation Security system and method for network element access
US5937066A (en) * 1996-10-02 1999-08-10 International Business Machines Corporation Two-phase cryptographic key recovery system
US7062781B2 (en) * 1997-02-12 2006-06-13 Verizon Laboratories Inc. Method for providing simultaneous parallel secure command execution on multiple remote hosts
JP3656688B2 (ja) * 1997-03-31 2005-06-08 栄司 岡本 暗号データ回復方法及び鍵登録システム
US5944824A (en) * 1997-04-30 1999-08-31 Mci Communications Corporation System and method for single sign-on to a plurality of network elements
JP3595109B2 (ja) * 1997-05-28 2004-12-02 日本ユニシス株式会社 認証装置、端末装置、および、それら装置における認証方法、並びに、記憶媒体
US6272631B1 (en) * 1997-06-30 2001-08-07 Microsoft Corporation Protected storage of core data secrets
JPH1127253A (ja) * 1997-07-07 1999-01-29 Hitachi Ltd 鍵回復システム、鍵回復装置、鍵回復プログラムを記憶した記憶媒体、および鍵回復方法
US6160891A (en) * 1997-10-20 2000-12-12 Sun Microsystems, Inc. Methods and apparatus for recovering keys
US6725376B1 (en) * 1997-11-13 2004-04-20 Ncr Corporation Method of using an electronic ticket and distributed server computer architecture for the same
US6246771B1 (en) * 1997-11-26 2001-06-12 V-One Corporation Session key recovery system and method
US6363365B1 (en) * 1998-05-12 2002-03-26 International Business Machines Corp. Mechanism for secure tendering in an open electronic network
US6138235A (en) 1998-06-29 2000-10-24 Sun Microsystems, Inc. Controlling access to services between modular applications
AU1631200A (en) * 1998-11-19 2000-06-05 Arcot Systems, Inc. Method and apparatus for secure distribution of authentication credentials to roaming users
FR2793367B1 (fr) * 1999-05-03 2004-09-10 Jean Luc Stehle Dispositif d'authentification et de securisation pour un reseau informatique
GB2350981A (en) * 1999-06-11 2000-12-13 Int Computers Ltd Cryptographic key recovery
US6760752B1 (en) * 1999-06-28 2004-07-06 Zix Corporation Secure transmission system
KR100315387B1 (ko) * 1999-08-02 2001-11-26 윤금 개인키 및 사용자 인증서 관리 시스템 및 그 관리 방법
US20020095389A1 (en) * 1999-10-05 2002-07-18 Gaines Robert Vallee Method, apparatus and system for identity authentication
IL135555A0 (en) 2000-04-09 2001-05-20 Vidius Inc Preventing unauthorized access to data sent via computer networks
US20010037462A1 (en) * 2000-05-01 2001-11-01 Bengtson Michael B. Method and apparatus for obtaining a printed copy of a document via the internet
US7194764B2 (en) * 2000-07-10 2007-03-20 Oracle International Corporation User authentication
US7395549B1 (en) 2000-10-17 2008-07-01 Sun Microsystems, Inc. Method and apparatus for providing a key distribution center without storing long-term server secrets
US20020071567A1 (en) * 2000-12-12 2002-06-13 Kurn David Michael Scalable computer system using remote agents to manipulate cryptographic keys
US20020152393A1 (en) * 2001-01-09 2002-10-17 Johannes Thoma Secure extensible computing environment
GB2373418A (en) * 2001-03-16 2002-09-18 Kleinwort Benson Ltd Method and system to provide and manage secure access to internal computer systems from an external client
US20020150253A1 (en) * 2001-04-12 2002-10-17 Brezak John E. Methods and arrangements for protecting information in forwarded authentication messages
US7243366B2 (en) * 2001-11-15 2007-07-10 General Instrument Corporation Key management protocol and authentication system for secure internet protocol rights management architecture
US7246230B2 (en) * 2002-01-29 2007-07-17 Bea Systems, Inc. Single sign-on over the internet using public-key cryptography
US7818792B2 (en) * 2002-02-04 2010-10-19 General Instrument Corporation Method and system for providing third party authentication of authorization
KR20030069545A (ko) * 2002-02-21 2003-08-27 주식회사 엘지이아이 이메일 암호화 방법
US20030163691A1 (en) * 2002-02-28 2003-08-28 Johnson Ted Christian System and method for authenticating sessions and other transactions
KR100681005B1 (ko) * 2002-04-22 2007-02-08 소프트포럼 주식회사 키 로밍 방법 및 그를 위한 시스템
US7203844B1 (en) * 2002-06-20 2007-04-10 Oxford William V Method and system for a recursive security protocol for digital copyright control
US6931133B2 (en) * 2002-09-03 2005-08-16 Verisign, Inc. Method and system of securely escrowing private keys in a public key infrastructure
US7415115B2 (en) * 2003-05-14 2008-08-19 Broadcom Corporation Method and system for disaster recovery of data from a storage device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05224604A (ja) * 1991-09-27 1993-09-03 Internatl Business Mach Corp <Ibm> パスフレーズを用いて公用および私用キーペアを生成する方法およびその装置
JPH08171535A (ja) * 1993-10-04 1996-07-02 Addison M Fischer コンピュータ・データの機密保護方法
JPH10177341A (ja) * 1996-07-26 1998-06-30 Nippon Telegr & Teleph Corp <Ntt> Rsa暗号における秘密鍵預託方法およびシステム
JPH11215117A (ja) * 1997-10-20 1999-08-06 Sun Microsyst Inc 鍵の符号化及び回復方法及び装置
JPH11239124A (ja) * 1998-02-23 1999-08-31 Nippon Telegr & Teleph Corp <Ntt> 秘密鍵回復方法および装置
JP2003198524A (ja) * 2001-12-27 2003-07-11 Ntt Advanced Technology Corp 暗号鍵回復装置、中継装置、及び預託装置

Also Published As

Publication number Publication date
CN1697367B (zh) 2011-06-08
KR101130415B1 (ko) 2012-03-27
CN1697367A (zh) 2005-11-16
KR20060045440A (ko) 2006-05-17
MXPA05003549A (es) 2005-10-06
CA2503271A1 (en) 2005-10-02
US7379551B2 (en) 2008-05-27
JP4907895B2 (ja) 2012-04-04
EP1583322A2 (en) 2005-10-05
BRPI0502257A (pt) 2005-11-08
US20050223216A1 (en) 2005-10-06

Similar Documents

Publication Publication Date Title
JP4907895B2 (ja) プライベートデータを露出せずに通信ネットワークを介してパスワードで保護されたプライベートデータを回復する方法およびシステム
CN101605137B (zh) 安全分布式文件系统
CN102271037B (zh) 基于在线密钥的密钥保护装置
US7688975B2 (en) Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
EP1959368B1 (en) Security link management in dynamic networks
KR101054970B1 (ko) 개인 정보를 포함하는 전자 증명서를 이용하여 통신 상대를 인증하기 위한 시스템, 장치, 방법, 및 컴퓨터 판독 가능한 기록 매체
JP4615601B2 (ja) コンピュータセキュリティシステムおよびコンピュータセキュリティ方法
US20140068267A1 (en) Universal secure messaging for cryptographic modules
CN113545006A (zh) 远程授权访问锁定的数据存储设备
US12052243B2 (en) Personalized security system
JP2008123490A (ja) データストレージデバイス
US20070195998A1 (en) Method, system, personal security device and computer program product for cryptographically secured biometric authentication
JP2009526322A (ja) 変化識別子を使用するセキュアなデジタル・コンテンツ管理
JP2004288169A (ja) ネットワーク接続システム
CN113557689A (zh) 用管理器设备初始化数据存储设备
US12225111B2 (en) Authorization requests from a data storage device to multiple manager devices
US12118103B2 (en) Certificates in data storage devices
JP2009199147A (ja) 通信制御方法および通信制御プログラム
US12101418B2 (en) Cryptographic keys for authorization requests from a data storage device
KR101987579B1 (ko) 웹 메일과 otp 및 디피 헬만 키교환을 이용한 보안메일의 송수신 방법 및 시스템
JP2018201090A (ja) 認証システム、及び認証サーバ装置
TW202338644A (zh) 資料檔案傳輸以及取用權限管理系統與方法
CN114531235A (zh) 一种端对端加密的通信方法及系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080401

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110425

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110722

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

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

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

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4907895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

LAPS Cancellation because of no payment of annual fees