KR20170050384A - 암호화된 어플리케이션을 배포하기 위한 장치 및 방법, 암호화된 어플리케이션을 수신하기 위한 장치 및 방법 - Google Patents
암호화된 어플리케이션을 배포하기 위한 장치 및 방법, 암호화된 어플리케이션을 수신하기 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR20170050384A KR20170050384A KR1020150151857A KR20150151857A KR20170050384A KR 20170050384 A KR20170050384 A KR 20170050384A KR 1020150151857 A KR1020150151857 A KR 1020150151857A KR 20150151857 A KR20150151857 A KR 20150151857A KR 20170050384 A KR20170050384 A KR 20170050384A
- Authority
- KR
- South Korea
- Prior art keywords
- application
- puf
- computing device
- encrypted
- public key
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000005540 biological transmission Effects 0.000 claims abstract description 14
- 239000012634 fragment Substances 0.000 claims abstract description 13
- 238000012546 transfer Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 18
- 239000000470 constituent Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010367 cloning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3278—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
Abstract
암호화된 어플리케이션을 배포하고, 이를 수신하기 위한 방법 및 장치가 제공된다. 암호화된 어플리케이션을 배포하기 위한 방법은, 개발자 디바이스로부터 수신된 어플리케이션을 분리하여 메인 어플리케이션 및 조각 어플리케이션을 생성하는 단계와, 컴퓨팅 디바이스로부터 어플리케이션 전송 요청을 수신하는 단계, 상기 컴퓨팅 디바이스에 적응적으로 상기 조각 어플리케이션의 적어도 부분을 암호화하는 단계 및 상기 메인 어플리케이션 및 상기 암호화된 조각 어플리케이션을 상기 컴퓨팅 디바이스로 전송하는 단계를 포함한다. 따라서, 정당한 권리를 가지고 있지 않는 제 3 자가 유료 어플리케이션을 복제 사용할 수 없도록 할 수 있다.
Description
본 발명은 암호화된 어플리케이션을 배포하기 위한 장치 및 방법, 그리고 암호화된 어플리케이션을 수신하기 위한 장치 및 방법에 관한 것으로서, 보다 구체적으로는 정당한 권리 없이 유료 어플리케이션을 복제 사용하는 것을 방지할 수 있도록 어플리케이션을 암호화하여 배포하고 수신하는 장치 및 방법에 관한 것이다.
종래에는 소프트웨어의 실행 주체로서 주로 퍼스널 컴퓨터와 같이 고정형이고 정형적인 디바이스가 사용되었지만, 근래에는 스마트폰, 태블릿 PC 와 같이 휴대가 간편하면서도 하나 또는 그 이상의 기능을 복합적으로 수행하는 컨버젼스 기능을 갖는 전자 장치들이 점점 늘어나고 있으며, 스마트 TV 와 같은 생활 가전에서도 소정의 소프트웨어 어플리케이션이 실행될 수 있게 되었다. 또한, 각각의 기기들은 네트워크 망을 통해 간편하게 연결될 수 있어, 정보의 교환은 점점 더 신속해지고 있는 실정이다.
한편, 소프트웨어는 지적 재산권 제도를 통해 그 사유권이 인정되며, 적법한 비용의 지불을 거쳐 사용되어야 함에도 불구하고, 무분별한 불법 복제로 인해 재산상 등의 손실이 발생하고 있으며, 특히 상기와 같은 발전된 환경 하에서는 소프트웨어의 복제 사용이 더욱 손쉬워졌다.
즉, 스마트 폰을 비롯한 컨버전스 장치에서는 주로 설치형 어플리케이션을 이용하여 추가적인 기능이 제공될 수 있는데, 설치형 어플리케이션은 사용자가 유료 결제 또는 무료 결제 방식으로 다운로드 받을 수 있는 패키지 파일로 존재할 수 있다. 여기서, 유료 결제를 통해 제공되는 어플리케이션은 정당한 비용을 지불한 사용자에게만 제공되어야 함에도 불구하고, 유료 어플리케이션의 해킹을 통한 패키지 파일의 배포, 블랙 마켓을 통한 어플리케이션의 배포, 불법 복제 소프트웨어의 배포 등과 같이, 정당한 권리가 없는 사용자에게 유료 어플리케이션이 무분별하게 배포되는 문제가 자주 발생되고 있다.
또는, 상기와 같은 어플리케이션은 주로 ID 기반으로 배포되는바, ID 의 해킹을 통해 유료 어플리케이션이 유출되거나, 특정 사용자들이 ID 를 공유함으로써, 유료 어플리케이션을 공동 사용하는 문제 역시 발생하고 있다.
뿐만 아니라, 상기와 같이 불법적으로 유통되는 복제 어플리케이션은 예를 들어 악성 코드를 삽입하는 것과 같이, 해커에 의해 변형될 수 있으며, 이처럼 변형된 어플리케이션의 재배포로 인해 개인정보의 유출이나 금융 사기, 피어싱 등의 사회적 문제까지 발생시킬 수 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제 1 목적은, 온라인으로 소프트웨어 또는 어플리케이션을 전송받아 디바이스에 설치하여 사용하는 환경에서, 상기 디바이스에 적응적으로 어플리케이션의 일부를 암호화하여 배포함으로써, 정당한 권리를 가지고 있지 않는 제 3 자가 유료 어플리케이션을 복제 사용할 수 없도록 하는 암호화된 어플리케이션을 배포하기 위한 방법 및 암호화된 어플리케이션을 수신하기 위한 방법을 제공하는 것이다.
또한, 상기와 같은 문제점을 해결하기 위한 본 발명의 제 2 목적은, 온라인으로 소프트웨어 또는 어플리케이션을 전송받아 디바이스에 설치하여 사용하는 환경에서, 상기 디바이스에 적응적으로 어플리케이션의 일부를 암호화하여 배포함으로써, 정당한 권리를 가지고 있지 않는 제 3 자가 유료 어플리케이션을 복제 사용할 수 없도록 하는 암호화된 어플리케이션을 배포하기 위한 장치 및 암호화된 어플리케이션을 수신하기 위한 장치를 제공하는 것이다.
다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
전술한 문제점을 해결하기 위한 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 방법은, 개발자 디바이스로부터 수신된 어플리케이션을 분리하여 메인 어플리케이션 및 조각 어플리케이션을 생성하는 단계; 컴퓨팅 디바이스로부터 어플리케이션 전송 요청을 수신하는 단계; 상기 컴퓨팅 디바이스에 적응적으로 상기 조각 어플리케이션의 적어도 부분을 암호화하는 단계; 및 상기 메인 어플리케이션 및 상기 암호화된 조각 어플리케이션을 상기 컴퓨팅 디바이스로 전송하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 암호화하는 단계는 상기 컴퓨팅 디바이스의 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 공개키를 기반으로 상기 조각 어플리케이션의 적어도 부분을 암호화할 수 있다.
일 실시예에 따르면, 상기 어플리케이션 전송 요청은 상기 컴퓨팅 디바이스의 ID 정보를 포함하고, 상기 방법은, 상기 컴퓨팅 디바이스의 ID 정보를 기반으로, PUF 키 관리 서버로부터 상기 컴퓨팅 디바이스의 PUF 공개키를 수신하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 PUF 공개키는 상기 컴퓨팅 디바이스의 PUF 개인키에 대응될 수 있다.
일 실시예에 따르면, 상기 암호화하는 단계는 상기 조각 어플리케이션의 전체를 암호화할 수도 있다.
한편, 본 발명의 다른 실시예에 따른, 컴퓨팅 디바이스에 의해 수행되는, 암호화된 어플리케이션을 수신하기 위한 방법은, 서버로, 어플리케이션 전송 요청을 송신하는 단계; 상기 서버로부터, 상기 어플리케이션에 관한 메인 어플리케이션 및 적어도 부분적으로 암호화된 조각 어플리케이션을 수신하는 단계로서, 상기 암호화된 조각 어플리케이션은 상기 컴퓨팅 디바이스에 적응적으로 암호화된, 상기 수신하는 단계; 상기 암호화된 조각 어플리케이션을 복호화하는 단계; 및 상기 메인 어플리케이션 및 상기 복호화된 조각 어플리케이션을 합성하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 암호화된 조각 어플리케이션은 상기 컴퓨팅 디바이스의 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 공개키를 기반으로 암호화될 수 있다.
일 실시예에 따르면, 상기 PUF 공개키는 상기 컴퓨팅 디바이스의 PUF 개인키에 대응되고, 상기 복호화하는 단계는 상기 컴퓨팅 디바이스의 PUF 개인키를 기반으로 상기 암호화된 조각 어플리케이션을 복호화할 수 있다.
일 실시예에 따르면, 상기 방법은, 상기 컴퓨팅 디바이스의 PUF 개인키를 기반으로 상기 컴퓨팅 디바이스의 PUF 공개키를 생성하는 단계; 및 상기 컴퓨팅 디바이스의 PUF 공개키 및 상기 컴퓨팅 디바이스의 ID 정보를 PUF 키 관리 서버로 송신하는 단계를 더 포함할 수 있으며, 여기서 상기 어플리케이션 전송 요청은 상기 컴퓨팅 디바이스의 ID 정보를 포함할 수도 있다.
일 실시예에 따르면, 상기 암호화된 조각 어플리케이션은, 상기 조각 어플리케이션의 전체가 암호화될 것일 수 있다.
한편, 본 발명의 다른 실시예에 따른, 암호화된 어플리케이션을 배포하기 위한 장치는, 개발자 디바이스로부터 수신된 어플리케이션을 분리하여 메인 어플리케이션 및 조각 어플리케이션으로서 각각 저장하는 저장부; 컴퓨팅 디바이스로부터 어플리케이션 전송 요청을 수신하는 수신부; 상기 컴퓨팅 디바이스에 적응적으로 상기 조각 어플리케이션의 적어도 부분을 암호화하는 암호화부; 및 상기 메인 어플리케이션 및 상기 암호화된 조각 어플리케이션을 상기 컴퓨팅 디바이스로 전송하는 송신부를 포함할 수 있다.
일 실시예에 따르면, 상기 암호화부는 상기 컴퓨팅 디바이스의 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 공개키를 기반으로 상기 조각 어플리케이션의 적어도 부분을 암호화할 수 있다.
일 실시예에 따르면, 상기 어플리케이션 전송 요청은 상기 컴퓨팅 디바이스의 ID 정보를 포함하고, 상기 수신부는 상기 컴퓨팅 디바이스의 ID 정보를 기반으로, PUF 키 관리 서버로부터 상기 컴퓨팅 디바이스의 PUF 공개키를 더 수신하도록 구성될 수 있다.
일 실시예에 따르면, 상기 PUF 공개키는 상기 컴퓨팅 디바이스의 PUF 개인키에 대응될 수도 있다.
일 실시예에 따르면, 상기 암호화부는 상기 조각 어플리케이션의 전체를 암호화할 수 있다.
한편, 본 발명의 다른 실시예에 따른, 암호화된 어플리케이션을 수신하기 위한 장치는, 서버로, 어플리케이션 전송 요청을 송신하는 송신부; 상기 서버로부터, 상기 어플리케이션에 관한 메인 어플리케이션 및 적어도 부분적으로 암호화된 조각 어플리케이션을 수신하는 수신부로서, 상기 암호화된 조각 어플리케이션은 상기 장치에 적응적으로 암호화된, 상기 수신부; 상기 암호화된 조각 어플리케이션을 복호화하는 복호화부; 및 상기 메인 어플리케이션 및 상기 복호화된 조각 어플리케이션을 합성하는 제어부를 포함할 수 있다.
일 실시예에 따르면, 상기 장치 고유의 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 개인키를 생성하고, 상기 PUF 개인키를 기반으로 상기 장치의 PUF 공개키를 생성하는 PUF 모듈을 더 포함할 수 있다.
일 실시예에 따르면, 상기 송신부는 상기 장치의 PUF 공개키 및 상기 장치의 ID 정보를 PUF 키 관리 서버로 송신하고, 상기 암호화된 조각 어플리케이션은 상기 장치의 PUF 공개키를 기반으로 암호화될 것일 수 있다.
일 실시예에 따르면, 상기 복호화부는 상기 장치의 PUF 개인키를 기반으로 상기 암호화된 조각 어플리케이션을 복호화하도록 구성될 수 있다.
일 실시예에 따르면, 상기 암호화된 조각 어플리케이션은, 상기 조각 어플리케이션의 전체가 암호화된 것일 수 있다.
본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 장치 및 방법, 그리고 암호화된 어플리케이션을 수신하기 위한 장치 및 방법에 따르면, 온라인으로 소프트웨어 또는 어플리케이션을 전송받아 디바이스에 설치하여 사용하는 환경에서, 상기 디바이스에 적응적으로 어플리케이션의 일부를 암호화하여 배포함으로써, 정당한 권리를 가지고 있지 않는 제 3 자가 유료 어플리케이션을 복제 사용할 수 없도록 할 수 있다.
따라서, 유료 어플리케이션의 해킹을 통한 패키지 파일의 배포, 블랙 마켓을 통한 어플리케이션의 배포, 불법 복제 소프트웨어의 배포 등과 같이, 정당한 권리가 없는 사용자에게 유료 어플리케이션이 무분별하게 배포되는 문제 및 ID 의 해킹을 통해 유료 어플리케이션이 유출되거나, 특정 사용자들이 ID 를 공유함으로써, 유료 어플리케이션을 공동 사용하는 문제를 해결할 수 있다.
또한, 악성 코드의 삽입 등 변형된 어플리케이션의 재배포로 인한 개인정보의 유출이나 금융 사기, 피어싱의 발생을 완화할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 암호화된 어플리케이션의 배포 및 수신 시스템의 개념도이다.
도 2 는 상기 암호화된 어플리케이션의 배포 및 수신 시스템에 포함된 각 구성들 간의 정보의 흐름을 나타내는 도면이다.
도 3 은 상기 암호화된 어플리케이션의 배포 및 수신 시스템에서 개발자 디바이스의 앱 등록을 나타내는 개념도이다.
도 4 는 상기 암호화된 어플리케이션의 배포 및 수신 시스템에서 컴퓨팅 디바이스의 정보 등록을 나타내는 개념도이다.
도 5 는 상기 암호화된 어플리케이션의 배포 및 수신 시스템에서 서버의 어플리케이션 배포를 나타내는 개념도이다.
도 6 은 상기 암호화된 어플리케이션의 배포 및 수신 시스템에서 컴퓨팅 디바이스의 어플리케이션 수신을 나타내는 개념도이다.
도 7 은 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 방법의 흐름도이다.
도 8 은 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 수신하기 위한 방법의 흐름도이다.
도 9 는 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 장치의 구성을 나타내는 블록도이다.
도 10 은 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 수신하기 위한 장치의 구성을 나타내는 블록도이다.
도 2 는 상기 암호화된 어플리케이션의 배포 및 수신 시스템에 포함된 각 구성들 간의 정보의 흐름을 나타내는 도면이다.
도 3 은 상기 암호화된 어플리케이션의 배포 및 수신 시스템에서 개발자 디바이스의 앱 등록을 나타내는 개념도이다.
도 4 는 상기 암호화된 어플리케이션의 배포 및 수신 시스템에서 컴퓨팅 디바이스의 정보 등록을 나타내는 개념도이다.
도 5 는 상기 암호화된 어플리케이션의 배포 및 수신 시스템에서 서버의 어플리케이션 배포를 나타내는 개념도이다.
도 6 은 상기 암호화된 어플리케이션의 배포 및 수신 시스템에서 컴퓨팅 디바이스의 어플리케이션 수신을 나타내는 개념도이다.
도 7 은 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 방법의 흐름도이다.
도 8 은 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 수신하기 위한 방법의 흐름도이다.
도 9 는 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 장치의 구성을 나타내는 블록도이다.
도 10 은 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 수신하기 위한 장치의 구성을 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
암호화된
어플리케이션의
배포 및 수신 시스템
도 1 은 본 발명의 일 실시예에 따른 암호화된 어플리케이션의 배포 및 수신 시스템의 개념도이다. 이하, 도 1 을 참조하여, 본 발명의 일 실시예에 따른 암호화된 어플리케이션의 배포 및 수신 시스템의 개요를 설명한다.
도 1 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 암호화된 어플리케이션의 배포 및 수신 시스템은 어플리케이션의 개발자가 상기 어플리케이션을 송신할 수 있는 개발자 디바이스 (10), 예를 들어 앱 스토어 (App store) 와 같이 어플리케이션을 관리하고 배포할 수 있는 서버 (20), 복수의 사용자들이 각각 사용할 수 있으며 어플리케이션을 수신하여 사용할 수 있는 컴퓨팅 디바이스 (30) 및 컴퓨팅 디바이스들의 ID 정보와 PUF 관련 정보를 저장 및 관리할 수 있는 PUF 키 관리 서버 (40) 를 포함할 수 있다.
상기 암호화된 어플리케이션의 배포 및 수신 시스템은 정당한 권리를 가지고 있지 않는 제 3 자가 유료 어플리케이션을 복제 사용할 수 없도록 하기 위해, 동일한 어플리케이션에 대해서도 각각의 컴퓨팅 디바이스 (30) 별로 서로 상이한 파일을 받아서 설치할 수 있도록 한다. 즉, 개발자 디바이스 (10) 가 송신한 어플리케이션 패키지는 서버 (20) 에서 메인 어플리케이션 (이하, 메인 App) 및 조각 어플리케이션 (이하, 조각 App) 으로 분리 저장되고, 어플리케이션이 실행되기 위해서는 상기 조각 App 과 메인 App 양자 모두가 존재해야한다. 여기서, 각각의 컴퓨팅 디바이스 (30) 별로 상이한 파일이 전송될 수 있도록 하기 위해, 조각 App 은 상기 컴퓨팅 디바이스 (30) 에 적응적으로 암호화 될 수 있다. 예를 들어, 조각 App 은 해당 컴퓨팅 디바이스 (30) 의 PUF 공개키로 데이터의 일부 또는 전체가 암호화되어 배포될 수 있고, 상기 PUF 공개키에 대응하는 PUF 개인키를 소유하는 컴퓨팅 디바이스 (30) 에 의해서만 복호화될 수 있다. 컴퓨팅 디바이스 (30) 는 자신의 PUF 개인키를 통해 조각 App 을 복호화한 후, 메인 App 과 합성하여 완전한 어플리케이션을 생성하고, 이를 실행할 수 있다.
상기와 같이 특정 컴퓨팅 디바이스 (30) 에 적응적으로 부분 App 을 암호화하여 전송함으로써, 복제 사용이 불가능한 소프트웨어 또는 어플리케이션을 제공하는 환경을 구성할 수 있고, 서버 (20) (예를들어, App Store) 는 특정 컴퓨팅 디바이스 (30) 의 PUF 를 이용하여야만 복호화될 수 있는 어플리케이션을 재생성하여 해당 컴퓨팅 디바이스 (30) (예를 들어, 스마트 폰) 에 제공할 수 있다. 따라서, 어플리케이션을 해킹하거나 불법적으로 복사하여 배포한 경우에도, 다른 컴퓨팅 디바이스 (30) 에서는 미작동하도록 할 수 있다. 아울러, 상기와 같은 암호화된 어플리케이션의 배포 및 수신은 사용자의 개입 없이 백그라운드에서 동작할 수 있는 장점이 있다.
도 2 는 상기 암호화된 어플리케이션의 배포 및 수신 시스템에 포함된 각 구성들 간의 정보의 흐름을 나타내는 도면이고, 도 3 은 상기 암호화된 어플리케이션의 배포 및 수신 시스템에서 개발자 디바이스의 앱 등록을, 도 4 는 컴퓨팅 디바이스의 정보 등록을, 도 5 는 서버의 어플리케이션 배포를, 도 6 은 컴퓨팅 디바이스의 어플리케이션 수신을 나타내는 개념도이다. 이하, 도 2 내지 도 6 을 참조하여, 본 발명의 일 실시예에 따른 암호화된 어플리케이션의 배포 및 수신 시스템의 각 구성들 간의 정보의 흐름을 보다 상세히 설명한다.
먼저, 도 2 에 도시된 바와 같이, 개발자 디바이스 (10) 는 예를 들어 App Store 와 같은 서버 (20) 로 어플리케이션의 패키지를 전송할 수 있다. 개발자 디바이스 (10) 는 소프트웨어 또는 어플리케이션을 개발하는 개발자가 완성된 어플리케이션을 서버로 송신할 수 있는 장치를 통칭하며, 그 유형에 구애받지 않는다. 또한 상기 전송되는 어플리케이션 역시, 안드로이드™ 운영 체제에서 사용되는 apk 형식, 애플® 사의 I-OS 에서 사용될 수 있는 ipa 형식 등 구체적인 형태에 구애받지 않는다.
개발자 디바이스 (10) 가 송신한 어플리케이션을 수신한 서버 (20) 는 상기 어플리케이션을 메인 App 및 조각 App 으로 분리하여 저장할 수 있다. 예를 들면, 도 3 에 도시된 바와 같이, 개발자는 앱을 개발하여 앱스토어로 전송할 수 있고, 앱스토어는 조각 App 과 메인 App 으로 두 데이터를 따로 관리할 수 있다.
한편, 컴퓨팅 디바이스 (30) 는 서버 (20) 로부터 어플리케이션을 수신하여 실행할 수 있는 장치를 의미한다. 여기서, 컴퓨팅 디바이스 (30) 는 디지털 방송 단말기, 개인 정보 단말기(PDA, Personal Digital Assistant), 스마트 폰(Smart Phone), 태블릿(Tablet) PC, 아이패드(Ipad), 3G, 4G LTE(Long Term Evolution) 단말기, 예를 들면 IMT-2000(International Mobile Telecommunication 2000)단말기, WCDMA(Wideband Code Division Multiple Access)단말기, GSM/GPRS(Global System For Mobile Communication Packet Radio Service) 및 UMTS(Universal Mobile Telecommunication Service) 단말기 그리고, 위성을 사용하는 GPS등과 같은 모든 정보통신기기 및 멀티미디어 기기 등이 포함될 수 있다. 또한, 본 발명의 실시 예에 따른 구성은 휴대단말기에만 적용 가능한 경우를 제외하면, 디지털 TV, 데스크탑 컴퓨터 등과 같은 고정 단말기에도 적용될 수도 있음을 본 기술분야의 당업자라면 쉽게 알 수 있을 것이다.
정당한 권리를 가지고 있지 않는 제 3 자가 유료 어플리케이션을 복제 사용할 수 없도록 하기 위해, 특정 컴퓨팅 디바이스 (30) 에 대응하는 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 이 적용될 수 있다. PUF 는 예를 들어 반도체 공정 편차와 같이, 특정 기기가 가지는 고유의 하드웨어적 특성을 이용함으로써 물리적으로 복제 불가능한 키를 생성하는 보안 기술이다. 예시적으로, 각 컴퓨팅 디바이스 (30) 의 PUF 모듈이 기기 고유의 PUF 개인키를 생성하고, 상기 PUF 개인키에 대응되는 PUF 공개키를 생성할 수 있으며, 컴퓨팅 디바이스 (30) 의 외부로는 PUF 공개키를 전송하여 암호화에 이용하도록 함으로써, 특정 컴퓨팅 디바이스 (30) 의 외부로는 절대로 상기 컴퓨팅 디바이스 (30) 의 PUF 개인키 정보가 유출되지 않도록 할 수 있다.
다시 도 2 를 참조하면, 상기와 같은 PUF 를 이용하기 위해, 본 발명의 일 실시예에 따른 컴퓨팅 디바이스 (30) 는 PUF 키 관리 서버 (40) 로 상기 컴퓨팅 디바이스 (30) 의 ID 정보 및 대응하는 PUF 공개키를 송신할 수 있다. 예를 들면, 도 4 에 도시된 바와 같이, 스마트폰 등 컴퓨팅 디바이스 (30) 의 출고시, 또는 개인 사용자의 첫 등록시에, 컴퓨팅 디바이스 (30) 는 PUF keypair 를 생성한 후, 상기 컴퓨팅 디바이스 (30)의 ID 정보와 PUF 공개키를 PUF 키 관리 서버에 등록할 수 있다.
기기 등록이 완료되면, 컴퓨팅 디바이스 (30) 는 서버 (20) 로부터 어플리케이션을 다운받을 수 있는 상태가 된다. 따라서, 컴퓨팅 디바이스 (30) 는 서버 (20) 로 어플리케이션 전송 요청을 송신한다. 어플리케이션 전송 요청은 상기 컴퓨팅 디바이스 (30) 의 ID 정보를 포함할 수 있다.
서버 (20) 는 컴퓨팅 디바이스 (30) 의 ID 정보를 포함하는 어플리케이션 전송 요청을 수신하면, 상기 ID 정보를 이용하여 PUF 키 관리 서버 (40) 로 상기 컴퓨팅 디바이스 (30) 의 PUF 개인키에 대응되는 PUF 공개키를 요청할 수 있다. PUF 키 관리 서버 (40) 는 ID 정보와 PUF 공개키를 연관지어 관리하므로, 상기 ID 정보에 대응되는 PUF 공개키를 서버 (20) 로 전송할 수 있다. 도 1 내지 도 2 에서는 PUF 키 관리 서버 (40) 와 서버 (20) 가 별개의 구성으로서 도시되었지만, 경우에 따라 상기 PUF 키 관리 서버 (40) 와 서버 (20) 는 단일 서버로서 구성될 수도 있다.
서버 (20) 는 어플리케이션을 요청한 컴퓨팅 디바이스 (30) 에 대응되는 PUF 공개키 를 수신하였으므로, 상기 PUF 공개키를 기반으로 상기 어플리케이션과 연관된 조각 App 을 암호화할 수 있고, 암호화된 조각 App 을 메인 App 과 함께 컴퓨팅 디바이스 (30) 로 송신할 수 있다. 예를 들면, 도 5 에 도시된 바와 같이, 앱 스토어는 PUF 키 관리 서버로부터 수신한, 기기에 해당하는 공개키로 조각앱을 암호화하고, 암호화된 조각 App 과 메인 App 을 스마트폰으로 전송하여 설치되도록 할 수 있다.
컴퓨팅 디바이스 (30) 는 상기와 같이 암호화된 조각 App 및 메인 App 을 수신하고, 컴퓨팅 디바이스 (30) 의 개인키를 사용하여 암호화된 조각 App 을 복호화할 수 있다. 복호화된 조각 App 및 메인 App 을 합성함으로써, 실행가능한 어플리케이션이 완성될 수 있다. 예를 들어, 도 6 에 도시된 바와 같이, 스마트폰은 PUF 칩 내에서 연산함으로써, PUF 의 개인키를 이용한 조각 App 의 복호화를 수행할 수 있으며, 복호화된 조각 App 과 메인 App 을 머지하여 어플리케이션을 완성하고, 이를 실행할 수 있다.
따라서, 본 발명의 일 실시예에 따른 암호화된 어플리케이션의 배포 및 수신 시스템에 따르면, 특정 PUF 공개키를 통해 어플리케이션이 암호화되므로, 대응되는 PUF 개인키를 가지는 디바이스 이외에, 정당한 권리를 갖지 않은 제 3 자가 유료 어플리케이션을 무단으로 복제하여 사용하는 것을 방지할 수 있다.
암호화된
어플리케이션을
배포하기 위한 방법
도 7 은 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 방법의 흐름도이다. 이하, 도 7 을 참조하여 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 방법을 보다 상세히 설명한다. 도 1 내지 도 2 에 도시된 바와 같이, 상기 암호화된 어플리케이션을 배포하기 위한 방법은 예를 들어 서버 (20) 에 의해 수행될 수 있다.
도 7 에 도시된 바와 같이, 암호화된 어플리케이션을 배포하기 위한 방법은 먼저 개발자 디바이스 (10) 로부터 어플리케이션을 수신하고, 수신된 어플리케이션을 분리하여 메인 어플리케이션 및 조각 어플리케이션을 생성할 수 있다(S710). 생성된 메인 App 및 조각 App 은 분리되어 별도로 저장 및 관리될 수 있다.
이후, 컴퓨팅 디바이스 (30) 로부터 어플리케이션 전송 요청을 수신할 수 있다 (S720). 어플리케이션 전송 요청은 컴퓨팅 디바이스 (30) 의 ID 정보를 포함할 수 있어, 어플리케이션의 전송을 요청한 컴퓨팅 디바이스 (30) 를 특정할 수 있다.
따라서, 컴퓨팅 디바이스 (30) 를 특정할 수 있는 ID 정보를 기반으로, 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 키 관리 서버 (40) 로부터 상기 컴퓨팅 디바이스 (30) 의 PUF 공개키를 수신할 수 있다 (S730). PUF 공개키는 상기 컴퓨팅 디바이스 (30) 고유의 PUF 개인키에 대응되는 것으로, 상기 컴퓨팅 디바이스 (30) 가 PUF 개인키를 기반으로 생성하여, ID 정보와 함께 PUF 키 관리 서버 (40) 에 등록한 것일 수 있다.
이후, 어플리케이션의 전송을 요청한 컴퓨팅 디바이스 (30) 에 적응적으로 상기 조각 어플리케이션의 적어도 부분을 암호화할 수 있다 (S740). 즉, 예를 들어 상기 수신한 컴퓨팅 디바이스 (30) 의 PUF 공개키를 기반으로 상기 조각 어플리케이션의 적어도 부분을 암호화할 수 있다. 한편, 상기 조각 어플리케이션의 전체를 암호화할 수도 있다.
암호화가 완료되면, 메인 어플리케이션 및 암호화된 조각 어플리케이션을 컴퓨팅 디바이스 (30) 로 전송할 수 있다 (S750). 따라서, 동일한 어플리케이션에 해당하는 경우에도, 어플리케이션 전송을 요청한 컴퓨팅 디바이스 (30) 에 따라 각각 상이하도록 암호화된 어플리케이션 파일이 전송될 수 있으며, 정당한 권리 없는 제 3 자는 암호화된 어플리케이션 파일을 불법적으로 복제하더라도, 이를 복호화하여 사용할 수 없게 된다.
암호화된
어플리케이션을
수신하기 위한 방법
도 8 은 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 수신하기 위한 방법의 흐름도이다. 이하, 도 8 을 참조하여 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 수신하기 위한 방법을 보다 상세히 설명한다. 도 1 내지 도 2 에 도시된 바와 같이, 상기 암호화된 어플리케이션을 수신하기 위한 방법은, 예를 들어 스마트폰과 같은 컴퓨팅 디바이스 (30) 에 의해 수행될 수 있다.
도 8 에 도시된 바와 같이, 암호화된 어플리케이션을 수신하기 위한 방법은 먼저 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 키 관리 서버 (40) 에 기기 등록을 수행할 수 있다. 즉, PUF 를 기반으로 하는 암호화 및 복호화가 수행될 수 있도록, 상기 컴퓨팅 디바이스 (30) 의 PUF 개인키를 기반으로 컴퓨팅 디바이스 (30) 의 PUF 공개키를 생성하고(S810), 생성된 컴퓨팅 디바이스 (30) 의 PUF 공개키 및 상기 컴퓨팅 디바이스 (30) 의 식별을 가능하게 하는 ID 정보를 PUF 키 관리 서버 (40) 로 송신할 수 있다(S820). 도 1 내지 도 2 를 참조하여 설명한 바와 같이, 상기 PUF 키 관리 서버 (40) 는 어플리케이션을 배포하는 서버 (20) 로 상기 PUF 공개키를 전송할 수 있다.
다시 도 8 을 참조하면, 컴퓨팅 디바이스 (30) 는 서버 (20) 로, 어플리케이션 전송 요청을 송신할 수 있다 (S830). 어플리케이션 전송 요청은 상기 컴퓨팅 디바이스 (30) 를 식별할 수 있는 ID 정보를 포함할 수 있다.
서버 (20) 가 어플리케이션 전송 요청에 응답하면, 상기 서버 (20) 로부터, 요청한 어플리케이션에 관한 메인 어플리케이션 및 적어도 부분적으로 암호화된 조각 어플리케이션을 수신할 수 있다(S840). 전술한 바와 같이, 암호화된 조각 어플리케이션은 서버 (20) 에 의해 상기 컴퓨팅 디바이스 (30) 에 적응적으로 암호화될 수 있다. 즉, 상기 서버 (20) 는 컴퓨팅 디바이스 (30) 의 PUF 공개키를 기반으로 조각 어플리케이션을 암호화할 수 있다. 아울러, 상기 조각 어플리케이션은 전체로서 암호화될 수 도 있다.
메인 어플리케이션 및 암호화된 조각 어플리케이션의 수신이 완료되면, 암호화된 조각 어플리케이션을 복호화할 수 있다(S850). 예를 들어, PUF 공개키는 컴퓨팅 디바이스 (30) 의 PUF 개인키에 대응될 수 있으며, 이 경우 컴퓨팅 디바이스 (30) 의 PUF 개인키를 기반으로 암호화된 조각 어플리케이션을 복호화할 수 있다.
복호화가 완료되면, 메인 어플리케이션 및 복호화된 조각 어플리케이션을 합성하여(S870), 어플리케이션을 완성할 수 있고, 상기 어플리케이션을 실행할 수 있다(S870). 따라서, 특정 컴퓨팅 디바이스 (30) 에 대해 적응적으로 암호화된 어플리케이션을 수신할 수 있고 상기 컴퓨팅 디바이스 (30) 이외에는 수신된 어플리케이션을 복호화하여 실행할 수 없으므로, 권한없는 제 3 자로의 어플리케이션 공유가 방지될 수 있다.
암호화된
어플리케이션을
배포하기 위한 장치
도 9 는 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 장치의 구성을 나타내는 블록도이다. 이하, 도 9 를 참조하여 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 장치를 보다 상세히 설명한다. 상기 암호화된 어플리케이션을 배포하기 위한 장치 (900) 는, 도 1 내지 도 2 에 도시된 바와 같이, 예를 들어 서버 (20) 로서 동작할 수 있다.
도 9 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 장치 (900) 는 수신부 (910), 송신부 (920), 암호화부 (930) 및 저장부 (940) 를 포함할 수 있다.
저장부 (940) 는 개발자 디바이스 (10) 로부터 수신된 어플리케이션을 분리하여 메인 어플리케이션 및 조각 어플리케이션으로서 각각 저장할 수 있다. 상기와 같은 어플리케이션의 분리는 암호화된 어플리케이션을 배포하기 위한 장치에서 직접 수행될 수도 있고, 상기 장치에서 앱 등록 조건을 조각 App 및 메인 App 을 모두 등록하도록 규정하는 것에 따라, 개발자 디바이스 (10) 에서 수행되도록 할 수도 있다.
수신부 (910) 는 전술한 바와 같이 개발자 디바이스 (10) 로부터 어플리케이션을 수신하기 위해 사용될 수도 있으며, 컴퓨팅 디바이스 (30) 로부터, 컴퓨팅 디바이스 (30) 의 ID 정보를 포함하는 어플리케이션 전송 요청을 수신하기 위해 사용될 수도 있다. 아울러, 수신부 (910) 는 컴퓨팅 디바이스의 ID 정보를 기반으로, 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 키 관리 서버로부터 상기 컴퓨팅 디바이스의 PUF 공개키를 수신하기 위해 사용될 수도 있다.
암호화부 (930) 는 컴퓨팅 디바이스 (30) 에 적응적으로 조각 어플리케이션의 적어도 부분을 암호화할 수 있다. 이를 위해, 암호화부 (930) 는 컴퓨팅 디바이스 (30) 의 PUF 공개키를 기반으로 조각 어플리케이션의 적어도 부분을 암호화할 수도 있다. 또한, 조각 어플리케이션의 부분이 아니라, 조각 어플리케이션 전체를 암호화할 수도 있다.
송신부 (920) 는 메인 어플리케이션 및 암호화된 조각 어플리케이션을 컴퓨팅 디바이스 (30) 로 전송할 수 있다.
이상 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 장치에 대해서 설명하였으며, 보다 구체적인 실시 형태에 있어서는 전술한 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 배포하기 위한 방법을 따를 수 있다.
암호화된
어플리케이션을
수신하기 위한 장치
도 10 은 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 수신하기 위한 장치의 구성을 나타내는 블록도이다. 이하, 도 10 을 참조하여 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 수신하기 위한 장치를 보다 상세히 설명한다. 상기 암호화된 어플리케이션을 수신하기 위한 장치 (1000) 는, 도 1 내지 도 2 에 도시된 바와 같이, 예를 들어 스마트폰 등의 컴퓨팅 디바이스 (30) 에 의해 구현될 수 있다.
도 10 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 수신하기 위한 장치 (1000) 는 송신부 (1010), 수신부 (1020), 복호화부 (1030), 제어부 (1040) 및 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 모듈 (1050) 을 포함할 수 있다.
PUF 모듈 (1050) 은 앞서 설명한 바와 같이 PUF 를 이용한 어플리케이션의 암호화 및 복호화를 수행하기 위해 이용될 수 있다. 즉, PUF 모듈 (1050) 은 상기 장치 (1000) 의 물리적 특성 등을 이용하여, 상기 장치만이 가질 수 있는 고유의 값에 관한 PUF 개인키를 생성할 수 있으며, PUF 개인키를 기반으로 상기 장치 (1000) 의 PUF 공개키를 생성할 수 있다. 장치 (1000) 외부로는 PUF 공개키만을 전송하게 되므로, PUF 공개키는 장치 (1000) 외부로 절대 유출될 수 없도록 구성된다.
송신부 (1010) 는 서버 (20) 로, 어플리케이션 전송 요청을 송신할 수 있다. 또한, 송신부 (1010) 는 장치 (1000) 의 PUF 공개키 및 상기 장치 (1000) 를 식별할 수 있는 ID 정보를 PUF 키 관리 서버 (40) 로 송신할 수도 있다.
수신부 (1020) 는 서버 (20) 로부터, 상기 요청한 어플리케이션에 관한 메인 어플리케이션 및 적어도 부분적으로 암호화된 조각 어플리케이션을 수신할 수 있다. 여기서, 상기 암호화된 조각 어플리케이션은 상기 장치 (1000) 에 적응적으로 암호화된 것이며, 예를 들어 상기 장치 (1000) 의 PUF 공개키를 기반으로 암호화된 것일 수 있다.
복호화부 (1030) 는 암호화된 조각 어플리케이션을 복호화할 수 있고, 특히 상기 장치 (1000) 의 PUF 개인키를 기반으로 상기 암호화된 조각 어플리케이션을 복호화할 수도 있다. 한편, 도 10 에서는 예시적으로 복호화부 (1030) 와 PUF 모듈 (1050) 이 분리 도시되었지만, 실시예에 따라 상기 복호화부 (1030) 및 PUF 모듈 (1050) 은 하나의 구성으로서 포함될 수 있다.
제어부 (1040) 는 메인 어플리케이션 및 복호화된 조각 어플리케이션을 합성함으로써, 어플리케이션을 완성할 수 있다. 아울러, 제어부 (1040) 가 상기 완성된 어플리케이션을 수행할 수 있다. 특정한 실시예에서는, 제어부 (1040)가 상기 장치 (1000) 에 포함된 중앙처리장치 (CPU) 일 수도 있다.
이상 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 수신하기 위한 장치에 대해서 설명하였으며, 보다 구체적인 실시 형태에 있어서는 전술한 본 발명의 일 실시예에 따른 암호화된 어플리케이션을 수신하기 위한 방법을 따를 수 있다.
상기에서는 본 발명을 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
10 : 개발자 디바이스
20 : 서버
30 : 컴퓨팅 디바이스 40 : PUF 키 관리 서버
900 : 암호화된 어플리케이션을 배포하기 위한 장치
910 : 수신부 920 : 송신부
930 : 암호화부 940 : 저장부
1000 : 암호화된 어플리케이션을 수신하기 위한 장치
1010 : 송신부 1020 : 수신부
1030 : 복호화부 1040 : 제어부
1050 : PUF 모듈
30 : 컴퓨팅 디바이스 40 : PUF 키 관리 서버
900 : 암호화된 어플리케이션을 배포하기 위한 장치
910 : 수신부 920 : 송신부
930 : 암호화부 940 : 저장부
1000 : 암호화된 어플리케이션을 수신하기 위한 장치
1010 : 송신부 1020 : 수신부
1030 : 복호화부 1040 : 제어부
1050 : PUF 모듈
Claims (20)
- 개발자 디바이스로부터 수신된 어플리케이션을 분리하여 메인 어플리케이션 및 조각 어플리케이션을 생성하는 단계;
컴퓨팅 디바이스로부터 어플리케이션 전송 요청을 수신하는 단계;
상기 컴퓨팅 디바이스에 적응적으로 상기 조각 어플리케이션의 적어도 부분을 암호화하는 단계; 및
상기 메인 어플리케이션 및 상기 암호화된 조각 어플리케이션을 상기 컴퓨팅 디바이스로 전송하는 단계를 포함하는, 암호화된 어플리케이션을 배포하기 위한 방법. - 제 1 항에 있어서,
상기 암호화하는 단계는 상기 컴퓨팅 디바이스의 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 공개키를 기반으로 상기 조각 어플리케이션의 적어도 부분을 암호화하는, 암호화된 어플리케이션을 배포하기 위한 방법. - 제 2 항에 있어서,
상기 어플리케이션 전송 요청은 상기 컴퓨팅 디바이스의 ID 정보를 포함하고,
상기 방법은, 상기 컴퓨팅 디바이스의 ID 정보를 기반으로, PUF 키 관리 서버로부터 상기 컴퓨팅 디바이스의 PUF 공개키를 수신하는 단계를 더 포함하는, 암호화된 어플리케이션을 배포하기 위한 방법. - 제 3 항에 있어서,
상기 PUF 공개키는 상기 컴퓨팅 디바이스의 PUF 개인키에 대응되는, 암호화된 어플리케이션을 배포하기 위한 방법. - 제 1 항에 있어서,
상기 암호화하는 단계는 상기 조각 어플리케이션의 전체를 암호화하는, 암호화된 어플리케이션을 배포하기 위한 방법. - 컴퓨팅 디바이스에 의해 수행되는, 암호화된 어플리케이션을 수신하기 위한 방법으로서,
서버로, 어플리케이션 전송 요청을 송신하는 단계;
상기 서버로부터, 상기 어플리케이션에 관한 메인 어플리케이션 및 적어도 부분적으로 암호화된 조각 어플리케이션을 수신하는 단계로서, 상기 암호화된 조각 어플리케이션은 상기 컴퓨팅 디바이스에 적응적으로 암호화된, 상기 수신하는 단계;
상기 암호화된 조각 어플리케이션을 복호화하는 단계; 및
상기 메인 어플리케이션 및 상기 복호화된 조각 어플리케이션을 합성하는 단계를 포함하는, 암호화된 어플리케이션을 수신하기 위한 방법. - 제 6 항에 있어서,
상기 암호화된 조각 어플리케이션은 상기 컴퓨팅 디바이스의 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 공개키를 기반으로 암호화된, 암호화된 어플리케이션을 수신하기 위한 방법. - 제 7 항에 있어서,
상기 PUF 공개키는 상기 컴퓨팅 디바이스의 PUF 개인키에 대응되고,
상기 복호화하는 단계는 상기 컴퓨팅 디바이스의 PUF 개인키를 기반으로 상기 암호화된 조각 어플리케이션을 복호화하는, 암호화된 어플리케이션을 수신하기 위한 방법. - 제 8 항에 있어서,
상기 컴퓨팅 디바이스의 PUF 개인키를 기반으로 상기 컴퓨팅 디바이스의 PUF 공개키를 생성하는 단계; 및
상기 컴퓨팅 디바이스의 PUF 공개키 및 상기 컴퓨팅 디바이스의 ID 정보를 PUF 키 관리 서버로 송신하는 단계를 더 포함하고,
상기 어플리케이션 전송 요청은 상기 컴퓨팅 디바이스의 ID 정보를 포함하는, 암호화된 어플리케이션을 수신하기 위한 방법. - 제 9 항에 있어서,
상기 암호화된 조각 어플리케이션은, 상기 조각 어플리케이션의 전체가 암호화된, 암호화된 어플리케이션을 수신하기 위한 방법. - 개발자 디바이스로부터 수신된 어플리케이션을 분리하여 메인 어플리케이션 및 조각 어플리케이션으로서 각각 저장하는 저장부;
컴퓨팅 디바이스로부터 어플리케이션 전송 요청을 수신하는 수신부;
상기 컴퓨팅 디바이스에 적응적으로 상기 조각 어플리케이션의 적어도 부분을 암호화하는 암호화부; 및
상기 메인 어플리케이션 및 상기 암호화된 조각 어플리케이션을 상기 컴퓨팅 디바이스로 전송하는 송신부를 포함하는, 암호화된 어플리케이션을 배포하기 위한 장치. - 제 11 항에 있어서,
상기 암호화부는 상기 컴퓨팅 디바이스의 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 공개키를 기반으로 상기 조각 어플리케이션의 적어도 부분을 암호화하는, 암호화된 어플리케이션을 배포하기 위한 장치. - 제 12 항에 있어서,
상기 어플리케이션 전송 요청은 상기 컴퓨팅 디바이스의 ID 정보를 포함하고,
상기 수신부는 상기 컴퓨팅 디바이스의 ID 정보를 기반으로, PUF 키 관리 서버로부터 상기 컴퓨팅 디바이스의 PUF 공개키를 더 수신하는, 암호화된 어플리케이션을 배포하기 위한 장치. - 제 13 항에 있어서,
상기 PUF 공개키는 상기 컴퓨팅 디바이스의 PUF 개인키에 대응되는, 암호화된 어플리케이션을 배포하기 위한 장치. - 제 11 항에 있어서,
상기 암호화부는 상기 조각 어플리케이션의 전체를 암호화하는, 암호화된 어플리케이션을 배포하기 위한 장치. - 암호화된 어플리케이션을 수신하기 위한 장치로서,
서버로, 어플리케이션 전송 요청을 송신하는 송신부;
상기 서버로부터, 상기 어플리케이션에 관한 메인 어플리케이션 및 적어도 부분적으로 암호화된 조각 어플리케이션을 수신하는 수신부로서, 상기 암호화된 조각 어플리케이션은 상기 장치에 적응적으로 암호화된, 상기 수신부;
상기 암호화된 조각 어플리케이션을 복호화하는 복호화부; 및
상기 메인 어플리케이션 및 상기 복호화된 조각 어플리케이션을 합성하는 제어부를 포함하는, 암호화된 어플리케이션을 수신하기 위한 장치. - 제 16 항에 있어서,
상기 장치 고유의 물리적 복제 방지 기능 (Physically Unclonable Funtion, PUF) 개인키를 생성하고, 상기 PUF 개인키를 기반으로 상기 장치의 PUF 공개키를 생성하는 PUF 모듈을 더 포함하는, 암호화된 어플리케이션을 수신하기 위한 장치. - 제 17 항에 있어서,
상기 송신부는 상기 장치의 PUF 공개키 및 상기 장치의 ID 정보를 PUF 키 관리 서버로 송신하고,
상기 암호화된 조각 어플리케이션은 상기 장치의 PUF 공개키를 기반으로 암호화된, 암호화된 어플리케이션을 수신하기 위한 장치. - 제 18 항에 있어서,
상기 복호화부는 상기 장치의 PUF 개인키를 기반으로 상기 암호화된 조각 어플리케이션을 복호화하는, 암호화된 어플리케이션을 수신하기 위한 장치. - 제 19 항에 있어서,
상기 암호화된 조각 어플리케이션은, 상기 조각 어플리케이션의 전체가 암호화된, 암호화된 어플리케이션을 수신하기 위한 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150151857A KR20170050384A (ko) | 2015-10-30 | 2015-10-30 | 암호화된 어플리케이션을 배포하기 위한 장치 및 방법, 암호화된 어플리케이션을 수신하기 위한 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150151857A KR20170050384A (ko) | 2015-10-30 | 2015-10-30 | 암호화된 어플리케이션을 배포하기 위한 장치 및 방법, 암호화된 어플리케이션을 수신하기 위한 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20170050384A true KR20170050384A (ko) | 2017-05-11 |
Family
ID=58742042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150151857A KR20170050384A (ko) | 2015-10-30 | 2015-10-30 | 암호화된 어플리케이션을 배포하기 위한 장치 및 방법, 암호화된 어플리케이션을 수신하기 위한 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20170050384A (ko) |
-
2015
- 2015-10-30 KR KR1020150151857A patent/KR20170050384A/ko not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2721228C1 (ru) | Способ управления цифровыми правами на основе технологии блокчейна | |
CN110214440B (zh) | 计算系统,传送受保护数据的方法和可读存储介质 | |
US11483161B2 (en) | Method for information processing and non-transitory computer readable storage medium | |
CN110650010B (zh) | 一种非对称密钥中的私钥生成和使用方法、装置和设备 | |
CN106464485B (zh) | 用于保护在清单文件中输送的内容密钥的系统和方法 | |
KR101891420B1 (ko) | DaaS를 위한 컨텐츠 보호 | |
US10055553B2 (en) | PC secure video path | |
US20200364319A1 (en) | Systems and methods for utilizing hardware assisted protection for media content | |
CN110249336B (zh) | 使用签名密钥对可信执行环境的寻址 | |
CN109690537A (zh) | 用于解密和呈现内容的系统 | |
KR20150052303A (ko) | 시스템 온 칩 장치에서 강력하고 안전한 콘텐츠 보호의 개선된 구현 | |
WO2018157724A1 (zh) | 加密控制字的保护方法、硬件安全模块、主芯片和终端 | |
EP3317798B1 (en) | Decrypting and decoding media assets through a secure data path | |
CN110008654B (zh) | 电子文件处理方法和装置 | |
US20110179444A1 (en) | Apparatus and method for downloading conditional access images | |
US20180351918A1 (en) | Method for distributing a software application and encryption program for a white-box implementation | |
KR101701625B1 (ko) | 암호화된 컨텐츠의 복호화 키를 안전하게 획득하여 컨텐츠를 재생하기 위한 방법 및 시스템 | |
KR20170050384A (ko) | 암호화된 어플리케이션을 배포하기 위한 장치 및 방법, 암호화된 어플리케이션을 수신하기 위한 장치 및 방법 | |
KR100467570B1 (ko) | 디지털 콘텐츠를 위한 보안 서비스 방법 및 그를 위한시스템 | |
CN110875820A (zh) | 多媒体内容保护密钥的管理方法及系统、密钥代理装置 | |
KR20080063610A (ko) | 이동통신 시스템에서 컨텐츠의 미리보기를 관리하는 장치및 방법 | |
KR20220081068A (ko) | 암복호화 키를 이용한 어플리케이션 보안 장치 및 방법 | |
CN116962845A (zh) | 用于虚拟系统的多媒体播放方法及装置 | |
KR101649780B1 (ko) | 암복호화 키를 이용하는 어플리케이션 보안 방법 및 장치 | |
KR101287367B1 (ko) | Drm 시스템의 콘텐츠 공유방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E601 | Decision to refuse application |