JP2013080397A - Ic chip, processing method in ic chip, processing program for ic chip, and ic card - Google Patents
Ic chip, processing method in ic chip, processing program for ic chip, and ic card Download PDFInfo
- Publication number
- JP2013080397A JP2013080397A JP2011220356A JP2011220356A JP2013080397A JP 2013080397 A JP2013080397 A JP 2013080397A JP 2011220356 A JP2011220356 A JP 2011220356A JP 2011220356 A JP2011220356 A JP 2011220356A JP 2013080397 A JP2013080397 A JP 2013080397A
- Authority
- JP
- Japan
- Prior art keywords
- page
- area
- update
- card
- data
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、データを管理する装置及び方法等の技術分野に関する。 The present invention relates to a technical field such as an apparatus and a method for managing data.
ICカードを用いた商取引等においては、ICカードに搭載されたICチップの不揮発性メモリ等に記憶される種々の重要なデータ(例えば、決済処理に用いられる個人情報等)が、必要に応じて読み出され、消去され、又は、新たなデータに書き換えられる。 In a commercial transaction using an IC card, various important data (for example, personal information used for payment processing) stored in a non-volatile memory of an IC chip mounted on the IC card is stored as necessary. It is read, erased, or rewritten with new data.
この不揮発性メモリは、電力を失ってもデータを保持し続ける特性があるが、ICカードの処理中、例えば、当該不揮発性メモリに対してデータが書き込まれている間においては、書き込み中のデータを保障することができない。 This non-volatile memory has the characteristic of retaining data even when power is lost. However, during processing of the IC card, for example, while data is being written to the non-volatile memory, the data being written Can not be guaranteed.
具体的には、ICカードがリーダライタ装置に挿入され、当該不揮発性メモリに対してデータが書き込まれている間に、利用者によってICカードがリーダライタ装置から強制的に引き抜かれた場合(所謂、利用者による引き抜き)や、ICカードとリーダライタ装置との端子間で接触不良が生じた場合等の瞬断が発生した場合には、ICカードにおける処理が中断され、カード内の大切なデータが破壊される虞がある。 Specifically, when the IC card is forcibly removed from the reader / writer device by the user while the IC card is inserted into the reader / writer device and data is being written to the nonvolatile memory (so-called “so-called”). In the case of a momentary interruption such as when a contact failure occurs between the terminals of the IC card and the reader / writer device, the processing in the IC card is interrupted and important data in the card May be destroyed.
このため、一般的なICカードは、瞬断によるデータの破壊を防止すべく、瞬断を考慮した保護機能(専用の保護機能)が搭載されている。 For this reason, a general IC card is equipped with a protection function (dedicated protection function) in consideration of instantaneous interruption in order to prevent data destruction due to instantaneous interruption.
そして、上述した瞬断を考慮した保護機能は、メモリ管理者としてカードOSの基本的な機能として提供されている。以下、この瞬断を考慮した保護機能を単に「カードOSによる非更新領域の保護機能」と称する。 And the protection function which considered the instantaneous interruption mentioned above is provided as a basic function of card | curd OS as a memory manager. Hereinafter, this protection function taking into account the instantaneous interruption is simply referred to as a “non-update area protection function by the card OS”.
この「カードOSによる非更新領域の保護機能」の概要は、更新されるデータ以外のデータである非更新領域のデータを保護するため、当該データのバックアップを、予め他の領域(例えば、不揮発性メモリに設定されたバックアップ領域等)に書き込んだ後、実際にデータの更新(書き込みを含む)を行う。更新作業が完了した場合は、バックアップ領域に更新が成功した情報を追加する。一方、更新の途中に処理が中断(瞬断)されたならば、次にカードが活性化した直後にバックアップ領域の内容を調べ、更新作業が完了していないデータに対して実際のデータ領域(この場合、非更新領域)に書き戻すようになっている。 The outline of the “non-update area protection function by the card OS” is to protect the data in the non-update area, which is data other than the data to be updated. After the data is written in the backup area set in the memory), the data is actually updated (including writing). When the update operation is completed, information indicating the successful update is added to the backup area. On the other hand, if the processing is interrupted (instant interruption) during the update, the contents of the backup area are examined immediately after the next activation of the card, and the actual data area ( In this case, data is written back to the non-update area.
また、特許文献1では、書き込み領域縮小化及びバックアップの処理時間の短縮化の観点から、バックアップ対象として、非更新領域のデータのみを、予め他の領域にコピーする技術が開示されている。
一方、更新領域の保護に関しては、JAVA(登録商標)カードが有する機能において提供されている。 On the other hand, the protection of the update area is provided in the function of the JAVA (registered trademark) card.
JAVAカードは、公知の技術であるため詳しい説明は省略するが、一般的なICカードのOSの上にバーチャルマシン(Virtual Machine)をのせたICカードであり、所定のプラットフォームのもと、JAVA言語でICカードのアプリケーションを作成することが可能となっている。このプラットフォームは、例えば、JAVA CARD 3.0等で規格化されている。 The JAVA card is a well-known technique, and thus detailed description is omitted. However, a JAVA card is an IC card in which a virtual machine is placed on an OS of a general IC card. This makes it possible to create an IC card application. This platform is standardized by JAVA CARD 3.0, for example.
そして、JAVAカードでは、更新領域の保護に関してトランザクション(Transaction)という仕組みが利用されている。トランザクションとは、特定の一連の処理の開始前もしくは終了後の何れかの状態のみを取り得る仕組みをいう。 In the JAVA card, a mechanism called transaction is used to protect the update area. A transaction refers to a mechanism that can take only a state before or after the start of a specific series of processes.
上述した「カードOSの保護機能における非更新領域の保護機能」は、一度の更新(例えば、一のデータの書き込み)に対して有効であるのに対して、このトランザクションによる更新領域の保護では、予め定められた一又は複数の書き込み(以下、単に「連続した書き込み」と称する。)において、連続した書き込みの保障が可能である。この連続した書き込みの保障とは、更新前の更新領域の状態、又は更新後の更新領域の状態の何れかの状態を取り得ることができることをいう。以下、トランザクションにおける更新領域の保護について、単に、「トランザクションによる更新領域の保護機能」と称する。 The “non-update area protection function in the card OS protection function” described above is effective for one update (for example, writing of one data), whereas in the update area protection by this transaction, In one or a plurality of predetermined writings (hereinafter simply referred to as “continuous writing”), it is possible to guarantee continuous writing. This guarantee of continuous writing means that either the state of the update area before the update or the state of the update area after the update can be taken. Hereinafter, protection of an update area in a transaction is simply referred to as “update area protection function by transaction”.
この「トランザクションによる更新領域の保護機能」の一例として、上記更新前の更新領域の状態を取り得ることを可能とするため、不揮発性メモリに記憶されたデータのうち、更新される領域に既に記憶されているデータをバックアップ領域へ書き込む。そして、更新の途中に処理が中断されたならば、次にカードが活性化した直後にバックアップ領域の内容を調べ、更新作業が完了していないデータに対して、バックアップ領域へ書き込まれたデータを、実際のデータ領域(この場合、更新領域)へ書き戻すようになっている。 As an example of the "update area protection function by transaction", in order to be able to take the state of the update area before the update, it is already stored in the area to be updated among the data stored in the nonvolatile memory. Write the stored data to the backup area. If the processing is interrupted during the update, the contents of the backup area are examined immediately after the next activation of the card, and the data written to the backup area is compared with the data that has not been updated. The data is written back to the actual data area (in this case, the update area).
また、従来のICカードでは、不揮発性メモリに対してページ単位でデータが更新されるのであるが、このページあたりに記憶されるデータの容量(単位)が1byte、2byte、又は4byte、と小さいことが通常であり、更新(データの書き込み及び消去等)される時間も短かった。 Further, in the conventional IC card, data is updated in units of pages in the nonvolatile memory, but the capacity (unit) of data stored per page is as small as 1 byte, 2 bytes, or 4 bytes. However, the update (data writing and erasing etc.) time is also short.
そのため、従来のICカードでは、「カードOSによる非更新領域の保護機能」(記憶領域の更新領域を保護する機能)と「トランザクションによる更新領域の保護機能」(非更新領域を保護する機能)が別々に定義されており、ICカードがデータを更新する際に、「カードOSによる非更新領域の保護機能」と、「トランザクションによる更新領域の保護機能」がそれぞれ機能するようになっていた。 For this reason, the conventional IC card has a “non-update area protection function by the card OS” (function to protect the update area of the storage area) and a “update area protection function by transaction” (a function to protect the non-update area). They are defined separately, and when the IC card updates data, the “non-update area protection function by the card OS” and the “update area protection function by the transaction” function respectively.
しかしながら、近年、不揮発性メモリの大容量化が進み、ページあたりに記憶されるデータの容量が128byte、又は256byteと増加している。このページあたりに記憶されるデータの容量の増加に伴い、バックアップされる更新領域及び非更新領域のデータも拡大しており、更新やバックアップに要する処理時間が増加している。 However, in recent years, the capacity of the nonvolatile memory has been increased, and the capacity of data stored per page has increased to 128 bytes or 256 bytes. As the capacity of data stored per page increases, the data in the update area and the non-update area to be backed up also expand, and the processing time required for updating and backup increases.
さらに、「カードOSによる非更新領域の保護機能」と、「トランザクションによる更新領域の保護機能」がそれぞれ機能すると、更新やバックアップに要する処理時間はさらに増加し、ユーザの利便性を損なうといった問題点がある。 Furthermore, when the “non-update area protection function by card OS” and the “update area protection function by transaction” function, the processing time required for updating and backup further increases, which impairs user convenience. There is.
そこで、本発明は、このような点等に鑑みてなされたものであり、データの保護機能を複数備えるICチップにおいて、適切な保護機能によってデータを保護することにより、データの保護機能による処理時間の短縮を図るICチップ、ICチップにおける処理方法、ICチップ用処理プログラム、及びICカードを提供することを目的とする。 Therefore, the present invention has been made in view of the above points and the like, and in an IC chip having a plurality of data protection functions, the data is protected by an appropriate protection function, so that the processing time by the data protection function is increased. An object of the present invention is to provide an IC chip, an IC chip processing method, an IC chip processing program, and an IC card.
上記課題を解決するために、請求項1に記載の発明は、所定の領域を一のページとして、一又は複数のページに区画される記憶部を備え、更新要求に基づいて、前記記憶部の指定されたページの指定された領域に記憶されるデータを更新するICチップであって、前記データを更新する領域である更新領域が属するページのうち、当該更新領域以外の領域である非更新領域に記憶されるデータを保護する第1の保護手段と、前記更新前の更新領域に記憶されるデータを保護する第2の保護手段と、を備え、前記第2の保護手段は、前記更新前の更新領域及び非更新領域が属するページの全ての領域を更新領域として、当該ページに記憶される全てのデータを前記記憶部に記憶させ、当該ページに非更新領域が存在しないものとして、前記第1の保護手段を機能させないことを特徴とする。
In order to solve the above problem, the invention described in
請求項2に記載の発明は、請求項1に記載のICチップであって、前記第1の保護手段は、ICチップの基本的な動作を管理するオペレーティングシステムが備える基本的な機能であって、当該オペレーティングシステムの制御に基づいて実行され、前記第2の保護手段は、前記オペレーティングシステム上で動作し、前記ICチップに所定の機能を実行させるアプリケーションの要求に応じた前記オペレーティングシステムの制御に基づいて実行されることを特徴とする。 A second aspect of the present invention is the IC chip according to the first aspect, wherein the first protection means is a basic function provided in an operating system that manages the basic operation of the IC chip. The second protection means operates on the operating system and controls the operating system in response to a request from an application that causes the IC chip to execute a predetermined function. It is performed based on.
請求項3に記載の発明は、請求項1又は2に記載のICチップであって、前記更新領域が属するページが、前記記憶部に既に記憶されているか否かを検索する検索手段と、前記更新領域が属するページが、前記記憶部に既に記憶されていることが検索されなかった場合には、前記第2の保護手段は、当該更新領域が属するページに記憶される全てのデータを、前記記憶部に記憶して保護することを特徴とする。
The invention according to claim 3 is the IC chip according to
請求項4に記載の発明は、請求項1乃至3の何れか1項に記載のICチップであって、特定の一連の更新処理の開始前又は終了後の何れかにおける記憶部に記憶されるデータを保護可能とするトランザクションの実行状態を監視する監視手段をさらに備え、前記第2の保護手段は、前記トランザクションの実行中に、前記更新前の更新領域が属するページの全ての領域を更新領域として、当該ページに記憶される全てのデータを前記記憶部に記憶し、当該ページに非更新領域が存在しないものとして前記オペレーティングシステムに通知して、前記第1の保護手段を機能させないことを特徴とする。
The invention according to claim 4 is the IC chip according to any one of
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載のICチップと、ICカード基体と、を備えることを特徴とする。 According to a fifth aspect of the present invention, there is provided an IC chip according to any one of the first to fourth aspects, and an IC card base.
請求項6に記載の発明は、所定の領域を一のページとして、一又は複数のページに区画される記憶部を備え、更新要求に基づいて、前記記憶部の指定されたページの指定された領域に記憶されるデータを更新するICチップにおける処理方法であって、前記データを更新する領域である更新領域が属するページのうち、当該更新領域以外の領域である非更新領域に記憶されるデータを保護する第1の保護工程と、前記更新前の更新領域に記憶されるデータを保護する第2の保護工程と、を有し、前記第2の保護工程は、前記更新前の更新領域及び非更新領域が属するページの全ての領域を更新領域として、当該ページに記憶される全てのデータを前記記憶部に記憶させ、当該ページに非更新領域が存在しないものとして、前記第1の保護工程を機能させないことを特徴とする。 The invention according to claim 6 includes a storage unit that is partitioned into one or a plurality of pages with a predetermined area as one page, and the specified page of the storage unit is designated based on an update request A processing method in an IC chip for updating data stored in an area, and data stored in a non-update area that is an area other than the update area among pages to which an update area that is an area for updating the data belongs And a second protection step for protecting data stored in the update area before the update, wherein the second protection process includes the update area before the update and The first protection step is based on the assumption that all areas of the page to which the non-update area belongs are set as update areas, all data stored in the page is stored in the storage unit, and no non-update area exists in the page. Wherein the not function.
請求項7に記載の発明は、所定の領域を一のページとして、一又は複数のページに区画される記憶部を備え、更新要求に基づいて、前記記憶部の指定されたページの指定された領域に記憶されるデータを更新するICチップに含まれるコンピュータを、前記データを更新する領域である更新領域が属するページのうち、当該更新領域以外の領域である非更新領域に記憶されるデータを保護する第1の保護手段、前記更新前の更新領域に記憶されるデータを保護する第2の保護手段、として機能させ、前記第2の保護手段は、前記更新前の更新領域及び非更新領域が属するページの全ての領域を更新領域として、当該ページに記憶される全てのデータを前記記憶部に記憶させ、当該ページに非更新領域が存在しないものとして、前記第1の保護手段を機能させないことを特徴とする。 The invention according to claim 7 includes a storage unit that is partitioned into one or a plurality of pages with a predetermined area as one page, and the specified page of the storage unit is designated based on an update request A computer included in an IC chip that updates data stored in an area is stored in a non-update area that is an area other than the update area, out of the pages to which the update area that is the data update area belongs. The first protection means for protecting and the second protection means for protecting the data stored in the update area before the update function. The second protection means includes the update area before the update and the non-update area. All areas of the page to which the page belongs are stored as update areas, all data stored in the page is stored in the storage unit, and there is no non-update area in the page, the first protection Wherein the not function stage.
請求項8に記載の発明は、所定の領域を一のページとして、一又は複数のページに区画される記憶部を備え、更新要求に基づいて、前記記憶部の指定されたページの指定された領域に記憶されるデータを更新するICチップであって、前記更新領域が属するページが、前記記憶部に既に記憶されているか否かを検索する検索手段と、を備え、前記更新領域が属するページが、前記記憶部に既に記憶されていることが検索されなかった場合には、当該更新領域が属するページに記憶される全てのデータを、前記記憶部に記憶して保護することを特徴とする。 The invention according to claim 8 includes a storage unit that is partitioned into one or a plurality of pages, with a predetermined area as one page, and based on an update request, the specified page of the storage unit is specified An IC chip for updating data stored in an area, comprising: search means for searching whether or not a page to which the update area belongs is already stored in the storage unit, and the page to which the update area belongs However, if it is not found that the data is already stored in the storage unit, all data stored in the page to which the update area belongs is stored and protected in the storage unit. .
本発明によれば、データの保護機能を複数備えるICチップにおいて、適切な保護機能によってデータを保護することにより、データの保護機能による処理時間の短縮を図ることができる。 According to the present invention, in an IC chip having a plurality of data protection functions, it is possible to reduce the processing time by the data protection function by protecting the data with an appropriate protection function.
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、ICカードの一例としての上述したJAVAカードに対して本発明を適用した場合の実施の形態である。以下、JAVAカードに対応したICカードを、単にICカードと称する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the embodiment described below, the present invention is applied to the above-described JAVA card as an example of an IC card. Hereinafter, an IC card corresponding to a JAVA card is simply referred to as an IC card.
[1. ICカードのハードウェア構成及び機能概要]
まず、図1を参照して、本願のICカードのハードウェア構成及び機能概要について説明する。本実施形態にかかるICカードの構成及び機能概要を示すブロック図である。
[1. IC card hardware configuration and function overview]
First, with reference to FIG. 1, the hardware configuration and functional outline of the IC card of the present application will be described. It is a block diagram which shows the structure and function outline | summary of the IC card concerning this embodiment.
図1は、本実施形態にかかるICカードの構成及び機能概要を示すブロック図である。 FIG. 1 is a block diagram showing an outline of the configuration and functions of the IC card according to the present embodiment.
図1に示すように、ICカード8は、ICチップ1をカード基体7に備えている。
As shown in FIG. 1, the IC card 8 includes an
そして、ICチップ1は、I/O回路2、ROM(Read Only Memory)3、RAM(Random Access Memory)4、本願の記憶部の一例としての不揮発性メモリ(例えば、EEPROM(Electrically Erasable and Programmable Read Only Memory))5、CPU(Central Processing Unit)6等を備えて構成されている。なお、I/O回路2を介した外部機器とのデータ通信は、接触方式と非接触方式の何れの方式であってもよい。I/O回路2は、図示しない外部機器とデータ通信するための処理回路である。ROM3は、CPU6によって実行されるべきプログラムが記憶されており、CPU6は、このプログラムに基づいてICチップ1を統括的に制御する。
The
また、ROM3に記憶されるプログラムとしては、カードOS(本願のオペレーティングシステムの一例)、複数種類のアプリケーションプログラム、及び本発明のICチップ用処理プログラムがある。なお、本発明のICチップ用処理プログラムは、カードOS又はアプリケーションプログラムの一機能として組み込まれてもよい。また、これらのプログラムは、不揮発性メモリ5に記憶されるようにしてもよい。 The programs stored in the ROM 3 include a card OS (an example of the operating system of the present application), a plurality of types of application programs, and an IC chip processing program of the present invention. The IC chip processing program of the present invention may be incorporated as a function of the card OS or application program. Further, these programs may be stored in the nonvolatile memory 5.
RAM4は、CPU6がICチップ1を統括的に制御等するために作業領域として使用する記憶領域である。
The RAM 4 is a storage area used as a work area for the CPU 6 to control the
不揮発性メモリ5は、不揮発性半導体メモリの一種であり、記憶領域に記憶されるデータを消去し、何度でも再記憶ができるPROM(Programmable Rom)である。 The non-volatile memory 5 is a kind of non-volatile semiconductor memory, and is a PROM (Programmable Rom) that can erase data stored in a storage area and re-store it any number of times.
また、本実施形態における不揮発性メモリ5は、各領域にアドレスが付されており、所定の領域を1のページとして、一又は複数のページに区画される。このアドレスに基づいて、CPU6は、更新要求に基づいて、前記記憶部の指定されたページの指定された領域に記憶されるデータを更新することができる。 In the nonvolatile memory 5 according to the present embodiment, each area is assigned an address, and the predetermined area is defined as one page, and is partitioned into one or a plurality of pages. Based on this address, the CPU 6 can update the data stored in the specified area of the specified page of the storage unit based on the update request.
そして、不揮発性メモリ5は、CPU6により各種データが書き込まれる(記憶される)データ領域と、詳しくは後述するがバックアップデータが書き込まれるバックアップ領域を有する。 The nonvolatile memory 5 has a data area where various data are written (stored) by the CPU 6 and a backup area where backup data is written, as will be described in detail later.
CPU6は、上述したようにプログラムに基づいてICチップ1全体の動作を統括的に制御するとともに、その機能の一部として、データ領域の指定されたページの指定された領域のデータを更新し、さらに、本願の第1の保護手段、第2の保護手段、検索手段、監視手段等として機能する。
The CPU 6 comprehensively controls the operation of the
なお、更新といった場合には、少なくともデータ領域等に記憶されたデータを書き換えることのみならず、新たにデータを書き込むことを含むものとする。 Note that the update includes not only rewriting data stored at least in the data area but also writing new data.
[2.ICカードのソフトウェア構成及び機能概要]
次に、図2を参照して、ICカードのソフトウェア構成について説明する。
[2. IC card software configuration and function overview]
Next, the software configuration of the IC card will be described with reference to FIG.
図2は、ICカードのソフトウェア構成を模式的に示す図である。 FIG. 2 is a diagram schematically showing the software configuration of the IC card.
図2に示すように、ICカードのハードウェアを構成するRAM4、不揮発性メモリ5、及びCPU6等のハードウェア層21は、OS(オペレーティング)層22のカードOSによって制御される。
As shown in FIG. 2, the
OS層22は、JAVAカードを動作させるための環境を含めたバーチャルマシン(Virtual Machine)、アプリケーション(アプレット)の管理をするI.S.D.(Issuer Security Domain)、アプレットの関数であるAPIといったモジュールがカードOSにのった状態となっていて、アプリケーション(アプレット)層23が最上位に位置する。
The
このカードOSは、当該ICカードの基本的な動作を管理するプログラムであり、ハードウェア層21の各ハードウェアを制御したり、各ハードウェアからの処理結果などの情報を受けて動作するプログラムである。
This card OS is a program for managing the basic operation of the IC card, and is a program that controls each hardware of the
そして、上述した「カードOSによる非更新領域の保護機能」は、メモリ管理者としてカードOSの基本的な機能として提供される。 The above-described “non-update area protection function by the card OS” is provided as a basic function of the card OS as a memory manager.
この「カードOSによる非更新領域の保護機能」は、CPU6を、本願の第1の保護手段として機能させ、本願のカードOSの制御に基づいて、不揮発性メモリ5に記憶されるデータを更新する領域である更新領域が属するページのうち、当該更新領域以外の領域である非更新領域に記憶されるデータを保護するようになっている。 This “non-update area protection function by the card OS” causes the CPU 6 to function as the first protection means of the present application, and updates the data stored in the nonvolatile memory 5 based on the control of the card OS of the present application. Of the pages to which the update area that is the area belongs, the data stored in the non-update area that is an area other than the update area is protected.
アプリケーション層23は、カードOS上で動作し、CPU6に所定の機能を実行させるための各種のアプリケーション(アプリケーションA、アプリケーションB等。本願のアプリケーションの一例、以下単に「アプリケーション」とする。)から構成される。
The
そして、上述した「トランザクションによる更新領域の保護機能」は、アプリケーション層23のアプリケーションの機能として提供されている。
The above-described “update function for protecting update area by transaction” is provided as an application function of the
この「トランザクションによる更新領域の保護機能」は、CPU6を、本願の第2の保護手段として機能させ、上記アプリケーションの要求に応じたカードOSの制御に基づいて、更新前の前記更新領域に記憶されるデータを保護するようになっている。 This "update area protection function by transaction" causes the CPU 6 to function as the second protection means of the present application, and is stored in the update area before update based on the control of the card OS according to the request of the application. Data is protected.
ここで、「カードOSによる非更新領域の保護機能」及び「トランザクションによる更新領域の保護機能」の詳細について説明する。 Here, the details of the “non-update area protection function by the card OS” and the “update area protection function by the transaction” will be described.
まず、図3を参照して、「カードOSによる非更新領域の保護機能」が適用される場合のCPU6の動作の概要について説明する。 First, an outline of the operation of the CPU 6 when the “non-update area protection function by the card OS” is applied will be described with reference to FIG.
図3は、カードOSによる非更新領域の保護機能が適用される場合のCPU6の動作の概要を示すフローチャートである。 FIG. 3 is a flowchart showing an outline of the operation of the CPU 6 when the non-update area protection function by the card OS is applied.
なお、カードOSが備える機能(例えば、後述する保護機能動作)、及びアプリケーションが備える機能(例えは、後述するコマンドの処理)は、当該カードOS又はアプリケーションの制御に基づいてCPU6によって実行される。すなわち、カードOSが備える機能、及びアプリケーションが備える機能が実行される場合の動作主体は、ICカードのCPU6である。しかし、本実施形態においては、説明の便宜上、カードOSが備える機能が実行される場合の動作主体をカードOSとし、アプリケーションが備える機能が実行される場合の動作主体をアプリケーションとする。 Note that a function (for example, a protection function operation described later) included in the card OS and a function (for example, command processing described later) included in the application are executed by the CPU 6 based on the control of the card OS or application. That is, the operation subject when the function of the card OS and the function of the application are executed is the CPU 6 of the IC card. However, in this embodiment, for convenience of explanation, the operating subject when the function provided in the card OS is executed is the card OS, and the operating subject when the function provided in the application is executed is the application.
まず、カードOS(CPU6)が、例えばI/O回路2を介して、コマンドを受信すると(ステップS101)、カードOSは、受信したコマンドをどのアプリケーションへ渡すか決定する(ステップS102)。そして、カードOSは、受信したコマンドを、決定されたアプリケーションへ渡す。アプリケーション(CPU6)は、コマンドを取得すると(ステップS103)、コマンドを処理して(例えば、コマンド解釈等)(ステップS104)、必要があれば不揮発性メモリ5のデータを更新する(不揮発性メモリ5へデータを書き込ませる)(ステップS105)。 First, when the card OS (CPU 6) receives a command, for example, via the I / O circuit 2 (step S101), the card OS determines to which application the received command is to be passed (step S102). Then, the card OS passes the received command to the determined application. Upon obtaining the command (step S103), the application (CPU 6) processes the command (for example, command interpretation) (step S104), and updates data in the nonvolatile memory 5 if necessary (nonvolatile memory 5). (Step S105).
この不揮発性メモリ5のデータを更新(不揮発性メモリ5への書き込み)は、カードOSが提供する機能の一部になっているので、実際には、カードOSへ、更新の依頼をする(ステップS106へ)。 Updating the data in the nonvolatile memory 5 (writing to the nonvolatile memory 5) is a part of the function provided by the card OS, so in fact, the card OS is requested to update (step). To S106).
ここで、図4及び図5を参照して、一般的な不揮発性メモリ5に記憶されるデータの更新について説明する。 Here, with reference to FIG. 4 and FIG. 5, the update of the data memorize | stored in the general non-volatile memory 5 is demonstrated.
図4は不揮発性メモリ5のデータ領域にデータが記憶される状態を示す概念図であり、図5はページ単位で不揮発性メモリ5のデータ領域にデータが記憶される状態を示す概念図である。 4 is a conceptual diagram showing a state where data is stored in the data area of the nonvolatile memory 5, and FIG. 5 is a conceptual diagram showing a state where data is stored in the data area of the nonvolatile memory 5 in units of pages. .
一般的に、ICカードの不揮発性メモリのデータの更新は、初期化を行ってから更新される。 In general, the data in the nonvolatile memory of the IC card is updated after initialization.
具体的に、この更新は、不揮発性メモリのデータ領域に記憶されるデータの値を、0から1、又は1から0へ、一方向へ値を書き込むことをいう。そして、不揮発性メモリでは、初期状態の値が0か1に必ず決定されている。即ち、この更新は、初期状態が0の場合は1へ、初期状態が1であれば0へ値を書き込むことをいう。 Specifically, this update refers to writing the value of data stored in the data area of the nonvolatile memory in one direction from 0 to 1, or from 1 to 0. In the nonvolatile memory, the initial value is always determined to be 0 or 1. That is, this update means writing a value to 1 when the initial state is 0, and writing a value to 0 when the initial state is 1.
初期状態の値にないもの、例えば、初期状態の値が0で、その領域に1の値が書き込まれているものに対して、さらにその値を0と書き込みたいときは、書き込みというよりも初期状態に戻すという(クリアする)概念になっている。 If you want to write a value of 0 for something that is not in the initial state value, for example, the value of the initial state is 0 and the value of 1 is written in the area, it is more initial than writing The concept is to return (clear) the state.
ここで、この書き込みについて図4を参照して説明すると、不揮発性メモリのデータ領域(記憶領域)に、0xAAの値が書き込まれているものに対して(図4(A))、0x55の値を書き込む場合(図4(C))には、初期化が行われて、0xFFという初期値に戻される(図4(B))。その上で改めて、0の値にしなければならないところに対して、0の値が書き込まれるため、書き込みの動作は、データを一度消去して、書き込むといった2段階の動作を伴うものとなっている。 Here, this writing will be described with reference to FIG. 4. When a value of 0xAA is written in the data area (storage area) of the nonvolatile memory (FIG. 4A), a value of 0x55 is written. Is written (FIG. 4C), initialization is performed and the initial value is returned to 0xFF (FIG. 4B). In addition, since a value of 0 is written to a place where the value must be set to 0 again, the writing operation involves a two-stage operation of erasing and writing data once. .
このとき、一度に初期化される領域を1ページとすると、図5に示すように更新領域X(データが書き込まれる領域)が3ページにわたる場合、上述したように不揮発性メモリのデータが更新される際には一度初期化が行われるため、ページA、ページB、及びページCの全てのデータが一度消去されることとなる。 At this time, assuming that the area initialized at one time is one page, when the update area X (area in which data is written) covers three pages as shown in FIG. 5, the data in the nonvolatile memory is updated as described above. Since initialization is performed once, all data of page A, page B, and page C are erased once.
このページA及びページCには、更新データ以外のデータY(非更新領域)が含まれているが、ページ単位でしか消去されないため、この非更新領域に記憶されるデータが消去の対象となり、もともと存在していたデータが消されてしまうこととなる。 This page A and page C include data Y (non-update area) other than update data, but are erased only on a page basis, so the data stored in this non-update area is subject to erasure, Data that originally existed will be erased.
この処理の最中、即ち、非更新領域が一度消されたときに瞬断が発生してしまうと、当該非更新領域のデータは消去されたまま(0xFFのまま)になってしまうので、こういった非更新領域を保護、即ち、消去される前の状態に戻そうというのが上述した「カードOSによる非更新領域の保護機能」である。 If an instantaneous interruption occurs during this process, that is, when the non-update area is erased, the data in the non-update area remains erased (0xFF). The above-mentioned “non-update area protection function by the card OS” is to protect such a non-update area, that is, to restore the state before being erased.
具体的に、図5においては、非更新領域のデータYは、ページA及びページCに記憶されている。従って、保護されるべきデータは、データYである。従って、ページA及びページCがページ単位で保護対象(バックアップ対象)として、例えば、バックアップ領域等に書き込まれる。以下に、保護対象としてバックアップ領域に書き込まれたデータを、バックアップデータと称する。 Specifically, in FIG. 5, data Y in the non-update area is stored in page A and page C. Therefore, the data to be protected is data Y. Accordingly, page A and page C are written as protection targets (backup targets) in page units, for example, in a backup area. Hereinafter, data written in the backup area as a protection target is referred to as backup data.
このようにして、「カードOSによる非更新領域の保護機能」によって、非更新領域が保護されるようになっている。 In this way, the non-update area is protected by the “non-update area protection function by the card OS”.
図3のフローチャートの説明に戻り、カードOSは、この保護機能を使って、瞬断に備えた更新を行う(ステップS106)。 Returning to the description of the flowchart of FIG. 3, the card OS uses this protection function to perform an update in preparation for an instantaneous interruption (step S106).
そして、アプリケーションは、残りの処理があれば、コマンド処理をして(ステップS107)、レスポンスデータを送信するのはカードOSの処理となるため、カードOSへレスポンスデータを通知する(ステップS108)。そして、カードOSはレスポンスデータを取得すると(ステップS109)、例えば、外部装置(リーダライタ装置等)へレスポンスデータを送信する(ステップS110)。 If there is remaining processing, the application processes the command (step S107), and the response data is transmitted to the card OS, so the response data is notified to the card OS (step S108). When the card OS acquires the response data (step S109), for example, the card OS transmits the response data to an external device (such as a reader / writer device) (step S110).
次に、図6を参照して、「トランザクションによる更新領域の保護機能」が適用される場合のCPU6の動作の概要について説明する。 Next, with reference to FIG. 6, an outline of the operation of the CPU 6 in the case where the “update area protection function by transaction” is applied will be described.
図6は、「トランザクションによる更新領域の保護機能」が適用される場合のCPU6の動作の概要を示すフローチャートである。 FIG. 6 is a flowchart showing an outline of the operation of the CPU 6 in the case where the “update area protection function by transaction” is applied.
上述したように、「トランザクションによる更新領域の保護機能」は、トランザクションにより実現されており、このトランザクションは例えば、上記アプリケーションの機能として提供されている。 As described above, the “update area protection function by transaction” is realized by a transaction, and this transaction is provided as a function of the application, for example.
この「トランザクションによる更新領域の保護機能」について説明すると、あるコマンド処理の中で、不揮発性メモリに対して、3回の連続した書き込み(書き込み1、書き込み2、書き込み3)が行われる場合を考える。そして、書き込み1及び書き込み2が、連続した書き込みとして定義されているとする。
Explaining this "transaction area protection function by transaction", consider a case where three consecutive writes (
この場合、「トランザクションによる更新領域の保護機能」として、書き込み1及び書き込み2は、連続した書き込みの保障として、書き込み1と書き込み2の両方を更新する前の更新領域の状態、又は、書き込み1と書き込み2の両方を更新した後の更新領域の状態何れかの状態が保障される。
In this case, as the “update area protection function by transaction”, the
具体的には、書き込み2の途中で引き抜き等の瞬断が発生した場合、書き込み1を実施する前の書き込み1と書き込み2の更新領域の状態へ戻るようになっている。一方、書き込み3は、予め定められた書き込みとして定義されていないため、連続した書き込みの保障に含まれない。従って、書き込み3の途中に引き抜き等の瞬断が発生しても、書き込み3が書き込まれる前の状態に戻るだけである。 Specifically, when an interruption such as extraction occurs in the middle of writing 2, the state is returned to the state of the update area of writing 1 and writing 2 before writing 1 is performed. On the other hand, the write 3 is not defined as a predetermined write and is not included in the guarantee of continuous writing. Therefore, even if a momentary interruption such as drawing occurs in the middle of the writing 3, it only returns to the state before the writing 3 is written.
ここで、図6のフローチャートを説明する。 Here, the flowchart of FIG. 6 will be described.
図6で示すフローチャートでは、書き込み1及び書き込み2が連続した書き込みとして定義されているものとする。この連続した書き込みとは、例えば、会員登録において氏名と会員番号に関連性を持たせてカードOSに登録させる場合が想定できる。会員登録における氏名と会員番号の登録は、関連した処理であると想定でき、これらの登録を統括して管理するために、連続した書き込みとして定義するのである。 In the flowchart shown in FIG. 6, it is assumed that writing 1 and writing 2 are defined as continuous writing. This continuous writing can be assumed, for example, in the case of registering the card OS with a name and a member number having a relevance in member registration. Registration of name and member number in member registration can be assumed to be related processing, and is defined as continuous writing in order to manage these registrations in an integrated manner.
図6で示すフローチャートの説明として、まず、カードOSが、例えばインターフェースを介して、コマンドを受信すると(ステップS201)、カードOSは、受信したコマンドをどのアプリケーションへ渡すか決定する。そして、カードOSは、受信したコマンドを、決定されたアプリケーションへ渡す(ステップS202)。アプリケーションは、コマンドを取得すると(ステップS203)、コマンドを処理(例えば、コマンド解釈等)する(ステップS204)。 As an explanation of the flowchart shown in FIG. 6, first, when the card OS receives a command via, for example, an interface (step S201), the card OS determines to which application the received command is to be passed. Then, the card OS passes the received command to the determined application (step S202). When the application acquires the command (step S203), the application processes the command (for example, interprets the command) (step S204).
そして、アプリケーションは、取得したコマンドが連続した書き込みとして定義された書き込み命令であると判断した場合には、カードOSへ、"Begin transaction"と称されるトランザクション機能を開始させる指示を与える(ステップS205)。 If the application determines that the acquired command is a write command defined as continuous writing, the application instructs the card OS to start a transaction function called “Begin transaction” (step S205). ).
このトランザクション機能とは、上述したトランザクションによる更新領域の保護機能のことをいい、カードOSへ、上述した連続した書き込みの保障させるものである。以下、カードOSによって連続した書き込みの保障が開始された状態を、「transaction開始」と称する。 This transaction function refers to the update area protection function by the above-described transaction, and guarantees the above-mentioned continuous writing to the card OS. Hereinafter, the state in which continuous writing is guaranteed by the card OS is referred to as “transaction start”.
カードOSによる「transaction開始」の状態では(ステップS206)、記憶領域のうち、連続した書き込みとしての書き込み1(ステップS207)及び書き込み2(ステップS209)が書き込まれる領域(更新領域)のデータがバックアップ(予め他の領域にコピー)される。そして、トランザクション機能が終了した状態である「Commit transaction」の状態にある場合には(ステップS211)、カードOSは、トランザクション機能を停止する(ステップS212)。 In the state of “transaction start” by the card OS (step S206), the data in the area (update area) in which writing 1 (step S207) and writing 2 (step S209) as continuous writing are written is backed up. (Copied in advance to another area). When the transaction function is in a “Commit transaction” state (step S211), the card OS stops the transaction function (step S212).
このステップS205〜ステップS212のアプリケーション及びカードOSの処理の一例としては、書き込み1(ステップS207)及び書き込み2(ステップS209)が行われる間に、引き抜き等の瞬断が発生すると、「transaction開始」の前の状態、又は、トランザクション機能が終了した状態である「Commit transaction」の状態にある場合にはトランザクション機能が終了した状態の何れかの状態となる(ステップS208及びステップS209のtransaction機能/保護機能動作。)。 As an example of the processing of the application and the card OS in steps S205 to S212, if a momentary interruption such as withdrawal occurs during writing 1 (step S207) and writing 2 (step S209), “transaction start” If the transaction function is in the “Commit transaction” state before the transaction function is completed, the transaction function is terminated (transaction function / protection in steps S208 and S209). Functional operation.)
ここで、「transaction開始」の前の状態とは、バックアップされた書き込み1及び書き込み2が書き込まれる領域のデータが読み込まれ、例えば、データ領域に書き込まれることをいう。また、「transaction開始」の前の状態とは、書き込み1及び書き込み2が書き込まれた後(即ち更新された後)に、データ領域に書き込まれたデータが維持されることをいう。
Here, the state before “transaction start” means that the data in the area to which the backed-up
次に、アプリケーションは、他に受信したコマンドがあれば、コマンドを処理する(ステップS213)。ここでは、コマンドの処理Bとして、連続した書き込みとして定義されていない書き込み命令が実行される場合を説明する。 Next, if there is another received command, the application processes the command (step S213). Here, a case where a write command not defined as continuous writing is executed as the command processing B will be described.
この場合、「トランザクションによる更新領域の保護機能」は働かず、通常の「カードOSによる非更新領域の保護機能」が働くこととなる。 In this case, the “update area protection function by transaction” does not work, and the normal “non-update area protection function by card OS” works.
そして、アプリケーションは、カードOSへ、書き込みの依頼をする(ステップS214)。カードOSは、この保護機能を使って、瞬断に備えた書き込みを行う(ステップS215の保護機能動作)。 Then, the application requests the card OS to write (step S214). The card OS uses this protection function to perform writing in preparation for an instantaneous interruption (protection function operation in step S215).
そして、アプリケーションは、処理が終了すると、カードOSへレスポンスデータを通知する(ステップS216)。そして、カードOSは、レスポンスデータを取得すると(ステップS217)、例えば、外部装置(リーダライタ装置等)へレスポンスデータを送信する(ステップS218)。 Then, when the processing is completed, the application notifies the card OS of response data (step S216). When the card OS acquires the response data (step S217), for example, the card OS transmits the response data to an external device (a reader / writer device or the like) (step S218).
このように、従来のICカードでは、「カードOSによる非更新領域の保護機能」(記憶領域の更新領域を保護する機能)と「トランザクションによる更新領域の保護機能」(非更新領域を保護する機能)が別々に定義されていた。 As described above, in the conventional IC card, “a function for protecting the non-update area by the card OS” (function for protecting the update area of the storage area) and “a function for protecting the update area by the transaction” (function for protecting the non-update area) ) Was defined separately.
そして、従来のICカードでは、ICカードがデータを更新する際に、「カードOSによる非更新領域の保護機能」と、「トランザクションによる更新領域の保護機能」がそれぞれ機能するようになっていた。 In the conventional IC card, when the IC card updates data, the “non-update area protection function by card OS” and the “update area protection function by transaction” function, respectively.
ここで、図7を参照して、「カードOSによる非更新領域の保護機能」と、「トランザクションによる更新領域の保護機能」がそれぞれ機能する場合のCPU6の動作の詳細について説明する。 Here, with reference to FIG. 7, the details of the operation of the CPU 6 when the “non-update area protection function by the card OS” and the “update area protection function by the transaction” function respectively will be described.
図7は、ICカードによって更新されるデータを概念的に示す図である。 FIG. 7 is a diagram conceptually showing data updated by the IC card.
図7では、不揮発性メモリ5のデータ領域が概念的に示されている。この図7では、1byteを1ブロックとして2つのブロックに区切られた領域を一のページ(例えば、Page−a等)、として、複数のページに区画されたICカードの不揮発性メモリ5のデータ領域が示されている。図7では、複数のページの一例として、Page−aからPage−eが示されている。 In FIG. 7, the data area of the nonvolatile memory 5 is conceptually shown. In FIG. 7, the data area of the non-volatile memory 5 of the IC card divided into a plurality of pages, where an area divided into two blocks with 1 byte as one block is defined as one page (for example, Page-a). It is shown. In FIG. 7, Page-a to Page-e are shown as an example of a plurality of pages.
そして、この不揮発性メモリ5に対する更新として、A)書き込み1、B)書き込み2、及び、C)書き込み3、が行われる場合を説明する。
A case where A)
これらの書き込みは、不揮発性メモリ5の指定されたページ(Page−a等)の指定された領域(1ブロック目か2ブロック目等)に記憶されるデータを更新するものである。また、書き込み1及び書き込み2は、上述した連続した書き込みとして定義されているものとする。 These writings are to update data stored in a specified area (first block or second block) of a specified page (Page-a or the like) of the nonvolatile memory 5. Further, it is assumed that writing 1 and writing 2 are defined as the continuous writing described above.
具体的には、書き込み1はPage−aの2ブロック目からPage−bの1ブロック目までの2ページにわたる2byteの領域の書き込み(図7の11及び12参照)を、書き込み2はPage−c全体に対して2byteの領域の書き込み(図7の21及び22参照)を、書き込み3はPage−dの2ブロック目からPage−e全体に対して2ページにわたる3byteの領域の書き込み(図7の31、32、及び33参照)を、それぞれ実施させるものとする。 Specifically, write 1 is a 2-byte area write (see 11 and 12 in FIG. 7) over two pages from the second block of Page-a to the first block of Page-b, and write 2 is Page-c Write the 2-byte area for the whole (see 21 and 22 in FIG. 7), and write 3 writes the 3-byte area for 2 pages from the second block of Page-d to the entire Page-e (see FIG. 7). 31, 32, and 33).
A)書き込み1について
A−1)「トランザクションによる更新領域の保護機能」について
書き込み1及び書き込み2は、連続した書き込みとして定義されているため、上述した「トランザクションによる更新領域の保護機能」が働く。この場合、アプリケーションは、書き込み1を実施する前の書き込み1と書き込み2の更新領域の状態を取り得ることを可能とするため、書き込み1が実施される前のPage−aの2ブロック目からPage−bの1ブロック目までに記憶されたデータをバックアップさせる。
A) About
具体的には、例えば、アプリケーションは、書き込み1が実施される前のPage−aの2ブロック目からPage−bの1ブロック目までに記憶されたデータ(図7の11及び12参照)をRAM4に一時的に記憶し、その後バックアップ領域へ当該データを、カードOSに書き込ませる。 Specifically, for example, the application stores data (refer to 11 and 12 in FIG. 7) stored in the RAM 4 from the second block of Page-a to the first block of Page-b before writing 1 is performed. Is temporarily stored, and then the data is written to the card OS in the backup area.
A−2)「カードOSによる非更新領域の保護機能」について
次に、「カードOSによる非更新領域の保護機能」が働く。具体的には、カードOSは、以下のa)〜j)の動作を実施する。
A-2) “Protection function of non-update area by card OS” Next, “Protection function of non-update area by card OS” works. Specifically, the card OS performs the following operations a) to j).
a)まず、カードOSは、Page−aにおける非更新領域のデータを保護するため、Page−aに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−aRとする。 a) First, the card OS writes the data stored in the Page-a to the RAM 4 in units of pages in order to protect the data in the non-update area in the Page-a. For convenience of explanation, the data written in the RAM 4 is referred to as Page-aR.
b)次に、カードOSは、Page−aRをバックアップする。具体的には、カードOSは、不揮発性メモリ5に設定されたバックアップ領域へPage−aRを書き込む。 b) Next, the card OS backs up the Page-aR. Specifically, the card OS writes Page-aR into the backup area set in the nonvolatile memory 5.
c)次に、カードOSは、Page−aRの2ブロック目に、書き込み1で書き込まれるべきデータを書き込む(図7の11のデータを更新する)。すなわち、カードOSは、RAM4に記憶されたPage−aRを更新する。
c) Next, the card OS writes the data to be written in the
d)次に、カードOSは、更新されたPage−aRを、不揮発性メモリ5のPage−aへ書き込む。すなわち、カードOSは、不揮発性メモリ5に記憶されたPage−aを更新する。 d) Next, the card OS writes the updated Page-aR into the Page-a of the nonvolatile memory 5. That is, the card OS updates Page-a stored in the nonvolatile memory 5.
e)次に、カードOSは、バックアップ領域に書き込まれたPage−aRを消去する。 e) Next, the card OS erases the Page-aR written in the backup area.
f)次に、カードOSは、Page−bにおける非更新領域のデータを保護するため、Page−bに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−bRとする。 f) Next, the card OS writes the data stored in the Page-b to the RAM 4 in units of pages in order to protect the data in the non-update area in the Page-b. For convenience of explanation, the data written in the RAM 4 is referred to as Page-bR.
g)次に、カードOSは、Page−bRをバックアップする。具体的には、カードOSは、バックアップ領域へPage−bRを書き込む。 g) Next, the card OS backs up the Page-bR. Specifically, the card OS writes Page-bR into the backup area.
h)次に、カードOSは、Page−bRの1ブロック目に、書き込み1で書き込まれるべきデータを書き込む(図7の12のデータを更新する)。すなわち、カードOSは、RAM4に記憶されたPage−bRを更新する。
h) Next, the card OS writes the data to be written in the
i)次に、カードOSは、更新されたPage−bRを、不揮発性メモリ5のPage−bへ書き込む。すなわち、カードOSは、不揮発性メモリ5に記憶されたPage−bを更新する。 i) Next, the card OS writes the updated Page-bR into the Page-b of the nonvolatile memory 5. That is, the card OS updates Page-b stored in the nonvolatile memory 5.
j)次に、カードOSは、バックアップ領域に書き込まれたPage−bRを消去する。 j) Next, the card OS erases the Page-bR written in the backup area.
以上で、書き込み1が実施されたこととなる。 Thus, writing 1 is performed.
B)書き込み2について
B−1)「トランザクションによる更新領域の保護機能」について
書き込み2も同様に、連続した書き込みとして定義されているため、上述した「トランザクションによる更新領域の保護機能」が働く。この場合、アプリケーションは、書き込み1を実施する前の書き込み1と書き込み2の更新領域の状態を取り得ることを可能とするため、書き込み2が実施される前のPage−cの全てに記憶されたデータをバックアップさせる。
B) Regarding Write 2 B-1) “Protection Function for Update Area by Transaction” Similarly, since
具体的には、例えば、アプリケーションは、書き込み1が実施される前のPage−cに記憶されたデータ(図7の21及び22のデータ)をRAM4に一時的に記憶し、バックアップ領域へ当該データを、カードOSに書き込ませる。
Specifically, for example, the application temporarily stores the data (
B−2)「カードOSによる非更新領域の保護機能」について
書き込み2ではPage−cに記憶される全てのデータが更新対象であるため、Page−cには非更新領域が存在しない。従って、「カードOSによる非更新領域の保護機能」は働かないこととなる。この場合、カードOSは、以下のa)〜c)の動作を実施する。
B-2) “Protection function of non-update area by card OS” Since all data stored in Page-c is to be updated in
a)まず、カードOSは、Page−cに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−cRとする。ここでは、例えば、A−2)「カードOSによる非更新領域の保護機能」でPage−aR及びPage−bRがバックアップされたのとは異なり、Page−cRはバックアップされないこととなる。 a) First, the card OS writes the data stored in the Page-c to the RAM 4 in units of pages. For convenience of explanation, the data written in the RAM 4 is referred to as Page-cR. Here, for example, Page-aR and Page-bR are not backed up in “A-2)“ Protection function of non-update area by card OS ”, and Page-cR is not backed up.
b)次に、カードOSは、Page−cRに、書き込み2で書き込まれるべきデータを書き込む(図7の21及び22のデータを更新する)。すなわち、カードOSは、RAM4に記憶されたPage−cRを更新する。
b) Next, the card OS writes the data to be written in the
c)次に、カードOSは、更新されたPage−cRを、不揮発性メモリ5のPage−cへ書き込む。すなわち、カードOSは、不揮発性メモリ5に記憶されたPage−cを更新する。 c) Next, the card OS writes the updated Page-cR into the Page-c of the nonvolatile memory 5. That is, the card OS updates Page-c stored in the nonvolatile memory 5.
以上で、書き込み2が実施されたこととなる。 Thus, writing 2 is performed.
そして、書き込み2が実施されたことで、「トランザクションによる更新領域の保護機能」は終了する。従って、カードOSは、バックアップ領域に記憶された書き込み1が実施される前のPage−aからPage−cに記憶された更新領域のデータ(図7の11、12、21、及び22)を消去する。
Then, when the
C)書き込み3について
C−1)「トランザクションによる更新領域の保護機能」について
書き込み3では、連続した書き込みとして定義されていないため、上述した「トランザクションによる更新領域の保護機能」は働かず、「カードOSによる非更新領域の保護機能」のみが働くこととなる。
C) About Write 3 C-1) “Protection Function for Update Area by Transaction” Since Write 3 is not defined as a continuous write, the above-mentioned “Protection Function for Update Area by Transaction” does not work, and “Card Only the OS non-update area protection function "works.
C−2)「カードOSによる非更新領域の保護機能」について
具体的に、カードOSは、以下のa)〜h)の動作を実施する。
C-2) “Protection function of non-updated area by card OS” Specifically, the card OS performs the following operations a) to h).
a)まず、カードOSは、Page−dにおける非更新領域のデータを保護するため、Page−dに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−dRとする。 a) First, the card OS writes the data stored in the Page-d to the RAM 4 in units of pages in order to protect the data in the non-update area in the Page-d. For convenience of explanation, the data written in the RAM 4 is referred to as Page-dR.
b)次に、カードOSは、Page−dRをバックアップする。具体的には、カードOSは、不揮発性メモリ5に設定されたバックアップ領域へPage−dRを書き込む。 b) Next, the card OS backs up the Page-dR. Specifically, the card OS writes Page-dR into the backup area set in the nonvolatile memory 5.
c)次に、カードOSは、Page−dRの2ブロック目に、書き込み2で書き込まれるべきデータを書き込む(図7の21及び22のデータを更新する)。すなわち、カードOSは、RAM4に記憶されたPage−dRを更新する。
c) Next, the card OS writes the data to be written in the
d)次に、カードOSは、更新されたPage−dRを、不揮発性メモリ5のPage−dへ書き込む。すなわち、カードOSは、不揮発性メモリ5に記憶されたPage−dを更新する。 d) Next, the card OS writes the updated Page-dR into the Page-d of the nonvolatile memory 5. That is, the card OS updates Page-d stored in the nonvolatile memory 5.
e)次に、カードOSは、バックアップ領域に書き込まれたPage−dRを消去する。 e) Next, the card OS erases the Page-dR written in the backup area.
また、書き込み3のうちPage−eに記憶されるデータを更新する場合には、Page−eに記憶される全てのデータが更新対象であるため、Page−eには非更新領域が存在しない。従って、「カードOSによる非更新領域の保護機能」は働かないこととなる。この場合、カードOSは、以下のf)〜h)の動作を実施する。 Further, when updating the data stored in Page-e in Write 3, all data stored in Page-e are to be updated, and therefore there is no non-update area in Page-e. Therefore, the “non-update area protection function by the card OS” does not work. In this case, the card OS performs the following operations f) to h).
f)まず、カードOSは、Page−eに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−eRとする。 f) First, the card OS writes the data stored in the Page-e to the RAM 4 in units of pages. For convenience of explanation, the data written in the RAM 4 is referred to as Page-eR.
g)次に、カードOSは、Page−eRに、書き込み3で書き込まれるべきデータを書き込む。すなわち、カードOSは、RAM4に記憶されたPage−eRを更新する。 g) Next, the card OS writes the data to be written in the write 3 to the Page-eR. That is, the card OS updates the Page-eR stored in the RAM 4.
ここでは、Page−eRはバックアップされないこととなる。 Here, Page-eR is not backed up.
h)次に、カードOSは、更新されたPage−eRを、不揮発性メモリ5のPage−eへ書き込む。すなわち、カードOSは、不揮発性メモリ5に記憶されたPage−eを更新する。 h) Next, the card OS writes the updated Page-eR into the Page-e of the nonvolatile memory 5. That is, the card OS updates Page-e stored in the nonvolatile memory 5.
以上で、書き込み3が実施されたこととなる。 Thus, writing 3 is performed.
また、不揮発性メモリ5のページあたりに記憶されるデータの容量が、128byte、又は256byteと大容量である場合がある。このページあたりに記憶されるデータの容量の増加に伴い、同一ページ内に対する更新が連続したり、複数のページに跨る更新が発生するケースが増加する。 In addition, the capacity of data stored per page of the nonvolatile memory 5 may be as large as 128 bytes or 256 bytes. As the capacity of data stored per page increases, the number of cases in which updates within the same page continue or updates across a plurality of pages increase.
ここで、図8を参照して、ページあたりに記憶されるデータの容量が大容量である場合に、「カードOSによる非更新領域の保護機能」と、「トランザクションによる更新領域の保護機能」がそれぞれ機能する場合のCPU6の動作の詳細について説明する。 Here, referring to FIG. 8, when the capacity of data stored per page is large, “non-update area protection function by card OS” and “update area protection function by transaction” are provided. Details of the operation of the CPU 6 in the case of functioning will be described.
図8は、ページあたりに記憶されるデータの容量が大容量である場合に、ICカードによって更新されるデータを概念的に示す図である。 FIG. 8 is a diagram conceptually showing data updated by the IC card when the capacity of data stored per page is large.
図8では、不揮発性メモリ5の領域が概念的に示されている。この図8では、1byteを1ブロックとして256のブロックに区切られた領域を一のページ(例えば、Page−x等)、として、複数のページに区画されたICカードの不揮発性メモリ5が示されている。図8では、複数のページの一例として、Page−xとPage−yが示されている。 In FIG. 8, the area | region of the non-volatile memory 5 is shown notionally. In FIG. 8, the non-volatile memory 5 of the IC card divided into a plurality of pages is shown with an area divided into 256 blocks with 1 byte as one block and one page (for example, Page-x etc.). ing. In FIG. 8, Page-x and Page-y are shown as an example of a plurality of pages.
そして、この不揮発性メモリ5に対する更新として、A)書き込み1、B)書き込み2、及び、C)書き込み3、が行われる場合を説明する。
A case where A)
これらの書き込みは、不揮発性メモリ5の指定されたページ(Page−x等)の指定された領域(1ブロック目か2ブロック目等)に記憶されるデータを更新するものである。また、書き込み1及び書き込み2は、上述した連続した書き込みとして定義されているものとする。 These writings are to update data stored in a specified area (first block or second block) of a specified page (Page-x, etc.) of the nonvolatile memory 5. Further, it is assumed that writing 1 and writing 2 are defined as the continuous writing described above.
具体的には、書き込み1は、Page−xの領域のうち連続する2ブロックに対して、2byteの領域の書き込み(図8の11及び12参照)を、書き込み2は、Page−xの256ブロック目からPage−yの1ブロック目までの2ページにわたる2byteの領域の書き込み(図8の21及び22参照)を、書き込み3は、Page−yの領域のうち連続する3ブロックに対して、3byteの領域の書き込み(図8の31、32、及び33参照)を、それぞれ実施させるものとする。
Specifically, the
A)書き込み1について
A−1)「トランザクションによる更新領域の保護機能」について
書き込み1及び書き込み2は、連続した書き込みとして定義されているため、上述した「トランザクションによる更新領域の保護機能」が働く。この場合、アプリケーションは、書き込み1を実施する前の書き込み1と書き込み2の更新領域の状態を取り得ることを可能とするため、書き込み1が実施される前のデータであるPage−xの領域のうち連続する2ブロックに記憶されたデータ(図8の11及び12参照)をバックアップする。
A) About
具体的には、例えば、アプリケーションは、書き込み1が実施される前のPage−xの領域のうち連続する2ブロックに記憶されたデータをRAM4に一時的に記憶し、バックアップ領域へ当該データを、カードOSに書き込ませる。
Specifically, for example, the application temporarily stores the data stored in two consecutive blocks in the area of Page-x before the
A−2)「カードOSによる非更新領域の保護機能」について
次に、「カードOSによる非更新領域の保護機能」が働く。具体的には、カードOSは、以下のa)〜j)の動作を実施する。
A-2) “Protection function of non-update area by card OS” Next, “Protection function of non-update area by card OS” works. Specifically, the card OS performs the following operations a) to j).
a)まず、カードOSは、Page−xにおける非更新領域のデータを保護するため、Page−xに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−xRとする。 a) First, the card OS writes the data stored in the Page-x to the RAM 4 in units of pages in order to protect the data in the non-update area in the Page-x. For convenience of explanation, the data written in the RAM 4 is referred to as Page-xR.
b)次に、カードOSは、Page−xRをバックアップする。具体的には、カードOSは、不揮発性メモリ5に設定されたバックアップ領域へPage−xRを書き込む。 b) Next, the card OS backs up the Page-xR. Specifically, the card OS writes Page-xR into the backup area set in the nonvolatile memory 5.
c)次に、カードOSは、Page−xRの領域のうち連続する2ブロックに、書き込み1で書き込まれるべきデータを書き込む(図8の11及び12のデータを更新する)。すなわち、カードOSは、RAM4に記憶されたPage−xRを更新する。
c) Next, the card OS writes the data to be written in the
d)次に、カードOSは、更新されたPage−xRを、不揮発性メモリ5のPage−xへ書き込む。すなわち、カードOSは、不揮発性メモリ5に記憶されたPage−aを更新する。 d) Next, the card OS writes the updated Page-xR into the Page-x of the nonvolatile memory 5. That is, the card OS updates Page-a stored in the nonvolatile memory 5.
e)次に、カードOSは、バックアップ領域に書き込まれたPage−xRを消去する。 e) Next, the card OS erases the Page-xR written in the backup area.
以上で、書き込み1が実施されたこととなる。 Thus, writing 1 is performed.
B)書き込み2について
B−1)「トランザクションによる更新領域の保護機能」について
書き込み2も同様に、連続した書き込みとして定義されているため、上述した「トランザクションによる更新領域の保護機能」が働く。従って、アプリケーションは、書き込み1が実施される前のPage−xの256ブロック目からPage−yの1ブロック目までに記憶されたデータ(図8の21及び22のデータを更新する)を、RAM4に一時的に記憶し、その後不揮発性メモリ5に設定されたバックアップ領域へ当該データを書き込む。
B) Regarding Write 2 B-1) “Protection Function for Update Area by Transaction” Similarly, since
B−2)「カードOSによる非更新領域の保護機能」について
次に、「カードOSによる非更新領域の保護機能」が働く。具体的には、カードOSは、以下のa)〜i)の動作を実施する。
B-2) “Protection function of non-update area by card OS” Next, “Protection function of non-update area by card OS” works. Specifically, the card OS performs the following operations a) to i).
a)まず、カードOSは、Page−xにおける非更新領域のデータを保護するため、Page−xに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−xRとする。 a) First, the card OS writes the data stored in the Page-x to the RAM 4 in units of pages in order to protect the data in the non-update area in the Page-x. For convenience of explanation, the data written in the RAM 4 is referred to as Page-xR.
b)次に、カードOSは、Page−xRをバックアップする。具体的には、カードOSは、不揮発性メモリ5に設定されたバックアップ領域へPage−xRを書き込む。 b) Next, the card OS backs up the Page-xR. Specifically, the card OS writes Page-xR into the backup area set in the nonvolatile memory 5.
c)次に、カードOSは、Page−xRの256ブロック目に、書き込み2で書き込まれるべきデータを書き込む(図8の21のデータを更新する)。すなわち、カードOSは、RAM4に記憶されたPage−xRを更新する。
c) Next, the card OS writes the data to be written in the
d)次に、カードOSは、更新されたPage−xRを、不揮発性メモリ5のPage−xへ書き込む。すなわち、カードOSは、不揮発性メモリ5に記憶されたPage−aを更新する。 d) Next, the card OS writes the updated Page-xR into the Page-x of the nonvolatile memory 5. That is, the card OS updates Page-a stored in the nonvolatile memory 5.
e)次に、カードOSは、バックアップ領域に書き込まれたPage−xRを消去する。 e) Next, the card OS erases the Page-xR written in the backup area.
f)次に、カードOSは、Page−yにおける非更新領域のデータを保護するため、Page−bに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−yRとする。 f) Next, the card OS writes the data stored in Page-b to the RAM 4 in units of pages in order to protect the data in the non-update area in Page-y. For convenience of explanation, the data written in the RAM 4 is referred to as Page-yR.
g)次に、カードOSは、Page−yRをバックアップする。具体的には、カードOSは、バックアップ領域へPage−yRを書き込む。 g) Next, the card OS backs up the Page-yR. Specifically, the card OS writes Page-yR in the backup area.
h)次に、カードOSは、Page−yRの1ブロック目に、書き込み2で書き込まれるべきデータを書き込む(図8の22のデータを更新する)。すなわち、カードOSは、RAM4に記憶されたPage−yRを更新する。
h) Next, the card OS writes the data to be written in the
i)次に、カードOSは、更新されたPage−yRを、不揮発性メモリ5のPage−yへ書き込む。すなわち、カードOSは、不揮発性メモリ5に記憶されたPage−yを更新する。 i) Next, the card OS writes the updated Page-yR into the Page-y of the nonvolatile memory 5. That is, the card OS updates Page-y stored in the nonvolatile memory 5.
以上で、書き込み2が実施されたこととなる。 Thus, writing 2 is performed.
そして、書き込み2が実施されたことで、「トランザクションによる更新領域の保護機能」は終了する。従って、カードOSは、バックアップ領域に記憶された書き込み1が実施される前のPage−xからPage−yに記憶された更新領域のデータ(図8の11、12、21、及び22)を消去する。
Then, when the
C)書き込み3について
C−1)「トランザクションによる更新領域の保護機能」について
書き込み3は、連続した書き込みとして定義されていないため、上述した「トランザクションによる更新領域の保護機能」は働かず、「カードOSによる非更新領域の保護機能」のみが働くこととなる。
C) About Write 3 C-1) “Protection Function for Update Area by Transaction” Since Write 3 is not defined as continuous write, the above-mentioned “Protection Function for Update Area by Transaction” does not work, and “Card Only the OS non-update area protection function "works.
C−2)「カードOSによる非更新領域の保護機能」について
具体的に、カードOSは、以下のa)〜e)の動作を実施する。
C-2) “Protection function of non-updated area by card OS” Specifically, the card OS performs the following operations a) to e).
a)まず、カードOSは、Page−yにおける非更新領域のデータを保護するため、Page−yに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−yRとする。 a) First, the card OS writes the data stored in the Page-y to the RAM 4 in units of pages in order to protect the data in the non-update area in the Page-y. For convenience of explanation, the data written in the RAM 4 is referred to as Page-yR.
b)次に、カードOSは、Page−yRをバックアップする。具体的には、カードOSは、不揮発性メモリ5に設定されたバックアップ領域へPage−yRを書き込む。 b) Next, the card OS backs up the Page-yR. Specifically, the card OS writes Page-yR into the backup area set in the nonvolatile memory 5.
c)次に、カードOSは、Page−yRの2ブロック目に、書き込み3で書き込まれるべきデータ(図8の31、32、及び33)を書き込む。すなわち、カードOSは、RAM4に記憶されたPage−yRを更新する。 c) Next, the card OS writes the data (31, 32, and 33 in FIG. 8) to be written in the write 3 in the second block of Page-yR. That is, the card OS updates the Page-yR stored in the RAM 4.
d)次に、カードOSは、更新されたPage−yRを、不揮発性メモリ5のPage−yへ書き込む。すなわち、カードOSは、不揮発性メモリ5に記憶されたPage−yを更新する。 d) Next, the card OS writes the updated Page-yR into the Page-y of the nonvolatile memory 5. That is, the card OS updates Page-y stored in the nonvolatile memory 5.
e)次に、カードOSは、バックアップ領域に書き込まれたPage−yRを消去する。 e) Next, the card OS erases the Page-yR written in the backup area.
以上で、書き込み3が実施されたこととなる。 Thus, writing 3 is performed.
[3.第1の実施形態]
上述したように、「カードOSによる非更新領域の保護機能」及び「トランザクションによる更新領域の保護機能」では、更新毎(例えば、上記書き込み1、又は上記書き込み2毎)に、当該更新の対象となるデータが属するページの非更新領域及び更新領域のデータがバックアップされる。従って、同一のページに記憶されたデータに対して連続する個別の更新が行われる場合には、同一のページのバックアップが重複して行われることとなる。また、隣り合うページに記憶されたデータに対して一の更新(例えば、上記書き込み1のみ)が行われる場合には、2ページ分の非更新領域及び更新領域のデータがバックアップされることとなる。不揮発性メモリのページあたりに記憶されるデータの容量が、128byte、又は256byteと大容量である場合には、RAM4や不揮発性メモリ5への書き込み、バックアップ、消去等のページ操作が非常に重い処理になってくる(CPU6等の処理負担の増加を招く)。
[3. First embodiment]
As described above, in the “non-update area protection function by the card OS” and the “update area protection function by transaction”, the update target is set for each update (for example, for each
そこで、本実施形態においては、「カードOSによる非更新領域の保護機能」と「トランザクションによる更新領域の保護機能」が働くICカード8において、「カードOSによる非更新領域の保護機能」と「トランザクションによる更新領域の保護機能」と、を統合させるようにした。 Therefore, in the present embodiment, in the IC card 8 in which the “non-update area protection function by the card OS” and the “update area protection function by the transaction” work, the “non-update area protection function by the card OS” and the “transaction” "Update area protection function by".
上述したように、「カードOSによる非更新領域の保護機能」では、ページにおいて非更新領域が存在しない場合(ページ全てのデータを更新する場合)には、「カードOSによる非更新領域の保護機能」は働かない。また、「トランザクションによる更新領域の保護機能」では、バックアップされるデータは、ページにおいて更新領域のデータのみである。 As described above, in the “non-update area protection function by the card OS”, when there is no non-update area in the page (when all data of the page is updated), the “non-update area protection function by the card OS” Does not work. Further, in the “update area protection function by transaction”, the data to be backed up is only the data in the update area in the page.
そこで、上記の点に着目し、アプリケーションが、更新の対象となるページにおいて、当該ページに記憶されるデータ全てを更新するものとしてカードOSへ通知して、「カードOSによる非更新領域の保護機能」を機能させないようにする。そして、アプリケーションが、更新の対象となるページに記憶されるデータ全て(ページ全て)を、バックアップするようにした。 Therefore, paying attention to the above points, the application notifies the card OS that all the data stored in the page is to be updated in the page to be updated, and the “non-update area protection function by the card OS” "Will not work. The application backs up all data (all pages) stored in the page to be updated.
具体的には、本発明のICチップ用処理プログラムの制御によって、第2の保護手段としてのCPU6は、更新前の更新領域及び非更新領域が属するページの全ての領域を更新領域として、当該ページに記憶される全てのデータを不揮発性メモリ5に書き込み(記憶し)、当該ページに非更新領域が存在しないものとしてカードOSに通知して、「カードOSによる非更新領域の保護機能」を機能させないようになっている。以下、この動作を、「transaction機能/保護機能付き書き込み」と称する。 Specifically, under the control of the IC chip processing program of the present invention, the CPU 6 as the second protection means uses all areas of the page to which the update area and the non-update area before update belong as the update area. All data stored in the memory is written (stored) in the nonvolatile memory 5 and the card OS is notified that there is no non-update area in the page, and the “non-update area protection function by the card OS” function It is supposed not to let you. Hereinafter, this operation is referred to as “transaction function / protective writing”.
これによって、一のバックアップ処理のみが行われるため、データの保護機能による処理時間の短縮を図ることができる。 As a result, only one backup process is performed, so that the processing time by the data protection function can be shortened.
ここで、図8を参照して、「transaction機能/保護機能付き書き込み」が適用された場合のCPU6の動作の詳細について説明する。 Here, with reference to FIG. 8, the details of the operation of the CPU 6 when “transaction function / protective writing” is applied will be described.
なお、ここでは、上述した本発明のICチップ用処理プログラムが備える機能が実行される場合の動作主体をCPU6として説明する。 Here, the operation subject when the function of the above-described IC chip processing program of the present invention is executed will be described as the CPU 6.
また、ここで説明する例では、図8で定義される不揮発性メモリ5に対する更新として、A)書き込み1、B)書き込み2、及び、C)書き込み3、が行われるものとし、これらの書き込み条件(例えば、上述した連続した書き込みとして定義されていること等)は、図8で定義された条件と同一の条件を適用するものとする。
In the example described here, A)
A)書き込み1について
「transaction機能/保護機能付き書き込み」が働く。具体的には、CPU6は、以下のa)〜d)の動作を実施する。
A)
a)まず、CPU6は、Page−xに記憶される全てのデータを保護するため、Page−xに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−xRとする。 a) First, the CPU 6 writes the data stored in the Page-x to the RAM 4 in units of pages in order to protect all the data stored in the Page-x. For convenience of explanation, the data written in the RAM 4 is referred to as Page-xR.
この場合、CPU6は、書き込み1で更新の対象となるPage−xに記憶される全てのデータをRAM4へ書き込み、その後、不揮発性メモリ5へ書き込むことで、Page−xに記憶される全てのデータを更新の対象とし、非更新領域が存在しないものとしてカードOSへ通知する。
In this case, the CPU 6 writes all the data stored in the Page-x to be updated in the
この通知を受けたカードOSは、「カードOSによる非更新領域の保護機能」を機能させないようになっている。 Upon receiving this notification, the card OS does not allow the “non-update area protection function by the card OS” to function.
b)次に、CPU6は、Page−xRをバックアップする。具体的には、CPU6は、不揮発性メモリ5に設定されたバックアップ領域へPage−xRを書き込む。 b) Next, the CPU 6 backs up the Page-xR. Specifically, the CPU 6 writes Page-xR into the backup area set in the nonvolatile memory 5.
c)次に、CPU6は、Page−xRの領域のうち連続する2ブロックに、書き込み1で書き込まれるべきデータを書き込む(図8の11及び12のデータを更新する)。すなわち、CPU6は、RAM4に記憶されたPage−xRを更新する。
c) Next, the CPU 6 writes the data to be written in the
d)次に、CPU6は、更新されたPage−xRを、不揮発性メモリ5のPage−xへ書き込む。すなわち、CPU6は、不揮発性メモリ5に記憶されたPage−xを更新する。 d) Next, the CPU 6 writes the updated Page-xR into the Page-x of the nonvolatile memory 5. That is, the CPU 6 updates the Page-x stored in the nonvolatile memory 5.
以上で、書き込み1が実施されたこととなる。 Thus, writing 1 is performed.
B)書き込み2について
「transaction機能/保護機能付き書き込み」が働く。具体的には、CPU6は、以下のa)〜h)の動作を実施する。
B) Write 2 "Transaction function / Protected write" works. Specifically, the CPU 6 performs the following operations a) to h).
a)まず、CPU6は、Page−xに記憶される全てのデータを保護するため、Page−xに記憶されるデータを、ページ単位でRAM4へ書き込む。 a) First, the CPU 6 writes the data stored in the Page-x to the RAM 4 in units of pages in order to protect all the data stored in the Page-x.
なお、ここで書き込まれたPage−xに記憶されるデータは、上述した書き込み1で更新されたもの(図8の11及び12が更新されたもの)である。従って、上述したA)書き込み1についてa)で、RAM4に書き込まれたPage−xとは異なるデータである。以後、説明の便宜上、B)書き込み2についてa)でPage−xに記憶される全てのデータをPage−x´と、RAM4に書き込まれるデータを、Page−x´Rとする。
Note that the data stored in the page-x written here is the data updated by the above-described writing 1 (the
b)次に、CPU6は、Page−x´Rをバックアップする。具体的には、CPU6は、不揮発性メモリ5に設定されたバックアップ領域へPage−x´Rを書き込む。 b) Next, the CPU 6 backs up the Page-x′R. Specifically, the CPU 6 writes Page-x′R to the backup area set in the nonvolatile memory 5.
c)次に、CPU6は、Page−x´Rの256ブロック目に、書き込み2で書き込まれるべきデータを書き込む(図8の21のデータを更新する)。すなわち、カードOSは、RAM4に記憶されたPage−x´Rを更新する。
c) Next, the CPU 6 writes the data to be written in the
d)次に、カードOSは、更新されたPage−x´Rを、不揮発性メモリ5のPage−x´へ書き込む。すなわち、カードOSは、不揮発性メモリ5に記憶されたPage−aを更新する。 d) Next, the card OS writes the updated Page-x′R into the Page-x ′ of the nonvolatile memory 5. That is, the card OS updates Page-a stored in the nonvolatile memory 5.
e)次に、CPU6は、Page−yにおける非更新領域のデータを保護するため、Page−bに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−yRとする。 e) Next, the CPU 6 writes the data stored in the Page-b to the RAM 4 in units of pages in order to protect the data in the non-update area in the Page-y. For convenience of explanation, the data written in the RAM 4 is referred to as Page-yR.
f)次に、CPU6は、Page−yRをバックアップする。具体的には、CPU6は、バックアップ領域へPage−yRを書き込む。 f) Next, the CPU 6 backs up the Page-yR. Specifically, the CPU 6 writes Page-yR in the backup area.
g)次に、CPU6は、Page−yRの1ブロック目に、書き込み2で書き込まれるべきデータを書き込む(図8の22のデータを更新する)。すなわち、CPU6は、RAM4に記憶されたPage−yRを更新する。
g) Next, the CPU 6 writes the data to be written in the
h)次に、CPU6は、更新されたPage−yRを、不揮発性メモリ5のPage−yへ書き込む。すなわち、CPU6は、不揮発性メモリ5に記憶されたPage−yを更新する。 h) Next, the CPU 6 writes the updated Page-yR into the Page-y of the nonvolatile memory 5. That is, the CPU 6 updates the Page-y stored in the nonvolatile memory 5.
以上で、書き込み2が実施されたこととなる。 Thus, writing 2 is performed.
そして、書き込み2が実施されたことで、「トランザクションによる更新領域の保護機能」は終了する。
Then, when the
そこで、CPU6は、バックアップ領域に記憶された書き込み1が実施される前のPage−xに記憶された全てのデータであるPage−xR、書き込み2が実施される前のPage−x´に記憶された全てのデータであるPage−x´R、書き込み2が実施される前のPage−yに記憶された全てのデータであるPage−yRをそれぞれ消去する。
Therefore, the CPU 6 stores in the Page-xR, which is all data stored in the Page-x before the
C)書き込み3について
「transaction機能/保護機能付き書き込み」が働く。具体的には、CPU6は、以下のa)〜e)の動作を実施する。
C) Write 3 “Transaction function / Protected write” works. Specifically, the CPU 6 performs the following operations a) to e).
a)まず、CPU6は、Page−yに記憶される全てのデータを保護するため、Page−yに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−yRとする。 a) First, the CPU 6 writes the data stored in the Page-y to the RAM 4 in page units in order to protect all the data stored in the Page-y. For convenience of explanation, the data written in the RAM 4 is referred to as Page-yR.
b)次に、CPU6は、Page−yRをバックアップする。具体的には、CPU6は、不揮発性メモリ5に設定されたバックアップ領域へPage−yRを書き込む。 b) Next, the CPU 6 backs up the Page-yR. Specifically, the CPU 6 writes Page-yR to the backup area set in the nonvolatile memory 5.
c)次に、CPU6は、Page−yRの2ブロック目に、書き込み3で書き込まれるべきデータ(図8の31、32、及び33)を書き込む。すなわち、CPU6は、RAM 4に記憶されたPage−yRを更新する。 c) Next, the CPU 6 writes the data (31, 32, and 33 in FIG. 8) to be written in the write 3 in the second block of Page-yR. That is, the CPU 6 updates the Page-yR stored in the RAM 4.
d)次に、CPU6は、更新されたPage−yRを、不揮発性メモリ5のPage−yへ書き込む。すなわち、CPU6は、不揮発性メモリ5に記憶されたPage−yを更新する。 d) Next, the CPU 6 writes the updated Page-yR into the Page-y of the nonvolatile memory 5. That is, the CPU 6 updates the Page-y stored in the nonvolatile memory 5.
e)次に、CPU6は、バックアップ領域に書き込まれたPage−yRを消去する。 e) Next, the CPU 6 erases the Page-yR written in the backup area.
以上で、書き込み3が実施されたこととなる。 Thus, writing 3 is performed.
なお、上述した「transaction機能/保護機能付き書き込み」は、連続した書き込みとして定義された書き込みの間(即ち、上記トランザクションが実行されている間)、働かせるようにしてもよい。 It should be noted that the above-described “transaction function / protective writing” may be performed during writing defined as continuous writing (that is, while the transaction is being executed).
この場合、監視手段としてのCPU6は、トランザクションの実行状態、即ち、連続した書き込みとして定義された書き込みが行われているか否かを監視する。 In this case, the CPU 6 as the monitoring unit monitors the execution state of the transaction, that is, whether or not writing defined as continuous writing is being performed.
そして、CPU6は、連続した書き込みとして定義された書き込みが行われている間、「transaction機能/保護機能付き書き込み」を働かせるようになっている。 Then, the CPU 6 operates the “transaction function / write with protection function” while the write defined as the continuous write is being performed.
以上説明したように、本実施形態におけるICチップ1は、所定の領域を一のページとして、一又は複数のページに区画される不揮発性メモリ5を備え、更新要求に基づいて、不揮発性メモリ5の指定されたページの指定された領域に記憶されるデータを更新し、ICチップの基本的な動作を管理するカードOSが備える基本的な機能であって、当該カードOSの制御に基づいて、前記データを更新する領域である更新領域が属するページのうち、当該更新領域以外の領域である非更新領域に記憶されるデータをバックアップ領域へ書き込む「カードOSによる非更新領域の保護機能」と、前記カードOS上で動作し前記CPU6に所定の機能を実行させるアプリケーションの要求に応じた前記カードOSの制御に基づいて、更新前の前記更新領域に記憶されるデータをバックアップ領域へ書き込む「トランザクションによる更新領域の保護機能」とを備え、「トランザクションによる更新領域の保護機能」は、前記更新前の更新領域及び非更新領域が属するページの全ての領域を更新領域として、当該ページに記憶される全てのデータを前記バックアップ領域に書き込み、当該ページに非更新領域が存在しないものとして前記カードOSに通知して、「カードOSによる非更新領域の保護機能」を機能させないように構成したので、適切な保護機能によってデータをバックアップすることにより、不要なバックアップ処理を行わないため、データの保護機能による処理時間の短縮を図ることができる。
As described above, the
なお、上述した例では、「transaction機能/保護機能付き書き込み」は、ICチップ用処理プログラムの制御によりCPU6が実行することとして説明したが、これに限られず、例えば、「transaction機能/保護機能付き書き込み」は、「トランザクションによる更新領域の保護機能」をCPU6に実行させるアプリケーションによって実行させるようにしてもよい。 In the above-described example, the “transaction function / protection function write” has been described as being executed by the CPU 6 under the control of the IC chip processing program. However, the present invention is not limited to this. “Write” may be executed by an application that causes the CPU 6 to execute the “protection function of update area by transaction”.
[4.第2の実施形態]
次に、図8及び図9を参照して、本願の実施例2について説明する。
[4. Second Embodiment]
Next, Example 2 of the present application will be described with reference to FIGS.
第2の実施形態が、第1の実施形態と異なる点は、これから更新されるページと同一のページのバックアップデータが既に書き込まれているか否かを検索し、既に書き込まれている場合には、これから更新されるページのバックアップデータを書き込まない構成を追加した点である。以下、この構成を「バックアップ検索機能」と称する。 The second embodiment is different from the first embodiment in that it is searched whether or not the backup data of the same page as the page to be updated is already written. It is a point that a configuration not writing backup data of pages to be updated is added. Hereinafter, this configuration is referred to as a “backup search function”.
まず、図9を参照して、本願の第1の実施形態におけるバックアップ領域に書き込まれるデータについて説明する。 First, data written to the backup area in the first embodiment of the present application will be described with reference to FIG.
図9は、本願の第1の実施形態におけるバックアップ領域に書き込まれるデータ構造を概念的に示す図である。 FIG. 9 is a diagram conceptually showing a data structure written in the backup area in the first embodiment of the present application.
なお、既に説明した第1の実施形態と少なくとも同様の機能を果たす部分には、同一の符号を付して、重複する説明や図面を省略する。 In addition, the part which fulfill | performs at least the same function as 1st Embodiment already demonstrated is attached | subjected the same code | symbol, and the overlapping description and drawing are abbreviate | omitted.
図9に示すように、第1の実施形態におけるバックアップ領域に書き込まれるデータは、Page−xのバックアップデータとしてのPage−xR(A)書き込み1についてb)参照)と、Page−x´(図8の11及び12が更新されたもの)のバックアップデータとしてのPage−x´R(B)書き込み2についてb)参照)と、Page−yのバックアップデータとしてのPage−yR(B)書き込み2についてb)参照)の3つである。 As shown in FIG. 9, the data written in the backup area in the first embodiment is referred to as b) for Page-xR (A) writing 1 as the backup data of Page-x) and Page-x ′ (FIG. 9). 8 and 11 and 12 are updated) (see b) for page-x′R (B) write 2 as backup data) and page-yR (B) write 2 as page-y backup data b) see 3).
ここで、「トランザクションによる更新領域の保護機能」として保障されるのは、連続した書き込みの保証として、書き込み1と書き込み2の両方を更新する前の更新領域の状態である。 Here, what is guaranteed as the “update area protection function by transaction” is the state of the update area before both writing 1 and writing 2 are updated, as a guarantee of continuous writing.
そして、例えば、書き込み1で瞬断が発生した場合には、書き込み1と書き込み2の両方を更新する前の更新領域の状態として、Page−xRとPage−yRが不揮発性メモリ5に書き込まれることとなる。
For example, when an interruption occurs in writing 1, Page-xR and Page-yR are written in the nonvolatile memory 5 as the state of the update area before updating both writing 1 and
ここで、Page−xRは、と同一のページであり、Page−x´Rは「トランザクションによる更新領域の保護機能」を機能させる際に省略することができるバックアップデータであることに気が付く。 Here, it is noted that Page-xR is the same page as Page-xR, and that Page-x′R is backup data that can be omitted when the “function for protecting update area by transaction” is performed.
そこで、本願の第2の実施形態では、検索手段としてのCPU6は、更新領域が属するページが、バックアップ管理領域を参照して、バックアップ領域に既に書き込まれている(記憶されている)か否かを検索し、前記更新領域が属するページが、バックアップ領域に既に書き込まれていることが検索されなかった場合には、第2の保護手段としてのCPU6は、当該更新領域が属するページに記憶される全てのデータを、バックアップ領域に記憶するようになっている。 Therefore, in the second embodiment of the present application, the CPU 6 serving as a search unit refers to whether or not the page to which the update area belongs has already been written (stored) in the backup area with reference to the backup management area. If it is not found that the page to which the update area belongs has already been written in the backup area, the CPU 6 as the second protection means stores it in the page to which the update area belongs. All data is stored in the backup area.
ここで、図8及び図9を参照して、「バックアップ検索機能」が適用された場合のCPU6の動作の詳細について説明する。 Details of the operation of the CPU 6 when the “backup search function” is applied will be described with reference to FIGS. 8 and 9.
また、ここで説明する例では、図8で定義される不揮発性メモリ5に対する更新として、A)書き込み1、B)書き込み2、及び、C)書き込み3、が行われるものとし、これらの書き込み条件(例えば、上述した連続した書き込みとして定義されていること等)は、図8で定義された条件と同一の条件を適用するものとする。
In the example described here, A)
A)書き込み1について
「transaction機能/保護機能付き書き込み」が働く。具体的には、CPU6は、以下のa)〜d)の動作を実施する。
A)
a)まず、CPU6は、Page−xに記憶される全てのデータを保護するため、Page−xに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−xRとする。 a) First, the CPU 6 writes the data stored in the Page-x to the RAM 4 in units of pages in order to protect all the data stored in the Page-x. For convenience of explanation, the data written in the RAM 4 is referred to as Page-xR.
この場合、CPU6は、書き込み1で更新の対象となるPage−xに記憶される全てのデータをRAM4へ書き込み、その後、不揮発性メモリ5へ書き込むことで、Page−xに記憶される全てのデータを更新の対象とし、非更新領域が存在しないものとしてカードOSへ通知するのは、第1の実施形態の場合と同様である。
In this case, the CPU 6 writes all the data stored in the Page-x to be updated in the
この通知を受けたカードOSは、「カードOSによる非更新領域の保護機能」を機能させないようになっている。 Upon receiving this notification, the card OS does not allow the “non-update area protection function by the card OS” to function.
b)次に、CPU6は、Page−xRをバックアップする。具体的には、CPU6は、不揮発性メモリ5に設定されたバックアップ領域へPage−xRを書き込む。 b) Next, the CPU 6 backs up the Page-xR. Specifically, the CPU 6 writes Page-xR into the backup area set in the nonvolatile memory 5.
c)次に、CPU6は、Page−xRの領域のうち連続する2ブロックに、書き込み1で書き込まれるべきデータを書き込む(図8の11及び12のデータを更新する)。すなわち、CPU6は、RAM4に記憶されたPage−xRを更新する。
c) Next, the CPU 6 writes the data to be written in the
d)次に、CPU6は、更新されたPage−xRを、不揮発性メモリ5のPage−xへ書き込む。すなわち、CPU6は、不揮発性メモリ5に記憶されたPage−xを更新する。 d) Next, the CPU 6 writes the updated Page-xR into the Page-x of the nonvolatile memory 5. That is, the CPU 6 updates the Page-x stored in the nonvolatile memory 5.
以上で、書き込み1が実施されたこととなる。 Thus, writing 1 is performed.
B)書き込み2について
「transaction機能/保護機能付き書き込み」が働く。具体的には、CPU6は、以下のa)〜g)の動作を実施する。
B) Write 2 "Transaction function / Protected write" works. Specifically, the CPU 6 performs the following operations a) to g).
a)まず、CPU6は、Page−xに記憶される全てのデータを保護するため、Page−xに記憶されるデータを、ページ単位でRAM4へ書き込む。 a) First, the CPU 6 writes the data stored in the Page-x to the RAM 4 in units of pages in order to protect all the data stored in the Page-x.
ここで、CPU6は、バックアップ管理領域を参照して、更新領域が属するページとしてのPage−xがバックアップ領域に既に記憶されているか否かを検索する。 Here, the CPU 6 refers to the backup management area and searches whether Page-x as a page to which the update area belongs is already stored in the backup area.
ここでは、バックアップ管理領域に、A)書き込み1についてb)において、既にPage−xのバックアップデータが記憶されていることが示されている。
Here, it is shown that Page-x backup data is already stored in the backup management area in b) for A)
そこで、CPU6は、現在のPage−xに記憶されるデータである書き込み1で更新された(図8の11及び12が更新された)Page−x´のバックアップデータを書き込まないようになっている。 Therefore, the CPU 6 does not write the backup data of Page-x ′ updated by writing 1 (data updated in 11 and 12 in FIG. 8) which is data stored in the current Page-x. .
b)次に、CPU6は、Page−x´Rの256ブロック目に、書き込み2で書き込まれるべきデータを書き込む(図8の21のデータを更新する)。すなわち、CPU6は、RAM4に記憶されたPage−x´Rを更新する。
b) Next, the CPU 6 writes the data to be written in the
c)次に、カードOSは、更新されたPage−x´Rを、不揮発性メモリ5のPage−x´へ書き込む。すなわち、カードOSは、不揮発性メモリ5に記憶されたPage−aを更新する。 c) Next, the card OS writes the updated Page-x′R into the Page-x ′ of the nonvolatile memory 5. That is, the card OS updates Page-a stored in the nonvolatile memory 5.
d)次に、CPU6は、Page−yにおける非更新領域のデータを保護するため、Page−bに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−yRとする。 d) Next, the CPU 6 writes the data stored in the Page-b to the RAM 4 in page units in order to protect the data in the non-update area in the Page-y. For convenience of explanation, the data written in the RAM 4 is referred to as Page-yR.
e)次に、CPU6は、Page−yRをバックアップする。具体的には、CPU6は、バックアップ領域へPage−yRを書き込む。 e) Next, the CPU 6 backs up the Page-yR. Specifically, the CPU 6 writes Page-yR in the backup area.
f)次に、CPU6は、Page−yRの1ブロック目に、書き込み2で書き込まれるべきデータを書き込む(図8の22のデータを更新する)。すなわち、CPU6は、RAM4に記憶されたPage−yRを更新する。
f) Next, the CPU 6 writes the data to be written in the
g)次に、CPU6は、更新されたPage−yRを、不揮発性メモリ5のPage−yへ書き込む。すなわち、CPU6は、不揮発性メモリ5に記憶されたPage−yを更新する。 g) Next, the CPU 6 writes the updated Page-yR into the Page-y of the nonvolatile memory 5. That is, the CPU 6 updates the Page-y stored in the nonvolatile memory 5.
以上で、書き込み2が実施されたこととなる。 Thus, writing 2 is performed.
そして、書き込み2が実施されたことで、「トランザクションによる更新領域の保護機能」は終了する。
Then, when the
そこで、CPU6は、バックアップ領域に記憶された書き込み1が実施される前のPage−xに記憶された全てのデータであるPage−xR、書き込み2が実施される前のPage−x´に記憶された全てのデータであるPage−x´R、書き込み2が実施される前のPage−yに記憶された全てのデータであるPage−yRをそれぞれ消去する。
Therefore, the CPU 6 stores in the Page-xR, which is all data stored in the Page-x before the
C)書き込み3について
「transaction機能/保護機能付き書き込み」が働く。具体的には、CPU6は、以下のa)〜e)の動作を実施する。
C) Write 3 “Transaction function / Protected write” works. Specifically, the CPU 6 performs the following operations a) to e).
a)まず、CPU6は、Page−yに記憶される全てのデータを保護するため、Page−yに記憶されるデータを、ページ単位でRAM4へ書き込む。説明の便宜上、このRAM4に書き込まれたデータを、Page−yRとする。 a) First, the CPU 6 writes the data stored in the Page-y to the RAM 4 in page units in order to protect all the data stored in the Page-y. For convenience of explanation, the data written in the RAM 4 is referred to as Page-yR.
b)次に、CPU6は、Page−yRをバックアップする。具体的には、CPU6は、不揮発性メモリ5に設定されたバックアップ領域へPage−yRを書き込む。 b) Next, the CPU 6 backs up the Page-yR. Specifically, the CPU 6 writes Page-yR to the backup area set in the nonvolatile memory 5.
c)次に、CPU6は、Page−yRの2ブロック目に、書き込み3で書き込まれるべきデータ(図8の31、32、及び33)を書き込む。すなわち、CPU6は、RAM4に記憶されたPage−yRを更新する。 c) Next, the CPU 6 writes the data (31, 32, and 33 in FIG. 8) to be written in the write 3 in the second block of Page-yR. That is, the CPU 6 updates the Page-yR stored in the RAM 4.
d)次に、CPU6は、更新されたPage−yRを、不揮発性メモリ5のPage−yへ書き込む。すなわち、CPU6は、不揮発性メモリ5に記憶されたPage−yを更新する。 d) Next, the CPU 6 writes the updated Page-yR into the Page-y of the nonvolatile memory 5. That is, the CPU 6 updates the Page-y stored in the nonvolatile memory 5.
e)次に、CPU6は、バックアップ領域に書き込まれたPage−yRを消去する。 e) Next, the CPU 6 erases the Page-yR written in the backup area.
以上で、書き込み3が実施されたこととなる。 Thus, writing 3 is performed.
以上説明したように、本実施形態におけるICチップ1は、更新領域が属するページが、バックアップ管理領域を参照して、バックアップ領域に既に書き込まれているか否かを検索し、前記更新領域が属するページが、バックアップ領域に既に書き込まれていることが検索されなかった場合には、CPU6は、当該更新領域が属するページに記憶される全てのデータを、バックアップ領域に記憶するように構成したため、不要なバックアップ処理を行わないため、データの保護機能による処理時間の短縮を図ることができる。
As described above, the
なお、上述した例では、「transaction機能/保護機能付き書き込み」において、「バックアップ検索機能」を適用するように構成したが、これに限定されず、「バックアップ検索機能」を単独で機能させるようにしても良い。 In the above-described example, the “backup search function” is applied in “transaction function / write with protection function”. However, the present invention is not limited to this, and the “backup search function” is made to function independently. May be.
具体的には、通常の更新要求が入力された場合に、CPU6は、更新要求に示される更新領域が属するページが、バックアップ領域に既に記憶されているか否かを検索し、更新領域が属するページが、バックアップ領域に既に記憶されていることが検索されなかった場合には、当該更新領域が属するページに記憶される全てのデータを、バックアップ領域に記憶するようにしても良い。 Specifically, when a normal update request is input, the CPU 6 searches whether the page to which the update area indicated in the update request belongs is already stored in the backup area, and the page to which the update area belongs. However, if it is not found that the data is already stored in the backup area, all data stored in the page to which the update area belongs may be stored in the backup area.
また、上述した例では、CPU6を本願の第2の保護機能として機能させる「トランザクションによる更新領域の保護機能」は、アプリケーションが備える機能として説明したが、これに限定されることはなく、種々の形態を採ることができる。例えば、上記「トランザクションによる更新領域の保護機能」を、カードOSが備える機能とするようにしても良いし、バーチャルマシン(図2参照)や、OS層22(図2参照)に新たに設けられるモジュールに備えるようにしても良い。 In the above-described example, the “update area protection function by transaction” that causes the CPU 6 to function as the second protection function of the present application has been described as a function included in the application. Can take form. For example, the above-mentioned “update function for updating area by transaction” may be a function provided in the card OS, or newly provided in the virtual machine (see FIG. 2) or the OS layer 22 (see FIG. 2). You may make it prepare for a module.
同様に、CPU6を本願の第1の保護機能として機能させる「カードOSによる非更新領域の保護機能」は、カードOSが備える機能として説明したが、これに限定されることはなく、種々の形態を採ることができる。例えば、上記「カードOSによる非更新領域の保護機能」を、アプリケーションが備える機能とするようにしても良いし、バーチャルマシン(図2参照)や、OS層22(図2参照)に新たに設けられるモジュールに備えるようにしても良い。 Similarly, the “non-update area protection function by the card OS” that causes the CPU 6 to function as the first protection function of the present application has been described as a function provided in the card OS. Can be taken. For example, the above-mentioned “function for protecting the non-update area by the card OS” may be a function provided by the application, or newly provided in the virtual machine (see FIG. 2) or the OS layer 22 (see FIG. 2). It may be provided for a module to be provided.
また、上記実施形態においては、JAVAカードに対応したICカード8を適用したがこれに限られず、カードOS上で所定の機能を実行するアプリケーションが搭載できるICカードであれば種々のICカードを適用することができる。 In the above embodiment, the IC card 8 corresponding to the JAVA card is applied. However, the present invention is not limited to this, and various IC cards can be used as long as the application can execute an application that executes a predetermined function on the card OS. can do.
1 ICチップ
2 I/O回路
3 ROM
4 RAM
5 不揮発性メモリ
6 CPU
7 カード基体
8 ICカード
1 IC chip 2 I / O circuit 3 ROM
4 RAM
5 Nonvolatile memory 6 CPU
7 Card base 8 IC card
Claims (8)
前記データを更新する領域である更新領域が属するページのうち、当該更新領域以外の領域である非更新領域に記憶されるデータを保護する第1の保護手段と、
前記更新前の更新領域に記憶されるデータを保護する第2の保護手段と、
を備え、
前記第2の保護手段は、
前記更新前の更新領域及び非更新領域が属するページの全ての領域を更新領域として、当該ページに記憶される全てのデータを前記記憶部に記憶させ、当該ページに非更新領域が存在しないものとして、前記第1の保護手段を機能させないことを特徴とするICチップ。 A storage unit that is partitioned into one or a plurality of pages with a predetermined area as one page, and updates data stored in a specified area of a specified page of the storage unit based on an update request An IC chip,
A first protection unit that protects data stored in a non-update area that is an area other than the update area of a page to which an update area that is an area for updating the data belongs;
Second protection means for protecting data stored in the update area before the update;
With
The second protection means includes
Assume that all areas of the page to which the update area and the non-update area before the update belong are set as update areas, all data stored in the page is stored in the storage unit, and there is no non-update area in the page The IC chip does not function the first protection means.
前記第1の保護手段は、ICチップの基本的な動作を管理するオペレーティングシステムが備える基本的な機能であって、当該オペレーティングシステムの制御に基づいて実行され、
前記第2の保護手段は、前記オペレーティングシステム上で動作し、前記ICチップに所定の機能を実行させるアプリケーションの要求に応じた前記オペレーティングシステムの制御に基づいて実行されることを特徴とするICチップ。 The IC chip according to claim 1,
The first protection means is a basic function of an operating system that manages basic operations of the IC chip, and is executed based on control of the operating system,
The second protection means operates on the operating system, and is executed based on the control of the operating system in response to an application request that causes the IC chip to execute a predetermined function. .
前記更新領域が属するページが、前記記憶部に既に記憶されているか否かを検索する検索手段と、
前記更新領域が属するページが、前記記憶部に既に記憶されていることが検索されなかった場合には、
前記第2の保護手段は、当該更新領域が属するページに記憶される全てのデータを、前記記憶部に記憶して保護することを特徴とするICチップ。 The IC chip according to claim 1 or 2,
Search means for searching whether or not the page to which the update area belongs is already stored in the storage unit;
When it is not found that the page to which the update area belongs is already stored in the storage unit,
The second protection means stores and protects all data stored in a page to which the update area belongs in the storage unit.
特定の一連の更新処理の開始前又は終了後の何れかにおける記憶部に記憶されるデータを保護可能とするトランザクションの実行状態を監視する監視手段をさらに備え、
前記第2の保護手段は、前記トランザクションの実行中に、前記更新前の更新領域が属するページの全ての領域を更新領域として、当該ページに記憶される全てのデータを前記記憶部に記憶し、当該ページに非更新領域が存在しないものとして前記オぺレーティングシステムに通知して、前記第1の保護手段を機能させないことを特徴とするICチップ。 The IC chip according to any one of claims 1 to 3,
Monitoring means for monitoring the execution state of a transaction that enables protection of data stored in the storage unit either before or after the start of a specific series of update processing;
The second protection means stores all data stored in the page in the storage unit as an update area, with all areas of the page to which the update area before the update belongs during execution of the transaction, An IC chip characterized by notifying the operating system that a non-update area does not exist on the page and causing the first protection means not to function.
前記データを更新する領域である更新領域が属するページのうち、当該更新領域以外の領域である非更新領域に記憶されるデータを保護する第1の保護工程と、
前記更新前の更新領域に記憶されるデータを保護する第2の保護工程と、
を有し、
前記第2の保護工程は、
前記更新前の更新領域及び非更新領域が属するページの全ての領域を更新領域として、当該ページに記憶される全てのデータを前記記憶部に記憶させ、当該ページに非更新領域が存在しないものとして、前記第1の保護工程を機能させないことを特徴とするICチップにおける処理方法。 A storage unit that is partitioned into one or a plurality of pages with a predetermined area as one page, and updates data stored in a specified area of a specified page of the storage unit based on an update request A processing method in an IC chip,
A first protection step that protects data stored in a non-update area that is an area other than the update area of the page to which the update area that is an area for updating the data belongs;
A second protection step for protecting data stored in the update area before the update;
Have
The second protection step includes
Assume that all areas of the page to which the update area and the non-update area before the update belong are set as update areas, all data stored in the page is stored in the storage unit, and there is no non-update area in the page A processing method in an IC chip, wherein the first protection step is not allowed to function.
前記データを更新する領域である更新領域が属するページのうち、当該更新領域以外の領域である非更新領域に記憶されるデータを保護する第1の保護手段、
前記更新前の更新領域に記憶されるデータを保護する第2の保護手段、
として機能させ、
前記第2の保護手段は、
前記更新前の更新領域及び非更新領域が属するページの全ての領域を更新領域として、当該ページに記憶される全てのデータを前記記憶部に記憶させ、当該ページに非更新領域が存在しないものとして、前記第1の保護手段を機能させないことを特徴とするICチップ用処理プログラム。 A storage unit that is partitioned into one or a plurality of pages with a predetermined area as one page, and updates data stored in a specified area of a specified page of the storage unit based on an update request The computer included in the IC chip
A first protection means for protecting data stored in a non-update area, which is an area other than the update area, of a page to which an update area that is an area for updating the data belongs;
Second protection means for protecting data stored in the update area before the update;
Function as
The second protection means includes
Assume that all areas of the page to which the update area and the non-update area before the update belong are set as update areas, all data stored in the page is stored in the storage unit, and there is no non-update area in the page An IC chip processing program that does not cause the first protection means to function.
前記更新領域が属するページが、前記記憶部に既に記憶されているか否かを検索する検索手段と、を備え、
前記更新領域が属するページが、前記記憶部に既に記憶されていることが検索されなかった場合には、当該更新領域が属するページに記憶される全てのデータを、前記記憶部に記憶して保護することを特徴とするICチップ。 A storage unit that is partitioned into one or a plurality of pages with a predetermined area as one page, and updates data stored in a specified area of a specified page of the storage unit based on an update request An IC chip,
Search means for searching whether the page to which the update area belongs is already stored in the storage unit,
If it is not found that the page to which the update area belongs is already stored in the storage unit, all data stored in the page to which the update area belongs is stored and protected in the storage unit An IC chip characterized by:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011220356A JP5853559B2 (en) | 2011-10-04 | 2011-10-04 | IC chip, processing method in IC chip, IC chip processing program, and IC card |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011220356A JP5853559B2 (en) | 2011-10-04 | 2011-10-04 | IC chip, processing method in IC chip, IC chip processing program, and IC card |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013080397A true JP2013080397A (en) | 2013-05-02 |
JP5853559B2 JP5853559B2 (en) | 2016-02-09 |
Family
ID=48526714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011220356A Active JP5853559B2 (en) | 2011-10-04 | 2011-10-04 | IC chip, processing method in IC chip, IC chip processing program, and IC card |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5853559B2 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008299848A (en) * | 2007-05-29 | 2008-12-11 | Samsung Electronics Co Ltd | Data processing apparatus and method for nonvolatile memory |
-
2011
- 2011-10-04 JP JP2011220356A patent/JP5853559B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008299848A (en) * | 2007-05-29 | 2008-12-11 | Samsung Electronics Co Ltd | Data processing apparatus and method for nonvolatile memory |
Also Published As
Publication number | Publication date |
---|---|
JP5853559B2 (en) | 2016-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6622200B1 (en) | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture | |
KR100484485B1 (en) | Method for storing data in non-volatile memory and apparatus therefor | |
US6088759A (en) | Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture | |
US6311290B1 (en) | Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture | |
EP2366152B1 (en) | Ruggedized memory device | |
JP4037605B2 (en) | Nonvolatile memory unit controller, memory system having the controller, and nonvolatile memory unit control method | |
CN113785275B (en) | Flash data power-down protection method and device | |
KR20100107453A (en) | Storage sub-system for a computer comprising write-once memory devices and write-many memory devices and related method | |
US7117326B2 (en) | Tracking modifications to a memory | |
JP2003216511A (en) | Non-volatile memory device, data updating method, data updating program and computer readable recording medium with recorded program | |
JP5853559B2 (en) | IC chip, processing method in IC chip, IC chip processing program, and IC card | |
JP5853590B2 (en) | IC chip, IC chip processing method, IC chip processing program, IC card, etc. | |
CN116027973A (en) | Data writing method and device based on flash memory | |
US20070274302A1 (en) | Data Storage Device, Memory Managing Method, and Program | |
JP7322923B2 (en) | Secure element, transaction control method and device | |
CN115698975A (en) | Device, method for executing file transaction and method for executing access operation | |
EP1344224B1 (en) | Method for the secure updating of data areas in a non volatile memory and device to perform such a method | |
JP6915437B2 (en) | Update method and update program using electronic information storage medium, IC card, electronic information storage medium | |
JP7068603B2 (en) | Update method and update program using electronic information storage medium, IC card, electronic information storage medium | |
JP3863479B2 (en) | IC card | |
CN100392765C (en) | Secure writing of data | |
JP6252341B2 (en) | Electronic information storage medium, information processing method, and information processing program | |
JP2022184327A (en) | Secure element, device and nonvolatile memory managing method | |
US20190250945A1 (en) | System and method for recording transaction associated with a page-oriented non-volatile memory | |
JP2001318836A (en) | Method for managing data of non-volatile memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140822 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150630 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150828 |
|
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: 20151110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151123 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5853559 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |