(57)【特許請求の範囲】
【請求項１】
第１端末と通信し、前記第１端末のユーザにサービスを提供するサーバであって、
メモリに記憶されたプログラムを読み出し、前記プログラムに基づいて処理を実行するプロセッサーを含み、
前記プロセッサーは、
前記第１端末から第１コンタクトリスト情報を前記サーバの通信部によって受信することと、
前記第１端末のユーザの識別子と、前記第１コンタクトリスト情報とを関連付けて前記サーバの記憶部に記憶することと、
前記第１端末または第２端末から前記サーバに対して、前記識別子に基づく前記サービスのリクエストが行われた場合、前記第１端末または前記第２端末から送信された第２コンタクトリスト情報を前記通信部によって受信することと、
前記識別子に基づく前記第１コンタクトリスト情報から抽出された一部の情報と、受信された前記第２コンタクトリスト情報の全部または一部の情報とに基づいて、前記サービスの前記リクエストに対する、前記第１端末または前記第２端末のユーザの認証に関する処理を行うこととを実行する。
【請求項２】
請求項１に記載のサーバであって、
前記プロセッサーは、前記第１コンタクトリスト情報と、受信された前記第２コンタクトリスト情報との比較に基づいて、前記認証に関する処理を行う。
【請求項３】
請求項２に記載のサーバであって、
前記プロセッサーは、前記第１コンタクトリスト情報に含まれる連絡先と前記第２コンタクトリスト情報に含まれる連絡先とに対し、互いに同じ連絡先が含まれる割合が予め設定された割合以上であるかを比較し、前記互いに同じ連絡先が含まれる割合が前記予め設定された割合以上である場合、前記認証に関する処理を行う。
【請求項４】
請求項２に記載のサーバであって、
前記プロセッサーは、
前記第１コンタクトリスト情報に含まれる連絡先それぞれがハッシュ関数によって変換された第１ハッシュ値と、前記識別子とを関連付けて前記記憶部に記憶することと、
前記第２コンタクトリスト情報に含まれる連絡先それぞれがハッシュ関数によって変換された第２ハッシュ値と前記第１ハッシュ値とを比較することとを実行する。
【請求項５】
請求項２に記載のサーバであって、
前記プロセッサーは、
前記第１コンタクトリスト情報に含まれる連絡先それぞれにおいて、名前、電話番号、および電子メールアドレスのうち少なくとも１つの項目の値を前記記憶部に記憶することと、
前記第２コンタクトリスト情報に含まれる連絡先それぞれにおいて、名前、電話番号、および電子メールアドレスのうち少なくとも１つの項目の値を抽出して前記記憶部に記憶された前記第１コンタクトリスト情報に基づく値と比較することとを実行する。
【請求項６】
請求項２に記載のサーバであって、
前記プロセッサーは、
前記第１コンタクトリスト情報に含まれる連絡先それぞれの予め設定された項目において、前記予め設定された項目に含まれる文字列の一部を前記記憶部に記憶することと、
前記第２コンタクトリスト情報に含まれる連絡先それぞれの前記予め設定された項目において、前記予め設定された項目に含まれる文字列の一部を前記記憶部に記憶された前記第１コンタクトリスト情報に基づく文字列の一部と比較することとを実行する。
【請求項７】
第１端末と通信し、前記第１端末のユーザにサービスを提供するサーバに実行させるためのプログラムであって、
前記第１端末から第１コンタクトリスト情報を前記サーバの通信部によって受信することと、
前記第１端末のユーザの識別子と、前記第１コンタクトリスト情報とを関連付けて前記サーバの記憶部に記憶することと、
前記第１端末または第２端末から前記サーバに対して、前記識別子に基づく前記サービスのリクエストが行われた場合、前記第１端末または前記第２端末から送信された第２コンタクトリスト情報を前記通信部によって受信することと、
前記識別子に基づく前記第１コンタクトリスト情報から抽出された一部の情報と、受信された前記第２コンタクトリスト情報の全部または一部の情報とに基づいて、前記サービスの前記リクエストに対する、前記第１端末または前記第２端末のユーザの認証に関する処理を行うこととを前記サーバに実行させる。
【請求項８】
請求項７に記載のプログラムであって、
前記第１コンタクトリスト情報と、受信された前記第２コンタクトリスト情報との比較に基づいて、前記認証に関する処理を行うことを前記サーバに実行させる。
【請求項９】
請求項８に記載のプログラムであって、
前記第１コンタクトリスト情報に含まれる連絡先と前記第２コンタクトリスト情報に含まれる連絡先とに対し、互いに同じ連絡先が含まれる割合が予め設定された割合以上であるかを比較し、前記互いに同じ連絡先が含まれる割合が前記予め設定された割合以上である場合、前記認証に関する処理を行うことを前記サーバに実行させる。
【請求項１０】
請求項８に記載のプログラムであって、
前記第１コンタクトリスト情報に含まれる連絡先それぞれがハッシュ関数によって変換された第１ハッシュ値と、前記識別子とを関連付けて前記記憶部に記憶することと、
前記第２コンタクトリスト情報に含まれる連絡先それぞれがハッシュ関数によって変換された第２ハッシュ値と前記第１ハッシュ値とを比較することとを前記サーバに実行させる。
【請求項１１】
請求項８に記載のプログラムであって、
前記第１コンタクトリスト情報に含まれる連絡先それぞれにおいて、名前、電話番号、および電子メールアドレスのうち少なくとも１つの項目の値を前記記憶部に記憶することと、
前記第２コンタクトリスト情報に含まれる連絡先それぞれにおいて、名前、電話番号、および電子メールアドレスのうち少なくとも１つの項目の値を抽出して前記記憶部に記憶された前記第１コンタクトリスト情報に基づく値と比較することとを前記サーバに実行させる。
【請求項１２】
請求項８に記載のプログラムであって、
前記第１コンタクトリスト情報に含まれる連絡先それぞれの予め設定された項目において、前記予め設定された項目に含まれる文字列の一部を前記記憶部に記憶することと、
前記第２コンタクトリスト情報に含まれる連絡先それぞれの前記予め設定された項目において、前記予め設定された項目に含まれる文字列の一部を前記記憶部に記憶された前記第１コンタクトリスト情報に基づく文字列の一部と比較することとを前記サーバに実行させる。
【発明の詳細な説明】
【技術分野】
【０００１】
下記の説明は、コンタクトリストを利用してユーザを認証するシステムおよび方法に関する。
【背景技術】
【０００２】
ユーザを認証するための多様な従来技術が存在する。例えば、ユーザが直接入力するユーザの識別子とパスワードを利用したり、ワンタイムパスワード（Ｏｎｅ  Ｔｉｍｅ  Ｐａｓｓｗｏｒｄ：ＯＴＰ）のような追加の認証手段を利用したりしてユーザを認証する技術などが存在する。より具体的な例として、特許文献１は、「ＯＴＰを利用したオンライン決済方法およびシステム」とこのための記録媒体に関するものであって、インターネット上でクレジットカードを利用して決済処理を行うときに、クレジットカード番号や有効期間と共に、カードのパスワードや住民登録番号を入力する面倒と個人情報のハッキングの危険を解決するために、クレジットカードのカード番号とＯＴＰを利用することにより、多くの情報を入力しなくても簡単に利用可能である上に、ハッキングの危険を防止することができるサービスを提供する技術を提示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】韓国公開特許第１０−２０１０−０１３４１９８号公報
【特許文献２】国際公開第２０１５／０６５００１号
【特許文献３】米国特許出願公開第２０１４／００１９５４０号明細書
【特許文献４】米国特許出願公開第２０１３／０３３２５４３号明細書
【特許文献５】米国特許出願公開第２０１３／０２６０８９３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザの電子機器に格納されたコンタクトリストを利用してユーザを認証、または追加認証することができる、システムおよび方法を提供する。
【課題を解決するための手段】
【０００５】
第１端末と通信し、前記第１端末のユーザにサービスを提供するサーバであって、メモリに記憶されたプログラムを読み出し、前記プログラムに基づいて処理を実行するプロセッサーを含み、前記プロセッサーは、前記第１端末から第１コンタクトリスト情報を前記サーバの通信部によって受信することと、前記第１端末のユーザの識別子と、前記第１コンタクトリスト情報とを関連付けて前記サーバの記憶部に記憶することと、前記第１端末または第２端末から前記サーバに対して、前記識別子に基づく前記サービスのリクエストが行われた場合、前記第１端末または前記第２端末から送信された第２コンタクトリスト情報を前記通信部によって受信することと、前記識別子に基づく前記第１コンタクトリスト情報と、受信された前記第２コンタクトリスト情報とに基づいて、前記サービスの前記リクエストに対する、前記第１端末または前記第２端末のユーザの認証に関する処理を行うこととを実行する、サーバを提供する。
【０００６】
一側面によると、前記プロセッサーは、前記第１コンタクトリスト情報と、受信された前記第２コンタクトリスト情報との比較に基づいて、前記認証に関する処理を行ってもよい。
【０００７】
他の側面によると、前記プロセッサーは、前記第１コンタクトリスト情報に含まれる連絡先と前記第２コンタクトリスト情報に含まれる連絡先とに対し、互いに同じ連絡先が含まれる割合が予め設定された割合以上であるかを比較し、前記互いに同じ連絡先が含まれる割合が前記予め設定された割合以上である場合、前記認証に関する処理を行ってもよい。
【０００８】
さらに他の側面によると、前記プロセッサーは、前記第１コンタクトリスト情報に含まれる連絡先それぞれがハッシュ関数によって変換された第１ハッシュ値と、前記識別子とを関連付けて前記記憶部に記憶することと、前記第２コンタクトリスト情報に含まれる連絡先それぞれがハッシュ関数によって変換された第２ハッシュ値と前記第１ハッシュ値とを比較することとを実行してもよい。
【０００９】
さらに他の側面によると、前記プロセッサーは、前記第１コンタクトリスト情報に含まれる連絡先それぞれにおいて、名前、電話番号、および電子メールアドレスのうち少なくとも１つの項目の値を前記記憶部に記憶することと、前記第２コンタクトリスト情報に含まれる連絡先それぞれにおいて、名前、電話番号、および電子メールアドレスのうち少なくとも１つの項目の値を抽出して前記記憶部に記憶された前記第１コンタクトリスト情報に基づく値と比較することとを実行してもよい。
【００１０】
さらに他の側面によると、前記プロセッサーは、前記第１コンタクトリスト情報に含まれる連絡先それぞれの予め設定された項目において、前記予め設定された項目に含まれる文字列の一部を前記記憶部に記憶することと、前記第２コンタクトリスト情報に含まれる連絡先それぞれの前記予め設定された項目において、前記予め設定された項目に含まれる文字列の一部を前記記憶部に記憶された前記第１コンタクトリスト情報に基づく文字列の一部と比較することとを実行してもよい。
【００１１】
第１端末と通信し、前記第１端末のユーザにサービスを提供するサーバに実行させるためのプログラムであって、前記第１端末から第１コンタクトリスト情報を前記サーバの通信部によって受信することと、前記第１端末のユーザの識別子と、前記第１コンタクトリスト情報とを関連付けて前記サーバの記憶部に記憶することと、前記第１端末または第２端末から前記サーバに対して、前記識別子に基づく前記サービスのリクエストが行われた場合、前記第１端末または前記第２端末から送信された第２コンタクトリスト情報を前記通信部によって受信することと、前記識別子に基づく前記第１コンタクトリスト情報と、受信された前記第２コンタクトリスト情報とに基づいて、前記サービスの前記リクエストに対する、前記第１端末または前記第２端末のユーザの認証に関する処理を行うこととを前記サーバに実行させる、プログラムを提供する。
【発明の効果】
【００１２】
ユーザの電子機器に格納されたコンタクトリストを利用してユーザを認証または追加認証することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【図２】本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。
【図３】本発明の一実施形態における、サーバのプロセッサが含むことができる構成要素の例を示した図である。
【図４】本発明の一実施形態における、サーバが実行することができる方法の例を示したフローチャートである。
【図５】本発明の一実施形態における、コンタクトリスト情報を比較した例を示した図である。
【図６】本発明の一実施形態における、連絡先の一部を格納および比較した例を示した図である。
【図７】本発明の一実施形態における、連絡先をハッシュ値の形態に変換した例を示した図である。
【図８】本発明の一実施形態における、連絡先から電話番号項目の値のみを抽出して格納した例を示した図である。
【図９】本発明の一実施形態における、文字列の一部を抽出した例を示した図である。
【図１０】本発明の一実施形態における、電子機器のプロセッサが含むことができる構成要素の例を示した図である。
【図１１】本発明の一実施形態における、電子機器が実行することができる方法の例を示したフローチャートである。
【発明を実施するための形態】
【００１４】
以下、実施形態について、添付の図面を参照しながら詳しく説明する。
【００１５】
図１は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図１のネットワーク環境は、複数の電子機器１１０、１２０、１３０、１４０、複数のサーバ１５０、１６０、およびネットワーク１７０を含む例を示している。このような図１は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図１のように限定されることはない。
【００１６】
複数の電子機器１１０、１２０、１３０、１４０は、コンピュータ装置によって実現される固定型端末や移動型端末であってよい。複数の電子機器１１０、１２０、１３０、１４０の例としては、スマートフォン、携帯電話、ナビゲーション、コンピュータ、ノート型パンコン、デジタル放送用端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、タブレットＰＣなどがある。一例として、電子機器１（１１０）は、無線または有線通信方式を利用し、ネットワーク１７０を介して他の電子機器１２０、１３０、１４０および／またはサーバ１５０、１６０と通信することができる。
【００１７】
通信方式が限定されることはなく、ネットワーク１７０が含むことのできる通信網（一例として、移動通信網、有線インターネット、無線インターネット、放送網）を活用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク１７０は、ＰＡＮ（ｐｅｒｓｏｎａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＣＡＮ（ｃａｍｐｕｓ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＭＡＮ（ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ＢＢＮ（ｂｒｏａｄｂａｎｄ  ｎｅｔｗｏｒｋ）、インターネットなどのネットワークのうち１つ以上の任意のネットワークを含んでもよい。さらに、ネットワーク１７０は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター−バスネットワーク、ツリーまたは階層的（ｈｉｅｒａｒｃｈｉｃａｌ）ネットワークなどを含むネットワークトポロジのうち任意の１つ以上を含んでもよいが、これに限定されることはない。
【００１８】
サーバ１５０、１６０それぞれは、複数の電子機器１１０、１２０、１３０、１４０とネットワーク１７０を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置によって実現されてよい。
【００１９】
一例として、サーバ１６０は、ネットワーク１７０を介して接続した電子機器１（１１０）にアプリケーションのインストールのためのファイルを提供してよい。この場合、電子機器１（１１０）は、サーバ１６０から提供されたファイルを利用してアプリケーションをインストールしてよい。また、電子機器１（１１０）が含むオペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：ＯＳ）および少なくとも１つのプログラム（一例として、ブラウザや前記のインストールされたアプリケーション）の制御にしたがってサーバ１５０に接続し、サーバ１５０が提供するサービスやコンテンツの提供を受けることができる。例えば、電子機器１（１１０）がアプリケーションの制御にしたがってネットワーク１７０を介してサービスリクエストメッセージをサーバ１５０に送信すると、サーバ１５０は、サービスリクエストメッセージに対応するコードを電子機器１（１１０）に送信してよく、電子機器１（１１０）は、アプリケーションの制御にしたがってコードに基づいた画面を構成して表示することによってユーザにコンテンツを提供してよい。
【００２０】
このとき、サービスやコンテンツを提供するために、サーバ１５０はユーザを認証する必要がある。本発明の実施形態では、サーバ１５０が電子機器１（１１０）から接続するユーザを、電子機器１（１１０）に格納されたコンタクトリスト情報を利用して認証する技術について説明する。
【００２１】
図２は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図２では、１つの電子機器に対する例として電子機器１（１１０）の内部構成を、また、１つのサーバに対する例としてサーバ１５０の内部構成を説明する。他の電子機器１２０、１３０、１４０やサーバ１６０も、同一または類似の内部構成を備えてもよい。
【００２２】
電子機器１（１１０）とサーバ１５０は、メモリ２１１、２２１、プロセッサ２１２、２２２、通信モジュール２１３、２２３、および入力／出力インタフェース２１４、２２４を含んでよい。メモリ２１１、２２１は、コンピュータで読み取り可能な記録媒体であって、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、およびディスクドライブのような永久大容量記憶装置（ｐｅｒｍａｎｅｎｔ  ｍａｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅ）を含んでよい。また、メモリ２１１、２２１には、オペレーティングシステムと、少なくとも１つのプログラムコード（一例として、電子機器１（１１０）にインストールされ駆動するブラウザや上述したアプリケーションなどのためのコード）が格納されてよい。このようなソフトウェア構成要素は、ドライブメカニズム（ｄｒｉｖｅ  ｍｅｃｈａｎｉｓｍ）を利用してメモリ２１１、２２１とは別のコンピュータで読み取り可能な記録媒体からロードされてもよい。このような別のコンピュータで読み取り可能な記録媒体は、フロッピー（登録商標）ドライブ、ディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではない通信モジュール２１３、２２３を利用してメモリ２１１、２２１にロードされてもよい。例えば、少なくとも１つのプログラムは、開発者またはアプリケーションのインストールファイルを配布する配布システム（一例として、上述したサーバ１５０）がネットワーク１７０を介して提供するファイルによってインストールされるプログラム（一例として、上述したアプリケーション）に基づいてメモリ２１１、２２１にロードされてもよい。
【００２３】
プロセッサ２１２、２２２は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ２１１、２２１または通信モジュール２１３、２２３によって、プロセッサ２１２、２２２に提供されてよい。例えば、プロセッサ２１２、２２２は、メモリ２１１、２２１のような記録装置に格納されたプログラムコードにしたがって受信する命令を実行するように構成されてよい。
【００２４】
通信モジュール２１３、２２３は、ネットワーク１７０を介して電子機器１（１１０）とサーバ１５０とが互いに通信するための機能を提供してもよいし、電子機器（一例として、電子機器２（１２０））または他のサーバ（一例として、サーバ１６０）と通信するための機能を提供してもよい。一例として、電子機器１（１１０）のプロセッサ２１２がメモリのような記録媒体に格納されたプログラムコードにしたがって生成したリクエスト（一例として、コンテンツに対するストリーミングサービスリクエスト）が、通信モジュール２１３の制御にしたがってネットワーク１７０を介してサーバ１５０に伝達されてもよい。これとは反対に、サーバ１５０のプロセッサ２２２の制御にしたがって提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール２２３とネットワーク１７０を経て電子機器１（１１０）の通信モジュール２１３を通じて電子機器１（１１０）により受信されてもよい。例えば、通信モジュール２１３を通じて受信したサーバ１５０の制御信号や命令などは、プロセッサ２１２やメモリ２１１に伝達されてもよく、コンテンツやファイルなどは、電子機器１（１１０）がさらに含むことができる格納媒体に格納されてもよい。
【００２５】
入力／出力インタフェース２１４、２２４は、入力／出力装置２１５とのインタフェースのための手段であってよい。例えば、入力装置は、キーボードまたはマウスなどの装置を、また出力装置はアプリケーションの通信セッションを表示するためのディスプレイのような装置を含んでよい。他の例として、入力／出力インタフェース２１４は、タッチスクリーンのように入力と出力のための機能が１つに統合された装置とのインタフェースのための手段であってもよい。より具体的な例として、電子機器１（１１０）のプロセッサ２１２は、メモリ２１１にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ１５０や電子機器２（１２０）が提供するデータを利用して構成されるサービス画面やコンテンツが入力／出力インタフェース２１４を通じてディスプレイに表示されてもよい。
【００２６】
また、他の実施形態において、電子機器１（１１０）およびサーバ１５０は、図２の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術構成要素を明確に図に示す必要はない。例えば、電子機器１（１１０）は、上述した入力／出力装置２１５の少なくとも一部を含むように実現されてもよいし、トランシーバ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【００２７】
図３は、本発明の一実施形態における、サーバのプロセッサが含むことができる構成要素の例を示した図であり、図４は、本発明の一実施形態における、サーバが実行することができる方法の例を示したフローチャートである。図３に示すように、サーバ１５０のプロセッサ２２２は、受信制御部３１０、情報管理制御部３２０、比較制御部３３０、および認証制御部３４０を備えてよい。このようなプロセッサ２２２の構成要素は、図４の方法が含むステップ４１０〜４４０を実行するようにサーバ１５０を制御してよく、このような制御のためにメモリ２２１が含むオペレーティングシステムと少なくとも１つのプログラムコードを通じて動作するように実現されてよい。
【００２８】
ステップ４１０で、サーバ１５０は、電子機器に格納されたコンタクトリスト情報をネットワークを介して電子機器から受信してよい。このために、受信制御部３１０は、サーバ１５０がステップ４１０を実行するようにサーバ１５０を制御してよい。例えば、サーバ１５０は、サーバ１５０がサービスを提供する電子機器（一例として、図１の電子機器１１０、１２０、１３０、１４０）それぞれのためのコンタクトリスト情報をネットワーク（一例として、図１のネットワーク１７０）を介して受信してよい。このようなコンタクトリスト情報は、サーバ１５０のリクエストに応じて電子機器からサーバ１５０に伝達されてもよいし、電子機器がサーバ１５０に接続するたびにサーバ１５０に伝達されてもよいし、特定の条件（一例として、サーバ１５０に初めて接続を試みる電子機器の場合）に応じてサーバ１５０に伝達されてもよい。
【００２９】
コンタクトリスト情報とは、該当の電子機器に格納された人物の連絡先リストであって、連絡先それぞれは、名前、電話番号（有線電話番号および／または移動通信電話番号）、電子メールアドレスなどのような基本的な項目だけではなく、グループ、ベル音、関連ホームページ、関係情報などのような追加の項目を含んでもよい。
【００３０】
ステップ４２０で、サーバ１５０は、ユーザの第１電子機器から受信した第１コンタクトリスト情報をユーザの識別子と関連付けてデータベースに格納して管理してよい。このために、情報管理制御部３２０は、サーバ１５０がステップ４２０を実行するようにサーバ１５０を制御してよい。例えば、第１コンタクトリスト情報とは、受信制御部３１０を通じて受信した第１電子機器の連絡先リストであってよく、サーバ１５０はこのような第１コンタクトリスト情報をデータベースに格納して管理してよい。データベースは、サーバ１５０に含まれるように実現されてもよいし、サーバ１５０とは別のシステムに含まれるように実現されてもよい。例えば、サーバ１５０は、受信した第１コンタクトリスト情報をネットワークを介して別のシステムに送信し、第１コンタクトリスト情報がデータベースに格納されるように別のシステムにリクエストしてもよい。また、サーバ１５０は、ユーザの識別子を利用して別のシステムに第１コンタクトリスト情報をリクエストしてもよく、この場合、別のシステムは、リクエストに該当する第１コンタクトリスト情報を抽出してサーバ１５０に送信してもよい。
【００３１】
このような第１コンタクトリスト情報は、第１電子機器にインストールされたアプリケーションの制御にしたがって第１電子機器からサーバ１５０に送信されてよい。例えば、第１コンタクトリスト情報は、第１電子機器がアプリケーションの制御にしたがって初めてサーバ１５０に接続する場合またはサーバ１５０のリクエストに応じて第１電子機器からサーバ１５０に送信されてよい。また、第１コンタクトリスト情報は、サーバ１５０のリクエストや第１電子機器での設定に応じて周期的にサーバ１５０に送信され更新されてもよい。このようなサーバ１５０は、サーバ１５０にアクセスしてサービスの提供を受けようとする電子機器からコンタクトリスト情報を受信してユーザ別に管理してもよく、このようなコンタクトリスト情報は、ユーザを認証するための基準情報として活用されてもよい。
【００３２】
ステップ４３０で、サーバ１５０は、ユーザの識別子に基づいて第１電子機器または第２電子機器からサービスがリクエストされた場合、第１電子機器または第２電子機器から受信した第２コンタクトリスト情報を、ユーザの識別子と関連付けてデータベースに格納された第１コンタクトリスト情報と比較してよい。このために、比較制御部３３０は、サーバ１５０がステップ４３０を実行するようにサーバ１５０を制御してよい。
【００３３】
このような比較は、ユーザの識別子に基づいたサービスリクエストごとに実行されてもよく、特定の条件（一例として、ユーザが最後の接続から一定期間後に接続する場合や、最後の接続に利用した電子機器（第１電子機器）とは異なる電子機器（第２電子機器）によって接続する場合などのような、予め設定された条件）が満たされた場合に実行されてもよい。第１コンタクトリスト情報と第２コンタクトリスト情報とを比較するための多様な方法が存在するが、このような方法については以後でさらに詳しく説明する。
【００３４】
ステップ４４０で、サーバ１５０は、比較結果に基づいて第１電子機器または第２電子機器からのサービスのリクエストに対するユーザの認証を決定してよい。このために、認証制御部３４０は、サーバ１５０がステップ４４０を実行するようにサーバ１５０を制御してよい。例えば、サーバ１５０は、第１コンタクトリスト情報と第２コンタクトリスト情報との類似度が一定以上である場合にユーザを認証してよい。コンタクトリスト情報とは、上述したように連絡先リストを含むものであって、コンタクトリスト情報の類似度は、一例として、互いに同じ知人の連絡先を連絡先リストに含む割合によって計算されてよい。したがって、互いに極めて近いユーザ（一例として、親子や兄弟など）であったとしても、コンタクトリスト情報の類似度はあまり高くなく、互いに関係性のないユーザ間ではコンタクトリスト情報間の類似度が極めて低いため、ユーザが以前に登録した第１コンタクトリスト情報と以後に送信した第２コンタクトリスト情報とを比較し、類似度が一定以上であれば、該当のユーザの電子機器からユーザの識別子に基づいてサービスがリクエストされたと判定してユーザを認証（識別子とパスワードとによってユーザを一次認証する場合には追加認証）してよい。
【００３５】
例えば、ユーザが第１電子機器から第２電子機器に使用機器を変更した場合に、ユーザが第２電子機器によってサーバ１５０にアクセスしてサービスをリクエストしたとする。この場合、サーバ１５０は、第２電子機器のコンタクトリスト情報を受信し、以前に第１電子機器から受信したコンタクトリスト情報と比較することによってユーザを認証（または追加認証）してよい。
【００３６】
より具体的な例として、サーバ１５０は、ステップ４３０で、第１コンタクトリスト情報に含まれる連絡先と第２コンタクトリスト情報に含まれる連絡先とに対し、互いに同じ連絡先が含まれる割合が予め設定された割合以上であるかを比較してよく、ステップ４４０で、互いに同じ連絡先が含まれる割合が予め設定された割合以上である場合にユーザを認証してよい。比較の基準となる割合は、実際にユーザのコンタクトリストを予め比較し、統計的な方法に基づいて予め設定されてよい。例えば、開発者またはサーバ１５０は、多数のユーザのコンタクトリストを予め比較して互いに同じ連絡先が含まれる割合をそれぞれ計算し、計算された割合の最大値または計算された割合に基づいて計算された統計値を基準となる割合として予め設定してよい。
【００３７】
図５は、本発明の一実施形態における、コンタクトリスト情報を比較した例を示した図である。図５の実施形態では、比較の基準となる割合が１５％であると仮定する。このとき、コンタクトリスト情報Ａ５１０は第１電子機器から受信した第１コンタクトリスト情報に対応し、コンタクトリスト情報Ｂ５２０は第２電子機器から受信した第２コンタクトリスト情報に対応してよい。また、図５に示すように、コンタクトリスト情報Ａ５１０は２０件の連絡先を含み、コンタクトリスト情報Ｂ５２０は１９件の連絡先を含む、連絡先リストであると仮定する。このとき、サーバ１５０は、コンタクトリスト情報Ａ５１０とコンタクトリスト情報Ｂ５２０とに共通して含まれる互いに同じ連絡先５３０を確認し、その数が１３件であることを確認したとする。この場合、サーバ１５０は、互いに同じ連絡先５３０の割合が６５％（１３／２０×１００）であるとして計算してよい。この場合、サーバ１５０は、ユーザの識別子に基づいたサービスリクエストに対し、ユーザが適切なユーザであることを認証してよい。
【００３８】
ユーザと全く関係のない他のユーザにユーザの識別子とパスワードとが知られてサーバ１５０に接続しようとされたとしても、他のユーザの電子機器に格納された連絡先がユーザの電子機器に格納された連絡先と一定の割合以上同じである可能性は極めて低いため、この場合には、ユーザの識別子に基づいたサービスリクエストに対してユーザ認証が拒否されてよい。
【００３９】
また、上述したように、互いに知人であるユーザのコンタクトリスト情報であったとしても、互いに同じ連絡先の割合は相当に低く、ユーザに応じてユーザが電子機器に格納している連絡先の件数も大部分は互いに異なる。したがって、受信したすべての連絡先をすべて比較する必要はない。したがって演算量を減らすために、サーバ１５０は、ステップ４２０で、第１コンタクトリスト情報に含まれる連絡先の件数が予め設定された件数以上である場合、第１コンタクトリスト情報に含まれる連絡先の一部をデータベースに格納して管理してよい。言い換えれば、データベースに格納される連絡先は、第１コンタクトリスト情報に含まれる連絡先のうち、上述した予め設定された件数以下の連絡先が選別されてデータベースに格納されてよい。
【００４０】
図６は、本発明の一実施形態における、連絡先の一部を格納した例を示した図である。図６は、第３電子機器から受信したコンタクトリスト情報Ｃが３０００件の連絡先を含み、サーバ１５０がコンタクトリスト情報Ｃの連絡先から３００件の連絡先を抽出し、抽出された連絡先６２０をデータベース６３０に格納する例を示している。図６の実施形態では、コンタクトリスト情報Ｃに含まれる順に３００件の連絡先を抽出する例を示しているが、多様な方式（例えば、名前順や電話番号順）に整列して上位３００件の連絡先を抽出してもよいし、リストの終わりから逆順に３００件の連絡先を抽出してもよい。受信したコンタクトリスト情報が予め設定された件数未満であれば、受信したコンタクトリスト情報の連絡先がすべて格納されてよい。
【００４１】
第４電子機器から第３電子機器のユーザの識別子に基づいたサービスリクエストが受信された場合、サーバ１５０は、第４電子機器のコンタクトリスト情報に含まれる連絡先とデータベース６３０にユーザの識別子と関連付けて格納された連絡先（抽出された連絡先６２０）とを互いに比較してよい。第４電子機器のコンタクトリスト情報に含まれる連絡先の件数が予め設定された件数を超える場合、第４電子機器のコンタクトリスト情報に含まれる連絡先もその一部（一例として、予め設定された件数の連絡先）が抽出されて比較に活用されてよい。
【００４２】
この場合、サーバ１５０は、ステップ４３０で、第２コンタクトリスト情報に含まれる連絡先の一部とデータベースに格納された第１コンタクトリスト情報に含まれる連絡先の一部とを比較してよい。例えば、第２コンタクトリスト情報が予め設定された件数以上である場合、サーバ１５０は、第２コンタクトリスト情報からも同じように予め設定された件数の連絡先を抽出してデータベースに格納された連絡先と比較してよい。
【００４３】
他の実施形態として、連絡先は、ハッシュ値の形態でデータベースに格納されてもよい。例えば、サーバ１５０は、ステップ４２０で、第１コンタクトリスト情報に含まれる連絡先それぞれをハッシュ関数によって変換して第１ハッシュ値を生成し、生成された第１ハッシュ値をユーザの識別子と関連付けて前記データベースに格納して管理してもよい。また、サーバ１５０は、ステップ４３０で、第２コンタクトリスト情報に含まれる連絡先それぞれをハッシュ関数によって変換して第２ハッシュ値を生成し、第２ハッシュ値を第１ハッシュ値と比較してもよい。ハッシュ関数は、同じ入力に対して同じ出力としてハッシュ値を返すため、ハッシュ値の比較によって所望の結果が得られるようになる。
【００４４】
図７は、本発明の一実施形態における、連絡先をハッシュ値の形態に変換した例を示した図である。第５電子機器から受信したコンタクトリスト情報Ｄ７１０は、３００件の連絡先を含む連絡先リストの例であるが、サーバ１５０はこのような連絡先を入力とするハッシュ関数ｆ（連絡先ｎ）を利用して連絡先それぞれに対するハッシュ値７２０を生成してよい。ハッシュ関数が異なる入力に対し同じハッシュ値を出力することも可能であるという特性に基づき、ハッシュ値７２０の数は連絡先の数より少なくてよい。
【００４５】
第６電子機器からコンタクトリスト情報Ｄ７１０を送信したユーザの識別子に基づいてサービスがリクエストされた場合、サーバ１５０は、第６電子機器からコンタクトリスト情報を受信して連絡先それぞれに対するハッシュ値を生成し、生成されたハッシュ値とデータベースにユーザの識別子と関連付けて格納されたハッシュ値とを互いに比較してよい。
【００４６】
さらに他の実施形態として、連絡先のすべての項目ではない一部の項目がデータベースに格納されてもよい。例えば、サーバ１５０は、ステップ４２０で、第１コンタクトリスト情報に含まれる連絡先それぞれにおいて、名前、電話番号、および電子メールアドレスのうち少なくとも１つの項目の値をデータベースに格納して管理してもよい。この場合、サーバ１５０は、ステップ４３０で、第２コンタクトリスト情報に含まれる連絡先それぞれから、名前、電話番号、および電子メールアドレスのうち少なくとも１つの項目の値を抽出してデータベースに格納された値と比較してもよい。
【００４７】
図８は、本発明の一実施形態における、連絡先から電話番号項目の値のみを抽出して格納した例を示した図である。第７電子機器のコンタクトリスト情報Ｅ８１０は、１００件の連絡先を含む連絡先リストの例であるが、サーバ１５０は、コンタクトリスト情報Ｅ８１０に含まれる連絡先それぞれに対し、電話番号項目の値である電話番号８２０を抽出してデータベースに格納してよい。このとき、第８電子機器から第７電子機器のユーザの識別子に基づいてサービスがリクエストされた場合、サーバ１５０は、第８電子機器からコンタクトリスト情報を受信し、受信したコンタクトリスト情報に含まれる連絡先から電話番号項目の値を抽出してデータベースに格納された電話番号８２０と比較してよい。
【００４８】
さらに他の実施形態として、連絡先の項目に含まれる値の一部のみがデータベースに格納されてもよい。例えば、サーバ１５０は、ステップ４２０で、第１コンタクトリスト情報に含まれる連絡先それぞれの予め設定された項目において、予め設定された項目に含まれる文字列の一部をデータベースに格納して管理してもよい。この場合、サーバ１５０は、ステップ４３０で、第２コンタクトリスト情報に含まれる連絡先それぞれの予め設定された項目において、予め設定された項目に含まれる文字列の一部をデータベースに格納された文字列の一部と比較してもよい。
【００４９】
図９は、本発明の一実施形態における、文字列の一部を抽出した例を示した図である。電子機器９のコンタクトリスト情報Ｆ９１０は、５０件の連絡先を含む連絡先リストの例であるが、サーバ１５０は、コンタクトリスト情報Ｆ９１０に含まれる連絡先それぞれに対し、電話番号項目の値である文字列を抽出してよい。このとき、サーバ１５０は、抽出した文字列それぞれに対し、その一部９２０をデータベースに格納してよい。図９の文字列の一部９２０は、電話番号の下２桁を除いた残りの文字を含んでいる。
【００５０】
上述と同じように、サーバ１５０は、比較の対象となるコンタクトリスト情報からも同じ方法によって文字列の一部を抽出し、データベースに格納された文字列の一部９２０と比較してよい。
【００５１】
上述した多様な実施形態は互いに融合されてもよい。例えば、電話番号項目から抽出した文字列の一部にハッシュ関数を適用してハッシュ値を生成および活用してもよいし、２つ以上の項目の値それぞれにハッシュ関数を適用してハッシュ値を生成および活用してもよい。
【００５２】
図１０は、本発明の一実施形態における、電子機器のプロセッサが含むことができる構成要素の例を示した図であり、図１１は、本発明の一実施形態における、電子機器が実行することができる方法の例を示したフローチャートである。
【００５３】
図１０に示すように、電子機器１（１１０）のプロセッサ２１２は、表示制御部１０１０および送信制御部１０２０を備えてよい。このようなプロセッサ２１２の構成要素は、図１１の方法が含むステップ１１１０〜１１３０を実行するように電子機器１（１１０）を制御してよく、このような制御のためにメモリ２１１が含むオペレーティングシステムと少なくとも１つのプログラムコードを通じて動作するように実現されてよい。ここで、少なくとも１つのプログラムコードは、電子機器１（１１０）にインストールされ駆動されて、電子機器１（１１０）がサーバ（一例として、サーバ１５０）からのサービスの提供を受けるアプリケーションのコードを含んでよい。
【００５４】
ステップ１１１０で、電子機器１（１１０）は、アプリケーションの制御にしたがってユーザの認証情報を入力するためのユーザインタフェースを画面に表示してよい。このために、表示制御部１０１０は、アプリケーションのコードにしたがって電子機器１（１１０）がステップ１１１０を実行するように電子機器１（１１０）を制御してよい。
【００５５】
例えば、電子機器１（１１０）がサーバに接続しようとする場合、サーバは、ログインページのためのコードを電子機器１（１１０）に送信してよく、電子機器１（１１０）は、受信したコードとアプリケーションのコードとにしたがってログインページを表示してよい。この場合、ユーザインタフェースは、ユーザの識別子とパスワードとが入力されるためのログインインタフェースであってよい。
【００５６】
ステップ１１２０で、電子機器１（１１０）は、アプリケーションの制御にしたがってユーザインタフェースに入力されたユーザの認証情報をネットワークを介してサーバに送信してよい。このために、送信制御部１０２０は、アプリケーションのコードにしたがって電子機器１（１１０）がステップ１１２０を実行するように電子機器１（１１０）を制御してよい。
【００５７】
例えば、ユーザがユーザインタフェースにユーザの識別子とパスワードとを入力した場合、電子機器１（１１０）は、入力された識別子とパスワードとをサーバに送信してユーザのログインをリクエストしてよい。
【００５８】
ステップ１１３０で、電子機器１（１１０）は、アプリケーションの制御にしたがってユーザの追加認証のためのコンタクトリスト情報を格納媒体から抽出し、抽出したコンタクトリスト情報をネットワークを介してサーバに送信してよい。このために、送信制御部１０２０は、アプリケーションのコードにしたがって電子機器１（１１０）がステップ１１３０を実行するように電子機器１（１１０）を制御してよい。
【００５９】
上述したように、コンタクトリスト情報は、電子機器１（１１０）に格納された連絡先リストを含んでよく、電子機器１（１１０）は、格納媒体に格納された連絡先リストであるコンタクトリスト情報を抽出してサーバに送信してよい。
【００６０】
サーバは、ユーザの認証情報に基づいてユーザを一次認証し、サーバのデータベースにユーザの認証情報と関連付けて格納された以前のコンタクトリスト情報と送信されたコンタクトリスト情報とを比較してユーザを追加認証してよい。ここで、以前のコンタクトリスト情報は、アプリケーションがインストールされた電子機器１（１１０）またはアプリケーションがインストールされた他の電子機器を通じてアプリケーションの制御にしたがってサーバに予め受信された情報を含んでよい。
【００６１】
サーバでは、上述したように、以前のコンタクトリスト情報に含まれる連絡先と電子機器１（１１０）から送信されたコンタクトリスト情報に含まれる連絡先とに対し、互いに同じ連絡先が含まれる割合が予め設定された割合以上であるかを比較してよい。このとき、互いに同じ連絡先が含まれる割合が予め設定された割合以上である場合にサーバでユーザを追加認証してよい。
【００６２】
以上の実施形態では、電子機器がサーバにコンタクトリスト情報として連絡先リストを送信し、サーバが連絡先または連絡先の変形（特定項目の値やハッシュ値など）を格納および比較する実施形態について説明した。しかし、他の実施形態では、電子機器が連絡先を変形してサーバに送信することも可能である。例えば、電子機器１（１１０）は、抽出されたコンタクトリスト情報に含まれる連絡先それぞれをハッシュ関数によって変換してハッシュ値を生成し、生成されたハッシュ値をサーバに送信してもよいし、連絡先それぞれにおいて名前、電話番号、および電子メールアドレスのうち少なくとも１つの項目の値をサーバに送信してもよい。他の例として、電子機器１（１１０）は、抽出されたコンタクトリスト情報に含まれる連絡先それぞれの予め設定された項目に対し、予め設定された項目に含まれる文字列の一部をサーバに送信してもよい。
【００６３】
その他にも、連絡先を項目別の値のマトリックス構造（１つの項目の値が１つの列や行を構成する行列構造）で格納し、マトリックス構造から同じ値を見つけ出す比較などのように、２つの連絡先リストを比較する実施形態は多様な変形が可能である。
【００６４】
このように、本発明の実施形態によると、ユーザの電子機器に格納されたコンタクトリストを利用してユーザを認証または追加認証することができる。
【００６５】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および／またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）および前記ＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを格納、操作、処理、および生成してよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）および／または複数種類の処理要素を含んでもよいことが分かるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでよい。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成（ｐｒｏｃｅｓｓｉｎｇ  ｃｏｎｆｉｇｕｒａｔｉｏｎ）も可能である。
【００６６】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでよく、思うままに動作するように処理装置を構成したり、独立的または集合的に（ｃｏｌｌｅｃｔｉｖｅｌｙ）処理装置に命令したりしてよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、仮想装置（ｖｉｒｔｕａｌ  ｅｑｕｉｐｍｅｎｔ）、コンピュータ格納媒体または装置、または伝送される信号波（ｓｉｇｎａｌ  ｗａｖｅ）に永久的または一時的に具現化（ｅｍｂｏｄｙ）されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で格納されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータで読み取り可能な記録媒体に格納されてもよい。
【００６７】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されコンピュータで読み取り可能な媒体に記録されてもよい。前記コンピュータで読み取り可能な媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含んでもよい。前記媒体に記録されるプログラム命令は、実施形態のために特別に設計されて構成されたものであってもよいし、コンピュータソフトウェア当業者に公知の使用可能なものであってもよい。コンピュータで読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスクおよび磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例は、コンパイラによって生成されるもののような機械語コードだけではなく、インタプリタなどを使用してコンピュータによって実行される高級言語コードを含む。上述したハードウェア装置は、実施形態の動作を実行するために１つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同じである。
【００６８】
以上のように、実施形態を仮に限定された実施形態と図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能である。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【００６９】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【００７０】
１１０、１２０、１３０、１４０：電子機器
１５０、１６０：サーバ
１７０：ネットワーク
【図１】
0006803702.tif 000002
【図２】
0006803702.tif 000003
【図３】
0006803702.tif 000004
【図４】
0006803702.tif 000005
【図５】
0006803702.tif 000006
【図６】
0006803702.tif 000007
【図７】
0006803702.tif 000008
【図８】
0006803702.tif 000009
【図９】
0006803702.tif 000010
【図１０】
0006803702.tif 000011
【図１１】
0006803702.tif 000012