(57)【特許請求の範囲】
【請求項１】
外部とのデータの入出力を行う外部インタフェース手段と、
与えられたアプリケーションプログラムを実行して各種機能を実現する演算処理手段と、
前記外部インタフェース手段を介して前記演算処理手段が入出力するデータの暗号化，復号化を行う暗号処理手段と、
該暗号処理手段での暗号化，復号化に必要なパラメータを格納する情報格納手段と、
を備え、１チップに構成されたセキュリティ機能付データ処理装置において、
前記情報格納手段に対して、前記演算処理手段からは前記パラメータの書込のみを可能とすると共に、該格納手段に格納された前記パラメータの読出を前記暗号処理手段からのみ可能とするリード／ライト制限手段を設けたことを特徴とするセキュリティ機能付データ処理装置。
【請求項２】
前記情報格納手段には、前記パラメータとして複数の暗号鍵を格納し、
前記暗号処理手段は、前記情報格納手段に格納された複数の暗号鍵の中から適宜選択した暗号鍵を用いて、暗号化，復号化を行うことを特徴とする請求項１記載のセキュリティ機能付データ処理装置。
【請求項３】
前記暗号処理手段は、前記情報格納手段に格納されたパラメータを種鍵として生成した暗号鍵を用いて、暗号化，復号化を行うことを特徴とする請求項１記載のセキュリティ機能付データ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、１チップに構成され、外部に対して暗号化したデータを入出力可能なセキュリティ機能付データ処理装置に関する。
【０００２】
【従来の技術】
従来より、有料道路の料金所に設置された路側機と車両に搭載された車載機との間で無線通信を行うことにより、料金収受をノンストップで自動的に行う自動料金収受（ＥＴＣ）システムが知られている。
【０００３】
このＥＴＣシステムでは、料金収受のための重要な情報、例えば運転者個人の識別データや課金データなどが無線通信で送受されることから、これら情報の漏洩や改竄を防止する対策を施すことが必須であり、そのために、通信文の暗号化や、通信相手の正当性を暗号を用いて確認する相互認証といった暗号技術が用いられている。
【０００４】
なお、公共の場で使用される暗号技術の場合、パラメータである暗号鍵を用いて平文を暗号化し暗号文を復号化する際の暗号アルゴリズムは、その安全性を誰でも検証できるよう一般に公開されている。従って、暗号文を解読されないためには、暗号鍵の保管が最も重要となる。
【０００５】
そこで、ＥＴＣシステムの車載機では、データの暗号化，復号化を行う暗号処理モジュール（ＳＡＭ）を、マイクロコンピュータを中心に構成され、暗号処理モジュールを利用したアプリケーションを含む様々なアプリケーションを実行するアプリケーション実行モジュールとは別チップにて構成し、暗号鍵をＳＡＭに閉じこめて外部から読み出すことのできないようにすることにより、安全性を確保していた。
【０００６】
ここで、図３（ａ）は、別チップにて構成されたＳＡＭ１１０及びアプリケーション実行モジュール１２０の一例を表すブロック図である。
図示のように、アプリケーション実行モジュール１２０は、路上機との通信を行うＤＳＲＣ無線器や、料金精算用のＩＣカードを装着するためのＩＣカードリーダライタ等が接続される外部インタフェース１２１と、ＳＡＭ１１０を接続するためのＳＡＭインタフェース１２３と、ＣＰＵ，ＲＯＭ，ＲＡＭを中心に構成された周知のマイクロコンピュータからなり、外部インタフェース１２１に接続された機器やＳＡＭインタフェース１２３に接続されたＳＡＭ１１０を用いた様々なアプリケーションを実行するアプリケーション制御部１２５とを備えている。
【０００７】
一方、ＳＡＭ１１０は、アプリケーション実行モジュール１２０を接続するための専用インタフェース１１１と、指定されたデータを所定の暗号アルゴリズムに従って暗号化，或いは復号化して出力する暗号処理部１１２と、暗号化，復号化の際に使用する秘密の暗号鍵を格納する鍵格納部１１４と、ＣＰＵ，ＲＯＭ，ＲＡＭを中心に構成された周知のマイクロコンピュータからなり、専用インタフェース１１１を介したデータの入出力，及び暗号処理部１１２の起動等を制御する暗号制御部１１５とを備えている。
【０００８】
そして、ＳＡＭ１１０では、専用インタフェース１１１を介してアプリケーション実行モジュール１２０から入力されるデータを、鍵格納部１１４に格納された暗号鍵を用いて、暗号処理部１１２にて暗号化，或いは復号化し、その処理結果を、専用インタフェース１１１を介してアプリケーション実行モジュール１２０に出力する。
【０００９】
なお、ＳＡＭ１１０では、鍵格納部１１４への暗号鍵の格納を出荷時等におこない、これを専用インタフェース１１１を介して行う必要があるが、上述したセキュリティ確保のために、一旦、鍵格納部１１４に格納された暗号鍵が、専用インタフェース１１１を介して読み出されることのないようにする必要がある。
【００１０】
そこで、ＳＡＭ１１０内では、データの転送を必ず暗号制御部１１５を介して行う構成、即ち、専用インタフェース１１１から鍵格納部１１４へは直接アクセスすることが不可能な構成とし、暗号制御部１１５が実行するプログラムには、鍵格納部１１４から読み出した暗号鍵を、暗号処理部１１２以外に転送する命令を持たないように構成し、しかも、プログラムを格納するメモリとして、チップに一体化された書換不能なマスクＲＯＭを用いる等の対策が施されていた。
【００１１】
即ち、製品の出荷後に、制御部１５にて実行されるプログラムの内容が、鍵格納部１１４に格納された暗号鍵を専用インタフェース１１１を介して読み出すことができるようなものに、不正に書き換えられることのないようにしていたのである。
【００１２】
【発明が解決しようとする課題】
ところが、機器の小型化，低コスト化のため、ＳＡＭ１１０を、アプリケーション実行モジュール１２０とを１チップ化する要求があり、そうした場合、暗号鍵のセキュリティが低下してしまうという問題があった。
【００１３】
即ち、ＳＡＭ１１０をアプリケーション実行モジュール１２０と単純に一体化した一体化モジュール１３０の場合、図２（ｂ）に示すように、外部インタフェース１３１，暗号処理部１３２，鍵格納部１３４，制御部１３５からなり、専用インタフェース１１１が外部インタフェース１３１に代わった以外、先に説明したＳＡＭ１１０とほぼ同じ構成となる。但し、この場合、制御部１３５を構成するＲＯＭには、暗号処理用のプログラムとアプリケーションプログラムとが格納され、特にアプリケーションプログラムは、バージョンアップにより変更されたり、新たなアプリケーションが追加される可能性が高いため、出荷後であっても、このような変更や追加に柔軟に対応できるように、記憶内容の書換が可能なフラッシュＲＯＭ、（或いは外付けＲＯＭ）が使用されることになる。このため、出荷後に不正なプログラムを組み込むことが容易となり、暗号鍵を秘密に保持することが困難になるのである。
【００１４】
そこで本発明は、上記問題点を解決するために、暗号化，復号化のために外部から書き込まれたパラメータを、秘密に保持することが可能なセキュリティ機能付データ処理装置を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記目的を達成するための発明である請求項１記載のセキュリティ機能付データ処理装置では、与えられたアプリケーションプログラムを実行して各種機能を実現する演算処理手段が、外部インタフェース手段を介して入出力するデータを、暗号化処理手段が、情報格納手段に格納されたパラメータを用いて、暗号化，復号化する。
【００１６】
また、リード／ライト制限手段は、演算処理手段からは情報格納手段に対するパラメータの書込のみを可能とすると共に、情報格納手段に格納されたパラメータの読出を暗号処理手段からのみ可能とするようにされている。
従って、演算処理手段は、外部インタフェース手段を介して入力されるパラメータを、情報格納手段に書き込むことは可能であるが、どのようなプログラムを組み込んだとしても、情報格納手段からパラメータを読み出すことは不可能となる。
【００１７】
従って、本発明のセキュリティ機能付データ処理装置によれば、暗号化，復号化のために外部から書き込まれたパラメータを秘密に保持することができ、当該装置が入出力するデータの漏洩，改竄に対する安全性を十分に確保することができる。
【００１８】
なお、情報格納手段に格納するパラメータは、暗号化，復号化に直接使用する単一の暗号鍵であってもよいが、同じ暗号鍵を続けて使用していると、それだけ解読される危険性が高くなる。
そこで、請求項２記載のように、情報格納手段には、パラメータとして複数の暗号鍵を格納し、暗号処理手段は、情報格納手段に格納された複数の暗号鍵の中から適宜選択した暗号鍵を用いて、暗号化，復号化を行うようにしてもよい。
【００１９】
また、請求項３記載のように、暗号処理手段は、情報格納手段に格納されたパラメータを種鍵として生成した暗号鍵を用いて、暗号化，復号化を行うようにしてもよい。これらの場合、当該装置が入出力するデータの安全性を、より一層向上させることができる。
【００２０】
【発明の実施の形態】
以下に本発明の実施形態を図面と共に説明する。
図１は、ＥＴＣシステムの車載器を構成する際に使用されるセキュリティ機能付データ処理装置の概略構成を表すブロック図である。
【００２１】
図１（ａ）に示すように、本実施形態のデータ処理装置１０は、路上機との通信を行うＤＳＲＣ無線器や、料金精算用のＩＣカードを装着するためのＩＣカードリーダライタ等が接続される外部インタフェース手段としての外部インタフェース１１と、指定されたデータを、所定の暗号アルゴリズムに従って暗号化，或いは復号化して出力する暗号処理手段としての暗号処理部１２と、暗号化，復号化の際に用いる秘密の暗号鍵を格納する情報格納手段としての鍵格納部１４と、鍵格納部１４に対するリード，ライトを制限するリード／ライト制限手段としてのリード／ライト制限部１３と、ＣＰＵ１５ａ，ＲＯＭ１５ｂ，ＲＡＭ１５ｃを中心に構成された周知のマイクロコンピュータからなり、外部インタフェース１１を介したデータの入出力、及び暗号処理部１２の起動等を制御すると共に、外部インタフェース１１に接続された機器や暗号処理部１２を用いた様々なアプリケーションを実行する演算処理手段としての制御部１５とを備えており、これらは１チップの半導体集積回路として構成されている。
【００２２】
そして、外部インタフェース１１，暗号処理部１２，リード／ライト制限部１３，制御部１５は、データバスＢを介して相互に接続されており、また、鍵格納部１４は、リード／ライト制限部１３を介してデータバスＢと暗号処理部１２とに接続されている。
【００２３】
このうち、リード／ライト制限部１３は、図１（ｂ）に示すように、データバスＢと鍵格納部１４との間を、データバスＢから鍵格納部１４に向かう方向を順方向にして接続する書込バッファ１３ａと、暗号処理部１２と鍵格納部１４との間を、鍵格納部１４から暗号処理部１２に向かう方向を順方向にして接続する読出バッファ１３ｂとからなる。
【００２４】
つまり、制御部１５は、鍵格納部１４にデータを書き込むことは可能であるが、鍵格納部１４からデータを読み出すことが不可能であり、また、鍵格納部１４から読み出されたデータは、暗号処理部１２にのみ提供されるように構成されている。
【００２５】
次に、暗号処理部１２は、制御部１５からの指令により起動すると、鍵格納部１４から暗号鍵を読み込むと共に、制御部１５を構成するＲＡＭ１５ｃ上の指定された領域に記憶された処理対象データを読み込み、暗号鍵を用いて処理対象データの暗号化或いは復号化を行い、その処理結果のみをＲＡＭ１５ｃ上の指定された領域に書き込むように動作する。つまり、リード／ライト制限部１３を介して鍵格納部１４から読み込んだ暗号鍵が、そのまま形で、データバスＢ上に読み出されてしまうことがないように構成されている。
【００２６】
なお、暗号処理部１２が実現する暗号アルゴリズムは、秘密にすべき暗号鍵等のパラメータを一つでも有していればよく、秘密（共通）鍵暗号方式でも公開鍵暗号方式であってもよい。
次に、制御部１５を構成するＲＯＭ１５ｂには、外部インタフェース１１を介してデータを入出力（入出力データはＲＡＭ１５ｃ上に設定）する入出力処理、外部インタフェース１１を介して入力された暗号鍵を鍵格納部１４に格納する処理、暗号処理部１２にデータの暗号化，復号化を指示する処理等を実現するための制御プログラムの他、外部インタフェース１１を介して接続される機器及び暗号処理部１２を用いた様々なアプリケーションを実現するためのアプリケーションプログラムが格納される。
【００２７】
そして、特に、新たな機能の追加や性能の改善等、アプリケーションプログラムの更新は比較的頻繁に行われるため、プログラム格納用には、フラッシュＲＯＭ（或いは外付けのＲＯＭ）が用いられている。
このように構成された本実施形態のデータ処理装置１０では、出荷時に、鍵格納部１４への暗号鍵の格納が行われ、以後、その格納された暗号鍵を用いることにより、暗号処理部１２では、指定されたデータの暗号化，復号化が可能となる。
【００２８】
なお、暗号鍵は、外部インタフェース１１，データバスＢを介して鍵格納部１４に格納されるが、一旦格納されると、鍵格納部１４から暗号鍵を読み出した場合、その読み出された暗号鍵は、リード／ライト制限部１３の作用により、データバスＢに供給されることがなく、必ず暗号処理部１２に供給される。
【００２９】
以上説明したように、本実施形態のデータ処理装置１０によれば、外部インタフェース１１に接続されたＤＳＲＣ無線器を介して送信するデータを、鍵格納部１４に格納された暗号鍵を用いて暗号化し、また、ＤＳＲＣ無線器を介して受信したデータを、鍵格納部１４に格納された暗号鍵を用いて復号化することにより、暗号鍵を知らない第３者に対して通信データを秘匿することができる。
【００３０】
また、本実施形態のデータ処理装置１０によれば、リード／ライト制限部１３を設けて、鍵格納部１４に格納された暗号鍵が、データバスＢ，ひいては外部インタフェース１１に読み出されることのないようにされているので、制御部１５を構成するＲＯＭ１５ｂに格納されるプログラムが、どのように書き換えられたとしても、暗号鍵を秘密に保持することができる。その結果、当該データ処理装置１０が入出力するデータの漏洩，改竄に対する安全性を十分に確保することができる。
【００３１】
なお、本実施形態では、鍵格納部１４に、暗号鍵を一つだけ記憶する場合につて説明したが、同じ暗号鍵を使用していると、解読される危険性が高くなるため、鍵格納部１４に異なった複数の暗号鍵を格納し、暗号処理部１２は、通信毎（起動される毎）に使用する暗号鍵を変えるように構成してもよい。
【００３２】
また、図２に示すように、鍵格納部１４に格納されたデータを種鍵とし、通信に先だって送られてくる鍵生成データを用いて、通信毎に暗号鍵をその都度生成する鍵生成部１６を設け、暗号処理部１２は、この鍵生成部１６にて生成された暗号鍵を用いて暗号化或いは復号化を行うように構成してもよい。
【００３３】
なお、複数の暗号鍵を用いる前者の方法は簡便ではあるが、使用可能な暗号鍵の数がメモリ容量等により制限され、数十から数百程度が限界となる。これに対して、種鍵を用いる後者の方法では、通常、鍵生成データは、数バイトで構成されるため、前述の方法に比べて使用可能な暗号鍵の種類を飛躍的に増加させることができ、暗号が解読される可能性を更に低下させることができる。
【００３４】
即ち、暗号鍵の種類が非常に多い場合、通信をモニタし、暗号鍵の解読に成功したとしても、その暗号鍵は、以後の通信では二度と使用されることがないため、時間をかけて暗号鍵を解読する意味がなくなるのである。
【図面の簡単な説明】
【図１】  実施形態のデータ処理装置の構成を表すブロック図である。
【図２】  変形例の構成を表すブロック図である。
【図３】  従来装置の構成を表すブロック図である。
【符号の説明】
１０…データ処理装置    １１…外部インタフェース    １２…暗号処理部
１３…リード／ライト制限部    １３ａ…書込バッファ
１３ｂ…読出バッファ          １４…鍵格納部        １５…制御部
１６…鍵生成部                  Ｂ…データバス
【図１】
0004438216.tif 000002
【図２】
0004438216.tif 000003
【図３】
0004438216.tif 000004