メモリに記憶されたデータオブジェクトに含まれるデータを更新する命令を受けると、更新対象となるデータを更新する前に、更新対象外のデータからデータ更新前のEDCを算出しておき、更新対象となるデータを更新した後に、更新対象外のデータから算出したデータ更新後のEDCと、更新対象外のデータから算出したデータ更新前のEDCを照合するデータ更新手段を備えたことを特徴とするセキュリティトークン。前記データ更新手段は、更新対象となるデータを更新した後に、更新対象となるデータのEDCの照合に成功した場合のみ、データオブジェクトのデータ更新後のEDCを算出し、データオブジェクトに付加されているEDCを該データ更新後のEDCに更新することを特徴とする、請求項1に記載したセキュリティトークン。メモリに記憶されたデータオブジェクトに含まれるデータを更新する命令をセキュリティトークンが受けると、前記セキュリティトークンが、更新対象となるデータを更新する前に、更新対象外のデータからデータ更新前のEDCを算出するステップ1、前記セキュリティトークンが、更新対象となるデータを更新した後に、更新対象外のデータから算出したデータ更新後のEDCと、更新対象外のデータから算出したデータ更新前のEDCを照合するステップ2が順に実行されることを特徴とするデータの更新方法。前記ステップ2の実行後、前記セキュリティトークンは、更新対象となるデータのEDCの照合に成功した場合のみ、データオブジェクトのデータ更新後のEDCを算出し、データオブジェクトに付加されているEDCを該データ更新後のEDCに更新するステップ3を実行することを特徴とする、請求項3に記載したデータの更新方法。メモリに記憶されたデータオブジェクトに含まれるデータを更新する命令を受けると、更新対象となるデータを更新する前に、更新対象外のデータからデータ更新前のEDCを算出するステップ1、更新対象となるデータを更新した後に、更新対象外のデータから算出したデータ更新後のEDCと、更新対象外のデータから算出したデータ更新前のEDCを照合するステップ2をセキュリティトークンに実行させるためのコンピュータプログラム。前記ステップ2の実行後、更新対象となるデータのEDCの照合に成功した場合のみ、データオブジェクトのデータ更新後のEDCを算出し、データオブジェクトに付加されているEDCを該データ更新後のEDCに更新するステップ3を前記セキュリティトークンに実行させる特徴とする、請求項5に記載したコンピュータプログラム。このように、誤り検出符号を用いてデータの整合性を検証する従来の手法では、セキュリティトークンのメモリに記憶されたデータオブジェクトのデータを更新した際、更新対象外のデータが不正に更新されても、更新対象外のデータが不正に更新されたことを検出できない問題があった。そこで、本発明は、セキュリティトークンのメモリに記憶されたデータオブジェクトのデータを更新した際、更新対象外のデータが不正に更新されても、更新対象外のデータが不正に更新されたことを検出できるセキュリティトークン及び方法を提供することを目的とする。上述した課題を解決する第1の発明は、メモリに記憶されたデータオブジェクトに含まれるデータを更新する命令を受けると、更新対象となるデータを更新する前に、更新対象外のデータからデータ更新前の誤り検出符号を算出しておき、更新対象となるデータを更新した後に、更新対象外のデータから算出したデータ更新後の誤り検出符号と、更新対象外のデータから算出したデータ更新前の誤り検出符号を照合するデータ更新手段を備えたことを特徴とするセキュリティトークンである。また、第2の発明は、第1の発明のセキュリティトークンにおいて、前記データ更新手段は、更新対象となるデータを更新した後に、更新対象となるデータの誤り検出符号の照合に成功した場合のみ、データオブジェクトのデータ更新後の誤り検出符号を算出し、データオブジェクトに付加されている誤り検出符号を該データ更新後の誤り検出符号に更新することを特徴とする。更に、上述した課題を解決する第3の発明は、メモリに記憶されたデータオブジェクトに含まれるデータを更新する命令をセキュリティトークンが受けると、前記セキュリティトークンが、更新対象となるデータを更新する前に、更新対象外のデータからデータ更新前の誤り検出符号を算出するステップ1、前記セキュリティトークンが、更新対象となるデータを更新した後に、更新対象外のデータから算出したデータ更新後の誤り検出符号と、更新対象外のデータから算出したデータ更新前の誤り検出符号を照合するステップ2が順に実行されることを特徴とするデータの更新方法である。また、第4の発明は、第3の発明に記載のデータの更新方法において、前記ステップ2の実行後、前記セキュリティトークンは、更新対象となるデータの誤り検出符号の照合に成功した場合のみ、データオブジェクトのデータ更新後の誤り検出符号を算出し、データオブジェクトに付加されている誤り検出符号を該データ更新後の誤り検出符号に更新するステップ3を実行することを特徴とする。更に、上述した課題を解決する第5の発明は、メモリに記憶されたデータオブジェクトに含まれるデータを更新する命令を受けると、更新対象となるデータを更新する前に、更新対象外のデータからデータ更新前の誤り検出符号を算出するステップ1、更新対象となるデータを更新した後に、更新対象外のデータから算出したデータ更新後の誤り検出符号と、更新対象外のデータから算出したデータ更新前の誤り検出符号を照合するステップ2をセキュリティトークンに実行させるためのコンピュータプログラムである。また、第6の発明は、第5の発明に記載のコンピュータプログラムにおいて、前記ステップ2の実行後、更新対象となるデータの誤り検出符号の照合に成功した場合のみ、データオブジェクトのデータ更新後の誤り検出符号を算出し、データオブジェクトに付加されている誤り検出符号を該データ更新後の誤り検出符号に更新するステップ3をセキュリティトークンに実行させることを特徴とするコンピュータプログラムである。上述した本発明によれば、セキュリティトークンのメモリに記憶されたデータオブジェクトのデータを更新した際、データを更新する前に、更新対象外となるデータオブジェクトのデータから算出した誤り検出符号と、データを更新した後に、更新対象外となるデータオブジェクトのデータから算出した誤り検出符号が照合されるので、更新対象外のデータオブジェクトのデータが不正に更新されても、更新対象外のデータが不正に更新されたことを検出できるようになる。ここから、本発明の好適な実施形態について、図面を参照しながら詳細に説明する。なお、これから説明する実施形態は本発明の一実施形態にしか過ぎず、種々の変形や変更が可能である。図1は、セキュリティトークンの一例を説明する図である。本実施形態に係るセキュリティトークン1は、内部にメモリを有し外部装置とデータを通信できるように構成されたデバイスで、図1ではセキュリティトークン1をICカードスマートカード、チップカードとして図示しているが、セキュリティトークン1の形態はICカードに限定されず、USBキーの形態であってもよい。図2は、セキュリティトークン1のブロック図である。本実施形態のセキュリティトークン1には、CPU100、RAM101、ROM102ReadOnlyMemory、EEPROM104ElectricallyErasableProgrammableReadOnlyMemory、特定のプロトコルに対応したUART103及び特定の演算に特化したコプロセッサ105などを有するICモジュール100が実装され、本実施形態において、データオブジェクト11がEERPOM104に記憶され、データオブジェクト11に含まれているデータを更新する際に動作するデータ更新手段10として機能するコンピュータプログラムがROM102に実装されている。本実施形態において、EEPROM104に記憶されるデータオブジェクト11とは、バイナリ型またはレコード型のデータファイル、EEPROM104が所定のサイズに分割されたページメモリ、または、BER-TLV形式のデータオブジェクトなどデータの塊を意味し、セキュリティトークン1のROM102に実装されたコンピュータプログラムで実現されるデータ更新手段10は、従来技術で述べた問題が発生することがないように、データオブジェクト11に含まれたデータを更新した際、更新対象外のデータが更新されていないことを検証するように設計されている。更新対象外のデータが更新されていないことを検証する手法としては、データを更新する前に、該データが含まれているデータオブジェクト11の内容を一時的にRAM101にバッファしておき、データを更新した後に、更新後のデータオブジェクト11の内容とRAM101にバッファした内容を照合し、更新対象外のデータが変更されていないか検証するようにすることもできるが、データオブジェクト11のサイズが大きい場合、データオブジェクト11の内容すべてをRAM101にバッファできないこともあるため、本実施形態のデータ更新手段10は、更新対象外のデータの誤り検出符号を利用して更新対象外のデータが更新されていないことを検証する。図3は、本実施形態におけるデータ更新手段10の動作を説明するフロー図で、図4は、データ更新手段10の動作を説明する補足図である。更新するデータが含まれているデータオブジェクト11と、更新対象となるデータ及び更新値が指定されるデータ更新命令を外部装置からセキュリティトークン1が受信するとS1、セキュリティトークン1のデータ更新手段10が作動し、セキュリティトークン1のデータ更新手段10は、まず、指定されたデータオブジェクト11から算出した誤り検出符号と該データオブジェクト11に付加されている誤り検出符号を照合することで、指定されたデータオブジェクト11に付加された誤り検出符号を検証するS2。図4aは、指定されたデータオブジェクト11を説明する図である。図4において、指定されたデータオブジェクト11のサイズは8バイトで、指定されたデータオブジェクト11に含まれているデータは全て00hで、指定されたデータオブジェクト11に付加されている誤り検出符号ここでは、CRC16は66BBhである。指定されたデータオブジェクト11に付加されている誤り検出符号の検証に失敗すると、データを更新する処理は終了になるが、図4aにおいて、指定されたデータオブジェクト11に含まれているデータから算出される誤り検出符号は66BBhになるため、ここでは、指定されたデータオブジェクト11に付加された更新前の誤り検出符号の検証に成功したものとする。セキュリティトークン1のデータ更新手段10は、指定されたデータオブジェクト11に付加されている誤り検出符号の検証に成功すると、指定されたデータオブジェクト11の中から更新対象外のデータを対象としてデータ更新前の誤り検出符号を算出し、更新対象外のデータから算出されたデータ更新前の誤り検出符号をRAM101に一時的に保持するS3。なお、更新対象外のデータではなく、更新対象外のデータから算出されたデータ更新前の誤り検出符号をRAM101に一時的に保持することで、更新対象外のデータが不正に更新されていないことを検証するために必要なRAM101の領域は誤り検出符号のバイト数ここでは、2バイトで済む。図4bは、更新対象外のデータの誤り検出符号を説明する図である。図4bにおいて、更新対象となるデータはD3D4で、更新対象外のデータであるD0、D1、D2、D5、D6及びD7を結合した000000000000hから算出される誤り検出符号は7459hになる。セキュリティトークン1のデータ更新手段10は、更新対象外のデータを対象としてデータ更新前の誤り検出符号を算出すると、指定されたデータオブジェクト11に含まれているデータの中から、更新対象となるデータを更新値に更新するS4。図4cは、更新後のデータオブジェクト11を説明する図である。図4cにおいて、更新対象となるデータはD3D4で、図4cでは、データオブジェクト11のD3の内容が00hからAAhへ、D4が00hからBBhへ更新されている。なお、ここでは、データオブジェクト11に付加されている誤り検出符号は更新前の値ここでは、66BBhのままである。セキュリティトークン1のデータ更新手段10は、指定されたデータオブジェクト11の中から更新対象となるデータを更新値に更新すると、更新対象となるデータを更新した際、データ化けまたはデータの改竄攻撃により、更新対象外のデータが不正に更新されていないことを検証するために、指定されたデータオブジェクト11の中から更新対象外のデータを対象としてデータ更新後の誤り検出符号を算出するS5。セキュリティトークン1のデータ更新手段10は、更新対象外のデータからデータ更新後の誤り検出符号を算出すると、更新対象外のデータから算出したデータ更新前の誤り検出符号この誤り検出符号はRAM101に保持されているとデータ更新後の誤り検出符号を照合しS6、照合に成功しない場合、該データオブジェクト11の誤り検出符号を更新することなく、この手順を終了する。図4dは、更新対象外のデータが不正に更新された場合を説明する図である。図4cにおいて、更新対象外となるデータであるD6がFFhに不正に更新され、更新対象外のデータであるD0、D1、D2、D5、D6及びD7を結合した00000000FF00hから算出されるデータ更新後の誤り検出符号は1458hになり、データ更新前の誤り検出符号7459hとは異なるため、図4dのケースでは、誤り検出符号を更新することなく、この手順は終了になる。セキュリティトークン1のデータ更新手段10は、更新対象外のデータから算出したデータ更新前の誤り検出符号とデータ更新後の誤り検出符号の照合に成功すると、データ更新後のデータオブジェクト11に含まれているデータ全てから更新後の誤り検出符号を算出しS7、指定されたデータオブジェクト11の誤り検出符号を更新後の誤り検出符号に更新してS8、この手順を終了する。図4eは、更新対象外のデータが不正に更新されていない場合を説明する図である。図4eにおいて、更新対象外となるデータは不正に更新されず00hのままであるため、更新後のデータオブジェクト11の内容0000AABB00000000hから算出される更新後の誤り検出符号は4E3Fhになり、データオブジェクト11に付加されている誤り検出符号は更新前の値66BBhから更新後の値4E3Fhに更新されている。このように、更新対象外のデータを対象として算出したデータ更新前の誤り検出符号とデータ更新後の誤り検出符号を照合することで、更新対象外のデータに不正な誤りがあったことを検出できるようになるし、また、照合に成功しない場合、データオブジェクトの誤り検出符号を更新することなくこの手順を終了することで、次にデータオブジェクト11の内容を読み出す際、データオブジェクト11の内容から算出される誤り検出符号ここでは、2E3Ehとデータオブジェクト11に付加されている誤り検出符号ここでは、66BBhは異なるため、不正に更新されデータが含まれているデータオブジェクト11が利用されることはない。