KR920008425B1 - 카피방지 장치 - Google Patents

카피방지 장치 Download PDF

Info

Publication number
KR920008425B1
KR920008425B1 KR1019900012733A KR900012733A KR920008425B1 KR 920008425 B1 KR920008425 B1 KR 920008425B1 KR 1019900012733 A KR1019900012733 A KR 1019900012733A KR 900012733 A KR900012733 A KR 900012733A KR 920008425 B1 KR920008425 B1 KR 920008425B1
Authority
KR
South Korea
Prior art keywords
copy
mapping
abnormal operation
illegal copy
probability
Prior art date
Application number
KR1019900012733A
Other languages
English (en)
Other versions
KR910005163A (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 가부시키가이샤 도시바
Publication of KR910005163A publication Critical patent/KR910005163A/ko
Application granted granted Critical
Publication of KR920008425B1 publication Critical patent/KR920008425B1/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
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)

Abstract

내용 없음.

Description

카피방지 장치
제1도 및 제2도는 본 발명의 1실시예에 따른 부정카피 방지 장치의 구성을 나타낸 블록도.
제3도는 소프트웨어를 부정한 카피로부터 보호하는 본 발명의 1실시예에 따른 부정 카피방지 장치의 동작 수준을 나타낸 흐름도.
제4도는 부정한 카피를 수행하는데에 사용되는 컴퓨터의 일반적인 블록도.
제5도는 반도체 집적회로 장치의 회로구성을 부정한 카피로부터 보호하는 본 발명의 실시예에 따른 부정 카피방지 장치의 구성을 나태낸 회로도.
제6도는 동회로를 반도체 집적회로 장치에서 실현하기 위한 패턴도이다.
* 도면이 주요부분에 대한 부호의 설명
1 : 부정카피 판정부 1a, 1b, .....1n : 부정카피 판정 수단
2 : 사상발생부 2a, 2b,...2n : 사상발생 수단
3 : 이상동작 발생부 3a, 3b, ...3n : 이상동작 발생 수단
[산업상의 이용 분야]
본 발명은 지적 재산인 소프트웨어나 반도체집적 장치의 회로구성등을 불법적인 카피(copy)로부터 보호하기 위한 카피방지 장치에 관한 것이다.
[종래의 기술 및 그 문제점]
최근, 컴퓨터의 소프트웨어나 반도체집적 장치의 회로구성 등을 불법 카피로부터 지키기 위해 여러 가지 카피방지 장치가 제공되기에 이르고 있다. 예컨대 본 출원인에 의해 특허 출원(특원소 62-286985)에서는 다음과 같은 장치가 제안되어 있다.
즉, 이 장치는 원본 플로피 디스크로부터 다른 플로피 디스크 프로그램을 부정하게 카피하여, 그 플로피 디스크를 사용해서 프로그램을 동작시킨 경우에는 부정카피 판정 수단이 부정한 카피에 의한 것임을 검출하는 한편, 사상 발생 수단이 소정의 확률로 일정한 사상을 발생시켜, 부정카피의 검출과 사상의 발생이 함께 일어났을 경우에 이상동작 발생 수단이 이상동작을 유발 시켜서 사용하지 못하도록 하게 된다.
여기서, 부정하게 카피가 수행 됐다는 것이 판명된 경우에 항상 이상동작을 발생 시키는 것은 아니고, 비교적 낮은 소정일 확률로만 이동 동작을 발생시키도록 되어 있는데, 이 것은 부정하게 카피를 한 자가 정상으로 카피가 종료 되었는지 여부를 용이하게 판단할 수 없도록 하기 위해서이다. 그리고 카피한 플로피 디스크를 판매한 후, 어느 것이든 플로피 디스크에서 이상 동작이 발생 했을 때 비로서 사실을 인식할 수 있도록 함으로써 프로텍트를 풀지 못하도록 한 것이다. 다시 말하면 프로텍트 자체를 연구하지 않고 카피에 의한 것이 원본과 동일한지의 여부, 즉 프로텍트가 부가되었는지의 여부를 판별하는 것이 곤란하도록 함으로써 부정카피에 의한 플로피 디스크의 본격적인 사용이나 판매를 단행하지 못하도록 한 것이다.
그러나, 상술한 카피방지 장치에는 다음과 같은 문제가 있다. 즉, 상술한 장치에서는 부정카피 판정 수단에 의해 부정한 카피가 검출되고, 또 사상 발생 수단이 소정의 확률로 사상을 발생시킨 경우에 이상동작을 발생시키게 되는데, 이때 사상 발생 수단이 사상을 발생시키는 확률이 높게 되면 부정하게 카피를 수행하는 자는 용이하게 카피가 정확하게 실행되었는지의 여부를 판단할 수 있게 된다. 그 결과 카피를 하는 자가 원본과 부정 카피에 의한 것을 비교하여 이상동작이 발생하지 않게 될 때 까지 반복해서 해석하게 됨으로써, 많은 경우는 프로텍트에 실패하게 된다.
한편, 사상 발생 수단이 사상을 발생시킬 확률이 낮게 설정되어 있는 경우에는 프로텍트의 존재 자체가 누설될 우려는 적지만, 부정 카피에 의한 것의 대부분이 사용에 견딜수 있게 되므로 부정카피를 유효하게 방지할 수 없다고 하는 문제가 있게 된다.
이와 같은 문제는 프로그램이라고 하는 소프트웨어에 관한 것에만 한정되지 않고, 반도체 집적회로장치의 회로구성에 관해서도 역시 같아서 보호해야 할 회로가 부정하게 카피 되었다고 판명 되었을 경우에 이상동작을 어떻게 발생시켜야 하는지 곤란한 문제였다.
[발명의 목적]
이에, 본 발명은 상기 사정에 비추어서 이루어진 것으로, 부정한 카피를 유효하게 방지할 수 있는 카피방지 장치를 제공함에 그목적이 있다.
[발명의 구성]
상기 목적은 실현하기 위한 본 발명의 카피방지 장치는 카피의 대상으로 될 수 있는 것이 부정하게 카피된 것인지 아닌지를 판정하는 부정카피 판정부와, 소정의 확률로 일정한 사상을 발생시키는 사상을 발생부 및, 부정카피 판정부가 부정하게 카피된 것이라고 판정함과 더불어 사상발생부가 사상을 발생시키는 경우에 소정의 이상동작을 발생시키는 이상동작 발생부를 구비하고, 부정카피 판정부는 2개 이상 부정카피 판정 수단을 갖추어 각각 독립해서 부정하게 카피된 것인지의 여부를 판정하게 되고, 사상발생부는 각각의 부정카피 판정 수단에 각각 대응하여 동수의 사상발생부를 갖추어 각각 독립해서 소정의 확률로 사상을 발생시키며, 이상동작 발생부는 각각의 부정카피 판정 수단중 어느 것이 부정하게 카피된 것이라고 판정하고, 또 사상 발생 수단중 그 판정을 수행한 부정카피 판정 수단에 대응한 것이 사상을 발생시켰을 경우에 이상동작을 발생시키는 것을 특징으로 하고 있다.
여기서 각각의 사상 발생 수단이 사상을 발생시킬 확률은 모두 달라도 좋다.
더욱이 부정카피 판정부는 반도체집적 장치의 회로 구성상에 실현되어 있고, 사상발생부 및 이상동작 발생부는 컴퓨터의 소프트웨어상에 실현되어 있어도 좋다.
[작용]
상기한 구성으로 된 본 발명에 의하면, 부정카피 판정부는 2개 이상의 부정카피 판정 수단을 갖추고, 더욱이 사상 발생부는 이 각각의 부정카피 판정 수단에 대응하여 동수의 사상발생 수단을 갖추고 있다. 부정 카피 판정 수단중 어느 것이 부정카피에 의한 것인지 판정하고, 또 이 판정을 수행한 수단에 대응한 사상발생 수단이 소정의 확률로 사상을 발생시킨 경우에 이상동작 발생부가 이상동작을 발생시킨다.
이 경우에 1개의 부정카피 판정 수단이 부정카피라고 판정하고 또 이 수단에 대응된 1개의 사상발생 수단이 사상을 발생시키면, 이상동작 발생 수단에 의해서 이상동작이 발생한다. 이로써 부정하게 카피를 수행한 자는 원본과 동일하게 카피할 수 없게 된다. 즉 프로텍트가 부가되어 있다는 사실을 알게 된다. 그리고 많은 경우 원본과 비교 해석하여 그 부정카피 판정 수단에 의해서 부가되는 프로텍트를 풀게 되는데, 이때 그 프로텍트를 풀더라도, 다른 부정카피 판정 수단이 부정카피라고 판정하고 또 그수단에 대응한 사상발생 수단에 대응한 사상발생 수단이 소정의 확률로 사상을 발생시켰을 경우에는 이상동작 발생 수단에 의해 이상동작이 다시 발생하게 되므로, 부정카피 판정 수단과 이에 대응한 사상발생 수단을 3개씩 또는 그 이상 갖춘 경우에는 이 프로텍트를 푼다 하더라도 소정의 확률로 이상동작이 발생되게 한다.
부정카피 판정 수단 및 사상 발생 수단이 각각 단일인 경우에는 부정카피인 것이 판명된 경우에 이상동작을 발생시킬 확률은 일정하게 설정된다. 따라서 이 사상발생 수단이 사상을 발생시킬 확률이 높으면, 카피를 수행하는 자는 카피를 정확하게 할 수 있는 지의 여부를 용이하게 판단할 수 있게 된다. 그 결과 원본과 부정카피에 의한 것을 비교하여 이상동작이 발생하지 않게 될 때 까지 반복해서 해석함으로써 결국 그 단일한 부정카피 판정 수단에 의해서 부가되는 프로텍트를 풀 수 있는 경우가 많게 된다.
한편, 사상발생 수단이 사상을 발생시킬 확률이 낮으면, 부정한 카피에 의한것의 대부분이 사용에 견딜수 있게 됨으로써 부정한 카피가 사실상 가능하게 된다.
그러나 각각 대응된 부정카피 판정 수단과 사상발생 수단이 복수조로 구비되어 있기 때문에, 모두 이상동작이 발생한 확률은 각각의 사상발생 수단이 사상을 발생시킬 확률을 모두 승산한 값이 되어 상당히 낮은 수치가 된다. 따라서 어느 것이든지 부정카피 판정 수단 및 이것에 대응한 사상발생 수단에 의해서 이상동작이 발생하고 카피한 자가 이프로텍트의 존재를 알아내어 푼다 하더라도, 모든 부정카피 판정 수단 및 이것에 각각 대응된 사상발생 수단에 의해서 모두 이상동작이 발생할 확률은 상당히 낮기 때문에 모든 프로텍트의 존재를 발견하는 것은 극히 곤란하게된다.
한편, 적어도 1개의 부정카피 판정 수단이 부정카피라고 판정하고 또 이것에 대응한 사상발생 수단이 사상을 발생시켜서 이상동작을 발생시킬 확률은 각각의 사상이 발생하지 않는 확률을 모두 승산하여 이것을 1에서 감산한 값이 되기 때문에 비교적 높은 수치가 된다. 그 결과 부정하게 카피를 수행하면 어느 것인가 이상동작이 발생하여 사용에 견디지 못하게 되기 때문에 이카피에 의한 것을 사용, 또는 판매 등에 사용하는 것이 불가능하게 된다.
여기서 각각의 사상 발생 수단이 사상을 발생시킬 확률이 모두 다르게 되게 있을 경우에는 높은 확률로 이상동작이 발생할 경우와, 낮은 확률로 이상동작이 발생할 경우와, 낮은 확률로 이상동작이 발생한 경우를 조합할 수 있게 되므로 유효하게 부정카피를 방지할 수 있다.
더욱이 부정카피 판정부가 반도체 집적회로 장치의 회로구성 상에 실현되어 있는 경우에는 프로텍트에 상당하는 부정카피 판정부를 일반적으로 소프트웨어 보다도 카피 되기 어려운 회로구성 상에 실현하기 때문에 이 프로텍트는 풀기 힘들게 되고, 더욱이 사상발생부 및 이상 동작 발생부가 컴퓨터의 소프트웨어 상에 실현되어 있는 경우에는 회로구성상 보다도 구성하기 쉬운 소프트웨어상에 실현하게 되므로 실현하는 것 자체가 용이하게된다.
[실시예]
이하, 본 발명은 1실시예에 따른 카피방지 장치에 대해서 도면을 참조해서 설명한다.
제1도는 본 발명의 구성을 나타낸 블록도로서, 부정카피 판정부(1), 사상발생부 (2) 및 이상동작발생부(3)를 구비하는데, 여기서 부정카피 판정부(1)는 각각독립해서 부정한 카피에 의한 것인지 아닌 지의 판정을 수행하는 복수의 부정카피 판정 수단 [1a, 1b, ...., 1n(n은 2이상의 정수)] 을 갖추고 있고, 사상발생부(2)도 마찬가지로 복수의 사상발생 수단(2a, 2b, ..., 2n)응 갖추고 있다. 또 각각 독립해서 소정의 확률로 사상을 발생시키는 이상 동작 발생부(3)는 부정카피 판정 수단(1a, 1b, ... 1n)중 어느 것이 부정 카피라고 판정되고 또 이 판정을 수행한 수단에 대응한 사상발생 수단이 소정의 확률로 사상을 발생시켰을 경우에 이상 동작을 발생시킨다.
예컨대 부정카피 판정 수단(1a)이 부정카피라고 판정하고 또 이것에 대응된 사상 발생 수단(2a)이 사상을 발생시켰을 경우에 이상동작이 발생한다. 여기서 각각의 사상발생 수단이 사상을 발생시킬 확률은 전부 동일해도 좋고 달라도 좋다.
또, 이상동작 발생부(3)는 한 개가 설치되어 있지만, 제2도와 같이 각각의 부정카피 판정 수단과 이것에 대응된 사상발생 수단마다 동수의 이상동작 발생 수단 (3a, 3b, ..., 3n)이 설치되어도 좋다. 이 경우에는 예컨대 부정카피 판정 수단(1a)이 부정 카피를 검출하고, 또 사상발생 수단(2a)이 사상을 발생 시켰을 경우에 이상 동작 발생 수단(3a) 이 이상 동작을 발생시키게 된다.
우선, 컴퓨터의 소프트웨어를 보호하는 컴퓨터 방지 장치에 대해서 설명한다.
이 경우 소프트웨어를 실행 혹은 카피할 수 있는 컴퓨터의 의 일반적인 구성을 제4도에 나타내었는 바, 제4도에서 마이크로 프로세서(30)는 ROM(31)이나 RAM (32)에 격납되어 있는 프로그램에 따라서 명령을 실행하고, 더욱이 플로피 디스크 콘트롤러 (33)를 매개해서 자기 기록 매체로서의 플로피 디스크(34)로부터 새로운 프로그램이나 데이터의 독출 혹은 기록을 수행한다. 또 마이크로 프로세서(30)는 키보드 콘트롤러(37)를 매개해서 키보드(38)로부터 독출된 데이터나 메시지 등을 CRT콘트롤러 (35)를 매개해서 CRT(36)의 화면에 표시하거나 혹은 프로그램의 실행 결과를 프린터 콘트롤러(39)를 매개해서 프린터(40)로 출력한다. 그리고 리얼타임클럭(41)은 현재의 시각을 알려주기 위한 것이다.
이와 같은 컴퓨터를 사용해서 보호해야 할 프로그램이 기억된 원본의 플로피 디스크(34a)로부터 다른 플로피 디스크(34b)로 부정하게 카피를 수행하고자 할 경우에 이것을 방지하는 장치의 동작수순을 나타낸 것이 제3도이다.
우선 원본의 플로피 디스크(34a)로부터 마이크로 프로세서(30)가 프로그램을 독출해서 [스텝(101)], 실행을 개시한다. [스텝(102)]. 그리고 A플래그를 세트하라고 하는 명령을 마이크로 프로세서(30)가 실행한다. [스텝(103)]. 이 명령의 실행은 프로그램을 한창 실행할 때에도 좋다. 그리고 이 A플래그가 세트 되었는지 아닌 지 를 판정하여[스텝(104)], 세트된 경우에는 부정하게 카피된 것이라고 판정한다. 이 A플래그의 세트 명령 및, 세트 되었는지 아닌지의 판정에 의해 부정카피를 검출하는 것은 부정카피 판정 수단이 수행한다.
여기서 A플래그를 세트 하라고 하는 명령은 예컨대 다음과 같은 것이다. 원본의 플로피 디스크(34a)에는 프로그램이 격납되어 있는 영역이외의 부분에 미리 하드싱에 어떤 홈이 붙어 있어서 그 블랭크 영역의 포맷이 파괴되면 데이터가 독출되지 않도록 되어 있는 바, 부정카피 판정 수단은 이 블랭크 영역의 데이터을 독출하도록 명령한다. 원본의 플로피 디스크(34a) 사용해서 프로그램을 동작시키는 경우에는 이 명령을 실행 하면 데이터를 독출할 수 없고 에러가 발생한다. 한편, 카피를 한 자는 이와 같은 특수한 연구가 시행되어 있다는 것을 느끼지 못하기 때문에 카피를 한 플로피 디스크(34b)의 블랭크 영역의 포맷은 파괴되어 있지 않게 된다. 따라서 이 플로피 디스크(34b)로부터 프로그램을 독출하여 실행시키게 되면 불랭크 영역의 데이터를 돌출할 수 있게되어 에러는 발생하지 않게 된다. 여기서 블랭크 영역의 데이터를 독출하라고 하는 명령을 A플래그를 세트하라고 하는 명령에 대응시키고, 이 명령을 실행한 결과 에러가 발생했을 경우에는 A플래그는 세트되고, 발생하지 않았을 경우는 A플래그는 리세트 되는 것으로 하면, 원본의 플로피 디스크(34a)로부터 프로그램을 을 돌출하여 실행시킨 경우에는 상술한 바와 같이 에러가 발생하여 A플래그가 세트 되므로, 이 플로피 디스크는 부정하게 카피된 것이 아니라고 판정되게 되고, 부정하게 카피된 플로피 디스크(34b)를 사용한 경우에는 에러가 발생하지 않아 A플러그가 세트되지 않기 때문에 부정하게 카피된 것이라고 판정할 수 있게 된다.
더욱이 사상 발생 수단은 소정의 확률로 사상을 발생 시키는데, 이것은 다음과 같이 하여 수행된다. 제4도에 나타낸 리얼타임클럭(41)으로부터 마이크로 프로세서 (30)가 현재의 시각을 독출하여[스텝(105)], 특정의 시각인지 아닌지, 예컨대 처음항이 0인지 아닌지를 판단하여, 0일 경우에는 사상이 발생하게 되고, 0이외의 수치일 경우에는 사상의 발생하지 않게 된다. 그리고 0이외의 경우에는 정상동작을 속행시키고 [스텝(106)], 0의 경우에는 이상 동작 발생 수단의 이상동작을 발생시킨다. [스텝(107)]. 이 동작 수순에서는 부정카피 판정 수단이 부정카피라고 판정한 경우에 사상발생 수단의 시상을 발생시키고 있는데, 이 동작 순서는 역순이어도 좋다. 그 경우에는 사상발생 수단이 사상을 발생시켰을 경우에 부정카피 판정 수단이 부정카피인지 아닌 지를 판정하며, 부정카피라고 판정한 경우에 이상 동작을 발생시키게 된다. 또 양자가 동시에 병행하여 동작하는 것이어도 좋다.
이와 같이 해서 부정 카피인 것이 판명되어 소정의 확률로 이상 동작이 발생하게 되면, 카피를 행한 자는 그 프로텍트의 존재를 알아내게 되는데, 이때는 그 부정카피에 의한 것과 원본을 비교 해석함으로써 결국 그 프로텍트를 풀게 되는 경우가 많다.
그러나 본 실시예 에서는 이상의 스텝(103)에서 부터 스텝(107)까지의 동작과 같은 동작이 다시 반복된다. 즉 풀린 프로텍트와는 다르게 다른 부정 카피 판정수단에 의해서 야기된 프로텍트가 별도로 존재하게 된다. 이 부정 카피 판정 수단에 의해 우선 B플래그를 세트하라고 하는 명령이 명령되어 마이크로 프로세서(30)가 이를 실행한다. [스텝(111)]. 이 B플래그의 세트명령은 상술한 A플래그의 세트명령과 같은 것이어도 좋은데, 이 B플래그가 세트 되었는지 아닌 지를 판정하여[스텝(112)], 세트된 경우에는 정규의 플로피 디스크라고 판정하여 정상동작을 속행하고, 세트되어 있지 않은 경우에는 부정하게 카피 된 것이라고 판정한다. 그리고 이 판정을 행한 수단에 대응한 사상 발생 수단이 스텝(113)의 동작을 수행하여 사상이 발생하지 않은 경우[스텝(114)]에는 정상동작이 속행되고 사상이 발생한 경우에는 이상동작 발생 수단에 의해 이상동작이 발생한다. [스텝(115)]. 이 경우에 최대값이 다른 리얼타임클럭을 복수개 갖추어 스텝(106)에서 사용된 리얼타임클럭(41)과는 클럭을 사용함으로써 이상동작의 발생 확률을 변화시켜도 좋다.
이와 같이 1개의 프로텍트를 풀었다고 하더라도 다른 부정카피 판정 수단에 의해서 초래되는 프로텍트가 복수개 존재하기 때문에 소정의 확률로 다시 이상동작이 발생하게 된다. 따라서 카피를 한자가 모든 프로텍트가 폴렸는지의 여부를 판단 하기가 극히 곤란하게 됨으로써 카피한 플로피 디스크(24b)를 본격적으로 사용하거나 판매를 단행할 수 없게 된다.
또한, 임시로 스텝(107) 및 스텝(115)에서 이상 동작이 순차 발생하여 쌍방의 프로텍트가 풀렸다고 하더라도 더욱이 다른 부정카피 판정 수단에 의한 프로텍트가 또 존재하여, 스텝(103)에서 스텝(107), 또는 스텝(111)에서 스텝(115)까지 각각의 동작과 같은 동작이 스텝(121)부터 스텝(125)에서 다시 이루어진다. 즉 C플래그의 세트가 명해져서 실행되어 (스텝121), 세트된다면 정상동작이 속행되고, 세트되지 않는 경우에는 [스텝(112)] 클럭으로 부터 시각을 독출한다. [스텝(123)]. 이 시각이 0이 아닌 경우에는 정상동작을 속행하고, 0일 경우에만 이상 동작을 발생시킨다. [스텝(125 )].
이와 같이 복수의 프로텍트가 존재하면, 그 존재를 모두 알아내어 푸는 것은 극히 곤란한 일이 되므로 부정한 카피를 유효하게 방지할 수 있게 된다.
여기서 각각의 사상발생 수단이 사상을 발생시킬 확률을 모두 승산한 값은, 상당히 낮은 수치로 되기 때문에 모든 이상동작이 발생하는 경우는 드물게 된다. 따라서 카피를 한 자는 모든 프로텍트의 존재를 알아채지 못하고 끝내므로, 프로텍트를 피하는 것이 보다 곤란해지게 된다. 이것은 어느 것이든지 1개의 사상 발생 확률을 낮게 설정하여 둠으로서도 가능하고, 또 모두의 확률을 낮은 확률로 하여 두어도 좋다.
더욱이 사상이 발생하지 않을 각각의 확률을 모두 승산하여 이 값을 1부터 감산한 값은 비교적 높은 값이 되어, 적어도 1개의 이상동작이 발생할 확률은 높게 되므로, 부정하게 카피한 플로피 디스크 (34b)의 사용이 곤란해져서 결국 부정카피가 유효하게 방지된다.
이상의 카피방지 장치는 소프트웨어의 보호를 목적으로 한 것이지만, 반도체집적회로 장치에서 회로구성을 부정카피로부터 보호하는 장치는 다음과 같은 구성을 갖추고 있다.
제5도는 NAND회로의 구성을 나타낸 회로도이고, 이것은 부정카피 판정 수단을 회로상에 실현한 것에 상당한다.
공핍형 트랜지스터(DTr)가 전원 전압(VDD)에 의해서 풀업되어 있고, 트랜지스터(Tr1)의 게이트 전극에 접속된 신호선(A)과, 트랜지스터(Tr2)의 게이트 전극에 접속된 신호선(B)의, 전위가 함께 "1"이 되면, 접지(GND)와 접속되게 신호선(Z)의 전위가 0으로 된다. 여기서 신호선(B)는 입력단자(B1∼B6)를 갖춘 NAND게이트(C)의 출력단자에 접속되어 있다. 따라서 모든 입력단자(B1∼B6)에 "1"의 신호가 부여되었을 경우 이외에는 신호선(B)의 전위는 "1"이 되고, 더욱이 신호선(A)이 "1"일 경우에만 신호선(Z)은 0이다.
이 회로를 N-MOS반도체 장치에서 실현하면, 제6도와 같은 배치의 패턴이 된다. 역서 신호선(A) 및 (B)는 폴리 실리콘으로 이루어지고, 신호선(Z)과의 교점 (51)의 영역에는 제조단계에서 이미 불순물 이온을 주입하여 도통시켜 둔다. 이로써 트랜지스터(Tr2)가 무효가 되고, 신호선(B)의 전위에 구애받지 않고, 즉 NAND게이트의 입력단자(1B∼B6)에 입력되는 신호여하에 상관없이 신호선(z)의 전위는 A의 관계에 있게 된다. 그러나 반도체 집적회로 장치의 회로구성의 카피는 일반적으로 장치의 외관을 현미경 등을 사용해서 보면서 수행되며 불순물 이온이 주입되어 있는 것은 발견되지 않기 때문에 카피된 회로에서는 이온 주입은 수행되어 있지 않아 Z의 전위는
Figure kpo00001
의 관계로 되게 된다.
입력단자(B1∼B6)의 입력신호중 적어도 1개가 0일 경우는 원본의 회로와 카피된 회로와 카피된 회로에서는 동일하게 정상 동작을 하기 때문에 이와 같은 프로텍트가 존재하는 것을 알아내지 못하게 된다. 그리고 입력단자(B1∼B6)의 신호가 모두 1일경우에는 원본과는 다른 동작, 즉 이상동작이 발생하게 된다. 이와 같은 회로상의 연구를 시행 함으로써 부정카피가 수행 되었을 경우에는 소정의 확률로 이상동작이 일어나게 된다. 예컨대 각각의 입력신호가 "1"또는 "0"이 되는 확률이 같다고 하면, 이상동작의 발생확률은 1/26로 상당히 낮은 것이 된다. 물론, 이경우에도 이 NAND게이트(C) 의 입력 신호수를 변환시킴으로써 혹은 입력신호가 "1"또는 "0"이 될 확률을 변한시킴으로써 그 이상동작의 발생확률을 용이하게 변환시킬 수 있다.
그리고 이와 같은 고안을 회로상에 복수개 설치하여 둠으로서 상술한 소프트웨어를 보호하는 장치와 모두 같은 효과를 거둘 수 있다.
또한, 본 발명은 상기 실시예에 한정되지 않고, 여러 가지로 변형하여 실시할 수 있다. 예컨대 소프트웨어를 보호하는 장치에 있어서 부정카피 판정수단이 부정카피인지 아닌지를 판단하는 동작 수순은 본 실시예와 다른 것이어도 좋다. 또 사상 발생 수단이 사상을 발생시킬 확률은 본 실시예와 같이 하드웨어상의 타이머를 사용해서 설정하는 것이 아니어도 좋고, 소프트웨어상에서 특정의 루틴을 실행 할적마다 카운트업 되어서 소정 값에 도달하면 클리어되는 것을 사용해도 좋다.
[발명의 효과]
이상 설명한 것 같이 본 발명의 카피방지 장치에 의하면, 부정카피 판정 수단과 소정의 확률로 사상을 발생시키는 사상 발생 수단을 대응시켜 복수개 갖추고 있기 때문에 부정하게 카피가 행해졌을 때에 어느 것의 수단에 의해서 이상동작이 발생할 확률은 각각의 사상이 발생하지 않을 확률을 모두 승산해서 1에서 감산한 값이 되어 비교적 높게 된다. 따라서 카피한 것은 사용하기가 어렵게 된다. 한편, 모든 이상동작이 발생할 확률은 각각의 사상 발생 확률을 모두 승산한 값이 되기 때문에 상당히 낮아 각각의 부정 카피 판정 수단에 의해서 초래되는 모든 프로텍트의 존재를 카피를 한 자는 알아내지 못하게 된다. 이 때문에 카피한 것을 본격적으로 사용하거나 판매 등을 단행할 수 없게 되므로 유효하게 부정카피를 방지할 수 있게 된다.

Claims (3)

  1. 카피 대상이 될 수 있는 것이 부정하게 카피된 것인지 아닌 지를 판정하는 부정카피 판정부(1)와, 소정의 확률로 일정한 사상을 발생 시키는 사상 발생(2) 및, 상기 부정카피 판정부가 부정하게 카피된 것임을 판정하고 또 상기 사상발생부가 상기 사상를 발생 시켰을 경우에 소정의 이상동작을 발생시키는 이상동작 발생부(3)를 구비한 카피방지 장치에 있어서, 상기 부정카피 판정부(1)는 2개 이상의 부정카피 판정 수단 (1a∼1n)을 갖추어 각각 독립적으로 부정하게 카피된 것인지 아닌 지를 판정하고, 상기 사상 발생부(2)는 상기 각각의 부정카피 판정 수단에 각각 대응해서 동수의 사상발생 수단(2a∼2n)을 갖추어 각각 독립적으로 소정의 확률로 상기 사상을 발생시키며, 상기 이상동작 발생부(3)는 상기 각각의 부정카피 판정수단중 어느 것이 부정하게 카피된 것인지 판정함과 동시에 상기 사상 발생 수단중 그 판정을 수행한 부정카피 판정 수단에 대응된 것이 상기 사상을 발생 시켰을 경우에 이상동작을 발생시키는 것을 특징으로 하는 카피방지 장치.
  2. 제 1항에 있어서, 상기 각각의 사상발생 수단풀 수이 상기 사상을 발생시킬 확률이 모두 다르게 되어 있는 것을 특징으로 하는 카피방지 장치.
  3. 제1항에 있어서, 상기 부정카피 판정부는 반도체집적 장치의 회로구성에 의해 실현되어 있는 것이고, 상기사상 발생부 및 상기 이상동작 발생부는 컴퓨터의 소프트웨어에 의해 실현되어 있는 것을 특징으로 하는 카피방지 장치.
KR1019900012733A 1989-08-18 1990-08-18 카피방지 장치 KR920008425B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP1-212173 1989-08-18
JP212173 1989-08-18
JP1212173A JPH0375827A (ja) 1989-08-18 1989-08-18 コピー防止装置

Publications (2)

Publication Number Publication Date
KR910005163A KR910005163A (ko) 1991-03-30
KR920008425B1 true KR920008425B1 (ko) 1992-09-28

Family

ID=16618115

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900012733A KR920008425B1 (ko) 1989-08-18 1990-08-18 카피방지 장치

Country Status (5)

Country Link
US (1) US5295187A (ko)
EP (1) EP0413350B1 (ko)
JP (1) JPH0375827A (ko)
KR (1) KR920008425B1 (ko)
DE (1) DE69032305T2 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475625A (en) * 1991-01-16 1995-12-12 Siemens Nixdorf Informationssysteme Aktiengesellschaft Method and arrangement for monitoring computer manipulations
US5572589A (en) * 1993-12-09 1996-11-05 Microsoft Corporation Disc serialization
JP3304216B2 (ja) * 1994-09-30 2002-07-22 富士写真フイルム株式会社 磁気記録/再生方法
US5592549A (en) * 1995-06-15 1997-01-07 Infosafe Systems, Inc. Method and apparatus for retrieving selected information from a secure information source
US6067622A (en) * 1996-01-02 2000-05-23 Moore; Steven Jerome Software security system using remove function to restrict unauthorized duplicating and installation of an application program
JPH1093914A (ja) * 1996-09-18 1998-04-10 Sony Corp データ伝送方法、データ送信装置、データ受信装置のパラメータ設定方法、データ受信装置、データ伝送システム、再生方法、及び再生装置
US6081897A (en) * 1997-01-13 2000-06-27 Recording Industry Of America Apparatus for monitoring and preventing unauthorized copying of digital data
US6192475B1 (en) 1997-03-31 2001-02-20 David R. Wallace System and method for cloaking software
WO1999013392A2 (de) * 1997-08-15 1999-03-18 Reno Byckiewicz Schutz von software-produkten
FR2783658B1 (fr) * 1998-09-23 2000-10-13 Thomson Multimedia Sa Protection contre la copie de donnees numeriques stockees sur un support d'informations
DE69924813T2 (de) * 1998-12-02 2006-01-12 Matsushita Electric Industrial Co., Ltd., Kadoma Datenkopiersystem, Datenkopiergerät, Datenkopierverfahren, und Aufzeichnungsmedium
US20080282208A1 (en) * 2007-01-11 2008-11-13 Brent Alan Anderson Integrated Circuit Having Anti-counterfeiting Measures
US20080282206A1 (en) * 2007-01-11 2008-11-13 Brent Alan Anderson Structure for Designing an Integrated Circuit Having Anti-counterfeiting Measures
US7453281B2 (en) * 2007-01-11 2008-11-18 International Business Machines Corporation Integrated circuit with anti-counterfeiting measures
US8837721B2 (en) * 2007-03-22 2014-09-16 Microsoft Corporation Optical DNA based on non-deterministic errors
US8788848B2 (en) * 2007-03-22 2014-07-22 Microsoft Corporation Optical DNA
US20100214894A1 (en) * 2009-02-20 2010-08-26 Microsoft Corporation Optical Medium with Added Descriptor to Reduce Counterfeiting
US9135948B2 (en) * 2009-07-03 2015-09-15 Microsoft Technology Licensing, Llc Optical medium with added descriptor to reduce counterfeiting
JP5097737B2 (ja) 2009-03-27 2012-12-12 株式会社日立ハイテクノロジーズ 自動分析装置及びサンプル分注ノズル
JP5255553B2 (ja) 2009-12-11 2013-08-07 株式会社日立ハイテクノロジーズ 自動分析装置用分注ノズル及びそれを搭載した自動分析装置
US9195810B2 (en) 2010-12-28 2015-11-24 Microsoft Technology Licensing, Llc Identifying factorable code
WO2017183099A1 (ja) 2016-04-19 2017-10-26 三菱電機株式会社 中継装置
US10318903B2 (en) 2016-05-06 2019-06-11 General Electric Company Constrained cash computing system to optimally schedule aircraft repair capacity with closed loop dynamic physical state and asset utilization attainment control

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58116571A (ja) * 1981-12-29 1983-07-11 富士通株式会社 マイクロコンピユ−タに於ける命令暗号化方式及びその実施に使用されるマイクロコンピユ−タ
US4584641A (en) * 1983-08-29 1986-04-22 Paul Guglielmino Copyprotecting system for software protection
US4583011A (en) * 1983-11-01 1986-04-15 Standard Microsystems Corp. Circuit to prevent pirating of an MOS circuit
GB2173327A (en) * 1985-03-15 1986-10-08 David Allan Phillips Copy protecting computer programs
US4685055A (en) * 1985-07-01 1987-08-04 Thomas Richard B Method and system for controlling use of protected software
FR2607953A1 (fr) * 1986-12-03 1988-06-10 Matityahou Moshe Procedes de marquage et de reconnaissance d'un support de logiciel, pour le proteger de la copie illegitime, et combinaison d'un logiciel et d'un tel support
US4766516A (en) * 1987-09-24 1988-08-23 Hughes Aircraft Company Method and apparatus for securing integrated circuits from unauthorized copying and use
JPH01129328A (ja) * 1987-11-13 1989-05-22 Toshiba Corp コピー防止装置

Also Published As

Publication number Publication date
EP0413350A2 (en) 1991-02-20
JPH0570176B2 (ko) 1993-10-04
EP0413350A3 (en) 1992-02-19
DE69032305T2 (de) 1998-10-08
DE69032305D1 (de) 1998-06-18
KR910005163A (ko) 1991-03-30
EP0413350B1 (en) 1998-05-13
US5295187A (en) 1994-03-15
JPH0375827A (ja) 1991-03-29

Similar Documents

Publication Publication Date Title
KR920008425B1 (ko) 카피방지 장치
EP0316805B1 (en) Copy prevention apparatus and method therefor
EP0335919B1 (en) System and method for securing integrated circuits from unauthorized copying
US6512454B2 (en) Tamper resistant enclosure for an electronic device and electrical assembly utilizing same
EP0408689B1 (en) System and method of protecting integrity of computer data and software
EP0368520B1 (en) Data entry keyboard apparatus
US20030084336A1 (en) Microprocessor resistant to power analysis
EP2158606B1 (en) Integrated circuit protection and detection grid
WO1983004356A1 (en) Software protection methods and apparatus
EP1365308B2 (en) Method of masking a private key used in a cryptographic operation
EP0436365B1 (en) Method and system for securing terminals
JP4537003B2 (ja) レジスタ内容の不正操作からコンピュータを保護するための方法及びこの方法を実施するためのコンピュータ
CN111382466B (zh) 微控制器的保护
JP2989200B2 (ja) 個人識別装置
US5826009A (en) Protection of software from physical and electronic interrogation by sealing and checking password
JPH0119179B2 (ko)
US6970386B2 (en) Method and apparatus for detecting exposure of a semiconductor circuit to ultra-violet light
US9483641B2 (en) Method and device for the performance of a function by a microcircuit
JPH05313772A (ja) 画面機密保護方式
KR20010078013A (ko) 의사 랜덤 이진 시퀀스 프로그램 인터록을 이용한 템퍼레지스턴스
CN117056917B (zh) Bad人机接口设备攻击检测防御装置、方法、电子设备及存储介质
Feng et al. A dynamic active shield against shield rerouting attack
DE10341593B4 (de) Prozessor und Verfahren zum Ausführen einer Sequenz von Befehlen
CN114626027A (zh) 一种保护计算机软件的方法及装置
JP2001118045A (ja) Icモジュール

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20030901

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee