(57)【要約】  無効なデジタル証明書は、保存され、その後、セキュリティチェックを実行する際に、受信デジタル証明書と比較され得る。後に提供されたデジタル証明書が保存済みのデジタル証明書と一致しない場合、エラー条件が生成され得る。デジタル証明書は悪意のない理由により無効となり得るため、そのような技術は、ソフトウェアセキュリティを改善するために有益となり得る。
2015531559.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一部はコンピューターによって実装される方法であって、
同期サーバーデジタル証明書の無効性が無視されるべきであるという標識を受信するステップと、
無効な第１の受信同期サーバーデジタル証明書を、永続化される無効な同期サーバーデジタル証明書識別子を介して保存するステップと、
後続の同期サーバー通信の期間中に、第２の受信同期サーバーデジタル証明書が前記第１の受信同期サーバーデジタル証明書と一致しないことを前記永続化される無効な同期サーバーデジタル証明書識別子が示すことを検出することに応じて、エラー条件を生成するステップと、
を含む、方法。
【請求項２】
前記エラー条件に応じて、前記第２の受信同期サーバーデジタル証明書に関連付けられるコンピューターとのさらなる同期通信を抑制するステップ、
をさらに含む、請求項１に記載の方法。
【請求項３】
無効性を無視するために起動可能なものとして示されるユーザーインターフェイス要素を含むユーザーインターフェイスを提示するステップ、
をさらに含み、
同期デジタル証明書の無効性が無視されるべきであるという前記標識が、前記ユーザーインターフェイス要素の起動を受信することを含む、
請求項１に記載の方法。
【請求項４】
同期アカウントのセットアップ又は初期同期の期間中に、前記第１の受信同期サーバーデジタル証明書を受信するステップと、
前記第１の受信同期サーバーデジタル証明書が無効であると判定するステップと、
前記第１の受信同期サーバーデジタル証明書が無効であると判定するステップに応じて、同期サーバーデジタル証明書の無効性を無視するための選択肢を提示するステップと、
をさらに含む、請求項１に記載の方法。
【請求項５】
前記保存するステップが、電子メールアカウントについての初期同期又はセットアップの期間中に実行され、
前記第２の受信電子メールサーバーデジタル証明書が、前記電子メールアカウントについての後続の同期の期間中に取得される、
請求項１に記載の方法。
【請求項６】
１つ又は複数のプロセッサと、
メモリと、
それぞれのサーバーについての１つ又は複数の永続化される無効なサーバーデジタル証明書識別子を永続化するように構成される保存済みデジタル証明書ストレージと、
サーバーからのものとして示される後続の受信サーバーデジタル証明書を受信するように構成され、前記後続の受信サーバーデジタル証明書は前記サーバーについての永続化される無効なサーバーデジタル証明書識別子と一致しないと判定することに応じて、セキュリティエラーを生成するようにさらに構成されるセキュリティチェッカーと、
を備える、システム。
【請求項７】
前記セキュリティチェッカーが、サーバーデジタル証明書の無効性が無視されるべきであるという標識を受信するようにさらに構成される、
請求項６に記載のシステム。
【請求項８】
前記セキュリティチェッカーが、例外リスト上に現れる電子メールサーバーについてのサーバーデジタル証明書の無効性を無視することを拒否するようにさらに構成される、
請求項７に記載のシステム。
【請求項９】
前記セキュリティチェッカーが、前記後続の受信サーバーデジタル証明書は前記サーバーについての永続化される無効なサーバーデジタル証明書識別子と一致しないと判定することに応じて、同期を抑制するようにさらに構成される、
請求項６に記載のシステム。
【請求項１０】
前記セキュリティチェッカーが、前記後続の受信サーバーデジタル証明書は前記サーバーについての永続化される無効なサーバーデジタル証明書識別子と一致しないと判定することに応じて、エラーメッセージを表示するようにさらに構成される、
請求項６に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
[001]ソフトウェアセキュリティは、コンピューティング技術の重要な部分であるが、理解が困難であり、一時的なユーザーによって見過ごされてしまうことがある。例えば、デジタル証明書は、コンピューターのＩＤを確立するために有益な技術である。しかしながら、コンピューティング装置の普通のユーザーは、典型的には、どのようにデジタル証明書が作用するかの詳細に興味がない。
【０００２】
[002]デジタル証明書は、証明機関によって発行され得る。証明機関が周知であり、信頼できる場合、コンピューターのＩＤを確立する信頼できる機関によって発行される証明書は、信頼することができる。
【０００３】
[003]しかしながら、証明書が種々の理由のうちのいずれかのために無効であることがよくある。例えば、小企業又は趣味的なユーザーは、周知の機関からデジタル証明書を取得する出費を差し控え、彼ら自身の証明書を発行し、失効した証明書を使用すること等を望むかもしれない。
【０００４】
[004]結果として、そのような証明書は、無効であると見なされ、エラーを引き起こし得る。ユーザーは、典型的には、コンピューティング装置を使用することをやめるか、エラーを無視するかのどちらかであろう。そのため、改善の余地がある。
【発明の概要】
【課題を解決するための手段】
【０００５】
[005]本概要は、詳細な説明においてさらに後述される概念の集まりを簡略化された形式で紹介するために提供される。本概要は、特許請求の範囲に記載された主題の重要な特徴又は本質的な特徴を識別することを意図されたものではなく、特許請求の範囲に記載された主題の範囲を限定するために使用されることを意図されたものでもない。
【０００６】
[006]無効なデジタル証明書の処理は、そのデジタル証明書が無効であっても、同期サーバーのＩＤを確立するために使用され得る。
[007]同期サーバーデジタル証明書の無効性が無視されるべきであるという標識（indication）が受信され得、（第１の）デジタル証明書は、永続化される無効な同期サーバーデジタル証明書識別子を介して保存され得る。
【０００７】
[008]その後（例えば、後続の同期の期間中に）、受信同期サーバーデジタル証明書（incoming synchronization server digital certificate）が第１のデジタル証明書と一致しないことが検出される場合、エラー条件が生成され得る。
【０００８】
[009]本明細書において説明されるように、種々の他の特徴及び利点は、所望により、本技術に組み込まれ得る。
【図面の簡単な説明】
【０００９】
【図１】[010]同期通信における無効なデジタル証明書の処理を実装する例示的なシステムのブロック図である。
【図２】[011]無効なデジタル証明書の処理の例示的な方法のフローチャートである。
【図３】[012]無効なデジタル証明書の処理の段階を示すブロック図である。
【図４】[013]段階的な無効なデジタル証明書の処理の例示的な方法のフローチャートである。
【図５】[014]初期同期の期間中に無効なデジタル証明書の処理を実装する例示的なシステムのブロック図である。
【図６】[015]初期同期の期間中に無効なデジタル証明書の処理を実装する例示的な方法のフローチャートである。
【図７】[016]後続の同期の期間中に無効なデジタル証明書の処理を実装する例示的なシステムのブロック図である。
【図８】[017]後続の同期の期間中に無効なデジタル証明書の処理を実装する例示的な方法のフローチャートである。
【図９】[018]無効なデジタル証明書の処理のための例示的なユーザーインターフェイスのスクリーンショットである。
【図１０】[019]本明細書において説明される技術を実装する例示的な方法のフローチャートである。
【図１１】[020]いくつかの説明される実施形態が実装され得る例示的なコンピューティングシステムの図である。
【図１２】[021]無効なデジタル証明書の処理について使用され得る例示的なモバイル装置の図である。
【図１３】[022]本明細書において説明される技術と共に使用され得る例示的なクラウドサポート環境の図である。
【発明を実施するための形態】
【実施例１】
【００１０】
例示的な概観
[023]本明細書において説明される技術は、種々の無効なデジタル証明書の処理シナリオのために使用され得る。本技術の採用は、そのような証明書を処理するための安全な技法を提供することができる。本方法及びシステムは、デジタル証明書が無効であると分かる場合でも、同期サーバーのＩＤを確立することができる。
【００１１】
[024]小企業及び趣味的なユーザーは、周知の証明機関によって署名されたデジタル証明書を取得するためのコスト及び努力を費やす必要なく、同期セキュリティ（synchronization security）の方策を提供するために、本技術を活用することができる。
【００１２】
[025]本技術は、エンドユーザーにデジタル証明書エラーのよりインテリジェントな処理を提供することを望む者にとって有用となり得る。受益者は、無効な証明書を用いてサーバーを動作させている者を含み得る。エンドユーザーも、エンドユーザーの装置に対する攻撃が回避され得るため、本技術の利益を享受することができる。
【実施例２】
【００１３】
無効なデジタル証明書の処理を実装する例示的なシステム
[026]図１は、本明細書において説明されるような、無効なデジタル証明書の処理を実装する例示的なシステム１００のブロック図である。
【００１４】
[027]コンテキストの目的のために、図１は、ユーザーアカウント１９５におけるユーザー情報（例えば、電子メール、連絡先、カレンダー情報、タスク等）へのアクセスを提供する同期サーバー１８０を示す。本例において、同期サーバー１８０は、無効なデジタル証明書１９７を提供して、同期サーバー１８０のＩＤを確立する。サーバー１８０は、典型的には、コンピューティング装置１１０によってネットワーク１５０を介してアクセスされる。コンピューティング装置１１０は、モバイルコンピューティング装置等を含む、本明細書において説明される任意のコンピューティングシステムとすることができる。
【００１５】
[028]コンピューティング装置１１０は、同期サーバー１８０上のユーザー情報にアクセスするための同期クライアント１２０と、保存済みデジタル証明書ストレージ１３０とを含み得る。保存済みデジタル証明書ストレージ１３０は、それぞれのサーバーについて、（例えば、コンピューター読取可能な媒体において）１つ又は複数の永続化される無効なサーバーデジタル証明書識別子１３７を永続化するように構成される。証明書ストレージ１３０は、（例えば、証明書識別子をサーバー名に関連付けることによって）特定の保存済みのデジタル証明書が、どのサーバーに関連付けられるかを示すことができる。証明書は、種々の手法のうちのいずれかにおいて保存及び整理され得る。例えば、証明書は、（例えば、サーバー名を特定することによって後で取り出されるように）サーバー名、同期アカウント等によって記憶され得る。本明細書において説明されるように、２つ以上の証明書が同期アカウントごとに保存され得る。
【００１６】
[029]実際には、証明書を保存することは、その証明書の完全なコピーを永続化する必要はない。その代わりに、証明書識別子が使用され得る。識別子は完全な証明書であってもよいが、２つの証明書が同じ識別子を有することが事実上不可能であり、同一とならないように、証明書の一部、デジタルダイジェスト、暗号化ハッシュ、サムプリント、又は他の標識情報が、証明書識別子として永続化されてもよい。
【００１７】
[030]セキュリティチェッカー１４０は、サーバーからのものとして示される後続の受信サーバーデジタル証明書を受信するように構成され得る。チェッカー１４０は、後続の受信サーバーデジタル証明書がそのサーバーについての（例えば、証明書ストレージ１３０に記憶された識別子によって表される）保存済みの無効なサーバーデジタル証明書と一致しないと判定することに応じて、セキュリティエラー１４５を生成し得る。本明細書において説明されるように、チェッカー１４０は、後続の受信デジタル証明書がサーバーについての永続化されたデジタル証明書識別子１３７と一致しないと判定することに応じて、同期クライアント１２０による同期を抑制するようにさらに構成され得る。本明細書において説明されるようにエラーメッセージが表示され得  る。
【００１８】
[031]同期クライアント１２０、保存済み証明書ストレージ１３０、及びセキュリティチェッカー１４０は、別個の四角形において示されるが、実際には、コンポーネントの境界は変わり得る。例えば、証明書ストレージ１３０及びセキュリティチェッカー１４０は、同期クライアント１２０の一部として実装されてもよい。本技術をなお実装しつつも、他の構成を取り得る。
【００１９】
[032]実際には、システム１００などの、本明細書において示されるシステムは、付加的な機能性、より多くのサーバー等を有し、より複雑であり得る。
[033]システム１００及び本明細書において説明されるその他のシステムのいずれも、後述されるコンピューティングシステム（例えば、処理部、メモリ等）などの、本明細書において説明されるハードウェアコンポーネントのうちのいずれかと共に実装され得る。本明細書中のいずれの例においても、入力、出力、及びツールは、１つ又は複数のコンピューター読取可能な記憶媒体又はコンピューター読取可能な記憶装置に記憶され得る。本明細書において説明される技術は、オペレーティングシステム又はハードウェアの仕様に汎用的なものとすることができ、説明される特徴を活用するための種々の環境のうちのいずれにおいても適用されることができる。
【実施例３】
【００２０】
無効なデジタル証明書の処理を実装する例示的な方法
[034]図２は、無効なデジタル証明書の処理の例示的な方法２００のフローチャートであり、例えば、図１に示されるシステムにおいて実装され得る。
【００２１】
[035]２１０において、同期サーバーデジタル証明書の無効性は無視されるべきであるという標識が受信される。本明細書において説明されるように、そのような標識は、無効性を無視するために起動可能なものとして示される（例えば、ユーザーインターフェイスの一部として提示される）ユーザーインターフェイス要素の起動であり得る。
【００２２】
[036]２２０において、無効な受信同期サーバーデジタル証明書が（例えば、永続化された無効な同期サーバーデジタル証明書識別子を介して）保存される。本明細書において説明されるように、無効な証明書は、その無効な証明書を提供したサーバーの名前に関連付けられ得る。このようにして、デジタル証明書が無効であっても、サーバーとの信頼関係が確立される。実際には、そのようなデジタル証明書は、本明細書において説明されるような信頼できるネットワーク上で、同期セットアップ又は初期同期の期間中に（例えば、サーバーから）受信され得る。デジタル証明書が受信され得る別の手法は、異なるチャネルを通じて（例えば、証明書を有する印刷文書又は電子文書を介して）のものである。例えば、サーバー管理者は、同期アカウントセットアップ又は初期同期の期間中の使用のためにユーザーにデジタル証明書を提供し得る。
【００２３】
[037]管理者は、サーバー証明書を発行した証明機関のデジタル証明書（例えば、ルート証明書）を提供し得る。ルート証明書がインストールされた後は、対応する機関によって発行されるいかなる証明書も信頼できるものとなる。
【００２４】
[038]本明細書において説明されるように、デジタル証明書は、デジタル証明書識別子（例えば、永続化された無効な同期サーバーデジタル証明書識別子）を介して保存され得る。
【００２５】
[039]２３０において、（例えば、後続の同期サーバー通信の期間中に受信される）第２の受信証明書が、永続化された無効な同期サーバーデジタル証明書識別子と一致しないことを検出することに応じて、エラー条件が生成される。そのような検出は、第２の受信証明書が第１の受信証明書と一致しないことを永続化された無効な同期サーバーデジタル証明書識別子が示すことを検出することによって、達成され得る。例えば、（例えば、本明細書において説明されるように生成される）第２の受信証明書の識別子は、永続化された証明書の識別子と比較され得る。
【００２６】
[040]方法２００及び本明細書において説明されるその他の方法のいずれも、１つ若しくは複数のコンピューター読取可能な媒体（例えば、ストレージ若しくは他の有形の媒体）に記憶され、又は１つ若しくは複数のコンピューター読取可能な記憶装置に記憶される、（例えば、コンピューティングシステムに本方法を実行させる）コンピューター実行可能な命令によって実行され得る。
【実施例４】
【００２７】
例示的な同期サーバー
[041]本明細書中のいずれの例においても、同期サーバーは、同期クライアントに同期機能性を提供するサーバーであり得る。同期機能性は、電子メール、連絡先、カレンダー情報（例えば、約束、休日等）、タスク、及びこれらの組み合わせを同期させる（例えば、送受信する）ことを含み得る。例えば、個人情報マネージャーは、同期サーバーと通信する（例えば、同期サーバーから情報を送受信するための）同期クライアントを実装又は使用することによって、電子メール、連絡先、カレンダー情報、タスク等へのアクセスをユーザー情報として提供し得る。
【００２８】
[042]同期クライアントがデータを送信又は受信するために同期サーバーに接触する場合、この処理は「同期（ｓｙｎｃ）」と呼ばれることがある。実際には、クライアントは、情報を受信するためにサーバーと周期的に同期する。情報を送信する際、クライアントは、同期を直ちに実行（及び、例えば、サーバーにおいて保留中の任意の情報の受信も）し得る。ユーザーは、装置上で特定の同期サーバーとの１つ又は複数の同期アカウントを（例えば、ユーザー名、電子メールアドレス等を介して）セットアップし得る。
【実施例５】
【００２９】
例示的な同期サーバーデジタル証明書
[043]本明細書中のいずれの例においても、同期サーバーデジタル証明書は、同期サーバーのＩＤを確立するために使用され得る。実際には、デジタル証明書は、サーバーＩＤ（例えば、サーバー名、ネットワークアドレス等）、有効期限日、発行者等を含み得る。デジタル署名は、公開鍵基盤規則（public key infrastructure convention）に従って、（例えば、証明書に含まれる）公開鍵をＩＤ情報とバインドするために使用され得る。発行者は、デジタル証明書を発行する信頼できるエンティティとしての役割を果たす証明機関であり得る。
【００３０】
[044]同期サーバーデジタル証明書が有効であることが分かる場合、公開鍵は実際にサーバーに所属することが合理的な確実性をもって想定されることができ、安全な通信セッションが（例えば、公開鍵を介して）構成されることができる。有効性は、典型的には、周知の証明機関を参照して判定される（例えば、ある証明機関のみが信頼及び容認される）。
【００３１】
[045]同期通信において、デジタル証明書が提供された後に、安全な通信セッションは、ユーザーの資格情報、ユーザーコンテンツ（例えば、電子メール、連絡先、カレンダー情報、タスク等）などを暗号化するために使用され得る。
【実施例６】
【００３２】
例示的な無効な同期サーバーデジタル証明書
[046]デジタル証明書は、種々の理由のうちのいずれかによって無効となり得る。そのような理由は、サーバーＩＤが、通信が開始されたサーバーと一致しない（例えば、エンティティＸからの証明書を要求した後に、エンティティＹについての証明書が受信された）ことを含む。そのような不一致は、証明書中の名前と接触されているサーバーの名前とを比較することによって判定され得る。
【００３３】
[047]別の理由は、証明書の有効期限が切れることである。そのような無効性は、現在の日付と証明書の有効期限日とを比較することによって判定され得る。
[048]別の理由は、証明機関が、信頼できる証明機関のリストに存在しないことである。そのような無効性は、証明書の証明機関と信頼できる機関のリストとを比較することによって判定され得る。そのようなリストは、典型的には、クライアントコンピューティング装置上に記憶され、又は取り出される。
【００３４】
[049]別の理由は、証明機関の公開鍵が証明書上のデジタル署名は正確ではないことを示すことである。そのような無効性は、（例えば、装置内に記憶され、又はネットワークを介して獲得される）証明機関の公開鍵を取得し、公開鍵暗号化技法を適用してデジタル署名をチェックすることによって判定され得る。
【００３５】
[050]他の理由もあり得、本明細書における技術によってサポートされ得る。
【実施例７】
【００３６】
例示的なエラー条件
[051]本明細書中のいずれの例においても、後続の受信同期サーバーデジタル証明書が、永続化された同期サーバーデジタル証明書と一致しないことが分かる場合、エラー条件が生成され得る。
【００３７】
[052]そのようなエラー条件は、種々のアクションをもたらし得る。例えば、エラー条件に応じて、エラーメッセージが示されてもよく、警告付きのダイアログボックスが表示されてもよく、受信同期サーバーデジタル証明書を提供するコンピューターとの通信が抑制されてもよく、同期アカウントが遮断されてもよく、影響を受けたアカウントについての同期が抑制され（例えば、失敗し）てもよく、同期が失敗したことを示す警告が提示される等でもよい。前述のうちの２つ以上の組み合わせもサポートされる。
【００３８】
[053]不一致の証明書を提示するコンピューターとの通信を継続することをユーザーに許可しない場合において、エラーは、「継続不可能（ｎｏｎｃｏｎｔｉｎｕａｂｌｅ）」と呼ばれることもある。なぜならば、ユーザーは、（例えば、証明書条件が是正されるまで）そのコンピューターとの通信を装置に継続させることを禁止され得る（例えば、継続させる選択肢を与えられない）ためである。
【００３９】
[054]一致するデジタル証明書が後続の通信において提供される場合、処理は、通常通り再開し得る。
[055]上級ユーザーについては、エラー条件に関する付加的な情報及びエラーをオーバーライドするための選択肢が提供されてもよい。
【実施例８】
【００４０】
例示的なデジタル証明書識別子
[056]本明細書中のいずれの例においても、デジタル証明書識別子は、基礎をなすデジタル証明書を識別するために使用され得る。例えば、証明書自体が証明書を識別するために使用されてもよいが、証明書の一部、証明書の暗号化ハッシュ又はその一部、証明書のデジタルダイジェスト又はその一部、証明書のサムプリント又はその一部等が、デジタル証明書識別子として使用され得る。
【００４１】
[057]デジタル証明書を保存する際、そのデジタル証明書の識別子は、後続のデジタル証明書が最初のデジタル証明書と一致するかを（例えば、後続のデジタル証明書についての識別子を生成し、識別子を比較することによって）判定するためにその識別子が後で使用され得るように、永続化され得る。
【実施例９】
【００４２】
例示的な一致証明書
[058]本明細書中のいずれの例においても、受信デジタル証明書と永続化されたデジタル証明書とが一致するかを判定することは、この２つのデジタル証明書の内容が同一であるかを比較することによって達成され得る。
【００４３】
[059]２つの証明書を（例えば、これらが同一のフィールドを有するかを調べるために）直接比較することよりもむしろ、（例えば、同じ技法によって生成された）証明書の識別子が比較され得る。例えば、受信デジタル証明書の暗号化ハッシュが算出され、最初の無効な証明書の永続化された暗号化ハッシュ（例えば、最初の無効な証明書自体は記憶される必要がない）と比較され得る。従って、ハッシュが一致する場合、ＩＤは保証されることができる。なぜならば、同じ暗号化ハッシュ（例えば、ＳＨＡ−１等）を備える２つの異なる証明書を有することは事実上不可能であるためである。２つの証明書が一致するかを判定するために、任意の数の他の一致技法及び保存技法が適用され得る。
【実施例１０】
【００４４】
無効性は無視されるべきであるという例示的な標識
[060]本明細書中のいずれの例においても、同期サーバーデジタル証明書の無効性は無視されるべきであるという標識は、起動可能なユーザー要素の起動を受信することを含み得る。そのようなユーザーインターフェイス要素は、ユーザーインターフェイスの一部として提示され、受信証明書が無効であることを検出することに応じて、行われ得る。
【００４５】
[061]そのようなユーザーインターフェイスは、その要素を起動することが証明書の無効性を無視する結果になることを示すように表示され得る。例えば、証明書は無効なものとして検出されたことを伝え、無効性を無視するための選択肢を与えるダイアログボックスが提示され得る。あるいは、無効性は無視されるべきであることを示すためにチェックボックスがチェックされてもよい。必要に応じて、証明書の詳細は、有効性又は無効性を調査によって検証するための、ユーザーによる考慮のために表示され得る。
【００４６】
[062]無効性は無視されるべきであることを検出することに応じて、後続の証明書が一致するかを検出するための、本明細書において説明される技法が実装され得る（例えば、現在の受信証明書を、永続化された無効な証明書として保存することを含む）。
【実施例１１】
【００４７】
例示的な例外リスト
[063]本明細書中のいずれの例においても、サーバー例外リストが記憶され得る。例外リストは、周知の同期サーバー（例えば、ｈｏｔｍａｉｌ．ｃｏｍ、ｇｍａｉｌ．ｃｏｍ、ｙａｈｏｏ．ｃｏｍ等）を示し得る。周知の同期サーバーの例外リスト上に現れるサーバーについては、デジタル証明書の無効性を無視することが拒否され得る。１つの装置は複数の同期アカウントをサポートし得るため、１つのアカウントについてのサーバーがリスト上に存在する一方で、別のアカウントについてのサーバーはリスト上に存在しない可能性がある。
【実施例１２】
【００４８】
無効なデジタル証明書の処理の例示的な段階
[064]図３は、無効なデジタル証明書の処理シナリオ３００の段階を示すブロック図である。ユーザー情報を送信又は受信するために、情報同期（「同期（ｓｙｎｃ）」）が実行され得る。本例において、装置３１０における初期同期段階の期間中に、装置３１０は、無効な証明書３８７をネットワーク３５０上で提供する同期サーバー３８０（例えば、接触されることが意図される実際の同期サーバー）にアクセスする。実際には、ネットワーク３５０は、典型的には、社内ネットワーク又はホームネットワークなどの信頼できるネットワークである。本明細書において説明されるように、ユーザーには、証明書の無効性が無視され得ることを示すための機会が与えられ得る。初期同期は、同期アカウントのセットアップ期間中又はセットアップ後に行われ得る。あるいは、説明されたデジタル証明書の処理は、同期セットアップ処理の一部として実行されてもよい。
【００４９】
[065]後続の同期段階の期間中、装置３１０における同期期間中に、装置３１０は、同期サーバー３８０へのアクセスを試行するが、現実には、異なる証明書３９７（例えば、無効な証明書３８７と同一ではない証明書）を提供する偽装サーバー（impersonating server）３９０に接続される。実際には、ネットワーク３６０は、典型的には、公衆ネットワーク（例えば、インターネットカフェ、喫茶店等）などの信頼できないネットワークである。本明細書において説明されるように、ユーザーが証明書３８７の無効性は無視され得ることを示した場合であっても、証明書３８７、３９７の比較は、装置３１０が異なるサーバーに接続していることを判定することができ、この判定は、サーバー３９０が真の同期サーバー３８０を偽装していることを示し得る。そのため、（例えば、証明書３９７がたまたま無効である場合に）証明書３９７の無効性を無視するための別の機会をユーザーに与えること、又はサーバー３９０と通常通り通信することよりもむしろ、エラー条件が、本明細書において説明されるように生成され得る。
【実施例１３】
【００５０】
段階的な無効なデジタル証明書の処理の例示的な方法
[066]図４は、無効なデジタル証明書の処理の例示的な方法４００のフローチャートであり、例えば、図１及び図３に示されるシステムにおいて実装され得る。段階的なアプローチにおいて使用される特徴は、本明細書中のその他の例のいずれにおいても実装され得る。
【００５１】
[067]４１０において、装置における初期同期の期間中に、無効な証明書が保存される。本明細書において説明されるように、保存は、その証明書についての証明書識別子を永続化することによって達成され得る。
【００５２】
[068]４２０において、後続の同期動作は、受信デジタル証明書が保存済みの（例えば、永続化された）証明書と一致しないことを検出することに応じて、遮断される。
【実施例１４】
【００５３】
初期同期段階の期間中における例示的な無効なデジタル証明書の処理
[069]図５は、（例えば、同期クライアントについての）初期同期の期間中における無効なデジタル証明書の処理を実装する例示的なシステム５００のブロック図である。本明細書中のいずれの例においても、初期同期の期間中に発生するものとして説明される処理は、その代わりに、同期アカウントセットアップの期間中に発生してもよい。本例では、通常の同期アカウントセットアップの過程の期間中に、（例えば、ユーザーによって特定されるように）サーバー名５１０が受信される。サーバー名５１０は、（例えば、サーバー名５１０を有する同期サーバーによって提供される）受信デジタル証明書５１７を獲得するために使用され得る。
【００５４】
[070]検証ロジック５２２は、本明細書において説明されるように、デジタル証明書５１７が有効であるかを判定するために、デジタル証明書５１７をチェックし得る。検証ロジック５２２は、（例えば、証明書に署名した証明機関は既知であることを検証するために）既知の証明機関の証明書５１５も考慮し得る。検証結果５２４が生成され得る。本例の目的のために、検証結果５２４は、受信デジタル証明書５１７が無効であることを示す。結果として、検証ロジック５２２（例えば、セキュリティチェッカーの一部）は、無効性が無視されるべきであることを示すために起動可能なユーザーインターフェイス要素を備えるユーザーダイアログを提示するように構成される。（例えば、無効性を無視するための）ユーザーの選択についてのストレージ５２８は、無効性が無視されるべきであるという標識を維持することができる。受信証明書５１７は、デジタル証明書ストレージ５３０に（例えば、証明書識別子として）保存され得る。
【実施例１５】
【００５５】
初期同期の期間中における無効なデジタル証明書の処理の例示的な方法
[071]図６は、初期同期の期間中における無効なデジタル証明書の処理を実装する例示的な方法６００のフローチャートである。
【００５６】
[072]６１０において、初期同期の期間中に、（第１の）受信同期サーバーデジタル証明書が受信される。
[073]６２０において、受信同期サーバー証明書は無効であることが判定される。
【００５７】
[074]６３０において、（第１の）受信同期サーバーデジタル証明書は無効であると判定することに応じて、同期サーバーデジタル証明書の無効性を無視するための選択肢が提示される。
【００５８】
[075]６４０において、無効性を無視するための標識に応じて、無効なデジタル証明書は、本明細書において説明されるように、（例えば、同期アカウントについてのセットアップの期間中に）後続のセキュリティチェックのために保存される。
【実施例１６】
【００５９】
後続の同期段階を備える例示的なシステム
[076]図７は、（例えば、初期同期後の、同期クライアントについての）後続の同期の期間中における無効なデジタル証明書の処理を実装する例示的なシステム７００のブロック図である。デジタル証明書が同期セットアップの期間中に保存される実装において、説明される技法は、セットアップ後の同期に適用され得る。
【００６０】
[077]本例において、比較ロジック７２２（例えば、セキュリティチェッカーの一部）は、永続化されたデジタル証明書識別子７１８と後続の受信デジタル証明書７１９とを受け取り、（例えば、後続の受信デジタル証明書についての証明書識別子を生成することによって）この２つを比較し、比較結果７２４を提供する。同じサーバー名は、証明書の双方に関連付けられ得る。
【００６１】
[078]比較結果７２４が、証明書識別子７１８と証明書７１９とが一致しないことを示す場合、エラー条件７４５が生成される。
【実施例１７】
【００６２】
後続の同期段階を備える例示的な方法
[079]図８は、本明細書において説明される初期同期に引き続いて実行される後続の同期の期間中における無効なデジタル証明書の処理を実装する例示的な方法８００のフローチャートである。
【００６３】
[080]８１０において、（第２の）受信デジタル証明書が、同期サーバーから（例えば、同期処理の一部として）受信される。
[081]８２０において、（第２の）受信デジタル証明書は、（例えば、サーバーの名前と関連付けられる）永続化されたデジタル証明書識別子と比較される。
【００６４】
[082]８３０において、結果に基づいて、本方法は、（例えば、証明書が一致する場合）同期サーバーとの通信を許可すること、及び（例えば、証明書が一致しない場合）エラー条件を生成することのどちらかを選択する。そのような選択は、無効性が無視されるべきものとして示されたかも考慮し得る（例えば、無効性が無視されるべきと示されなかった場合、無効性がチェックされ得、無効な証明書は、エラー条件又は警告をもたらし得る）。
【実施例１８】
【００６５】
例示的なユーザーインターフェイス
[083]本明細書中のいずれの例においても、ユーザーインターフェイスは、エラー条件に直面することに応じて、提示され得る。ユーザーインターフェイスは、エラーが発生したことを示すエラーメッセージを提示し得る。エラーのさらなる詳細は、状況に応じて、望ましいことも、又は望ましくないこともある。例えば、どの同期アカウントが関与するのかをユーザーが判定することができるように、同期サーバー名が表示されてもよい。
【００６６】
[084]図９は、無効なデジタル証明書の処理のための例示的なユーザーインターフェイス９００のスクリーンショットである。本例において、ユーザーインターフェイス９００は、以前に提示された資格情報と異なる資格情報を同期サーバーが提示したことをユーザーに通知するダイアログボックスとして提示される。従って、同期は、抑制される（例えば、不成功に終わる、失敗する等）。
【００６７】
[085]その後の同期するための試行は、永続化された証明書と一致するデジタル証明書を獲得し得る。そのため、そうである場合には、同期が再開し得る。
【実施例１９】
【００６８】
例示的な詳細な方法
[086]図１０は、同期サーバーのＩＤを確立するために、本明細書において説明される技術を実装する例示的な方法１０００のフローチャートである。本例では、電子メールサーバーが関与するが、本技術は、他の又は付加的な同期機能性を提供するサーバーに同様に適用されることができる。本明細書におけるいずれの特徴も、本明細書において説明されるいずれの例にも組み込まれることができる。
【００６９】
[087]１０１０において、電子メールサーバーＩＤを示す第１の電子メールサーバーデジタル証明書が、本明細書において説明されるように（例えば、電子メールサーバーとの電子メールアカウントの初期同期の期間中に）受信される。
【００７０】
[088]１０２０において、第１のデジタル証明書は無効であると判定される。そうではなく、デジタル証明書が有効であると判定される場合、同期は、いかなる問題もなく進行し得る。
【００７１】
[089]１０３０において、第１のデジタル証明書が無効であると判定することに応じて、第１のデジタル証明書の無効性を無視するための選択肢が提示される。
[090]１０４０において、第１のデジタル証明書の無効性を無視するための選択肢の選択に応じて、無効な第１のデジタル証明書が保存され、同期段階において示された方法が実行される。電子メールアカウントの同期は、許可される。
【００７２】
[091]そうではなく、無効性は無視されるべきではないことをユーザーが示す場合、サーバーとの通信は、証明書エラーに起因して、失敗するであろう。同期は、サーバーが有効な証明書を提示するまで、機能しないであろう（又は、本明細書において説明されるように、無効性は無視される）。
【００７３】
[092]１０５０において、（例えば、電子メールサーバーと同じではないかもしれない）コンピューターとの後続の通信の期間中に、後続のデジタル証明書が、このコンピューターから受信される。サーバー証明書がアカウントセットアップの期間中に有効であった場合、サーバー証明書は、後続の同期のために有効なままである必要がある。サーバー証明書がセットアップの期間中に無効であり、継続する（例えば、無効性を無視する）ための選択肢が選択された場合、後続の同期の期間中におけるサーバー証明書のいかなる変化も、エラー条件をトリガーする。
【００７４】
[093]１０６０において、後続のデジタル証明書が、保存済みの無効な第１のデジタル証明書と一致するかがチェックされる。本明細書において説明されるように、証明書識別子は、証明書を比較するために使用され得る。
【００７５】
[094]１０７０において、後続のデジタル証明書が、保存済みの無効な第１のデジタルセキュリティ証明書と一致しないと判定することに応じて、コンピューターとのさらなる通信は抑制される（例えば、同期は失敗する）。エラー条件は、本明細書において説明されるように生成され得る。
【実施例２０】
【００７６】
同期アカウントごとの複数のサーバー
[095]いずれの例においても、１つの同期アカウントは、２つ以上のサーバー（例えば、電子メールを送信するためのサーバー及び受信するためのサーバー）に関与し得る。本明細書において説明される技法は、双方のサーバーに適用されることができる（例えば、別個の永続化されたデジタル証明書は、それぞれのサーバーについて記憶され得る）。そのような場合には、同期アカウントごとに２つ以上の保存済みのデジタル証明書（例えば、送信サーバーのためのデジタル証明書及び受信サーバーのためのデジタル証明書）が存在し得る。
【００７７】
[096]クライアント装置が受信サーバーから情報を受信したが、送信サーバーへはいかなる情報もまだ送信していない場合があり得る。本明細書において説明されるような別個の有効性チェックは、同期処理の適当な部分について必要とされるサーバーとの安全な通信チャネルを確立しようと最初に試行する際に、両サーバーについて行われ得る。
【実施例２１】
【００７８】
例示的な利点
[097]本明細書中のいずれの例においても、同期セキュリティは、証明書が無効であると分かっても、提供され続けることができる。デジタル証明書は、悪意のない理由により無効となり得るため、そのような技術は、ソフトウェアセキュリティを改善するために有益となり得る。例えば、小企業又は愛好家は、安全な電子メール通信を活用するためにデジタル証明書を備える電子メールサーバーを有することは望むかもしれないが、周知の信頼できる証明機関（例えば、ＶｅｒｓｉＳｉｇｎ等）によって発行されるデジタル証明書を取得するコスト及び努力は費やさないことを望むかもしれない。そのような場合において、コンピューティング装置は、証明書が無効であると分かり得る。しかしながら、本明細書において説明される技術を活用すれば、サーバーＩＤのある程度の保証が提供されることができる。
【００７９】
[098]サーバーと対話する普通の過程において、ユーザーは、エラーを見ることに慣れてしまうことがあり、そのため、そのようなエラーを無視するようにコンピューティング装置に指示し続けるかもしれない。しかしながら、デジタル証明書が、同じサーバーについて以前に保存されたデジタル証明書と一致しない場合、これは、典型的には、サーバーのＩＤに問題があるという標識である。従って、装置は、通信を遮断して、ユーザーによる誤った決定（例えば、有効性を再び無視すること）を回避することができる。
【００８０】
[099]サーバーＩＤに問題がある（例えば、受信証明書が、同じサーバーについての永続化された証明書と一致しない）ことを検出することによって、種々の攻撃が回避されることができる。１つのそのような攻撃は、攻撃者がユーザーと同期サーバーとの間に介在するため、介入者攻撃と呼ばれる。攻撃は、ユーザーの資格情報（例えば、ユーザー名及びパスワード）を傍受し得、その後、ユーザーの資格情報は、さらなる攻撃において使用され得る。そのような攻撃は、しばらくの間、検出されないままとなり得る。
【００８１】
[0100]本明細書において説明されるように、本来の同期サーバーを偽装する介在コンピューターが、システムに保存された永続化された証明書と一致しないデジタル証明書を提示することが検出される場合、そのコンピューターとのさらなる通信は抑制され、偽装コンピューターにユーザーの資格情報を送信することが防止されることができる。
【００８２】
[0101]代替案も使用され得るが、無効性の検出時に無効性を無視するための単純なユーザーインターフェイスを提示することは、ユーザーがより複雑なインターフェイス機構をナビゲートする必要（例えば、容認される証明書のリストに証明書を追加すること）を省くことができる。
【実施例２２】
【００８３】
例示的なコンピューティングシステム
[0102]図１１は、説明される技術革新のうちのいくつかが実装され得る適切なコンピューティングシステム１１００の一般化された例を例示する。技術革新は、多様な汎用コンピューティングシステム又は専用コンピューティングシステムにおいて実装され得るため、コンピューティングシステム１１００は、用途又は機能性の範囲に関するいかなる限定も提案することを意図されない。
【００８４】
[0103]図１１を参照すると、コンピューティングシステム１１００は、１つ又は複数の処理部１１００、１１１５及びメモリ１１２０、１１２５を含む。図１１において、この基本構成１１３０は、破線内に含まれる。処理部１１１０、１１１５は、コンピューター実行可能な命令を実行する。処理部は、汎用中央処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）におけるプロセッサ、又は任意の他のタイプのプロセッサとし得る。マルチプロセシングシステムでは、複数の処理部がコンピューター実行可能な命令を実行して、処理能力を増加させる。例えば、図１１は、中央処理装置１１１０及びグラフィックス処理部又は共処理部１１１５を示す。有形のメモリ１１２０、１１２５は、揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ等）、又は処理部によってアクセス可能な、この２つの何らかの組み合わせであってもよい。メモリ１１２０、１１２５は、本明細書において説明される１つ又は複数の技術革新を、処理部による実行に適したコンピューター実行可能な命令の形で実装するソフトウェア１１８０を記憶する。
【００８５】
[0104]コンピューティングシステムは、付加的な機能を有し得る。例えば、コンピューティングシステム１１００は、ストレージ１１４０、１つ又は複数の入力装置１１５０、１つ又は複数の出力装置１１６０、及び１つ又は複数の通信接続１１７０を含む。バス、コントローラ、又はネットワークなどの相互接続機構（図示せず）は、コンピューティングシステム１１００のコンポーネントを相互接続する。典型的には、オペレーティングシステムソフトウェア（図示せず）は、コンピューティングシステム１１００において実行中の他のソフトウェアのための動作環境を提供し、コンピューティングシステム１１００のコンポーネントの活動を調整する。
【００８６】
[0105]有形のストレージ１１４０は、取り外し可能でも、又は取り外し不可能であってもよく、磁気ディスク、磁気テープ若しくは磁気カセット、ＣＤ−ＲＯＭ、ＤＶＤ、又は非一時的な手法で情報を記憶するために使用されることができ、かつ、コンピューティングシステム１１００内でアクセスされることができる任意の他の媒体を含む。ストレージ１１４０は、本明細書において説明される１つ又は複数の技術革新を実装するソフトウェア１１８０についての命令を記憶する。
【００８７】
[0106]入力装置１１５０は、キーボード、マウス、ペン、若しくはトラックボール、音声入力装置、スキャン装置、又はコンピューティングシステム１１００への入力を提供する別の装置などのタッチ入力装置であり得る。ビデオ符号化の場合、入力装置１１５０は、カメラ、ビデオカード、ＴＶチューナーカード、又はビデオ入力をアナログ形式若しくはデジタル形式で受け取る同様の装置、又はビデオサンプルをコンピューティングシステム１１００に読み出すＣＤ−ＲＯＭ若しくはＣＤ−ＲＷであり得る。出力装置１１６０は、ディスプレイ、プリンター、スピーカー、ＣＤライター、又はコンピューティングシステム１１００からの出力を提供する別の装置であり得る。
【００８８】
[0107]通信接続１１７０は、別のコンピューティングエンティティとの通信媒体上での通信を可能にする。通信媒体は、コンピューター実行可能な命令、オーディオ若しくはビデオ入力若しくは出力、又は変調データ信号における他のデータなどの情報を伝達する。変調データ信号は、その特性のうちの１つ又は複数が、情報を信号に符号化するような手法で設定又は変更された信号である。限定ではなく例として、通信媒体は、電気搬送波、光搬送波、ＲＦ搬送波、又は他の搬送波を使用し得る。
【００８９】
[0108]本技術革新は、コンピューター読取可能な媒体の一般的なコンテキストにおいて説明され得る。コンピューター読取可能な媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な有形の媒体である。限定ではなく例として、コンピューティングシステム１１００の場合、コンピューター読取可能な媒体は、メモリ１１２０、１１２５、ストレージ１１４０、及び上記のうちの任意の組み合わせを含む。
【００９０】
[0109]本技術革新は、対象となる実プロセッサ又は仮想プロセッサ上のコンピューティングシステムにおいて実行されるプログラムモジュールに含まれるコンピューター実行可能な命令などの、コンピューター実行可能な命令の一般的なコンテキストにおいて説明され得る。一般的に、プログラムモジュールは、特定のタスクを実行し、又は特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラムモジュールの機能性は、様々な実施形態において所望により組み合わせられ、又はプログラムモジュール間で分割され得る。プログラムモジュールについてのコンピューター実行可能な命令は、ローカルコンピューティングシステム又は分散コンピューティングシステム内で実行され得る。
【００９１】
[0110]「システム（ｓｙｓｔｅｍ）」及び「装置（ｄｅｖｉｃｅ）」という用語は、本明細書において互換的に使用される。文脈が他の意味を明確に示さない限り、どちらの用語も、コンピューティングシステム又はコンピューティング装置のタイプに関するいかなる限定も暗示しない。一般に、コンピューティングシステム又はコンピューティング装置は、ローカルであっても、分散されていてもよく、専用ハードウェア及び／又は汎用ハードウェアと本明細書において説明される機能性を実装するソフトウェアとの任意の組み合わせを含み得る。
【００９２】
[0111]提示のために、詳細な説明は、「判定する（ｄｅｔｅｒｍｉｎｅ）」及び「使用する（ｕｓｅ）」のような用語を使用して、コンピューティングシステムにおけるコンピューター動作を説明する。これらの用語は、コンピューターによって実行される動作についての高レベルの抽象化であり、人間によって実行される行為と混同されるべきではない。これらの用語に対応する実際のコンピューター動作は、実装に応じて変わる。
【実施例２３】
【００９３】
例示的なモバイル装置
[0112]図１２は、全体として１２０２で示される、種々の随意的なハードウェアコンポーネント及びソフトウェアコンポーネントを含む例示的なモバイル装置１２００を描くシステム図である。例示を簡単にするために、全ての接続が示されるわけではないが、モバイル装置における任意のコンポーネント１２０２は、任意の他のコンポーネントと通信し得る。モバイル装置は、種々のコンピューティング装置（例えば、携帯電話、スマートフォン、ハンドヘルドコンピューター、携帯情報端末（ＰＤＡ：Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等）のうちの任意のものとすることができ、セルラーネットワーク、衛星ネットワーク、又は他のネットワークなどの１つ又は複数のモバイル通信ネットワーク１２０４との無線双方向通信を可能にすることができる。
【００９４】
[0113]例示されるモバイル装置１２００は、信号符号化、データ処理、入力／出力処理、電力制御、及び／又は他の機能などのタスクを実行するためのコントローラ又はプロセッサ１２１０（例えば、信号プロセッサ、マイクロプロセッサ、ＡＳＩＣ、又は他の制御及び処理ロジック回路）を含み得る。オペレーティングシステム１２１２は、コンポーネント１２０２の割り当て及び使用法を制御し、１つ又は複数のアプリケーションプログラム１２１４をサポートし得る。アプリケーションプログラム１２１４は、共通のモバイルコンピューティングアプリケーション（例えば、電子メールアプリケーション、カレンダー、連絡先マネージャー、ウェブブラウザ、メッセージングアプリケーション）、又は任意の他のコンピューティングアプリケーションを含み得る。アプリケーションストアにアクセスするための機能性１２１３も、アプリケーション１２１４を獲得及び更新するために使用され得る。
【００９５】
[0114]例示されるモバイル装置１２００は、メモリ１２２０を含み得る。メモリ１２２０は、取り外し不可能なメモリ１２２２及び／又は取り外し可能なメモリ１２２４を含み得る。取り外し不可能なメモリ１２２２は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ハードディスク、又は他の周知のメモリストレージ技術を含み得る。取り外し可能なメモリ１２２４は、フラッシュメモリ、又はＧＳＭ（登録商標）通信システムにおいて周知である加入者識別モジュール（ＳＩＭ：Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）カード、又は「スマートカード（ｓｍａｒｔ  ｃａｒｄｓ）」などの他の周知のメモリストレージ技術を含み得る。メモリ１２２０は、オペレーティングシステム１２１２及びアプリケーション１２１４を実行させるためのデータ及び／又はコードを記憶するために使用され得る。例示的なデータは、１つ又は複数の有線ネットワーク又は無線ネットワークを介して、１つ若しくは複数のネットワークサーバー若しくは他の装置へ送信され、及び／又は１つ若しくは複数のネットワークサーバー若しくは他の装置から受信されるべきウェブページ、テキスト、画像、音声ファイル、ビデオデータ、又は他のデータセットを含み得る。メモリ１２２０は、国際移動体加入者識別番号（ＩＭＳＩ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ）などの加入者識別子、及び国際移動体装置識別番号（ＩＭＥＩ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  Ｅｑｕｉｐｍｅｎｔ  Ｉｄｅｎｔｉｆｉｅｒ）などの機器識別子を記憶するために使用され得る。そのような識別子は、ユーザー及び機器を識別するためにネットワークサーバーへ送信され得る。
【００９６】
[0115]モバイル装置１２００は、タッチスクリーン１２３２、マイクロフォン１２３４、カメラ１２３６、物理キーボード１２３８、及び／又はトラックボール１２４０などの１つ又は複数の入力装置１２３０、並びにスピーカー１２５２及びディスプレイ１２５４などの１つ又は複数の出力装置１２５０をサポートし得る。他の取り得る出力装置（図示せず）は、圧電出力装置又は他の触覚出力装置を含み得る。いくつかの装置は、２つ以上の入力／出力機能を果たし得る。例えば、タッチスクリーン１２３２とディスプレイ１２５４とは、単一の入力／出力装置に組み合わされ得る。
【００９７】
[0116]無線モデム１２６０は、本技術分野において充分に理解されるように、アンテナ（図示せず）に結合されることができ、プロセッサ１２１０と外部装置との間の双方向通信をサポートすることができる。モデム１２６０は、一般的に示されており、モバイル通信ネットワーク１２０４と通信するためのセルラーモデム及び／又は他の無線ベースのモデム（例えば、ブルートゥース又はＷｉ−Ｆｉ）を含み得る。無線モデム１２６０は、典型的には、単一のセルラーネットワーク内のデータ及び音声通信のためのＧＳＭ（登録商標）ネットワークなどの１つ又は複数のセルラーネットワークとの通信、セルラーネットワーク間の通信、又はモバイル装置と公衆交換電話ネットワーク（ＰＳＴＮ：ｐｕｂｌｉｃ  ｓｗｉｔｃｈｅｄ  ｔｅｌｅｐｈｏｎｅ  ｎｅｔｗｏｒｋ）との間の通信のために構成される。
【００９８】
[0117]モバイル装置１２００は、少なくとも１つの入力／出力ポート１２８０、電源１２８２、衛星測位システム（ＧＰＳ：Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信器などの衛星ナビゲーションシステム受信器１２８４、加速度計１２８６、並びに／又は、ＵＳＢポート、ＩＥＥＥ１３９４（ＦｉｒｅＷｉｒｅ）ポート、及び／若しくはＲＳ−２３２ポートとし得る物理コネクタ１２９０をさらに含み得る。任意のコンポーネントが削除されてもよく、他のコンポーネントが追加されてもよいため、例示されるコンポーネント１２０２は、必須又は包括的ではない。
【実施例２４】
【００９９】
例示的なクラウドサポート環境
[0118]例示的な環境１３００において、クラウド１３１０は、種々の画面性能を備える、接続される装置１３３０、１３４０、１３５０にサービスを提供する。接続される装置１３３０は、コンピューター画面１３３５（例えば、中型の画面）を備える装置を表す。例えば、接続される装置１３３０は、デスクトップコンピュータ、ラップトップ、ノートブック、ネットブック等などのパーソナルコンピューターであってもよい。接続される装置１３４０は、モバイル装置画面１３４５（例えば、小型の画面）を備える装置を表す。例えば、接続される装置１３４０は、携帯電話、スマートフォン、携帯情報端末、タブレットコンピューター等であってもよい。接続される装置１３５０は、大型の画面１３５５を備える装置を表す。例えば、接続される装置１３５０は、テレビ画面（例えば、スマートテレビ）又はテレビ受像機に接続される別の装置（例えば、セットトップボックス若しくはゲーム機）等であってもよい。接続される装置１３３０、１３４０、１３５０のうちの１つ又は複数は、タッチスクリーン性能を含み得る。タッチスクリーンは、入力を色々な手法で受け取ることができる。例えば、容量性タッチスクリーンは、物体（例えば、指先又はスタイラス）が画面に流れる電流を歪め又は遮断する場合、タッチ入力を検出する。別の例として、タッチスクリーンは、光学センサーを使用して、光学センサーからのビームが遮断される場合にタッチ入力を検出し得る。画面の表面との物理的な接触は、いくつかのタッチスクリーンによって入力が検出されるために必要ではない。画面性能を備えない装置も、例示的な環境１３００において使用され得る。例えば、クラウド１３１０は、ディスプレイを備えない１つ又は複数のコンピューター（例えば、サーバーコンピューター）のためのサービスを提供し得る。
【０１００】
[0119]サービスは、クラウド１３１０によって、サービスプロバイダー１３２０を通じて又はオンラインサービスの他のプロバイダ（描写せず）を通じて提供され得る。例えば、クラウドサービスは、特定の接続される装置（例えば、接続される装置１３３０、１３４０、１３５０）の画面サイズ、ディスプレイ性能、及び／又はタッチスクリーン性能に合わせてカスタマイズされてもよい。
【０１０１】
[0120]例示的な環境１３００において、クラウド１３１０は、少なくとも部分的にはサービスプロバイダー１３２０を使用して、様々な接続される装置１３３０、１３４０、１３５０に、本明細書において説明される技術及び解決策を提供する。例えば、サービスプロバイダー１３２０は、様々なクラウドベースのサービスについての集中的な解決策を提供し得る。サービスプロバイダー１３２０は、ユーザー及び／又は装置についての（例えば、接続される装置１３３０、１３４０、１３５０及び／又はこれらそれぞれのユーザーについての）サービス加入を管理し得る。
【実施例２５】
【０１０２】
例示的な実装
[0121]開示される方法のうちのいくつかの動作は、簡便な提示のために特定の順序で説明されるが、こうした説明は、以下に述べられる特定の文言によって特定の順序が必要とされない限り、並べ替えを網羅することが理解されるべきである。例えば、順序的に説明される動作は、いくつかの場合において、並べ替えられ、又は同時に実施されてもよい。さらに、簡単さのために、添付の図面は、開示される方法が他の方法と共に使用され得る様々な手法を示さないことがある。
【０１０３】
[0122]開示される方法のいずれも、１つ又は複数のコンピューター読取可能な記憶媒体（例えば、１つ若しくは複数の光媒体ディスク、（ＤＲＡＭ若しくはＳＲＡＭなどの）揮発性メモリコンポーネント、又は（ハードディスクドライブなどの）不揮発性メモリコンポーネントなどの、非一時的なコンピューター読取可能な媒体）に記憶され、コンピューター（例えば、スマートフォン又はコンピューティングハードウェアを含む他のモバイル装置を含む、任意の市販のコンピューター）上で実行されるコンピューター実行可能な命令として実装されることができる。開示される技法を実装するためのコンピューター実行可能な命令のいずれも、並びに、開示される実施形態の実装期間中に生成及び使用されるデータのいずれも、１つ又は複数のコンピューター読取可能な媒体（例えば、非一時的なコンピューター読取可能な媒体）に記憶され得る。コンピューター実行可能な命令は、例えば、専用ソフトウェアアプリケーション、又はウェブブラウザ若しくは（リモートコンピューティングアプリケーションなどの）他のソフトウェアアプリケーションを介してアクセス若しくはダウンロードされるソフトウェアアプリケーションの一部であり得る。そのようなソフトウェアは、例えば、単一のローカルコンピューター（例えば、任意の適切な市販のコンピューター）上で、又は、１つ若しくは複数のネットワークコンピューターを使用するネットワーク環境において（例えば、インターネット、広域ネットワーク、ローカルエリアネットワーク、（クラウドコンピューティングネットワークなどの）クライアント／サーバーネットワーク、若しくは他のそのようなネットワークを介して）実行され得る。
【０１０４】
[0123]明確さのために、ソフトウェアベースの実装のうちの、ある選択された態様のみが説明される。本技術分野において周知である他の詳細は省略される。例えば、開示される技術は、いかなる特定のコンピューター言語又はプログラムにも限定されないことが理解されるべきである。例えば、開示される技術は、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔ（登録商標）、Ａｄｏｂｅ  Ｆｌａｓｈ、又は任意の他の適切なプログラミング言語で書かれたソフトウェアによって実装され得る。同じように、開示される技術は、いかなる特定のコンピューター又はハードウェアのタイプにも限定されない。適切なコンピューター及びハードウェアの一定の詳細は周知であり、本開示において詳細に述べられることを必要としない。
【０１０５】
[0124]さらに、（例えば、コンピューターに、開示される方法のうちのいずれかを実行させるためのコンピューター実行可能な命令を含む）ソフトウェアベースの実施形態のいずれも、適切な通信手段を通じてアップロードされ、ダウンロードされ、又はリモートでアクセスされ得る。そのような適切な通信手段は、例えば、インターネット、ワールドワイドウェブ、イントラネット、ソフトウェアアプリケーション、ケーブル（光ファイバーケーブルを含む）、磁気通信、電磁通信（ＲＦ、マイクロ波、及び赤外線通信を含む）、電子通信、又は他のそのような通信手段を含む。
【０１０６】
[0125]開示される方法、装置、及びシステムは、いかなる形でも限定するものとしてみなされるべきではない。そうではなく、本開示は、単独での、並びに互いの様々な組み合わせ及び小組み合わせにおける、様々な開示される実施形態のあらゆる新規かつ非自明な特徴及び態様に向けられる。開示される方法、装置、及びシステムは、いかなる特定の態様又は特徴又はこれらの組み合わせにも限定されず、開示される実施形態は、任意の１つ又は複数の特定の利点が存在し、又は問題が解決されることも必要としない。
【０１０７】
非一時的なコンピューター読取可能な媒体
[0126]本明細書におけるコンピューター読取可能な媒体のいずれも、非一時的（例えば、メモリ、磁気ストレージ、光ストレージ等）であり得る。
【０１０８】
コンピューター読取可能な媒体への記憶
[0127]本明細書において説明される記憶アクションのいずれも、１つ又は複数のコンピューター読取可能な媒体（例えば、コンピューター読取可能な記憶媒体又は他の有形の媒体）に記憶することによって実装され得る。
【０１０９】
[0128]記憶されるものとして説明されるもののいずれも、１つ又は複数のコンピューター読取可能な媒体（例えば、コンピューター読取可能な記憶媒体又は他の有形の媒体）に記憶され得る。
【０１１０】
コンピューター読取可能な媒体における方法
[0129]本明細書において説明される方法のいずれも、１つ又は複数のコンピューター読取可能な媒体（例えば、コンピューター読取可能な記憶媒体又は他の有形の媒体）における（例えば、符号化される）コンピューター実行可能な命令によって実装され得る。そのような命令は、コンピューターに、方法を実行させることができる。本明細書において説明される技術は、種々のプログラミング言語で実装され得る。
【０１１１】
コンピューター読取可能な記憶装置における方法
[0130]本明細書において説明される方法のいずれも、１つ又は複数のコンピューター読取可能な記憶装置（例えば、メモリ、磁気ストレージ、光ストレージ等）に記憶されるコンピューター実行可能な命令によって実装され得る。そのような命令は、コンピューターに、方法を実行させることができる。
【０１１２】
代替案
[0131]任意の例からの技術は、その他の例のうちの任意の１つ又は複数において説明される技術と組み合わせられ得る。開示される技術の原理が適用され得る多くの取り得る実施形態を考慮して、例示される実施形態は、開示される技術の例であり、開示される技術の範囲への限定として受け止められるべきではないことが認識されるべきである。むしろ、開示される技術の範囲は、以下の特許請求の範囲によって包含されるものを含む。そのため、本発明者らは、本発明者らの発明を、特許請求の範囲の範囲及び精神内に収まるもの全てとして主張する。
【図１】
2015531559.tif 000003
【図２】
2015531559.tif 000004
【図３】
2015531559.tif 000005
【図４】
2015531559.tif 000006
【図５】
2015531559.tif 000007
【図６】
2015531559.tif 000008
【図７】
2015531559.tif 000009
【図８】
2015531559.tif 000010
【図９】
2015531559.tif 000011
【図１０】
2015531559.tif 000012
【図１１】
2015531559.tif 000013
【図１２】
2015531559.tif 000014
【図１３】
2015531559.tif 000015
【国際調査報告】
2015531559.tif 000016
2015531559.tif 000017
2015531559.tif 000018