JP2014029688A - セキュアエレメントのためのオペレーティングシステムのアップデート - Google Patents

セキュアエレメントのためのオペレーティングシステムのアップデート Download PDF

Info

Publication number
JP2014029688A
JP2014029688A JP2013150450A JP2013150450A JP2014029688A JP 2014029688 A JP2014029688 A JP 2014029688A JP 2013150450 A JP2013150450 A JP 2013150450A JP 2013150450 A JP2013150450 A JP 2013150450A JP 2014029688 A JP2014029688 A JP 2014029688A
Authority
JP
Japan
Prior art keywords
operating system
secure element
updater device
boot program
message
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
JP2013150450A
Other languages
English (en)
Other versions
JP6214259B2 (ja
Inventor
Christophe Giraud
ジロー,クリストフ
Chamley Olivier
シャムレ,オリヴィエ
Godel Gregoire
ゴデル,グレゴワール
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.)
Idemia France SAS
Original Assignee
Oberthur Technologies SA
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 Oberthur Technologies SA filed Critical Oberthur Technologies SA
Publication of JP2014029688A publication Critical patent/JP2014029688A/ja
Application granted granted Critical
Publication of JP6214259B2 publication Critical patent/JP6214259B2/ja
Active 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/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/77Protecting 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 in smart cards
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/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/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】セキュアエレメントのソフトウェアの、信頼できるセキュアなアップデート方法を提供する。
【解決手段】ブートプログラム38は、マイクロプロセッサ31によって実行されるときに、不揮発性メモリ34がアクティブなオペレーティングシステム35を格納しているか決定し、その決定が肯定的な場合、オペレーティングシステム35の実行を開始する起動ステップと、セキュアエレメント30によって決定された第1認証データ及びアップデータデバイス10から受取った第2認証データに応じてアップデータデバイス10を認証する認証ステップと、認証ステップを受けて、アップデータデバイス10から受取った新規なオペレーティングシステムを不揮発性メモリ34に格納するステップと、新規なオペレーティングシステムをアクティブにするアクティベーションステップと、を実行するための命令を備える。
【選択図】図1

Description

本発明は、スマートカードのようなオンボードのセキュアエレメントの分野に関する。
例えば、スマートカードであるオンボードのセキュアエレメントは、典型的にはコンピュータのアーキテクチャを有し、特に、マイクロプロセッサと、マイクロプロセッサによって実行可能なコンピュータプログラムを備える不揮発性メモリとを備えている。特に、不揮発性メモリは、ユーザに利用可能となる前に製造者によってロードされたセキュアエレメントに関するオペレーティングシステムを備える。
ユーザへの提供後に、セキュアエレメントに関するそのオペレーティングシステムをアップデートすることが好ましい場合がある。
文献WO2012/062632A1には、オンボードのエレメントにおいてソフトウェアをアップデートするプロセスが記載されている。このプロセスは、ソフトウェアの削除工程と、そのソフトウェアの代わりに、オンボードのエレメントを起動するときにアップデートされたプライミングプログラムをロードする、アップデートマネジメントプログラムのロード工程とを備える。この解決手段のセキュリティはそのソフトウェアのインプリントのみに基づいている。このため、この解決手段は、高度なセキュリティを必要とする用途には適していない。また、このプロセスは、セキュリティエレメントを2回再起動する必要がある。
従って、セキュアエレメントのソフトウェアの、信頼できるセキュアなアップデート方法に対する需要が存在する。
本発明は、少なくとも1つのマイクロプロセッサ、不揮発性メモリ、及び通信インターフェースを備えるセキュアエレメントを提案する。前記セキュアエレメントは、前記通信インターフェースを介してアップデータデバイスと通信可能になっている。前記不揮発性メモリは少なくとも1つのブートブログラムを格納している。前記マイクロプロセッサは前記セキュアエレメントを起動する間に前記ブートブログラムを実行するように構成されている。このセキュアエレメントは、前記ブートプログラムは、命令であって、当該命令が前記マイクロプロセッサによって実行されるときに、前記不揮発性メモリがアクティブなオペレーティングシステムを格納しているか決定し、その決定が肯定的な場合、前記オペレーティングシステムの実行を開始する起動ステップと、前記セキュアエレメントによって決定された第1認証データ及び前記アップデータデバイスから受取った第2認証データに応じて前記アップデータデバイスを認証する認証ステップと、前記認証ステップを受けて、前記アップデータデバイスから受け取った新規なオペレーティングシステムを前記不揮発性メモリに格納する格納ステップと、前記新規なオペレーティングシステムをアクティブにするアクティベーションステップと、を実行するための命令を備えることを特徴とする。
これにより、前記ブートプログラムは、セキュアに、信頼性をもって、オペレーティングシステムをアップデートできる。実際、このアップデートはアップデータデバイスの認証を必要とするので、サードパーティがオペレーティングシステムのエラーを含むバージョンをセキュアエレメントに供給することは不可能である。
1つの実施形態によれば、前記アップデータデバイスを認証する認証ステップは、変数を含むメッセージを前記アップデータデバイスに送信するステップと、第2認証データを受け取るステップと、前記変数及び前記不揮発性メモリに格納されたキーに応じて第1認証データを決定する決定ステップと、前記第1認証データと前記第2認証データとを比較するステップとを備える。
このように、前記ブートプログラム自身はアップデータデバイスの認証を完了するために必要なすべての命令を備える。このオペレーティングシステムのアップデートは、不揮発性メモリが全くオペレーティングシステムを含んでいないとき、又は、例えば、以前のアップデート試行が成功していない期間のように、オペレーティングシステムがインアクティブになっているときに、開始され又は継続されることが可能である。
前記ブートブログラムは、前記キー及び前記変数に応じた暗号化データを含むメッセージを前記アップデータデバイスに送信するステップを実行するための命令をさらに備えることができる。
これにより、アップデータデバイスがセキュアエレメントを認証できる。従って、セキュアエレメントとアップデータデバイスとの相互認証が完了する。これにより、セキュアに認証されたエレメントのみがオペレーティングシステムの新規バージョンを取得できる。
1つの実施形態によれば、前記不揮発性メモリは、前記変数を含むメッセージを前記アップデータデバイスに送信するステップと、前記第2認証データを受け取るステップと、必要に応じ、前記キー及び前記変数に応じた暗号化データを含むメッセージを前記アップデータデバイスに送信するステップとを実行するための命令を含むオペレーティングシステムを備える。
この場合、不揮発性メモリがアクティブなオペレーティングシステムを備えていると、このオペレーティングシステムは、前記ブートプログラムと共同で、前記の認証に関与させる命令を備える。このため、セキュアエレメントの通常動作の期間に、その動作がオペレーティングシステムによって管理されているときに、オペレーティングシステムのアップデートが開始される。
前記格納ステップは、暗号化された前記新規なオペレーティングシステムの受取りを備えることができる。
これにより、アップデータデバイスとセキュアエレメントとの間の通信を傍受するサードパーティはオペレーションシステムの新規バージョンを取得できない。
この場合、前記認証ステップは、前記キー及び前記変数に応じたセッションキーの決定を備えることができ、前記格納ステップは、前記セッションキーで暗号化された新規なオペレーティングシステムの受取りを備えることができる。
同一のセッションキーを暗号化された認証及び通信に用いるので、セキュアエレメントに必要な暗号のリソースが限定される。
セキュリティ及び信頼性に関する理由から、前記ブートプログラムは好ましくは変更不能に格納されている。
例えば、前記ブートプログラムは前記不揮発性メモリの書換不能部に格納されている。
変形例として、前記ブートプログラムは前記不揮発性メモリの書換可能部に格納され、前記不揮発性メモリは前記ブートプログラムへの書き込みコマンドをブロックするように構成されたオペレーティングシステムを含む。
また、本発明は、少なくとも1つのマイクロプロセッサ、不揮発性メモリ、及び本発明に係るセキュアエレメントを備えるターミナルであって、前記ターミナルの前記不揮発性メモリは、アップデートマネジメントプログラム及び前記セキュアエレメントによって提供されるサービスを用いるために設計されたアプリケーションを備え、前記アップデートマネジメントプログラムは、命令であって、当該命令が前記ターミナルの前記マイクロプロセッサによって実行されているときに、アップデータデバイスの新規なオペレーティングシステムの受取り及び受け取った前記新規なオペレーティングシステムの前記セキュアエレメントへの送付を含む伝送ステップと、少なくとも前記伝送ステップの間に前記サービスを非動作状態にするデアクティベーションステップとを実行するための命令を備える、ターミナルを提案する。
また、本発明は、少なくとも1つの本発明に係るセキュアエレメントと、オペレーティングシステムの新規バージョンを格納しているアップデータデバイスと、を備えるシステムを提供する。
本発明の他の特徴及び利点は、非限定的な特徴を有する実施形態を示す添付の図を参照してなされる以下の説明から明らかになるであろう。
本発明の一の実施形態に係るセキュアエレメントを含むシステムを説明する図 図1のセキュアエレメントのブートプログラムの実行に係るメインステップを説明する図 セキュアエレメントのオペレーティングシステムをアップデートする間における図1のシステムのインタラクションを説明する図 図4A、図4B、図4C、及び図4Dは、異なる時間において図1のセキュアエレメントの不揮発性メモリの状態を説明する図 図5A、図5B、図5C、及び図5Dは、コマンド処理を説明するために図1のセキュアエレメントの不揮発性メモリを説明する図 オペレーティングシステムの暗号化された新規バージョンを含むブロックを決定するための一例を説明する図 オペレーティングシステムの暗号化された新規バージョンを含むブロックを決定するための一例を説明する図
図1は、アップデータデバイス10、ターミナル20、及びターミナル20に組み込まれたセキュアエレメント30を備えるシステムを示す。
アップデータデバイス10は物理的なコンピュータのアーキテクチャを有し、特に、マイクロプロセッサ11、通信インターフェース12、揮発性メモリ13、及び不揮発性メモリ14を備える。マイクロプロセッサ11は、揮発性メモリ13を作業空間として用いることによって、不揮発性メモリ14に格納されたコンピュータプログラムを実行することができる。通信インターフェース10は、ターミナル20と通信する。
不揮発性メモリ14は、特に、秘密キーKとともに、OS(V2)と示されている、セキュアエレメントのオペレーティングシステムの新規バージョンを格納している。
アップデータデバイス10は、例えば、セキュアエレメントの製造者の敷地に設けられたアップデートサーバーである。この場合、通信インターフェース12は、例えばインターネットのような通信ネットワークを通じたターミナル20との通信をセットアップする。変形例では、アップデータデバイス10そのものが、例えばSDカード、NFCカード、又はUSBメモリのようなセキュアエレメントである可能性がある。この場合、通信インターフェース12は、セキュアエレメントリーダを通じてターミナル20との通信をセットアップする。
ターミナル20は、例えば、携帯電話のようにユーザに付属して持ち運び可能なターミナルである。
ターミナル20は、物理的なコンピュータのアーキテクチャを有し、特に、マイクロプロセッサ21、通信インターフェース22、揮発性メモリ23、不揮発性メモリ24、及び通信インターフェース26を備える。マイクロプロセッサ21は、揮発性メモリ23を作業空間として用いることによって、不揮発性メモリ24に格納されたコンピュータプログラムを実行する。通信インターフェース22は、アップデータデバイス10と通信する。通信インターフェース26は、セキュアエレメント30と通信する。
不揮発性メモリ24は、特に、ターミナル20のオペレーティングシステム25、アップデートマネジメントプログラムP1、並びにユーザのデータ及びアプリケーションを格納している。アプリケーションA1が示されている。
プログラムP1の機能は、セキュアエレメント30のオペレーティングシステムをアップデートするために、セキュアエレメント30とアップデータデバイス10との間の通信を管理することである。プログラムP1は、図1に示されているように、好ましくは、ターミナル20のオペレーティングシステム25に組み込まれたモジュールである。
セキュアエレメント30は、例えば、ターミナル20に取り外し可能に収容されたスマートカードである。
セキュアエレメント30は、物理的なコンピュータのアーキテクチャを有し、特に、マイクロプロセッサ31、通信インターフェース36、揮発性メモリ33、及び不揮発性メモリ34を備える。マイクロプロセッサ31は、揮発性メモリ33を作業空間として用いることによって、不揮発性メモリ34に格納されたコンピュータプログラムを実行する。通信インターフェース36は、ターミナル20と通信する。
不揮発性メモリ34は、特に、ブートプログラム38(《ブートローダ》としてBLと示されている)、オペレーティングシステム35、ユーザデータ37、MKiキー、シリアルナンバーNi、オペレーティングシステム35のステータスインジケータ39、認証カウンタCの値を示す変数70を格納している。
図示された状態において、オペレーティングシステム35は、アップデータデバイス10によって格納されたバージョンOS(V2)とは異なる、OS(V1)と示された第1バージョンである。
オペレーティングシステム35のステータスインジケータ39は《アクティブ》又は《インアクティブ》の値をとる。それは、例えば、オペレーティングシステム35に格納されたステータスビット又は不揮発性メモリ34に格納された別のものであり得る。その役割を以下に説明する。
認証カウンタCは、例えば50である所定値に初期化される。オペレーティングシステムのアップデートプロセスの間に、カウンタCはデクリメントされる。アップデートプロセスを完了したときに、それが成功していなければ、カウンタは再び初期化される。カウンタCの値が例えば3である特定の閾値以下に減少する場合、このことはあまりに多くのオペレーティングシステム35のアップデート試行が失敗したことを意味する。この場合、アップデートプロセスがブロックされる。アップデータデバイス10との通信によってオペレーティングシステム35をアップデートすることはもはやできない。しかしながら、特別なアクセス権限を有するサービスプロバイダーに頼んで、セキュアエレメントを再度初期化し、新しいオペレーティングシステムをそこにロードすることはできる。
キーMKi及びシリアルナンバーNiは、アップデータデバイス10によって格納された秘密キーに対応し、例えば、ブートプログラム38に格納されている。より詳細に、アップデータデバイス10は、秘密を維持する手続に従って、セキュアエレメントiのシリアルナンバーNiに対応しているキーMKiを決定するための導出手段を備える。図示されていないが、変形例において、アップデータデバイス10は、複数のセキュリティエレメントのキーMKi及びシリアルナンバーNiを格納している。どちらの場合も、アップデータデバイス10は、シリアルナンバーNiに関連したキーMKiを決定できる。
ユーザデータ37は、特にアプリケーションを備える。そのうちの、アプリケーションA2が示されている。その1セットの個人データD1が示されている。オペレーティングシステム35はセキュアエレメント30に格納されたアプリケーションを管理できる。これらのアプリケーションは、例えば、支払又は輸送サービスに対するアクセスを付与するアプリケーションであり、NFCタイプのターミナル20の通信インターフェースを使用する。
ブートプログラム38は、特に、ブートプログラム38とオペレーティングシステム35との間で、それらの実行中に、インタラクションを行うプログラミングインターフェースAPIを含む。
ターミナル20とセキュアエレメント30と間の通信インターフェース26、36を介した通信は、例えば、規格ISO/IEC7816−4に準拠するADPUユニットエクスチェンジに基づいている。
マイクロプロセッサ31はセキュアエレメント30が起動する間に、ブートプログラム38を実行するように構成されている。通常動作において、ブートプログラム38は、オペレーティングシステム35の実行を開始する。オペレーティングシステム35は、アプリケーションの実行とインターフェース36から受取ったコマンドの解釈とを管理する。
ブートプログラム38は、変更不能に格納されている。例えば、ブートプログラム38は、ROMタイプの不揮発性メモリ34の一部に格納されている。この場合、ブートプログラム38は、セキュアエレメント30を動作させる間にオペレーティングシステム35をロードするために、セキュアエレメント30の製造者によって使用された初期ブートプログラムの一部であり得る。変形例によれば、ブートプログラム38は、例えばフラッシュメモリタイプである書き換え可能な不揮発性メモリ24の一部に格納されている。この場合、オペレーティングシステム35は、メモリのこの部分に対するいかなる書き込みコマンドもブロックするように構成されている。
図1のシステムの動作、特に、第1バージョンOS(V1)を第2バージョンOS(V2)に置き換えるためのオペレーティングシステム35のアップデート方法を説明する。
図2は、ブートプログラム38の実行に対応する、セキュアエレメント30の動作手順の主要なステップを示す、ステップ図である。図3は、図2の動作手順の間に、アップデータデバイス10、ターミナル20、及びセキュアエレメント30の間で交換されるメッセージを示す図である。
この動作手順は、セキュアエレメント30の起動の間に、ステップE0で始まる。先に説明したとおり、マイクロプロセッサ31はセキュアエレメント30の起動の間にブートプログラム38の実行を開始するように構成されている。例えば、ブートプログラム38は、スタートアップセクターと呼ばれるマイクロプロセッサ31が最初に参照する不揮発メモリ34の所定位置に存在している。
次に、ステップE1にて、セキュアエレメント30はオペレーティングシステム35がアクティブであるか否か決定する。より詳細に、不揮発性メモリ34がオペレーティングシステム35を含み、かつ、ステータスインジケータ39が《アクティブ》の値を示すときには、オペレーティングシステム35がアクティブであると考えられる。逆に、不揮発性メモリ34がオペレーティングシステム35を全く含まず、又は、ステータスインジケータ39が《インアクティブ》の値を示すときには、オペレーティングシステム35はインアクティブであると考えられる。
オペレーティング35がアクティブであるときに、ステップE12において、ブートプログラム38は、オペレーティングシステム35の実行を開始する。これは、セキュアエレメント30の通常動作モードに対応し、この間に、オペレーティングシステム35が通信インターフェース36において受け取ったアプリケーション及びコマンドを実行する。
逆に、オペレーティングシステム35がインアクティブであるとき、ブートプログラム38はオペレーティングシステム35の実行を開始しない。言い換えれば、ブートプログラム38は、制御を維持する。この結果、特に、通信インターフェース36で受け取ったコマンドがブートプログラム38によって管理される。
これにより、ターミナル20のアップデートマネジメントプログラムP1が、オペレーティングシステム35のアップデートプロセスを開始するためのメッセージM3及びメッセージM4を送信するときに、これらのメッセージM3及びM4は、オペレーティングシステム35がインアクティブの場合はブートプログラム38(ステップE2)によって、又は、オペレーティングシステム35がアクティブの場合はオペレーティングシステム35(ステップF2)によって、受け取られる。オペレーティングシステム35のアップデートプロセスを、以下に、オペレーティングシステム35がインアクティブである場合(ステップE2〜E11)について最初に説明し、その後に、オペレーティングシステム35アクティブである場合(ステップF2〜F5、E13、E14、F8、E15、及びE9〜E11)について説明する。
図3を参照すると、ターミナル20がメッセージM1をアップデータデバイス10に送ってオペレーティングシステムの利用可能な最新バージョンについて問い合わせる。メッセージM1の送信は、プログラムP1の実行の一部を構成し、例えば、定期的に又は所定の条件が満たされたときに行われる。
アップデータデバイス10は、利用可能なバージョン:V=V2を特定するメッセージM2によって、メッセージM1に応答する。
次に、ターミナル20は、アップデートするアプリケーション、すなわち、ステップE2とそれに続くステップ又はステップF2とそれに続くステップの実行に役割を有する、ブートプログラム38又はオペレーティングシステム35の一部を選択するために、セキュアエレメント30にメッセージM3を送信する。メッセージM3は、例えば、《OS loader Application Selection》と呼ばれるADPUタイプの新しく定義されたコマンドである。
その後、ターミナル20はメッセージM4をセキュアエレメント30に送って新しいバージョンV2が利用可能であることを知らせる。メッセージM4は、ステップE2において、セキュアエレメント30によって受け取られる。より詳細に、オペレーティングシステムがインアクティブである本例では、メッセージM4はブートプログラム38によって直接管理されている。メッセージM4は、例えば、《PUSH AVAILABLE VERSION》と呼ばれるADPUタイプの新しく定義されたコマンドである。
次に、ステップE3において、セキュアエレメント30はオペレーティングシステムのバージョンを決定する。例えば、ブートプログラム38は、APIプログラミングインターフェースを用いてオペレーティングシステム35に応答を促す。オペレーティングシステム35が存在する場合、そのバージョンVを与えて応答する。オペレーティングシステムが存在しない場合、ブートプログラム38は、製造者によってセキュアエレメント30に最初にロードされたオペレーティングシステム35のバージョンに対応する、格納しているデフォルトのバージョンを考慮する。セキュアエレメント30は、メッセージM4で受け取られたバージョンVが、現在のオペレーティングシステム35の現在のバージョン、すなわち、本例ではV1に優っているか確認する。
メッセージM4で受け取ったバージョンVがオペレーティングシステム35の現在のバージョンに優っている場合、その後のステップE4にて、セキュアエレメント30は、メッセージM5をアップデータデバイス10に、そのメッセージをメッセージM5’に拡張するターミナル20を用いて、送信する。メッセージM5は、セキュアエレメント30のシリアルナンバーNi、乱数RAND、及び認証カウンタC(変数70)を含んでいる。
メッセージM5’に含まれるシリアルナンバーNiに応じて、アップデータデバイス10は、上述の導出手続に従ってシリアルナンバーNi及び秘密キーKに応じて、又は、受け取ったシリアルナンバーNiに基づいて格納しているキーMKiを調べることによって、対応するキーMKiを決定する。次に、アップデータデバイス10は、決定されたキーMKi及び受け取った乱数RANDに応じてセッションキーSKを、セッションキーSKで乱数RANDを暗号化することによって認証データAUTH10を決定する。アップデータデバイス10は、認証データAUTH10を含むメッセージM6を、そのメッセージをメッセージM6’に拡張するターミナル20を用いて、セキュアエレメント30へ送る。メッセージM6’は、例えば、《MUTUAL AUTHENTICATION》と呼ばれる、ADPUタイプの新しく定義されたコマンドである。
メッセージM6’は、ステップE5において、セキュアエレメント30によって受け取られる。メッセージM6’の受取りに応じて、セキュアエレメント30は、ステップE6において、通常はアップデータデバイス10によって決定されたセッションキーSKと同一であるセッションキーSKを、マスターキーMKi及び乱数RANDに応じて決定し、かつ、決定されたセッションキーSKで乱数RANDを暗号化して認証データAUTH30を決定する。また、セキュアエレメント30は、認証カウンタCをデクリメントする。
次に、ステップE7において、セキュアエレメント30は、認証データAUTH10と認証データAUTH30とを比較する。これらが一致する場合、セッションキーSKが定まるとともに、セキュアエレメント30によるアップデータデバイス10の認証が完了する。
認証された場合、ステップE8において、セキュアエレメント30は、メッセージM7を、そのメッセージをメッセージM7’に拡張するターミナル20を用いて、アップデータデバイス10へ送る。メッセージM7はセッションキーSKで暗号化され、ステップE3で決定されたオペレーティングシステム35の現在のバージョンV1を含む。
メッセージM7’の受取りは、アップデータデバイス10がセキュアエレメント30を認証することを可能にする。例えば、バージョンが2オクテットにコードされ、暗号化されていないメッセージが16オクテットで構成されている場合、アップデータデバイス10は、暗号化されていないメッセージM7’最初の14オクテットがゼロであることを確認することによってセキュアエレメント30を認証できる。これにより、セキュアエレメント30とアップデータデバイス10との間の相互認証が完了する。
次に、アップデータデバイス10は、Nブロック OSB1、OSB2、…OSBNを決定する。各ブロックは、セッションキーSKで暗号化されたオペレーティングシステムの一部を構成する。ナンバーNは、ブロックのサイズがADPUタイプの単一のコマンドで送信されるために十分に制限されるように選択されている。アップデータデバイス10は、1以上のメッセージM8で、所定のブロックをターミナル20へ送る。ターミナル20は、全てのブロックを受け取るまで受け取ったブロックを格納する。
次に、ターミナル20は、ひと続きのメッセージM91、M92、…M9Nをセキュアエレメント30へ送る。各メッセージM91、M92、…M9Nは、ブロックOSB1、OSB2、…OSBNの一つを含んでいる。各ブロックは、セキュアエレメント30によって、セッションキーSKを用いて復号され、オペレーティングシステム35のバージョンV1の場所に格納される。
各メッセージM9j(jは1〜N−1)は、例えば、《LOAD BLOCK》と呼ばれる新しく定義されたADPUタイプのコマンドであり、これに対しセキュアエレメント30は応答メッセージM9j’によって応答する。メッセージM9Nは、例えば、《LOAD LAST BLOCK》と呼ばれる新しく定義されたADPUタイプのコマンドである。セキュアエレメント30によるメッセージM91、M92、…M9Nの受取りは、オペレーティングシステムの新規バージョンの受取りステップE9を構成する。
最後のメッセージM9Nの受取りの後、ステップE10において、例えば、巡回冗長コントロールテストによって、セキュアエレメント30は受取ったオペレーティングシステムの新規バージョンの確認を行う。
テストがステップE11において成功する場合、セキュアエレメント30は、カウントCを再初期化し、オペレーティングシステム35をアクティブにして実行を開始する。これにより、この段階で、オペレーティングシステム35の新規バージョンがセキュアエレメント30によって実行される。
ステップE1において、オペレーティングシステム35がアクティブであると決定された場合、その動作は上記で説明した動作と類似しており、主な相違点をここで説明する。ステップE12において、セキュアエレメント30はオペレーティングシステム35を実行する。これにより、上記で説明したように、受取ったメッセージM4は、オペレーティングシステム35によって管理される。図2のステップF2〜F5は上記のステップE2〜E5に対応し、プログラム38ではなく、オペレーティングシステム35の命令の実行に対応する。
認証データAUTH10の受取りの後、オペレーティングシステム35は、ステップE6及びステップE7に類似するステップE13及びステップE14の間に認証データAUTH10を確認するために、プログラミングインターフェースAPIを用いてブートプログラム38を探索する。次に、ステップF8において、メッセージM7によってオペレーティングシステム35が応答する。その後、オペレーティングシステム35は、ステップ15において、ブートプログラム38を渡す。
ステップE15において、ブートプログラム38はオペレーティングシステム35をインアクティブにする。例えば、ブートプログラムは不揮発性メモリ34のオペレーティングシステム35を消去し、又は、ステータスインジケータ39の値を《インアクティブ》に変更する。以降のステップE9〜E11は上記で説明したものと同様である。
ステップE1〜ステップE15は、マイクロプロセッサ31による、ブートプログラム38の命令の実行に該当する。ステップF2〜F5、及びF8は、マイクロプロセッサ31によるオペレーティングシステム35の命令の実行に該当する。
図4A〜図4Dは、セキュアエレメント30の製造工程及びオペレーティングシステム35のアップデートの異なる場面における不揮発性メモリ34の内容を示す。図4A及び図4Bは、本例では、不揮発性メモリ34が例えばフラッシュメモリタイプの書換可能部40と、ROMタイプの書換不能部41を備えることを示す。
図4Aは、不揮発性メモリ34の初期状態を示す。書換可能部40は空であり、書換不能部41はカードの製造者の初期のブートプログラムを備える。この初期状態で、マイクロプロセッサ31は、矢印42によって示されているように、セキュアエレメント30を起動する間にこの初期のブートプログラムの実行を開始するように構成されている。初期のブートプログラムの機能は、ブートプログラム38のロードを可能にすることであり、製造者によるセキュアエレメント30の個別化の間に、不揮発性メモリ34の書換可能部40へオペレーティングシステム35及びユーザデータ37を組み込む。
図4Bは、製造者によってセキュアエレメント30の個別化の後の不揮発性メモリ34の状態を示す。書換可能部40は、ブートプログラム38、オペレーティングシステム35(バージョンOSL(V1))、ユーザデータ37、及び非使用領域44を備える。書換不能部41の初期のブートプログラムはインアクティブにさせられ、マイクロプロセッサ31は、矢印43によって示されているように、セキュアエレメント30を起動する間にブートプログラム38の実行を開始するように構成されている。この状態において、矢印45によって示されるように、オペレーティングシステム35がアクティブになり、これによりブートプログラム38はオペレーティングシステム35の実行を開始する。これは、上記のステップE0、E1、及びE12に相当する。
図4Cは、オペレーティングシステム35のアップデートプロセスにおける不揮発性メモリ34の書換可能部40を説明する。より詳細に、図4Cの状態において、ステータスインジケータ39の削除又は変更によって、オペレーティングシステム35はインアクティブにされる(図2のステップE15)。ブートプログラム38は、矢印46によって示されるようにメッセージM9iを受取り、矢印47によって示されるように、このメッセージを含むブロックOSBiを、オペレーティングシステム35の以前のバージョンの場所に格納する。これは、図2のステップE9に相当する。
図4Dは、オペレーティングシステム35のアップデート(図2のステップE11)の後の不揮発性メモリ34の書換可能部40を示す。書換可能部40は、ブートプログラム38、バージョンOS(V2)のオペレーティングシステム35、ユーザデータ37、及び非使用領域44を備える。バージョンOS(V1)のオペレーティングシステム35とバージョンOS(V2)のオペレーティングシステム35は必ずしも同一のサイズを有するものではないので、非使用領域44は、図4Dと図4Bとの間で異なるサイズとなる可能性がある。説明された状態において、オペレーティングシステム35はアクティブである。マイクロプロセッサ31は、矢印43によって示されているように、セキュアエレメントを起動する間にブートプログラム38の実行を開始する。この状態において、オペレーティングシステム35はアクティブにされ、これにより、矢印45によって示されているようにオペレーティングシステム35の実行が開始される。
図5A〜図5Dは、セキュアエレメント30による、メッセージM4(ADPUコマンド《PUSH AVAILABLE VERSION》)の処理及びメッセージM6’(ADPUコマンド《MUTUAL AUTHENTICATION》)の処理の例を説明する。
特に、図5Aは、オペレーティングシステム35がアクティブであるときの、メッセージM4(ADPUコマンド《PUSH AVAILABLE VERSION》)の処理を示す。従って、メッセージM4の受取りは、図2のステップF2に相当する。メッセージM4に応じて、オペレーティングシステム35は、オペレーティングシステム35のバージョンを決めるためにブートプログラム38を探索する(矢印50)。ブートプログラム38は、その後、オペレーティングシステム35のバージョン情報を確認し(矢印51)、オペレーティングシステムに応答する(矢印52)。これらのやり取りは、プログラミングインターフェースAPIによってなされる。次に、オペレーティングシステム35はメッセージM5によって応答する。これは、図2のステップF4に相当する。
比較ために、図5Bは、オペレーティングシステム35がインアクティブであるときの、メッセージM4(ADPUコマンド《PUSH AVAILABLE VERSION》)の処理を示す。本例では、オペレーティングシステム35は削除されている。メッセージM4の受取りは、図2のステップE2に相当する。メッセージM4に応じて、ブートプログラム38はオペレーティングシステム35のバージョンを決定するためにオペレーティングシステム35の探索を試みる(矢印53)。オペレーティングシステム35は削除されているので、ブートプログラム38は返答を受取れず、従って、それが格納しているデフォルトのバージョンを使用する。次に、ブートプログラム38はメッセージM5によって応答する。これは、図2のステップE4に相当する。
図5Cは、オペレーティングシステム35がアクティブであるときの、メッセージM6’(ADPUコマンド《MUTUAL AUTHENTICATION》)の処理を示す。従って、メッセージM6’の受取りは図2のステップF5に相当する。メッセージM6’に応じて、オペレーティングシステム35は、アップデータデバイス10の認証データAUTH10を確認するために、ブートプログラム38を探索する(矢印54)。ブートプログラム38は、マスターキーMKiを用いることによって認証データAUTH10を確認する(矢印56)。これは、図2のステップE13及びステップE14に相当する。ブートプログラム38はオペレーティングシステムに対する認証を行う(矢印55)。次に、オペレーティングシステム35はメッセージM7によって応答する。これは、図2のステップF8に相当する。
比較のために、図5Dはオペレーティングシステム35がインアクティブであるときのメッセージM6’の処理(ADPUコマンド《MUTUAL AUTHENTICATION》)を示す。従って、メッセージM6’の受取りは、図2のステップE5に相当する。メッセージM6’に応じて、ブートプログラム38はマスターキーMKiを用いることによって認証データAUTH10を確認する(矢印57)。これは、図2のステップE6及びステップE7に相当する。ブートプログラム38は、認証を確認し、メッセージM7によって応答する。これは、図2のステップE8に相当する。
図2及び図3を参照して、セキュアエレメント30とアップデータデバイス10との間の相互認証及び暗号化通信の実現について説明する。エキスパートは、これらの機能を実行するのに適したキー及び暗号アルゴリズムのためのフォーマットを選択できる。この非限定的な例を以下に説明する。
アップデータデバイス10は、32オクテットのシークレットキーKを格納する。16オクテットのシリアルナンバーNiを受取るとき、アップデータデバイス10は、シリアルナンバーがNiのセキュアエレメント30に対応する32オクテットのキーMKiを、K及びNiに応じて決定できる。K及びNiに応じてMKiを計算するためのアルゴリズムは、システムの設計者によって選択され、セキュリティ性を向上するため機密にされる。シリアルナンバーNiの使用は、異なるセキュアエレメントに対する認証データ及び暗号を異ならせる。セキュアエレメントは、キーMKiを直接格納し、このため、K及びNiに応じてMKiを計算する必要はない。
セッションキーSKは、アルゴリズムAES−256を用いて、キーMKi及び32オクテットの乱数RANDに応じて決定される可能性がある。アップデータデバイス10及びセキュアエレメント30はSK=AES−256(MKi,RAND)を計算する。
乱数RANDの代わりに、別の変数(擬似乱数、日付、インクリメンタルナンバー…)が使用される可能性がある。
また、認証データAUTH10及び認証データAUTH30は、セッションキーSK及び乱数RANDに応じて、アルゴリズムAES−256を用いて決定される可能性がある。これにより、アップデータデバイス10は、AUTH10=AES−256(SK,RAND)を計算する。同様に、セキュアエレメント30はAUTH30=AES−256(SK,RAND)を計算する。受取った認証データAUTH10と決定された認証データAUTH30とを比較することによって、セキュアエレメント30はアップデータデバイス10の認証を完了する。
セキュアエレメント30によってアップデータデバイス10へ送られたメッセージM7は、アルゴリズムAES−256−CBC−ISO9797−M1を用いてセッションキーSKによって暗号化されたオペレーティングシステム35の現在バージョンV1を備え、M7=AES−256−CBC−ISO9797−M1(SK,V1)である。これにより、アップデータデバイス10によるセキュアエレメント30の認証が可能になる。この趣旨で、CBCモード《Cipher-block chaining》が用いられ、かつICV暗号が用いられ、乱数RANDに基づいて決定される。例えば、ICVは、乱数RANDの16中心オクテットにアルゴリズムAES−256を適用することによって決定される。
これにより、セキュアエレメント30とアップデータデバイス10との間の相互認証を完了できる。
図6及び図7は、暗号化されたオペレーティングシステム35の新規バージョンOS(V2)を含む、ブロックOSB1、OSB2、…OSBNのアップデータデバイス10による決定の例を示す。
指定されたOS(V2)であるオペレーティングシステムのコードは、マイクロプロセッサ31によって実行可能な命令を特に含む非暗号化データのセットである。アップデータデバイス10は、コードOS(V2)の末端にインプリント60を加える。インプリント60は、例えば、アルゴリズムSHA−512によって決定される。
次に、アップデータデバイス10は、暗証番号、コードOS(V2)のサイズ62、及びコードOS(V2)のオペレーティングシステムのバージョン63をコードOS(V2)の始まりに加える。暗証番号61は、例えば4オクテットにコードされており、アップデータデバイス10及びセキュアエレメント30に対して既知である。これにより、セキュアエレメント30による、受取ったオペレーティングシステムの確認において、追加的なセキュリティが提供される。サイズ61は、例えば4オクテットにコードされている。コードOS(V2)のオペレーティングシステムのバージョン63は、例えば、2オクテットコードされている。
次に、アップデータデバイス10は、暗証番号61、サイズ62、バージョン63、コードOS(V2)、及びインプリント61によって形成されたセットの末端に、16の倍数Nであるオクテット総数に達するためのファイリングデータ64(例えば、数オクテットの値《0》)を加える。これにより、暗号化されていないコードOS(V2)を含む16オクテットのNブロックData1、Data2、…DataNに形成されたすべてのデータを分割できる。
ブロックData1、Data2、…DataNから、アップデータデバイス10は、例えば、図7に示すように、暗号化コードOS(V2)を含むブロックOSB1、OSB2、…OSBNを決定する。
図7において、ICVは乱数RANDに応じて決められた暗号である。例えば、ICVは、乱数RANDの16中心のオクテットにアルゴリズムAES−256を適用することによって決定される。
次に、ブロックData1、Data2、…DataNの暗号化は、キーSK及びICV暗号を用いることによるCBC(《Cipher-block chaining》)モードのアルゴリズムAES−256によって実行される。これにより、ICV暗号とブロックData1とは、XOR(排他論理和)演算によって組み合わせられる。次に、このXOR演算の結果は、セッションキーSK及びブロックOSB1を決定するためのアルゴリズムAES−256を用いることによって暗号化される。
ひと続きのブロックData(i)のそれぞれに対し、ICV暗号の代わりにブロックOSB(i−1)を用いることによって、対応するブロックOSB(i)が同じ様に決定される。
各ブロックOSB(i)を受取った後で、図2のステップE9において、セキュアエレメント30はセッションキーSKで受取ったデータを復号できる。次に、ステップE10において、特にインプリント60及び暗証番号61を確認して破損を検知する。
図1のシステムは、いくつかの利点を有する。
特に、セキュアエレメント30のオペレーティングシステム35をアップデートできる。このアップデートは、セキュアエレメント30が既に存在しつつ、ユーザのターミナル20の操作としてなされ得る。ターミナル20とアップデータデバイス10との間の通信が通信ネットワークを通過する場合に、ユーザはサービス提供者のショップのような所定のサイトに行ってはいけない。オペレーティングシステム35はその全体が交換され得る。アップデートの間に、ユーザデータ37は変更されない。これにより、アップデートの後で、ユーザは、ユーザのアプリケーション及び個人的なデータを依然として有する。また、ターミナル20の操作は遮られはいけない。
アップデータデバイス10及びセキュアエレメント30の相互認証及びアップデータデバイス10とセキュアエレメント30との間の暗号化通信のおかげで、サードパーティはオペレーティングシステムの新規バージョンOS(V2)を取得すること、又は、アップデータデバイス10を偽ることによってセキュアエレメント30へ破損版を提供することができない。特に、ターミナル20のプログラムP1が破損版に置き換えられたときに、この破損版はせいぜい暗号化されたブロックOSB(i)を取得できるだけである。言い換えれば、オペレーティングシステムの秘密性及び完全性は保護される。これらの特徴により、セキュアエレメント30及び/又はシステムの保証を確保できる。
アップデータデバイス10は、失敗した相互認証の試行をカウントできる。この数が所定の閾値に達したら、アップデータデバイス10は、例えば、警告を送り、又は、そのセキュアエレメントをブラックリストに載せて、保護対策を講じる。
相互認証及び暗号化はセキュアエレメントのシリアルナンバーに基づいているので、それらはセキュアエレメントによって多様化されている。従って、1つの欠陥がアップデータデバイスに接続されている全てのセキュアエレメントに影響を与えるわけではない。
乱数RANDは、セキュアエレメントによって生成されており、アップデータデバイス10によって生成されない。このことは、アップデータデバイスにかかる負荷を制限する。これは、多数のセキュアエレメントと関係するアップデータデバイスについて特に重要である。
セキュアエレメントとアップデータデバイスとの相互認証及び暗号化通信に対する同一のセッションキーSKの使用は、セキュアエレメントのレベルにおいて、必要なリソースを限定する。しかし、変形例において、相互認証と暗号化通信とは異なるキーを用いる。
ターミナル20におけるプログラムP1の存在は、オペレーティングシステムのアップデートの間におけるターミナル20の性能を変更する。例えば、セキュアエレメント30のアプリケーションを用いる、ターミナル20のアプリケーションは、アップデータの間は非動作状態にさせられる可能性がある。

Claims (11)

  1. 少なくとも1つのマイクロプロセッサ(31)、不揮発性メモリ(34)、及び通信インターフェース(36)を備え、前記通信インターフェース(36)を介してアップデータデバイス(10)と通信可能なセキュアエレメント(30)であって、
    前記不揮発性メモリ(34)は少なくとも1つブートプログラム(38)を格納し、
    前記マイクロプロセッサ(31)は前記セキュアエレメント(30)を起動する間に前記ブートプログラム(38)を実行するように構成され、
    前記ブートプログラム(38)は、命令であって、
    当該命令が前記マイクロプロセッサ(31)によって実行されるときに、
    前記不揮発性メモリ(34)がアクティブなオペレーティングシステム(35)を格納しているか決定し、その決定が肯定的な場合、前記オペレーティングシステム(35)の実行を開始する起動ステップ(E1、E12)と、
    前記セキュアエレメント(30)によって決定された第1認証データ(AUTH30)及び前記アップデータデバイス(10)から受取った第2認証データ(AUTH10)に応じて、前記アップデータデバイス(10)を認証する認証ステップ(E4、E5、E6、E7、E13、E14)と、
    前記認証ステップを受けて、前記アップデータデバイス(10)から受取った新規なオペレーティングシステムを前記不揮発性メモリ(34)に格納する格納ステップ(E9、E10)と、
    前記新規なオペレーティングシステムをアクティブにするアクティベーションステップ(E11)と、
    を実行するための命令を備えることを特徴とするセキュアエレメント(30)。
  2. 前記アップデータデバイスを認証する前記認証ステップにおいて、
    変数(RAND)を含むメッセージ(M5)を前記アップデータデバイス(10)に送信するためのステップ(E4)と、
    前記第2認証データ(AUTH10)を受取るステップ(E5)と、
    前記変数(RAND)及び前記不揮発性メモリ(34)に格納されたキー(MKi)に応じて前記第1認証データ(AUTH30)を決定する決定ステップ(E6、E13)と、
    前記第1認証データ(AUTH30)と前記第2認証データ(AUTH10)とを比較するステップ(E7、E14)と、を備える請求項1に記載のセキュアエレメント(30)。
  3. 前記ブートブログラム(38)は、前記キー(MKi)及び前記変数(RAND)に応じた暗号化データ(V1)を含むメッセージ(M7)を前記アップデータデバイス(10)に送信するステップ(E8)を実行するための命令を備える、請求項2に記載のセキュアエレメント(30)。
  4. 前記不揮発性メモリ(34)は、
    前記変数(RAND)を含むメッセージ(M5)を前記アップデータデバイス(10)へ送信するステップ(F4)と、
    前記第2認証データ(AUTH10)を受取るステップ(F5)と、を実行するための命令を含むオペレーティングシステム(35)を備える、請求項2又は3に記載のセキュアエレメント(30)。
  5. 前記オペレーティングシステム(35)は、前記キー(MKi)及び前記変数(RAND)に応じた暗号化データ(V1)を含むメッセージ(M7)をアップデータデバイス(10)へ送信するステップ(F8)を実行するための命令を含む、請求項4に記載のセキュアエレメント(30)。
  6. 前記格納ステップは暗号化された前記新規なオペレーティングシステムの受取りを備える、請求項1〜5のいずれか1項に記載のセキュアエレメント(30)。
  7. 前記認証ステップは、前記キー(MKi)及び前記変数に応じたセッションキー(SK)の決定を備え、前記格納ステップは、前記セッションキー(SK)で暗号化された前記新規なオペレーティングシステムの受取りを備える、請求項2及び6に記載のセキュアエレメント(30)。
  8. 前記ブートプログラム(38)は、前記不揮発性メモリ(34)の書換不能部(41)に格納されている、請求項1〜7のいずれか1項に記載のセキュアエレメント(30)。
  9. 前記ブートプログラム(38)は、前記不揮発性メモリ(34)の書換可能部(40)に格納され、前記不揮発性メモリ(34)は、前記ブートプログラム(38)に対する書込みコマンドをブロックするように構成されているオペレーティングシステム(35)を含む、請求項1〜7のいずれか1項に記載のセキュアエレメント(30)。
  10. 少なくとも1つのマイクロプロセッサ(21)、不揮発性メモリ(24)、及び請求項1〜9のいずれか1項に記載のセキュアエレメント(30)を備えたターミナル(20)であって、
    前記ターミナル(20)の前記不揮発性メモリ(24)はアップデートマネジメントプログラム(P1)及び前記セキュアエレメント(30)によって提供されるサービスを利用するためのアプリケーションを備え、
    前記アップデートマネジメントプログラム(P1)は、命令であって、
    当該命令が前記ターミナル(20)のマイクロプロセッサ(21)によって実行されるときに、
    前記アップデータデバイス(10)から前記新規なオペレーティングシステムの受取り及び受取った前記新規なオペレーティングシステムを前記セキュアエレメントへの送付を含む伝送ステップと、
    少なくとも前記伝送ステップの間に前記サービスを非動作状態にするデアクティベーションステップと、
    を実行するための命令を備えるターミナル(20)。
  11. 請求項1〜9のいずれか1項に記載の少なくとも1つのセキュアエレメント(30)と、前記オペレーティングシステムの新規バージョンを格納するアップデータデバイス(10)と、を備えるシステム。
JP2013150450A 2012-07-20 2013-07-19 セキュアエレメントのためのオペレーティングシステムのアップデート Active JP6214259B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1257062 2012-07-20
FR1257062A FR2993682B1 (fr) 2012-07-20 2012-07-20 Mise a jour d'un systeme d'exploitation pour element securise

Publications (2)

Publication Number Publication Date
JP2014029688A true JP2014029688A (ja) 2014-02-13
JP6214259B2 JP6214259B2 (ja) 2017-10-18

Family

ID=47003055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013150450A Active JP6214259B2 (ja) 2012-07-20 2013-07-19 セキュアエレメントのためのオペレーティングシステムのアップデート

Country Status (10)

Country Link
US (1) US9779246B2 (ja)
EP (1) EP2688010B1 (ja)
JP (1) JP6214259B2 (ja)
KR (1) KR101517286B1 (ja)
CN (1) CN103577221B (ja)
BR (1) BR102013020063B1 (ja)
ES (1) ES2795101T3 (ja)
FR (1) FR2993682B1 (ja)
RU (1) RU2643457C2 (ja)
TW (1) TWI510959B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019113886A (ja) * 2017-12-20 2019-07-11 大日本印刷株式会社 初期設定方法、セキュアエレメント、デバイス及びプログラム
US10354073B2 (en) 2015-07-30 2019-07-16 Kabushiki Kaisha Toshiba Information processor device verifying software and method of controlling information processor device

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011015710A1 (de) * 2011-03-31 2012-10-04 Giesecke & Devrient Gmbh Verfahren zum Aktualisieren eines Datenträgers
FR3019347B1 (fr) 2014-03-25 2017-07-21 Oberthur Technologies Securisation du chargement de donnees dans une memoire non-volatile d'un element securise
EP2930641B1 (en) 2014-04-07 2019-04-03 Nxp B.V. Method of Programming a Smart Card, Computer Program Product and Programmable Smart Card
FR3023951B1 (fr) * 2014-07-15 2016-08-05 Oberthur Technologies Procede d'etablissement d'une session de communication via une interface swp
US9934014B2 (en) * 2014-08-22 2018-04-03 Apple Inc. Automatic purposed-application creation
DE102014220616A1 (de) 2014-10-10 2016-04-14 Bundesdruckerei Gmbh Verfahren zum Laden von ausführbaren Programminstruktionen in eine Chipkarte im Wirkbetrieb
DE102014224278A1 (de) * 2014-11-27 2016-06-02 Bundesdruckerei Gmbh Verfahren zum Nachladen von Software auf eine Chipkarte durch einen Nachladeautomaten
KR102459703B1 (ko) * 2014-12-29 2022-10-27 엘지디스플레이 주식회사 유기발광다이오드 표시장치와 그 구동방법
KR101662947B1 (ko) * 2015-03-25 2016-10-05 (주)에이티솔루션즈 보안운영체제를 이용한 세션보안 제공 방법
EP3086254A1 (en) 2015-04-22 2016-10-26 Gemalto Sa Method of managing applications in a secure element when updating the operating system
JP6602102B2 (ja) * 2015-08-21 2019-11-06 三菱電機株式会社 プログラム更新制御装置、情報家電機器、プログラム更新システム、プログラム更新方法およびプログラム
EP3160166A1 (en) * 2015-10-19 2017-04-26 Gemalto Sa Method for managing applications in a secure element
EP3176695A1 (en) * 2015-12-04 2017-06-07 Gemalto Sa Method for managing a package in a secure element
EP3208717A1 (en) * 2016-02-17 2017-08-23 Gemalto Sa Method for managing objects in a secure element
DE112016006524T5 (de) * 2016-03-30 2018-11-22 Ford Global Technologies, Llc Authentifizierung einer Fahrzeugcomputeraktualisierung
EP3629610B1 (en) * 2017-06-14 2021-07-14 Huawei Technologies Co., Ltd. Method and apparatus for managing embedded universal integrated circuit card configuration file
KR102057665B1 (ko) * 2017-07-04 2020-01-22 주식회사 웨인 리눅스 계열 운영체제 배포시스템
US10769279B2 (en) * 2017-08-24 2020-09-08 Apple Inc. Secure element operating system update notification
US10789364B2 (en) * 2018-05-02 2020-09-29 Nxp B.V. Method for providing an authenticated update in a distributed network
CN108874418B (zh) * 2018-05-23 2022-04-05 北京五八信息技术有限公司 Ui组件的更新方法、装置、终端及计算机可读存储介质
EP3736716B1 (en) * 2019-05-10 2021-12-22 Aptiv Technologies Limited Method for protecting an electronic control unit
US11240634B1 (en) * 2020-01-02 2022-02-01 II Leon Tyrone Cain Systems and methods for initiating a secure media session between mobile computing devices during image capture
EP4113341A1 (en) * 2021-06-30 2023-01-04 Giesecke+Devrient Mobile Security GmbH Encryption scheme for providing software updates to an update agent
EP4307142A1 (en) * 2022-07-13 2024-01-17 Giesecke+Devrient Mobile Security Germany GmbH Update agent for multiple operating systems in a secure element

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11122238A (ja) * 1997-10-17 1999-04-30 Ricoh Co Ltd ネットワークシステム
US20070220242A1 (en) * 2006-02-13 2007-09-20 Ntt Docomo, Inc., Update-startup apparatus and update-startup control method
JP2010244358A (ja) * 2009-04-07 2010-10-28 Hitachi Ltd シンクライアントマスタの書換システム、シンクライアントマスタの書換方法、およびシンクライアント
JP2012058803A (ja) * 2010-09-06 2012-03-22 Dainippon Printing Co Ltd シンクライアントシステム、およびオペレーティングシステム更新方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5987605A (en) * 1998-02-28 1999-11-16 Hewlett-Packard Co. Methods and apparatus for dual-boot memory selection, update, and recovery in a programmable device
DE19925389A1 (de) * 1999-06-02 2000-12-21 Beta Res Gmbh Verfahren und Vorrichtung zur Übertragung von Daten auf SmartCards
DE19926389B4 (de) 1999-06-10 2008-02-07 Behr Gmbh & Co. Kg Luftführungsanordnung für eine Kraftfahrzeug-Klimatisierungsanlage
US20030182414A1 (en) * 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
US6944854B2 (en) * 2000-11-30 2005-09-13 International Business Machines Corporation Method and apparatus for updating new versions of firmware in the background
CN1734418A (zh) * 2004-08-09 2006-02-15 上海乐金广电电子有限公司 存储器程序更新方法
US7698698B2 (en) * 2004-09-30 2010-04-13 Smith Micro Software, Inc. Method for over-the-air firmware update of NAND flash memory based mobile devices
JP2006127267A (ja) * 2004-10-29 2006-05-18 Toshiba Corp 情報処理装置およびブート制御方法
US7522732B2 (en) * 2004-11-09 2009-04-21 Lexmark International, Inc. Method for controlling the distribution of software code updates
US7865740B2 (en) * 2005-09-27 2011-01-04 Intel Corporation Logging changes to blocks in a non-volatile memory
KR100778293B1 (ko) * 2005-10-10 2007-11-22 삼성전자주식회사 디지털방송처리장치 및 디지털방송처리장치 부트로더의업그레이드 방법
KR101426710B1 (ko) * 2006-07-14 2014-09-23 삼성전자주식회사 휴대단말기의 버전정보 갱신 장치 및 방법
KR20080039046A (ko) 2006-10-31 2008-05-07 삼성전자주식회사 펌웨어 업데이트 장치 및 방법
JP2008276555A (ja) 2007-04-27 2008-11-13 Toshiba Corp 情報処理装置、およびファームウェア更新方法
US8635608B2 (en) 2007-09-04 2014-01-21 Teradata Us, Inc. Software update system and method
US8429643B2 (en) * 2007-09-05 2013-04-23 Microsoft Corporation Secure upgrade of firmware update in constrained memory
US8286883B2 (en) * 2007-11-12 2012-10-16 Micron Technology, Inc. System and method for updating read-only memory in smart card memory modules
US8162227B2 (en) * 2007-11-12 2012-04-24 Micron Technology, Inc. Intelligent controller system and method for smart card memory modules
US9002014B2 (en) * 2008-05-24 2015-04-07 Via Technologies, Inc. On-die cryptographic apparatus in a secure microprocessor
US8055893B2 (en) * 2008-08-28 2011-11-08 Lenovo (Singapore) Pte. Ltd. Techniques for booting a stateless client
JP5113700B2 (ja) * 2008-09-24 2013-01-09 株式会社日立ソリューションズ ファームウェア更新装置及び方法
TW201027324A (en) * 2009-01-14 2010-07-16 Giga Byte Tech Co Ltd Embedded electronic device free from being stuck in update failure and method of making the same
US8756409B2 (en) * 2010-10-13 2014-06-17 International Business Machines Corporation System, method and computer program product for retrieving data at boot time
EP2453352A1 (en) * 2010-11-08 2012-05-16 Gemalto SA Software updating process for an embedded device
CA2806488A1 (en) * 2011-05-09 2012-11-15 I Think Security Ltd. System, apparatus and method for securing electronic data independent of their location

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11122238A (ja) * 1997-10-17 1999-04-30 Ricoh Co Ltd ネットワークシステム
US20070220242A1 (en) * 2006-02-13 2007-09-20 Ntt Docomo, Inc., Update-startup apparatus and update-startup control method
JP2010244358A (ja) * 2009-04-07 2010-10-28 Hitachi Ltd シンクライアントマスタの書換システム、シンクライアントマスタの書換方法、およびシンクライアント
JP2012058803A (ja) * 2010-09-06 2012-03-22 Dainippon Printing Co Ltd シンクライアントシステム、およびオペレーティングシステム更新方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
望月 祐希 YUUKI MOCHIZUKI: "組込みOS用暗号化ロードモジュール機能及びセキュアファイルサーバの試作 Prototyping of the Encrypted", FIT2010 第9回情報科学技術フォーラム 講演論文集 第1分冊 査読付き論文・一般論文 モデル・, JPN6017010400, 20 August 2010 (2010-08-20), pages 349 - 350, ISSN: 0003626923 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10354073B2 (en) 2015-07-30 2019-07-16 Kabushiki Kaisha Toshiba Information processor device verifying software and method of controlling information processor device
JP2019113886A (ja) * 2017-12-20 2019-07-11 大日本印刷株式会社 初期設定方法、セキュアエレメント、デバイス及びプログラム

Also Published As

Publication number Publication date
RU2013133975A (ru) 2015-01-27
JP6214259B2 (ja) 2017-10-18
KR20140011998A (ko) 2014-01-29
TWI510959B (zh) 2015-12-01
US9779246B2 (en) 2017-10-03
KR101517286B1 (ko) 2015-05-04
EP2688010A1 (fr) 2014-01-22
CN103577221B (zh) 2018-12-18
TW201413491A (zh) 2014-04-01
US20140025940A1 (en) 2014-01-23
FR2993682A1 (fr) 2014-01-24
ES2795101T3 (es) 2020-11-20
BR102013020063A2 (pt) 2015-10-20
FR2993682B1 (fr) 2014-08-22
CN103577221A (zh) 2014-02-12
RU2643457C2 (ru) 2018-02-01
EP2688010B1 (fr) 2020-03-04
BR102013020063B1 (pt) 2021-10-13

Similar Documents

Publication Publication Date Title
JP6214259B2 (ja) セキュアエレメントのためのオペレーティングシステムのアップデート
US11023875B2 (en) Electronic credential management system
US20220078035A1 (en) Generating an identity for a computing device using a physical unclonable function
US11323275B2 (en) Verification of identity using a secret key
US10460314B2 (en) Pre-generation of session keys for electronic transactions and devices that pre-generate session keys for electronic transactions
US7095858B2 (en) System and method for securely upgrading firmware
CN104868998A (zh) 一种向电子设备供应加密数据的系统、设备和方法
US9003197B2 (en) Methods, apparatus and system for authenticating a programmable hardware device and for authenticating commands received in the programmable hardware device from a secure processor
KR20110128160A (ko) 인증용 개인키를 내부적으로 생성하는 집적 회로 유형의 전자 소자 제어 방법
CN115129332A (zh) 固件烧录方法、计算机设备及可读存储介质
US20220129389A1 (en) Online Security Services based on Security Features Implemented in Memory Devices
JP6888122B2 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
JP5391743B2 (ja) 決済処理セキュリティ情報配信方法、決済処理セキュリティ情報配信システム、そのセンタ装置、サーバ装置、決済端末、及びプログラム
JP6382521B2 (ja) 携帯可能電子装置、および電子回路
JP4765608B2 (ja) データ処理装置、データ処理プログラム、およびデータ処理システム
JP7296390B2 (ja) 電子デバイスの無欠性検査
KR20180051618A (ko) 애플리케이션을 관리하는 방법
US20220129390A1 (en) Monitor Integrity of Endpoints having Secure Memory Devices for Identity Authentication
EP4254855A1 (en) A device and a method for controlling use of a cryptographic key
US20230114775A1 (en) Portable Chip Device and Method for Executing a Software Module Update in a Portable Chip Device
CN117892319A (zh) 固态硬盘的加密数据读取方法、设备以及可读存储介质
CN115037495A (zh) 身份验证期间跟踪具有安全存储器装置的端点的活动以用于安全操作
CN115037494A (zh) 无需预先定制端点的云服务登入

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170328

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170817

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170919

R150 Certificate of patent or registration of utility model

Ref document number: 6214259

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250