KR20150072007A - Method for accessing temper-proof device and apparatus enabling of the method - Google Patents
Method for accessing temper-proof device and apparatus enabling of the method Download PDFInfo
- Publication number
- KR20150072007A KR20150072007A KR1020130159219A KR20130159219A KR20150072007A KR 20150072007 A KR20150072007 A KR 20150072007A KR 1020130159219 A KR1020130159219 A KR 1020130159219A KR 20130159219 A KR20130159219 A KR 20130159219A KR 20150072007 A KR20150072007 A KR 20150072007A
- Authority
- KR
- South Korea
- Prior art keywords
- application
- value
- tamper
- hash value
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치에 관한 것이다. The present invention relates to a tamper-proof device approaching method and a terminal device employing the method.
최근 정보통신기술의 발달에 따라 정보 유출로 인한 피해 역시 급증하고 있다. 따라서, 정보 유출로 인한 피해를 줄이기 위하여, 정보가 유출되더라도 그 내용을 알 수 없도록 정보를 암호화하는 기술에 대한 관심이 증가하고 있다. Recently, due to the development of information and communication technology, the damage caused by information leakage is also increasing rapidly. Therefore, in order to reduce the damage caused by information leakage, there is an increasing interest in a technique of encrypting information so that the information can not be known even if the information is leaked.
일반적인 암호화 기술에는 비밀번호와 키 값이 함께 사용된다. 즉, 사용자가 비밀번호를 이용하여 키 값에 접근할 수 있는 권한을 획득하고, 해당 키 값을 이용해 정보를 암/복호화 할 수 있다. 다만, 일반적으로 키 값은 하드디스크나 플래시 메모리 같은 저장장치에 저장되므로, 파일 시스템에 대해 포렌직(Forensic) 기법을 사용하면 통해 키 값을 찾아낼 수 있어 유출 가능성이 있다. 또한, 비밀번호 역시 화면해킹, 키 해킹, 사회공학적 기법들을 통해 유출될 수 있으나, 이에 대한 대응방안이라고는 어렵고 복잡하며 길이가 긴 비밀번호를 자주 바꿔주는 방법뿐이어서 비밀번호 관리에 어려움이 있다. Common encryption techniques use both passwords and key values. That is, the user can obtain the authority to access the key value using the password, and can use the key value to encrypt / decrypt the information. However, since the key value is generally stored in a storage device such as a hard disk or a flash memory, a forensic technique can be used to find a key value in the file system, which is likely to leak. Also, passwords can be leaked through screen hacking, key hacking, and social engineering techniques. However, it is difficult to manage passwords because it is difficult and complicated to cope with, and only a method of frequently changing long passwords.
최근, 키 값의 유출에 대한 대응 방안으로 HSM(Hardware Security Module), TPM(Trusted Platform Module) 또는 MTM(Mobile Trusted Module)과 같은 부정조작방지(tamper-proof) 기능이 있는 하드웨어 장치를 사용하는 방법이 제시되고 있다. 그러나, 이러한 하드웨어 장치들 역시 내부에 저장된 키 값에 접근하기 위해서는 사용자가 비밀번호를 입력해야 하므로, 비밀번호 관리 문제는 그대로 남아 있게 된다. Recently, a method of using a hardware device having a tamper-proof function such as a hardware security module (HSM), a trusted platform module (TPM), or a mobile trusted module (MTM) . However, since these hardware devices also require the user to input a password in order to access the key value stored therein, the problem of password management remains unchanged.
본 발명은 사용자가 비밀번호를 입력하지 않고도 부정조작방지 장치의 키 값을 이용하여 정보의 암/복호화를 수행하는 방법 및 그 방법을 채용한 단말 장치를 제공하는데 그 목적이 있다.An object of the present invention is to provide a method for performing encryption / decryption of information by using a key value of a tamper-proof device without requiring a user to input a password, and a terminal device employing the method.
본 발명의 일 실시예에 따르면, 애플리케이션 실행 시, 상기 애플리케이션의 실행에 관계된 파일을을 이용하여 제1 검증 해시값을 생성하는 단계, 부정조작방지(tamper-proof) 장치에 저장된 상기 애플리케이션의 무결성 값과 상기 제1 검증 해시값이 일치하는지 여부를 판단하는 단계, 상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션과 상기 부정조작방지 장치 간 세션을 연결하는 단계, 상기 부정조작방지 장치에 상기 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 상기 애플리케이션의 핸들값으로 등록하는 단계 및 상기 애플리케이션으로부터 상기 핸들값이 결합된 명령이 있는 경우, 상기 부정조작방지 장치에 저장된 상기 핸들값에 대응하는 키 값을 이용해 암/복호화를 수행하는 단계를 포함하는 것을 특징으로 한다. According to an embodiment of the present invention, there is provided a method of controlling a method for generating a first verification hash value using a file related to execution of an application when an application is executed, generating a first verification hash value using an integrity value of the application stored in a tamper- Determining whether the first verification hash value is identical to the first verification hash value, connecting the session between the application and the tamper-proof device if the integrity value matches the first verification hash value, Registering, as a handle value of the application, a value randomly generated each time the application is executed in the device, and when there is an instruction combined with the handle value from the application, And performing encryption / decryption using the key value corresponding to the value .
본 발명의 다른 실시예에 따르면, 애플리케이션을 실행하는 애플리케이션 실행부, 상기 애플리케이션의 실행에 관계된 파일을 이용하여 제1 검증 해시값을 생성하는 무결성 검증부, 상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션과 상기 부정조작방지 장치 간 세션을 연결하는 미들웨어 처리부, 저장된 상기 애플리케이션의 무결성 값과 상기 제1 검증 해시값이 일치하는지 여부를 판단하고, 상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 상기 애플리케이션의 핸들값으로 등록하며, 상기 애플리케이션으로부터 상기 핸들값이 결합된 명령이 있는 경우, 저장된 상기 핸들값에 대응하는 키 값을 이용해 암/복호화를 수행하는 부정조작방지 장치를 포함하는 것을 특징으로 한다. According to another embodiment of the present invention, there is provided an information processing apparatus including an application execution unit that executes an application, an integrity verification unit that generates a first verification hash value using a file related to execution of the application, A middleware processing unit for connecting a session between the application and the unauthorized tamper protection apparatus to each other when the first verification hash value matches the first verification hash value, Registers a value generated randomly each time the application is executed as a handle value of the application when the value of the handle is equal to the value of the handle, A tamper-proof device for performing encryption / decryption using a key value .
본 발명에 따르면, 사용자가 비밀번호를 입력하지 않고도 부정조작방지 장치의 키 값을 이용하여 정보의 암/복호화를 수행할 수 있다. According to the present invention, the user can perform encryption / decryption of information using the key value of the tamper-proof device without inputting the password.
도 1은 본 발명의 일 실시예에 따른 부정조작방지 장치 접근 방법을 수행하는 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 부정조작방지 장치 접근 방법의 순서도를 나타내는 도면이다.
도 3은 본 발명의 다른 실시예에 따른 부정조작방지 장치 접근 방법의 순서도를 나타내는 도면이다. 1 is a diagram illustrating a system for performing an anti-tamper device approach according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating an anti-tampering method according to an exemplary embodiment of the present invention. Referring to FIG.
FIG. 3 is a flowchart illustrating an anti-tamper device approach according to another embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and how to accomplish it, will be described with reference to the embodiments described in detail below with reference to the accompanying drawings. However, the present invention is not limited to the embodiments described herein but may be embodied in other forms. The embodiments are provided so that those skilled in the art can easily carry out the technical idea of the present invention to those skilled in the art.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "indirectly connected" . Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.
도 1은 본 발명의 일 실시예에 따른 부정조작방지 장치 접근 방법을 수행하는 시스템을 나타내는 도면이다. 1 is a diagram illustrating a system for performing an anti-tamper device approach according to an embodiment of the present invention.
도 1을 참조하면, 발명의 일 실시예에 따른 부정조작방지 장치 접근 방법을 수행하는 시스템은 애플리케이션 스토어(101), 애플리케이션 공급자(102), 인증센터(103) 및 단말 장치(100)를 포함할 수 있다. 여기서, 애플리케이션 스토어(101), 애플리케이션 공급자(102) 및 인증센터(103)는 각각의 역할을 수행하는 서버에 해당할 수 있다. 1, a system for performing an anti-tamper device approach according to an embodiment of the present invention includes an
애플리케이션 스토어(101)는 애플리케이션을 사고 팔 수 있는 온라인 상의 콘텐츠(소프트웨어) 시장이다. 본 발명의 일 실시예에 따르면, 애플리케이션 스토어(101)는 애플리케이션 공급자(102)로부터 애플리케이션을 공급받아 단말 장치(100)의 요청에 따라 단말 장치(100)로 애플리케이션을 전송한다. The
애플리케이션 공급자(102)는 개발한 애플리케이션을 공급한다. 본 발명의 일 실시예에 따르면, 애플리케이션 공급자(102)는 개발한 애플리케이션을 인증센터(103)로 전송하여 인증을 받고, 인증정보가 포함된 애플리케이션을 애플리케이션 스토어(101)로 전송한다. The
인증센터(103)는 애플리케이션에 대한 무결성 인증을 수행한다. 본 발명의 일 실시예에 따르면, 애플리케이션 공급자(102)로부터 애플리케이션을 인증 요청을 수신하는 경우, 애플리케이션 공급자(102)는 애플리케이션 인증을 위한 인증 정보인 원본 해시값을 생성한다. 원본 해시값은 애플리케이션의 실행에 관계된 파일들에 대해 해시값을 생성하고, 생성한 해시값들을 이용하여 최종 해시값을 생성하는 방법에 의해 만들어질 수 있다. 다만, 원본 해시값을 생성하는 방법은 이에 한정되지 않고 다양한 방법으로 생성할 수 있다. 인증센터(103)는 공개키를 이용하여 생성한 원본 해시값을 암호화한다. 공개키로 암호화된 원본 해시값을 비밀키로만 정상 복호할 수 있다. The
그 후, 인증센터(103)는 암호화된 원본 해시값이 포함된 애플리케이션을 애플리케이션 공급자(102)로 전송한다. The
단말 장치(100)는 본 발명의 일 실시예에 따른 부정조작방지 장치 접근 방법을 채용한 단말 장치(100)로, 애플리케이션을 다운받아 설치하고 실행한다. 본 발명의 실시예에 따른 단말 장치(100)는 노트북(Laptop), 퍼스널 컴퓨터(Personal Computer, PC), 이동통신 단말기, 태블릿 PC(Tablet PC) 등과 같은 정보 통신 기기 및 멀티미디어 기기가 될 수 있다.The
본 발명의 실시예에 따른 단말 장치(100)는 애플리케이션 설치부(110), 애플리케이션 실행부(120), 무결성 검증부(130), 미들웨어 처리부(140) 및 부정조작방지 장치(150)를 포함할 수 있다. The
애플리케이션 설치부(110)는 통신부(미도시)를 통해 애플리케이션 스토어(101)로부터 애플리케이션의 설치를 위한 애플리케이션 패키지를 수신하고, 수신한 애플리케이션 패키지로부터 설치 파일을 추출하여 애플리케이션을 설치하는 역할을 수행한다. 본 발명의 일 실시예에 따르면, 애플리케이션 설치부(110)는 애플리케이션 설치 시, 실행에 관계된 파일을 이용하여 생성된 제2 검증 해시값과 복호된 원본 해시값이 일치하는 경우에만 애플리케이션 설치를 완료한다. 이러한 과정을 통해, 단말 장치(100)에 설치되는 애플리케이션의 무결성을 확보할 수 있다. The
여기서, 애플리케이션의 실행에 관계된 파일은 애플리케이션 실행에 필요한 실행 파일 또는 데이터 파일 중 적어도 하나 이상을 포함할 수 있다. Here, the file related to the execution of the application may include at least one of an executable file or a data file necessary for executing the application.
애플리케이션 실행부(120)는 설치된 애플리케이션을 실행하는 역할을 수행한다. 본 발명의 일 실시예에 따르면, 애플리케이션 실행부(120)는, 애플리케이션 실행 시, 실행에 관계된 파일을 이용하여 생성된 제1 검증 해시값과, 부정조작방지 장치(150)에 등록된 무결성 값이 일치하는 경우에 애플리케이션을 실행한다. 이러한 과정을 통해, 단말 장치(100)에서 실행되는 애플리케이션의 무결성을 확보할 수 있다. The
여기서, 애플리케이션의 실행에 관계된 파일은 애플리케이션 실행에 필요한 실행 파일 또는 데이터 파일 중 적어도 하나 이상을 포함할 수 있다. Here, the file related to the execution of the application may include at least one of an executable file or a data file necessary for executing the application.
무결성 검증부(130)는 애플리케이션 설치 및 실행 시, 무결성 검증을 위하여 제1 검증 해시값 및 제2 검증 해시값을 생성하는 역할을 수행한다. 본 발명의 일 실시예에 따르면, 무결성 검증부(130)는 생성한 제1 검증 해시값 및 제2 검증 해시값을 해시값 비교를 위해 부정조작방지 장치(150)로 전달한다. The
미들웨어 처리부(140)는 여러 종류의 하드웨어나 소프트웨어를 충돌 없이 실행될 수 있도록 하는 미들웨어에 대한 연산을 수행한다. 본 발명의 일 실시예에 따르면, 부정조작방지 장치(150)에 등록된 무결성 값과 제1 검증 해시값이 일치하는 경우, 미들웨어 처리부(140)는 애플리케이션과 부정조작방지 장치(150) 간 세션을 연결한다. The
이 경우, 미들웨어 처리부(140)는, 애플리케이션과 부정조작방지(tamper-proof) 장치 간 통신을 위한 메시지 버퍼에 대하여 메모리를 할당받고, 메모리의 시작 주소값을 저장한다. 그 후, 미들웨어에 상기 애플리케이션만 접속할 때까지 대기하고, 미들웨어에 애플리케이션만 접속하는 경우, 애플리케이션과 통신을 위한 메모리를 할당 받고, 메모리의 시작 주소값을 저장할 수 있다. 대기 시간을 부여하는 것은 다른 불법 애플리케이션들이 애플리케이션 식별 정보(AppID), 프로세스 식별 정보(ProcessID) 등의 정보를 취득하여 검증 과정 중에 불법적으로 끼어드는 것을 어렵게 하기 위함이다.In this case, the
또한, 미들웨어 처리부(140)는, 설정된 시간 내에 상기 애플리케이션의 세션 연결 요청이 있는 경우, 메모리의 시작 주소값을 애플리케이션에 전달하고, 애플리케이션의 식별 정보와 메모리의 시작 주소값을 부정조작방지 장치(150)에 전달할 수 있다. 이때, 미들웨어 처리부(140)는 설정된 시간 내에 기다리고 있던 AppID, ProcessID 등의 정보를 가진 접속 요청이 있는 경우, 이를 수락한다. 설정된 시간이 지나는 경우, 애플리케이션 실행을 위한 새로운 무결성 검증 요청이 들어오지 않는 한 모든 세션 접속 요청은 거부한다. If there is a session connection request of the application within the set time, the
위 설명에서는 애플리케이션 설치부(110), 애플리케이션 실행부(120), 무결성 검증부(130) 및 미들웨어 처리부(140)를 각각 별개의 구성으로 설명하였으나, 이에 한정되지 않고, 하나의 처리 장치가 적어도 하나 이상의 구성부의 역할을 수행할 수도 있다. 예를 들어, 중앙 처리 장치(CPU)가 애플리케이션 설치부(110), 애플리케이션 실행부(120), 무결성 검증부(130) 및 미들웨어 처리부(140)의 역할을 수행할 수 있다. In the above description, the
부정조작방지 장치(150)는 내부에 비밀키(151)를 저장하고 있어, 비밀키(151)를 이용하여 데이터를 암/복호화 하는 역할을 수행한다. 본 발명의 일 실시예에 따르면, 부정조작방지 장치(150)는 저장된 애플리케이션의 무결성 값과 제1 검증 해시값이 일치하는지 여부를 판단하고, 무결성 값과 제1 검증 해시값이 일치하는 경우, 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 애플리케이션(152)의 핸들값(154)으로 등록하며, 애플리케이션으로부터 핸들값(154)이 결합된 명령이 있는 경우, 저장된 핸들값(154)에 대응하는 키 값(155)을 이용해 암/복호화를 수행한다. 이와 같이, 핸들값(154)을 통해 비밀번호 없이 부정조작방지 장치(150)를 이용하여 암/복호화를 수행할 수 있다. 따라서, 본 발명의 일 실시예에 따르면, 부정조작방지 장치 내의 키 값(155)에 접근하기 위해, 각종 해킹 기법에 의해 노출 위험이 있는 비밀번호 방식을 사용하지 않아도 된다는 장점이 있다. 이러한 핸들값(154)은 애플리케이션이 실행될 때 마다 새롭게 생성되며, 애플리케이션이 종료되면 삭제된다. 본 발명의 일 실시예에 따르면 메모리의 시작 주소값을 핸들값(154)으로 사용할 수 있다. The tamper-
또한, 부정조작방지 장치(150)는, 애플리케이션 패키지로부터 암호화된 원본 해시값을 추출하여 부정조작방지(tamper-proof) 장치에 저장된 비밀키를 이용해 원본 해시값을 복호하고, 제2 검증 해시값과 원본 해시값이 일치하는지 여부를 판단하는 역할을 수행한다. 부정조작방지 장치(150)는 제2 검증 해시값과 원본 해시값이 일치하는 경우, 제2 검증 해시값을 애플리케이션의 무결성 값으로 저장할 수 있다.In addition, the tamper-
지금까지 부정조작방지 장치 접근 방법을 채용한 단말 장치에 대하여 설명하였다. 아래에서는 부정조작방지 장치 접근 방법에 대해서 보다 상세히 설명하도록 한다. A terminal device employing an unauthorized operation preventing device approach has heretofore been described. The following is a more detailed description of the anti-tamper approach.
도 2는 본 발명의 일 실시예에 따른 부정조작방지 장치 접근 방법의 순서도를 나타내는 도면이다. FIG. 2 is a flowchart illustrating an anti-tampering method according to an exemplary embodiment of the present invention. Referring to FIG.
먼저, 210 단계에서, 애플리케이션 실행부(120)는 애플리케이션을 실행하고, 실행되는 애플리케이션의 실행 정보를 무결성 검증부(130)로 전달한다. 애플리케이션의 실행 정보는 애플리케이션 식별 정보, 프로세스 식별 정보 또는 저장 경로(storage path) 정보 중 적어도 하나 이상을 포함할 수 있다. 이때, 애플리케이션 식별 정보는 AppID 가 될 수 있고, 프로세스 식별 정보는 Process ID가 될 수 있다. First, in
그 후, 220 단계에서, 무결성 검증부(130)는 애플리케이션의 실행에 관계된 파일을이용하여 제1 검증 해시값을 생성하고, 생성한 제1 검증 해시값을 부정조작방지 장치(150)로 전달한다. 이때, 무결성 검증부(130)는 구성에 따라 미들웨어 처리부(140)를 거쳐 부정조작방지 장치(150)로 제1 검증 해시값을 전달할 수도 있다. Thereafter, in
230 단계에서, 부정조작방지 장치(150)는 저장된 상기 애플리케이션의 무결성 값과 제1 검증 해시값을 비교하고, 240 단계에서 두 값이 일치하는지 여부를 판단한다. 240 단계에서 부정조작방지 장치(150)가 두 값이 일치한다고 판단하는 경우, 250 단계로 진행하여, 미들웨어 처리부(140)는 미들웨어에 상기 애플리케이션만 접속할 때까지 대기하고, 미들웨어에 애플리케이션만 접속하는 경우, 애플리케이션과 상기 부정조작방지 장치 간 통신을 위한 메시지 버퍼에 대하여 메모리를 할당받고, 메모리의 시작 주소값을 저장한다. 대기 시간을 부여하는 것은 다른 불법 애플리케이션들이 애플리케이션 식별 정보(AppID), 프로세스 식별 정보(ProcessID) 등의 정보를 취득하여 검증 과정 중에 불법적으로 끼어드는 것을 어렵게 하기 위함이다.In
240 단계에서 부정조작방지 장치(150)가 두 값이 일치하지 않는다고 판단하는 경우, 280 단계로 진행하여 애플리케이션 실행부(120)는 애플리케이션의 실행을 종료한다. If the tamper-
그 후, 애플리케이션이 실행되면, 미들웨어 처리부(140)는 애플리케이션과 부정조작방지 장치(150) 간 세션을 연결한다. 이 경우, 미들웨어 처리부(140)는, 설정된 시간 내에 상기 애플리케이션의 세션 연결 요청이 있는 경우, 메모리의 시작 주소값을 애플리케이션에 전달하고, 애플리케이션의 식별 정보와 메모리의 시작 주소값을 부정조작방지 장치(150)에 전달할 수 있다. 이때, 미들웨어 처리부(140)는 설정된 시간 내에 기다리고 있던 AppID, ProcessID 등의 정보를 가진 접속 요청이 있는 경우, 이를 수락한다. 설정된 시간이 지나는 경우, 애플리케이션 실행을 위한 새로운 무결성 검증 요청이 들어오지 않는 한 모든 세션 접속 요청은 거부한다.Thereafter, when the application is executed, the
260 단계에서 부정조작방지 장치(150)는 메모리의 시작 주소값을 애플리케이션의 핸들값(154)으로 등록하고, 270 단계에서 애플리케이션으로부터 핸들값(154)이 결합된 명령이 있는 경우, 저장된 핸들값(154)에 대응하는 키 값(154)을 이용해 암/복호화를 수행한다. 도 2에 도시된 본 발명의 실시예에서는 메모리의 시작 주소값을 애플리케이션의 핸들값(154)으로 사용하는 것으로 설명하였으나 이에 한정되지 않고 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 핸들값(154)으로 사용할 수 있다. 예를 들어 랜덤 값 생성 함수를 이용하여 생성한 값을 핸들값(154)으로 사용할 수도 있다. The tamper-
이와 같이, 핸들값(154)을 통해 비밀번호 없이 부정조작방지 장치(150)를 이용하여 암/복호화를 수행할 수 있다. 따라서, 본 발명의 일 실시예에 따르면, 부정조작방지 장치(150) 내의 키 값(155)에 접근하기 위해, 각종 해킹 기법에 의해 노출 위험이 있는 비밀번호 방식을 사용하지 않아도 된다는 장점이 있다. In this way, the encryption / decryption can be performed using the tamper-
이러한 핸들값(154)은 애플리케이션이 실행될 때 마다 새롭게 생성되며, 애플리케이션이 종료되면 삭제된다. This
도 3은 본 발명의 다른 실시예에 따른 부정조작방지 장치 접근 방법의 순서도를 나타내는 도면이다. FIG. 3 is a flowchart illustrating an anti-tamper device approach according to another embodiment of the present invention.
먼저, 310 단계에서, 애플리케이션 설치부(110)는 통신부(미도시)를 통해 애플리케이션의 설치를 위한 애플리케이션 패키지를 수신하고, 320 단계에서 수신한 애플리케이션 패키지로부터 설치 파일을 추출하여 애플리케이션을 설치한다. 이때, 애플리케이션 설치부(110)는 설치를 모두 완료하지 않고, 애플리케이션의 설치 정보를 무결성 검증부(130)로 전달한다. 여기서, 애플리케이션의 설치 정보는 애플리케이션 식별 정보 또는 저장 경로(storage path) 정보 중 적어도 하나 이상을 포함할 수 있다. 이때, 애플리케이션 식별 정보는 AppID 가 될 수 있다. First, in
330 단계에서, 무결성 검증부(130)는 애플리케이션의 실행에 관계된 파일을 이용하여 제2 검증 해시값을 생성하고, 생성한 제2 검증 해시값을 부정조작방지 장치(150)로 전달한다. 무결성 검증부(130)는 제2 검증 해시값과 함께 애플리케이션 패키지로부터 암호화된 원본 해시값을 추출하여 함께 전달할 수 있다. 이때, 무결성 검증부(130)는 구성에 따라 미들웨어 처리부(140)를 거쳐 부정조작방지 장치(150)로 제2 검증 해시값 및 원본 해시값을 전달할 수도 있다. In
340 단계에서 부정조작방지 장치(150)는 저장된 비밀키를 이용해 원본 해시값을 복호하고, 350 단계에서 제2 검증 해시값과 원본 해시값을 비교하여, 360 단계에서 두 값이 일치하는지 여부를 판단한다. 360 단계에서 부정조작방지 장치(150)가 두 값이 일치한다고 판단하는 경우, 370 단계로 진행하여, 제2 검증 해시값을 애플리케이션의 무결성 값으로 저장 후, 380 단계에서 애플리케이션 설치를 완료한다. In
360 단계에서 부정조작방지 장치(150)가 두 값이 일치하지 않는다고 판단하는 경우, 390 단계로 진행하여 애플리케이션 설치부(120)는 애플리케이션의 설치를 종료한다. If the tamper-
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.The embodiments of the present invention disclosed in the present specification and drawings are intended to be illustrative only and not intended to limit the scope of the present 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.
100: 단말 장치
110: 애플리케이션 설치부
120: 애플리케이션 실행부
130: 무결성 검증부
140: 미들웨어 처리부
150: 부정조작방지 장치100: terminal device
110: application installation section
120: Application execution unit
130: integrity verification unit
140: Middleware processor
150: Anti-tamper device
Claims (18)
부정조작방지(tamper-proof) 장치에 저장된 상기 애플리케이션의 무결성 값과 상기 제1 검증 해시값이 일치하는지 여부를 판단하는 단계;
상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션과 상기 부정조작방지 장치 간 세션을 연결하는 단계;
상기 부정조작방지 장치에 상기 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 상기 애플리케이션의 핸들값으로 등록하는 단계; 및
상기 애플리케이션으로부터 상기 핸들값이 결합된 명령이 있는 경우, 상기 부정조작방지 장치에 저장된 상기 핸들값에 대응하는 키 값을 이용해 암/복호화를 수행하는 단계를 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
When executing an application, generating a first verification hash value using a file related to execution of the application;
Determining whether the integrity value of the application stored in the tamper-proof device matches the first verification hash value;
Connecting a session between the application and the tamper-proof device when the integrity value matches the first verification hash value;
Registering, as a handle value of the application, a randomly generated value every time the application is executed in the tamper-proof device; And
And performing encryption / decryption using a key value corresponding to the handle value stored in the tamper-proof device when the command has an instruction combined with the handle value. Way.
상기 실행에 관계된 파일은,
상기 애플리케이션 실행에 필요한 실행 파일 또는 데이터 파일 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
The method according to claim 1,
The file related to the execution is,
And an executable file or a data file necessary for executing the application.
상기 애플리케이션과 상기 부정조작방지 장치 간 세션을 연결하는 단계는,
상기 애플리케이션과 상기 부정조작방지 장치 간 통신을 위한 메시지 버퍼에 대하여 메모리를 할당받고, 상기 메모리의 시작 주소값을 저장하는 단계를 포함하고,
상기 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 상기 애플리케이션의 핸들값으로 등록하는 단계에서,
상기 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값은 상기 메모리의 시작 주소값인 것을 특징으로 하는 부정조작방지 장치 접근 방법.
The method according to claim 1,
Wherein the step of connecting the session between the application and the tamper-
And allocating a memory for a message buffer for communication between the application and the tamper-proof device, and storing a start address value of the memory,
Registering a randomly generated value as a handle value of the application each time the application is executed,
Wherein the value generated randomly each time the application is executed is a start address value of the memory.
상기 애플리케이션과 통신을 위한 메모리를 할당받고, 상기 메모리의 시작 주소값을 저장하는 단계는,
미들웨어에 상기 애플리케이션만 접속할 때까지 대기하는 단계; 및
상기 미들웨어에 상기 애플리케이션만 접속하는 경우, 상기 애플리케이션과 통신을 위한 메모리를 할당 받고, 상기 메모리의 시작 주소값을 저장하는 단계를 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
The method of claim 3,
Wherein the step of allocating a memory for communication with the application and storing the start address value of the memory comprises:
Waiting until the application only connects to the middleware; And
And allocating a memory for communication with the application when storing only the application in the middleware, and storing the start address value of the memory.
상기 애플리케이션과 상기 부정조작방지 장치 간 세션을 연결하는 단계는,
설정된 시간 내에 상기 애플리케이션의 세션 연결 요청이 있는 경우, 상기 메모리의 시작 주소값을 애플리케이션에 전달하는 단계; 및
상기 애플리케이션의 식별 정보와 상기 메모리의 시작 주소값을 부정조작방지 장치에 전달하는 단계를 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
The method of claim 3,
Wherein the step of connecting the session between the application and the tamper-
Transferring a start address value of the memory to an application when there is a session connection request of the application within a set time; And
And transmitting the identification information of the application and the start address value of the memory to the tamper prevention apparatus.
상기 핸들값은,
상기 애플리케이션이 종료되면 삭제되는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
The method according to claim 1,
The handle value may be,
And when the application is terminated, it is deleted.
애플리케이션 실행 전,
상기 애플리케이션의 설치를 위한 애플리케이션 패키지를 수신하는 단계;
상기 애플리케이션 패키지로부터 설치 파일을 추출하여 상기 애플리케이션을 설치하는 단계;
상기 애플리케이션의 실행에 관계된 파일을 이용하여 제2 검증 해시값을 생성하는 단계;
상기 애플리케이션 패키지로부터 암호화된 원본 해시값을 추출하여 부정조작방지 장치에 저장된 비밀키를 이용해 상기 원본 해시값을 복호하는 단계;
상기 제2 검증 해시값과 상기 원본 해시값이 일치하는지 여부를 판단하는 단계; 및
상기 제2 검증 해시값과 상기 원본 해시값이 일치하는 경우, 상기 애플리케이션 설치를 완료하는 단계를 더 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
The method according to claim 1,
Before running the application,
Receiving an application package for installation of the application;
Extracting an installation file from the application package and installing the application;
Generating a second verification hash value using a file associated with execution of the application;
Extracting an encrypted original hash value from the application package and decrypting the original hash value using the secret key stored in the tamper resistant device;
Determining whether the second verification hash value and the original hash value match; And
And completing the application installation if the second verification hash value matches the original hash value.
상기 제2 검증 해시값과 상기 원본 해시값이 일치하는 경우, 상기 제2 검증 해시값을 상기 애플리케이션의 무결성 값으로 저장하는 단계를 더 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
8. The method of claim 7,
And storing the second verification hash value as the integrity value of the application if the second verification hash value and the original hash value match.
상기 실행에 관계된 파일은,
상기 애플리케이션 실행에 필요한 실행 파일 또는 데이터 파일 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
8. The method of claim 7,
The file related to the execution is,
And an executable file or a data file necessary for executing the application.
상기 애플리케이션의 실행에 관계된 파일을 이용하여 제1 검증 해시값을 생성하는 무결성 검증부;
상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션과 부정조작방지 장치 간 세션을 연결하는 미들웨어 처리부;
저장된 상기 애플리케이션의 무결성 값과 상기 제1 검증 해시값이 일치하는지 여부를 판단하고, 상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 상기 애플리케이션의 핸들값으로 등록하며, 상기 애플리케이션으로부터 상기 핸들값이 결합된 명령이 있는 경우, 저장된 상기 핸들값에 대응하는 키 값을 이용해 암/복호화를 수행하는 부정조작방지 장치를 포함하는 것을 특징으로 하는 단말 장치.
An application execution unit for executing the application;
An integrity verification unit for generating a first verification hash value using a file related to execution of the application;
A middleware processing unit for connecting the session between the application and the unauthorized operation prevention device when the integrity value matches the first verification hash value;
And determining whether the integrity value of the stored application matches the first verification hash value, and when the integrity value matches the first verification hash value, a value randomly generated each time the application is executed And an unauthorized operation preventing device for performing an arming / decrypting operation by using a key value corresponding to the stored handle value when there is an instruction to which the handle value is combined from the application, as the handle value of the application .
상기 실행에 관계된 파일은,
상기 애플리케이션 실행에 필요한 실행 파일 또는 데이터 파일 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 단말 장치.
11. The method of claim 10,
The file related to the execution is,
And an executable file or a data file necessary for executing the application.
상기 미들웨어 처리부는,
상기 애플리케이션과 부정조작방지 장치 간 통신을 위한 메시지 버퍼에 대하여 메모리를 할당받고, 상기 메모리의 시작 주소값을 저장하며,
상기 부정조작방지 장치는,
상기 메모리의 시작 주소값을 상기 애플리케이션의 핸들값으로 등록하는 것을 특징으로 하는 단말 장치.
11. The method of claim 10,
The middleware processing unit,
A memory is allocated to a message buffer for communication between the application and the tamper-proof device, a start address value of the memory is stored,
The tamper-
And registers the start address value of the memory as a handle value of the application.
상기 미들웨어 처리부는,
미들웨어에 상기 애플리케이션만 접속할 때까지 대기하고, 상기 미들웨어에 상기 애플리케이션만 접속하는 경우, 상기 애플리케이션과 통신을 위한 메모리를 할당 받고, 상기 메모리의 시작 주소값을 저장하는 것을 특징으로 하는 단말 장치.
13. The method of claim 12,
The middleware processing unit,
Wherein the central processing unit waits until only the application is connected to the middleware, allocates a memory for communication with the application when accessing only the application to the middleware, and stores the start address value of the memory.
상기 미들웨어 처리부는,
설정된 시간 내에 상기 애플리케이션의 세션 연결 요청이 있는 경우, 상기 메모리의 시작 주소값을 애플리케이션에 전달하고, 상기 애플리케이션의 식별 정보와 상기 메모리의 시작 주소값을 부정조작방지 장치에 전달하는 것을 특징으로 하는 단말 장치.
13. The method of claim 12,
The middleware processing unit,
And transmits the start address value of the memory to the application and the start address value of the memory to the tamper prevention apparatus when the session connection request of the application is made within the set time. Device.
상기 핸들값은,
상기 애플리케이션이 종료되면 삭제되는 것을 특징으로 하는 단말 장치.
11. The method of claim 10,
The handle value may be,
And deletes the application when the application is terminated.
상기 애플리케이션의 설치를 위한 애플리케이션 패키지를 수신하고, 상기 애플리케이션 패키지로부터 설치 파일을 추출하여 상기 애플리케이션을 설치하는 애플리케이션 설치부를 더 포함하고,
상기 무결성 검증부는,
상기 애플리케이션의 실행에 관계된 파일을 이용하여 제2 검증 해시값을 생성하고,
상기 부정조작방지 장치는,
상기 애플리케이션 패키지로부터 암호화된 원본 해시값을 추출하여 부정조작방지 장치에 저장된 비밀키를 이용해 상기 원본 해시값을 복호하고, 상기 제2 검증 해시값과 상기 원본 해시값이 일치하는지 여부를 판단하는 것을 특징으로 하는 단말 장치.
11. The method of claim 10,
Further comprising an application installation unit for receiving an application package for installing the application and extracting an installation file from the application package and installing the application,
The integrity verification unit,
Generating a second verification hash value using a file associated with execution of the application,
The tamper-
Extracts the encrypted original hash value from the application package, decrypts the original hash value using the secret key stored in the tamper-proof device, and determines whether the second verification hash value matches the original hash value .
상기 부정조작방지 장치는,
상기 제2 검증 해시값과 상기 원본 해시값이 일치하는 경우, 상기 제2 검증 해시값을 상기 애플리케이션의 무결성 값으로 저장하는 것을 특징으로 하는 단말 장치.
17. The method of claim 16,
The tamper-
And stores the second verification hash value as the integrity value of the application if the second verification hash value matches the original hash value.
상기 실행에 관계된 파일은,
상기 애플리케이션 실행에 필요한 실행 파일 또는 데이터 파일 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 단말 장치.15. The method of claim 14,
The file related to the execution is,
And an executable file or a data file necessary for executing the application.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130159219A KR101711024B1 (en) | 2013-12-19 | 2013-12-19 | Method for accessing temper-proof device and apparatus enabling of the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130159219A KR101711024B1 (en) | 2013-12-19 | 2013-12-19 | Method for accessing temper-proof device and apparatus enabling of the method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150072007A true KR20150072007A (en) | 2015-06-29 |
KR101711024B1 KR101711024B1 (en) | 2017-02-28 |
Family
ID=53518115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130159219A KR101711024B1 (en) | 2013-12-19 | 2013-12-19 | Method for accessing temper-proof device and apparatus enabling of the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101711024B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684839A (en) * | 2018-12-19 | 2019-04-26 | Oppo广东移动通信有限公司 | Self-definition model tamper resistant method, device, terminal device and storage medium |
CN110610001A (en) * | 2019-08-12 | 2019-12-24 | 大箴(杭州)科技有限公司 | Short text integrity identification method and device, storage medium and computer equipment |
KR20210094300A (en) * | 2020-01-21 | 2021-07-29 | 주식회사 행복소프트 | A Method and an Apparatus for Detecting Dynamic Defacement in Application |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030085236A (en) * | 2002-04-29 | 2003-11-05 | 삼성전자주식회사 | Tamper-resistant method and data processing system using the same |
KR20060132921A (en) * | 2004-03-08 | 2006-12-22 | 지멘스 악티엔게젤샤프트 | Manipulation proof production of authentic random numbers |
-
2013
- 2013-12-19 KR KR1020130159219A patent/KR101711024B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030085236A (en) * | 2002-04-29 | 2003-11-05 | 삼성전자주식회사 | Tamper-resistant method and data processing system using the same |
KR20060132921A (en) * | 2004-03-08 | 2006-12-22 | 지멘스 악티엔게젤샤프트 | Manipulation proof production of authentic random numbers |
Non-Patent Citations (2)
Title |
---|
Rosario Gennaro et al, 'Algorithmic Tamper-Proof (ATP) Security: Theoretical Foundations for Security Against Hardware Tampering', Springer-Verlag Berlin Heidelberg 2004, pp.258-277 * |
김원영 외 3인, 'USN환경에서 2단계 사용자 인증을 이용한 침입 방지 방안', 한국정보통신학회논문지 Vol.18, No. 1, 2014.01, pp.191-200 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684839A (en) * | 2018-12-19 | 2019-04-26 | Oppo广东移动通信有限公司 | Self-definition model tamper resistant method, device, terminal device and storage medium |
CN110610001A (en) * | 2019-08-12 | 2019-12-24 | 大箴(杭州)科技有限公司 | Short text integrity identification method and device, storage medium and computer equipment |
CN110610001B (en) * | 2019-08-12 | 2024-01-23 | 大箴(杭州)科技有限公司 | Short text integrity recognition method, device, storage medium and computer equipment |
KR20210094300A (en) * | 2020-01-21 | 2021-07-29 | 주식회사 행복소프트 | A Method and an Apparatus for Detecting Dynamic Defacement in Application |
Also Published As
Publication number | Publication date |
---|---|
KR101711024B1 (en) | 2017-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108810894B (en) | Terminal authorization method, device, computer equipment and storage medium | |
US9853957B2 (en) | DRM protected video streaming on game console with secret-less application | |
US7546468B2 (en) | Program update method and server | |
US7975312B2 (en) | Token passing technique for media playback devices | |
JP5449905B2 (en) | Information processing apparatus, program, and information processing system | |
US8214630B2 (en) | Method and apparatus for controlling enablement of JTAG interface | |
KR101657613B1 (en) | Backing up digital content that is stored in a secured storage device | |
US8131997B2 (en) | Method of mutually authenticating between software mobility device and local host and a method of forming input/output (I/O) channel | |
CN113271212A (en) | Certificate issuance dependent on key authentication | |
US9288054B2 (en) | Method and apparatus for authenticating and managing application using trusted platform module | |
CN106936588B (en) | Hosting method, device and system of hardware control lock | |
WO2013107362A1 (en) | Method and system for protecting data | |
US8538890B2 (en) | Encrypting a unique cryptographic entity | |
CN111310213A (en) | Service data protection method, device, equipment and readable storage medium | |
CN110795126A (en) | Firmware safety upgrading system | |
KR101817152B1 (en) | Method for providing trusted right information, method for issuing user credential including trusted right information, and method for obtaining user credential | |
TW201530344A (en) | Application program access protection method and application program access protection device | |
CN104104650A (en) | Data file visit method and terminal equipment | |
CN111431840A (en) | Security processing method and device | |
US20110154436A1 (en) | Provider Management Methods and Systems for a Portable Device Running Android Platform | |
US20150047001A1 (en) | Application program execution device | |
JP6199712B2 (en) | Communication terminal device, communication terminal association method, and computer program | |
KR101711024B1 (en) | Method for accessing temper-proof device and apparatus enabling of the method | |
US10771249B2 (en) | Apparatus and method for providing secure execution environment for mobile cloud | |
US8755521B2 (en) | Security method and system for media playback devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20200128 Year of fee payment: 4 |