KR101390677B1 - Method of managing copies of embedded software, and computer-readable recording medium with copy-management program for the same - Google Patents

Method of managing copies of embedded software, and computer-readable recording medium with copy-management program for the same Download PDF

Info

Publication number
KR101390677B1
KR101390677B1 KR1020120110367A KR20120110367A KR101390677B1 KR 101390677 B1 KR101390677 B1 KR 101390677B1 KR 1020120110367 A KR1020120110367 A KR 1020120110367A KR 20120110367 A KR20120110367 A KR 20120110367A KR 101390677 B1 KR101390677 B1 KR 101390677B1
Authority
KR
South Korea
Prior art keywords
certificate
embedded
terminal
embedded terminal
identification module
Prior art date
Application number
KR1020120110367A
Other languages
Korean (ko)
Other versions
KR20140046545A (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 KR1020120110367A priority Critical patent/KR101390677B1/en
Publication of KR20140046545A publication Critical patent/KR20140046545A/en
Application granted granted Critical
Publication of KR101390677B1 publication Critical patent/KR101390677B1/en

Links

Images

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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • G06F9/4868Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate with creation or replication

Abstract

본 발명은 임베디드 소프트웨어의 복제를 관리하는 기술에 관한 것이다. 더욱 상세하게는 본 발명은 임베디드 장치에 탑재되는 소프트웨어(임베디드 소프트웨어)의 복제 횟수를 관리하고 이들 임베디드 소프트웨어의 불법적인 복제 및 사용을 방지하기 위한 기술에 관한 것이다. 본 발명에 따르면 임베디드 단말에 탑재되는 임베디드 소프트웨어의 복제 횟수를 관리하여 미리 설정한 한계값만큼만 복제를 허용함으로써 불법적인 복제 및 사용을 방지할 수 있고, 임베디드 소프트웨어의 복제 횟수를 관리함으로써 임베디드 소프트웨어의 로열티 징수를 확실하게 할 수 있으며, 본 발명에 따른 복제관리 기술을 적용하기 위해 임베디드 단말의 하드웨어 구성을 변경할 필요가 없어 제작 공정을 그대로 사용할 수 있으므로 제조업체의 비용 추가가 없다는 장점이 있다. 또한 본 발명에 따르면 불법개조가 극히 곤란한 구조가 기 채택되어 있는 개인식별 모듈(예: SIM 카드)을 활용하여 복제관리 구조를 형성함으로써 보안성이 매우 강력하다는 장점이 있다.The present invention relates to a technology for managing replication of embedded software. More particularly, the present invention relates to a technology for managing the number of copies of software (embedded software) mounted on an embedded device and preventing illegal copying and use of these embedded software. According to the present invention, illegal duplication and use can be prevented by managing the number of duplication of the embedded software installed in the embedded terminal and allowing duplication only by a preset limit value, and by managing the number of duplication of the embedded software, It is not necessary to change the hardware configuration of the embedded terminal in order to apply the replication management technology according to the present invention and thus the manufacturing process can be used as it is. According to the present invention, there is an advantage that security is very strong by forming a copy management structure by utilizing a personal identification module (for example, a SIM card) in which an illegal modification is extremely difficult.

Description

임베디드 소프트웨어의 복제관리 방법 및 이를 위한 복제관리 프로그램을 기록한 컴퓨터로 판독가능한 기록매체 {METHOD OF MANAGING COPIES OF EMBEDDED SOFTWARE, AND COMPUTER-READABLE RECORDING MEDIUM WITH COPY-MANAGEMENT PROGRAM FOR THE SAME}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a method and apparatus for managing a copy of embedded software, and a copy management program for the same. 2. Description of the Related Art [0002]

본 발명은 임베디드 소프트웨어의 복제를 관리하는 기술에 관한 것이다. 더욱 상세하게는 본 발명은 임베디드 장치에 탑재되는 소프트웨어(임베디드 소프트웨어)의 복제 횟수를 관리하고 이들 임베디드 소프트웨어의 불법적인 복제 및 사용을 방지하기 위한 기술에 관한 것이다.
The present invention relates to a technology for managing replication of embedded software. More particularly, the present invention relates to a technology for managing the number of copies of software (embedded software) mounted on an embedded device and preventing illegal copying and use of these embedded software.

기술이 발전하면서 대부분의 전자기기에는 종래로부터 마이크로프로세서를 탑재하고, 이들 마이크로프로세서를 구동하기 위한 운영체제와 각종 서비스 동작을 수행하기 위한 응용 소프트웨어를 탑재하게 된다. 이처럼 전자기기에 탑재되어 마이크로프로세서를 구동하기 위한 운영체제와 응용 소프트웨어를 '임베디드 소프트웨어'라 하고, 이러한 임베디드 소프트웨어를 탑재하는 기기들을 '임베디드 단말'이라 부른다.With the development of the technology, most of the electronic devices are conventionally equipped with a microprocessor, an operating system for driving these microprocessors, and application software for performing various service operations. An operating system and application software for driving a microprocessor mounted on an electronic device are called 'embedded software', and devices incorporating such embedded software are called 'embedded terminals'.

이러한 임베디드 단말은 다양한 곳에서 사용되고 있으며 그 종류 또한 매우 많다. 예를 들어 주변에서 널리 사용되고 있는 텔레비전, 컴퓨터, 냉장고, 에어컨, PMP, MP3 플레이어, 개인휴대용단말(PDA), 스마트폰, 스마트패드, 셋톱박스, 스마트박스를 포함하는 각종 단말장치가 있으며, 보다 넓게는 항공기, 인공위성 등에까지 매우 많은 분야에서 사용되고 있다.These embedded terminals are used in various places and there are many kinds of them. For example, there are a variety of terminal devices including televisions, computers, refrigerators, air conditioners, PMPs, MP3 players, personal digital assistants (PDA), smart phones, smart pads, set- Is used in a great many fields such as airplanes and satellites.

한편, 이러한 임베디드 단말에 탑재되는 임베디드 소프트웨어는 바이너리 형태로 제공된다. 바이너리 형태로 제공되는 임베디드 소프트웨어는 유사한 플랫폼의 하드웨어에는 별다른 제한없이 설치 및 실행될 수 있게 된다. 임베디드 소프트웨어를 공급하는 소프트웨어 개발 업체들은 대당 로열티를 비지니스 모델로 하는데 효율적인 로열티 징수를 위해서는 임베디드 소프트웨어의 복제를 관리하고 나아가 그 복제 횟수를 파악하는 것이 중요하다.Meanwhile, the embedded software installed in the embedded terminal is provided in a binary form. Embedded software, which is provided in binary form, can be installed and run on hardware of similar platforms without any restrictions. Software developers who supply embedded software should make royalties a business model. For efficient royalties, it is important to manage the duplication of embedded software and to know the number of copies.

그에 따라 관련 기술분야에서는 임베디드 소프트웨어의 복제를 확실하게 관리할 수 있는 기술이 절실히 요구되고 있다.
Accordingly, in the related technology field, there is a desperate need for a technology that can reliably manage the reproduction of the embedded software.

본 발명은 이상의 문제점을 감안한 것으로, 본 발명의 목적은 임베디드 소프트웨어의 복제를 관리하는 기술을 제공하는 것이다. 더욱 상세하게는 본 발명의 목적은 임베디드 장치에 탑재되는 소프트웨어(임베디드 소프트웨어)의 복제 횟수를 관리하고 이들 임베디드 소프트웨어의 불법적인 복제 및 사용을 방지하기 위한 기술을 제공하는 것이다.
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is an object of the present invention to provide a technique for managing replication of embedded software. More specifically, it is an object of the present invention to provide a technology for managing the number of times of copying of software (embedded software) mounted on an embedded device and for preventing unauthorized copying and use of these embedded software.

본 발명에 따른 임베디드 소프트웨어의 복제관리 방법은, 임베디드 단말이 특정 임베디드 소프트웨어에 대한 복제관리 프로세스를 실행하는 제 1 단계; 임베디드 단말이 기 저장된 인증서 및 하드웨어 고유정보를 식별하는 제 2 단계; 임베디드 단말이 임베디드 소프트웨어에 대한 기 저장된 인증서가 유효하게 존재하는지 검사하는 제 3 단계; 그 검사 결과로 기 저장된 인증서가 유효하게 존재하는 경우, 임베디드 단말이 인증서를 검증하고 그 결과 인증서 검증에 성공하면 임베디드 소프트웨어를 허용하고 복제관리 프로세스를 종료하는 제 4 단계; 그 검사 결과로 기 저장된 인증서가 유효하게 존재하지 않는 경우, 임베디드 단말이 개인식별 모듈로 하드웨어 고유정보를 제공하면서 인증서를 요청하는 제 5 단계; 개인식별 모듈이 미리 설정된 복사 한계값 한도에서 하드웨어 고유정보에 기초한 인증서를 신규 생성하여 제공하면, 임베디드 단말이 그 생성된 신규 인증서를 수신 및 저장하고 임베디드 소프트웨어를 허용하면서 복제관리 프로세스를 종료하는 제 6 단계; 개인식별 모듈이 복사 한계값에 도달하여 인증서 생성 거부를 제공하면, 임베디드 단말이 임베디드 소프트웨어를 실패 처리하면서 복제관리 프로세스를 종료하는 제 7 단계;를 포함하여 구성된다.A method for managing a copy of embedded software according to the present invention includes: a first step in which an embedded terminal executes a copy management process for a specific embedded software; A second step in which the embedded terminal identifies previously stored certificates and hardware specific information; A third step of the embedded terminal checking whether a pre-stored certificate for the embedded software is valid; A fourth step of allowing the embedded terminal to validate the certificate if the pre-stored certificate exists as a result of the checking, and if the verification of the certificate is successful, ending the copy management process while allowing the embedded software; A fifth step of, if the pre-stored certificate does not exist as a result of the checking, requesting a certificate while the embedded terminal provides hardware-specific information to the personal identification module; If the personal identification module newly generates and provides a certificate based on hardware specific information at a preset copying limit value limit, the embedded terminal receives and stores the generated new certificate, and terminates the copy management process while allowing the embedded software step; And a seventh step of the embedded terminal terminating the replication management process while failing the embedded software if the personal identification module reaches the copy threshold value and provides the certificate generation rejection.

이때, 본 발명에 따른 임베디드 소프트웨어의 복제관리 방법은, 제 1 단계 이전에 실행되는, 시그니처 생성장치가 임베디드 소프트웨어의 버전, 배포 대상 제조사 및 제품모델, 복사 한계값 중 하나이상을 포함하는 시그니처 기초정보를 획득하는 단계; 시그니처 생성장치가 시그니처 기초정보를 사용하여 시그니처를 생성하는 단계; 시그니처 생성장치가 공개키와 개인키의 키 조합을 획득하는 단계; 시그니처 생성장치가 임베디드 단말로 시그니처와 공개키를 제공하는 단계; 시그니처 생성장치가 개인식별 모듈로 복사 한계값과 개인키를 제공하는 단계;를 더 포함하여 구성될 수 있다.At this time, the method for managing replication of embedded software according to the present invention is characterized in that the signature generation device, which is executed before the first step, includes signature basic information including at least one of a version of embedded software, ; The signature generation device generating a signature using the signature base information; Wherein the signature generating device obtains a key combination of a public key and a private key; Providing a signature and a public key to an embedded terminal; And providing the signature generation device with a copy limit value and a private key to the personal identification module.

본 발명에서 제 4 단계는, 임베디드 단말이 공개키로 인증서를 복호하여 에러 발생 여부를 통해 검증하는 제 41 단계; 임베디드 단말이 인증서에 반영된 하드웨어 고유정보와 제 2 단계에서 식별된 하드웨어 고유정보를 비교하여 인증서가 임베디드 단말에 대해 생성된 것인지 여부를 검증하는 제 42 단계; 제 41 단계의 검증과 제 42 단계의 검증에 모두 성공하는 경우 임베디드 단말이 임베디드 소프트웨어를 허용하고 복제관리 프로세스를 종료하는 제 43 단계;를 포함하여 구성될 수 있다.In a fourth step of the present invention, the embedded terminal decrypts the certificate with the public key to verify whether the certificate is generated or not, (B) comparing the hardware specific information reflected in the certificate with the hardware specific information identified in the second step, and verifying whether the certificate is generated for the embedded terminal; And if the verification in the forty-first step and the verification in the forty-second step are successful, the embedded terminal permits the embedded software and terminates the copy management process.

또한, 본 발명에서 제 6 단계는, 개인식별 모듈이 복사 한계값을 체크하여 추가적인 복사가 허용되는지 여부를 체크하는 단계; 그 체크 결과 추가적인 복사가 허용되는 경우 개인식별 모듈이 위 제공된 하드웨어 고유정보에 기초한 인증서를 신규 생성하는 단계; 개인식별 모듈이 인증서의 신규 생성을 복사 한계값의 관리에 반영하는 단계; 개인식별 모듈이 신규 생성된 인증서를 개인키로 암호화하여 임베디드 단말로 제공하는 단계; 임베디드 단말이 신규 생성된 인증서를 수신 및 저장하는 단계; 임베디드 단말이 공개키로 신규 생성된 인증서를 검증하고 인증서에 반영된 하드웨어 고유정보와 제 2 단계에서 식별된 하드웨어 고유정보를 비교하여 인증서가 임베디드 단말에 대해 생성된 것인지 여부를 검증하는 단계; 검증에 모두 성공하는 경우 임베디드 단말이 임베디드 소프트웨어를 허용하면서 복제관리 프로세스를 종료하는 단계;를 포함하여 구성될 수 있다.The sixth step of the present invention may further include the steps of: checking whether the personal identification module checks the copy threshold value to check whether additional copy is permitted; Generating a certificate based on the hardware-specific information provided by the personal identification module when additional checking is permitted as a result of the checking; The personal identification module reflecting the new generation of the certificate in the management of the copy threshold value; Encrypting the newly generated certificate by the personal identification module with the private key and providing the encrypted certificate to the embedded terminal; Receiving and storing a newly generated certificate by the embedded terminal; Verifying the newly generated certificate with the public key of the embedded terminal and verifying whether the certificate is generated with respect to the embedded terminal by comparing the hardware unique information reflected in the certificate with the hardware unique information identified in the second step; And terminating the copy management process while permitting the embedded terminal to allow the embedded software when all of the verification is successful.

또한, 본 발명은, 개인식별 모듈이 제 6 단계에서 인증서를 신규 생성할 때마다 그에 대응하여 인증서 생성이력을 유지관리한 후, 인증서 재발행서버로 인증서 생성이력을 제공하는 단계; 인증서 재발행서버가 개인식별 모듈에 의한 인증서 생성이력을 취합하는 제 8 단계; 임베디드 단말이 위 저장한 인증서의 삭제 또는 손상을 검출함에 따라 인증서 재발행서버로 하드웨어 고유정보를 제공하면서 인증서 재발행을 요청하는 제 9 단계; 인증서 재발행서버가 그 제공받은 하드웨어 고유정보를 인증서 생성이력에 조회하는 제 10 단계; 조회 결과 성공하는 경우에 인증서 재발행서버는 하드웨어 고유정보에 기초하여 인증서를 재발행하여 임베디드 단말로 제공하는 제 11 단계;를 더 포함하여 구성될 수 있다.In addition, the present invention provides a method of managing a certificate, comprising the steps of: maintaining a certificate generation history corresponding to a new certificate generated in the sixth step, and providing a certificate generation history to the certificate reissue server; An eighth step in which the certificate reissue server collects a certificate generation history by the personal identification module; A ninth step of requesting reissue of the certificate while providing hardware specific information to the certificate reissue server upon detecting deletion or corruption of the stored certificate by the embedded terminal; A step 10 in which the certificate reissue server inquires of the certificate generation history about the hardware specific information provided by the certificate reissue server; And if the inquiry result is successful, the certificate reissue server reissues the certificate based on the hardware specific information and provides the reissued certificate to the embedded terminal.

또한, 본 발명에서 제 5 단계에서 임베디드 단말은 개인식별 모듈로 시그니처를 더 제공하고, 제 5 단계와 제 6 단계 사이에 실행되는, 개인식별 모듈이 시그니처를 수신하면 시그니처의 오류를 체크하여 그 결과 오류가 검출되는 경우에는 인증서 생성을 거부하고 그에 따라 임베디드 단말은 임베디드 소프트웨어를 실패 처리하면서 복제관리 프로세스를 종료하는 단계;를 더 포함하여 구성될 수 있다. 또한, 하드웨어 고유정보는 임베디드 단말의 모뎀 칩 시리얼 번호, 메모리 시리얼 번호, 블루투스 매체접근제어(MAC) 주소, 와이파이(WIFI) MAC 주소, 국제 이동단말기 식별번호(IMEI) 중 하나 이상을 포함하여 구성될 수 있다.In addition, in the fifth step of the present invention, the embedded terminal further provides a signature to the personal identification module. When the personal identification module, which is executed between the fifth and sixth steps, receives the signature, the embedded terminal checks an error of the signature, And if the error is detected, rejecting the certificate generation and terminating the copy management process while the embedded terminal fails the embedded software. The hardware specific information may include at least one of a modem chip serial number, a memory serial number, a Bluetooth medium access control (MAC) address, a WIFI MAC address, and an International Mobile Terminal Identification Number (IMEI) of the embedded terminal .

한편, 본 발명에 따른 컴퓨터로 판독가능한 기록매체는 이상에 따른 임베디드 소프트웨어의 복제관리 방법을 실행하기 위한 복제관리 프로그램을 기록한 것이다.
Meanwhile, a computer readable recording medium according to the present invention records a duplication management program for executing a duplication management method of the above-described embedded software.

본 발명에 따르면 임베디드 단말에 탑재되는 임베디드 소프트웨어의 복제 횟수를 관리하여 미리 설정한 한계값만큼만 복제를 허용함으로써 불법적인 복제 및 사용을 방지할 수 있는 장점이 있다.According to the present invention, there is an advantage that illegal duplication and use can be prevented by managing the number of duplication of the embedded software installed in the embedded terminal and allowing duplication only by a preset threshold value.

또한 본 발명에 따르면 임베디드 단말에 탑재되는 임베디드 소프트웨어의 복제 횟수를 관리함으로써 임베디드 소프트웨어의 로열티 징수를 확실하게 할 수 있는 장점이 있다.Also, according to the present invention, there is an advantage that the royalty collection of the embedded software can be ensured by managing the copying frequency of the embedded software installed in the embedded terminal.

또한 본 발명에 따른 복제관리 기술을 적용하기 위해 임베디드 단말의 하드웨어 구성을 변경할 필요가 없어 제작 공정을 그대로 사용할 수 있으므로 제조업체의 비용 추가가 없다는 장점이 있다.Also, since the hardware configuration of the embedded terminal does not need to be changed in order to apply the replication management technology according to the present invention, the manufacturing process can be used as it is, which is advantageous in that the manufacturer does not need to add the cost.

또한 본 발명에 따르면 불법개조가 극히 곤란한 구조가 기 채택되어 있는 개인식별 모듈(예: SIM 카드)을 활용하여 복제관리 구조를 형성함으로써 보안성이 매우 강력하다는 장점이 있다.
According to the present invention, there is an advantage that security is very strong by forming a copy management structure by utilizing a personal identification module (for example, a SIM card) in which an illegal modification is extremely difficult.

[도 1]은 본 발명에 따른 복사방지 시스템의 개념을 설명하기 위한 도면,
[도 2]는 본 발명에 따른 시그니처 생성장치의 내부 블록 구성도,
[도 3]은 본 발명에 따른 시그니처 생성장치에서 임베디드 소프트웨어의 복제를 방지하기 위한 보안환경 데이터를 생성하여 전송하는 순서도,
[도 4]는 본 발명에 따른 임베디드 단말과 개인식별 모듈의 내부 블록 구성도와 상호 관계를 나타내는 도면,
[도 5]는 본 발명에 따라 임베디드 단말과 개인식별 모듈에서 수행되는 보안관리 프로세스를 나타내는 순서도.
[도 6]은 본 발명에 따라 임베디드 단말과 재발행서버에서 수행되는 인증서 재발행 프로세스를 나타내는 순서도.
1 is a view for explaining a concept of a copy protection system according to the present invention,
2 is an internal block diagram of a signature generating apparatus according to the present invention,
3 is a flowchart illustrating the generation of security environment data for preventing copying of embedded software in the signature generation apparatus according to the present invention,
4 is a diagram illustrating internal block configurations and interrelationships between an embedded terminal and an individual identification module according to the present invention;
5 is a flowchart showing a security management process performed in an embedded terminal and a personal identification module according to the present invention;
FIG. 6 is a flowchart illustrating a certificate reissue process performed in an embedded terminal and a reissue server according to the present invention. FIG.

이하 도면을 참조하여 본 발명의 상세하게 살펴본다.Hereinafter, the present invention will be described in detail with reference to the drawings.

[도 1]은 본 발명에 따른 복사방지 시스템의 전체적인 개념을 설명하기 위한 도면으로, [도 1]을 참조하면 본 발명에 따른 복사방지 시스템은 시그니처 생성장치(10), 임베디드 단말(20), 개인식별 모듈(30), 인증서 재발행서버(40)을 포함하여 이루어진다.1, a copy protection system according to the present invention includes a signature generation device 10, an embedded terminal 20, A personal identification module 30, and a certificate reissue server 40. [

시그니처 생성장치(10)는 개인용 컴퓨터로 구성할 수 있는데, 구현 예에 따라서는 전용 단말기를 사용할 수도 있다. 시그니처 생성장치(10)는 임베디드 단말에 탑재하기 위한 시그니처를 생성하고, 임베디드 단말(20)과 개인식별 모듈(30)간 통신 및 인증서 생성 시에 사용할 공개키(Publick Key)와 개인키(Private Key)를 생성하며, 임베디드 소프트웨어의 최대 복사허용치인 복사 한계값을 설정한다. 시그니처 생성장치(10)는 시그니처와 공개키를 임베디드 단말(20)로 제공하며, 개인키와 복사 한계값은 개인식별 모듈(30)로 제공한다.The signature generating apparatus 10 may be configured as a personal computer, and a dedicated terminal may be used according to an embodiment. The signature generating apparatus 10 generates a signature to be mounted on the embedded terminal 20 and generates a public key for use in communication between the embedded terminal 20 and the personal identification module 30 and a certificate, ), And sets the copy limit value which is the maximum copy tolerance value of the embedded software. The signature generation device 10 provides a signature and a public key to the embedded terminal 20 and a private key and a copy threshold value to the personal identification module 30. [

임베디드 단말(20)은 본 발명에 따른 복제관리가 이루어지는 임베디드 소프트웨어를 탑재한 전자기기로서, 스마트폰을 비롯한 다양한 단말장치의 형태로 구현될 수 있다. 임베디드 단말(20)에는 임베디드 소프트웨어를 관리하기 위한 인증서 관리자가 설치되어 있는데, 인증서 관리자는 임베디드 소프트웨어의 설치 및 구동을 위해 유효한 인증서가 저장되어 있는지 검사하고, 만일 없는 경우에는 개인식별 모듈(30)에 요청하여 제공받는다. 이때 개인식별 모듈(30)에 의해 임베디드 소프트웨어의 복사 횟수의 관리가 실현된다.The embedded terminal 20 can be implemented in the form of various terminal devices including a smart phone, which is an electronic device equipped with embedded software in which copy management according to the present invention is carried out. A certificate manager for managing embedded software is installed in the embedded terminal 20. The certificate manager checks whether a valid certificate is stored for installation and operation of the embedded software and if not, It is requested and provided. At this time, management of the number of times of copying of the embedded software is realized by the personal identification module 30.

임베디드 단말(20)과 그 내부에 설치된 인증서 관리자가 수행하는 본 발명에 따른 동작의 구체적인 형태에 대해서는 도면을 참조하여 더 상세히 후술한다. 또한 [도 1]에서는 임베디드 단말(20)로 스마트폰을 예시하였는데, 그러나 스마트폰 이외에 개인식별 모듈(30)을 가질 수 있는 어떠한 임베디드 단말이라도 무방하다. 다만, 이하의 설명에서는 설명의 편의를 위해 임베디드 단말(20)을 스마트폰으로 가정하여 설명하기로 한다.A concrete operation of the embedded terminal 20 and a certificate manager installed in the embedded terminal 20 according to the present invention will be described later in detail with reference to the drawings. 1, a smart phone is exemplified as the embedded terminal 20, but any embedded terminal capable of having the personal identification module 30 in addition to the smart phone may be used. Hereinafter, for convenience of description, the embedded terminal 20 will be described as a smart phone.

개인식별 모듈(30)은 본 발명에 따른 임베디드 소프트웨어의 복제관리를 담당하기 위한 구성으로서, 가입자식별 모듈(Subscriber Identification Module)이라 불리는 SIM 카드를 집적회로(IC)로 구현한 카드모듈로 구현할 수 있다. 또한 GSM 방식에서 사용하는 범용 사용자식별 모듈(Universal Subscriber Identity Module, USIM)을 사용할 수도 있다.The personal identification module 30 may be implemented as a card module implemented by an integrated circuit (IC), which is a SIM card called a Subscriber Identification Module, for managing replication of embedded software according to the present invention . In addition, a Universal Subscriber Identity Module (USIM) used in the GSM system may be used.

본 발명에 따른 개인식별 모듈(30)은 임베디드 소프트웨어의 복사를 관리하기 위해 개인키와 복사 한계값을 시그니처 생성장치(10)로부터 제공받아 구비하고 있는데, 먼저 임베디드 단말(20)로부터 수신된 하드웨어 고유정보를 이용하여 당해 임베디드 단말(20)에 전용으로 사용할 수 있는 인증서를 생성하고, 그 생성된 인증서를 다시 임베디드 단말(20)로 제공한다. 이때, 개인식별 모듈(30)은 그 생성되는 인증서의 갯수는 당해 임베디드 소프트웨어의 복사 한계값을 넘지않도록 제어한다. 또한 개인식별 모듈(30)은 인증서를 개인키로 암호화한 후 임베디드 단말(20)로 제공한다.The personal identification module 30 according to the present invention is provided with a private key and a copy limit value from the signature generation device 10 in order to manage copying of the embedded software. Generates a certificate that can be used exclusively for the embedded terminal 20 using the information, and provides the generated certificate to the embedded terminal 20 again. At this time, the personal identification module 30 controls the number of generated certificates so as not to exceed the copying limit value of the embedded software. The personal identification module 30 encrypts the certificate with the private key, and provides the certificate to the embedded terminal 20.

인증서 재발행서버(40)는 임베디드 단말(20)에 인증서를 재발행한다. 임베디드 단말(20)이 개인식별 모듈(30)로부터 인증서를 최초 제공받아 소프트웨어를 설치하여 판매된 이후에 사용자가 임베디드 단말(20)의 사용중 애프터서비스의 수리과정, 기기파손, 펌웨어 업그레이드 실패 등의 각종 원인으로 인해 인증서가 삭제 또는 손상될 수 있다. 인증서가 없으면 소프트웨어가 동작이 불가능하므로 인증서를 다시 생성하여 임베디드 단말(20)로 제공해주어야 하는데, 이때 일반 사용자의 수중에 있는 임베디드 단말(20)에 대해 개인식별 모듈(30)을 통해 인증서를 생성하는 것이 현실적으로 곤란하거나 바람직하지 않으므로 인증서 재발행서버(40)를 통해 네트워크로 제공한다.The certificate reissue server 40 reissues the certificate to the embedded terminal 20. After the embedded terminal 20 receives the certificate for the first time from the personal identification module 30 and installs and sells the software, when the user performs various kinds of repair processes such as repair service of the after-use service of the embedded terminal 20, device breakage, The certificate can be deleted or corrupted due to the cause. If there is no certificate, the software can not operate. Therefore, the certificate must be regenerated and provided to the embedded terminal 20. At this time, a certificate is generated for the embedded terminal 20 in the hands of the general user through the personal identification module 30 Since it is difficult or undesirable in reality, it is provided to the network through the certificate reissue server 40. [

즉, 인증서 재발행서버(40)는 개인식별 모듈(30)을 통해 인증서를 생성하여 제공받은 이력이 있는 임베디드 단말(20)에 대해서만 인증서를 재발행하여 제공하는 것이다. 인증서 재발행서버(40)는 개인식별 모듈(30)의 회수 등을 통해 인증서 생성이력을 취합하고, 임베디드 단말(20)로부터 인증서 재발행 요청을 받으면 인증서 생성이력을 조회하여 재발행 여부를 판단한다.That is, the certificate reissue server 40 generates a certificate through the personal identification module 30 and reissues the certificate only for the provided embedded terminal 20. The certificate reissue server 40 collects the certificate generation history through the collection of the personal identification module 30 and receives the certificate reissue request from the embedded terminal 20 to inquire the certificate generation history and determine whether to reissue the certificate.

인증서 생성이력을 취합하는 방식과 관련하여 개인식별 모듈(30)이 인증서를 최초 생성하여 임베디드 단말(20)로 제공할 때 임베디드 단말(20)이 인증서 재발행서버(40)로 그 인증서 생성 정보를 제공하여 달성할 수도 있다. 하지만, 개인식별 모듈(30)이 인증서 생성이력을 내부에 관리하다가 인증서 재발행서버(40)로 제공하는 방식이 더 안전하다.
When the personal identification module 30 generates the certificate for the first time and provides the generated certificate to the embedded terminal 20 in relation to the method of collecting the certificate generation history, the embedded terminal 20 provides the certificate generation information to the certificate reissue server 40 . However, it is safer that the personal identification module 30 manages the certificate creation history internally and provides it to the certificate reissue server 40.

[도 2]는 본 발명에 따른 복제관리 기술을 구현하기 위한 시그니처 생성장치(10)의 내부 블록 구성도이다. [도 2]를 참조하면, 본 발명에 따른 시그니처 생성장치(10)는 사용자 UI부(101), 제어부(103), 시그니처 생성부(105), 외부장치 인터페이스부(107), 그래픽 처리부(109)를 포함한다.2 is an internal block diagram of a signature generation apparatus 10 for implementing a replication management technique according to the present invention. 2, a signature generating apparatus 10 according to the present invention includes a user UI unit 101, a control unit 103, a signature generating unit 105, an external device interface unit 107, a graphics processing unit 109 ).

먼저, 사용자 UI부(101)는 마우스, 키보드, 터치스크린, 터치 펜 등으로 이루어져 사용자로부터 조작입력을 제공받기 위한 구성요소이고, 그래픽 처리부(109)는 시그니처 생성장치(10)에서 처리되는 동작 과정을 정지화면 또는 동영상으로 모니터로 제공하기 위한 구성요소이다.The user UI unit 101 is a component for receiving an operation input from a user, which is composed of a mouse, a keyboard, a touch screen, a touch pen, and the like. The graphic processing unit 109 receives an operation process To a monitor as a still image or a moving image.

외부장치 인터페이스부(107)는 [도 1]에 나타낸 바와 같이 네트워크를 통해 시그니처 생성장치(10)가 임베디드 단말(20) 및 개인식별 장치(30)와 송수신하는 데이터의 인터페이스를 수행한다. 또한 외부장치 인터페이스부(107)는 다른 외부 장치와 인터페이스를 수행할 수도 있다.1, the external device interface unit 107 performs an interface between data transmitted and received by the signature generation device 10 via the network with the embedded terminal 20 and the personal identification device 30. [ The external device interface unit 107 may also interface with other external devices.

시그니처 생성부(105)는 각종 기록매체 상에 소프트웨어 모듈의 형태로 구현될 수 있는데, 본 발명에 따라 복제관리 기술을 구현하기 위한 보안환경을 정의하는 데이터를 제공하는 구성요소이다. 시그니처 생성부(105)가 제공하는 데이터는 시그니처(105a), 공개키(105b), 복사 한계값(105c), 개인키(105d)이며, 시그니처 생성장치(10)는 시그니처(105a)와 공개키(105b)는 임베디드 단말(20)의 인증서 관리부(205)로 제공하고, 복사 한계값(105c)과 개인키(105d)는 개인식별 장치(30)의 인증서 생성부(305)로 제공한다.The signature generation unit 105 can be implemented in the form of a software module on various recording media. The signature generation unit 105 is a component that provides data defining a security environment for implementing the replication management technology according to the present invention. The signature generation unit 105 generates a signature 105a and a public key 105b and a copy threshold value 105c and a private key 105d. The signature generation unit 10 generates a signature 105a, a public key 105b, And provides the copy threshold value 105c and the private key 105d to the certificate generation unit 305 of the personal identification device 30. [

먼저, 시그니처(105a)는 후술하는 인증서 관리부(205)와 인증서 생성부(305)에서 정합성 체크 등을 위해 사용하는 것으로서 예컨대 임베디드 소프트웨어 모듈의 버전(version), 배포대상 제조사 및 제품모델, 복사 한계값(105c) 등의 데이터를 취합하여 생성된 전자서명(digital signature) 값이다. 또한, 공개키(105b)와 개인키(105d)는 임베디드 단말(20)과 개인식별 장치(30) 간의 인증서 송수신 관련 통신(암호화/복호화)에 사용할 보안관련 키(key) 조합이다. 마지막으로, 복사 한계값(105c)은 당해 임베디드 소프트웨어에 대해 허용되는 복사(복제)의 최대 횟수에 관한 값이다.
First, the signature 105a is used for a consistency check or the like in the certificate management unit 205 and the certificate generation unit 305 to be described later. For example, the signature 105a includes a version of the embedded software module, a distribution target manufacturer and a product model, (Digital signature) value obtained by collecting data such as the digital signature 105c. The public key 105b and the private key 105d are security related key combinations used for communication (encryption / decryption) related to certificate transmission / reception between the embedded terminal 20 and the personal identification device 30. [ Finally, the copy threshold value 105c is a value relating to the maximum number of copies (replications) allowed for the embedded software in question.

[도 3]은 본 발명에 따른 복제관리 기술을 구현하기 위한 시그니처 생성장치(10)에서 임베디드 소프트웨어의 복제를 방지하기 위한 보안환경 데이터를 생성하여 전송하는 제어 순서도이다.3 is a control flowchart for generating and transmitting security environment data for preventing duplication of embedded software in the signature generation apparatus 10 for implementing the replication management technology according to the present invention.

먼저, 시그니처 생성장치(10)는 S200 단계로 진행하여 시그니처를 생성하기 위한 기초정보를 획득한다. 시그니처 기초정보로는 임베디드 소프트웨어와 관련하여 미리 저장된 정보와 운영자가 사용자 UI부(101)를 통해 입력하는 정보를 생각할 수 있는데, 예컨대 임베디드 소프트웨어의 버전, 배포 대상 제조사 및 제품모델, 복사 한계값(105c) 등의 정보를 생각할 수 있다.First, the signature generating apparatus 10 proceeds to step S200 to acquire basic information for generating a signature. The signature basic information can include information stored in advance in association with the embedded software and information input by the operator through the user UI unit 101. For example, the version of the embedded software, the manufacturer and model of the distribution target, the copy threshold value 105c ) Can be considered.

본 발명의 목적 달성을 위해 임베디드 소프트웨어에 대해서는 미리 복사 한계값(105c)이 이미 설정되어 있다. 복사 한계값(105c)은 개인식별 모듈(30) 하나를 통해 제한하고자 하는 최대 복제허용치이며, 당해 소프트웨어 개발업체에서 적절하게 설정한다.In order to achieve the object of the present invention, the copy limit value 105c is already set in advance for the embedded software. The copy threshold value 105c is the maximum copy tolerance value to be limited by one personal identification module 30, and is appropriately set by the software developer.

시그니처 생성장치(10)는 S202 단계에서 이들 시그니처 기초정보를 사용하여 시그니처(105a)를 생성한다. 각종 기초정보로부터 디지털 시그니처를 생성하는 구체적인 방법은 보안관련 분야의 주지관용 기술이므로 본 명세서에서는 그에 대한 설명은 생략한다.The signature generating apparatus 10 generates the signature 105a using these signature basic information in step S202. A concrete method of generating a digital signature from various basic information is a well-known technology in the security-related field, and a description thereof will be omitted in this specification.

이후 시그니처 생성장치(10)는 S204 단계에서 공개키(105b)와 개인키(105d)로 이루어지는 키 조합(key combination)을 획득한다. 여기서 공개키(105b)와 개인키(105d)는 외부 키 관리기관(key management authority)에서 제공하는 키 조합을 활용할 수도 있고 자체 생성할 수도 있는데, 본 발명에서는 키 조합의 종류에 대해서는 특별히 제약하지 않는다.In step S204, the signature generation apparatus 10 acquires a key combination composed of the public key 105b and the private key 105d. Here, the public key 105b and the private key 105d may utilize a key combination provided by an external key management authority or may be generated by itself. However, the present invention does not specifically limit the type of the key combination .

그리고 나서 시그니처 생성장치(10)는 S206 단계에서 시그니처(105a)와 공개키(105b)를 임베디드 단말(20)로 제공하고, S208 단계에서 복사 한계값(105c)과 개인키(105d)를 개인식별 모듈(30)로 제공한다. 본 발명에서 S206 단계와 S208 단계는 동시에 이루어질 수도 순서가 바뀔 수도 있다.The signature generating apparatus 10 provides the signature 105a and the public key 105b to the embedded terminal 20 in step S206 and transmits the copy threshold value 105c and the private key 105d to the embedded terminal 20 in step S208. To the module (30). In the present invention, steps S206 and S208 may be performed simultaneously or may be reversed.

이상에서 설명한 바와 같이 시그니처(105a)와 공개키(105b)를 임베디드 단말(20)로 제공하고 복사 한계값(105c)과 개인키(105d)를 개인식별 모듈(30)로 제공함으로써 본 발명에 따라 임베디드 소프트웨어에 대한 복사 관리, 즉 복사(복제) 횟수에 대한 관리가 이루어지는데, 그 상세한 과정에 대해서는 [도 4]와 [도 5]를 참조하여 후술한다.
The signature 105a and the public key 105b are provided to the embedded terminal 20 and the copy threshold 105c and the private key 105d are provided to the personal identification module 30 according to the present invention Management of copy management (i.e., copying) for embedded software is performed. The detailed procedure will be described later with reference to FIGS. 4 and 5. FIG.

[도 4]는 본 발명에 따른 임베디드 단말(20)과 개인식별 모듈(30)의 내부 블록 구성도와 상호 관계를 나타내는 도면이다. [도 4]를 참조하면, 본 발명이 적용되는 임베디드 단말(20)은 터치입력부(201), 단말제어부(203), 인증서 관리부(205), 디스플레이부(207), 하드웨어 정보관리부(209), 단말저장부(211), 식별모듈 접속부(213)를 구비하고, 개인식별 모듈(30)은 인증서 생성부(305), 단말 접속부(313), 생성이력 저장부(314)를 구비한다.4 is a diagram illustrating internal block configurations and interrelationships of the embedded terminal 20 and the individual identification module 30 according to the present invention. 4, the embedded terminal 20 to which the present invention is applied includes a touch input unit 201, a terminal control unit 203, a certificate management unit 205, a display unit 207, a hardware information management unit 209, The personal identification module 30 includes a certificate generation unit 305, a terminal connection unit 313, and a generation history storage unit 314. The certificate generation unit 305 generates a certificate,

먼저 임베디드 단말(20)의 내부 구성에 대해 살펴본다.First, the internal configuration of the embedded terminal 20 will be described.

터치입력부(201)는 사용자의 터치 동작을 감지하여 이를 사용자 입력 신호로 변환한 후 이를 단말제어부(203)로 제공한다.The touch input unit 201 detects a touch operation of the user, converts the touch operation into a user input signal, and provides the user input signal to the terminal control unit 203.

단말제어부(203)는 단말장치에 관련된 일반적인 제어 동작을 수행하며, 특히 본 발명에 따라 임베디드 소프트웨어의 설치, 인증, 구동, 복제관리에 필요한 동작을 수행한다. 이에 대하여는 [도 5]의 순서도를 참조하여 더 상세히 설명하기로 한다.The terminal control unit 203 performs a general control operation related to the terminal device, and performs operations necessary for installation, authentication, operation, and copy management of the embedded software according to the present invention. This will be described in more detail with reference to the flow chart of FIG.

인증서 관리부(205)는 임베디드 단말(20)의 동작에 필요한 각종 데이터를 관리하는 모듈인데, 특히 시그니처 생성장치(10)로부터 시그니처(105a)와 공개키(105b)를 제공받아 관리한다.The certificate managing unit 205 manages various data necessary for the operation of the embedded terminal 20. Specifically, the signature managing unit 205 receives and manages the signature 105a and the public key 105b from the signature generating unit 10. [

디스플레이부(207)는 LCD 또는 LED 등의 형태로 구성되며, 단말제어부(203)의 제어에 의해 임베디드 단말(20)의 동작에 필요한 과정 및 대기 상태에서 임베디드 단말(20)의 상태를 표시한다.The display unit 207 is configured in the form of an LCD or an LED and displays the state of the embedded terminal 20 in a process necessary for the operation of the embedded terminal 20 and a standby state under the control of the terminal control unit 203.

하드웨어 정보관리부(209)는 임베디드 단말(20)의 하드웨어 고유정보를 관리하는 구성요소로서, 예컨대 모뎀 칩 시리얼 번호, 메모리 시리얼 번호, 블루투스 매체접근제어(Media Access Control, MAC) 주소, 와이파이(WIFI) MAC 주소, 국제 이동단말기 식별번호(International Mobile Equipment Identity, IMEI) 중 하나 이상을 들 수 있다. 하드웨어 정보관리부(209)는 이러한 하드웨어 고유정보를 단말제어부(203)와 인증서 관리부(205)로 제공한다.The hardware information management unit 209 is a component for managing hardware specific information of the embedded terminal 20. The hardware information management unit 209 includes a modem chip serial number, a memory serial number, a Bluetooth media access control (MAC) address, a WIFI A MAC address, and an International Mobile Equipment Identity (IMEI). The hardware information management unit 209 provides the hardware specific information to the terminal control unit 203 and the certificate management unit 205.

단말저장부(211)는 임베디드 단말(20)에 대해 저장공간을 제공하는 구성요소로서, 본 발명과 관련하여 시그니처(105a)와 공개키(105b)를 저장하는 공간을 제공할 뿐만 아니라, 특히 개인식별 모듈(30)에서 제공하는 인증서를 저장하였다가 필요할 때 인증서 관리부(205)로 제공한다.The terminal storage unit 211 is a component that provides a storage space for the embedded terminal 20 and provides a space for storing the signature 105a and the public key 105b in connection with the present invention, Stores the certificate provided by the identification module 30, and provides the certificate to the certificate management unit 205 when necessary.

식별모듈 접속부(213)는 개인식별 모듈(30)과 단말제어부(203)간 송수신되는 데이터의 인터페이스를 수행한다. 단말제어부(203)와 개인식별 모듈(30)간 송수신되는 데이터는 본 발명에 따른 인증서 정보와 인증서 요청 및 복사 요구에 대응하는 응답 정보 등이 될 수 있다. 이에 대한 보다 상세한 설명은 후술되는 순서도를 참조하여 살펴보기로 한다.The identification module connection unit 213 interfaces data transmitted and received between the personal identification module 30 and the terminal control unit 203. The data transmitted and received between the terminal control unit 203 and the individual identification module 30 may be certificate information according to the present invention, response information corresponding to a certificate request and a copy request, and the like. A more detailed description thereof will be made with reference to the flowcharts to be described later.

이어서, 개인식별 모듈(30)의 내부 구성에 대해 살펴본다.Next, the internal configuration of the personal identification module 30 will be described.

인증서 생성부(305)는 임베디드 단말(20)의 요청에 대응하여 인증서를 생성하여 제공하는 구성요소이다. 인증서 생성부(305)는 인증서를 생성하기 전에 먼저 복사 한계값을 체크하여 임베디드 소프트웨어에 대한 복사(복제)를 추가로 허용할 것인지 여부를 판단하고, 만일 최대로 허용한 만큼의 복사가 이루어졌기에 더이상의 복사(복제)가 허용될 수 없다면 인증서 생성을 거부한다. 반면, 만일 허용해도 된다면 인증서 생성부(305)는 임베디드 단말(20)의 하드웨어 고유정보를 반영하여 인증서를 생성하여 임베디드 단말(20)로 제공한다. 이때, 개인키(105d)로 암호화해서 전달하는 것이 바람직하다.The certificate generation unit 305 is a component that generates and provides a certificate in response to a request of the embedded terminal 20. [ The certificate generating unit 305 first checks the copy threshold value before generating the certificate to determine whether to further permit copying (copy) with respect to the embedded software, and if the copy is permitted to the maximum allowed If copying (replication) is no longer allowed, the certificate creation is denied. On the other hand, if it is acceptable, the certificate generating unit 305 generates the certificate reflecting the hardware specific information of the embedded terminal 20 and provides the generated certificate to the embedded terminal 20. At this time, it is preferable to encrypt and transmit it with the private key 105d.

단말 접속부(313)는 전술한 임베디드 단말(20)의 식별모듈 접속부(213)와 인터페이스하는 구성요소로서 임베디드 단말(20)과 개인식별 모듈(30) 간에 각종 데이터 송수신을 수행한다.The terminal connection unit 313 performs various data transmission and reception between the embedded terminal 20 and the personal identification module 30 as a component for interfacing with the identification module connection unit 213 of the above-

생성이력 저장부(314)는 개인식별 모듈(30)이 인증서를 생성하여 임베디드 단말(20)로 제공한 인증서 생성이력을 저장한다. 이러한 인증서 생성이력에는 당해 임베디드 단말(20)을 식별할 수 있는 정보, 즉 임베디드 단말(20)의 하드웨어 고유정보를 함께 저장한다. 인증서 생성이력은 인증서 재발행서버(40)로 제공되어 인증서 재발행 허용여부 판단에 활용되는데, 이에 대해서는 [도 6]을 참조하여 자세하게 후술한다.
The generation history storage unit 314 stores the certificate generation history generated by the personal identification module 30 and provided to the embedded terminal 20. The certificate generation history stores information that identifies the embedded terminal 20, that is, hardware specific information of the embedded terminal 20 together. The certificate generation history is provided to the certificate reissue server 40 and utilized for determining whether to reissue the certificate, which will be described later in detail with reference to FIG.

[도 5]는 본 발명에 따라 본 발명에 따라 임베디드 단말(20)과 개인식별 모듈(30)에서 수행되는 복제관리 프로세스를 나타내는 순서도이다. [도 5]의 프로세스는 임베디드 단말(20)에서 임베디드 소프트웨어가 구동되거나 복사, 설치될 때 실행될 수 있으며, 구현 예에 따라서는 당해 임베디드 소프트웨어가 설치된 이후에 임베디드 단말(20)이 부팅될 때 이루어질 수 있다. 본 발명에서는 임베디드 소프트웨어의 복제관리 프로세스가 실행되는 시점에 대해서는 제한하지 않으며, 다만 설명의 편이상 임베디드 단말(20)에서 임베디드 소프트웨어가 구동될 때 복제관리 프로세스가 실행되는 것을 기준으로 설명한다.5 is a flowchart illustrating a replication management process performed in the embedded terminal 20 and the personal identification module 30 according to the present invention. The process of FIG. 5 may be executed when the embedded software is run, copied, or installed in the embedded terminal 20, and may be performed when the embedded terminal 20 is booted after the embedded software is installed have. The present invention is not limited to the point in time at which the copy management process of the embedded software is executed but will be described on the basis of execution of the copy management process when the embedded software is executed in the embedded terminal 20.

먼저, 임베디드 단말(20)에서 임베디드 소프트웨어가 구동되면 임베디드 단말(20)의 단말제어부(203)는 S300 단계에서 인증서 관리부(205)를 통해 단말저장부(211)에 기 저장된 인증서가 있는지 식별하는 한편, 하드웨어 정보관리부(209)를 통해 하드웨어 고유정보를 식별한다. 하드웨어 고유정보는 임베디드 단말(20)에 고유한 속성을 갖는 정보로서 모뎀 칩 시리얼 번호, 메모리 시리얼 번호, 블루투스 매체접근제어(MAC) 주소, 와이파이(WIFI) MAC 주소, 국제 이동단말기 식별번호(IMEI) 등이며, 이들 외에도 임베디드 단말(20)의 고유속성를 나타낸다면 하드웨어 고유정보에 포함될 수 있다.First, when the embedded software is activated in the embedded terminal 20, the terminal control unit 203 of the embedded terminal 20 identifies whether the stored certificate exists in the terminal storage unit 211 through the certificate management unit 205 in step S300 , And identifies the hardware specific information through the hardware information management unit (209). The hardware specific information includes information such as a modem chip serial number, a memory serial number, a Bluetooth medium access control (MAC) address, a WIFI MAC address, an international mobile terminal identification number (IMEI) And may be included in the hardware specific information if they indicate the inherent attributes of the embedded terminal 20.

그리고 나서, 임베디드 단말(20)의 인증서 관리부(205)는 S302 단계에서 당해 구동을 시도한 임베디드 소프트웨어에 대해 임베디드 단말(20)에 유효한 인증서가 존재하는지 여부를 검사한다. 임베디드 단말(20)의 단말제어부(203)는 그 검사결과 유효한 인증서가 존재하면 S330 단계로 진행하고 유효한 인증서가 존재하지 않으면 S304 단계로 진행한다. 이때, S302 단계에서의 '유효한 인증서'란 당해 임베디드 소프트웨어에 대해 사용할 수 있는 인증서로서 인증서 헤더 등의 필드포맷을 검사하였을 때 데이터 깨짐 문제가 없고 유효기간 경과 등과 같은 결격사유가 없는 것을 의미한다.Then, the certificate management unit 205 of the embedded terminal 20 checks whether there is a valid certificate in the embedded terminal 20 for the embedded software that is attempted to run in step S302. If there is a valid certificate, the terminal control unit 203 of the embedded terminal 20 proceeds to step S330, and if there is no valid certificate, the terminal control unit 203 proceeds to step S304. In this case, the 'valid certificate' in step S302 means that there is no problem of data breaking when the field format such as the certificate header is checked as a certificate usable for the embedded software, and there is no reason for disqualification such as the expiration of the validity period.

먼저, 임베디드 단말(20)에 유효한 인증서가 존재하지 않아 S304 단계로 진행하는 경우, 임베디드 단말(20)은 개인식별 모듈(30)로 당해 임베디드 소프트웨어를 구동하기 위한 인증서 발행을 요청한다. 이때, 임베디드 단말(20)은 시그니처(105a)와 하드웨어 고유정보를 개인식별 모듈(30)로 제공함으로써 복제관리 체계의 무결성을 보장함과 동시에 당해 임베디드 단말(20) 전용의 인증서가 생성될 수 있도록 한다.First, if there is no valid certificate in the embedded terminal 20, the embedded terminal 20 requests the personal identification module 30 to issue a certificate for driving the embedded software in step S304. At this time, the embedded terminal 20 provides the signature 105a and the hardware specific information to the personal identification module 30, thereby ensuring the integrity of the copy management system, and at the same time, generating a certificate for the embedded terminal 20 do.

인증서 요청을 받으면, 개인식별 모듈(30)은 먼저 S306 단계에서 임베디드 단말(20)로부터 전달받은 시그니처(105a)에 오류가 있는지 여부를 체크한다. 만일 시그니처(105a)에 오류가 있다면 S320 단계로 진행하여 임베디드 단말(20)에 대해 인증서 생성을 거부하며, 그에 따라 임베디드 단말(20)은 S322 단계에서 오류를 표시하고 종료한다.Upon receipt of the certificate request, the personal identification module 30 first checks whether there is an error in the signature 105a received from the embedded terminal 20 in step S306. If there is an error in the signature 105a, the flow advances to step S320 to reject the certificate creation for the embedded terminal 20, and the embedded terminal 20 displays an error in step S322 and terminates.

한편, 검사 결과 시그니처(105a)에 오류가 없다면 S308 단계로 진행하여 복사 한계값을 체크한다. 즉, 임베디드 소프트웨어에 대해서는 최대 복사허용치인 복사 한계값(105c)이 설정되어 있으며, 이 값은 시그니처 생성장치(10)에서 설정하여 개인식별 모듈(30)의 인증서 생성부(305)에서 관리하고 있다. 개인식별 모듈(30)은 당해 임베디드 소프트웨어에 대해 추가적인 복사(복제)를 허용해도 되는지 여부를 판단하기 위해 복사 한계값(105c)을 체크하며, 만일 이미 최대 복사허용치에 도달한 경우에는 S320 단계로 진행하여 임베디드 단말(20)에 대해 인증서 생성을 거부하며, 그에 따라 임베디드 단말(20)은 S322 단계에서 오류를 표시하고 종료한다.On the other hand, if there is no error in the signature 105a as a result of the check, the process proceeds to step S308 to check the copy threshold value. That is, the copying threshold value 105c, which is the maximum copy permission value, is set for the embedded software, which is set by the signature generating apparatus 10 and managed by the certificate generating unit 305 of the personal identification module 30 . The personal identification module 30 checks the copy threshold value 105c to determine whether it should allow additional copying (copying) with respect to the embedded software. If the maximum copy tolerance value has been reached, the personal identification module 30 proceeds to step S320 The embedded terminal 20 rejects the certificate creation for the embedded terminal 20, and the embedded terminal 20 displays an error in step S322 and terminates the process.

반면, 검사 결과 최대 복사허용치에 미도달한 경우(복사 한계값 ≠ 0)에는 개인식별 모듈(30)은 S310 단계에서 임베디드 단말(20)의 하드웨어 고유정보를 이용하여 인증서를 생성하고, 개인키(105d)로 인증서를 암호화한다. 이렇게 인증서가 생성되면 개인식별 모듈(30)은 S312 단계에서 당해 생성된 인증서에 대해 인증서 생성이력을 저장한다.On the other hand, if the maximum copy tolerance value is not reached (the copy limit value is equal to 0), the personal identification module 30 generates a certificate using the hardware unique information of the embedded terminal 20 in step S310, 105d to encrypt the certificate. When the certificate is generated as described above, the personal identification module 30 stores the certificate generation history for the generated certificate in step S312.

이어서, 개인식별 모듈(30)은 S314 단계에서 복사 한계값(105c)을 감소시키고 인증서를 임베디드 단말(20)로 제공한다.The personal identification module 30 then reduces the copy threshold value 105c and provides a certificate to the embedded terminal 20 in step S314.

복사 한계값(105c)의 관리에 대해 살펴보면 당해 임베디드 소프트웨어에 대해 인증서를 생성할 때마다 하나씩 감소시키고, 그 값이 0이 되면 복사 한계값에 도달하여 더이상 허용되지 않는 것으로 처리한다. 예를 들어 복사 한계값(105c)이 300으로 결정되었다고 가정하면, 임베디드 단말(20)의 요청에 따라 인증서를 제공할 때마다 0에 도달할 때까지 복사 한계값(105c)을 1씩 감소한다. 그에 따라 모두 300회의 인증서 생성이 가능하게 된다.As to the management of the copy threshold value 105c, it is reduced by one for each generated certificate for the embedded software, and when the value becomes 0, the copy limit value is reached and it is treated as being no longer permitted. For example, assuming that the copy threshold value 105c is determined as 300, the copy threshold value 105c is decremented by 1 until it reaches 0 each time the certificate is provided according to the request of the embedded terminal 20. [ Thus, all 300 certificates can be generated.

이상의 설명에서는 복사 한계값(105c)을 하나씩 감소시키는 방법을 이용하는 것으로 가정하였다. 다른 구현으로는 복사 한계값(105c)은 변경하지 않고 별도 구비된 복사 카운터를 하나씩 증가시키면서 복사 한계값(105c)과 동일한 값이 되는가를 검사하는 방식으로 구현할 수도 있다. 즉, 본 발명에서는 복사 한계값(105c)을 감소시키거나 또는 복사 카운터를 두는 방법 중 어느 방법을 사용하여도 무방함에 유의해야 한다.In the above description, it is assumed that a method of reducing the copy threshold value 105c by one is used. In another implementation, it may be implemented by checking whether the copy threshold value 105c is the same value as the copy threshold value 105c, without increasing the copy threshold value 105c, but increasing the number of separately provided copy counters by one. That is, in the present invention, it should be noted that either of the methods of reducing the copy threshold value 105c or putting the copy counter may be used.

이처럼 인증서가 개인식별 모듈(30)로부터 전송되면, 임베디드 단말(20)의 단말제어부(203)는 S316 단계에서 식별모듈 접속부(213)를 통해 인증서를 수신하여 단말저장부(211)에 저장한다.When the certificate is transmitted from the personal identification module 30, the terminal control unit 203 of the embedded terminal 20 receives the certificate through the identification module connection unit 213 and stores the received certificate in the terminal storage unit 211 in step S316.

전술한 S302 단계에서 유효한 인증서를 확인하였거나 S316 단계에서 인증서를 제공받은 경우에 임베디드 단말(20)은 S330 단계로 진행하여 당해 인증서를 검증하는 과정을 수행한다. 즉, 공개키(105b)를 이용하여 인증서를 복호하여 문제가 없는지 살펴보고, 당해 인증서에 반영되어 있는 하드웨어 고유정보와 하드웨어 정보관리부(209)가 제공하는 하드웨어 고유정보를 비교하여 당해 인증서가 임베디드 단말(20)에 대해 생성된 것인지를 체크한다.If the valid certificate is confirmed in step S302 or the certificate is provided in step S316, the embedded terminal 20 proceeds to step S330 to verify the certificate. That is, it is determined whether there is a problem by decrypting the certificate using the public key 105b, and the hardware specific information reflected in the certificate is compared with the hardware specific information provided by the hardware information management unit 209, (20). ≪ / RTI >

검증 결과, S330 단계의 검증이 실패하면 임베디드 단말(20)은 S322 단계로 진행하여 오류를 표시하고 종료한다. 이러한 경우에는 일반적으로 인증서를 다른 단말장치로부터 옮겨온 경우를 생각할 수 있다.As a result of the verification, if the verification in step S330 fails, the embedded terminal 20 proceeds to step S322 and displays an error and terminates the process. In this case, it is generally considered that the certificate is transferred from another terminal device.

반면, S330 단계의 검증이 성공하면 임베디드 단말(20)은 S334 단계로 진행하여 당해 임베디드 소프트웨어를 정상적으로 구동한다.On the other hand, if the verification in step S330 is successful, the embedded terminal 20 proceeds to step S334 and normally operates the embedded software.

이상의 프로세스에 따르면 임베디드 단말(20)에서 특정 임베디드 소프트웨어를 구동하기 위해서는 반드시 당해 임베디드 단말(20)에 대해 생성된 인증서가 내부에 마련되어 있어야 한다. 만일 인증서가 없는 경우에는 개인식별 모듈(30)로부터 인증서를 제공받는데, 이때 복사 한계값(105c)을 하나씩 감소시켜가며 관리하므로 시그니처 생성장치(10)에서 설정하였던 최대 복사허용치 이내로 임베디드 소프트웨어의 복사(복제)가 통제될 수 있다.According to the above process, in order to drive specific embedded software in the embedded terminal 20, a certificate generated for the embedded terminal 20 must be provided inside. If there is no certificate, the certificate is received from the personal identification module 30. At this time, since the copy limit value 105c is managed by decrementing the copy limit value 105c one by one, copying of the embedded software is performed within the maximum copy tolerance value set by the signature generation device 10 Replication) can be controlled.

또한, 개인식별 모듈(30)이 임베디드 단말(20)의 하드웨어 고유정보를 반영시켜 인증서를 생성하고 임베디드 단말(20)에서는 인증서를 검증할 때 하드웨어 고유정보의 일치 여부를 체크하므로, 인증서를 여러 단말장치에 복사하여 사용하는 것도 효과적으로 방지할 수 있다.In addition, when the personal identification module 30 generates a certificate reflecting the hardware specific information of the embedded terminal 20 and the embedded terminal 20 checks whether the hardware unique information matches when verifying the certificate, It is also possible to effectively prevent copying and use of the device.

이처럼 복사 한계값(105c)을 갖는 개인식별 모듈(30)을 이용하여 제조사에서 임베디드 단말(20)을 제조할 경우 개인식별 모듈(30) 하나당 제조할 수 있는 임베디드 단말의 숫자가 제한되므로 소프트웨어 제작업체로서는 임베디드 소프트웨어의 사용량을 손쉽게 파악할 수 있다.
When manufacturing the embedded terminal 20 using the personal identification module 30 having the copy threshold value 105c, the number of embedded terminals that can be manufactured per individual identification module 30 is limited, The user can easily grasp the usage of the embedded software.

[도 6]은 본 발명에 따라 임베디드 단말(20)과 인증서 재발행서버(40)에서 수행되는 인증서 재발행 프로세스를 나타내는 순서도이다. 임베디드 단말(20)은 인증서가 삭제, 손상된 경우에 인증서 재발행서버(40)로 인증서 재발행을 요청하고, 인증서 재발행서버(40)는 개인식별 모듈(30)을 통해 인증서를 발행했던 이력이 확인되는 경우에는 인증서를 재발행해준다.6 is a flowchart illustrating a certificate reissue process performed in the embedded terminal 20 and the certificate reissue server 40 according to the present invention. When the certificate is deleted or damaged, the embedded terminal 20 requests the certificate reissue server 40 to reissue the certificate. When the certificate reissue server 40 confirms the history of issuing the certificate through the personal identification module 30 Reissue the certificate.

먼저, 인증서 재발행서버(40)는 인증서의 생성이력을 취합한다(S400). 인증서 생성이력은 [도 4]와 [도 5]를 참조하여 전술한 바와 같이 개인식별 모듈(30)이 관리하다가 인증서 재발행서버(40)로 전달해주는데, 다른 방식의 구현도 가능한 것으로 해석되어야 한다.First, the certificate reissue server 40 collects the generation history of the certificate (S400). The certificate generation history is managed by the personal identification module 30 as described above with reference to FIG. 4 and FIG. 5, and is transmitted to the certificate reissue server 40. However, it should be understood that other types of implementations are also possible.

단계 S400 이후, 임베디드 단말(20)이 그 저장하고 있던 인증서의 삭제 내지 손상을 검출하여 인증서 재발행을 인증서 재발행서버(40)로 요청한다. 이때, 임베디드 단말(20)은 인증서 재발행 요청 메시지와 함께 시그니처(105a)와 하드웨어 고유정보를 전달한다. 시그니처(105a)는 인증서 재발행 요청이 본 발명에 따른 정상적인 메시지임을 검증하기 위한 것이고, 하드웨어 고유정보는 임베디드 단말(20)이 개인식별 모듈(30)을 통해 정상적으로 인증서를 생성했던 이력이 있다는 것을 검증하기 위한 것이다.After step S400, the embedded terminal 20 detects deletion or corruption of the stored certificate, and requests the certificate reissue server 40 to reissue the certificate. At this time, the embedded terminal 20 transmits the signature 105a and the hardware specific information together with the certificate re-issuance request message. The signature 105a is for verifying that the certificate re-issuance request is a normal message according to the present invention. The hardware specific information is used for verifying that the embedded terminal 20 has a history of normally generating the certificate through the personal identification module 30 .

인증서 재발행 요청을 받으면, 인증서 재발행서버(40)는 S404 단계에서 시그니처(105a)에 오류가 있는지 여부를 체크한다. 만일 시그니처(105a)에 오류가 있다면 무언가 문제가 있다고 판단하며 그에 따라 S414 단계로 진행하여 인증서 재발행을 거부하고 종료한다.Upon receiving the certificate reissue request, the certificate reissue server 40 checks whether there is an error in the signature 105a in step S404. If there is an error in the signature 105a, it is determined that there is a problem, and the process proceeds to step S414 to reject the certificate re-issuance and ends.

한편, 검사 결과 시그니처(105a)에 오류가 없다면 S406 단계로 진행하여 인증서 재발행서버(40)는 하드웨어 고유정보를 인증서 생성이력에 조회한다. 이를 통해 인증서 재발행서버(40)는 인증서 재발행을 요청하고 있는 임베디드 단말(20)이 개인식별 모듈(30)을 통해 정상적으로 인증서를 생성했던 이력이 있는지 여부를 판단한다.On the other hand, if there is no error in the signature 105a, the process proceeds to step S406, where the certificate reissue server 40 inquires of the certificate creation history about the hardware specific information. The certificate reissue server 40 determines whether the embedded terminal 20 requesting the reissue of the certificate has a history of normally generating the certificate through the personal identification module 30.

그후, 인증서 재발행서버(40)는 S408 단계에서 인증서 생성이력을 조회한 결과를 살펴보는데, 만일 조회에 실패하는 경우에는 개인식별 모듈(30)을 통한 인증서 생성이력이 없는 것으로 판단하며 그에 따라 S414 단계로 진행하여 인증서 재발행을 거부하고 종료한다.Then, the certificate reissue server 40 examines the result of inquiring the certificate generation history in step S408. If the query fails, it is determined that there is no certificate generation history through the individual identification module 30, And the certificate re-issuance is denied.

반대로, 만일 조회에 성공하는 경우에는 당해 임베디드 단말(20)이 개인식별 모듈(30)을 통해 정상적으로 인증서를 생성했던 이력이 있는 것으로 판단하고, 그에 따라 S410 단계에서 인증서 재발행서버(40)는 하드웨어 고유정보를 이용하여 인증서를 재발행하고 개인키(105d)로 그 재발행된 인증서를 암호화하여 임베디드 단말(20)로 전달한다. 이때, 재발행된 인증서는 개인식별 모듈(30)이 최초 생성한 인증서와 동일한 포맷으로 구성할 수도 있고 상이한 포맷으로 구성하여 재발행된 것임을 식별할 수 있도록 구성할 수도 있다.On the contrary, if the inquiry is successful, it is determined that the embedded terminal 20 has a history of normally generating the certificate through the personal identification module 30, and accordingly, in step S410, the certificate re- And transmits the re-issued certificate to the embedded terminal 20 by encrypting the re-issued certificate with the private key 105d. At this time, the re-issued certificate may be configured in the same format as that of the certificate originally generated by the individual identification module 30, or may be configured in a different format so as to identify the re-issued certificate.

마지막으로, S412 단계에서 임베디드 단말(20)은 그 재발행된 인증서를 수신하여 단말저장부(211)에 저장한다.
Finally, in step S412, the embedded terminal 20 receives the re-issued certificate and stores it in the terminal storage unit 211. [

한편, 본 발명에서는 개인식별 모듈(30)이 특정의 복사 한계값(예: 100)에 따른 횟수만큼 인증서를 생성할 수 있고, 임베디드 단말(20)은 인증서를 최초 제공받을 때에만 개인식별 모듈(30)이 필요하다. 개인식별 모듈(30)은 임베디드 단말(20)의 생산과정에서 여러 단말장치에 삽입되어 인증서 생성과정에만 개입한 후 제거되며 그 과정에서 인증서 생성이력을 저장하여 인증서 재발행서버(40)로 제공한다. 임베디드 단말(20)은 개인식별 모듈(30)로부터 인증서를 최초 제공받고 인증서 삭제나 손상으로 인해 다시 제공받아야 할 때에는 인증서 재발행서버(40)로부터 재발행받는다.Meanwhile, in the present invention, the personal identification module 30 can generate a certificate the number of times corresponding to a specific copy threshold value (e.g., 100), and the embedded terminal 20 can only generate a personal identification module 30) is required. The personal identification module 30 is inserted into a plurality of terminal devices in the manufacturing process of the embedded terminal 20 and intervenes only in the certificate generation process, and is removed. In the process, the certificate generation history is stored and provided to the certificate reissue server 40. The embedded terminal 20 receives the certificate from the personal identification module 30 for the first time, and receives the re-issued certificate from the certificate re-issuance server 40 when it is required to receive the certificate again due to deletion or corruption of the certificate.

하지만 본 발명의 기술적 사상은 상기와 같은 제 1 실시예에만 한정되는 것은 아니며 상이한 방식으로 구현할 수도 있다. 예를 들어, 제 2 실시예로서 개인식별 모듈(30)이 하나의 인증서만 생성하도록 구성하고 인증서 재발행서버(40)를 개인식별 모듈(30)에 삽입하여 일체로 구성하는 것도 가능하다. 다만, 본 발명자는 임베디드 단말(20)과 개인식별 모듈(30)의 생산효율과 생산비용의 면을 고려하여 제 2 실시예보다는 제 1 실시예가 더 바람직한 방식이라고 판단하였으며, 그에 따라 제 1 실시예를 기준으로 설명하였다.
However, the technical idea of the present invention is not limited to the above-described first embodiment, but may be implemented in different ways. For example, in the second embodiment, the personal identification module 30 may be configured to generate only one certificate, and the certificate reissue server 40 may be inserted into the individual identification module 30 so as to be integrally formed. However, the inventor of the present invention has determined that the first embodiment is a more preferable method than the second embodiment in consideration of the production efficiency and the production cost of the embedded terminal 20 and the personal identification module 30, .

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드의 형태로 구현하는 것이 가능하다. 이때, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.The present invention can also be embodied in the form of computer readable code on a computer readable recording medium. At this time, the computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어웨이브(예: 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산된 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인 프로그램, 코드, 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage, and the like, and may be implemented in the form of a carrier wave . The computer-readable recording medium can also be stored and executed by a computer-readable code in a distributed manner on a networked computer system. And functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.

이상과 같이, 본 명세서와 도면에는 본 발명의 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예가 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명하다.
As described above, the embodiments of the present invention have been disclosed in the present specification and drawings, and although specific terms have been used, they have been used only in a general sense to easily describe the technical contents of the present invention and to facilitate understanding of the invention. And is not intended to limit the scope of the invention. It will be apparent to those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

10 : 시그니처 생성장치
20 : 임베디드 단말
30 : 개인식별 모듈
40 : 인증서 재발행서버
101 : 사용자 UI부
103 : 제어부
105 : 시그니처 생성부
107 : 외부장치 인터페이스부
109 : 그래픽 처리부
201 : 터치입력부
203 : 단말제어부
205 : 인증서 관리부
207 : 디스플레이부
209 : 하드웨어 정보관리부
211 : 단말저장부
213 : 식별모듈 접속부
305 : 인증서 생성부
313 : 단말 접속부
314 : 생성이력 저장부
10: Signature Generator
20: embedded terminal
30: Personal identification module
40: Certificate reissue server
101: User UI section
103:
105: Signature generator
107: External device interface unit
109: Graphics processor
201: Touch input unit
203:
205: certificate management unit
207:
209: hardware information management unit
211:
213: Identification module connection
305: Certificate generating unit
313:
314: Creation history storage unit

Claims (9)

임베디드 단말이 특정 임베디드 소프트웨어에 대한 복제관리 프로세스를 실행하는 제 1 단계;
상기 임베디드 단말이 기 저장된 인증서 및 하드웨어 고유정보를 식별하는 제 2 단계;
상기 임베디드 단말이 상기 임베디드 소프트웨어에 대한 기 저장된 인증서가 유효하게 존재하는지 검사하는 제 3 단계;
상기 검사 결과로 기 저장된 인증서가 유효하게 존재하는 경우, 상기 임베디드 단말이 상기 인증서를 검증하고 그 결과 인증서 검증에 성공하면 상기 임베디드 소프트웨어를 허용하고 복제관리 프로세스를 종료하는 제 4 단계;
상기 검사 결과로 기 저장된 인증서가 유효하게 존재하지 않는 경우, 상기 임베디드 단말이 개인식별 모듈로 상기 하드웨어 고유정보를 제공하면서 인증서를 요청하는 제 5 단계;
상기 개인식별 모듈이 미리 설정된 복사 한계값 한도에서 상기 하드웨어 고유정보에 기초한 인증서를 신규 생성하여 제공하면, 상기 임베디드 단말이 상기 생성된 신규 인증서를 수신 및 저장하고 상기 임베디드 소프트웨어를 허용하면서 복제관리 프로세스를 종료하는 제 6 단계;
상기 개인식별 모듈이 상기 복사 한계값에 도달하여 인증서 생성 거부를 제공하면, 상기 임베디드 단말이 상기 임베디드 소프트웨어를 실패 처리하면서 복제관리 프로세스를 종료하는 제 7 단계;
를 포함하여 구성되는 임베디드 소프트웨어의 복제관리 방법.
A first step of the embedded terminal executing a duplication management process for the specific embedded software;
A second step in which the embedded terminal identifies previously stored certificates and hardware specific information;
A third step of the embedded terminal checking whether a pre-stored certificate for the embedded software is valid;
A fourth step of, if the pre-stored certificate is valid as a result of the checking, if the embedded terminal verifies the certificate and if the verification of the certificate succeeds, then the embedded software is permitted and the copy management process is terminated;
A fifth step of, if the pre-stored certificate does not exist as a result of the checking, requesting a certificate while the embedded terminal provides the hardware specific information to the personal identification module;
Wherein the personal identification module newly generates and provides a certificate based on the hardware specific information at a predetermined copying limit value limit so that the embedded terminal can receive and store the generated new certificate and perform the copy management process while allowing the embedded software A sixth step of terminating the process;
A seventh step of the embedded terminal terminating the copy management process while failing to process the embedded software when the personal identification module reaches the copy threshold and provides a certificate generation rejection;
The method comprising the steps of:
청구항 1에 있어서,
상기 제 1 단계 이전에 실행되는,
시그니처 생성장치가 상기 임베디드 소프트웨어의 버전, 배포 대상 제조사 및 제품모델, 복사 한계값 중 하나이상을 포함하는 시그니처 기초정보를 획득하는 단계;
상기 시그니처 생성장치가 상기 시그니처 기초정보를 사용하여 시그니처를 생성하는 단계;
상기 시그니처 생성장치가 공개키와 개인키의 키 조합을 획득하는 단계;
상기 시그니처 생성장치가 상기 임베디드 단말로 상기 시그니처와 상기 공개키를 제공하는 단계;
상기 시그니처 생성장치가 상기 개인식별 모듈로 상기 복사 한계값과 상기 개인키를 제공하는 단계;
를 더 포함하여 구성되는 임베디드 소프트웨어의 복제관리 방법.
The method according to claim 1,
A second step of executing,
The signature generation device acquiring signature base information including at least one of a version of the embedded software, a distribution target manufacturer and a product model, and a copy threshold value;
The signature generation device generating a signature using the signature basis information;
The signature generation device obtaining a key combination of a public key and a private key;
The signature generation device providing the signature and the public key to the embedded terminal;
The signature generation device providing the copy threshold and the private key to the person identification module;
The method comprising the steps of:
청구항 2에 있어서,
상기 제 4 단계는,
상기 임베디드 단말이 상기 공개키로 상기 인증서를 복호하여 에러 발생 여부를 통해 검증하는 제 41 단계;
상기 임베디드 단말이 상기 인증서에 반영된 하드웨어 고유정보와 상기 제 2 단계에서 식별된 하드웨어 고유정보를 비교하여 상기 인증서가 상기 임베디드 단말에 대해 생성된 것인지 여부를 검증하는 제 42 단계;
상기 제 41 단계의 검증과 상기 제 42 단계의 검증에 모두 성공하는 경우 상기 임베디드 단말이 상기 임베디드 소프트웨어를 허용하고 복제관리 프로세스를 종료하는 제 43 단계;
를 포함하여 구성되는 것을 특징으로 하는 임베디드 소프트웨어의 복제관리 방법.
The method of claim 2,
In the fourth step,
(41) the embedded terminal decrypts the certificate with the public key and verifies whether or not an error has occurred;
Comparing the hardware specific information reflected in the certificate with the hardware specific information identified in the second step and verifying whether the certificate is generated for the embedded terminal;
43. The method of claim 43, wherein if the verification of step 41 and the verification of step 42 are successful, the embedded terminal permits the embedded software and ends the replication management process.
And a copy management program for managing the copy of the embedded software.
청구항 3에 있어서,
상기 제 6 단계는,
상기 개인식별 모듈이 상기 복사 한계값을 체크하여 추가적인 복사가 허용되는지 여부를 체크하는 단계;
상기 체크 결과 추가적인 복사가 허용되는 경우 상기 개인식별 모듈이 상기 제공된 하드웨어 고유정보에 기초한 인증서를 신규 생성하는 단계;
상기 개인식별 모듈이 상기 인증서의 신규 생성을 상기 복사 한계값의 관리에 반영하는 단계;
상기 개인식별 모듈이 상기 신규 생성된 인증서를 상기 개인키로 암호화하여 상기 임베디드 단말로 제공하는 단계;
상기 임베디드 단말이 상기 신규 생성된 인증서를 수신 및 저장하는 단계;
상기 임베디드 단말이 상기 공개키로 상기 신규 생성된 인증서를 검증하고 상기 인증서에 반영된 하드웨어 고유정보와 상기 제 2 단계에서 식별된 하드웨어 고유정보를 비교하여 상기 인증서가 상기 임베디드 단말에 대해 생성된 것인지 여부를 검증하는 단계;
상기 검증에 모두 성공하는 경우 상기 임베디드 단말이 상기 임베디드 소프트웨어를 허용하면서 복제관리 프로세스를 종료하는 단계;
를 포함하여 구성되는 것을 특징으로 하는 임베디드 소프트웨어의 복제관리 방법.
The method of claim 3,
In the sixth step,
The personal identification module checking the copy threshold to check whether additional copying is allowed;
Generating a certificate based on the provided hardware-specific information when the check result indicates that additional copying is permitted;
The personal identification module reflecting the new generation of the certificate in the management of the copy threshold value;
Encrypting the newly generated certificate with the private key and providing the newly generated certificate to the embedded terminal;
Receiving and storing the newly generated certificate by the embedded terminal;
The embedded terminal verifies the newly generated certificate with the public key and verifies whether the certificate is generated for the embedded terminal by comparing the hardware unique information reflected in the certificate with the hardware unique information identified in the second step ;
Ending the copy management process while permitting the embedded terminal to allow the embedded software if the verification is successful;
And a copy management program for managing the copy of the embedded software.
청구항 4에 있어서,
인증서 재발행서버가 상기 개인식별 모듈에 의한 인증서 생성이력을 취합하는 제 8 단계;
상기 임베디드 단말이 상기 제 6 단계에서 신규로 생성되어 저장한 인증서의 삭제 또는 손상을 검출함에 따라 상기 인증서 재발행서버로 상기 하드웨어 고유정보를 제공하면서 인증서 재발행을 요청하는 제 9 단계;
상기 인증서 재발행서버가 상기 제공받은 하드웨어 고유정보를 상기 인증서 생성이력에 조회하는 제 10 단계;
상기 조회 결과 성공하는 경우에 상기 인증서 재발행서버는 상기 하드웨어 고유정보에 기초하여 인증서를 재발행하여 상기 임베디드 단말로 제공하는 제 11 단계;
를 더 포함하여 구성되는 임베디드 소프트웨어의 복제관리 방법.
The method of claim 4,
An eighth step of the certificate reissue server collecting the certificate generation history by the personal identification module;
A ninth step of requesting reissue of the certificate while providing the hardware specific information to the certificate reissue server upon detecting deletion or corruption of the certificate newly created and stored in the sixth step;
A step 10 in which the certificate reissue server inquires of the certificate generation history about the provided hardware specific information;
If the inquiry result is successful, the certificate reissue server reissues the certificate based on the hardware specific information and provides the reissued certificate to the embedded terminal;
The method comprising the steps of:
청구항 5에 있어서,
상기 제 8 단계 이전에 수행되는,
상기 개인식별 모듈이 상기 제 6 단계에서 인증서를 신규 생성할 때마다 그에 대응하여 인증서 생성이력을 유지관리한 후, 상기 인증서 재발행서버로 상기 인증서 생성이력을 제공하는 단계;
를 더 포함하여 구성되는 임베디드 소프트웨어의 복제관리 방법.
The method of claim 5,
The method of claim 1,
Each time a new certificate is generated in the sixth step, the personal identification module maintains a certificate generation history corresponding to the new certificate and provides the certificate generation history to the certificate reissue server;
The method comprising the steps of:
청구항 6에 있어서,
상기 제 5 단계에서 상기 임베디드 단말은 상기 개인식별 모듈로 상기 시그니처를 더 제공하고,
상기 제 5 단계와 상기 제 6 단계 사이에 실행되는,
상기 개인식별 모듈이 상기 시그니처를 수신하면 상기 시그니처의 오류를 체크하여 그 결과 오류가 검출되는 경우에는 인증서 생성을 거부하고 그에 따라 상기 임베디드 단말은 상기 임베디드 소프트웨어를 실패 처리하면서 상기 복제관리 프로세스를 종료하는 단계;
를 더 포함하여 구성되는 임베디드 소프트웨어의 복제관리 방법.
The method of claim 6,
In the fifth step, the embedded terminal further provides the signature to the personal identification module,
And a fourth step of executing, between the fifth step and the sixth step,
When the personal identification module receives the signature, it checks an error of the signature. If an error is detected as a result, the embedded terminal rejects the certificate generation, and the embedded terminal terminates the replication management process while failing the embedded software step;
The method comprising the steps of:
청구항 7에 있어서,
상기 하드웨어 고유정보는 상기 임베디드 단말의 모뎀 칩 시리얼 번호, 메모리 시리얼 번호, 블루투스 매체접근제어(MAC) 주소, 와이파이(WIFI) MAC 주소, 국제 이동단말기 식별번호(IMEI) 중 하나 이상을 포함하여 구성되는 것을 특징으로 하는 임베디드 소프트웨어의 복제관리 방법.
The method of claim 7,
The hardware specific information may include at least one of a modem serial number, a memory serial number, a Bluetooth media access control (MAC) address, a WIFI MAC address, and an International Mobile Terminal Identification Number (IMEI) of the embedded terminal Wherein the method comprises the steps of:
청구항 1 내지 청구항 8 중 어느 하나의 항에 따른 임베디드 소프트웨어의 복제관리 방법을 실행하기 위한 복제관리 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.A computer-readable recording medium storing a replication management program for executing a replication management method of embedded software according to any one of claims 1 to 8.
KR1020120110367A 2012-10-05 2012-10-05 Method of managing copies of embedded software, and computer-readable recording medium with copy-management program for the same KR101390677B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120110367A KR101390677B1 (en) 2012-10-05 2012-10-05 Method of managing copies of embedded software, and computer-readable recording medium with copy-management program for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120110367A KR101390677B1 (en) 2012-10-05 2012-10-05 Method of managing copies of embedded software, and computer-readable recording medium with copy-management program for the same

Publications (2)

Publication Number Publication Date
KR20140046545A KR20140046545A (en) 2014-04-21
KR101390677B1 true KR101390677B1 (en) 2014-04-30

Family

ID=50653437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120110367A KR101390677B1 (en) 2012-10-05 2012-10-05 Method of managing copies of embedded software, and computer-readable recording medium with copy-management program for the same

Country Status (1)

Country Link
KR (1) KR101390677B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909316B (en) * 2019-11-14 2023-05-09 武汉正维电子技术有限公司 Encryption protection method for singlechip software and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020011738A (en) * 2000-08-04 2002-02-09 윤금 Method for protecting illegal copy of software
KR20030038995A (en) * 2001-11-09 2003-05-17 임민상 System and method for preventing illegal copying software
KR20040069019A (en) * 2003-01-28 2004-08-04 박동현 System and method for certifying use of contents
KR20040098876A (en) * 2003-05-16 2004-11-26 (주)노마글로벌 The construction of CRS(Certification Remote System) for DRM(Digital Right Management) on network and internet.

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020011738A (en) * 2000-08-04 2002-02-09 윤금 Method for protecting illegal copy of software
KR20030038995A (en) * 2001-11-09 2003-05-17 임민상 System and method for preventing illegal copying software
KR20040069019A (en) * 2003-01-28 2004-08-04 박동현 System and method for certifying use of contents
KR20040098876A (en) * 2003-05-16 2004-11-26 (주)노마글로벌 The construction of CRS(Certification Remote System) for DRM(Digital Right Management) on network and internet.

Also Published As

Publication number Publication date
KR20140046545A (en) 2014-04-21

Similar Documents

Publication Publication Date Title
CN109997333B (en) Embedding a foundational root of trust using a security algorithm
JP5449905B2 (en) Information processing apparatus, program, and information processing system
CN101116070B (en) System and method to lock TPM always 'on' using a monitor
JP3918827B2 (en) Secure remote access system
TWI621031B (en) Secure feature and key management in integrated circuits
US7146645B1 (en) Dedicated applications for user stations and methods for downloading dedicated applications to user stations
CN102508791B (en) Method and device for encrypting hard disk partition
CN105531710A (en) Method of authorizing an operation to be performed on a targeted computing device
JP5476086B2 (en) IC chip, information processing apparatus, and program
US10361864B2 (en) Enabling a secure OEM platform feature in a computing environment
CN101490698A (en) Component authentication for computer systems
US20120117380A1 (en) Method for Granting Authorization to Access a Computer-Based Object in an Automation System, Computer Program, and Automation System
CN110326266B (en) Data processing method and device
JP2004013744A (en) Issuing system for digital content and issuing method
CN108335105B (en) Data processing method and related equipment
CN105516136A (en) Authority management method, device and system
US20140230068A1 (en) System and method for packaging and authenticating a software product
JP5391743B2 (en) Payment processing security information distribution method, payment processing security information distribution system, center device thereof, server device, payment terminal, and program
JP6318868B2 (en) Authentication system and portable communication terminal
KR101711024B1 (en) Method for accessing temper-proof device and apparatus enabling of the method
KR101390677B1 (en) Method of managing copies of embedded software, and computer-readable recording medium with copy-management program for the same
US11551220B2 (en) Method for processing transaction data, corresponding communications terminal, card reader and program
CN104680054A (en) RFID (radio frequency identification devices) data processing method
CN110851881B (en) Security detection method and device for terminal equipment, electronic equipment and storage medium
CN110784767B (en) Television license code writing method and device

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180409

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee