KR20030002448A - Memory device having circuit for scrambling data - Google Patents
Memory device having circuit for scrambling data Download PDFInfo
- Publication number
- KR20030002448A KR20030002448A KR1020010038047A KR20010038047A KR20030002448A KR 20030002448 A KR20030002448 A KR 20030002448A KR 1020010038047 A KR1020010038047 A KR 1020010038047A KR 20010038047 A KR20010038047 A KR 20010038047A KR 20030002448 A KR20030002448 A KR 20030002448A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- key
- encryption
- signal
- memory device
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
Abstract
Description
본 발명은 메모리 장치에 관한 것으로, 보다 상세하게는 메모리 장치 내부에데이터를 보호하기 위한 데이터를 암호화하는 기능의 회로를 포함하는 암호화 회로를 포함하는 메모리 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory device, and more particularly, to a memory device including an encryption circuit including a circuit having a function of encrypting data for protecting data in a memory device.
최근 IT(information technology) 기술의 발전과 더불어 하나의 프로세서 내에서 수행되는 프로세스 별로 각자의 데이터를 암호화하여 보호하는 수단들이 발명되고 있다.Recently, with the development of information technology (IT) technology, a means for encrypting and protecting respective data for each process performed in one processor has been invented.
예를 들면, 스마트 카드(smart card)에서는 카드 내부에 저장된 중요한 데이터나 프로그램의 루틴(routine)들이 외부에 누출되지 않도록 암호화하는 암호화 수단이 내장되어 있다.For example, a smart card has a built-in encryption means for encrypting important data or programs stored in the card so that routines of the program do not leak to the outside.
데이터를 보호하기 위한 종래의 방법으로서 시스템 수준에서는 OS(operating system)에서 각각의 프로세스가 다른 프로세스의 데이터를 수정하는 것을 막는 기능을 가지고 있다.As a conventional method for protecting data, at the system level, the operating system (OS) has a function of preventing each process from modifying data of another process.
한편, 마이크로 프로세서는 OS 수준의 수행을 돕기 위해 세그먼트(segment) 또는 페이지(page) 단위로 데이터를 보호하는 기능을 포함하고 있다.On the other hand, the microprocessor includes a function of protecting data in segments or pages to assist with OS level performance.
그러나, 이러한 방법은 메모리 장치의 성능을 저하시키고, 디코딩 방법인 어드레스 스크램블 알고리즘이 누출되었을 경우 암호화 자체가 무의미해지는 문제점이 있다.However, this method has a problem in that the performance of the memory device is degraded and the encryption itself is meaningless when the address scramble algorithm, which is a decoding method, is leaked.
이와 같은 문제점을 해결하기 위한 본 발명의 목적은, 메모리 장치의 성능을 저하시키지 않고, 암호화 알고리즘이 알려지더라도 데이터를 보호할 수 있는 것이다.An object of the present invention for solving such a problem is to protect data even if an encryption algorithm is known, without degrading the performance of the memory device.
도 1은 본 발명에 따른 암호화 회로를 포함하는 메모리 장치의 중요부분을 나타낸 블록도.1 is a block diagram showing an important part of a memory device including an encryption circuit according to the present invention.
도 2는 도 1의 블록도에서 칼럼 제어부의 상세 블록을 나타낸 블록도.FIG. 2 is a block diagram illustrating a detailed block of a column controller in the block diagram of FIG. 1. FIG.
도 3은 도 1의 볼록도에서 1 바이트(byte)의 데이터를 2 바이트에 스크램블 하는 방법의 일예를 보인 개념도.FIG. 3 is a conceptual diagram illustrating an example of a method of scrambled 1 byte of data into 2 bytes in the convex diagram of FIG. 1. FIG.
< 도면의 주요부분에 대한 부호의 설명 ><Description of Symbols for Major Parts of Drawings>
1 : 메모리부2 : 어드레스 버퍼1: Memory 2: Address Buffer
3 : 로우 디코더4 : 워드라인 구동부3: row decoder 4: word line driver
5 : 칼럼 제어부6 : 센스앰프5: column control unit 6: sense amplifier
7 : 키 래치 8 : 칼럼 디코더7: key latch 8: column decoder
9 : 해시 테이블(hash table)10 : 암호화 제어부9: hash table 10: encryption control unit
상기 목적을 달성하기 위한 본 발명의 암호화 회로를 포함하는 메모리 장치는, 데이터를 저장하는 메모리 장치에 있어서, 로드 신호에 따라 키 신호를 저장하는 키 저장 수단; 키 신호에 의해 수행되는 복수개의 암호화 방법을 저장하는 테이블 저장수단; 및 비트 라인과 데이터 버스를 선택적으로 연결하고, 상기 키 저장 수단에 저장된 키 신호에 해당하는 암호화 방법을 테이블 저장 수단으로부터 입력받아 입력된 데이터를 암호화하거나 암호화된 데이터의 암호화를 풀어 상기 데이터 버스로 전송하는 암호화 제어수단을 포함하여 구성된 것을 특징으로 한다.A memory device including the encryption circuit of the present invention for achieving the above object comprises: a memory device for storing data, comprising: key storage means for storing a key signal in accordance with a load signal; Table storage means for storing a plurality of encryption methods performed by a key signal; And selectively connecting a bit line and a data bus, receiving an encryption method corresponding to a key signal stored in the key storage means from a table storage means, encrypting the input data, or decrypting the encrypted data and transmitting the encrypted data to the data bus. Characterized in that it comprises a cryptographic control means.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부도면과 관련한 다음의 상세한 설명을 통해 보다 분명해 질 것이다.The above and other objects and features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 암호화 회로를 포함하는 메모리 장치의 중요부분을 나타낸 블록도이다.1 is a block diagram showing an important part of a memory device including an encryption circuit according to the present invention.
메모리 장치는, 데이터(DATA)를 저장하는 메모리 부(1)와, 외부로부터 입력된 어드레스(ADD)를 버퍼링하는 어드레스 버퍼(2)와, 로우 어드레스(RADD)를 디코딩하는 로우 디코더(3)와, 로우 디코더(3)에 의해 디코딩된 신호에 따라 워드라인을 구동하는 워드라인 구동부(4)와, 칼럼 어드레스(CADD)에 따라 외부로부터 데이터(DATA)를 입력받거나 외부로 데이터(DATA)를 출력하는 칼럼 제어부(5)와, 메모리부(1)에 저장된 데이터(DATA)를 센싱 및 증폭하는 센스앰프(6)와, 키 로드신호(KL)에 따라 인에이블 되어 외부로부터 입력된 데이터(DATA)에 따라 키(key) 신호(K)를 저장하는 키 래치(7)를 포함하여 구성된다.The memory device includes a memory unit 1 for storing data DATA, an address buffer 2 for buffering an address ADD input from the outside, a row decoder 3 for decoding a row address RADD, In response to the signal decoded by the row decoder 3, the word line driver 4 driving the word line and the data DATA are externally input or output data DATA according to the column address CADD. The column control unit 5 to be sensed, the sense amplifier 6 for sensing and amplifying the data DATA stored in the memory unit 1, and the data DATA which are enabled according to the key load signal KL and input from the outside. And a key latch 7 for storing a key signal K.
도 2는 본 발명에 따른 메모리 장치의 칼럼 제어부(5)의 상세 블록을 나타낸 블록도이다.2 is a block diagram showing a detailed block of the column control unit 5 of the memory device according to the present invention.
칼럼 제어부(5)는, 어드레스 버퍼(2)로부터 입력된 칼럼 어드레스(CADD)를 디코딩하는 칼럼 디코더(8)와, 키 래치(7)의 키 신호(K)에 의해 선택할 수 있는 암호화 방법을 저장하는 해시 테이블(hash table)(9)과, 칼럼 디코더(8)의 디코딩된 신호에 따라 비트 라인(BL)을 선택하고, 데이터(DATA)의 입출력을 제어하며, 키 래치(7)의 키 신호(K)에 해당하는 해시 테이블(9)의 방법에 따라 데이터 암호화를 수행하는 암호화 제어부(10)를 포함하여 구성된다.The column control unit 5 stores a column decoder 8 for decoding the column address CADD input from the address buffer 2 and an encryption method selectable by the key signal K of the key latch 7. The bit line BL is selected according to the hash table 9 and the decoded signal of the column decoder 8, the input / output of the data DATA is controlled, and the key signal of the key latch 7 is selected. And an encryption control unit 10 which performs data encryption according to the method of the hash table 9 corresponding to (K).
본 발명의 암호화 원리는, 프로세서 내부에 구현된 온-칩(on-chip) 메모리에서 저장된 프로그램을 보호하기 위해 메모리 장치의 어드레스 디코더(여기서는 칼럼 제어부(5))를 수정해서 불규칙한 형태로 메모리의 번지가 할당되도록 하는 어드레스 스크램블(address scrambling) 방법이다.The encryption principle of the present invention is to modify the address decoder (here, the column control section 5) of the memory device in order to protect the program stored in the on-chip memory implemented inside the processor, so that the address of the memory is irregular. Is an address scrambling method in which is allocated.
즉, 메모리 장치에서 데이터(DATA)를 읽을 때, 센스 앰프로 출력되는 비트들의 수는 메모리 워드의 비트 수보다 훨씬 크기 때문에, 하나의 워드를 여러 개의 워드에 흩어 놓음으로써 암호를 알지 못하는 경우 정확한 데이터(DATA)를 읽을 수 없게 하는 것이다.That is, when reading data from the memory device, the number of bits output to the sense amplifier is much larger than the number of bits of the memory word, so that the correct data when the password is not known by scattering one word into several words (DATA) is not readable.
도 3은 1 바이트(byte)의 데이터(DATA)를 2 바이트의 워드에 흩어놓는 방법의 일예를 보인 개념도이다.3 is a conceptual diagram illustrating an example of a method of distributing 1 byte of data DATA into 2 bytes of words.
도시된 바와 같이, 각 비트들이 흩어져 들어가는 위치와 순서는 모두 바뀐다. 도 3에서 스크램블된 데이터(scrambled DATA)에서 남아있는 1 바이트의 공간은 칼럼 어드레스에 의해 선택되는 다음 데이터(DATA)가 저장된다. 여기서, 남아있는 공간에 데이터(DATA)를 저장하는 방법은 여러 가지가 있다.As shown, the positions and order in which each bit is scattered are changed. The space of one byte remaining in the scrambled data in FIG. 3 stores the next data DATA selected by the column address. Here, there are several ways to store the data DATA in the remaining space.
이러한 방법에서의 보안 수준은 하나의 워드가 몇 개의 워드에 스크램블 되느냐에 따라 지수적으로 증가한다.The security level in this way increases exponentially with how many words one word is scrambled.
메모리 장치에서 하나의 워드라인이 선택되었을 때, 센스 앰프를 통해 출력되는 비트들의 수는 8 워드 이상이다.When a word line is selected in the memory device, the number of bits output through the sense amplifier is 8 words or more.
이러한 비트 스크램블 방법 중에서 한가지만 누출되면, 회로의 구조가 누출될 경우 쉽게 해독할 수 있다. 회로의 누출에 관계없이 일정 수준의 보안 능력을 확보하기 위해 보안 키(secret key)를 사용하여 스크램블을 수행하는 방법을 사용한다.If only one of these bit scramble methods leaks, the circuit's structure can easily be decoded if it leaks. To secure a certain level of security regardless of circuit leakage, a method of scrambling using a secret key is used.
예를 들어, 키 신호(K)가 8 비트의 길이를 갖는다면, 최대 256 가지의 다른 스크램블 방식을 선택할 수 있다.For example, if the key signal K is 8 bits long, up to 256 different scramble methods can be selected.
여기서, 같은 워드라인에 의해 선택되는 워드들은 동일한 키 신호(K)를 이용하여 암호화된다.Here, words selected by the same word line are encrypted using the same key signal (K).
이러한 키 신호(K) 신호를 사용하는 방법을 구현하기 위한 회로는 복잡하고, 회로가 차지하는 면적이 증가되므로, 간단한 회로를 통해 구현할 수 있는 스크램블 방식을 채택하여 키 신호(K)의 특성을 이용하여 채택된 스크램블 방식 중에서 선택하는 방법을 사용한다.Since the circuit for implementing the method of using the key signal K signal is complicated and the area occupied by the circuit is increased, it adopts a scramble method that can be implemented through a simple circuit to use the characteristics of the key signal K. The method of selecting from the adopted scramble method is used.
따라서, 채택된 스크램블 방식은 해시 테이블(9)에 저장시키고 키 신호(K)에 따라 저장된 스크램블 방식을 사용하는 것이다.Thus, the adopted scramble scheme is to use the scramble scheme stored in the hash table 9 and stored according to the key signal K.
예를 들어, 키 신호(K)의 비트들 중에서 소수의 비트들만을 선택에 이용하는 방법과, 키 신호(K)의 패리티(parity)를 이용하여 두 가지 중에서 하나를 선택하는 방법 등을 사용할 수 있다.For example, a method of using only a few bits among the bits of the key signal K and a method of selecting one of two types using parity of the key signal K may be used. .
여기서, 이를 구현하기 위한 회로의 단순화하면서 키 신호(K)의 모든 방법을 사용하지 못하게 되는 문제점을 보완하기 위해 입출력 데이터(DATA)를 키 신호(K)의 비트 패턴에 따라 선택적으로 반전시켜 저장한다.In this case, the input / output data DATA is selectively inverted and stored according to the bit pattern of the key signal K in order to compensate for the problem of not using all the methods of the key signal K while simplifying a circuit for implementing the same. .
이러한 방법의 일예로서, 데이터(DATA)와 키 신호(K)를 각 비트 별로 배타적 논리 합(XOR)하는 방법이 있다.As an example of such a method, there is a method of exclusive-OR sum XOR of data DATA and key signal K for each bit.
메모리 장치를 사용하는 각 프로세스는 먼저 보호하고자 하는 데이터(DATA)의 영역에 사용할 키 신호(K)를 선택한 후 메모리 장치의 데이터(DATA) 입력에 키 신호(K)의 값을 제공하고, 키 로드 신호(KL)를 인가한다.Each process using the memory device first selects a key signal K to be used for the area of the data DATA to be protected, then provides a value of the key signal K to the data input of the memory device, and then loads a key. Apply the signal KL.
키 로드 신호(KL)가 인에이블 되면, 키 신호(K)가 키 래치(5)에 저장된 후에, 일반적인 메모리 장치를 이용하는 방법과 동일한 방법에 의해 데이터(DATA)를 읽고 쓰게 된다. 여기서, 다음에 다시 데이터(DATA)를 읽고 쓰기 위해 사용된 키 신호(K)는 따로 저장해 둔다.When the key load signal KL is enabled, after the key signal K is stored in the key latch 5, the data DATA is read and written by the same method as that of a general memory device. Here, the key signal K used for reading and writing data DATA is stored separately.
이와 같은 초기 상태에서의 라이트 동작을 살펴보면 다음과 같다.Looking at the light operation in the initial state as follows.
먼저, 데이터 버스(DB)에 실린 입력된 데이터(DATA)는 키 신호(K) 값에 따라 선택적으로 반전(XOR를 사용)된다.First, the input data DATA carried on the data bus DB is selectively inverted (using XOR) in accordance with the key signal K value.
암호화 제어부(10)는 미리 지정되어 있는 키 신호(K)로부터 해시 테이블(9)에 저장되어 있는 여러 가지 스크램블 방법 중에서 하나가 선택되어 있다.The encryption control unit 10 selects one of various scramble methods stored in the hash table 9 from a predetermined key signal K. FIG.
이때, 칼럼 어드레스(CADD)에 의해 지정된 어드레스에 해당하는 비트들만이 인에이블 되어 센스앰프(6)를 통해 전송되고, 로우 어드레스(RADD)에 의해 선택된 워드라인에 연결된 셀에 데이터(DATA)가 쓰여지게 된다.At this time, only bits corresponding to the address designated by the column address CADD are enabled and transmitted through the sense amplifier 6, and data DATA is written to the cell connected to the word line selected by the row address RADD. You lose.
메모리 장치를 제어하는 다른 제어신호와 어드레스 신호에 의한 동작은 일반적인 메모리 장치의 동작과 동일하다.Operation by other control signals and address signals for controlling the memory device is the same as that of a general memory device.
한편, 리드 동작을 살펴보면 다음과 같다.Meanwhile, the read operation is as follows.
먼저, 로우 어드레스(RADD)에 의해 선택된 워드라인에 연결된 셀에 저장된 데이터(DATA)는 비트 라인(BL)에 실려 센스앰프(6)에 의해 증폭되어 암호화 제어부(10)로 전송된다.First, data DATA stored in a cell connected to a word line selected by the row address RADD is loaded on the bit line BL, amplified by the sense amplifier 6, and transmitted to the encryption controller 10.
이때, 읽고자하는 어드레스에 해당하는 데이터(DATA) 워드는 비트 스크램블 되어 저장되었으므로, 라이트할 때와는 반대의 과정을 통해 각 워드들이 원래대로 배열된다.In this case, since the data DATA corresponding to the address to be read is bit scrambled and stored, the words are arranged in the original manner through the reverse process of writing.
여기서, 리드 동작 때의 키 신호(K)는 라이트 동작 때의 키 신호(K)와 동일한 값을 가진다.Here, the key signal K in the read operation has the same value as the key signal K in the write operation.
이어서, 칼럼 어드레스(CADD)에 따라 데이터(DATA)를 키 신호(K) 값과 배타적 논리 합(XOR)되어 데이터 버스(DB)에 전송한다.Subsequently, the data DATA is exclusively logical sum XORed with the key signal K value according to the column address CADD and transferred to the data bus DB.
이상에서 살펴본 바와 같이, 본 발명에 따른 메모리 장치는 리드 또는 라이트 동작 시에 지연 없이 복잡한 암호화를 수행할 수 있는 효과가 있다.As described above, the memory device according to the present invention has an effect of performing complex encryption without delay in a read or write operation.
아울러 본 발명의 바람직한 실시예는 예시의 목적을 위한 것으로, 당업자라면 첨부된 특허청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.In addition, a preferred embodiment of the present invention is for the purpose of illustration, those skilled in the art will be able to various modifications, changes, substitutions and additions through the spirit and scope of the appended claims, such modifications and changes are the following claims It should be seen as belonging to a range.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0038047A KR100398620B1 (en) | 2001-06-29 | 2001-06-29 | Memory device having circuit for scrambling data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2001-0038047A KR100398620B1 (en) | 2001-06-29 | 2001-06-29 | Memory device having circuit for scrambling data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030002448A true KR20030002448A (en) | 2003-01-09 |
KR100398620B1 KR100398620B1 (en) | 2003-09-19 |
Family
ID=27712176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0038047A KR100398620B1 (en) | 2001-06-29 | 2001-06-29 | Memory device having circuit for scrambling data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100398620B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012047200A1 (en) * | 2010-10-05 | 2012-04-12 | Hewlett-Packard Development Company, L. P. | Scrambling an address and encrypting write data for storing in a storage device |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100253310B1 (en) * | 1997-08-26 | 2000-05-01 | 김영환 | Program data protection circuit for semiconductor memory |
KR100253328B1 (en) * | 1997-09-30 | 2000-05-01 | 김영환 | Data protect circuit for memory |
KR200312371Y1 (en) * | 1998-10-29 | 2003-07-16 | 주식회사 하이닉스반도체 | Program protection device of nonvolatile memory |
JP2000181802A (en) * | 1998-12-11 | 2000-06-30 | Matsushita Electric Ind Co Ltd | Semiconductor storage device |
-
2001
- 2001-06-29 KR KR10-2001-0038047A patent/KR100398620B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012047200A1 (en) * | 2010-10-05 | 2012-04-12 | Hewlett-Packard Development Company, L. P. | Scrambling an address and encrypting write data for storing in a storage device |
US9397834B2 (en) | 2010-10-05 | 2016-07-19 | Hewlett-Packard Development Company, L.P. | Scrambling an address and encrypting write data for storing in a storage device |
Also Published As
Publication number | Publication date |
---|---|
KR100398620B1 (en) | 2003-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100445406B1 (en) | Apparatus for encrypting the data and method therefor | |
US9058297B2 (en) | Device with privileged memory and applications thereof | |
US7451288B2 (en) | Word-individual key generation | |
US7876894B2 (en) | Method and system to provide security implementation for storage devices | |
US20170046281A1 (en) | Address dependent data encryption | |
US7774622B2 (en) | CRPTO envelope around a CPU with DRAM for image protection | |
WO2019109967A1 (en) | Storage apparatus and method for address scrambling | |
US11416417B2 (en) | Method and apparatus to generate zero content over garbage data when encryption parameters are changed | |
US11663145B2 (en) | Off-chip memory address scrambling apparatus and method for system on chip | |
KR101496975B1 (en) | Solid-state-disk and input/output method thereof | |
KR960004734B1 (en) | Information protection method and information memory media | |
KR100398620B1 (en) | Memory device having circuit for scrambling data | |
CN103154967A (en) | Modifying a length of an element to form an encryption key | |
JP5560463B2 (en) | Semiconductor device | |
US11403235B2 (en) | Memory and memory system | |
CN114237492A (en) | Nonvolatile memory protection method and device | |
JP2000181802A (en) | Semiconductor storage device | |
EP0403456A2 (en) | Encryption circuit | |
CN113536331A (en) | Data security for memory and computing systems | |
KR20200129595A (en) | Memory module, oprtation method of memory module, memory system and operation method of memory system | |
CN110659226A (en) | Method for accessing data and related circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |