JP2013531284A - 非ローカル記憶装置からのサブシステムのセキュアなブート及び構成 - Google Patents

非ローカル記憶装置からのサブシステムのセキュアなブート及び構成 Download PDF

Info

Publication number
JP2013531284A
JP2013531284A JP2013506186A JP2013506186A JP2013531284A JP 2013531284 A JP2013531284 A JP 2013531284A JP 2013506186 A JP2013506186 A JP 2013506186A JP 2013506186 A JP2013506186 A JP 2013506186A JP 2013531284 A JP2013531284 A JP 2013531284A
Authority
JP
Japan
Prior art keywords
boot code
wireless communication
processor
rom
boot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013506186A
Other languages
English (en)
Other versions
JP5576983B2 (ja
Inventor
エーオン ムシュタバ
ハイニン ザン
アルジュナ シヴァシタムバレサン
アレックス ホー
アルン マティアス
スティーブン シェル
ジョナサン アンドリューズ
ジェイソン ゴスネル
アトレイ ダラス ビー デ
ジェリー ホーク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2013531284A publication Critical patent/JP2013531284A/ja
Application granted granted Critical
Publication of JP5576983B2 publication Critical patent/JP5576983B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Transceivers (AREA)

Abstract

1つの態様によれば、ワイヤレス通信プロセッサ(例えば、セルラープロセッサ)及びアプリケーションプロセッサ(例えば、CPUのような汎用プロセッサ)を有するマルチファンクションコンピューティング装置は、アプリケーションプロセッサに関連され又はそれに取り付けられた記憶装置を共有する。そのようなマルチファンクションコンピューティング装置は、例えば、セルラーホン及びハンドヘルドコンピュータファンクションを有するスマートホン装置である。ワイヤレス通信プロセッサ(以下、単にワイヤレスプロセッサと称される)に直接関連され又は取り付けられる特定の記憶装置はない。むしろ、ワイヤレスプロセッサは、USBリンクのような高速通信リンクを経てアプリケーションプロセッサと通信し、アプリケーションプロセッサに関連した記憶装置(例えば、フラッシュメモリ装置)に記憶されたコード及びデータにアクセスする。
【選択図】 図1

Description

本発明は、一般的に、データ処理システムの分野に関し、より特定すれば、非ローカル記憶装置からサブシステムをセキュアにブート及び構成する方法に関する。
関連出願:本出願は、2010年4月19日に出願された“Booting and Configuring a Subsystem from Non-Local Storage”と題する米国プロビジョナル特許出願第61/325,777号の利益を主張するものであり、この出願は、参考としてここにそのまま援用する。
最近、スマートホン装置のようなマルチファンクション装置が普及しつつある。典型的に、マルチファンクション装置は、異なるファンクションを果たす複数のプロセッサを備えている。例えば、スマートホン装置は、汎用プロセッサ及びワイヤレス通信プロセッサを備えている。これら各プロセッサには、典型的に、初期化コードイメージ、等を含めて、各プロセッサに関連した情報又はデータを記憶するための不揮発性メモリが関連している。しかしながら、そのような不揮発性メモリは、付加的なコストを招き、装置のサイズをより大きなものにする。
1つの態様によれば、ワイヤレス通信プロセッサ(例えば、セルラープロセッサ)及びアプリケーションプロセッサ(例えば、CPUのような汎用プロセッサ)を有するマルチファンクションコンピューティング装置は、アプリケーションプロセッサに関連され又はそれに取り付けられた記憶装置を共有する。そのようなマルチファンクションコンピューティング装置は、例えば、セルラーホン及びハンドヘルドコンピュータファンクションを有するスマートホン装置である。ワイヤレス通信プロセッサ(以下、単にワイヤレスプロセッサと称される)に直接関連され又は取り付けられる特定の記憶装置はない。むしろ、ワイヤレスプロセッサは、ユニバーサルシリアルバス高速チップ間(USB−HSIC)リンクのような高速通信リンクを経てアプリケーションプロセッサと通信し、アプリケーションプロセッサに関連した記憶装置(例えば、フラッシュメモリ装置)に記憶されたコード及びデータにアクセスする。
別の態様によれば、ブートコマンドに応答して、ワイヤレス通信プロセッサのセキュアなROMからリードオンリメモリ(ROM)ブートローダが実行され、このROMブートローダは、ポータブル装置のワイヤレス通信プロセッサに関連したハードウェアを初期化する。又、ROMブートローダは、ワイヤレス通信プロセッサをアプリケーションプロセッサに結合する内部バスを経てポータブル装置のアプリケーションプロセッサとの通信リンクを確立する。ROMブートローダは、不揮発性記憶装置から通信リンクを経てブートコードをフェッチし、その不揮発性記憶装置は、アプリケーションプロセッサに関連していて、アプリケーションプロセッサにより、アプリケーションプロセッサに関連した第1のランダムアクセスメモリ(RAM)内で実行される第1のオペレーティングシステム(OS)を経てアクセスされる。ROMブートローダは、ブートコードイメージを認証し、そしてブートコードイメージを首尾良く認証したときに、ROMブートローダは、ワイヤレス通信プロセッサに関連した第2のRAMへブートコードイメージを起動し、ワイヤレス通信プロセッサに対する第2のOSを確立する。その結果、内部バスを経、通信リンクを経て、アプリケーションプロセッサに関連した不揮発性記憶装置にアクセスすることにより、ワイヤレス通信プロセッサは、個別の不揮発性記憶装置を維持する必要がなくなる。
更に別の態様によれば、ポータブル装置のソフトウェアコンポーネントを更新するコマンドに応答して、セッションキーが発生される。そのセッションキーは、ポータブル装置を独特に識別する独特な識別子(UID)から導出される記憶キーを使用して暗号化される。記憶キーによって暗号化されたセッションキーが埋め込まれた回復ブロブが発生される。更に、セッションキーは、パブリック/プライベートキー対のパブリックキーも使用して暗号化される。その後、パブリックキーにより暗号化されたセッションキー及び回復ブロブは、許可サーバーへ送られ、この許可サーバーは、パブリック/プライベートキー対のプライベートキーを使用してセッションキーを解読することによりセッションキーを回復するように構成(configure)される。その後、プロビジョニングサーバーからダウンロードされるソフトウェアコンポーネント及び回復ブロブに応答して、記憶キーを使用して回復ブロブを解読することにより回復ブロブからセッションキーが回復され、ここで、許可サーバーからプロビジョニングサーバーにより受け取られたセッションキーによってソフトウェアコンポーネントが暗号化される。その後、回復ブロブ回復されたセッションを使用して、暗号化されたソフトウェアコンポーネントを解読することにより、ソフトウェアコンポーネントが回復され、ソフトウェアコンポーネントは、ポータブル装置にインストールされる。
本発明の他の特徴は、添付図面及びそれを参照した以下の詳細な説明から明らかとなろう。
本発明の実施形態は、同様の要素が同じ参照番号で示された添付図面に一例として示されるが、これに限定されるものではない。
本発明の一実施形態によるマルチファンクションコンピューティング装置を示すブロック図である。 一実施形態によるワイヤレスプロセッサの記憶イメージを示すブロック図である。 本発明の一実施形態によりワイヤレス通信プロセッサをブートする方法を示すフローチャートである。 本発明の別の実施形態によるマルチファンクションコンピューティング装置を示すブロック図である。 本発明の一実施形態によりRFキャリブレーションデータを発生する方法を示すフローチャートである。 本発明の一実施形態によりRFキャリブレーションデータを更新する方法を示すフローチャートである。 本発明の一実施形態によりコンピューティング装置をプロビジョニングするシステム構成を例示する図である。 本発明の一実施形態によりプロビジョニングデータを更新する方法を例示するフローチャートである。 本発明の一実施形態に使用されるデータ処理システムの一例を示す。
本発明の種々の実施形態及び態様は、種々の実施形態を例示する添付図面を参照して以下に詳細に述べる。以下の説明及び添付図面は、本発明を例示するもので、限定するためのものではない。本発明の種々の実施形態を完全に理解するために多数の特定の細部について述べる。しかしながら、ある場合には、本発明の実施形態を簡略に説明するために、良く知られた又は従来の細部は説明しない。
本明細書において、「1つの実施形態」又は「一実施形態」を言及するときには、その実施形態に関連して説明される特定の特徴、構造又は特性が本発明の少なくとも1つの実施形態に含まれることを意味する。本明細書において種々の場所に現れる「一実施形態において」という句は、必ずしも全部が同じ実施形態を指すものではない
ある実施形態によれば、ワイヤレス通信プロセッサ(例えば、セルラープロセッサ)及びアプリケーションプロセッサ(例えば、中央処理ユニット又はCPUのような汎用プロセッサ)を有するマルチファンクションコンピューティング装置は、アプリケーションプロセッサに関連され又はそれに取り付けられた記憶装置(例えば、不揮発性記憶装置)を共有する。そのようなマルチファンクションコンピューティング装置は、例えば、セルラーホン及びハンドヘルドコンピュータファンクションを有するスマートホン装置である。ワイヤレス通信プロセッサ(以下、単にワイヤレスプロセッサと称される)に直接関連され又は取り付けられる特定の記憶装置はない。むしろ、ワイヤレスプロセッサは、ユニバーサルシリアルバス高速チップ間(USB−HSIC)リンクのような高速通信リンクを経てアプリケーションプロセッサと通信し、アプリケーションプロセッサに関連した記憶装置(例えば、フラッシュメモリ装置)に記憶された実行可能なコード及びデータにアクセスする。
一実施形態において、ワイヤレスプロセッサがブートアップするとき、ワイヤレスプロセッサは、アプリケーションプロセッサの記憶装置から通信リンクを経てワイヤレスコードイメージ(例えば、実行可能なコードイメージ)をセキュアにフェッチし、ブートコードを認証し、そしてワイヤレスプロセッサに関連したランダムアクセスメモリ(RAM)におけるブートコードを実行して、ワイヤレスプロセッサに対する動作環境を確立する。ワイヤレスコードイメージは、複数のセグメントを含み、各セグメントは、一連の証明書によってサインされる。ルート証明書は、ワイヤレス通信プロセッサのセキュアなリードオンリメモリ(ROM)に記憶され、これは、共有記憶装置から検索された第1の全コードセグメントを認証するのに使用される。
コードイメージのセグメントは、セグメントのシーケンスとして構成される。コードシーケンスの現在セグメントは、一連の証明書を使用してコードシーケンスの次のセグメントを認証する。例えば、コードのセグメントは、低レベルブートコード、中間レベルブートコード、及び高レベルブートコードを含む。低レベルブートコードは、ルート証明書により最初に認証される。低レベルブートコードが認証又は検証されると、低レベルブートコードが起動又は実行される。低レベルブートが実行されると、低レベルブートコードは、中間レベルブートコードを(フェッチしそして)認証し、これは、次いで、低レベルブートコードにより首尾良く認証されロードされると、高レベルブートコードを(フェッチしそして)認証し、等々となる。首尾良く認証及び実行できないソフトウェアコンポーネントのセグメントがある場合には、装置が強制的に回復モード(例えば、装置ファームウェア更新又はDFUモード)に入れられ、ソフトウェアの新たなバージョンが信頼性のあるサーバーからネットワークを経てダウンロードされる。
更に、ワイヤレス通信プロセッサを独特に識別する独特な識別子(UID)から導出されたキーによりコードイメージ及び/又はデータが暗号化される。即ち、コードイメージ及び/又はデータは、UIDから導出されたキーを使用してこれを暗号化することにより個人化される。又、UIDは、ワイヤレス通信プロセッサのセキュアなROMに記憶される。或いは又、UIDは、ワイヤレス通信プロセッサに関連したハードウェアに(例えば、バーント(burnt)ヒューズを経て)固定配線されてもよい。その結果、各ソフトウェアコンポーネントは、それらソフトウェアコンポーネントが妥協されないことを保証するために実行される前に認証及び検証される。
通常の動作中に、ワイヤレスプロセッサがデータを読み取り又は記憶する必要があるときには、ワイヤレスプロセッサに関連した直接的な記憶装置がないので、ワイヤレスプロセッサは、リモートファイルシステムと同様であるが、装置レベルで、ネットワークを経るのではなく、マルチファンクションコンピューティング装置内の通信リンクを経て、アプリケーションプロセッサの記憶装置にアクセスする。その結果、ワイヤレスプロセッサに特に関連した又はそれに取り付けられた従来の記憶装置を除去することができる。又、装置のコスト及び/又は物理的サイズを減少することができる。
更に、一実施形態によれば、ワイヤレスプロセッサに関連した特定のデータ、例えば、ワイヤレスネットワークID(例えば、国際装置アイデンティティ(IMEI)又は移動装置識別子(MEID))、及び高周波(RF)キャリブレーションデータも、アプリケーションの記憶装置に記憶される。その結果、RFキャリブレーションデータは、装置が製造者から発売された後、同じデータの更新のために装置を製造者へ返送する必要なく、容易に更新することができる。装置の構成及び動作は、より柔軟性のあるものとなる。
図1は、本発明の一実施形態によるマルチファンクションコンピューティング装置を示すブロック図である。例えば、装置100は、カリフォルニア州クパチーノのアップル社から入手できるiPhoneTMのようなスマートホンを表わす。或いは又、装置100は、アップル社から入手できるiPadTMのようなタブレットPCを表わす。図1を参照すれば、一実施形態において、装置100は、ワイヤレス通信プロセッサ101及びアプリケーションプロセッサ102を備え、これらは、内部バス120を経て互いに通信結合されている。ワイヤレスプロセッサ101は、例えば、セルラープロセッサ、Wi−Fiプロセッサ、Bluetooth(登録商標)プロセッサ、等の任意の種類のワイヤレスプロセッサである。アプリケーションプロセッサ102は、任意の種類の汎用プロセッサである。
更に、装置100は、ワイヤレスプロセッサ101に関連したランダムアクセスメモリ(RAM)103、及びアプリケーションプロセッサ102に関連したRAM104も備えている。RAM103は、ブートコード、オペレーティングシステム(OS)、他のランタイムアプリケーション及び/又はデータ、等を含めて、ワイヤレスプロセッサ101に関連したソフトウェアコンポーネントを実行するために、ワイヤレスプロセッサ101により使用される。同様に、RAM104は、アプリケーションプロセッサ102のOS115及びファイルシステム(FS)116、並びに他のアプリケーション及び/又はデータを含めて、アプリケーションプロセッサ102に関連したソフトウェアコンポーネントを実行するために、アプリケーションプロセッサ102により使用される。
更に、装置100は、アプリケーションプロセッサ102に関連され又はそれに取り付けられた不揮発性記憶装置105も備えている。例えば、記憶装置105は、NOR又はNANDフラッシュメモリ装置のようなフラッシュメモリ装置である。或いは又、記憶装置105は、ハードディスクのような大量記憶装置である。一実施形態において、従来のマルチファンクション装置とは異なり、ワイヤレスプロセッサ101には、専用の不揮発性記憶装置が関連していない。他の実施形態では、ワイヤレスプロセッサには、例えば、セキュアなブートプロセスをブートストラップするために、セキュアなROM112のような非常に少ない量の不揮発性記憶装置が関連している。しかしながら、そのような実施形態では、少ない量の不揮発性記憶装置は、ブートイメージ又は他のソフトウェア又はデータ、例えば、ワイヤレスプロセッサの構成/キャリブレーションプログラム及びデータを記憶するに充分な容量を有していない。むしろ、ワイヤレスプロセッサ101に関連したコード又はデータが記憶装置105に記憶される。1つの実施形態では、ワイヤレスプロセッサ101は、内部バス120を経、通信リンクを経て、記憶装置105におけるワイヤレスプロセッサ101に関連したコンテンツにアクセスすることができる。1つの実施形態において、内部バス120は、USB−HSIC適合バスであり、ワイヤレスプロセッサ101は、例えば、ストリーミング非フレーミング通信プロトコルのような高速通信プロトコルを使用して、記憶装置105に記憶された関連コンテンツにアクセスすることができる。或いは又、内部バス120は、USB高速(USB−HS)、USB全速(USB−FS)及びユニバーサル非同期受信器/送信器シリアル周辺インターフェイス(UART SPI)適合バスの1つである。
一実施形態において、必要ではないが、記憶装置105は、ワイヤレスプロセッサ101及びアプリケーションプロセッサ102のための個別のパーティションを含んでもよい。この例において、パーティション106は、ワイヤレスプロセッサ101に関連したコードイメージ108及びデータ110を記憶するように構成される。又、パーティション107は、アプリケーションプロセッサ102に関連したコードイメージ109及びデータ111を記憶するように構成される。その結果、ワイヤレスプロセッサに関連した専用の不揮発性記憶装置を除去することができる。むしろ、ワイヤレスプロセッサ101は、内部バス120を経、アプリケーションプロセッサ102及び/又はその関連OS115及びファイルシステム(FS)116を経てその関連パーティション106にアクセスすることができる。この実施形態では、ワイヤレスプロセッサ101は、記憶装置105に直接アクセスすることができない。むしろ、ワイヤレスプロセッサ101は、内部バス120を経、通信リンクを経てワイヤレスプロセッサ101、OS115及び/又はFS116を通過しなければならない。
ワイヤレスプロセッサ101に関連した記憶パーティション106の一例が図2に示されている。図2を参照すれば、パーティション106は、ワイヤレスプロセッサのコードイメージ201、ファイルシステムのファイル205の1つ以上のコピー、及びログデータ206のような他のランタイムデータを記憶するのに使用できる。ワイヤレスコードイメージ201は、図1のリードオンリメモリブートローダ(ROM BL)117により認証及びロードされる。更に、パーティション106は、例えば、ワイヤレスプロセッサに関連したワイヤレスネットワークID(例えば、IMEI又はMEID)、及びRFキャリブレーションデータ212、等の任意のワイヤレスクリティカルデータを記憶するためにセキュアなエリア又は保護エリア210も含む。ワイヤレスネットワークID211及びRFキャリブレーションデータ212は、データ201ないし206の幾つか又は全部が消去される回復プロセス中でも保護エリア210に保持される。
図1を参照すれば、一実施形態により、ワイヤレスプロセッサ101は、ROM BL117、証明書118、及び任意のパブリックキー119が記憶されたセキュアなリードオンリメモリ(ROM)112を備えている。ワイヤレスプロセッサ101は、更に、内部又はオンチップRAM113及び記憶キー114も備えている。記憶キー114は、ワイヤレスプロセッサ101を独特に識別する独特のID(UID)に基づき発生される。記憶キー114及び/又はUID(図示せず)は、ワイヤレスプロセッサ101の製造中にハードウェア(例えば、バーントヒューズ)において固定配線される。記憶キー114は、ワイヤレスプロセッサ101により発生されるコンテンツ、例えばランタイムデータ(例えば、ログデータ、ワイヤレスプロセッサ101で受け取られるメッセージ、等)を暗号化するのに使用される。証明書118は、適切な証明書によりサインされたあるデータを検査又は承認するために使用される。例えば、証明書118は、一連の証明書(例えば、一連のX.509適合証明書)のうちのルート証明書である。パブリックキー119は、所定のパブリック/プライベートキー対のパブリックキーであり、それに対応するプライベートキーは、ワイヤレスプロセッサ101にデータを与える適切な当局又はプロビジョニングエンティティにより維持される。
一実施形態によれば、図1及び2を参照すると、ワイヤレスプロセッサ101がブートのためのコマンドを受け取ると、ROM BL117は、セキュアなROM112から実行される。ROM BL117は、内部RAM113、及び内部バス120にわたる通信リンク又はチャンネルを含めて、ワイヤレスプロセッサ101のあるハードウェアコンポーネントを初期化するように構成される。内部RAM113及び通信リンクが初期化されると、ROM BL117は、記憶装置105のパーティション106から通信リンクを経てワイヤレスプロセッサコードイメージ201をフェッチする。ワイヤレスプロセッサのコードイメージは、内部RAM113及び/又は外部RAM103へロードされる。
本出願全体にわたり、ワイヤレス通信プロセッサ101は、一般的に、1つ以上の実際のプロセッサ、プロセッサコア、実行ユニット又はファンクションユニットを含むチップセット、集積回路(IC)、又は特定用途向けIC(ASIC)と称されることに注意されたい。ここに述べるチップセット又はICは、ある実施形態によれば、セキュアなROM112、内部RAM113、及び/又は他のコンポーネント、例えば、記憶キー114等を含む。
更に、ROM BL117は、ワイヤレスプロセッサのコードイメージ201を認証するように構成される。一実施形態において、ワイヤレスプロセッサのコードイメージ201は、証明書によりサインされる。ROM BL117は、証明書118を使用してワイヤレスプロセッサのコードイメージ201を認証するように構成される。ワイヤレスプロセッサのコードイメージ201を首尾良く認証できない場合には、少なくともワイヤレスプロセッサ101が強制的にDFUモードに入れられ、新たなデータがプロビジョニングされて、信頼性のあるサーバーからダウンロードされる。ワイヤレスプロセッサのコードイメージ201が首尾良く認証されると、ワイヤレスプロセッサのコードイメージ201は、RAM113及び/又はRAM103内のROM BL117により起動され、ワイヤレスプロセッサ101に対する動作環境(例えば、OS及び/又はファイルシステム)を確立する。
ワイヤレスコードイメージ201は、複数のセグメントを含み、そして各セグメントは、一連の証明書のうちの1つにより署名される。証明書118は、共有記憶装置から検索された第1の全コードセグメントを認証するのに使用される。一実施形態において、コードイメージのセグメントは、セグメントのシーケンスとして構成される。コードシーケンスの現在セグメントは、一連の証明書を使用してコードシーケンスの次のセグメントを認証する。例えば、コードのセグメントは、低レベルブートコード、中間レベルブートコード、及び高レベルブートコードを含む。低レベルブートコードは、ルート証明書により最初に認証される。低レベルブートコードが認証又は検証されると、低レベルブートコードが起動又は実行される。低レベルブートが実行されると、低レベルブートコードは、中間レベルブートコードを(フェッチしそして)認証し、これは、次いで、低レベルブートコードにより首尾良く認証されロードされると、高レベルブートコードを(フェッチしそして)認証し、等々となる。首尾良く認証及び実行できないソフトウェアコンポーネントのセグメントがある場合には、装置が強制的に回復モードに入れられ、ソフトウェアの新たなバージョンが信頼性のあるサーバーからダウンロードされる。
一実施形態では、内部RAM113は、記憶サイズが、外部RAM103の記憶サイズより小さい。1つの特定の実施形態では、初期化中に、ROMブートローダ117が、記憶装置105から第1のコードセグメント(例えば、第1の全コードセグメント)をフェッチし、その第1のコードセグメントを(例えば、証明書118を使用して)認証し、そして内部RAM113内の第1のコードセグメントを起動する。第1のコードセグメントは、内部RAM113から首尾良く認証されそして実行されると、第2のコードセグメント(例えば、コードセグメントのシーケンスにおける次のコードセグメント)をフェッチし、第2のコードセグメントを(例えば、証明書118に関連した一連の証明書を使用して)認証し、そして外部RAM103における第2のコードセグメントを起動する。
更に、一実施形態によれば、コードイメージ及び/又はデータは、ワイヤレス通信プロセッサを独特に識別するUIDから導出されるキーによって暗号化される。即ち、コードイメージ及び/又はデータは、UIDから導出されるキーを使用してそれを暗号化することにより個人化される。その結果、装置にインストールすることが許されるのは、装置に対し特別に指定され又はプロビジョニングされるソフトウェアコンポーネントだけである。UIDは、ワイヤレス通信プロセッサのセキュアなROMにも記憶される。或いは又、UIDは、ワイヤレス通信プロセッサに関連したハードウェアに(例えば、バーントヒューズを経て)固定配線されてもよい。その結果、各ソフトウェアコンポーネントは、それらソフトウェアコンポーネントが妥協されないことを保証するために実行される前に認証及び検証される。
プロセッサの動作環境を確立するためのソフトウェアコンポーネントの認証及びブートに関する更に詳細な情報は、2007年1月7日に出願された“Secure Booting A Computing Device”と題する同時係争中の米国特許出願第11/620,689号に見ることができ、この出願は、参考としてここにそのまま援用される。
更に、コードイメージ及び/又はデータの幾つかは、所定のフォーマットに基づいてパッケージされ、そして共通のセキュリティモデルを経て認証することができる。例えば、コードイメージ及び/又はデータの幾つかは、Image3フォーマットと同様にパッケージされる。このような具現化において、システムにインストールされ及びロードされるべきソフトウェアコンポーネントの各々は、所定のフォーマットを有するオブジェクトとして具現化され又はパッケージされ、単一のセキュリティ処理エンジン(例えば、コードビルダー及び/又はコードローダー)を使用して、各オブジェクトを、各オブジェクト内に埋め込まれた実行可能なコードを実行する前に、各ソフトウェアコンポーネントが信頼でき且つシステムのある制限又は基準に適合するかどうか決定するためのメカニズムとして構築し及び検証できるようにする。各オブジェクトの少なくとも一部分、例えば、オブジェクトのペイロードは、ターゲットとする装置しかオブジェクトを解読できないように装置のUIDから導出されたキーにより暗号化される(例えば、リックされ又は個人化される)。
Image3フォーマット及び/又は共通セキュリティモデルに関する更に詳細な情報は、2008年4月15日に出願された“Single Security Model in Booting a Computing Device”と題する同時係争中の米国特許出願第12/103,685号に見ることができ、この出願は、参考としてここにそのまま援用される。
図3は、本発明の一実施形態によりワイヤレス通信プロセッサをブートする方法を示すフローチャートである。例えば、この方法300は、図1のシステム100により遂行される。図3を参照すれば、ブートコマンドに応答して、ブロック301において、ワイヤレスプロセッサのセキュアなROMからROM BLが実行される。ブロック302において、ROM BLは、内部RAM及び外部RAMを含めて、ワイヤレスプロセッサのあるハードウェアを初期化する。ブロック303において、ROM BLは、アプリケーションプロセッサとの通信チャンネル(例えば、USB−HSIC、USB−HS、USB−FS又はUART SPI)を確立する。一実施形態において、ワイヤレスプロセッサがブートアップするときに、アプリケーションプロセッサは、既にブートアップして動作中であると仮定する。ブロック304において、ROM BLは、内部バスを経、通信リンクを経てアプリケーションプロセッサに関連した記憶装置からワイヤレスプロセッサコードイメージをフェッチし、認証し、そして起動して、ワイヤレスプロセッサに対する動作環境を確立する。一実施形態では、ワイヤレスプロセッサのコードイメージは、コードセグメントのシーケンスへと構成され又はパーティション化される。コードセグメントの各々は、あるシーケンスでフェッチされ、認証され、そしてロードされる。そのシーケンスにおける手前のコードセグメントは、そのシーケンスの次のコードセグメントをフェッチし、認証し、そして起動する。いずれかのセグメントが認証又は実行に失敗した場合には、少なくともワイヤレスプロセッサが強制的にDFUモードに入れられる。
図4は、本発明の別の実施形態によるマルチファンクションコンピューティング装置を示すブロック図である。この例では、装置400は、上述した技術の少なくとも幾つかを使用して首尾良くブートされた図1の装置100を表わす。図4を参照すれば、ワイヤレスプロセッサ101が首尾良くブートアップすると、オペレーティングシステム151がアップされて実行中となり、このOS151は、上述した技術を使用して認証されそしてインストールされた少なくともワイヤレスプロセッサコードイメージに基づいて確立される。更に、暗号ユニット152は、記憶キー114を使用して記憶装置105の記憶区分106に記憶されるランタイムデータを暗号化するように構成される。ランタイム発生データは、ワイヤレスネットワークを経てワイヤレスプロセッサにより受け取られたオーバー・ジ・エアプロビジョニングデータ、及び/又はユーザ特有の又は機密のデータ(例えば、e−メール又はSMSメッセージのようなメッセージ、ロギング、及び/又はファイルシステム関連ファイル)、等を含む。
ワイヤレスプロセッサ101に関連したローカル又は専用の不揮発性メモリ装置はないから、ファイルシステム(FS)ドライバ153は、ファイルシステムプロキシードライバ又はデーモンとして利用される。一実施形態では、プロセッサ101及び/又はOS151から発生されて記憶装置105へ書き込まれるべきデータに対して、暗号ユニット152は、記憶キー114を使用してデータを暗号化し、そしてその暗号化されたデータをFSドライバ153へ通すように構成される。FSドライバ153は、次いで、その暗号化されたデータを、通信リンク(例えば、USB−HSIC)を経てアプリケーションプロセッサ側に位置するFSドライバ154へ送信する。FSドライバ154は、記憶装置105の対応区分106にその暗号化されたデータを記憶するためにファイルシステム116のサービスを呼び出す。
同様に、プロセッサ101及び/又はOS151が記憶装置105からデータを検索する必要があるときには、プロセッサ101及び/又はOS151は、FSドライバ153へ読み取りコマンドを送信する。FSドライバ153は、記憶装置105からFS116を経て関連データ(例えば、暗号データ)を検索するためにFS154へ読み取りコマンドを中継する。FSドライバ153により暗号データが受け取られると、暗号ユニット152は、記憶キー114を使用して暗号データを解読し、その解読されたデータをプロセッサ101及び/又はOS151へ通すように構成される。従って、FSドライバ153は、リモートファイルシステムの場合と同様のプロキシー又はエージェントとして働く。或いは又、FSドライバ153は、OS151に対するバーチャルファイルシステムとして働き、OS151は、コンテンツが実際にはアプリケーションプロセッサ102の記憶装置105に記憶されていることを知らない。
ある状況では、重要な又は繊細なデータしか暗号化されないことに注意されたい。ログデータのような他のデータは、暗号化されない。このように、共有記憶装置にアクセスする効率を改善することができる。又、ワイヤレスプロセッサ101及びアプリケーションプロセッサ102に対して個別のパーティションを維持する必要がないことにも注意されたい。アプリケーションプロセッサ102によってアクセスできないセキュアな仕方で、ある重要な又は機密のデータが維持される限り、単一のパーティションが具現化されてもよい。
上述したように、従来の装置では、RFキャリブレーションデータは、製造者により発生され、そしてワイヤレスプロセッサのローカル記憶装置に維持される。更に、RFキャリブレーションデータを更新するために、従来、装置を製造者へ返送し、製造者が新たなRFキャリブレーションデータを関連不揮発性記憶装置に記憶しなければならない。一実施形態では、ワイヤレスプロセッサに関連したローカル不揮発性記憶装置がないので、RFキャリブレーションデータは、アプリケーションプロセッサ102の記憶装置105に記憶される。装置がクラッシュされた場合でもRFキャリブレーションデータを維持しなければならないので、RFキャリブレーションデータは、図2に示すように、記憶装置の保護エリア又はセキュアなエリアに記憶される。
一実施形態において、RFキャリブレーションデータは、クラウドネットワークのサーバー(例えば、許可された配布型サーバー又はプロビジョニングサーバー)にも記憶され、そして装置を製造者へ返送するのではなく、クラウドネットワークから新たなRFキャリブレーションデータをダウンロードしてアプリケーションプロセッサ102に関連した記憶装置105に記憶することによりRFキャリブレーションデータが更新される。RFキャリブレーションデータは、ワイヤレスプロセッサ101のUID又は記憶キー114を使用してRFキャリブレーションデータを暗号化することにより特にプロビジョニングされ且つワイヤレスプロセッサ101に関連され、ワイヤレスプロセッサ101だけがその暗号化されたRFキャリブレーションデータを解読してRFキャリブレーションデータを回復できるようにする。その結果、RFキャリブレーションデータは、装置が製造者を去った後に現場で容易に更新することができ、これは、装置を製造者へ返送してRFキャリブレーションデータを更新することを要求する従来の構成より融通性がある。
図5は、本発明の一実施形態によりRFキャリブレーションデータを発生する方法を示すフローチャートである。例えば、この方法500は、キャリブレーションステーションにおいて遂行される。図5を参照すれば、ブロック501において、キャリブレーションステーションで特定のワイヤレスプロセッサに対してRFキャリブレーションデータが発生される。ブロック502において、ワイヤレスプロセッサを独特に識別するUIDがRFキャリブレーションデータに関連される。例えば、RFキャリブレーションデータは、ワイヤレスプロセッサのUIDに基づいて発生されたキーにより暗号化される。暗号化されたRFキャリブレーションデータは、製造者又はキャリブレーションステーションにより一時的に保持される。その後、ブロック503において、ワイヤレスプロセッサがアプリケーションプロセッサに結合されたときにアプリケーションプロセッサの記憶装置へRFキャリブレーションデータがプッシュダウンされる。ある状況では、ワイヤレスプロセッサ及びアプリケーションプロセッサが異なる売主により異なる時期に製造されることに注意されたい。ワイヤレスプロセッサに関連したローカル記憶装置はないので、RFキャリブレーションデータは、アプリケーションプロセッサ及びそれに関連した記憶装置が入手できる(例えば、一体化される)まで製造者によって保持される必要がある。任意であるが、ブロック504において、暗号化されたRFキャリブレーションデータは、(例えば、RFキャリブレーションデータのローカルコピーが破損するか又は古くなった場合に)後でダウンロードするためにクラウドネットワークにプッシュアップされてもよい。
図6は、本発明の一実施形態によりRFキャリブレーションデータを更新する方法を示すフローチャートである。例えば、方法600は、装置が製造者から発売された後に現場で新たなRFキャリブレーションデータを更新するためにワイヤレスプロセッサにより遂行される。ブロック601において、キャリブレーションステーション又はクラウドネットワークからRFキャリブレーションデータがダウンロードされ、ワイヤレスプロセッサのUIDから導出されたキーによりRFキャリブレーションデータが暗号化される。ブロック602において、アプリケーションプロセッサの記憶装置にRFキャリブレーションデータが記憶される。キャリブレーションコマンドに応答して、ブロック603において、記憶装置から通信リンクを経てRFキャリブレーションデータが検索される。ブロック604において、ワイヤレスプロセッサは、ワイヤレスプロセッサのUIDから導出されたローカル維持キー(例えば、図1の記憶キー114)を使用してRFキャリブレーションデータを解読することにより、RFキャリブレーションデータを認証する。首尾良く認証及び/又は解読されると、ブロック605において、ワイヤレスプロセッサは、RFキャリブレーションデータを使用してキャリブレーションされる。
プロビジョニングデータ又はRFキャリブレーションデータのような新たなデータがリモートファシリティ(例えば、配布又はプロビジョニングサーバー)からダウンロードされると、新たなデータのセキュリティを維持するために、適切な受信者(例えば、適切なワイヤレスプロセッサ)しかデータを解読できないプロビジョニングファシリティによりデータを暗号化しなければならない。即ち、データを暗号化するのに使用されるキーは、意図された受信者及びプロビジョニングファシリティしか知らず、さもなければ、データが妥協されることがある。
図7は、本発明の一実施形態により、ワイヤレスプロセッサにインストールされるべくリモートファシリティからネットワークを経てデータをセキュアにダウンロードするためのシステム構成体を例示する図である。図7を参照すれば、システム構成700は、コンピューティング装置701、許可サーバー702、及び1つ以上の分散サーバー703を備え、これらは、ローカルエリアネットワーク又はワイドエリアネットワーク(例えば、インターネット)であるネットワーク704を経て互いに通信結合される。コンピューティング装置701は、図1のコンピューティング装置100を表わす。許可サーバー702は、コンピューティング装置701を設計又は製造する当局に関連付けられる。配布サーバー703は、コンピューティング装置701によりインストール又は使用されるべきプロビジョニングデータ又はRFキャリブレーションデータのようなデータ707を配布することが許可されたネットワーク704(例えば、クラウドネットワーク)内のいずれかのサーバーである。
一実施形態によれば、コンピューティング装置701がサーバー703のような配布サーバーの1つからデータをダウンロードする必要がある場合に、コンピューティング装置701は、一時的又はランダムセッションキー705を発生する。このセッションキー705は、パブリックキー119、即ちパブリック/プライベートキー対のパブリックコンポーネントによって暗号化され、このキー対のプライベートコンポーネントは、許可サーバー702によりプライベートキー706として維持される。パブリックキー119は、例えば、装置の製造中に、デジタル証明書の形態で事前に配布される。更に、記憶キー114又はコンピューティング装置701のUIDから導出されたキーを使用してセッションキー705を暗号化することにより回復ブロブ(blob)が発生される。その後、暗号化されたセッションキー及び回復ブロブは、コンピューティング装置701から経路(1)を経て許可サーバー702へ送られる。許可サーバー702は、コンピューティング装置701を認証し、そしてプライベートキー706を使用してセッションキーを解読することによりセッションキーを回復する。セッションキー及び回復ブロブは、許可サーバー702から、経路(2)を経て、例えば、セキュアな接続を経て、配布サーバー703の1つへ送られる。次いで、配布サーバー703は、許可サーバー702から受け取られたセッションキーを使用してデータ707を暗号化する。その後、暗号化されたデータ707及び回復ブロブは、配布サーバー703からコンピューティング装置701へ送られる。
コンピューティング装置701は、記憶キー114を使用して回復ブロブを解読することによりセッションキーを回復することができる。次いで、セッションキーは、暗号化されたデータ707を、インストール又はキャリブレーション、等のために解読するのに使用される。即ち、コンピューティング装置701が、暗号化されたデータ707の意図された受信者である場合に、コンピューティング装置701は、記憶キー114を使用して回復ブロブを解読することによりセッションキーを回復できねばならない。というのは、回復ブロブは、真の所有者、この例では、コンピューティング装置701によって最初に発生されたからである。回復ブロブを発生していない他の装置は、回復ブロブを解読するための適切な記憶キーを所有していないので、セッションキーを回復することができない。その結果、サーバー703により配布されたデータ707は、セキュアにダウンロードされて、コンピューティング装置701にインストールされる。プライベートキー706も配布サーバー703へ配布されて維持されることに注意されたい。又、許可サーバー702及び配布サーバー703は、同じサーバーでもよいことに注意されたい。
更に、一実施形態によれば、データ707は、セキュアなインストールのためのチケットベースの許可プロセスを使用してパッケージされ、配布される。この実施形態では、データ707は、特に、「チケット(ticket)」を経てパッケージされそして個人化される。チケットとは、ソフトウェアコンポーネントごとにハッシュ及び/又はバージョン識別子のようなセキュリティ手段の集合を表わす。又、チケットは、許可サーバー702のような中央当局により発生され、配布される。チケットは、ハッカーがインストールのためのソフトウェアコンポーネントの異なるバージョンを混合し一致させる機会を減少することができる。チケットベースの許可プロセスに関する更に詳細な情報は、2008年12月5日に出願された“Ticket Authorized Secure Installation and boot”と題する同時係争中の米国特許出願第12/329,377号に見ることができ、この出願は、参考としてここにそのまま援用される。
図8は、本発明の一実施形態によりプロビジョニングデータを更新する方法を例示するフローチャートである。この方法800は、特に、データの新たなセットをダウンロードする試みにおいてDFUモード中に、ワイヤレスプロセッサ101のようなワイヤレスプロセッサにより遂行される。図8を参照すれば、リモートサーバーからの新たなデータを更新する必要があるとき、ブロック801において、セッションキーが発生される。セッションキーは、ワイヤレスプロセッサのUIDから導出されたキー(例えば、図1の記憶キー114)によって暗号化されて、回復ブロブを発生する。ブロック802において、セッションキーは、パブリックキー及びプライベートキーを有する非対称的キー対のパブリックキー(例えば、図1のパブリックキー119)によっても暗号化される。回復ブロブ、及びパブリックキーで暗号化されたセッションの両方が、信頼性のある許可サーバー(例えば、apple.com)へ送られる。
この実施形態では、装置の製造中にパブリックキーが発生され、キー対のプライベートキーは、信頼性のある許可ファシリティ(例えば、許可サーバー)によって保持されると仮定する。信頼性のある許可ファシリティは、それに対応するプライベートキーを使用してその暗号化されたセッションキーを解読することによってセッションキーを回復する。信頼性のある許可ファシリティは、次いで、回復ブロブ及びセッションキーの両方をクラウドネットワークにおける1つ以上の配布ファシリティへ送る。
その後、ブロック803において、セッションキーにより暗号化されて配布ファシリティにより配布されたデータ、及び回復ブロブは、ワイヤレスプロセッサによって受け取られる。この状況において、適切な又は意図された受信者だけが、回復ブロブを解読するに必要なキー(例えば、記憶キー)を持っている。ブロック804において、ワイヤレスプロセッサは、装置のUIDから導出されたキーを使用して回復ブロブを解読することによりセッションキーを回復する。ブロック805において、セッションキーを使用して、配布ファシリティから送られた配布データを解読する。即ち、配布ファシリティ及び装置の両方だけが、更なる機密を交換するのに使用できる適切なセッションキーを有する。
図9は、本発明の一実施形態に使用されるデータ処理システムの一例を示す。例えば、システム900は、図1に示す装置100として具現化される。図9に示すデータ処理システム900は、1つ以上のマイクロプロセッサであるか又は集積回路のシステムオンチップである処理システム911を備え、そして更に、処理システムにより実行するためのデータ及びプログラムを記憶するメモリ901も備えている。又、システム900は、例えば、音楽を再生するためのマイクロホン及びスピーカを含み、或いはスピーカ又はマイクロホンを通して電話機能を与えるオーディオ入力/出力サブシステム905も備えている。
ディスプレイコントローラ・ディスプレイ装置907は、ユーザのための視覚ユーザインターフェイスをなし、このデジタルインターフェイスは、オペレーティングシステムソフトウェアを実行するときに、iPhone(登録商標)電話装置、iPad装置、又はマッキントッシュコンピュータに示されたものと同様のグラフィックユーザインターフェイスを含む。又、システム900は、別のデータ処理システムと通信するために1つ以上のワイヤレストランシーバ903も備えている。ワイヤレストランシーバは、WiFiトランシーバ、赤外線トランシーバ、Bluetooth(登録商標)トランシーバ、及び/又はワイヤレスセルラー電話トランシーバである。ある実施形態では、ここに示されない付加的なコンポーネントも、システム900の一部分であり、又、ある実施形態では、図9に示すものより少数のコンポーネントがデータ処理システムに使用されることが明らかである。
又、データ処理システム900は、ユーザがシステムに入力を与えることができるように設けられた1つ以上の入力装置913も備えている。これらの入力装置は、キーパッド、キーボード、タッチパネル、又はマルチタッチパネルである。又、データ処理システム900は、ドックのためのコネクタである任意の入力/出力装置915も備えている。この技術で知られたように、図示されていない1つ以上のバスを使用して種々のコンポーネントを相互接続できることも明らかであろう。図9に示したデータ処理システムは、ハンドヘルドコンピュータ又はパーソナルデジタルアシスタント(PDA)、或いはPDAのような機能を伴うセルラー電話、或いはセルラー電話又はメディアプレーヤ、例えば、iPodを含むハンドヘルドコンピュータ、或いはこれらの装置の特性又は機能を結合した装置、例えば、1つの装置においてPDA及びセルラー電話と結合されたメディアプレーヤである。他の実施形態では、データ処理システム900は、ネットワークコンピュータ、又は別の装置内に埋め込まれた処理装置、或いは図9に示すものより少数のコンポーネント又はおそらく多数のコンポーネントを有する他の形式のデータ処理システムである。
本発明の少なくとも幾つかの実施形態は、ポータブル音楽及び/又はビデオメディアプレーヤのようなデジタルメディアプレーヤの一部分であり、メディアを提示するためのメディア処理システム、メディアを記憶するために記憶装置を含むと共に、アンテナシステム及びメディア処理システムに結合された高周波(RF)トランシーバ(例えば、セルラー電話のためのRFトランシーバ)も更に含む。ある実施形態では、リモート記憶装置に記憶されるメディアは、RFトランシーバを通してメディアプレーヤへ送信される。メディアは、例えば、音楽又は他のオーディオ、静止画像又は動画の1つ以上である。
ポータブルメディアプレーヤは、カリフォルニア州クパチーノのアップル社からのiPod(登録商標)又はiPod Nano(登録商標)メディアプレーヤにおけるクリックホイール入力装置のようなメディア選択装置、タッチスクリーン又はマルチタッチ入力装置、プッシュボタン装置、可動ポインティング入力装置、又は他の入力装置を含む。メディア選択装置は、記憶装置及び/又はリモート記憶装置に記憶されたメディアを選択するのに使用される。ポータブルメディアプレーヤは、少なくともある実施形態では、入力装置を通して選択されて、スピーカ又はイヤホンを通して、又はディスプレイ装置に、或いはディスプレイ装置及びスピーカ又はイヤホンの両方に提示されるメディアのタイトル又は他の指示子を表示するために、メディア処理システムに結合されたディスプレイ装置を含む。
上述した詳細な説明のある部分は、コンピュータメモリ内のデータビットに対するオペレーションのアルゴリズム及び記号的表現に関して表わされた。それらのアルゴリズムの記述及び表現は、データ処理技術の当業者が自身の仕事の実体を他の当業者に最も効率的に伝達するのに使用される仕方である。アルゴリズムとは、ここでは、一般的に、望ましい結果を導く自己矛盾のないオペレーションシーケンスであると考えられる。オペレーションは、物理量の物理的操作を要求するものである。通常、必ずしもそうでないが、これらの量は、記憶、転送、合成、比較、その他、操作することのできる電気的又は磁気的信号の形態をとる。主として、通常使用の理由で、これらの信号は、ビット、値、エレメント、記号、キャラクタ、期間、数、等として参照するのが便利であると分かっている。
しかしながら、これら及び同様の用語は、全て、適当な物理量に関連付けられ、そしてそれらの量に適用される便宜的表示に過ぎないことを銘記されたい。特に指示のない限り、以上の説明から明らかなように、この説明全体を通して、特許請求の範囲に示すような用語を使用した説明は、コンピュータシステムのレジスタ及びメモリ内で物理的(電子的)量として表されたデータを操作し、そしてコンピュータシステムのメモリ又はレジスタ或いは他のそのような情報記憶、伝達又は表示装置内で物理的量として同様に表される他のデータへと変換するコンピュータシステム又は同様の電子的コンピューティング装置のアクション及び処理を参照するものである。
又、本発明の実施形態は、ここに示すオペレーションを遂行するための装置にも係る。この装置は、要求される目的のために特に構成されてもよいし、又は記憶されたコンピュータプログラムにより選択的にアクチベートされ又は再構成される汎用コンピュータを備えてもよい。そのようなコンピュータプログラムは、コンピュータ読み取り可能な媒体に記憶される。コンピュータ読み取り可能な媒体は、マシン(例えば、コンピュータ)により読み取りできる形態で情報を記憶するためのメカニズムを備えている。例えば、コンピュータ読み取り可能な(例えば、コンピュータ読み取り可能な)媒体は、マシン(例えば、コンピュータ)読み取り可能な記憶媒体(例えば、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学的記憶媒体、フラッシュメモリ装置、等)、等々を含む。
添付図面に示されたプロセス又は方法は、ハードウェア(例えば、回路、専用ロジック、等)、ソフトウェア、又はその両方の組み合わせを含む処理ロジックにより遂行される。プロセス又は方法は、幾つかの逐次のオペレーションに関して上述したが、それらオペレーションの幾つかは、異なる順序で遂行されてもよいことが明らかであろう。更に、あるオペレーションは、逐次ではなく、パラレルに遂行されてもよい。
ここに述べるアルゴリズム及びディスプレイは、特定のコンピュータ又は他の装置に固有に関係していない。種々の汎用システムを、ここに述べる技術に基づくプログラムと共に使用してもよいし、又は必要な方法オペレーションを遂行するように更に特殊な装置を構成するのが便利であると分かっている。種々のこれらシステムに要求される構造は、以上の説明から明らかとなろう。更に、本発明の実施形態は、特定のプログラミング言語を参照して説明していない。上述した本発明の実施形態の教示を具現化するのに種々のプログラミング言語を使用できることが明らかであろう。
以上、特定の実施形態を参照して本発明を説明した。特許請求の範囲に述べる本発明の広い精神及び範囲から逸脱せずに種々の変更がなされ得ることが明らかであろう。従って、明細書及び添付図面は、例示とみなすべきで、それに限定されるものではない。
100:コンピューティング装置
101:ワイヤレスプロセッサ
102:アプリケーションプロセッサ
103、104:RAM
105:記憶装置
106:ワイヤレスプロセッサのパーティション
107:アプリケーションプロセッサのパーティション
108、109:実行可能なコードイメージ
110、111:データ
112:セキュアなROM
113:内部RAM
114:記憶キー
115:オペレーティングシステム(OS)
116:ファイルシステム
117:ROMブートローダ(ROM BL)
118:証明書
119:パブリックキー
120:内部バス
201:ワイヤレスプロセッサのコードイメージ
205:ファイルシステム
206:ログデータ
210:セキュアなエリア
211:ワイヤレスネットワークID
212:RFキャリブレーションデータ

Claims (24)

  1. アプリケーションプロセッサと、
    前記アプリケーションプロセッサに結合された第1のランダムアクセスメモリ(RAM)であって、前記アプリケーションプロセッサのための動作環境を与える第1のオペレーティングシステム(OS)を実行する第1のRAMと、
    前記アプリケーションプロセッサ及び前記第1のRAMに結合された不揮発性記憶装置であって、前記アプリケーションプロセッサにより前記第1のOSを経てアクセスされるデータを記憶する不揮発性記憶装置と、
    内部バスを経て前記アプリケーションプロセッサに結合されるワイヤレス通信プロセッサと、
    前記ワイヤレス通信プロセッサに結合された第2のRAMであって、前記ワイヤレス通信プロセッサのための動作環境を与える第2のOSを実行する第2のRAMと、
    を備え、前記ワイヤレス通信プロセッサは、そのワイヤレス通信プロセッサをブートするために前記内部バスを経、通信リンクを経て前記不揮発性記憶装置にアクセスし、前記第2のOSを確立し、そして通常の動作中に前記不揮発性記憶装置における前記ワイヤレス通信プロセッサに関連したデータにアクセスして、前記ワイヤレス通信プロセッサが、前記ワイヤレス通信プロセッサに特に関連したデータを記憶するために個別の不揮発性記憶装置を維持する必要をなくすように構成された、ポータブル装置。
  2. 前記ワイヤレス通信プロセッサは、更に、ROMブートローダを記憶するためのセキュアなリードオンリメモリ(ROM)を備え、前記ワイヤレス通信プロセッサにより受け取られたブートコマンドに応答して、前記ROMブートローダは、前記セキュアなROMから実行されて、前記ワイヤレス通信プロセッサのハードウェアを初期化すると共に、前記内部バスを経て前記アプリケーションプロセッサとの通信リンクを確立する、請求項1に記載の装置。
  3. 前記ROMブートローダは、前記不揮発性記憶装置から前記内部バスを経、通信リンクを経てブートコードイメージをフェッチし、そのブートコードイメージを認証し、そしてそのブートコードイメージを首尾良く認証したときに、第2のRAMにおけるブートコードイメージを実行して、前記ワイヤレス通信プロセッサに対する第2のOSを確立するように構成された、請求項2に記載の装置。
  4. 前記ROMブートローダは、前記ワイヤレス通信プロセッサを独特に識別する独特の識別子(UID)から導出された記憶キーを使用して前記ブートコードイメージを解読するように構成された、請求項3に記載の装置。
  5. 前記ROMブートローダは、前記ワイヤレス通信プロセッサのセキュアなROM内に記憶されたデジタル証明書を使用して前記ブートコードイメージを認証する、請求項3に記載の装置。
  6. 前記ブートコードイメージは、一連のデジタル証明書によりサインされた第1のブートコードセグメント及び第2のブートコードセグメントを含み、前記ROMブートローダは、前記不揮発性記憶装置から前記内部バスを経、通信リンクを経て前記第1のブートコードセグメントをフェッチし、前記セキュアなROMからのデジタル証明書を使用して前記第1のブートコードセグメントを認証し、そして前記第1のブートコードセグメントを実行するように構成され、更に、前記第1のブートコードセグメントは、前記ROMブートローダにより実行されたとき、前記不揮発性記憶装置から前記内部バスを経、通信リンクを経て前記第2のブートコードセグメントをフェッチし、前記一連の証明書から導出されたリーフ証明書を使用して前記第2のブートコードセグメントを認証し、そして前記第2のブートコードセグメントをロードするように構成された、請求項5に記載の装置。
  7. 前記ワイヤレス通信プロセッサは、更に、前記ROMブートローダにより初期化される内部RAMを備え、前記第1のコードセグメントは、その内部RAM内のROMブートローダによりフェッチされ、認証されそして起動され、更に、前記第2のコードセグメントは、第2のRAM内の第1のブートコードセグメントによりフェッチされ、認証されそして起動される、請求項6に記載の装置。
  8. 前記第2のRAMは、そこで実行される暗号化ユニットを含み、前記不揮発性記憶装置にアクセスするためのコマンドに応答して、その暗号化ユニットは、前記ワイヤレス通信プロセッサを独特に識別する独特の識別子(UID)から導出される記憶キーを使用して、前記通信リンクを経て前記不揮発性記憶装置へ及びそこから送られるデータを暗号及び解読するように構成された、請求項1に記載の装置。
  9. 前記第1のRAMは、更に、そこで実行されるファイルシステム及び第1のファイルシステムドライバを備え、前記第2のRAMは、更に、そこで実行される第2のファイルシステムドライバを備え、その第2のファイルシステムドライバは、前記通信リンクを経て前記第1のファイルシステムドライバと通信して、前記ワイヤレス通信プロセッサにより前記不揮発性記憶装置にアクセスする目的で前記ファイルシステムからファイルシステムサービスを呼び出すように構成された、請求項8に記載の装置。
  10. データを更新するコマンドに応答して、セッションキーが発生され、そしてワイヤレス通信プロセッサを独特に識別する独特の識別子(UID)から導出された記憶キーにより暗号化されて、回復ブロブを発生し、この回復ブロブ及びパブリックキーで暗号化されたセッションキーは、許可サーバーへ送信され、更に、プロビジョニングサーバーから受け取られるデータ及び回復ブロブに応答して、セッションキーは、記憶キーを使用して回復ブロブを解読することにより回復ブロブから回復され、その回復されたセッションキーを使用して、前記プロビジョニングサーバーから受け取ったデータを解読する、請求項1に記載の装置。
  11. 前記データは、高周波(RF)キャリブレーションデータを含む、請求項10に記載の装置。
  12. ポータブル装置を動作するためのコンピュータ実施方法において、
    ブートコマンドに応答して、ワイヤレス通信プロセッサのセキュアなROMからのリードオンリメモリ(ROM)ブートローダを実行し、そのROMブートローダは、ポータブル装置のワイヤレス通信プロセッサに関連したハードウェアを初期化するものであり、
    前記ROMブートローダにより、前記ポータブル装置のアプリケーションプロセッサとの通信リンクを、前記ワイヤレス通信プロセッサをそのアプリケーションプロセッサに結合する内部バスを経て確立し、
    前記ROMブートローダにより、不揮発性記憶装置から前記通信リンクを経てブートコードイメージをフェッチし、その不揮発性記憶装置は、前記アプリケーションプロセッサに関連し、そして前記アプリケーションプロセッサに関連する第1のランダムアクセスメモリ(RAM)内で実行される第1のオペレーティングシステム(OS)を経て前記アプリケーションプロセッサによりアクセスされ、
    前記ROMブートローダにより、ブートコードイメージを認証し、
    そのブートコードイメージを首尾良く認証すると、前記ROMブートローダは、前記ブートコードイメージを、前記ワイヤレス通信プロセッサに関連した第2のRAMへ起動して、前記ワイヤレス通信プロセッサのための第2のOSを確立し、更に、前記内部バスを経、通信リンクを経て前記アプリケーションプロセッサに関連した前記不揮発性記憶装置にアクセスすることにより、前記ワイヤレス通信プロセッサは、個別の不揮発性記憶装置を維持する必要がなくなるようにした方法。
  13. 前記ブートコードイメージは、セキュアなROMに記憶されたデジタル証明書を使用して前記ROMブートローダによって認証され、更に、前記デジタル証明書は、前記ワイヤレス通信プロセッサを独特に識別する独特の識別子(UID)から導出される、請求項12に記載の方法。
  14. 前記ブートコードイメージを認証することは、前記ワイヤレス通信プロセッサのUIDから導出された記憶キーを使用して前記ブートコードイメージの少なくとも一部分を解読することを含む、請求項13に記載の方法。
  15. 前記ブートコードイメージは、一連のデジタル証明書によりサインされた第1のブートコードセグメント及び第2のブートコードセグメントを含み、前記ROMブートローダは、前記不揮発性記憶装置から前記内部バスを経、通信リンクを経て前記第1のブートコードセグメントをフェッチし、前記セキュアなROMからのデジタル証明書を使用して前記第1のブートコードセグメントを認証し、そして前記第1のブートコードセグメントを実行するように構成され、更に、前記第1のブートコードセグメントは、前記ROMブートローダにより実行されたとき、前記不揮発性記憶装置から前記内部バスを経、通信リンクを経て前記第2のブートコードセグメントをフェッチし、前記一連の証明書から導出されたリーフ証明書を使用して前記第2のブートコードセグメントを認証し、そして前記第2のブートコードセグメントをロードするように構成された、請求項13に記載の方法。
  16. 前記不揮発性記憶装置にアクセスするためのコマンドに応答して、前記記憶キーを使用して、前記通信リンクを経て前記不揮発性記憶装置へ及びそこから送られるデータを暗号化及び解読することを更に含む、請求項13に記載の方法。
  17. 前記第1のRAMは、更に、そこで実行されるファイルシステム及び第1のファイルシステムドライバを備え、前記第2のRAMは、更に、そこで実行される第2のファイルシステムドライバを備え、その第2のファイルシステムドライバは、前記通信リンクを経て前記第1のファイルシステムドライバと通信して、前記ワイヤレス通信プロセッサにより前記不揮発性記憶装置にアクセスする目的で前記ファイルシステムからファイルシステムサービスを呼び出すように構成された、請求項16に記載の方法。
  18. データを更新するコマンドに応答して、セッションキーを発生し、
    前記ワイヤレス通信プロセッサを独特に識別する独特の識別子(UID)から導出された記憶キーを使用して前記セッションキーを暗号化し、
    前記記憶キーにより暗号化された前記セッションキーが埋め込まれた回復ブロブを発生し、
    パブリック/プライベートキー対のパブリックキーを使用して前記セッションキーを暗号化し、
    前記回復ブロブ及び前記パブリックキーで暗号化されたセッションキーを許可サーバーへ送信し、その許可サーバーは、前記パブリック/プライベートキー対のプライベートキーを使用して前記セッションキーを解読することにより前記セッションキーを回復するように構成され、
    前記セッションキーにより暗号化されたデータ及び回復ブロブがプロビジョニングサーバーからダウンロードされるのに応答して、前記記憶キーを使用して回復ブロブを解読することにより回復ブロブから前記セッションキーを回復し、
    前記セッションキーを使用して前記暗号化されたデータを解読することにより前記データを回復し、
    前記データを前記不揮発性記憶装置に記憶する、
    ことを更に含む請求項12に記載の方法。
  19. コンピュータにより実行されたときに、そのコンピュータが、ポータブル装置を動作する方法を遂行するようにさせる命令を記憶しているコンピュータ読み取り可能な記憶媒体において、前記方法は、
    ブートコマンドに応答して、ワイヤレス通信プロセッサのセキュアなROMからのリードオンリメモリ(ROM)ブートローダを実行し、そのROMブートローダは、ポータブル装置のワイヤレス通信プロセッサに関連したハードウェアを初期化するものであり、
    前記ROMブートローダにより、前記ポータブル装置のアプリケーションプロセッサとの通信リンクを、前記ワイヤレス通信プロセッサをそのアプリケーションプロセッサに結合する内部バスを経て確立し、
    前記ROMブートローダにより、不揮発性記憶装置から前記通信リンクを経てブートコードイメージをフェッチし、その不揮発性記憶装置は、前記アプリケーションプロセッサに関連し、そして前記アプリケーションプロセッサに関連する第1のランダムアクセスメモリ(RAM)内で実行される第1のオペレーティングシステム(OS)を経て前記アプリケーションプロセッサによりアクセスされ、
    前記ROMブートローダにより、ブートコードイメージを認証し、
    そのブートコードイメージを首尾良く認証すると、前記ROMブートローダは、前記ブートコードイメージを、前記ワイヤレス通信プロセッサに関連した第2のRAMへ起動して、前記ワイヤレス通信プロセッサのための第2のOSを確立し、更に、前記内部バスを経、通信リンクを経て前記アプリケーションプロセッサに関連した前記不揮発性記憶装置にアクセスすることにより、前記ワイヤレス通信プロセッサは、個別の不揮発性記憶装置を維持する必要がなくなるようにする、
    ことを含むものである、コンピュータ読み取り可能な記憶媒体。
  20. 前記ブートコードイメージは、セキュアなROMに記憶されたデジタル証明書を使用して前記ROMブートローダによって認証され、更に、前記デジタル証明書は、前記ワイヤレス通信プロセッサを独特に識別する独特の識別子(UID)から導出される、請求項19に記載のコンピュータ読み取り可能な記憶媒体。
  21. 前記ブートコードイメージを認証することは、前記ワイヤレス通信プロセッサのUIDから導出された記憶キーを使用して前記ブートコードイメージの少なくとも一部分を解読することを含む、請求項20に記載のコンピュータ読み取り可能な記憶媒体。
  22. 前記ブートコードイメージは、一連のデジタル証明書によりサインされた第1のブートコードセグメント及び第2のブートコードセグメントを含み、前記ROMブートローダは、前記不揮発性記憶装置から前記内部バスを経、通信リンクを経て前記第1のブートコードセグメントをフェッチし、前記セキュアなROMからのデジタル証明書を使用して前記第1のブートコードセグメントを認証し、そして前記第1のブートコードセグメントを実行するように構成され、更に、前記第1のブートコードセグメントは、前記ROMブートローダにより実行されたとき、前記不揮発性記憶装置から前記内部バスを経、通信リンクを経て前記第2のブートコードセグメントをフェッチし、前記一連の証明書から導出されたリーフ証明書を使用して前記第2のブートコードセグメントを認証し、そして前記第2のブートコードセグメントをロードするように構成された、請求項20に記載のコンピュータ読み取り可能な記憶媒体。
  23. ポータブル装置を動作するコンピュータ実施方法において、
    ポータブル装置のためのソフトウェアコンポーネントを更新するコマンドに応答して、セッションキーを発生し、
    前記ポータブル装置を独特に識別する独特の識別子(UID)から導出された記憶キーを使用して前記セッションキーを暗号化し、
    前記記憶キーにより暗号化された前記セッションキーが埋め込まれた回復ブロブを発生し、
    パブリック/プライベートキー対のパブリックキーを使用して前記セッションキーを暗号化し、
    前記回復ブロブ及び前記パブリックキーで暗号化されたセッションキーを許可サーバーへ送信し、その許可サーバーは、前記パブリック/プライベートキー対のプライベートキーを使用して前記セッションキーを解読することにより前記セッションキーを回復するように構成され、
    前記ソフトウェアコンポーネント及び回復ブロブがプロビジョニングサーバーからダウンロードされるのに応答して、前記記憶キーを使用して回復ブロブを解読することにより回復ブロブから前記セッションキーを回復し、前記ソフトウェアコンポーネントは、前記許可サーバーから前記プロビジョニングサーバーにより受け取られた前記セッションキーによって暗号化され、
    前記回復ブロブから回復された前記セッションキーを使用して前記暗号化されたソフトウェアコンポーネントを解読することにより前記ソフトウェアコンポーネントを回復し、前記ソフトウェアコンポーネントは、前記ポータブル装置にインストールされる、
    ことを含むコンピュータ実施方法。
  24. 前記ソフトウェアコンポーネントは、前記ポータブル装置をブートするためのブートコードイメージ、及び前記ポータブル装置のワイヤレス通信プロセッサをキャリブレーションするための高周波(RF)キャリブレーションデータ、のうちの少なくとも1つを含む、請求項23に記載の方法。
JP2013506186A 2010-04-19 2011-04-14 非ローカル記憶装置からのサブシステムのセキュアなブート及び構成 Expired - Fee Related JP5576983B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US32577710P 2010-04-19 2010-04-19
US61/325,777 2010-04-19
US12/944,481 2010-11-11
US12/944,481 US8589667B2 (en) 2010-04-19 2010-11-11 Booting and configuring a subsystem securely from non-local storage
PCT/US2011/032557 WO2011133401A1 (en) 2010-04-19 2011-04-14 Booting and configuring a subsystem securely from non-local storage

Publications (2)

Publication Number Publication Date
JP2013531284A true JP2013531284A (ja) 2013-08-01
JP5576983B2 JP5576983B2 (ja) 2014-08-20

Family

ID=44454711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013506186A Expired - Fee Related JP5576983B2 (ja) 2010-04-19 2011-04-14 非ローカル記憶装置からのサブシステムのセキュアなブート及び構成

Country Status (10)

Country Link
US (1) US8589667B2 (ja)
EP (1) EP2378454A3 (ja)
JP (1) JP5576983B2 (ja)
KR (1) KR101434080B1 (ja)
CN (1) CN102859963B (ja)
AU (1) AU2011243007B2 (ja)
CA (1) CA2795180C (ja)
RU (1) RU2542930C2 (ja)
TW (1) TWI454935B (ja)
WO (1) WO2011133401A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015225376A (ja) * 2014-05-26 2015-12-14 Kddi株式会社 コンピュータシステム、コンピュータ、半導体装置、情報処理方法およびコンピュータプログラム
JP2020144873A (ja) * 2014-12-12 2020-09-10 ジーエヌ ヒアリング エー/エスGN Hearing A/S 通信保護を備えた聴覚装置および関連する方法
JP2021517688A (ja) * 2018-03-14 2021-07-26 レッジェ, エスアーエスLedger, Sas セキュアデータ処理
JP2021197134A (ja) * 2020-06-11 2021-12-27 株式会社Osk 情報処理装置,コンピュータの制御方法及び制御プログラム

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972746B2 (en) * 2010-12-17 2015-03-03 Intel Corporation Technique for supporting multiple secure enclaves
US20120166812A1 (en) * 2010-12-22 2012-06-28 Men Long Method, apparatus and system for secure communication of radio front end test/calibration instructions
WO2013064540A1 (en) * 2011-10-31 2013-05-10 Mikrodust Ab Radio module
US9787681B2 (en) 2012-01-06 2017-10-10 Optio Labs, Inc. Systems and methods for enforcing access control policies on privileged accesses for mobile devices
US9712530B2 (en) 2012-01-06 2017-07-18 Optio Labs, Inc. Systems and methods for enforcing security in mobile computing
WO2013119065A1 (en) * 2012-02-10 2013-08-15 Samsung Electronics Co., Ltd. Securely upgrading or downgrading platform components
US8667270B2 (en) 2012-02-10 2014-03-04 Samsung Electronics Co., Ltd. Securely upgrading or downgrading platform components
KR101932491B1 (ko) * 2012-02-13 2018-12-26 삼성전자주식회사 통신 기기에서 라디오 주파수 회로에 대한 켈리브레이션을 지원하는 장치 및 방법
JP5876752B2 (ja) * 2012-03-12 2016-03-02 ルネサスエレクトロニクス株式会社 半導体装置及び携帯端末装置
US9098302B2 (en) * 2012-06-28 2015-08-04 Intel Corporation System and apparatus to improve boot speed in serial peripheral interface system using a baseboard management controller
US9171170B2 (en) * 2012-08-17 2015-10-27 Broadcom Corporation Data and key separation using a secure central processing unit
US9092233B2 (en) * 2012-09-07 2015-07-28 Apple Inc. Accessory booting over USB
CN102970414B (zh) * 2012-10-30 2015-02-11 广东欧珀移动通信有限公司 一种基于Android***的手机密码保护方法
US9015858B2 (en) 2012-11-30 2015-04-21 nCrypted Cloud LLC Graphical user interface for seamless secure private collaboration
US8572757B1 (en) * 2012-11-30 2013-10-29 nCrypted Cloud LLC Seamless secure private collaboration across trust boundaries
US9053341B2 (en) 2013-03-13 2015-06-09 nCrypted Cloud LLC Multi-identity for secure file sharing
US9703697B2 (en) 2012-12-27 2017-07-11 Intel Corporation Sharing serial peripheral interface flash memory in a multi-node server system on chip platform environment
US9773107B2 (en) 2013-01-07 2017-09-26 Optio Labs, Inc. Systems and methods for enforcing security in mobile computing
US9230112B1 (en) * 2013-02-23 2016-01-05 Xilinx, Inc. Secured booting of a field programmable system-on-chip including authentication of a first stage boot loader to mitigate against differential power analysis
US9075995B2 (en) * 2013-03-11 2015-07-07 Microsoft Technology Licensing, Llc Dynamically loaded measured environment for secure code launch
US9578445B2 (en) * 2013-03-13 2017-02-21 Optio Labs, Inc. Systems and methods to synchronize data to a mobile device based on a device usage context
US9141373B2 (en) * 2013-07-31 2015-09-22 Arista Networks, Inc. System and method for accelerated software upgrades
US9542558B2 (en) * 2014-03-12 2017-01-10 Apple Inc. Secure factory data generation and restoration
US9075508B1 (en) 2014-04-30 2015-07-07 Grandios Technologies, Llc Next application suggestions on a user device
US8838071B1 (en) 2014-04-30 2014-09-16 Oto Technologies Llc Secure communications smartphone system
US9619159B2 (en) 2014-06-04 2017-04-11 Grandios Technologies, Llc Storage management system
US9323421B1 (en) 2014-06-04 2016-04-26 Grandios Technologies, Llc Timer, app, and screen management
US9590984B2 (en) 2014-06-04 2017-03-07 Grandios Technologies, Llc Smartphone fingerprint pass-through system
US9161193B1 (en) 2014-06-04 2015-10-13 Grandios Technologies, Llc Advanced telephone management
US9509799B1 (en) 2014-06-04 2016-11-29 Grandios Technologies, Llc Providing status updates via a personal assistant
US9516467B1 (en) 2014-06-04 2016-12-06 Grandios Technologies, Llc Mobile device applications associated with geo-locations
US9491562B2 (en) 2014-06-04 2016-11-08 Grandios Technologies, Llc Sharing mobile applications between callers
US9377939B1 (en) 2014-06-04 2016-06-28 Grandios Technologies Application player management
US9078098B1 (en) 2014-06-04 2015-07-07 Grandios Technologies, Llc Geo-fencing based functions
US9420477B2 (en) 2014-06-04 2016-08-16 Grandios Technologies, Llc Signal strength management
US9395754B2 (en) 2014-06-04 2016-07-19 Grandios Technologies, Llc Optimizing memory for a wearable device
US9294575B1 (en) 2014-06-04 2016-03-22 Grandios Technologies, Inc. Transmitting appliance-specific content to a user device
US9584645B2 (en) 2014-06-04 2017-02-28 Grandios Technologies, Llc Communications with wearable devices
US9391988B2 (en) 2014-06-04 2016-07-12 Grandios Technologies, Llc Community biometric authentication on a smartphone
US9538062B2 (en) 2014-06-04 2017-01-03 Grandios Technologies, Llc Camera management system
US9509789B2 (en) 2014-06-04 2016-11-29 Grandios Technologies, Llc Managing mood data on a user device
US10290067B1 (en) 2014-06-05 2019-05-14 ProSports Technologies, LLC Wireless concession delivery
US10592924B1 (en) 2014-06-05 2020-03-17 ProSports Technologies, LLC Managing third party interactions with venue communications
US9711146B1 (en) 2014-06-05 2017-07-18 ProSports Technologies, LLC Wireless system for social media management
US8995972B1 (en) 2014-06-05 2015-03-31 Grandios Technologies, Llc Automatic personal assistance between users devices
US9635506B1 (en) 2014-06-05 2017-04-25 ProSports Technologies, LLC Zone based wireless player communications
US9648452B1 (en) 2014-06-05 2017-05-09 ProSports Technologies, LLC Wireless communication driven by object tracking
KR102277666B1 (ko) * 2014-06-30 2021-07-15 삼성전자 주식회사 영상처리장치 및 그 제어방법
US9398213B1 (en) 2014-07-11 2016-07-19 ProSports Technologies, LLC Smart field goal detector
US9965938B1 (en) 2014-07-11 2018-05-08 ProSports Technologies, LLC Restroom queue management
US9591336B2 (en) 2014-07-11 2017-03-07 ProSports Technologies, LLC Camera feed distribution from event venue virtual seat cameras
US9343066B1 (en) 2014-07-11 2016-05-17 ProSports Technologies, LLC Social network system
US9474933B1 (en) 2014-07-11 2016-10-25 ProSports Technologies, LLC Professional workout simulator
US9724588B1 (en) 2014-07-11 2017-08-08 ProSports Technologies, LLC Player hit system
US9760572B1 (en) 2014-07-11 2017-09-12 ProSports Technologies, LLC Event-based content collection for network-based distribution
WO2016007965A1 (en) 2014-07-11 2016-01-14 ProSports Technologies, LLC Ball tracker camera
US9655027B1 (en) 2014-07-11 2017-05-16 ProSports Technologies, LLC Event data transmission to eventgoer devices
US9305441B1 (en) 2014-07-11 2016-04-05 ProSports Technologies, LLC Sensor experience shirt
US9571903B2 (en) 2014-07-11 2017-02-14 ProSports Technologies, LLC Ball tracker snippets
WO2016007970A1 (en) 2014-07-11 2016-01-14 ProSports Technologies, LLC Whistle play stopper
US9610491B2 (en) 2014-07-11 2017-04-04 ProSports Technologies, LLC Playbook processor
WO2016007972A1 (en) 2014-07-11 2016-01-14 ProSports Technologies, LLC Ticket upsell system
US9729644B1 (en) 2014-07-28 2017-08-08 ProSports Technologies, LLC Event and fantasy league data transmission to eventgoer devices
US9892371B1 (en) 2014-07-28 2018-02-13 ProSports Technologies, LLC Queue information transmission
US9607497B1 (en) 2014-08-25 2017-03-28 ProSports Technologies, LLC Wireless communication security system
US9742894B2 (en) 2014-08-25 2017-08-22 ProSports Technologies, LLC Disposable connectable wireless communication receiver
US9699523B1 (en) 2014-09-08 2017-07-04 ProSports Technologies, LLC Automated clip creation
US10264175B2 (en) 2014-09-09 2019-04-16 ProSports Technologies, LLC Facial recognition for event venue cameras
US9417090B2 (en) 2014-09-11 2016-08-16 ProSports Technologies, LLC System to offer coupons to fans along routes to game
US9740866B2 (en) * 2015-06-10 2017-08-22 The Boeing Company Automatic measuring boot process using an automatic measuring processor coupled to a memory
CN106331297A (zh) * 2015-06-30 2017-01-11 联芯科技有限公司 智能手机架构及其文件信息读取和更新方法
US20170010874A1 (en) * 2015-07-06 2017-01-12 Cisco Technology, Inc. Provisioning storage devices in a data center
KR101696900B1 (ko) * 2015-07-27 2017-01-17 한길씨앤씨 주식회사 임베디드 시스템의 실행코드 암호화 및 복호화장치 및 이를 이용하여 정보유출 방지기능을 가지는 임베디드 시스템
TWI571738B (zh) * 2015-08-13 2017-02-21 瑞昱半導體股份有限公司 儲存裝置、加快啟動程序的方法與儲存控制器
US10312747B2 (en) * 2015-09-10 2019-06-04 Cpg Technologies, Llc Authentication to enable/disable guided surface wave receive equipment
KR102385552B1 (ko) * 2015-12-29 2022-04-12 삼성전자주식회사 시스템-온-칩 및 이를 포함하는 전자 장치
US10303884B2 (en) * 2016-09-22 2019-05-28 Apple Inc. Countersigning updates for multi-chip devices
CN106452783B (zh) * 2016-09-26 2021-02-09 上海兆芯集成电路有限公司 计算机***及安全执行的方法
US10539996B2 (en) * 2016-11-28 2020-01-21 Qualcomm Incorporated WiFi memory power minimization
US10984136B2 (en) 2017-04-21 2021-04-20 Micron Technology, Inc. Secure memory device with unique identifier for authentication
TWI645296B (zh) * 2017-10-17 2018-12-21 慧榮科技股份有限公司 資料儲存裝置以及非揮發式記憶體操作方法
CN108599930B (zh) * 2018-04-02 2021-05-14 湖南国科微电子股份有限公司 固件加解密***与方法
US10771264B2 (en) * 2018-10-10 2020-09-08 Hewlett Packard Enterprise Development Lp Securing firmware
US10841160B2 (en) 2018-11-08 2020-11-17 Arista Networks, Inc. System and method for processing messages during a reboot of a network device
CN112334902A (zh) * 2019-01-04 2021-02-05 百度时代网络技术(北京)有限公司 建立主机***与数据处理加速器之间的安全信息交换信道的方法
US11288373B2 (en) * 2019-04-11 2022-03-29 Baidu Usa Llc Boot failure recovery scheme for hardware-based system of autonomous driving vehicles
EP3748523A1 (en) * 2019-06-06 2020-12-09 Secure Thingz Limited Multiprocessor system
EP3809259B1 (en) * 2019-10-16 2023-08-16 NXP USA, Inc. Network node firmware update
US11809611B2 (en) * 2020-02-24 2023-11-07 Microsoft Technology Licensing, Llc Protecting device detachment with bus encryption
US11431510B1 (en) * 2020-04-30 2022-08-30 Wells Fargo Bank, N.A. Code-sign white listing (CSWL)
US11586446B1 (en) * 2020-05-20 2023-02-21 Marvell Asia Pte Ltd System and methods for hardware-based PCIe link up based on post silicon characterization
CN111988146B (zh) * 2020-07-31 2022-07-12 新华三信息技术有限公司 一种身份验证方法、装置、设备及机器可读存储介质
US11824934B2 (en) * 2020-09-10 2023-11-21 Fisher-Rosemount Systems, Inc. Security systems for use in implementing highly-versatile field devices and communication networks in control and automation systems
US11256238B1 (en) 2020-09-10 2022-02-22 Fisher-Rosemount Systems, Inc. Network resource management in a communication network for control and automation systems
US11824650B2 (en) 2020-09-10 2023-11-21 Fisher-Rosemount Systems, Inc. Publish-subscribe communication architecture for highly-versatile field devices in control and automation systems
US11531325B2 (en) 2020-09-10 2022-12-20 Fisher-Rosemount Systems, Inc. Node management of nodal communication networks for highly versatile field devices in control and automation systems
TWI763314B (zh) 2021-02-18 2022-05-01 瑞昱半導體股份有限公司 影像系統單晶片、包含其之影像擷取系統及影像擷取方法
CN114979416A (zh) * 2021-02-25 2022-08-30 瑞昱半导体股份有限公司 图像***单芯片、包含其的图像获取***及图像获取方法
US20210328779A1 (en) * 2021-06-25 2021-10-21 Intel Corporation Method and apparatus for fast symmetric authentication and session key establishment
US11797679B2 (en) * 2021-07-28 2023-10-24 Dell Products, L.P. Trust verification system and method for a baseboard management controller (BMC)
CN114448779A (zh) * 2021-12-30 2022-05-06 锐凌无线有限责任公司 无线通信模组及其功能恢复方法、电子设备和存储介质
CN115470172A (zh) * 2022-08-26 2022-12-13 百富计算机技术(深圳)有限公司 Pos机中双cpu的通信方法、装置、***及介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282168A (ja) * 1996-04-11 1997-10-31 Sony Corp コンピュータ装置
US5917912A (en) * 1995-02-13 1999-06-29 Intertrust Technologies Corporation System and methods for secure transaction management and electronic rights protection
JP2001077805A (ja) * 1999-04-07 2001-03-23 Sony Corp セキュリティ装置、メモリ装置、データ処理装置および方法
WO2002095581A2 (en) * 2001-05-19 2002-11-28 International Business Machines Corporation Electronic system and method for booting of an electronic system
US20070033387A1 (en) * 2004-08-06 2007-02-08 International Business Machines Corporation System design and code update strategy to implement a self-healing, self-verifying system
US20070192529A1 (en) * 2006-02-15 2007-08-16 Samsung Electronics Co., Ltd. Multi-processor systems and methods thereof
US20070280483A1 (en) * 2006-06-06 2007-12-06 Red Hat, Inc. Methods and systems for key recovery for a token
WO2008001671A1 (fr) * 2006-06-27 2008-01-03 Nec Corporation Système multiprocesseur et terminal portable l'utilisant
JP2008236342A (ja) * 2007-03-20 2008-10-02 Kddi Corp ソフトウェア無線端末および端末管理装置
JP2009503698A (ja) * 2005-07-26 2009-01-29 アップル インコーポレイテッド 安全なソフトウェア更新
JP2009026439A (ja) * 2007-07-18 2009-02-05 Samsung Electronics Co Ltd 半導体メモリ装置及びそれによる共有レジスタ運用方法
US20090257595A1 (en) * 2008-04-15 2009-10-15 De Cesare Joshua Single Security Model In Booting A Computing Device

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2761698B1 (fr) 1997-04-04 1999-05-07 Pasteur Merieux Serums Vacc Methode de titrage d'une composition virale complexe
US6049854A (en) 1997-05-09 2000-04-11 Vlsi Technology, Inc. System and method for sharing physical memory among distinct computer environments
US6820203B1 (en) * 1999-04-07 2004-11-16 Sony Corporation Security unit for use in memory card
US6449720B1 (en) 1999-05-17 2002-09-10 Wave Systems Corp. Public cryptographic control unit and system therefor
EP1224521A4 (en) * 1999-09-30 2008-09-17 Milsys Ltd REMOVABLE, ACTIVE PERSONAL STORAGE DEVICE, SYSTEM AND METHOD
US7111141B2 (en) * 2000-10-17 2006-09-19 Igt Dynamic NV-RAM
US7352868B2 (en) 2001-10-09 2008-04-01 Philip Hawkes Method and apparatus for security in a data processing system
US7290080B2 (en) 2002-06-27 2007-10-30 Nazomi Communications Inc. Application processors and memory architecture for wireless applications
US7917673B2 (en) 2003-09-20 2011-03-29 Samsung Electronics Co., Ltd. Communication device and method having a shared local memory
US6987961B1 (en) 2004-06-28 2006-01-17 Neomagic Corp. Ethernet emulation using a shared mailbox between two processors in a feature phone
US20080162952A1 (en) * 2007-01-03 2008-07-03 John David Landers Managing power usage in a data processing system by changing the clock speed of a processing unit
US8254568B2 (en) * 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
US20080282022A1 (en) 2007-05-09 2008-11-13 Broadcom Corporation, A California Corporation Partially storing software functions that are not expected to change over time in ROM instead of RAM
US8095799B2 (en) * 2008-07-28 2012-01-10 Apple Inc. Ticket authorized secure installation and boot
KR20100034415A (ko) 2008-09-24 2010-04-01 삼성전자주식회사 메모리 링크 아키텍쳐를 활용한 부팅기능을 갖는 멀티 프로세서 시스템

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917912A (en) * 1995-02-13 1999-06-29 Intertrust Technologies Corporation System and methods for secure transaction management and electronic rights protection
JPH09282168A (ja) * 1996-04-11 1997-10-31 Sony Corp コンピュータ装置
JP2001077805A (ja) * 1999-04-07 2001-03-23 Sony Corp セキュリティ装置、メモリ装置、データ処理装置および方法
WO2002095581A2 (en) * 2001-05-19 2002-11-28 International Business Machines Corporation Electronic system and method for booting of an electronic system
EP1407352A2 (en) * 2001-05-19 2004-04-14 International Business Machines Corporation Electronic system and method for booting of an electronic system
US20070033387A1 (en) * 2004-08-06 2007-02-08 International Business Machines Corporation System design and code update strategy to implement a self-healing, self-verifying system
JP2009503698A (ja) * 2005-07-26 2009-01-29 アップル インコーポレイテッド 安全なソフトウェア更新
US20070192529A1 (en) * 2006-02-15 2007-08-16 Samsung Electronics Co., Ltd. Multi-processor systems and methods thereof
US20070280483A1 (en) * 2006-06-06 2007-12-06 Red Hat, Inc. Methods and systems for key recovery for a token
WO2008001671A1 (fr) * 2006-06-27 2008-01-03 Nec Corporation Système multiprocesseur et terminal portable l'utilisant
JP2008236342A (ja) * 2007-03-20 2008-10-02 Kddi Corp ソフトウェア無線端末および端末管理装置
JP2009026439A (ja) * 2007-07-18 2009-02-05 Samsung Electronics Co Ltd 半導体メモリ装置及びそれによる共有レジスタ運用方法
US20090257595A1 (en) * 2008-04-15 2009-10-15 De Cesare Joshua Single Security Model In Booting A Computing Device

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015225376A (ja) * 2014-05-26 2015-12-14 Kddi株式会社 コンピュータシステム、コンピュータ、半導体装置、情報処理方法およびコンピュータプログラム
JP2020144873A (ja) * 2014-12-12 2020-09-10 ジーエヌ ヒアリング エー/エスGN Hearing A/S 通信保護を備えた聴覚装置および関連する方法
JP2021517688A (ja) * 2018-03-14 2021-07-26 レッジェ, エスアーエスLedger, Sas セキュアデータ処理
JP7374112B2 (ja) 2018-03-14 2023-11-06 レッジェ,エスアーエス セキュアデータ処理
JP2021197134A (ja) * 2020-06-11 2021-12-27 株式会社Osk 情報処理装置,コンピュータの制御方法及び制御プログラム

Also Published As

Publication number Publication date
CA2795180C (en) 2017-01-03
TW201214145A (en) 2012-04-01
CA2795180A1 (en) 2011-10-27
AU2011243007B2 (en) 2014-02-20
KR101434080B1 (ko) 2014-08-25
KR20130027498A (ko) 2013-03-15
RU2542930C2 (ru) 2015-02-27
CN102859963A (zh) 2013-01-02
US20110258426A1 (en) 2011-10-20
TWI454935B (zh) 2014-10-01
JP5576983B2 (ja) 2014-08-20
RU2012146367A (ru) 2014-05-10
CN102859963B (zh) 2015-11-25
US8589667B2 (en) 2013-11-19
EP2378454A2 (en) 2011-10-19
WO2011133401A1 (en) 2011-10-27
EP2378454A3 (en) 2013-03-27
AU2011243007A1 (en) 2012-11-01

Similar Documents

Publication Publication Date Title
JP5576983B2 (ja) 非ローカル記憶装置からのサブシステムのセキュアなブート及び構成
US10931451B2 (en) Securely recovering a computing device
JP4971466B2 (ja) コンピューティング・デバイスの安全なブート
US8560820B2 (en) Single security model in booting a computing device
US8789037B2 (en) Compatible trust in a computing device
US9904557B2 (en) Provisioning of operating systems to user terminals
US8826405B2 (en) Trusting an unverified code image in a computing device
US20090259855A1 (en) Code Image Personalization For A Computing Device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140704

R150 Certificate of patent or registration of utility model

Ref document number: 5576983

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees