KR101711024B1 - 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 - Google Patents

부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 Download PDF

Info

Publication number
KR101711024B1
KR101711024B1 KR1020130159219A KR20130159219A KR101711024B1 KR 101711024 B1 KR101711024 B1 KR 101711024B1 KR 1020130159219 A KR1020130159219 A KR 1020130159219A KR 20130159219 A KR20130159219 A KR 20130159219A KR 101711024 B1 KR101711024 B1 KR 101711024B1
Authority
KR
South Korea
Prior art keywords
application
value
hash value
tamper
verification hash
Prior art date
Application number
KR1020130159219A
Other languages
English (en)
Other versions
KR20150072007A (ko
Inventor
김대원
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020130159219A priority Critical patent/KR101711024B1/ko
Publication of KR20150072007A publication Critical patent/KR20150072007A/ko
Application granted granted Critical
Publication of KR101711024B1 publication Critical patent/KR101711024B1/ko

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting 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

본 발명은 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치에 관한 것으로,
본 발명의 일 실시예에 따르면, 애플리케이션 실행 시, 상기 애플리케이션의 실행에 관계된 파일을을 이용하여 제1 검증 해시값을 생성하는 단계, 부정조작방지(tamper-proof) 장치에 저장된 상기 애플리케이션의 무결성 값과 상기 제1 검증 해시값이 일치하는지 여부를 판단하는 단계, 상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션과 상기 부정조작방지 장치 간 세션을 연결하는 단계, 상기 부정조작방지 장치에 상기 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 상기 애플리케이션의 핸들값으로 등록하는 단계 및 상기 애플리케이션으로부터 상기 핸들값이 결합된 명령이 있는 경우, 상기 부정조작방지 장치에 저장된 상기 핸들값에 대응하는 키 값을 이용해 암/복호화를 수행하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 사용자가 비밀번호를 입력하지 않고도 부정조작방지 장치의 키 값을 이용하여 정보의 암/복호화를 수행할 수 있다.

Description

부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치{METHOD FOR ACCESSING TEMPER-PROOF DEVICE AND APPARATUS ENABLING OF THE METHOD}
본 발명은 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치에 관한 것이다.
최근 정보통신기술의 발달에 따라 정보 유출로 인한 피해 역시 급증하고 있다. 따라서, 정보 유출로 인한 피해를 줄이기 위하여, 정보가 유출되더라도 그 내용을 알 수 없도록 정보를 암호화하는 기술에 대한 관심이 증가하고 있다.
일반적인 암호화 기술에는 비밀번호와 키 값이 함께 사용된다. 즉, 사용자가 비밀번호를 이용하여 키 값에 접근할 수 있는 권한을 획득하고, 해당 키 값을 이용해 정보를 암/복호화 할 수 있다. 다만, 일반적으로 키 값은 하드디스크나 플래시 메모리 같은 저장장치에 저장되므로, 파일 시스템에 대해 포렌직(Forensic) 기법을 사용하면 통해 키 값을 찾아낼 수 있어 유출 가능성이 있다. 또한, 비밀번호 역시 화면해킹, 키 해킹, 사회공학적 기법들을 통해 유출될 수 있으나, 이에 대한 대응방안이라고는 어렵고 복잡하며 길이가 긴 비밀번호를 자주 바꿔주는 방법뿐이어서 비밀번호 관리에 어려움이 있다.
최근, 키 값의 유출에 대한 대응 방안으로 HSM(Hardware Security Module), TPM(Trusted Platform Module) 또는 MTM(Mobile Trusted Module)과 같은 부정조작방지(tamper-proof) 기능이 있는 하드웨어 장치를 사용하는 방법이 제시되고 있다. 그러나, 이러한 하드웨어 장치들 역시 내부에 저장된 키 값에 접근하기 위해서는 사용자가 비밀번호를 입력해야 하므로, 비밀번호 관리 문제는 그대로 남아 있게 된다.
본 발명은 사용자가 비밀번호를 입력하지 않고도 부정조작방지 장치의 키 값을 이용하여 정보의 암/복호화를 수행하는 방법 및 그 방법을 채용한 단말 장치를 제공하는데 그 목적이 있다.
본 발명의 일 실시예에 따르면, 애플리케이션 실행 시, 상기 애플리케이션의 실행에 관계된 파일을을 이용하여 제1 검증 해시값을 생성하는 단계, 부정조작방지(tamper-proof) 장치에 저장된 상기 애플리케이션의 무결성 값과 상기 제1 검증 해시값이 일치하는지 여부를 판단하는 단계, 상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션과 상기 부정조작방지 장치 간 세션을 연결하는 단계, 상기 부정조작방지 장치에 상기 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 상기 애플리케이션의 핸들값으로 등록하는 단계 및 상기 애플리케이션으로부터 상기 핸들값이 결합된 명령이 있는 경우, 상기 부정조작방지 장치에 저장된 상기 핸들값에 대응하는 키 값을 이용해 암/복호화를 수행하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 실시예에 따르면, 애플리케이션을 실행하는 애플리케이션 실행부, 상기 애플리케이션의 실행에 관계된 파일을 이용하여 제1 검증 해시값을 생성하는 무결성 검증부, 상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션과 상기 부정조작방지 장치 간 세션을 연결하는 미들웨어 처리부, 저장된 상기 애플리케이션의 무결성 값과 상기 제1 검증 해시값이 일치하는지 여부를 판단하고, 상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 상기 애플리케이션의 핸들값으로 등록하며, 상기 애플리케이션으로부터 상기 핸들값이 결합된 명령이 있는 경우, 저장된 상기 핸들값에 대응하는 키 값을 이용해 암/복호화를 수행하는 부정조작방지 장치를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 사용자가 비밀번호를 입력하지 않고도 부정조작방지 장치의 키 값을 이용하여 정보의 암/복호화를 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 부정조작방지 장치 접근 방법을 수행하는 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 부정조작방지 장치 접근 방법의 순서도를 나타내는 도면이다.
도 3은 본 발명의 다른 실시예에 따른 부정조작방지 장치 접근 방법의 순서도를 나타내는 도면이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 부정조작방지 장치 접근 방법을 수행하는 시스템을 나타내는 도면이다.
도 1을 참조하면, 발명의 일 실시예에 따른 부정조작방지 장치 접근 방법을 수행하는 시스템은 애플리케이션 스토어(101), 애플리케이션 공급자(102), 인증센터(103) 및 단말 장치(100)를 포함할 수 있다. 여기서, 애플리케이션 스토어(101), 애플리케이션 공급자(102) 및 인증센터(103)는 각각의 역할을 수행하는 서버에 해당할 수 있다.
애플리케이션 스토어(101)는 애플리케이션을 사고 팔 수 있는 온라인 상의 콘텐츠(소프트웨어) 시장이다. 본 발명의 일 실시예에 따르면, 애플리케이션 스토어(101)는 애플리케이션 공급자(102)로부터 애플리케이션을 공급받아 단말 장치(100)의 요청에 따라 단말 장치(100)로 애플리케이션을 전송한다.
애플리케이션 공급자(102)는 개발한 애플리케이션을 공급한다. 본 발명의 일 실시예에 따르면, 애플리케이션 공급자(102)는 개발한 애플리케이션을 인증센터(103)로 전송하여 인증을 받고, 인증정보가 포함된 애플리케이션을 애플리케이션 스토어(101)로 전송한다.
인증센터(103)는 애플리케이션에 대한 무결성 인증을 수행한다. 본 발명의 일 실시예에 따르면, 애플리케이션 공급자(102)로부터 애플리케이션을 인증 요청을 수신하는 경우, 애플리케이션 공급자(102)는 애플리케이션 인증을 위한 인증 정보인 원본 해시값을 생성한다. 원본 해시값은 애플리케이션의 실행에 관계된 파일들에 대해 해시값을 생성하고, 생성한 해시값들을 이용하여 최종 해시값을 생성하는 방법에 의해 만들어질 수 있다. 다만, 원본 해시값을 생성하는 방법은 이에 한정되지 않고 다양한 방법으로 생성할 수 있다. 인증센터(103)는 공개키를 이용하여 생성한 원본 해시값을 암호화한다. 공개키로 암호화된 원본 해시값을 비밀키로만 정상 복호할 수 있다.
그 후, 인증센터(103)는 암호화된 원본 해시값이 포함된 애플리케이션을 애플리케이션 공급자(102)로 전송한다.
단말 장치(100)는 본 발명의 일 실시예에 따른 부정조작방지 장치 접근 방법을 채용한 단말 장치(100)로, 애플리케이션을 다운받아 설치하고 실행한다. 본 발명의 실시예에 따른 단말 장치(100)는 노트북(Laptop), 퍼스널 컴퓨터(Personal Computer, PC), 이동통신 단말기, 태블릿 PC(Tablet PC) 등과 같은 정보 통신 기기 및 멀티미디어 기기가 될 수 있다.
본 발명의 실시예에 따른 단말 장치(100)는 애플리케이션 설치부(110), 애플리케이션 실행부(120), 무결성 검증부(130), 미들웨어 처리부(140) 및 부정조작방지 장치(150)를 포함할 수 있다.
애플리케이션 설치부(110)는 통신부(미도시)를 통해 애플리케이션 스토어(101)로부터 애플리케이션의 설치를 위한 애플리케이션 패키지를 수신하고, 수신한 애플리케이션 패키지로부터 설치 파일을 추출하여 애플리케이션을 설치하는 역할을 수행한다. 본 발명의 일 실시예에 따르면, 애플리케이션 설치부(110)는 애플리케이션 설치 시, 실행에 관계된 파일을 이용하여 생성된 제2 검증 해시값과 복호된 원본 해시값이 일치하는 경우에만 애플리케이션 설치를 완료한다. 이러한 과정을 통해, 단말 장치(100)에 설치되는 애플리케이션의 무결성을 확보할 수 있다.
여기서, 애플리케이션의 실행에 관계된 파일은 애플리케이션 실행에 필요한 실행 파일 또는 데이터 파일 중 적어도 하나 이상을 포함할 수 있다.
애플리케이션 실행부(120)는 설치된 애플리케이션을 실행하는 역할을 수행한다. 본 발명의 일 실시예에 따르면, 애플리케이션 실행부(120)는, 애플리케이션 실행 시, 실행에 관계된 파일을 이용하여 생성된 제1 검증 해시값과, 부정조작방지 장치(150)에 등록된 무결성 값이 일치하는 경우에 애플리케이션을 실행한다. 이러한 과정을 통해, 단말 장치(100)에서 실행되는 애플리케이션의 무결성을 확보할 수 있다.
여기서, 애플리케이션의 실행에 관계된 파일은 애플리케이션 실행에 필요한 실행 파일 또는 데이터 파일 중 적어도 하나 이상을 포함할 수 있다.
무결성 검증부(130)는 애플리케이션 설치 및 실행 시, 무결성 검증을 위하여 제1 검증 해시값 및 제2 검증 해시값을 생성하는 역할을 수행한다. 본 발명의 일 실시예에 따르면, 무결성 검증부(130)는 생성한 제1 검증 해시값 및 제2 검증 해시값을 해시값 비교를 위해 부정조작방지 장치(150)로 전달한다.
미들웨어 처리부(140)는 여러 종류의 하드웨어나 소프트웨어를 충돌 없이 실행될 수 있도록 하는 미들웨어에 대한 연산을 수행한다. 본 발명의 일 실시예에 따르면, 부정조작방지 장치(150)에 등록된 무결성 값과 제1 검증 해시값이 일치하는 경우, 미들웨어 처리부(140)는 애플리케이션과 부정조작방지 장치(150) 간 세션을 연결한다.
이 경우, 미들웨어 처리부(140)는, 애플리케이션과 부정조작방지(tamper-proof) 장치 간 통신을 위한 메시지 버퍼에 대하여 메모리를 할당받고, 메모리의 시작 주소값을 저장한다. 그 후, 미들웨어에 상기 애플리케이션만 접속할 때까지 대기하고, 미들웨어에 애플리케이션만 접속하는 경우, 애플리케이션과 통신을 위한 메모리를 할당 받고, 메모리의 시작 주소값을 저장할 수 있다. 대기 시간을 부여하는 것은 다른 불법 애플리케이션들이 애플리케이션 식별 정보(AppID), 프로세스 식별 정보(ProcessID) 등의 정보를 취득하여 검증 과정 중에 불법적으로 끼어드는 것을 어렵게 하기 위함이다.
또한, 미들웨어 처리부(140)는, 설정된 시간 내에 상기 애플리케이션의 세션 연결 요청이 있는 경우, 메모리의 시작 주소값을 애플리케이션에 전달하고, 애플리케이션의 식별 정보와 메모리의 시작 주소값을 부정조작방지 장치(150)에 전달할 수 있다. 이때, 미들웨어 처리부(140)는 설정된 시간 내에 기다리고 있던 AppID, ProcessID 등의 정보를 가진 접속 요청이 있는 경우, 이를 수락한다. 설정된 시간이 지나는 경우, 애플리케이션 실행을 위한 새로운 무결성 검증 요청이 들어오지 않는 한 모든 세션 접속 요청은 거부한다.
위 설명에서는 애플리케이션 설치부(110), 애플리케이션 실행부(120), 무결성 검증부(130) 및 미들웨어 처리부(140)를 각각 별개의 구성으로 설명하였으나, 이에 한정되지 않고, 하나의 처리 장치가 적어도 하나 이상의 구성부의 역할을 수행할 수도 있다. 예를 들어, 중앙 처리 장치(CPU)가 애플리케이션 설치부(110), 애플리케이션 실행부(120), 무결성 검증부(130) 및 미들웨어 처리부(140)의 역할을 수행할 수 있다.
부정조작방지 장치(150)는 내부에 비밀키(151)를 저장하고 있어, 비밀키(151)를 이용하여 데이터를 암/복호화 하는 역할을 수행한다. 본 발명의 일 실시예에 따르면, 부정조작방지 장치(150)는 저장된 애플리케이션의 무결성 값과 제1 검증 해시값이 일치하는지 여부를 판단하고, 무결성 값과 제1 검증 해시값이 일치하는 경우, 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 애플리케이션(152)의 핸들값(154)으로 등록하며, 애플리케이션으로부터 핸들값(154)이 결합된 명령이 있는 경우, 저장된 핸들값(154)에 대응하는 키 값(155)을 이용해 암/복호화를 수행한다. 이와 같이, 핸들값(154)을 통해 비밀번호 없이 부정조작방지 장치(150)를 이용하여 암/복호화를 수행할 수 있다. 따라서, 본 발명의 일 실시예에 따르면, 부정조작방지 장치 내의 키 값(155)에 접근하기 위해, 각종 해킹 기법에 의해 노출 위험이 있는 비밀번호 방식을 사용하지 않아도 된다는 장점이 있다. 이러한 핸들값(154)은 애플리케이션이 실행될 때 마다 새롭게 생성되며, 애플리케이션이 종료되면 삭제된다. 본 발명의 일 실시예에 따르면 메모리의 시작 주소값을 핸들값(154)으로 사용할 수 있다.
또한, 부정조작방지 장치(150)는, 애플리케이션 패키지로부터 암호화된 원본 해시값을 추출하여 부정조작방지(tamper-proof) 장치에 저장된 비밀키를 이용해 원본 해시값을 복호하고, 제2 검증 해시값과 원본 해시값이 일치하는지 여부를 판단하는 역할을 수행한다. 부정조작방지 장치(150)는 제2 검증 해시값과 원본 해시값이 일치하는 경우, 제2 검증 해시값을 애플리케이션의 무결성 값으로 저장할 수 있다.
지금까지 부정조작방지 장치 접근 방법을 채용한 단말 장치에 대하여 설명하였다. 아래에서는 부정조작방지 장치 접근 방법에 대해서 보다 상세히 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 부정조작방지 장치 접근 방법의 순서도를 나타내는 도면이다.
먼저, 210 단계에서, 애플리케이션 실행부(120)는 애플리케이션을 실행하고, 실행되는 애플리케이션의 실행 정보를 무결성 검증부(130)로 전달한다. 애플리케이션의 실행 정보는 애플리케이션 식별 정보, 프로세스 식별 정보 또는 저장 경로(storage path) 정보 중 적어도 하나 이상을 포함할 수 있다. 이때, 애플리케이션 식별 정보는 AppID 가 될 수 있고, 프로세스 식별 정보는 Process ID가 될 수 있다.
그 후, 220 단계에서, 무결성 검증부(130)는 애플리케이션의 실행에 관계된 파일을이용하여 제1 검증 해시값을 생성하고, 생성한 제1 검증 해시값을 부정조작방지 장치(150)로 전달한다. 이때, 무결성 검증부(130)는 구성에 따라 미들웨어 처리부(140)를 거쳐 부정조작방지 장치(150)로 제1 검증 해시값을 전달할 수도 있다.
230 단계에서, 부정조작방지 장치(150)는 저장된 상기 애플리케이션의 무결성 값과 제1 검증 해시값을 비교하고, 240 단계에서 두 값이 일치하는지 여부를 판단한다. 240 단계에서 부정조작방지 장치(150)가 두 값이 일치한다고 판단하는 경우, 250 단계로 진행하여, 미들웨어 처리부(140)는 미들웨어에 상기 애플리케이션만 접속할 때까지 대기하고, 미들웨어에 애플리케이션만 접속하는 경우, 애플리케이션과 상기 부정조작방지 장치 간 통신을 위한 메시지 버퍼에 대하여 메모리를 할당받고, 메모리의 시작 주소값을 저장한다. 대기 시간을 부여하는 것은 다른 불법 애플리케이션들이 애플리케이션 식별 정보(AppID), 프로세스 식별 정보(ProcessID) 등의 정보를 취득하여 검증 과정 중에 불법적으로 끼어드는 것을 어렵게 하기 위함이다.
240 단계에서 부정조작방지 장치(150)가 두 값이 일치하지 않는다고 판단하는 경우, 280 단계로 진행하여 애플리케이션 실행부(120)는 애플리케이션의 실행을 종료한다.
그 후, 애플리케이션이 실행되면, 미들웨어 처리부(140)는 애플리케이션과 부정조작방지 장치(150) 간 세션을 연결한다. 이 경우, 미들웨어 처리부(140)는, 설정된 시간 내에 상기 애플리케이션의 세션 연결 요청이 있는 경우, 메모리의 시작 주소값을 애플리케이션에 전달하고, 애플리케이션의 식별 정보와 메모리의 시작 주소값을 부정조작방지 장치(150)에 전달할 수 있다. 이때, 미들웨어 처리부(140)는 설정된 시간 내에 기다리고 있던 AppID, ProcessID 등의 정보를 가진 접속 요청이 있는 경우, 이를 수락한다. 설정된 시간이 지나는 경우, 애플리케이션 실행을 위한 새로운 무결성 검증 요청이 들어오지 않는 한 모든 세션 접속 요청은 거부한다.
260 단계에서 부정조작방지 장치(150)는 메모리의 시작 주소값을 애플리케이션의 핸들값(154)으로 등록하고, 270 단계에서 애플리케이션으로부터 핸들값(154)이 결합된 명령이 있는 경우, 저장된 핸들값(154)에 대응하는 키 값(154)을 이용해 암/복호화를 수행한다. 도 2에 도시된 본 발명의 실시예에서는 메모리의 시작 주소값을 애플리케이션의 핸들값(154)으로 사용하는 것으로 설명하였으나 이에 한정되지 않고 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 핸들값(154)으로 사용할 수 있다. 예를 들어 랜덤 값 생성 함수를 이용하여 생성한 값을 핸들값(154)으로 사용할 수도 있다.
이와 같이, 핸들값(154)을 통해 비밀번호 없이 부정조작방지 장치(150)를 이용하여 암/복호화를 수행할 수 있다. 따라서, 본 발명의 일 실시예에 따르면, 부정조작방지 장치(150) 내의 키 값(155)에 접근하기 위해, 각종 해킹 기법에 의해 노출 위험이 있는 비밀번호 방식을 사용하지 않아도 된다는 장점이 있다.
이러한 핸들값(154)은 애플리케이션이 실행될 때 마다 새롭게 생성되며, 애플리케이션이 종료되면 삭제된다.
도 3은 본 발명의 다른 실시예에 따른 부정조작방지 장치 접근 방법의 순서도를 나타내는 도면이다.
먼저, 310 단계에서, 애플리케이션 설치부(110)는 통신부(미도시)를 통해 애플리케이션의 설치를 위한 애플리케이션 패키지를 수신하고, 320 단계에서 수신한 애플리케이션 패키지로부터 설치 파일을 추출하여 애플리케이션을 설치한다. 이때, 애플리케이션 설치부(110)는 설치를 모두 완료하지 않고, 애플리케이션의 설치 정보를 무결성 검증부(130)로 전달한다. 여기서, 애플리케이션의 설치 정보는 애플리케이션 식별 정보 또는 저장 경로(storage path) 정보 중 적어도 하나 이상을 포함할 수 있다. 이때, 애플리케이션 식별 정보는 AppID 가 될 수 있다.
330 단계에서, 무결성 검증부(130)는 애플리케이션의 실행에 관계된 파일을 이용하여 제2 검증 해시값을 생성하고, 생성한 제2 검증 해시값을 부정조작방지 장치(150)로 전달한다. 무결성 검증부(130)는 제2 검증 해시값과 함께 애플리케이션 패키지로부터 암호화된 원본 해시값을 추출하여 함께 전달할 수 있다. 이때, 무결성 검증부(130)는 구성에 따라 미들웨어 처리부(140)를 거쳐 부정조작방지 장치(150)로 제2 검증 해시값 및 원본 해시값을 전달할 수도 있다.
340 단계에서 부정조작방지 장치(150)는 저장된 비밀키를 이용해 원본 해시값을 복호하고, 350 단계에서 제2 검증 해시값과 원본 해시값을 비교하여, 360 단계에서 두 값이 일치하는지 여부를 판단한다. 360 단계에서 부정조작방지 장치(150)가 두 값이 일치한다고 판단하는 경우, 370 단계로 진행하여, 제2 검증 해시값을 애플리케이션의 무결성 값으로 저장 후, 380 단계에서 애플리케이션 설치를 완료한다.
360 단계에서 부정조작방지 장치(150)가 두 값이 일치하지 않는다고 판단하는 경우, 390 단계로 진행하여 애플리케이션 설치부(120)는 애플리케이션의 설치를 종료한다.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
100: 단말 장치
110: 애플리케이션 설치부
120: 애플리케이션 실행부
130: 무결성 검증부
140: 미들웨어 처리부
150: 부정조작방지 장치

Claims (18)

  1. 애플리케이션 실행 시, 상기 애플리케이션의 실행에 관계된 파일을 이용하여 제1 검증 해시값을 생성하는 단계;
    부정조작방지(tamper-proof) 장치에 저장된 상기 애플리케이션의 무결성 값과 상기 제1 검증 해시값이 일치하는지 여부를 판단하는 단계;
    상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션과 상기 부정조작방지 장치 간 세션을 연결하는 단계;
    상기 부정조작방지 장치에 상기 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 상기 애플리케이션의 핸들값으로 등록하는 단계; 및
    상기 애플리케이션으로부터 상기 핸들값이 결합된 명령이 있는 경우, 상기 부정조작방지 장치에 저장된 상기 핸들값에 대응하는 키 값을 이용해 암/복호화를 수행하는 단계;
    를 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
  2. 제1항에 있어서,
    상기 애플리케이션의 실행에 관계된 파일은,
    상기 애플리케이션 실행에 필요한 실행 파일 또는 데이터 파일 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
  3. 제1항에 있어서,
    상기 애플리케이션과 상기 부정조작방지 장치 간 세션을 연결하는 단계는,
    상기 애플리케이션과 상기 부정조작방지 장치 간 통신을 위한 메시지 버퍼에 대하여 메모리를 할당받고, 상기 메모리의 시작 주소값을 저장하는 단계를 포함하고,
    상기 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값은 상기 메모리의 시작 주소값인 것을 특징으로 하는 부정조작방지 장치 접근 방법.
  4. 제3항에 있어서,
    상기 메모리를 할당받고, 상기 메모리의 시작 주소값을 저장하는 단계는,
    미들웨어에 상기 애플리케이션만 접속할 때까지 대기하는 단계; 및
    상기 미들웨어에 상기 애플리케이션만 접속하면, 상기 메모리를 할당 받고, 상기 메모리의 시작 주소값을 저장하는 단계를 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
  5. 제3항에 있어서,
    상기 애플리케이션과 상기 부정조작방지 장치 간 세션을 연결하는 단계는,
    설정된 시간 내에 상기 애플리케이션의 세션 연결 요청이 있는 경우, 상기 메모리의 시작 주소값을 상기 애플리케이션에 전달하는 단계; 및
    상기 애플리케이션의 식별 정보와 상기 메모리의 시작 주소값을 상기 부정조작방지 장치에 전달하는 단계를 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
  6. 제1항에 있어서,
    상기 핸들값은,
    상기 애플리케이션이 종료되면 삭제되는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
  7. 제1항에 있어서,
    상기 애플리케이션 실행 전,
    상기 애플리케이션의 설치를 위한 애플리케이션 패키지를 수신하는 단계;
    상기 애플리케이션 패키지로부터 설치 파일을 추출하여 상기 애플리케이션을 설치하는 단계;
    상기 애플리케이션의 실행에 관계된 파일을 이용하여 제2 검증 해시값을 생성하는 단계;
    상기 애플리케이션 패키지로부터 암호화된 원본 해시값을 추출하여 상기 부정조작방지 장치에 저장된 비밀키를 이용해 상기 원본 해시값을 복호하는 단계;
    상기 제2 검증 해시값과 상기 원본 해시값이 일치하는지 여부를 판단하는 단계; 및
    상기 제2 검증 해시값과 상기 원본 해시값이 일치하는 경우, 상기 애플리케이션 설치를 완료하는 단계;
    를 더 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
  8. 제7항에 있어서,
    상기 제2 검증 해시값과 상기 원본 해시값이 일치하는 경우, 상기 제2 검증 해시값을 상기 애플리케이션의 무결성 값으로 저장하는 단계를 더 포함하는 것을 특징으로 하는 부정조작방지 장치 접근 방법.
  9. 애플리케이션을 실행하는 애플리케이션 실행부;
    상기 애플리케이션의 실행에 관계된 파일을 이용하여 제1 검증 해시값을 생성하는 무결성 검증부;
    저장된 상기 애플리케이션의 무결성 값과 상기 제1 검증 해시값이 일치하는지 여부를 판단하고, 상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션이 실행될 때마다 랜덤(random)하게 생성되는 값을 상기 애플리케이션의 핸들값으로 등록하며, 상기 애플리케이션으로부터 상기 핸들값이 결합된 명령이 있는 경우, 저장된 상기 핸들값에 대응하는 키 값을 이용해 암/복호화를 수행하는 부정조작방지 장치; 및
    상기 무결성 값과 상기 제1 검증 해시값이 일치하는 경우, 상기 애플리케이션과 상기 부정조작방지 장치 간 세션을 연결하는 미들웨어 처리부;
    를 포함하는 것을 특징으로 하는 단말 장치.
  10. 제9항에 있어서,
    상기 애플리케이션의 설치를 위한 애플리케이션 패키지를 수신하고, 상기 애플리케이션 패키지로부터 설치 파일을 추출하여 상기 애플리케이션을 설치하는 애플리케이션 설치부를 더 포함하는 단말 장치.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
KR1020130159219A 2013-12-19 2013-12-19 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 KR101711024B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130159219A KR101711024B1 (ko) 2013-12-19 2013-12-19 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130159219A KR101711024B1 (ko) 2013-12-19 2013-12-19 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치

Publications (2)

Publication Number Publication Date
KR20150072007A KR20150072007A (ko) 2015-06-29
KR101711024B1 true KR101711024B1 (ko) 2017-02-28

Family

ID=53518115

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130159219A KR101711024B1 (ko) 2013-12-19 2013-12-19 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치

Country Status (1)

Country Link
KR (1) KR101711024B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684839A (zh) * 2018-12-19 2019-04-26 Oppo广东移动通信有限公司 自定义模型防篡改方法、装置、终端设备及存储介质
CN110610001B (zh) * 2019-08-12 2024-01-23 大箴(杭州)科技有限公司 短文本完整性识别方法、装置、存储介质及计算机设备
KR102338885B1 (ko) * 2020-01-21 2021-12-14 주식회사 행복소프트 응용프로그램의 동적 변조 탐지 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100476892B1 (ko) * 2002-04-29 2005-03-17 삼성전자주식회사 데이터의 부정조작을 방지하는 방법 및 그것을 이용한데이터 처리 시스템
DE102004011170B4 (de) * 2004-03-08 2006-03-23 Siemens Ag Manipulationssichere Erzeugung von echten Zufallszahlen

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
KR20150072007A (ko) 2015-06-29

Similar Documents

Publication Publication Date Title
CN108810894B (zh) 终端授权方法、装置、计算机设备和存储介质
CN109075976B (zh) 取决于密钥认证的证书发布
US9853957B2 (en) DRM protected video streaming on game console with secret-less application
US8214630B2 (en) Method and apparatus for controlling enablement of JTAG interface
US7546468B2 (en) Program update method and server
US7975312B2 (en) Token passing technique for media playback devices
KR101657613B1 (ko) 보안 저장 장치에 저장된 디지털 컨텐츠의 백업
KR101891420B1 (ko) DaaS를 위한 컨텐츠 보호
US8131997B2 (en) Method of mutually authenticating between software mobility device and local host and a method of forming input/output (I/O) channel
US20150106618A1 (en) Device Using Secure Processing Zone to Establish Trust for Digital Rights Management
US9288054B2 (en) Method and apparatus for authenticating and managing application using trusted platform module
JP2011028688A (ja) 情報処理装置、プログラム、および情報処理システム
US8538890B2 (en) Encrypting a unique cryptographic entity
CN106936588B (zh) 一种硬件控制锁的托管方法、装置及系统
CN111310213A (zh) 一种业务数据保护方法、装置、设备及可读存储介质
EP2051181A1 (en) Information terminal, security device, data protection method, and data protection program
JP2017157018A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及びトラステッド・プラットフォーム・モジュール
TW201530344A (zh) 應用程式存取保護方法及應用程式存取保護裝置
US20150047001A1 (en) Application program execution device
JP6199712B2 (ja) 通信端末装置、通信端末関連付け方法、及びコンピュータプログラム
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
US10771249B2 (en) Apparatus and method for providing secure execution environment for mobile cloud
CN113545021B (zh) 预先授权设备的注册
CN113316915B (zh) 解锁数据存储设备
KR101473656B1 (ko) 모바일 데이터 보안 장치 및 방법

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