KR100258861B1 - 비휘발성메모리의읽기방지회로 - Google Patents

비휘발성메모리의읽기방지회로 Download PDF

Info

Publication number
KR100258861B1
KR100258861B1 KR1019970036123A KR19970036123A KR100258861B1 KR 100258861 B1 KR100258861 B1 KR 100258861B1 KR 1019970036123 A KR1019970036123 A KR 1019970036123A KR 19970036123 A KR19970036123 A KR 19970036123A KR 100258861 B1 KR100258861 B1 KR 100258861B1
Authority
KR
South Korea
Prior art keywords
address
data
address signal
unit
memory cell
Prior art date
Application number
KR1019970036123A
Other languages
English (en)
Other versions
KR19990012647A (ko
Inventor
장영배
Original Assignee
김영환
현대반도체주식회사
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 김영환, 현대반도체주식회사 filed Critical 김영환
Priority to KR1019970036123A priority Critical patent/KR100258861B1/ko
Publication of KR19990012647A publication Critical patent/KR19990012647A/ko
Application granted granted Critical
Publication of KR100258861B1 publication Critical patent/KR100258861B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 비휘발성 메모리의 읽기 방지회로에 관한 것으로, 종래의 비휘발성 메모리의 읽기 방지회로는 특정 프로그램을 갖는 암호부의 데이터와 비휘발성 메모리셀부의 데이터를 배타적노아조합하여 비휘발성 메모리의 프로그램 내용을 다른 사람이 불법적으로 사용하는 것을 방지하였으나, 비휘발성 메모리셀의 프로그램되지 않은 셀의 수가 암호부의 셀 수보다 많은 경우에는 메모리셀의 프로그램되지 않은 셀의 데이터 즉 '1'과 암호부의 데이터를 배타적노아조합한 값은 암호부의 데이터와 같게 되어 다른 사람에게 암호부의 데이터가 쉽게 노출되어 비휘발성 메모리에 저장된 프로그램이 불법적으로 유출되는 문제점이 있었다. 이와 같은 문제점을 감안한 본 발명은 프로그램에 따른 데이터를 출력하는 암호가중비트 발생수단과; 상기 암호가중비트 발생수단의 데이터를 인가 받아 저장하는 저장수단과; 상기 저장수단에 저장된 데이터와 외부의 어드레스신호를 조합하여 암호화된 어드레스신호를 출력하는 어드레스 암호화수단으로 구성하여 어드레스신호를 소정의 데이터와 배타적노아조합하여 암호화하고, 그 암호화된 어드레스에 해당하는 메모리셀의 데이터를 출력함으로써, 외부에서는 그 암호화과정을 알 수 없어 불법적인 프로그램 유출을 방지하는 효과가 있다.

Description

비휘발성 메모리의 읽기 방지회로{READ PREVENTION CIRCUIT FOR ROM}
본 발명은 비휘발성 메모리의 읽기 방지회로에 관한 것으로, 특히 암호 가중 비트(scramble weight bit)에 따라 인가되는 어드레스신호와 실제 메모리셀의 어드레스를 다르게 변형하여 비휘발성 메모리의 프로그램을 타인이 읽을 수 없도록 하는데 적당하도록 한 비휘발성 메모리의 읽기 방지회로에 관한 것이다.
일반적으로, 비휘발성 메모리는 제조회사 고유의 프로그램을 저장하여 특정한 제어를 목적으로 사용되며, 이러한 프로그램의 불법적인 유출을 막기 위해 암호를 사용하여 암호를 알지 못하면 정확한 프로그램을 사용할 수 없도록 하였으며, 종래에는 이와 같은 암호화의 수단으로 프로그램 되면 고전위 또는 저전위로 출력이 묶이게 되어 메모리셀을 제어하는 제어수단을 디스에이블 시키는 고정비트블록과, 메모리셀의 데이터와 특정조합을 통해 다른 데이터를 만들어 출력하는 인크립션 블록(encription block)을 사용하였으며, 이와 같은 종래 비휘발성 메모리의 읽기 방지회로를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도1은 종래 마이크로 콘트롤러(microcontroller)의 블록도로서, 이에 도시한 바와 같이 외부의 어드레스신호(ADD)를 인가 받는 어드레스포트(1)와; 상기 어드레스포트(1)에 접속된 어드레스버스(2)를 통해 어드레스신호(ADD)를 인가 받아 읽기/쓰기 동작을 제어하는 중앙처리장치(CPU)와; 프로그램 되면 저전위 또는 고전위신호를 고정하여 출력하는 인에이블 제어부(4)와; 상기 인에이블 제어부(4)의 제어에 따라 인에이블 되어 상기 중앙처리장치(CPU)의 제어에 따라 X디코더(XDCDR)와 Y디코더(YDCDR)를 제어하여 상기 어드레스버스(2)를 통해 인가되는 어드레스신호(ADD)에 해당하는 비휘발성 메모리셀부(5)에 구비된 메모리셀을 선택하며, 출력제어신호 및 읽기 방지제어신호를 출력하는 메모리 제어부(3)와; 상기 메모리 제어부(3)의 읽기 방지신호를 입력받아 상기 선택된 비휘발성 메모리셀부(5)의 메모리셀의 출력데이터와 그 내부에 기 프로그램된 데이터를 배타적노아조합하여 출력하는 암호부(6)와; 상기 암호부(6)와 비휘발성 메모리셀부(5)의 출력데이터를 배타적노아조합한 출력데이터를 증폭하여 데이터버스(8)에 인가하는 센스엠프(7)와; 상기 메모리 제어부(3)의 출력제어신호에 따라 상기 데이터버스(8)에 인가된 출력데이터를 외부로 출력하는 입출력포트(9)로 구성된다.
상기 암호부(6)는 상기 메모리셀부(5)의 어드레스 비트의 수가 Y개라하고, m 비트의 데이터버스의 수를 갖는다고 하면 2Y×m개의 메모리셀을 포함하여 구성된다.
이하, 상기와 같이 구성된 종래 마이크로 콘트롤러의 동작을 암호부의 동작에 중점을 두어 상세히 설명한다.
먼저, 암호부(6)와 인에이블 제어부(4)가 프로그램되지 않은 상태에서 어드레스포트(1)를 통해 외부의 어드레스신호(ADD)가 인가되면 이를 입력받은 중앙처리장치(CPU)는 읽기제어신호를 메모리 제어부(3)로 출력한다. 이때 인에이블 제어부(4)가 프로그램되지 않은 상태이므로, 메모리 제어부(3)는 인에이블 되어 상기 어드레스신호(ADD)를 어드레스버스(2)를 통해 각각 인가 받은 X디코더(XDCDR)와 Y디코더(YDCDR)를 제어하여 비휘발성 메모리셀부(5)에 구비된 특정 메모리셀을 선택하게 된다. 이와 같이 비휘발성 메모리셀부(5)의 특정 메모리셀이 선택되면, 그 선택된 메모리셀의 비트라인을 공유하는 암호부(6)의 메모리셀의 데이터와 상기 선택된 메모리셀의 데이터가 배타적노아조합되어 출력된다. 그러나, 현재 암호부(6)의 메모리셀들은 프로그램되지 않은 상태이므로 언제나 '1'의 값을 출력한다. 이에 따라 배타적노아조합의 결과는 메모리셀부(6)의 선택된 메모리셀들의 데이터 값과 동일하게 된다. 이와 같이 상기 암호부(6)가 프로그램되지 않은 상태에서는 어드레스신호(ADD)에 해당하는 메모리셀의 데이터가 센스엠프(7)에서 증폭되고, 데이터버스(8) 및 입출력포트(9)를 통해 외부로 출력된다.
그 다음, 상기 암호부(6)를 프로그램하고, 상기 인에이블 제어부(4)를 프로그램하지 않은 경우에는 암호부(6)와 인에이블 제어부(4)가 프로그램되지 않은 경우와 동일하게 비휘발성 메모리셀부(5)의 특정 메모리셀들이 선택되고, 그 선택된 비휘발성 메모리셀부(5)의 데이터는 상기 프로그램된 암호부(6)의 데이터와 배타적노아조합하여 출력된다. 이는 도2에 도시한 바와 같이 상기 특정 메모리셀의 데이터와 암호부(6)의 데이터가 동일한 경우 '1'이 되고, 동일하지 않은 경우 '0'으로 출력되며, 이는 센스엠프(7)에서 증폭되고, 데이터버스(8) 및 입출력포트(9)를 통해 외부로 출력된다.
이와 같이 출력되는 데이터는 실제 비휘발성 메모리셀부(5)의 데이터가 아니며 상기 암호부(6)의 프로그램을 모르는 경우에는 원하는 데이터 값을 얻을 수 없다. 상기 암호부(6)에 프로그램된 값을 아는 실제 사용자는 도2에 도시한 바와 같이 상기 출력데이터와 암호부(6)에 프로그램된 데이터를 다시 배타적노아조합함으로써, 원하는 실제 데이터를 얻을 수 있게 된다.
그 다음, 상기 인에이블 제어부(4)가 프로그램된 경우에는 상기 메모리 제어부(3)를 디스에이블 시켜 누구도 비휘발성 메모리셀부(5)의 프로그램 내용을 읽을 수 없도록 한다.
상기한 바와 같이 종래의 비휘발성 메모리의 읽기 방지회로는 특정 프로그램을 갖는 암호부의 데이터와 비휘발성 메모리셀부의 데이터를 배타적노아조합하여 비휘발성 메모리의 프로그램 내용을 다른 사람이 불법적으로 사용하는 것을 방지하였으나, 비휘발성 메모리셀의 프로그램되지 않은 셀의 수가 암호부의 셀 수보다 많은 경우에는 메모리셀의 프로그램되지 않은 셀의 데이터 즉 '1'과 암호부의 데이터를 배타적노아조합한 값은 암호부의 데이터와 같게 되어 다른 사람에게 암호부의 데이터가 쉽게 노출되어 비휘발성 메모리에 저장된 프로그램이 불법적으로 유출되는 문제점이 있었다.
이와 같은 문제점을 감안한 본 발명은 암호를 노출시키는 것을 방지하여 프로그램의 불법적인 유출을 방지할 수 있는 비휘발성 메모리의 읽기 방지회로의 제공에 그 목적이 있다.
도1은 종래 마이크로 콘트롤러의 블록도.
도2는 도1에 있어서, 암호화과정의 설명도.
도3은 본 발명에 의한 마이크로 콘트롤러의 블록도.
***도면의 주요 부분에 대한 부호의 설명***
1:어드레스포트 2:어드레스버스
3:메모리 제어부 4:인에이블 제어부
5:비휘발성 메모리셀부 7:센스엠프
8:데이터버스 9:입출력포트
10:레지스터부 11:어드레스 암호화부
12:암호가중비트 발생부
상기와 같은 목적은 프로그램에 따른 데이터를 출력하는 암호가중비트 발생수단과; 상기 암호가중비트 발생수단의 데이터를 인가 받아 저장하는 저장수단과; 상기 저장수단에 저장된 데이터와 외부의 어드레스신호를 조합하여 암호화된 어드레스신호를 출력하는 어드레스 암호화수단으로 구성함으로써 달성되는 것으로, 이와 같은 본 발명을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도3은 본 발명에 의한 마이크로 콘트롤러(microcontroller)의 블록도로서, 이에 도시한 바와 같이 외부의 어드레스신호(ADD)를 인가 받는 어드레스포트(1)와; 상기 어드레스포트(1)에 접속된 어드레스버스(2)를 통해 어드레스신호(ADD)를 인가 받아 읽기/쓰기 동작을 제어하는 중앙처리장치(CPU)와; 암호가중비트를 저장하는 레지스터(10)와; 상기 레지스터(10)에 저장된 데이터와 어드레스버스(2)를 통해 입력되는 어드레스신호(ADD)를 배타적노아조합하여 어드레스신호(ADD)를 암호화하는 어드레스 암호화부(11)와; 프로그램되면 저전위 또는 고전위신호를 고정하여 출력하는 인에이블 제어부(4)와; 상기 인에이블 제어부(4)의 제어에 따라 인에이블 되어 상기 중앙처리장치(CPU)의 제어에 따라 X-디코더(XDCDR)와 Y-디코더(YDCDR)를 제어하여 상기 어드레스 암호화부(11)를 통해 인가되는 암호화된 어드레스신호(ADD)에 해당하는 비휘발성 메모리셀부(5)에 구비된 메모리셀을 선택하며, 출력제어신호 및 읽기 방지제어신호를 출력하는 메모리 제어부(3)와; 상기 메모리 제어부(3)의 읽기 방지신호를 입력받아 그 프로그램 내용을 상기 레지스터부(10)에 저장하는 암호가중비트 발생부(12)와; 상기 비휘발성 메모리셀부(5)의 출력데이터를 증폭하여 데이터버스(8)에 인가하는 센스엠프(7)와; 상기 메모리 제어부(3)의 출력제어신호에 따라 상기 데이터버스(8)에 인가된 출력데이터를 외부로 출력하는 입출력포트(9)로 구성된다.
이하, 상기와 같이 구성된 마이크로 콘트롤러의 동작을 본 발명 비휘발성 메모리의 읽기 방지회로를 중심으로 설명한다.
먼저, 암호가중비트 발생부(12)가 프로그램되지 않은 상태일 때, 레지스터부(10)에는 모두'1'이 저장되고, 쓰기 또는 쓰기가 끝난 후 읽기동작에서는 어드레스신호(ADD)와 상기 레지스터부(10)에 저장된 값을 배타적노아조합하여 출력하는 어드레스 암호화부(11)의 출력은 어드레스신호(ADD)와 동일하게 되어, 비휘발성 메모리셀부(5)를 프로그램하거나 프로그램된 데이터를 읽는 동작이 가능하다.
그 다음, 상기 암호가중비트 발생부(12)를 프로그램하는 경우 그 레지스터부(10)에는 상기 암호가중비트 발생부(12)의 프로그램에 해당하는 데이터가 저장된다. 이후에 읽기동작에서 어드레스신호(ADD)가 어드레스포트(1)와 어드레스버스(2)를 통해 인가되면, 상기 어드레스 암호화부(11)는 상기 레지스터부(10)에 저장된 데이터와 어드레스신호(ADD)를 배타적노아조합하여 어드레스신호를 암호화하여 출력한다. 이때, 메모리 제어부(3)의 제어신호와 암호화된 어드레스신호를 인가 받은 X디코더(XDCDR)와 Y디코더(YDCDR)는 암호화되지 않은 어드레스신호(ADD)의 인가시 선택하는 비휘발성 메모리셀부(5)의 메모리셀과는 다른 메모리셀을 선택하고, 그 선택된 메모리셀의 데이터는 센스엠프(7)에서 증폭되고, 데이터버스(8)와 입출력포트(9)를 통해 외부로 출력된다.
이와 같이 암호화된 어드레스신호(ADD)를 사용하는 경우 실제 어드레스신호(ADD)인가시와는 다른 데이터를 출력하여 프로그램이 불법적으로 유출되는 것을 방지하며, 합법적인 사용자가 사용하는 경우에는 롬라이터(ROM WRITER) 등에 상기 암호가중비트 발생부(12)의 데이터를 입력하여 그 값이 상기 어드레스 암호화부(11)에서 암호화된 어드레스신호와 배타적노아조합을 통해 다시 최초 입력된 어드레스신호(ADD)로 변환하여 X디코더(XDCDR)와 Y디코더(YDCDR)에 인가하여 실제 어드레스신호(ADD)에 해당하는 비휘발성 메모리셀부(5)의 출력데이터를 출력하도록 한다.
상기한 바와 같이 본 발명은 어드레스신호를 소정의 데이터와 배타적노아조합하여 암호화하고, 그 암호화된 어드레스에 해당하는 메모리셀의 데이터를 출력함으로써, 외부에서는 그 암호화과정을 알 수 없어 불법적인 프로그램 유출을 방지하는 효과가 있다.

Claims (2)

  1. 기 설정된 프로그램에 따른 데이터를 출력하는 암호가중비트 발생수단과; 상기 암호가중비트 발생수단의 데이터를 인가 받아 저장하는 저장수단과; 상기 저정수단에 저장된 데이터와 외부의 어드레스신호를 조합하여 암호화된 어드레스신호를 출력하여, 상기 외부에서 요청된 어드레스와는 다른 어드레스의 데이터를 출력하고, 그 출력결과를 상기 암호가중비트 발생수단의 프로그램 내용을 아는 합법적인 사용자의 해독에 의해 정상적인 데이터를 얻을 수 있도록 하는 어드레스 암호화수단으로 구성하여 된 것을 특징으로 하는 비휘발성 메모리의 읽기 방지회로.
  2. 제 1항에 있어서, 어드레스 암호화수단은 저장수단에 저장된 데이터와 외부의 어드레스신호를 배타적노아조합하여 어드레스신호를 암호화하는 것을 특징으로 하는 비휘발성 메모리의 읽기 방지회로.
KR1019970036123A 1997-07-30 1997-07-30 비휘발성메모리의읽기방지회로 KR100258861B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970036123A KR100258861B1 (ko) 1997-07-30 1997-07-30 비휘발성메모리의읽기방지회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970036123A KR100258861B1 (ko) 1997-07-30 1997-07-30 비휘발성메모리의읽기방지회로

Publications (2)

Publication Number Publication Date
KR19990012647A KR19990012647A (ko) 1999-02-25
KR100258861B1 true KR100258861B1 (ko) 2000-06-15

Family

ID=19516245

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970036123A KR100258861B1 (ko) 1997-07-30 1997-07-30 비휘발성메모리의읽기방지회로

Country Status (1)

Country Link
KR (1) KR100258861B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101311963B1 (ko) 2007-08-06 2013-09-26 삼성전자주식회사 파워 어택으로부터 안전하게 데이터를 쓰고 읽을 수 있는반도체 메모리 장치 및 그 방법

Also Published As

Publication number Publication date
KR19990012647A (ko) 1999-02-25

Similar Documents

Publication Publication Date Title
US7043615B1 (en) Nonvolatile semiconductor memory and method of managing information in information distribution system
JP4865694B2 (ja) プロセッサ装置
US6457126B1 (en) Storage device, an encrypting/decrypting device and method of accessing a non-volatile memory
EP1043860B1 (en) Security unit, memory unit, and data encryption method
US5224166A (en) System for seamless processing of encrypted and non-encrypted data and instructions
KR930008041B1 (ko) 마이크로 콘트롤러
JP3881942B2 (ja) 暗号化部を有する半導体装置
US7640436B2 (en) Encryption device and method
US10970409B1 (en) Security RAM block with multiple partitions
US7770027B2 (en) Semiconductor memory device
JP3638770B2 (ja) テスト機能を備える記憶装置
KR970063006A (ko) 통신시스템 및 통신방법
CN111488630B (zh) 可配置安全存储区域的存储装置及其操作方法
JPH09259045A (ja) メモリカードのセキュリティシステム装置及びそのメモリカード
US7076667B1 (en) Storage device having secure test process
US8015416B2 (en) Memory information protection system and methods
JP2007213478A (ja) 半導体メモリおよびデータアクセス方法
WO2006054380A1 (ja) メモリ情報保護システム、半導体メモリおよびメモリ情報の保護方法
KR19980032125A (ko) Ic 메모리 카드
US8190920B2 (en) Security features in an electronic device
EP3096259A1 (en) Security ram block with multiple partitions
KR100258861B1 (ko) 비휘발성메모리의읽기방지회로
JP2000181802A (ja) 半導体記憶装置
JP3034118B2 (ja) Icカードシステム及びicカード
JP4336690B2 (ja) 外部インターフェースを有する半導体装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080218

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee