KR20220164693A - 보호된 지능형 앱의 호출 권한 인증 방법 및 스마트 장치 - Google Patents
보호된 지능형 앱의 호출 권한 인증 방법 및 스마트 장치 Download PDFInfo
- Publication number
- KR20220164693A KR20220164693A KR1020227027877A KR20227027877A KR20220164693A KR 20220164693 A KR20220164693 A KR 20220164693A KR 1020227027877 A KR1020227027877 A KR 1020227027877A KR 20227027877 A KR20227027877 A KR 20227027877A KR 20220164693 A KR20220164693 A KR 20220164693A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- app
- kernel
- authority
- protected
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000013475 authorization Methods 0.000 claims abstract description 46
- 238000003860 storage Methods 0.000 claims abstract description 41
- 238000002513 implantation Methods 0.000 claims abstract description 15
- 238000004519 manufacturing process Methods 0.000 claims description 38
- 238000011161 development Methods 0.000 claims description 33
- 238000011156 evaluation Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012795 verification Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 18
- 238000007689 inspection Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 7
- 238000002054 transplantation Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 230000008451 emotion Effects 0.000 description 2
- 239000007943 implant Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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
- 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
- G06F21/121—Restricting unauthorised execution of 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
-
- 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/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- 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/3226—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 a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
-
- 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/3234—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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Storage Device Security (AREA)
Abstract
본 출원은 보호된 지능형 앱의 호출 권한 인증 방법 및 스마트 장치에 관한 것이다. 본 출원에 따르면, 디바이스 커널 앱의 하드웨어 복호화 모듈에 대한 호출을 통하여, 스마트 장치는 하드웨어 복호화 모듈 중의 커널 이식 키 및 쓰기가 보호된 저장 매체 중의 하드웨어 프로그래밍 키를 이용하여 보호된 지능형 앱 중의 권한 감정용 암호문을 복호화 가능하고, 커널 이식 키가 제1 피통제 키를 이용하여 제2 피통제 키를 암호화하여 얻어진 2차 권한 감정용 키이고, 하드웨어 프로그래밍 키가 제1 피통제 키인 경우에만, 정확한 제2 피통제 키를 얻어 권한 감정용 암호문을 복호화하고, 결과 샘플 평문과 일치한 복호화 평문을 복호화하여 얻음으로써, 보호된 지능형 앱으로 하여금 일치성 인증을 통과하고 디바이스 커널 앱에 호출 권한을 부여하도록 할 수 있다. 따라서, 보호된 지능형 앱의 사용 권한을 정확한 키 구성을 가진 스마트 장치에만 제한되도록 할 수 있으므로, 보호된 지능형 앱이 불법 장치에서 작동되는 악의적인 불법 복제 행위를 방어할 수 있다.
Description
본 출원은 2020년 04월 03일에 중국 특허국에 제출한, 출원 번호가 202010259146.3이고 발명의 명칭이 “보호된 지능형 앱의 호출 권한 인증 방법 및 스마트 장치”인 중국 특허 출원의 우선권을 주장하는바, 이의 전부 내용은 참조로서 본 발명에 인용된다.
본 출원은 지능형 앱의 저작권 보호에 관한 것으로, 특히 보호된 지능형 앱의 호출 권한 인증 방법 및 스마트 장치에 관한 것이다.
지능형 앱의 대중화와 함께 다양한 지능형 앱이 등장되고 있다.
하지만, 어떻게 지능형 앱의 저작권을 효과적으로 보호함으로써 지능형 앱의 사용 권한을 지정된 권한 부여 범위 내의 지능형 장치에 제한할지는 종래 기술에게 있어서 해결해야 할 기술적 과제로 되고 있다.
이에 감안하여, 본 출원의 각 실시예는 각각 보호된 지능형 앱의 호출 권한 인증 방법, 및 해당 호출 권한 인증 방법을 응용하는 스마트 장치를 제공하여, 보호된 지능형 앱의 사용 권한을 지정된 권한 부여 범위 내의 스마트 장치에 제한하는데 도움을 준다. 구체적인 기술적 수단은 아래와 같다.
일 시시예에 있어서, 본 출원은, 보호된 지능형 앱의 호출 권한 인증 방법을 제공하되, 보호된 지능형 앱이 스마트 장치에 로드될 때, 해당 호출 권한 인증 방법은, 스마트 장치의 디바이스 커널 앱에 의해 실행되는 하기 단계를 포함한다. 즉,
보호된 지능형 앱 중의 권한 감정용 암호문을 획득하는 단계;
하드웨어 복호화 모듈을 호출하고, 사전에 디바이스 커널 앱에 이식된 커널 이식 키 및 획득된 권한 감정용 암호문을 하드웨어 복호화 모듈에 전달(disperse)하여, 하드웨어 복호화 모듈로 하여금 스마트 장치의 쓰기가 보호된 저장 매체 중의 하드웨어 프로그래밍 키를 이용하여 커널 이식 키를 복호화하도록 하며, 커널 이식 키를 복호화하여 얻어진 복호화 키를 이용하여 권한 감정용 암호문을 복호화하는 단계; 여기서, 커널 이식 키는 제1 피통제 키를 이용하여 제2 피통제 키를 암호화하여 얻어진 2차 권한 감정용 키이고, 하드웨어 프로그래밍 키가 제1 피통제 키인 경우, 커널 이식 키를 복호화하여 얻어진 복호화 키가 제2 피통제 키이며;
권한 감정용 암호문을 복호화하여 얻어지고, 하드웨어 복호화 모듈이 호출 반환한, 복호화 평문을 보호된 지능형 앱에게 제공하여, 보호된 지능형 앱으로 하여금 복호화 평문과 샘플 평문과의 일치성을 검사하도록 하며 디바이스 커널 앱에게 호출 권한을 개방할지 여부를 판단하도록 하는 단계; 여기서, 권한 감정용 암호문은 제2 피통제 키를 이용하여 샘플 평문을 암호화하여 얻어진 것이고, 커널 이식 키를 복호화하여 얻어진 복호화 키가 제2 피통제 키인 경우, 권한 감정용 암호문을 복호화하여 얻어진 복호화 평문은 보호된 지능형 앱에서 디바이스 커널 앱의 액세스를 차단하는 샘플 평문과 일치하다.
대안적으로, 권한 감정용 암호문은, 2차 권한 감정용 키를 입력 키로, 제2 피통제 키를 실제 키로, 샘플 평문을 사기성 암호화하여 얻어진 것이다.
대안적으로, 2차 권한 감정용 키는 제1 피통제 키를 이용하여 제1 암호화 알고리즘을 기반으로 제2 피통제 키를 암호화하여 얻어진 것이고; 권한 감정용 암호문은 제2 피통제 키를 이용하여 제2 암호화 알고리즘을 기반으로 샘플 평문을 암호화하여 얻어진 것이며; 하드웨어 복호화 모듈은 하드웨어 프로그래밍 키를 이용하여 제1 복호화 알고리즘을 기반으로 커널 이식 키를 복호화하고, 또한, 하드웨어 복호화 모듈은 커널 이식 키로부터 복호화된 복호화 키를 이용하여 제2 복호화 알고리즘을 기반으로 권한 감정용 암호문을 복호화하되; 여기서, 제1 복호화 알고리즘은 제1 암호화 알고리즘의 역 알고리즘이고, 제2 복호화 알고리즘은 제2 암호화 알고리즘의 역 알고리즘이다.
대안적으로, 권한 감정용 암호문은 제1 복호화 알고리즘을 기반으로 샘플 평문을 사기성 암호화하여 얻어진 것이고, 여기서, 해당 사기성 암호화는 제1 피통제 키를 이용하여 입력 키에 대해 제1 복호화 알고리즘에 기반한 복호화 작업을 실행하고, 입력 키에 대해 복호화하여 얻어진 사기성 키를 실제 키로 사용하여 제2 암호화 알고리즘에 기반한 암호화 작업을 수행하는 것이다.
대안적으로, 보호된 지능형 앱이 디바이스 커널 앱을 작동하는 스마트 장치에 로드되기 전에, 스마트 장치의 디바이스 커널 앱에서 수행하는 하기 단계를 더 포함한다. 즉, 생산 라인 프로그래밍 장치에서 제공되는 암호화한 키 데이터를 수신하는 단계; 암호화 키 데이터를 복호화하는 단계; 암호화 키 데이터로부터 복호화되어 얻어진 키 데이터를 이용하여 스마트 장치의 쓰기가 보호된 저장 매체에서 프로그래밍하여 하드웨어 프로그래밍 키를 형성하는 단계; 여기서, 생산 라인 프로그래밍 장치에서 제공되는 암호화 키 데이터가 키 서버에서 온 경우, 암호화 키 데이터로부터 복호화되어 얻어진 키 데이터가 제1 피통제 키이고; 프로그래밍 완료 후, 해당 키 데이터를 폐기한다.
대안적으로, 키 서버에 대한 생산 라인 프로그래밍 장치의 액세스 권한은, 생산 라인 프로그래밍 장치에 삽입 접속된 핫플러그인 암호화 부품에서 권한 감정 인증을 실행한다.
대안적으로, 프로그래밍 장치에서 제공되는 암호화 키 데이터를 수신하기 전에, 생산 라인 프로그래밍 장치의 인증 검사에 응답하고, 사전에 디바이스 커널 앱에 이식된 인증 정보를 생산 라인 프로그래밍 장치에게 제공하는 것을 더 포함한다.
대안적으로, 제1 피통제 키의 통제권한은 제1 관리측에 소유되고; 제2 피통제 키의 통제권한은 제1 관리측과 다른 제2 관리측에 소유되며; 또한, 제1 관리측과 제2 관리측은 각각 디바이스 커널 앱을 소유하는 제1 개발측, 및 보호된 지능형 앱을 소유하는 제2 개발측과 다르다.
대안적으로, 스마트 장치의 쓰기가 보호된 저장 매체는 OTP 저장 매체이다.
다른 일 실시예에 있어서, 본 출원은 앱 탑재 모듈, 하드웨어 복호화 모듈 및 쓰기가 보호된 저장 매체를 포함하는 스마트 장치를 제공하되, 여기서, 앱 탑재 모듈은 디바이스 커널 앱을 로드하여 작동하도록 구성되고, 또한, 디바이스 커널 앱은 보호된 지능형 앱이 앱 탑재 모듈에 기록된 경우, 상술한 실시예에 따른 호출 권한 인증 방법을 실행한다.
다른 일 실시예에 있어서, 본 출원은 비일시적 컴퓨터 판독가능 저장 매체를 제공하되, 상기 비일시적 컴퓨터 판독가능 저장 매체는 명령을 저장하고, 상기 명령은 프로세서에 의해 실행시, 상기 프로세서로 하여금 디바이스 커널 앱을 로드하도록 하며, 디바이스 커널 앱이 상술한 실시예에 따른 호출 권한 인증 방법을 실행하도록 한다.
다른 일 실시예에 있어서, 본 출원은 키 배치 방법을 제공하되, 상기 방법은, 하기 단계를 포함한다. 즉,
제1 통제측의 제1 피통제 키를 획득하고, 상기 제1 피통제 키를 하드웨어 프로그래밍 키로 특정 스마트 장치의 쓰기가 보호된 저장 매체에 프로그래밍하는 단계;
제2 통제측의 제2 피통제 키를 획득하고, 상기 제2 피통제 키를 보호된 지능형 앱의 암호화 키로 하는 단계;
상기 제1 피통제 키를 이용하여 상기 제2 피통제 키를 암호화하여 2차 권한 감정용 키를 얻고, 상기 2차 권한 감정용 키를 커널 이식 키로, 상기 특정 스마트 장치의 디바이스 커널 앱에 이식하는 단계.
상술한 실시예에 기반하여, 디바이스 커널 앱을 통해 하드웨어 복호화 모듈을 호출 시, 스마트 장치는 디바이스 커널 앱 중의 커널 이식 키 및 쓰기가 보호된 저장 매체 중의 하드웨어 프로그래밍 키를 이용하여 보호된 지능형 앱 중의 권한 감정용 암호문을 복호화 가능하고, 또한, 오로지, 커널 이식 키가 제1 피통제 키를 이용하여 제2 피통제 키를 암호화하여 얻어진 2차 권한 감정용 키이고, 하드웨어 프로그래밍 키가 제1 피통제 키인 경우에만, 정확한 제2 피통제 키가 얻어져 권한 감정용 암호문을 복호화 가능하고, 복호화한 결과 샘플 평문과 일치한 복호화 평문이 얻어지고, 보호된 지능형 앱으로 하여금 일치성 인증을 거쳐 디바이스 커널 앱에게 호출 권한을 부여 가능하다. 따라서, 보호된 지능형 앱의 사용 권한은 2차 권한 감정용 키가 정확히 할당되어 있고, 또한 제1 피통제 키가 프로그래밍되어 있는 스마트 장치에게 제한될 수 있어, 보호된 지능형 앱이 불법 장치에서 작동되는 악의적인 불법 복제 행위를 방어 가능하다.
본 출원의 실시예 및 종래기술의 기술적 수단을 보다 명확하게 설명하기 위하여, 이하에서는 실시예 및 종래기술에서 요구되는 도면을 간략하게 소개한다. 하지만, 이하에서 설명되는 도면은 단지 본 출원의 일부 실시예일 뿐, 당업자라면, 그 어떠한 창의적인 노력 없이도 이러한 도면에 기반하여 다른 도면을 얻을 수 있는 것이 분명하다.
도 1은 본 출원의 일 실시예에 따른 키 합법적 배치 수단의 원리성을 나타내는 개략도이고;
도 2는 본 출원의 도 1에 도시한 키 합법적 배치 수단의 예의 프로세스를 나타내는 개략도이고;
도 3은 본 출원의 도 1에서 도시한 키 합법적 배치 수단의 최적화 원리를 나타내는 개략도이고;
도 4는 본 출원의 도 3에서 도시한 키 합법적 배치 수단의 예의 프로세스를 나타내는 개략도이고;
도 5는 본 출원의 일 실시예에 따른 보호된 지능형 앱의 호출 권한 인증 방법의 예시적 프로세스를 나타내는 개략도이고;
도 6은 본 출원의 도 5에 도시한 호출 권한 인증 방법이 방어 가능한 키의 불법 배치 행위를 나타내는 개략도이고;
도 7은 본 출원의 도 5에 도시한 호출 권한 인증 방법의 예시화 프로세스를 나타내는 개략도이고;
도 8은 본 출원의 도 5에 도시한 호출 권한 인증 방법의 도 2에 도시한 키의 합법적 배치 예를 지원하는 확장된 프로세스를 나타내는 개략도이고;
도 9는 본 출원의 일 실시예에 따른 스마트 장치의 예시적 구조를 나타내는 개략도이다.
도 1은 본 출원의 일 실시예에 따른 키 합법적 배치 수단의 원리성을 나타내는 개략도이고;
도 2는 본 출원의 도 1에 도시한 키 합법적 배치 수단의 예의 프로세스를 나타내는 개략도이고;
도 3은 본 출원의 도 1에서 도시한 키 합법적 배치 수단의 최적화 원리를 나타내는 개략도이고;
도 4는 본 출원의 도 3에서 도시한 키 합법적 배치 수단의 예의 프로세스를 나타내는 개략도이고;
도 5는 본 출원의 일 실시예에 따른 보호된 지능형 앱의 호출 권한 인증 방법의 예시적 프로세스를 나타내는 개략도이고;
도 6은 본 출원의 도 5에 도시한 호출 권한 인증 방법이 방어 가능한 키의 불법 배치 행위를 나타내는 개략도이고;
도 7은 본 출원의 도 5에 도시한 호출 권한 인증 방법의 예시화 프로세스를 나타내는 개략도이고;
도 8은 본 출원의 도 5에 도시한 호출 권한 인증 방법의 도 2에 도시한 키의 합법적 배치 예를 지원하는 확장된 프로세스를 나타내는 개략도이고;
도 9는 본 출원의 일 실시예에 따른 스마트 장치의 예시적 구조를 나타내는 개략도이다.
본 출원의 목적, 기술적수단 및 이점이 보다 명확하게 이해될 수 있도록, 첨부된 도면 및 실시예를 참조하여 이하에서 본 출원을 더욱 상세하게 설명한다. 설명된 실시예는 본 출원의 실시예의 일부일 뿐, 전부가 아니다는 것은 분명하다. 본 출원의 실시예에 기초하여, 창의적인 노력 없이 당업자에 의해 얻어진 기타 모든 실시예도 본 출원의 보호 범위에 속한다.
도 1은 본 출원의 일 실시예에 따른 키 합법적 배치 수단(즉, 키 배치 방법)을 나타내는 개략도이다. 도 1을 참조하면, 보호된 지능형 앱(예를 들어 지능 알고리즘 라이브러리)의 특정 권한 부여 범위 내의 스마트 장치(예를 들어 지능 카드)에서의 로드 및 작동을 구현하기 위하여, 해당 실시예에 따른 키 합법적 배치 수단은 각각 제1 피통제 키 Key_root (110)(루트 키라고도 칭함), 제2 피통제 키 Key_alg (120)(지능형 앱의 원시 키라고도 칭함) 및 2차 권한 감정용 키 Key_ladder (130)(작업 키라고도 칭함)와 같은 3가지 키를 제공한다.
제1 피통제 키 Key_root (110)은 AES(Advanced Encryption Standard, 고급 암호화 표준) 키일 수 있고; 제1 피통제 키 Key_root (110)은 스마트 장치(200) 중의 합법적인 하드웨어 프로그래밍 키(Hardware Programming Key)로서 스마트 장치(200)의 쓰기가 보호된 저장 매체(220) 내에 프로그래밍되어 있을 수 있으며, 해당 쓰기가 보호된 저장 매체(220)은 예를 들어 OTP(One Time Programmable, 1회 프로그램 가능) 저장 매체 등 하드웨어 프로그래밍 키가 조작되지 않도록 방어 가능한 매체일 수 있으며; 또한, 제1 피통제 키 Key_root (110)의 통제권한은 제1 관리측(본 출원에서의 관리측은 통제측이라고도 칭함)(510)에 속하고, 해당 제1 관리측(510)은 디바이스 커널 앱(210)이 속하는 제1 개발측(410) 및 보호된 지능형 앱(300)이 속하는 제2 개발측(420)과 다르다. 제1 피통제 키 Key_root(110)의 제1 개발측(410) 및 제2 개발측(420)에 대한 보안 격리를 편리하게 하기 위하여, 제1 피통제 키 Key_root (110)은 액세스 권한의 제어를 받는 키 서버(100)를 중계 캐리어로 이용할 수 있다.
제2 피통제 키 Key_alg (120)는 AES 키일 수도 있고, 제2 피통제 키 Key_alg (120)은 암호화를 통해 보호된 지능형 앱 중의 암호문을 얻기 위한 합법적인 암호화 키로 사용될 수 있고, 또한, 제2 피통제 키 Key_alg (120)의 통제권한은 제2 관리측(520)에 속하고, 해당 제2 관리측(520)은 제1 관리측(510)과도 다르고, 디바이스 커널 앱(210)이 속하는 제1 개발측(410) 및 보호된 지능형 앱(300)이 속하는 제2 개발측(420)과도 다르다.
2차 권한 감정용 키 Key_ladder (130)은 키 래더(Key Ladder) 메커니즘을 기반으로 제1 피통제 키 Key_root (110)을 이용하여 제2 피통제 키 Key_alg (120)을 암호화하여 얻어지는 2차 권한 감정용 키일 수 있다. 2차 권한 감정용 키 Key_ladder (130)은 디바이스 커널 앱(210)이 속하는 제1 개발측(410) 그룹에서 공유될 수 있고, 또한, 2차 권한 감정용 키 Key_ladder (130)은 커널 이식 키로서 제1 개발측(410)에 의해 디바이스 커널 앱(210)에 이식될 수 있다.
도 2는 도 1에 도시한 키 합법적 배치 수단의 예시적 프로세스를 나타내는 개략도이다. 도 2를 참조하면, 키의 합법적 배치의 일 예시에 있어서,
제1 개발측(410)(예를 들어 디바이스 커널 앱의 귀속측의 개발 그룹)은 키 서버(100)에 키 배포 툴을 배치 가능하고(S411), 여기서, 키 서버(100)에서의 키 배포 툴의 배치 위치는 오로지 제1 개발측(410)에만 알릴 수 있다.
키 서버(100)에 키 배포 툴이 성공적으로 설치되면(S101), 제1 개발측(410)에서 키 서버(100)이 반환한 성공 응답이 수신되고(S102), 이 때 키 서버(100)는 제1 피통제 키 Key_root (110)로서의 중계 캐리어의 능력을 가진다. 키 서버(100)은 키 배포 툴을 이용하여 제1 통제측이 업로드한 제1 피통제 키 및 제2 통제측이 업로드한 제2 피통제 키를 수신 가능하고; 제1 피통제 키를 암호화 키로 이용하여 제2 피통제 키를 암호화하여 2차 권한 감정용 키를 얻고, 키 배포 툴을 이용하여 2차 권한 감정용 키를 제1 개발측에 전달함으로써 제1 피통제 키의 중계를 구현할 수 있다.
제1 통제측(510)(예를 들어, 디바이스 커널 앱의 귀속측의 키 매니저)은 제1 피통제 키 Key_root (110)을 키 서버(100)에 업로드하여(S511), 키 서버(100)로 하여금 제1 피통제 키 Key_root (110)을 로컬에 저장하도록 할 수 있다(S103). 여기서, 키 서버(100)에서의 제1 피통제 키 Key_root (110)의 저장 위치는 제1 통제측(510)에 의해 지정 가능하고, 오로지 제1 통제측(510)에만 알릴 수 있다. 일 예시에 있어서, A사에서 B사에게 디바이스 커널 앱의 개발을 위탁할 경우, B사가 제1 개발측이고, A사가 제1 통제측이다.
제2 통제측(520)(예를 들어, 보호된 지능형 앱의 귀속측의 키 매니저)은 제2 피통제 키 Key_alg (120)을 키 서버(100)에 업로드함으로써(S521), 키 서버(100)로 하여금 배치된 키 배포 툴을 호출하고 로컬에 저장된 제1 피통제 키 Key_root (110)을 이용하여 업로드된 제2 피통제 키 Key_alg (120)을 암호화하여 래더 암호화 메커니즘에 기반한 2차 권한 감정용 키 Key_ladder (130)을 얻도록 할 수 있다(S104). 여기서의 래더 암호화 메커니즘이란, 2차 권한 감정용 키는 제1 피통제 키를 이용하여 제2 피통제 키를 암호화하여 얻어진 두 계층을 포함하는 키 정보인 것은 나타낸다. 일 예시에 있어서, C사가 D사에 개발 일 지능형 앱의 개발을 위탁할 경우, D사가 제2 개발측이고, C사가 제2 통제측이다.
그 후에, 키 서버(100)은 래더 암호화 메커니즘에 기반한 2차 권한 감정용 키 Key_ladder (130)을 제1 개발측(410)에 전달함으로써(S105), 제1 개발측(410)이 2차 권한 감정용 키 Key_ladder (130)을 보관하고, 2차 권한 감정용 키 Key_ladder (130)을 디바이스 커널 앱에 이식하며(S412), 나아가 2차 권한 감정용 키 Key_ladder (130)을 이식한 디바이스 커널 앱을 생산 라인에 맞겨 스마트 장치(200)에 펌웨어 로드한다(S413).
디바이스 커널 앱이 펌웨어 로드되어 있는 스마트 장치(200)는 생산 라인에서 후속 생산 공정을 계속 실행하되, 해당 생산 공정은 생산 라인 프로그래밍 장치(430)을 이용한 하드웨어 프로그래밍 키의 프로그래밍 공정을 포함한다. 즉, 생산 라인 프로그래밍 장치(430)은 스마트 장치(200)에 대한 인증 검사를 개시 가능하고(S431), 스마트 장치(200) 중의 디바이스 커널 앱은 생산 라인 프로그래밍 장치(430)의 인증 검사에 응답하여 사전에 디바이스 커널 앱에 이식한 인증 정보를 생산 라인 프로그래밍 장치(430)에 제공 가능하되(S201), 해당 인증 정보는 디바이스 커널 앱의 합법성 및 버전을 인증함으로써 스마트 장치(200)의 합법성을 확정하는데 사용된다.
생산 라인 프로그래밍 장치(430)은 인증 정보에 기반하여 스마트 장치(200)가 합법적이고 버전이 정확한 장치인 것으로 검출된 경우, 키 서버(100)에 키 요청을 개시 가능하다(S432). 여기서, 키 서버(100)에 대한 생산 라인 프로그래밍 장치(430)의 액세스 권한은, 생산 라인 프로그래밍 장치(430)에 삽입 접속된 핫 플러그 암호화 부품(예를 들어 소프트 독Soft dog))을 통해 권한 감정 인증을 실행 가능하고, 따라서 키 서버(100)은 키 요청이 수신되고, 키 요청이 권한 감정 인증을 통과한 후, 생산 라인 프로그래밍 장치(430)에 암호화 키 데이터를 전달한다(S106). 키 서버(100)과 생산 라인 프로그래밍 장치(430)는 서로 다른 제조사의 장치인 바, 키 서버(100)을 통해 생산 라인 프로그래밍 장치(430)의 액세스 권한에 대해 권한감정 인증을 실행함으로써, 불법 제조사가 생산 라인 프로그래밍 장치(430)를 도용하여 2차 권한 감정용 키를 얻는 것을 방지한다.
생산 라인 프로그래밍 장치(430)는 키 데이터를 복호화하는 기능을 구비하지 않으므로, 생산 라인 프로그래밍 장치(430)는 암호화 키 데이터를 스마트 장치(200)에 전송한다(S433).
스마트 장치(200)의 디바이스 커널 앱은 생산 라인 프로그래밍 장치(430)가 제공한 암호화 키 데이터를 수신하고, 키 서버(100)가 사용한 암호화 알고리즘(예를 들어 난독화 알고리즘)의 역 알고리즘(예를 들어 난독화 해제 알고리즘)에 따라 암호화 키 데이터를 복호화하고(S202), 암호화 키 데이터로부터 복호화되어 얻어진 키 데이터를 이용하여(이 때는 제1 피통제 키 Key_root (110)임), 스마트 장치(200)의 쓰기가 보호된 저장 매체(예를 들어 OTP 저장 매체)에서 하드웨어 프로그래밍 키를 프로그래밍 형성할 수 있으며(S203), 프로그래밍 완료 후, 스마트 장치(200)의 디바이스 커널 앱은 프로그래밍할 때 사용한 키 데이터를 폐기할 수 있다.
제2 개발측(420)(예를 들어, 보호된 지능형 앱 귀속측의 개발 그룹)은 권한 감정용 평문을 제2 통제측(520)에 제공하여(S421) 제2 피통제 키 Key_alg (120)에 기반한 권한 감정용 평문을 암호화하고(S522), 제2 통제측(520)이 제공한 권한 감정용 암호문을 수신한 후(S523), 제2 개발측(420)은 권한 감정용 암호문과 권한 감정용 평문을 보호된 지능형 앱에 이식 가능하되(S422), 여기서, 권한 감정용 암호문은 보호된 지능형 앱에서 액세스 한정을 받지 않는 방식으로 이식되고, 권한 감정용 평문은 디바이스 커널 앱에 대해 액세스를 차단하는 방식으로 이식된다. 제2 피통제 키를 이용하여 권한 감정용 평문을 암호화하여 권한 감정용 암호문을 얻은 후, 제2 통제측은 권한 감정용 암호문을 제2 개발측에 송신하고; 제2 개발측은 액세스 한정을 받지 않는 방식으로 권한 감정용 암호문을 보호된 지능형 앱에 이식하고, 디바이스 커널 앱에 대해 액세스를 차단하는 방식으로 권한 감정용 평문을 보호된 지능형 앱에 이식한다.
도 3은 도 1에 도시한 키 합법적 배치 수단의 최적화된 원리를 나타내는 개략도이다. 도 4는 도 3에 도시한 키 합법적 배치 수단의 예시적 프로세스를 나타내는 개략도이다. 일종의 확장화 방식인 권한 감정용 평문에 대한 암호화를 기반으로 하는 권한 감정용 암호문의 생성 과정은 제2 개발측(420)에서 완성될 수도 있되, 예를 들어 키 서버(100)은 2차 권한 감정용 키 Key_ladder (130)을 각각 제2 통제측(520)(S107) 및 제2 개발측(420)에 전달(S108)하여 보관할 수도 있다.
제2 통제측(520)은 사기성 암호화의 구현에 사용되는 평문 암호화 툴을 제작하여(S522) 제2 개발측(420)에 제공할 수 있고(S523), 해당 사기성 암호화는 2차 권한 감정용 키 Key_ladder (130)을 입력 키로 사용하고 제2 피통제 키 Key_alg (120)을 실제 키로 사용하여 암호화 작업을 수행 가능하다. 여기서의 사기성 암호화는 입력 키와 실제 키가 서로 다른 암호화 작업을 지칭하는바, 즉 입력된 2차 권한 감정용 키로 암호화하는 것이 아니라, 제2 통제 키로 암호화하는 것이다.
따라서, 제2 개발측(420)은 보관된 2차 권한 감정용 키 Key_ladder (130)을 이용하고 제2 통제측(520)이 제공한 평문 암호화 툴을 이용하여 권한 감정용 평문을 암호화하여(S421’), 제2 피통제 키 Key_alg (120)를 실제 키로 사용하여 암호화한 권한 감정용 암호문을 얻을 수 있으며, 그 후 제2 개발측(420)은 권한 감정용 암호문과 권한 감정용 평문을 보호된 지능형 앱에 이식 가능하되(S422), 여기서 권한 감정용 암호문은 보호된 지능형 앱에서 액세스가 한정받지 않는 방식으로 이식되고, 권한 감정용 평문은 디바이스 커널 앱에 대해 액세스를 차단하는 방식으로 이식된다.
상술한 키의 합법적 배치에 대한 설명은, 제1 피통제 키 Key_root (110)(루트 키라고도 칭함)가 스마트 장치에서 프로그래밍하는데 사용되고, 제2 피통제 키 Key_alg (120)(지능형 앱원시 키라고도 칭함)가 보호된 지능형 앱의 권한 감정용 암호문의 생성에 사용되며, 2차 권한 감정용 키 Key_ladder (130)가 복호화 인증의 트리거에 사용되거나 또는 더 나아가 암호문의 암호화를 트리거링하는데 사용되는 것과 같은 키 관계를 쉽게 이해하도록 하기 위한 것으로, 상술한 키의 합법적 배치에서의 키 관계는 작업 프로세스, 각 측의 신분 및 키 배포의 세부 사항은 키 관계에 대한 필수적인 제한을 이루지 않음을 이해해야 한다.
아래는 상술한 키 관계를 갖는 제1 피통제 키 Key_root (110), 제2 피통제 키 Key_alg (120), 및 2차 권한 감정용 키 Key_ladder (130)을 참조하여 보호된 지능형 앱의 호출 권한 인증 방법을 상세하게 설명한다.
본 출원에서는, 스마트 장치의 구체적인 유형에 대해 한정하지 않으며, 스마트 장치는 지능형 앱를 로드하고 작동 가능한 임의의 장치일 수 있는 바, 일 예시에 있어서, 스마트 장치는 스마트 카메라 또는 디지털 비디오 레코더 등일 수 있고, 보호된 지능형 앱은 지능 분석 알고리즘(예를 들어 표적 식별 또는 표적 궤적 분석 등 알고리즘; 또는 카메라 또는 디지털 비디오 레코더 등 장치의 클라이언트 등일 수 있음)일 수 있으며; 일 예시에 있어서, 스마트 장치는 카메라 짐벌이 구비된 무인 비행기일 수 있고, 보호된 지능형 앱은 짐벌을 제어하는 앱 등일 수 있다.
도 5는 본 출원의 일 실시예에 따른 보호된 지능형 앱의 호출 권한 인증 방법의 예시적 프로세스를 나타내는 개략도이다. 도 5를 참조하면, 보호된 지능형 앱이 스마트 장치에 로드(S500)될 때, 해당 실시예에 따른 보호된 지능형 앱의 호출 권한 인증 방법은 스마트 장치의 디바이스 커널 앱에 의해 실행되는 하기 단계의 S510, S530 및 S550을 포함 가능하다.
S510에서, 보호된 지능형 앱 중의 권한 감정용 암호문을 획득한다.
S530에서, 하드웨어 복호화 모듈을 호출하고, 사전에 디바이스 커널 앱에 이식된 커널 이식 키 및 획득된 권한 감정용 암호문을 하드웨어 복호화 모듈에 전달하여, 하드웨어 복호화 모듈로 하여금,
S531에서, 스마트 장치의 쓰기가 보호된 저장 매체로부터 하드웨어 프로그래밍 키를 판독하고;
S532에서, 쓰기가 보호된 저장 매체 중의 하드웨어 프로그래밍 키를 이용하여 사전에 디바이스 커널 앱에 이식된 커널 이식 키를 복호화하며;
S533에서 커널 이식 키를 복호화하여 얻은 복호화 키를 이용하여 권한 감정용 암호문을 복호화하도록 한다.
예를 들어, 2차 권한 감정용 키 Key_ladder는 제1 피통제 키 Key_root를 이용하여 제2 피통제 키 Key_alg에 대해 제1 암호화 알고리즘을 기반으로 한 암호화를 실행하여 얻어진 것일 수 있고, 권한 감정용 암호문은 제2 피통제 키 Key_alg을 이용하여 샘플 평문 (즉 권한 감정용 평문)을 암호화하여 얻어진 것일 수 있으며, 상응적으로, 하드웨어 복호화 모듈은 하드웨어 프로그래밍 키를 이용하여 커널 이식 키에 대해 제1 복호화 알고리즘(제1 암호화 알고리즘의 역 알고리즘)을 기반으로 한 복호화를 실행할 수 있으며, 또한, 하드웨어 복호화 모듈은 커널 이식 키로부터 복호화된 복호화 키를 이용하여 권한 감정용 암호문에 대해 제2 복호화 알고리즘(제2 암호화 알고리즘의 역 알고리즘)을 기반으로 한 복호화를 실행할 수 있으며;
따라서, 커널 이식 키가 제1 피통제 키 Key_root를 이용하여 제2 피통제 키 Key_alg를 암호화하여 얻어진 2차 권한 감정용 키 Key_ladder이고 또한, 하드웨어 프로그래밍 키가 제1 피통제 키 Key_root일 경우, 커널 이식 키를 복호화하여 얻어지는 복호화 키는 제2 피통제 키 Key_alg이다.
권한 감정용 암호문이 샘플 평문에 대해 2차 권한 감정용 키 Key_ladder을 입력 키로 사용하고 제2 피통제 키 Key_alg를 실제 키로,사용하여 사기성 암호화를 수행하여 얻어진 것이라면, 해당 사기성 암호화는 제1 피통제 키 Key_root를 이용하여 입력 키에 대해 제1 복호화 알고리즘(제1 암호화 알고리즘의 역 알고리즘)을 기반으로 실행한 복호화 작업, 입력 키를 복호화하여 얻어진 사기성 키(제2 피통제 키 Key_alg)를 실제 키로 사용하여 제2 암호화 알고리즘을 기반으로 실행한 암호화 작업일 수 있다.
S550에서, 하드웨어 복호화 모듈이 호출 반환한, 권한 감정용 암호문을 복호화하여 얻어진 복호화 평문을 보호된 지능형 앱에 제공함으로써, 보호된 지능형 앱으로 하여금 S600에서 복호화 평문과 샘플 평문의 일치성을 검사하여 디바이스 커널 앱에 호출 권한을 부여할지 여부를 판단하도록 한다.
여기서, 커널 이식 키를 복호화하여 얻어진 복호화 키가 제2 피통제 키 Key_alg인 경우, 권한 감정용 암호문을 복호화하여 얻어진 복호화 평문은 보호된 지능형 앱에서 디바이스 커널 앱의 액세스를 차단하는 샘플 평문과 일치하다.
상술한 프로세스에 기반하여, 디바이스 커널 앱의 하드웨어 복호화 모듈에 대한 호출을 통해, 스마트 장치는 디바이스 커널 앱 중의 커널 이식 키 및 쓰기가 보호된 저장 매체 중의 하드웨어 프로그래밍 키를 이용하여 보호된 지능형 앱 중의 권한 감정용 암호문을 복호화 가능하고, 또한,
단지 커널 이식 키가 제1 피통제 키 Key_root를 이용하여 제2 피통제 키 Key_alg을 암호화하여 얻어진 2차 권한 감정용 키 Key_ladder이고, 하드웨어 프로그래밍 키가 제1 피통제 키 Key_root인 경우에만, 정확한 제2 피통제 키 Key_alg가 얻어 권한 감정용 암호문을 복호화하고, 복호화한 결과 샘플 평문과 일치한 복호화 평문이 얻음으로써, 보호된 지능형 앱으로 하여금 일치성 인증을 거쳐 디바이스 커널 앱에게 호출 권한을 부여하도록 할 수 있다.
따라서, 보호된 지능형 앱의 사용 권한을 2차 권한 감정용 키 Key_ladder가 정확히 구성되어 있고, 또한 제1 피통제 키 Key_root가 프로그래밍되어 있는 스마트 장치에만 제한되도록 할 수 있으므로, 보호된 지능형 앱이 불법 장치에서 작동되는 악의적인 불법 복제 행위를 방지할 수 있다.
도 6은 도 1에 도시한 호출 권한 인증 방법으로 키의 불법 배치 행위를 방어 가능한 개략도이다. 도 6을 참조하면, 불법 복제자(610)이 스마트 장치의 하드웨어 및 스마트 장치에 로드된 디바이스 커널 앱을 모조한 경우, 불법 복제자(610)은 2차 권한 감정용 키 Key_ladder와 제1 피통제 키 Key_root를 동시에 획득하기 어렵기 때문에, 모조된 스마트 장치는 보호된 앱(300)의 호출 권한을 획득할 수 없다.
도 7은 도 5에 도시한 호출 권한 인증 방법의 예시화 프로세스를 나타내는 개략도이다. 도 7을 참조하면, 보호된 지능형 앱은 지능형 앱 커널(310), 앱 검사 모듈(320), 디바이스 커널 앱에 대해 액세스 권한을 부여하는 액세스 인터페이스(331)과 검사 인터페이스(332) 및 디바이스 커널 앱에 대해 한정된 액세스 권한을 제공하는 호출 인터페이스(390)을 포함한다.
여기서, 액세스 인터페이스(331), 검사 인터페이스(332) 및 호출 인터페이스(390)은 모두 API(Application Programming Interface, 응용 프로그래밍 인터페이스)일 수 있고, 또한, 액세스가 한정 받지 않는 방식으로 보호된 지능형 앱에 이식된 권한 감정용 암호문은 액세스 인터페이스(331)에 집적 가능하고, 디바이스 커널 앱에 대한 액세스가 차단되는 방식으로 보호된 지능형 앱에 이식된 권한 감정용 평문은 앱 검사 모듈(320)에 은밀 집적 가능하다.
상응적으로, 도 7에서 디바이스 커널 앱은 S510에서 보호된 지능형 앱의 액세스 인터페이스(331)를 판독함으로써 권한 감정용 암호문을 획득 가능하고, 또한, 디바이스 커널 앱은 S550에서 복호화 평문을 검사 인터페이스(332)에 송신하여, 보호된 지능형 앱 중의 앱 검사 모듈(320)로 하여금 복호화 평문과 샘플 평문의 일치성을 검사하도록 하며, 또한 이에 따라 디바이스 커널 앱에 호출 권한을 개방할지 여부를 판단 가능하다.
또한, 도 7에서 호출 권한 인증 방법은 S550 이후에, 디바이스 커널 앱이 실행하는 S570을 더 포함 가능하다. 즉, S570에서, 보호된 지능형 앱(앱 검사 모듈(320))이 반환한 검사 결과를 수신하고, 검사 결과에 대한 식별을 통해 보호된 지능형 앱을 호출할 권한이 있는지 여부, 즉 호출 인터페이스(390)에 대한 액세스를 통해 지능형 앱 커널(310)에 대한 호출 성공 응답을 얻을 수 있는지 여부를 판단한다.
도 8은 도 5에 도시한 호출 권한 인증 방법으로 도 2에 도시한 키의 합법적 배치의 실례를 지원하는 확장된 프로세스를 나타대는 개략도이다. 도 8을 참조하면, 보호된 지능형 앱이 스마트 장치에 로드되기 전에(예를 들어 스마트 장치가 생산 라인의 제조 단계에 처할 때), 해당 실시예에 따른 보호된 지능형 앱의 호출 권한 인증 방법은 스마트 장치의 디바이스 커널 앱에 의해 실행되는 하기 단계의 S810, S830, S850 및 S870을 포함 가능하다.
S810에서, 생산 라인 프로그래밍 장치가 제공하는 암호화한 키 데이터를 수신한다.
S830에서, 암호화 키 데이터애 대해 복호화 동작을 실행한다.
S850에서, 암호화 키 데이터로부터 복호화되어 얻어진 키 데이터를 이용하여 스마트 장치의 쓰기가 보호된 저장 매체에서 하드웨어 프로그래밍 키를 프로그래밍 형성한다.
여기서, 생산 라인 프로그래밍 장치에 의해 제공되는 암호화 키 데이터가 키 서버에서 온 경우, 암호화 키 데이터로부터 복호화되어 얻어지는 키 데이터는 제1 피통제 키 Key_root이다.
또한, 진일보된 대안적인 최적화 수단으로서, 키 서버에 대한 생산 라인 프로그래밍 장치의 액세스 권한은, 생산 라인 프로그래밍 장치에 삽입 접속된 핫 플러그 암호화 부품(예를 들어, 소프트독Softdog))에 의해 권한 감정 인증을 실행 가능하다.
S870에서, 프로그래밍 완료 후 해당 키 데이터를 폐기한다.
또한, 진일보된 대안적인 수단으로서, 해당 실시예에 따른 보호된 지능형 앱의 호출 권한 인증 방법은, S810 이전에, 스마트 장치의 디바이스 커널 앱에 의해 실행되는 하기 단계를 포함 가능하다. 즉, 생산 라인 프로그래밍 장치의 인증 검사에 응답하여, 사전에 디바이스 커널 앱에 이식된 인증 정보를 생산 라인 프로그래밍 장치에 제공한다.
도 9는 일 실시예에 따른 스마트 장치의 예시적 구조를 나타내는 개략도이다. 도 9를 참조하면, 해당 실시예에 있어서, 스마트 장치(지능 카드의 형태로 나타낼 수 있음)는 앱 탑재 모듈(910), 하드웨어 복호화 모듈(920) 및 쓰기가 보호된 저장 매체(930)(예를 들어 OTP 저장 매체)를 포함한다.
앱 탑재 모듈(910)은 디바이스 커널 앱을 로드하여 작동하도록 구성되고, 또한, 보호된 지능형 앱이 앱 탑재 모듈에 기록될 때, 디바이스 커널 앱은 상술한 실시예에 따른 호출 권한 인증 방법 즉 도 5 또는 도 7에서 도시한 프로세스를 실행하고, 더 나아가 도 8에서 도시한 프로세스를 실행하도록 구성된다.
하드웨어 복호화 모듈(920)은 앱 탑재 모듈(910)에 로드된 디바이스 커널 앱에 대해 복호화 보조 즉 도 5 또는 도 7에서 도시한 프로세스 중의 S531, S532 및 S533의 단계를 실행하도록 구성된다.
쓰기가 보호된 저장 매체(930)에는 하드웨어 프로그래밍 키가 프로그래밍되어 있고, 예를 들어 하드웨어 프로그래밍 키는 도 8에서 도시한 프로세스를 통해 해당 쓰기가 보호된 저장 매체(930)에 프로그래밍될 수 있다.
상술한 스마트 장치를 구현시, 앱 탑재 모듈(910), 하드웨어 복호화 모듈(920) 및 쓰기가 보호된 저장 매체(930)(예를 들어 OTP 저장 매체)은 동일한 하나의 IC(Integrated Circuit, 집적회로) 칩에 집적 가능하다.
스마트 장치는 비일시적 컴퓨터 판독가능 저장 매체를 더 포함 가능하고, 해당 비일시적 컴퓨터 판독가능 저장 매체는 앱 탑재 모듈(910), 하드웨어 복호화 모듈(920) 및 쓰기가 보호된 저장 매체(930)이 집적된 IC칩과 각각 독립되어 있으며, 또한 비일시적 컴퓨터 판독가능 저장 매체는 명령을 저장 가능하고, 그 중 일부분의 명령은 예를 들어 해당 IC 칩 등 프로세서에 의해 실행시, 해당 IC칩 등 프로세서로 하여금 디바이스 커널 앱(앱 탑재 모듈(910)에 로드)을 로드하도록 하며, 디바이스 커널 앱이 상술한 실시예에 따른 호출 권한 인증 방법 즉 도 5 또는 도 7에서 도시한 프로세스를 실행하고, 나아가 도 8에서 도시한 프로세스를 실행하도록 할 수 있다.
해당 비일시적 컴퓨터 판독가능 저장 매체에 예를 들어 해당 IC칩 등 프로세서가 보호된 지능형 앱(앱 탑재 모듈(910)에 로드)을 로드하도록 하는 다른 일부 명령을 도입할 수도 있다.
하드웨어 복호화 모듈(920)이 복호화 과정을 구현하는 알고리즘은, 사전에 하드웨어 복호화 모듈(920)에 펌웨어할 수 있으며, 비일시적 컴퓨터 판독가능 저장 매체로부터 프로그램을 로드하지 않고서도 구현 가능하다.
본 출원에 있어서, 각 대안적인 수단의 구성 요소는, 모순되지 않는 한, 서로 조합하여 다른 수단을 형성할 수 있으나, 이러한 수단들은 모두 본 출원이 개시된 범위 내에 포괄된다. 제1 및 제2 등과 같은 관계 용어는 단지 일 엔터티 또는 작업을 다른 일 엔터티 또는 작업과 구별하기 위해 사용되며 이들의 엔터티 또는 작업 지간에 그 어떤 실제적 관계 또는 순서가 반드시 존재할 것을 요구하거나 암시하는 것은 아니다. 더욱이, 용어 "포괄", "포함" 또는 이들의 임의의 다른 변형은 비배타성의 포함의 뜻을 포괄하는 것으로, 일련의 요소를 포함하는 프로세스, 방법, 물품 또는 장치에 이러한 요소가 포함될 뿐만 아니라 명시적으로 나열되지 않은 다른 요소도 포함되고 또는 이러한 프로세스, 방법, 물품 또는 장치에 내재된 요소도 포함되는 것을 의미한다. 달리 명시되지 않는 한, 문구 “일...을 포함 ”으로 한정된 요소는, 상술한 요소를 포함하는 프로세스, 방법, 물품 또는 장치에 동일한 요소가 별도로 더 존재하는 것을 배제하지 않는다. 본 명세서에서의 각 실시예는 모두 관련된 형태로 설명되고, 각 실시예에서는 다른 실시예와의 차이점에 초점을 두고 설명하였으며, 각 실시예 사이의 동일하거나 유사한 부분은 서로 참조할 수 있다.
상술한 설명은 본 출원의 바람직한 실시예일 뿐, 본 출원을 한정하려는 것이 아니며, 본 출원의 사상 및 원칙 내에서 이루어지는 모든 수정, 동등 교체 및 개선 등은 모두 본 발명의 보호 범위 내에 포괄된다.
Claims (12)
- 보호된 지능형 앱의 호출 권한 인증 방법에 있어서,
보호된 지능형 앱이 스마트 장치에 로드될 때, 해당 호출 권한 인증 방법은 스마트 장치의 디바이스 커널 앱에 의해 실행되는 이하의 단계를 포함하는 바, 이러한 단계는,,
보호된 지능형 앱 중의 권한 감정용 암호문을 획득하는 단계;
하드웨어 복호화 모듈을 호출하고, 사전에 디바이스 커널 앱에 이식된 커널 이식 키 및 획득된 권한 감정용 암호문을 하드웨어 복호화 모듈에 전달함으로써, 하드웨어 복호화 모듈로 하여금 스마트 장치의 쓰기가 보호된 저장 매체 중의 하드웨어 프로그래밍 키를 이용하여 커널 이식 키를 복호화하도록 하며, 커널 이식 키를 복호화하여 얻어진 복호화 키를 이용하여 권한 감정용 암호문을 복호화하는 단계 - 커널 이식 키는 제1 피통제 키를 이용하여 제2 피통제 키를 암호화하여 얻어진 2차 권한 감정용 키이고, 하드웨어 프로그래밍 키가 제1 피통제 키인 경우, 커널 이식 키를 복호화하여 얻어진 복호화 키가 제2 피통제 키임 -; 및
하드웨어 복호화 모듈이 호출 반환한, 권한 감정용 암호문을 복호화하여 얻은 복호화 평문을 보호된 지능형 앱에 제공함으로써, 보호된 지능형 앱으로 하여금 복호화 평문과 샘플 평문의 일치성을 검사하여 디바이스 커널 앱에 호출 권한을 개방할지 여부를 판단하도록 하는 단계 - 권한 감정용 암호문은 제2 피통제 키를 이용하여 샘플 평문을 암호화하여 얻어진 것이고, 커널 이식 키를 복호화하여 얻어진 복호화 키가 제2 피통제 키인 경우, 권한 감정용 암호문을 복호화하여 얻어진 복호화 평문은 보호된 지능형 앱 중의 디바이스 커널 앱에 대한 액세스를 차단하는 샘플 평문과 일치함 -을 포함하는, 보호된 지능형 앱의 호출 권한 인증 방법. - 제 1 항에 있어서,
권한 감정용 암호문은, 샘플 평문에 대해 2차 권한 감정용 키를 입력 키로 사용하고 제2 피통제 키를 실제 키로 사용하여 사기성 암호화를 실행하여 얻어진 것인, 보호된 지능형 앱의 호출 권한 인증 방법. - 제 1 항에 있어서,
2차 권한 감정용 키는 제1 피통제 키를 이용하여 제2 피통제 키에 대해 제1 암호화 알고리즘에 기반한 암호화 작업을 실행하여 얻어진 것이고;
권한 감정용 암호문은 제2 피통제 키를 이용하여 샘플 평문에 대해 제2 암호화 알고리즘에 기반한 암호화 작업을 실행하여 얻어진 것이며;
하드웨어 복호화 모듈은 하드웨어 프로그래밍 키를 이용하여 커널 이식 키에 대해 제1 복호화 알고리즘에 기반한 복호화 작업을 실행하고, 하드웨어 복호화 모듈은 커널 이식 키를 복호화하여 얻은 복호화 키를 이용하여 권한 감정용 암호문에 대해 제2 복호화 알고리즘에 기반한 복호화 작업을 실행하되;
제1 복호화 알고리즘은 제1 암호화 알고리즘의 역 알고리즘이고, 제2 복호화 알고리즘은 제2 암호화 알고리즘의 역 알고리즘인, 보호된 지능형 앱의 호출 권한 인증 방법. - 제 3 항에 있어서,
권한 감정용 암호문은, 샘플 평문에 대해 제1 복호화 알고리즘에 기반한 사기성 암호화를 실행하여 얻어진 것이고, 여기서, 해당 사기성 암호화는 제1 피통제 키를 이용하여 입력 키에 대해 제1 복호화 알고리즘에 기반한 복호화 작업을 실행하고, 입력 키를 복호화하여 얻어진 사기성 키를 실제 키로 사용하여 제2 암호화 알고리즘에 기반한 암호화 작업을 실행하는, 보호된 지능형 앱의 호출 권한 인증 방법. - 제 1 항에 있어서,
보호된 지능형 앱이 디바이스 커널 앱을 작동하는 스마트 장치에 로드되기 전에, 해당 호출 권한 인증 방법은 스마트 장치의 디바이스 커널 앱에 의해 실행되는 이하의 단계를 더 포함하는 바, 이러한 단계는,.
생산 라인 프로그래밍 장치가 제공하는 암호화 키 데이터를 수신하는 단계;
암호화 키 데이터에 대해 복호화 작업을 실행하는 단계;
암호화 키 데이터를 복호화하어 얻은 키 데이터를 이용하여 스마트 장치의 쓰기가 보호된 저장 매체에서 하드웨어 프로그래밍 키를 프로그래밍 형성하는 단계 - 생산 라인 프로그래밍 장치가 제공하는 암호화 키 데이터가 키 서버에서 온 경우, 암호화 키 데이터를 복호화하어 얻은 키 데이터가 제1 피통제 키임 -; 및
프로그래밍 완료 후 해당 키 데이터를 폐기하는 단계를 포함하는, 보호된 지능형 앱의 호출 권한 인증 방법. - 제 5 항에 있어서,
생산 라인 프로그래밍 장치의 키 서버에 대한 액세스 권한은, 생산 라인 프로그래밍 장치에 삽입 접속된 핫 플러그 암호화 부품에 의해 권한 감정 인증이 실행되는, 보호된 지능형 앱의 호출 권한 인증 방법. - 제 5 항에 있어서,
프로그래밍 장치가 제공하는 암호화 키 데이터를 수신하기 전에,
생산 라인 프로그래밍 장치의 인증 검사에 응답하여, 사전에 디바이스 커널 앱에 이식된 인증 정보를 생산 라인 프로그래밍 장치에 제공하는 것을 더 포함하는, 보호된 지능형 앱의 호출 권한 인증 방법. - 제 2 항에 있어서,
제1 피통제 키의 통제 권한은 제1 통제측에 속하고;
제2 피통제 키의 통제 권한은 제1 통제측과 다른 제2 통제측에 속하며;
또한, 제1 통제측과 제2 통제측은 디바이스 커널 앱이 속하는 제1 개발측 및 보호된 지능형 앱이 속하는 제2 개발측과 모두 다른, 보호된 지능형 앱의 호출 권한 인증 방법. - 제 1 항에 있어서,
스마트 장치의 쓰기가 보호된 저장 매체가 OTP 저장 매체인, 보호된 지능형 앱의 호출 권한 인증 방법. - 스마트 장치에 있어서,
앱 탑재 모듈, 하드웨어 복호화 모듈 및 쓰기가 보호된 저장 매체를 포함하되, 여기서, 앱 탑재 모듈은 디바이스 커널 앱을 로드하여 작동하도록 구성되고, 디바이스 커널 앱은 보호된 지능형 앱이 앱 탑재 모듈에 기록될 때 제 1 항 내지 제 9 항 중 어느 한 항에 따른 호출 권한 인증 방법을 실행하도록 구성되는, 스마트 장치. - 비일시적 컴퓨터 판독가능 저장 매체에 있어서,
상기 비일시적 컴퓨터 판독가능 저장 매체는 명령을 저장하고, 상기 명령은 프로세서에 의해 실행시 상기 프로세서로 하여금 디바이스 커널 앱을 로드하도록 하며, 디바이스 커널 앱이 제 1 항 내지 제 9 항 중 어느 한 항에 따른 호출 권한 인증 방법을 시작하도록 하는 비일시적 컴퓨터 판독가능 저장 매체. - 키 배치 방법에 있어서,
제1 통제측의 제1 피통제 키를 획득하고, 상기 제1 피통제 키를 하드웨어 프로그래밍 키로 사용하여 지정된 스마트 장치의 쓰기가 보호된 저장 매체에 프로그래밍하는 것;
제2 통제측의 제2 피통제 키를 획득하고, 상기 제2 피통제 키를 보호된 지능형 앱의 암호화 키로 간주하는 것; 및
상기 제1 피통제 키를 이용하여 상기 제2 피통제 키를 암호화하여 2차 권한 감정용 키를 얻고, 상기 2차 권한 감정용 키를 커널 이식 키로 간주하여 상기 특정 스마트 장치의 디바이스 커널 앱에 이식하는 것을 포함하는, 키 배치 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010259146.3 | 2020-04-03 | ||
CN202010259146.3A CN113496011B (zh) | 2020-04-03 | 2020-04-03 | 受保护智能应用的调用权限认证方法以及智能装置 |
PCT/CN2021/084716 WO2021197394A1 (zh) | 2020-04-03 | 2021-03-31 | 受保护智能应用的调用权限认证方法以及智能装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220164693A true KR20220164693A (ko) | 2022-12-13 |
Family
ID=77929660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227027877A KR20220164693A (ko) | 2020-04-03 | 2021-03-31 | 보호된 지능형 앱의 호출 권한 인증 방법 및 스마트 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230089388A1 (ko) |
EP (1) | EP4089553A4 (ko) |
JP (1) | JP2023520124A (ko) |
KR (1) | KR20220164693A (ko) |
CN (1) | CN113496011B (ko) |
WO (1) | WO2021197394A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115859337B (zh) * | 2023-02-14 | 2023-05-16 | 杭州大晚成信息科技有限公司 | 基于内核的防止设备破解方法、设备、服务器及介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4817140A (en) * | 1986-11-05 | 1989-03-28 | International Business Machines Corp. | Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor |
WO2004034184A2 (en) * | 2002-08-23 | 2004-04-22 | Exit-Cube, Inc. | Encrypting operating system |
US7216238B2 (en) * | 2003-06-30 | 2007-05-08 | Symbol Technologies, Inc. | System and method for controlling usage of software on computing devices |
US8332635B2 (en) * | 2007-05-29 | 2012-12-11 | International Business Machines Corporation | Updateable secure kernel extensions |
US8332636B2 (en) * | 2007-10-02 | 2012-12-11 | International Business Machines Corporation | Secure policy differentiation by secure kernel design |
US8621168B2 (en) * | 2010-12-17 | 2013-12-31 | Google Inc. | Partitioning the namespace of a contactless smart card |
US9609000B2 (en) * | 2012-06-06 | 2017-03-28 | Nec Corporation | Method and system for executing a secure application on an untrusted user equipment |
US9838201B2 (en) * | 2015-10-13 | 2017-12-05 | Sony Interactive Entertainment America Llc | Secure key store derivation and management from a single secure root key |
US10157289B2 (en) * | 2016-09-26 | 2018-12-18 | Bank Of America Corporation | Progressive key rotation for format preserving encryption (FPE) |
CN108959943B (zh) * | 2018-06-29 | 2020-06-05 | 北京百度网讯科技有限公司 | 用于管理加密密钥的方法、装置、设备、存储介质以及相应车辆 |
CN110474767A (zh) * | 2019-08-21 | 2019-11-19 | 杭州涂鸦信息技术有限公司 | 一种离线状态下的芯片密钥烧录方法及系统 |
CN110879875A (zh) * | 2019-10-28 | 2020-03-13 | 华晟现代电子科技(香港)有限公司 | 硬件加密装置、嵌入式系统版权保护系统及方法 |
CN110932853B (zh) * | 2019-12-06 | 2022-12-06 | 深圳市纽创信安科技开发有限公司 | 一种基于可信模块的密钥管理装置和密钥管理方法 |
-
2020
- 2020-04-03 CN CN202010259146.3A patent/CN113496011B/zh active Active
-
2021
- 2021-03-31 JP JP2022549479A patent/JP2023520124A/ja active Pending
- 2021-03-31 US US17/798,807 patent/US20230089388A1/en active Pending
- 2021-03-31 WO PCT/CN2021/084716 patent/WO2021197394A1/zh unknown
- 2021-03-31 EP EP21778860.3A patent/EP4089553A4/en active Pending
- 2021-03-31 KR KR1020227027877A patent/KR20220164693A/ko active Search and Examination
Also Published As
Publication number | Publication date |
---|---|
EP4089553A1 (en) | 2022-11-16 |
US20230089388A1 (en) | 2023-03-23 |
CN113496011B (zh) | 2024-01-26 |
JP2023520124A (ja) | 2023-05-16 |
EP4089553A4 (en) | 2023-07-05 |
CN113496011A (zh) | 2021-10-12 |
WO2021197394A1 (zh) | 2021-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11126754B2 (en) | Personalized and cryptographically secure access control in operating systems | |
US10205588B2 (en) | Device keys protection | |
Mohamed et al. | Android vs iOS security: A comparative study | |
EP1168141A2 (en) | A secure and open computer platform | |
KR102592286B1 (ko) | 비밀 데이터의 보안 프로그래밍 | |
JP2008033512A (ja) | セキュリティチップ及びプラットフォーム | |
AU2002333726B2 (en) | Initialization of a chip card | |
KR20220164693A (ko) | 보호된 지능형 앱의 호출 권한 인증 방법 및 스마트 장치 | |
KR100849334B1 (ko) | 이동 단말의 불법 사용을 방지하기 위한 방법 및 장치 | |
CN101502038A (zh) | 验证通过组合各密钥部分获取的加密密钥的完整性的方法 | |
CN116415313A (zh) | 一种安全一体机、安全一体机的保护方法及装置 | |
Kumbhar et al. | Hybrid Encryption for Securing SharedPreferences of Android Applications | |
KR100948599B1 (ko) | 이동통신 단말의 보안성 강화 방법 및 그 시스템 | |
Chen et al. | Key Architecture and Updating Protocols in Large-scale Card-based Access Control Systems | |
KR100787684B1 (ko) | 프로그래머블 로직 컨트롤러의 주변 장치 | |
CN118159966A (zh) | 关于安全元件的授权应用程序 | |
Samsung | SPass NX V1. 0 R3 | |
Samsung | SPass NX V1. 0 | |
Jones | An analysis of vulnerabilities presented by Android malware and iOS jailbreaks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |