KR20170032374A - 데이터 처리 방법 및 장치 - Google Patents

데이터 처리 방법 및 장치 Download PDF

Info

Publication number
KR20170032374A
KR20170032374A KR1020177003845A KR20177003845A KR20170032374A KR 20170032374 A KR20170032374 A KR 20170032374A KR 1020177003845 A KR1020177003845 A KR 1020177003845A KR 20177003845 A KR20177003845 A KR 20177003845A KR 20170032374 A KR20170032374 A KR 20170032374A
Authority
KR
South Korea
Prior art keywords
execution domain
data packet
network data
certificate
session key
Prior art date
Application number
KR1020177003845A
Other languages
English (en)
Other versions
KR101904177B1 (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 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20170032374A publication Critical patent/KR20170032374A/ko
Application granted granted Critical
Publication of KR101904177B1 publication Critical patent/KR101904177B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/42User authentication using separate channels for security data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model

Abstract

본 발명의 실시예는 데이터 처리 방법 및 장치를 제공한다. 데이터 처리 방법은, 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계 - 제1 네트워크 데이터 패킷은 제1 식별자를 포함하고 있음 -; 신뢰할 수 있는 실행 도메인 내에서, 제1 식별자에 대응하는 제1 데이터를 획득하는 단계 - 제1 데이터는 타깃 애플리케이션이 타깃 서버에 서비스를 요청하기 위해 필요한 데이터임 -; 신뢰할 수 있는 실행 도메인 내에서, 제1 데이터 및 제1 네트워크 데이터 패킷에 따라 제2 네트워크 데이터 패킷을 생성하는 단계; 암호화된 제2 네트워크 데이터 패킷을 획득하기 위해, 신뢰할 수 있는 실행 도메인 내에서, 타깃 서버와의 사전협상에 의해 결정되는 제1 세션 키를 이용하여 제2 네트워크 데이터 패킷에 대해 암호화를 수행하는 단계; 및 암호화된 제2 네트워크 데이터 패킷을 타깃 서버에 송신하는 단계를 포함한다. 본 발명의 실시예의 데이터 처리 방법 및 장치는 공격자가 데이터를 훔치는 것을 효과적으로 방지하여, 데이터 보안을 향상시킬 수 있다.

Description

데이터 처리 방법 및 장치{DATA PROCESSING METHOD AND APPARATUS}
본 출원은 중국 특허청에 2014년 7월 25일에 출원된 "DATA PROCESSING METHOD AND APPARATUS"라는 제목의 중국 특허출원 제201410361410.9호에 대해 우선권을 주장하는 바이며, 그 전체 내용이 원용에 의해 본 명세서에 포함된다.
본 발명의 실시예는 통신 분야에 관한 것으로, 상세하게는 데이터 처리 방법 및 장치에 관한 것이다.
정보 기술의 발달에 따라, 개인 정보 보안이 사람들의 주요 관심사가 되고 있다. 사용자는 다양한 지능형 단말기(노트북 컴퓨터, 스마트폰, 및 태블릿 컴퓨터 등)를 이용하여 개인 데이터 작업을 수행할 수 있다. 예를 들어, 사용자는 이메일, 모바일 뱅크, 또는 소셜 네트워크와 같은 애플리케이션 프로그램에 대한 작업을 수행할 수 있고; 사용이 용이하도록, 사용자는 일반적으로 로그인 패스워드와 같은 프라이버시 데이터를 지능형 단말기에 저장한다.
하지만, 현재의 지능형 단말기로 프라이버시 데이터를 보호하는 데 있어서, 일부 위협도 역시 존재한다. 예를 들어, 프라이버시 데이터가 플레인 텍스트 포맷(plaintext format)으로 휴대폰에 직접 저장되며, 이로 인해 프라이버시 데이터가 쉽게 유출되게 된다. 종래 기술에서는 사용자의 프라이버시 데이터에 대해 암호화가 수행되지만, 암호화된 프라이버시 데이터의 키가 버전 호환성 및 사용자 마이그레이션의 용이성을 위해 프로그램에 코딩되어 있고, 공격자는 이 키를 쉽게 얻을 수 있다. 결과적으로, 사용자의 프라이버시 데이터에 있어서 리스크가 크다.
따라서, 현재의 지능형 단말기 내의 데이터 보안이 시급하게 향상될 필요가 있다.
본 발명의 실시예는, 공격자가 데이터를 훔치는 것을 효과적으로 방지하여 데이터 보안을 향상시킬 수 있는 데이터 처리 방법 및 장치를 제공한다.
제1 양태에 따라, 데이터 처리 방법이 제공된다. 상기 데이터 처리 방법은,
신뢰할 수 없는 실행 도메인(untrusted execution domain) 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계 - 상기 제1 네트워크 데이터 패킷은 제1 식별자를 포함하고 있음 -;
신뢰할 수 있는 실행 도메인(trusted execution domain) 내에서, 상기 제1 식별자에 대응하는 제1 데이터를 획득하는 단계 - 상기 제1 데이터는 상기 타깃 애플리케이션이 타깃 서버에 서비스를 요청하기 위해 필요한 데이터임 -;
상기 신뢰할 수 있는 실행 도메인 내에서, 상기 제1 데이터 및 상기 제1 네트워크 데이터 패킷에 따라 제2 네트워크 데이터 패킷을 생성하는 단계;
암호화된 제2 네트워크 데이터 패킷을 획득하기 위해, 상기 신뢰할 수 있는 실행 도메인 내에서, 상기 타깃 서버와의 사전협상에 의해 결정되는 제1 세션 키를 이용하여 상기 제2 네트워크 데이터 패킷에 대해 암호화를 수행하는 단계; 및
상기 암호화된 제2 네트워크 데이터 패킷을 상기 타깃 서버에 송신하는 단계를 포함한다.
제1 양태를 참조하여, 제1 양태의 제1 가능한 구현 방식에서, 상기 데이터 처리 방법은,
상기 타깃 서버에 의해 송신되고 상기 제1 세션 키를 이용하여 암호화되는 제3 네트워크 데이터 패킷을 수신하는 단계;
상기 신뢰할 수 있는 실행 도메인 내에서, 상기 제1 세션 키를 이용하여 상기 암호화된 제3 네트워크 데이터 패킷을 암호해독하는 단계; 상기 암호해독된 제3 네트워크 데이터 패킷이 상기 제1 데이터를 포함한다고 결정되는 경우 상기 제3 네트워크 데이터 패킷, 및 상기 제1 데이터에 대응하는 상기 제1 식별자에 따라 제4 네트워크 데이터 패킷을 생성하는 단계 - 상기 제4 네트워크 데이터 패킷은 상기 제1 데이터를 포함하고 있지 않음 -; 및
상기 제4 네트워크 데이터 패킷을 상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 상기 타깃 애플리케이션에 송신하는 단계를 더 포함한다.
제1 양태 또는 제1 양태의 제1 가능한 구현 방식을 참조하여, 제1 양태의 제2 가능한 구현 방식에서, 상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계 이전에, 상기 데이터 처리 방법은,
상기 신뢰할 수 있는 실행 도메인 내에서, 상기 타깃 서버와 시큐어 소켓 레이어(Secure Sockets Layer, SSL) 연결을 구축하고, 상기 제1 세션 키를 결정하는 단계를 더 포함한다. 여기서, 상기 제1 세션 키는 상기 타깃 서버의 제1 인증서에 대한 검증이 상기 신뢰할 수 있는 실행 도메인 내에 사전 저장된 제1 루트 인증서를 이용하여 성공한 후에 생성되는 세션 키이고, 상기 제1 인증서는 상기 타깃 서버의 아이덴티티를 보증하기 위해 사용된다.
제1 양태의 제2 가능한 구현 방식을 참조하여, 제1 양태의 제3 가능한 구현 방식에서, 상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계 이전에, 상기 데이터 처리 방법은,
상기 신뢰할 수 있는 실행 도메인 내에서, 제2 루트 인증서에 따라 제2 인증서를 생성하는 단계 - 상기 제2 인증서는 상기 제1 인증서와 동일한 범용 명칭을 가지고 있고, 상기 제2 루트 인증서는 상기 신뢰할 수 있는 실행 도메인 및 상기 신뢰할 수 없는 실행 도메인 내에 사전 저장되어 있음 -; 및
상기 신뢰할 수 있는 실행 도메인과 상기 신뢰할 수 없는 실행 도메인 간에 상기 SSL 연결을 구축하고, 상기 제2 인증서 및 상기 제2 루트 인증서에 따라 제2 세션 키를 결정하는 단계를 더 포함한다. 여기서, 상기 제2 세션 키는 상기 신뢰할 수 있는 실행 도메인과 상기 신뢰할 수 없는 실행 도메인 간의 세션 키이다.
신뢰할 수 있는 실행 도메인 내에서, 상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계는,
상기 제2 세션 키를 이용하여 암호화된 상기 제1 네트워크 데이터 패킷을 획득하는 단계; 및
상기 신뢰할 수 있는 실행 도메인 내에서, 상기 제2 세션 키를 이용하여 상기 암호화된 제1 네트워크 데이터 패킷을 암호해독하는 단계를 포함한다.
제1 양태의 제3 가능한 구현 방식을 참조하여, 제1 양태의 제4 가능한 구현 방식에서, 상기 신뢰할 수 있는 실행 도메인과 상기 신뢰할 수 없는 실행 도메인 간에 상기 SSL 연결을 구축하고, 상기 제2 인증서 및 상기 제2 루트 인증서에 따라 제2 세션 키를 결정하는 단계는,
상기 신뢰할 수 있는 실행 도메인 내에 생성되는 상기 제2 인증서를 획득하는 단계;
상기 신뢰할 수 없는 실행 도메인 내에서, 상기 제2 루트 인증서에 따라 상기 제2 인증서를 검증하고; 검증이 성공하는 경우 상기 제2 세션 키를 생성하고, 상기 제2 인증서의 공개 키(public key)를 이용하여 상기 제2 세션 키를 암호화하는 단계; 및
상기 제2 세션 키를 획득하기 위해, 상기 신뢰할 수 있는 실행 도메인 내에서, 상기 제2 인증서의 개인 키(private key)를 이용하여 상기 암호화된 제2 세션 키를 암호해독하는 단계를 포함한다.
제1 양태 및 제1 양태의 제1 내지 제4 가능한 구현 방식 중 어느 하나의 가능한 구현 방식을 참조하여, 제1 양태의 제5 가능한 구현 방식에서, 상기 암호화된 제2 네트워크 데이터 패킷을 상기 타깃 서버에 송신하는 단계는,
상기 암호화된 제2 네트워크 데이터 패킷을 상기 신뢰할 수 없는 실행 도메인에 공유 메모리를 이용하여 전달하는 단계; 및
상기 신뢰할 수 없는 실행 도메인 내에서, 상기 암호화된 제2 네트워크 데이터 패킷을 상기 타깃 서버에 송신하는 단계를 포함한다.
제2 양태에 따라, 데이터 처리 장치가 제공된다. 여기서, 상기 데이터 처리 장치는,
신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하도록 구성된 제1 획득 모듈 - 상기 제1 네트워크 데이터 패킷은 제1 식별자를 포함하고 있음 -;
신뢰할 수 있는 실행 도메인 내에서, 상기 제1 획득 모듈에 의해 획득되는 상기 제1 네트워크 데이터 패킷 내의 상기 제1 식별자에 대응하는 제1 데이터를 획득하도록 구성된 제2 획득 모듈 - 상기 제1 데이터는 상기 타깃 애플리케이션이 타깃 서버에 서비스를 요청하기 위해 필요한 데이터임 -;
상기 신뢰할 수 있는 실행 도메인 내에서, 상기 제1 네트워크 데이터 패킷, 및 상기 제2 획득 모듈에 의해 획득되는 상기 제1 데이터에 따라 제2 네트워크 데이터 패킷을 생성하도록 구성되는 제1 생성 모듈;
암호화된 제2 네트워크 데이터 패킷을 획득하기 위해, 상기 신뢰할 수 있는 실행 도메인 내에서 또한 상기 타깃 서버와의 사전협상에 의해 결정되는 제1 세션 키를 이용하여, 상기 제1 생성 모듈에 의해 생성되는 상기 제2 네트워크 데이터 패킷에 대한 암호화를 수행하도록 구성되는 암호화 모듈; 및
상기 암호화 모듈에 의해 획득되는 상기 암호화된 제2 네트워크 데이터 패킷을 상기 타깃 서버에 송신하도록 구성된 제1 송신 모듈을 포함한다.
제2 양태를 참조하여, 제2 양태의 제1 가능한 구현 방식에서, 상기 데이터 처리 장치는,
상기 타깃 서버에 의해 송신되고 상기 제1 세션 키를 이용하여 암호화되는 제3 네트워크 데이터 패킷을 수신하도록 구성된 수신 모듈;
상기 수신 모듈에 의해 수신되는 상기 암호화된 제3 네트워크 데이터 패킷을 상기 신뢰할 수 있는 실행 도메인 내에서 또한 상기 제1 세션 키를 이용하여 암호해독하고, 상기 암호해독된 제3 네트워크 데이터 패킷이 상기 제1 데이터를 포함한다고 결정되는 경우 상기 제3 네트워크 데이터 패킷, 및 상기 제1 데이터에 대응하는 상기 제1 식별자에 따라 제4 네트워크 데이터 패킷을 생성하도록 구성된 처리 모듈 - 상기 제4 네트워크 데이터 패킷은 상기 제1 데이터를 포함하고 있지 않음 -; 및
상기 처리 모듈에 의해 생성된 상기 제4 네트워크 데이터 패킷을 상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 상기 타깃 애플리케이션에 송신하도록 구성된 제2 송신 모듈을 더 포함한다.
제2 양태 또는 제2 양태의 제1 가능한 구현 방식을 참조하여, 제2 양태의 제2 가능한 구현 방식에서, 상기 데이터 처리 장치는,
상기 제1 획득 모듈이 상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 상기 타깃 애플리케이션에 의해 송신되는 상기 제1 네트워크 데이터 패킷을 획득하기 전에 상기 신뢰할 수 있는 실행 도메인 내에서 상기 타깃 서버와 시큐어 소켓 레이어(SSL) 연결을 구축하고, 상기 제1 세션 키를 결정하도록 구성된 제1 구축 모듈을 더 포함한다. 여기서, 상기 제1 세션 키는 상기 타깃 서버의 제1 인증서에 대한 검증이 상기 신뢰할 수 있는 실행 도메인 내에 사전 저장된 제1 루트 인증서를 이용하여 성공한 후에 생성되는 세션 키이고, 상기 제1 인증서는 상기 타깃 서버의 아이덴티티를 보증하기 위해 사용된다.
제2 양태의 제2 가능한 구현 방식을 참조하여, 제2 양태의 제3 가능한 구현 방식에서, 상기 데이터 처리 장치는,
상기 제1 획득 모듈이 상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 상기 타깃 애플리케이션에 의해 송신되는 상기 제1 네트워크 데이터 패킷을 획득하기 전에, 상기 신뢰할 수 있는 실행 도메인 내에서, 제2 루트 인증서에 따라 제2 인증서를 생성하도록 구성되는 제2 생성 모듈 - 상기 제2 인증서는 상기 제1 인증서와 동일한 범용 명칭을 가지고 있고, 상기 제2 루트 인증서는 상기 신뢰할 수 있는 실행 도메인 및 상기 신뢰할 수 없는 실행 도메인 내에 사전 저장되어 있음 -; 및
상기 제2 루트 인증서, 및 상기 제2 생성 모듈에 의해 생성되는 상기 제2 인증서에 따라 상기 신뢰할 수 있는 실행 도메인과 상기 신뢰할 수 없는 실행 도메인 간에 상기 SSL 연결을 구축하고, 상기 신뢰할 수 있는 실행 도메인과 상기 신뢰할 수 없는 실행 도메인 간의 세션 키인 제2 세션 키를 결정하도록 구성되는 제2 구축 모듈을 더 포함한다.
상기 제1 획득 모듈은,
상기 제2 세션 키를 이용하여 암호화된 상기 제1 네트워크 데이터 패킷을 획득하도록 구성된 제1 획득 유닛; 및
상기 신뢰할 수 있는 실행 도메인 내에서 또한 상기 제2 세션 키를 이용하여, 상기 제1 획득 유닛에 의해 획득되는 상기 암호화된 제1 네트워크 데이터 패킷을 암호해독하도록 구성된 암호해독 유닛을 포함한다.
제2 양태의 제3 가능한 구현 방식을 참조하여, 제2 양태의 제4 가능한 구현 방식에서, 상기 제2 구축 모듈은,
상기 신뢰할 수 있는 실행 도메인 내에 생성되는 상기 제2 인증서를 획득하도록 구성된 제2 획득 유닛;
상기 제2 획득 유닛에 의해 획득되는 상기 제2 인증서를 상기 신뢰할 수 없는 실행 도메인 내에서 또한 상기 제2 루트 인증서에 따라 검증하고, 검증이 성공한 경우 상기 제2 세션 키를 생성하며, 상기 제2 인증서의 공개 키를 이용하여 상기 제2 세션 키를 암호화하도록 구성되는 처리 유닛; 및
상기 제2 세션 키를 획득하기 위해, 상기 처리 유닛에 의해 암호화된 상기 제2 세션 키를 상기 신뢰할 수 있는 실행 도메인 내에서 또한 상기 제2 인증서의 개인 키를 이용하여 암호해독하도록 구성된 암호해독 유닛을 포함한다.
2 양태 및 제2 양태의 제1 내지 제4 가능한 구현 방식 중 어느 하나의 가능한 구현 방식을 참조하여, 제2 양태의 제5 가능한 구현 방식에서, 상기 제1 송신 모듈은,
상기 암호화된 제2 네트워크 데이터 패킷을 상기 신뢰할 수 없는 실행 도메인에 공유 메모리를 이용하여 전달하도록 구성된 전달 유닛; 및
상기 신뢰할 수 없는 실행 도메인 내에서, 상기 암호화된 제2 네트워크 데이터 패킷을 상기 타깃 서버에 송신하도록 구성된 송신 유닛을 포함한다.
전술한 과제 해결수단에 기초하여, 본 발명의 실시예에 따른 데이터 처리 방법 및 장치에 의하여, 데이터가 신뢰할 수 있는 실행 도메인 내에 저장되어, 상기 데이터를 이용하는 과정 중에 플레인 텍스트 포맷의 데이터가 신뢰할 수 없는 실행 도메인에서 보이지 않도록 효과적으로 방지하고, 공격자가 상기 데이터를 훔치는 것을 효과적으로 방지하여 데이터 보안을 향상시킬 수 있다.
본 발명의 실시예의 과제 해결수단을 더 명확하게 설명하기 위하여, 이하에서는 실시예를 설명하기 위해 필요한 첨부 도면에 대해 간략하게 소개한다. 명백히, 다음의 설명에서의 첨부 도면은 본 발명의 일부 실시예를 나타낼 뿐이며, 당업자는 창의적인 노력 없이도 이러한 첨부 도면으로부터 다른 도면을 여전히 도출해낼 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 방법의 적용 시나리오의 개략도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 처리 방법의 개략적인 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 처리 방법의 다른 개략적인 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 데이터 처리 방법의 또 다른 개략적인 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리 장치의 개략적인 블록도이다.
도 6은 본 발명의 다른 실시예에 따른 데이터 처리 장치의 개략적인 블록도이다.
이하, 본 발명의 실시예의 첨부 도면을 참조하여 본 발명의 실시예의 과제 해결수단에 대해 명확하게 설명한다. 명백히, 설명되는 실시예는 본 발명의 모든 실시예가 아니라 단지 일부 실시예일 뿐이다. 창작적인 노력 없이 본 발명의 실시예에 기반하여 당업자에 의해 획득되는 다른 모든 실시예는 본 발명의 보호 범위에 속할 것이다.
본 발명의 과제 해결수단이 다양한 통신 시스템, 예컨대 이동통신 글로벌 시스템(Global System of Mobile communication, GSM), 코드분할 다중접속(Code Division Multiple Access, CDMA) 시스템, 광대역 코드분할 다중접속(Wideband Code Division Multiple Access, WCDMA) 시스템, 일반 패킷 무선 서비스(General Packet Radio Service, "GPRS") 시스템, 롱 텀 에볼루션(Long Term Evolution, LTE) 시스템, 주파수 분할 듀플렉스(Frequency Division Duplex, FDD) 시스템, 시분할 듀플렉스(Time Division Duplex, TDD) 시스템, 및 범용 이동 통신 시스템(Universal Mobile Telecommunication System, UMTS)에 적용될 수 있다는 것을 이해해야 한다.
본 발명의 실시예에서, 단말기는 사용자 장비(User Equipment, UE), 이동국(Mobile Station, MS), 또는 모바일 단말기(Mobile Terminal) 등이라고도 할 수 있다는 것을 추가적으로 이해해야 한다. 단말기는 무선 접속망(Radio Access Network, RAN)을 이용하여 하나 이상의 코어 네트워크와 통신을 수행할 수 있다. 예를 들어, 단말기는 휴대폰(또는 "셀룰러" 폰 또는 셀폰이라고도 할 수 있음), 또는 모바일 단말기를 가진 컴퓨터 등일 수 있다. 예를 들어, 단말기는 추가적으로, 무선 접속망과 음성 및/또는 데이터를 교환하는 휴대용, 포켓 크기, 핸드핼드형, 컴퓨터 내장형, 또는 차량 장착된 모바일 장치일 수 있다. 표현을 용이하게 하기 위해, 본 발명의 실시예에서의 설명을 위해 단말기가 휴대폰인 것이 예로서 사용되지만, 본 발명의 실시예는 이에 한정되지 않는다.
본 발명의 실시예의 이해를 용이하게 하기 위해, 본 발명의 실시예의 설명에서 사용될 수 있는 여러 엘리먼트에 대해 먼저 소개한다.
1. 신뢰할 수 없는 실행 도메인(Untrusted execution domain) 및 신뢰할 수 있는 실행 도메인(trusted execution domain):
신뢰할 수 없는 실행 도메인 및 신뢰할 수 있는 실행 도메인은 동일한 프로세서 상에서 실행되는 2개의 실행 환경으로서 이해될 수 있다. 여기서, 신뢰할 수 없는 실행 도메인은 애플리케이션을 실행하기 위한 환경과 같은 "정상적인 세계"라고도 할 수 있고, 따라서 신뢰할 수 있는 실행 도메인은 "안전한 세계"라고도 할 수 있다. 신뢰할 수 없는 실행 도메인 내의 정보 또는 데이터는 공격자에 의해 도난당하거나 손상될 수 있다. 즉, 신뢰할 수 없는 실행 도메인 내의 정보 및 데이터의 보안이 높지 않다. 신뢰할 수 없는 실행 도메인과 비교하여, 신뢰할 수 있는 실행 도메인은 정보 및 데이터의 보안을 효과적으로 보장할 수 있고, 신뢰할 수 있는 실행 도메인 내의 정보 또는 데이터는 공격자에 의해 획득되거나 또는 변조되지 않을 것이다. 왜냐하면, 신뢰할 수 없는 실행 도메인 내의 애플리케이션/시스템 프로그램 중 어느 것도, 신뢰할 수 있는 실행 도메인 내의 데이터 및 정보를 무작위로 접근/변경할 수 없기 때문이다. 또한, 단말기의 하드웨어 및 소프트웨어는, 신뢰할 수 있는 실행 도메인의 보안을 공동으로 보장한다. 구체적으로, ARM(Advanced RISC Machine, advance reduced instruction set computing machine) 프로세서 기반 단말기의 경우, ARM에 의해 제공되는 TrustZone 보안 확장 기술이 신뢰할 수 없는 실행 도메인 및 신뢰할 수 있는 실행 도메인을 디자인하기 위해 사용될 수 있다.
2. 시큐어 소켓 레이어(Secure Sockets Layer, SSL) 통신:
SSL는 클라이언트와 서버 간의 통신의 보안을 안전하면서도 효과적으로 보장할 수 있는 범용 통신 암호화 프로토콜이다. SSL 기반 통신은 2개의 단계로 나뉜다: 첫번째 단계는 클라이언트와 서버 간의 SSL 연결을 구축하기 위해 비대칭 암호화(asymmetric encryption) 방식으로 통신을 암호화하는 것이다. 구체적인 절차는 다음과 같다: 클라이언트가 먼저 서버로의 연결 요청을 개시하고; 서버는 서버의 아이덴티티를 인증하는 인증서를 클라이언트에 송신할 수 있으며 - 여기서, 인증서는 서버의 일부 정보 및 비대칭 암호화를 위한 공개 키(public key)를 포함하고 있음 -; 서버의 아이덴티티에 대한 클라이언트에 의한 검증이 성공한 후에, 클라이언트가 대칭 암호화를 위한 세션 키를 생성하고, 그 다음에 서버의 인증서 내 공개 키를 이용하여 세션 키를 암호화하며, 암호화된 세션 키를 서버에 송신한다. 세션 키는 비대칭적으로 암호화되고; 따라서, 공개 키를 이용하여 암호화된 세션 키는 서버의 개인 키(private key)(개인 키는 서버에 의해서만 유지됨)를 이용하여 암호해독될 수 있을 뿐이다. 이 시점에, 클라이언트가 서버의 아이덴티티에 대해 검증을 완료하고, 서버와의 협상에 의하여 세션 키를 안전하게 결정한다. 두번째 단계에서는, 통신 단계에서, 모든 클라이언트와 서버 간의 후속 통신이 세션 키를 이용하여 암호화된다.
3. 인증서 및 루트 인증서:
전술한 설명으로부터 알 수 있는 것은, SSL 연결을 구축하는 과정 중에, 서버는 일반적으로 클라이언트에 의한 검증을 위해 서버의 아이덴티티를 인증하는 인증서를 제공한다. 즉, 인증서는 서버의 아이덴티티를 인증하기 위해 사용되는 문서이다. 일반적으로, 인증서는 적어도 다음의 3개의 정보를 포함한다:
(1) 공개 키
인증서에는 공개 키가 있고, 인증서의 소유자만이 공개 키에 대응하는 개인 키를 가지고 있을 것이다. 비대칭 암호화에서는, 공개 키를 이용하여 암호화된 컨텐츠를 암호해독하기 위해 대응하는 개인 키만이 사용될 수 있고, 그 역도 또한 성립한다(개인 키를 이용하여 암호화된 컨텐츠를 암호해독하기 위해 대응하는 공개 키만이 사용될 수 있다). 즉, 인증서 내 공개 키를 이용하여 암호화된 정보는 인증서의 소유자에 의해서만 암호해독될 수 있다. 따라서, 인증서 내 공개 키는 클라이언트에 연결하는 인증서의 소유자임에 틀림없음을 보장할 수 있다(비-인증서 소유자는 공개 키에 대응하는 개인 키를 가지고 있지 않고, 따라서 인증서 내 공개 키를 이용하여 클라이언트에 의해 암호화된 정보는 암호해독될 수 없으며, 클라이언트와의 통신이 수행될 수 없다).
(2) 범용 명칭(Universal name)
인증서에는 범용 명칭이 있다. 예를 들어, 도메인 네임이 www.google.com인 서버의 경우, 서버의 인증서의 범용 명칭이 www. google.com이다. 여기서, 인증서의 범용 명칭은 클라이언트에게 인증서의 소유자의 아이덴티티를 통지할 수 있고, 클라이언트는 인증서의 범용 명칭이 클라이언트가 연결을 원하는 서버의 도메인 네임과 일치하는지 여부를 비교할 수 있다.
(3) 서명 정보{Signature information}
인증서에는 추가적으로, 인증기관의 서명 정보가 있을 수 있다. 클라이언트는 서명 정보를 이용하여 인증서의 진위를 검증한다. 왜냐하면, 서명 정보가 대응하는 루트 인증서의 개인 키를 이용하여 인증기관에 의해 암호화된 정보이기 때문이다. 여기서, 대응하는 루트 인증서가 클라이언트에 사전 설치되어 있다. 클라이언트는 신뢰할 수 있는 루트 인증서를 이용하여 서명된 인증서만을 신뢰한다. 이해를 돕기 위해, 이하에서는 루트 인증서에 대해 소개한다.
루트 인증서는 클라이언트가 사전에 신뢰하는 인증서(예를 들어, 마이크로소프트 루트 기관(Microsoft Root Authority))이고, 루트 인증서는 클라이언트에 사전 설치되어 있다(루트 인증서에는 또한 공개 키도 있음). 웹사이트를 위한 인증서를 서명하는 경우, 신뢰할 수 있는 인증기관은 신뢰할 수 있는 인증기관의 루트 인증서의 개인 키를 이용하여 서명 정보를 암호화한다. 그 결과, 이 서명 정보는 이 기관의 루트 인증서의 공개 키를 이용해야만 암호해독될 수 있고, 서명 정보는 루트 인증서의 공개 키를 이용하여 암호해독될 수 있다. 따라서, 클라이언트가 인증서의 진위를 검증하는 경우, 사전 저장된, 복수의 루트 인증서의 공개 키는 인증서 내 서명 정보를 암호해독하기 위해 순차적으로 사용될 수 있다. 일단, 인증서 내 서명 정보가 인증서들 중 어느 하나를 이용하여 암호해독될 수 있으면, 인증서가 신뢰할 수 있는 인증기관에 의해 발급되었다는 것, 즉 인증서가 신뢰할 수 있다는 것을 나타낸다.
전술한 설명으로부터 알 수 있는 것은, SSL 프로토콜 기반 통신 과정 중에, 인증서 및 루트 인증서는 2개의 중요한 요소이고, 이들이 통신 보안을 보장하기 위한 토대이고 핵심이다.
현재, 휴대폰이 작동 중인 경우, 사용자 프라이버시(다음에서 사용자 프라이버시 데이터라고 하는 사용자 계정, 패스워드, 또는 아이덴티티 카드 번호 등)에 밀접하게 관련된 로그인 또는 결제와 같은 작업을 수행하기 위해, 데이터가 애플리케이션 서버에 송신될 필요가 있다. 종래 기술에서는, 사용자 프라이버시 데이터가 일반적으로 애플리케이션에 저장되어 있고(신뢰할 수 없는 실행 도메인 내에 저장되어 있는 것에 상응), 그 다음에 작업을 수행하기 위해 사용자 프라이버시 데이터 및 다른 정보가 애플리케이션 서버(알리페이 서버 등)에 함께 송신된다. 현재, 휴대폰과 서버 간의 통신의 보안을 보장하기 위해, SSL 프로토콜이 휴대폰과 서버 간의 통신에 대한 암호화를 수행하기 위해 사용될 수 있다. 예를 들어, 서버가 SSL 프로토콜에 따라 인증서를 휴대폰에 송신하고, 일부 루트 인증서가 휴대폰의 신뢰할 수 없는 실행 도메인 내에 사전 저장되어 있으며; 그 다음에 휴대폰이 루트 인증서를 이용하여, 서버에 의해 제공되는 인증서를 검증하고; 검증이 성공한 후에, 암호화 키가 서버와의 협상에 의하여 휴대폰 내의 애플리케이션에 의해 결정되고, 이 키는 후속 통신에서 암호화에 사용된다.
하지만, 이러한 아키텍쳐에는 일부 문제가 존재한다. 첫째, 사용자 프라이버시 데이터가 휴대폰의 신뢰할 수 없는 실행 도메인 내에 저장되어 있고, 이는 공격자에게 사용자 프라이버시 데이터를 훔칠 기회를 제공하며; 둘째, 공격자가 휴대폰의 신뢰할 수 없는 실행 도메인 내에 악의적 루트 인증서를 설치함으로써 사용자의 휴대폰을 공격할 수 있도록, 휴대폰이 서버에 의해 제공되는 인증서를 신뢰할 수 없는 실행 도메인 내의 루트 인증서를 이용하여 검증한다. 악의적 루트 인증서가 설치되는 휴대폰이 위조된 애플리케이션 서버를 구별할 수 없기 때문에, 휴대폰은 이에 상응하여 위조된 애플리케이션 서버에 사용자 프라이버시 데이터를 송신할 수 있으며, 이로 인해 사용자 프라이버시 데이터의 보안이 크게 낮아진다.
전술한 문제를 해결하기 위해, 본 발명에서는 도 1에 도시된 구조가 제안된다. 먼저, 단말기(구체적으로, 예를 들어, 휴대폰)가 신뢰할 수 있는 실행 도메인 및 신뢰할 수 없는 실행 도메인을 포함하고 있다. 종래 기술과는 달리, 신뢰할 수 없는 실행 도메인 내에서 실행되는 애플리케이션 모듈(예를 들어, 알리페이와 같은 애플리케이션)이 더 이상 사용자 프라이버시 데이터(예를 들어, 알리페이의 결제 패스워드)를 저장하지 않지만, 사용자 프라이버시 데이터를 대체하기 위해 사용자 프라이버시 데이터와 대응 관계를 가진 식별자를 저장하고; 대응 관계 및 사용자 프라이버시 데이터가 모두 신뢰할 수 있는 실행 도메인 내에 저장된다(예를 들어, 도면에 도시된 바와 같이, 프라이버시 데이터는 신뢰할 수 있는 실행 도메인 내부에서 보안 모듈에 저장되어 있음). 신뢰할 수 없는 실행 도메인 내에서 실행되는 애플리케이션 모듈이 식별자를 포함하는 네트워크 데이터 패킷을 송신하고; 그 다음에 신뢰할 수 있는 실행 도메인 내의 보안 모듈이 네트워크 데이터 패킷을 가로채고, 대응하는 사용자 프라이버시 데이터를 네트워크 데이터 패킷 내의 식별자에 따라 결정하며, 네트워크 데이터 패킷 내의 식별자를 사용자 프라이버시 데이터로 대체하고, 그 다음에 사용자 프라이버시 데이터를 포함하는 네트워크 데이터 패킷을 애플리케이션 서버에 송신한다. 이런 방식으로, 사용자 프라이버시 데이터의 보안이 효과적으로 향상될 수 있다. 왜냐하면, 공격자가 식별자를 훔치더라도 신뢰할 수 없는 실행 도메인을 공격하는 공격자가 사용자 프라이버시 데이터를 획득할 수 없기 때문이다 . 또한, 종래 기술과는 달리, 애플리케이션 서버의 아이덴티티를 검증하기 위해 사용되는 루트 인증서(예를 들어, 도 1에 도시된 SSL 모듈 3 내의 루트 인증서 1)가 신뢰할 수 없는 실행 도메인 내에 더 이상 저장되지 않고, 신뢰할 수 있는 실행 도메인 내에 저장된다. 이런 방식으로, 공격자가 신뢰할 수 없는 실행 도메인 내에 악의적 루트 인증서를 설치하더라도, 신뢰할 수 있는 실행 도메인 내의 데이터가 공격자에 의해 획득되거나 또는 변조될 수 없기 때문에, 신뢰할 수 있는 실행 도메인 내의 SSL 모듈 3이 위조된 애플리케이션 서버를 식별할 수 있다.
이해를 용이하게 하기 위해, 이하에서는 도 1을 참조하여 본 발명의 일 실시예에 따른 적용 시나리오에서 모듈에 대해 간략히 소개한다. 도 1에 도시된 바와 같이, 단말기가 신뢰할 수 없는 실행 도메인 및 신뢰할 수 있는 실행 도메인을 포함하고, 사용자 프라이버시 데이터는 신뢰할 수 있는 실행 도메인 내에 저장되어 있다. 구체적으로, 신뢰할 수 없는 실행 도메인은 애플리케이션 모듈, SSL 모듈 1, 프록시 모듈 1, 및 네트워크 드라이버를 포함하고, 신뢰할 수 있는 실행 도메인은 보안 모듈, SSL 모듈 2, SSL 모듈 3, 및 프록시 모듈 2을 포함한다. 이하, 이러한 모듈 및 이들의 연결 관계에 대해 간략히 소개한다.
신뢰할 수 없는 실행 도메인 내의 모듈이 먼저 소개된다.
애플리케이션 모듈:
구체적으로, 예를 들어, 알리페이, 126 이메일 박스(126 E-mail box), 또는 QQ와 같은, 신뢰할 수 없는 실행 도메인 내에서 실행되는 애플리케이션의 경우, 애플리케이션이 관련된 서비스를 애플리케이션 서버에 요청하는 경우, 사용자 프라이버시(결제 패스워드 또는 사용자의 아이덴티티 카드 번호 등)와 관련된 일부 데이터가 사용될 필요가 있다. 종래 기술과는 달리, 본 발명에서는, 신뢰할 수 없는 실행 도메인 내에서 실행되는 애플리케이션이 사용될 필요가 있는 사용자 프라이버시 데이터를 더 이상 저장하지 않고, 사용자 프라이버시 데이터(도 1에 도시된 데이터)와 대응 관계를 가진 식별자를 저장하며, 대응 관계는 신뢰할 수 있는 실행 도메인 내에 사전 저장되어 있다. 또한, 내용을 고려하여 식별자와 사용자 프라이버시 데이터 간에는 어떠한 연관관계도 없다. 따라서, 공격자가 식별자를 훔치더라도, 신뢰할 수 없는 실행 도메인을 공격하는 공격자는 사용자 프라이버시 데이터를 획득할 수 없다.
SSL 모듈 1:
신뢰할 수 없는 실행 도메인 내의 SSL 모듈 1은 애플리케이션 모듈을 위한 SSL 서비스를 제공하고, 신뢰할 수 없는 실행 도메인 내에 저장되어 있는 루트 인증서(도 1에 도시된 루트 인증서 2)를 이용하여 애플리케이션 서버의 아이덴티티를 검증하며, SSL 세션의 보안을 보장한다. 구체적으로, SSL 모듈 1은 SSL 모듈 1과 SSL 세션을 수행하는 네트워크 서버가 애플리케이션(예를 들어, 알리페이)에 의해 지정된 네트워크 서버(예를 들어, 알리페이 서버)인지 여부를 검증한다. 이하, 상세한 설명을 제공한다.
프록시 모듈 1:
신뢰할 수 없는 실행 도메인 내의 프록시 모듈 1은 네트워크 데이터 패킷의 포워딩을 담당하고 있다. 애플리케이션 모듈로부터 애플리케이션 서버로 송신되는 네트워크 데이터 패킷의 경우, 프록시 모듈 1은 처리를 위해 이 네트워크 데이터 패킷을 신뢰할 수 있는 실행 도메인에 포워딩할 수 있고; 애플리케이션 서버로부터 신뢰할 수 없는 실행 도메인으로 송신되는 네트워크 데이터 패킷의 경우, 프록시 모듈 1은 또한, 처리를 위해 이 네트워크 데이터 패킷을 신뢰할 수 있는 실행 도메인에 포워딩할 수 있으며; 신뢰할 수 있는 실행 도메인으로부터 애플리케이션 서버로 송신되는 네트워크 데이터 패킷의 경우, 네트워크 드라이버가 네트워크 데이터 패킷을 애플리케이션 서버에 송신할 수 있도록, 프록시 모듈 1이 이 네트워크 데이터 패킷을 네트워크 드라이버에 포워딩한다.
네트워크 드라이버:
네트워크 드라이버는 네트워크 데이터 패킷을 애플리케이션 서버에 송신하는 것 또는 애플리케이션 서버에 의해 송신되는 네트워크 데이터 패킷을 수신하는 것을 담당하고 있고, 네트워크 드라이버는 구체적으로, 예를 들어 휴대폰 내의 네트워크 어댑터의 드라이버일 수 있다.
이상에서는, 신뢰할 수 없는 실행 도메인 내의 모듈에 대해 소개하였고, 이제부터는 신뢰할 수 있는 실행 도메인 내의 모듈에 대해 소개한다
보안 모듈: 사용자 프라이버시 데이터가 이 모듈에 저장되어 있고, 신뢰할 수 없는 실행 도메인 내의 어떠한 악의적 프로그램/시스템도 보안 모듈에 저장되는 사용자 프라이버시 데이터를 훔칠 수 없다. 보다 구체적으로, 이 모듈에서, 모든 사용자 프라이버시 데이터가 "사용자 프라이버시 데이터 + 식별자"의 대응 관계와 유사한 모드로 저장된다.
SSL 모듈 3:
도 1에 도시된 바와 같이, 신뢰할 수 있는 실행 도메인 내의 SSL 모듈 3은 네트워크 서버와 SSL 연결(도 1에 도시된 SSL 연결 1)을 구축하기 위해 사용되고, 신뢰할 수 있는 실행 도메인 내에 저장된 루트 인증서 1은 네트워크 서버의 아이덴티티를 검증하기 위해 사용되고 통신 보안(도 1에 도시되고 협상에 의해 결정되는 세션 키 1)을 보장한다.
SSL 모듈 2:
SSL 모듈 2는, 애플리케이션 서버 대신에 신뢰할 수 없는 실행 도메인 내의 애플리케이션 모듈과 SSL 연결(도 1에 도시된 SSL 연결 2)를 수행하기 위해, 신뢰할 수 있는 실행 도메인 내의 보안 모듈을 돕는 것을 담당하고 있다.
신뢰할 수 없는 실행 도메인 내의 애플리케이션 모듈은, 신뢰할 수 없는 실행 도메인 내에 역시 위치하는 SSL 모듈 1을 이용하여, 애플리케이션 모듈과 SSL 세션을 수행하는 네트워크 서버가 애플리케이션(예를 들어, 알리페이)에 의해 지정된 네트워크 서버(예를 들어, 알리페이 서버)인지 여부를 검증할 수 있다. 본 발명에서는, 신뢰할 수 있는 실행 도메인과 애플리케이션 서버 간에 SSL 연결이 구축된다. 다시 말해, SSL 연결이 보안 모듈과 애플리케이션 서버 간에 구축된다. 따라서, 보안 모듈은, 애플리케이션 모듈에 의해 지정된 애플리케이션 서버가 아니라 애플리케이션 모듈과 SSL 연결을 구축할 필요가 있다. 따라서, 신뢰할 수 있는 실행 도메인 내에서, 인증서가 상이한 서버에 대해 만들어질 필요가 있다. 구체적으로, 인증서는 보안 모듈을 위해 만들어져서, 보안 모듈이 애플리케이션 서버 대신에 애플리케이션 모듈과 SSL 연결을 수행할 수 있다. 이하, 상세한 설명을 제공한다.
프록시 모듈 2:
신뢰할 수 있는 실행 도메인 내의 프록시 모듈 2도 또한, 네트워크 데이터 패킷의 포워딩을 담당한다. 프록시 모듈 2는 신뢰할 수 없는 실행 도메인 내의 프록시 모듈 1으로부터 포워딩되는 데이터 패킷을 보안 모듈에 송신하고(데이터 패킷은 SSL 모듈 2 또는 SSL 모듈 3에 의해 암호화되고 암호해독됨), 처리를 위해 보안 모듈에 의해 애플리케이션 서버에 송신되는 네트워크 데이터 패킷을 신뢰할 수 없는 실행 도메인 내의 프록시 모듈 1에 송신한다.
도 1에 도시된 네트워크 드라이버는 신뢰할 수 없는 실행 도메인 내에 위치한다는 것을 이해해야 한다. 즉, 신뢰할 수 없는 실행 도메인 내에서, 단말기가 애플리케이션 서버와 직접 통신을 수행한다. 예를 들어, 신뢰할 수 있는 실행 도메인 내에서 처리된 후에, 네트워크 데이터 패킷은 추가적으로, 신뢰할 수 없는 실행 도메인으로 전달된 후에, 애플리케이션 서버에 송신될 필요가 있고; 따라서, 프록시 모듈 2는, 처리를 위해 보안 모듈에 의해 애플리케이션 서버에 송신되는 네트워크 데이터 패킷을 신뢰할 수 없는 실행 도메인 내의 프록시 모듈 1에 송신할 필요가 있다. 선택적으로, 네트워크 드라이버가 신뢰할 수 있고 안전하면, 네트워크 드라이버가 신뢰할 수 있는 실행 도메인 내에서 설정될 수 있다. 다시 말해, 신뢰할 수 없는 실행 도메인 내에서, 단말기가 애플리케이션 서버와 직접 통신을 수행할 수 있다. 따라서, 보안 모듈에 의해 애플리케이션 서버에 송신되는 네트워크 데이터 패킷의 경우, 프록시 모듈 2가 처리를 위해 이 네트워크 데이터 패킷을 신뢰할 수 없는 실행 도메인 내의 프록시 모듈 1에 포워딩할 필요가 없고; 그 대신, 프록시 모듈 2가 이 네트워크 데이터 패킷을 신뢰할 수 있는 실행 도메인 내의 네트워크 드라이버에 직접 송신하고, 네트워크 드라이버가 이 네트워크 데이터 패킷을 애플리케이션 서버에 송신할 수 있다.
공유 메모리:
도 1에 도시된 바와 같이, 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간의 통신을 지원하기 2개의 실행 도메인 사이에는 공유 메모리가 있다. 신뢰할 수 없는 실행 도메인에서, 신뢰할 수 있는 실행 도메인에 송신될 필요가 있는 데이터 패킷은 공유 메모리에 저장되고, 데이터 패킷은 공유 메모리로부터 신뢰할 수 있는 실행 도메인 내에서 획득된다(그 역도 또한 성립). 즉, 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간의 통신이 공유 메모리를 이용하여 구현된다.
이해되어야 할 것은, 프록시 모듈 1 및 프록시 모듈 2에 의한 네트워크 데이터 패킷의 포워딩, 즉 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간의 통신이 구현된다는 것이다.
실제 작동에서는 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간의 통신이 다른 수단을 이용하여 추가적으로 구현될 수 있으며, 이는 본 발명의 본 실시예에서 한정되지 않는다는 것을 추가적으로 이해해야 한다.
결론적으로, 종래의 아키텍쳐와 달리, 본 발명에서는, 신뢰할 수 없는 실행 도메인 내의 애플리케이션 모듈은 사용자 프라이버시 데이터의 식별자를 저장할 뿐이고, 그래서 공격자가 사용자의 프라이버시 데이터의 식별자를 훔칠 수 있을 뿐이고, 프라이버시 데이터를 훔칠 수는 없다. 또한, 내용을 고려하여 식별자와 프라이버시 데이터 사이에는 어떠한 연관관계도 없고, 그래서 공격자가 도난당한 식별자를 이용하여 사용자 프라이버시 데이터를 역으로 도출해낼 수 없다. 신뢰할 수 있는 실행 도메인 내에서, 신뢰할 수 있는 애플리케이션 서버에 송신되는 네트워크 데이터 패킷 내의 식별자만이 사용자 프라이버시 데이터로 대체된다. 네트워크 데이터 패킷의 타깃 서버가 신뢰할 수 있는 서버가 아니라면, 네트워크 데이터 패킷에 대해 어떠한 작업도 수행되지 않으며, 이로 인해 공격자가 악의적이면서 신뢰할 수 없는 서버를 이용하여 사용자 프라이버시 데이터를 훔치는 것을 방지된다.
도 1에 도시된 아키텍쳐 또는 시나리오는 당업자가 본 발명의 실시예를 더 잘 이해하도록 돕는데 이용되고, 본 발명의 실시예의 범위를 한정하고자 하는 것은 아니라고 이해해야 한다. 예를 들어, 식별자가 신뢰할 수 없는 실행 도메인 내에 저장되어 있는 한, 사용자 프라이버시 데이터와 대응 관계를 가진 식별자가 반드시 애플리케이션 모듈에 저장되는 것은 아니다. 마찬가지로, 사용자 프라이버시 데이터가 신뢰할 수 있는 실행 도메인 내에 저장되어 있는 한, 사용자 프라이버시 데이터가 반드시 도 1에 도시된 보안 모듈에 저장되는 것은 아니다. 또한, 당업자는 물론 도 1의 주어진 예에 따라 다양한 등가의 수정 또는 변경을 할 수 있고, 이러한 수정이나 변경도 또한 본 발명의 실시 형태의 보호 범위에 속할 것이다.
도 2는 본 발명의 일 실시예에 따른 데이터 처리 방법(100)의 개략적인 흐름도이다. 여기서, 데이터 처리 방법(100)은, 예를 들어 단말기에 의해 실행될 수 있고, 단말기는 예를 들어, 도 1에 도시된 단말기는 신뢰할 수 없는 실행 도메인 및 신뢰할 수 있는 실행 도메인을 포함하고 있다. 도 2에 도시된 바와 같이, 데이터 처리 방법은 다음의 단계를 포함한다:
S110. 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득한다. 여기서, 제1 네트워크 데이터 패킷은 제1 식별자를 포함한다.
S120. 신뢰할 수 있는 실행 도메인 내에서, 제1 식별자에 대응하는 제1 데이터를 획득한다. 여기서, 제1 데이터는 타깃 애플리케이션이 타깃 서버에 서비스를 요청하기 위해 필요한 데이터이다.
S130. 신뢰할 수 있는 실행 도메인 내에서, 제1 데이터 및 제1 네트워크 데이터 패킷에 따라 제2 네트워크 데이터 패킷을 생성한다.
S140. 암호화된 제2 네트워크 데이터 패킷을 획득하기 위해, 신뢰할 수 있는 실행 도메인 내에서, 타깃 서버와의 사전협상에 의해 결정되는 제1 세션 키를 이용하여 제2 네트워크 데이터 패킷에 대해 암호화를 수행한다.
S150. 암호화된 제2 네트워크 데이터 패킷을 타깃 서버에 송신한다.
신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션이 제1 식별자를 포함하는 제1 네트워크 데이터 패킷을 생성한다. 여기서, 제1 네트워크 데이터 패킷은 타깃 서버에 서비스를 요청하기 위한 요청 데이터 패킷으로서 이해될 수 있다. 신뢰할 수 있는 실행 도메인 내에서, 제1 네트워크 데이터 패킷이 획득되고, 제1 네트워크 데이터 패킷 내의 제1 식별자에 대응하는 제1 데이터가 획득된다. 여기서, 제1 데이터는 타깃 애플리케이션이 타깃 서버에 서비스를 요청하기 위해 필요한 데이터, 예를 들어 도 1에 도시된 사용자 프라이버시 데이터이다. 구체적으로, 제1 식별자와 서비스를 요청하기 위해 필요한 제1 데이터 간에 대응 관계가 존재하고, 대응 관계는 신뢰할 수 있는 실행 도메인 내에 사전 저장되어 있다. 신뢰할 수 있는 실행 도메인 내에서, 획득된 제1 식별자에 따르면서 대응 관계를 구현하는 제1 데이터가 획득될 수 있고, 제1 데이터를 포함하는 제2 네트워크 데이터 패킷은 획득된 제1 데이터 및 제1 네트워크 데이터 패킷에 따라 신뢰할 수 있는 실행 도메인 내에서 결정된다. 선택적으로, 제2 네트워크 데이터 패킷은 제1 네트워크 데이터 패킷 내의 제1 식별자를 제1 데이터로 대체함으로써 결정될 수 있다. 신뢰할 수 있는 실행 도메인 내에서, 타깃 서버와의 협상에 의해 결정되는 제1 세션 키(예를 들어, 도 1에 도시된 세션 키 1)에 따라 제2 네트워크 데이터 패킷에 대해 암호화가 수행된다. 이해되어야 할 것은, 제1 세션 키가 신뢰할 수 있는 실행 도메인 내에 저장되어 있고 신뢰할 수 없는 실행 도메인 내에서 획득할 수 없어서, 신뢰할 수 없는 실행 도메인 내에서 실행되는 시스템 또는 프로그램은 제1 세션 키를 획득할 수 없으며, 플레인 텍스트 형태의 제1 데이터도 획득할 수 없다는 것이다. 타깃 서버가 제2 네트워크 데이터 패킷에 따라 타깃 애플리케이션의 요청에 응답할 수 있도록, 암호화된 제1 데이터를 포함하는 제2 네트워크 데이터 패킷이 타깃 서버에 송신된다.
따라서, 본 발명의 본 실시예에 따른 데이터 처리 방법에서는, 데이터가 신뢰할 수 있는 실행 도메인 내에 저장되고, 이는 데이터를 이용하는 과정 중에 플레인 텍스트 포맷의 데이터가 신뢰할 수 없는 실행 도메인에서 보이는 것을 효과적으로 방지하고, 공격자가 데이터를 훔치는 것도 효과적으로 방지하여 데이터 보안을 향상시킬 수 있다.
본 발명의 본 실시예에서의 제1 데이터가 타깃 애플리케이션이 타깃 서버에 서비스를 요청하기 위해 필요한 데이터라고 이해해야 한다. 예를 들어, 알리페이 애플리케이션이 알리페이 서버에 관련된 서비스를 요청하는 경우, 서버에 대한 사용자 이름, 로그인 패스워드 또는 결제 패스워드 등을 제공하는 것이 필요하다. 여기서, 제1 데이터는 구체적으로, 사용자 이름 및 로그인 패스워드 또는 결제 패스워드일 수 있다. 공격자에 의해 데이터가 도난당하면, 사용자의 개인 자산이나 개인 자원이 위험에 처할 가능성이 매우 높다. 본 발명에서는 제1 데이터를 사용자 프라이버시 데이터라고도 할 수 있다고 이해해야 한다.
제1 네트워크 데이터 패킷은, 제1 식별자 외에 다른 요청 정보, 예를 들어 타깃 서버의 도메인 네임과 같은 정보를 더 포함할 수 있으며, 이는 본 발명의 본 실시예에서 한정되지 않는다는 것을 추가적으로 이해해야 한다.
단계 S110에서, 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷이 획득된다. 여기서, 제1 네트워크 데이터 패킷은 제1 식별자를 포함하고 있다. 구체적으로, 제1 네트워크 데이터 패킷은 공유 메모리를 이용하여 획득될 수 있다.
선택적으로, 본 발명의 본 실시예에서, 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계는, 이하를 포함한다:
공유 메모리를 이용하여 제1 네트워크 데이터 패킷을 획득하는 단계.
구체적으로, 신뢰할 수 없는 실행 도메인 내에서, 타깃 애플리케이션에 의해 송신된 제1 네트워크 데이터 패킷이 공유 메모리에 저장되고; 그 다음에 신뢰할 수 없는 실행 도메인이 신뢰할 수 있는 실행 도메인으로 전환되며; 신뢰할 수 있는 실행 도메인 내에서, 제1 네트워크 데이터 패킷이 공유 메모리로부터 획득되고 나서 신뢰할 수 있는 실행 도메인 내에서 제1 네트워크 데이터 패킷에 대해 후속 처리가 수행된다. 보다 구체적으로, 도 1에 도시된 바와 같이, 신뢰할 수 없는 실행 도메인 내에서, 애플리케이션 모듈에 의해 생성되고 제1 식별자를 포함하는 제1 네트워크 데이터 패킷이 프록시 모듈 1을 이용하여 공유 메모리에 저장되고; 신뢰할 수 있는 실행 도메인 내에서, 제1 네트워크 데이터 패킷이 프록시 모듈 2를 이용하여 공유 메모리로부터 추출되며, 그 다음에 제1 네트워크 데이터 패킷이 후속 처리를 위해 신뢰할 수 있는 실행 도메인 내의 다른 모듈에 송신된다.
단계 S120에서, 제1 식별자에 대응하는 제1 데이터가 신뢰할 수 있는 실행 도메인 내에서 획득된다. 구체적으로, 제1 식별자와 서비스를 요청하기 위해 필요한 제1 데이터 간에 대응 관계가 존재하고, 이 대응 관계는 신뢰할 수 있는 실행 도메인 내에 사전 저장되어 있으며; 신뢰할 수 있는 실행 도메인 내에서, 제1 식별자에 의해 결정된 제1 데이터는 대응 관계 및 제1 식별자에 따라 결정될 수 있다.
제1 식별자와 제1 데이터 간의 대응 관계가 존재하지만, 내용을 고려하여 제1 식별자는 제1 데이터와 어떠한 연관관계를 가지지 않을 수 있다는 것을 이해해야 한다. 즉, 공격자가 제1 식별자를 훔치더라도, 신뢰할 수 없는 실행 도메인을 공격하는 공격자는 대응하는 제1 데이터를 도출해내거나 또는 획득할 수 없으며, 이로써 제1 데이터의 보안을 향상시킨다. 제1 식별자는 신뢰할 수 없는 실행 도메인 내에 사전 저장될 수 있다. 구체적으로, 제1 식별자는 타깃 애플리케이션에 저장될 수 있다. 예를 들어, 제1 식별자는 도 1에 도시된 애플리케이션 모듈에 저장될 수 있다.
신뢰할 수 있는 실행 도메인 내에, 제1 식별자와 제1 데이터 간의 대응 관계가 임의의 저장 모드로 저장될 수 있다는 것을 추가적으로 이해해야 한다. 예를 들어, 대응하는 제1 데이터가 신뢰할 수 있는 실행 도메인 내에서 제1 식별자에 따라 획득될 수 있는 한, 대응 관계는 "제1 식별자 + 제1 데이터" 모드로 저장될 수 있거나, 또는 제1 식별자 및 제1 데이터에 기반하여 구축되는 인덱스의 모드로 저장될 수 있으며, 이는 본 발명의 본 실시예에서 제한되지 않는다.
단계 S130에서, 제2 네트워크 데이터 패킷이 제1 데이터 및 제1 네트워크 데이터 패킷에 따라 생성된다. 제2 네트워크 데이터 패킷이 제1 데이터를 포함하다는 것을 이해해야 한다.
선택적으로, 본 발명의 본 실시예에서, 신뢰할 수 있는 실행 도메인 내에서, 단계 S130의 제1 데이터 및 제1 네트워크 데이터 패킷에 따라 제2 네트워크 데이터 패킷을 생성하는 단계는,
제2 네트워크 데이터 패킷을 결정하기 위해 제1 네트워크 데이터 패킷 내의 제1 식별자를 제1 데이터로 대체하는 단계를 포함한다.
이해되어야 할 것은, 본 발명의 본 실시예에서, 제2 네트워크 데이터 패킷이 제1 데이터를 포함하고 서비스가 타깃 애플리케이션에 의해 지정된 타깃 서버에 요청될 수 있는 한, 제2 네트워크 데이터 패킷이 제1 데이터 및 제1 네트워크 데이터 패킷에 따라 또한 재생성될 수 있으며, 이는 본 발명의 본 실시예에서 한정되지 않는다는 것이다.
단계 S140에서, 제2 네트워크 데이터 패킷에 대한 암호화가 타깃 서버와의 사전협상에 의해 결정되는 제1 세션 키를 이용하여 수행된다. 제1 세션 키가 신뢰할 수 있는 실행 도메인 내에서 타깃 서버와의 통신을 수행하기 위한 키라고 이해해야 한다. 통신이 수행되기 전에, 신뢰할 수 있는 실행 도메인 내의 암호화 및 암호해독 모듈, 및 타깃 서버가 제1 세션 키에 대해 동의하고 있으며, 도 3를 참조하여 이하에서 상세하게 설명한다.
신뢰할 수 없는 실행 도메인 내의 시스템 또는 프로그램이 제1 세션 키를 획득할 수 없다는 것이 보장되는 한, 제1 세션 키는 신뢰할 수 있는 실행 도메인 내에 사전 저장될 수 있거나, 또는 신뢰할 수 있는 실행 도메인 내에서 임의의 시간에 서버로부터 획득될 수 있으며, 이는 본 발명의 본 실시예에서 한정되지 않는다는 것을 추가적으로 이해해야 한다.
단계 S150에서, 암호화된 제2 네트워크 데이터 패킷이 타깃 서버에 송신된다. 구체적으로, 암호화된 제2 네트워크 데이터 패킷이 신뢰할 수 있는 실행 도메인 내에서 타깃 서버에 직접 송신될 수 있거나, 또는 신뢰할 수 있는 실행 도메인이 신뢰할 수 있는 실행 도메인으로 전환할 수 있는 이후에 암호화된 제2 네트워크 데이터 패킷이 타깃 서버에 송신될 수 있다. 이해되어야 할 것은, 데이터를 타깃 서버에 송신하기 위해 사용되는 네트워크 드라이버가 신뢰할 수 있고 안전하면, 즉 네트워크 드라이버가 신뢰할 수 있는 실행 도메인 내에서 실행되면, 암호화된 제2 네트워크 데이터 패킷이 신뢰할 수 있는 실행 도메인 내에서 타깃 서버에 송신될 수 있고; 네트워크 드라이버가 신뢰할 수 없으면, 즉 네트워크 드라이버가 신뢰할 수 없는 실행 도메인 내에서 실행되면, 암호화된 제2 네트워크 데이터 패킷이 신뢰할 수 없는 실행 도메인 내에서 타깃 서버에 송신된다는 것이다.
선택적으로, 본 발명의 본 실시예에서, 단계 S150에서 암호화된 제2 네트워크 데이터 패킷을 타깃 서버에 송신하는 단계는, 이하를 포함한다:
암호화된 제2 네트워크 데이터 패킷을 신뢰할 수 없는 실행 도메인에 공유 메모리를 이용하여 전달하는 단계; 및
신뢰할 수 없는 실행 도메인 내에서, 암호화된 제2 네트워크 데이터 패킷을 타깃 서버에 송신하는 단계.
따라서, 본 발명의 본 실시예에 따른 데이터 처리 방법에서는, 제1 데이터가 신뢰할 수 있는 실행 도메인 내에 저장되며, 이로 인해 데이터 보안이 향상될 수 있다. 또한, 제1 데이터를 포함하는 네트워크 데이터 패킷이 타깃 서버에 송신되는 경우, 제1 데이터가 제1 세션 키를 이용하여 암호화된 후에, 암호화된 제1 데이터가 송신되며, 이로 인해 제1 데이터의 보안이 추가적으로 향상된다.
단계 S140에서, 암호화가 타깃 서버와의 사전협상에 의해 결정되는 제1 세션 키를 이용하여 제2 네트워크 데이터 패킷에 대해 수행된다. 제1 세션 키가 신뢰할 수 있는 실행 도메인 내에서 타깃 서버와의 통신을 수행하기 위한 키라고 이해해야 한다. 구체적으로, 제1 세션 키는 타깃 서버와 SSL 연결을 구축함으로써 결정될 수 있다.
선택적으로, 일 실시예에서, 단계 S110에서, 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계 이전에, 데이터 처리 방법은,
신뢰할 수 있는 실행 도메인 내에서, 타깃 서버와 시큐어 소켓 레이어(SSL) 연결을 구축하고, 제1 세션 키를 결정하는 단계를 더 포함하고, 제1 세션 키는 신뢰할 수 있는 실행 도메인 내에 사전 저장된 제1 루트 인증서를 이용하여 타깃 서버의 제1 인증서에 대한 검증이 성공한 후에 생성되는 세션 키이다. 여기서, 제1 인증서는 타깃 서버의 아이덴티티를 보증하기 위해 사용된다.
구체적으로, 도 3에 도시된 바와 같이, 단계 S201에서, 타깃 서버와 SSL 연결을 구축하도록 요청하기 위한 요청 데이터 패킷이 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션을 이용하여 생성되고; 단계 S202에서, 요청 데이터 패킷은 타깃 서버에 송신되며; 단계 S303에서, 타깃 서버는 데이터 패킷 요청에 따라, 타깃 서버의 아이덴티티를 인증하는 인증서 1(제1 인증서에 대응)을 단말기에 송신한다. 구체적으로, 인증서 1은 공개 키를 포함하고, 서버의 도메인 네임은 인증서 1의 범용 명칭으로서 사용되며, 인증서 1의 서명 정보는 루트 인증서 1(제1 루트 인증서에 대응)의 개인 키를 이용하여 암호화되고, 루트 인증서 1(구체적으로, 도 1에 도시된 SSL 모듈 3 내의 루트 인증서 1)은 단말기의 신뢰할 수 있는 실행 도메인 내에 사전 저장되어 있다. 단계 S204에서, 신뢰할 수 있는 실행 도메인 내에서 서버에 의해 송신되는 인증서 1은, 사전 저장된 루트 인증서 1을 이용하여 검증된다. 구체적으로, 인증서 1의 서명 정보가 루트 인증서 1의 공개 키를 이용하여 암호해독될 수 있다고 결정되는 경우, 인증서 1이 신뢰할 수 있는 인증서인 것, 즉 타깃 서버가 신뢰할 수 있다는 것을 나타내고; 인증서의 범용 명칭 1이 타깃 애플리케이션이 서비스를 요청하기를 기대하는 서버의 도메인 네임과 일치한다고 결정되는 경우, 타깃 서버가 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 지정된 서버라고 결정될 수 있다. 단계 S205에서, 타깃 서버의 아이덴티티에 대한 검증이 성공한 경우, 세션 키 1(제1 세션 키에 대응)가 생성되고, 인증서 1에 포함된 공개 키를 이용하여 암호화가 세션 키 1에 대해 수행된다. 단계 S206에서, 암호화된 세션 키 1이 서버에 송신되고; 단계 S207에서, 타깃 서버가 인증서 1에 포함된 공개 키에 대응하는 개인 키를 이용하여 세션 키 1을 암호화한다. 이 시점에, 단말기와 타깃 서버 간의 SSL 연결 1(도 1에 도시된 SSL 연결 1에도 대응)이 구현된다.
본 발명의 본 실시예에서, 타깃 서버와의 SSL 연결이 신뢰할 수 있는 실행 도메인 내에서 구축되고, 통신 암호화에 사용되는 세션 키 1이 생성된다는 것을 이해해야 한다. 즉 신뢰할 수 있는 실행 도메인 내에서 실행되는 경우에만 단말기가 타깃 서버와의 협상에 의해 결정되는 세션 키 1을 학습할 수 있다. 다시 말해, 신뢰할 수 없는 실행 도메인 내의 프로그램 및 시스템은 세션 키 1을 획득할 수 없다. 따라서, 단계 S140에서, 암호화 수행된 후에, 신뢰할 수 있는 실행 도메인 내에서 또한 제1 세션 키를 이용하여, 제1 데이터를 포함하는 제2 네트워크 데이터 패킷 상에서, 암호화된 제2 네트워크 데이터 패킷이 신뢰할 수 있는 실행 도메인 내에서만 또한 타깃 서버에 의해 암호해독될 수 있다. 이 경우에, 공격자는 사용자 프라이버시 데이터를 훔칠 수 없다. 왜냐하면, 첫째, 신뢰할 수 있는 실행 도메인 내에서는 공격자가 임의의 데이터를 훔치는 것, 즉 신뢰할 수 있는 실행 도메인 내에 저장된 사용자 프라이버시 데이터를 훔치는 것이 불가능하고; 둘째, 서버의 아이덴티티를 검증하기 위해 사용되는 루트 인증서 1이 신뢰할 수 있는 실행 도메인 내에 사전 저장되어 있고, 공격자가 루트 인증서 1을 변조할 수 없기 때문에, 공격자는 서버를 위조하여 사용자 프라이버시 데이터를 훔칠 수 없다. 따라서, 신뢰할 수 있는 실행 도메인 내에서, 신뢰할 수 있는 서버에 대한 보안 인증만이 성공할 수 있다. 공격자에 의해 위조된 서버에 대해, 보안 인증이 확실히 성공할 수 없고, 즉 위조된 서버와의 SSL 연결이 실패하고, 세션 키 1을 결정하기 위한 위조된 서버와의 협상도 수행될 수 없다. 결과적으로, 공격자는 루트 인증서 또는 서버를 위조함으로써 플레인 텍스트 포맷의 사용자 프라이버시 데이터를 훔칠 수 없다.
따라서, 본 발명의 본 실시예에서, 플레인 텍스트 형태의 사용자 프라이버시 데이터(제1 데이터)가 신뢰할 수 없는 실행 도메인에 노출되지 않으며, 이로 인해공격자가 플레인 텍스트 포맷의 사용자 프라이버시 데이터를 훔치는 것을 효과적으로 방지할 수 있으며, 이로써 데이터 보안을 향상시킨다.
단계 S202에서, 요청 데이터 패킷이 타깃 서버에 송신된다는 것을 이해해야 한다. 구체적으로, 신뢰할 수 없는 실행 도메인 내에서 생성되는 요청 데이터 패킷은 공유 메모리를 이용하여 먼저 신뢰할 수 있는 실행 도메인에 전달될 수 있고; 그 다음에, 신뢰할 수 있는 실행 도메인 내에서, 타깃 애플리케이션이 서비스를 요청하기를 기대하는 서버의 도메인 네임이 요청데이터 패킷에 따라 획득되어, 후속 단계 S204에서, 인증서의 범용 명칭 1이 서버의 도메인 네임에 따라 검증되며; 마지막으로, 요청 데이터 패킷이 타깃 서버에 송신된다. 선택적으로, 요청 데이터 패킷은 신뢰할 수 있는 실행 도메인 또는 신뢰할 수 있는 실행 도메인 내에서 타깃 서버에 송신될 수 있으며, 이는 본 발명의 본 실시예에서 한정되지 않는다. 예를 들어, 서버에 데이터를 송신하거나 또는 서버로부터 데이터를 수신하기 위해 사용되는 네트워크 드라이버가 신뢰할 수 있고 안전하면, 즉 네트워크 드라이버가 신뢰할 수 있는 실행 도메인 내에서 실행되면, 단계 S202에서, 요청 데이터 패킷이 신뢰할 수 있는 실행 도메인 내에서 타깃 서버에 송신되고; 네트워크 드라이버가 신뢰할 수 없으면, 즉 네트워크 드라이버가 신뢰할 수 없는 실행 도메인 내에서 실행되면, 단계 S202에서는 요청 데이터 패킷이 신뢰할 수 없는 실행 도메인 내에서 타깃 서버에 송신된다. 도 3은 서버에 의한 데이터 전송 작업을 수반한다는 것, 예를 들어 단계 S202, S203, 및 S206이 신뢰할 수 있는 실행 도메인 내에서 모두 수행되거나, 또는 신뢰할 수 없는 실행 도메인 내에서 모두 수행된다고 이해해야 한다. 특정한 구현은 네트워크 드라이버가 위치하는 실행 도메인에 의존한다.
특히, 종래 기술에서, 네트워크 드라이버가 도 1에 도시된 신뢰할 수 없는 실행 도메인 내에서 실행된다. 따라서, 본 발명의 본 실시예에서, 네트워크 드라이버가 또한 신뢰할 수 없는 실행 도메인 내에서 실행되면, 즉 신뢰할 수 없는 실행 도메인 내에서 네트워크 드라이버가 타깃 서버와 통신 전송을 수행한다. 구체적으로, 요청 데이터 패킷을 타깃 서버에 송신하는 것, 타깃 서버에 의해 송신되는 인증서 1을 수신하는 것, 암호화된 세션 키 1을 타깃 서버에 송신하거나, 또는 암호화된 제2 네트워크 데이터 패킷을 타깃 서버에 송신하는 것과 같은 작업이 신뢰할 수 없는 실행 도메인 내에서 수행된다. 기존의 아키텍쳐와 비교하여, 본 발명의 본 실시예에서 제공되는 과제 해결수단이 데이터 보안을 향상시키는 것에 기초하여 크게 수정되지 않았고, 이로 인해 코드 변경 비용이 절감될 수 있다.
따라서, 본 발명의 본 실시예의 데이터 처리 방법에 있어서, 데이터가 신뢰할 수 있는 실행 도메인 내에 저장되면서, 데이터를 이용하는 과정 중에, 플레인 텍스트 포맷의 데이터가 신뢰할 수 없는 실행 도메인 내에서 나타내는 것을 방지하며, 공격자가 데이터를 훔치는 것을 효과적으로 방지할 수 있고, 이로써 데이터 보안을 향상시킨다.
도 1을 참조하여 앞에서 설명한 바와 같이, 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션은 또한, 타깃 애플리케이션과 통신을 수행하는 서버가 타깃 애플리케이션에 의해 지정된 서버인지 여부를 검증한다. 본 발명의 본 실시예에서, 제1 식별자를 포함하고 타깃 애플리케이션에 의해 생성되는 제1 네트워크 데이터 패킷이 서버에 직접 송신되지 않는다. 대신, 제1 네트워크 제1 네트워크 데이터 패킷이 신뢰할 수 있는 실행 도메인 내에서 획득되고, 특정 처리가 제1 네트워크 데이터 패킷에 대해 수행된 후에(예를 들어, 제1 식별자를 제1 데이터와 대체하는 것) 데이터 패킷이 타깃 서버에 송신된다. 즉, 본 발명에서는, 신뢰할 수 없는 실행 도메인 내의 타깃 애플리케이션과 직접 통신하는 것은 신뢰할 수 있는 실행 도메인(예를 들어, 도 1에 도시된 보안 모듈)이다. 따라서, 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간의 SSL 연결의 구축을 구현하기 위해, 인증서가 신뢰할 수 있는 실행 도메인 내에서 만들어질 필요가 있다. 도 1에 도시된 아키텍쳐를 일 예로서 사용하면, 다음과 같이 이해될 수 있다: 애플리케이션 모듈에 의해 지정된 타깃 서버가, 신뢰할 수 있는 실행 도메인 내의 보안 모듈 대신, 애플리케이션 모듈과 SSL 연결을 구축한다.
선택적으로, 일 실시예에서, 단계 S110에서 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계 이전에, 데이터 처리 방법은,
신뢰할 수 있는 실행 도메인 내에서, 제2 루트 인증서에 따라 제2 인증서를 생성하는 단계 - 제2 인증서는 제1 인증서와 동일한 범용 명칭을 가지고 있고, 제2 루트 인증서는 신뢰할 수 있는 실행 도메인 및 신뢰할 수 없는 실행 도메인 내에 사전 저장되어 있음 -; 및
신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간에 SSL 연결을 구축하고, 제2 인증서 및 제2 루트 인증서에 따라 제2 세션 키를 결정하는 단계를 더 포함한다. 여기서, 제2 세션 키는 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간의 세션 키이다.
신뢰할 수 있는 실행 도메인 내에서, 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계는, 이하를 포함한다:
제2 세션 키를 이용하여 암호화된 제1 네트워크 데이터 패킷을 획득하는 단계; 및
신뢰할 수 있는 실행 도메인 내에서, 제2 세션 키를 이용하여 암호화된 제1 네트워크 데이터 패킷을 암호해독하는 단계.
선택적으로, 본 발명의 본 실시예에서, 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간에 SSL 연결을 구축하고, 제2 인증서 및 제2 루트 인증서에 따라 제2 세션 키를 결정하는 단계는, 이하를 포함한다:
신뢰할 수 있는 실행 도메인 내에 생성되는 제2 인증서를 획득하는 단계;
신뢰할 수 없는 실행 도메인 내에서, 제2 루트 인증서에 따라 제2 인증서를 검증하고; 검증이 성공한 경우 제2 세션 키를 생성하고, 제2 인증서의 공개 키를 이용하여 제2 세션 키를 암호화하는 단계; 및
제2 세션 키를 획득하기 위해, 신뢰할 수 있는 실행 도메인 내에서, 암호화된 제2 세션 키를 제2 인증서의 개인 키를 이용하여 암호해독하는 단계.
구체적으로, 도 3에 도시된 바와 같이, 단계 S208에서, 신뢰할 수 있는 실행 도메인 내에서, 타깃 서버의 아이덴티티에 대한 검증이 성공한 후에, 인증서 2(제2 인증서에 대응)가 신뢰할 수 없는 실행 도메인 내에 사전 저장되어 있는 루트 인증서 2(예를 들어, 도 1에 도시된 신뢰할 수 없는 실행 도메인에서 SSL 모듈 1 내의 루트 인증서 2)(제2 루트 인증서에 대응)를 이용하여 만들어진다. 즉, 인증서 2의 서명 정보가 루트 인증서의 개인 키 2를 이용하여 암호화된다. 또한, 인증서 2는 타깃 서버의 인증서의 범용 명칭 1(단계 S203을 참조)과 동일하고, 인증서 2는 공개 키를 또한 포함하며, 공개 키에 대응하는 개인 키는 신뢰할 수 있는 실행 도메인 내에 저장되어 있다. 단계 S209에서, 인증서 2가 신뢰할 수 없는 실행 도메인에 공유 메모리를 이용하여 전달되고; 단계 S210에서, 인증서 2가 루트 인증서 2를 이용하여 신뢰할 수 없는 실행 도메인 내에서 검증된다. 구체적으로, 루트 인증서 2의 공개 키는 인증서 2의 서명 정보를 암호해독하기 위해 사용되고, 인증서의 범용 명칭 2가 타깃 애플리케이션에 의해 지정된 서버의 도메인 네임인지 여부를 검증한다. 단계 S211에서, 검증이 성공한 후에, 세션 키 2(도 1에 도시된 SSL 모듈 1 내의 세션 키 1에 대응)(본 발명의 본 실시예에서의 제2 세션 키에 대응)가 신뢰할 수 없는 실행 도메인 내에 생성되고, 세션 키 2에 대한 암호화가 인증서 2의 공개 키를 이용하여 수행된다. 단계 S212에서, 암호화된 세션 키 2가 신뢰할 수 있는 실행 도메인에 공유 메모리를 이용하여 전달되고; 단계 S213에서, 세션 키 2가 신뢰할 수 있는 실행 도메인 내에서 인증서 2에 포함된 공개 키에 대응하는 개인 키를 이용하여 암호해독된다. 이 시점에, SSL 연결 2(도 1에 도시된 SSL 연결 2에 대응)가 신뢰할 수 없는 실행 도메인 및 신뢰할 수 있는 실행 도메인 간에 구축된다. 이때, 통신 암호화에 사용되는 세션 키 2가 신뢰할 수 없는 실행 도메인 및 신뢰할 수 있는 실행 도메인 내에 알려진다. 도 1에 도시된 바와 같이, 세션 키 2가 SSL 모듈 1 및 SSL 모듈 2 둘 다에 저장되어 있다.
단계 S210에서, 인증서 2가 신뢰할 수 없는 실행 도메인 내에서 루트 인증서 2를 이용하여 검증된다고 이해해야 한다. 신뢰할 수 없는 실행 도메인 내의 타깃 애플리케이션의 경우, 인증서 2가 타깃 애플리케이션의 타깃 서버에 속한다(인증서의 범용 명칭 2는 타깃 서버에 의해 제공되는 인증서의 범용 명칭 1과 일치한다). 또한, 타깃 애플리케이션의 경우, 인증서 2가 신뢰할 수 있는 인증기관에 의해 발급된 인증서이다(인증서 2는 루트 인증서 2를 이용하여 서명되고, 루트 인증서 2는 신뢰할 수 없는 실행 도메인 내에 사전 설치되어 있으며; 따라서, 타깃 애플리케이션의 경우, 루트 인증서 2가 신뢰할 수 있는 인증기관에 의해 발급된 루트 인증서에 속함). 따라서, 단계 S210에서, 루트 인증서 2를 이용함으로써 인증서 2에 대한 검증이 성공한다. 도 1을 일 예로서 사용하면, 이는 다음과 같이 이해될 수도 있다: 애플리케이션 모듈에 의한 보안 모듈의 아이덴티티에 대한 검증이 성공한다.
본 발명의 본 실시예에서, 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간의 통신이, 도 3에 도시된 단계 S209 및 단계 S212에서 구체적으로, 예를 들어 공유 메모리를 이용하여 구현될 수 있다는 것을 추가적으로 이해해야 한다. 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간의 통신이 또한 다른 방식으로 구현될 수 있으며, 이는 본 발명의 본 실시예에서 한정되지 않는다.
도 3에 도시된 인증서 1, 루트 인증서 1, 인증서 2, 및 루트 인증서 2는 각각 본 발명의 본 실시예에서의 제1 인증서, 제1 루트 인증서, 제2 인증서, 및 제2 루트 인증서에 대응한다는 것을 추가적으로 이해해야 한다.
따라서, 본 발명의 본 실시예의 데이터 처리 방법에 있어서, 타깃 서버와의 SSL 연결이 신뢰할 수 있는 실행 도메인 내에 구축되고, 통신 키(제1 세션 키)가 타깃 서버와 보안 모듈 간에 생성된다. 제1 데이터가 통신 키를 이용하여 암호화된 후에, 암호화된 제1 데이터는 타깃 서버에 송신되며, 이는 플레인 텍스트 포맷의 제1 데이터가 신뢰할 수 없는 실행 도메인에 노출되는 것을 방지할 수 있고, 공격자가 제1 데이터를 훔치는 것을 효과적으로 방지할 수 있어서, 이로써 제1 데이터의 보안이 전송 중에 효과적으로 보장될 수 있고, 이로써 데이터 보안을 추가적으로 향상시킨다.
타깃 서버에 의해 송신된 네트워크 데이터 패킷이 수신되는 경우, 관련된 처리가 신뢰할 수 있는 실행 도메인 내에서 수신된 네트워크 데이터 패킷에 대해 수행된 후에, 네트워크 데이터 패킷은 또한 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 송신될 수 있다.
선택적으로, 일 실시예에서, 도 2에 도시된 방법(100)은 이하를 더 포함한다:
타깃 서버에 의해 송신되고 제1 세션 키를 이용하여 암호화되는 제3 네트워크 데이터 패킷을 수신하는 단계;
신뢰할 수 있는 실행 도메인 내에서, 제1 세션 키를 이용하여 암호화된 제3 네트워크 데이터 패킷을 암호해독하고; 암호해독된 제3 네트워크 데이터 패킷이 제1 데이터를 포함한다고 결정되는 경우 제3 네트워크 데이터 패킷 및 제1 데이터에 대응하는 제1 식별자에 따라 제4 네트워크 데이터 패킷을 생성하는 단계 - 제4 네트워크 데이터 패킷은 제1 데이터를 포함하고 있지 않음 -; 및
제4 네트워크 데이터 패킷을 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 송신하는 단계.
선택적으로, 본 발명의 본 실시예에서, 제3 네트워크 데이터 패킷은 제2 네트워크 데이터 패킷에 응답하기 위해 타깃 서버에 의해 사용되는 응답 데이터 패킷이다.
구체적으로, 도 4에 도시된 바와 같이, 단계 S301에서, 식별자 1(제1 식별자에 대응)을 포함하는 데이터 패킷 1(제1 네트워크 데이터 패킷에 대응)이 타깃 애플리케이션을 이용하여 생성되고; 단계 S302에서, 데이터 패킷 1이 공유 메모리를 이용하여 신뢰할 수 있는 실행 도메인에 전달되며; 단계 S303에서, 대응하는 사용자 프라이버시 데이터가 대응 관계 및 데이터 패킷 1 내에 있는 식별자 1에 따라 신뢰할 수 있는 실행 도메인 내에서 결정되고; 단계 S304에서, 사용자 프라이버시 데이터를 포함하는 데이터 패킷 2(제2 네트워크 데이터 패킷에 대응)가 생성되며; 단계 S305에서, 세션 키 1(제1 세션 키에 대응)을 이용하여 암호화된 데이터 패킷 2가 타깃 서버에 송신되고; 단계 S306에서, 타깃 서버가 세션 키 2를 이용하여 데이터 패킷 2를 디코딩하고; 단계 S307에서, 타깃 서버가 데이터 패킷 2에 따라 응답 패킷, 즉 데이터 패킷 3(제3 네트워크 데이터 패킷에 대응)을 결정하며; 단계 S308에서, 타깃 서버가 세션 키를 이용하여 암호화된 데이터 패킷 3를 단말기에 송신하고; 단계 S309에서, 데이터 패킷 3이 신뢰할 수 있는 실행 도메인 내에서 세션 키 1을 이용하여 암호해독되고, 사용자 프라이버시 데이터를 포함하지 않는 데이터 패킷 4(제4 네트워크 데이터 패킷에 대응)가 데이터 패킷 3에 따라 결정되며; 단계 S310에서, 데이터 패킷 4가 세션 키 2를 이용하여(제2 세션 키에 대응) 공유 메모리를 이용하여 암호화되며; 단계 S311에서, 데이터 패킷 4가 신뢰할 수 없는 실행 도메인 내에서 세션 키 2를 이용하여 암호해독되어, 타깃 애플리케이션이 대응하는 애플리케이션 작업을 구현하기 위해 데이터 패킷 4 내의 데이터를 사용한다. 예를 들어, 위챗 애플리케이션이 위챗 애플리케이션 서버의 응답을 수신한 후에, 로그인 사용자의 작업이 구현될 수 있다. 다른 예를 들면, 알리페이 애플리케이션이 알리페이 애플리케이션 서버의 응답을 수신한 후에, 사용자의 결제 작업, 또는 로그인 작업 등이 구현될 수 있다.
단계 S309에서, 사용자 프라이버시 데이터를 포함하지 않는 데이터 패킷 4가 데이터 패킷 3에 따라 신뢰할 수 있는 실행 도메인 내에서 결정된다는 것을 이해해야 한다. 구체적으로, 데이터 패킷 3이 사용자 프라이버시 데이터를 포함하지 않는다고 결정되는 경우, 데이터 패킷 3이 데이터 패킷 4라고 직접 결정될 수 있다. 다시 말해, 데이터 패킷 3이 신뢰할 수 없는 실행 도메인에 직접 전달될 수 있다. 데이터 패킷 3이 사용자 프라이버시 데이터를 포함한다고 결정되는 경우, 데이터 패킷 4가 데이터 패킷 3 내의 사용자 프라이버시 데이터를 제1 식별자로 대체함으로써 결정될 수 있다.
선택적으로, 본 발명의 본 실시예에서, 제3 네트워크 데이터 패킷이 제1 데이터를 포함하지 않는다고 결정되는 경우, 제3 네트워크 데이터 패킷이 제4 네트워크 데이터 패킷이라고 결정된다.
따라서, 본 발명의 본 실시예의 데이터 처리 방법에 있어서, 데이터가 단말기의 신뢰할 수 있는 실행 도메인 내에 저장되고, 데이터를 이용하는 과정 중에 플레인 텍스트 포맷의 데이터가 단말기의 신뢰할 수 없는 실행 도메인 내에서 노출되는 것이 방지되며, 이는 공격자가 데이터를 훔치는 것을 효과적으로 방지할 수 있고, 이로써 단말기 내의 데이터의 보안을 효과적으로 보호한다.
또한, 사용자 프라이버시 데이터가 애플리케이션(즉, 신뢰할 수 없는 실행 도메인) 내에 저장되어 있는 종래 기술와 비교하여, 본 발명의 본 실시예의 데이터 처리 방법에서는, 사용자 프라이버시 데이터가 단말기의 신뢰할 수 있는 실행 도메인 내에 저장되어 있고, 사용자 프라이버시 데이터의 식별자가 신뢰할 수 없는 실행 도메인 내에 저장되어 있으며, 이로 인해 사용자 프라이버시 데이터의 보안을 향상시키지만 단말기의 성능 오버헤드를 크게 증가시키지는 않는다. 또한, 서버를 검증하기 위해 사용되는 루트 인증서가 신뢰할 수 있는 실행 도메인 내에 저장되어 있으며, 이는 서버의 아이덴티티를 검증하는 것을 효과적으로 피하게 하고 악의적 서버로부터의 공격을 효과적으로 방지한다.
본 발명의 본 실시예의 데이터 처리 방법을 용이하게 이해하기 위해, 도 1에 도시된 구조를 참조하고 모바일 뱅크 및 신용카드 결제를 예로서 이용하여, 이하에서는 본 발명의 본 실시예의 특정한 구현에 대해 간략히 설명한다.
I. 모바일 뱅크가 일 예로서 사용된다. 즉, 도 1에 도시된 단말기는 휴대폰이고, 신뢰할 수 없는 실행 도메인 내의 애플리케이션 모듈은 구체적으로 모바일 뱅크이며, 애플리케이션 서버는 모바일 뱅크 서버이다.
1. 모바일 뱅크와 보안 모듈 간, 및 보안 모듈과 모바일 뱅크 서버 간에 SSL 연결이 구축된다. 여기서, 신뢰할 수 있는 SSL 모듈 3이 모바일 뱅크 서버의 아이덴티티를 검증하기 위해 사용된다.
2. 예를 들어, 사용자가 모바일 뱅크 서버에 대해 로그인 작업을 수행하는 경우, 모바일 뱅크는 저장된 사용자 프라이버시 데이터(계정 및 패스워드 포함)의 제1 식별자를 판독할 수 있고, 제1 식별자 및 다른 정보는 모바일 뱅크 서버에 로그인 서비스를 요청하기 위해 사용되는 제1 네트워크 데이터 패킷을 생성하기 위해 사용되고, 제1 네트워크 데이터 패킷은 세션 키 1을 이용하여 SSL 모듈에 의해 암호화된다.
3. 보안 모듈이 SSL 모듈 2에 의한 암호해독에 의해 획득되고 프록시 모듈 1, 공유 메모리, 및 프록시 모듈 2에 의해 포워딩되는 제1 네트워크 데이터 패킷을 수신하고, 내부의 제1 식별자를 사용자 프라이버시 데이터(계정 및 패스워드 포함)로 대체하며, 제2 네트워크 데이터 패킷을 생성한다. SSL 모듈 3은 제2 네트워크 데이터 패킷에 대한, SSL 모듈 3에 의한 암호화를 세션 키 2를 이용하여 수행하고, 그 다음에 암호화된 제2 네트워크 데이터 패킷이 프록시 모듈 2, 공유 메모리, 프록시 모듈 1, 및 네트워크 드라이버를 이용하여 모바일 뱅크 서버에 송신된다.
4. 모바일 뱅크 서버가 제2 네트워크 데이터 패킷의 요청을 처리하고, 요청에 응답하기 위해 사용되는 제3 네트워크 데이터 패킷을 결정하며, 세션 키 1을 이용하여 암호화된 제3 네트워크 데이터 패킷을 휴대폰에 송신한다.
5. 제3 네트워크 데이터 패킷이 신뢰할 수 있는 실행 도메인 내의 SSL 모듈 3에 의해 암호해독된다.
6. 신뢰할 수 있는 실행 도메인 내에서, 사용자 프라이버시 데이터를 포함하지 않는 제4 네트워크 데이터 패킷이 보안 모듈, SSL 모듈 2, 프록시 모듈 1, 공유 메모리, 및 프록시 모듈 2를 이용하여 모바일 뱅크에 송신된다.
모바일 뱅크를 이용하는 과정 중에, 플레인 텍스트 포맷의 사용자 프라이버시 데이터(계정 및 패스워드 포함)가 결코 신뢰할 수 없는 실행 도메인에 노출되지 않으며, 이는 효과적으로 사용자의 모바일 뱅크의 패스워드 및 계정의 보안을 보장할 수 있다. 또한, 신뢰할 수 있는 실행 도메인 내에 저장되어 있는 보안 루트 인증서 모바일 뱅크 서버의 진위를 검증하기 위해 사용되고, 따라서 악의적으로 위조된 모바일 뱅크 서버가 식별될 수 있으며, 이로써 사용자 프라이버시 데이터의 보안을 추가적으로 향상시킨다.
II. 신용 카드 결제가 일 예로서 사용된다. 즉, 도 1에 도시된 단말기는 휴대폰이고, 신뢰할 수 없는 실행 도메인 내의 애플리케이션 모듈은 구체적으로 신용카드 애플리케이션 모듈이며, 애플리케이션 서버는 신용카드 애플리케이션 서버이다.
신용카드 애플리케이션 모듈이 결제와 같은 작업을 수행하기 위해 사용자 프라이버시 데이터의 제1 식별자(신용카드 번호)를 신용카드 애플리케이션 서버에 송신하는 경우. 신뢰할 수 있는 실행 도메인 내에서, 신용카드 애플리케이션 모듈은 제1 식별자를 사용자 프라이버시 데이터(신용카드 번호)로 대체할 수 있고, 그 다음에 사용자 프라이버시 데이터를 신용카드 애플리케이션 서버에 송신한다. 이는 사용자의 신용카드 번호의 보안을 보호할 수 있어, 악의적 프로그램이 사용자의 신용카드 번호를 훔치는 것을 방지한다. 구체적인 설명은 모바일 뱅크의 예와 유사하고, 간략한 설명을 위해, 세부사항은 본 명세서에서 다시 설명하지 않는다.
따라서, 본 발명의 본 실시예의 데이터 처리 방법에 있어서, 사용자 프라이버시 데이터가 신뢰할 수 있는 실행 도메인 내에 저장되어 있으며, 이로 인해 사용자 프라이버시 데이터를 이용하는 과정 중에, 플레인 텍스트 형태의 사용자 프라이버시 데이터가 신뢰할 수 없는 실행 도메인에 노출되는 것을 방지하고 효과적으로 방지할 수 있고, 공격자가 사용자 프라이버시 데이터를 훔치는 것을 효과적으로 방지할 수 있으며, 이로써 사용자 프라이버시 데이터의 보안이 향상된다.
본 발명의 본 실시예에서의 데이터 처리 방법으로 사용자 프라이버시 데이터를 공격하는 방식에 견딜 수 있고, 이 데이터 처리 방법은 이하를 포함하지만 이에 제한되지 않는다:
1. 사용자 프라이버시 애플리케이션 내에 저장된 데이터를 획득하기 위해 애플리케이션 취약점을 이용한다.
2. 애플리케이션에 의해 암호화된 사용자 프라이버시 데이터를 획득하기 위해 시스템 취약점을 이용한다. 성능을 고려하여, 애플리케이션은 일반적으로 사용자 프라이버시 데이터에 대해 단순한 암호화를 수행하기만 하고, 그 다음에 용이하게 크랙되는 사용자 프라이버시 데이터를 저장한다.
3. 사용자 프라이버시 데이터를 획득하도록, 모든 데이터를 애플리케이션에 의해 송신/수신된 플레인 텍스트 포맷으로 획득하기 위해 악의적인, 신뢰할 수 없는 암호화/암호해독 모듈(예를 들어, 신뢰할 수 없는 실행 도메인 내의 암호화 모듈, 예를 들어 도 1에서의 SSL 모듈 1)을 이용한다.
본 발명의 본 실시예에서, 플레인 텍스트 포맷의 사용자 프라이버시 데이터는 신뢰할 수 없는 실행 도메인에 노출되지 않고, 따라서 사용자 프라이버시 데이터가 사용자 프라이버시 데이터에 대해 전술한 공격을 직접 개시함으로써 획득될 수는 없다. 신뢰할 수 있는 암호화 모듈(예를 들어, 신뢰할 수 있는 실행 도메인 내의 암호화 모듈, 예를 들어 도 1에서의 SSL 모듈 3)에 의한 암호화 후에, 사용자 프라이버시 데이터만이 신뢰할 수 없는 실행 도메인에 노출될 수 있다. 하지만, 현재 기술에 기반하여, 신뢰할 수 있는 암호화 프로토콜(SSL 프로토콜 등)을 이용하여 암호화된 정보에 대한 무차별 대입 공격(brute force cracking)의 비용은 높고, 이런 공격 방식은 고려될 필요가 없다.
본 발명의 본 실시예의 데이터 처리 방법은 추가적으로, 공격자가 악의적 루트 인증서를 단말기 상에 설치하여 구현되는 단말기에 대한 공격을 견딜 수 있다.
1. 공격자가 휴대폰에 악의적 루트 인증서를 설치하고; 이때, 루트 인증서가 악의적 서버를 타깃 애플리케이션의 타깃 서버로서 위조하기 위해 사용되어, 사용자에 의해 송신되는 모든 데이터를 플레인 텍스트 포맷으로 획득할 수 있다.
본 발명의 본 실시예에서, 신뢰할 수 있는 실행 도메인 내에 저장된 루트 인증서는 서버의 아이덴티티를 검증하기 위해 사용되고, 공격자는 임의의 악의적 루트 인증서를 신뢰할 수 있는 실행 도메인 내에 설치할 수 없으며, 따라서 단말기 내의 사용자 프라이버시 데이터는 악의적 루트 인증서를 설치하여 공격받을 수 없다.
2. 악의적 루트 인증서를 설치하는 경우, 신뢰할 수 없는 프록시가 신뢰할 수 있는 실행 도메인의 어떤 기능도 사용하지 않도록 공격자는 신뢰할 수 없는 프록시를 공격할 수 있다.
신뢰할 수 있는 실행 도메인이 바이패스되면, 공격자는 애플리케이션에 의해 송신된 모든 정보를 훔칠 수 있다. 하지만, 애플리케이션에 의해 송신된 모든 데이터가 식별자일 뿐이고, 내용을 고려하여 식별자와 식별자에 대응하는 사용자 프라이버시 데이터 간에 어떠한 연관관계가 없으며; 따라서 공격자는 사용자의 임의의 사용자 프라이버시 데이터를 획득할 수 없다.
따라서, 본 발명의 본 실시예의 데이터 처리 방법에서는, 사용자 프라이버시 데이터가 단말기의 신뢰할 수 있는 실행 도메인 내에 저장되어 있고, 사용자 프라이버시 데이터를 이용하는 과정 중에 플레인 텍스트 형태의 사용자 프라이버시 데이터가 단말기의 신뢰할 수 없는 실행 도메인에 노출되는 것이 방지되며, 이로 인해 공격자가 사용자 프라이버시 데이터를 훔치는 것이 효과적으로 방지될 수 있고, 이로써 효과적으로 단말기 내의 사용자 프라이버시 데이터의 안전을 보호한다.
본 발명의 본 실시예의 데이터 처리 방법은 추가적으로, 임의의 시간에 수정될 필요가 있는 매우 중요한 데이터, 예를 들어 주문량을 보호하는 시나리오에 적용될 수 있다는 것을 이해해야 한다. 예를 들어, 입력 및 디스플레이 모듈이 신뢰할 수 있는 실행 도메인에 추가될 수 있고, 주문량과 관련된 정보는, 사용자 프라이버시 데이터의 처리 방식과 동일하거나 또는 유사한 처리방식으로, 신뢰할 수 있는 실행 도메인, 보다 구체적으로, 신뢰할 수 있는 실행 도메인 내의 보안 모듈에 저장될 수 있으며, 이는 주문 정보가 변조되는 것을 효과적으로 방지할 수 있다.
본 발명의 다양한 실시예에서, 전술한 프로세스 내의 시퀀스 번호의 값은 실행 시퀀스를 나타내지 않고, 각각의 프로세스의 실행 시퀀스는 그 기능 및 내부 로직에 의해 결정되며, 이는 본 발명의 일 실시예의 구현 프로세스에 어떠한 제한도 부과하지 않을 것이라고 이해해야 한다.
따라서, 본 발명의 본 실시예의 데이터 처리 방법에 있어서, 사용자 프라이버시 데이터가 신뢰할 수 있는 실행 도메인 내에 저장되어 있으며, 이로 인해, 사용자 프라이버시 데이터를 이용하는 과정 중에, 플레인 텍스트 형태의 사용자 프라이버시 데이터가 신뢰할 수 없는 실행 도메인에 노출되는 것을 방지하고, 공격자가 사용자 프라이버시 데이터를 훔치는 것을 효과적으로 방지할 수 있으며, 이로써 사용자 프라이버시 데이터의 보안을 향상시킨다.
도 1 내지 도 4를 을 참조하여, 본 발명의 실시예에 따른 데이터 처리 방법에 대해 상세하게 설명한다. 이하, 도 5를 참조하여 본 발명의 실시예에 따른 데이터 처리 장치에 대해 상세하게 설명한다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리 장치(400)의 개략적인 블록도이다. 도 5에 도시된 바와 같이, 데이터 처리 장치는 이하를 포함한다:
신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하도록 구성된 제1 획득 모듈(410) - 제1 네트워크 데이터 패킷은 제1 식별자를 포함하고 있음 -;
신뢰할 수 있는 실행 도메인 내에서, 제1 획득 모듈에 의해 획득되는 제1 네트워크 데이터 패킷 내의 제1 식별자에 대응하는 제1 데이터를 획득하도록 구성된 제2 획득 모듈(420) - 제1 데이터는 타깃 애플리케이션이 타깃 서버에 서비스를 요청하기 위해 필요한 데이터임 -;
신뢰할 수 있는 실행 도메인 내에서, 제1 네트워크 데이터 패킷, 및 제2 획득 모듈에 의해 획득되는 제1 데이터에 따라 제2 네트워크 데이터 패킷을 생성하도록 구성되는 제1 생성 모듈(430);
암호화된 제2 네트워크 데이터 패킷을 획득하기 위해, 신뢰할 수 있는 실행 도메인 내에서 또한 타깃 서버와의 사전협상에 의해 결정되는 제1 세션 키를 이용하여, 제1 생성 모듈에 의해 생성되는 제2 네트워크 데이터 패킷에 대한 암호화를 수행하도록 구성되는 암호화 모듈(440); 및
암호화 모듈에 의해 획득되는 암호화된 제2 네트워크 데이터 패킷을 타깃 서버에 송신하도록 구성된 제1 송신 모듈(450).
따라서, 본 발명의 본 실시예의 데이터 처리 장치를 이용함으로써, 데이터가 신뢰할 수 있는 실행 도메인 내에 저장되어 있으면서, 데이터 암호화 키도 또한 신뢰할 수 있는 실행 도메인 내에 저장되어 있으며, 이로 인해 데이터 보안이 향상될 수 있다.
선택적으로, 일 실시예에서, 데이터 처리 장치는, 이하를 더 포함한다:
타깃 서버에 의해 송신되고 제1 세션 키를 이용하여 암호화되는 제3 네트워크 데이터 패킷을 수신하도록 구성된 수신 모듈;
수신 모듈에 의해 수신되는 암호화된 제3 네트워크 데이터 패킷을 신뢰할 수 있는 실행 도메인 내에서 또한 제1 세션 키를 이용하여 암호해독하고, 암호해독된 제3 네트워크 데이터 패킷이 제1 데이터를 포함한다고 결정되는 경우 제3 네트워크 데이터 패킷, 및 제1 데이터에 대응하는 제1 식별자에 따라 제4 네트워크 데이터 패킷을 생성하도록 구성되는 처리 모듈 - 제4 네트워크 데이터 패킷은 제1 데이터를 포함하고 있지 않음 -; 및
처리 모듈에 의해 생성된 제4 네트워크 데이터 패킷을 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 송신하도록 구성된 제2 송신 모듈.
선택적으로, 일 실시예에서, 데이터 처리 장치는, 이하를 더 포함한다:
제1 획득 모듈이 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하기 전에 신뢰할 수 있는 실행 도메인 내에서 타깃 서버와 시큐어 소켓 레이어(SSL) 연결을 구축하고, 제1 세션 키를 결정하도록 구성된 제1 구축 모듈 - 제1 세션 키는 타깃 서버의 제1 인증서에 대한 검증이 신뢰할 수 있는 실행 도메인 내에 사전 저장된 제1 루트 인증서를 이용하여 성공한 후에 생성되는 세션 키이고, 제1 인증서는 타깃 서버의 아이덴티티를 보증하기 위해 사용되는 것임 -.
선택적으로, 일 실시예에서, 데이터 처리 장치는 이하를 포함한다:
제1 획득 모듈이 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하기 전에, 신뢰할 수 있는 실행 도메인 내에서, 제2 루트 인증서에 따라 제2 인증서를 생성하도록 구성되는 제2 생성 모듈 - 제2 인증서는 제1 인증서와 동일한 범용 명칭을 가지고 있고, 제2 루트 인증서는 신뢰할 수 있는 실행 도메인 및 신뢰할 수 없는 실행 도메인 내에 사전 저장되어 있음 -; 및
제2 루트 인증서, 및 제2 생성 모듈에 의해 생성되는 제2 인증서에 따라 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간에 SSL 연결을 구축하고, 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간의 세션 키인 제2 세션 키를 결정하도록 구성되는 제2 구축 모듈;
제1 획득 모듈은, 이하를 포함한다:
제2 세션 키를 이용하여 암호화된 제1 네트워크 데이터 패킷을 획득하도록 구성된 제1 획득 유닛; 및
신뢰할 수 있는 실행 도메인 내에서 또한 제2 세션 키를 이용하여, 제1 획득 유닛에 의해 획득되는 암호화된 제1 네트워크 데이터 패킷을 암호해독하도록 구성된 암호해독 유닛.
선택적으로, 일 실시예에서, 제2 구축 모듈은, 이하를 포함한다:
신뢰할 수 있는 실행 도메인 내에 생성되는 제2 인증서를 획득하도록 구성된 제2 획득 유닛;
제2 획득 유닛에 의해 획득되는 제2 인증서를 신뢰할 수 없는 실행 도메인 내에서 또한 제2 루트 인증서에 따라 검증하고, 검증이 성공한 경우 제2 세션 키를 생성하며, 제2 인증서의 공개 키를 이용하여 제2 세션 키를 암호화하도록 구성되는 처리 유닛; 및
제2 세션 키를 획득하기 위해, 처리 유닛에 의해 암호화된 제2 세션 키를 신뢰할 수 있는 실행 도메인 내에서 또한 제2 인증서의 개인 키를 이용하여 암호해독하도록 구성된 암호해독 유닛.
선택적으로, 일 실시예에서, 제1 송신 모듈은, 이하를 포함한다:
암호화된 제2 네트워크 데이터 패킷을 신뢰할 수 없는 실행 도메인에 공유 메모리를 이용하여 전달하도록 구성된 전달 유닛; 및
신뢰할 수 없는 실행 도메인 내에서, 암호화된 제2 네트워크 데이터 패킷을 타깃 서버에 송신하도록 구성된 송신 유닛.
본 발명의 본 실시예에 따른 데이터 처리 장치(400)가 본 발명의 실시예의 데이터 처리 방법에서의 단말기에 대응할 수 있다고 이해해야 한다. 예를 들어, 도 1에 도시된 단말기, 및 전술한 그리고 장치(400)에서의 모듈의 다른 동작 및/또는 기능이 도 1 내지 도 4에서의 방법의 대응하는 절차를 구현하기 위해 각각 사용되며, 이는 간략화를 위해 본 명세서에서 다시 설명되지 않는다.
따라서, 본 발명의 본 실시예의 데이터 처리 장치를 사용함으로써, 데이터가 신뢰할 수 있는 실행 도메인 내에 저장되어 있으면서, 데이터 암호화 키도 또한 신뢰할 수 있는 실행 도메인 내에 저장되어 있으며, 이로 인해 데이터 보안이 향상될 수 있다.
도 6에 도시된 바와 같이, 본 발명의 일 실시예는 네트워크 장치(500)를 더 제공한다. 여기서, 네트워크 장치(500)는 프로세서(510), 메모리(520), 버스 시스템(530), 수신기(540), 및 송신기(550)를 포함한다. 프로세서(510), 메모리(520), 수신기(540), 및 송신기(550)는 버스 시스템(530)을 이용하여 연결되고, 메모리(520)은 명령을 저장하도록 구성되며, 수신기(540)를 제어하여 신호를 수신하고 송신기(550)를 제어하여 신호를 송신하기 위해, 프로세서(510)는 메모리(520)에 의해 저장된 명령을 실행하도록 구성된다. 프로세서(510)는 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하고 - 여기서, 제1 네트워크 데이터 패킷은 제1 식별자를 포함하고 있음 -; 신뢰할 수 있는 실행 도메인 내에서, 제1 식별자에 대응하는 제1 데이터를 획득하며 - 여기서, 제1 데이터는 타깃 애플리케이션이 타깃 서버에 서비스를 요청하기 위해 필요한 데이터임 -; 신뢰할 수 있는 실행 도메인 내에서, 제1 네트워크 데이터 패킷 및 제2 획득 모듈에 의해 획득되는 제1 데이터에 따라 제2 네트워크 데이터 패킷을 생성하고; 암호화된 제2 네트워크 데이터 패킷을 획득하기 위해, 신뢰할 수 있는 실행 도메인 내에서 또한 타깃 서버와의 사전협상에 의해 결정되는 제1 세션 키를 이용하여, 제1 생성 모듈에 의해 생성된 제2 네트워크 데이터 패킷에 대한 암호화를 수행하며; 송신기(550)는 암호화 모듈에 의해 획득되는 암호화된 제2 네트워크 데이터 패킷을 타깃 서버에 송신하도록 구성된다.
따라서, 본 발명의 본 실시예의 데이터 처리 장치를 사용함으로써, 데이터가 신뢰할 수 있는 실행 도메인 내에 저장되어 있으면서, 데이터 암호화 키도 또한 신뢰할 수 있는 실행 도메인 내에 저장되어 있으며, 이로 인해 데이터 보안이 향상될 수 있다.
선택적으로, 일 실시예에서, 수신기(540)는 타깃 서버에 의해 송신되고 제1 세션 키를 이용하여 암호화되는 제3 네트워크 데이터 패킷을 수신하도록 구성되고; 프로세서(510)는 수신기(540)에 의해 수신되는 암호화된 제3 네트워크 데이터 패킷을 신뢰할 수 있는 실행 도메인 내에서 또한 제1 세션 키를 이용하여 암호해독하도록 구성되며; 암호해독된 제3 네트워크 데이터 패킷이 제1 데이터를 포함한다고 결정되는 경우 제3 네트워크 데이터 패킷 및 제1 데이터에 대응하는 제1 식별자에 따라 제4 네트워크 데이터 패킷을 생성하고 - 여기서, 제4 네트워크 데이터 패킷은 제1 데이터를 포함하고 있지 않음 - 송신기(550)는 제4 네트워크 데이터 패킷을 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 송신하도록 구성된다.
선택적으로, 일 실시예에서, 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계 이전에, 프로세서(510)는 신뢰할 수 있는 실행 도메인 내에서, 타깃 서버와 시큐어 소켓 레이어(SSL) 연결을 구축하고, 제1 세션 키를 결정하도록 구성된다. 여기서, 제1 세션 키는 신뢰할 수 있는 실행 도메인 내에 사전 저장된 제1 루트 인증서를 이용하여 타깃 서버의 제1 인증서에 대한 검증이 성공한 후에 생성되는 세션 키이고, 제1 인증서는 타깃 서버의 아이덴티티를 보증하기 위해 사용된다.
선택적으로, 일 실시예에서, 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계 이전에, 프로세서(510)는 신뢰할 수 있는 실행 도메인 내에서, 제2 루트 인증서에 따라 제2 인증서를 생성하고 - 여기서, 제2 인증서는 제1 인증서와 동일한 범용 명칭을 가지고 있고, 제2 루트 인증서는 신뢰할 수 있는 실행 도메인 및 신뢰할 수 없는 실행 도메인 내에 사전 저장되어 있음 -; 제2 루트 인증서 및 제2 생성 모듈에 의해 생성되는 제2 인증서에 따라 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간의 SSL 연결을 구축하고, 제2 세션 키를 결정하며 - 여기서, 제2 세션 키는 신뢰할 수 있는 실행 도메인과 신뢰할 수 없는 실행 도메인 간의 세션 키임 -; 제2 세션 키를 이용하여 암호화된 제1 네트워크 데이터 패킷을 획득하고; 암호화된 제1 네트워크 데이터 패킷을 신뢰할 수 있는 실행 도메인 내에서 또한 제2 세션 키를 이용하여 암호해독하도록 구성된다.
선택적으로, 일 실시예에서, 프로세서(510)는, 신뢰할 수 있는 실행 도메인 내에 생성되는 제2 인증서를 획득하고; 신뢰할 수 없는 실행 도메인 내에서, 제2 루트 인증서에 따라 제2 인증서를 검증하며; 검증이 성공한 경우 제2 세션 키를 생성하고, 제2 인증서의 공개 키를 이용하여 제2 세션 키를 암호화하고; 제2 세션 키를 획득하기 위해, 신뢰할 수 있는 실행 도메인 내에서 또한 제2 인증서의 개인 키를 이용하여, 처리 유닛에 의해 암호화된 제2 세션 키를 암호해독하도록 구성된다.
선택적으로, 일 실시예에서, 프로세서(510)는 암호화된 제2 네트워크 데이터 패킷을 신뢰할 수 없는 실행 도메인에 공유 메모리를 이용하여 전달하도록 구성된다.
송신기(550)는, 신뢰할 수 없는 실행 도메인 내에서, 암호화된 제2 네트워크 데이터 패킷을 타깃 서버에 송신하도록 구성된다.
이해되어야 할 것은, 본 발명의 본 실시예에서, 프로세서(510)는 중앙처리장치(Central Processing Unit, CPU)일 수 있거나, 또는 프로세서(510)는 다른 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 반도체(ASIC), 필드 프로그램 가능 게이트 어레이(FPGA) 또는 다른 프로그램 가능한 논리적인 장치, 디스크리트 게이트(discrete gate) 또는 트랜지스터 로직 장치, 또는 독립된 하드웨어 컴포넌트 등일 수 있다는 것이다. 범용 프로세서는 마이크로프로세서일 수 있거나, 또는 프로세서는 임의의 종래의 프로세서일 수 있다.
메모리(520)는 읽기 전용 메모리 및 랜덤 액세스 메모리를 포함할 수 있고, 프로세서(510)를 위한 명령 및 데이터를 제공한다. 메모리(520) 중 일부는 비휘발성 램(non-volatile RAM, NVRAM)을 더 포함할 수 있다. 예를 들어, 메모리(520) 장치 타입에 관한 정보를 더 저장할 수 있다.
데이터 버스 외에도, 버스 시스템(530)는 전력 버스, 제어버스, 상태 신호 버스 등을 더 포함할 수 있다. 하지만, 명확한 설명을 위해, 다양한 타입의 버스들이 도면에서 버스 시스템(530)으로서 표시되어 있다.
구현 과정 중에, 전술한 방법에서의 단계가 프로세서(510) 내의 하드웨어의 통합 로직 회로 또는 소프트웨어의 형태의 명령을 이용하여 완료될 수 있다. 본 발명의 실시예를 참조하여 개시되는 방법의 단계가 하드웨어 프로세서에 의해 직접 실행되고 완료될 수 있거나, 또는 프로세서 내의 하드웨어와 소프트웨어의 모듈의 조합을 이용하여 실행되고 완료될 수 있다. 소프트웨어 모듈은 이 분야에서 성숙한 저장 매체, 예컨대 랜덤 액세스 메모리, 플래쉬 메모리, 읽기 전용 메모리, 피롬(programmable ROM), 전기적 소거 가능한 프로그램 가능 메모리, 또는 레지스터에 위치할 수 있다. 저장 매체는 메모리(520)에 위치하고, 프로세서(510)는 메모리(520) 내의 정보를 판독하고, 프로세서(510)의 하드웨어와 결합하여 전술한 방법에서의 단계를 완료한다. 중복을 피하기 위하여, 세부사항은 본 명세서에서 다시 설명하지 않는다.
추가로 이해해야 할 것은, 본 발명의 본 실시예에 따른 데이터 처리 장치(500)는 본 발명의 실시예에서의 데이터 처리 장치(400)에 대응할 수 있거나, 또는 본 발명의 일 실시예에서의 데이터 처리 단말기에 대응할 수 있고, 전술한 작업 및 다른 작업 및/또는 장치(500) 내의 모듈의 기능은 도 1 내지 도 4의 방법의 대응하는 절차를 구현하기 위해 각각 사용되며, 간결성을 위해 본 명세서에서 다시 설명하지 않는다는 것이다.
따라서, 본 발명의 본 실시예의 데이터 처리 장치를 사용함으로써, 데이터가 신뢰할 수 있는 실행 도메인 내에 저장되어 있으면서, 데이터 암호화 키도 또한 신뢰할 수 있는 실행 도메인 내에 저장되어 있으며, 이로 인해 데이터 보안이 향상될 수 있다.
본 명세서에서의 용어 "및/또는"은 연관된 객체를 설명하기 위한 연관 관계만을 설명하고 3개의 관계가 존재할 수 있다는 것을 나타낸다. 예를 들어, A 및/또는 B는 3가지 경우, 즉 A만 존재하는 경우, A와 B 양자가 존재하는 경우, 및 B만 존재하는 경우를 나타낼 수 있다. 또한, 본 설명의 기호 "/"는 일반적으로 관련된 대상 사이의 "또는(or)" 관계를 나타낸다.
이해되어야 할 것은, 본 발명의 다양한 실시예에서, 전술한 프로세스 내의 시퀀스 번호의 값은 실행 시퀀스를 나타내지 않고, 각각의 프로세스의 실행 시퀀스는 그 기능 및 내부 로직에 의해 결정되며, 이는 본 발명의 일 실시예의 구현 프로세스에 어떠한 제한도 부과하지 않을 것이라는 점이다.
당업자라면 본 명세서에서 공개된 실시예에서 설명된 예와 함께, 유닛과 알고리즘 단계가 전자 하드웨어 또는 컴퓨터 소프트웨어와 전자 하드웨어의 조합으로 구현될 수 있다는 것을 알 수 있을 것이다. 기능이 하드웨어에 의해 수행되는지 또는 소프트웨어에 의해 수행되는지 여부는 구체적인 적용 및 기술적 해결방안의 설계 제한 조건에 따라 달라진다. 당업자는 각각의 구체적인 적용을 위해 설명되는 기능을 구현하기 위해 다른 방법을 사용할 수 있지만, 이러한 구현이 본 발명의 범위를 벗어나는 것으로 간주해서는 안된다.
설명을 용이하고 단순하게 하기 위해, 전술한 시스템, 장치, 및 유닛의 상세한 작동 프로세스에 대해, 세부사항이 본 명세서에서 다시 설명되지 않는다는 것이 당업자에 의해서 명확하게 이해될 수 있을 것이다.
본 출원에 포함된 몇몇 구현 예에서, 개시된 시스템, 장치, 및 방법이 다른 방식으로 구현될 수 있다는 것이 이해하여야 한다. 예를 들어, 설명되는 장치 실시예는 단지 예시적인 것일 뿐이다. 예를 들어, 유닛 구분은 단지 논리적 기능 구분일 뿐이고 실제 구현에서는 이와 다르게 구분될 수 있다. 예를 들어, 복수의 유닛 또는 콤포넌트는 다른 시스템으로 결합되거나 통합될 수 있거나, 또는 몇몇 특징은 무시되거나 수행되지 않을 수도 있다. 또한, 표시되거나 서술되는 상호 커플링 또는 직접 커플링 또는 통신 연결은 몇몇 인터페이스를 통해서 구현될 수 있다. 장치 또는 유닛 간의 간접 연결 또는 통신 연결은 전자적 형태, 기계적 형태, 또는 다른 형태로 구현될 수도 있다.
별도의 부분으로 설명된 유닛은 물리적으로 분리되거나 또는 분리되지 않을 수 있고, 유닛으로서 표시되는 부분은 물리적 유닛이거나 또는 물리적 유닛이 아닐 수 있으며, 하나의 위치에 놓여 있을 수 있거나, 또는 복수의 네트워크 유닛 상에 분산되어 있을 수 있다. 유닛 중 일부 또는 전부가 실시예의 해결수단의 목적을 달성하기 위한 실제 필요에 따라 선택될 수 있다.
또한, 본 발명의 실시예의 기능 유닛은 하나의 처리 유닛으로 통합될 수 있거나, 또는 각각의 유닛이 물리적으로 단독으로 존재할 수도 있거나, 또는 2개 이상의 유닛이 하나의 유닛으로 통합될 수 있다.
이 기능들이 소프트웨어 기능 유닛의 형태로 구현되어 독립적인 제품으로 판매되거나 사용되는 경우, 이 기능들은 컴퓨터로 판독가능한 저장 매체에 저장될 수 있다. 이러한 이해를 바탕으로, 본 발명의 과제 해결수단은 본질적으로, 또는 종래 기술에 기여하는 부분은, 또는 과제 해결수단의 일부는 소프트웨어 제품의 형태로 구현될 수 있다. 소프트웨어 제품은 저장 매체에 저장되고, 컴퓨터 장치(개인용 컴퓨터, 서버, 또는 네트워크 장치일 수 있음)가 본 발명의 실시예에서 설명되는 방법의 단계의 전부 또는 일부를 수행하도록 지시하는 여러 명령을 포함한다. 전술한 저장 매체는 프로그램 코드를 저장할 수 있는 임의의 저장 매체, 예컨대, USB 플래쉬 드라이브, 착탈식 하드디스크, 읽기 전용 메모리, 랜덤 액세스 메모리, 자기 디스크, 또는 광 디스크를 포함한다.
전술한 설명은 단지 본 발명의 특정한 구현 방식일 뿐이며, 본 발명의 보호 범위를 제한하고자 하는 것은 아니다. 당업자가 본 발명에서 개시되는 기술적인 보호범위 내에서 즉시 파악할 수 있는 임의의 변경 또는 대체는 본 발명의 보호 범위에 속할 것이다. 따라서, 본 발명의 보호 범위는 특허 청구 범위의 보호 범위에 따른다.

Claims (12)

  1. 데이터 처리 방법으로서,
    신뢰할 수 없는 실행 도메인(untrusted execution domain) 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계 - 상기 제1 네트워크 데이터 패킷은 제1 식별자를 포함하고 있음 -;
    신뢰할 수 있는 실행 도메인(trusted execution domain) 내에서, 상기 제1 식별자에 대응하는 제1 데이터를 획득하는 단계 - 상기 제1 데이터는 상기 타깃 애플리케이션이 타깃 서버에 서비스를 요청하기 위해 필요한 데이터임 -;
    상기 신뢰할 수 있는 실행 도메인 내에서, 상기 제1 데이터 및 상기 제1 네트워크 데이터 패킷에 따라 제2 네트워크 데이터 패킷을 생성하는 단계;
    암호화된 제2 네트워크 데이터 패킷을 획득하기 위해, 상기 신뢰할 수 있는 실행 도메인 내에서, 상기 타깃 서버와의 사전협상에 의해 결정되는 제1 세션 키를 이용하여 상기 제2 네트워크 데이터 패킷에 대해 암호화를 수행하는 단계; 및
    상기 암호화된 제2 네트워크 데이터 패킷을 상기 타깃 서버에 송신하는 단계
    를 포함하는 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 타깃 서버에 의해 송신되고 상기 제1 세션 키를 이용하여 암호화되는 제3 네트워크 데이터 패킷을 수신하는 단계;
    상기 신뢰할 수 있는 실행 도메인 내에서, 상기 제1 세션 키를 이용하여 상기 암호화된 제3 네트워크 데이터 패킷을 암호해독하는 단계;
    상기 암호해독된 제3 네트워크 데이터 패킷이 상기 제1 데이터를 포함한다고 결정되는 경우 상기 제3 네트워크 데이터 패킷, 및 상기 제1 데이터에 대응하는 상기 제1 식별자에 따라 제4 네트워크 데이터 패킷을 생성하는 단계 - 상기 제4 네트워크 데이터 패킷은 상기 제1 데이터를 포함하고 있지 않음 -; 및
    상기 제4 네트워크 데이터 패킷을 상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 상기 타깃 애플리케이션에 송신하는 단계
    를 더 포함하는 데이터 처리 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계 이전에,
    상기 신뢰할 수 있는 실행 도메인 내에서, 상기 타깃 서버와 시큐어 소켓 레이어(Secure Sockets Layer, SSL) 연결을 구축하는 단계; 및
    상기 제1 세션 키를 결정하는 단계 - 상기 제1 세션 키는 상기 타깃 서버의 제1 인증서에 대한 검증이 상기 신뢰할 수 있는 실행 도메인 내에 사전 저장된 제1 루트 인증서를 이용하여 성공한 후에 생성되는 세션 키이고, 상기 제1 인증서는 상기 타깃 서버의 아이덴티티를 보증하기 위해 사용되는 것임 -
    를 더 포함하는 데이터 처리 방법.
  4. 제3항에 있어서,
    상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계 이전에, 상기 데이터 처리 방법은,
    상기 신뢰할 수 있는 실행 도메인 내에서, 제2 루트 인증서에 따라 제2 인증서를 생성하는 단계 - 상기 제2 인증서는 상기 제1 인증서와 동일한 범용 명칭을 가지고 있고, 상기 제2 루트 인증서는 상기 신뢰할 수 있는 실행 도메인 및 상기 신뢰할 수 없는 실행 도메인 내에 사전 저장되어 있음 -; 및
    상기 신뢰할 수 있는 실행 도메인과 상기 신뢰할 수 없는 실행 도메인 간에 상기 SSL 연결을 구축하고, 상기 제2 인증서 및 상기 제2 루트 인증서에 따라 제2 세션 키를 결정하는 단계 - 상기 제2 세션 키는 상기 신뢰할 수 있는 실행 도메인과 상기 신뢰할 수 없는 실행 도메인 간의 세션 키임 -
    를 더 포함하고,
    신뢰할 수 있는 실행 도메인 내에서, 상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하는 단계는,
    상기 제2 세션 키를 이용하여 암호화된 상기 제1 네트워크 데이터 패킷을 획득하는 단계; 및
    상기 신뢰할 수 있는 실행 도메인 내에서, 상기 제2 세션 키를 이용하여 상기 암호화된 제1 네트워크 데이터 패킷을 암호해독하는 단계
    를 포함하는, 데이터 처리 방법.
  5. 제4항에 있어서,
    상기 신뢰할 수 있는 실행 도메인과 상기 신뢰할 수 없는 실행 도메인 간에 상기 SSL 연결을 구축하고, 상기 제2 인증서 및 상기 제2 루트 인증서에 따라 제2 세션 키를 결정하는 단계는,
    상기 신뢰할 수 있는 실행 도메인 내에 생성되는 상기 제2 인증서를 획득하는 단계;
    상기 신뢰할 수 없는 실행 도메인 내에서, 상기 제2 루트 인증서에 따라 상기 제2 인증서를 검증하는 단계;
    검증이 성공하는 경우 상기 제2 세션 키를 생성하는 단계;
    상기 제2 인증서의 공개 키(public key)를 이용하여 상기 제2 세션 키를 암호화하는 단계; 및
    상기 제2 세션 키를 획득하기 위해, 상기 신뢰할 수 있는 실행 도메인 내에서, 상기 제2 인증서의 개인 키(private key)를 이용하여 상기 암호화된 제2 세션 키를 암호해독하는 단계
    를 포함하는, 데이터 처리 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 암호화된 제2 네트워크 데이터 패킷을 상기 타깃 서버에 송신하는 단계는,
    상기 암호화된 제2 네트워크 데이터 패킷을 상기 신뢰할 수 없는 실행 도메인에 공유 메모리를 이용하여 전달하는 단계; 및
    상기 신뢰할 수 없는 실행 도메인 내에서, 상기 암호화된 제2 네트워크 데이터 패킷을 상기 타깃 서버에 송신하는 단계
    를 포함하는, 데이터 처리 방법.
  7. 데이터 처리 장치로서,
    신뢰할 수 없는 실행 도메인 내에서 실행되는 타깃 애플리케이션에 의해 송신되는 제1 네트워크 데이터 패킷을 획득하도록 구성된 제1 획득 모듈 - 상기 제1 네트워크 데이터 패킷은 제1 식별자를 포함하고 있음 -;
    신뢰할 수 있는 실행 도메인 내에서, 상기 제1 획득 모듈에 의해 획득되는 상기 제1 네트워크 데이터 패킷 내의 상기 제1 식별자에 대응하는 제1 데이터를 획득하도록 구성된 제2 획득 모듈 - 상기 제1 데이터는 상기 타깃 애플리케이션이 타깃 서버에 서비스를 요청하기 위해 필요한 데이터임 -;
    상기 신뢰할 수 있는 실행 도메인 내에서, 상기 제1 네트워크 데이터 패킷, 및 상기 제2 획득 모듈에 의해 획득되는 상기 제1 데이터에 따라 제2 네트워크 데이터 패킷을 생성하도록 구성되는 제1 생성 모듈;
    암호화된 제2 네트워크 데이터 패킷을 획득하기 위해, 상기 신뢰할 수 있는 실행 도메인 내에서 또한 상기 타깃 서버와의 사전협상에 의해 결정되는 제1 세션 키를 이용하여, 상기 제1 생성 모듈에 의해 생성되는 상기 제2 네트워크 데이터 패킷에 대한 암호화를 수행하도록 구성되는 암호화 모듈; 및
    상기 암호화 모듈에 의해 획득되는 상기 암호화된 제2 네트워크 데이터 패킷을 상기 타깃 서버에 송신하도록 구성된 제1 송신 모듈
    을 포함하는 데이터 처리 장치.
  8. 제7항에 있어서,
    상기 타깃 서버에 의해 송신되고 상기 제1 세션 키를 이용하여 암호화되는 제3 네트워크 데이터 패킷을 수신하도록 구성된 수신 모듈;
    상기 수신 모듈에 의해 수신되는 상기 암호화된 제3 네트워크 데이터 패킷을 상기 신뢰할 수 있는 실행 도메인 내에서 또한 상기 제1 세션 키를 이용하여 암호해독하고, 상기 암호해독된 제3 네트워크 데이터 패킷이 상기 제1 데이터를 포함한다고 결정되는 경우 상기 제3 네트워크 데이터 패킷, 및 상기 제1 데이터에 대응하는 상기 제1 식별자에 따라 제4 네트워크 데이터 패킷을 생성하도록 구성된 처리 모듈 - 상기 제4 네트워크 데이터 패킷은 상기 제1 데이터를 포함하고 있지 않음 -; 및
    상기 처리 모듈에 의해 생성된 상기 제4 네트워크 데이터 패킷을 상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 상기 타깃 애플리케이션에 송신하도록 구성된 제2 송신 모듈
    을 더 포함하는 데이터 처리 장치.
  9. 제7항 또는 제8항에 있어서,
    상기 제1 획득 모듈이 상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 상기 타깃 애플리케이션에 의해 송신되는 상기 제1 네트워크 데이터 패킷을 획득하기 전에 상기 신뢰할 수 있는 실행 도메인 내에서 상기 타깃 서버와 시큐어 소켓 레이어(SSL) 연결을 구축하고, 상기 제1 세션 키를 결정하도록 구성된 제1 구축 모듈 - 상기 제1 세션 키는 상기 타깃 서버의 제1 인증서에 대한 검증이 상기 신뢰할 수 있는 실행 도메인 내에 사전 저장된 제1 루트 인증서를 이용하여 성공한 후에 생성되는 세션 키이고, 상기 제1 인증서는 상기 타깃 서버의 아이덴티티를 보증하기 위해 사용되는 것임 -
    을 더 포함하는 데이터 처리 장치.
  10. 제9항에 있어서,
    상기 데이터 처리 장치는,
    상기 제1 획득 모듈이 상기 신뢰할 수 없는 실행 도메인 내에서 실행되는 상기 타깃 애플리케이션에 의해 송신되는 상기 제1 네트워크 데이터 패킷을 획득하기 전에, 상기 신뢰할 수 있는 실행 도메인 내에서, 제2 루트 인증서에 따라 제2 인증서를 생성하도록 구성되는 제2 생성 모듈 - 상기 제2 인증서는 상기 제1 인증서와 동일한 범용 명칭을 가지고 있고, 상기 제2 루트 인증서는 상기 신뢰할 수 있는 실행 도메인 및 상기 신뢰할 수 없는 실행 도메인 내에 사전 저장되어 있음 -; 및
    상기 제2 루트 인증서, 및 상기 제2 생성 모듈에 의해 생성되는 상기 제2 인증서에 따라 상기 신뢰할 수 있는 실행 도메인과 상기 신뢰할 수 없는 실행 도메인 간에 상기 SSL 연결을 구축하고, 상기 신뢰할 수 있는 실행 도메인과 상기 신뢰할 수 없는 실행 도메인 간의 세션 키인 제2 세션 키를 결정하도록 구성되는 제2 구축 모듈
    을 더 포함하고,
    상기 제1 획득 모듈은,
    상기 제2 세션 키를 이용하여 암호화된 상기 제1 네트워크 데이터 패킷을 획득하도록 구성된 제1 획득 유닛; 및
    상기 신뢰할 수 있는 실행 도메인 내에서 또한 상기 제2 세션 키를 이용하여, 상기 제1 획득 유닛에 의해 획득되는 상기 암호화된 제1 네트워크 데이터 패킷을 암호해독하도록 구성된 암호해독 유닛
    을 포함하는, 데이터 처리 장치.
  11. 제10항에 있어서,
    상기 제2 구축 모듈은,
    상기 신뢰할 수 있는 실행 도메인 내에 생성되는 상기 제2 인증서를 획득하도록 구성된 제2 획득 유닛;
    상기 제2 획득 유닛에 의해 획득되는 상기 제2 인증서를 상기 신뢰할 수 없는 실행 도메인 내에서 또한 상기 제2 루트 인증서에 따라 검증하고, 검증이 성공한 경우 상기 제2 세션 키를 생성하며, 상기 제2 인증서의 공개 키를 이용하여 상기 제2 세션 키를 암호화하도록 구성되는 처리 유닛; 및
    상기 제2 세션 키를 획득하기 위해, 상기 처리 유닛에 의해 암호화된 상기 제2 세션 키를 상기 신뢰할 수 있는 실행 도메인 내에서 또한 상기 제2 인증서의 개인 키를 이용하여 암호해독하도록 구성된 암호해독 유닛
    을 포함하는, 데이터 처리 장치.
  12. 제7항 내지 제11항 중 어느 한 항에 있어서,
    상기 제1 송신 모듈은,
    상기 암호화된 제2 네트워크 데이터 패킷을 상기 신뢰할 수 없는 실행 도메인에 공유 메모리를 이용하여 전달하도록 구성된 전달 유닛; 및
    상기 신뢰할 수 없는 실행 도메인 내에서, 상기 암호화된 제2 네트워크 데이터 패킷을 상기 타깃 서버에 송신하도록 구성된 송신 유닛
    을 포함하는, 데이터 처리 장치.
KR1020177003845A 2014-07-25 2014-12-29 데이터 처리 방법 및 장치 KR101904177B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410361410.9A CN105450406B (zh) 2014-07-25 2014-07-25 数据处理的方法和装置
CN201410361410.9 2014-07-25
PCT/CN2014/095294 WO2016011778A1 (zh) 2014-07-25 2014-12-29 数据处理的方法和装置

Publications (2)

Publication Number Publication Date
KR20170032374A true KR20170032374A (ko) 2017-03-22
KR101904177B1 KR101904177B1 (ko) 2018-10-04

Family

ID=54288622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177003845A KR101904177B1 (ko) 2014-07-25 2014-12-29 데이터 처리 방법 및 장치

Country Status (6)

Country Link
US (2) US9762555B2 (ko)
EP (1) EP2991268B1 (ko)
JP (1) JP6612322B2 (ko)
KR (1) KR101904177B1 (ko)
CN (1) CN105450406B (ko)
WO (1) WO2016011778A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10469472B2 (en) * 2013-08-12 2019-11-05 Cis Maxwell, Llc Operating system integrated domain management
WO2015074150A1 (en) 2013-11-21 2015-05-28 Graphite Software Corporation Managed domains for remote content and configuration control on mobile information devices
US10205598B2 (en) * 2015-05-03 2019-02-12 Ronald Francis Sulpizio, JR. Temporal key generation and PKI gateway
US10417456B2 (en) 2015-12-23 2019-09-17 Tracfone Wireless, Inc. Secure system having a multi-locking mechanism for devices having embedded systems
CN106101068B (zh) * 2016-05-27 2019-06-11 宇龙计算机通信科技(深圳)有限公司 终端通信方法及系统
USD834216S1 (en) 2016-07-27 2018-11-20 Marshalls Mono Limited Drainage component
WO2018086279A1 (zh) 2016-11-14 2018-05-17 华为技术有限公司 一种消息推送方法及终端
US11165565B2 (en) 2016-12-09 2021-11-02 Microsoft Technology Licensing, Llc Secure distribution private keys for use by untrusted code
US10749690B2 (en) * 2017-03-10 2020-08-18 Samsung Electronics Co., Ltd. System and method for certificate authority for certifying accessors
CN107423610B (zh) * 2017-08-11 2019-11-15 北京安云世纪科技有限公司 一种基于无线通信连接的私密信息处理方法及装置
CN109495269B (zh) * 2017-09-13 2023-11-03 厦门雅迅网络股份有限公司 车载端对接入设备的可信验证方法及其系统、车载端
CN107800716B (zh) * 2017-11-14 2020-05-01 中国银行股份有限公司 一种数据处理方法及装置
US11146407B2 (en) * 2018-04-17 2021-10-12 Digicert, Inc. Digital certificate validation using untrusted data
US11664995B2 (en) * 2018-04-20 2023-05-30 Vishal Gupta Decentralized document and entity verification engine
CN110489971A (zh) * 2018-05-15 2019-11-22 微软技术许可有限责任公司 安全的数据集管理
CN108959906B (zh) * 2018-07-13 2020-08-21 Oppo广东移动通信有限公司 数据获取方法、移动终端、电子设备、产线标定系统、可读存储介质及计算机设备
CN111105777B (zh) * 2018-10-25 2023-10-31 阿里巴巴集团控股有限公司 语音数据的采集和播放方法和装置、密钥包的更新方法和装置以及存储介质
CN111753312B (zh) * 2019-03-26 2023-09-08 钉钉控股(开曼)有限公司 数据处理方法、装置、设备和系统
CN112422487A (zh) * 2019-08-23 2021-02-26 北京小米移动软件有限公司 数据传输方法、装置、系统及计算机可读存储介质
KR20210028422A (ko) * 2019-09-04 2021-03-12 삼성전자주식회사 전자장치 및 그 제어방법
CN110691265B (zh) * 2019-10-10 2021-04-20 四川虹微技术有限公司 基于声纹识别的电视支付方法及系统
CN111131200B (zh) * 2019-12-11 2022-06-28 新华三大数据技术有限公司 网络安全性检测方法及装置
CN111625815B (zh) * 2020-05-26 2023-09-26 牛津(海南)区块链研究院有限公司 一种基于可信执行环境的数据交易方法及装置
CN113691394B (zh) * 2021-07-29 2023-07-21 广州鲁邦通物联网科技股份有限公司 一种vpn通信的建立和切换的方法和系统
CN114553428B (zh) * 2022-01-11 2023-09-22 北京三快在线科技有限公司 一种可信验证系统、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012167352A1 (en) * 2011-06-10 2012-12-13 Securekey Technologies Inc. Credential authentication methods and systems
US20130227668A1 (en) * 2012-02-28 2013-08-29 Citrix Systems, Inc. Secure single sign-on

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418504B2 (en) * 1998-10-30 2008-08-26 Virnetx, Inc. Agile network protocol for secure communications using secure domain names
JP2001251297A (ja) * 2000-03-07 2001-09-14 Cti Co Ltd 情報処理装置、該情報処理装置を具備する暗号通信システム及び暗号通信方法
US7571314B2 (en) * 2001-12-13 2009-08-04 Intel Corporation Method of assembling authorization certificate chains
US7277972B2 (en) 2002-03-08 2007-10-02 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor
US7028149B2 (en) * 2002-03-29 2006-04-11 Intel Corporation System and method for resetting a platform configuration register
FR2906960B1 (fr) * 2006-10-05 2009-04-17 Radiotelephone Sfr Procede de mise a disposition cloisonnee d'un service electronique.
DE102007012749A1 (de) * 2007-03-16 2008-09-18 Siemens Ag Verfahren und System zur Bereitstellung von Diensten für Endgeräte
US8001592B2 (en) * 2007-05-09 2011-08-16 Sony Computer Entertainment Inc. Methods and apparatus for accessing resources using a multiprocessor in a trusted mode
DE102008051578A1 (de) * 2008-10-14 2010-04-15 Giesecke & Devrient Gmbh Datenkommunikation mit portablem Endgerät
ES2620962T3 (es) * 2009-11-25 2017-06-30 Security First Corporation Sistemas y procedimientos para asegurar datos en movimiento
US8650565B2 (en) * 2009-12-14 2014-02-11 Citrix Systems, Inc. Servicing interrupts generated responsive to actuation of hardware, via dynamic incorporation of ACPI functionality into virtual firmware
US8655966B1 (en) 2010-03-31 2014-02-18 Emc Corporation Mobile device data protection
US8543805B2 (en) * 2010-04-21 2013-09-24 Citrix Systems, Inc. Systems and methods for split proxying of SSL via WAN appliances
EP2980695B1 (en) * 2010-05-09 2017-04-12 Citrix Systems, Inc. Methods and systems for forcing an application to store data in a secure storage location
CN201699728U (zh) * 2010-06-17 2011-01-05 宁波电业局 用于电力实时系统的可信网络管理系统
EP2498529A1 (en) * 2011-03-08 2012-09-12 Trusted Logic Mobility SAS User authentication method for accessing an online service
CN103020538B (zh) 2011-09-23 2016-01-13 国民技术股份有限公司 一种终端数据保护方法及终端
US8627076B2 (en) * 2011-09-30 2014-01-07 Avaya Inc. System and method for facilitating communications based on trusted relationships
US8769302B2 (en) * 2011-10-14 2014-07-01 International Business Machines Corporation Encrypting data and characterization data that describes valid contents of a column
CN103139366B (zh) 2011-12-05 2014-09-24 希姆通信息技术(上海)有限公司 移动终端及其数据保护方法
US8839004B1 (en) * 2012-04-16 2014-09-16 Ionu Security, Inc. Secure cloud computing infrastructure
US20130301830A1 (en) 2012-05-08 2013-11-14 Hagai Bar-El Device, system, and method of secure entry and handling of passwords
ES2619957T3 (es) * 2012-11-22 2017-06-27 Huawei Technologies Co., Ltd. Procedimiento y dispositivo de control de gestión para máquinas virtuales
CN103856477B (zh) * 2012-12-06 2018-01-02 阿里巴巴集团控股有限公司 一种可信计算系统及相应的认证方法和设备
CN103139221B (zh) * 2013-03-07 2016-07-06 中国科学院软件研究所 一种可信虚拟平台及其构建方法、平台之间数据迁移方法
CN103532927A (zh) 2013-07-30 2014-01-22 北京中科金财科技股份有限公司 一种基于移动终端的金融云安全服务平台和数据保护方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012167352A1 (en) * 2011-06-10 2012-12-13 Securekey Technologies Inc. Credential authentication methods and systems
US20130227668A1 (en) * 2012-02-28 2013-08-29 Citrix Systems, Inc. Secure single sign-on

Also Published As

Publication number Publication date
US9762555B2 (en) 2017-09-12
JP6612322B2 (ja) 2019-11-27
CN105450406A (zh) 2016-03-30
US20160028701A1 (en) 2016-01-28
WO2016011778A1 (zh) 2016-01-28
US20170374040A1 (en) 2017-12-28
KR101904177B1 (ko) 2018-10-04
EP2991268A1 (en) 2016-03-02
EP2991268A4 (en) 2016-03-02
JP2017529729A (ja) 2017-10-05
CN105450406B (zh) 2018-10-02
EP2991268B1 (en) 2018-05-23
US10243933B2 (en) 2019-03-26

Similar Documents

Publication Publication Date Title
KR101904177B1 (ko) 데이터 처리 방법 및 장치
US8532620B2 (en) Trusted mobile device based security
US11432150B2 (en) Method and apparatus for authenticating network access of terminal
US8112787B2 (en) System and method for securing a credential via user and server verification
WO2015180691A1 (zh) 验证信息的密钥协商方法及装置
JP6896940B2 (ja) 第1のアプリケーションと第2のアプリケーションとの間の対称型相互認証方法
CN108566381A (zh) 一种安全升级方法、装置、服务器、设备和介质
KR20140037263A (ko) 신뢰성있는 인증 및 로그온을 위한 방법 및 장치
CN110838919B (zh) 通信方法、存储方法、运算方法及装置
CN108900595B (zh) 访问云存储服务器数据的方法、装置、设备及计算介质
CN114065170A (zh) 平台身份证书的获取方法、装置和服务器
CN111246480A (zh) 基于sim卡的应用通信方法、系统、设备及存储介质
EP4089955A1 (en) Quantum safe method for authentication of a service provider device to a user device
KR101737925B1 (ko) 도전-응답 기반의 사용자 인증 방법 및 시스템
Lu et al. A pragmatic online authentication framework using smart card
CN114003892A (zh) 可信认证方法、安全认证设备及用户终端
IL185795A (en) Device encryption and authentication method against malicious access to local computer

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant