(57)【特許請求の範囲】
【請求項１】
各々通信機能を有する第１の機器から第２の機器へアプリケーションを移行させる方法であって、
第１の登録サーバが、前記第１の機器のユーザに関するユーザ情報および当該第１の登録サーバのアドレスを内包する第１のデバイスレコードを格納するステップと、
第２の登録サーバが、前記第２の機器のユーザに関するユーザ情報および前記第１の登録サーバのアドレスを内包する第２のデバイスレコードを格納するステップと、
前記第１の機器が、前記第１の機器において実行されているアプリケーションを他の機器において実行するために必要なアプリケーション関連情報を、前記第１の登録サーバおよび前記第２の機器に送信するステップと、
前記第２の機器が、前記第２の登録サーバから前記第２のデバイスレコードを取得し、該第２のデバイスレコードに内包される前記第１の登録サーバのアドレスを用いて前記第１の登録サーバへアクセスするステップと、
前記第２の機器が、前記第１の登録サーバから前記第１の機器のユーザに関連付けられた機器を記述したユーザリストを取得するステップと、
前記第２の機器が、前記ユーザリストに登録された機器に含まれる第３の機器を特定するステップと、
前記第２の機器が、前記アプリケーション関連情報と前記第２の機器のアドレスとを前記第３の機器へ送信するステップと、
前記第３の機器が、前記第１の登録サーバからアプリケーション関連情報を取得するステップと、
前記第３の機器が、前記第１の登録サーバからアプリケーション関連情報と前記第２の機器から受信したアプリケーション関連情報とが一致するか否かを判定するステップと、
前記第３の機器が、前記判定が肯定的であった場合、ログイン情報、前記アプリケーション関連情報、および前記第３の機器のアドレスを前記第１の登録サーバへ送信するステップと、
前記第１の登録サーバが、前記第３の機器から受信した前記ログイン情報および前記アプリケーション関連情報を、前記第１の登録サーバに格納されているデバイスレコードおよびアプリケーション関連情報と比較し、当該情報が全て一致する場合に、移行許可メッセージを前記第２の機器に送信する許可ステップと、
前記第１の機器が前記第２の機器へ前記アプリケーションを移行する移行ステップと
を有するアプリケーション移行方法。
【請求項２】
前記アプリケーション関連情報には、セッション共通ＩＤ、アプリケーション名、およびアプリケーションパスワードが含まれる
ことを特徴とする請求項１に記載のアプリケーション移行方法。
【請求項３】
前記第１のデバイスレコードおよび第２のデバイスレコードには、それぞれ前記第１の登録サーバまたは前記第２の登録サーバとの間で暗号化通信を行うために必要な公開鍵が含まれる
ことを特徴とする請求項１に記載のアプリケーション移行方法。
【請求項４】
前記第１の機器および前記第２の機器が、それぞれ前記第１のデバイスレコードまたは前記第２のデバイスレコードを格納するステップを更に有する
ことを特徴とする請求項１に記載のアプリケーション移行方法。
【請求項５】
前記第１の機器および前記第２の機器に格納されるデバイスレコードを、それぞれ前記第１の登録サーバおよび前記第２の登録サーバに格納されているデバイスレコードに更新するステップを更に有する
ことを特徴とする請求項４に記載のアプリケーション移行方法。
【請求項６】
前記第１のデバイスレコードおよび前記第２のデバイスレコードには、それぞれ各機器の機能を表す機能情報および各機器においてユーザが利用することができる機能を表す指標である特権レベルが含まれ、
前記許可ステップ後に、前記第２の機器が、前記第２の機器に係る機能情報および特権レベルを前記第１の機器へ送信するステップと、
前記第１の機器が、前記第２の機器から受信した前記機能情報および前記特権レベルが前記アプリケーションの実行に適切であるか否かを判定するステップと
を更に有し、
前記第１の機器が、当該判定が肯定的であった場合に、前記移行ステップを実行する
ことを特徴とする請求項４に記載のアプリケーション移行方法。
【請求項７】
前記第１のデバイスレコードおよび前記第２のデバイスレコードには、それぞれ各機器の機能を表す機能情報および各機器においてユーザが利用することができる機能を表す指標である特権レベルが含まれ、
前記許可ステップ後に、前記第２の機器が、前記第２の機器に係る機能情報および特権レベルを前記第１の機器へ送信するステップと、
前記第１の機器が、前記第２の機器から受信した前記機能情報および前記特権レベルが前記アプリケーションの実行に適切であるか否かを判定するステップと、
前記第２の機器のリソース容量が前記アプリケーションを完全に実行するのに十分でない場合、前記第１の機器が、少なくとも１つの機器からデバイスレコードを取得し、当該デバイスレコードに含まれる機能情報及び特権レベルに基づき第４の機器を決定するステップと、
前記アプリケーションを構成する第１の部分を前記第２の機器へ移行し、前記アプリケーションを構成する第２の部分を前記第４の機器へ移行するステップと
を更に有することを特徴とする請求項４に記載のアプリケーション移行方法。
【請求項８】
各々通信手段を有する第１の機器、第２の機器、第３の機器、第１の登録サーバおよび第２の登録サーバを用いて、前記第１の機器から前記第２の機器へアプリケーションを移行するための通信システムであって、
前記第１の機器は、
前記第１の機器において実行されているアプリケーションを他の機器において実行するために必要なアプリケーション関連情報を生成する手段と、
前記第１の機器から前記第２の機器へ前記アプリケーションを移行する手段とを備え、
前記第２の機器は、
前記第２の登録サーバから第２のデバイスレコードを取得し、該第２のデバイスレコードに内包される前記第１の登録サーバのアドレスを抽出する手段と、
前記第１の登録サーバから取得した、前記第１の機器のユーザに関連付けられた機器を記述したユーザリストに基づいて前記第３の機器を特定する手段とを備え、
前記第３の機器は、
前記第１の登録サーバから取得したアプリケーション関連情報と、前記第２の機器から受信したアプリケーション関連情報とが一致するか否かを判定する手段と、
ログイン情報を取得する手段とを備え、
前記第１の登録サーバは、
前記第１の機器のユーザに関するユーザ情報および当該第１の登録サーバのアドレスを内包する第１のデバイスレコードと、前記アプリケーション関連情報とを格納するデータベースと、
前記第３の機器から受信したログイン情報および前記アプリケーション関連情報を、前記第１の登録サーバに格納されているデバイスレコードおよびアプリケーション関連情報と比較し、当該情報が全て一致する場合に、移行許可メッセージを前記第２の機器に送信する許可手段とを有し、
第２の登録サーバは、前記第２の機器のユーザに関するユーザ情報および前記第１の登録サーバのアドレスを内包する第２のデバイスレコードを格納するデータベースを有する
ことを特徴とする通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、個人用機器が接続している通信ネットワークにおいて、アプリケーションの移行（マイグレーション）およびデバイスリソースの共有を安全に行うためのシステムおよび方法に関するものである。
【０００２】
【従来の技術】
近年では、パーソナルコンピュータ、ＰＤＡ（personal digital assistants）、携帯電話、およびポケットベル等の個人用電子機器が普及している。これらの電子機器には、無線若しくは有線通信ネットワークを介して、映像、若しくは音声通信を行うためのさまざまな機能が備わっている。通信ネットワークはこれらの機器を相互に接続している。通常、通信ネットワークにはインターネットが含まれている。
個人用電子機器のユーザは、一般的には、サービスプロバイダを介して通信ネットワークアクセスする。具体的には、サービスプロバイダは、通信ネットワークにアクセスするためのデータチャネルをユーザに提供する。ここで、サービスプロバイダがユーザの身元を確認するまで、ユーザはデータチャネルにアクセスすることができない。確認が終わると、ユーザには情報の送受信のためのデータチャネルにアクセスする許可が与えられる。さらに、サービスプロバイダは、ユーザごとに異なった情報や機能を与える場合もある。
【０００３】
また、これらの多くの個人用電子機器は機動性を備えているため、機器の間でアプリケーションの移行（マイグレーション）をおこなうことが可能である。マイグレーションによって、アプリケーションを、その状態を保ったままで、ある機器から別の機器へ移動させることができる。例えば、カレンダアプリケーションを該ユーザのデスクトップコンピュータ上で実行し、ビジネス旅行の計画を練っているユーザがいるとする。該ユーザは、そのアプリケーションを自分のＰＤＡに移し、席を離れた後もそのＰＤＡで仕事の続きをすることができる。このような場合、アプリケーションは通信ネットワークを介して機器の間を移行される。
【０００４】
【発明が解決しようとする課題】
従来、ユーザの確認は、一元的なセキュリティ管理システムによって行われる。このセキュリティシステムにおいては、一つのサーバ（あるいはサーバクラスタ）に全てのユーザ情報が格納されてなくではならず、加えて、ユーザ情報の修正、認証、権限の付与も当該サーバ若しくはサーバクラスタが行う必要がある。従って、このような一元的なセキュリティ管理システムにおいては、個人用電子機器が頻繁に使用された場合でも、その処理に耐えうるような高性能のサーバ（サーバクラスタ）が必要である。さらに、サーバが処理をできたとしても、このセキュリティシステムおよび対応するセキュリティシステムを用いて提供されるセキュリティサービスの提供者が、ユーザ情報を管理しきれなくなる可能性もある。このような場合、ユーザの個人情報がきちんと保護されなくなる虞もでてくる。
【０００５】
さらに、アプリケーションが移行される度に認証および許可が必要となる場合も考えられる。特に、あるユーザが、別のユーザの所有する機器を使って通信ネットワークに接続する場合がそうである。このような場合、後者のユーザの所有する機器から、前者のユーザのデータをダウンロードする必要があるという状況も考えられる。ダウンロードデータを暗号化、復号化することも考えられるが、後者のユーザの所有する機器が適切な暗号化・復号化機能をもっていない場合はそれも困難である。このような場合、認証処理等のセキュリティに関する処理は膨大になり、一元的に管理するのはますます困難になる。加えて、前者のユーザがダウンロードを許可された後の、移行中および認証中のアプリケーションのセキュリティに関しても問題があった。
【０００６】
さらに、移行されたアプリケーションを実行する機器において、ユーザに応じて機器の使用の制限を行う必要がある場合もある。例えば、無線電話においては、総通話時間若しくはウェブサイトへのアクセスに制限をかけた方が良いと考えるユーザもいるであろう。一方、別のユーザは、同一のアプリケーションが同一の機器で実行されている場合は、もっと制限を緩めるかあるいは一切の制限を設けないほうが都合が良いと考えるかもしれない。あるいは、あるアプリケーションが複数の機器において実行されている場合、当該アプリケーションに制限をかける必要がない場合もある。例えば、デスクストップコンピュータから有線で通信ネットワークに接続しているとき、無線電話の総通話時間に制限を設ける必要がないというような場合である。しかしながら、個人用機器の爆発的な普及とともに、このようなユーザに応じたアクセス制限を設定する処理の量は急激に増加すると考えられる。
【０００７】
本発明は、上記の事情を考慮してなされたものであり、アプリケーションの移行およびデバイスリソースの共有を安全に行うためのシステムおよび方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、ネットワークを介して通信する個人用機器に対して、認証（authentication）および確認（verification）を行うための登録システムを開示する。この登録システムは、少なくとも一つの個人用機器と、少なくとも一つの登録サーバから構成される分散構造である。本登録システムにおいて、個人用機器の複数のグループの登録を行う登録サーバを複数設け、各々を別個独立に動作させてもよい。このような分散化手法を採用することにより、ユーザ登録情報の拡散を防ぎ、従って個人情報の保護がより一層図れるような拡張性のあるシステムが容易に実現される。
【０００９】
本発明の登録システムは、更に、権限付与（Authorization）および認証を行う。個人用機器の所有者は、登録サーバに対して機器を登録することができる。登録サーバはセキュリティ情報のデータベースを有しており、機器ごとのセキュリティ情報には、所有者のデータおよびデバイスレコードが含まれている。デバイスレコードには、個人用機器利用する可能性のあるユーザ（以下、見込みユーザと呼ぶ）の識別情報が、その特権レベルとともに格納されている。特権レベルとは、個人用機器の有する機能のうち、どの機能までユーザが利用することができるかを示す指標である。あるユーザが個人用機器を操作すると、当該機器と関連図けられたデバイスレコードが、当該ユーザは当該機器を利用する権限を有していることを確認し、特権レベルを設定する。このようにして、当該機器を操作する権限を有する複数のユーザ間で、個人用携帯機器を共有することができる。
【００１０】
本発明の登録システムによって、安全に、二つの個人用機器の間でアプリケーションの移行を行うことが可能になる。ここで、第一の機器と第一の所有者とは異な者が所有する第二の機器は、異なる登録サーバに登録されても良い。両機器間における移アプリケーションの移行およびユーザの認証・確認は、それぞれの登録サーバが有する情報に基づいて行われる。どちらかの登録サーバが利用できなくなった場合、片方の登録サーバが、格納されているセキュリティ情報を用いて安全にマイグレーションを実行することとしてもよい。
【００１１】
この登録システムは、更に、セキュリティが確保されていない状態で重要な情報が送信されるのを防止する機能を有する。具体的には、この機能には、セキュリティが維持できることが信頼された個人用機器のログイン情報の入力を許可することによって実現される。さらに、暗号鍵・復号鍵を用いるのに加え、複数の登録サーバ間をリンクすることによって、この機能を実現してもよい。こうすることで、ネットワークを介した安全な通信を行うことが可能になる。なお、この信頼された個人用機器は、現在ログイン情報を要求している機器とは別の機器であっても構わない。
【００１２】
本発明の更に別の興味深い機能として、個人用機器のピアグループ内での移行に適したセキュリティ機能および認証機能がある。ある態様においては、アプリケーションは要素、すなわち第一の部分と第二の部分とに分割される。この場合、第一の部分は移動先の機器へ安全に移動される。第二の部分のうちの少なくとも一つは、その相手先機器の属するピアグループ内の他の機器へ安全に移行される。
【００１３】
本発明のその他の目的および有利な効果は、以下の記載および図面から導かれる。以下に、本発明の好適な態様を示す。
【００１４】
【発明の実施の形態】
本実施形態の登録システムは、ネットワーク環境におけるセキュリティ機能を提供する。この登録システムは、分散型構造をとっており、アプリケーションユーザとユーザが実行しているアプリケーションとの両方の認証および権限の付与を行う。この認証機能および権限付与機能によって、権限をもたないユーザによるアプリケーションやデータへのアクセス、および現在実行中のアプリケーションの改変等を防止することができる。また、本登録システムにおいては、実行中のアプリケーションを異なるハードウェアプラットフォームへ移行させることが可能である。さらに、アプリケーションを実行するユーザに割り当てられた特権レベルに基づいて、複数のユーザ間でハードウェアリソースを共有することも可能である。加えて、通信ネットワークを介してデータを安全に送受信することができる。さらに、アプリケーションが改変されていないか、若しくは破損していないかをチェックするための認証機能を備える。
【００１５】
以下、図面を参照しながら、本発明の好ましい実施形態を具体的に説明する。図１は、本発明の登録システム１０の一態様を示すものである。登録システム１０は、ネットワーク１２、ネットワーク１２に接続された少なくとも一の個人用機器１４、およびネットワーク１２に接続された少なくとも一の登録サーバ１６を有している。ここで、「接続された」とは、電気的・光学的に直に接続されていても良いし、機器等の間のインタフェースを介して接続されるような形態であっても良い。
【００１６】
ネットワーク１２は、例えばインターネット、公衆ネットワーク、専用ネットワーク、イントラネット、エクストラネットを含んでいても良い。要は、データおよびコマンドを送受信可能なネットワーク形態であれば良い。ネットワーク１２は、機器間若しくはアプリケーション間における相互接続に用いられる通信ソフトウェアアプケーションおよびハードウェアデバイスを含んでいると広く解釈しなくてはならない。例えば、インターネットと相互接続するためには、モデム、ケーブルモデム、ＩＳＤＮ接続用機器、ＤＳＬ接続用機器、光ファイバ接続用機器、衛星通信による接続用の機器、無線接続用機器、Bluetooth接続等の通信インタフェース機器等を用いてサービスプロバイダと接続することになる。同様に、イントラネット、エクストラネットにおいても、種々の機器を相互に接続し通信経路を形成するために必要な通信ソフトウェアアプケーションおよび種々のネットワーク機器（ネットワークカード、ケーブル、ハブ、ルータ等）を介して相互接続されることになる。
【００１７】
ネットワーク１２内で行われる通信は、有線接続による通信システムを含む通信媒体によって行われても良いし、無線接続による通信システムでもよいし、あるいは両方を組み合わせたものであってもよい。ここで通信媒体とは、例えば、通信チャネル、電波、マイクロ波、有線送信、光ファイバ送信、その他のデータ通信を行うことにできる通信媒体のことをいう。
【００１８】
通信プロトコルの一例としては、 Transport Control Protocol/Internet Protocol （TCP/IP）が好ましいが、他のインターネットプロトコルベースのプロトコルやその他のネットワークプロトコル様式でも可能である。あるいは、複数のイントラネット若しくはエクストラネットとインターネットを介して接続される仮想プライベートネットワークを実現させるためのＩＰトンネリングプロトコルを含んでいても良い。ネットワーク１２は、telnet、POP3、 Mime、 HTTP, HTTPS、 PPP、 TCP/IP、 SMTP、専用プロトコル、その他の既存の通信プロトコルをふくむアプリケーションプロトコルをサポートしていてもよい。
【００１９】
個人用機器１４は、ユーザがネットワーク１２を介してデジタル情報の送受信を行うための機器であればどのようなものであってもよい。図１には一つの機器１４しか示されていないが、複数の機器１４がネットワーク１２に接続していてもよいことは勿論である。個人用機器１４は、メモリ、記憶装置、演算装置、周辺機器等のリソースを用いて所定の機能を実現するよう設計されている。
【００２０】
ここで、「個人用機器」とは、個人ユーザ若しくは団体が所有する機器のことを指す。典型的なのは、団体が「プライマリユーザ」に対して機器を配布し、当該プライマリユーザが当該機器を所有し且つ使用するケースである。すなわち、機器１４の「プライマリユーザ」とは、当該機器１４の所有者が個人である場合はその個人のことを指す。若しくは、団体が所有する機器１４を独占的に使用し、その使用に責任を持ち管理をする個人のことを指す場合もある。一方、「ユーザ」とは、機器１４のプライマリユーザを指す場合もあるが、特に指定しない限り、機器１４を操作している所有者以外の個人を指す場合もある。従って、単に機器１４の「ユーザ」と言った場合、必ずしも当該機器１４のプライマリユーザを指すわけではないことに注意する必要がある。
【００２１】
本実施形態において、個人用機器１４のユーザは、当該機器１４を操作し当該機器１４上でアプリケーションを実行する。アプリケーションは、ソフトウェア、ファームウェアを含み、コンピュータコードで構成される。また、アプリケーションには、当該機器１４で実行される種々のアプリケーションに加えて機器１４のオペレーティング・システム（ＯＳ）も含まれる。具体的には、「アプリケーション」とは、実行可能なコンピュータ・プログラム若しくは実行可能なプログラムによって処理されるデータファイルのことを指す。例えば、機器１４が携帯電話機であるとする。この携帯電話機の電源が入ると、発呼・着呼といった機能を実現するためのアプリケーションが起動する。この後、ユーザは、インタラクティブ・メッセンジャー、インターネットブラウジング、電子メール、株式情報提供サービス、音楽配信サービス等の、機器１４が有する機能を実現するためのアプリケーションを起動してもよい。
【００２２】
ある態様においては、機器１４で実行されるアプリケーションによって提供される複雑で多様な機能は、オンボードリソースによって実現される。オンボードリソースとは、具体的には、演算装置、メモリ、データ記憶装置等の、アプリケーションを実行するために必要なリソースのことである。また別の態様においては、機器１４は、オンボードリソースを用いてアプリケーションの第一の部分を実行し、当該アプリケーションの残りの部分は外部のリソースを用いて実行する。
【００２３】
機器１４は、さらにセキュリティに関するアプリケーションを格納しているのが好ましい。アプリケーションの一例として、機器１４を起動したときにログイン情報の入力を促すものがある。ログイン情報とは、ユーザ名、パスワード、個人情報を格納するための装置から読出したデータ（個人情報カード等）、生体スキャン情報（声、指紋、ネットワーク膜等）等のユーザを認識するためのデータである。あるいは、機器１４はログイン情報を取得する機能を有していないが、機器１４で実行されるアプリケーションは、ログイン情報を取得する機能を有する他の個人用機器１４を選択できるように構成されていてもよい。また、当該機器１４だけでなく別の機器１４からでもログイン情報を取得できるように構成することも可能である。
【００２４】
機器１４上で実行されるアプリケーションに含まれる他のセキュリティ関連機能として、セッション共通ＩＤ（ＵＩＤ）を生成する機能がある。このセッションＵＩＤは、アプリケーションの各セッションを一意に識別するために、ランダムに生成されるデジタル識別子である。セッションＵＩＤはアプリケーションのセッションが起動したときに生成される。セッションＩＤは、セッション中にアプリケーションがいかなる改変をも受けていないかどうかを確かめるために格納され参照される。アプリケーションに対して改変・破壊等の不正な操作が行われた場合、格納されているセッションＵＩＤが変更若しくは破壊されるので、アプリケーションの安全性が担保されるのである。また、アプリケーションの終了や再起動時には新しいセッションＵＩＤが生成される。
【００２５】
他のセキュリティ関連の機能として、アプリケーションパスワードの入力を促す機能を有していればより好ましい。アプリケーションパスワードとは、アプリケーションに特有のものであり、該アプリケーションの実行中に有効となるものである。アプリケーションが終了すると、アプリケーションパスワードは無効となるのが好ましい。本実施形態の登録システム１０においては、アプリケーションパスワードに加え、セッションＵＩＤがアプリケーションを認証するために用いられる。
【００２６】
更に別のセキュリティ関連機能として、機器１４から安全にデータの送信を行うための機能を有していればなお好ましい。インターネットを介した安全なデータ伝送の中で、一つの標準的な方法は、よく知られているＳＳＬ（secure socket layer）を用いる方法である。また、これ以外には、一対の秘密鍵および公開鍵を用いて暗号化・復号化を行い、安全なデータ伝送を実現する方法がある。具体的には、このような機能を有するアプリケーションにおいて、公開鍵を用いてデータの暗号化が行われる。そして、秘密鍵を持ち手、他の機器からの暗号化されて送られてくるデータを復号するのである。以下の説明が煩雑にならないようにするため、公開鍵を交換する前に非公開のデータを送信する機器は、特に明示しない限り、標準化された安全なデータ送信方法を用いて、安全な通信を行うこととする。公開鍵の交換後に非公開のデータを送信する場合は、特に明示しない限り、秘密鍵および公開鍵を用いて暗号化および復号化を行うものとする。
【００２７】
機器１４は、ネットワーク１２において当該機器１４を識別するためのアドレスを有していても良い。このアドレスは、機器１４に一意に識別できるものであるのが好ましく、例えば、ＵＲＬ（Uniform Resource Locator）、ＵＲＩ（Uniform Resource Identifier）、ＩＰ（Internet protocol）アドレス等などである。これ以外にも、機器１４を一意に特定する他のタイプのアドレスや位置指定方法であっても構わない。このアドレスによって、他の機器１４、登録サーバ、もしくはネットワーク１２に接続している他の機器と通信を行うことが可能になるのである。
【００２８】
図２は、登録サーバ１６（図１参照）にアクセスし通信を行うために必要な、個人用機器１４に格納される情報の一例を示したものである。この情報には、サーバリンクアドレス１８、機器秘密鍵２０および登録サーバ公開鍵２２が含まれている。登録サーバリンクアドレス１８は、ネットワーク１２（図１参照）における登録サーバ１６の位置を特定するアドレスである。個人用機器アドレスと同様、このアドレス１８もまた、ＵＲＬ（Uniform Resource Locator）、ＵＲＩ（Uniform Resource Identifier）、ＩＰ（Internet protocol）アドレス等の一意に登録サーバ１６の位置を特定することのできるものであればよい。
【００２９】
個人用機器秘密鍵２０は、当該機器１４上で実行されるアプリケーションによって生成されるのが好ましい。秘密鍵２０は当該機器１４へ送信されたデータを選択的に復号する際に用いられる。登録サーバ公開鍵２２は、当該個人用機器１４から登録サーバ１６へ送信されるデータを暗号化する際に用いられる。あるいは、これ以外の公開鍵を用意し、この公開鍵を用いて他のネットワーク１２に接続された機器（例えば他の個人用機器１４）へ送信されるデータを暗号化してもよい。
【００３０】
再び図１に戻り、登録サーバ１６は、機器１４に対して認証および権限付与を行う機能を有する一または複数のサーバコンピュータ若しくはこれと同等の装置を有していてもよい。一例として、登録サーバ１６は、認証および権限付与を行うため、データベース２４を有している。しかしながら、これ以外のサーバ装置若しくはデータベースを有してもよいことはいうまでもない。登録サーバ１６は、データベース２４にデータを格納し、保持し、該データへのアクセスを許可するアプリケーションをさらに有している。具体的には、ＤＢＭＳ（Database Management System）等のアプリケーションが、記憶場所の構築および管理、データベース２４からのデータの読出しの制御等を行う。
【００３１】
データベース２４は、例えば、ハードディスク、光学的記憶媒体等のデータの読み書き可能な記憶装置の少なくとも一つ以上に格納されている。データベース２４に格納されるデータは、物理的に一括した位置に格納されてもよいし、あるいはネットワーク１２内の複数の位置に分散して格納されてもよい。データベース内のデータは、ネットワーク１２に接続される個人用機器１４の認証、権限付与および一般的なセキュリティ確保の要に供する。データベース２４には、おのおのの機器１４が保持しているデバイスレコードが格納されている。デバイスレコードは、機器１４が登録サーバ１６に登録されたときに生成されるものであるが、これについては後述する。
【００３２】
本実施形態における登録サーバ１６は、データベース２４へアクセスするためのインタフェースを実現する少なくとも一つのアプリケーションを実行する。このインタフェースは、データベース２４に格納されているデータの閲覧、修正、付加、削除を行うための通信路を提供する。一例では、このインタフェースは、Microsoft（登録商標）Internet Explorer等のブラウザを用いて、インターネット、イントラネット、若しくはエクストラネット経由でアクセス可能なサイトとして導入される。あるいは、ダイアルアップによるアクセス、専用データ画面、若しくはデータベース２４内に格納されているデータへの他のインタフェースの形式であってもよい。インタフェースは、データのセキュリティを確保するため、ユーザに対し、データベース２４にアクセスする際にはユーザ登録若しくはログインを要求するように構成されるのが好ましい。
【００３３】
さらに、登録サーバ１６は、ＳＳＬプロトコル通信等の安全な通信を行うためのアプリケーションを有している。公開鍵および秘密鍵を用いた通信の暗号化・復号化を利用するようなアプリケーションを有していてもよい。これ以外にも、ネットワーク１２内における安全な通信を実現できるアプリケーションを有していてもよいことは言うまでもない。
【００３４】
送信メッセージを暗号化する際に用いる、少なくとも一つの秘密鍵と公開鍵とのペアは、登録サーバ１６によって生成されもよい。登録サーバ１６は、秘密鍵・公開鍵のペアを再生成することとしてもよい。秘密鍵・公開鍵対の再生成により、セキュリティ・レイヤが新たに提供されることになる。具体的には、登録サーバ１６は定期的にプライマリユーザに対し通知を行い、交換用の新しい秘密鍵・公開鍵のペアを生成する。次に、この秘密鍵・公開鍵のペアをデータベース２４に格納し、元の秘密鍵・公開鍵は新しい秘密鍵・公開鍵に交換される。さらに、登録サーバ１６はこの新しい鍵を、データベース２４に格納される情報によって特定される個人用機器１４もしくは登録サーバ１６へ送信する。機器１４若しくは登録サーバはこの新しい公開鍵を受信し、既存の公開鍵と交換する。
【００３５】
登録サーバ１６は、更に、データベース２４に格納されているデータとネットワーク１２を介して受信したデータとを比較することによってユーザ等の確認を行ってもよい。さらに、登録サーバは、ネットワーク１２を介して受信したデータをデータベース２４へ一時的に格納するアプリケーションを有していてもよい。更に、ファイアウォール機能、管理機能、プロキシサーバ機能等を提供するアプリケーションを有していてもよいのは言うまでもない。
【００３６】
登録サーバ１６は、個人用機器１４の所有者を登録するための個人用登録サーバ（ＰＲＳ）であってもよい。ＰＲＳのデータベース２４には、登録された所有者ごとのセキュリティ情報が格納される。具体的には、ある所有者が所有する複数の機器１４の一覧表が格納される。ＰＲＳは、個人用データベースとアプリケーションサーバが一体化したものであり、一又は複数の機器１４の各所有者に対し登録サービスを提供する。
【００３７】
図３に、ＰＲＳとして動作する登録サーバ１６に格納されるセキュリティ情報の一例を示す。機器１４の所有者を含む情報には、所有者データ３０と、少なくとも一つの機器１４に対する少なくとも一つのデバイスレコード３２とが含まれている。これに加えて、例えば、課金情報、利用パターン、利用履歴、機器１４の位置（例えば、ＧＰＳ（global positioning satellites）を使った測位方法で得られる位置）が含まれていてもよい。同様の機能を有すれば、図３に示すものと異なる名称、表現、配置であってもよい。
【００３８】
所有者データ３０には、所有者ＩＤ３４および個人情報３６が含まれている。所有者ＩＤ３４は、機器１４の所有者の正式名であってもよいし、機器１４の所有者を識別するものであればよい。個人情報３８は、所有者に関連した情報、例えば、誕生日、社会保険番号、クレジットカード情報、ユーザ名、パスワードを含んでいてもよい。
【００３９】
デバイスレコード３２には、所有者によって登録サーバ１６に登録された機器１４を共有するユーザのリストが格納されている。図３に示すように、第一番目の機器１４は「デバイス１」として識別され、共有して使用される機器１４が他にある場合は、「デバイス２」のように別個にデバイスレコードが設けられる。プライマリユーザリストは、同一のプライマリユーザによって使用される個人用機器１４を識別するためのものである。同様に、プライマリユーザ以外のユーザによって使用される個人用機器１４のリストが作成されてもよい。さらに、同様の機能を有する個人用機器のリスト、同じ地域に位置する機器のリスト等の、認証および権限付与に際して手助けとなるようなリストが作成されてもよい。
【００４０】
デバイスレコード３２には、機器名３８、機器公開鍵４０、機能詳細４２、および少なくとも一つの特権レベル４４が含まれていてもよい。機器名３８は、例えば、ＰＤＡ，無線電話、テレビというように、個人用機器１４の種別を識別するためのものである。機器公開鍵４０は暗号化・復号化アプリケーションともに用いられ、機器１４から送信すべき情報を暗号化するのに必要である。機器機能詳細４２には、機能の詳細、周辺機器、リソース、その他機器１４が有する機能に関する情報が含まれている。機器機能詳細に含まれる情報の一例としては、ログイン機能、利用できるアプリケーション、画像入出力機能、音声入出力機能、データ入力機能、通信帯域管理機能、およびメモリ、記憶装置、演算装置等のリソースである。
【００４１】
機能詳細４２には、プライマリユーザがログイン情報を入力するのに便利なように、個人用機器１４の識別子が格納されていてもよい。ユーザの快適度は、ログイン情報を入力するための機器１４の使用と、利便性と、その他ユーザ設定とに関連付けられた特権レベルに基づいて決まる。そのような機器を識別するための情報を入力することにより、共有ユーザの持っている情報若しくは共有ユーザの同意なしに、ユーザが、ログイン情報を格納若しくは取得する機器へログイン情報を誤って提供してしまうことを防ぐことができる。さらに、識別された機器１４は、ユーザが普段ログインに使用している周辺機器からログイン情報を取得する機能を有している。
【００４２】
特権レベル４４は、機器１４を利用するユーザが、機器１４の有する機能等にどの程度アクセスすることができるか示す指標である。図３において、「特権レベル１」および「特権レベル２」とに示されているように、機器１４の所有者の判断で、複数のアクセスレベルが設定される。アクセスレベルの詳細は、機器１４の特性等に依存する。例えば、機器１４が携帯電話機である場合を想定する。この電話機の所有者は、３つの異なる特権レベル、すなわち、所有者、家族、一般を設定する。所有者特権レベルでは、電話機の全ての機能を制御することが可能である。家族特権レベルにおいては、総通話時間に制限があり、電話機の有する機能の一部のみが利用可能である。一般特権レベルにおいては、携帯電話機にアクセスすることはできない。
【００４３】
各々の特権レベル４４には、少なくとも一つ以上のメンバ４６が含まれている。図に示すように、各特権レベル４４には、（「メンバ１」）と、任意の数のメンバを表すためのメンバ（「メンバＮ」）とが格納されている。メンバ４６は、機器１４を使用することが予想されるユーザを識別するためのものである。メンバ４６には、メンバ識別子４８、メンバリンクアドレス５０、およびメンバ公開鍵５２が含まれている。メンバ識別子４８は、ユーザの名前であってもよいし、その他の機器１４を使用するユーザを一意に識別できるものであってもよい。メンバリンクアドレス５０は、メンバ識別子４８から特定されるユーザの情報が格納されている登録サーバ１６のアドレス若しくはその他のリンク形式である。メンバ公開鍵５２は、リンクアドレス５０によって特定される登録サーバ１６へ送信するデータを暗号化する際に用いられる。
【００４４】
他の態様において、登録サーバ１６は、企業等の団体内における個人用機器１４のユーザを管理するための団体登録サーバ（organizational registry server；ＯＲＳ）である。ここでＯＲＳのデータベース２４は、当該団体やＯＲＳの管理者に関連するセキュリティ情報および該団体が所有する機器１４の各々に関連する情報を有していてもよい。
【００４５】
ＯＲＳは、一例として、グループ登録サーバ（グループＯＲＳ）と通信を行う少なくとも一つのサブグループ登録サーバ（サブグループＯＲＳ）から構成されている。サブグループＯＲＳサーバは、図１に示すデータベース２４を有し、ブランチオフィス、支店、他事業部といった該団体のサブグループ内の認証および権限付与等を行う。グループＯＲＳは、図１に示すデータベースを有しており、一又は複数のサブグループＯＲＳを管理する。加えて、グループＯＲＳは、サブグループＯＲＳと同様、該団体の一部において認証および権限付与を行う。
【００４６】
グループＯＲＳは、当該グループ内の個人用機器１４およびその他の機器がネットワーク１２（図１参照）へ接続する際の接続ポイントであってもよい。より具体的には、該サブグループＯＲＳ内の機器１４から外部の機器への通信の中継装置として機能する。すなわち、サブグループＯＲＳとグループＯＲＳとの間の通信においては、該団体が所有する全ての機器１４の分散型認証および分散型権限付与が行われる。
【００４７】
別の態様において、ＯＲＳは、互いに通信可能に接続されている少なくとも二つのサブグループＯＲＳにより構成されている。さらに別の態様においては、ＯＲＳは、該団体の個人用機器１４のすべてを含むデータベースを有する一つの登録サーバ１６である。
【００４８】
図４は、ＯＲＳに格納されるセキュリティ情報の一例である。該団体の情報には、所有者データ３０、少なくとも一つのデバイスレコード３２、および少なくとも一つのサブグループ情報６０が含まれている。これに加えて、例えば、課金情報、利用パターン、利用履歴、データ監視若しくはＧＰＳ等から得られる機器１４の位置といった情報が格納されていてもよい。
【００４９】
図に示すように、所有者データ３０には、団体識別子６２および団体情報６４が含まれている。団体識別子６２は、正式な法人名称でもよいし、機器１４を所有している団体を一意に特定できるものでもよい。団体情報６４には、ＯＲＳの管理者に関する確認用情報が含まれている。この確認用情報とは、例えば、管理者名、パスワードでもよいし、要は、該団体のＯＲＳを運営している個人の集合若しくはグループを一意に特定するための情報であればよい。
【００５０】
サブグループ情報６０は、該団体のサブグループを一意に特定する情報であればよい。複数のサブグループが存在する場合、グループ情報６０には、複数のサブグループリストが格納される。具体的には、第一番目のグループは「サブグループ１」として、第二番目のグループは「サブグループ２」として、というような識別子を付けられ、ＯＲＳ内のサブグループリストが作られる。
【００５１】
サブグループ情報６０には、サブグループ名６６、サブグループリンクアドレス６８およびサブグループ公開鍵７０が含まれている。サブグループ名６６はサブグループの名称であってもよいし、サブグループを識別するものであればよい。サブグループリンクアドレス６８は、ＯＲＳがグループＯＲＳおよびサブグループＯＲＳの両方を含んでいる場合に用いられる。この場合、サブグループ名６６に関連付けられたサブフループは、サブグループＯＲＳに含まれる。したがって、サブグループリンクアドレス６８を用いることにより、サブグループＯＲＳのネットワーク１２（図１参照）内での位置を特定することができる。サブグループ公開鍵７０は、サブグループリンクアドレスによって特定されるサブグループＯＲＳと通信を行う際に用いられる公開鍵である。
【００５２】
図４に示すデバイスレコード３２は、図３に示すデバイスレコードと同様のものであり、機器名３８、機器公開鍵４０、機器機能詳細４２、特権レベル４４、および少なくとも一つのメンバ４６を含んでいる。しかしながら、このデバイスレコードはサブグループ名６６と関連付けられており、したがって、該ＯＲＳ内の異なるサブグループには、異なるデバイスレコード３２が格納されることになる。さらに、該ＯＲＳ内の個々の機器１４のプライマリユーザは、デバイスレコード３２に格納されているメンバ４６として識別される。
【００５３】
登録サーバ１６をＰＲＳ型とＯＲＳ型を組み合わせて構成し、ネットワーク１２を介して登録サーバ同士で、そして該登録サーバ１６と機器１４との間で、通信を行うようにしてもよい。
【００５４】
１．個人用機器の登録
図５は、図１〜４に示した登録システム１０の動作の開始を示すフローチャートである。まず、１００において、インタフェースを介して登録サーバ１６へのアクセスが確立する。ステップＳ１０２において、所有者データ３０がインタフェースを介してデータベース２４に格納される。ステップＳ１０４において、個人用機器１４の電源が入り、ログイン情報が供給される。ステップＳ１０６においては、登録サーバ１６のネットワーク１２内での位置を特定するアドレスが当該機器１４へ入力される。
【００５５】
機器１４において、該登録サーバ１６と通信を開始するためのアプリケーションが立ち上がる（ステップＳ１０８）。ステップＳ１１０において、登録サーバ１６は該ログイン情報と所有者データ３０とを比較することによりユーザの確認が行われる。次に、機器１４は、機器秘密鍵２０と機器公開鍵４０のペアを生成する（ステップＳ１１２）。そして、ステップＳ１１４において、機器１４は、該機器秘密鍵２０と該公開鍵４０とを保存する。次に、機器１４は、機器名３８、機器公開鍵４０、および機能詳細４２をネットワーク１２を介して該登録サーバ１６へ送信する（ステップＳ１１６）。この送信は、例えばＳＳＬなどの安全なデータ通信のための標準プロトコルを用いて行われる。ステップＳ１１８において、所有者データ３０に関連付けられた、当該機器１４に関するデバイスレコード３２が生成される。
【００５６】
図６に進んで、送信されたデータは、登録サーバ１６のデータベース２４の中のデバイスレコード３２に格納される（ステップＳ１２０）。 ステップＳ１２２において、登録サーバ１６は、ネットワーク１２を介して登録サーバ１６のリンクアドレスおよび登録サーバ公開鍵２２を当該機器１４に対し、安全な方法で送信する。機器１４はこれを受信し、格納する（ステップＳ１２４）。
【００５７】
ステップＳ１２６において、登録サーバ１６は、機器機能詳細４２を参照し、当該機器１４は自身のデバイスレコード３２を格納するのに十分な記憶容量を持っているかどうかを検証する。機器１４が十分な記憶領域を有している場合、登録サーバ１６は、機器公開鍵４０を用いて該デバイスレコード３２を暗号化する（ステップＳ１２８）。暗号化されたデバイスレコード３２は、ネットワーク１２を介して該機器１４へ送信される（ステップＳ１３０）。ステップＳ３２においては、機器１４は、受信したデバイスレコードを機器秘密鍵２０を用いて復号する。復号したデバイスレコードは機器１４の記憶装置に一次的に格納される。一方、機器１４は十分に記憶容量を有していない場合、登録処理を終了する（ステップＳ１３６）。
【００５８】
登録サーバ１６が利用できない場合、機器１４にデバイスレコード３２を一次的に格納するようにしてもよい。この場合、機器１４は、機器１４に格納された情報を用いて認証等の確認作業を行う。そして登録サーバ１６との通信が再開されたとき、機器１４は機器１４に格納されている情報を該登録サーバ１６に格納されている情報にあわせて書き換える作業を行う。あるいは、デバイスレコード３２は、登録サーバ１６以外にも他の機器１４等の機器に格納することとしてもよい。このような場合、登録サーバ１６が利用できなくなったときでも、他の機器からデバイスレコード３２を取得することができる。登録サーバ１６が復旧した後、当該他の機器は、自身が格納している情報を登録サーバ１６に格納されている情報に合わせて書き換えればよい。
【００５９】
図５および６に示す処理は、本登録システムの動作の一例である。同様の作用効果を奏するものであれば、他の処理を行ってもよい。例えば、他の方法を用いて、機器１４および登録サーバ１６におけるデータの格納、抽出を行ってもよい。具体的には、手作業によるデータのコピー、データの入力、データのダウンロード等の方法で、機器１４および登録サーバ１６にデータを供給する。さらに、図５および図６の処理の一部を他の方法と組み合わせて行うことも可能であることは言うまでもない。
【００６０】
再び図１〜４に戻り、機器１４と登録サーバ１６との間で情報の交換が終わると、少なくとも一人の見込みユーザが特定されたことになる。すなわち、該機器１４を操作し得る一人もしくは複数のユーザが、操作に関する許可を受けたということである。各機器の見込みユーザは、各機器１４のデバイスレコード３２により個別に特定されることになるが、これは該機器の所有者の自由裁量である。選択されたデバイスレコード３２において特権レベル４４が新たに生成されてもよいし、既存の特権レベル４４を用いてもよい。例えば、ある団体の所有する機器１４のプライマリユーザは第一特権レベル４４に属し、他の従業員は第一特権レベルよりもアクセスできる権限の少ない第二特権レベル４４に属している。
【００６１】
機器１４を使用する権限を持つユーザは、デバイスレコード３２のメンバとして識別される。このようにして、ユーザに関する情報がメンバ情報３８へ格納される。より具体的には、機器１４を使用する権限を持つユーザのユーザ名がメンバ識別情報４８としてとして格納される。さらに、対応する登録サーバ１６のアドレスがメンバリンクアドレス５０に格納され、その公開鍵はメンバ公開鍵５０に格納される。機器１４を使用する権限を有するユーザと該機器１４の所有者との間には信頼関係が存在する。このため、ユーザのリンクアドレスおよび公開鍵が第３者に流出することはない。この所有者とユーザとの直接の関係の存在により、第３者に対して所有者とユーザとの間の信頼関係に入り込む際に必要な確認等を行う必要はなくなる。
【００６２】
ユーザの追加は、インタフェースを介して登録サーバ１６にアクセスすることにより行うことができる。あるいは、機器１４が十分なリソースを有している場合には、ユーザは当該機器１４を用いて新規デバイスレコード３２を追加してもよい。あるいは、半自動化若しくは完全に自動化されたアプリケーションを用いて、ユーザの追加を行ってもよい。具体的には、機器１４が限られたデータしか入力できない場合は、機器１４を使用する権限を有するが以前に認証されたことがないユーザが該機器１４を使用しようとしたとき、該機器１４のプライマリユーザによって半自動化された認証処理が行われ、該ユーザはデバイスレコード３２に追加される。その他の方法としては、他の機器１４等のネットワーク１２に接続された機器を用いて、ユーザの追加を行う方法がある。
【００６３】
２．ユーザ認証および権限付与
図７は、本発明の登録システムの他の実施形態を示したものである。本態様における登録システム１０Ａは、個人用機器１５０、個人用機器１５２、個人用機器１５４、個人用機器１５６、個人用機器１５８、個人用機器１６０、登録サーバ１６２、登録サーバ１６４、登録サーバ１６６、および第４登録サーバ１６８を有し、これらはいずれもネットワーク１２に通信可能に接続されている。機器１５０，１５２，１５４，１５６，１５８,１６０は、図１に示した個人用機器１４と同様である。また、登録サーバ，１６４，１６６，１６８はデータベース２４を有し、図１の登録サーバと同様のものである。
【００６４】
本実施形態において、機器１５０，１５２，１５４は同一の所有者によって所有されており、また、これらのいずれもがすでに登録サーバ１６２に登録されている。すなわち、登録サーバ１６２には、各々の機器に対するデバイスレコード３２（図３および図４参照）が、共通の所有者に関連つけられて格納されている。また、説明が煩雑になるのを防ぐため、これらの機器１５０、１５２、１５４は第１のプライマリユーザによって使用されるものとする。また、機器１５６は登録サーバ１６４に登録されており、第２のプライマリユーザによって使用されるものとする。同様に、機器１５８および１６０はそれぞれ登録サーバ１６６，登録サーバ１６８に登録され、機器１５８は第３のプライマリユーザに、機器１６０は第４のプライマリユーザによって使用されるとする。図７に示すのは本実施形態の一例であり、個人用機器および登録サーバの数、各機器の所有者およびプライマリユーザの数は任意である。
【００６５】
２−１．アプリケーションの立ち上げ
図８は、図７に示す登録システム１０において、アプリケーションの起動が行われる際の処理を示すフローチャートの一例である。以下では、プライマリユーザが個人用機器１５０においてアプリケーションを立ち上げる場合について説明しているが、これに限らず、他の個人用機器のプライマリユーザがアプリケーションの立ち上げを行ってもよい。勿論、プライマリユーザ以外の見込みユーザが機器１５０，１５２，１５４，１５６，１５８，１６０のいずれかの機器を操作し、アプリケーションの立ち上げを行ってもよい。
【００６６】
機器１５０の電源が入ると、該機器のプライマリユーザはログイン情報を入力するよう促される（ステップＳ１７２）。ステップＳ１７４において、このユーザが第一のプライマリユーザであることを示すためにログイン情報を第一の登録サーバ１６２へ送信する。登録サーバ１６２は、データベース２４に格納されているデータとログイン情報とを照らし合わせ、ユーザの確認を行う（ステップＳ１７６）。この確認が無事に終わると、特権レベルが設定され（ステップＳ１７８）、当該プライマリユーザが機器１５０においてアプリケーションを実行する準備が整ったことになる。
【００６７】
ステップＳ１８０において、第一のプライマリユーザは機器１５０においてアプリケーションを実行する。機器１５０は、アプリケーションパスワードの入力を該プライマリユーザに促す（ステップＳ１８２）。このアプリケーションパスワードはアプリケーションを実行するためのものであり、ある有効期間が設定されている。ステップＳ１８４において、第一のプライマリユーザはアプリケーションパスワードを入力する。次に、機器１５０は、該アプリケーション用のセッション共通ＩＤ（ＵＩＤ）を生成する（ステップＳ１８６）。ステップＳ１８８において、登録サーバ１６２の公開鍵を用いて、該アプリケーションが生成するアプリケーション関連情報を暗号化する。更に、機器１５０はこのアプリケーション関連情報を実行中のアプリケーションと関連付けて自身に格納する（ステップＳ１９０）。このアプリケーション関連情報には、セッションＵＩＤ、アプリケーション名、および入力されたアプリケーションパスワードが含まれている。ステップＳ１９２において、暗号化されているアプリケーション関連情報は登録サーバ１６２へ送信される。該アプリケーション関連情報は、登録サーバ１６２の秘密鍵を用いて復号化される（ステップＳ１９４）。
【００６８】
図９に示すように、登録サーバ１６２は、復号されたアプリケーション関連情報をデータベース２４へ格納する（ステップＳ１９６）。ステップＳ１９８において、登録サーバ１６２はプライマリユーザリストを参照する。このプライマリユーザリストとは、第１プライマリユーザと関連づけられている個人用機器の一覧である。もしプライマリユーザリストが存在しない場合、アプリケーションの立ち上げが完了する（ステップＳ２００）。
【００６９】
プライマリユーザリストが存在する場合、登録サーバ１６２は、該リストに載っている個人用機器の公開鍵を用いて、再びアプリケーション関連情報を暗号化し、（ステップＳ２０２）当該機器へ送信する（ステップＳ２０４）。本実施形態においては、上述したように、機器１５２，１５４は、該プライマリユーザリストに載っている。従って、機器１５２，１５４はそれぞれの秘密鍵を用いて暗号化されたアプリケーション関連情報を復号する（ステップＳ２０６）。ステップＳ２０８において、このアプリケーション関連情報はそれぞれの機器へ格納される。これでアプリケーションの立ち上げは完了した（ステップＳ２００）。
【００７０】
２．２  アプリケーションの移行
図７に戻り、第一のプライマリユーザがアプリケーションを機器１５０から機器１５６へ移行する場合について説明する。この移行には、移行元機器から移行先機器への実行中のアプリケーションの移動も含まれる。一例として、オフィスにおいて、ビデオ会議用装置を用いてビデオ会議に参加しているユーザがいると仮定する。このビデオ会議の結論が出る前に、該ユーザはオフィスを離れなくてはいけなくなったとする。この時、該ユーザは、現在行われているビデオ会議を該ビデオ会議用装置（移行元機器）からＰＤＡ等の映像および音声入出力機能を有する個人用機器（移行先機器）へと移すような場合が想定される。
【００７１】
２．２．１  基本的な場合
以下に、第一のプライマリユーザが機器１５０（移行元機器）から機器１５６（移行先機器）へとアプリケーションを移行させる場合について、その一例を説明する。移行にあたっては、移行を希望しているユーザが第一のプライマリユーザでること、および該アプリケーションが変更されていないことが登録サーバ１６２および１６４によって確認される。続いて、該マイグレーションを行う権限の付与が登録サーバ１６２および１６４によって行われる。ここで、二つの個人用機器間でアプリケーションの移行を行ってもよいことは言うまでもない。あるいは、個人用機器とネットワーク１２に接続している他の装置との間で移行が行われてもよい。
【００７２】
本実施形態において、第２のプライマリユーザは、第１のプライマリユーザが機器１５６のデバイスレコードの見込みユーザであるということを前もって識別している。具体的には、上述したように、第一のプライマリユーザの識別は、機器１５６の登録処理において行われる。また、アプリケーションの移行元および移行先の個人用機器１４は任意であり、少なくとも一つの登録サーバ１６が利用されることとしてもよい。さらに、個人用機器１４から非個人用機器へのアプリケーションの移行が行われてもよい。ここで非個人用機器とは、たとえば、ビデオ会議システム等の、複数のユーザが共有し、あるひとつの作業を行うのに必要なシステムのことである。
【００７３】
図１０は、図７に示す登録システム１０において、機器１５０から機器１５６へのアプリケーションの移行に係る処理を示すフローチャートの一例である。ここで、第１のプライマリユーザはすでに機器１５０の電源を投入し、アプリケーションを立ち上げているとする。
【００７４】
ステップＳ２１０において、第１のプライマリユーザは、機器１５０を用いて、機器１５６をアプリケーションの移行先の機器と特定する。機器１５０は、アプリケーション関連情報を第１プライマリユーザのユーザ名とともに、安全な通信方法によって機器１５６へ送信する（ステップＳ２１２）。上述したように、アプリケーション関連情報にはセッションＵＩＤ、アプリケーション名およびアプリケーションパスワードが含まれている。ステップＳ２１４において、機器１５６は、登録サーバ１６２へのリンクアドレスを取得する。具体的には、このリンクアドレスは、デバイスレコード３２（図３および図４参照）から取得する。デバイスレコード３２は機器１５６に格納されていてもよいし、若しくは機器１５６が登録サーバ１６４から取得したものであってもよい。
【００７５】
より具体的には、機器１５６は登録サーバ１６２にアクセスし、第１プライマリユーザに関連する個人用機器のプライマリユーザリストを抽出する（ステップＳ２１６）。さらにステップＳ２１８において、機能詳細４２（図３および図４参照）を用いて、ログイン情報を入力した第１プライマリユーザから特定されるプライマリユーザリストの中から個人用機器を特定する。ステップＳ２２０において、機器１５６はネットワーク１２へメッセージをブロードキャストし、プライマリユーザリストから特定したログイン機能を有する個人用機器からの応答を待つ。本実施形態においては、機器１５２および機器１５４もまた該プライマリユーザリストに掲載されており、従って第１プライマリユーザに対応した個人用機器として特定される。リストに掲載される個人用機器の数に制限はないことはいうまでもない。
【００７６】
該プライマリリストに掲載されている機器は、機器１５６からブロードキャストされたメッセージに応答する（ステップＳ２２２）。機器１５６は、少なくとも一つの応答を受信すると、応答している機器を第１プライマリユーザに提示し、これらの中から一を選択するよう促す（ステップＳ２２４）。ステップＳ２２６において、第１プライマリユーザは、機器１５６を操作し、一の機器を選択する。一例として、機器１５２が応答し、該プライマリユーザは機器１５２を選択したとする。次に、機器１５６は、ＳＳＬ等の安全な接続方法を用いて、該アプリケーション関連情報と機器１５６のアドレスとを選択された機器（すなわち機器１５２）へ送信する。
【００７７】
ステップＳ２３０において、選択された機器（機器１５２）は、機器１５６から受信した該アプリケーション関連情報と予め機器１５２に格納されているアプリケーション関連情報とを比較する。予め格納されているアプリケーション情報は、機器１５２において該アプリケーションが立ち上げられたとき登録サーバ１６２から取得したものである。二つのアプリケーション関連情報が一致しない場合、該アプリケーションの移行は中止される（ステップＳ２３２）。
【００７８】
以下の説明は図１１を参照しつつ、行うこととする。アプリケーション情報が一致した場合、機器１５２は第１プライマリユーザに対し、アプリケーションの移行が行われることを通知する（ステップＳ２３４）。該アプリケーション関連情報を比較する際に、セッションＵＩＤの一致不一致が確認されるので、これにより、該アプリケーションが改変されていないことが確認される。加えて、アプリケーションパスワードの一致不一致が確認されるので、該アプリケーションは、機器１５０において立ち上げられたものと同一のものであるということが確認される。次に機器１５２は、第１プライマリユーザ対し、ログイン情報を入力するよう促す（ステップＳ２３６）。正しい情報が入力され、ログインが成功すると、機器１５２は、ログイン情報、該アプリケーション関連情報および機器１５６のアドレスを登録サーバ１６２の公開鍵を用いて暗号化する（ステップＳ２３８）。
【００７９】
暗号化されたログイン情報は、登録サーバ１６２へ送信される（ステップＳ２４０）。登録サーバ１６２の秘密鍵を用いて、この暗号化された情報は復号される。ステップＳ２４４において、登録サーバ１６２は、ログイン情報およびアプリケーション関連情報をデータベース２４に格納されているデータと比較する。どれか一つでも一致しないデータがあった場合、該アプリケーションの移行は中止される（ステップＳ２４６）。
【００８０】
全てのデータが一致した場合、登録サーバ１６２は、移行許可のメッセージを該セッションＵＩＤとともに、機器１５６に対し送信する（ステップS２４８）。登録サーバ１６２において全てのデータが一致したことは、第１プライマリユーザとアプリケーションとの両方の認証および確認が行われたことを意味する（ステップＳ２５４）。ステップＳ２５０において、機器１５６は、移行許可通知が登録サーバ１６２から送信されたものであるか判定する。判定結果が否定的な場合、機器１５６は該メッセージを拒否する（ステップＳ２５２）。判定結果が肯定的である場合、機器１５６は送信される情報を受け取る。すなわち、機器１５６は、機器１５０に対応するデバイスレコード３２（図３および図４参照）に格納されているデータに基づき、登録サーバ１６２から送信された移行許可通知のみを受け取る。
【００８１】
続いて、図１２を参照しつつ説明する。ステップＳ２５６において、機器１５６は、送信されたセッションＵＩＤと格納されているセッションＵＩＤとを比較する。両者が一致しなかった場合、移行処理は中止される（ステップＳ２５８）。このように、情報の送信元およびアプリケーション自体の認証および確認は、機器１５６に格納されているデータ若しくは登録サーバ１６４から取得したデータを用いて、機器１５６が行う。両者のセッションＩＤが一致した場合、機器１５６はデバイスレコード３２（図３および図４参照）が機器１５６内に格納されていること、および有効期限が切れていないことを確認する（ステップＳ２６２）。デバイスレコード３２が格納されており、且つ有効期限が切れていない場合、該デバイスレコード３２の第１プライマリユーザの特権レベル４４（図３および図４参照）が決定される（ステップＳ２６４）。デバイスレコード３２が有効期限切れになっている若しくは格納されていない場合、ステップＳ２６４において特権レベル４４が決定された後、該デバイスレコード３２は、登録サーバ１６４から新規に若しくは再びダウンロードされる（ステップＳ２６６）。
【００８２】
ステップＳ２６８において、機器１５６の機器機能詳細４２（図３および図４参照）は、デバイスレコード３２によって決定される。機器１５０および機器１５６との間で確立されている安全な接続方法によって、機器１５６の機能詳細４２および特権レベル４４を機器１５０に送信する（ステップＳ２７０）。ステップＳ２７２において、機器１５０は、該機能詳細４２および特権レベル４４を該アプリケーションが必要とするシステムリソースおよびアクセス要求と比較する。機器１５６の機能、または機器１５６が第１プライマリユーザに付与する特権レベルが適切でない場合、アプリケーションの移行は中止される（ステップＳ２７４）。機能と特権レベルとが適切である場合、該アプリケーションが機器１５０から機器１５６へ、両機器間で確立されたＳＳＬ等の安全な通信方法を用いて移行される。
【００８３】
２．２．２  ピアグループの探索および移行
再び図７を参照し、ピア・ツー・ピア（Ｐ２Ｐ）コンピューンティング技術を用いた、本発明の他の実施形態を説明する。一般的に、Ｐ２Ｐにおいては、従来のネットワークに接続されている典型的な階層構造、すなわちクライアント・サーバ型構造を形成することなく、ユーザ同士が直接ネットワーク通信を行うことが可能である。ピアグループは、共通のサービス群を提供するために互いに協調して機能するデバイスの集合体であり、その一例としては、ＪＸＴＡプロジェクトがある。好ましい態様において、少なくとも一つのピアグループが、登録システム１０内において機能している。
【００８４】
図７には、ピアグループ１７０を形成している機器１５６、機器１５８、機器１６０が示されている。ここで、ピアグループ１７０は、少なくとも一つのピアグループ名によって、管理される若しくは少なくとも一つのピアグループ名に反応する個人用機器１４のグループであればよい。このピアグループ名は、ネットワーク１２においてブロードキャストされ、該ピアグループ１７０に属する機器から何らかの応答若しくは他のアクションを引き出す機能を有する識別子であればよい。例えば、ピアグループ名はロールコール要求と関連付けられていてもよい。ロールコール要求は、現在ネットワーク１２上で通信を監視している機器を特定するためにネットワーク１２上でマルチキャストされてもよい。マルチキャストとは選択された機器に対してのみ行われるブロードキャストのことである。一例としては、選択された電話器のみが共通の通信ラインによって互いに繋がっている会議コールがある。
【００８５】
上述した実施形態と同様、本実施形態においても、第１プライマリユーザがプリケーションを機器１５０（移行元機器）から機器１５６（移行先機器）へ移行させる場合を考える。しかし、本実施形態においては、機器１５６はピアグループ１７０の一員である。さらに、機器１５６は該アプリケーションを実行するための十分なリソース機能を有していないとする。従って、該アプリケーションの全体を移行させることはできない。かといって該アプリケーションの移行を中止するのではなく、本実施形態においては、該アプリケーションを核になる第１の部分と、一以上のコンポーネントを含む少なくとも一つの第２の部分とに分割するのである。
【００８６】
アプリケーションは通常、複数のコンポーネントから構成されている。分割方法として、一例であるが、これらのコンポーネントを、機器に依存しているものと、依存していないものとに分割する方法がある。コンポーネントの識別は、移行元機器、移行先機器もしくはネットワーク１２上の他の機器を用いて行われてもよいし、これらを複数組合せても行ってもよい。識別が終わると、機器に依存しないアプリケーションの全てのコンポーネントは移行先機器へ移行される。該移行先機器の代わりに、例えば、ネットワーク１２上の他の個人用機器やサーバ等の装置を用いてもよい。本実施形態においては、機器に非依存のコンポーネントを一括して移行するための代替機器をピアグループ１７０上に設けるのが好ましい。
また、移行元機器、移行先機器、若しくは他のネットワーク１２上の機器が、それぞれのコンポーネントをどこへ移行させるかを決定してもよい。具体的な決定の仕方としては、例えば、移行時に利用可能なリソースを調べもよい。あるいは、例えば、機器のリストを用いることによって移行先機器を予め決定しておいてもよい。あるいは、移行先機器を決定するのに必要なリソースを有しているかということを考慮に入れて、移行先機器を決定することとしてもよい。
【００８７】
図１３は、図７に示す登録システム１０において、機器１５０から機器１５６へのピアグループ移行に係る処理を示したフローチャートの一例である。図８および図９を用いて説明したように、プライマリユーザは、予め機器１５０を起動しアプリケーションの立ち上げを完了させているとする。更に、機器１５６への移行の権限の付与および認証は、図１０〜１２を用いて説明したように、ほぼ完了しているものとする。詳細に言えば、個人用機器１５６の機能詳細４２および特権レベル４４が機器１５０へ送信される処理（図１２、ステップＳ２７０）までが完了している。
【００８８】
本実施形態における移行に係る処理は、ここから更にステップＳ３００へと続く。すなわち機器１５０は、移行先機器（機器１５６）のリソースが該アプリケーションの要求するシステムリソースを満たしていないことを確認する。ステップＳ３０２において、機器１５０は、第１プライマリユーザのユーザ名を機器１５６のピアグループ１７０に対しマルチキャストする。ピアグループ１７０内の機器（本実施形態においては機器１５８および機器１６０）は、それぞれ、自身の機器の機能詳細４２および第１プライマリユーザの特権レベル４４をチェックする。具体的には、自身に格納されているデバイスレコード３２（図３および図４参照）から、これらの機能詳細４２および特権レベル４４を取得する。デバイスレコード３２が存在しないか若しくはその有効期限が切れている場合は、機器１５８および機器１６０は、それぞれ第３登録サーバ１６６および第４登録サーバ１６０にアクセスし、データを新たに取得するか若しくは古いデータを更新する。
【００８９】
ステップＳ３０６において、機器１５８および機器１６０は、それぞれ、自身の機器の機能と第１プライマリユーザの特権レベルとを機器１５０へ送信する。次に機器１５０は、十分なリソースがピアグループ１７０（機器１５６、１５８、１６０）内にあるかを判断する（ステップＳ３０８）。ないと判断した場合、移行は中止される（ステップＳ３１０）。あると判断した場合、機器１５０は、アプリケーションの核になる部分（第１の部分）を移行先機器（機器１５６）へ移行する（ステップＳ３１２）。ステップＳ３１４において、機器１５０は、該アプリケーションの第２の部分において、移行するべきコンポーネントおよびその移行先機器（ピアグループ１７０内で応答した個人用機器（機器１５８および機器１６０）のうちどちらか）を選択する。最後に、機器１５０は、ピアグループ１７０内で選択された機器に対しコンポーネントを移行する。
【００９０】
２．２．３  階層的トラストチェーン移行
更に別の実施形態において、本発明の登録システムは階層的トラストチェーンを形成する。図１４は、階層的トラストチェーンを有する登録システム１０を示したものである。本登録システム１０Ｂには、個人用機器４００、４０２、４０４、登録サーバ４０６、登録サーバ４０８および登録サーバ４１０が含まれており、図に示すように、それぞれネットワーク１２を介して通信可能なように構成されている。個人用機器４００、４０２、４０４は、図１に示す個人用機器１４と同様の機能を有する。登録サーバ４０６、４０８、４１０はそれぞれデータベース２４を有しており、図１に示す登録サーバと同様の機能を有する。ここで、本システムで用いられる個人用機器の数はこれに限定されず、またネットワーク１２を介して通信を行う他の機器があっても良いことはいうまでもない。
【００９１】
本実施形態において、第１プライマリユーザは、機器４００および機器４０２を用いることとする。機器４００および機器４０２は、サブグループ４１２に属している。さらに、サブグループ４１２は、サブグループ登録サーバとして登録サーバ４０６を有している。機器４００および機器４０２は、登録サーバ４０６にすでに登録されている。サブグループ４１２は、グループとして登録サーバ４０８を有しているグループ４１４に属している。ここで、本実施形態の登録システム１０Ｂにおけるサブグループに属する登録サーバの数はこれに限らず、また、サブグループおよびグループの数も任意であるということは言うまでもない。
【００９２】
登録サーバ４０６および４０８は、団体登録サーバ（ＯＲＳ）であっても良い。この場合、登録サーバ４０６は、登録サーバ４０８のサブグループＯＲＳとして識別される。このような登録システムの一例として、登録サーバ４０６は、ある団体に属する部署を担当し、登録サーバ４０８は、他の部署を担当している登録サーバを含む該団体全体を担当する、というような場合が考えられる。
【００９３】
階層的トラストチェーンは、登録サーバ４０６および登録サーバ４０８によって形成され、サブフループとグループの関係になっている。この階層的トラストチェーンは、サブグループとグループとの間で安全な情報の交換を保証している垂直構造である。従って、本階層チェーンに属する機器に対して認証および確認を行う必要がない。しかしながら、階層チェーンの外の機器から本階層チェーン内に入ってくる全てのデータに対して認証および確認が必要である。
【００９４】
登録サーバ４０８は、一般的には、登録サーバ４０６と本階層トラストチェーンに属する他の機器との間の通信を仲介する。具体的には、登録サーバ４０８は、階層的トラストチェーンの外側の機器と内側の機器との間のデータ通信の中継するだけでなく、認証および権限付与をも行う。
【００９５】
第２プライマリユーザは機器４０４を使用することとする。機器４０４は登録サーバ４１０に登録されていてもよい。登録サーバ４１０は、他の団体もしくはＰＲＳのＯＲＳであってもよい。ここで、本実施形態においては、機器４０４および登録サーバ４１０は、階層的トラストチェーンの一部であるということに注意する必要がある。勿論、これ以外の個人用機器および登録サーバが登録システム１０Ｂに含まれていても良いことは言うまでもない。
【００９６】
図１５は、図１４に示す登録システム１０Ｂにおいて、アプリケーションの移行に係る処理のフローチャートを示している。以下の説明において、第１プライマリユーザは、図８および図９を参照して説明したように、すでに機器４００上でアプリケーションを立ち上げが完了しており、これから該アプリケーションを機器４０４へ移行しようとしているものとする。アプリケーションは、ネットワーク上の他の装置へ移行されてもよいことは言うまでもない。多くの点において、図１４に示す登録システム１０Ｂの動作は図１０〜１３を用いて説明した動作と同じである。従って、説明が冗長になるの防ぐため、以下は、本実施形態と上前述した実施形態との相違点に絞って説明を行う。
【００９７】
まず、第１プライマリユーザは、機器４００を用いて、機器４０４を移行先機器として特定する（ステップＳ４２０）。機器４００は、アプリケーション関連情報およびユーザ名を機器４０４へ送信する（ステップＳ４２２）。次にステップＳ４２４において、機器４０４は、グループＯＲＳ（登録サーバ４０８）のリンクアドレスを機器４０４の記憶部から若しくは登録サーバ４１０から取得する。ここで、本実施形態におけるデバイスでコード３２（図３および図４参照）から得られるリンクアドレスは、登録ｈシステム１０Ｃの階層構造に起因して、グループＯＲＳ（登録サーバ４０８）のアドレスであって、サブグループＯＲＳ（登録サーバ４０６）ではないことに注意する必要がある。
【００９８】
機器４０４はグループＯＲＳ（登録サーバ４０８）にアクセスし、第１プライマリユーザに関連する機器のプライマリユーザリストを抽出する（ステップＳ４２６）。グループＯＲＳ（登録サーバ４０８）は、第１プライマリユーザが登録サーバ４０８のデータベース２４に格納されているかを判定する（ステップＳ４２８）。ステップＳ４３０において、グループＯＲＳ（登録サーバ４０８）は、第１プライマリユーザのユーザ名をサブグループＯＲＳに対しマルチキャストする。サブグループＯＲＳ（登録サーバ４０６）は該ユーザ名を受信する（ステップＳ４３２）。ステップＳ４３４において、サブグループＯＲＳ（登録サーバ４０６）は自身の所有するデータベース２４にアクセスし、第１プライマリユーザに関連する個人用機器のプライマリユーザリストが格納されているかをチェックする。サブグループＯＲＳ（登録サーバ４０６）は該プライマリユーザリストをサブグループＯＲＳ（登録サーバ４０６）を特定するリンクアドレスとともに、グループＯＲＳ（登録サーバ４０８）へ送信する（ステップＳ４３６）。ステップＳ４３８において、グループＯＲＳ（登録サーバ４０８）は、該プライマリユーザリストを移行先機器（機器４０４）へネットワーク１２を介して転送する。
【００９９】
機器４０４は、抽出されたプライマリユーザリストをブロードキャストし、該リストから機器を特定することにより、第１プライマリユーザが該リストの中から一つの個人用機器を選択することが可能になる（ステップＳ４４０）。この動作は、図１０〜１２を用いて説明した機器１５６（図７参照）の動作と同様である。ステップＳ４４２において、プライマリユーザリストから選択された機器（本実施形態においては機器４０２）は、移行を通知しログイン情報を受信する。このログイン情報は第１プライマリユーザによって提供されるものであり、その取得方法は図１０〜１２を参照して説明した機器１５２（図７参照）の動作と同様である。
【０１００】
ログイン情報の入力が完了した後の処理を図１６を用いて説明する。ステップＳ４４４において、機器４０２は、該ログイン情報、アプリケーション関連情報および機器４０４のアドレスを暗号化し、サブグループＯＲＳ（登録サーバ４０６）へ送信する。さらに、ステップＳ４４６において、グループＯＲＳ（登録サーバ４０８）は、サブグループＯＲＳ（登録サーバ４０６）のリンクアドレスを機器４０４へ送信する。
【０１０１】
以上でサブグループＯＲＳ（登録サーバ４０６）と機器４０４との間で通信リンクが確立されたことになる。グループＯＲＳ（登録サーバ４０８）は、アプリケーションと第１プライマリユーザとの認証および確認を行う（ステップＳ４４８）。この認証および確認は、図７に示す登録サーバ１６２が行うものと同様である。次に、ステップＳ４５０において、機器４０４は、該アプリケーションの移行許可通知およびセッションＵＩＤを確認する。この移行許可通知および確認は、図１０〜１２を用いて説明した機器１５６が行う処理と同様である。ステップＳ４５２において、デバイスレコード３２に格納されている特権レベルおよび移行元機器のリソースの確認が行われる。機器４０４のデバイスレコード３２に格納される特権レベルは、第１プライマリユーザに対してではなく、グループ４１４に対して設定されてもよい。あるいは、全てのプライマリユーザ、サブグループ４１２あるいは他のサブグループに対して設定することも可能である。最後にステップＳ４５４において、アプリケーションの移行が行われる。
【０１０２】
なお、図１４に示す登録システム１０Ｂには、少なくとも一つのピアグループ（図７参照）を有する登録システム１０Ａが含まれていても良い。さらに、アプリケーションの移行は図１３を用いて説明したように複数のコンポーネントに分割されて行われても良い。さらに、ＰＲＳ、ＯＲＳ，ピアグループおよび階層的トラストチェーンを全て含むような登録システムを構成することも可能である。
【０１０３】
２．３  アプリケーションのシャットダウン
上述した実施形態において、アプリケーションのシャットダウンの際にも、認証および権限付与が行われる。図７に示す登録システム１０Ａを例にとって説明する。現在、第１プライマリユーザがアプリケーションを機器１５６上で実行しているものとする。上述した実施形態と同様、第１プライマリユーザは、機器１５０、１５２、１５４と関連付けられて登録サーバ１６２に登録されているものとする。加えて、第２プライマリユーザは、機器１５６に関連付けられて登録サーバ１６４に登録されている。一例として、第１プライマリユーザは、機器１５０、１５２、１５４のうちのいずれか一つにおいて、すでにアプリケーションを立ち上げており、これから該アプリケーションを機器１５６へ移行しようとしている。なお、本実施形態は一例であり、アプリケーションをシャットダウンするユーザおよびシャットダウンされるアプリケーションを実行している機器は任意であることは言うまでもない。
【０１０４】
図１７は、登録システム１０Ｂにおいて、アプリケーションのシャットダウンに係る処理を示すフローチャートの一例である。まず、ステップＳ５００において、ユーザは、機器１５６において実行されているアプリケーションの終了を選択する。すると、機器１５６は、シャットダウン要求を登録サーバ１６４へ送信する（ステップＳ５０２）。シャットダウン要求にはユーザ名、若しくはその他のネットワーク１２を介して送信されるユーザ識別子が含まれている。登録サーバ１６４は、シャットダウン要求が第２プライマリユーザからのものであるかを確認する（ステップＳ５０４）。確認が取れると、処理はステップＳ５１８へ進む。
【０１０５】
シャットダウン要求を発した者が第２プライマリユーザでなかった場合、登録サーバ１６４は、シャットダウン要求を出したユーザに対応した登録サーバのリンクアドレスを特定する（ステップＳ５０６）。具体的には、このリンクアドレスは、登録サーバ１６４に有するデータベース２４に格納されている機器１５６のデバイスレコード３２（図３および図４参照）から取得する。一例として、シャットダウン要求を発したユーザは第１プライマリユーザであり、従って登録サーバ１６４は登録サーバ１６２のリンクアドレスを取得したとする。ステップＳ５０８において、登録サーバ１６４は、特定した登録サーバ（この場合登録サーバ１６２）に対し、機器１５６の公開鍵をＳＳＬ等の安全な通信接続方法を用いて送信する。加えて、登録サーバ１６４は、登録サーバ１６２の公開鍵を機器１５６へ送信する（ステップＳ５１０）。
【０１０６】
機器１５６は、シャットダウン通知およびアプリケーション関連情報を暗号化する（ステップＳ５１２）。具体的には、すでに登録サーバ１６２から送信されている公開鍵を用いて、この通知および情報を暗号化する。ステップＳ５１４において、機器１５６は、暗号化されたデータを登録サーバ１６２へ送信する。登録サーバ１６２の秘密鍵を用いてこのメッセージを復号する（ステップＳ５１６）。ステップＳ５１８において、登録サーバ１６２（第２プライマリユーザが該アプリケーションをシャットダウンする場合は登録サーバ１６４）は、アプリケーション関連情報をデータベースから削除する。図５および図６を用いてすでに説明したように、アプリケーション関連情報は、アプリケーションが立ち上がったときにデータベース２４に格納されるものである。
【０１０７】
続いて図１８へ移り、登録サーバ１６２（登録サーバ１６４）は、第１（第２）プライマリユーザに対応する個人用機器のプライマリユーザリストを特定する（ステップＳ５２０）。ステップＳ５２２において、アプリケーション関連情報削除通知は、各個人用機器の公開鍵を用いて暗号化される。暗号化された通知は、プライマリユーザリストに掲載されている個人用機器へ送信される。ここでは、暗号化されるメッセージは、機器１５２および機器１５４へ送信されたものとする。ステップＳ５２６において、リストアップされた個人用機器（即ち機器１５２および１５４は）暗号化されたメッセージを受信し、それぞれが所有する秘密鍵を用いて復号する。また、リストアップされた機器は、アプリケーション関連情報を削除する（ステップＳ５２８）。アプリケーション関連情報は、各機器が有する記憶部に予め格納されていても良い。ステップＳ５３０において、登録サーバ１６２（登録サーバ１６４）はシャットダウン許可通知を機器１５６へ送信する。最後に、機器１５６は、該アプリケーションを終了させる（ステップＳ５３２）。
【０１０８】
３  アプリケーションの認証
本登録システムにおける個人用機器において、アプリケーションの認証を行うことによってセキュリティを更に向上させることが出来る。アプリケーションの認証には、例えば、アプリケーションが信用できる開発元において生成されたことの保証、およびアプリケーションがいかなる改変も受けていないことの保証を付け加えても良い。具体的には、アプリケーションの開発段階で認証情報が埋め込まれ、ローカルリソース（個人用機器のリソース）の使用の確認と開発元の電子署名とによりアプリケーションの認証が行われる。
【０１０９】
ローカルリソースを利用することによって、アプリケーションによるリソースの使用に関連したさまざまな機能に対してのセキュリティが強化される。これには、アプリケーションの開発段階において、予想されるシステムリソースへのアクセス要求を特定することも含まれる。アプリケーションが立ち上がったとき、予想されるシステムリソースへのアクセス要求は、該アプリケーションによって、該アプリケションを実行している個人用機器１４（図１参照）へ供給される。個人用機器１４は、リソースへのアクセス要求が予想されるものに対して逸脱した場合に、ユーザに警告を発する監視機能を備えていてもよい。
【０１１０】
また、開発元による電子署名により、アプリケーションの配布時若しくは移行時に、アプリケーションのコード（プログラム）が改ざんされることを防ぐことが出来る。さらに、電子署名は、アプリケーションが不正にコピーされたものでないという証明にもなる。アプリケーションの改ざん、改変、破壊もしくは不正コピー等により、この電子署名がなくなるか若しくは変化してしまうからである。本実施形態においては、開発元は、アプリケーションの各々のコピーに対し、秘密鍵を用いて電子的に「署名」をする。アプリケーション秘密鍵は、開発元が使用する登録サーバに格納してもよい。対応する公開鍵、若しくは公開鍵と秘密鍵の鍵対を含んだ該登録サーバのリンクアドレスは、アプリケーションの配布とともに配布されてもよい。
【０１１１】
アプリケーションが立ち上げられたとき、公開鍵が該アプリケーションとともに配布されているならば、該公開鍵を用いて電子署名を復号することにより、電子署名の確認が行われる。あるいは、該リンクアドレスがアプリケーションとともに配布されている場合、電子署名の確認は、まず該リンクアドレスを参照して該登録サーバから公開鍵をダウンロードすることにより行われる。このダウンロードにあたっては、ＳＳＬ等の安全な通信方法が用いられる。そして、ダウンロードした公開鍵を用いて該電子署名の確認が行われる。アプリケーションの一例としては、音楽ファイルがある。この場合、音楽ファイルの販売元は、電子署名を音楽ファイルを埋め込んだ状態で購入者に対して販売する。購入者が該音楽ファイルを開くと、該ファイルの認証が行われるのである。
【０１１２】
図１９は、本発明の登録システムの更に別の実施形態を示すブロック図である。この登録システム１０Ｃは、少なくとも一つの個人用機器５５０と、少なくとも一つの登録サーバ５５２と、少なくとも一つのアプリケーションリポジトリ５５４を有しており、図に示すように、これらは互いにネットワーク１２を介して通信可能に構成されている。個人用機器５５０はプライマリユーザによって使用され、図１に示す個人用機器１４と同様の機能を有する。同様に、登録サーバ５５２はデータベース２４を有しており、図１に示す登録サーバ１６と同様の機能を有する。しかしながら、本実施形態における登録サーバ５５２は、アプリケーションの開発元が秘密鍵と公開鍵の鍵対を格納するために使用される。
【０１１３】
アプリケーションリポジトリ５５４はサーバコンピュータ、ワークステーション、個人用機器、登録サーバ、その他の演算装置および記憶装置を有しネットワーク１２を介して通信を行う装置である。アプリケーションリポジトリ５５４は、個人用機器５５０がダウンロードしたアプリケーションを格納するために用いられる。この機能を利用した一例として、インターネット上で利用できるシェアウェアがある。あるいは、ネットワーク１２以外を介さずに、例えば、モデム等を用いて、機器５５０とアプリケーションリポジトリ５５４とを接続し、アプリケーションのダウンロードを行うこととしてもよい。
【０１１４】
図２０は、図１９に示す登録システム１０Ｃにおいて、アプリケーションの電子署名の確認に係る処理を示すフローチャートの一例である。まずステップＳ５７０において、機器５５０が、アプリケーションリポジトリ５５４からダウンロードするアプリケーションを選択する。ステップＳ５７２において、このアプリケーション（若しくはアプリケーションコンポーネント）は、ネットワーク１２を介して機器５５０へダウンロードされる。この際、アプリケーションの開発元の電子署名および公開鍵、または登録サーバ５５２のリンクアドレスも含まれており、同時にダウンロードされる。ステップＳ５７４において、個人用機器５５０は、電子署名およびリンクアドレスまたはアプリケーションの公開鍵をアプリケーションから抽出する。ステップＳ５７６において、個人用機器５５０はダウンロードしたものの中に公開鍵が含まれているかを確認する。
【０１１５】
公開鍵がアプリケーションに含まれていない場合、機器５５０は、リンクアドレスを用いて登録サーバ５５２へアクセスし、公開鍵を要求する（ステップＳ５７８）。ステップＳ５８０において、登録サーバ５５２の公開鍵が機器５５０に送信される。機器５５０は、公開鍵を用いて電子署名を復号し、電子署名が正当なものであるかを確認する。公開鍵が含まれている場合は、機器５５０はステップＳ５８２の処理へ進み、該公開鍵を用いて、電子署名の復号および確認を行う。
【０１１６】
電子署名の認証が終わると、図８で説明した手順に従い、アプリケーションが立ち上がる。ここで登録システム１０Ｃには、ピアグループもしくは階層トラストチェーンのいずれかまたは両方が含まれていても良い。または、第２の個人用機器が第１の個人用機器に対してアプリケーションのダウンロードを指示しても良い。
【０１１７】
上述した実施形態の登録システムは、認証および権限付与の両方の機能を有する安全な分散システムである。このシステムは、ユーザが個人用機器をプライマリユーザとして操作する際および他のプライマリユーザから借りた個人用機器を操作する際に、セキュリティが確保される。このように、予め設定可能なアクセスレベルを用いて個人用機器への安全にアクセスすることが可能であるので、ユーザは、誤った使い方若しくはは好ましくない使い方をされる心配をせずに、個人用機器を他人と共有することが可能となる。
【０１１８】
さらに、単独ユーザ、ピアグループのユーザ、階層化されたグループのユーザのうちいずれか一のユーザの認証をすることにより、個人所有者および団体の両方に対して同様のセキュリティが確保される。さらに、アプリケーションの起動時と、異なる個人用機器への移行時との両方において、アプリケーションの確認および権限付与を行うことにより、動作上のセキュリティを保ちつつ、個人用機器の有する移動機能、ユーザ自由度およびリソース共有機能を活用することができる。そして、セキュリティ情報を機器に一時的に格納する機能とネットワーク通信を行う機能によって、移動機能になんら制限を加えることなく、またはユーザに特定の個人用機器の使用を強いることなく、認証および確認の設定の自由度を高くすることが可能である。
【０１１９】
本発明の登録システムは本質的に分散構造を有するので、個人用機器の所有者は、該機器およびユーザに関する情報の管理を徹底することが出来る。その上、パスワードおよび他のセキュリティ上重要な情報は、信用できない機器やシステムに漏洩する事がないよう、適切に保護される。さらには、登録システムは個人用機器や登録サーバが増えても容易に対応することが可能である。
【０１２０】
以上、本発明を特徴的な実施形態の例を用いて説明したが、特許請求の範囲に記載される発明の技術的思想の本質および範囲を逸脱せずに、これらの実施形態に対し種々の変形・変更を施すことが可能であることは言うまでもない。従って、本明細書および図面に記載される事項を限定的に解釈してはならない。
【０１２１】
【発明の効果】
以上説明したように、本発明によれば、個人用機器が接続している通信ネットワークにおいて、アプリケーションの移行およびデバイスリソースの共有を安全に行うことができる。
【図面の簡単な説明】
【図１】  個人用機器と登録サーバとを有する本発明の登録システム１０の実施形態を示すブロック図である。
【図２】  図１に示す個人用機器に格納される情報を示す図である。
【図３】  図１に示す登録サーバに格納される情報を示す図である。
【図４】  図１に示す登録サーバに格納される情報の他の態様を示す図である。
【図５】  図１に示す個人用機器が、図１に示す登録サーバに登録される際に行われる処理の手順を示すフローチャートである。
【図６】  図５に示すフローチャートの続きである。
【図７】  複数の機器および複数の登録サーバを有する登録システムの他の態様を示すブロック図である。
【図８】  図７に示す登録システム１０Ａにおいて、アプリケーションが起動される際の手順を示すフローチャートである。
【図９】  図８に示すフローチャートの続きである。
【図１０】  図７に示す登録システム１０Ａにおいて行われるアプリケーションの移行を示すフローチャートである。
【図１１】  図１０に示すフローチャートの続きである。
【図１２】  図１１に示すフローチャートの続きである。
【図１３】  図７に示す登録システム１０Ａにおいて行われるアプリケーションの移行の他の態様を示す図である。
【図１４】  本発明の登録システムの他の態様を示す図である。
【図１５】  図１４に示す登録システム１０Ｂにおいて行われるアプリケーションの移行の他の態様を示す図である。
【図１６】  図１５に示すフローチャートの続きである。
【図１７】  図７に示す登録システム１０Ａにおいて行われるアプリケーションの終了の手順を示すフローチャートである。
【図１８】  図１７に示すフローチャートの続きである。
【図１９】  登録システムの他の態様を示すブロック図である。
【図２０】  図１９に示す登録システム１０Ｃにおいて実行されるアプリケーションのダウンロードおよび開始を行う際の処理の手順を示すフローチャートである。
【符号の説明】
１０・・・登録システム、１２・・・通信網、１４・・・個人用機器、１６・・・登録サーバ、１８・・・登録サーバリンクアドレス、２０・・・機器公開鍵、２２・・・登録サーバ公開鍵、３０・・・所有者データ、３２・・・デバイスレコード、３４・・・所有者ＩＤ、３６・・・個人情報、３８・・・個人用機器名、４０・・・公開鍵４０、４２・・・機器機能詳細、４４・・・特権レベル、４６・・・メンバ、４８・・・メンバＩＤ、５０・・・メンバリンクアドレス、５２・・・メンバ公開鍵、６０・・・サブグループ情報、６２・・・団体ＩＤ、６４・・・団体情報、６６・・・サブグループ名、６８・・・サブグループリンクアドレス、７０・・・サブグループ公開鍵、５５４・・・アプリケーションレポジトリ。
【図１】
0003921159.tif 000002
【図２】
0003921159.tif 000003
【図３】
0003921159.tif 000004
【図４】
0003921159.tif 000005
【図５】
0003921159.tif 000006
【図６】
0003921159.tif 000007
【図７】
0003921159.tif 000008
【図８】
0003921159.tif 000009
【図９】
0003921159.tif 000010
【図１０】
0003921159.tif 000011
【図１１】
0003921159.tif 000012
【図１２】
0003921159.tif 000013
【図１３】
0003921159.tif 000014
【図１４】
0003921159.tif 000015
【図１５】
0003921159.tif 000016
【図１６】
0003921159.tif 000017
【図１７】
0003921159.tif 000018
【図１８】
0003921159.tif 000019
【図１９】
0003921159.tif 000020
【図２０】
0003921159.tif 000021