KR960038599A - Execution Program Anti-piracy Device and Method - Google Patents

Execution Program Anti-piracy Device and Method Download PDF

Info

Publication number
KR960038599A
KR960038599A KR1019960011767A KR19960011767A KR960038599A KR 960038599 A KR960038599 A KR 960038599A KR 1019960011767 A KR1019960011767 A KR 1019960011767A KR 19960011767 A KR19960011767 A KR 19960011767A KR 960038599 A KR960038599 A KR 960038599A
Authority
KR
South Korea
Prior art keywords
program
copy
protected
data
processor
Prior art date
Application number
KR1019960011767A
Other languages
Korean (ko)
Other versions
KR100204382B1 (en
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 KR1019960011767A priority Critical patent/KR100204382B1/en
Publication of KR960038599A publication Critical patent/KR960038599A/en
Application granted granted Critical
Publication of KR100204382B1 publication Critical patent/KR100204382B1/en

Links

Classifications

    • 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
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Remote Sensing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Storage Device Security (AREA)

Abstract

프로그램 코드와 관련 데이타를 복사하는 방법을 결정하기가 불가능하거나 적어도 비실제적으로 하여 복제방지가 안된 환경에서 프로그램 코드를 실행하는 복제 방지시스템이 제공된다. 상기 프로세서에 의해 필요해질때 직접회로 내부에 구비된 암호화된 프로그램 데이타와 복제 방지 회로를 구비하는 프로그램 메모리가 프로그램 데이타를 암호화하기 위해 제공된다. 복제 방지가 안된 시스템의 프로세서에 의해 실행되는 처리단계의 일 부분이 상기 프로세서에 제공되지 않는 해독된 프로그램 데이타의 일부를 사용하는 복제 방비 회로 내부에 있는 복제 방지 시스템에서 실행된다. 프로그램 데이타는 프로세서로 부터 복제 방지칩으로 행해지는 적절한 요청에 기초하여 분해된다. 휘발성 메모리에 저장된 키 값은 해독과정에 사용되고 칩 껍질을 벗기는 과정이 상기 휘발성 메모리에 접근을 제공하기 전에 그 내용이 손실되도록 상기 휘발성 메모리는 상기 집적회로에 위치한다.There is provided a copy protection system for executing the program code in an environment in which it is impossible to determine how to copy the program code and related data or at least in a non-practical manner. A program memory having encrypted program data and a copy protection circuit provided in the integrated circuit when needed by the processor is provided for encrypting the program data. A portion of the processing steps executed by the processor of the non-copy protected system is performed in the copy protection system inside the copy protection circuit using a portion of the decrypted program data not provided to the processor. The program data is decomposed based on an appropriate request made from the processor to the copy protection chip. The key value stored in the volatile memory is used in the decryption process and the volatile memory is located in the integrated circuit such that the content is lost before the chip peeling process provides access to the volatile memory.

Description

실행 프로그램 무단복제 방지장치 및 방법Execution Program Anti-piracy Device and Method

본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음Since this is a trivial issue, I did not include the contents of the text.

제1도는 복제 방지칩을 카트리지에 구비하여 플러그 인 버스를 통해 프로세서에 연결되는 카트리지에 프로그램 데이타가 저장된 본 발명에 따른 컴퓨터 시스템의 블록도이다, 제2도는 복제 방지칩의 더 상세한 블록도 이다, 제3도는 카트리지에 사용되는 암호화된 메모리에 프로그램을 암호화하여 저장하기 위해 사용되는 시스템의 블록도이다, 제4A도 및 4B도는 프로세서에 의해 실행되는 프로그램의 플로우 차트이다.FIG. 1 is a block diagram of a computer system according to the present invention in which a copy protection chip is provided in a cartridge and program data is stored in a cartridge connected to the processor via a plug-in bus; FIG. 2 is a more detailed block diagram of a copy protection chip; Figure 3 is a block diagram of a system used to encrypt and store a program in an encrypted memory used in a cartridge. Figures 4A and 4B are flow charts of a program executed by the processor.

Claims (32)

컴퓨터 시스템으로 부터 복제 방지된 프로그램의 복제가 금지되는 컴퓨터 시스템에서 복제 방지된 프로그램을 실행하는 장치에 있어서, 복제 방지된 프로그램 데이타가 암호화된 형태로 저장되는 프로그램 메모리와, 상기 프로그램 메모리와 결합되고, 상기 복제 방지된 프로그램을 명백한 부분과 나머지 부분으로 해독하는 수단과; 상기 명백한 부분을 프로세서가 접근할 수 있는 메모리부에 제공하는 수단과; 상기 복제 방지된 프로그램의 나머지 부분을 저장하고 상기 프로세서가 직접 접근할 수 없는 나머지 메모리부와; 상기 프로세서에 의한 사용을 위해 상기 프로그램의 나머지 부분의 서브 셋트를 요청하는 수단과; 상기 복제 방지칩에 구비되며 상기 프로세서에 대해 저장된 상태로 주어지고 상기 요청된 서브 셋트가 요청되는 것이 예측되는 서브 셋트인지를 점검하는 수단으로 구성되는 복제 방지칩을 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.An apparatus for executing a copy-protected program in a computer system in which copying of copy-protected programs from a computer system is prohibited, the apparatus comprising: a program memory in which copy-protected program data is stored in an encrypted form; Means for decrypting said copy-protected program into an explicit portion and a remaining portion; Means for providing said explicit portion to a memory portion accessible by the processor; A remaining memory part for storing the remaining part of the copy-protected program and for which the processor can not directly access; Means for requesting a subset of the remainder of the program for use by the processor; And a means for checking whether the requested subset is a subset that is provided to the copy protection chip and which is stored in the stored state for the processor and in which the requested subset is predicted to be requested. Unauthorized copy protection device. 제1항에 있어서, 상기 프로그램 메모리에 저장된 복제 방지된 프로그램은 프로그램부분과 함께 저장되고 나머지 부분과는 분리되어 저장되는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.The apparatus of claim 1, wherein the copy-protected program stored in the program memory is stored together with the program portion and is stored separately from the remaining portion. 제1항에 있어서, 상기 나머지 부분은 복제 방지된 프로그램의 분기 명령 셋트인 것을 특징으로 하는 실행프로그램의 무단 복제 방지장치.The apparatus of claim 1, wherein the remaining portion is a branch instruction set of a copy-protected program. 제3항에 있어서, 상기 복제 방지칩은 최근에 실행된 분기 명령에 기초하여 분기 명령을 저장하기 위한 수단을 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.4. The apparatus according to claim 3, wherein the copy protection chip comprises means for storing a branch instruction based on a branch instruction that has been recently executed. 제1항에 있어서, 상기 분기 명령을 해독하는 수단은 해독 키와 함께 형성되는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.The apparatus according to claim 1, wherein the means for decrypting the branch instruction is formed with a decryption key. 제5항에 있어서, 상기 해독키는 휘발성 메모리에 저장되는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.6. The apparatus of claim 5, wherein the decryption key is stored in a volatile memory. 제6항에 있어서, 상기 휘발성 메모리는 복제 방지칩 위에 배치되며, 상기 복제 방지칩은 상기 휘발성 메모리의 적어도 일부를 덮어서 모호하게 만드는 덧씌운 회로를 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.7. The apparatus of claim 6, wherein the volatile memory is disposed on a copy protection chip, the copy protection chip comprising overlaid circuitry that covers and obscures at least a portion of the volatile memory. . 제7항에 있어서, 상기 덧씌운 회로가 그것의 제거가 그 전원을 제거하도록 휘발성 메모리용 전원과 결합되어 있는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.8. The apparatus of claim 7, wherein the overlaid circuitry is coupled to a power supply for volatile memory such that its removal removes its power source. 제1항에 있어서, 상기 프로세서의 명령 실행 속도를 결정하기 위한 클록 수단을 상기 클록 수단이 그 속도가 예상 범위 내라는 것을 결정할 때 프로세서 요청에 반응하는 복제 방지칩내에 설치되는 클록 수단을 더 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.2. The system of claim 1, further comprising clock means installed in a copy protection chip responsive to a processor request when the clock means determines that the speed is within the expected range, Wherein the program is a program for preventing unauthorized copying of an execution program. 제1항에 있어서, 암호와 전에 압축된 복제 방지된 프로그램을 해독 후에 압축 해제하는 데이타 압축 해제기를 더 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.The apparatus according to claim 1, further comprising a data decompressor for decompressing the decrypted program and a pre-compressed copy-protected program before decompression. 제10항에 있어서, 상기 압축 해제기는 엔트로피 디코더인 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.11. The apparatus of claim 10, wherein the decompressor is an entropy decoder. 제1항에 있어서, 그 결정된 체크섬이 예상되는 체크섬과 맞을 때만 프로세서 요청에 반응하는 복제 방지칩 내에 구비되고 프로세서 버스의 억세스의 체크섬을 결정하는 체크섬 수단을 더 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.The method of claim 1, further comprising checksum means in the copy protection chip responsive to the processor request only when the determined checksum matches the expected checksum and determining checksum of accesses of the processor bus. Copy protection device. 제1항에 있어서, 키 값에 의해 역으로 형성되고 결정되는 패턴에 따라 복제 방지된 프로그램의 데이타 요소를 재 배열하는 데이타 스크램블 장치를 더 구비하며, 여기서 상기 복제 방지된 프로그램은 프로그램 메모리에 저장되기 전에 상기 데이타 스크램블 장치의 역 배열 동작에 의해 재 배열되는 것을 특징으로 하는 실행프로그램의 무단 복제 방지장치.The data scrambler according to claim 1, further comprising a data scrambler for rearranging data elements of a copy protected program according to a pattern formed and determined inversely by a key value, wherein the copy protected program is stored in a program memory Wherein the data scrambling device is rearranged by an inverse arrangement operation of the data scrambler. 제13항에 있어서, 상기 데이타 스크램블 장치는 다수의 퍼스트-인 퍼스트- 아웃 버퍼들을 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.14. The apparatus of claim 13, wherein the data scrambler comprises a plurality of first-in first-out buffers. 제13항에 있어서, 상기 역으로 형성되고 결정되는 패턴은 의사 난수 발생기의 출력을 기준으로 하여 발생되는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.14. The apparatus of claim 13, wherein the reversed pattern is generated based on an output of the pseudo-random number generator. 제1항에 있어서, 해독수단이 의사 난수 발생기의 출력과 그 키값에 따라 해독동작을 하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.The apparatus according to claim 1, wherein the decryption means performs a decryption operation according to the output of the pseudo-random number generator and the key value. 제1항에 있어서, 체크수단이 예상되지 않은 서브 셋트가 요청된 것을 검출한 때, 상기 복제 방지칩의 동작과 프로그램의 흐름을 변경하는 변경수단을 더 구비하고, 여기서 상기 변경동작에 의해 프로그램의 흐름 또는 동작에 따른 부정적 효과가 발생하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.The apparatus according to claim 1, further comprising changing means for changing the operation of the copy protection chip and the flow of the program when the checking means detects that an unexpected subset is requested, Wherein a negative effect of the flow or operation occurs. 제17항에 있어서, 상기 변경수단은 프로세서를 정지시키는 수단인 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.The apparatus according to claim 17, wherein the changing means is means for stopping the processor. 무단 복제로 부터 프로그램 데이타를 복제 방지하는 장치에 있어서, 상기 프로그램 데이타로 부터 분기 명령을 추출하는 분기명령 분리기와; 압축된 데이타를 형성하기 위하여 추출된 분기명령과 프로그램 데이타의 나머지 부분을 압축하는 압축기 및 상기 압축된 데이타를 암호화하는 암호기를 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.An apparatus for copy protection of program data from unauthorized copying, comprising: a branch instruction separator for extracting a branch instruction from the program data; A compressor for compressing the extracted branch instruction and the remaining portion of the program data to form compressed data, and an encryption unit for encrypting the compressed data. 제19항에 있어서, 상기 분기명령 분리기는 프로그램 데이타의 체크섬을 표시하는 체크섬 데이타를 자동으로 발생시키는 수단; 및 프로그램 데이타 처리과정의 타이밍을 억세스하기 위해 사용되는 타이밍 정보를 자동으로 발생시키는 수단을 구비함으로써 상기 체크섬 데이타와 타이밍 정보가 압축기에 의해 압축되고 암호기에 의해 암호화되는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지장치.20. The apparatus of claim 19, wherein the branch instruction separator comprises: means for automatically generating checksum data indicative of a checksum of program data; And means for automatically generating timing information used for accessing the timing of the program data processing process so that the checksum data and the timing information are compressed by the compressor and encrypted by the encoder. Prevention device. 복제 방지가 안된 프로세서 버스를 거쳐 얻어지는 정보로 부터 이용가능한 형태로 복제 방지된 프로그램의 복제를 방지하기 위해 복제 방지 프로그램을 실행하는 방법에 있어서, 복제 방지가 안된 프로세서로 부터 하나 이상의 프로그램 명령 또는 하나 이상의 프로그램 데이타 요소중 적어도 하나를 구비하는 프로그램 데이타 블록의 요청을 받는 단계와; 복제 방지된 상태로 상기 프로그램 데이타 블록을 명백한 부분과 나머지 부분으로 해독하는 단계와; 복제 방지가 안된 프로세서로 상기 명백한 부분을 제공하는 단계와; 상기 복제 방지가 안된 프로세서로 부터 나머지 부분 요소의 요청을 받는 단계와; 복제 방지가 안된 프로세서의 상태와 이전의 요청을 받아 그 요청이 적절한지를 점검하는 단계와; 상기 복제 방지가 안된 프로세서로 부터 나머지 부분의 요청을 처리하는 단계와; 및 밑에 놓인 나머지 부분 요소가 요청에 반응한 정보 내용을 참조하여 이용 가능하지 않다고 결정되는 경우에 상기 요청에 반응하는 단계를 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지방법.A method for running a copy protection program to prevent copying of a copy protected program in a form usable from information obtained via a non-copy protected processor bus, the method comprising: Receiving a request for a program data block comprising at least one of program data elements; Decrypting the program data block into an explicit portion and a remaining portion in a copy protected state; Providing said explicit portion to a non-copy protected processor; Receiving a request for the remaining partial elements from the copy-protected processor; Receiving a previous request for the status of the non-copy protected processor and checking if the request is appropriate; Processing a remaining portion of the request from the non-copy-protected processor; And responding to the request if the remaining underlying element is determined not to be available by reference to information content responsive to the request. 제21항에 있어서, 상기 복제 방지된 프로그램을 형성하기 위하여 프로그램을 명백한 부분과 나머지 부분으로 분리하는 단계와; 및 상기 복제 방지된 프로그램의 권리없는 복제를 의도하는 무단 공격자에 의해 접근 가능한 메모리에 복제 방지된 프로그램을 저장하기 전에 복제 방지된 프로그램을 암호화하는 단계를 더 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지방법.22. The method of claim 21, further comprising: separating the program into an explicit portion and a remaining portion to form the copy-protected program; And encrypting the copy-protected program prior to storing the copy-protected program in a memory accessible by an unauthorized attacker intended for unauthorized copying of the copy-protected program. How to prevent. 제22항에 있어서, 상기 분리하는 단계는 복제 방지된 프로그램으로 부터 복제 방지된 프로그램의 분기명령을 분리하는 단계인 것을 특징으로 하는 실행 프로그램의 무단 복제 방지방법.The method according to claim 22, wherein said separating step is a step of separating a branch instruction of a copy-protected program from a copy-protected program. 제21항에 있어서, 상기 해독단계는 해독 키와 함께 실행되는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지방법.22. The method of claim 21, wherein the decryption is performed with a decryption key. 제24항에 있어서, 상기 해독키를 휘발성 메모리에 저장하는 단계를 더 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지방법.25. The method of claim 24, further comprising the step of storing the decryption key in a volatile memory. 제25항에 있어서, 상기 휘발성 메모리의 전원을 공급하는 단계와; 그 회로가 방해를 받을 때 상기 휘발성 메모리로 부터 전원이 제거되고 그 회로의 제거없이 상기 휘발성 메모리의 내용을 측정할 수 없도록 회로에 의해 상기 휘발성 메모리를 덮는 단계를 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지방법.26. The method of claim 25, further comprising: supplying power to the volatile memory; And covering the volatile memory with a circuit so that when the circuit is disturbed, power is removed from the volatile memory and the contents of the volatile memory can not be measured without removal of the circuit. How to prevent piracy. 제21항에 있어서, 요청에 반응하여 정보를 제공하기 전에 상기 프로세서의 명령 실행 속도를 점검하는 단계를 더 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지방법.22. The method of claim 21, further comprising checking the instruction execution speed of the processor before providing information in response to the request. 제21항에 있어서, 암호화되기 전에 압축되는 복제 방지 프로그램을 해독한 후에 압축 해제하는 단계를 더 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지방법.The method according to claim 21, further comprising decompressing and then decompressing the copy protection program compressed before being encrypted. 제21항에 있어서, 프로세서 버스에 대해 버스 억세스의 체크섬을 결정하는 단계와; 실행이 예상되는 복제 방지된 프로그램의 명령에 대해 예산되는 사전에 계산된 체크섬과 상기 체크섬을 비교하는 단계; 및 상기 체크섬과 사전에 계산된 체크섬이 다를 때, 상기 복제 방지된 프로그램의 방해받지 않는 동작을 막는 단계를 더 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지방법.22. The method of claim 21, further comprising: determining a checksum of the bus access to the processor bus; Comparing the checksum with a previously computed checksum that is budgeted for a command of a copy-protected program that is expected to be executed; And preventing an unobtrusive operation of the copy-protected program when the checksum differs from a previously computed checksum. 제21항에 있어서, 상기 공격자에 의해 접근 가능한 메모리에 저장하기 전에 키 값에 의해 역으로 형성되고 결정되는 패턴에 따라 복제 방지된 프로그램의 데이타 요소의 순서를 스크램블하는 단계; 및 상기 프로세서의 적절한 요청에 따라 데이타 요소의 순서를 디스크램블하는 단계를 더 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지방법.22. The method of claim 21, further comprising: scrambling the order of data elements of the copy protected program according to a pattern formed and determined inversely by a key value before being stored in a memory accessible by the attacker; And descrambling the order of the data elements according to an appropriate request of the processor. 제30항에 있어서, 상기 스크램블 단계는 역으로 형성되고 결정되는 패턴을 형성하기 위해 사용되는 의사 난수 발생 단계를 더 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지방법.32. The method of claim 30, wherein the scrambling step further comprises a pseudo-random number generation step used to form a pattern that is formed and determined inversely. 무단 복제에 대항하여 프로그램을 복제 방지하는 방법에 있어서, 비 분기명령과 분기명령의 순열에 따라 프로그램 코드를 분리하는 단계와; 압축된 데이타의 제1 셋트를 형성하기 위해 비 분기명령을 압축하는 단계와; 압축된 데이타의 제2셋트를 형성하기 위해 분기명령을 압축하는 단계; 및 상기 압축된 데이타의 제1 및 제2 셋트를 암호화하는 단계를 구비하는 것을 특징으로 하는 실행 프로그램의 무단 복제 방지방법.A method for copy protection of a program against unauthorized copying, the method comprising: separating program codes according to a permutation of a non-branch instruction and a branch instruction; Compressing a non-branch instruction to form a first set of compressed data; Compressing the branch instruction to form a second set of compressed data; And encrypting the first and second sets of the compressed data.
KR1019960011767A 1996-04-18 1996-04-18 Method and apparatus for securing excutable programs against copying KR100204382B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960011767A KR100204382B1 (en) 1996-04-18 1996-04-18 Method and apparatus for securing excutable programs against copying

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960011767A KR100204382B1 (en) 1996-04-18 1996-04-18 Method and apparatus for securing excutable programs against copying

Publications (2)

Publication Number Publication Date
KR960038599A true KR960038599A (en) 1996-11-21
KR100204382B1 KR100204382B1 (en) 1999-06-15

Family

ID=19456036

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960011767A KR100204382B1 (en) 1996-04-18 1996-04-18 Method and apparatus for securing excutable programs against copying

Country Status (1)

Country Link
KR (1) KR100204382B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990075747A (en) * 1998-03-24 1999-10-15 구자홍 Memory copy protection device and method
KR100565396B1 (en) * 1997-12-15 2006-06-21 코닌클리즈케 필립스 일렉트로닉스 엔.브이. Electronic apparatus comprising a memory protection device and method of protecting data in a memory

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030035290A (en) * 2001-10-30 2003-05-09 (주) 비씨큐어 Method for anti-reverse-engineering of a Computer Program using Data-flow Obfuscation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100565396B1 (en) * 1997-12-15 2006-06-21 코닌클리즈케 필립스 일렉트로닉스 엔.브이. Electronic apparatus comprising a memory protection device and method of protecting data in a memory
KR19990075747A (en) * 1998-03-24 1999-10-15 구자홍 Memory copy protection device and method

Also Published As

Publication number Publication date
KR100204382B1 (en) 1999-06-15

Similar Documents

Publication Publication Date Title
US4593353A (en) Software protection method and apparatus
EP0855052B1 (en) Protection of software against use without permit
USRE40405E1 (en) Method and apparatus for securing executable programs against copying
US20030120605A1 (en) System and method for preventing unauthorized use of protected software utilizing a portable security device
EP0961193A2 (en) Secure computing device
US20110083020A1 (en) Securing a smart card
MXPA02002302A (en) Method and apparatus for preventing piracy of digital content.
SI1296214T1 (en) Method for activating a control unit mounted in a housing protected against unauthorised data access
WO2003042799A3 (en) Device and method with reduced information leakage
KR20070001893A (en) Tamper-resistant trusted virtual machine
KR100434836B1 (en) Data encipherment apparatus and illegal alteration prevention system
EP2460068A1 (en) System and method for limiting execution of software to authorized users
WO2007000207A1 (en) Improved virtual machine or hardware processor for ic-card portable electronic devices
CN114785503B (en) Cipher card, root key protection method thereof and computer readable storage medium
US20050071656A1 (en) Secure processor-based system and method
CN105184196A (en) Electronic system information security protection system and method
US20090323960A1 (en) Method and system for hiding the decryption key in a dispersive way
JP3683031B2 (en) Program protector
KR970007583A (en) Method and apparatus for safely storing detectable information on relatively insecure storage media
KR960038599A (en) Execution Program Anti-piracy Device and Method
GB2276965A (en) Protecting temporarily stored data.
US7707431B2 (en) Device of applying protection bit codes to encrypt a program for protection
US20020029344A1 (en) System and method for decrypting encrypted computer program
JP4229330B2 (en) Cryptographic program generation device and cryptographic program generation method
CA2226386C (en) Protection of software against use without permit

Legal Events

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

Payment date: 20070328

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee