IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 大日本印刷株式会社の特許一覧

特開2022-178821セキュアエレメント,トランザクション制御方法およびデバイス
<>
  • 特開-セキュアエレメント,トランザクション制御方法およびデバイス 図1
  • 特開-セキュアエレメント,トランザクション制御方法およびデバイス 図2
  • 特開-セキュアエレメント,トランザクション制御方法およびデバイス 図3
  • 特開-セキュアエレメント,トランザクション制御方法およびデバイス 図4
  • 特開-セキュアエレメント,トランザクション制御方法およびデバイス 図5
  • 特開-セキュアエレメント,トランザクション制御方法およびデバイス 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022178821
(43)【公開日】2022-12-02
(54)【発明の名称】セキュアエレメント,トランザクション制御方法およびデバイス
(51)【国際特許分類】
   G06F 12/00 20060101AFI20221125BHJP
   G06K 19/073 20060101ALI20221125BHJP
   G06F 12/06 20060101ALI20221125BHJP
   G06F 12/02 20060101ALI20221125BHJP
   G06F 11/14 20060101ALI20221125BHJP
   G06F 9/445 20180101ALI20221125BHJP
【FI】
G06F12/00 550Z
G06K19/073
G06F12/06 524
G06F12/00 597U
G06F12/02 510A
G06F11/14 641A
G06F9/445 150
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021085894
(22)【出願日】2021-05-21
(71)【出願人】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】100122529
【弁理士】
【氏名又は名称】藤枡 裕実
(74)【代理人】
【識別番号】100135954
【弁理士】
【氏名又は名称】深町 圭子
(74)【代理人】
【識別番号】100119057
【弁理士】
【氏名又は名称】伊藤 英生
(74)【代理人】
【識別番号】100131369
【弁理士】
【氏名又は名称】後藤 直樹
(74)【代理人】
【識別番号】100171859
【弁理士】
【氏名又は名称】立石 英之
(72)【発明者】
【氏名】宮川 友樹
【テーマコード(参考)】
5B160
5B376
【Fターム(参考)】
5B160AA12
5B160MM09
5B160NA02
5B376CA86
(57)【要約】      (修正有)
【課題】サイズが小さく書き換え頻度の高い複数のデータが1つのページに含まれる場合であっても,データの一貫性を保証しつつ,1ページへの書き込み回数を軽減可能なセキュアエレメントを提供する。
【解決手段】セキュアエレメントが備えるトランザクション制御手段11は,先行書込み方式のトランザクション制御の開示指示を受けると,データ格納領域104aとは別に不揮発性ストレージ104に設けた先行書き込み領域104cに,書き込みデータを書き込む先行書込み処理を実行する。また,先行書込み方式のトランザクション制御の終了指示を受けると,先行書き込み領域104cに書き込まれた書き込みデータごとに書き込みデータの書き込み先ページを確認し,書き込み先ページが同一の書き込みデータを一括して同一の書き込み先ページに書き込むページ更新処理を実行する。
【選択図】図3
【特許請求の範囲】
【請求項1】
ページの単位でデータの書き込みが可能な不揮発性ストレージを有するセキュアエレメントであって,先行書込み方式のトランザクション制御の開始指示を受けると,データ格納領域とは別に前記不揮発性ストレージに設けた先行書き込み領域に,書き込みデータを書き込む先行書込み処理と,先行書込み方式のトランザクション制御の終了指示を受けると,前記先行書き込み領域に書き込まれた書き込みデータごとに書き込みデータの書き込み先ページを確認し,書き込み先ページが同一の書き込みデータを一括して同一の書き込み先ページに書き込むページ更新処理を実行するトランザクション制御手段を備えていることを特徴とするセキュアエレメント。
【請求項2】
前記トランザクション制御手段は,前記ページ更新処理において,書き込み先ページと書き込み先アドレスが同じ書き込みデータが先行書き込み領域に複数存在する場合,最後に前記先行書き込み領域に書き込んだ書き込みデータを前記ページ更新処理に用いることを特徴とする,請求項1に記載したセキュアエレメント。
【請求項3】
前記トランザクション制御手段は,前記ページ更新処理において,書き込み先ページに書き込んだ書き込みデータを前記先行書き込み領域から削除し,電源が投入された後の前記先行書き込み領域に書き込みデータが存在する場合,前記先行書き込み領域に存在する書き込みデータを用いて前記ページ更新処理を実行することを特徴とする,請求項1または2に記載したセキュアエレメント。
【請求項4】
請求項1から3のいずれか一つに記載したセキュアエレメントを実装したデバイス。
【請求項5】
ページの単位でデータの書き込みが可能な不揮発性ストレージを有するセキュアエレメントで実行されるトランザクション制御方法であって,前記セキュアエレメントが,先行書込み方式のトランザクション制御の開始指示を受けると,データ格納領域とは別に不揮発性ストレージに設けた先行書き込み領域に,書き込みデータを書き込む先行書込み処理を実行する手順と,前記セキュアエレメントが,先行書込み方式のトランザクション制御の終了指示を受けると,前記先行書き込み領域に書き込まれた書き込みデータごとに書き込みデータの書き込み先ページを確認し,書き込み先ページが同一の書き込みデータを一括して同一の書き込み先ページに書き込むページ更新処理を実行する手順を含むことを特徴とするトランザクション制御方法。
【請求項6】
前記セキュアエレメントは,前記ページ更新処理において,書き込み先ページと書き込み先アドレスが同じ書き込みデータが前記先行書き込み領域に複数存在する場合,最後に前記先行書き込み領域に書き込んだ書き込みデータを前記ページ更新処理に用いることを特徴とする,請求項5に記載したトランザクション制御方法。
【請求項7】
前記セキュアエレメントは,前記ページ更新処理において,書き込み先ページに書き込んだ書き込みデータを前記先行書き込み領域から削除し,電源が投入された後の前記先行書き込み領域に書き込みデータが存在する場合,前記先行書き込み領域に存在する書き込みデータを用いて前記ページ更新処理を実行することを特徴とする,請求項5または6に記載したトランザクション制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は,外部からの解析攻撃に対する強固な耐タンパー性を持つ半導体製品であるセキュアエレメントに関する。更に詳しくは,本発明は,データの一貫性を保つためのトランザクション制御に関する。
【背景技術】
【0002】
外部からの解析攻撃に対する強固な耐タンパー性を持つ半導体製品であるセキュアエレメントは,様々なデバイス(例えば,ICカード)に搭載されている。セキュアエレメントを搭載したデバイスの主用途はセキュリティ用途(例えば,金融決済用途)になる。
【0003】
セキュリティ用途で用いられるデバイスに実装するセキュアエレメントは,データを記憶するメモリとして,電気的に書き換え可能な不揮発性メモリで構成される不揮発性ストレージを備える。セキュアエレメントの不揮発性ストレージは,一定サイズのページと呼ばれる単位で管理される。
【0004】
セキュリティ用途で利用されるセキュアエレメントには,不揮発性ストレージに記憶されたデータを書き換える際,書き換え対象にならないデータの一貫性が要求される。データの一貫性とは,データを書き換えている途中でセキュアエレメントの電源が失われても,少なくとも書き換え対象にならないデータを書き換える前の状態に復旧できることを意味する。なお,データの一貫性はデータの完全性またはデータの原子性(Atomicity)と称されることもある。
【0005】
Javaカード(登録商標)などには,データの一貫性を保証するトランザクション機能が予め備えられている。また,データの一貫性をセキュアエレメントに持たせる発明として,特許文献1,2では,データを退避させるバックアップ領域を不揮発性ストレージに設ける発明が開示されている。
【0006】
データの一貫性がセキュアエレメントに求められる一方で,セキュアエレメントでは,不揮発性ストレージの耐久性が問題になる。これは,不揮発性ストレージを構成する電気的に書き換え可能な不揮発性メモリには,書き込み耐久回数が設けられることによる。電気的に書き換え可能な不揮発性メモリで構成される不揮発性ストレージの耐久性を向上させる手法もすでに開示されている。例えば,不揮発性ストレージの耐久性を向上させる発明として,特許文献3では,データの書き換えが発生する不揮発性ストレージの領域を多重化する発明が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2003-85511号公報
【特許文献2】特開2020-112855号公報
【特許文献3】特開2017-207863号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
近年,セキュアエレメントが使用するデータのサイズが増加したことにより,セキュアエレメントが備える不揮発性ストレージのデータ容量が増加し,不揮発性ストレージの管理単位となるページのサイズも増加傾向にある。
【0009】
ページのサイズが大きくなると,サイズが大きいデータを扱う場合,データを書き込むページの数量が少なくて済むなどの利点が生じる。しかし,サイズが小さいデータを取り扱う場合,1つのページに含まれるデータの数が多くなるため,サイズが小さいデータの書き換え頻度が多いと,1つのページに対する書込み回数が増え,不揮発性ストレージの耐久性に問題が生じる。
【0010】
そこで,本発明は,サイズが小さく書き換え頻度の高い複数のデータが1つのページに含まれる場合であっても,データの一貫性を保証しつつ,1ページへの書き込み回数を軽減できることを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決する第1発明は,ページの単位でデータの書き込みが可能な不揮発性ストレージを有するセキュアエレメントであって,先行書込み方式のトランザクション制御の開始指示を受けると,データ格納領域とは別に前記不揮発性ストレージに設けた先行書き込み領域に,書き込みデータを書き込む先行書込み処理と,先行書込み方式のトランザクション制御の終了指示を受けると,前記先行書き込み領域に書き込まれた書き込みデータごとに書き込みデータの書き込み先ページを確認し,書き込み先ページが同一の書き込みデータを一括して同一の書き込み先ページに書き込むページ更新処理を実行するトランザクション制御手段を備えていることを特徴とする。
【0012】
更に,第2発明は,第1発明に記載したセキュアエレメントにおいて,前記トランザクション制御手段は,前記ページ更新処理において,書き込み先ページと書き込み先アドレスが同じ書き込みデータが先行書き込み領域に複数存在する場合,最後に前記先行書き込み領域に書き込んだ書き込みデータを前記ページ更新処理に用いることを特徴とする。
【0013】
更に,第3発明は,第1発明または第2発明に記載したセキュアエレメントにおいて,前記トランザクション制御手段は,前記ページ更新処理において,書き込み先ページに書き込んだ書き込みデータを前記先行書き込み領域から削除し,電源が投入された直後の前記先行書き込み領域に書き込みデータが存在する場合,前記先行書き込み領域に存在する書き込みデータを用いて前記ページ更新処理を実行することを特徴とする。
【0014】
更に,第4発明は,第1発明から第3発明のいずれか一つに記載したセキュアエレメントを実装したデバイスである。
【0015】
更に,第5発明は,ページの単位でデータの書き込みが可能な不揮発性ストレージを有するセキュアエレメントで実行されるトランザクション制御方法であって,前記セキュアエレメントが,先行書込み方式のトランザクション制御の開始指示を受けると,データ格納領域とは別に不揮発性ストレージに設けた先行書き込み領域に,書き込みデータを書き込む先行書込み処理を実行する手順と,前記セキュアエレメントが,先行書込み方式のトランザクション制御の終了指示を受けると,前記先行書き込み領域に書き込まれた書き込みデータごとに書き込みデータの書き込み先ページを確認し,書き込み先ページが同一の書き込みデータを一括して同一の書き込み先ページに書き込むページ更新処理を実行する手順を含むことを特徴とする。
【0016】
更に,第6発明は,第5発明に記載したトランザクション制御方法において,前記セキュアエレメントは,前記ページ更新処理において,書き込み先ページと書き込み先アドレスが同じ書き込みデータが前記先行書き込み領域に複数存在する場合,最後に前記先行書き込み領域に書き込んだ書き込みデータを前記ページ更新処理に用いることを特徴とする。
【0017】
更に,第7発明は,第5発明または第6発明に記載したトランザクション制御方法において,前記セキュアエレメントは,前記ページ更新処理において,書き込み先ページに書き込んだ書き込みデータを前記先行書き込み領域から削除し,電源が投入された直後の前記先行書き込み領域に書き込みデータが存在する場合,前記先行書き込み領域に存在する書き込みデータを用いて前記ページ更新処理を実行することを特徴とする。
【発明の効果】
【0018】
先行書き込み方式のトランザクション制御にセキュアエレメントを対応させることで,サイズが小さく書き換え頻度の高い複数のデータが一つのページに存在する場合であっても,サイズが小さく書き換え頻度の高い複数のデータを一括してページに書き込めるので,ページへの書き込み回数を減らすことができる。また,先行書込み領域に書き込んだ書き込みデータは,セキュアエレメントの電源が落ちても消えないため,データの一貫性を保障できる。
【図面の簡単な説明】
【0019】
図1】セキュアエレメントを搭載したデバイスの一例を説明する図。
図2】セキュアエレメントのハードウェアを説明する図。
図3】データ書き込みに係るセキュアエレメントの構成を説明する図。
図4】先行書き込み方式のトランザクション制御に係る処理を説明する図。
図5】リセット後におけるトランザクション制御手段の動作を説明する図。
図6】先行書き込み方式のトランザクション制御を説明する補足図。
【発明を実施するための形態】
【0020】
ここから,本発明に係る実施形態について記載する。本実施形態は,本発明の理解を容易にするためのものであり,本発明は,本実施形態に限定されるものではない。また,特に断りのない限り,図面は,本発明の理解を容易にするために描かれた模式的な図である。
【0021】
図1は,セキュアエレメント1を搭載したデバイス2の一例を説明する図である。図1では,セキュアエレメント1を搭載したデバイス2を,ISO7816に準拠した接触通信により外部端末と通信する接触型ICカードとして図示している。
【0022】
図1において,デバイス2はクレジットカードの形状にしているが,セキュアエレメント1を搭載したデバイス2の形状は,クレジットカードの形状に限定されない。セキュアエレメント1を搭載したデバイス2は,スマートフォンなどに装着するSIM(Subscriber Identity Module)でもよく,または,スマートフォンなどの基板に実装するeSIM(embedded Subscriber Identity Module)でもよい。
【0023】
図1で図示したデバイス2において,セキュアエレメント1は外部端子の裏側に樹脂モールドされている。セキュアエレメント1は,外部端子20を介して図外の外部装置(例えば,リーダライタ)と接触通信する。なお,セキュアエレメント1が対応する通信方式は,ISO7816に準拠した接触通信に限定されない。セキュアエレメント1が対応する通信方式は,ISO14443に準拠した非接触通信でもよく,コンピュータ内部で用いられる通信方式(例えば,SPI,Serial Peripheral Interface)でもよい。
【0024】
図2は,セキュアエレメント1のハードウェアを説明する図である。本実施形態に係るセキュアエレメント1は,回路として,接触通信インタフェース101,CPU100(Central Processing Unit),RAM102(Random Access Memory),ROM103(Read Only Memory),不揮発性ストレージ104,コプロセッサ105(Coprocessor),乱数生成器106(RNG: Random Number Generator)および,電力供給回路107を備えている。当然のことながら,セキュアエレメント1に集積する回路は,これらの回路に限定されない。
【0025】
本実施形態において,セキュアエレメント1のCPU100は,メモリに格納されたプログラムコードを解釈して,所定の処理を実行する回路である。電力供給回路107は,デバイス2の表面にある外部端子20(VCC端子)と接続し,外部端末から供給された電力を他の回路(例えば,CPU100)に供給する回路である。接触通信インタフェース101は,デバイス2の表面にある外部端子20(I/O端子)と接続し,外部端末と接触通信を行う回路である。コプロセッサ105は,暗号鍵を用いた暗号演算を高速に処理できるように構成された回路である。乱数生成器106は,乱数を生成する回路である。
【0026】
RAM102,ROM103および不揮発性ストレージ104は,セキュアエレメント1が備えるメモリになる。RAM102は,電気的な書き換え可能な揮発性メモリである。ROM103は,電気的に書き換えできない読取り専用の不揮発性メモリである。不揮発性ストレージ104は,電気的に書き換え可能な不揮発性メモリで構成されるストレージである。例えば,不揮発性ストレージ104は,EEPROM(登録商標)やフラッシュメモリ(登録商標)などにより構成される。
【0027】
図3は,データ書き込みに係るセキュアエレメント1の構成を説明する図である。セキュアエレメント1が備える不揮発性ストレージ104は,データ書き込みに係るハードウェア層になる。セキュアエレメント1に実装されたオペレーティングシステム10(以下,「OS10」と記す。OSは,Operating Systemの略)は,データ書き込みに係るオペレーティングシステム層になる。不揮発性ストレージ104にデータを書き込む処理を実行するアプリケーション12は,データの書き込みに係るアプリケーション層になる。
【0028】
アプリケーション12は,不揮発性ストレージ104にデータを書き込む処理を必要とする複数のコマンドに対応する。このコマンドには,書き込み系コマンドのみならず認証系コマンドなども含まれる。認証系コマンドでは,認証の中断または失敗した回数をカウントするリトライカウンタ104dが少なくとも必要となる。リトライカウンタ104dは不揮発性ストレージ104に格納されるデータになり,認証系コマンドに係る処理において,リトライカウンタ104dの書き換えが行われる。
【0029】
セキュアエレメント1に実装されたOS10は,不揮発性ストレージ104にデータを書き込む際,データの一貫性に係る処理を実行するトランザクション制御手段11を有する。本実施形態に係るトランザクション制御手段11は,書き込みデータの書き込み先の内容をバックアップするバックアップ方式のトランザクション制御に対応する。更に,本実施形態に係るトランザクション制御手段11は,バックアップ方式のトランザクション制御に加え,書き込みデータを本来の書き込み先に書き込む前に他の領域に書き込んでおき,トランザクション制御の終了が指示されると,他の領域に書き込んだ書き込みデータを本来の書き込み先に書き込む先行書き込み方式のトランザクション制御に対応する。
【0030】
図3で図示したごとく,セキュアエレメント1が備える不揮発性ストレージ104は,セキュアエレメント1に実装されたOS10により,ページと呼ばれる単位に分割されて管理され,本実施形態に係る不揮発性ストレージ104は,ページの単位でデータの書き込みが可能になっている。それぞれのページにはページ番号が付与され,ページ番号によりページは識別される。容量が比較的小さい不揮発性ストレージ104の場合,ページのサイズは数十バイト程度であるが,容量が比較的大きい不揮発性ストレージ104の場合,ページのサイズは,128バイト,256バイトまたは512バイトなどになる。
【0031】
セキュアエレメント1が備える不揮発性ストレージ104は,データ格納領域104a,バックアップ領域104bおよび先行書き込み領域104cを含んでいる。
【0032】
データ格納領域104aに割り当てられたページには,OS10が使用するプログラムコードとデータと,アプリケーション12が使用するプログラムコードおよびデータが格納される。図3において,データ格納領域104aに割り当てられたページの一つで,ページ番号が「a」のページには,認証系コマンドに係るコマンド処理で用いるデータであるリトライカウンタ104dと,認証系コマンドに係るコマンド処理で用いるデータとなるパスワード用カウンタ104eが格納されている。なお,パスワード用カウンタ104eとは,ワンタイムパスワードの生成に用いるカウンタである。
【0033】
本実施形態に係るセキュアエレメント1において,バックアップ領域104bおよび先行書き込み領域104cは,データの一貫性に係る処理を実行するトランザクション制御手段11が少なくとも利用する領域になる。トランザクション制御手段11がバックアップ方式で使用する領域になるバックアップ領域104bには,書き込みデータを書き込む書き込み先のページである書き込み先ページの内容がバックアップされる。また,トランザクション制御手段11が先行書き込み方式で使用する領域になる先行書き込み領域104cには,書き込み先ページに書き込む書き込みデータとこれの管理情報が書き込まれる。
【0034】
図3では,データ格納領域104aには含まれないページ番号が「b」のページがバックアップ領域104bに割り当てられている。また,データ格納領域104aには含まれないページ番号が「c」のページが先行書き込み領域104cに割り当てられている。先行書き込み領域104cに割り当てるページ数は1ページでなくともよい。複数のページを先行書き込み領域104cに割り当て,先行書き込み領域104cとして使用するページをローテート(循環)させることで,不揮発性メモリの耐久性の劣化を防止できる。なお,バックアップ領域104bについても同じである。
【0035】
これまで説明した通り,トランザクション制御手段11は,バックアップ方式のトランザクション制御と先行書き込み方式のトランザクション制御の2つの方式に対応するが,バックアップ方式のトランザクション制御は以前より用いられている方式であるため,ここでは,先行書き込み方式のトランザクション制御についてのみ詳細に説明する。
【0036】
バックアップ方式のトランザクション制御について説明する。トランザクション制御手段11は,バックアップ方式のトランザクション制御において,書き込みデータを書き込み先ページに書き込む前に,不揮発性ストレージ104に設けられたバックアップ領域104bに書き込み先ページの内容を複製しておき,電源が投入された後に,トランザクション制御の終了指示を受けていないと判定すると,バックアップ領域104bの内容を複製元になったページに反映させる処理を実行する。
【0037】
図4は,先行書き込み方式のトランザクション制御方法に係る処理を説明する図である。先行書き込み方式のトランザクション制御方法に係る処理は,トランザクション制御手段11が実行する処理で,この処理は,以下の手順で実行される。
【0038】
アプリケーション12は,不揮発性ストレージ104にデータを書き込む一連の処理を開始する際,トランザクション制御の方式を含むトランザクション制御の開始指示をOS10に与える(手順S1)。本実施形態に係るトランザクション制御手段11は,バックアップ方式のトランザクション制御と先行書込み方式のトランザクション制御の2方式に対応しているが,ここでは,アプリケーション12が指定するトランザクション制御の方式を先行書込み方式として説明する。先行書込み方式のトランザクション制御の対象になるデータは,サイズが小さく,かつ,書き換え頻度の高いデータになる。
【0039】
次に,アプリケーション12は,不揮発性ストレージ104に書き込む書き込みデータとこれの書き込み先を含むデータ書き込み指示をOS10に与える(手順S2)。なお,書き込みデータの書き込み先は,書き込みデータを書き込むページである書き込み先ページとこの書き込み先ページにおけるアドレスである書き込み先アドレスで構成される。
【0040】
トランザクション制御手段11は,先行書込み方式のトランザクション制御の開始が指示された後に,データ書き込み指示をアプリケーション12から受けると,アプリケーション12から指定された書込みデータを不揮発性ストレージ104のデータ格納領域104aに書き込まずに,不揮発性ストレージ104に設けられた先行書き込み領域104cに書き込みデータを書き込む先行書込み処理を実行する(手順S3)。
【0041】
トランザクション制御手段11は,先行書込み方式のトランザクション制御の開始が指示された後,データ書き込み指示をアプリケーション12から受けるごとに手順S3を繰り返し実行する。よって,先行書き込み領域104cに書き込まれる書き込みデータは一つに限定されない。また,先行書き込み領域104cに書き込む書き込みデータには,書き込みデータの書き込み先(書き込みページと書き込みアドレス)と書き込みデータのデータ長などを含む管理情報が付加される。
【0042】
アプリケーション12は,不揮発性ストレージ104にデータを書き込む一連の処理が終了すると,トランザクション制御の終了指示をOS10に与える(手順S4)。トランザクション制御手段11は,トランザクション制御の終了がアプリケーション12から指示されると,先行書き込み領域104cに書き込まれた書き込みデータごとに,書き込みデータの書き込み先ページを確認し,書き込み先ページが同一の書き込みデータを一括してこの書き込み先ページに書き込むページ更新処理を実行する(手順S5)。
【0043】
ページ更新処理において,書き込みデータを書き込む書き込み先ページは,先行書き込み領域104cに存在する書き込みデータの管理情報から判定できる。書き込み先ページが同一の書き込みデータを一括してこの書き込み先ページに書き込むことで,ページの書き換え回数を減らすことができる。また,ページ更新処理において,書き込み先が同じ書き込みデータが先行書き込み領域104cに複数存在する場合,最後に先行書き込み領域104cに書き込んだ書き込みデータをページ更新処理に用いることが,ページの書き換え回数を減らす観点からして好適である。
【0044】
次に,トランザクション制御手段11は,書き込み先ページに書き込んだ書き込みデータを先行書き込み領域104cから削除して(手順S6),図4の手順は終了する。
【0045】
先行書き込み領域104cは不揮発性ストレージ104に設けられる領域になる。このため,先行書き込み領域104cに存在する書き込みデータを消去するまで,セキュアエレメント1に電源断が発生しても,先行書き込み領域104cに書き込んだ書き込みデータは消えない。このことを利用して,セキュアエレメント1に電源断が発生した場合,不揮発性ストレージ104のデータ格納領域104aにおける状態をセキュアエレメント1に電源断が発生した直前の状態にすることができる。
【0046】
図5は,リセット後におけるトランザクション制御手段11の動作を説明する図である。セキュアエレメント1がリセットされると,トランザクション制御手段11は,先行書き込み領域104cに書き込みデータが存在するか否かを判定する(手順S10)。先行書き込み領域104cに書き込みデータが存在しない場合,図5の手順は終了する。先行書き込み領域104cに書き込みデータが存在する場合,トランザクション制御手段11は,先行書き込み領域104cに存在する書き込みデータを用いてページ更新処理を実行した後(手順S11),トランザクション制御手段11が,先行書き込み領域104cに存在する書き込みデータを削除して(手順S12)を実行して,図5の手順は終了する。
【0047】
先行書き込み方式のトランザクション制御についてより詳細に説明する。図6は,先行書き込み方式のトランザクション制御を説明する補足図である。なお,この説明では,書き込みデータをリトライカウンタ104dの値とパスワード用カウンタ104eの値とし,これらのデータはいずれも先行書込み対象のデータである。
【0048】
不揮発性ストレージ104のデータ格納領域104aに格納されたリトライカウンタ104dは,認証系コマンドが実行されると,一つ減算した値に書き換えられ,認証に係る処理に成功すると,リトライ回数の最大値に書き換えられる。また,不揮発性ストレージ104のデータ格納領域104aに格納されたパスワード用カウンタ104eは,認証系コマンドが実行されるごとに,一つ加算した値に書き換えられる。図6の1行目で図示したように,認証系コマンドが実行されるときのリトライカウンタ104dの値を「C0」とする。また,認証系コマンドが実行されるときのパスワード用カウンタ104eの値を「TC0」とする。また,この時点において,先行書き込み領域104cの内容は空である。
【0049】
先行書込み方式のトランザクション制御の開始が指示された後,「C0」を一つ減算した値である「C1」をリトライカウンタ104dに書き込む指示をアプリケーション12から受けると,図6の2行目で図示したように,トランザクション制御手段11は,リトライカウンタ104dの管理情報とリトライカウンタ104dの値である「C1」を先行書き込み領域104cに書き込む。更に,トランザクション制御手段11は,「TC0」を一つ加算した値である「TC1」をパスワード用カウンタ104eに書き込む指示をアプリケーション12から受けると,図6の3行目で図示したように,トランザクション制御手段11は,パスワード用カウンタ104eの管理情報とこれの値である「TC1」を先行書き込み領域104cに書き込む。なお,トランザクション制御手段11が先行書込み領域にデータを書き込んでも,「C1」などの書き込み先ページ(ここでは,ページ番号が「a」のページ)は更新されない。
【0050】
認証に係る照合処理に成功し,リトライカウンタ104dにリトライ回数の最大値である「Cmax」をリトライカウンタ104dに書き込む書き込み指示をアプリケーション12から受けると,図6の4行目で図示したように,トランザクション制御手段11は,リトライカウンタ104dの管理情報とこれの値である「Cmax」を先行書き込み領域104cに書き込む。なお,リトライカウンタ104dの書き込みデータとなる「Cmax」を先行書き込み領域104cに書き込んでも,「Cmax」などの書き込み先ページ(ここでは,ページ番号が「a」のページ)は更新されない。
【0051】
アプリケーション12からトランザクション制御の終了が指示されると,トランザクション制御手段11は,先行書き込み領域104cに書き込まれていた書き込みデータを書き込み先に書き込むページ更新処理を実行する。先行書き込み領域104cに書き込まれていた書き込みデータとなるリトライカウンタ104dの値とパスワード用カウンタ104eの値それぞれの書き込み先ページは同じになるため,トランザクション制御手段11は,リトライカウンタ104dの値とパスワード用カウンタ104eの値を一括して同一の書き込み先ページ(ページ番号が「a」のページ)に書き込む。
【0052】
先行書き込み領域104cには,リトライカウンタ104dの値として,「C1」と「Cmax」の2つが書き込まれている。これらのうち先行書き込み領域104cに最後に書き込まれた値は「Cmax」になる。このため,トランザクション制御手段11は,書き込み先ページに書き込むリトライカウンタ104dの値として「Cmax」を書き込むことになる。すなわち,図6の5行目で図示したように,トランザクション制御手段11は,リトライカウンタ104dに「Cmax」を書き込み,パスワード用カウンタ104eに「TC1」を書き込んだ内容に書き込み先ページ(ページ番号が「a」のページ)を更新する。なお,書き込み先ページを更新すると,トランザクション制御手段11は,先行書き込み領域104cに格納されていた書き込みデータすべてを削除し,先行書き込み領域104cは空の状態になる。
【0053】
この例では,リトライカウンタ104dの値とパスワード用カウンタ104eの値それぞれを不揮発性ストレージ104に設けられたデータ格納領域104aのページに書き込まなければならないが,先行書込み方式のトランザクション制御を行うことで,リトライカウンタ104dの値とパスワード用カウンタ104eの値それぞれを一度に書き込むことができる。また,リトライカウンタ104dに関しては,本来なら2回の書き込みが行われるリトライカウンタ104dの書き込み回数を1回に減らせる。すなわち,このケースでは,3回の書き込みが必要なところを1回に減らすことができる。
【0054】
なお,「C0」を一つ減算した値である「C1」とリトライカウンタ104dの管理情報を先行書き込み領域104cに書き込んだ後に,セキュアエレメント1に電源断が発生すると,その後にリセットされた際,トランザクション制御手段11は,先行書き込み領域104cに書き込まれていた「C1」を書き込み先ページにあるリトライカウンタ104dに反映させる。このため,リセットカウンタの値を,セキュアエレメント1に電源断が発生する直前の値できる。
【0055】
これまで説明したように,先行書き込み方式のトランザクション制御にセキュアエレメント1を対応させることで,サイズが小さく書き換え頻度の高い複数のデータが一つのページに存在する場合であっても,サイズが小さく書き換え頻度の高い複数のデータを一括してページに書き込めるので,ページへの書き込み回数を減らすことができる。また,先行書込み領域に書き込んだ書き込みデータは,セキュアエレメント1の電源が落ちても消えないため,データの一貫性を保障できる。
【符号の説明】
【0056】
1 セキュアエレメント
10 オペレーティングシステム
11 トランザクション制御手段
12 アプリケーション
104 不揮発性ストレージ
104a データ格納領域
104b バックアップ領域
104c 先行書き込み領域
2 デバイス
図1
図2
図3
図4
図5
図6