(58)【調査した分野】(Int.Cl.,DB名)
前記第1装置との信頼関係を確立する前に、前記方法は、第2装置により捕獲されるべき表示にコードを表示することにより第1装置と第2装置をペアにすることを更に含む、請求項1に記載の方法。
【発明を実施するための形態】
【0009】
規範的実施形態の以下の説明において、具現化できる特定の実施形態が例示された添付図面を参照する。種々の実施形態の範囲から逸脱せずに他の実施形態も使用でき且つ構造上の変化もなし得ることを理解されたい。
【0010】
本発明は、一般的に、ある装置を使用して別の装置をアンロックすることに関する。本書において、別の装置をアンロックできる装置を第1装置と称し、そしてある装置によりアンロックされる装置を第2装置と称する。
【0011】
図1は、第1装置100及び第2装置112を示す。この実施形態では、第1装置100は、第2装置112をアンロックするのに使用される。第1装置は、例えば、スマートホン、タブレットPC、ラップトップ、デスクトップPC、Mac、電子リーダー、スマートTV又はゲームコンソール、或いは別の装置と通信できる他の装置である。第1装置100は、セキュアなエンクレーブプロセッサ(SEP)105のようなセキュアなプロセッサと、カーネル108及びユーザランド110(通常ユーザスペースとも称される)を含むアプリケーションプロセッサと、を備えている。SEP105は、カーネル108及びユーザランド110を含むアプリケーションプロセッサ(AP)とは個別のプロセッサである。ユーザランド110は、装置における第三者アプリケーションの動作を促進することができる。カーネル108は、OSのコアであり、ユーザランドへの多数のインターフェイスを与えると共に、アプリケーションからの入力/出力(I/O)要求を管理する。又、ある実施形態では、カーネル108は、装置100のデータを保護するためにキー管理動作も遂行することができる。SEP105は、キー管理モジュールがその中にあるセキュリティ境界を画成する比較的小さなプロセッサである。キーは、アンロックされるとき又は以前にアンロックされたときに入手できる。カーネル108は、SEP105と通信することができる。
【0012】
この実施形態では、SEP105内に多数のプロセスがある。
図1に示すように、SEPは、生物測定学的マッチングモジュール104及びキー管理モジュール106を備えている。
【0013】
第1装置100は、1つ以上のロック/アンロックメカニズムを備えている。第1装置をアンロックするそれらメカニズムの1つは、タッチスクリーン又は物理的キーパッドのようなI/O装置にパスコードを入力することによるものである。入力されると、パスコードは、ユーザランド110、カーネル108を通してSEP105へ搬送される。SEPは、パスコードに基づいて導出を行って、第1装置100をアンロックできるかどうか決定し、そしてユーザデータキーのセットをアンロックするよう試みる。第1装置がアンロックされると、キー管理モジュール106のユーザデータキーが装置100に入手できるようになる。
【0014】
又、第1装置100は、ユーザの指紋で装置をアンロックするように設計された指紋スキャナ102も備えている。この指紋スキャナ102は、指紋の画像を捕獲しそしてその画像を処理のために生物測定学的マッチングモジュール104へ伝送する。生物測定学的マッチングモジュールは、捕獲した指紋画像を有効と決めると、ランダムキーをキー管理モジュール106へ配布し、キー管理モジュール106のキーを装置100で入手できるように促す。生物測定学的マッチングモジュール104は、指紋の分析を終了した後に、ランダムキーをメモリに任意に保持することができる。
【0015】
図1に示すように、第2装置112は、第1装置と同じコンポーネントを備えている。例えば、第2装置112は、SEP116と、カーネル118及びユーザランド120を含むアプリケーションプロセッサと、を備えている。SEP116、カーネル118及びユーザランド120は、第1装置100の対応部分と同様に動作する。第1装置とは異なり、この実施形態では、第2装置は、指紋スキャナを備えていない。或いは又、第2装置が指紋スキャナを有してもよい。ある実施形態では、第2装置112は、SEP116及び生物測定学的マッチングモジュールを有しておらず、そしてキー管理モジュール122は、カーネル118に存在する。
【0016】
一例において、第1装置は、指紋スキャナをもつiPhoneであり、そして第2装置は、指紋スキャナをもたないiPad、ウェアラブル装置又は他の装置である。
【0017】
上述したように、第1装置の生物測定学的マッチングモジュール104は、パスコードでアンロックされたときにキー管理モジュール106から秘密キー(例えば、ランダムキー)を受け取り、そしてそれを、第1装置が指紋一致によりアンロックされたときにキー管理モジュールへ配布する。以下に述べる実施形態では、第1装置100は、同様の原理に基づいて第2装置112をアンロックする。特に、指紋センサにより受け取られる指紋画像は、第1装置100の生物測定学的マッチングモジュール104が秘密キーを配布するようにさせる。これは、第1装置をアンロックするのではなく、キー管理モジュール106が他の装置112のキー管理モジュール122へ秘密キーを解放するようにさせる。この秘密キーは、第1装置100のユーザランド110を通り、2つの装置100、112の両キー管理モジュール106、122を接続する通信チャンネル130を経、そして第2装置112のユーザランド120を通して、第2装置112のSEP116へ通過される。次いで、以下の実施形態で詳細に述べるように、秘密キーを使用して、第2装置112をアンロックする。
【0018】
装置の一方がSEPを備えそして他方がそれを備えていない場合には、保護が弱い装置が、保護が強い装置をアンロックできることを回避するために、SEPをもつ装置が、SEPを持たない装置へそのキーを送ることを拒絶する。従って、装置間に情報(例えば、他の装置を遠隔アンロックするための1つ以上のキー)が送信される前に、装置は、信頼できる装置(例えば、SEPをもつ装置)として互いに認証することができる。
【0019】
先ず、共通のキーを使用して、第1及び第2装置の各々に関連した装置キー(以下に述べる)を、信頼できる装置のSEPが所有していることを確認する。例えば、ある実施形態では、リモートアンロック動作は、同じ形式のSEP(例えば、アップルのSEP)を有する装置間でしか行えない。ある実施形態では、共通のキー、例えば、K
SEP GLOBALは、2つの装置のSEPが共有する対称的なハードウェアキーから導出される。次いで、リモートアンロック処理中に使用できる1つ以上の他のキーにサインするために、K
SEP GLOBALが使用される。共通のキー、K
SEP GLOBALによりサインされるキーは、SEPをもつ装置、即ち信頼できる装置から発生されると考えられる。別の実施形態では、共通の当局により承認された装置特有の非対称的キーが使用される。承認は、保護レベルを決定するのに使用できる装置の分類を含む。
【0020】
K
SEP GLOBALにより有効にできるキーの1つは、装置ごとに独特で且つ装置の識別に使用できる装置キーK
dである。以下、第1装置を識別するキーをK
d1と称し、第2装置を識別するキーをK
d2と称する。ある実施形態では、K
dは、このペアリングのためにランダムに発生される秘密キー、ランダムに発生される普遍的に独特の識別子(UUID)(例えば、ユーザキーの現在セットを識別するKeyBag UUID)、及び装置特有のハードウェアキー、例えば、K
SEP LOCALから導出される。K
SEP LOCALは、装置に関連したデータを保護するのに使用できる装置のキー管理モジュールの装置キーの1つである。ランダムに発生される秘密キーは、キーのエントロピー及び独特さを与えるために生成時にキーストアにより発生されるランダム値である。UUIDは、メカニズムによりアンロックされるKeyBagのためのものである。装置特有のハードウェアキーは、特定の入手性(例えば、いつでも、アンロックされた後に、又は装置がアンロックされるときに入手できる)を伴うデータ保護クラスキーである。第1装置は、「アンロックされる(is-unlocked)」装置キーを使用し、従って、それ自身アンロックされる間でなければ認証できない。第2装置は、「アンロックされている(been-unlocked)」装置キーを使用し、これは、遠隔アンロックされる前にアンロックされていることを要求する。アンロックプロセスの間に、K
d1及びK
d2は、各々、第1装置及び第2装置を認証する。ある実施形態では、K
d1及びK
d2は、第2装置が以前にアンロックされていないときに第1装置が第2装置をアンロックするのに使用される。
【0021】
第2装置が以前にアンロックされている実施形態では、装置アンロックキー、K
duは、装置の認証に使用されるだけではなく、装置がユーザにより以前にアンロックされていたかどうか識別するのにも使用される。K
duは、対応する装置のSEPにおいて発生され、装置に関連したパスコードを使用して保護される。以下、K
du1は、第1装置に関連した装置アンロックキーと称し、そしてK
du2は、第2装置に関連した装置アンロックキーと称される。ある実施形態では、K
duは、装置が以前にアンロックされている場合しか導出されず、これは、正しいパスコードをもつ者によりアクセスされたことを意味する。装置が失われた場合には、新たなユーザは、おそらく、装置をアンロックするためのパスコードを有していない。新たなユーザが装置の全データを消去することにより装置をその元の状態に回復するよう試みる場合には、K
duが失われる。K
duがないと、装置は、それが同じユーザの制御下に依然あることを別の装置に証明することがもはやできない。換言すれば、K
duは、装置が信頼できる装置であることを証明するだけでなく、まだ同じユーザの制御下にあることを証明するのにも使用できる。従って、第1装置は、第2装置がもはやユーザの所有でなく且つ再ブートされたときに第2装置を誤ってアンロックしないことを保証するためにK
du2の存在に依存する。
【0022】
図2−5は、本開示の実施形態による遠隔アンロック方法の種々の段階における規範的なアルゴリズムステップを示す。以下の実施形態は、一方向のアンロックプロセス(例えば、第1装置を使用して第2装置をアンロックする)を述べるが、ここに開示するシステム及び方法は、本開示の精神から逸脱せずに、両方向(例えば、第2装置を使用して第1装置をアンロックする)にアンロックを遂行するように容易に変更できることも理解されたい。
【0023】
図2に示す実施形態では、リモートアンロックプロセス(例えば、第1装置を使用して第2装置をアンロックする)のアルゴリズムは、3つの主要ステップを含む。先ず、第1装置及び第2装置がペアリングされる(ステップ201)。次いで、第2装置が第1装置による遠隔アンロックを許可する(ステップ202)。最終的に、第1装置は、第1装置におけるユーザ入力に応答して第2装置をアンロックする(ステップ203)。これらのステップの各々を以下に詳細に述べる。
【0024】
第1ステップにおいて、2つの装置がペアリングされる(ステップ201)。装置は、それらが互いに接近したときにBluetooth(R)のような適当なペアリングメカニズムを使用してペアリングされる。ある実施形態では、Bluetooth(R)ペアリングは、Bluetooth(R)帯域外キーを使用したセキュアなペアリングである。例えば、装置は、一方の装置のカメラを使用して、他方の装置のディスプレイに表示されるコンピュータ読み取り可能なコード(例えば、ORコード又はバーコード)を捕獲することにより、ペアリングされる。このコードは、2つの装置をペアリングするのに必要な装置IDのような情報及び他の情報(例えば、Bluetooth(R)帯域外キー)を含む。これらの実施形態では、接近ペアリングについて述べるが、2つの装置のペアリングは、必ずしも、装置が接近していることを要求するものではないことを理解されたい。実際に、このステップでは、いずれの距離にある装置をペアリングするように設計されたいずれのペアリングメカニズムも使用できる。
【0025】
ペアリングされた後に、装置は、一方の装置が他方の装置により安全にアンロックできるように2つの装置間に信頼関係を確立できる登録プロセスへと進む。換言すれば、装置間のリモートアンロックを許可することができる(ステップ202)。特に、登録は、2つの装置のキーのコントローラ(例えば、SEP)をペアリングし、そして2つの装置のSEPを潜在的に結合することも含む。このステップは、例えば、装置が、登録プロセス中に認証するときに使用できる彼等のパブリックキーを交換し及びクロスサインし、共有キーをセットアップし、そしてアンロックプロセス中にその共有キーを使用することを含む。ある例では、ペアリングは、両装置において対称的に遂行される。
【0026】
図3は、
図2の登録ステップ202における規範的なアルゴリズムステップを示すフローチャートである。先ず、第1装置(即ち、アンロックを行う装置)は、パブリックキー、例えば、K
du1,pubを第2装置(即ち、アンロックされる装置)へ送出する(ステップ301)。このパブリックキーは、第1装置が第2装置のアンロックを試みるときに第1装置が信頼できる装置であることを確認するのに使用される。又、第2装置は、許可も行い、これは、ユーザからパスコードを受け取り、そして任意であるが、ユーザが第2装置をローカルでアンロックするときに帯域外確認を行うことを含む(ステップ302)。パスコードは、K
du2を保護するので、装置がユーザの所有であることを証明するのに使用される。第2装置は、次いで、パブリックキーK
du1,pubにそのプライベートキーK
du2,privateでサインする(ステップ303)。その結果、第2装置は、アンロック動作中にK
du1,pubを使用して認証する装置は、信頼できる装置であると決定できる。
【0027】
登録が首尾良く終った場合には、第1装置は、次のように第2装置をアンロックするのに使用される。
図4は、本開示の実施形態により第1装置を使用して第2装置をアンロックする規範的アルゴリズムステップ(即ち、
図2のステップ203)を示す。ある例では、第1装置は、ハンドヘルド装置であり、そして第2装置は、ウェアラブル装置である。先ず、2つの装置は、それらが互いに近くにあることを検出する(ステップ401)。ある実施形態では、このステップは、装置が互いに接近することを要求せずに互いに位置付けできることしか要求しない。2つの装置間にはBluetooth(R)又はWi−Fiチャンネルのような通信チャンネルが確立される(ステップ402)。第1装置は、K
du1を使用して認証される(ステップ403)。それに加えて又はそれとは別に、第2装置は、K
du2を使用して認証される。相互に認証され且つ暗号化されるトンネルをセットアップするためにステーション対ステーションプロトコルが使用される。ある実施形態では、両装置は、ペアリング中に交換されたサインキーを使用してプロセス中に認証される一時的暗号キーを使用する。第1装置は認証されているので、第2装置は、例えば、両装置により使用される一時的暗号キーから導出されるネゴシエート型セッションキーを使用して、ランダム秘密キーSを第1装置へ送出する(ステップ404)。第1装置は、秘密キーを記憶する(ステップ405)。その後、第2装置は、パスコードでアンロックされる(ステップ406)。マスターキーMが第2装置によりパスコードから導出される(ステップ407)。第2装置は、マスターキーMを秘密キーSで暗号化することによりトークンを構築し(ステップ408)、従って、第1装置が秘密キーSを第2装置へ返送するとき、第2装置は、Sを使用してトークンを解読し、マスターキーMを検索することができる。それに加えて、第2装置は、トークンを、マスターキーMを使用して暗号化された秘密キーSと連結し、そしてこの連結をエスクローレコードとして記憶する(ステップ409)。これは、マスターキーMが変化して新たなトークンを構築するときに第2装置が秘密キーSを回復できるようにする。別の実施形態では、第2装置は、秘密キーSを使用して第1装置のためのエスクローレコードを発生して、秘密キーSにラップされたマスターキーMを記憶し、これは、以前にアンロックされることなく装置をアンロックできるようにする。換言すれば、第1の実施形態では、固定の秘密キー及びエスクローレコードをセットアップ中に確立することができ、そして別の実施形態では、ランダムな秘密キー及び一時的なエスクローレコードを登録中に装置のアンロックに応答して確立することができる。
【0028】
図4を再び参照すれば、ユーザが第1装置で第2装置をアンロックすると決定したときに、第2装置は、K
du2を使用して認証される(ステップ410)。第1装置は、K
du1で認証される(ステップ411)。認証されると、それら装置は、互いに秘密キーを交換する。例えば、第1装置は、第2装置から受け取った秘密キーSを第2装置へ返送する(ステップ412)。これは、第1装置の指紋スキャナを使用してユーザが自分の指紋をスキャニングするのに応答して行われる。第2装置は、秘密キーSでトークンを解読することによりマスターキーMを検索する(ステップ413)。マスターキーMは、第2装置をアンロックできるようにする(ステップ414)。
【0029】
第2装置が以前にアンロックされていない実施形態では、
図4について述べた方法においてK
du2に代わってK
d2が使用される。ある実施形態では、第2装置は、秘密キーSを使用して第1装置のためのエスクローレコードを発生して、秘密キーSにラップされたマスターキーMを記憶し、これは、以前にアンロックされることなく装置をアンロックできるようにする。第1装置が第2装置のアンロックを試みるとき、第2装置は、装置キーを使用して、エスクローレコード及び秘密キーSを探索して、マスターキーMをアンラップし、これは、第2装置をアンロックするのに使用される。
【0030】
図5は、別の装置をアンロックできるか又は別の装置によってアンロックされるか又はその両方である
図1の第1装置100又は第2装置112のような装置500の規範的モジュールを示すブロック図である。この装置500は、例えば、検出モジュール501、ペアリングモジュール502、キーサインモジュール503、送出モジュール504、受け取りモジュール505、認証モジュール506、キー発生モジュール507及びユーザ入力処理モジュール508を備えている。検出モジュール501は、第2装置を検出する(例えば、第2装置が付近にあるとき)。ペアリングモジュール502は、第1装置と第2装置をペアにする。キーサインモジュール503は、1つ以上のキーに別のキーでサインする。送出モジュール504は、1つ以上のキー(例えば、K
du1、S)を別の装置へ送出する。受け取りモジュール505は、別の装置から1つ以上のキー(例えば、S)を受け取る。認証モジュール506は、装置500を認証する。キー発生モジュール507は、導出モジュールを含み、パスコードからマスターキーを導出し、そしてアンロックプロセスに使用できる1つ以上のハードウェアキー(例えば、K
SEP GLOBAL)を発生する。ユーザ入力処理モジュール508は、これに限定されないがパスコード及び/又は指紋を含むユーザ入力を処理する。
【0031】
種々の実施形態において、
図5のモジュールの幾つかは任意であり、そして装置500には付加的なモジュールを含ませることができる。各モジュールは、ソフトウェア、ハードウェア又はその両方で実施することができる。ある実施形態では、装置500のモジュールは、ここに開示するアルゴリズムを遂行するためのソフトウェアモジュールである。ある実施形態では、装置500のモジュールは、ここに開示するアルゴリズムを遂行するためのコンピュータ読み取り可能なインストラクションを記憶するメモリに結合された1つ以上のプロセッサを表す。ある実施形態では、装置500のモジュールは、前記機能を遂行するためのシステム・オン・チップのようなASICのハードウェア及びソフトウェアエレメントを含む。
【0032】
図6及び7は、前記実施形態で述べた第1装置による第2装置の遠隔アンロックにおいてキー(又はレコード)の交換を促進することのできるトランスポートプロトコルアルゴリズムの実施形態を示す。
【0033】
図6は、2つの装置のペアリングにおける規範的アルゴリズムステップを示す。このペアリングプロセスは、2つの装置間に通信チャンネルが既に確立された後に行うことができる。
図6に示すように、2つの装置をペアにするために、先ず、第2装置は、ユーザが入力したパスワードを受け取る(ステップ601)。このパスワードは後で使用される。第2装置は、長期キーKey 1を発生する(ステップ602)。ある実施形態では、長期キーの発生は、一方を別の装置へ送ることのできるキー対の生成と称される。ここで、Key 1(即ち、キー対の一方のキーKey 1)は、通信チャンネルを経て第1装置へ送られる(ステップ603)。第1装置は、Key 1にサインしそしてそれを記憶する(ステップ604)。第1装置は、次いで、それ自身の長期キーKey 2を発生する(ステップ605)。次いで、第2装置から受け取ったサイン済Key 1、及び新たに発生された短期Key 2を使用して、第1装置にセッションが生成される(ステップ606)。長期キーKey 1と、Key 2は、他のセッションを将来生成するために保持される。セッションが生成されると、別の短期キーKey 3が生成される(ステップ607)。次いで、通信チャンネルを横切って第2装置へKey 2及び3が送られる(ステップ608)。
【0034】
図6を参照すれば、Key 2及びKey 3を受け取った後、第2装置は、Key 2にサインしそしてそれを記憶する(ステップ609)。次いで、第2装置は、Key 2及びKey 3の両方を使用してその終わりにセッションを生成する。セッションが生成された状態で、第2装置は、第1装置から受け取ったKey 3を使用してKey 4を発生する(ステップ611)。Key 4は、次いで、通信チャンネルを横切って第1装置へ送られる(ステップ612)。第1装置がKey 4を確認しそしてそれを記憶した後に、Key 4は、第2装置をアンロックするためのキーとして登録される(ステップ614)。登録が失敗した場合には、メッセージが第1装置へ返送されて、第1装置にKey 4を削除させる(ステップ615)。さもなければ、装置のペアリングが成功となり、そして装置は、遠隔アンロック動作(例えば、第1装置を使用して第2装置をアンロックする)を遂行するようにセットアップされる。
【0035】
図7は、第1装置を使用して第2装置をアンロックする方法の規範的なアルゴリズムステップを示す。
図7に示すように、先ず、第1装置は、第2装置をアンロックするためのユーザ入力を受け取る(ステップ701)。それに応答して、第1装置は、長期キーKey 1及び2を使用してセッションを生成する(ステップ702)。新たに生成されたセッションから別の短期キーKey Aが発生される(ステップ703)。次いで、第1装置は、通信チャンネルを横切って第2装置へKey Aを送出する(ステップ704)。この実施形態では、ステップ703及び704は、第1装置と第2装置との間で短期キー合意をセットアップし、第2装置をアンロックするために後でKey 4を送出できるようにする。短期キー(例えば、Key A)は、セッションごとに独特で、Key 4を暗号化するために一度しか使用されないので、短期キーの交換は、Key 4が通信チャンネルを横切って送られるときに捕獲され、次いで、第1装置以外の装置から、第2装置をアンロックするために第2装置へ再送されるリプレイ攻撃を防止することができる。
【0036】
短期Key Aは、次いで、第2装置へ送られて(ステップ704)、第2装置にセッションを生成する(ステップ705)。次いで、第2装置は、Key Aを使用して、別のキーKey Bを生成する(ステップ706)。
図7を参照すれば、Key Bは、第1装置へ返送される(ステップ707)。第1装置は、Key Bを使用して、Key 4を暗号化し、新たなキーKey Cを発生する(ステップ708)。暗号化されたKey 4(即ち、Key C)は、第2装置へ送られ(ステップ709)、そして第2装置をアンロックするのに使用される(ステップ710)。アンロックプロセスは、Key Cを解読してKey 4を検索しそしてKey 4を使用して第2装置をアンロックすることを含む。
【0037】
図8は、別の装置(例えば、第1装置)により遠隔アンロックされる
図6及び7の第2装置800の規範的モジュールを示すブロック図である。第2装置800は、例えば、パスワード受け取りモジュール801、キー発生モジュール802、送出モジュール803、受け取りモジュール804、キーサインモジュール805、記憶モジュール806、セッション生成モジュール807、登録モジュール808、解読モジュール809、及びアンロックモジュール810を備えている。パスワード受け取りモジュール801は、ユーザからパスワード(又は他の入力)を受け取る。キー発生モジュール802は、長期及び/又は短期キー(例えば、
図6及び7のKey 1、4及びB)を発生する。送出モジュール803は、1つ以上の暗号化又は解読されたキーを別の装置(例えば、第1装置)へ送出する。受け取りモジュール804は、1つ以上の暗号化又は解読されたキーを別の装置(例えば、第1装置)から受け取る。キーサインモジュール805は、別の装置から受け取ったキー(例えば、Key 2)にサインする。記憶モジュール806は、ローカルで発生されるか又は別の装置から受け取られたキーを記憶する。セッション生成モジュール807は、別の装置から受け取ったキー(例えば、Key 2及びKey A)を使用してセッションを生成する。登録モジュール808は、キー(例えば、Key 4)を、第2装置をアンロックするキーとして登録する。解読モジュール809は、別の装置から受け取った解読キー(例えば、Key C)を解読する。アンロックモジュール810は、キー(例えば、Key Cを解読することにより得たKey 4)を使用して第2装置をアンロックすることができる。
【0038】
図9は、別の装置(例えば、第2装置)のリモートアンロックを遂行できる
図6及び7の第1装置900の規範的モジュールを示すブロック図である。第1装置900は、例えば、送出モジュール901、受け取りモジュール902、キーサインモジュール903、記憶モジュール904、セッション生成モジュール905、キー発生モジュール906、確認モジュール907、キー削除モジュール908、及び暗号化モジュール909を備えている。送出モジュール901は、1つ以上のキー(例えば、Key 2、3、A、C)を別の装置(例えば、
図6及び7の第2装置)へ送出する。受け取りモジュール902は、別の装置(例えば、第2装置)から1つ以上のキー(例えば、Key 1、4、B)を受け取る。キーサインモジュール903は、別の装置から受け取ったキー(例えば、Key 1)にサインする。記憶モジュール904は、ローカルで発生されるか又は別の装置から受け取られた1つ以上のキーを記憶する。セッション生成モジュール905は、1つ以上のキー(例えば、Key 1及び2)を使用してセッションを生成する。キー発生モジュール906は、1つ以上の長期及び/又は短期キー(例えば、Key 2、3、A、C)を発生する。確認モジュール907は、キー(例えば、Key 4)を、別の装置をアンロックするキーとして確認する。キー削除モジュール908は、装置からキーを削除する。暗号化モジュール909は、別のキー(例えば、Key B)を使用してキー(例えば、Key 4)を暗号化し、暗号化されたキー(例えば、Key C)を発生する。
【0039】
種々の実施形態において、
図8及び9のモジュールの幾つかは任意であり、そして装置800及び900には付加的なモジュールを含ませることができる。各モジュールは、ソフトウェア、ハードウェア又はその両方で実施することができる。ある実施形態では、装置800及び900のモジュールは、ここに開示するアルゴリズムを遂行するためのソフトウェアモジュールである。ある実施形態では、装置800及び900のモジュールは、ここに開示するアルゴリズムを遂行するためのコンピュータ読み取り可能なインストラクションを記憶するメモリに結合された1つ以上のプロセッサを表す。ある実施形態では、装置800及び900のモジュールは、前記機能を遂行するためのシステム・オン・チップのようなASICのハードウェア及びソフトウェアエレメントを含む。
【0040】
ある実施形態では、装置500、800及び900のモジュールの1つ以上は、インストラクション実行システム、装置、又はデバイス、例えば、コンピュータベースのシステム、プロセッサ収容システム、或いはそのインストラクション実行システム、装置、又はデバイスからインストラクションをフェッチしてそのインストラクションを実行する他のシステムにより又はそれに関連して使用するために不揮発性コンピュータ読み取り可能な記憶媒体内に記憶され及び/又はその中でトランスポートされる。本書において、「不揮発性コンピュータ読み取り可能な記憶媒体」とは、インストラクション実行システム、装置又はデバイスにより又はそれに関連して使用するためにプログラムを収容し又は記憶できる媒体である。不揮発性コンピュータ読み取り可能な媒体は、電子、磁気、光学、電磁、赤外線又は半導体システム、装置又はデバイス、ポータブルコンピュータディスケット(磁気)、ランダムアクセスメモリ(RAM)(磁気)、リードオンリメモリ(ROM)(磁気)、消去可能なプログラマブルリードオンリメモリ(EPROM)(磁気)、ポータブル光学ディスク、例えば、CD、CD−R、CD−RW、DVD、DVD−R又はDVD−RW、或いはフラッシュメモリ、例えば、コンパクトフラッシュカード、セキュアなデジタルカード、USBメモリデバイス、メモリスティック、等を含むが、それらに限定されない。
【0041】
不揮発性のコンピュータ読み取り可能な記憶媒体は、第1装置又は第2装置として働くコンピュータシステムの一部分である。
図10は、1つのそのようなコンピューティングシステムの規範的共通コンポーネントを示す。図示されたように、システム1000は、中央処理ユニット(CPU)1002;これに限定されないが、ディスプレイ、キーパッド、タッチスクリーン、スピーカ、及びマイクロホンの1つ以上を含むI/Oコンポーネント1004;最後の段落にリストされたような記憶媒体1006;及びネットワークインターフェイス1008を備え、これらは、全て、システムバス1010を経て互いに接続される。記憶媒体1006は、
図5、8及び9のモジュールを含む。
【0042】
それ故、以上のことから、本開示の幾つかの実施例は、第1装置から第2装置をアンロックする方法において、第2装置との信頼関係を確立し;装置キーを使用して第1装置を認証し;第2装置から秘密キーを受け取り;入力/出力装置からユーザ入力を受け取り;及びユーザ入力を受け取るのに応答して前記受け取った秘密キーを第2装置へ伝送して第2装置をアンロックする;ことを含み、前記第2装置との信頼関係を確立することは、第1装置に関連したハードウェアキーから発生されるキーを使用して前記装置キーを認証することを含む方法、に向けられる。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、第1装置との信頼関係を確立する前に、前記方法は、第2装置により捕獲されるべき表示にコードを表示することにより第1装置と第2装置をペアにすることを更に含む。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記第2装置とペアにすることは、Bluetooth(R)帯域外キーで行われる。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記第2装置との信頼関係を確立することは、パブリックキーを第2装置へ送出することを含む。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記パブリックキーは、インスタンス秘密、1組のキーを識別するUUID、及びプライベート装置ハードウェアキーから発生された装置キーを含む。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記方法は、第1装置に関連したハードウェアキーから発生されるキーを使用してパブリックキーを有効なものとすることを更に含む。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、ハードウェアキーは、第2装置と共有される。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、パブリックキーは、共有当局により承認される。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記方法は、第2装置に関連した装置キーを使用して第2装置を認証することを更に含む。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、第2装置に関連した装置キーは、第2装置が以前にアンロックされたかどうか指示するように構成される。
【0043】
又、本開示の幾つかの実施例は、第1装置によりアンロックするために第2装置で実行される方法において、第1装置からパブリック装置キーを受け取り;受け取ったパブリック装置キーを第2装置に関連したプライベート装置キーでサインし;第1装置へ秘密キーを伝送し;パスコードを受け取り;パスコードからマスターキーを導出し;秘密キーでマスターキーを暗号化し;第1装置から秘密キーを受け取り;その受け取った秘密キーを使用してマスターキーを検索し;及びマスターキーを使用してアンロック動作を遂行する;ことを含む方法、に向けられる。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記方法は、第1装置に関連した装置IDを使用して第1装置を認証することを更に含む。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記方法は、パスコードを使用して第2装置をアンロックすることを更に含む。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、秘密キーは、ランダムキーを含む。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、秘密装置キーは、第2装置がパスコードで以前にアンロックされたかどうか指示するように構成される。
【0044】
本開示の幾つかの実施例は、第2装置をアンロックすることのできる第1装置の不揮発性コンピュータ読み取り可能な記憶媒体において、プロセッサにより実行されたときに、装置キーを使用して第1装置を認証し;第2装置から秘密キーを受け取り;第1装置の入力/出力装置から受け取ったユーザ入力を処理し;及び前記ユーザ入力に応答して前記受け取った秘密キーを第2装置へ送出して第2装置をアンロックする;ことを含む方法を遂行するインストラクションを記憶する記憶媒体、に向けられる。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記方法は、第2装置が第1装置のBluetooth(R)範囲内にあるかどうか検出することを更に含む。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記方法は、第1キーを第2キーでサインすることを更に含む。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記第1キーは、装置キーを含み、そして前記第2キーは、SEPグローバルキーを含む。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記方法は、SEPグローバルキー、装置キー、及び装置アンロックキーのうちの少なくとも1つを発生することを更に含む。
【0045】
本開示の幾つかの実施例は、第1装置でアンロックできる第2装置の不揮発性コンピュータ読み取り可能な記憶媒体において、プロセッサにより実行されたときに、第1装置からパブリック装置キー及び秘密キーを受け取り;第2装置に関連したプライベート装置キーで前記受け取ったパブリック装置キーをサインし;第1装置へ秘密キーを送出し;パスコードを処理し;パスコードからマスターキーを導出し;秘密キーでマスターキーを暗号化し;前記受け取った秘密キーを使用してマスターキーを検索し;及びマスターキーを使用してアンロック動作を遂行する;ことを含む方法を遂行するインストラクションを記憶する記憶媒体、に向けられる。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記方法は、第1装置に関連した装置IDを使用して第1装置を認証することを更に含む。以上に開示した1つ以上の実施例に加えて又はそれとは別に、ある実施例では、前記方法は、パスコードを使用して第2装置をアンロックすることを更に含む。
【0046】
本開示の幾つかの実施例は、第2装置をアンロックできる第1装置において、第2装置と信頼関係を確立しそして装置キーを使用して第1装置を認証するように構成された認証モジュールと;第2装置から秘密キーを受け取るように構成された受け取りモジュールと;入力/出力装置から受け取られたユーザ入力を処理するように構成されたユーザ入力処理モジュールと;ユーザ入力を受け取るのに応答して前記受け取られた秘密キーを第2装置へ送出して第2装置をアンロックするように構成された送出モジュールと;を備え、前記第2装置と信頼関係を確立することは、第1装置に関連したハードウェアキーから発生されたキーを使用して装置キーを認証することを含む、第1装置に向けられる。
【0047】
本開示の幾つかの実施形態は、第1装置によってアンロックできる第2装置において、第1装置からパブリック装置キーを受け取るように構成された受け取りモジュールと;その受け取ったパブリック装置キーに、第2装置に関連したプライベート装置キーでサインするように構成されたキーサインモジュールと;秘密キーを第1装置に送出するように構成された送出モジュールと;パスコードを処理するように構成されたユーザ入力処理モジュールと;パスコードからマスターキーを導出するように構成された導出モジュールと;マスターキーを秘密キーで暗号化するように構成された暗号化モジュールと;第1装置から秘密キーを受け取りそして受け取った秘密キーを使用してマスターキーを検索するための受け取りモジュールと;マスターキーを使用してアンロック動作を遂行するように構成されたアンロックモジュールと;を備えた第2装置に向けられる。
【0048】
添付図面を参照して実施形態を完全に説明したが、当業者であれば、種々の変更や修正が明らかであることに注意されたい。そのような変更や修正は、特許請求の範囲で規定される種々の実施形態の範囲内に包含されるものと理解されたい。