JP2019008592A - セキュアエレメント、コンピュータプログラム、デバイス、os起動システム及びos起動方法 - Google Patents

セキュアエレメント、コンピュータプログラム、デバイス、os起動システム及びos起動方法 Download PDF

Info

Publication number
JP2019008592A
JP2019008592A JP2017124308A JP2017124308A JP2019008592A JP 2019008592 A JP2019008592 A JP 2019008592A JP 2017124308 A JP2017124308 A JP 2017124308A JP 2017124308 A JP2017124308 A JP 2017124308A JP 2019008592 A JP2019008592 A JP 2019008592A
Authority
JP
Japan
Prior art keywords
image
unit
secure element
boot loader
request signal
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
JP2017124308A
Other languages
English (en)
Other versions
JP7019976B2 (ja
Inventor
正徳 浅野
Masanori Asano
正徳 浅野
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2017124308A priority Critical patent/JP7019976B2/ja
Publication of JP2019008592A publication Critical patent/JP2019008592A/ja
Application granted granted Critical
Publication of JP7019976B2 publication Critical patent/JP7019976B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】デバイスのOS起動時のセキュリティを確保することができるセキュアエレメント、コンピュータプログラム、デバイス、OS起動システム及びOS起動方法を提供する。【解決手段】セキュアエレメントは、OSを読み込むためのブートローダからOSの要求信号を取得する要求信号取得部と、要求信号取得部で要求信号を取得した場合、暗号化されたOSイメージを復号する復号部と、ブートローダによって読み込むため復号部で復号されたOSイメージを出力する出力部とを備える。【選択図】図1

Description

本発明は、セキュアエレメント、コンピュータプログラム、デバイス、OS起動システム及びOS起動方法に関する。
パーソナルコンピュータ等を含む電子デバイスのセキュリティの多くは、当該デバイス上で動作するOSによって担保されている。このため、一般に攻撃者はOSの脆弱性を攻撃すること、あるいはOSを脆弱なものに置き換えることによって攻撃を行う。
そこで、OSの改ざん又は置き換え等の不正な攻撃をOS起動時に検知することによって、セキュリティを確保する技術が研究されている。例えば、特許文献1には、トラステッドデバイスが端末に接続された際に、トラステッドデバイスから取り出したブートローダを元に、端末とOSサーバとの間で接続を行い、OSサーバから端末に暗号化されたブートイメージ(OSカーネル)をダウンロードし、トラステッドデバイスから取得した鍵によってダウンロードしたブートイメージを復号する方法が開示されている。
特許第5940159号公報
しかし、特許文献1の方法では、復号用の鍵をトラステッドデバイスから取り出す際の通信を傍受して鍵を入手するとともに、OSイメージを入手するサーバを攻撃者のサーバに変更することによって、OSの改ざん又は置き換えが可能となる。
一方で、IoT(Internet of Things)では、多種多様なデバイスがネットワークに接続されることで新たな付加価値を生み出している。このようなデバイスでは、デバイス毎にブートメカニズムは異なるので、デバイス毎に個別のブートローダが必要となる。しかし、特許文献1の方法では、端末がトラステッドデバイスに入っているブートローダを元にOSの起動を行うため、多種多様なデバイスのOSを起動することができない。
本発明は、斯かる事情に鑑みてなされたものであり、デバイスのOS起動時のセキュリティを確保することができるセキュアエレメント、コンピュータプログラム、デバイス、OS起動システム及びOS起動方法を提供することを目的とする。
本発明の実施の形態に係るセキュアエレメントは、OSを読み込むためのブートローダからOSの要求信号を取得する要求信号取得部と、該要求信号取得部で要求信号を取得した場合、暗号化されたOSイメージを復号する復号部と、前記ブートローダによって読み込むため、前記復号部で復号されたOSイメージを出力する出力部とを備える。
本発明の実施の形態に係るコンピュータプログラムは、コンピュータに、ブートローダによって読み込むためOSイメージを出力させるためのコンピュータプログラムであって、コンピュータに、前記ブートローダからOSの要求信号を取得する処理と、前記要求信号を取得した場合、暗号化されたOSイメージを復号する処理と、前記ブートローダによって読み込むため、復号されたOSイメージを出力する処理とを実行させる。
本発明の実施の形態に係るデバイスは、本発明の実施の形態に係るセキュアエレメントと、OSを読み込むためのブートローダとを備える。
本発明の実施の形態に係るOS起動システムは、本発明の実施の形態に係るデバイスと、前記ブートローダによって読み込まれるOSのイメージを暗号化して記憶するサーバとを備える。
本発明の実施の形態に係るOS起動方法は、OSを読み込むためのブートローダからOSの要求信号を要求信号取得部が取得し、前記要求信号が取得された場合、暗号化されたOSイメージを復号部が復号し、前記ブートローダによって読み込むため、復号されたOSイメージを出力部が出力する。
本発明によれば、デバイスのOS起動時のセキュリティを確保することができる。
本実施の形態のOS起動システムの構成の一例を示すブロック図である。 本実施の形態のOS起動システムのオンライン起動時の動作の一例を示す説明図である。 本実施の形態のOS起動システムのオフライン起動時の動作の一例を示す説明図である。 本実施の形態のセキュアエレメントによるOS起動処理手順の一例を示すフローチャートである。 本実施の形態のOS起動システムのOSイメージ照合時の動作の一例を示す説明図である。 本実施の形態のセキュアエレメントによるOSイメージ照合処理手順の一例を示すフローチャートである。
以下、本発明をその実施の形態を示す図面に基づいて説明する。図1は本実施の形態のOS起動システムの構成の一例を示すブロック図である。本実施の形態のOS起動システムは、セキュアエレメント50が組み込まれたデバイス100、及びサーバ200などを備える。デバイス100は、OSを搭載して独立動作をすることができるデバイス(電子デバイスとも称する)であり、「モノのインターネット」(IoT)でいうところの「モノ」に該当するデバイスを含む。
デバイス100は、セキュアエレメント50の他に、CPU10、ネットワーク通信部11、ROM又は不揮発性メモリなどの不揮発性記録部12、RAM13、電源の入切を行うための電源スイッチ14、BIOS21、ブートローダ22、OSカーネル23、ファイルシステム24などを備える。なお、便宜上、デバイス100のうち、セキュアエレメント50以外の部分をデバイス側と称する。
不揮発性記録部12は、デバイス100の製造時に記録される内容が書き込まれるが、デバイス100の運用中に書き換えることもできる。
RAM13は、揮発性のメモリであり、電源スイッチ14によって電源断・再投入が行われると記録された内容が消去される。
BIOS21は、不揮発性記録部12に保持され、デバイス100の基本的な入出力を制御するためのソフトウェアコンポーネント(ソフトウェアモジュール)である。
ブートローダ22は、不揮発性記録部12に保持され、BIOS21から呼び出されて起動されるソフトウェアコンポーネントである。ブートローダ22は、OSカーネルをRAM13に読み込むために動作する。
OSカーネル23は、OSの基本的な機能を実装しているソフトウェアコンポーネントである。OSカーネル23は、ブートローダ22によってRAM13上に展開され、CPU10によって実行されることによりOSの機能をアプリケーション又はユーザに提供する。本実施の形態では、OSカーネル23は、OSイメージに含まれる。OSイメージは、OSを構成する複数のファイル及びフォルダを一つのファイルに纏めたものである。
ファイルシステム24は、デバイス100上で取り扱うファイル(フォルダ)ツリー全てを保持するデータ一式である。ファイルシステム24は、OSカーネル23によって認識されることで、アプリケーション又はユーザは、ファイルシステム24内のファイルを読み書きすることができる。ファイルシステム24は、OSイメージに含まれる。
ネットワーク通信部11は、デバイス100をネットワークに接続する機能を有し、ネットワーク上の他のデバイス又はクラウド(サーバ)との間で情報の送受信を行うことができる。ネットワーク通信部11は、不図示のセンサ類で検出した情報を送信することができる。
セキュアエレメント50は、例えば、ICチップ、ICカード等の半導体素子で構成され、外部からの物理的、論理的な攻撃に対して耐タンパ性を有する特別なハードウェアである。
セキュアエレメント50は、ダウンロード処理部51、復号処理部52、比較処理部53、記憶部としての不揮発性メモリ54、オフライン起動許可フラグ55、暗号化OSイメージ56、OSイメージ復号鍵57などを備える。なお、便宜上、暗号化OSイメージ56をOSイメージ56とも称する。
不揮発性メモリ54は、例えば、耐タンパ性を有する不揮発性メモリとすることができる。
ダウンロード処理部51は、通信部としての機能を有し、サーバ200に対して秘匿通信路61を確立し、サーバ200が有する暗号化OSイメージを不揮発性メモリ54にダウンロードする。これにより、OSイメージを、秘匿性を保ったまま安全に取得することができる。秘匿通信路61においては、例えば、TLS(Transport Layer Security)などのプロトコルによって通信を行うことができる。なお、プロトコルは、TLSに限定されない。
復号処理部52は、復号部としての機能を有し、不揮発性メモリ54に保持されているOSイメージ56に対して暗号化を解除して復号し、復号したOSイメージをデバイス100のRAM13上に展開する。暗号化OSイメージ56の復号処理をセキュアエレメント50内で行うことによって、OSイメージの改ざん又は置き換えを防止することができる。
比較処理部53は、照合部としての機能を有し、デバイス100からの要求に応じて、デバイス100で稼働中のOSのOSイメージと、不揮発性メモリ54に保持されているOSイメージ56とを比較し、照合(一致・不一致を判定)する。OSイメージの照合は、OSイメージの全体でもよく、一部(例えば、OSカーネルの一部、ファイルシステムの一部)でもよい。照合アルゴリズムは、例えば、平文による照合でもよいが、これに限定されない。
暗号化OSイメージ56は、OSカーネル561、ファイルシステム562をまとめ、かつOSイメージ暗号化鍵で暗号化を行ったデータである。
OSイメージ復号鍵57は、不揮発性メモリ54に保持されている。これにより、OSイメージ復号鍵57の秘匿性を担保することができる。OSイメージ復号鍵57は、暗号化OSイメージ56を復号し、OSカーネル23、ファイルシステム24を取り出すための鍵である。OSイメージ復号鍵57は、固定鍵でもよく、あるいは、動的に更新される鍵でもよい。
オフライン起動許可フラグ55は、識別子としての機能を有する。オフライン起動許可フラグ55は、デバイス100のOS起動時に、セキュアエレメント50の不揮発性メモリ54に保持されているOSイメージ56のみで起動を許可するか(オフライン起動)、あるいは拒否するか(オンライン起動)を判定するフラグである。拒否する場合には、ダウンロード処理部51は、サーバ200から最新のOSイメージをダウンロードする。デバイス側のブートローダ22によって読み込まれるOSの入手先(例えば、OSの入手先のサーバのURLなど)を決定する識別子をデバイス側でなくセキュアエレメント50が有することにより、セキュアエレメント50によってOSイメージの取得先を決めることができる。
セキュアエレメント50は、内部バス31、32を介してデバイス側と接続されている。より具体的には、内部バス31は、セキュアエレメント50と不揮発性記録部12とを接続し、内部バス32は、セキュアエレメント50とRAM13とを接続している。内部バス31、32は、秘匿性を担保することができるバスであれば、適宜のものを用いることができる。
サーバ200は、暗号化イメージ201(OSカーネル202及びファイルシステム203を含む)を保持し、デバイス100のOS起動時に秘匿通信路61を介して暗号化イメージ201をセキュアエレメント50へ配信する。
次に、本実施の形態のOS起動システムの動作について説明する。以下では、オンライン起動時の動作、オフライン起動時の動作、及びOSイメージの照合時の動作について説明する。
図2は本実施の形態のOS起動システムのオンライン起動時の動作の一例を示す説明図である。以下、符号P1〜P13で示す処理について説明する。
P1(電源投入):ユーザが電源スイッチ14を操作してデバイス100に対して電源を投入する。
P2(BIOS21の起動):電源投入されたデバイス100は、不揮発性記録部12に保持されているBIOS21を起動する。
P3(ブートローダ22の起動):BIOS21は、不揮発性記録部12に保持されているブートローダ22を起動する。
P4(OSイメージダウンロード要求):ブートローダ22は、セキュアエレメント50に対し、OSイメージのダウンロード要求(OSの要求信号とも称する)を行う。セキュアエレメント50は、要求信号取得部としての機能を有し、当該要求を取得した場合、ダウンロード処理部51による処理を呼び出す。
P5(オフライン起動チェック):ダウンロード処理部51は、不揮発性メモリ54に保持されているオフライン起動許可フラグ55をチェックし、フラグが「拒否(オンライン起動)」であることを確認する。
P6(秘匿通信路61の確立):ダウンロード処理部51は、フラグが「拒否」であることを確認すると、サーバ200に対してエンドツーエンドの秘匿通信路61を確立する。秘匿通信路61は、例えば、TLS(HTTPS)とすることができる。セキュアエレメント50が自ら物理的な通信手段(例えば、LAN又はWiFiなど)を有する場合、通信路確立を独力で行うことができるが、通信手段を有しない場合には、デバイス100の物理的な通信手段を用いてもよい。
P7(OSイメージのダウンロード):セキュアエレメント50は、サーバ200に対してOSイメージのダウンロード要求を行う。ダウンロード処理部51は、サーバ200から、暗号化OSイメージ201をセキュアな不揮発性メモリ54にダウンロードし、保持する。
P8(オフライン起動許可フラグ55の変更):サーバ200は、オフライン起動許可フラグ55を変更したい場合、秘匿通信路61を介してセキュアエレメント50に対してオフライン起動許可フラグ55の変更を行う。セキュアエレメント50は、受付部としての機能を有し、秘匿通信路を介して、オフライン起動許可フラグ55を「拒否(オンライン起動)」又は「許可(オフライン起動)」に設定する処理を受け付ける。これにより、OSイメージの取得先を状況に応じて変更することができる。なお、オフライン起動許可フラグ55の変更は、オンライン起動時のみならず、任意のタイミングで行うことができる。
P9(ダウンロード完了):ダウンロード処理部51は、ブートローダ22に対してダウンロード完了を通知する。
P10(OSイメージ展開要求):ブートローダ22は、ダウンロード完了の通知を受けると、セキュアエレメント50に対して、OSイメージの展開を要求する。セキュアエレメント50は、OSイメージの展開の要求を受けると、復号処理部52による処理を呼び出す。
P11(OSイメージの復号と展開):復号処理部52は、不揮発性メモリ54に保持している暗号化OSイメージ56を、OSイメージ復号鍵57を用いて復号する。安全性の高い不揮発性メモリ54に記憶した暗号化OSイメージ56の復号処理をセキュアエレメント50内で行うことによって、OSイメージの改ざん又は置き換えを防止することができる。復号処理部52は、出力部としての機能を有し、復号されたOSカーネル23及びファイルシステム24をデバイス側へ出力し、RAM13上に展開する。デバイス側とセキュアエレメント50との間は、秘匿性を有する内部バス32によって接続することができるので、ブートするOSイメージの改ざん又は置き換えを防止することができる。
P12(OSカーネル23の起動):ブートローダ22は、RAM13上に展開されたOSカーネル23を起動する。
P13(ファイルシステム24の読み込み):OSカーネル23は、RAM13上に展開されたファイルシステム24を有効化し、アクセス可能にする。ファイルシステム24が有効化された後、OSは起動を完了して定常状態に移行する。これにより、ユーザのログインを許可すること、サーバサービスを開始すること等、OSの機能をユーザに提供することができる。
上述のように、ブートローダ22が、セキュアエレメント50とは別個にデバイス側にあることによって、セキュアエレメント50は、多種多様なデバイス100に対して共通の構造とすることができる。また、上述の構成により、多種多様なデバイス100のOS起動時のセキュリティを確保することができる。
図3は本実施の形態のOS起動システムのオフライン起動時の動作の一例を示す説明図である。以下、符号P21〜P30で示す処理について説明する。なお、オフライン起動時は、サーバ200からの暗号化OSイメージ201のダウンロード処理は行われない。
P21(電源投入):ユーザが電源スイッチ14を操作してデバイス100に対して電源を投入する。
P22(BIOS21の起動):電源投入されたデバイス100は、不揮発性記録部12に保持されているBIOS21を起動する。
P23(ブートローダ22の起動):BIOS21は、不揮発性記録部12に保持されているブートローダ22を起動する。
P24(OSイメージダウンロード要求):ブートローダ22は、セキュアエレメント50に対し、OSイメージのダウンロード要求(OSの要求信号とも称する)を行う。セキュアエレメント50は、当該要求を取得した場合、ダウンロード処理部51による処理を呼び出す。
P25(オフライン起動チェック):ダウンロード処理部51は、不揮発性メモリ54に保持されているオフライン起動許可フラグ55をチェックし、フラグが「許可(オフライン起動)」であることを確認する。
P26(OSイメージの存在確認):ダウンロード処理部51は、フラグが「許可」であることを確認すると、暗号化OSイメージ56が不揮発性メモリ54に保持されているか確認し、暗号化OSイメージ56が保持されている場合には、ブートローダ22に対してダウンロード完了を通知する。
P27(OSイメージ展開要求):ブートローダ22は、ダウンロード完了の通知を受けると、セキュアエレメント50に対して、OSイメージの展開を要求する。セキュアエレメント50は、OSイメージの展開の要求を受けると、復号処理部52による処理を呼び出す。
P28(OSイメージの復号と展開):復号処理部52は、不揮発性メモリ54に保持している暗号化OSイメージ56を、OSイメージ復号鍵57を用いて復号する。安全性の高い不揮発性メモリ54に記憶した暗号化OSイメージ56の復号処理をセキュアエレメント50内で行うことによって、OSイメージの改ざん又は置き換えを防止することができる。復号処理部52は、復号されたOSカーネル23及びファイルシステム24をデバイス側へ出力し、RAM13上に展開する。デバイス側とセキュアエレメント50との間は、秘匿性を有する内部バス32によって接続することができるので、ブートするOSイメージの改ざん又は置き換えを防止することができる。
P29(OSカーネル23の起動):ブートローダ22は、RAM13上に展開されたOSカーネル23を起動する。
P30(ファイルシステム24の読み込み):OSカーネル23は、RAM13上に展開されたファイルシステム24を有効化し、アクセス可能にする。ファイルシステム24が有効化された後、OSは起動を完了して定常状態に移行する。これにより、ユーザのログインを許可すること、サーバサービスを開始すること等、OSの機能をユーザに提供することができる。
上述の構成により、多種多様なデバイス100のOS起動時のセキュリティを確保することができる。
図4は本実施の形態のセキュアエレメント50によるOS起動処理手順の一例を示すフローチャートである。セキュアエレメント50は、ブートローダ22からOSイメージのダウンロード要求を取得する(S11)。セキュアエレメント50は、オフライン起動許可フラグ55を判定し(S12)、拒否である場合(S12で拒否)、サーバ200との間で秘匿通信路61を確立する(S13)。
セキュアエレメント50は、秘匿通信路61を介して、サーバ200から暗号化されたOSイメージ(暗号化OSイメージ201)をダウンロードし(S14)、ダウンロード完了をブートローダ22へ通知する(S15)。
セキュアエレメント50は、ブートローダ22からOSイメージの要求があるか否かを判定し(S16)、要求がない場合(S16でNO)、ステップS16の処理を続ける。要求があった場合(S16でYES)、セキュアエレメント50は、暗号化されたOSイメージを復号し(S17)、復号したOSイメージをデバイス100のRAM13上に展開し(S18)、処理を終了する。
オフライン起動許可フラグ55が許可である場合(S12で許可)、セキュアエレメント50は、不揮発性メモリ54に暗号化されたOSイメージ(暗号化OSイメージ56)が記憶(保持)されているか否かを判定し(S19)、記憶されている場合(S19でYES)、ステップS15以降の処理を行う。
暗号化されたOSイメージが記憶されていない場合(S19でNO)、セキュアエレメント50は、処理を終了する。なお、暗号化されたOSイメージが記憶されていない場合に、セキュアエレメント50の処理は、運用上のセキュリティポリシーに準拠することができ、上述のように、動作を停止してもよく、あるいは、サーバ200から強制的に暗号化OSイメージ201をダウンロードしてもよい。
図5は本実施の形態のOS起動システムのOSイメージ照合時の動作の一例を示す説明図である。以下、符号P41〜P45で示す処理について説明する。
P41(OSカーネル23の入力):デバイス100は、現在動作中のOSカーネル23の内容をセキュアエレメント50へ出力する。セキュアエレメント50は、取得したOSカーネル23の内容をRAM58上に保持する。
P42(ファイルシステム24の入力):デバイス100は、現在のファイルシステム24の内容をセキュアエレメント50へ出力する。セキュアエレメント50は、取得したファイルシステム24の内容をRAM58上に保持する。
P43(照合すべきデータの展開):復号処理部52は、不揮発性メモリ54に保持する暗号化OSイメージ56を復号し、復号したOSカーネル563及びファイルシステム564(いずれも平文)をRAM58上に展開する。
P44(照合):比較処理部53は、RAM58上に展開されたOSカーネル23とOSカーネル563とを照合し、一致・不一致判定を行う。また、比較処理部53は、RAM58上に展開されたファイルシステム24とファイルシステム564とを照合し、一致・不一致判定を行う。OSイメージの照合は、OSイメージの全体でもよく、一部(例えば、OSカーネルの一部、ファイルシステムの一部)でもよい。照合アルゴリズムは、例えば、平文による照合でもよいが、これに限定されない。
P45(照合結果の通知):比較処理部53は、通知部としての機能を有し、照合結果(例えば、一致又は不一致)をブートローダ22によって読み込まれたOS23へ通知する。不揮発性メモリ54に記憶した、正しいOSイメージと比較することができるので、デバイス側で動作しているOSが正しいか(例えば、改ざんされていないか)を確認することができる。
セキュアエレメント50は、停止部としての機能を有し、比較処理部53での照合結果に基づいてブートローダ22によって読み込まれたOSの動作を停止させる。例えば、OSイメージが一致しないと判定された場合、デバイス側のOSの動作を停止させることにより、正しくないOSの動作による悪影響を防止することができる。なお、当該停止部の機能をデバイス側で具備するようにしてもよい。この場合、例えば、CPU10が停止部の機能を実行することができる。すなわち、セキュアエレメント50は、比較処理部53での照合結果をデバイス側(CPU10)へ出力し、CPU10は、比較処理部53での照合結果に基づいてブートローダ22によって読み込まれたOSの動作を停止させる。
セキュアエレメント50は、復旧部としての機能を有し、比較処理部53での照合結果に基づいてブートローダ22によって読み込まれたOSのイメージを復旧させる。例えば、OSイメージが一致しないと判定された場合、デバイス側のOSを正しいOSに復旧させることにより、正しくないOSの動作による悪影響を防止することができる。なお、当該復旧部の機能をデバイス側で具備するようにしてもよい。この場合、例えば、CPU10が復旧部の機能を実行することができる。すなわち、セキュアエレメント50は、比較処理部53での照合結果をデバイス側(CPU10)へ出力し、CPU10は、比較処理部53での照合結果に基づいてブートローダ22によって読み込まれたOSのイメージを復旧させる。
上述のOSイメージの照合処理は、例えば、1分毎、1時間毎、1日毎など適宜のタイミングで実行することができる。また、OSイメージの照合処理は、ハッシュ関数を用いて、ハッシュ値を比較して行うこともできる。
図6は本実施の形態のセキュアエレメント50によるOSイメージ照合処理手順の一例を示すフローチャートである。セキュアエレメント50は、動作中のOSカーネル23の内容をデバイス側から取得し(S31)、現在のファイルシステム24の内容をデバイス側から取得する(S32)。セキュアエレメント50は、取得したOSカーネル23の内容及びファイルシステム24の内容をRAM58上に保持する(S33)。
セキュアエレメント50は、暗号化されたOSイメージ56を記憶部(不揮発性メモリ54)から読み出し(S34)、暗号化されたOSカーネル561及び暗号化されたファイルシステム562を、OSイメージ復号鍵57を用いて復号する(S35)。
セキュアエレメント50は、復号したOSカーネル563及びファイルシステム564をRAM58上に展開する(S36)。セキュアエレメント50は、OSイメージ(OSカーネル及びファイルシステム)の比較処理(照合処理)を行い(S37)、照合結果をデバイス側(動作中のOS)へ通知し(S38)、処理を終了する。
秘匿性を有するセキュアな不揮発性メモリに、図4及び図6に示すような処理手順を定めたコンピュータプログラムをロードし、CPU(プロセッサ)により当該コンピュータプログラムを実行させることにより、セキュアエレメント50内のダウンロード処理部51、復号処理部52及び比較処理部53を実現することができる。
上述のように、本実施の形態によれば、デバイス100が個別にブートローダを具備することにより、ハードウェア制御を含む個々の設定をデバイス100毎に行うことができる。また、OSの起動に関する処理は、セキュアエレメント50に対するOSイメージ要求及び当該OSイメージの起動のみとすることによって、OS起動手順を共通化することができるとともに、最小限化することができる。
また、本実施の形態によれば、セキュアエレメント50は、サーバ200から取得したOSイメージを、秘匿性を保ったまま安全に保持することができ、オフライン起動時のOSイメージの供給元として機能することができる。また、セキュアエレメント50は、OSイメージを安全に保持するので、デバイス側で動作中のOSイメージとの照合を行うことができ、また、デバイス側のOSイメージが破損し、あるいは改ざんされても、正しいOSイメージに復旧させることができる。
また、本実施の形態によれば、OSイメージの復号処理及びOSイメージ復号鍵57をセキュアエレメント50の内部で保持するので、両者の耐タンパ性を保ったまま、デバイス側に正しいOSイメージを提供することができる。
また、本実施の形態によれば、オフライン起動許可フラグ55をサーバ200から設定可能とすることによって、デバイス100の起動制御をネットワーク経由で行うことができる。また、オフライン起動時でも、セキュアエレメント50は、正しいOSイメージをデバイス側へ供給することができる。
本実施の形態に係るセキュアエレメントは、OSを読み込むためのブートローダからOSの要求信号を取得する要求信号取得部と、該要求信号取得部で要求信号を取得した場合、暗号化されたOSイメージを復号する復号部と、前記ブートローダによって読み込むため、前記復号部で復号されたOSイメージを出力する出力部とを備える。
本実施の形態に係るコンピュータプログラムは、コンピュータに、ブートローダによって読み込むためOSイメージを出力させるためのコンピュータプログラムであって、コンピュータに、前記ブートローダからOSの要求信号を取得する処理と、前記要求信号を取得した場合、暗号化されたOSイメージを復号する処理と、前記ブートローダによって読み込むため、復号されたOSイメージを出力する処理とを実行させる。
本実施の形態に係るデバイスは、本実施の形態に係るセキュアエレメントと、OSを読み込むためのブートローダとを備える。
本実施の形態に係るOS起動システムは、本実施の形態に係るデバイスと、前記ブートローダによって読み込まれるOSのイメージを暗号化して記憶するサーバとを備える。
本実施の形態に係るOS起動方法は、OSを読み込むためのブートローダからOSの要求信号を要求信号取得部が取得し、前記要求信号が取得された場合、暗号化されたOSイメージを復号部が復号し、前記ブートローダによって読み込むため、復号されたOSイメージを出力部が出力する。
要求信号取得部は、OSを読み込むためのブートローダからOSの要求信号を取得する。ブートローダは、セキュアエレメントが組み込まれるデバイスに備えられている。便宜上、デバイスのうちセキュアエレメント以外の部分をデバイス側と称する。ブートローダがデバイス側にあることによって、セキュアエレメントは、多種多様なデバイスに対して共通の構造とすることができる。
復号部は、要求信号取得部で要求信号を取得した場合、暗号化されたOSイメージを復号する。暗号化されたOSイメージの復号処理をセキュアエレメント内で行うことによって、復号処理及び復号鍵の秘匿性を担保することができる。
出力部は、ブートローダによって読み込むため、復号部で復号されたOSイメージを出力する。すなわち、出力部は、復号されたOSイメージをデバイス側へ出力する。デバイス側とセキュアエレメントとの間は、秘匿性を有する内部バスによって接続することができるので、ブートするOSイメージの改ざん又は置き換えを防止することができる。
上述の構成によって、多種多様なデバイスのOS起動時のセキュリティを確保することができる。
本実施の形態に係るセキュアエレメントは、起動態様を識別する識別子と、所定のサーバとの間で暗号化された秘匿通信路を確立する通信部とを備え、前記通信部は、前記識別子がオンライン起動である場合、前記サーバから暗号化されたOSイメージを取得し、前記復号部は、前記通信部で取得したOSイメージを復号する。
識別子は、起動態様を識別する。起動態様は、例えば、オンライン起動及びオフライン起動とすることができる。デバイス側のブートローダによって読み込まれるOSの入手先を決定する識別子をデバイス側でなくセキュアエレメントが有することにより、セキュアエレメントによってOSイメージの取得先を決めることができる。
通信部は、所定のサーバとの間で暗号化された秘匿通信路を確立する。秘匿通信路においては、例えば、TLS(Transport Layer Security)などのプロトコルによって通信を行うことができる。
通信部は、識別子がオンライン起動である場合、サーバから暗号化されたOSイメージを取得する。これにより、OSイメージを、秘匿性を保ったまま安全に取得することができる。
復号部は、通信部で取得したOSイメージを復号する。安全に取得したOSイメージの復号処理をセキュアエレメント内で行うことによって、OSイメージの改ざん又は置き換えを防止することができる。
本実施の形態に係るセキュアエレメントは、暗号化されたOSイメージを記憶する記憶部を備え、前記復号部は、前記識別子がオフライン起動である場合、前記記憶部に記憶したOSイメージを復号する。
記憶部は、暗号化されたOSイメージを記憶する。記憶部は、例えば、耐タンパ性を有する不揮発性メモリとすることができる。
復号部は、識別子がオフライン起動である場合、記憶部に記憶したOSイメージを復号する。安全性の高い記憶部に記憶したOSイメージの復号処理をセキュアエレメント内で行うことによって、OSイメージの改ざん又は置き換えを防止することができる。
本実施の形態に係るセキュアエレメントは、前記ブートローダによって読み込まれたOSのイメージを取得する取得部と、該取得部で取得したOSイメージと前記記憶部に記憶したOSイメージとを照合する照合部と、該照合部での照合結果を前記ブートローダによって読み込まれたOSへ通知する通知部とを備える。
取得部は、ブートローダによって読み込まれたOSのイメージを取得する。例えば、デバイス側で動作中のOSイメージを取得することができる。
照合部は、取得部で取得したOSイメージと記憶部に記憶したOSイメージとを照合する。OSイメージの照合は、OSイメージの全体でもよく、一部(例えば、OSカーネルの一部、ファイルシステムの一部)でもよい。照合アルゴリズムは、例えば、平文による照合でもよいが、これに限定されない。
通知部は、照合部での照合結果(例えば、一致又は不一致)をブートローダによって読み込まれたOSへ通知する。記憶部に記憶した、正しいOSイメージと比較することができるので、デバイス側で動作しているOSが正しいか(例えば、改ざんされていないか)を確認することができる。
本実施の形態に係るセキュアエレメントは、前記照合部での照合結果に基づいて前記ブートローダによって読み込まれたOSの動作を停止させる停止部を備える。
本実施の形態に係るデバイスは、前記セキュアエレメントの前記照合部での照合結果に基づいて前記ブートローダによって読み込まれたOSの動作を停止させる停止部を備える。
停止部は、照合部での照合結果に基づいてブートローダによって読み込まれたOSの動作を停止させる。例えば、OSイメージが一致しないと判定された場合、デバイス側のOSの動作を停止させることにより、正しくないOSの動作による悪影響を防止することができる。
本実施の形態に係るセキュアエレメントは、前記照合部での照合結果に基づいて前記ブートローダによって読み込まれたOSのイメージを復旧させる復旧部を備える。
本実施の形態に係るデバイスは、前記セキュアエレメントの前記照合部での照合結果に基づいて前記ブートローダによって読み込まれたOSのイメージを復旧させる復旧部を備える。
復旧部は、照合部での照合結果に基づいてブートローダによって読み込まれたOSのイメージを復旧させる。例えば、OSイメージが一致しないと判定された場合、デバイス側のOSを正しいOSに復旧させることにより、正しくないOSの動作による悪影響を防止することができる。
本実施の形態に係るセキュアエレメントは、前記秘匿通信路を介して前記識別子を、オンライン起動又はオフライン起動に設定する処理を受け付ける受付部を備える。
受付部は、秘匿通信路を介して識別子を、オンライン起動又はオフライン起動に設定する処理を受け付ける。例えば、サーバから識別子を設定可能にすることができる。これにより、OSイメージの取得先を状況に応じて変更することができる。
10 CPU
11 ネットワーク通信部
12 不揮発性記録部
13 RAM
14 電源スイッチ
21 BIOS
22 ブートローダ
23 OSカーネル
24 ファイルシステム
31、32 内部バス
50セキュアエレメント
51 ダウンロード処理部
52 復号処理部
53 比較処理部
54 不揮発性メモリ
55 オフライン起動許可フラグ
56 暗号化OSイメージ
561 OSカーネル
562 ファイルシステム
57 OSイメージ復号鍵
58 RAM
61 秘匿通信路
200 サーバ
201 暗号化OSイメージ
202 OSカーネル
203 ファイルシステム

Claims (13)

  1. OSを読み込むためのブートローダからOSの要求信号を取得する要求信号取得部と、
    該要求信号取得部で要求信号を取得した場合、暗号化されたOSイメージを復号する復号部と、
    前記ブートローダによって読み込むため、前記復号部で復号されたOSイメージを出力する出力部と
    を備えるセキュアエレメント。
  2. 起動態様を識別する識別子と、
    所定のサーバとの間で暗号化された秘匿通信路を確立する通信部と
    を備え、
    前記通信部は、
    前記識別子がオンライン起動である場合、前記サーバから暗号化されたOSイメージを取得し、
    前記復号部は、
    前記通信部で取得したOSイメージを復号する請求項1に記載のセキュアエレメント。
  3. 暗号化されたOSイメージを記憶する記憶部を備え、
    前記復号部は、
    前記識別子がオフライン起動である場合、前記記憶部に記憶したOSイメージを復号する請求項2に記載のセキュアエレメント。
  4. 前記ブートローダによって読み込まれたOSのイメージを取得する取得部と、
    該取得部で取得したOSイメージと前記記憶部に記憶したOSイメージとを照合する照合部と、
    該照合部での照合結果を前記ブートローダによって読み込まれたOSへ通知する通知部と
    を備える請求項3に記載のセキュアエレメント。
  5. 前記照合部での照合結果に基づいて前記ブートローダによって読み込まれたOSの動作を停止させる停止部を備える請求項4に記載のセキュアエレメント。
  6. 前記照合部での照合結果に基づいて前記ブートローダによって読み込まれたOSのイメージを復旧させる復旧部を備える請求項4に記載のセキュアエレメント。
  7. 前記秘匿通信路を介して前記識別子を、オンライン起動又はオフライン起動に設定する処理を受け付ける受付部を備える請求項2から請求項6のいずれか一項に記載のセキュアエレメント。
  8. コンピュータに、ブートローダによって読み込むためOSイメージを出力させるためのコンピュータプログラムであって、
    コンピュータに、
    前記ブートローダからOSの要求信号を取得する処理と、
    前記要求信号を取得した場合、暗号化されたOSイメージを復号する処理と、
    前記ブートローダによって読み込むため、復号されたOSイメージを出力する処理と
    を実行させるコンピュータプログラム。
  9. 請求項1から請求項7のいずれか一項に記載のセキュアエレメントと、OSを読み込むためのブートローダとを備えるデバイス。
  10. 前記セキュアエレメントの前記照合部での照合結果に基づいて前記ブートローダによって読み込まれたOSの動作を停止させる停止部を備える請求項9に記載のデバイス。
  11. 前記セキュアエレメントの前記照合部での照合結果に基づいて前記ブートローダによって読み込まれたOSのイメージを復旧させる復旧部を備える請求項9に記載のデバイス。
  12. 請求項9から請求項11のいずれか一項に記載のデバイスと、前記ブートローダによって読み込まれるOSのイメージを暗号化して記憶するサーバとを備えるOS起動システム。
  13. OSを読み込むためのブートローダからOSの要求信号を要求信号取得部が取得し、
    前記要求信号が取得された場合、暗号化されたOSイメージを復号部が復号し、
    前記ブートローダによって読み込むため、復号されたOSイメージを出力部が出力するOS起動方法。
JP2017124308A 2017-06-26 2017-06-26 セキュアエレメント、コンピュータプログラム、デバイス、os起動システム及びos起動方法 Active JP7019976B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017124308A JP7019976B2 (ja) 2017-06-26 2017-06-26 セキュアエレメント、コンピュータプログラム、デバイス、os起動システム及びos起動方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017124308A JP7019976B2 (ja) 2017-06-26 2017-06-26 セキュアエレメント、コンピュータプログラム、デバイス、os起動システム及びos起動方法

Publications (2)

Publication Number Publication Date
JP2019008592A true JP2019008592A (ja) 2019-01-17
JP7019976B2 JP7019976B2 (ja) 2022-02-16

Family

ID=65028900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017124308A Active JP7019976B2 (ja) 2017-06-26 2017-06-26 セキュアエレメント、コンピュータプログラム、デバイス、os起動システム及びos起動方法

Country Status (1)

Country Link
JP (1) JP7019976B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020166317A (ja) * 2019-03-28 2020-10-08 オムロン株式会社 制御システム、セキュリティ装置および方法
WO2022156507A1 (zh) * 2021-01-20 2022-07-28 浪潮电子信息产业股份有限公司 虚拟光驱生成方法、装置及计算机可读存储介质
JP7467151B2 (ja) 2019-02-12 2024-04-15 アイデミア フランス 電子素子、そのような電子素子を含むシステム、及びプロセッサを監視する方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006221631A (ja) * 2005-02-07 2006-08-24 Sony Computer Entertainment Inc プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置
JP2007034875A (ja) * 2005-07-29 2007-02-08 Sony Computer Entertainment Inc ペリフェラルの使用管理方法、電子システム及びその構成装置
JP2009238155A (ja) * 2008-03-28 2009-10-15 Nippon Telegr & Teleph Corp <Ntt> データ記憶システムおよびデータ記憶方法
JP2015152996A (ja) * 2014-02-12 2015-08-24 セイコーエプソン株式会社 プリンター及びプリンターの制御方法
JP5940159B2 (ja) * 2011-09-30 2016-06-29 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 非トラステッド・ユーザ端末にオペレーティング・システム・イメージをプロビジョニングするための方法、コンピュータ・プログラム、デバイス、装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006221631A (ja) * 2005-02-07 2006-08-24 Sony Computer Entertainment Inc プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置
JP2007034875A (ja) * 2005-07-29 2007-02-08 Sony Computer Entertainment Inc ペリフェラルの使用管理方法、電子システム及びその構成装置
JP2009238155A (ja) * 2008-03-28 2009-10-15 Nippon Telegr & Teleph Corp <Ntt> データ記憶システムおよびデータ記憶方法
JP5940159B2 (ja) * 2011-09-30 2016-06-29 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 非トラステッド・ユーザ端末にオペレーティング・システム・イメージをプロビジョニングするための方法、コンピュータ・プログラム、デバイス、装置
JP2015152996A (ja) * 2014-02-12 2015-08-24 セイコーエプソン株式会社 プリンター及びプリンターの制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7467151B2 (ja) 2019-02-12 2024-04-15 アイデミア フランス 電子素子、そのような電子素子を含むシステム、及びプロセッサを監視する方法
JP2020166317A (ja) * 2019-03-28 2020-10-08 オムロン株式会社 制御システム、セキュリティ装置および方法
JP7300866B2 (ja) 2019-03-28 2023-06-30 オムロン株式会社 制御システム
WO2022156507A1 (zh) * 2021-01-20 2022-07-28 浪潮电子信息产业股份有限公司 虚拟光驱生成方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
JP7019976B2 (ja) 2022-02-16

Similar Documents

Publication Publication Date Title
US9281949B2 (en) Device using secure processing zone to establish trust for digital rights management
US7299358B2 (en) Indirect data protection using random key encryption
JP4912879B2 (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
JP5940159B2 (ja) 非トラステッド・ユーザ端末にオペレーティング・システム・イメージをプロビジョニングするための方法、コンピュータ・プログラム、デバイス、装置
JP6675227B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
US8694763B2 (en) Method and system for secure software provisioning
US8019994B2 (en) Authentication of a request to alter at least one of a BIOS and a setting associated with the BIOS
US20120166781A1 (en) Single security model in booting a computing device
US20040176068A1 (en) Architecture for encrypted application installation
US9344406B2 (en) Information processing device, information processing method, and computer program product
KR101756978B1 (ko) 트러스티드 실행 환경 기반의 어플리케이션 프로그램 보호 방법 및 시스템
CN107341003B (zh) 定制系统实现方法、计算机设备和存储介质
JP7019976B2 (ja) セキュアエレメント、コンピュータプログラム、デバイス、os起動システム及びos起動方法
US20100153667A1 (en) Method, computer program and electronic device
CN110874467A (zh) 信息处理方法、装置、系统以及处理器、存储介质
KR102256249B1 (ko) 통합 보안 SoC를 이용한 IoT 디바이스의 안전한 펌웨어 업데이트 방법
JP2016146618A (ja) 情報処理装置
JP2006514321A (ja) 暗号化されたアプリケーションをインストールするためのアーキテクチャ
US20020169976A1 (en) Enabling optional system features
JP6930884B2 (ja) Bios管理装置、bios管理システム、bios管理方法、及び、bios管理プログラム
CN110914825B (zh) 用于管理类的实例的方法
JP7428049B2 (ja) デバイス、セキュアエレメント及びデバイスのセキュアブート方法
KR20220062866A (ko) 네트워크 카메라 및 그의 보안 서비스 제공 방법
JP2012058803A (ja) シンクライアントシステム、およびオペレーティングシステム更新方法
US11971991B2 (en) Information processing apparatus, control method for controlling the same and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210421

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211130

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20211130

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20211207

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20211214

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: 20220104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220117

R150 Certificate of patent or registration of utility model

Ref document number: 7019976

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150