KR20000038712A - 복제 방지 기능을 갖는 마이크로 콘트롤러 장치 및 그의 복제방지 방버뷰 - Google Patents
복제 방지 기능을 갖는 마이크로 콘트롤러 장치 및 그의 복제방지 방버뷰 Download PDFInfo
- Publication number
- KR20000038712A KR20000038712A KR1019980053793A KR19980053793A KR20000038712A KR 20000038712 A KR20000038712 A KR 20000038712A KR 1019980053793 A KR1019980053793 A KR 1019980053793A KR 19980053793 A KR19980053793 A KR 19980053793A KR 20000038712 A KR20000038712 A KR 20000038712A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- program
- key data
- encrypted data
- encrypted
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000010586 diagram Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- 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
Abstract
복제 방지 기능을 갖는 마이크로 콘트롤러 장치 및 그의 복제 방지 방법이 개시된다. 이 장치는, 소정의 키 데이타 및 암호화된 데이타를 이용하여 응용 프로그램을 처리하는 프로그램 처리부 및 프로그램 처리부로부터 출력되는 키 데이타를 암호화하여 암호화된 데이타로서 출력하는 암호화부를 구비하는 것을 특징으로 한다. 그러므로, 프로그램 코드 및 암호화부의 복제를 방지할 수 있도록 하고, 프로그램 코드를 저장하는 롬을 외부에 마련할 수 있도록 하는 효과가 있다.
Description
본 발명은 마이크로 콘트롤러 장치(MCU:Micro Controller Unit)에 관한 것으로서, 특히, 복제 방지 기능을 갖는 마이크로 콘트롤러 장치 및 그의 복제 방지 방법에 관한 것이다.
장기간에 걸쳐 많은 노력과 비용을 들여 개발된 마이크로 콘트롤러 장치가 내장된 어플리케이션 제품이 시장이 판매될 경우, 불과 수 개월만에 동일한 기능을 갖는 복제된 제품이 더욱 저렴한 가격에 시중에서 불법으로 유통될 수 있다. 이는, 마이크로 콘트롤러에 프로그램 코드의 복제가 용이할 뿐만 아니라, 마이크로 콘트롤러 응용 제품을 다른 제품들과 함께 조립하면 복제가 가능해지기 때문이다.
종래에, 마이크로 콘트롤러 장치의 복제를 방지하는 방법으로서, 프로그램 논리 디바이스(PLD:Programmable Logic Device)등을 사용하여 그 장치를 숨기는 방법과 마이크로 콘트롤러에 내장된 롬(ROM)을 사용하여 프로그램 코드를 숨기는 방법들이 있다. 그러나, 전자의 방법은 타인이 입/출력 신호를 분석하여 PLD를 복제 가능한 문제점이 있고, 후자의 방법은 마이크로 콘트롤러 장치 내부의 롬은 크기가 적으므로 큰 용량의 프로그램 코드를 저장할 수 없을 뿐만 아니라 마이크로 콘트롤러 디버깅(dubugging) 장치에 의해 프로그램 코드의 복제가 가능해지는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 그 하드웨어나 프로그램 코드의 복제를 방지하는 기능을 갖는 마이크로 콘트롤러 장치를 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 상기 마이크로 콘트롤러 장치의 복제를 방지하는 마이크로 콘트롤러 장치의 복제 방지 방법을 제공하는 데 있다.
도 1은 본 발명에 의한 복제 방지 기능을 갖는 마이크로 콘트롤러 장치의 개략적인 블럭도이다.
도 2는 도 1에 도시된 장치의 복제를 방지하는 본 발명에 의한 복제 방지 방법을 설명하기 위한 플로우차트이다.
상기 과제를 이루기 위한 본 발명에 의한 복제 방지 기능을 갖는 마이크로 콘트롤러 장치는, 소정의 키 데이타 및 암호화된 데이타를 이용하여 응용 프로그램을 처리하는 프로그램 처리부 및 상기 프로그램 처리부로부터 출력되는 상기 키 데이타를 암호화하여 상기 암호화된 데이타로서 출력하는 암호화부로 구성되는 것이 바람직하다.
상기 다른 과제를 이루기 위해, 외부로부터 주어지는 키 데이타 및 암호화된 데이타를 이용하여 응용 프로그램을 처리하는 프로그램 처리부 및 상기 키 데이타를 암호화하여 상기 암호화된 데이타를 생성하는 암호화부를 갖는 마이크로 콘트롤러 장치의 복제를 방지하는 본 발명에 의한 복제 방지 방법은, 상기 프로그램 처리부에서 상기 응용 프로그램을 처리할 때, 상기 암호화된 데이타 및 상기 키 데이타가 존재하는가를 판단하는 단계와, 상기 암호화된 데이타 및 상기 키 데이타가 존재할 경우, 존재하는 암호화된 데이타가 원하는 데이타인가를 판단하는 단계 및 상기 존재하는 암호화된 데이타가 상기 원하는 데이타가 아니거나, 상기 암호화된 데이타 또는 상기 키 데이타가 존재하지 않은 경우, 상기 응용 프로그램의 처리를 중지시키는 단계로 이루어지는 것이 바람직하다.
이하, 본 발명에 의한 복제 방지 기능을 갖는 마이크로 콘트롤러 장치의 구성 및 동작을 첨부한 도면을 참조하여 다음과 같이 설명한다.
도 1은 본 발명에 의한 복제 방지 기능을 갖는 마이크로 콘트롤러 장치의 개략적인 블럭도로서, 프로그램 처리부(10), 암호화부(20), 주변부(30) 및 어드레스/데이타/콘트롤 버스(50)로 구성된다. 이 때, 도 1에 도시된 장치는 집적(40)화될 수 있다.
도 1에 도시된 프로그램 처리부(10)는 소정의 키 데이타 및 암호화된 데이타를 이용하여 응용 프로그램을 처리하는 역할을 한다. 여기서, 소정의 키 데이타는 도 1에 도시된 장치의 제작자에 의해 외부로부터 입력된다. 이 때, 암호화부(20)는프로그램 처리부(10)로부터 입력한 키 데이타를 암호화하고, 암호화된 결과를 암호화된 데이타로서 프로그램 처리부(10)로 출력한다. 예를 들어, 암호화부(20)는 예를 들면 "0x123456789ABCDE12"와 같은 키 데이타를 프로그램 처리부(10)로부터 입력하여 예를 들면 "0x87574586395DA486" 같은 데이타로 암호화한다. 결국, 제작자만이 알고 있는 키 데이타를 암호화하여 숨김으로써, 프로그램 코드 및/또는 암호화부(20)의 복제를 방지할 수 있다.
이 때, 여러가지 방법에 의해, 암호화된 데이타 "0x87574586395DA486"가 노출되었다 하더라도, 암호화된 데이타를 생성하는 키 데이타를 알 수 없으면 프로그램을 수행할 수 없도록 한다. 이를 위해, 후술되는 바와 같이, 프로그램의 곳곳에서 암호화된 데이타 즉, "0x87574586395DA486"이 읽혀지는가를 검사하고, 검사된 결과에 따라 정품 여부를 판단하고, 그 판단 결과에 따라 프로그램이 수행될 수 있도록 한다.
이 때, 프로그램 처리부(10)는 외부로부터 주어지는 소정의 키 데이타를 암호화부(20)에 단지 한번만 기입할 수 있도록 구현한다. 왜냐하면, 키 데이타와 암호화된 데이타의 상관관계를 분석하여 암호화부(20)를 유추할 수 있기 때문에, 그 상관관계를 분석하기 어렵도록 하기 위해서이다. 그러므로, 허용되지 않은 사용자 즉, 불법 복제자가 키 데이타와 암호화된 데이타의 상관관계를 분석하기 위한 자료를 수집하고자 할 경우, 그 복제자는 매번 칩(40)을 교환해야 하므로, 많은 시간과 금전을 소비할 것이다.
이하, 도 1에 도시된 장치의 본 발명에 의한 복제 방지 방법을 첨부한 도면을 참조하여 다음과 같이 설명한다.
도 2는 도 1에 도시된 장치의 복제를 방지하는 본 발명에 의한 복제 방지 방법을 설명하기 위한 플로우차트로서, 키 데이타 및 암호화된 데이타를 이용하여 마이크로 콘트롤러 장치의 복제를 방지하는 단계(제50 ∼ 제54 단계)로 이루어진다.
도 1 및 도 2를 참조하면, 프로그램 처리부(10)에서 응용 프로그램을 처리할 때, 암호화부(20)에서 암호화된 데이타 및 외부에서 주어진 키 데이타가 존재하는가를 판단한다(제50 단계). 이는 응용 프로그램의 중간 중간에 암호화된 데이타를 체크하고, 장치의 초기 상태에서 키 데이타를 체크하도록 함으로써 실현될 수 있다. 여기서, 응용 프로그램은 프로그램 처리부(10)의 내부 또는 외부에 마련될 수 있는 롬에 저장된다.
만일, 암호화된 데이타 및 키 데이타가 존재할 경우, 존재하는 암호화된 데이타가 원하는 데이타인가를 판단한다(제52 단계). 즉, 암호화된 데이타가 정상적인 키 데이타를 암호화하였을 때 얻어지는 데이타인가를 판단한다.
만일, 암호화된 데이타가 정상적인 데이타인 경우, 프로그램 처리부(10)는 해당하는 응용 프로그램을 정상적으로 수행한다. 그러나, 존재하는 암호화된 데이타가 원하는 데이타가 아니거나, 암호화된 데이타 또는 키 데이타가 존재하지 않은 경우, 프로그램 처리부(10)는 응용 프로그램의 처리를 중지한다(제54 단계).
이상에서 설명한 바와 같이, 본 발명에 의한 마이크로 콘트롤러 장치 및 그의 복제 방지 방법은 집적회로로 구현될 수 있는 마이크로 콘트롤러 장치의 내부에 암호화부를 존재시키기 때문에 암호화부의 입/출력 신호의 상관관계를 근본적으로 관찰하지 못하게 하여 암호화부의 복제를 방지하고, 마이크로 콘트롤러 장치를 디버킹 장비를 이용하여 해독한다 할지라도 암호화된 데이타만을 읽을 수 있을 뿐 키 데이타를 알지 못하면 복제된 프로그램을 사용할 수 없도록 하고, 프로그램 코드의 복제를 무용화시킬 수 있기 때문에 프로그램 코드를 외부의 롬에 제한없이 저장시킬 수 있는 효과가 있다.
Claims (3)
- 소정의 키 데이타 및 암호화된 데이타를 이용하여 응용 프로그램을 처리하는 프로그램 처리부; 및상기 프로그램 처리부로부터 출력되는 상기 키 데이타를 암호화하여 상기 암호화된 데이타로서 출력하는 암호화부를 구비하는 것을 특징으로 하는 복제 방지 기능을 갖는 마이크로 콘트롤러 장치.
- 제1 항에 있어서, 상기 프로그램 처리부는 외부로부터 주어지는 상기 소정의 키 데이타를 상기 암호화부에 한번만 출력하는 것을 특징으로 하는 마이크로 콘트롤러 장치.
- 외부로부터 주어지는 키 데이타 및 암호화된 데이타를 이용하여 응용 프로그램을 처리하는 프로그램 처리부 및 상기 키 데이타를 암호화하여 상기 암호화된 데이타를 생성하는 암호화부를 갖는 마이크로 콘트롤러 장치의 복제를 방지하는 복제 방지 방법에 있어서,상기 프로그램 처리부에서 상기 응용 프로그램을 처리할 때, 상기 암호화된 데이타 및 상기 키 데이타가 존재하는가를 판단하는 단계;상기 암호화된 데이타 및 상기 키 데이타가 존재할 경우, 존재하는 암호화된 데이타가 원하는 데이타인가를 판단하는 단계; 및상기 존재하는 암호화된 데이타가 상기 원하는 데이타가 아니거나, 상기 암호화된 데이타 또는 상기 키 데이타가 존재하지 않은 경우, 상기 응용 프로그램의 처리를 중지시키는 단계를 구비하는 것을 특징으로 하는 마이크로 콘트롤러 장치의 복제 방지 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980053793A KR20000038712A (ko) | 1998-12-08 | 1998-12-08 | 복제 방지 기능을 갖는 마이크로 콘트롤러 장치 및 그의 복제방지 방버뷰 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980053793A KR20000038712A (ko) | 1998-12-08 | 1998-12-08 | 복제 방지 기능을 갖는 마이크로 콘트롤러 장치 및 그의 복제방지 방버뷰 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20000038712A true KR20000038712A (ko) | 2000-07-05 |
Family
ID=19561924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980053793A KR20000038712A (ko) | 1998-12-08 | 1998-12-08 | 복제 방지 기능을 갖는 마이크로 콘트롤러 장치 및 그의 복제방지 방버뷰 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20000038712A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100446317B1 (ko) * | 2001-12-24 | 2004-09-01 | 주식회사 하이닉스반도체 | 코드 롬의 테스트시 데이터를 보호하기 위한 장치 |
-
1998
- 1998-12-08 KR KR1019980053793A patent/KR20000038712A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100446317B1 (ko) * | 2001-12-24 | 2004-09-01 | 주식회사 하이닉스반도체 | 코드 롬의 테스트시 데이터를 보호하기 위한 장치 |
US7062659B2 (en) | 2001-12-24 | 2006-06-13 | Abov Semiconductor Co., Ltd. | Apparatus for protecting code ROM data in code ROM test |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4525599A (en) | Software protection methods and apparatus | |
JP3074639B2 (ja) | システム動作の妥当性検査の方法および装置 | |
US4817140A (en) | Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor | |
US5652793A (en) | Method and apparatus for authenticating the use of software | |
CA2333613C (en) | Method of controlling usage of software components | |
US4573119A (en) | Computer software protection system | |
US5287408A (en) | Apparatus and method for serializing and validating copies of computer software | |
JP2006236064A (ja) | メモリ制御装置およびメモリシステム | |
CN100390760C (zh) | 半导体装置和电子装置 | |
JPH03276345A (ja) | マイクロコントローラ | |
WO2007125911A1 (ja) | データ処理装置、方法、プログラム、集積回路、プログラム生成装置 | |
WO1996034334A1 (fr) | Dispositif pour l'execution d'un programme chiffre | |
EP0266748B1 (en) | A software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor | |
US5542045A (en) | Method for interposing a security function in a computer program | |
US6101605A (en) | Method and apparatus for performing a secure operation | |
KR100954636B1 (ko) | 상호인증 및 콘텐츠 보호를 위한 방법, 시스템 및 장치 | |
JP3683031B2 (ja) | プログラム保護装置 | |
KR101226854B1 (ko) | 보안 모듈, 개인화 방법 및 보안 모듈 식별 방법 | |
JP2000122861A (ja) | データ等の不正改竄防止システム及びそれと併用される 暗号化装置 | |
KR960004734B1 (ko) | 정보 보호방법 및 정보기억미디어 | |
CN100557716C (zh) | 半导体存储卡及其控制方法 | |
KR20000038712A (ko) | 복제 방지 기능을 갖는 마이크로 콘트롤러 장치 및 그의 복제방지 방버뷰 | |
JP4229330B2 (ja) | 暗号プログラム生成装置及び暗号プログラム生成方法 | |
JP2002244757A (ja) | 半導体回路 | |
KR100204382B1 (ko) | 실행 프로그램 무단 복제 방지 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |