JP2001265658A - Nonvolatile preservation device content secrecy keeping method and nonvolatile preservation device content secrecy keeping structure - Google Patents

Nonvolatile preservation device content secrecy keeping method and nonvolatile preservation device content secrecy keeping structure

Info

Publication number
JP2001265658A
JP2001265658A JP2000060049A JP2000060049A JP2001265658A JP 2001265658 A JP2001265658 A JP 2001265658A JP 2000060049 A JP2000060049 A JP 2000060049A JP 2000060049 A JP2000060049 A JP 2000060049A JP 2001265658 A JP2001265658 A JP 2001265658A
Authority
JP
Japan
Prior art keywords
data
address
flash memory
original
random number
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.)
Pending
Application number
JP2000060049A
Other languages
Japanese (ja)
Inventor
Kenji Ko
健慈 后
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to JP2000060049A priority Critical patent/JP2001265658A/en
Publication of JP2001265658A publication Critical patent/JP2001265658A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To prevent data preserved inside a flash memory from being stolen, corrected or changed by randomly combining the data and making the data of a non-transmission restoration process useless. SOLUTION: Blocking is advanced by a program preserved inside the flash memory, rotation is advanced on the basis of the blocks, a preserved address is scrambled and the data inside an original address are preserved inside a new address after the rotation. At the time of reading the data, the read order of a random number is generated by a random number generator and accurate data and dummy data are included in the read data. The dummy read data are filtered, address rotation is recovered and restored and they are turned to original data. By scrambling the address, the data are turned to the useless data when they are directly read.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は非揮発性保存装置
内容秘密保持方法と非揮発性保存装置内容秘密保持構造
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a nonvolatile storage device content confidentiality holding method and a nonvolatile storage device content confidentiality holding structure.

【0002】[0002]

【従来の技術】図1が示すように、従来のコンピュータ
ー構造は、MCU(micro controller unit)を構造
の主体にして、その外側にフラッシュメモリー10が設
けられ、プログラムをフラッシュメモリー10内に保存
する。また、従来のエンコード/デコード保護システム
は、フラッシュメモリー10に対して何の保護も提供し
なかった。
2. Description of the Related Art As shown in FIG. 1, in a conventional computer structure, an MCU (micro controller unit) is mainly used, a flash memory 10 is provided outside the structure, and a program is stored in the flash memory 10. . Also, conventional encoding / decoding protection systems have not provided any protection for the flash memory 10.

【0003】[0003]

【発明が解決しようとする課題】そのためフラッシュメ
モリー10内に保存したプログラム内容を保護すること
は難しく、暗号解読に慣れた者であれば、容易にフラッ
シュメモリー10内に保存したプログラムを読み取るこ
とができた。例えばフラッシュメモリー10内に保存し
たプログラムで使用者の暗号を調べ、使用者身分のデコ
ード部分を証明して、システムの全てのソースを完全公
開することができる。或いは『SOFT IN CIRCUIT EMU
LATOR』、『SOFT ICE』等のソフトウェアを利用して、
暗号解読やプログラム変更をし、パスワードを知らなく
ても、直接にフラッシュメモリー10を読み取り、シス
テムに進入し、ソースを盗み取ることもできる。
Therefore, it is difficult to protect the contents of the program stored in the flash memory 10, and a person who is accustomed to decryption can easily read the program stored in the flash memory 10. did it. For example, the user's encryption can be checked by a program stored in the flash memory 10, the decoded part of the user's identity can be proved, and all the sources of the system can be fully disclosed. Or "SOFT IN CIRCUIT EMU
Using software such as "LATOR" and "SOFT ICE"
It is also possible to read the flash memory 10 directly, enter the system, and steal the source without decrypting or changing the program and without knowing the password.

【0004】さらに、携帯電話の製作メーカーは通常、
自身が開発したプログラムでDSPを製作するが、これ
らのプログラムは全て、携帯電話機能、受信能力等、重
要で他人に知られたくないデータに関し、フラッシュメ
モリー10に保存されている。つまり、これら重要なデ
ータは公開されたのと等しく、システム保護のデコード
/エンコードシステムでは、フラッシュメモリーが安全
上の盲点となっていた。
[0004] In addition, manufacturers of mobile phones usually provide
The DSPs are produced using programs developed by the user, and all of these programs are stored in the flash memory 10 with respect to important data that the user does not want to be known to others, such as mobile phone functions and reception capabilities. In short, these important data were as public as possible, and flash memory was a security blind spot in system-protected decoding / encoding systems.

【0005】この問題を解決する為、図2に示すような
従来の解決方法では、MCUとフラッシュメモリー10
を同一のIC20中に設置して、内設のデータアクセス
により、フラッシュメモリー内でプログラムが、盗難、
修正、解読等されることを防でいる。しかし、この方法
は、ほとんど解読される恐れがないものの、ただフラッ
シュメモリー10及びMCUのロジック素子が異なる製
造工程である為に、製作工程費用が、大幅に増加する。
In order to solve this problem, a conventional solution as shown in FIG.
Is installed in the same IC 20, and the program in the flash memory is stolen,
It is prevented from being modified, deciphered, etc. However, in this method, although there is little possibility of being decoded, the manufacturing process cost is greatly increased because the flash memory 10 and the logic element of the MCU are different manufacturing processes.

【0006】[0006]

【課題を解決するための手段】この発明は、フラッシュ
メモリーの読取り/書入れのタイミングが、一般起動或
いはプログラムインストール時であるが、この2種類の
状況は、あまり発生しないため、少しのロジック設計お
よび特殊設計のソフトウェアを利用してフラッシュメモ
リーの保護を達成する。
According to the present invention, the timing of reading / writing the flash memory is at the time of general startup or program installation. However, since these two types of situations rarely occur, a little logic design is required. And use specially designed software to achieve flash memory protection.

【0007】また、プログラムが、適当な大きさのブロ
ック化処理を行い、アドレススクランブル(scramblin
g)と乱数(random)を利用して、データの排列をアド
レス変化に伴い、新しい組合せを発生させ、還原方法に
よらなければオリジナルデータを回復できなくして、フ
ラッシュメモリー保護の安全性を提供する。さらに、沢
山の製造工程費用をかける必要をなくす。
[0007] Further, a program performs an appropriate size block processing, and performs address scrambling (scramblin).
Using g) and random numbers, a new combination is generated according to the address change in the data arrangement, and the original data cannot be recovered unless the return method is used, thereby providing security of flash memory protection. . Further, it eliminates the need for a lot of manufacturing process costs.

【0008】フラッシュメモリー内に保存したプログラ
ムでブロック化(blockbased)を進め、これらブロック
を基礎にして回転(rotate)を進め、保存したアドレス
をスクランブル(scrambling)して、オリジナルアドレ
ス内のデータを回転後の新アドレス内に保存する。デー
タを読取る(read)時、乱数生産器(random number
generator)により乱数の読取り順序を発生させ、読取
ったデータに正確なデータとダミー(dummy)データを
含ませる。さらに、ダミーの読取りデータをフィルター
し、アドレス回転が、回復(recovery)還原してオリジ
ナルデータになる。これにより、アドレスのスクランブ
ルによりデータを直接に読取って役に立たないデータと
し、盗難、修正、変更等させずに、フラッシュメモリー
(flash memory)にを保護する。
The program stored in the flash memory is used to advance the block (blockbased), the rotation is advanced based on these blocks, the stored address is scrambled, and the data in the original address is rotated. Save in the new address later. When reading data, a random number generator (random number)
generator) to generate a reading order of random numbers, and include accurate data and dummy data in the read data. Further, the dummy read data is filtered, and the address rotation is restored to the original data. As a result, the data is read directly by scrambling the address to render it useless, and the data is protected in the flash memory without being stolen, corrected, changed, or the like.

【0009】特にアドレススクランブルでデータをラン
ダムに組合せる事により、非透過還原プロセスのデータ
を役に立たないものにして、フラッシュメモリー内に保
存したデータが盗難、訂正、変更されるのを防止する。
In particular, by randomly combining data by address scrambling, the data in the non-transparent return process is rendered useless, and the data stored in the flash memory is prevented from being stolen, corrected, or changed.

【0010】以下、この発明の構造設計と技術原理を説
明し、この発明の特徴を更に明らかにする。
Hereinafter, the structural design and technical principle of the present invention will be described to further clarify the features of the present invention.

【0011】[0011]

【発明の実施の形態】以下、発明の第1の実施の形態に
ついて説明する。
The first embodiment of the present invention will be described below.

【0012】図3が示すように、MCU或いはDSP
は、フラッシュメモリー10に読取り或いは書入れを行
う前に、メモリーデータ秘密保持チップ30により、デ
ータの処理あるいは還原を行う。メモリーデータ秘密保
持チップ30の内部構造は図4に示す。
As shown in FIG. 3, an MCU or DSP
Before the data is read or written into the flash memory 10, the data processing or return is performed by the memory data security chip 30. The internal structure of the memory data security chip 30 is shown in FIG.

【0013】アドレススクランブル器31は、ブロック
化のプログラムで回転を行い、また、オリジナルのアド
レススクランブルが、一組の新アドレスを提供しオリジ
ナルデータを保存する。さらに、プログラムを新アドレ
スにより、フラッシュメモリー10へ書き入れる。
The address scrambler 31 rotates according to a blocking program, and the original address scramble provides a set of new addresses and stores the original data. Further, the program is written into the flash memory 10 at the new address.

【0014】乱数生産器32は、一組のランダム順序を
発生して、フラッシュメモリー10内のデータを順番に
読み出す。
The random number generator 32 generates a set of random orders and sequentially reads data in the flash memory 10.

【0015】解読器33は、乱数順番読取りのアドレス
データからダミーデータをフィルターする。また、逆転
プログラムブロックが、オリジナルデータとアドレスを
獲得してMCU(或いはDSP)に提供する。
The decoder 33 filters the dummy data from the random number read address data. Also, the reverse program block acquires the original data and the address and provides it to the MCU (or DSP).

【0016】次に、発明の第2の実施の形態について説
明する。以下は、MCUのフラッシュメモリー10への
書き入れ(write)及び読み出し(read)の二つの作業
である。
Next, a second embodiment of the invention will be described. The following are two operations of writing and reading the MCU into and from the flash memory 10.

【0017】[書き入れ順序]データに対するエンコー
ド動作:ソフトウェアが、プログラムによるブロックベ
ース(block based)処理を行う。一般には、8×8で
ブロック基礎をつくり、これらブロックを基礎にして回
転(rotate)し、即アドレススクランブル器31によ
り、保存のアドレスをスクランブル(scrambling)し
て、オリジナルアドレス内のデータを回転後の新アドレ
ス内に保存する。以下では、説明を簡単に説明するた
め、4×4ブロックで説明する。
[Write Order] Encoding operation for data: Software performs block based processing by a program. In general, a block basis is created by 8 × 8, rotation is performed based on these blocks, an address scrambler 31 immediately scrambles the stored address, and rotates the data in the original address after rotation. In the new address. In the following, for simplicity, the description will be made using 4 × 4 blocks.

【0018】図5の左側をブロック化のオリジナルデー
タとし、そのアドレス80hが保存するデータを001
1、アドレス81hが保存するデータを1011、ま
た、82hが保存するデータを1100、さらに、83
hが保存するデータを1010とする。回転(この実施
例では右方向に90度の回転するが、回転方向は限定し
ない)後、4×4プログラムブロックは、図5の右側が
示す通りである。新アドレス80’hが保存する回転を
1110、81’hが保存する回転を0100、また、
82’hが保存する回転を1011、さらに、83’h
が保存する回転を0011とする。ここで、二つの4×
4ブロックを対照すると、右側図の最右側縦方向データ
が、オリジナルの80hデータであることが理解でき
る。このように、相当アドレス内のデータ質が完全にス
クランブルされる。フラッシュメモリー10中に保存さ
れたこれらデータが、スクランブルされているため、フ
ラッシュメモリー10から読取ったものはもとのデータ
と完全に異なることになる。
The left side of FIG. 5 is the original data of the block, and the data stored at the address 80h is 001.
1, the data stored at address 81h is 1011; the data stored at 82h is 1100;
The data stored by h is 1010. After rotation (in this embodiment, 90 degrees to the right, but not limited to the direction of rotation), the 4 × 4 program block is as shown on the right side of FIG. The rotation saved by the new address 80'h is 1110, the rotation saved by 81'h is 0100,
The rotation that 82'h saves is 1011 and 83'h
Let 0011 be the rotation saved by. Where two 4x
In contrast to the four blocks, it can be understood that the rightmost vertical data in the right diagram is the original 80h data. Thus, the data quality in the corresponding address is completely scrambled. Since the data stored in the flash memory 10 is scrambled, the data read from the flash memory 10 is completely different from the original data.

【0019】第6図に示すように、書き入れ動作のステ
ップを図にまとめることができる。 ステップa.プログラムブロック化のステップ。 ステップb.回転ブロックが、オリジナルデータのアド
レスをスクランブルして新アドレスを発生させるステッ
プ。 ステップc.オリジナルデータを新アドレスに保存する
ステップ。 ステップd.新アドレスにより、フラッシュメモリー1
0に書き入れるステップ。
As shown in FIG. 6, the steps of the writing operation can be summarized in a diagram. Step a. Step of program blocking. Step b. The rotating block scrambles the address of the original data to generate a new address. Step c. Saving the original data at the new address. Step d. Flash memory 1 with new address
Step of writing to zero.

【0020】[読み取り順序]−データに対するデコー
ド動作 乱数生産器32(random number generator)を利用
して、一組のランダム順序を発生させ、フラッシュメモ
リー10内のデータは、この乱数順序により、読み取ら
れ、緩衝器34(SRAM)内に一時保存される。これ
ら読み取られたデータ中には、前述書き入れ順序中で書
き入れられたデータとダミー(dummy)データを含まれ
ている。このためデータ還原時、必ず先にダミーデータ
をフィルターして、必要な相関アドレスを捜し出す。解
読器33が、フィルターしたダミーのアドレスデータに
より、このブロックを再び逆転してオリジナルデータと
アドレスを獲得してMCU或いはDSPに提供して利用
する。フラッシュメモリー10は、MCU或いはDSP
の外掛にされ、乱数生産器32提供の乱数読み取り順序
により、必要なデータとダミーデータの理解できない順
序排列された組み合わせとなる。そのため読み取ったデ
ータ内容は解読することはとても難しい。
[Read Order] -Decoding Operation for Data A set of random orders is generated by using a random number generator 32, and the data in the flash memory 10 is read according to the random order. , Are temporarily stored in the buffer 34 (SRAM). These read data include data written in the above-described writing order and dummy data. Therefore, at the time of data return, the dummy data is always filtered first to search for a necessary correlation address. Based on the filtered dummy address data, the decoder 33 reverses this block again to acquire the original data and address, and provides the MCU and DSP with the original data and address for use. The flash memory 10 is an MCU or DSP
, And according to the random number reading order provided by the random number generator 32, the required data and the dummy data are arranged in an unrecognizable order. Therefore, it is very difficult to decode the read data contents.

【0021】読み取り動作は図7のステップ図にまとめ
ることができる。 ステップa.乱数生産器32を利用して一組の乱数読取
順序を発生させるステップ。 ステップb.ステップaの順序がフラッシュメモリー1
0から読み出して、緩衝器34に一時保存するステッ
プ。 ステップc.緩衝器34の一時保存値がダミーデータを
フィルターする。 ステップd.逆回転ブロックがオリジナルのアドレスと
データを獲得する。
The reading operation can be summarized in the step diagram of FIG. Step a. Generating a set of random number reading orders using the random number generator 32; Step b. The order of step a is the flash memory 1
Reading from 0 and temporarily storing the data in the shock absorber 34; Step c. The temporary storage value of the buffer 34 filters the dummy data. Step d. The reverse rotation block gets the original address and data.

【0022】そのほか、読み取り順序中で、メモリーデ
ータ秘密保持チップ30、が単一キイ35(key)を使
用して、各一個のシステムは、単一のアドレスマッピン
グ(mapping)順序を有する。これにより、アドレスデ
ータは、ダミーデータ及び、役にたつアドレスデータも
フィルターする。このキイ35は、メモリーデータ秘密
保持チップ30内或いはスマートカード(smart car
d)中に保存される。
In addition, each system has a single address mapping order, with the memory data security chip 30 using a single key 35 in the read order. Thus, the address data also filters dummy data and useful address data. The key 35 is provided in the memory data security chip 30 or in a smart card (smart car).
d) is stored during.

【0023】次に、第3の実施の形態について、説明す
る。
Next, a third embodiment will be described.

【0024】アドレスは、線性増加である。この簡易変
化中では、容易に必要なプログラムがあるアドレスを捜
し出すことができる、本実施の形態では、チップ40内
のオリジナルのランダム番号を真実のアドレスに対して
ランダム調整し、一組の新しいランダムアドレス保存デ
ータを発生させ、簡易な変化をつくる。
The address is a linearity increase. During this simple change, it is possible to easily find the address where the necessary program is located. In this embodiment, the original random number in the chip 40 is randomly adjusted to the true address, and a set of new random numbers is set. Generate address storage data and make simple changes.

【0025】図8に示すように、MCUに入れたプログ
ラムをバイト組(BYTE)により、チップ40を単位
にして読取り、チップ40内のレジスター41中に保存
し、このチップ40内にPROM42或いは比較的小さ
い容量のフラッシュメモリーを設ける。前述したよう
に、チップ40中に納入したフラッシュメモリー10
は、製造が困難であり、かつ費用が高いが、一個のPR
OM42を製作するのは非常に容易である。乱数生産器
43生産のランダム番号は、PROM42に入れて、並
びに変換表をつくり(図では省略)、オリジナルアドレ
スと回転後アドレスの対応関係を制御する。さらに、オ
リジナルアドレス内データをランダム番号により書き出
し、再びランダムアドレス回転に対してフラッシュメモ
リー10に書き入れ、アドレスの散開により、データの
直接読取を役に立たなくして、データの盗難、修正、変
更等を難しくして、フラッシュメモリー10を保護す
る。ここでは、乱数生産器43が、ランダム発生を行な
い、実際製作のチップ40が生産する変換表が、同じで
なく、フラッシュメモリー10内のオリジナルデータを
カバーするのに一つの方式に限定されない。
As shown in FIG. 8, the program stored in the MCU is read out in byte units (BYTE) for each chip 40 and stored in a register 41 in the chip 40. Provide flash memory with a very small capacity. As described above, the flash memory 10 delivered in the chip 40
Is difficult to manufacture and expensive, but one PR
It is very easy to make OM42. The random number produced by the random number generator 43 is entered in the PROM 42 and a conversion table is created (not shown) to control the correspondence between the original address and the post-rotation address. Furthermore, the data in the original address is written out with a random number, written again into the flash memory 10 for random address rotation, and the spread of addresses makes direct reading of data useless, making it difficult to steal, modify, change, etc. the data. Thus, the flash memory 10 is protected. Here, the random number generator 43 performs random generation, and the conversion table produced by the actually manufactured chip 40 is not the same, and is not limited to one method for covering the original data in the flash memory 10.

【0026】また、オリジナルアドレスは先に補数運算
を進めてランダム対応を進め、解読の困難性を高める。
In addition, for the original address, the complement operation is advanced first, and the random address is advanced, thereby increasing the difficulty of decoding.

【0027】以下、図9に示すように4ビットアドレス
で説明を行う。A3〜A0をオリジナルアドレス、m3
〜m0をランダム番号アドレスとする。図で示す矢印
は、両者のランダム対応関係を示す。
Hereinafter, the description will be made with reference to a 4-bit address as shown in FIG. A3 to A0 are original addresses, m3
Mm0 is a random number address. Arrows shown in the figure indicate a random correspondence between the two.

【0028】A3は0011、A2は0010、また、
A1は0001、さらに、A0は0000のデータであ
る。これをオリジナルアドレスに対して補数運算をし
て、m3=A2、m2=A0、また、m1=A3、さら
に、m0=A1とする。即ちm3は0110、m2は0
010、また、m1は0111、さらに、m0は001
1とされる。保存フラッシュメモリー10は、新アドレ
スを保存することにより、オリジナルアドレスは、読取
りが更に難しくなる。
A3 is 0011, A2 is 0010, and
A1 is data of 0001, and A0 is data of 0000. This is complemented with respect to the original address, so that m3 = A2, m2 = A0, m1 = A3, and m0 = A1. That is, m3 is 0110 and m2 is 0
010, m1 is 0111, and m0 is 001
It is set to 1. Since the storage flash memory 10 stores the new address, the original address becomes more difficult to read.

【0029】読み取る時、PROM42が、保存の転換
表でオリジナルデータに回復する。
When reading, the PROM 42 restores the original data with the stored conversion table.

【0030】また、コンピューター起動後、フラッシュ
メモリー10に対して、第一データから順番に読み取る
ことにより、解読の困難度が増加する。また、乱数生産
器43が、データを読取る期間を利用して、必要なデー
タ間にランダムに不必要なデータを挿入し、コンピュー
ターは、これら挿入したデータ読取りに対して、偽の読
取り状況を形成する。これにより、正確なアドレス順序
および正確なデータを入手することができない。
Also, after the computer is started, by reading the flash memory 10 sequentially from the first data, the degree of difficulty in decoding increases. In addition, the random number generator 43 inserts unnecessary data at random between necessary data using a period during which data is read, and the computer forms a false reading state for the inserted data reading. I do. As a result, an accurate address order and accurate data cannot be obtained.

【0031】[0031]

【発明の効果】上述したように、この発明は、アドレス
スクランブル(scrambling)と乱数(random)を利用し
て、ブロック化処理のデータ排列がアドレス変化に伴
い、新しい組合せを発生させ、還原方法によってもオリ
ジナルデータを得ることをできなくする。これにより、
現在あるエンコード/デコード保護システムが、フラッ
シュメモリーを保護できない欠点に対して、有効な解決
方法と対策を提供することができる。
As described above, the present invention makes use of address scrambling and random numbers to generate a new combination in accordance with a change in address in the data arrangement of the blocking process. Also make it impossible to obtain original data. This allows
Existing encoding / decoding protection systems can provide an effective solution and countermeasure against the drawback that the flash memory cannot be protected.

【図面の簡単な説明】[Brief description of the drawings]

【図1】従来のコンピューター構造図である。FIG. 1 is a structural diagram of a conventional computer.

【図2】従来のMCUとフラッシュメモリーを同一のI
Cに入れた構造図である。
FIG. 2 shows a conventional MCU and flash memory having the same I
It is the structural drawing put in C.

【図3】この発明のシステム構造図である。FIG. 3 is a system structural diagram of the present invention.

【図4】図3のメモリーデータ秘密保持チップの内部構
造図である。
FIG. 4 is an internal structural diagram of the memory data security chip of FIG. 3;

【図5】この発明のデータ回転前後のチャートである。FIG. 5 is a chart before and after data rotation according to the present invention.

【図6】この発明の書き入れ動作のステップ図である。FIG. 6 is a step diagram of a writing operation according to the present invention.

【図7】この発明の読み取り動作のステップ図である。FIG. 7 is a step diagram of a reading operation according to the present invention.

【図8】この発明の第3の実施の形態の構造図である。FIG. 8 is a structural diagram of a third embodiment of the present invention.

【図9】図8のデータ回転前後のチャートである。FIG. 9 is a chart before and after data rotation of FIG. 8;

【符号の説明】[Explanation of symbols]

10 フラッシュメモリー 20 IC 30 メモリーデータ秘密保持チップ 31 アドレススクランブル器 32 乱数生産器 33 解読器 34 緩衝器 35 キイ 40 チップ 41 レジスター(register) 42 PROM 43 乱数生産器 DESCRIPTION OF SYMBOLS 10 Flash memory 20 IC 30 Memory data security chip 31 Address scrambler 32 Random number generator 33 Decryptor 34 Buffer 35 Key 40 Chip 41 Register 42 PROM 43 Random number generator

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】フラッシュメモリー内に保存するデータの
保護方法において、フラッシュメモリーに保存したプロ
グラムにより、ブロック化を進め、上記ブロックを基礎
にして回転を行い、保存したアドレスをスクランブルし
て、オリジナルアドレス内のデータを回転後の新アドレ
ス内に再び書き入れ、 データを読取る時、乱数生産器により乱数の読取り順序
を発生させ、 上記読取ったデータに正確なデータとダミーデータを含
ませ、ダミーの読取りデータをフィルターして、アドレ
ス回転を回復還原してオリジナルデータとし、アドレス
のスクランブルによりデータを直接に読取っても役に立
たないデータにすることを特徴とする非揮発性保存装置
内容秘密保持方法。
In a method for protecting data stored in a flash memory, a program stored in a flash memory is used to advance a block, rotate based on the block, scramble a stored address, and obtain an original address. Write the data in the new address again in the new address after rotation, and when reading the data, generate a random number reading order by the random number generator, include the accurate data and dummy data in the read data, and read the dummy read data. A method of recovering the address rotation to restore the original data to the original data and making the data useless even if the data is directly read by scrambling the address.
【請求項2】前記書き入れ順序が、 a.プログラムブロック化のステップ、 b.回転ブロックがオリジナルデータのアドレスをスク
ランブルして新アドレスを発生させるステップ、 c.オリジナルデータを新アドレスに保存するステッ
プ、 d.新アドレスにより、フラッシュメモリーに書き入れ
るステップ、 を経ることを特徴とする請求項1記載の非揮発性保存装
置内容秘密保持方法。
2. The writing order includes: a. Step of program blocking, b. A rotating block scrambling the address of the original data to generate a new address; c. Storing the original data at the new address; d. 2. The method according to claim 1, further comprising the step of: writing in the flash memory with the new address.
【請求項3】前記ステップaが、8bit×8bitを1ブロ
ックにして、回転の基礎にすることを特徴とする請求項
2記載の非揮発性保存装置内容秘密保持方法。
3. The method according to claim 2, wherein said step (a) comprises 8 bits × 8 bits as one block, which is used as a basis for rotation.
【請求項4】前記読取り順序が、 a.乱数生産器を利用して一組の乱数読取順序を発生さ
せるステップ、 b.上記ステップaにより、データをフラッシュメモリ
ーから読み出して、緩衝器に一時保存するステップ、 c.緩衝器の一時保存値がダミーデータをフィルターす
るステップ、 d.逆回転ブロックがオリジナルのアドレスとデータを
獲得するステップ、 を経ることを特徴とする請求項1記載の非揮発性保存装
置内容秘密保持方法。
4. The method of claim 1, wherein the reading order comprises: a. Generating a set of random number reading orders using a random number generator; b. Reading the data from the flash memory and temporarily storing the data in the buffer according to the above step a; c. Buffering the temporary storage value to filter the dummy data; d. 2. The method of claim 1, wherein the reverse rotation block obtains the original address and data.
【請求項5】MCU或いはDSPとフラッシュメモリー
との間にメモリーデータ秘密保持チップを設けて、書き
入れ及び読取りフラッシュメモリーに対してデータの暗
号化を行う構造において、 アドレススクランブル器は、ブロック化のプログラムで
回転を行い、オリジナルのアドレスが、スクランブルし
て1組の新アドレスを提供し、オリジナルデータが、保
存され、新アドレスによりフラッシュメモリーへ書き入
れ、 乱数生産器は、1組のランダム順序を発生して、フラッ
シュメモリー内のデータを順番に読み出し、 解読器は、乱数順番読取りのアドレスデータをフィルタ
ーし、ダミーデータを出し、 逆転プログラムブロックが、オリジナルデータとアドレ
スを獲得してMCU(或いはDSP)に提供することを
特徴とする非揮発性保存装置内容秘密保持構造。
5. In a structure in which a memory data security chip is provided between an MCU or DSP and a flash memory to encrypt data in a write-in and read-out flash memory, an address scrambler comprises a block program. The original address is scrambled to provide a new set of addresses, the original data is stored and written to flash memory with the new address, and the random number generator generates a set of random orders. Then, the data in the flash memory is read in order, the decoder filters the address data of the random number reading, outputs dummy data, and the reverse program block obtains the original data and the address and sends it to the MCU (or DSP). Non-volatile storage characterized by providing Device content confidentiality structure.
【請求項6】前記メモリーデータ秘密保持チップが、単
一キイを有し、単一のアドレスマッピング順序をつく
り、ダミーデータをフィルターすることを特徴とする請
求項5記載の非揮発性保存装置内容秘密保持構造。
6. The nonvolatile storage device as claimed in claim 5, wherein said memory data security chip has a single key, creates a single address mapping order, and filters dummy data. Confidentiality structure.
【請求項7】メモリーデータ秘密保護チップが、PRO
M或いは比較的小さい空間のフラッシュメモリーに設け
られているフラッシュメモリー内に保存したデータの保
護方法において、 乱数生産器が、ランダム番号を生産し、かつPROMに
入れ、変換表をつくり、オリジナルアドレスと回転後の
アドレスの対応関係を制御し、上記オリジナルアドレス
内のデータは、上記ランダム番号により書き出され、再
びランダムアドレスに対してフラッシュメモリーを回転
書き入れることを特徴とする非揮発性保存装置内容秘密
保持方法。
7. The memory data secret protection chip comprises a PRO
In a method for protecting data stored in a flash memory provided in a flash memory of M or a relatively small space, a random number generator produces a random number, puts it into a PROM, creates a conversion table, and stores an original address and The non-volatile storage device is characterized in that the correspondence between the addresses after rotation is controlled, the data in the original address is written out by the random number, and the flash memory is written again by rotating the flash memory to the random address. Retention method.
【請求項8】前記ランダムアドレス調整前に、前記オリ
ジナルアドレスに対して補数運算を行うステップを含
む、ことを特徴とする請求項7記載の非揮発性保存装置
内容秘密保持方法。
8. The method according to claim 7, further comprising the step of performing a complement operation on the original address before adjusting the random address.
【請求項9】前記読み取り時に、乱数生産器を利用し
て、必要なデータ間にランダムに不必要なデータを挿入
し、コンピューターは、これら挿入したデータを読取
り、偽の読取り状況を形成しすることを特徴とする請求
項7記載の非揮発性保存装置内容秘密保持方法。
9. In the reading, unnecessary data is randomly inserted between required data by using a random number generator, and a computer reads the inserted data to form a false reading situation. 8. The method according to claim 7, wherein the content of the nonvolatile storage device is kept secret.
JP2000060049A 2000-03-06 2000-03-06 Nonvolatile preservation device content secrecy keeping method and nonvolatile preservation device content secrecy keeping structure Pending JP2001265658A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000060049A JP2001265658A (en) 2000-03-06 2000-03-06 Nonvolatile preservation device content secrecy keeping method and nonvolatile preservation device content secrecy keeping structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000060049A JP2001265658A (en) 2000-03-06 2000-03-06 Nonvolatile preservation device content secrecy keeping method and nonvolatile preservation device content secrecy keeping structure

