(57)【要約】【課題】データを読み出す際に実行される、読み出しデータの復号化、読み出しデータの誤り訂正を高速に行うことが可能な、新規かつ改良された技術を提供する。【解決手段】リーダライタ１０は、リードバッファ１２０に読み出された暗号化データの暗号化された読み出し対象データを復号化し、読み出し対象データとしてリードＲＡＭ１７０に格納するＡＥＳエンジン１４０と、リードバッファ１２０に読み出された暗号化データのエラー訂正用データをもとに読み出し対象データの誤り箇所を特定するＥＣＣ検出部１５１と、リードＲＡＭ１７０に格納された読み出し対象データを構成するビットのうちで、誤り箇所のビットの値を訂正し、読み出し対象データに誤りがなくなると、読み出し対象データの誤り訂正が完了した旨の通知を制御部１１に出力するＥＣＣ訂正部１５２と、を備える。【選択図】図２
2010039779.tif 000002
【特許請求の範囲】
【請求項１】
第１記憶部と、
第２記憶部と、
暗号化された読み出し対象データにエラー訂正用データが付与されてなる暗号化データが格納された暗号化データ記憶部と、
データ読み出し要求の入力を受け付けると、前記暗号化データ記憶部の領域のうちで、当該データ読み出し要求に含まれるアドレスで指定される領域から前記暗号化データを前記第１記憶部に読み出す制御部と、
前記第１記憶部に読み出された前記暗号化データの暗号化された読み出し対象データを取得し、当該暗号化された読み出し対象データを復号化し、読み出し対象データとして前記第２記憶部に格納する復号化部と、
前記第１記憶部に読み出された前記暗号化データのエラー訂正用データを取得し、当該エラー訂正用データをもとに当該読み出し対象データに誤りがあるか否かを判定し、当該読み出し対象データに誤りがあったと判定した場合に、当該誤り箇所を特定する情報である誤り箇所特定情報を出力するエラー検出部と、
前記第２記憶部に格納された前記読み出し対象データを構成するビットのうちで、前記エラー検出部が出力した当該誤り箇所特定情報によって特定される誤り箇所のビットの値を訂正し、当該読み出し対象データに誤りがなくなると、当該読み出し対象データの誤り訂正が完了した旨の通知を前記制御部に出力するエラー訂正部と、
を備える、リーダライタ。
【請求項２】
前記復号化部と、前記エラー検出部と、前記エラー訂正部とは、
ハードウェアによって構成されている、
請求項１に記載のリーダライタ。
【請求項３】
前記暗号化された読み出し対象データは、
ＣＴＲモードによって暗号化されたものであり、
前記復号化部は、
ＣＴＲモードによって前記暗号化された読み出し対象データを復号化する、
請求項２に記載のリーダライタ。
【請求項４】
前記リーダライタは、
前記暗号化データ記憶部に格納された前記暗号化データの読み出しを制御する上位機器と通信可能な上位機器通信部をさらに備え、
前記制御部は、
前記上位機器通信部を介して、前記データ読み出し要求の入力を受け付けると、前記暗号化データ記憶部の領域のうちで、当該データ読み出し要求に含まれるアドレスで指定される領域から前記暗号化データを前記第１記憶部に読み出し、前記エラー訂正部から前記読み出し対象データの誤り訂正が完了した旨の通知が入力されると、当該誤りがなくなった読み出し対象データを前記第２記憶部から読み出し、前記上位機器通信部を介して、前記上位機器に送信する
請求項１乃至請求項３のいずれか１項に記載のリーダライタ。
【請求項５】
第１記憶部と、第２記憶部と、暗号化された読み出し対象データにエラー訂正用データが付与されてなる暗号化データが格納された暗号化データ記憶部と、制御部と、復号化部と、エラー検出部と、エラー訂正部と、を備えるリーダライタの前記制御部が、データ読み出し要求の入力を受け付けると、前記暗号化データ記憶部の領域のうちで、当該データ読み出し要求に含まれるアドレスで指定される領域から前記暗号化データを前記第１記憶部に読み出すステップと、
前記復号化部が、前記第１記憶部に読み出された前記暗号化データの暗号化された読み出し対象データを取得し、当該暗号化された読み出し対象データを復号化し、読み出し対象データとして前記第２記憶部に格納するステップと、
前記エラー検出部が、前記第１記憶部に読み出された前記暗号化データのエラー訂正用データを取得し、当該エラー訂正用データをもとに当該読み出し対象データに誤りがあるか否かを判定し、当該読み出し対象データに誤りがあったと判定した場合に、当該誤り箇所を特定する情報である誤り箇所特定情報を出力するステップと、
前記エラー訂正部が、前記第２記憶部に格納された前記読み出し対象データを構成するビットのうちで、前記エラー検出部が出力した当該誤り箇所特定情報によって特定される誤り箇所のビットの値を訂正し、当該読み出し対象データに誤りがなくなると、当該読み出し対象データの誤り訂正が完了した旨の通知を前記制御部に出力するステップと、
を含む、情報読み出し方法。
【請求項６】
暗号化された読み出し対象データにエラー訂正用データが付与されてなる暗号化データの読み出しを制御する上位機器を有するとともに、
前記上位機器と通信可能な上位機器通信部と、
第１記憶部と、
第２記憶部と、
前記暗号化データが格納された暗号化データ記憶部と、
前記上位機器通信部を介して、データ読み出し要求の入力を受け付けると、前記暗号化データ記憶部の領域のうちで、当該データ読み出し要求に含まれるアドレスで指定される領域から前記暗号化データを前記第１記憶部に読み出し、前記読み出し対象データの誤り訂正が完了した旨の通知が入力されると、当該誤りがなくなった読み出し対象データを前記第２記憶部から読み出し、前記上位機器通信部を介して、前記上位機器に送信する制御部と、
前記第１記憶部に読み出された前記暗号化データの暗号化された読み出し対象データを取得し、当該暗号化された読み出し対象データを復号化し、読み出し対象データとして前記第２記憶部に格納する復号化部と、
前記第１記憶部に読み出された前記暗号化データのエラー訂正用データを取得し、当該エラー訂正用データをもとに当該読み出し対象データに誤りがあるか否かを判定し、当該読み出し対象データに誤りがあったと判定した場合に、当該誤り箇所を特定する情報である誤り箇所特定情報を出力するエラー検出部と、
前記第２記憶部に格納された前記読み出し対象データを構成するビットのうちで、前記エラー検出部が出力した当該誤り箇所特定情報によって特定される誤り箇所のビットの値を訂正し、当該読み出し対象データに誤りがなくなると、当該読み出し対象データの誤り訂正が完了した旨の通知を前記制御部に出力するエラー訂正部と、
を備える、リーダライタ
を有する、通信システム。
【請求項７】
暗号化された読み出し対象データにエラー訂正用データが付与されてなる暗号化データの読み出しを制御する上位機器が、データ読み出し要求を送信するステップと、
前記上位機器と通信可能な上位機器通信部と、第１記憶部と、第２記憶部と、前記暗号化データが格納された暗号化データ記憶部と、制御部と、復号化部と、エラー検出部と、エラー訂正部と、を備えるリーダライタの前記制御部が、前記上位機器通信部を介して、データ読み出し要求の入力を受け付けると、前記暗号化データ記憶部の領域のうちで、当該データ読み出し要求に含まれるアドレスで指定される領域から前記暗号化データを前記第１記憶部に読み出すステップと、
前記復号化部が、前記第１記憶部に読み出された前記暗号化データの暗号化された読み出し対象データを取得し、当該暗号化された読み出し対象データを復号化し、読み出し対象データとして前記第２記憶部に格納するステップと、
前記エラー検出部が、前記第１記憶部に読み出された前記暗号化データのエラー訂正用データを取得し、当該エラー訂正用データをもとに当該読み出し対象データに誤りがあるか否かを判定し、当該読み出し対象データに誤りがあったと判定した場合に、当該誤り箇所を特定する情報である誤り箇所特定情報を出力するステップと、
前記エラー訂正部が、前記第２記憶部に格納された前記読み出し対象データを構成するビットのうちで、前記エラー検出部が出力した当該誤り箇所特定情報によって特定される誤り箇所のビットの値を訂正し、当該読み出し対象データに誤りがなくなると、当該読み出し対象データの誤り訂正が完了した旨の通知を前記制御部に出力するステップと、
前記制御部が、前記読み出し対象データの誤り訂正が完了した旨の通知が入力されると、当該誤りがなくなった読み出し対象データを前記第２記憶部から読み出し、前記上位機器通信部を介して、前記上位機器に送信するステップと、
を含む、通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リーダライタ、情報読み出し方法、通信システムおよび通信方法に関する。
【背景技術】
【０００２】
リーダライタがデータを暗号化して書き込む技術には様々なものが開示されている（例えば、特許文献１参照）。
【０００３】
また、リーダライタは、データ書き込み時には、データを暗号化して記憶部に書き込み、データ読み出し時には、記憶部から暗号化されたデータを読み出し、復号化することがある。これによって、記憶部に書き込まれるデータの秘匿性を高めることができる。不揮発性デバイス等のデータに対する暗号化、復号化の処理は、ソフトウェアによるものが一般的であった。
【０００４】
また、リーダライタは、データ読み出し時に、読み出しデータに誤りがあるか否かを判定し、読み出しデータに誤りが存在する場合には、誤り箇所のビットを訂正する処理がなされることがある。これによって、データの信頼性を高めることができる。
【０００５】
【特許文献１】特開２００６−１２７２８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、不揮発性デバイス等のデータに対する暗号化処理、復号化処理は主にソフトウェアによるものであるため、処理に多くの時間を要し、暗号化を行わない場合における処理に比べてリーダライタの性能が劣化するという問題があった。
【０００７】
また、ハードディスク等に対するデータ暗号化においては、ビット化けの発生（データ内における誤りの発生）を考慮していないため、その暗号化技術をビット化けが頻発する不揮発性デバイスに適用することはできないという問題があった。ビット化けは、例えば、ＮＡＮＤ型フラッシュメモリ等において頻発する。
【０００８】
本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、データを読み出す際に実行される、読み出しデータの復号化、読み出しデータの誤り訂正を高速に行うことが可能な、新規かつ改良された技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のある観点によれば、第１記憶部と、第２記憶部と、暗号化された読み出し対象データにエラー訂正用データが付与されてなる暗号化データが格納された暗号化データ記憶部と、データ読み出し要求の入力を受け付けると、暗号化データ記憶部の領域のうちで、データ読み出し要求に含まれるアドレスで指定される領域から暗号化データを第１記憶部に読み出す制御部と、第１記憶部に読み出された暗号化データの暗号化された読み出し対象データを取得し、暗号化された読み出し対象データを復号化し、読み出し対象データとして第２記憶部に格納する復号化部と、第１記憶部に読み出された暗号化データのエラー訂正用データを取得し、エラー訂正用データをもとに読み出し対象データに誤りがあるか否かを判定し、読み出し対象データに誤りがあったと判定した場合に、誤り箇所を特定する情報である誤り箇所特定情報を出力するエラー検出部と、第２記憶部に格納された読み出し対象データを構成するビットのうちで、エラー検出部が出力した誤り箇所特定情報によって特定される誤り箇所のビットの値を訂正し、読み出し対象データに誤りがなくなると、読み出し対象データの誤り訂正が完了した旨の通知を制御部に出力するエラー訂正部と、を備える、リーダライタが提供される。
【００１０】
上記した復号化部、エラー検出部、エラー訂正部は、ハードウェアによって構成されていることとしてもよい。
【００１１】
上記した暗号化された読み出し対象データは、ＣＴＲモードによって暗号化されたものであり、上記した復号化部は、ＣＴＲモードによって暗号化された読み出し対象データを復号化することとしてもよい。
【００１２】
上記したリーダライタは、暗号化データ記憶部に格納された暗号化データの読み出しを制御する上位機器と通信可能な上位機器通信部をさらに備え、上記した制御部は、上位機器通信部を介して、データ読み出し要求の入力を受け付けると、暗号化データ記憶部の領域のうちで、データ読み出し要求に含まれるアドレスで指定される領域から暗号化データを第１記憶部に読み出し、エラー訂正部から読み出し対象データの誤り訂正が完了した旨の通知が入力されると、誤りがなくなった読み出し対象データを第２記憶部から読み出し、上位機器通信部を介して、上位機器に送信することとしてもよい。
【発明の効果】
【００１３】
本発明によれば、データを読み出す際に実行される、読み出しデータの復号化、読み出しデータの誤り訂正を高速に行うことが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。なお、説明は以下の順序で行う。
【００１５】
１．    本実施形態の概要
２．    通信システムの構成
３．１  暗号化・エラー訂正部の構成
３．２  制御部の構成
４．    ＮＡＮＤ型フラッシュメモリの構成例
５．    データライト時の動作
６．    ＣＴＲ初期ベクタの構成
７．    データリード時の動作
８．    本実施形態の効果
９．    本実施形態の変形例
【００１６】
［１．本実施形態の概要］
本実施形態におけるリーダライタは、不揮発デバイス、とりわけＮＡＮＤ型デバイスのコントローラ回路として以下の機能を含む。
・ＮＡＮＤ型デバイスを制御するバスコントロール回路
・ビット化けデータを検出するためのＥＣＣ回路
・データの暗号化、および復号化を行う暗号回路
・復号化したデータとビット化け検出処理を待ち合わせるためのデータバッファ
・復号化処理後に検出されたビット化けを最小のペナルティ時間で訂正するための訂正回路
【００１７】
以上の回路により、暗号エンジンによる暗号・復号処理とＥＣＣのエラー訂正処理の二つの処理時間の異なるハードウェアを協調動作させることにより、ビット化け発生時においても正常かつ最短時間で平文へ復号可能な機能を提供する。
【００１８】
［２．通信システムの構成］
本実施形態に係る通信システムの構成を説明する。
図１は、本実施形態に係る通信システムの構成を示す図である。図１に示すように、通信システム１は、リーダライタ１０と、上位機器６００とを備えるものである。
【００１９】
リーダライタ１０は、通信インタフェース６１０と、制御部１１と、ＮＡＮＤ型フラッシュメモリ（暗号化データ記憶部）５００と、ＲＡＭ４００と、暗号化・エラー訂正部１２と、ＳＡＭ３２０と、ＲＦ回路３１０とを備えるものである。
【００２０】
通信インタフェース（上位機器通信部）６１０は、上位機器６００と通信を行う機能を有するものである。通信インタフェース６１０としては、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ）等のインタフェースを使用することが可能である。なお、本実施形態においては、リーダライタ１０と上位機器６００とが通信インタフェース６１０を介して通信可能にされていることとするが、上位機器６００は、リーダライタ１０の内部に組み込まれることとしてもよい。
【００２１】
制御部１１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等によって構成され、ＮＡＮＤ型フラッシュメモリ５００からプログラムをＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４００に展開し、実行するものである。
【００２２】
ＮＡＮＤ型フラッシュメモリ５００は、暗号化データ記憶部の一例として、暗号化された読み出し対象データにエラー訂正用データが付与されてなる暗号化データが格納されるものである。本実施形態による効果は、暗号化データ記憶部にビット化けが頻発する場合に特に顕著となる。
【００２３】
ＲＡＭ４００は、制御部１１によって実行されるプログラムを記憶することが可能であり、制御部１１がプログラムを実行する過程における演算処理に利用される。
【００２４】
暗号化・エラー訂正部１２は、ＮＡＮＤ型フラッシュメモリ５００に格納されるデータの暗号化や復号化を行う機能を有するとともに、データに誤りが存在する場合には、その誤りを訂正する機能を有するものである。暗号化・エラー訂正部１２は、ハードウェアによって構成される。
【００２５】
ＳＡＭ（Ｓｅｃｕｒｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｍｏｄｕｌｅ）３２０は、リーダライタ１０が、ＲＦ回路３１０を介してＩＣカード３００から読み出したデータの認証を行う機能を有する。
【００２６】
ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）回路３１０は、ＩＣカード３００との間で通信を行う機能を有するものである。
【００２７】
上位機器６００は、ＮＡＮＤ型フラッシュメモリ５００に格納されている暗号化データの読み出しを制御する機能を有する。
【００２８】
ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード３００は、リーダライタ１０から書き込まれたデータを保持するものである。保持しているデータは、リーダライタ１０から読み出される。
【００２９】
［３．１  暗号化・エラー訂正部の構成］
暗号化・エラー訂正部の構成について説明する。
図２は、暗号化・エラー訂正部の構成を示す図である。図２に示すように、暗号化・エラー訂正部１２が有するＮＡＮＤデバイスインタフェース１１０には、ＮＡＮＤ型フラッシュメモリ５００が接続される。また、暗号化・エラー訂正部１２は、データリード用バッファとしてリードバッファ１２０（第１記憶部）を有し、ライト用データバッファとしてライトバッファ１３０を有する。
【００３０】
ここでは、暗号アルゴリズムとして一ブロックが１６ＢｙｔｅであるＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）を想定する。暗号化・エラー訂正部１２は、ＡＥＳのハードウェア演算器として、ＡＥＳエンジン１４０（復号化部）を有する。また、暗号化・エラー訂正部１２は、ＡＥＳエンジン１４０に対する鍵値、ナンス設定用のレジスタとして、ＡＥＳレジスタ部１４１を有する。
【００３１】
また、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）のアルゴリズムとしては、ＢＣＨを想定する。暗号化・エラー訂正部１２は、ＥＣＣ生成回路としてＥＣＣ生成部１５０、ＥＣＣ検出回路としてＥＣＣ検出部（エラー検出部）１５１、ＥＣＣ訂正用回路としてＥＣＣ訂正部（エラー訂正部）１５２をそれぞれ有する。
【００３２】
暗号化・エラー訂正部１２は、データライト用メモリとしてライトＲＡＭ１６０，そのメモリコントローラとしてメモリインタフェース１６１を有する。また、データリード用メモリとしてリードＲＡＭ１７０（第２記憶部）、そのメモリコントローラとしてメモリインタフェース１７１を有する。暗号化・エラー訂正部１２は、上位機器６００との接続部として外部インタフェース１９０を有する。
【００３３】
ＡＥＳエンジン１４０は、リードバッファ１２０に読み出された暗号化データの暗号化された読み出し対象データを取得し、暗号化された読み出し対象データを復号化し、読み出し対象データとしてリードＲＡＭ１７０に格納する。暗号化された読み出し対象データは、ＣＴＲモードによって暗号化されたものである場合には、ＡＥＳエンジン１４０は、ＣＴＲモードによって暗号化された読み出し対象データを復号化する。
【００３４】
ＥＣＣ検出部１５１は、リードバッファ１２０に読み出された暗号化データのエラー訂正用データを取得し、エラー訂正用データをもとに読み出し対象データに誤りがあるか否かを判定する。ＥＣＣ検出部１５１は、読み出し対象データに誤りがあったと判定した場合に、誤り箇所を特定する情報である誤り箇所特定情報を出力する。
【００３５】
ＥＣＣ訂正部１５２は、リードＲＡＭ１７０に格納された読み出し対象データを構成するビットのうちで、ＥＣＣ検出部１５１が出力した誤り箇所特定情報によって特定される誤り箇所のビットの値を訂正する。ＥＣＣ訂正部１５２は、読み出し対象データに誤りがなくなると、読み出し対象データの誤り訂正が完了した旨の通知を制御部１１に出力する。
【００３６】
［３．２  制御部の構成］
制御部１１の構成について説明する。
制御部１１は、通信インタフェース６１０を介して、データ読み出し要求の入力を受け付けると、ＮＡＮＤ型フラッシュメモリ５００の領域のうちで、データ読み出し要求に含まれるアドレスで指定される領域から暗号化データをリードバッファ１２０に読み出す。制御部１１は、ＥＣＣ訂正部１５２から読み出し対象データの誤り訂正が完了した旨の通知が入力されると、誤りがなくなった読み出し対象データをリードＲＡＭ１７０から読み出し、通信インタフェース６１０を介して、上位機器６００に送信する。
【００３７】
［４．ＮＡＮＤ型フラッシュメモリの構成例］
ＮＡＮＤ型フラッシュメモリの構成例について説明する。
図３は、ＮＡＮＤ型フラッシュメモリ５００の構成を示す図である。図３には、想定する１ページ分のメモリ構成を示す。１ページ内にはデータ領域２００と冗長領域２０１が存在する。データ領域２００は、セクタ０（２１０）、セクタ１（２１１）、セクタ２（２１２）、セクタ３（２１３）から構成される。各セクタは暗号ブロック２２０をはじめとする複数の暗号ブロックに分割される。また、冗長領域２０１は、ＥＣＣ０（２３０）、ＥＣＣ１（２３１）、ＥＣＣ２（２３２）、ＥＣＣ３（２３３）から構成される。
【００３８】
ＥＣＣ０（２３０）は、セクタ０（２１０）に対するＥＣＣである。同様に、ＥＣＣ１（２３１）、ＥＣＣ２（２３２）、ＥＣＣ３（２３３）は、それぞれセクタ１（２１１）、セクタ２（２１２）、セクタ３（２１３）に対するＥＣＣである。
【００３９】
［５．データライト時の動作］
以下に、データライト時の動作について記述する。
図４に示すように、上位機器６００は、リーダライタ１０にアドレス６０１、平文６０２を送信するとともに、リーダライタ１０にライトの指示を与える。
【００４０】
上位機器６００は、外部インタフェース１９０、メモリインタフェース１６１を通じ、ライトＲＡＭ１６０に平文６０２を書き込む。ライトＲＡＭ１６０に書き込まれた平文６０２は、逐次ＡＥＳエンジン１４０に送信される。このとき、ＡＥＳレジスタ部１４１への鍵、およびナンスの設定は完了しているものとする。ＡＥＳエンジン１４０は、後述の理由によりＣＴＲモードにて平文６０２の暗号化を行う。
【００４１】
［６．ＣＴＲ初期ベクタの構成］
ＡＥＳエンジン１４０におけるＣＴＲモード演算時に必要なＣＴＲ初期ベクタの構成を図６に示す。
【００４２】
図６に示すように、ＣＴＲ初期ベクタ８００は、ＮＡＮＤ型フラッシュメモリ５００に対するブロックアドレス８０１、ページアドレス８０２、セクタナンバ８０３、およびＡＥＳレジスタ部１４１に設定されたナンス８０５から構成される。暗号化処理と同時にＥＣＣ生成部１５０にてＥＣＣ５０３を生成する。
【００４３】
以上により生成された暗号文５０２、およびＥＣＣ５０３は、ライトバッファ１３０、およびＮＡＮＤデバイスインタフェース１１０を通じて、アドレス５０１を元にＮＡＮＤ型フラッシュメモリ５００へのライトが行われる。
【００４４】
［７．データリード時の動作］
以下に、データリード時の動作について記述する。
図５に示すように、上位機器６００は、アドレス６０１に対するリード要求をリーダライタ１０に対して送信する。リード要求を受け付けた暗号化・エラー訂正部１２は、ＮＡＮＤデバイスインタフェース１１０を通じてＮＡＮＤ型フラッシュメモリ５００から、アドレス５０１を元に暗号文５０２、およびＥＣＣ５０３を読み込み、リードバッファ１２０にセットする。リードバッファ１２０に置かれた暗号文５０２は、逐次ＡＥＳエンジン１４０に送信される。同時にＥＣＣ演算のためＥＣＣ検出部１５１にも送信される。
【００４５】
ここで、暗号文５０２にビット化けが発生しているときの処理概要について、図７を参照して説明する。
【００４６】
ビット化けを含んだ暗号文ブロック１（ビット化け）９０１は、ＡＥＳ復号化の処理がＥＣＣ検出処理よりも先行するため、平文ブロック１（エラー）９０２がリードＲＡＭ１７０に一時保存される。その後、ＥＣＣ検出部１５１にてエラーが検出されると、エラーのビットマップ情報９０３がＥＣＣ訂正部１５２に通知される。エラー通知を受けたＥＣＣ訂正部１５２は、リードＲＡＭ１７０に保存された平文ブロック１（エラー）９０２を読み出し、ビットマップ情報９０３とＸＯＲ演算を行う。これにより訂正平文ブロック１（９０４）が取得できるので、これをリードＲＡＭ１７０に書き戻す。
【００４７】
リードＲＡＭ１７０に書き込まれたデータは、すべての暗号ブロックの演算が終了した後、外部インタフェース１９０を通じ、上位機器６００へ返却される。
【００４８】
以上により、ビット化けが発生した場合でもソフトウェアの介在なしにデータの復号化、および訂正が可能となる。
【００４９】
［８．本実施形態の効果］
ブロック暗号アルゴリズムにＣＴＲモード（ＣｏｕｎＴｅＲ  ｍｏｄｅ）を利用することにより、データリード時のビット化けデータに対する誤復号化データの訂正ペナルティを最小限に抑えることが可能となる。
【００５０】
一般的に、ＡＥＳの復号処理にかかる時間とＥＣＣの検出処理にかかる時間とを比較すると、同周波数で１００倍程度ＥＣＣ検出処理に時間がかかる。よって、例えば、ＣＢＣモード（Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ  ｍｏｄｅ）を利用した場合、セクタ内の先頭暗号ブロックにＥＣＣエラーが存在すると、後続の暗号ブロックの復号処理の大半が完了した後にＥＣＣエラーが通知されることになる。さらに、全ブロックの復号処理を再実行するペナルティが発生してしまう。これはＣＢＣの特性によるものであり、ビット化けを含んだ暗号ブロックが、後続の暗号ブロックの復号化処理に影響してしまうためである。
【００５１】
ＡＥＳの復号処理とＥＣＣ検出処理のブランクを埋めるためにリードＲＡＭを搭載しているため、復号処理の完了から遅れて通知されるＥＣＣエラー検出に対してもハードウェアでの訂正が可能となる。
【００５２】
以上より、ソフトウェアの介在なしに、ビット化けの発生する信頼性の低いデバイスに対しても暗号・復号処理を高速に行うことが可能となる。
【００５３】
［９．本実施形態の変形例］
上記では、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【００５４】
【図１】本実施形態に係る通信システムの構成を示す図である。
【図２】暗号化・エラー訂正部の構成を示す図である。
【図３】ＮＡＮＤ型フラッシュメモリの構成を示す図である。
【図４】データライト時の動作を説明する図である。
【図５】データリード時の動作を説明する図である。
【図６】ＣＴＲ初期ベクタの構成を示す図である。
【図７】暗号文にビット化けが発生しているときの処理概要を示す図である。
【符号の説明】
【００５５】
１      通信システム
１０    リーダライタ
１１    制御部
１２    暗号化・エラー訂正部
１１０  ＮＡＮＤデバイスインタフェース
１２０  リードバッファ
１３０  ライトバッファ
１４０  ＡＥＳエンジン
１４１  ＡＥＳレジスタ部
１５０  ＥＣＣ生成部
１５１  ＥＣＣ検出部
１５２  ＥＣＣ訂正部
１６０  ライトＲＡＭ
１６１  メモリインタフェース
１７０  リードＲＡＭ
１７１  メモリインタフェース
１９０  外部インタフェース
２００  データ領域
２０１  冗長領域
２２０  暗号ブロック
３００  ＩＣカード
３１０  ＲＦ回路
３２０  ＳＡＭ
４００  ＲＡＭ
５００  ＮＡＮＤ型フラッシュメモリ
６１０  通信インタフェース
８００  ＣＴＲ初期ベクタ
８０１  ブロックアドレス
８０２  ページアドレス
８０３  セクタナンバ
８０５  ナンス
９０３  ビットマップ情報
【図１】
2010039779.tif 000003
【図２】
2010039779.tif 000004
【図３】
2010039779.tif 000005
【図４】
2010039779.tif 000006
【図５】
2010039779.tif 000007
【図６】
2010039779.tif 000008
【図７】
2010039779.tif 000009