JP2007188138A - マイクロコンピュータおよびそのセキュリティ制御方法 - Google Patents
マイクロコンピュータおよびそのセキュリティ制御方法 Download PDFInfo
- Publication number
- JP2007188138A JP2007188138A JP2006003439A JP2006003439A JP2007188138A JP 2007188138 A JP2007188138 A JP 2007188138A JP 2006003439 A JP2006003439 A JP 2006003439A JP 2006003439 A JP2006003439 A JP 2006003439A JP 2007188138 A JP2007188138 A JP 2007188138A
- Authority
- JP
- Japan
- Prior art keywords
- ecc
- memory
- data
- error correction
- microcomputer
- 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.)
- Withdrawn
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
【課題】 キーワードを使用しなくてもフラッシュメモリへの不正な書き込みを防止できるマイクロコンピュータおよびそのセキュリティ制御方法を提供する。
【解決手段】 マイクロコンピュータ10は、フラッシュメモリ1に対してCPU2が読み出し禁止モードを設定していないときにECC生成部3で生成される入力データの誤り訂正符号を基準誤り訂正符号としてECC保存部5に保管しておき、CPU2が読み出し禁止モードを設定しているときにフラッシュメモリ1へデータ書き込み要求があったときは、ECC生成部3でそのデータの誤り訂正符号を生成し、ECC照合部6によりECC保存部5に保管されている基準誤り訂正符号と照合し、その両者に不一致が検出されたときは、書き込み制御部7によりフラッシュメモリ1へのデータの書き込みを禁止する。
【選択図】 図1
【解決手段】 マイクロコンピュータ10は、フラッシュメモリ1に対してCPU2が読み出し禁止モードを設定していないときにECC生成部3で生成される入力データの誤り訂正符号を基準誤り訂正符号としてECC保存部5に保管しておき、CPU2が読み出し禁止モードを設定しているときにフラッシュメモリ1へデータ書き込み要求があったときは、ECC生成部3でそのデータの誤り訂正符号を生成し、ECC照合部6によりECC保存部5に保管されている基準誤り訂正符号と照合し、その両者に不一致が検出されたときは、書き込み制御部7によりフラッシュメモリ1へのデータの書き込みを禁止する。
【選択図】 図1
Description
本発明は、マイクロコンピュータおよびそのセキュリティ制御方法に関する。
プログラム実行用のオブジェクトコードを内蔵のメモリに記憶するマイクロコンピュータにおいて、内蔵のメモリとして記憶領域が複数のメモリブロックに分割されているフラッシュメモリを用い、オブジェクトコードをフラッシュメモリのメモリブロック単位に分割して記憶するマイクロコンピュータがある。
このようなマイクロコンピュータを使用した製品を開発するユーザは、オブジェクトコード書き込み後、フラッシュメモリを読み出し禁止モードに設定して製品を出荷する。
しかし、オブジェクトコード書き込み後、プログラムのバグの修正などのためにオブジェクトコードの書き換えが必要になることがある。このとき、修正量が少ない場合、フラッシュメモリの一部のメモリブロックのみ書き換えれば済む場合がある。そこで、このような書き換えを可能とするために、フラッシュメモリのメモリブロックがブランクであれば書き換えることができるモードが用意されている。
ところが、このようなフラッシュメモリのブランク状態のメモリブロックが書き換え可能であることが悪用されて、このメモリブロックにリードプログラムが書き込まれると、読み出し禁止モードが設定されているにもかかわらず、オブジェクトコードの外部への不正な読み出しが可能となる。
そこで、このような不正を防止するために、予め設定したキーワードを入力しないとフラッシュメモリへの書き込みが許可されないようなセキュリティ制御方法を用いるマイクロコンピュータが提案されている(例えば、特許文献1参照。)。
しかし、このようなキーワードを使用する方法では、キーワードの生成および管理をユーザが行なわなければならず、ユーザにとっては、マイクロコンピュータのセキュリティ管理が煩わしいという問題があった。
特開平11−120081号公報 (第2−3ページ、図2)
そこで、本発明の目的は、キーワードを使用しなくてもフラッシュメモリへの不正な書き込みを防止することのできるマイクロコンピュータおよびそのセキュリティ制御方法を提供することにある。
本発明の一態様によれば、書き換え可能なメモリと、前記メモリに対して読み出し禁止モードを設定するCPUと、前記メモリへ書き込もうとするデータに対する誤り訂正符号を生成するECC生成手段と、前記読み出し禁止モードが設定されていないときに前記ECC生成手段で生成された誤り訂正符号を基準誤り訂正符号として保存するECC保存手段と、前記読み出し禁止モードが設定されているときに前記ECC生成手段で生成される誤り訂正符号を前記ECC保存手段に保存されている前記基準誤り訂正符号と照合するECC照合手段と、前記ECC照合手段による照合で不一致が検出されたときは前記メモリへのデータの書き込みを禁止する書き込み制御手段とを有することを特徴とするマイクロコンピュータが提供される。
また、本発明の一態様によれば、マイクロコンピュータに内蔵される書き換え可能なメモリへのデータ書き込み時に、前記メモリが読み出し禁止モードに設定されていないときは、前記メモリへ書き込まれるデータの誤り訂正符号を生成して基準誤り訂正符号として保存しておき、前記データの書き込みが終了して前記メモリが読み出し禁止モードに設定されているときは、前記メモリへ書き込まれようとしているデータの誤り訂正符号を生成して、保存しておいた前記基準誤り訂正符号と照合し、前記照合により不一致が検出されたときは、前記書き込まれようとしているデータの前記メモリへの書き込みを禁止することを特徴とするマイクロコンピュータのセキュリティ制御方法が提供される。
本発明によれば、キーワード使用しなくてもマイクロコンピュータに内蔵されるフラッシュメモリへの不正な書き込みを防止することができるので、マイクロコンピュータのセキュリティ管理上のユーザの煩わしさを低減することができる。
以下、本発明の実施例について図面を参照して説明する。
図1は、本発明の実施例に係るマイクロコンピュータの構成を示すブロック図である。
本実施例のマイクロコンピュータ10は、書き換え可能なメモリであるフラッシュメモリ1と、フラッシュメモリ1を読み出し禁止モードに設定するための読み出し禁止モード設定信号を出力するCPU2と、フラッシュメモリ1へ書き込もうとするオブジェクトコードなどの入力データに対するECC(Error Correct Code:誤り訂正符号)を生成するECC生成部3と、読み出し禁止モード設定信号に基づいてECC生成部3で生成されたECCの出力先を切り替える出力切り替え部4と、出力切り替え部4から出力されたECCを保存するECC保存部5と、出力切り替え部4から出力されたECCをECC保存部5に保存されているECCと照合するECC照合部6と、フラッシュメモリ1への入力データの書き込みを制御する書き込み制御部7と、フラッシュメモリ1からのデータの読み出しを制御する読み出し制御部8と、を有する。
フラッシュメモリ1は、その記憶領域が複数のメモリブロックに分割されており、入力データは、このメモリブロック単位で分割されてフラッシュメモリ1に書き込まれる。フラッシュメモリ1へは、マイクロコンピュータ10で実行されるプログラムのオブジェクトコードが、フラッシュライタやパーソナルコンピュータなどを用いてマイクロコンピュータ10の外部から書き込まれる。
CPU2は、フラッシュメモリ1を読み出し禁止モードに設定するための読み出し禁止モード設定信号を出力する。読み出し禁止モードは、フラッシュメモリ1へオブジェクトコードが書き込まれた後に、このオブジェクトコードがマイクロコンピュータ10の外部へ読み出されるのを防止するために設定される。
本実施例のマイクロコンピュータ10においては、例えば、フラッシュメモリ1へ最初にオブジェクトコードを書き込むときは読み出し禁止モードを設定せず、フラッシュメモリ1へのオブジェクトコードの書き込みが終わった後は読み出し禁止モードを設定するように、CPU2が読み出し禁止モード設定信号を出力する。
ECC生成部3は、入力データに対してハミング符号などのECCを生成する。本来、ECCは、入力されたデータに対する出力データの誤りを検出し、その誤りを訂正するために入力データに付加されるデータとして用いられるものである。
しかし、本実施例においては、異なる信号系列のデータに対しては異なるコードのECCが生成されることに着目して、2つのデータに対して生成されたECCを照合することにより2つのデータが同一であるかどうかを判定することを目的として、ECCを利用する。
ECC生成部3は、フラッシュメモリ1のメモリブロック単位に分割されて入力されるデータに対しては、その分割されたデータごとにECCを生成する。
出力切り替え部4は、CPU2から出力された読み出し禁止モード設定信号に基づいて、ECC生成部3で生成されたECCの出力先を、ECC保存部5とするか、ECC照合部6とするか、を切り替える。
出力切り替え部4は、読み出し禁止モードが設定されていないときは、ECC保存部5をECC生成部3で生成されたECCの出力先とし、読み出し禁止モードが設定されているときは、ECC照合部6をECC生成部3で生成されたECCの出力先とする。
ECC保存部5は、読み出し禁止モードが設定されていないときに出力切り替え部4から出力されるECCを保存する。読み出し禁止モードが設定されていないときに生成されるECCは、例えば、フラッシュメモリ1へオリジナルのオブジェクトコードが書き込まれるときに生成されるECCである。つまり、このECCは正当なデータに対するECCである。そこで、このECCを基準ECC(基準誤り訂正符号)と称する。
フラッシュメモリ1のメモリブロック単位に分割されたデータごとにECCが生成されるときは、それぞれのECCが、その分割されたデータに対する基準ECCとなる。
図2に、フラッシュメモリ1のメモリブロックとECC保存部5の保存される基準ECCとの関係を示す。
フラッシュメモリ1は、ブロック番号Mが0〜NのN+1個のメモリブロックを有しており、それぞれのメモリブロックに分割データが書き込まれる。ECC保存部5には、それぞれのメモリブロックに書き込まれる分割データに対するECCが、それぞれ基準ECCとして保存される。
図1に戻って、ECC照合部6は、読み出し禁止モードが設定されているときに出力切り替え部4から出力されるECCをECC保存部5に保存されている基準ECCと照合する。
読み出し禁止モードが設定されているときに生成されるECCは、読み出し禁止モードが設定されているときにフラッシュメモリ1へ書き込もうとしているデータに対するECCである。したがって、フラッシュメモリ1へ不正なデータを書き込もうとする場合にもこのECCが生成される。不正なデータを書き込もうとする場合に生成されるECCは、当然、基準ECCとは異なるコードを有する。
そこで、ECC照合部6は、読み出し禁止モードが設定されているときに出力切り替え部4から出力されるECCをECC保存部5に保存されている基準ECCと照合し、両者のコードが一致しないときは、不一致を検出したことを示す信号を出力する。
図3は、ECC照合部6の動作を模式的に示した図である。
読み出し禁止モードが設定されているフラッシュメモリ1に対して、ブロック番号M=m〜nのメモリブロックに対する書き込み要求があり、それぞれのメモリブロックに対する書き込み要求データが入力されたとき、ECC生成部3は、それぞれのデータに対するECCを生成する。ここでは、このECCをECC’と表わす。
ECC照合部6は、このECC’に対して、書き込み要求されているメモリブロックの基準ECCをECC保存部5から読み出し、メモリブロックごとにECC’と基準ECCとを照合する。
この照合において、基準ECCと一致しないECC’が1つでも検出されれば、ECC照合部6は、不一致を検出したことを示す信号を出力する。
図1に戻って、書き込み制御部7は、読み出し禁止モードが設定されているときにフラッシュメモリ1に対する書き込み要求があっても、ECC照合部6から基準ECCに一致しないECCを検出したことを示す信号が出力されたときは、フラッシュメモリ1に対するデータの書き込みを禁止する。
これにより、フラッシュメモリ1に対する不正なデータの書き込みを阻止することができる。
なお、読み出し制御部8は、読み出し禁止モードが設定されているとき、フラッシュメモリ1からマイクロコンピュータ10の外部へのデータの読み出しを禁止する。
次に、本実施例のマイクロコンピュータ10のセキュリティを制御する方法を図4〜5を用いて説明する。
図4は、本実施例のマイクロコンピュータ10に内蔵されるフラッシュメモリ1が読み出し禁止モードに設定されていないときのフラッシュメモリ1に対する書き込み動作のフローを示すフロー図である。このフローの処理により、マイクロコンピュータ10のセキュリティの要となる基準ECCが生成され、保存される。
読み出し禁止モードが設定されていないときにフラッシュメモリ1に対する書き込みを開始するときは、まず、フラッシュメモリ1のメモリブロック0から順次データを書き込むためにフラッシュメモリ1のブロック番号Mを0(M=0)に設定する(ステップS01)。
次に、ブロック番号Mのメモリブロックに書き込むデータに対するECC(基準ECC)をECC生成部3で生成し(ステップS02)、この基準ECCをECC保存部5に保存する(ステップS03)。
次に、基準ECCを生成したデータをフラッシュメモリ1のブロック番号Mのメモリブロックに書き込む(ステップS04)。
ここで、ブロック番号Mが最大値Nに達しているかどうか(M=N?)をチェックし(ステップS05)、ブロック番号Mが最大値Nに達していなければ(NO)、ブロック番号Mを1つ増加(M=M+1)させて(ステップS06)、ステップS02に戻り、以降の処理を繰り返す。
ステップS05におけるチェックでブロック番号Mが最大値Nに達していれば(YES)、CPU2がフラッシュメモリ1に対する読み出し禁止モードを設定し(ステップS07)、書き込み動作を終了する。
図4に示したフローの処理により、メモリブロックごとに分割されてフラッシュメモリ1に書き込まれるデータに対して、メモリブロックのデータごとにECC生成部3により生成された基準ECCがECC保存部5に保存される。
次に、図4に示したフローの処理によりデータの書き込みが終了して読み出し禁止モードが設定されているフラッシュメモリ1に対して、不正なデータの書き込みを行うために書き込み要求があったときの本実施例のマイクロコンピュータ10の処理について説明する。
図5は、読み出し禁止モードが設定されているフラッシュメモリ1に対して、書き込み要求があったときの本実施例のマイクロコンピュータ10の処理を示すフロー図である。図5では、フラッシュメモリ1の連続するブロック番号m〜n(m≦n)のメモリブロックに対して書き込み要求があった場合を例として示す。
読み出し禁止モードが設定されているフラッシュメモリ1のブロック番号m〜nのメモリブロックに対して書き込み要求があったときは、まず、フラッシュメモリ1のブロック番号Mをm(M=m)に設定する(ステップS11)。
次に、ブロック番号Mのメモリブロックへの書き込みを要求するデータに対するECCを生成し、これをECC’とする(ステップS12)。
このECC’に対して、ECC保存部5に保存されているブロック番号Mのメモリブロックに対する基準ECCを読み出し(ステップS13)、ECC照合部6にてECC’が基準ECCと一致するかどうか(ECC’=基準ECC?)を照合する(ステップS14)。
この照合によりECC’が基準ECCと不一致であることが検出されたとき(NO)は、書き込み制御部7によりフラッシュメモリ1への書き込みが禁止される。また、このフローによる処理は終了する。
一方、ECC照合部6による照合でECC’が基準ECCと一致していることが確認されたときは(YES)、現在のメモリブロックの番号Mがnであるかどうか(M=n?)をチェックし(ステップS15)、M≠nであれば(NO)、ブロック番号Mを1つ増加(M=M+1)させて(ステップS16)、ステップS12に戻る。
ステップS12以降の処理により、次のブロック番号のメモリブロックへの書き込み要求データに対するECC’と基準ECCとの照合が行なわれる。
この照合により、いずれかのデータに対するECC’が基準ECCと不一致であることが検出されると、その時点で直ちにフラッシュメモリ1への書き込みが禁止される。
なお、ステップS15のチェックにおいてM=nであったときは(YES)、書き込み要求されたデータに対するECC’が総て基準ECCと一致していたことを意味する。したがって、この場合、書き込み要求されたデータは、フラッシュメモリ1に記憶されているデータと同一とみなされるので、このデータをフラッシュメモリ1へ書き込んでもフラッシュメモリ1の記憶データに変化を生じない。そこで、この場合、書き込み制御部7は、フラッシュメモリ1への書き込みを許可する。
図5に示したフローの処理により、読み出し禁止モードが設定されているフラッシュメモリ1に対して不正なデータの書き込み要求があった場合、フラッシュメモリ1へのデータの書き込みが禁止され、マイクロコンピュータ10のセキュリティが確保される。
このような本実施例によれば、不正なデータの書き込みを防止するために用いる正当なデータに対するECC(基準ECC)をマイクロコンピュータ内部で自動的に生成し保存しておくので、ユーザはセキュリティ用のキーワードの生成や管理などを行う必要がなく、マイクロコンピュータのセキュリティ管理上のユーザの煩わしさを低減することができる。
1 フラッシュメモリ
2 CPU
3 ECC生成部
4 出力切り替え部
5 ECC保存部
6 ECC照合部
7 書き込み制御部
8 読み出し制御部
10 マイクロコンピュータ
2 CPU
3 ECC生成部
4 出力切り替え部
5 ECC保存部
6 ECC照合部
7 書き込み制御部
8 読み出し制御部
10 マイクロコンピュータ
Claims (5)
- 書き換え可能なメモリと、
前記メモリに対して読み出し禁止モードを設定するCPUと、
前記メモリへ書き込もうとするデータに対する誤り訂正符号を生成するECC生成手段と、
前記読み出し禁止モードが設定されていないときに前記ECC生成手段で生成された誤り訂正符号を基準誤り訂正符号として保存するECC保存手段と、
前記読み出し禁止モードが設定されているときに前記ECC生成手段で生成される誤り訂正符号を前記ECC保存手段に保存されている前記基準誤り訂正符号と照合するECC照合手段と、
前記ECC照合手段による照合で不一致が検出されたときは前記メモリへのデータの書き込みを禁止する書き込み制御手段と
を有することを特徴とするマイクロコンピュータ。 - 前記メモリの記憶領域が複数のメモリブロックに分割されており、前記メモリへ書き込まれるデータが前記メモリブロック単位で分割されるときは、前記ECC生成手段が、前記メモリブロック単位で分割されるデータごとに誤り訂正符号を生成することを特徴とする請求項1に記載のマイクロコンピュータ。
- 前記ECC照合手段は、前記分割されたデータごとに生成される誤り訂正符号ごとに照合を行うことを特徴とする請求項2に記載のマイクロコンピュータ。
- マイクロコンピュータに内蔵される書き換え可能なメモリへのデータ書き込み時に、
前記メモリが読み出し禁止モードに設定されていないときは、前記メモリへ書き込まれるデータの誤り訂正符号を生成して基準誤り訂正符号として保存しておき、
前記データの書き込みが終了して前記メモリが読み出し禁止モードに設定されているときは、前記メモリへ書き込まれようとしているデータの誤り訂正符号を生成して、保存しておいた前記基準誤り訂正符号と照合し、
前記照合により不一致が検出されたときは、前記書き込まれようとしているデータの前記メモリへの書き込みを禁止することを特徴とするマイクロコンピュータのセキュリティ制御方法。 - 前記メモリの記憶領域が複数のメモリブロックに分割されているときは、前記誤り訂正符号の生成および照合を前記メモリブロック単位で分割されるデータごとに行なうことを特徴とする請求項4に記載のマイクロコンピュータのセキュリティ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006003439A JP2007188138A (ja) | 2006-01-11 | 2006-01-11 | マイクロコンピュータおよびそのセキュリティ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006003439A JP2007188138A (ja) | 2006-01-11 | 2006-01-11 | マイクロコンピュータおよびそのセキュリティ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007188138A true JP2007188138A (ja) | 2007-07-26 |
Family
ID=38343290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006003439A Withdrawn JP2007188138A (ja) | 2006-01-11 | 2006-01-11 | マイクロコンピュータおよびそのセキュリティ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007188138A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016509731A (ja) * | 2013-02-04 | 2016-03-31 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | メモリ・デバイスの内容を保護するための方法およびメモリ・デバイス |
US10438684B2 (en) | 2014-08-07 | 2019-10-08 | Samsung Electronics Co., Ltd. | Memory device, memory system, and method of operating the memory system |
CN112631823A (zh) * | 2020-12-30 | 2021-04-09 | 锐捷网络股份有限公司 | 文件的处理方法及装置 |
-
2006
- 2006-01-11 JP JP2006003439A patent/JP2007188138A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016509731A (ja) * | 2013-02-04 | 2016-03-31 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | メモリ・デバイスの内容を保護するための方法およびメモリ・デバイス |
US10438684B2 (en) | 2014-08-07 | 2019-10-08 | Samsung Electronics Co., Ltd. | Memory device, memory system, and method of operating the memory system |
CN112631823A (zh) * | 2020-12-30 | 2021-04-09 | 锐捷网络股份有限公司 | 文件的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102483781B (zh) | 数据验证方法 | |
US7711944B2 (en) | Method and apparatus for securely updating and booting code image | |
JP6373888B2 (ja) | 情報処理装置及び制御方法 | |
JP4824657B2 (ja) | 保安データを管理する装置およびその方法 | |
US20130081144A1 (en) | Storage device and writing device | |
US7434068B2 (en) | Content protection in non-volatile storage devices | |
CN113486360B (zh) | 基于risc-v的安全启动方法及系统 | |
CN113672878B (zh) | 防止回滚攻击的系统及方法 | |
US20130091394A1 (en) | Data processing apparatus and validity verification method | |
JP2007188138A (ja) | マイクロコンピュータおよびそのセキュリティ制御方法 | |
KR20080061044A (ko) | 다중화된 에스피디 롬을 가지는 메모리 모듈 시스템 및 그부팅 방법 | |
US20070233940A1 (en) | Method for updating data in flash memory | |
KR100838671B1 (ko) | 암호코드 대조기능을 갖는 휴대형 정보처리 장치 | |
CN109508145B (zh) | 使用地址别名的存储器访问控制 | |
JP2018195329A (ja) | 情報処理装置 | |
JP2007064762A (ja) | 半導体装置、テストモード制御回路 | |
CN112015582B (zh) | 自修正存储器系统、提供错误修正至存储器内容的方法 | |
JP6308074B2 (ja) | マイクロコンピュータ | |
JP7097407B2 (ja) | ビットエラー修正の試行錯誤を優先順位付けるためのシステムおよび方法 | |
JP6742831B2 (ja) | 情報処理装置、読み出し制御方法、及びプログラム | |
CN117972731B (zh) | 一种固件加载方法、启动方法、嵌入式设备及存储介质 | |
TWI845325B (zh) | 控制電路及控制方法 | |
CN118171262A (zh) | 用于安全启动的镜像数据组织方法及装置、电子设备 | |
JP2022051127A (ja) | 情報処理装置および更新処理方法 | |
JP2009015434A (ja) | 携帯可能情報処理装置及び情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20081226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090210 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090407 |