KR100197952B1 - 인크립션 데이타 보호 장치 - Google Patents

인크립션 데이타 보호 장치 Download PDF

Info

Publication number
KR100197952B1
KR100197952B1 KR1019960028083A KR19960028083A KR100197952B1 KR 100197952 B1 KR100197952 B1 KR 100197952B1 KR 1019960028083 A KR1019960028083 A KR 1019960028083A KR 19960028083 A KR19960028083 A KR 19960028083A KR 100197952 B1 KR100197952 B1 KR 100197952B1
Authority
KR
South Korea
Prior art keywords
data
encryption
program data
output
channel
Prior art date
Application number
KR1019960028083A
Other languages
English (en)
Other versions
KR980012953A (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 KR1019960028083A priority Critical patent/KR100197952B1/ko
Publication of KR980012953A publication Critical patent/KR980012953A/ko
Application granted granted Critical
Publication of KR100197952B1 publication Critical patent/KR100197952B1/ko

Links

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
    • 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/78Protecting 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

Landscapes

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

Abstract

본 발명은 마이크로 콘트롤러(micro controller)의 인크립션 어레이(encryption array)에 관한 것으로서, 인크립션 어레이의 암호화 내용이 외부에 쉽게 노출되지 않도록 하여 실질적인 프로그램 데이터의 보호가 이루어질 수 있도록 한 인트립션 데이터 보호 장치를 제공하는 목적의 발명이다.
검출부(200)는 프로그램 데이터가 제1 논리값을 가질 때 검출신호(DETECT)를 발생시킨다. 논리게이트(130)는 인크립션 데이터와 프로그램 데이터가 입력되고, 인크립션 데이터와 프로그램 데이터가 서로 다른 값을 가질 때 논리 0의 출력을 발생시킨다. 제1 내지 제2 인버터(210)(220)는 논리게이트(310)의 출력단과 포트(P)사이에 직렬 연결된다. 제1N채널 모스(230)는 제1인버터(210)의 출력단과 접지(VSS)사이에 연결되고, 검출신호(DETECT)에 의해 제어된다. 제2N채널 모스(240)는 제2인버터(220)의 출력단과 상기 포트(P)사이에 연결되고, 데이터 버스 출력 인에이블 신호(DBOE)에 의해 제어된다.

Description

인크립션 데이터 보호 장치
제1도는 종래의 인크립션 데이터 어레이 및 주변 회로의 구성도.
제2도는 본 발명에 다라 개선된 데이터 보호 회로의 구성도.
제3도는 본 발명의 FFH 검출부의 회로 구성을 나타낸 도면.
* 도면의 주요부분에 대한 부호의 설명
10 : 프로그램 메모리 20 : 센싱 어레이
30 : 인크립션 에레이 40 : 리드 콘트롤부
50 : 비트 라인 디코더 60 : 워드 라인 디코더
110, 120 : 래치 130 : XNOR 게이트
200 : FFH 검출부 210,220 : 인버터
230,240,N0∼N7 : N채널 모스 P : 포트
P1, P2 : P채널 모스 300 : NOR 게이트
본 발명은 마이크로 콘트롤러(micro controller)의 인크립션 어레이(encryption array)에 관한 것으로서, 특히 마이크로 콘트롤러의 프로그램데이터(program data)의 내용을 다른 사용자들이 읽어 내지 못하도록 암호화하는 기능을 수행하는 인크립션 어레이(encryption array)에 있어서, 암호화 코드인 인크립션 데이터의 내용이 외부에 쉽게 노출되는 단점을 보완하여 실질적인 프로그램 데이터의 보호가 이루어질 수 있도록 한 인트립션 데어터 보호 장치에 관한 것이다.
첨부한 도면의 제1도는 비트 라인(bit line)을 공유하는 8킬로바이트(killo byte)의 이이피롬 프로그램 메모리(EEPROM program memory)와, 32바이트(byte) 용량의 이피롬(EPROM) 인크립선 어레이를 갖는 마이크로 콘트롤러를 예를 들어 나타낸 종래의 인크립션 어레이의 주변 회로 및 데이터 보호 회로의 구성도이다.
제1도에 도시한 바와 같이 일례로 든 종래의 인크립션 어레이(30)의 주변 회로 및 데이터 보호 회로의 구성은, 읽기 동작을 제어하는 리드 콘트롤(read cotrol)부(40)와, 13비트로 이루어진 어드레스(address)의 상위 8비트를 입력받아 이를 디코딩(decoding)하는 워드 라인 디코더(60)와 13비트로 이루어진 어드레스의 하위 5비트를 입력받아 이를 디코딩하는 비트 라인 디코더(50)와, 비트 라인에 실린 값을 센싱하기 위한 센서 어레이(sencing array)(20)와, 2개의 클록 신호에 의해 교대로 읽혀진 각각의 프로그램 데이터와 인크립션 데이터를 일시적으로 보관해 두기 위한 두 개의 래치(latch)와, 상기의 두 래치에 일시적으로 보관된 프로그램 데이터와 인크립션 데이터를 배타적 노어(excusive NOR, 이하 XNOR이라 칭함)의 연산을 실시하기 위한 XNOR 게이트(gate)(130)와 상기의 XNOR 게이트(130)에서 연산 처리된 데이터가 출력되는 포트(port)(P)로 구성되었다.
이와 같이 구성된 종래의 인크립션 어레이(30)의 주변 회로 및 데이터 보호 회로의 동작은 포트(P)로 데이터를 출력하도록 명령이 내려지면, 중앙 처리 장치에서 내부 연산이 1회 실시되는 시간 즉 하나의 머신 사이클(machine cycle)을 2개의 리드 타임(lead time)으로 나누고 각각의 리드 타임을 제1 클록(clock)과 제2 클록으로 구분하여, 먼저 제1클록에서 워드 라인 디코더(60)와 비트 라인 디코더(50)를 모두 인에이블(enable)시켜 이때 읽혀진 프로그램 데이터를 센싱 어레이(20)를 통하여 제2래치(120)에 보관하고, 제2클록에서는 인크립션 에러이(30)의 값을 읽도록 비트 라인 디코더(50)와인크림션 어레이(30)를 인에이블시켜 인크립션 데이터를 센싱 어레이(200를 통하여 제1래치(110)에 보관한다.
다음으로 데이터 버스 출력 인에이블 신호(DBOE)가 액티브(active)상태로 되면 제1 및 제2 래치(110)(120)에 기억되어 있던 프로그램 데이터와 인크립션 데이터를 XNOR 게이트(130)를 통해 XNOR 연산하여 그 결과를 포트(P)로 출력하게 된다.
상기와 같은 출력 과정에서 인크립션 어레이(30)의 번지 지정은 프로그램 데이터의 어드레스 비트 중에서 하위 5비트를 사용하므로, 디코더의 일반적 특성에 따라 하위 5비트가 비트 라인 디코더(50)를 통해 32바이트 크기의 데티터로 출력되어 프로그램 데이터와 인크립션 데이터가 매 32비트마다 XNOR 연산이 이루어지게 되어 인크립션 어레이(30)의 내용을 모르게 되면 포트(P)에 출력되는 데이터의 값을 해독할 수 없게 되고, 이와 같이 변환되어 포트(P)로 출력되는 데이터는 XNOR의 연산 특성에 따라 다시 한번 인크립션 데이터와 XNOR 연산을 하게 되면 변환되지 않은 원래의 프로그램 데이터를 얻을 수 있도록 동작한다.
그러나, 이와 같은 종래의 인크립션 어레이를 이용한 출력 데이터 보호장치는, 프로그램 메모리에 저장되어 있는 프로그램 데이터의 양이 프로그램 메모리의 최대 용량에 비해 훨씬 적은 경우, 즉, 종래 기술의 구성에서 일례로 든 8킬로바이트의 프로그램 메모리에 이보다 훨씬 적은 용량의 프로그램 데이터가 1FOOH까지만 저장되어 있는 경우, 0000H보다 1FOOH까지는 코딩 데이터가 되어 인크립션 데이터와 XNOR 연산이 이루어져 본래의 프로그램 데이터와는 전혀 다른 데이터가 출력되므로 프로그램 데이터의 보호가 이루어진다.
그러나 프로그램 데이터가 저장되어 있지 않은 나머지 1F01H부터 1FFFH까지의 데이터의 내용은 특정한 값인 FFH가 되어 FFH와 인크립션 데이터를 XNOR 연산하게 되면 XNOR 연산의 특성에 따라 인크립션 데이터의 내용이 반복 출력된다. 따라서 상기와 같은 경우에 다른 사용자가 손쉽게 인크립션 데이터의 내용을 알 수 있게 되므로 0000H∼1F00H까지의 출력값을 인출해 낸 인크립션 데이터와 XNOR 시킴으로서 원래의 프로그램 데이터를 알아낼 수 있는 치명적인 결함을 가지고 있다.
따라서, 본 발명은 상술한 바와 같은 종래의인크립션 어레이 데이터 보호 회로의 문제를 해결하기 위한 FFH 검출부를 구비하여 인크립션 어레이의 암호화 내용이 외부에 쉽게 노출되지 않도록 하여 실질적인 프로그램 데이터의 보호가 이루어지도록 한 인크립션 데이터 보호 장치를 제공함에 그 목적이 있다.
이와같은 목적의 본 발명은 검출부와 논리 게이트, 제1 및 제2 인버터, 제1 및 제2 N채널 모스를 포함하여 이루어진다.
검출부(200)는 프로그램 데이터가 제1 논리값을 가질 때 검출신호(DETECT)를 발생시킨다,. 논리 게이트(130)는 인크립션 데이터와 프로그램 데이터가 입력되고, 인크립션 데이터와 프로그램 데이터와 프로그램 데이터가 서로 다른 값을 가질 때 논리 0의 출력을 발생시킨다. 제1 내지 제2 인버터(210)(220)는 논리 게이트(130)의 출력단과 포트(P)사이에 직렬 연결된다. 제1 N채널 모스(230)는 제1인버터(210)의 출력단과 접지(VSS)사이에 연결되고, 검출신호(DETECT)에 의해 제어된다. 제2 N패널 모스(240)은 제2인버터(220)의 출력단과 포트(P)사이에 연결되고, 데이터 버스 출력인에이블 신호(DBOE)에 의해 제어된다.
이하 본 발명의바람직한 실시예를 첨부한 도면의 제1도 및 제2도, 제3도를 참조하여 설명하면 다음과 같다. 첨부한 도면의 제1도에 본 발명에 의해 개선하고자 하는 부분을 불록화하여 인용 부호 100로써 구분하였으며, 제2도에 본 발명에 의해 개선된 부분의 회로를 나타내었다.
제2도에 나타낸 바와 같이, FFH 검출부(200)에는 제2래치(120)에 저장된 프로그램 데이터(PD)가 입력된다. 이 FFH 검출부(200)는 데이터 버스 출력 인에이블 신호(DBOE)에 의해 인에이블되어, 입력된 프록램 데이터(PD)의 값이 FFH인지를 검출하여 검출신호(DETECT)를 발생시킨다. FFH 검출부(200)를 통과한 프로그램 데이터는 제1래치(110)에서 출력되는 인크립션 데이터와 함께 XNOR 게이트(130)에 입력된다.
XNOR 게이트(130)의 출력단에는 제1인버터(210)와 제2인버터(220)가 직렬연결된다. 제2인버터(220)의 입력단과 접지(VSS)사이에는 풀다운 동작을 위한 제1 N채널 모스(230)가 연결된다. 이 N 채널 모스(230)는 FFH 검출부(200)에서 출력되는 검출신호(DETECT)에 의해 제어된다. 제2인버터(220)의 출력 단자와 포트(P)사이에는 제2 N채널 모스(240)가 연결된다. 이 제1 N채널 모스(240)는 데이터 버스 출력 인에이블 신호(DBOE)에 의해 제어된다.
제3도는 본 발명에 따른 인크립션 데이터 보호장치의 FFH 검출부(200)의 구성을 나타낸 회로도이다. 제3도에 나타낸 바와 같이, FFH 검출부(200)는 각각 4개의 N채널 모스(N0∼N3 또는 N4∼N7)와 1개의 P채널 모스(P1 또는 P2)가 직렬 연결되어 이루어진 회로가 2조 구비되어 서로 병렬 연결되어 이루어진다. 각각의 직렬 회로는 전원전압(VDD)와 접지(VSS)사이에 연결된다/
2개의 P채널 모스(P1,P2)의 게이트는 데이터 버스 출력 인에이블 신호(DBOE)에 의해 제어된다. 각 직렬 회로에 4개씩 구비된 N채널 모스의 게이트는 각각 프로그램 데이터의 상위 4비트(PD0∼PD3)와 하위 4비트(PD4∼PD7)에 의해 제어된다. 상기 한 P체널 모스(P1,P2)의 각각의 드레인에서 출력되는 신호는 NOR 게이트(300)에 입력되며 이 NOR 게이트(300)의 출력이 상술한 검출신호(DETECT)이다.
이와같이 구성된 본 발명의 동작 및 작용에 대하여 설명하면 다음과 같다,
즉, 제1클록에 동기되어 프로그램 메모리(10)로부터 센싱 어레이(20)를 통해 제2래치(120)에 보관된 프로그램 데이터(PD)의 값을 FFH 검출부(200)에서 검출한 다음, 프로그램 데이터(PD)가 FFH 일 경우 검출신호(DETECT)를 활성화시켜 제1 N채널 모스(230)를 온시킨다. 따라서, 제2인버터(220)에 입력되는 데이터가 모두 로우레벨이 되어 제2인버터(220)를 통해 출력되는 데이터의 값은 모두 FFH(11111111(2))가 된다. 즉, 프로그램 데이터와 인크립션 데이터의 XNOR 연산 결과에 관계없이 포트(P)에 FFH 값이 출력된다. 만약 프로그램 데이터(PD)가 FFH가 아닐 때에는 검출신호(DETECT)가 활성화되지 않기 때문에 제1 N채널 모스(230)가 오프 되어 XNOR 연산결과인 변환된 프로그램 데이터가 포트(P)로 출력된다.
또한 데이터 버스 출력 인에이블 신호(DBOE)가 로우 레벨인 동안에는 데이터가 전송되고 있는 상태이므로 FFH 검출부(200)에서 NOR 게이트(300)의 두 입력이 모두 하이레벨로 폴 업된다. 따라서, NOR 게이트(300)에서 출력되는 검출신호(DETECT)는 로우레벨이 되어 제2도에 나타낸 제1 및 제2 N채널 모스(230,240)가 턴 온된다. 이 때문에 인크립션 데이터와 프로그램 데이터(PD)의 XNOR 연산 결과가 포트(P)를 통하여 출력된다.
데이터의 전송이 완료되어 데이터 버스 출력 인에이블 신호(DBOE)의 출력이 하이레벨로 되면, FFH 검출부(200)에서 NOR 게이트(300)의 두 입력이 모두 로우레벨로 풀 다운되어 검출신호(DETECT)는 하이레벨이 된다. 이 때문에 제1 및 제2 N채널 모스 (230,240)가 모두 턴 오프되어 프로그램 데이터(PD)의 출력은 이루어지지 않는다.
따라서 본 고안은 저장된 프로그램 데이터가 존재하지 않는 경우에는 FFH의 값이 포트로 출력되도록 하여 인크립션 데이터의 내용이 노출되지 않도록 함으로써, 결과적으로 프로그램 데이터의 보호 효과를 제공한다.

Claims (3)

  1. 마이크로 콘트롤러의 인크립션 데이터 보호 회로에 있어서, 프로그램 데이터가 제1 논리값을 가질 때 검출신호(DETECT)를 발생시키는 검출부(200)와; 인크립션 데이터와 상기 프로그램 데이터가 입력되고, 상기 인크립션 데이터와 상기 프로그램 데이터가 서로 다른 값을 가질 때 논리 0의 출력을 발생시키는 논리게이트(310)와; 상기 논리 게이트(130)의 출력단과 포트(P)사이에 직렬 연결되는 제1 내지 제2 인버터(210)(220)와; 상기 제1인버터(210)의 출력단과 접지(VSS)사이에 연결되고, 상기 검출신호(DETECT)에 의해 제어되는 제1N채널 모스(230)와; 상기 제2인버터(220)의 출력단과 상기 포트(P)사이에 연결되고, 데이터 버스 출력 인에이블 신호(DBOE)에 의해 제어되는 제2N채널 모스(240)를 포함하는 인크립션 데이터 보호장치.
  2. 제1항에 있어서, 상기 검출부(200)는, 제1P채널 모스(P1)와 제3 내지 제 6 P채널 모스(N1∼N4)가 전원전압과 접지 사이에 직렬 연결되어 제1직렬 회로를 형성하고; 제2P채널 모스(P2)와 제7 내지 제 10 P채널 모스(N5∼N8)가 상기 전원전압과 접지 사이에 직렬 연결되어 제2직렬 회로를 형성하며; 상기 제1 내지 제2 P채널 모스(P1,P2)가 상기 데이터 버스 출력 인에이블 신호(DBOE)에 의해 제어되고; 상기 제3 내지 제6 P채널 모스(N1∼N4)가 상기 프로그램의 상위 4비트에 의해 제어되고, 상기 제7 내지 제10 N채널 모스(N5∼N8)가 상기 프로그램 데이터의 하위 4비트에 의해 제어되며; 상기 제 1 내지 제2 P채널 모스(P1,P2)의 각각의 소스로 출력되는 신호가 NOR 연산되어 상기 검출신호(DETECT)로서 출력되도록 이루어지는 인크립션 데이터 보호장치.
  3. 제1항에 있어서, 상기 프로그램 데이터의 값이 FFH의 16진수값을 가질 때 상기 상기 검출신호(DETECT)가 활성화되도록 이루어지는 인크립션 데이터 보호장치.
KR1019960028083A 1996-07-12 1996-07-12 인크립션 데이타 보호 장치 KR100197952B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960028083A KR100197952B1 (ko) 1996-07-12 1996-07-12 인크립션 데이타 보호 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960028083A KR100197952B1 (ko) 1996-07-12 1996-07-12 인크립션 데이타 보호 장치

Publications (2)

Publication Number Publication Date
KR980012953A KR980012953A (ko) 1998-04-30
KR100197952B1 true KR100197952B1 (ko) 1999-06-15

Family

ID=19466084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960028083A KR100197952B1 (ko) 1996-07-12 1996-07-12 인크립션 데이타 보호 장치

Country Status (1)

Country Link
KR (1) KR100197952B1 (ko)

Also Published As

Publication number Publication date
KR980012953A (ko) 1998-04-30

Similar Documents

Publication Publication Date Title
US6381673B1 (en) Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device
TWI222073B (en) Multiple bank simultaneous operation for a flash memory
US20020034115A1 (en) Semiconductor memory device having fixed CAS latency in normal operation and various CAS latencies in test mode
KR100309800B1 (ko) 동기랜덤액세스메모리장치
KR0178622B1 (ko) 불휘발성 반도체 기억 장치
JP3953691B2 (ja) 集積回路及び同期型半導体メモリ装置
JP2826998B2 (ja) 割込発生装置
KR0171942B1 (ko) 버스트 길이 검출 회로
US6466470B1 (en) Circuitry and method for resetting memory without a write cycle
US6950357B2 (en) Test mode flag signal generator of semiconductor memory device
JP2588936B2 (ja) 半導体記憶装置
JPH03254499A (ja) 半導体記憶装置
KR100197952B1 (ko) 인크립션 데이타 보호 장치
KR100263843B1 (ko) 반도체기억장치
JPH03204053A (ja) 読出し専用メモリ
US5134384A (en) Data coincidence detecting circuit
US5233561A (en) Composite semiconductor storage device and operating method therefor
KR960003402B1 (ko) 반도체 기억 장치
US5594703A (en) End-of-count detecting device for nonvolatile memories
US4802126A (en) Semiconductor memory device
JP2534697B2 (ja) 半導体記憶装置
KR100205326B1 (ko) 입력 버퍼회로
JPH08233914A (ja) マイクロコントローラのテスト回路
KR950003395B1 (ko) 어드레스 핀을 이용한 상태 제어장치
KR980011494A (ko) 오티피[OTP(One Time Programable)] 인크립션(Encryption) 회로

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: 20050124

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee