(57)【特許請求の範囲】
【請求項１】
ピアツーピア通信をサポートするサーバの動作方法において、
クライアントから前記クライアントの１つ以上の固有情報を含む識別子生成要求を受信するステップと、
前記識別子生成要求に対応して前記クライアントに対応する識別子を生成し、前記固有情報を用いてセキュリティキーを生成し、前記生成された識別子及び前記生成されたセキュリティキーを前記クライアントに送信するステップと、
前記クライアントから識別子及びセキュリティキーを含む認証要求を受信するステップと、
前記認証要求に含まれた識別子及びセキュリティキーそれぞれが前記生成された識別子及び前記生成されたセキュリティキーそれぞれと同一であるか否かを確認し、前記確認結果に基づいて前記クライアントを認証し、認証結果を前記クライアントに送信するステップと、
を含み、
前記クライアントは、前記サーバによって認証される場合に通信可能な状態に遷移し、前記通信可能な状態に遷移した場合に前記サーバから受信したセキュリティキーでデータを暗号化し、他のクライアントに送信する、サーバの動作方法。
【請求項２】
前記１つ以上の固有情報は、前記クライアントの物理的装置に対応する装置固有キー及び前記クライアントに対応する製造キーを含む、請求項１に記載のサーバの動作方法。
【請求項３】
前記セキュリティキーは、前記装置固有キー及び製造キーのうち少なくとも１つに対応して生成される、請求項２に記載のサーバの動作方法。
【請求項４】
前記識別子は、ｎ個の区別情報に基づいたｎ桁のランダム値（ｎ＾ｎ）のいずれか１つである、請求項１に記載のサーバの動作方法。
【請求項５】
前記識別子は、ハッシュインデックスが埋め込まれた、請求項１に記載のサーバの動作方法。
【請求項６】
前記クライアントには、前記サーバの認証された１つ以上の他のクライアントのリストが表示される、請求項１に記載のサーバの動作方法。
【請求項７】
ピアツーピア通信をサポートするクライアントの動作方法において、
サーバに、前記クライアントの１つ以上の固有情報を含む識別子生成要求を送信するステップと、
前記サーバから、前記識別子生成要求に対応した識別子及びセキュリティキーを受信するステップと、
前記サーバに前記識別子及び前記セキュリティキーを含む認証要求を送信するステップと、
前記サーバから、前記認証要求に対応した認証結果を受信するステップと、
前記認証結果が前記サーバによって前記クライアントが認証されたことを示す場合に通信可能な状態に遷移するステップと、
前記通信可能な状態に遷移した場合に前記サーバから受信したセキュリティキーでデータを暗号化し、他のクライアントに送信するステップと、
を含む、クライアントの動作方法。
【請求項８】
前記１つ以上の固有情報は、前記クライアントの物理的装置に対応する装置固有キー及び前記クライアントで駆動される通信ソフトウェアに対応する製造キーを含む、請求項７に記載のクライアントの動作方法。
【請求項９】
前記セキュリティキーは、前記装置固有キー及び製造キーのうち少なくとも１つに対応して生成される、請求項８に記載のクライアントの動作方法。
【請求項１０】
前記識別子は、ｎ個の区別情報に基づいたｎ桁のランダム値（ｎ＾ｎ）のいずれか１つである、請求項７に記載のクライアントの動作方法。
【請求項１１】
前記識別子は、ハッシュインデックスが埋め込まれたものである、請求項７に記載のクライアントの動作方法。
【請求項１２】
前記クライアントで駆動される通信ソフトウェアには、前記サーバの認証された１つ以上の他のクライアントのリストが表示される、請求項７に記載のクライアントの動作方法。
【請求項１３】
ピアツーピア通信をサポートするサーバにおいて、
クライアントと通信する通信インターフェースと、
コントローラと、
を含み、
前記コントローラは、
前記通信インターフェースを用いて前記クライアントの１つ以上の固有情報を含む識別子生成要求を受信し、
前記識別子生成要求に対応して、前記クライアントに対応する識別子を生成し、前記固有情報を用いてセキュリティキーを生成し、前記通信インターフェースを用いて前記生成された識別子及び前記生成されたセキュリティキーを前記クライアントに送信し、
前記通信インターフェースを用いて識別子及びセキュリティキーを含む認証要求を受信し、
前記認証要求に含まれた識別子及びセキュリティキーそれぞれが前記生成された識別子及び前記生成されたセキュリティキーそれぞれと同一であるか否かを確認し、前記確認結果に基づいて前記クライアントを認証し、前記通信インターフェースを用いて認証結果を前記クライアントに送信し、
前記クライアントは、前記サーバによって認証される場合に通信可能な状態に遷移し、前記通信可能な状態に遷移した場合に前記サーバから受信したセキュリティキーでデータを暗号化し、他のクライアントに送信する、サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の実施形態は、サーバ及びクライアントの動作に関する。
【背景技術】
【０００２】
現在の通信方式はユーザの個人情報（例えば、電話番号又はＥメールなど）を用いてユーザが認証されたり識別された場合、ユーザに通信サービスを提供する。
【０００３】
関連する先行技術として、韓民国公開特許第１０−２０１５−００３５１４３号（発明の名称：移動通信サービス提供方法及びそのための装置、出願人：ＳＫテレコム）がある。前記大韓民国公開特許第公報には、移動性管理装置からユーザ装置に対する位置登録要求を受信し、前記ユーザ装置の加入者プロファイル情報を参照して特定の移動通信サービス加入の有無を確認し、前記ユーザ装置が特定の移動通信サービスに加入している場合、前記ユーザ装置に対して登録されたアクセスポイントネーム（Ａｃｃｅｓｓ  Ｐｏｉｎｔ  Ｎａｍｅ）情報を特定の移動通信サービス用に更新し、前記更新されたアクセスポイントネーム情報を含んでいる加入者プロファイル情報を前記移動性管理装置に提供する加入者情報管理装置が開示されている。
【発明の概要】
【課題を解決するための手段】
【０００４】
一側面に係るサーバの動作方法は、クライアントから受信された公開キー要求に対応して公開キーを発行し、前記クライアントに前記公開キーを送信するステップと、前記クライアントから個人キーを受信し、前記公開キー及び前記個人キーをキーペアにマッピングするステップと、前記クライアントから前記クライアントの１つ以上の固有情報を含む識別子生成要求を受信するステップと、前記識別子生成要求に対応して前記クライアントに対応する識別子を生成し、前記固有情報を用いてセキュリティキーを生成し、前記識別子及び前記セキュリティキーを前記クライアントに送信するステップと、前記クライアントから前記識別子及び前記セキュリティキーを含む認証要求を受信するステップと、前記認証要求に対応して前記クライアントを認証し、認証結果を前記クライアントに送信するステップとを含み、前記クライアントは、前記認証結果に応じて他のクライアントと通信可能な状態に遷移する。
【０００５】
前記一つ以上の固有情報は、前記クライアントの物理的装置に対応する装置固有キー及び前記クライアントに対応する製造キーを含み得る。
【０００６】
前記セキュリティキーは、前記装置固有キー及び製造キーのうち少なくとも１つに対応して生成され得る。
【０００７】
前記識別子は、ｎ個の区別情報に基づいたｎ桁のランダム値（ｎ＾ｎ）のいずれか１つであり得る。
【０００８】
前記識別子は、ハッシュインデックスが埋め込まれる。
【０００９】
前記クライアントには、前記サーバの認証された１つ以上の他のクライアントのリストが表示され、前記クライアントは、前記他のクライアントと前記セキュリティキーを用いて暗号化されたパケットを送受信し得る。
【００１０】
前記マッピングされたキーペアは、前記サーバ及び前記クライアントのうちの１つ以上に格納され得る。
【００１１】
一実施形態に係るクライアントの動作方法は、サーバに公開キー要求を送信するステップと、前記サーバから前記公開キー要求に対応する公開キーを受信し、個人キーを生成するステップと、前記個人キーをサーバに送信し、前記サーバから前記公開キー及び前記個人キーに対するキーペア生成完了情報を受信するステップと、前記サーバに、前記クライアントの１つ以上の固有情報を含む識別子生成要求を送信するステップと、前記サーバから、前記識別子生成要求に対応した識別子及びセキュリティキーを受信するステップと、前記サーバに前記識別子及び前記セキュリティキーを含む認証要求を送信するステップと、前記サーバから、前記認証要求に対応した認証結果を受信するステップと、前記認証結果に応じて他のクライアントと通信可能な状態に遷移するステップとを含む。
【００１２】
前記一つ以上の固有情報は、前記クライアントの物理的装置に対応する装置固有キー及び前記クライアントで駆動される通信ソフトウェアに対応する製造キーを含み得る。
【００１３】
前記セキュリティキーは、前記装置固有キー及び製造キーのうち少なくとも１つに対応して生成され得る。
【００１４】
前記識別子は、ｎ個の区別情報に基づいたｎ桁のランダム値（ｎ＾ｎ）のいずれか１つであり得る。
【００１５】
前記識別子は、ハッシュインデックスが埋め込まれたものであり得る。
【００１６】
前記クライアントには、前記サーバの認証された１つ以上の他のクライアントのリストが表示され、前記クライアントは、前記他のクライアントと前記セキュリティキーを用いて暗号化されたパケットを送受信し得る。
【００１７】
前記公開キー及び前記個人キーのキーペアは、前記サーバ及び前記クライアントのうちの１つ以上に格納され得る。
【００１８】
一実施形態に係るサーバば、クライアントと通信する通信インターフェースと、コントローラとを含み、前記コントローラは、前記クライアントから受信された公開キー要求に対応して公開キーを発行し、前記通信インターフェースを用いて前記クライアントで前記公開キーを送信し、前記通信インターフェースを用いて個人キーを受信し、前記公開キー及び前記個人キーをキーペアにマッピングし、前記通信インターフェースを用いて前記クライアントの１つ以上の固有情報を含む識別子生成要求を受信し、前記識別子生成要求に対応して、前記クライアントに対応する識別子を生成し、前記固有情報を用いてセキュリティキーを生成し、前記通信インターフェースを用いて前記識別子及び前記セキュリティキーを前記クライアントに送信し、前記通信インターフェースを用いて前記識別子及び前記セキュリティキーを含む認証要求を受信し、前記認証要求に対応して前記クライアントを認証し、前記通信インターフェースを用いて認証結果を前記クライアントに送信し、前記クライアントは、前記認証結果に応じて他のクライアントと通信可能な状態に遷移する。
【００１９】
前記一つ以上の固有情報は、前記クライアントの物理的装置に対応する装置固有キー及び前記クライアントに対応する製造キーを含み得る。
【００２０】
前記セキュリティキーは、前記装置固有キー及び製造キーのうち少なくとも１つに対応して生成され得る。
【００２１】
前記識別子は、ｎ個の区別情報に基づいたｎ桁のランダム値（ｎ＾ｎ）のいずれか１つであり得る。
【００２２】
前記識別子は、ハッシュインデックスが埋め込まれたものであり得る。
【００２３】
前記クライアントには、前記サーバの認証された１つ以上の他のクライアントのリストが表示され、前記クライアントは、前記他のクライアントと前記セキュリティキーを用いて暗号化されたパケットを送受信し得る。
【００２４】
前記マッピングされたキーペアは、前記サーバ及び前記クライアントのうちの１つ以上に格納され得る。
【００２５】
他の実施形態に係るクライアントの動作方法は、連絡先を追加するための連絡先要求データ及び前記クライアントの識別子をサーバに送信するステップと、前記連絡先要求データに対応して生成されたキーを前記サーバから受信するステップ（前記キーは前記クライアントの識別子とマッピングされる）と、相手クライアントが前記キーを取得するように予め決定したキー伝達プロセスを行うステップと、前記サーバから前記相手クライアントの識別子を受信するステップと、前記相手クライアントの識別子を連絡先レジストリに登録するステップとを含み、前記サーバは、前記相手クライアントから前記相手クライアントの識別子及び前記キーを受信し、前記相手クライアントの識別子を前記クライアントに送信する。
【００２６】
前記予め決定したキー伝達プロセスを行うステップは、前記キーに対応する視覚的コードを生成して表示するステップを含み得る。
【００２７】
前記クライアントの識別子、前記相手クライアントの識別子、第三者の識別子、及び前記相手クライアントと前記第三者との間の友人接続のための友人接続要求データを前記サーバに送信するステップをさらに含み得る。
【００２８】
前記の友人接続要求データは、前記相手クライアント及び前記第三者に送信され、前記相手クライアント及び前記第三者が前記の友人接続要求データに対する承認入力を行う場合、前記相手クライアントの識別子は前記第三者に送信され、前記第三者の識別子は前記相手クライアントに送信され得る。
【００２９】
前記クライアントと第三者との間の友人接続のための友人接続要求データを前記サーバから受信するステップと、前記の友人接続要求データに対する承認の有無を示す応答データを前記サーバに送信するステップと、前記の友人接続要求データに対する承認入力をし、前記第三者が前記の友人接続要求データに対する承認入力を行う場合、前記サーバから前記第三者の識別子を受信するステップと、前記第三者の識別子を連絡先レジストリに登録するステップとをさらに含み得る。
【００３０】
前記相手クライアントの識別子が前記連絡先レジストリから削除された場合、前記相手クライアントの連絡先レジストリに登録された前記クライアントの識別子に対する通信接続をディスエイブルするためのディスエイブル要求データを前記サーバに送信するステップをさらに含み得る。
【００３１】
前記ディスエイブル要求データに対応する、前記相手クライアントに送信される識別子制御命令は、前記クライアントの識別子を削除するための第１命令語、前記クライアントの識別子が視覚的に表示されないための第２命令語、及び前記クライアントと前記相手クライアントとの間の通信が実行されないようにする第３命令語のうち少なくとも１つを含み得る。
【００３２】
前記サーバから前記相手クライアントの識別子を制御するための識別子制御命令を受信するステップをさらに含み得る。
【００３３】
前記識別子制御命令は、前記相手クライアントの識別子を削除するための第１命令語、前記相手クライアントの識別子が視覚的に表示されないための第２命令語、及び前記クライアントと前記相手クライアントとの間の通信が実行されないようにする第３命令語のうち少なくとも１つを含み得る。
【００３４】
前記連絡先レジストリに登録された少なくとも１つの識別子を含む連絡先データを前記サーバにバックアップするための連絡先格納要求データを前記サーバに送信するステップと、前記連絡先格納要求データに対応して生成された識別コード及び暗号キーを前記サーバから受信するステップと、前記暗号キーを用いて連絡先データを暗号化するステップと、前記識別コード及び前記暗号するように暗号化された連絡先データを前記サーバに送信するステップとをさらに含み、前記識別コード及び前記暗号化された連絡先データは、前記サーバ内にマッピングされて格納され得る。
【００３５】
前記相手クライアントのアップデートされた状態情報を前記サーバから受信するステップをさらに含み、前記アップデートされた状態情報は、前記相手クライアントが通信セッションを介して接続可能であることを示す。
【００３６】
更なる一実施形態に係るクライアントの動作方法は、相手クライアントの識別子とマッピングされるキーを取得するステップと、前記キー及び前記クライアントの識別子をサーバに送信するステップと、前記サーバから前記相手クライアントの識別子を受信するステップと、前記相手クライアントの識別子を連絡先レジストリに登録するステップとを含み、前記キーは、前記相手クライアントが連絡先を追加するための連絡先要求データ及び前記相手クライアントの識別子をサーバに送信した場合、前記サーバによって生成される。
【００３７】
前記キーを取得するステップは、前記相手クライアントによって生成された視覚的コードをキャプチャーするステップと、前記視覚的コードを復号化して前記キーを取得するステップとを含み得る。
【００３８】
他の一実施形態に係るサーバの動作方法は、連絡先を追加するための連絡先要求データ及びクライアントの識別子を前記クライアントから受信するステップと、前記連絡先要求データに対応してキーを生成し、前記キーを前記クライアントの識別子とマッピングするステップと、前記キーを前記クライアントに送信するステップと、前記クライアントの予め決定したキー伝達プロセスを介して前記キーを取得した相手クライアントから、前記キー及び前記相手クライアントの識別子を受信するステップと、前記キーとマッピングされる識別子を検索するステップと、検索結果に基づいて前記クライアント及び前記相手クライアントの連絡先を管理するステップとを含む。
【００３９】
前記検索結果に前記クライアントの識別子が含まれた場合、前記キーの使用可能な回数に基づいて前記キーが有効であるかを確認するステップをさらに含み得る。
【００４０】
前記キーが有効である場合に前記キーの使用可能な回数をアップデートし、前記キーが有効でない場合に前記クライアントの識別子を伝達できないことを示すメッセージを前記相手クライアントに送信するステップを含み得る。
【００４１】
前記管理するステップは、前記クライアントの識別子を前記相手クライアントに送信し、前記相手クライアントの識別子を前記クライアントに送信するステップを含み得る。
【００４２】
前記管理するステップは、前記クライアントと前記相手クライアントとの間の友人接続を記録するステップを含み得る。
【００４３】
前記クライアントの識別子、前記相手クライアントの識別子、第三者の識別子、及び前記相手クライアントと前記第三者との間の友人接続のための友人接続要求データを前記クライアントから受信するステップと、前記の友人接続要求データを前記第三者及び前記相手クライアントに送信するステップと、前記の友人接続要求データに対する承認の有無を示す応答データを前記第三者及び前記相手クライアントから受信するステップと、前記応答データに基づいて前記第三者及び前記相手クライアントの連絡先を管理するステップとをさらに含み得る。
【００４４】
前記相手クライアントに登録された前記クライアントの識別子に対する通信接続をディスエイブルするためのディスエイブル要求データを前記クライアントから受信するステップと、前記ディスエイブル要求データに対応する連絡先制御命令を生成するステップと、前記連絡先制御命令を前記相手クライアントに送信するステップとをさらに含み得る。
【００４５】
前記連絡先制御命令は、前記クライアントの識別子を削除するための第１命令語、前記相手クライアントが前記クライアントの識別子を視覚的に表示しないようにする第２命令語、及び前記クライアントと前記相手クライアントとの間の通信が実行されないようにする第３命令語のうち少なくとも１つを含み得る。
【００４６】
前記クライアントの連絡先レジストリに登録された少なくとも１つの識別子を含む連絡先データをバックアップするための連絡先格納要求データを前記クライアントから受信するステップと、前記連絡先格納要求データに対応して識別コード及び前記連絡先データを暗号化するために用いられる暗号キーを生成するステップと、前記識別コード及び前記暗号キーを前記クライアントに送信するステップと、前記クライアントから前記識別コード及び前記暗号するように暗号化された連絡先データを受信するステップと、前記識別コード及び前記暗号化された連絡先データをマッピングして格納するステップとをさらに含み得る。
【００４７】
前記クライアントと他のクライアントから前記識別コード及び連絡先復元要求データを受信するステップと、前記識別コードとマッピングされる連絡先データを検索するステップと、検索結果に基づいて前記暗号化された連絡先データを前記他のクライアントに送信するステップと、前記他のクライアントから前記暗号キーで復号化された連絡先データを登録するための登録要求データを受信するステップと、前記他の識別子に対応して前記復号化された連絡先を登録するステップとを含み得る。
【００４８】
前記相手クライアントが前記サーバに接続する場合、前記相手クライアントの状態情報をアップデートするステップと、前記クライアントに前記アップデートされた状態情報を送信するステップとをさらに含み、前記アップデートされた状態情報は、前記相手クライアントが通信セッションを介して接続可能であることを示す。
【発明の効果】
【００４９】
実施形態は、ユーザの個人情報の入力を受けることなく、通信可能な識別子を付与できるセキュリティー通信プラットフォームを提供することができる。また、実施形態は、通信ソフトウェア（又は、ファームウェア）に識別子を割り当てて電話番号基盤の通信サービスではない識別子基盤の通信サービスを提供することができる。
【図面の簡単な説明】
【００５０】
【図１】一実施形態に係るクライアント及びサーバの動作を説明するためのフローチャートである。
【図２】一実施形態に係る識別子割当及びクライアント認証のためのプロセスの一例を説明するためのフローチャートである。
【図３】一実施形態に係る連絡先追加の一例を説明するためのフローチャートである。
【図４】一実施形態に係る連絡先追加の更なる一例を説明するためのフローチャートである。
【図５】一実施形態に係る連絡先ディスエイブルの一例を説明するためのフローチャートである。
【図６】一実施形態に係る連絡先バックアップの一例を説明するためのフローチャートである。
【図７】一実施形態に係る連絡先の復元の一例を説明するためのフローチャートである。
【図８】一実施形態に係るセキュリティー通話ドングルの一例を説明するための図である。
【図９】一実施形態に係るクライアントの動作方法の一例を説明するためのフローチャートである。
【図１０】一実施形態に係るクライアントの動作方法の更なる一例を説明するためのフローチャートである。
【図１１】一実施形態に係るサーバの動作方法を説明するためのフローチャートである。
【図１２】一実施形態に係るクライアント装置の一例を説明するためのブロック図である。
【図１３】一実施形態に係るクライアント装置の更なる一例を説明するためのブロック図である。
【図１４】一実施形態に係るサーバの一例を説明するためのブロック図である。
【図１５】一実施形態に係るクライアントの動作方法のまた更なる一例を説明するためのフローチャートである。
【図１６】一実施形態に係るサーバの更なる一例を説明するためのブロック図である。
【発明を実施するための形態】
【００５１】
以下、実施形態を添付する図面を参照しながら詳細に説明する。
【００５２】
以下で説明する実施形態には様々な変更が加えられることができる。下記に説明する実施形態は実施形態に対して限定しようとするためのものではなく、これに対する全ての変更、均等物ないし代替物を含むものとして理解しれなければならない。
【００５３】
本実施形態で用いた用語は、単に特定の実施形態を説明するために用いられるものであって、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、１つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【００５４】
異なる定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００５５】
また、添付図面を参照して説明することにおいて、図面符号に関係なく同じ構成要素は同じ参照符号を付与し、これに対する重複する説明は省略することにする。実施形態の説明において関連する公知技術に対する具体的な説明が実施形態の要旨を不要に曖昧にすると判断される場合、その詳細な説明は省略する。
【００５６】
図１は、一実施形態に係るクライアント及びサーバの動作を説明するためのフローチャートである。
【００５７】
クライアントは、例えば、通信サービスを可能にする通信アプリケーションである。通信サービスは、他のクライアントとのＰ２Ｐ（Ｐｅｅｒ  Ｔｏ  Ｐｅｅｒ）通信を含む。
【００５８】
クライアントが端末に最初にインストールされて実行される場合、クライアントは識別子が割り当てられているかを確認する（１１０）。例えば、クライアントは、メモリに識別子が格納されているかを確認する。
【００５９】
識別子が割り当てられた場合、クライアントはサーバに接続する（１２０）。クライアントは、サーバに接続するために自身の識別子及びＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスをサーバに送信する。
【００６０】
クライアントがサーバに接続した場合、サーバは、クライアントの状態情報をアップデートする（１３０）。例えば、サーバはクライアントの状態情報を「オンライン状態」に変更する。相違に表現すると、サーバは識別子に対する状態情報を「オフライン状態」から「オンライン状態」に変更し得る。サーバは、クライアントのアップデートされた状態情報を他のクライアントに送信する。他のクライアントは、クライアントがオンライン状態にあるとディスプレイに表示し得る。言い換えれば、他のクライアントは、クライアントの識別子の状態情報がオンライン状態ということをディスプレイに表示できる。
【００６１】
図１に図示していないが、クライアントの実行が終了すれば（例えば、ユーザがクライアントの実行を中断させた場合など）、クライアントは実行が終了したことを示す終了データをサーバに送信する。ここで、クライアントは、終了データと共に自身の識別子をサーバに送信できる。
【００６２】
サーバは終了データを受信する場合、クライアントの状態情報をアップデートする。例えば、サーバは、クライアントの状態情報を「オンライン状態」から「オフライン状態」に変更し得る。サーバは、クライアントと友人接続された他のクライアントにクライアントのアップデートされた状態情報を送信する。そのため、他のクライアントは、クライアントがオフライン状態にあるとディスプレイに表示することができる。
【００６３】
従来における通話関連のアプリケーションとは異なって、クライアントは、ユーザの個人情報の入力なしでユーザに通話のような通信サービスを提供できる。また、クライアントは、ユーザの個人情報を用いたユーザ認証の手続なしにユーザに通話サービスを提供できる。また、電話番号がなければ通話できなかった従来の通信サービスとは異なって、クライアントに識別子が割り当てられれば、ユーザはクライアントを介して相手側と通話したり、又はメッセージのやり取りできる。ここで、通話パケットなどは、クライアントと他のクライアントとの間に設定された通信セッション（Ｐ２Ｐ通信セッション）を介して送受信される。
【００６４】
識別子が割り当てられていない場合、クライアントは、サーバと識別子割当のためのプロセスを行う（１４０）。また、図１に示していないが、クライアントは識別子を割り当てられた後、クライアント認証のためのプロセスを行ってもよい。以下、図２を参照しながら識別子割当及びクライアント認証のためのプロセスについて説明する。
【００６５】
＜識別子割当及びクライアント認証＞
【００６６】
図２は、一実施形態に係る識別子割当及びクライアント認証のためのプロセスの一例を説明するためのフローチャートである。
【００６７】
図２を参照すると、クライアントは、サーバに公開キー（ｐｕｂｌｉｃ  ｋｅｙ）要求データを送信する（２１１）。サーバは、公開キーを発行する（２２１）。公開キーのサイズは、例えば、６４バイト、すなわち、５１２ビットであってもよい。サーバはクライアントに公開キーを送信する（２２２）。
【００６８】
クライアントは公開キーを格納し、個人キー（ｐｒｉｖａｔｅ  ｋｅｙ）を生成する（２１２）。個人キーのサイズは、例えば、６４バイトであってもよい。クライアントは個人キーをサーバに送信する（２１３）。クライアントは、公開キーを用いて個人キーを暗号化し、暗号化された個人キーをサーバに送信する。サーバは公開キーを有しているため、公開キーを用いて暗号化された個人キーを復号する。
【００６９】
サーバは、公開キー及び個人キーをキーペア（ｋｅｙ  ｐａｉｒ）にマッピングする（２２３）。サーバはマッピングされたキーペアをサーバに格納する（２２４）。サーバは、キーペアの生成を示すメッセージをクライアントに送信する（２２５）。サーバは、個人キーを用いてメッセージを暗号化する。
【００７０】
クライアントは、メッセージを介してキーペアの生成を確認できる。そのため、クライアントは個人キー及び公開キーをキーペアにマッピングし、キーペアを格納する（２１４）。
【００７１】
図２に示された例の場合、キーペアは、クライアント及びサーバに格納される。しかし、キーペアが格納される個所は一実施形態に係る例示的な事項に過ぎず、キーペアが格納される個所は前述した事項に限定されない。例えば、キーペアは、クライアント及びサーバのいずれか１つに格納されてもよい。
【００７２】
クライアントは、識別子生成要求データをサーバに送信する（２１５）。識別子生成要求データは、個人キーを用いて暗号化される。また、クライアントは、識別子生成要求データと共に固有情報をサーバに送信する。具現に応じて、固有情報は識別子生成要求データに含まれてもよい。
【００７３】
固有情報は、例えば、クライアントの物理的装置又はオペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：ＯＳ）に対応する装置固有キー及びクライアントに対応する製造キーのうち少なくとも１つを含む。
【００７４】
クライアントの物理的装置は、例えば、ＣＰＵ及びＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）のうち少なくとも１つを含む。装置固有キーは、ＣＰＵの識別情報又はＭＰＵの識別情報から取得される。クライアントのオペレーティングシステムは、他のオペレーティングシステムと区別する固有情報を有する。そのため、クライアントは、オペレーティングシステムの固有情報から装置固有キーを取得できる。
【００７５】
製造キーは、サイトキー、メーカーキー、及び製品キーを含む。サイトキーはサイト情報に対応する。サイト情報は、例えば、サイトＩＰアドレスを基礎にする情報を示す。メーカーキーはメーカー情報に対応する。メーカー情報は、例えば、クライアントを生成したメーカーの識別情報を示す。製品キーはクライアントのバージョン情報に対応する。
【００７６】
装置固有キー及び製造キーは、予め決定したサイズを有する。例えば、装置固有キーのサイズは１２８ビットであり、製造キーのサイズは２０８ビットである。同様に、サイトキー、メーカーキー、及び製品キーは、予め決定したサイズを有してもよい。例えば、サイトキーのサイズは８０ビットであってもよく、メーカーキーのサイズは６４ビットであってもよく、製品キーのサイズは６４ビットであってもよい。
【００７７】
製造キーは、サイトキー、メーカーキー、及び製品キーの順に構成されてもよい。サイトキー、メーカーキー、及び製品キーの順は例示的な事項に過ぎず、サイトキー、メーカーキー、及び製品キーの順は前述した事項に限定されない。
【００７８】
サーバは識別子生成要求データを受信した場合、セキュリティキー及び識別子を生成する（２２６）。一実施形態において、サーバは、クライアントの固有情報に対応するセキュリティキーを生成する。例えば、サーバがクライアントから装置固有キー及び製造キーを受信した場合、サーバは、装置固有キー及び製造キーを変形してセキュリティキーを生成する。サーバは、１２８ビットの装置固有キー及び２０８ビットの製造キー基づいて２５６ビットのセキュリティキーを生成する。後述するが、クライアントが認証される場合、クライアントは、他のクライアントと通信セッションを設定して通信できる。セキュリティー通信のためにクライアントは、セキュリティキーを用いてパケットを暗号化する。すなわち、セキュリティキーは、通信セッションを介して交換されるパケットを暗号化するために使用される。
【００７９】
サーバ１２０は識別子をランダムに生成し、クライアントに割り当てる。識別子は、ｎ個の区別情報に基づいたｎ桁のランダム値ｎ＾ｎのうちのいずれか１つである。例えば、１バイトの区別情報が６４個である場合、識別子は、６４桁を有する６４＾６４個のランダム値のうちいずれか１つであり得る。サーバは、６４個の区別情報をランダムに配列して識別子を生成する。サーバは、識別子が異なる識別子と重複するかを確認し、重複しない場合は識別子をクライアントに割り当てる。そのため、識別子は、クライアントごとにユニークである。
【００８０】
識別子にはハッシュインデックス（Ｈａｓｈ  ｉｎｄｅｘ）が埋め込まれる。ハッシュインデックスのサイズは、例えば、６４ビットであってもよい。サーバは、変換ロジックを用いて識別子にハッシュインデックスを埋め込む。例えば、識別子のサイズが６４バイトであると仮定する。サーバは、最初のバイト内に含まれた特定ビットに変換ロジックを適用する。場合に応じて、特定ビットに変換ロジックが適用されても、特定ビットは他のビットに変更されないこともある。特定ビットが第１論理値を有する場合、特定ビットに変換ロジックによって第２論理値に変更されたり第１論理値を保持する。特定ビットは、例えば、１つであってもよい。サーバは、残りのバイト内に含まれた特定ビットに変換ロジックを適用する。そのため、識別子のストリング（ｓｔｒｉｎｇ）のうちの一部は変更されてもよく、ハッシュインデックスが識別子に埋め込まれてもよい。例えば、識別子がＡＢＣＤのストリングである場合、ＡＢＣＤは、変換ロジックによってＡＺＤＤになり、ＡＺＤＤにハッシュインデックスが埋め込まれる。
【００８１】
サーバが識別子及びセキュリティキーを生成した場合、サーバは識別子及びセキュリティキーをクライアントに送信する（２２７）。識別子及びセキュリティキーは個人キーを用いて暗号化される。
【００８２】
クライアントは、個人キーを用いて識別子及びセキュリティキーを復号する。
【００８３】
クライアントは、識別子及びセキュリティキーをメモリに格納する（２１６）。
【００８４】
ここまでが識別子割当のためのプロセスである。クライアントは、識別子基盤の通信ができるように認証プロセスをサーバと行うことができる。以下、認証プロセスについて説明する。
【００８５】
クライアントは、認証要求データをサーバに送信する（２１７）。また、クライアントは、認証要求データと共に識別子及びセキュリティキーをサーバに送信する。認証要求データ、識別子、及びセキュリティキーは、個人キーを用いて暗号化される。具現に応じて、識別子及びセキュリティキーは認証要求データに含まれてもよい。
【００８６】
サーバは、クライアントから受信された識別子及びセキュリティキーを確認する。より具体的に、サーバは、クライアントから受信された識別子及びセキュリティキーがステップ２２６で生成された識別子及びセキュリティキーと同一であるか否かを確認する。
【００８７】
サーバは、クライアントから受信された識別子及びセキュリティキーに基づいてクライアントを認証し（２２８）、認証結果データをクライアントに送信する（２２９）。認証結果データは個人キーを用いて暗号化される。クライアントが認証される場合、上記で説明したサーバに接続して通信サービスを可能にする。
【００８８】
一実施形態によれば、識別子は、クライアントに割り当てられた固有情報であるため、クライアントが端末から削除され、端末に新しいクライアントがインストールされる場合、新しいクライアントはクライアントの識別子を自身の識別子として利用できない。そのため、新しいクライアントは、サーバと図２に示す識別子割当プロセスを行って自身の識別子が割当てられ、サーバと認証プロセスを行う。
【００８９】
＜連絡先追加＞
【００９０】
図３は、一実施形態に係る連絡先追加の一例を説明するためのフローチャートである。
【００９１】
図３を参照すると、クライアントＡは、連絡先を追加するための連絡先要求データ及び識別子Ａをサーバに送信する（３１０）。識別子Ａは、クライアントＡに割り当てられた識別子である。具現に応じて、識別子Ａは、連絡先要求データに含まれてサーバに送信される。
【００９２】
サーバは、連絡先要求データに対応してキーを生成する（３１１）。また、サーバはキーと識別子Ａをマッピングする（３１２）。サーバは、識別子Ａをキーとマッピングして格納する。サーバはキーをクライアントＡに送信する（３１３）。
【００９３】
クライアントＡがキーを受信する場合、クライアントＡは、クライアントＢがキーを取得するようにキー伝達プロセスを行う（３１４）。例えば、クライアントＡは、キーをエンコーディングしてキーに対応する視覚的コードを生成し、視覚的コードをディスプレイに表示する。視覚的コードは、クライアントＢが光学的手段（例えば、カメラ）を介して情報を取得できる形態のコードとして、例えば、１Ｄバーコード、２Ｄバーコード、及び／又は３Ｄバーコードであり得る。２Ｄバーコードは、ＱＲ（Ｑｕｉｃｋ  Ｒｅｓｐｏｎｓｅ）コード、データマトリックスコード（ＤａｔａＭａｔｒｉｘ  ｃｏｄｅ）、マキシコード（Ｍａｘｉ  Ｃｏｄｅ）などを含む。他の例として、クライアントＡは、サーバを介して視覚的コードをクライアントＢに送信する。
【００９４】
クライアントＢは、キー伝達プロセスを介してキーを取得する（３１５）。例えば、クライアントＢは、クライアントＡのディスプレイに表示された視覚的コードをキャプチャーし、視覚的コードを復号化してキーを取得できる。
【００９５】
クライアントＢは、キー及び識別子Ｂをサーバに送信する（３１６）。ここで、識別子Ｂは、クライアントＢに割り当てられた識別子であり得る。
【００９６】
サーバは、キーとマッピングされる識別子を検索する（３１７）。図３に示された例として、識別子Ａがキーとマッピングされているため、検索結果に識別子Ａが含まれる。
【００９７】
サーバは、キーが有効であるかを確認する（３１８）。例えば、サーバはキーの使用可能な回数に基づいてキーが有効であるかを確認する。
【００９８】
一実施形態によれば、キーの使用可能な回数は、クライアントＡのユーザによって設定される。キーの使用可能な回数が１と設定された場合、当該のキーは１回性である。すなわち、サーバは、連絡先要求データを受信するごとにキーを生成する。これは、セキュリティー程度が高いことを意味する。キーの使用可能な回数が複数回設定された場合、当該キーはクライアントＡの他の要求がない限り複数回用いられる。この場合、サーバは、クライアントＡの最初の連絡先要求データを受信するときキーを生成し、その後連絡先要求データを受信するときはキーを生成しない。また、キーの使用可能な回数は無制限に設定されてもよい。この場合、クライアントＡの他の要求がない限り、キーは永久的に使用される。これは、セキュリティー程度が極めて低いことを意味する。
【００９９】
ステップ３１８において、キーの使用可能な回数が０であれば、キーは有効ではない。これは、クライアントＡが使用可能な回数を超過して連絡先要求データを送信したことを意味する。この場合、サーバは、識別子ＡをクライアントＢに送信できないことを示す、失敗メッセージをクライアントＢに送信する（３１９）。図３に図示していないが、サーバは、クライアントＡにステップ３１０を再び実行しろとのメッセージを送信する。クライアントＡは、メッセージにより連絡先要求データ及び識別子Ａをサーバに再び送信し、サーバはキーを生成し得る。
【０１００】
ステップ３１８において、キーの使用可能な回数が０でなければ、キーは有効である。この場合、サーバはキーの使用可能な回数をアップデートする（３２０）。例えば、サーバは、使用可能な回数から１を差し引く。
【０１０１】
サーバは、クライアントＡ及びクライアントＢの連絡先を管理する。例えば、サーバは、キーが有効である場合、識別子ＢをクライアントＡに送信し（３２１）、識別子ＡをクライアントＢに送信する（３２２）。また、サーバは、クライアントＡ及びクライアントＢの間の友人接続を記録する。相違に表現すれば、サーバは、識別子Ａ及び識別子Ｂの間の友人接続を記録する。
【０１０２】
クライアントＡは識別子Ｂを受信する場合、連絡先レジストリに識別子Ｂを登録する（３２３）。
【０１０３】
クライアントＢは識別子Ａを受信する場合、連絡先レジストリに識別子Ａを登録する（３２４）。
【０１０４】
図４は、一実施形態に係る連絡先追加の更なる一例を説明するためのフローチャートである。
【０１０５】
識別子Ｂ及び識別子ＣがクライアントＡの連絡先レジストリに登録されており、識別子Ｂは、クライアントＣの連絡先レジストリに登録されず、識別子Ｃは、クライアントＢの連絡先レジストリに登録されていないと仮定する。すなわち、クライアントＡは、クライアントＢ及びＣそれぞれと友人として接続されており、クライアントＢ及びＣは互いに友人として接続されていない。この場合、クライアントＡは、クライアントＢ及びＣが友人に接続されるようにできる。
【０１０６】
クライアントＡは、連絡先リストから識別子Ｂを選択し、識別子Ｂを受信するクライアントＣを選択する。また、クライアントＡは、サーバに送信するメッセージを生成する。ここで、メッセージは、クライアントＡ、Ｂ、及びＣそれぞれのユーザの名前を含んでいる。以下、図４を参照しながら、連絡先追加の更なる一例を説明する。
【０１０７】
図４を参照すると、クライアントＡは、識別子ＢがクライアントにＣに送信されるための友人接続要求データをサーバに送信する（４１０）。相違に表現すれば、友人接続要求データは、クライアントＢとクライアントＣの間の友人接続のためのクライアントＡの要求データである。友人接続要求データは、クライアントＡが生成したメッセージを含む。
【０１０８】
クライアントＡは、友人接続要求データと共に識別子Ａ、識別子Ｂ、及び識別子Ｃをサーバに送信する。具現に応じて、識別子Ａ、識別子Ｂ、及び識別子Ｃは、友人接続要求データに含まれてサーバに送信される。
【０１０９】
サーバは、友人接続要求データをクライアントＢに送信する（４１１）。
【０１１０】
クライアントＢは、友人接続要求データに対する承認の有無を示す応答データをサーバに送信する（４１２）。応答データは、例えば、クライアントＢの承認入力又は拒絶入力を含む。承認入力は、識別子Ｂの送信（ここで、識別子Ｂの受信対象はクライアントＣである）に対する承認を示し、拒絶入力は、識別子Ｂの送信に対する拒絶を示す。相違に表現すれば、承認入力は、クライアントＢがクライアントＣとの友人接続を承認したことを示し、拒絶入力は、クライアントＢがクライアントＣとの友人接続を断ったことを示す。
【０１１１】
サーバは、応答データを用いてクライアントＢが友人接続要求データを承認したか否かを確認する（４１３）。ここで、クライアントＢが友人接続要求データを承認していない場合、サーバは、友人接続要求データに対する拒絶メッセージをクライアントＡに送信する（４１４）。
【０１１２】
クライアントＢが友人接続要求データを承認した場合、サーバは、友人接続要求データをクライアントＣに送信する（４１５）。
【０１１３】
クライアントＣは、友人接続要求データに対する承認の有無を示す応答データをサーバに送信する（４１６）。応答データは、例えば、クライアントＣの承認入力又は拒絶入力を含む。承認入力は、識別子Ｃの送信（ここで、識別子Ｃの受信対象はクライアントＢである）に対する承認を示し、拒絶入力は、識別子Ｃの送信に対する拒絶を示す。相違に表現すれば、承認入力は、クライアントＣがクライアントＢとの友人接続を承認したことを示し、拒絶入力は、クライアントＣがクライアントＢとの友人接続を断ったことを示す。
【０１１４】
サーバは、応答データを用いてクライアントＣが友人接続要求データを承認したか否かを確認する（４１７）。ここで、クライアントＣが友人接続要求データを承認していない場合、サーバは、友人接続要求データに対する拒絶メッセージをクライアントＡに送信する（４１８）。
【０１１５】
クライアントＣが友人接続要求データを承認した場合、サーバは、クライアントＢ及びＣの連絡先を管理する。例えば、サーバは、識別子ＣをクライアントＢに送信し（４１９）、識別子ＢをクライアントＣに送信する（４２０）。また、サーバは、クライアントＢ及びクライアントＣの間の友人接続を記録する。
【０１１６】
クライアントＢは、自身の連絡先レジストリに識別子Ｃを登録し（４２１）、クライアントＣは、自身の連絡先レジストリに識別子Ｂを登録する（４２２）。
【０１１７】
図４に示す例の場合、ステップ４１５は、ステップ４１３の結果に依存する。すなわち、図４の例の場合、サーバがクライアントＣに友人接続要求データを送信することは、クライアントＢが友人接続要求データを承認したかに依存する。これは、一実施形態に係る例示的な事項に過ぎず、ステップ４１５はステップ４１３の結果に依存することなく実行されてもい。例えば、サーバは、友人接続要求データを同時にクライアントＢ及びＣに送信する。ここで、サーバは、２つのいずれか１つから拒絶入力を含んでいる応答メッセージを受信すると、クライアントＢ及びＣを友人接続できないことがある。クライアントＢ及びＣが友人接続要求データを承認した場合、サーバは識別子ＣをクライアントＢに送信し、識別子ＢをクライアントＣに送信する。
【０１１８】
＜連絡先ディスエイブル＞
【０１１９】
図５は、一実施形態に係る連絡先ディスエイブルの一例を説明するためのフローチャートである。
【０１２０】
図５を参照すると、クライアントＡの連絡先レジストリから識別子Ｂが削除された場合、クライアントＡはディスエイブル要求データをサーバに送信する（５１０）。ここで、ディスエイブル要求データは、クライアントＢの連絡先レジストリに登録された識別子Ａに対する通信接続（例えば、Ｐ２Ｐ通信接続）をディスエイブルするためのデータである。また、クライアントＡは、ディスエイブル要求データと共に識別子Ａ及び識別子Ｂをサーバに送信する。具現に応じて、識別子Ａ及び識別子Ｂは、ディスエイブル要求データに含まれてサーバに送信される。
【０１２１】
サーバは、ディスエイブル要求データを受信する場合、クライアントＡとクライアントＢの間の友人接続に対する記録を削除してもよい。
【０１２２】
また、サーバは、ディスエイブル要求データに対応する識別子制御命令を生成する（５１１）。識別子制御命令は、例えば、識別子Ａを削除するための第１命令語、識別子Ａが視覚的に表示されないための第２命令語、及びクライアントＡとクライアントＢの間の通信（例えば、Ｐ２Ｐ通信）が実行されないようにする第３命令語のうち少なくとも１つを含む。
【０１２３】
サーバは、識別子制御命令をクライアントＢに送信する（５１２）。
【０１２４】
クライアントＢは、識別子制御命令により識別子Ａを制御する（５１３）。例えば、クライアントＢは、第１命令語に応じて連絡先レジストリから識別子Ａを削除してもよい。異なる一例として、クライアントＢは、第２命令語に応じて識別子Ａを表示しなくてもよい。この場合、連絡先リストから他の識別子は表示されるものの、識別子Ａは表示されない。更なる一例として、クライアントＢは、第３命令語に応じて識別子Ａの状態情報をオフライン状態として定義する。この場合、クライアントＡがサーバに接続してオンライン状態であっても、クライアントＢは、クライアントＡがオフライン状態にあるとディスプレイに表示してもよい。連絡先リストに識別子Ａが表示されるがオフライン状態に表示され得る。
【０１２５】
＜連絡先バックアップ（ｂａｃｋ  ｕｐ）＞
【０１２６】
図６は、一実施形態に係る連絡先バックアップの一例を説明するためのフローチャートである。
【０１２７】
図６を参照すると、クライアントＡは、連絡先格納要求データをサーバに送信する（６１０）。ここで、連絡先格納要求データは、クライアントＡの連絡先レジストリに登録された少なくとも１つの識別子を含む連絡先データをバックアップするための要求データである。
【０１２８】
サーバは、連絡先格納要求データに対応して識別コード及び暗号キーを生成する（６２０）。サーバは、識別コード及び暗号キーをクライアントＡに送信する（６３０）。
【０１２９】
クライアントＡは、端末のメモリに識別コード及び暗号キーを格納する。また、クライアントＡは、識別コード及び暗号キーを物理的格納装置に格納する。物理的格納装置は、例えば、図８に示すセキュリティー通話ドングルを含む。また、クライアントＡは、識別コード及び暗号キーそれぞれを互いに異なる格納装置に格納する。例えば、クライアントＡは、識別コードをメモリに格納して暗号キーをセキュリティー通話ドングルに格納する。
【０１３０】
クライアントＡは、暗号キーを用いて連絡先データを暗号化する（６４０）。
【０１３１】
クライアントＡは、暗号化された連絡先データをサーバに送信する（６５０）。
【０１３２】
サーバは、暗号化された連絡先データを識別コードとマッピングして格納する（６６０）。システム政策によってサーバは、暗号キーを格納できないことがある。そのため、サーバがハッキングされて暗号化された連絡先データが流出されても、暗号化された連絡先データを復号できる暗号キーは流出されないため、連絡先データは安全である。
【０１３３】
＜連絡先の復元＞
【０１３４】
図７は、一実施形態に係る連絡先の復元の一例を説明するためのフローチャートである。
【０１３５】
図６に示すクライアントＡが端末から削除されてもよい。この場合、クライアントＡの連絡先データは削除されるが、識別コード及び暗号キーは削除されないことがある。その後、新しいクライアントであるクライアントＤが端末にインストールされる。ここで、クライアントＤの識別子は割り当てられないため、クライアントＤは、上記で説明した図２に示す識別子割当プロセス及び認証プロセッサをサーバと行うことができる。
【０１３６】
端末のユーザは、クライアントＤを介して連絡先を復元する。以下、図７を参照しながら連絡先の復元について説明する。
【０１３７】
図７を参照すると、クライアントＤは、連絡先復元要求データをサーバに送信する（７１０）。ここで、クライアントＤは、連絡先復元要求データと共に識別コードをサーバに送信する。具現に応じて、識別コードは、連絡先復元要求データに含まれてサーバに送信される。
【０１３８】
サーバは、識別コードとマッピングされる連絡先データを検索する（７２０）。図６に示すクライアントＡの連絡先データが識別コードとマッピングされるため、検索結果にクライアントＡの連絡先データが含まれる。
【０１３９】
サーバは、検索された連絡先データをクライアントＤに送信する（７３０）。
【０１４０】
クライアントＤは、暗号キーを用いて連絡先データを復号する（７４０）。
【０１４１】
クライアントＤは、連絡先データを格納する（７５０）。そのため、クライアントＡが削除されてもクライアントＡの連絡先データは復元される。
【０１４２】
図７に図示していないが、サーバには、クライアントＤの連絡先に対する記録がない。クライアントＤは、連絡先登録要求をサーバに送信する。この場合、サーバは、識別子Ｄを識別子Ａと同じものと見なして連絡先登録要求を処理する。
【０１４３】
図８は、一実施形態に係るセキュリティー通話ドングルの一例を説明するための図である。
【０１４４】
図８を参照すると、端末８００及びセキュリティー通話ドングル８１０の一例が示されている。
【０１４５】
セキュリティー通話ドングル８１０は、端末８００の入出力インターフェースに着脱可能な形態に設計されている。このような入出力インターフェースは、マイクロＵＳＢポート、Ａｐｐｌｅ（登録商標）のライトニングポートなどがある。また、セキュリティー通話ドングル８００は、今後開発される様々な入出力インターフェースに互換されるように設計され得る。
【０１４６】
セキュリティー通話ドングル８１０と端末８００は、物理的な接触なしに近距離無線通信を介して接続される。近距離無線通信の例として、ブルートゥース（登録商標）、ＮＦＣ、又はＷｉ−Ｆｉなどがある。近距離無線通信は前述した例に限定されない。
【０１４７】
セキュリティー通話ドングル８１０は、一定容量のメモリを含んでいる。メモリには、クライアント、クライアントの連絡先レジストリ、通話記録、又は、メッセージング履歴のうち少なくとも１つ又はその組合せが格納される。
【０１４８】
セキュリティー通話ドングル８１０は、一定容量のバッテリを含む。端末８００のバッテリが足りない場合、セキュリティー通話ドングル８１０は、一定時間以上の通話可能な程度の電力を端末８００に供給する。
【０１４９】
セキュリティー通話ドングル８１０が端末８００に接続された場合、クライアントがディスプレイに視覚的に表示される。異なる一例として、セキュリティー通話ドングル８１０が端末８００に接続された場合、クライアントが実行される。
【０１５０】
セキュリティー通話ドングル８１０が端末８００に接続された場合、図３に示す連絡先の追加機能が実行される。
【０１５１】
識別子が格納されたメモリを含んでいるセキュリティー通話ドングル８１０が配布される。端末８００にクライアントがインストールされ、セキュリティー通話ドングル８１０が端末８００に接続される場合、セキュリティー通話に必要な識別子がクライアントに割り当てられる。
【０１５２】
図９は、一実施形態に係るクライアントの動作方法の一例を説明するためのフローチャートである。
【０１５３】
図９に示すクライアントは、図３ないし図７に示すクライアントＡに対応する。しかし、図９に示すクライアントがこれに制限されることはない。
【０１５４】
図９を参照すると、クライアントは、連絡先を追加するための連絡先要求データ及びクライアントの識別子を通信インターフェースを介してサーバに送信する（９１０）。
【０１５５】
クライアントは、連絡先要求データに対応して生成されたキーをサーバから通信インターフェースを介して受信する（９２０）。ここで、キーは、クライアントの識別子とマッピングされる。
【０１５６】
クライアントは、相手クライアントがキーを取得するように予め決定したキー伝達プロセスを行う（９３０）。相手クライアントがキーを取得した場合、相手クライアントは、キー及び自身の識別子をサーバに送信する。
【０１５７】
クライアントは、サーバから相手クライアントの識別子を通信インターフェースを介して受信する（９４０）。
【０１５８】
クライアントは、相手クライアントの識別子を連絡先レジストリに登録する（９５０）。
【０１５９】
図１ないし図８を参照して記述された事項は、図９を参照して記述された事項に適用され得るため、その詳細な説明は省略する。
【０１６０】
図１０は、一実施形態に係るクライアントの動作方法の更なる一例を説明するためのフローチャートである。
【０１６１】
図１０を参照すると、クライアントは、相手クライアントの識別子とマッピングされるキーを取得する（１０１０）。
【０１６２】
クライアントは、キー及びクライアントの識別子を通信インターフェースを介してサーバに送信する（１０２０）。
【０１６３】
クライアントは、サーバから通信インターフェースを介して相手クライアントの識別子を受信する（１０３０）。
【０１６４】
クライアントは、相手クライアントの識別子を連絡先レジストリに登録する（１０４０）。
【０１６５】
図１ないし図８を参照して記述された事項は、図１０を参照して記述された事項に適用され得るため、その詳細な説明は省略する。
【０１６６】
図１１は、一実施形態に係るサーバの動作方法を説明するためのフローチャートである。
【０１６７】
図１１を参照すると、サーバは、連絡先を追加するための連絡先要求データ及びクライアントの識別子をクライアントから受信する（１１１０）。
【０１６８】
サーバは、連絡先要求データに対応してキーを生成し、キーを前記クライアントの識別子とマッピングする（１１２０）。
【０１６９】
サーバは、キーを前記クライアントに送信する（１１３０）。
【０１７０】
サーバは、クライアントの予め決定したキー伝達プロセスを介してキーを取得した相手クライアントから、キー及び相手クライアントの識別子を受信する（１１４０）。
【０１７１】
サーバは、キーとマッピングされる識別子を検索する（１１５０）。
【０１７２】
サーバは、検索結果に基づいてクライアント及び相手クライアントの連絡先を管理する（１１６０）。
【０１７３】
図１ないし図８を参照して記述された事項は、図１１を参照して記述された事項に適用され得るため、その詳細な説明は省略する。
【０１７４】
図１２は、一実施形態に係るクライアント装置の一例を説明するための図である。
【０１７５】
図１２を参照すると、クライアント装置１２００は、コントローラ１２１０及び通信インターフェース１２２０を含む。
【０１７６】
通信インターフェース１２２０は、サーバと通信する。例えば、通信インターフェースは、ＷＷＡＮ（Ｗｉｒｅｌｅｓｓ  Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又はＷＬＡＮ（Ｗｉｒｅｌｅｓｓ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のためのインターフェースを含む。ＷＷＡＮは、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）ネットワークＴＤＭＡ（Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）ネットワーク、ＦＤＭＡ（Ｆｒｅｑｕｅｎｃｙ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）ネットワーク、ＯＦＤＭＡ（Ｏｒｔｈｏｇｏｎａｌ  Ｆｒｅｑｕｅｎｃｙ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）ネットワーク、及び／又はＳＣ−ＦＤＭＡ（Ｓｉｎｇｌｅ−Ｃａｒｒｉｅｒ  Ｆｒｅｑｕｅｎｃｙ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）ネットワークのいずれか１つ又はその組合せを含む。ＷＬＡＮは、ＩＥＥＥ８０２．１１ｘネットワークを含む。また、通信インターフェースは、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）（登録商標）、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、赤外線通信（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ；ＩｒＤＡ）、ＵＷＢ（Ｕｌｔｒａ  Ｗｉｄｅｂａｎｄ）、ＺｉｇＢｅｅ（登録商標）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、又はＺ−ｗａｖｅなどが可能なインターフェースを含む。
【０１７７】
コントローラ１２１０は、連絡先を追加するための連絡先要求データ及びクライアントの識別子を通信インターフェース１２２０を介してサーバに送信する。ここで、クライアントは、クライアント装置１２００に格納された通信アプリケーションを示す。
【０１７８】
コントローラ１２１０は、連絡先要求データに対応して生成されたキーを通信インターフェース１２２０を介してサーバから受信する。
【０１７９】
コントローラ１２１０は、相手クライアントがキーを取得するように予め決定したキー伝達プロセスを行う。
【０１８０】
コントローラ１２１０は、サーバから相手クライアントの識別子を通信インターフェース１２１２を介して受信する。
【０１８１】
コントローラ１２１０は、相手クライアントの識別子を連絡先レジストリに登録する。
【０１８２】
図１〜図８を参照して記述された事項は、図１２を参照して記述された事項に適用され得るため、その詳細な説明は省略する。
【０１８３】
図１３は、一実施形態に係るクライアント装置の更なる一例を説明するためのブロック図である。
【０１８４】
図１３を参照すると、クライアント装置１３００は、コントローラ１３１０及び通信インターフェース１３２０を含む。
【０１８５】
通信インターフェース１３２０は、サーバと通信する。通信インターフェースの種類は図１２を参照して説明したため、その詳しい説明を省略する。
【０１８６】
コントローラ１３１０は、相手クライアントの識別子とマッピングされるキーを取得する。
【０１８７】
コントローラ１３１０は、キー及びクライアントの識別子を通信インターフェース１３２０を介してサーバに送信する。
【０１８８】
コントローラ１３１０は、サーバから相手クライアントの識別子を通信インターフェース１３２０を介して受信する。
【０１８９】
コントローラ１３１０は、相手クライアントの識別子を連絡先レジストリに登録する。
【０１９０】
図１から図８を参照して記述された事項は、図１３を参照して記述された事項に適用され得るため、その詳細な説明は省略する。
【０１９１】
図１４は、一実施形態に係るサーバの一例を説明するためのブロック図である。
【０１９２】
図１４を参照すると、サーバ１４００は、通信インターフェース１４１０及びコントローラ１４２０を含む。
【０１９３】
通信インターフェース１４１０は、クライアント及び相手クライアントと通信する。
【０１９４】
コントローラ１４２０は、連絡先を追加するための連絡先要求データ及びクライアントの識別子を通信インターフェース１４１０を介してクライアントから受信する。
【０１９５】
コントローラ１４２０は、連絡先要求データに対応してキーを生成し、キーを前記クライアントの識別子とマッピングする。
【０１９６】
コントローラ１４２０は、キーを通信インターフェース１４１０を介してクライアントに送信する。相手クライアントは、クライアントの予め決定したキー伝達プロセスを介してキーを取得する。
【０１９７】
コントローラ１４２０は、相手クライアントからキー及び相手クライアントの識別子を通信インターフェース１４１０を介して受信する。
【０１９８】
コントローラ１４２０は、キーとマッピングされる識別子を検索し、検索結果に基づいてクライアント及び相手クライアントの連絡先を管理する。
【０１９９】
図１ないし図８を参照して記述された事項は、図１４を参照して記述された事項に適用され得るため、その詳細な説明は省略する。
【０２００】
図１５は、一実施形態に係るクライアントの動作方法のまた更なる一例を説明するためのフローチャートである。
【０２０１】
図１５を参照すると、サーバはクライアントＡを認証する（１５１０）。認証結果は個人キーを用いて暗号化される。サーバは、認証結果をクライアントＡに送信する（１５２０）。
【０２０２】
クライアントＡは、個人キーを用いて認証結果を復号する。クライアントＡが認証された場合、クライアントＡは、通信可能な状態に遷移される（１５３０）。クライアントＡはＰ２Ｐ通信可能な状態に遷移される。
【０２０３】
サーバは、クライアントＢを認証する（１５４０）。サーバは、認証結果をクライアントＢに送信する（１５５０）。
【０２０４】
クライアントＢが認証された場合、クライアントＢは、通信可能な状態に遷移される。クライアントＢはＰ２Ｐ通信可能な状態に遷移される。
【０２０５】
クライアントＡは、クライアントＢとＰ２Ｐ通信するための要求をサーバに送信する。サーバは、クライアントＢを探し（ｆｉｎｄ）、クライアントＢにクライアントＡのＰ２Ｐ通信要求を送信する。そのため、クライアントＡとクライアントＢは直接接続して直接通信する。すなわち、クライアントＡとクライアントＢはＰ２Ｐ通信する。この場合、クライアントＡとクライアントＢは、セキュリティキーを用いて暗号化されたパケットを送受信する（１５７０）。
【０２０６】
図１ないし図１４を参照して記述された事項は、図１５を参照して記述された事項に適用され得るため、その詳細な説明は省略する。
【０２０７】
図１６は、一実施形態に係るサーバの更なる一例を説明するためのブロック図である。
【０２０８】
図１６を参照すると、サーバ１６００は、通信インターフェース１６１０、コントローラ１６２０、及びメモリ１６３０を含む。
【０２０９】
通信インターフェース１６１０は、クライアントと通信する。
【０２１０】
一実施形態に係るサーバ１６００は、クライアントのピアツーピア通信をサポートする。以下、クライアントのピアツーピア通信をサポートするためのサーバ１６００の動作について説明する。
【０２１１】
コントローラ１６２０は、クライアントから受信された公開キー要求に対応して公開キーを発行し、通信インターフェース１６１０はクライアントに公開キーを送信する。
【０２１２】
通信インターフェース１６１０はクライアントから個人キーを受信し、コントローラ１６２０は、公開キー及び個人キーをキーペアにマッピングする。一実施形態において、コントローラ１６２０はキーペアをメモリ１６３０に格納する。
【０２１３】
通信インターフェース１６１０はキーペア生成メッセージをクライアントに送信し、クライアントはキーペアの生成を確認する。
【０２１４】
クライアントは、クライアントの１つ以上の固有情報を含む識別子生成要求をサーバ１６００に送信する。
【０２１５】
通信インターフェース１６１０は識別子生成要求を受信し、コントローラ１６２０は、識別子生成要求に対応してクライアントに対応する識別子を生成する。また、コントローラ１６２０は、識別子生成要求に含まれた固有情報を用いてセキュリティキーを生成する。通信インターフェース１６１０は、識別子及びセキュリティキーをクライアントに送信する。
【０２１６】
クライアントは、識別子及びセキュリティキーを含む認証要求をサーバ１６００に送信し、通信インターフェース１６１０は認証要求を受信する。
【０２１７】
コントローラ１６２０は認証要求に対応してクライアントを認証し、通信インターフェース１６１０は、認証結果をクライアントに送信する。クライアントが認証された場合、クライアントは他のクライアントと通信可能な状態に遷移する。クライアント及び他のクライアントが認証された場合、クライアント及び他のクライアントは互いにＰ２Ｐ通信又は直接通信が可能な動作モードに進入する。
【０２１８】
一実施形態において、サーバ１６００は、クライアントにＵＤＰセッション保持のためのクエスチョン（ｑｕｅｓｔｉｏｎ）を生成する。サーバ１６００は、クエスチョンにハッシュインデックスを埋め込んでもよい。サーバ１６００はクエスチョンをクライアントに送信する。
【０２１９】
クライアントがクエスチョンを受信する場合、クライアントは答え（ａｎｓｗｅｒ）を生成する。ここで、答えがクエスチョンに対応する場合、ＵＤＰセッションは保持され、答えがクエスチョンに対応しない場合にＵＤＰセッションは保持されず解除される。
【０２２０】
生成された答えにはハッシュインデックスが埋め込まれる。クライアントは、ハッシュインデックスが埋め込まれた答えをサーバ１６００に送信する。
【０２２１】
サーバ１６００は、クライアントの答えを確認する。サーバ１６００は、答えからハッシュインデックスを取得する。例えば、サーバ１６００は、答えに含まれたバイトをＸＯＲ演算してハッシュインデックスを取得する。ＵＤＰセッションを保持するためにサーバ１６００は、クライアントの識別子を確認する。サーバは、ハッシュインデックスを取得したため、ハッシュインデックスを用いて識別子が格納されたデータベースにアクセスする。データベースは、ハッシュインデックスに対応する識別子をサーバ１６００に送信する。そのため、サーバ１６００は、クライアントから識別子を受信せず、ハッシュインデックスに基づくクエリに対する応答を介してクライアントを識別し、より迅速にクライアントを識別することができる。そのため、ＵＤＰセッションのｖａｌｉｄａｔｉｏｎがより迅速に確認され、ＵＤＰセッションが保持される。また、クライアントのＩＰアドレスが変更されても、サーバ１６００は、ハッシュインデックスを用いてクライアントを迅速に識別できる。そのため、Ｐ２Ｐ通信のようにＩＰが変化する環境でも、ＵＤＰセッションのｖａｌｉｄａｔｉｏｎが確認され、ＵＤＰセッションを保持できる。
【０２２２】
図１ないし図１５を参照して記述された事項は、図１６を参照して記述された事項に適用され得るため、その詳細な説明は省略する。
【０２２３】
以上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答する異なる装置のように、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム（ＯＳ）及びオペレーティングシステム上で実行される１つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は１つが使用されるものとして説明する場合もあるが、当該技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含むことが分かる。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含む。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【０２２４】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこれらのうちの１つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び／又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは１つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【０２２５】
本実施形態による方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明の動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【０２２６】
上述したように実施形態をたとえ限定された図面によって説明したが、当技の術分野で通常の知識を有する者であれば、前記に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されたり、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組合わせられたり、他の構成要素又は均等物によって置き換えたり置換されても適切な結果を達成することができる。
【０２２７】
したがって、他の具現、他の実施形態、及び請求範囲と均等なものも後述する請求範囲の範囲に属する。
【図１】
0006510137.tif 000002
【図２】
0006510137.tif 000003
【図３】
0006510137.tif 000004
【図４】
0006510137.tif 000005
【図５】
0006510137.tif 000006
【図６】
0006510137.tif 000007
【図７】
0006510137.tif 000008
【図８】
0006510137.tif 000009
【図９】
0006510137.tif 000010
【図１０】
0006510137.tif 000011
【図１１】
0006510137.tif 000012
【図１２】
0006510137.tif 000013
【図１３】
0006510137.tif 000014
【図１４】
0006510137.tif 000015
【図１５】
0006510137.tif 000016
【図１６】
0006510137.tif 000017