Publications (1)

Publication Number Publication Date
JP2001265658A true JP2001265658A (en) 2001-09-28

Family

ID=18580420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000060049A Pending JP2001265658A (en) 2000-03-06 2000-03-06 Nonvolatile preservation device content secrecy keeping method and nonvolatile preservation device content secrecy keeping structure

Country Status (1)

Country Link
JP (1) JP2001265658A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792528B1 (en) * 2000-05-17 2004-09-14 Chien-Tzu Hou Method and apparatus for securing data contents of a non-volatile memory device
KR100623063B1 (en) * 2005-05-04 2006-09-13 인하대학교 산학협력단 Rfid tag and rfid system that having a forced collision function and method for protect a information of rfid tag
CN1293485C (en) * 2003-07-23 2007-01-03 凌阳科技股份有限公司 Processor unit and method for protecting data by data block confounding processing
US7682252B2 (en) 2003-11-19 2010-03-23 Creatures, Inc. Game data control program, game data overwriting program and game data overwriting device
US9042551B2 (en) 2012-06-04 2015-05-26 International Business Machines Corporation Electronically programmable fuse security encryption
CN107169348A (en) * 2017-05-15 2017-09-15 东信和平科技股份有限公司 The anti-wrong method for implanting and system of Java Card virtual machine stacks
CN110852620A (en) * 2019-11-12 2020-02-28 上海德启信息科技有限公司 Logistics order processing method and device, electronic equipment and storage medium

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792528B1 (en) * 2000-05-17 2004-09-14 Chien-Tzu Hou Method and apparatus for securing data contents of a non-volatile memory device
CN1293485C (en) * 2003-07-23 2007-01-03 凌阳科技股份有限公司 Processor unit and method for protecting data by data block confounding processing
US7682252B2 (en) 2003-11-19 2010-03-23 Creatures, Inc. Game data control program, game data overwriting program and game data overwriting device
KR100623063B1 (en) * 2005-05-04 2006-09-13 인하대학교 산학협력단 Rfid tag and rfid system that having a forced collision function and method for protect a information of rfid tag
US9042551B2 (en) 2012-06-04 2015-05-26 International Business Machines Corporation Electronically programmable fuse security encryption
CN107169348A (en) * 2017-05-15 2017-09-15 东信和平科技股份有限公司 The anti-wrong method for implanting and system of Java Card virtual machine stacks
CN107169348B (en) * 2017-05-15 2020-07-28 东信和平科技股份有限公司 Method and system for preventing error injection of Java Card virtual machine stack
CN110852620A (en) * 2019-11-12 2020-02-28 上海德启信息科技有限公司 Logistics order processing method and device, electronic equipment and storage medium
CN110852620B (en) * 2019-11-12 2024-03-05 上海德启信息科技有限公司 Logistics order processing method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
US6792528B1 (en) Method and apparatus for securing data contents of a non-volatile memory device
JP7225220B2 (en) Storage data encryption/decryption device and method
KR101577886B1 (en) Method and apparatus for memory encryption with integrity check and protection against replay attacks
US8799679B2 (en) Message authentication code pre-computation with applications to secure memory
US9397834B2 (en) Scrambling an address and encrypting write data for storing in a storage device
US8032761B2 (en) Method and system for memory attack protection to achieve a secure interface
US20190384938A1 (en) Storage apparatus and method for address scrambling
US8539250B2 (en) Secure, two-stage storage system
CN101268650A (en) Methods and apparatus for the secure handling of data in a microcontroller
TW200947202A (en) System and method for providing secure access to system memory
US20110314301A1 (en) Systems and methods for hardware key encryption
US7752407B1 (en) Security RAM block
EP2990953B1 (en) Periodic memory refresh in a secure computing system
CN1279458C (en) Data encrypting/de-encrypling method and its device
CN103246852A (en) Enciphered data access method and device
JP2001265658A (en) Nonvolatile preservation device content secrecy keeping method and nonvolatile preservation device content secrecy keeping structure
US20130198528A1 (en) Modifying a Length of an Element to Form an Encryption Key
US7707431B2 (en) Device of applying protection bit codes to encrypt a program for protection
CN1131476C (en) Content secrete method and layout of non-volatile storage
TW515948B (en) Content securing method of non-volatile storage device and architecture thereof
CN111600873B (en) Method for preventing side channel attack and related device
JPH06195268A (en) Ic memory card and method/device for protecting data
JPH0728406A (en) Scrambling method
CN115618372A (en) Method and device for protecting data in chip and chip
JP2002024091A (en) Storage device and its control method

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030520