KR20230048431A - 서비스 통신 방법, 시스템, 장치 및 전자 디바이스 - Google Patents

서비스 통신 방법, 시스템, 장치 및 전자 디바이스 Download PDF

Info

Publication number
KR20230048431A
KR20230048431A KR1020237008870A KR20237008870A KR20230048431A KR 20230048431 A KR20230048431 A KR 20230048431A KR 1020237008870 A KR1020237008870 A KR 1020237008870A KR 20237008870 A KR20237008870 A KR 20237008870A KR 20230048431 A KR20230048431 A KR 20230048431A
Authority
KR
South Korea
Prior art keywords
service
access process
service access
verification processing
information
Prior art date
Application number
KR1020237008870A
Other languages
English (en)
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 KR20230048431A publication Critical patent/KR20230048431A/ko

Links

Images

Classifications

    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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
    • 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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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/0819Key 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/0822Key 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
    • 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/0819Key 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/0825Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/3236Cryptographic 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 cryptographic hash functions
    • 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/3247Cryptographic 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 digital signatures
    • 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
    • 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/3268Cryptographic 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 validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • H04W12/0431Key distribution or pre-distribution; Key agreement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

서비스 통신 방법, 시스템, 장치, 전자 디바이스, 컴퓨터-판독 가능한 저장 매체, 및 컴퓨터 프로그램 제품; 상기 방법은: 서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신하는 것; 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱을 수행하며, 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행하는 것; 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하는 것; 서비스 키 정보에 기초하여 서비스 액세스 프로세스와의 암호화된 서비스 통신을 수행하기 위해 서비스 키 정보를 서비스 액세스 프로세스로 송신하는 것; 및 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어하는 것을 포함한다.

Description

서비스 통신 방법, 시스템, 장치 및 전자 디바이스
본 출원은 2020년 11월 5일에 출원된 중국 특허 출원 번호 제202011222173.X호에 대한 우선권을 주장하며, 해당 중국 출원은 그 전체가 참조로 본원에 포함된다.
본 출원은 통신 기술에 관한 것이며, 보다 구체적으로는 서비스 통신 방법, 시스템, 장치, 전자 디바이스, 컴퓨터-판독 가능한 저장 매체, 및 컴퓨터 프로그램 제품에 관한 것이다.
서비스 시나리오(scenario)에서, 인터페이스 호출, 예를 들어, 단말기 디바이스의 또 다른 프로세스에 의한 단말기 디바이스의 하나의 프로세스의 인터페이스의 호출, 또 다른 예로서, 단말기 디바이스의 프로세스에 의한 서버의 프로세스의 인터페이스의 호출이 종종 발생한다. 인터페이스 호출은 서비스 통신, 예컨대, 특정한 데이터를 송신하거나 또는 요청하는 것 등을 달성하는 것이다.
관련 기술에 의해 제공된 기법들에서, 서비스 액세스 프로세스 호출(즉, 호출자 프로세스)을 위해, 고정 키가 보통 서비스 액세스 프로세스에 의해 지정되며, 뒤이은 암호화 서비스 통신이 키에 기초하여 수행된다. 그러나, 키(key)는 악의적 프로세스에 의해 사용되기 쉬워서, 서비스 통신의 보안의 불충분함을 야기하며, 이것은 서비스를 효과적으로 보장할 수 없다.
본 출원의 실시예는 서비스 통신 방법을 제공하며, 상기 서비스 통신 방법은:
서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신하는 단계;
상기 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱을 수행하며, 상기 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행하는 단계;
상기 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하는 단계;
상기 서비스 키 정보에 기초하여 서비스 액세스 프로세스와의 암호화된 서비스 통신을 위해 서비스 키 정보를 서비스 액세스 프로세스로 송신하는 단계; 및
서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어하는 단계를 포함한다.
본 출원의 실시예는 서비스 액세스 클라이언트, 보안 클라이언트 및 보안 서버를 포함한 서비스 통신 시스템을 제공하며; 상기 서비스 액세스 클라이언트는 서비스 액세스 프로세스를 실행한다;
상기 보안 클라이언트는:
서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신하고;
상기 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱을 수행하며; 상기 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행하도록 보안 서버에 통지하고;
서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하고;
상기 서비스 키 정보에 기초하여 서비스 액세스 프로세스와의 암호화된 서비스 통신을 위해 서비스 키 정보를 서비스 액세스 프로세스로 송신하며;
서비스 액세스 프로세스에 대한 보안 서버의 비동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어하도록 구성된다.
본 출원의 실시예는 서비스 통신 장치를 제공하며, 상기 서비스 통신 장치는:
서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신하도록 구성된 수신 모듈;
상기 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱을 수행하며, 상기 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행하도록 구성된 검증 모듈;
상기 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하도록 구성된 결정 모듈;
상기 서비스 키 정보에 기초하여 서비스 액세스 프로세스와의 암호화된 서비스 통신을 위해 서비스 키 정보를 서비스 액세스 프로세스로 송신하도록 구성된 송신 모듈; 및
서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어하도록 구성된 연결 제어 모듈을 포함한다.
본 출원의 실시예는 전자 디바이스를 제공하며, 상기 전자 디바이스는:
실행 가능한 명령을 저장하도록 구성된 메모리; 및
상기 메모리에 저장된 실행 가능한 명령을 실행할 때 본 출원의 실시예에 의해 제공된 서비스 통신 방법을 수행하도록 구성된 프로세서를 포함한다.
본 출원의 실시예는 실행 가능한 명령을 저장한, 컴퓨터-판독 가능한 저장 매체를 제공하며, 상기 실행 가능한 명령은, 실행할 때, 프로세서가 본 출원의 실시예에 의해 제공된 서비스 통신 방법을 수행하게 하도록 구성된다.
본 출원의 실시예는 실행 가능한 명령을 포함한, 컴퓨터 프로그램 제품을 제공하며, 상기 실행 가능한 명령은, 프로세서에 의해 실행될 때, 본 출원의 실시예에 의해 제공된 서비스 통신 방법을 수행한다.
도 1은 본 출원의 실시예에 의해 제공된 서비스 통신 시스템의 개략적인 아키텍처 다이어그램이다.
도 2는 본 출원의 실시예에 의해 제공된 블록체인 네트워크를 통합한 서비스 통신 시스템의 개략적인 아키텍처 다이어그램이다.
도 3은 본 출원의 실시예에 의해 제공된 단말기 디바이스의 개략적인 아키텍처 다이어그램이다.
도 4a는 본 출원의 실시예에 의해 제공된 서비스 통신 방법의 흐름도이다.
도 4b는 본 출원의 실시예에 의해 제공된 서비스 통신 방법의 흐름도이다.
도 4c는 본 출원의 실시예에 의해 제공된 서비스 통신 방법의 흐름도이다.
도 4d는 본 출원의 실시예에 의해 제공된 서비스 통신 방법의 흐름도이다.
도 4e는 본 출원의 실시예에 의해 제공된 서비스 통신 방법의 흐름도이다.
도 5는 본 출원의 실시예에 의해 제공된 보안 관리자의 전략 관리 인터페이스의 개략도이다.
도 6은 본 출원의 실시예에 의해 제공된 프로세스 정보의 개략도이다.
도 7은 본 출원의 실시예에 의해 제공된 보안 관리자의 제로-트러스트 게이트웨이 인터페이스의 개략도이다.
도 8은 본 출원의 실시예에 의해 제공된 제로-트러스트 게이트웨이의 구성 인터페이스의 개략도이다.
도 9는 본 출원의 실시예에 의해 제공된 보안 관리기의 서비스 시스템 인터페이스의 개략도이다.
도 10은 본 출원의 실시예에 의해 제공된 서비스 시스템의 구성 인터페이스의 개략도이다.
도 11은 본 출원의 실시예에 의해 제공된 서비스 시스템의 구성 인터페이스의 개략도이다.
도 12는 본 출원의 실시예에 의해 제공된 서비스 시스템의 구성 인터페이스의 개략도이다.
도 13은 본 출원의 실시예에 의해 제공된 보안 관리자의 전략 관리 인터페이스의 개략도이다.
도 14는 본 출원의 실시예에 의해 제공된 보안 클라이언트 인터페이스의 개략도이다.
도 15는 본 출원의 실시예에 의해 제공된 보안 클라이언트 인터페이스의 개략도이다.
도 16은 본 출원의 실시예에 의해 제공된 보안 클라이언트 인터페이스의 개략도이다.
도 17은 본 출원의 실시예에 의해 제공된 액세스 프로세스의 개략도이다.
도 18은 본 출원의 실시예에 의해 제공된 액세스 프로세스의 개략도이다.
도 19는 본 출원의 실시예에 의해 제공된 보안 서버 연쇄 배치의 개략도이다.
도 20은 본 출원의 실시예에 의해 제공된 비동기식 검증 프로세싱의 개략도이다.
본 출원의 목표, 기술적 해법, 및 이점(advantages)을 더 명확하게 하기 위해, 다음은 수반된 도면을 참조하여 더 상세하게 본 출원을 기술한다. 기술된 실시예는 본 출원에 대한 제한으로서 고려되지 않을 것이다. 창의적 노력 없이 이 기술분야에서의 통상의 기술자에 의해 획득된 모든 다른 실시예가 본 출원의 보호 범위 내에 있을 것이다.
다음의 설명에서, 관련된 "몇몇 실시예"는 모든 가능한 실시예의 서브세트를 기술한다. 그러나, "몇몇 실시예"는 가능한 실시예 모두의 동일한 서브세트 또는 상이한 서브세트일 수 있으며, 충돌없이 서로 조합될 수 있다는 것이 이해될 수 있다.
다음의 설명에서, "제1/제2/제3"이 포함된 용어는 단지 유사한 대상(object)들을 구별하도록 의도된 것이며 반드시 대상의 특정 순서를 나타내는 것은 아니다. "제1/제2/제3"은 허용되는 경우 특정한 차례 또는 순서의 관점에서 상호 교환 가능한 것으로 이해될 수 있으므로, 본 명세서에서 설명된 본 출원의 실시예들은 본 명세서에 도시되거나 설명된 순서에 추가하여 순서대로 구현될 수 있다. 다음의 설명에서, 관련 용어 "복수"는 적어도 2를 의미한다.
달리 정의되지 않는 한, 본 명세서에서 사용되는 모든 기술적 및 과학적 용어의 의미는 본 출원이 속하는 기술 분야에서의 숙련자에 의해 일반적으로 이해되는 것과 동일하다. 본 명세서에서 사용되는 용어들은 본 출원의 실시예들의 목적을 설명하기 위한 것일 뿐, 본 출원을 제한하기 위한 것은 아니다.
본 출원의 실시예들이 더 상세히 설명되기 전에, 본 출원의 실시예에서 명사 및 용어들에 대한 설명이 이루어지며, 본 출원의 실시예들에서 명사 및 용어들은 다음의 설명에 적용될 수 있다.
(1) 서비스 액세스 프로세스: 호출자 프로세스를 나타내고, 본 출원의 실시예는 서비스 액세스 프로세스의 유형을 정의하지 않으며, 예를 들어, 서비스 액세스 프로세스는 애플리케이션 프로세스(특정한 컨퍼런스 애플리케이션의 프로세스와 같은)일 수 있거나, 또는 애플리케이션 프로세스의 서비스 요청을 프록싱하는 것에 전용된 프로세스일 수 있다.
(2) 동기식 검증 프로세싱: 단지 동기식 검증 프로세싱이 완료될 때, 즉 동기식 검증 프로세싱 결과가 획득될 때만, 다른 단계가 실행될 수 있다. 본 출원의 실시예에서, 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱 및 애플리케이션 프로세스에 대한 동기식 검증 프로세싱이 수반되며, 예를 들어, 단지 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과가 획득될 때에만 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하는 단계가 실행된다.
(3) 비동기식 검증 프로세싱: 다른 단계가 비동기식 검증 프로세싱 동안 실행될 수 있다. 본 출원의 실시예에서, 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱 및 애플리케이션 프로세스에 대한 동기식 인증 프로세싱이 수반되며, 예를 들어, 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱 동안, 서비스 액세스 프로세스와의 암호화된 서비스 통신이 수행될 수 있다.
(4) 서비스 키 정보: 암호화된 서비스 통신을 위해 사용되며, 서비스 키 정보는 적어도 키를 포함하고, 키 식별자와 같은 정보를 또한 포함할 수 있다.
(5) 서명 정보: 일반적으로 디지털 서명에 관련된 정보를 나타내며, 예를 들어, 디지털 서명 자체, 및 인증서 정보 등을 포함할 수 있다.
(6) 해시: 임의적 길이의 입력이, 해싱 알고리즘(또한 해싱 프로세스로서 알려짐)에 의해, 고정 길이의 출력, 즉 해시 값(또한 해시 결과로서 알려짐)으로 변환되며, 따라서 입력은 획득된 해시 값에 의해 식별될 수 있다. 해시 알고리즘은 메시지-다이제스트(MD) 알고리즘 및 보안 해시 알고리즘(SHA)을 포함한다.
(7) 대칭 키: 암호화 및 복호화를 위해 동일한 키를 사용하는 데이터를 송신하는 당사자 및 데이터를 수신하는 당사자를 나타내며, 본 출원의 실시예는 대칭 키를 생성하기 위한 방법을 제한하지 않고, 예를 들어, 대칭 키는 고급 암호화 표준(AES) 알고리즘에 의해 생성될 수 있다.
(8) 비대칭 키 쌍: 공개 키 및 개인 키를 포함하며, 데이터를 송신하는 당사자느 공개 키를 통해 데이터를 암호화하고, 데이터를 수신하는 당사자는 개인 키를 통해 암호화된 키를 복호화하며, 대안적으로, 데이터는 개인 키를 갖고 암호화될 수 있으며, 암호화된 데이터는 공개 키를 갖고 복호화될 수 있다. 본 출원의 실시예는 비대칭 키 쌍이 생성되는 방식을 제한하지 않는다. 예를 들어, 비대칭 키 쌍은 RSA 알고리즘에 의해 생성될 수 있다.
(9) 서비스 게이트웨이: 서비스 요청에 대한 프록시를 실현하기 위해 수신된 서비스 요청을 대응하는 서비스 서버로 포워딩하기 위해 사용된다. 본 출원의 실시예에서, 서비스 게이트웨이는 소프트웨어로 또는 하드웨어로 구현될 수 있다.
(10) 서비스 서버: 서비스 리소스를 제공하기 위한 서버이며, 예를 들어, 컨퍼런스 서비스를 위해, 컨퍼런스 애플리케이션의 배경 서버는 컨퍼런스 애플리케이션의 네트워킹 동작을 위한 데이터 지원을 제공하기 위한 서비스 서버이다.
(11) 블록체인: 블록에 의해 형성된 트랜잭션을 위한 암호화된 체인 저장 구조이다.
(12) 블록체인 네트워크: 합의(consensus) 방식으로 새로운 블록을 블록체인으로 통합하는 노드의 세트이다.
본 출원의 실시예는 서비스 통신의 보안을 개선할 수 있는 서비스 통신 방법, 시스템, 장치, 전자 디바이스 및 컴퓨터-판독 가능한 저장 매체를 제공한다. 단말기 디바이스로서 또는 서버로서 구현될 수 있는, 본 출원의 실시예에 의해 제공된 전자 디바이스의 예시적인 애플리케이션(exemplary applications)이 이하에서 설명된다.
도 1을 참조하면, 본 출원의 실시예에 따른 서비스 통신 시스템(100)의 아키텍처의 개략도이다. 단말기 디바이스(400)는 네트워크(300)를 사용함으로써 서버(200)에 연결된다. 네트워크(300)는 광역 네트워크 또는 근거리 네트워크, 또는 그것의 조합일 수 있다. 단말기 디바이스(400)는 서비스 액세스 클라이언트를 구동한다.
몇몇 실시예에서, 단말기 디바이스인 전자 디바이스를 예로서 취하면, 본 출원의 실시예에 의해 제공된 서비스 통신 방법은 단말기 디바이스에 의해 구현될 수 있다. 예를 들어, 단말기 디바이스(400)에서 서비스 액세스 클라이언트는 구동하는 서비스 액세스 프로세스를 통해 단말기 디바이스(400)에서 애플리케이션 클라이언트의 애플리케이션 프로세스의 인터페이스를 호출할 수 있으며, 즉 애플리케이션 클라이언트는 서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신할 수 있다. 이때, 애플리케이션 클라이언트는 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱 및 비동기식 검증 프로세싱을 수행하고, 동기식 검증 프로세싱 결과에 따라 할당된 서비스 키 정보를 결정하며, 서비스 키 정보에 기초하여 서비스 액세스 프로세스와의 암호화된 서비스 통신을 수행할 수 있으며; 애플리케이션 클라이언트는 또한 비동기식 검증 프로세싱 결과를 획득할 때 비동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스와의 통신 연결을 제어할 수 있다. 수립된 암호화된 서비스 통신에 기초하여, 서비스 액세스 프로세스는 다양한 서비스 목적을 달성할 수 있으며, 이것은 여기에서 제한되지 않는다.
예를 들어, 서비스 액세스 프로세스는 인스턴트 통신 애플리케이션 클라이언트(이후 클라이언트 A로 불리움)의 애플리케이션 프로세스일 수 있으며, 파일 관리 클라이언트(이후 클라이언트 B로 불리움)의 애플리케이션 프로세스가 호출되고; 클라이언트 A에서의 특정한 파일 링크(세션 인터페이스에서 공유된 파일 링크와 같은)가 사용자에 의해 트리거되고, 클라이언트 A의 애플리케이션 프로세스가 클라이언트 B의 애플리케이션 프로세스와 암호화된 서비스 통신을 수립하기 위해 클라이언트 B의 애플리케이션 프로세스의 인터페이스를 호출한다. 암호화된 서비스 통신이 수립되었다는 것에 기초하여, 클라이언트 A의 애플리케이션 프로세스는 파일 링크를 포함한 서비스 요청을 클라이언트 B의 애플리케이션프로세스로 송신할 수 있으며, 클라이언트 B의 애플리케이션 프로세스는 관리된 파일로부터 파일 링크에 대응하는 파일(즉, 응답 데이터)을 질의하고, 클라이언트 A의 인터페이스에 디스플레이하기 위해 질의된 파일을 클라이언트 A의 애플리케이션 프로세스로 송신한다.
몇몇 실시예에서, 전자 디바이스가 서버인 경우, 본 출원의 실시예에 의해 제공된 서비스 통신 방법은 서버에 의해 구현될 수 있다. 예를 들어, 단말기 디바이스(400)에서의 서비스 액세스 클라이언트는 구동 중인 서비스 액세스 프로세스를 통해 서버(200)에서 구동하고 있는 프로세스의 인터페이스를 호출할 수 있으며, 즉 서버(200)는 서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신할 수 있다. 이때, 서버(200)는 서비스 액세스 프로세스와 암호화된 서비스 통신을 수립하기 위해 서비스 액세스 프로세스에 대한 동기식 인증 프로세싱 및 비동기식 검증 프로세싱을 수행할 수 있다. 예를 들어, 서비스 액세스 클라이언트는 특정한 애플리케이션의 클라이언트일 수 있고, 서버(200)는 애플리케이션의 배경 서버이며, 서비스 액세스 클라이언트는 서버(200)에서 프로세스로부터 애플리케이션 데이터(즉, 응답 데이터)를 요청하기 위해 서비스 액세스 프로세스를 통해 서버(200)에서의 프로세스와 암호화된 서비스 통신을 수립할 수 있다.
몇몇 실시예에서, 본 출원의 실시예에 의해 제공된 서비스 통신 방법은 또한 단말기 디바이스 및 서버에 의해 협력적으로 구현될 수 있다. 예를 들어, 단말기 디바이스(400)는 그 안에서 구동 중인 보안 클라이언트를 가지며, 서버(200)는 보안 서버이다. 보안 클라이언트가 서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신할 때, 보안 클라이언트는 서비스 액세스 프로세스와 암호화된 서비스 통신을 수립하기 위해, 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱을 수행하며, 서비스 액세스 프로세스에 대해 비동기식 검증 프로세싱을 수행하도록 보안 서버에 통지한다.
몇몇 실시예에서, 단말기 디바이스(400) 또는 서버(200)는 컴퓨터 프로그램을 구동함으로써 본 출원의 실시예에 의해 제공된 서비스 통신 방법을 구현할 수 있으며, 예를 들어, 컴퓨터 프로그램은 운영 시스템에서 네이티브(native) 프로그램 또는 소프트웨어 모듈일 수 있고; 그것은 네이티브 애플리케이션(APP), 즉 구동할 수 있도록 운영 시스템에 설치될 필요가 있는 프로그램일 수 있고; 그것은 또한 작은 프로그램, 즉 단지 브라우저 환경으로 로딩함으로써 구동할 수 있는 프로그램일 수 있으며; 그것은 또한 임의의 APP으로 내장될 수 있는 애플릿일 수 있고, 애플릿 구성요소는 사용자 제어하에서 구동되거나 또는 셧 다운될 수 있다. 일반적으로, 컴퓨터 프로그램은 임의의 형태의 애플리케이션, 모듈 또는 플러그-인일 수 있다.
몇몇 실시예에서, 서버(200)는 독립적인 물리 서버일 수 있거나, 또는 복수의 물리 서버를 포함한 서버 클러스터 또는 분산형 시스템일 수 있거나, 또는 클라우드 서비스, 클라우드 데이터베이스, 클라우드 컴퓨팅, 클라우드 함수, 클라우드 저장장치, 네트워크 서비스, 클라우드 통신, 미들웨어 서비스, 도메인 이름 서비스, 보안 서비스, 콘텐트 전달 네트워크(CDN), 빅 데이터, 및 인공 지능 플랫폼과 같은, 기본 클라우드 컴퓨팅 서비스를 제공하는 클라우드 서버일 수 있다. 클라우드 서비스는 단말기 디바이스(400)가 호출할 비동기식 검증 서비스일 수 있다. 단말기 디바이스(400)는 스마트폰, 태블릿 컴퓨터, 노트북 컴퓨터, 데스크탑 컴퓨터, 스마트 TV, 스마트 스피커, 스마트워치 등일 수 있지만, 그것에 제한되지 않는다. 단말기 디바이스 및 서버는 유선 또는 무선 통신 방식으로 직접 또는 간접적으로 연결될 수 있다. 이것은 본 출원에서 제한되지 않는다.
도 2를 참조하면, 본 출원의 실시예에 의해 제공된 블록체인 네트워크를 통합하는 서비스 통신 시스템(110)의 개략적인 아키텍처 다이어그램이다. 시스템은 블록체인 네트워크(500)(블록체인 네트워크(500)는 일반적으로 본원에서 노드(510)로서 예시된, 복수의 노드를 포함한다), 인증 센터(600), 및 전자 디바이스(700)를 포함한다. 전자 디바이스(700)는 실질적인 애플리케이션 시나리오에 의존하여, 서버(예컨대, 도 1에 도시된 서버(200)) 또는 단말기 디바이스(예컨대, 도 1에 도시된 단말기 디바이스(400)일 수 있다. 인증 센터(600)는 디지털 인증서를 전자 디바이스(700)로 발생하도록 구성된다.
전자 디바이스(700)는 블록체인 네트워크(500)를 액세스하고, 블록체인 네트워크(500)의 클라이언트 노드가 되며, 블록체인에 저장된 데이터를 추가로 질의할 수 있고, 블록체인은 서비스 통신 프로세스에서 다양한 정보를 저장하기 위해 사용될 수 있다. 예를 들어, 전자 디바이스(700)는 블랙리스트에 기초하여 서비스 액세스 프로세스에 대한 동기식 인증 프로세싱 및 비동기식 검증 프로세싱 중 적어도 하나를 수행하기 위해 블록체인에 저장된 블랙리스트에 대해 질의할 수 있다.
단말기 디바이스인 본 출원의 실시예에 의해 제공된 전자 디바이스에 의해 예시되었지만, 전자 디바이스가 서버인 경우에 대해, 도 3에 도시된 구조의 부분(예컨대, 사용자 인터페이스, 프리젠테이션 모듈, 및 입력 프로세싱 모듈)은 디폴트일 수 있다는 것이 이해될 것이다. 도 3은 본 출원의 실시예에 따른 단말기 디바이스(400)의 개략적인 구조도이다. 도 3에 도시된 단말기 디바이스(400)는: 적어도 하나의 프로세서(410), 메모리(450), 적어도 하나의 네트워크 인터페이스(420), 및 사용자 인터페이스(430)를 포함한다. 단말기(400)에서의 구성요소 모두는 버스 시스템(440)에 의해 함께 결합된다. 버스 시스템(440)은 구성요소 간에 연결 및 통신을 구현하도록 구성된다는 것이 이해될 수 있다. 데이터 버스 외에, 버스 시스템(440)은 전력 버스, 제어 버스, 및 상태 신호 버스를 추가로 포함한다. 그러나, 명확한 설명의 용이함을 위해, 도 3에서 모든 유형의 버스는 버스 시스템(440)으로 표시된다.
프로세서(410)는 신호 프로세싱 능력을 가진 집적 회로 칩, 예를 들어, 범용 프로세서, 디지털 신호 프로세서(DSP), 또는 또 다른 프로그램 가능한 논리 디바이스(PLD), 이산 게이트, 트랜지스터 논리 디바이스, 또는 이산 하드웨어 구성요소일 수 있다. 범용 프로세서는 마이크로프로세서, 임의의 종래의 프로세서 등일 수 있다.
사용자 인터페이스(430)는 하나 이상의 라우드스피커 및/또는 하나 이상의 시각적 디스플레이 스크린을 포함한, 미디어 콘텐트를 디스플레이할 수 있는 하나 이상의 출력 장치(431)를 포함한다. 사용자 인터페이스(430)는 키보드, 마우스, 마이크로폰, 터치 디스플레이 스크린, 카메라, 및 다른 입력 버튼 및 제어와 같은, 사용자의 입력을 가능하게 하는 사용자 인터페이스 구성요소를 포함한, 하나 이상의 입력 장치(432)를 추가로 포함한다.
메모리(450)는 착탈 가능한 메모리, 착탈 가능하지 않은 메모리, 또는 그것의 조합일 수 있다. 대표적인 하드웨어 디바이스는 고체-상태 메모리, 하드 디스크 드라이브, 광학 디스크 드라이버 등을 포함한다. 메모리(450)는 프로세서(410)로부터 물리적으로 원격인 하나 이상의 저장 디바이스를 선택적으로 포함한다.
메모리(450)는 휘발성 메모리 또는 비-휘발성 메모리를 포함하거나, 또는 휘발성 메모리 및 비-휘발성 메모리 양쪽 모두를 포함할 수 있다. 비-휘발성 메모리는 판독-전용 메모리(ROM)일 수 있다. 휘발성 메모리는 랜덤 액세스 메모리(RAM)일 수 있다. 본 출원의 실시예에서 설명된 메모리(450)는 임의의 다른 적절한 유형의 메모리를 포함할 것이다.
몇몇 실시예에서, 메모리(450)는 다양한 동작을 지원하기 위해 데이터를 저장할 수 있으며, 그 예는 이하에서 전형적인 예가 되는 바와 같이, 프로그램, 모듈, 및 데이터 구조 또는 그것의 서브세트 또는 슈퍼세트를 포함한다.
운영 시스템(451)은 다양한 기본 시스템 서비스를 프로세싱하며 프레임워크 층, 코어 라이브러리 층, 또는 드라이버 층과 같은, 하드웨어-관련 태스크를 수행하도록 구성된 시스템 프로그램을 포함하며, 다양한 기본 서비스를 구현하고 하드웨어-기반 태스크를 프로세싱하도록 구성된다.
네트워크 통신 모듈(452)은 하나 이상의 (유선 또는 무선) 네트워크 인터페이스(420)를 통해 또 다른 컴퓨팅 디바이스에 이르도록 구성된다. 대표적인 네트워크 인터페이스(420)는: 블루투스, 무선 호환 가능 인증(Wi-Fi), 범용 직렬 버스(USB) 등을 포함한다.
디스플레이 모듈(453)은 하나 이상의 사용자 인터페이스(430)(주변 디바이스를 동작시키고 콘텐트 및 정보를 디스플레이하도록 구성된 사용자 인터페이스와 같은)와 연관된 출력 장치(431)(디스플레이 스크린 또는 스피커와 같은)를 사용함으로써 정보를 디스플레이하도록 구성된다.
입력 프로세싱 모듈(454)은 하나 이상의 입력 장치(432) 중 하나로부터 하나 이상의 사용자 입력 또는 상호작용을 검출하며 검출된 입력 또는 상호작용을 이전시키도록 구성된다.
다른 실시예에서, 본 출원의 실시예에 의해 제공된 서비스 통신 장치는 소프트웨어의 형태로 구현될 수 있다. 도 3은 메모리(450)에 저장된 서비스 통신 장치(455)를 도시하며, 이것은 프로그램, 플러그-인 등의 형태에서의 소프트웨어이며, 다음의 소프트웨어 모듈, 즉: 수신 모듈(4551), 검증 모듈(4552), 결정 모듈(4553), 송신 모듈(4554) 및 연결 제어 모듈(4555)을 포함할 수 있고, 이들 모듈은 논리적이다. 그러므로, 임의의 조합 또는 추가 분할은 실현될 기능에 따라 수행될 수 있다. 다음은 모듈의 기능을 기술한다.
본 출원의 실시예에 의해 제공된 서비스 통신 방법은 본 출원의 실시예에 의해 제공된 전자 디바이스의 대표적인 애플리케이션 및 구현예를 참조하여 설명된다.
도 4a를 참조하면, 본 출원의 실시예에 의해 제공된 서비스 통신 방법의 흐름도이다. 방법은 도 4a에 도시된 단계와 함께 설명될 것이다.
단계 101: 서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신한다.
여기에서, 전자 디바이스는 서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신하며, 예를 들어, 인증 인터페이스(특정한 포트와 같은)가 전자 디바이스에서 미리 결정될 수 있고, 전자 디바이스가 인증 인터페이스에 대한 서비스 액세스 프로세스의 호출 요청을 수신할 때, 호출 요청이 인증 요청으로서 취해진다. 서비스 액세스 프로세스는 특정한 애플리케이션 클라이언트의 애플리케이션 프로세스일 수 있고 또한 애플리케이션 클라이언트를 프록싱하기 위해 사용될 수 있으며, 이것은 나중에 설명될 것이다. 본 출원의 실시예는 예를 들어, 인스턴트 통신 서비스 또는 비디오 서비스 등일 수 있는, 서비스의 유형을 제한하지 않는다.
단계 102: 서비스 액세스 프로세스에 대한 동기식 인증 프로세싱을 수행하며, 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행한다.
여기에서, 서비스 액세스 프로세스를 위해, 동기식 인증 프로세싱 및 비동기식 검증 프로세싱이 그것의 유효성을 검증하기 위해 수행된다. 본 출원의 실시예는 동기식 검증 프로세싱 및 비동기식 검증 프로세싱의 실행 순서를 정의하지 않는다. 예를 들어, 그것들은 동시에 실행될 수 있다. 또 다른 예를 위해, 동기식 검증 프로세싱 결과가 검증 성공일 때, 비동기식 검증 프로세싱이 그 후 실행된다.
본 출원의 실시예는 또한 동기식 검증 프로세싱 및 비동기식 검증 프로세싱의 프로세싱 모드를 정의하지 않는다. 예를 들어, 동기식 검증 프로세싱 및 비동기식 검증 프로세싱의 검증 오브젝트는 동일할 수 있으며, 검증 오브젝트는 서비스 액세스 프로세스에 대한 프로세스 정보이고, 둘 간의 차이는 동기식 검증 프로세싱이 단지 한 번 실행되지만, 비동기식 검증 프로세싱은 주기적으로 다수 회 실행된다는 점에 있다.
단계 103: 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정한다.
예를 들어, 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정할지가 판단될 수 있다. 서비스 키 정보는 적어도 하나의 키를 포함하며, 키 식별자 등을 추가로 포함할 수 있다. 서비스 키 정보는 서비스 액세스 프로세스에 대해 사전-할당될 수 있거나 또는 실시간으로 할당될 수 있으며, 이것은 제한되지 않는다.
보안을 추가로 개선하기 위해, 전자 디바이스는 또한 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 주기적으로 업데이트하며, 업데이트된 서비스 키 정보를 획득하도록 인증 요청을 재송신하기 위해 서비스 액세스 프로세스를 트리거하도록 업데이트 전에 서비스 키 정보에 대한 무효 프로세싱(또한 무효 프로세싱으로 불리움)을 수행할 수 있다.
몇몇 실시예에서, 인증 요청은 인증 요청 어드레스를 포함한다. 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보의 상기 언급된 결정은 이러한 방식으로 실현될 수 있다: 상이한 서비스 액세스 프로세스에 의해 송신된 인증 요청 어드레스에 대하여 상이한 서비스 키 정보를 할당하며, 동일한 서비스 액세스 프로세스에 의해 송신된 상이한 인증 요청 어드레스에 대하여 상이한 서비스 키 정보를 할당하는 것; 상이한 서비스 액세스 프로세스에 의해 송신된 인증 요청 어드레스에 대하여 상이한 서비스 키 정보를 할당하며, 동일한 서비스 액세스 프로세스에 의해 송신된 상이한 인증 요청 어드레스에 대하여 동일한 서비스 키 정보를 할당하는 것; 및 상이한 서비스 액세스 프로세스에 의해 송신된 인증 요청 어드레스에 대하여 동일한 서비스 키 정보를 할당하며, 동일한 서비스 액세스 프로세스에 의해 송신된 상이한 인증 요청 어드레스에 대하여 동일한 서비스 키 정보를 할당하는 것.
본원에서, 전자 디바이스는 복수의 인증 요청 어드레스를 사전에 미리 결정할 수 있어서, 서비스 액세스 프로세스가 인증 요청 어드레스에 따라 인증 요청을 송신하도록 한다. 전자 디바이스는 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정할 때 서비스 액세스 프로세스 자체 및 인증 요청 어드레스의 두 개의 인자에 따라 다양한 할당 기법을 구현할 수 있다.
예를 들어, 첫 번째 할당 기법은 상이한 서비스 액세스 프로세스에 의해 송신된 인증 요청 어드레스에 대하여 상이한 서비스 키 정보를 할당하며, 동일한 서비스 액세스 프로세스에 의해 송신된 상이한 인증 요청 어드레스에 대하여 상이한 서비스 키 정보를 할당하는 것이다. 이러한 할당 기법의 보안은 다른 할당 기법의 것보다 높으며, 할당된 서비스 키 정보의 양이 또한 더 커서, 전자 디바이스는 할당된 서비스 키 정보를 저장하기 위해 더 많은 저장 리소스를 소비할 필요가 있다.
두 번째 할당 기법은 상이한 서비스 액세스 프로세스에 의해 송신된 인증 요청 어드레스에 대하여 상이한 서비스 키 정보를 할당하며, 동일한 서비스 액세스 프로세스에 의해 송신된 상이한 인증 요청 어드레스에 대하여 동일한 서비스 키 정보를 할당하는, 즉 단지 서비스 액세스 프로세스를 구별하는 것이다. 두 번째 할당 기법은 첫 번째 할당 기법보다 적은 메모리 리소스를 요구한다.
세 번째 할당 기법은 서비스 액세스 프로세스 및 인증 요청 어드레스를 구별하지 않고 균일한 서비스 키 정보를 할당하는 것이며, 이것은 최소 메모리 리소스를 요구한다.
실질적인 애플리케이션 시나리오에서의 요건에 따라, 상기 언급된 3개의 할당 기법 중 임의의 것이 선택될 수 있다. 예를 들어, 기업이 가장 높은 보안 요건을 가진다면, 상기 언급된 첫 번째 할당 기법이 선택될 수 있다. 이러한 방식으로, 서비스 키 정보를 분배할 때 유연성이 강화된다.
몇몇 실시예에서, 상기 언급된 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하는 것은 이러한 방식으로 실현될 수 있다: 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과가 검증 성공일 때 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하는 것.
여기에서, 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보는 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과가 검증 성공일 때 결정되며; 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과가 검증 실패일 때, 서비스 액세스 프로세스는 유효하지 않은 것으로 입증되고, 서비스 액세스 프로세스는 서비스 키 정보를 갖고 할당되는 것이 거절되며, 서비스 액세스 프로세스와의 통신 연결이 또한 연결해제될 수 있다. 즉, 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱은 본질적으로 서비스 액세스 프로세스가 유효한지에 대한 예비 검증으로서 간주될 수 있다.
몇몇 실시예에서, 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과가 검증 실패일 때, 인증 요청을 재송신하도록 또는 서비스 액세스 프로세스와의 통신 연결을 연결해제하도록 서비스 액세스 프로세스에 알리기 위해 에러 정보가 서비스 액세스 프로세스로 송신될 수 있다. 또한, 서비스 액세스 프로세스가 진행 중인 비동기식 검증 프로세싱일 때 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과가 검증 실패이면, 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱은 계산 리소스를 절약하기 위해 중단될 수 있다.
단계 104: 서비스 키 정보에 기초하여 서비스 액세스 프로세스와의 암호화된 서비스 통신을 위해 서비스 키 정보를 서비스 액세스 프로세스로 송신한다.
전자 디바이스는 서비스 액세스 프로세스와의 암호화된 서비스 통신이 서비스 키 정보에 기초하여 수행될 수 있도록, 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 서비스 액세스 프로세스로 송신한다. 예를 들어, 서비스 키 정보는 대칭 키를 포함하며, 그 후 서비스 액세스 프로세스는 대칭 키에 따라 데이터를 암호화하고, 전자 디바이스가 대칭 키에 따라 수신된 암호화 데이터를 복호화하도록 암호화된 데이터를 전자 디바이스로 송신할 수 있으며; 마찬가지로, 전자 디바이스는, 대칭 키에 따라 데이터를 암호화하며 서비스 액세스 프로세스가 대칭 키에 따라 암호화된 데이터를 복호화하도록 암호화된 데이터를 서비스 액세스 프로세스로 송신할 수 있다.
단계 105: 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어한다.
서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과가 본원에서 획득될 때, 비동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스와의 암호화된 서비스 통신을 운반하기 위한 통신 연결. 본 출원의 실시예는 통신 연결의 유형을 제한하지 않는다. 통신 연결은 예를 들어, 소켓 연결일 수 있다.
몇몇 실시예에서, 상기 언급된 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위해 통신 연결을 제어하는 것은 이러한 방식으로 실현될 수 있다: 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과가 검증 성공일 때 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위해 통신 연결을 유지하는 것; 및 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과가 검증 실패일 때 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위해 통신 연결을 연결해제하는 것.
여기에서, 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위한 통신 연결은 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과가 검증 성공이며 서비스 액세스 프로세스가 유효한 것으로 입증될 때 연속하여 유지되며; 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위한 통신 연결은 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과가 검증 실패일 때 서비스에 대한 손상(예를 들어, 서비스 데이터를 훔친다)을 피하기 위해 연결해제되며, 서비스 액세스 프로세스는 유효하지 않은 것으로 증명된다. 즉, 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱은 본질적으로 서비스 액세스 프로세스가 유효한지에 대한 재-검증으로서 간주될 수 있다.
도 4a에 도시된 바와 같이, 본 출원의 실시예는 동기식 검증 프로세싱 및 비동기식 검증 프로세싱의 조합에 의해 서비스 액세스 프로세스의 유효성을 효과적으로 검증할 수 있으며; 동시에, 전자 디바이스에 의해 발행된 서비스 키 정보를 통해 서비스 통신을 암호화하는 것은 서비스 키 정보가 악의적 프로세스에 의해 도둑맞고 사용되는 확률을 감소시키고 서비스 통신의 보안을 개선할 수 있다.
몇몇 실시예에서, 본 출원의 실시예에 의해 제공된 서비스 통신 방법의 흐름도인, 도 4b를 참조하면, 도 4a에 도시된 단계 102가 단계 201 내지 204를 통해 구현될 수 있으며, 이것은 단계와 관련되어 설명될 것이다.
단계 201: 서비스 액세스 프로세스의 프로세스 경로와 설정된 보안 디렉토리 간의 매칭 결과를 제1 검증 프로세싱 결과로서 취한다.
본 출원의 실시예에서, 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱은 프로세스 경로에 대한 검증 프로세싱 및 서명 정보에 대한 검증 프로세싱을 포함할 수 있다. 전자에 대해, 보안 디렉토리는 실질적인 애플리케이션 시나리오에 따라 사전-설정될 수 있고, 서비스 액세스 프로세스의 프로세스 경로는 보안 디렉토리와 매칭되며, 획득된 매칭 결과는 제1 검증 프로세싱 결과로서 취해진다. 서비스 액세스 프로세스의 프로세스 경로가 보안 디렉토리에 위치될 때, 프로세스 경로와 보안 디렉토리 간의 매칭 결과는 성공적인 것으로 결정되고, 즉 제1 검증 프로세싱 결과는 검증 성공이며; 서비스 액세스 프로세스의 프로세스 경로가 보안 디렉토리에 위치되지 않을 때, 서비스 액세스 프로세스는 유효하지 않다고 입증되고, 프로세스 경로와 보안 디렉토리 간의 매칭 결과는 실패한 것으로 결정되며, 즉 제1 검증 프로세싱 결과는 검증 실패이다.
단계 202: 제2 검증 프로세싱 결과를 획득하기 위해 서비스 액세스 프로세스에 대한 서명 정보를 검증한다.
여기에서, 서명 정보는 일반적으로 서비스 액세스 프로세스의 디지털 서명에 관련된 정보를 나타내며, 검증될 필요가 있는 서명 정보의 특정 콘텐트는 실질적인 애플리케이션 시나리오에서 보안 요건에 따라 결정될 수 있다. 서비스 액세스 프로세스에 대한 서명 정보는 제2 검증 프로세싱 결과를 얻기 위해 검증된다.
몇몇 실시예에서, 상기 언급된 제2 검증 프로세싱 결과를 획득하기 위해 서비스 액세스 프로세스에 대한 서명 정보를 검증하는 것은 이러한 방식으로 실현될 수 있다: 서명 정보가 디지털 서명을 포함하는지의 결과, 디지털 서명의 유효성 검증 프로세싱 결과, 디지털 서명의 서명자와 서명자 블랙리스트 간의 매칭 결과, 및 서명 정보에서의 인증서 정보 및 인증서 정보 블랙리스트 간의 매칭 결과 중 적어도 하나에 따라 제2 검증 프로세싱 결과를 결정한다.
본 출원의 실시예는 서비스 액세스 프로세스에 대한 서명 정보에 대한 검증 프로세싱을 수행하기 위한 4개의 영향 인자를 제공하며, 해당 인자들은 이하에서 각각 설명된다.
1) 서명 정보가 디지털 서명의 결과를 포함하는지 여부. 예를 들어, 서명 정보가 디지털 서명 정보를 포함할 때, 제2 검증 프로세싱 결과는 검증 성공인 것으로 결정되며; 서명 정보가 디지털 서명을 포함하지 않을 때, 제2 검증 프로세싱 결과는 검증 실패인 것으로 결정된다.
2) 서명 정보에서 디지털 서명에 대한 유효성 검증 프로세싱을 수행함으로써 획득된 유효성 검증 프로세싱 결과. 예를 들어, 유효성 검증 프로세싱 결과는 제2 검증 프로세싱 결과로서 직접 사용될 수 있으며, 유효성 검증 프로세싱의 방식은 나중에 설명될 것이다.
3) 서명 정보에서 디지털 서명의 서명자 및 서명자 블랙리스트 간의 매칭 결과. 예를 들어, 서명자 블랙리스트는 복수의 악의적 서명자를 포함하며, 서비스 액세스 프로세스의 디지털 서명의 서명자가 서명자 블랙리스트에서의 임의의 악의적 서명자와 동일할 때, 즉 매칭이 성공적일 때, 제2 검증 프로세싱 결과는 검증 실패인 것으로 결정되며; 서비스 액세스 프로세스의 디지털 서명의 서명자가 서명자 블랙리스트에서의 모든 악의적 서명자와 상이할 때, 즉 매칭이 실패할 때, 제2 검증 프로세싱 결과는 검증 성공인 것으로 결정된다.
4) 서명 정보에서의 인증서 정보 및 인증서 정보 블랙리스트 간의 매칭 결과. 인증서는 디지털 인증서를 나타낸다. 예를 들어, 인증서 정보 블랙리스트는 복수의 악의적 인증서 정보를 포함하며, 서비스 액세스 프로세스에 대한 인증서 정보가 인증서 정보 블랙리스트에서의 악의적 인증서 정보 중 임의의 것과 동일할 때, 즉 매칭이 성공적일 때, 제2 검증 프로세싱 결과는 검증 실패인 것으로 결정되며; 서비스 액세스 프로세스의 인증서 정보가 인증서 정보 블랙리스트에서의 모든 악의적 인증서 정보와 상이할 때, 즉 매칭이 실패할 때, 제2 검증 프로세싱 결과는 검증 성공인 것으로 결정된다. 여기에서, 인증서 정보는 예를 들어, 루트 인증서 정보, 중간 인증서 정보 및 서명 인증서 정보를 포함한 인증서 체인 정보일 수 있으며, 인증서 정보의 포맷은 서비스 액세스 프로세스의 실질적인 인증서 발행 상황에 따라 결정된다.
상기 언급된 영향 인자 1) 내지 4)의 검증 강도는 점진적으로 증가되며, 검증 지속기간 또한 점진적으로 증가된다. 상기 언급된 영향 인자 중 적어도 하나는 실질적인 애플리케이션 시나리오에서 보안 요건 및 효율 요건을 통합함으로써 검증 프로세싱에 대해 선택될 수 있다. 예시를 위한 예로서 상기 언급된 방법 1) 및 2)를 취하면, 서명 정보가 디지털 서명을 포함하며 디지털 서명의 유효성 검증 프로세싱 결과가 검증 성공일 때, 제2 검증 프로세싱 결과는 검증 성공인 것으로 결정되며; 서명 정보가 디지털 서명을 포함하지 않거나, 또는 디지털 서명의 유효성 검증 프로세싱 결과가 검증 실패일 때, 제2 검증 프로세싱 결과는 검증 실패인 것으로 결정된다. 이러한 방식으로, 서비스 액세스 프로세스의 서명 정보를 검증할 때 유연성이 개선된다.
몇몇 실시예에서, 다음이 추가로 포함된다: 서명 정보에서의 디지털 서명, 및 디지털 서명에 대응하는 복호화 키를 결정하는 것; 서비스 액세스 프로세스의 프로세스 파일의 제1 해시 결과를 얻기 위해 복호화 키에 따라 디지털 서명을 복호화하는 것; 제2 해시 결과를 얻기 위해 서비스 액세스 프로세스의 프로세스 파일에 대한 해시 프로세싱을 수행하는 것; 및 제1 해시 결과와 제2 해시 결과 간의 매칭 결과를 디지털 서명의 유효성 검증 프로세싱 결과로서 취하는 것.
여기에서, 디지털 서명에 대한 검증 프로세스의 예가 제공된다. 디지털 서명은 서비스 액세스 프로세스의 프로세스 파일에 대한 해시 프로세싱을 수행하며, 그 후 획득된 제1 해시 결과를 암호화함으로써 획득될 수 있고, 상기 프로세스 파일은 서비스 액세스 프로세스의 이식 가능 및 휴대 가능한 실행(portable executable; PE) 파일일 수 있다. 그러므로, 디지털 서명에 대한 유효성 검증 프로세싱을 수행할 때, 서명 정보에서의 디지털 서명 및 디지털 서명에 대응하는 복호화 키가 먼저 결정될 수 있으며, 상기 복호화 키는 서명 인증서와 같은, 서비스 액세스 프로세스에 대한 인증서 정보로부터 파싱될 수 있다.
그 후, 디지털 서명은 제1 해시 결과를 얻기 위해 복호화 키에 따라 복호화되고, 동시에, 해시 프로세싱이 제2 해시 결과를 얻기 위해 서비스 액세스 프로세스의 프로세스 파일에 대해 수행되며, 여기에서 해시 프로세싱에서 사용된 알고리즘이 또한 인증서 정보로부터 획득될 수 있고, 이러한 방식으로, 제1 해시 결과를 산출하기 위해 사용된 알고리즘이 제2 해시 결과를 산출하기 위해 사용된 알고리즘과 일치한다는 것이 보장될 수 있다. 마지막으로, 제1 해시 결과와 제2 해시 결과 간의 매칭 결과는 유효성 검증 프로세싱 결과로서 취해지며, 예를 들어, 제1 해시 결과가 제2 해시 결과와 동일할 때, 즉 매칭이 성공적일 때, 유효성 검증 프로세싱 결과는 검증 성공인 것으로 결정되며; 제1 해시 결과가 제2 해시 결과와 상이할 때 프로세스 파일이 조작되었음이 입증될 때, 유효성 검증 프로세싱 결과는 검증 실패인 것으로 결정된다. 물론, 상기 언급된 방식은 단지 유효성 검증 프로세싱의 예이며 유효성 검증 프로세싱에 대한 제한을 구성하지 않는다. 예를 들어, 유효성 검증 프로세싱은 또한 WinVerifyTrust와 같은, 특정 애플리케이션 프로그램 인터페이스(API)를 호출함으로써 구현될 수 있다.
단계 203: 제1 검증 프로세싱 결과 및 제2 검증 프로세싱 결과에 따라 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과를 결정한다.
예를 들어, 제1 검증 프로세싱 결과 및 제2 검증 프로세싱 결과가 양쪽 모두 검증 성공일 때 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과는 검증 성공인 것으로 결정되며; 제1 검증 프로세싱 결과 및 제2 검증 프로세싱 결과 중 임의의 것이 검증 실패일 때 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과는 검증 실패인 것으로 결정된다. 이러한 방식으로, 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱은 프로세스 경로 및 서명 정보를 조합함으로써 수행되며, 획득된 동기식 검증 프로세싱 결과의 정확도가 효과적으로 개선될 수 있다.
단계 204: 프로세스 정보 블랙리스트와 서비스 액세스 프로세스에 대한 프로세스 정보를 주기적으로 매칭시키며, 획득된 매칭 결과를 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과로서 취한다.
여기에서, 프로세스 정보는 프로세스 파일의 MD5 값, 프로세스 파일의 해시 값, 프로세스 경로, 및 인증서 정보 중 적어도 하나를 포함할 수 있으며, 실질적인 애플리케이션 시나리오에 따라 설정될 수 있다. 프로세스 정보 블랙리스트는 바이러스 라이브러리와 유사하게, 시간에 걸쳐 업데이트될 수 있는, 다수의 악의적 프로세스에 대한 프로세스 정보를 포함한다. 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행하는 프로세스에서, 서비스 액세스 프로세스에 대한 프로세스 정보는 프로세스 정보 블랙리스트(예를 들어, 현재 최신 프로세스 정보 블랙리스트)와 주기적으로 매칭될 수 있으며, 서비스 액세스 프로세스에 대한 프로세스 정보가 프로세스 정보 블랙리스트에서의 프로세스 정보 중 임의의 것과 동일할 때, 즉 매칭이 성공적일 때, 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과는 검증 실패인 것으로 결정되며; 서비스 액세스 프로세스에 대한 프로세스 정보가 프로세스 정보 블랙리스트에서의 프로세스 정보 모두와 상이할 때, 즉 매칭이 실패할 때, 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과는 검증 성공인 것으로 결정된다.
프로세스 정보가 다양한 유형의 콘텐트(예컨대, MD5 값, 해시 값 등)를 포함하는 경우에, 프로세스 정보 A에 포함된 특정한 콘텐트(예컨대, MD5 값)가 프로세스 정보 B에 포함된 동일한 유형의 콘텐트와 동일할 때, 프로세스 정보 A는 프로세스 B와 동일한 것으로 결정된다고 설정될 수 있으며, 그에 의해 보안 관리 및 제어의 효율성을 강화할 수 있다.
또한, 서비스 액세스 프로세스에 대한 프로세스 정보는 특정 클라우드 서비스로 주기적으로 송신될 수 있으며, 따라서 클라우드 서비스는 프로세스 정보 블랙리스트와 서비스 액세스 프로세스에 대한 프로세스 정보를 매칭시키고, 그에 의해 국소적 프로세싱 압박을 완화한다.
도 4b에 도시된 바와 같이, 본 출원의 실시예는 획득된 동기식 검증 프로세싱 결과 및 비동기식 검증 프로세싱 결과의 정확도를 효과적으로 개선하며, 그에 의해 뒤이은 서비스 통신의 보안을 강화할 수 있는, 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱 및 비동기식 검증 프로세싱을 수행하는 몇몇 예를 제공한다.
몇몇 실시예에서, 본 출원의 실시예에 의해 제공된 서비스 통신 방법의 흐름도인, 도 4c를 참조하면, 도 4a에 도시된 단계 104는 단계 301 내지 단계 307을 통해 구현될 수 있으며, 이것은 단계와 관련되어 설명될 것이다.
단계 301: 인증 요청에서의 공개 키에 따라 서비스 키 정보를 암호화한다.
서비스 키 정보를 전송하는 프로세스에서 보안 및 비밀보장을 개선하기 위해, 본 출원의 실시예에서, 단계 101 전에, 비대칭 키 쌍이 서비스 액세스 프로세스에 의해 생성될 수 있으며 비대칭 키 쌍에서 공개 키는 인증 요청에 부가되고, 상기 비대칭 키 쌍은 공개 키 및 상기 공개 키와 매칭된 개인 키를 포함한다.
서비스 액세스 프로세스를 위해 할당된 서비스 키 정보를 결정한 후, 전자 디바이스는 서비스 액세스 프로세스에 의해 송신된 공개 키를 사용하여 서비스 키 정보를 암호화할 수 있다.
단계 302: 서비스 액세스 프로세스가 개인 키에 따라 암호화된 서비스 키 정보를 복호화하도록, 서비스 액세스 프로세스로 암호화된 서비스 키 정보를 송신한다.
여기에서, 암호화된 서비스 키 정보는 서비스 액세스 프로세스로 송신되며, 따라서 서비스 액세스 프로세스는 저장된 개인 키에 따라 암호화된 서비스 키 정보를 복호화한다. 서비스 액세스 프로세스를 제외한 다른 프로세스가 개인 키를 유지하지 않으므로, 암호화된 서비스 키 정보를 다른 프로세스가 훔칠지라도, 다른 프로세스는 실제 서비스 키 정보를 얻을 수 없다. 이러한 방식으로, 서비스 키 정보의 비밀보장이 개선될 수 있다.
단계 303: 서비스 액세스 프로세스에 의해 송신된 서비스 요청을 수신한다. 서비스 요청은 키 식별자 및 대칭 키를 사용하여 암호화된 요청 데이터를 포함한다.
여기에서, 예로서 키 식별자 및 대칭 키를 포함한 서비스 키 정보를 취할 때, 암호화된 서비스 통신의 프로세스가 예시된다. 서비스 키 정보를 수신한 후, 서비스 액세스 프로세스는 서비스 키 정보에 기초하여 호출 요청을 생성할 수 있으며, 상기 호출 요청은 키 식별자 및 대칭 키를 사용하여 암호화된 요청 데이터를 포함하고, 요청 데이터의 유형은 여기에서 제한되지 않으며, 실질적이 애플리케이션 시나리오에 따라 결정될 수 있다.
서비스 인터페이스(예컨대, 특정 포트)는 전자 디바이스에서 미리 결정될 수 있으며, 전자 디바이스가 서비스 인터페이스로의 서비스 액세스 프로세스의 호출 요청을 수신할 때, 호출 요청은 서비스 요청으로서 취해진다. 상이한 서비스 인터페이스가 복수의 서비스를 위해 설정될 수 있거나, 또는 균일한 서비스 인터페이스가 설정될 수 있다.
단계 304: 분배된 대칭 키에서 서비스 요청에서의 키 식별자에 대응하는 대칭 키에 대해 질의한다.
전자 디바이스는 서비스 키 정보를 분배하는 동안 서비스 키 정보를 저장하며, 각각의 서비스 키 정보는 하나의 키 식별자 및 키 식별자에 대응하는 대칭 키를 포함한다. 서비스 액세스 프로세스에 의해 송신된 서비스 요청을 수신할 때, 전자 디바이스는 할당된 대칭 키 모두로부터 서비스 요청에서의 키 식별자에 대응하는 대칭 키에 대해 질의한다. 키 식별자에 대응하는 대칭 키에 질의되지 않는다면, 대응하는 에러 정보가 서비스 액세스 프로세스로 송신될 수 있으며, 따라서 서비스 액세스 프로세스는 에러 정보를 수신할 때 서비스 요청을 재송신한다.
몇몇 실시예에서, 단계 304 후, 다음이 추가로 포함된다: 질의된 대칭 키의 사용 파라미터가 만료 파라미터 조건을 만족할 때 서비스 액세스 프로세스로 만료 정보를 전송하며, 따라서 서비스 액세스 프로세스는 만료 정보를 수신할 때 인증 요청을 재송신한다; 사용 파라미터는 사용 번호 및 사용 지속기간 중 적어도 하나를 포함한다.
서비스 키 정보에 대해, 만료 파라미터 조건이 설정될 수 있으며, 특정한 서비스 키 정보의 사용 파라미터가 만료 파라미터 조건을 만족할 때, 전자 디바이스는 서비스 키 정보를 업데이트할 수 있으며, 상기 만료 파라미터 조건은 사용의 최대 횟수 및 유효 사용 지속기간 중 적어도 하나일 수 있지만, 또한 다른 조건일 수 있으며, 이것은 제한되지 않는다.
서비스 요청에서의 키 식별자에 따라 질의한 후, 질의된 대칭 키(대칭 키가 속하는 서비스 키 정보의 사용 파라미터에 상응하는)의 사용 파라미터가 만료 파라미터 조건을 만족하면, 전자 디바이스는 만료 정보를 서비스 액세스 프로세스로 송신하며, 따라서 서비스 액세스 프로세스는 만료 정보를 수신할 때 인증 요청을 재송신하고, 그에 의해 업데이트된 서비스 키 정보를 요청한다. 이러한 방식으로, 서비스 키 정보의 동적 업데이팅이 서비스 통신의 보안을 추가로 개선하기 위해 실현될 수 있다.
단계 305: 질의된 대칭 키에 따라 서비스 요청에서 암호화된 요청 데이터를 복호화한다.
단계 306: 응답 데이터를 얻기 위해 복호화에 의해 획득된 요청 데이터에 대한 응답 프로세싱을 수행한다.
여기에서, 응답 프로세싱은 응답 데이터를 얻기 위해 실질적인 서비스 전략 또는 규칙에 따라 복호화에 의해 획득된 요청 데이터에 대해 수행될 수 있다. 예를 들어, 복호화 프로세스에 의해 획득된 요청 데이터가 비디오 링크이면, 비디오 링크에 대응하는 비디오 데이터가 응답 데이터로서 획득될 수 있다. 수행된 응답 프로세싱은 복호화에 의해 획득된 요청 데이터를 저장할 수 있으며, 즉 응답 데이터가 반드시 획득되는 것은 아니며, 응답 데이터를 획득하는 경우는 여기에서 단지 예로 들어진다.
몇몇 실시예에서, 서비스 요청은 시간 스탬프 및 제1 확인 정보를 추가로 포함한다; 상기 제1 확인 정보는 키 식별자, 대칭 키, 시간 스탬프 및 대칭 키를 사용하여 암호화된 요청 데이터에 대한 해시 프로세싱을 수행하는 서비스 액세스 프로세스에 의해 획득된다; 복호화에 의해 획득된 요청 데이터에 대한 응답 프로세싱은 이러한 방식으로 실현될 수 있다: 제1 확인 정보를 얻기 위해 키 식별자, 질의된 대칭 키, 시간 스탬프 및 암호화된 요청 데이터에 대한 해시 프로세싱을 수행하는 것; 및 제1 확인 정보 및 제2 확인 정보 간의 매칭 결과가 매칭 성공일 때, 복호화에 의해 획득된 요청 데이터에 대한 응답 프로세싱을 수행하는 것.
여기에서, 서비스 액세스 프로세스는 제1 확인 정보를 얻기 위해 키 식별자, 대칭 키, 현재 시간 스탬프 및 대칭 키를 사용하여 암호화된 요청 데이터에 대한 해시 프로세싱을 수행하며, 제1 확인 정보를 본원에서의 서비스 요청에 부가할 수 있으며, 즉 서비스 요청은 키 식별자, 대칭 키를 사용하여 암호화된 요청 데이터, 시간 스탬프 및 제1 확인 정보를 포함한다. 서비스 요청에서 키 식별자 질의를 통해 대응하는 대칭 키를 획득한 후, 전자 디바이스는 제2 확인 정보를 얻기 위해 서비스 요청에서의 키 식별자, 질의된 대칭 키, 질의된 대칭 키, 서비스 요청에서의 시간 스탬프 및 서비스 요청에서의 암호화된 요청 데이터에 대한 해시 프로세싱을 수행한다. 해시 프로세싱에서 사용된 알고리즘은 알고리즘이 통합됨을 보장하도록 미리 합의될 수 있다.
제1 확인 정보가 제2 확인 정보와 동일할 때, 즉 매칭이 성공적일 때, 서비스 요청에서의 데이터는 조작되지 않았음이 입증되며, 이때, 전자 디바이스는 복호화에 의해 획득된 요청 데이터에 대한 응답 프로세싱을 수행하고; 제1 확인 정보가 제2 확인 정보와 상이할 때, 즉 매칭이 실패할 때, 서비스 요청에서의 데이터가 조작되었음이 입증되며, 전자 디바이스는 대응하는 에러 정보를 서비스 액세스 프로세스로 송신할 수 있고, 따라서 서비스 액세스 프로세스는 에러 정보를 수신할 때 서비스 요청을 재송신한다. 본 출원의 실시예에서, 제1 확인 정보 및 제2 확인 정보가 먼저 비교될 수 있으며, 그 후 서비스 요청에서의 암호화된 요청 데이터가 질의된 대칭 키에 따라 복호화되고; 또한 질의된 대칭 키에 따라 서비스 요청에서의 암호화된 요청 데이터를 먼저 복호화하며, 그 후 제2 확인 정보와 제1 확인 정보를 비교하는 것이 가능하다. 이러한 방식으로, 서비스 요청에서의 데이터가 조작되었는지를 정확하게 결정하며, 그에 의해 응답 프로세싱을 수행할지를 결정하는 것이 가능하다.
단계 307: 공개 키에 따라 응답 데이터를 암호화하며, 서비스 액세스 프로세스가 개인 키에 따라 암호화된 응답 데이터를 복호화하도록 암호화된 응답 데이터를 서비스 액세스 프로세스로 송신한다.
응답 프로세싱을 통해 응답 데이터를 획득한 후, 전자 디바이스는 서비스 액세스 프로세스에 의해 송신된 공개 키에 따라 응답 데이터를 암호화하며, 암호화된 응답 데이터를 서비스 액세스 프로세스로 송신한다. 이러한 방식으로, 암호화된 응답 데이터를 수신할 때, 서비스 액세스 프로세스는 응답 데이터를 획득하기 위해 저장된 개인 키에 따라 동일한 것을 복호화하며 암호화된 서비스 통신을 완료할 수 있다.
도 4c에 도시된 바와 같이, 본 출원의 실시예에 따르면, 암호화된 서비스 통신이 서비스 액세스 프로세스에 의해 생성된 비대칭 키 쌍 및 전자 디바이스에 의해 발행된 서비스 키 정보를 조합함으로써 수행되며, 따라서 서비스 통신의 보안 및 프라이버시가 효과적으로 보장될 수 있다.
몇몇 실시예에서, 본 출원의 실시예에 의해 제공된 서비스 통신 방법의 흐름도인, 도 4d를 참조하면, 도 4a에 도시된 단계 104 후, 서비스 액세스 프로세스에 의해 송신된 크리덴셜 요청이 또한 단계 401에서 수신될 수 있으며; 상기 크리덴셜 요청은 애플리케이션 프로세스의 서비스 요청을 가로채는 것에 응답하여 서비스 액세스 프로세스에 의해 송신되고, 서비스 요청의 목적지 어드레스는 서비스 서버의 어드레스이다.
본 출원의 실시예에서, 서비스 액세스 프로세스는 애플리케이션 프로세스(예를 들어, 서비스 액세스 프로세스와 동일한 단말기 디바이스 상에서 구동하는 애플리케이션 프로세스)에 의해 송신된 서비스 요청을 가로채기 위해 사용될 수 있으며, 서비스 요청의 목적지 어드레스는 서비스 서버의 어드레스이고, 여기에서 어드레스는 IP 어드레스(또는 도메인 이름) 및 포트를 포함할 수 있다. 서비스 요청을 가로채는 방식은 여기에서 제한되지 않으며, 가로채기는 예를 들어, 특정 가상 네트워크 카드에 의해 달성될 수 있다.
서비스 요청이 가로채어질 때, 서비스 액세스 프로세스는 크리덴셜 요청을 생성하며, 크리덴셜 요청의 콘텐트는 서비스 요청에서의 소스 어드레스(즉, 애플리케이션 프로세스의 어드레스) 및 목적지 어드레스를 포함할 수 있고, 또한 애플리케이션 프로세스의 프로세스 식별(PID)을 포함할 수 있다.
단계 402: 애플리케이션 프로세스에 대한 동기식 검증 프로세싱을 수행한다.
서비스 액세스 프로세스에 의해 송신된 크리덴셜 요청을 수신할 때, 전자 디바이스는 크리덴셜 요청이 향하는 애플리케이션 프로세스에 대한 동기식 검증 프로세싱을 수행한다. 본질적으로, 크리덴셜 요청은 또한 서비스 액세스 프로세스에 의해 송신된 서비스 요청 중 하나이며, 크리덴셜 요청에 의해 요청된 응답 데이터는 서비스 크리덴셜이다.
몇몇 실시예에서, 상기 언급된 애플리케이션 프로세스에 대한 동기식 검증 프로세싱은 또한 이러한 방식으로 실현될 수 있다: 애플리케이션 프로세스가 위치되는 디바이스에서 로그인 상태에서의 사용자 계정을 결정하며, 사용자 계정에 대응하는 신뢰 애플리케이션 프로세스에 대한 프로세스 정보 및 사용자 계정에 대응하는 액세스 가능한 서비스 서버의 어드레스를 획득하는 것; 애플리케이션 프로세스에 대한 프로세스 정보와 신뢰 애플리케이션 프로세스에 대한 프로세스 정보 간의 매칭 결과를 제3 검증 프로세싱 결과로서 취하는 것; 서비스 요청에 의해 요청된 서비스 서버의 어드레스와 액세스 가능한 서비스 서버의 어드레스 간의 매칭 결과를 제4 검증 프로세싱 결과로서 취하는 것; 애플리케이션 프로세스가 위치되는 디바이스에 대한 디바이스 정보를 획득하며, 디바이스 정보와 디바이스 보안 조건 간의 매칭 결과를 제5 검증 프로세싱 결과로서 취하는 것; 및 제3 검증 프로세싱 결과, 제4 검증 프로세싱 결과 및 제5 검증 프로세싱 결과에 따라 애플리케이션 프로세스의 동기식 검증 프로세싱 결과를 결정하는 것.
여기에서, 애플리케이션 프로세스에 대한 동기식 검증 프로세싱의 예가 제공된다. 첫 번째로, 실질적인 애플리케이션 시나리오에 따르면, 복수의 사용자 계정의 각각에 대해, 사용자 계정 및 액세스 가능한 서비스 서버에 대응하는 신뢰 애플리케이션 프로세스가 설정될 수 있으며, 전자 디바이스는 신뢰 애플리케이션 프로세스에 대한 프로세스 정보 및 액세스 가능한 서비스 서버의 어드레스를 국소적으로 저장할 수 있다.
서비스 액세스 프로세스에 의해 송신된 크리덴셜 요청을 수신할 때, 전자 디바이스는 크리덴셜 요청에서의 PID에 따라 대응하는 애플리케이션 프로세스를 결정하고, 애플리케이션 프로세스가 위치되는 디바이스에서 로그인 상태에서의 사용자 계정을 결정하며, 동시에, 애플리케이션 프로세스가 위치되는 디바이스에 대한 디바이스 정보를 획득할 수 있다. 로그인 상태에서의 사용자 계정에 대해, 애플리케이션 프로세스에 대한 프로세스 정보가 사용자 계정에 대응하는 신뢰 애플리케이션 프로세스 중 임의의 것에 대한 프로세스 정보와 동일할 때, 즉, 매칭이 성공적일 때, 제3 검증 프로세싱 결과는 검증 성공인 것으로 결정되며; 애플리케이션 프로세스에 대한 프로세스 정보가 사용자 계정에 대응하는 신뢰 애플리케이션 프로세스 모두에 대한 프로세스 정보와 상이할 때, 제3 검증 프로세싱 결과는 검증 실패인 것으로 결정된다. 또한, 로그인 상태에서의 사용자 계정에 대해, 크리덴셜 요청에서의 목적지 어드레스가 사용자 계정에 대응하는 임의의 액세스 가능한 서비스 서버의 어드레스와 동일할 때, 즉 매칭이 성공적일 때, 제4 검증 프로세싱 결과는 검증 성공인 것으로 결정되며; 크리덴셜 요청에서의 목적지 어드레스가 사용자 계정에 대응하는 액세스 가능한 서비스 서버 모두의 어드레스와 상이할 때, 제4 검증 프로세싱 결과는 검증 실패인 것으로 결정된다.
또한, 디바이스 정보가 설정된 디바이스 보안 조건과 매칭되며 디바이스 정보가 디바이스 보안 조건을 충족한다면, 즉 매칭이 성공적일 때, 제5 검증 프로세싱 결과는 검증 성공인 것으로 결정되며; 그렇지 않다면, 제5 검증 프로세싱 결과는 검증 실패인 것으로 결정된다. 여기에서, 디바이스 보안 조건은 제한되지 않으며, 예를 들어, 바이러스 및 시스템 홀은 디바이스 정보에 포함되지 않을 수 있다.
마침내, 제3 검증 프로세싱 결과, 제4 검증 프로세싱 결과 및 제5 검증 프로세싱 결과가 검증 성공일 때, 애플리케이션 프로세스의 동기식 검증 프로세싱 결과가 검증 성공인 것으로 결정되며; 제3 검증 프로세싱 결과, 제4 검증 프로세싱 결과 및 제5 검증 프로세싱 결과 중 임의의 것이 검증 실패일 때, 애플리케이션 프로세스의 동기식 검증 프로세싱 결과는 검증 실패인 것으로 결정된다. 상기 언급된 제3 검증 프로세싱 결과, 제4 검증 프로세싱 결과 및 제5 검증 프로세싱 결과 중 적어도 하나에 기초하여 애플리케이션 프로세스의 동기식 검증 프로세싱 결과를 결정하는 것이 또한 가능하며, 그에 의해 동기식 검증 프로세싱의 효율성을 증가시킨다. 이러한 방식으로, 획득된 동기식 검증 프로세싱 결과의 정확도 및 효과성이 개선될 수 있다.
몇몇 실시예에서, 단계 401 후, 다음이 추가로 포함된다: 프로세스 정보 블랙리스트와 애플리케이션 프로세스에 대한 프로세스 정보를 주기적으로 매칭시키며 획득된 매칭 결과를 애플리케이션 프로세스의 비동기식 검증 프로세싱 결과로서 취하는 것; 및 애플리케이션 프로세스의 비동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어하는 것.
애플리케이션 프로세스에 대한 동기식 인증 프로세싱을 수행하는 것 외에, 비동기식 검증 프로세싱은 애플리케이션 프로세스에 대해 수행될 수 있다. 여기에서, 애플리케이션 프로세스에 대한 비동기식 검증 프로세싱을 수행하는 프로세스는 상기 설명된 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행하는 프로세스와 유사하다. 애플리케이션 프로세스의 비동기식 검증 프로세싱 결과를 획득한 후, 비동기식 검증 프로세싱 결과가 검증 성공이면, 서비스 액세스 프로세스와의 통신 연결이 유지되며; 비동기식 검증 프로세싱 결과가 검증 실패이면, 서비스 액세스 프로세스와의 통신 연결은 연결해제된다.
몇몇 실시예에서, 단계 중 임의의 것 사이에서, 다음이 추가로 포함된다: 블록체인에 저장된 블랙리스트에 대해 질의하기 위해 질의 요청을 블록체인 네트워크로 송신하는 것.
본 출원의 실시예는 또한 블록체인 기술과 함께 구현될 수 있다. 본 출원의 실시예에서, 블록체인은 이에 제한되지 않지만, 서명자 블랙리스트, 인증서 정보 블랙리스트, 및 상기 설명된 프로세스 정보 블랙리스트를 포함한, 블랙리스트를 저장하기 위해 사용될 수 있다. 블록체인 네트워크의 대표적인 애플리케이션은 전자 디바이스가 이하에서 블랙리스트 질의를 구현하기 위해 블록체인 네트워크를 액세스하는 예에 의해 예시된다.
이해를 가능하게 하기 위해, 도 2에 도시된 아키텍처를 갖고 예시될 때, 전자 디바이스(700)는 블록체인 네트워크(500)의 클라이언트 노드로서 블록체인 네트워크(500)를 액세스한다. 전자 디바이스(700)는 블랙리스트가 질의될 필요가 있을 때 트랜잭션의 형태로 질의 요청을 블록체인 네트워크(500)로 송신하며, 여기에서 질의 동작을 구현하기 위해 호출될 지능형 계약 및 지능형 계약으로 전달될 파라미터가 트랜잭션에 특정되며, 트랜잭션은 또한 전자 디바이스(700)에 의해 서명된(예를 들어, 전자 디바이스(700)의 디지털 인증서를 통해 트랜잭션의 개요를 암호화함으로써 획득된) 디지털 서명을 운반하며, 트랜잭션을 블록체인 네트워크(500)로 브로드캐스팅한다. 디지털 인증서는 전자 디바이스(700)에 의해 인증 센터(600)에 등록될 수 있다.
트랜잭션을 수신한 후, 블록체인 네트워크(500)에서의 노드(510)는 트랜잭션에서 운반된 디지털 서명에 대한 검증을 수행한다. 트랜잭션에서 운반된 전자 디바이스(700)의 식별자에 따라, 디지털 서명이 성공적으로 검증된 후, 전자 디바이스(700)가 트랜잭션 허가를 갖는지가 결정된다. 디지털 서명 검증 및 허가 검증 중 어느 하나가 실패한다면 트랜잭션은 실패한다. 검증 성공 시, 노드(510)는 그 자신의 디지털 서명에 서명하며 블록체인 네트워크(500)에서 계속해서 브로드캐스팅한다.
블록체인 네트워크(500)에서 분류 함수를 가진 노드(510)가 성공적으로 검증된 트랜잭션을 수신한 후, 트랜잭션은 새로운 블록으로 채워지며 블록체인 네트워크(500)에서 합의 서비스를 제공하는 노드로 브로드캐스팅한다.
블록체인 네트워크(500)에서 합의 서비스를 제공하는 노드(510)는 합의에 이르도록 새로운 블록에 대한 합의 프로세스를 수행하며, 계정 예약 함수를 제공하는 노드(510)는 블록체인의 테일에 새로운 블록을 덧붙이고, 새로운 블록에서 트랜잭션을 실행한다: 블랙리스트를 질의하는 트랜잭션에 대해, 블랙리스트는 상태 데이터베이스로부터 질의되며 질의된 블랙리스트는 전자 디바이스(700)로 송신된다. 상태 데이터베이스는 키 값 쌍의 형태로 데이터를 저장하며, 상태 데이터베이스에 저장된 데이터는 일반적으로 블록체인에 저장된 데이터와 동일하고, 질의 트랜잭션에 응답할 때, 응답은 우선적으로 상태 데이터베이스에서의 데이터에 따라 수행될 수 있고, 그에 의해 응답 효율을 개선한다. 물론, 상태 데이터의 부재 시, 응답은 블록체인에서의 데이터로부터 직접 이루어질 수 있다. 블록체인에서의 데이터가 조작 가능하지 않은 속성을 가지므로, 획득된 블랙리스트의 정확도는 이러한 방식으로 보장된다. 또한, 블록체인에 저장된 데이터는 블랙리스트에 제한되지 않으며, 예를 들어, 할당된 서비스 키 정보, 사용자 계정에 대응하는 신뢰 애플리케이션 프로세스에 대한 프로세스 정보, 사용자 계정에 대응하는 액세스 가능한 서비스 서버의 어드레스 등을 추가로 포함할 수 있다.
단계 403: 애플리케이션 프로세스의 동기식 검증 프로세싱 결과에 따라, 애플리케이션 프로세스에 대해 할당된 서비스 크리덴셜 및 게이트웨이 어드레스를 결정하며, 서비스 액세스 프로세스가 게이트웨이 어드레스에 따라 서비스 크리덴셜 및 서비스 요청을 서비스 게이트웨이로 송신하도록 서비스 크리덴셜 및 게이트웨이 어드레스를 서비스 액세스 프로세스로 송신한다.
예를 들어, 애플리케이션 프로세스의 동기식 검증 프로세싱 결과가 검증 성공일 때, 전자 디바이스는 애플리케이션 프로세스에 대해 할당된 서비스 크리덴셜 및 게이트웨이 어드레스를 결정하며, 서비스 크리덴셜 및 게이트웨이 어드레스를 서비스 액세스 프로세스로 송신하고; 애플리케이션 프로세스의 동기식 검증 프로세싱 결과가 검증 실패일 때, 서비스 액세스 프로세스와의 통신 연결은 연결해제될 수 있거나, 또는 서비스 액세스 프로세스는 서비스 서버와 직접 연결하도록 통지받을 수 있다. 게이트웨이 어드레스는 여기에서 서비스 서버(이후, 애플리케이션 프로세스의 서비스 요청에 의해 요청된 서비스 서버로서 불리움)를 액세스하기 위한 권한을 가진 서비스 게이트웨이의 어드레스를 나타낸다. 본 출원의 실시예에서, 액세스할 권한을 가진 상이한 서비스 게이트웨이는 상이한 서비스 서버에 대해 설정될 수 있으며, 액세스할 권한을 가진 서비스 게이트웨이는 또한 균일하게 설정될 수 있고, 이것은 제한되지 않는다. 전자 디바이스는 뒤이은 인증을 위해 할당된 서비스 크리덴셜을 국소적으로 저장할 수 있으며, 상기 서비스 크리덴셜의 유형은 제한되지 않고, 예를 들어, 랜덤 스트링일 수 있다.
서비스 크리덴셜 및 게이트웨이 어드레스를 수신할 때, 서비스 액세스 프로세스는 먼저 서비스 크리덴셜을 게이트웨이 어드레스에 대응하는 서비스 게이트웨이로 송신할 수 있다. 서비스 크리덴셜을 수신할 때, 서비스 게이트웨이는 검증 프로세싱을 위해 서비스 크리덴셜을 전자 디바이스로 송신하며, 서비스 크리덴셜이 전자 디바이스에 저장된 서비스 크리덴셜과 동일하다면, 즉 검증이 성공적이면, 서비스 게이트웨이는 검증이 성공적이라는 정보를 서비스 액세스 프로세스로 송신할 수 있다. 검증이 성공적이라는 정보를 수신할 때, 서비스 액세스 프로세스는 애플리케이션 프로세스의 서비스 요청을 서비스 게이트웨이로 송신하여, 서비스 게이트웨이가 서비스 요청을 서비스 서버로 포워딩하도록 하며, 그에 따라 서비스 서버는 수신된 서비스 요청에서 요청 데이터에 대한 응답 프로세싱을 수행할 수 있다. 서비스 서버의 응답 프로세싱에 의해 획득된 응답 데이터는 반대 통신 방향으로 애플리케이션 프로세스로 송신될 수 있다. 더욱이, 서비스 게이트웨이가 수신된 서비스 크리덴셜을 검증하는데 실패하면, 서비스 게이트웨이는 서비스 액세스 프로세스에 의해 송신된 서비스 요청을 포워딩하는 것을 지원하지 않으며, 예를 들어, 서비스 게이트웨이는 서비스 액세스 프로세스와의 통신 연결을 연결해제할 수 있다.
상기 언급된 단계 401 내지 단계 403에서, 서비스 액세스 프로세스와 전자 디바이스 간의 상호작용은 암호화된 서비스 통신의 카테고리 내에 있다.
도 4d에 도시된 바와 같이, 서비스 액세스 프로세스는 애플리케이션 프로세스에 대한 프록시로서 동작할 수 있어서, 서비스 서버로의 액세스를 가능하게 하며, 제로-트러스트 경계 없는 사무실의 시나리오와 같은, 제로-트러스트 시나리오에 적용 가능하다.
몇몇 실시예에서, 서비스 통신 방법은 서비스 액세스 클라이언트, 보안 클라이언트, 및 보안 서버를 포함한 서비스 통신 시스템에 의해 구현될 수 있다. 도 4e는 본 출원의 실시예에 의해 제공된 서비스 통신 방법의 흐름도이다. 방법은 도 4e에 도시된 단계와 함께 설명될 것이다.
단계 501: 보안 클라이언트에 의해, 서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신한다.
여기에서, 보안 클라이언트 및 서비스 액세스 클라이언트는 동일한 단말기 디바이스에 또는 상이한 단말기 디바이스에 배치될 수 있다.
단계 502: 보안 클라이언트에 의해, 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱을 수행한다.
여기에서, 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱은 프로세스 경로 및 서명 정보에 대한 검증 프로세싱을 포함할 수 있다. 몇몇 실시예에서, 서비스 액세스 클라이언트는 보안 클라이언트의 구성요소일 수 있으며, 보안 디렉토리는 보안 클라이언트가 서비스 액세스 프로세스의 프로세스 경로에 대한 검증 프로세싱을 수행할 때 보안 클라이언트의 설치 디렉토리일 수 있다.
단계 503: 보안 서버에 의해, 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행한다.
여기에서, 보안 클라이언트는 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 보안 서버에 통지할 수 있으며, 보안 서버는 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과를 보안 클라이언트로 반환할 수 있다. 보안 클라이언트는 비동기식 검증 프로세싱을 가능하게 하기 위해 서비스 액세스 프로세스에 대한 프로세스 정보를 보안 서버로 송신할 수 있다.
단계 504: 보안 클라이언트에 의해, 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정한다.
예를 들어, 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과가 검증 성공일 때, 보안 클라이언트는 보안 서버로부터 서비스 키 정보를 요청한다, 즉 서비스 키 정보의 실질적인 생성자가 보안 서버일 수 있다. 보안 클라이언트는 뒤이은 암호화된 서비스 통신을 위해 획득된 서비스 키 정보를 국소적으로 저장할 수 있다.
단계 505: 보안 클라이언트에 의해, 서비스 키 정보에 기초하여 서비스 액세스 프로세스와의 암호화된 서비스 통신을 위해 서비스 키 정보를 서비스 액세스 프로세스로 송신한다.
몇몇 실시예에서, 단계 505 후, 다음이 추가로 포함된다: 보안 클라이언트에 의해, 서비스 액세스 프로세스에 의해 송신된 크리덴셜 요청을 수신하는 것 ―크리덴셜 요청은 애플리케이션 프로세스의 서비스 요청을 가로챌 때 서비스 액세스 프로세스에 의해 송신되며, 서비스 요청의 목적지 어드레스는 서비스 서버의 어드레스이다―; 보안 클라이언트에 의해, 애플리케이션 프로세스에 대한 동기식 검증 프로세싱을 수행하기 위해 보안 서버에 통지하는 것; 보안 서버에 의해, 애플리케이션 프로세스의 동기식 검증 프로세싱 결과에 따라 애플리케이션 프로세스에 대해 할당된 서비스 크리덴셜 및 게이트웨이 어드레스를 결정하며, 서비스 크리덴셜 및 게이트웨이 어드레스를 보안 클라이언트를 통해 서비스 액세스 프로세스로 송신하는 것; 보안 액세스 클라이언트에 의해, 서비스 크리덴셜 및 서비스 요청을 서비스 액세스 프로세스를 통해 게이트웨이 어드레스에 대응하는 서비스 게이트웨이로 송신하는 것 ―서비스 게이트웨이는 수신된 서비스 크리덴셜에 대한 검증 프로세싱을 수행하며, 서비스 크리덴셜의 검증 프로세싱 결과가 검증 성공일 때 수신된 서비스 요청을 서비스 서버로 전송하며; 서비스 서버는 수신된 서비스 요청에서 요청 데이터에 대한 응답 프로세싱을 수행하도록 구성된다―;.
예를 들어, 보안 클라이언트, 서비스 액세스 프로세스, 및 애플리케이션 프로세스는 동일한 단말기 디바이스에서 구동할 수 있다. 보안 클라이언트는 획득된 크리덴셜 요청, 애플리케이션 프로세스가 위치되는 디바이스에서 로그인 상태에서의 사용자 계정, 애플리케이션 프로세스에 대한 프로세스 정보 및 애플리케이션 프로세스가 위치되는 디바이스에 대한 디바이스 정보를 보안 서버로 송신할 수 있어서, 보안 서버가 애플리케이션 프로세스에 대한 동기식 검증 프로세싱을 수행하도록 하고, 상기 로그인 상태에서의 사용자 계정은 보안 클라이언트에서 로그인 상태에서의 사용자 계정을 나타낼 수 있다.
몇몇 실시예에서, 보안 서버는 또한 애플리케이션 프로세스에 대한 비동기식 검증 프로세싱을 수행할 수 있다.
단계 506: 보안 클라이언트에 의해, 서비스 액세스 프로세스에 대한 보안 서버의 비동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위한 통신 연결을 제어한다.
도 4e에 도시된 바와 같이, 본 출원의 실시예에 따르면, 암호화된 서비스 통신은 서비스 액세스 클라이언트, 보안 클라이언트, 및 보안 서버를 통해 구현될 수 있으며, 상기 서비스 액세스 클라이언트는 보안 클라이언트의 구성요소로서 사용되어, 단말기 디바이스(예를 들어, 기업 고용인에 의해 유지되는 단말기 디바이스)로의 설치를 가능하게 할 수 있으며, 제로-트러스트 경계 없는 사무실 등의 시나리오에 적용 가능하다.
실질적인 애플리케이션 시나리오에서 본 출원의 실시예의 대표적인 애플리케이션이 이하에서 설명될 것이며, 제로-트러스트 경계 없는 사무실의 시나리오가 이해의 용이함을 위해 예시되고, 상기 제로 트러스트는 네트워크 안쪽 및 바깥쪽에 있는 임의의 사용자/디바이스/애플리케이션을 신뢰하지 않는 것을 나타낸다. 본 출원의 실시예에서, 서비스 통신 시스템은 보안 클라이언트, 보안 서버, 및 보안 관리자를 포함할 수 있고, 상기 보안 관리자는 보안 클라이언트 및/또는 보안 서버에서 이용되는 정책, 규칙 등을 구성하도록 구성되며, 보안 관리자는 관리자(기업 관리자와 같은)에 의한 구성을 가능하게 하기 위해 인간-컴퓨터 상호작용 인터페이스(웹 인터페이스와 같은)를 제공할 수 있다.
예를 들어, 관리자는 보안 관리자에 대한 제로-트러스트 전략을 구성할 수 있고, 상기 제로-트러스트 전략은 사용자 계정이 사용할 수 있는 애플리케이션(신뢰 애플리케이션) 및 액세스될 수 있는 서비스 시스템을 포함한다. 예로서, 참조가 도 5에 도시된 보안 관리자의 전략 관리 인터페이스의 개략도에 대해 이루어진다. 도 5에서, 제로-트러스트 전략은 조직 아키텍처에서 사용자 계정(또는 사용자 계정 그룹), 신뢰 애플리케이션 및 서비스 시스템(상기 언급된 서비스 서버에 대응하는)의 3개의 양상으로부터 구성될 수 있으며, 이것은 각각 이하에서 설명된다.
1) 사용자 계정 또는 사용자 계정 그룹: 본 출원의 실시예에서, 제로-트러스트 전략의 세분성(granularity)은 단일 사용자 계정일 수 있다. 제로-트러스트 전략이 특정한 사용자 계정 그룹에 대해 구성되면, 사용자 계정 그룹에 포함된 모든 사용자 계정은 동일한 제로-트러스트 전략을 공유할 수 있다.
2) 신뢰 애플리케이션: 단말기 디바이스는 내부 서비스 시스템의 애플리케이션 베어러를 액세스할 수 있으며, 애플리케이션 베어러는 보안 관리자에 의해 신뢰된다. 본 출원의 실시예에서, 애플리케이션 프로세스의 프로세스 정보는 애플리케이션 이름, 프로세스 이름, 애플리케이션 MD5 값 및 서명 정보 등을 포함할 수 있다.
3) 서비스 시스템: 기업 안에서 서비스 리소스, 데이터, 개발 환경, 테스트 환경, 동작 및 유지 환경, 정식 생산 환경 등을 제공하기 위해 사용될 수 있으며 액세스 대상(사람/단말기 디바이스/애플리케이션)에 의해 액세스되는 오브젝트이다, 즉 서비스 시스템은 액세스 오브젝트이다. 몇몇 경우에서, 서비스 시스템은 서비스 서버(또는 서비스 서버의 클러스터)일 수 있다.
사용자 계정 그룹은 기업 조직 아키텍처에서의 노드이며, 도 5에서, 노드는 네트워크-전체 계정, 사용자 계정 그룹 및 위에서 아래로의 시퀀스에 있는 사용자 계정이다. 즉, 네트워크-전체 계정은 모든 사용자 계정 그룹의 부모 모드이며, 사용자 계정 그룹은 사용자 계정 그룹에 포함된 사용자 계정 모두의 부모 노드이다. 예를 들어, 도 5에서 "lemon" 사용자 계정은 "testgroup" 사용자 계정 그룹에 속하며, "testgroup" 사용자 계정 그룹은 네트워크-전체 계정에 속한다.
본 출원의 실시예는 또한 도 6에 도시된 바와 같이 프로세스 정보(또한 프로세스 특성으로 불리움)의 개략도를 제공한다. 도 6에서, 컨퍼런스 애플리케이션 프로세스에 대한 프로세스 정보가 도시되며, 이것은 프로세스 이름, 애플리케이션 이름, 운영 시스템(즉, 애플리케이션 프로세스를 구동하기 위한 단말기 디바이스의 운영 시스템), 제조사, 서명 정보, 테스트 결과(즉, 비동기식 검증 프로세싱 결과), 버전, MD5 값 및 SHA256을 포함할 수 있다.
서비스 시스템을 구성하기 전에, 관리자는 보안 관리자의 제로-트러스트 게이트웨이(상기 언급된 서비스 게이트웨이에 대응하는) 인터페이스상에서 제로-트러스트 게이트웨이의 적절한 구성을 수행할 수 있다. 예로서, 도 7에 도시된 바와 같이 보안 관리자의 제로-트러스트 게이트웨이 인터페이스의 개략도 및 도 8에 도시된 바와 같이 제로-트러스트 게이트웨이의 구성 인터페이스의 개략도가 제공된다. 도 8에 도시된 구성 인터페이스는 도 7에 도시된 특정한 게이트웨이(게이트웨이 4와 같은)를 트리거함으로써 디스플레이될 수 있으며, 이것은 제한되지 않는다. 관리자는 실제 요구에 따라, 이름, IP 어드레스, 도메인 이름, 포트, 및 우선 액세스 IP 어드레스 세그먼트와 같은, 제로-트러스트 게이트웨이의 속성을 구성할 수 있다. 우선 액세스 IP 어드레스 세그먼트가 특정한 게이트웨이에 대해 구성된다면, 액세스 대상(특정한 단말기 디바이스와 같은)의 IP 어드레스가 우선 액세스 IP 어드레스 세그먼트(즉, 우선 액세스 IP 어드레스 세그먼트에 속하는)와 성공적으로 매칭될 때, 게이트웨이는 액세스 대상의 서비스 요청을 포워딩하기 위해 우선적으로 사용될 수 있으며; 액세스 대상의 IP 어드레스가 우선 액세스 IP 어드레스 세그먼트와 매칭하는데 실패할 때, 게이트웨이는 실질적인 애플리케이션 시나리오에 의존하여, 사용되거나 또는 사용되지 않도록 선택될 수 있다.
본 출원의 실시예는 또한 도 9에 도시된 바와 같이 보안 관리자의 서비스 시스템 인터페이스의 개략도를 제공한다. 도 9에서, 특정한 서비스 시스템이 질의될 수 있으며, 서비스 시스템의 부가, 복사, 및 삭제(예컨대, 배치에서의 삭제)가 또한 지원될 수 있다. 실질적인 애플리케이션 시나리오에 의존하여, 상이한 시스템 조합이 또한 생성될 수 있으며, 상기 시스템 조합은 적어도 하나의 서비스 시스템을 포함한다. 도 9에서, 시스템 조합 1에서의 서비스 시스템 1 내지 서비스 시스템 4는 예로서 시스템 조합 1을 취함으로써 도시된다.
예로서, 본 출원의 실시예는 또한 도 10, 도 11 및 도 12에 도시된 바와 같이 서비스 시스템의 구성 인터페이스의 개략도를 제공한다. 각각의 서비스 시스템에 대해, 그것의 IP 어드레스, 그것의 IP 어드레스 세그먼트, 도메인 이름 및 그것의 포트가 구성될 수 있으며, 서비스 시스템을 액세스할 수 있는 게이트웨이(즉, 액세스 허가를 가진 게이트웨이)가 또한 실질적인 서비스 조건에 따라 구성될 수 있고, 서비스 시스템을 액세스할 수 있는 복수의 게이트웨이의 순서는 사용자-정의될 수 있다. 예를 들어, 특정한 서비스 시스템을 액세스할 수 있는 4개의 게이트웨이에 대해, 게이트웨이는 앞에서 뒤의 순서로 게이트웨이 1, 게이트웨이 2, 게이트웨이 3 및 게이트웨이 4이며, 그 후 서비스 시스템을 액세스할 때, 액세스 대상이 또한 상기 순서에 따라 차례로, 예를 들어, 게이트웨이 1을 먼저 액세스하고, 액세스가 실패하면 게이트웨이 2를 액세스하는 등으로, 액세스한다.
서비스 시스템 및 신뢰 애플리케이션의 구성이 완료된 후, 관련 구성은 사용자 계정 또는 사용자 계정 그룹에 대해 발행될 수 있다, 즉 제로-트러스트 전략이 발행된다. 예로서, 본 출원의 실시예는 도 13에 도시된 바와 같이 보안 관리자의 전략 관리 인터페이스의 개략도를 제공한다. 도 13에서, 신뢰 애플리케이션(즉, 도 13에서의 "xx 컨퍼런스") 및 신뢰 애플리케이션을 통해 액세스 가능한 서비스 시스템(즉, 도 13에서의 "시스템 조합 2")이 사용자 계정 "123"에 대해 구성된다. 본 출원의 실시예는 계승 함수를 제공할 수 있으며, 즉, 위에서 아래로 사용자 계정 계층을 갖고 아래로 구성을 자동으로 복사하여, 관리자에 의한 반복된 확인 동작을 피한다. 예를 들어, 사용자 계정 "123"이 사용자 계정 그룹 "test"에 속하면, 사용자 계정 그룹 "test"의 구성은 사용자 계정 "123"으로 복사될 수 있다. 물론, 계승 함수가 또한 사용자 계정 "123"의 타겟팅 구성을 위해 턴 오프될 수 있다.
보안 관리자는 관리자에 의해 구성된 제로-트러스트 전략을 보안 서버로 배치할 수 있으며, 또한 보안 클라이언트로 배치할 수 있다, 예를 들어, 제로-트러스트 전략의 부분을 보안 클라이언트로 배치할 수 있다. 보안 클라이언트는 기업의 고용인에 의해 사용된 개인 컴퓨터 등과 같은, 액세스 대상으로서 단말기 디바이스로의 설치를 위한 것이다. 예로서, 본 출원의 실시예는 도 14에 도시된 바와 같이 보안 클라이언트의 인터페이스 개략도를 제공한다. 도 14에서, 스와이프 로그인 및 계정 로그인의 두 개의 모드가 제공되며, 여기에서 계정 로그인은 사용자 이름 및 패스워드를 입력하는 것에 의한 로그인을 나타낸다. 보안 클라이언트는 바이러스 확인 및 제거, 준수성 검출, 취약성 복구 및 컴퓨터 툴의 기능을 통합할 수 있다. 또 다른 예에 대해, 도 15에 도시된 바와 같이, 성공적인 로그인 후, 보안 클라이언트는 실시간 보호 전략, 바이러스-방지 보호 엔진 및 보안 강화 전략을 제공할 수 있으며, 실질적인 애플리케이션 시나리오에 따라 보안 클라이언트의 기능을 부가하고 삭제할 수 있다.
본 출원의 실시예는 또한 도 16에 도시된 바와 같이 보안 클라이언트의 인터페이스 개략도를 제공하며, 로그인 후, 보안 클라이언트는 로그인 상태에서의 사용자 계정에 대해 구성된 제로-트러스트 전략을 획득하며, 제로-트러스트 전략으로부터 신뢰 애플리케이션을 획득하고 이를 디스플레이할 수 있다. 예를 들어, 도 16에서, 사용자 계정 "lemon"에 대응하는 신뢰 애플리케이션 "xx 컨퍼런스"가 도시된다. 보안 관리자에 의해 발행된 제로-트러스트 전략에 따르면, 단말기 디바이스는 구성된 신뢰 애플리케이션에 따라 구성된 서비스 시스템을 액세스할 수 있으며, 이것은 원격 사무실과 같은, 경계 없는 사무실 시나리오에 적용 가능하다.
다음으로, 예로서 경계 없는 사무실 시나리오를 취하면, 실제 액세스 프로세스가 설명된다. 본 출원의 실시예는 도 17에 도시된 바와 같이 액세스 프로세스 개략도를 제공한다. 도 17에서, 서비스 통신 시스템은 제로-트러스트 네트워크 보안 서비스 제공자로서 작용할 수 있으며, 액세스 프록시(상기 언급된 서비스 액세스 클라이언트에 대응하는) 및 제로-트러스트 게이트웨이에 기초하여 액세스 대상에 대해 통합된 포탈을 제공하며, 액세스 대상이 통합된 포탈을 통해 액세스 오브젝트를 액세스하도록, 즉 서비스 요청이 네트워크를 통해 송신되도록 한다. 서비스 통신 시스템은 통합된 포탈에 대한 인증 동작을 제공할 수 있으며, 단지 인증ㅇㄹ 통과한 서비스 요청만이 제로-트러스트 게이트웨이 프록시를 통해 실제 서비스 시스템을 액세스하도록 액세스 프록시에 의해 제로-트러스트 게이트웨이로 포워딩될 수 있다.
예로서, 본 출원의 실시예는 또한 도 18에 도시된 바와 같이 액세스 프로세스의 개략도를 제공한다. 도 18에서의 코어 모듈은 보안 클라이언트, 보안 서버, 액세스 프록시 및 제로-트러스트 게이트웨이(지능형 게이트웨이)를 포함하며, 이것은 각각 다음에 설명된다.
1) 보안 클라이언트: 액세스 대상(기업 고용인의 단말기 디바이스와 같은)에 설치된 에이전트는 로그인 상태에서의 사용자 계정이 신뢰되는지, 단말기 디바이스가 신뢰되는지 및 애플리케이션이 신뢰되는지를 검증하기 위해 사용될 수 있다. 보안 클라이언트는 애플리케이션 프로세스의 프로세스 특성(상기 프로세스 정보에 대응하는)을 서버로 송신한다, 즉 프로세스 테스트(상기 애플리케이션 프로세스에 대한 비동기식 검증 프로세싱에 대응하는)를 수행할 수 있다.
2) 액세스 프록시: 단말기 디바이스의 트래픽을 하이잭킹, 즉 단말기 디바이스에서 애플리케이션 프로세스에 의해 송신된 서비스 요청을 가로채도록 구성된 프록시 클라이언트로 또한 알려져 있으며, 상기 트래픽의 하이잭킹은 TUN/TAP 가상 네트워크를 통해 구현될 수 있지만, 하이잭킹의 방법은 그것에 제한되지 않는다.
3) 제로-트러스트 게이트웨이: 기업의 내부 서비스 시스템으로의 액세스를 위한 각각의 서비스 요청을 검증하고, 인가하며, 포워딩하기 위해 기업 애플리케이션 및 데이터 리소스에 대한 포탈에 배치될 수 있다. 제로-트러스트 게이트웨이는 소프트웨어로 구성될 수 있다.
4) 보안 서버: 전략 제어 엔진(전략 센터)을 통해 서비스 트래픽에 대한 안전한 스케줄링을 수행하며, 사용자 계정 번호-단말기 디바이스-애플리케이션의 세분성에 따라 애플리케이션 프로세스의 서비스 요청을 인가할 책임이 있다. 보안 서버는 보안 클라이언트에서 로그인 상태에서의 사용자 계정이 신뢰되는지를 검증하도록 구성될 수 있고, 또한 디바이스 하드웨어 정보 및 디바이스 보안 상태를 검증하도록 구성될 수 있으며, 취약성이 있는지, 및 바이러스 Trojan 등이 있는지와 같은, 애플리케이션 프로세스가 신뢰되는지를 검출하도록 구성될 수 있다. 보안 서버는 클라우드 서버로의 파일 테스트를 주기적으로 개시할 수 있으며, 서비스 요청을 송신하는 애플리케이션 프로세스가 악의적 프로세스로 식별된다면, 보안 클라이언트는 비동기식 차단 동작을 실행하도록, 예를 들어 액세스 프록시와의 통신 연결이 연결해제되도록 통지되며, 상기 클라우드 서버는 악의적 프로세스의 클라우드 검출 서비스(또한 클라우드 질의 서비스, 클라우드 식별 서비스 등으로 알려짐)를 제공하도록 구성된다.
예를 들어, 단말기 디바이스(액세스 대상)는 애플리케이션 프로세스를 통해 액세스 오브젝트에 대한 서비스 요청을 송신할 수 있으며, 서비스 요청을 하이잭킹할 때, 액세스 프록시는 보안 클라이언트로 티켓 요청(상기 언급된 크리덴셜 요청에 대응하는)을 송신하고, 상기 티겟 요청은 서비스 요청에 소스 IP 어드레스(또는 소스 도메인 이름), 소스 포트, 목적지 IP 어드레스(또는 목적지 도메인 이름) 및 목적지 포트를 포함하며, 애플리케이션 프로세스에 대응하는 PID를 추가로 포함하고, 상기 티켓은 상기 언급된 서비스 크리덴셜에 대응하며, PID는 애플리케이션 프로세스를 고유하게 식별하기 위해 사용된다. 액세스 프록시에 의해 송신된 티켓 요청을 수신할 때, 보안 클라이언트는, 그 안에서의 PID에 따라, 티켓 요청에서의 소스 IP 어드레스(또는 소스 도메인 이름), 소스 포트, 목적지 IP 어드레스(또는 목적지 도메인 이름) 및 목적지 포트와 함께 애플리케이션 프로세스의 MD5 값, 프로세스 경로, 프로세스의 최근 수정 시간, 저작권 정보, 서명 정보 등을 수집하며, 또한 보안 클라이언트에서 로그인 상태에서의 사용자 계정에 대한 정보 등과 함께, 티켓에 대해 보안 서버에 적용한다. 이들 정보의 조각을 수신한 후, 보안 서버는 보안 클라이언트에서 로그인 상태에서의 사용자 계정에 대응하는 제로-트러스트 전략을 획득하고, 획득된 제로-트러스터 전략에 따라 애플리케이션 프로세스(서비스 요청을 개시하는 애플리케이션 프로세스를 나타내는)를 통해 사용자 계정이 서비스 시스템(서비스 요청에 의해 요청된 서비스 시스템을 나타내는)을 액세스할 권한을 갖는지를 결정하며; 그렇다면, 보안 서버는 생성된 티켓, 티겟이 사용되는 최대 횟수 및 보안 클라이언트로의 티켓의 유효 사용 지속기간을 송신할 수 있어서, 보안 클라이언트가 이를 액세스 프록시로 포워딩하도록 한다.
동기식 및 비동기식 양상 모두가 티겟 애플리케이션 프로세스에 포함될 수 있다. 예를 들어, 동기식 검증 프로세싱에서, 보안 클라이언트는 보안 서버로부터 티켓에 대해 이용하고, 보안 서버는 애플리케이션 프로세스의 프로세스 특성에 대한 동기식 검증 프로세싱, 예를 들어, 애플리케이션 프로세스가 신뢰 애플리케이션인지, 및 사용자 계정이 애플리케이션 프로세스를 통해 대응하는 서비스 시스템을 액세스할 권한을 갖는지 등을 검증하는 것을 수행한다. 보안 서버에 의해 획득된 동기식 검증 프로세싱 결과가 검증 성공이면, 보안 서버는 티겟, 티켓이 사용되는 최대 횟수 및 보안 클라이언트로의 티켓의 유효 사용 지속 기간에 정상적으로 응답하며, 보안 클라이언트는 이를 액세스 프록시로 송신한다. 예를 들어, 보안 클라이언트는 국소적 프로세스 통신(즉, 소켓 통신 연결)에 의해 액세스 프록시로 이를 송신할 수 있다.
비동기식 검증 프로세싱에서, 보안 서버는 애플리케이션 프로세스의 프로세스 특성에 따라 특정 클라우드 서버로 파일 테스트 요청을 주기적으로 송신할 수 있다. 보안 서버가 클라우드 서버로부터 애플리케이션 프로세스가 악의적 프로세스임을 획득하면, 보안 서버는 액세스 프록시와의 통신 연결을 연결해제하는 것과 같은, 비동기식 차단 동작을 실행하도록 통지받을 수 있다.
티켓을 획득한 후, 액세스 프록시는 제로-트러스터 게이트웨이가 검증할 수 있게 하기 위해 제로-트러스트 게이트웨이로 티켓을 송신할 수 있다. 예를 들어, 액세스 프록시는 HTTPS 요청의 인가 헤더 필드에 티켓을 부가하며 HTTPS 요청을 제로-트러스트 게이트웨이로 송신할 수 있다. HTTPS 요청을 수신하면, 제로-트러스트 게이트웨이는 인가 헤더 필드에서 티켓을 파싱하며 보안 서버로의 티켓을 검증한다. 제로-트러스트 게이트웨이가 티켓을 성공적으로 검증하면, 제로-트러스트 게이트웨이는 액세스 프록시와의 연결을 성공적으로 수립하며, 그 후 액세스 프록시는 원래 서비스 요청(이후 애플리케이션 프로세스에 의해 송신된 서비스 요청으로 불리움)을 제로-트러스트 게이트웨이로 송신할 수 있고, 제로-트러스트 게이트웨이는 서비스 시스템으로 애플리케이션 프로세스의 네트워크 액세스를 프록싱하기 위해 서비스 요청을 대응하는 서비스 시스템으로 포워딩하며; 제로-트러스트 게이트웨이가 티켓을 검증하는데 실패하면, 액세스 프록시와 제로-트러스트 게이트웨이 간의 통신 연결은 연결해제되고, 액세스 프록시는 원래 서비스 요청을 대응하는 서비스 시스템으로 직접 송신한다. 제로-트러스트 경계 없는 사무실 시나리오에서, 네트워크 액세스의 보안을 검증하기 위해, 이러한 액세스는 보통 실패한다.
본 출원의 실시예에서, 보안 서버는 단일 배치 모드를 통해 중간-크기 기업 및 협회 및 정부에 적응할 수 있으며, 또한 분산형 연쇄 배치 모드를 통해 대형 기업 그룹 및 다중-레벨 수직 정부 e-정부 시스템에 적응할 수 있다.
예를 들어, 코어 서비스로의 제로-트러스트 네트워크 액세싱의 안정된 동작을 보장하기 위해, 제로-트러스트 코어 서비스가 상이한 장소로부터 활성인 기법이 채택될 수 있다. 코어 기본 서비스는 마스터 제어 모드에 배치되며, 각각의 상이한 서비스는 상이한 2차 서비스 노드에 배치된다. 예로서, 본 출원의 실시예는 도 19에 도시된 바와 같이, 연쇄형 배치의 개략도를 제공하며, 여기에서 보안 서버는 마스터 노드(마스터 서버) 및 2차 서비스 노드(서버 노드)를 포함한 연쇄형 배치 모드를 채택한다. 마스터 제어 노드는 하트비트 서비스, 전략 동기화 서비스 및 디바이스 관리 및 제어 서비스와 같은, 그 안에 배치된 코어 기본 서비스를 가진다. 마스터 제어 노드의 구성 및 데이터는 각각의 2차 서비스 노드에 주기적으로 동기화될 수 있으며; 동시에, 2차 서비스 노드가 변경될 필요가 있는 데이터 및 구성을 가질 때, 마스터 제어 노드는 수정하도록 통지받을 수 있고, 마스터 제어 노드의 수정이 완료된 후, 대응하는 2차 서비스 노드가 동기화될 수 있다.
본 출원의 실시예에서, 액세스 프록시의 서비스 액세스 프로세스는 데이터 전달을 실현하기 위해 보안 클라이언트에서 인터페이스를 호출할 수 있다. 보안을 보장하기 위해, 동기식 검증 프로세싱 및 비동기식 검증 프로세싱이 액세스 프록시의 서비스 액세스 프로세스에 대해 수행될 수 있으며, 이것은 각각 이하에서 설명된다.
1) 동기식 검증 프로세싱.
액세스 프록시가 보안 클라이언트와의 소켓 연결을 수립한 후, 보안 클라이언트는 액세스 프록시의 IP 어드레스 및 포트 번호를 통해 서비스 액세스 프로세스의 PID를 획득한다. 그 후, 보안 클라이언트는 서비스 액세스 프로세스의 PID에 따라 서비스 액세스 프로세스의 프로세스 경로를 획득하며, 프로세스 경로가 보안 클라이언트의 설치 디렉토리(상기 언급된 보안 디렉토리에 대응하는)에 위치되는지를 검출한다. 본 출원의 실시예에서, 액세스 프록시는 서비스 통신 시스템의 구성요소일 수 있으며, 정상 설치 후, 액세스 프록시는 통상적으로 안전한 클라이언트의 설치 디렉토리에 위치된다. 또한, 본 출원의 실시예에서, 보안 클라이언트의 설치 디렉토리는 다른 비-서비스 통신 시스템의 서비스 또는 프로세스가 설치 디렉토리 상에서 동작하는 것을 방지하기 위해 디렉토리-보호될 수 있다.
서비스 액세스 프로세스의 프로세스 경로가 보안 클라이언트의 설치 디렉토리 내에 있는지를 검출함으로써, 액세스 프로세스의 정당성이 사전에 검출될 수 있다. 서비스 액세스 프로세스의 프로세스 경로가 설치 디렉토리에 위치된다면, 서비스 액세스 프로세스의 프로세스 파일에 대한 서명 정보가 추가로 획득될 수 있으며, 검증 프로세싱이 수행된다. 기업의 보안 관리 및 제어 강도가 낮을 때, 보안 클라이언트의 인터페이스로의 디지털 서명이 없는 서비스 액세스 프로세스의 액세스가 완화될(인가될) 수 있으며; 기업의 보안 관리 및 제어 강도가 높을 때, 단지 디지털 서명을 가진 서비스 액세스 프로세스만이 보안 클라이언트의 인터페이스를 액세스할 수 있도록 제한될 수 있다. 보안 관리 및 제어 강도에서의 차이에 따르면, 서명 정보에 대한 다음의 여러 검증 프로세싱이 구현될 수 있다.
(1) 서비스 액세스 프로세스의 프로세스 파일이 디지털 서명을 갖는지가 검출되며, 그렇다면, 서명 정보가 검증 성공이라고 결정된다.
(2) 보안 클라이언트는 디지털 서명에 대한 유효성 검증 프로세싱을 국소적으로 수행하며, 예를 들어, WinVerifyTrust의 API가 유효성 검증 프로세싱을 수행하기 위해 호출된다. 유효성 검증 프로세싱이 검증 성공이면, 서명 정보는 검증 성공이라고 결정된다.
(3) 디지털 서명의 서명자 이름(상기 언급된 서명자에 대응하는)은 보안 클라이언트에 의해 국소적으로 유효성 검증 프로세싱을 수행하는 것에 기초하여 획득되며, 서명자 이름은 서명자 블랙리스트와 매칭된다. 서명자 이름이 서명자 블랙리스트 상에 있지 않을 때, 즉 매칭이 실패할 때, 서명 정보가 검증 성공이라고 결정된다.
(4) 보안 클라이언트는 서비스 액세스 프로세스의 프로세스 파일에 대한 인증서 체인 정보(상기 언급된 인증서 정보에 대응하는)를 획득하며, 예를 들어, 인증서 체인 정보는 요약 알고리즘, 루트 인증서 정보, 중간 인증서 정보, 서명 인증서 정보, 서명 상태, 서명자 이름, 시간 스탬프 및 서명 검증 에러 정보를 포함할 수 있다. 루트 인증서 정보는 루트 인증서의 이름, 일련 번호, 만료 시간 등을 포함한다. 이것은 중간 인증서 정보 및 서명 인증서 정보에 대해서도 참이다. 또한, 서명 상태는 디지털 서명이 이용 가능함, 디지털 서명이 조작됨, 인증서가 신뢰되지 않음, 인증서가 만료됨, 인증서 폐지, 및 다른 에러 중 하나를 나타내기 위해 사용될 수 있다. 인증서 체인 정보를 획득한 후, 보안 클라이언트는 인증서 체인 정보 블랙리스트(상기 언급된 인증서 정보 블랙리스트에 대응하는)와 인증서 체인 정보를 매칭시킬 수 있으며, 매칭이 실패하면, 서명 정보가 검증 성공인 것으로 결정된다.
상기 4개의 모드에서 보안 관리 및 제어의 세기는 점진적으로 강화되며, 따라서, 검증 프로세싱을 위해 걸린 시간이 또한 길어질 것이고, 적어도 하나의 모드가 실질적인 애플리케이션 시나리오에서 보안 관리 및 제어의 세기 요건 및 효율 요건에 따라 서명 정보의 검증 프로세싱을 구현하기 위해 선택될 수 있다.
서비스 액세스 프로세스의 프로세스 경로 및 서명 정보 양쪽 모두가 성공적으로 검증될 때, 보안 클라이언트는 먼저 인터페이스 인증 링크에 들어가기 위해 서비스 액세스 프로세스의 인터페이스 호출을 허용할 수 있다.
2) 비동기식 검증 프로세싱.
서비스 액세스 프로세스가 악의적 프로세스인지를 완전히 검증하기 위해, 보안 클라이언트는 서비스 액세스 프로세스의 프로세스 특성을 비동기식으로 획득하며 비동기식 검증 프로세싱을 위해 이를 보안 서버로 송신할 수 있다. 서비스 액세스 프로세스의 프로세스 특성은, 이에 제한되지 않지만, 서비스 액세스 프로세스의 MD5 값, 해시 값, 프로세스 경로 및 서명 정보(인증서 체인 정보를 포함한)를 포함한다. 서비스 액세스 프로세스의 프로세스 특성을 수신한 후, 보안 서버는 파일 테스트 요청을 클라우드 서버로 주기적으로 송신할 수 있으며, 클라우드 서버는 서비스 액세스 프로세스가 저장된 계속해서 업데이트된 프로세스 특성 블랙리스트(상기 언급된 프로세스 정보 블랙리스트에 대응하는)에 따라 악의적 프로세스인지를 판단한다. 클라우드 서버가 서비스 액세스 프로세스가 악의적 프로세스임을 결정한다면, 보안 서버는 보안 클라이언트가 서비스 액세스 프로세스와의 소켓 연결을 연결해제하도록 보안 클라이언트에 통지한다.
예로서, 본 출원의 실시예는 도 20에 도시된 바와 같이 비동기식 검증 프로세싱의 개략도를 제공하며, 도 20에서의 숫자는 비동기식 검증 프로세싱의 단계를 나타내고, 도시된 다양한 단계와 함께 설명될 것이다.
(1) 액세스 프록시는 보안 클라이언트의 관련 인터페이스를 호출하도록 시도한다, 즉 인증 요청을 보안 클라이언트로 송신한다.
(2) 보안 클라이언트는 서비스 액세스 프로로세스에 대한 동기식 검증 프로세싱(프로세스 경로 및 서명 정보에 대한 검증 프로세싱을 포함한)을 수행하며, 동기식 검증 프로세싱 결과가 검증 성공이면, 서비스 액세스 프로세스의 프로세스 특성이 수집된다.
(3) 보안 클라이언트는 서비스 액세스 프로세스의 프로세스 특성을 보안 서버로 전송한다, 즉 비동기식 테스트가 수행된다.
(4) 보안 서버는 서비스 액세스 프로세스의 프로세스 특성을 클라우드 서버로 송신하여, 클라우드 서버가 서비스 액세스 프로세스가 악의적 프로세스인지를 판단하도록 한다.
(5) 클라우드 서버는 보안 서버의 비동기식 검증 프로세싱 결과, 즉 서비스 액세스 프로세스가 악의적 프로세스인지를 송신한다.
(6) 서비스 액세스 프로세스가 악의적 프로세스이면, 보안 서버는 연결 차단 동작을 실행하도록 보안 클라이언트에 통지한다.
(7) 보안 클라이언트는 서비스 액세스 프로세스와의 소켓 연결을 능동적으로 연결해제한다.
다음으로, 보안 클라이언트와 서비스 액세스 프로세스 간의 인터페이스 인증 링크가, 이해의 용이함을 위해, 단계의 형태로, 설명된다.
1) 서비스 액세스 프로세스가 비대칭 키 쌍을 생성한다.
서비스 액세스 프로세스가 보안 클라이언트의 인터페이스를 호출할 때, 이러한 호출에 대한 보안 클라이언트의 인가가 획득될 필요가 있다. 첫 번째로, 비대칭 키 쌍이 서비스 액세스 프로세스에 의해 생성되고, 비대칭 키 쌍에서의 개인 키(privatekey)가 서비스 액세스 프로세스에 의해 암호화되고 내부 메모리에 저장될 수 있으며, 비대칭 키 쌍에서의 공개 키(pubkey)가 이를 보안 클라이언트로 송신하기 위해 사용된다. 본 출원의 실시예는 비대칭 키 쌍이 생성되는 방식을 제한하지 않는다. 예를 들어, 비대칭 키 쌍은 RSA 알고리즘에 의해 생성될 수 있다.
2) 서비스 액세스 프로세스는 보안 클라이언트의 인증 인터페이스를 호출한다.
여기에서, 서비스 액세스 프로세스는 인증 요청을 보안 클라이언트의 인증 인터페이스로 송신한다. 인증 요청의 예는 다음과 같다.
{
"code": 0 //인증 요청의 응답 코드에 대해, 0이면, 정상 응답을 나타낸다
"msg": "" //응답 기술 정보
"data": base64encode(encrypt(plain_data, pubkey))
}
상기 plain_data가 패킷 몸체의 평문 정보를 나타내는 경우, 그것의 콘텐트의 예는 다음과 같다.
{
"access_id": "id" //상기 키 식별자에 대응하는, access id
"access_key": base64encode(aes_key) //액세스 동적 키
}
여기에서 encrypt(plain_data, pubkey)는 보안 클라이언트가 서비스 액세스 프로세스에 의해 송신된 공개 키(pubkey)에 따라 데이터 패킷 몸체의 평문 정보(plain_data)를 암호화한 후 획득된 결과를 나타낸다, 즉 encrypt는 암호화를 나타낸다. access_key는 대칭 키(aes_key)에 대해 보안 클라이언트에 의해 base64encode를 실행함으로써 획득된 결과이며, 여기에서, 보안 서버는 access_id와 access_key 간의 매핑 관계를 저장할 수 있으며, 또한 access_key의 사용의 최대 횟수 및 유효 사용 지속 기간과 같은 속성을 저장할 수 있다. 보안 클라이언트는 또한 뒤이은 질의를 위해 access_id 및 대응하는 access_key(또는 대응하는 aes_key)를 국소적으로 저장할 수 있다.
4) 서비스 액세스 프로세스는 보안 클라이언트에 의해 응답된 데이터 패킷을 수신하고 파싱한다.
보안 클라이언트에 의해 반환된 데이터 패킷을 수신할 때, 서비스 액세스 프로세스는 데이터 패킷에서 응답 코드(code)를 파싱하며, 응답 코드(code)의 값이 0이면, 프로세싱이 정상적임을 나타내고; 서비스 액세스 프로세스는 base64decode를 통해 데이터 패킷의 데이터의 base64 평문을 추가로 파싱하고, 그 후 plain_data를 얻기 위해 암호화되고 내부 메모리에 저장된 개인 키(privatekey)를 통해 base64 평문을 복호화한다.
서비스 액세스 프로세스는 그 후 plain_data로부터 access_id 및 access_key를 파싱하며 이를 내부 메모리에 저장한다. 본 출원의 실시예에서, access_id 및 access_key는 일-대-일 관계에 있을 수 있다.
5) 서비스 액세스 프로세스는 보안 클라이언트의 서비스 인터페이스를 호출한다.
여기에서, 서비스 인터페이스는 티켓을 이용하기 위한 인터페이스일 수 있으며, 또한 다른 서비스 인터페이스일 수 있다. 서비스 액세스 프로세스가 보안 클라이언트의 서비스 인터페이스를 호출할 때, 서비스 인터페이스로 송신된 원래 파라미터(raw_param)(상기 요청 데이터에 대응하는)는 call_param을 형성하기 위해 다음과 같이 프로세싱된다.
(1) 원래 파라미터(raw_param)는 대칭 키(aes_key)를 사용하여 암호화된다, 즉 encrypt(ram_param, aes_key). 원래 파라미터(raw_param)의 콘텐트는 제한되지 않으며, 실제 서비스에 따라 구체적으로 설정될 수 있다.
(2) base64encode는 단계 (1)에서 획득된 결과에 대해 실행된다, 즉 base64encode(encrypt(raw_param, aes_key)).
(3) urlencode는 call_param을 얻기 위해, 단계 (2)에서 획득된 결과에 대해 실행된다, 즉, urlencode(base64encode(encrypt(raw_param, aes_key))).
서비스 액세스 프로세스가 보안 클라이언트의 서비스 인터페이스를 호출할 때, 서비스 액세스 프로세스는 동시에 사용자-정의 확인 정보 서명(상기 언급된 제 확인 정보에 대응하는)을 프로세싱하며, 생성의 단계는 다음과 같다.
(1) 서비스 액세스 프로세스는 제1 파트(A로 칭함)로서 내부 메모리 암호화 데이터로부터 access_id를 취득한다.
(2) base64encode는 제2 파트(B로 칭함)를 얻기 위해 대칭 키(aes_key)에 대해 실행된다, 즉 B = base64encode(aes_key).
(3) base64encode는 제3 파트(C로 칭함)를 얻기 위해 파라미터(call_param)에 대해 실행된다, 즉 C = base64encode(call_param).
(4) 현재 시간 스탬프(timestamp)가 제4 파트(D로 칭함)로서 취해진다.
(5) 상기 언급된 4개의 단계에서 획득된 문자 스트링이 부가되며, 그 후 MD5 값이 사용자-정의 확인 정보 서명을 얻기 위해 산출된다, 즉 signature = MD5(A + B + C + D).
사용자-정의 확인 정보 서명을 획득한 후, base64encode가 인가 공개 헤더 정보를 얻기 위해 실행되며, 이것은 다음과 같이 표현될 수 있다:
인가: "IPN base64encode({"access_id": "", "signature": "", "timestamp": ""})"
timestamp는 서명을 생성할 때 시간 스탬프를 나타낸다, 즉 상기 D. 서비스 액세스 프로세스에 의해 보안 클라이언트로 송신된 서비스 요청은 사이 언급된 call_param 및 인가 공통 헤더 정보를 포함한다.
(6) 보안 클라이언트는 서비스 액세스 프로세스에 의해 서비스 인터페이스로 송신된 서비스 요청을 파싱하며, 서비스 요청이 유효한지를 검출한다.
서비스 요청을 수신할 때, 보안 클라이언트는 서비스 요청에서 call_param에 대한 urldecode를 수생하며 그 후 encrypt(raw_param, aes_key)를 얻기 위해 base64decode를 수행한다. 그 후 encrypt(raw_param, aes_key)는 서비스 액세스 프로세스의 원래 파라미터인, raw_param을 얻기 위해 aes_key를 사용하여 복호화된다.
서비스 요청에서 인가 공개 헤더 정보에 대해, 보안 클라이언트는 먼저 평문, 즉 access_id, 사용자-정의 확인 정보 서명 및 시간 스탬프(timestamp)를 얻기 위해 base64 decode를 수행한다. 그 후, 보안 클라이언트는 대응하는 access_key(또는 aes_key)를 얻기 위해 access_id에 따라 국소적으로 질의하며, 그 후 질의된 access_key가 만료되는지를 검출하기 위해 질의된 access_key를 보안 서버로 송신한다. 질의된 access_key가 만료되었다면, 보안 클라이언트는 재인증하기 위해 인증 인터페이스의 호출을 트리거한다, 즉 서비스 액세스 프로세스가 인증 요청을 재송신할 수 있게 한다.
질의된 access_key가 만료되지 않았다면, 즉 만료되지 않으면, 보안 클라이언트는 서비스 요청에서 call_param, 인가 공개 헤더 정보에서의 access_id, 인가 공개 헤더 정보에서의 timestamp 및 질의된 access_key에 따라 확인 정보(Signature')(상기 언급된 제2 확인 정보에 대응하는)를 재생성하고, 즉 Signature' = MD5(access_id + base64encode(aes_key) + base64encode(call_param) + timestamp), 여기에서 base64encode(aes_key)는 질의된 access_key이다.
보안 클라이언트는 서비스 액세스 프로세스에 의해 송신된 사용자-정의 확인 정보(Signature)와 생성된 확인 정보(Signature')를 비교하며, 둘이 동일하다면, 보안 클라이언트는 서비스 요청이 유효하다고 결정하고; 둘이 상이하다면, 서비스 요청에서의 파라미터는 조작되거나 또는 위조된 것으로 입증되고, 보안 클라이언트는 서비스 요청이 유효하지 않다고 결정하며, 서비스 액세스 프로세스에 의한 서비스 인터페이스의 호출은 실패한다.
(7) 보안 클라이언트는 응답 데이터를 얻기 위해 서비스 요청에서 원래 파라미터에 대한 응답 프로세싱을 수행하며, 이를 서비스 액세스 프로세스로 반환한다.
보안 클라이언트가 서비스 요청이 유효하다고 결정하면, 즉 서비스 액세스 프로세스에 의한 서비스 인터페이스의 호출이 유효하다면, 보안 클라이언트는 응답 데이터(resultdata)를 얻기 위해 서비스 요청에서 원래 파라미터(raw_param)에 대한 응답 프로세싱을 수행하며, 여기에서, 응답 데이터(resultdata)의 특정 콘텐트는 제한되지 않고 실제 서비스에 따라 설정될 수 있다. 보안 클라이언트에 의해 서비스 액세스 프로세스로 반환된 데이터 패킷의 예는 다음과 같다.
{
"retcode": 0 //서비스 요청에 대한 응답 코드
"msg": "" //응답 기술 정보는 실제 애플리케이션 시나리오에 따라 설정될 수 있다
"data": base64encode(encrypt(resultdata, pubkey))
}
retcode는 서비스 액세스 프로세스에 대해 송신된 서비스 요청의 응답 코드를 나타내며, retcode가 0이면, 서비스 인터페이스의 호출이 성공적임을 나타내고; retcode가 1이면, 서비스 인터페이스의 호출이 실패함을 나타내며; retcode가 2이면, access_key(또는 aes_key)가 만료되었음을 나타내고, 서비스 액세스 프로세스는 인증 요청을 재송신하도록 요청된다, 즉 단계 2)가 재-실행된다.
본 출원의 실시예에서, 인터페이스 인증을 위해 요구된 대칭 키는 보안 관리자에서 주기적으로 업데이트될 수 있으며, 각각의 업데이트 시, 보안 서버는 업데이트 전에 모든 access_id 및 access_key(또는 aes_key)를 무효한 것으로 설정하고, 그에 의해 업데이트된 access_id 및 access_key를 획득하도록 보안 클라이언트의 인증 인터페이스를 재-호출하기 위해 서비스 액세스 프로세스를 트리거할 수 있다.
access_id 및 access_key(또는 aes_key)에 대해, 본 출원의 실시예는 보안 관리자에서 상이한 세분성를 구성할 수 있다. 예를 들어, 서비스 액세스 프로세스 자체와 서비스 액세스 프로세스가 인증 인터페이스를 호출할 때 송신된 서비스 루트로부터 구별될 수 있다. 예를 들어, 서비스 액세스 프로세스 A가 인증 인터페이스를 호출할 때 서비스 루트는 경로 1, 경로 2 및 경로 3을 포함하고, 서비스 액세스 프로세스 B가 인증 인터페이스를 호출할 때 서비스 루트는 경로 4 및 경로 5를 포함하며, 그 후 세분성 분할을 위한 다음의 3개의 기법이 있다.
(1) 보안 서버는 서비스 액세스 프로세스 및 서비스 루트를 동시에 구별한다, 즉 상이한 서비스 액세스 프로세스를 위해 상이한 access_id 및 access_key 조합 쌍을 할당하며, 동일한 서비스 액세스 프로세스의 상이한 서비스 루트를 위해 상이한 access_id 및 access_key 조합 쌍을 할당한다. 예를 들어, 서비스 액세스 프로세스 A의 경로 1, 경로 2 및 경로 3에 대해, 상이한 access_id 및 access_key 조합 쌍의 3개의 그룹이 각각 할당되며; 서비스 액세스 프로세스 B의 경로 4 및 경로 5에 대해, access_id 및 access_key 조합 쌍의 또 다른 두 개의 상이한 그룹이 각각 할당된다.
(2) 보안 서버는 단지 서비스 루트가 아닌 서비스 액세스 프로세스를 구별한다, 즉 상이한 서비스 액세스 프로세스에 대한 상이한 access_id 및 access_key 조합 쌍을 할당하며, 동일한 서비스 액세스 프로세스의 상이한 서비스 루트에 대한 동일한 access_id 및 access_key 조합 쌍을 할당한다. 예를 들어, 서비스 액세스 프로세스 A에 대한 경로 1, 경로 2 및 경로 3에 대해, access_id 및 access_ke 조합 쌍의 그룹이 균일하게 할당되며; 서비스 액세스 프로세스 B의 경로 4 및 경로 5에 대해, access_id 및 access_key 조합 쌍의 또 다른 그룹이 균일하게 할당된다.
(3) 보안 서버는 서비스 액세스 프로세스 및 액세스 루트를 구별하지 않는다, 즉 service_id 및 service_key 조합 쌍의 그룹이 모든 서비스 액세스 프로세스의 모든 서비스 루트에 대해 균일하게 할당된다.
실질적인 애플리케이션 시나리오에서, 관리자는 기업의 관리 및 제어 정도에 따라 상기 언급된 세분성 분할 기법 중 임의의 것을 사용할 수 있다.
access_id 및 access_key(또는 aes_key)의 대체 메커니즘에 대해, 보안 서버는 access_id 및 access_key의 주기적인 업데이트를 실현하고 보안을 개선하기 위해 최대 사용 횟수 및 유효 사용 지속기간 중 적어도 하나를 구성할 수 있다.
본 출원의 실시예에서, 보안 클라이언트는 서비스 액세스 프로세스에 대한 프로세스 경로 및 서명 정보에 대한 검증 프로세싱을 수행함으로써 서비스 액세스 프로세스의 유효성의 효과적인 검증을 달성할 수 있으며; 동시에, 서비스 액세스 프로세스가 악의적 프로세스인지가 보안 클라이언트의 프로세스 특성의 비동기식 테스트 및 보안 서버의 클라우드 서비스 검출을 통해 정확하게 검증될 수 있다. 본 출원의 실시예는 서비스 액세스 프로세스의 검증 정확도 및 보안 클라이언트를 액세스하는 순응 서비스 액세스 프로세스의 효율 양쪽 모두를 개선한다.
또한, 본 출원의 실시예는 보안 서버에 의해 발행된 대칭 키에 따라 암호화된 서비스 통신을 수행하고 깨어진 키 저장의 문제를 피할 수 있는, 동적 키 및 사용자-정의 검사 정보를 통해 검증하기 위한 인터페이스 인증 기법을 제공하고; 동시에, 서비스 키 정보는 인터페이스 호출의 보안을 강화하기 위해 주기적으로 업데이트될 수 있으며; 그것은 또한 관리자로 하여금, 상이한 서비스 및 상이한 시나리오로의 적용 가능성을 개선하기 위해, 각각의 서비스의 관리 및 제어의 정도에 따라 상이한 세분성 분할 기법을 통해 서비스 키 정보를 구별하도록 허용한다.
본 출원의 실시예에 의해 제공된 소프트웨어 모듈로서 구현된 단말기 디바이스(400)의 예시적인 구조를 계속하면, 몇몇 실시예에서, 도 3에 도시된 바와 같이, 메모리(450)의 서비스 통신 장치(455)에 저장된 소프트웨어 모듈은: 서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신하도록 구성된 수신 모듈(4551); 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱을 수행하며, 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행하도록 구성된 검증 모듈(4552); 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하도록 구성된 결정 모듈(4553); 서비스 키 정보에 기초하여 서비스 액세스 프로세스와의 암호화된 서비스 통신을 위해 서비스 키 정보를 서비스 액세스 프로세스로 송신하도록 구성된 송신 모듈(4554); 및 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어하도록 구성된 연결 제어 모듈(4555)을 포함할 수 있다.
몇몇 실시예에서, 인증 모듈(4552)은 또한: 서비스 액세스 프로세스의 프로세스 경로 및 설정된 보안 디렉토리 간의 매칭 결과를 제1 검증 프로세싱 결과로서 취하고; 제2 검증 프로세싱 결과를 얻기 위해 서비스 액세스 프로세스에 대한 서명 정보를 검증하며; 제1 검증 프로세싱 결과 및 제2 검증 프로세싱 결과에 따라 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과를 결정하도록 구성된다.
몇몇 실시예에서, 검증 모듈(4552)은 또한 서명 정보가 디지털 서명을 포함하는지의 결과, 디지털 서명의 유효성 검증 프로세싱 결과, 디지털 서명의 서명자 및 서명자 블랙리스트 간의 매칭 결과, 및 서명 정보에서의 인증서 정보 및 인증서 정보 블랙리스트 간의 매칭 결과 중 적어도 하나에 따라 제2 검증 프로세싱 결과를 결정하도록 구성된다.
몇몇 실시예에서, 인증 모듈(4552)은 또한: 서명 정보에서의 디지털 서명 및 상기 디지털 서명에 대응하는 복호화 키를 결정하고; 서비스 액세스 프로세스의 프로세스 파일의 제1 해시 결과를 얻기 위해 복호화 키에 따라 디지털 서명을 복호화하고; 제2 해시 결과를 얻기 위해 서비스 액세스 프로세스의 프로세스 파일에 대한 해시 프로세싱을 수행하며; 제1 해시 결과와 제2 해시 결과 간의 매칭 결과를 디지털 서명의 유효성 검증 프로세싱 결과로서 취하도록 구성된다.
몇몇 실시예에서, 인증 요청은 서비스 액세스 프로세스에 의해 생성된 비대칭 키 쌍의 공개 키를 포함하며; 비대칭 키 쌍은 공개 키 및 공개 키에 대응하는 개인 키를 포함하고; 송신 모듈(4554)은 또한: 공개 키에 따라 서비스 키 정보를 암호화하며; 서비스 액세스 프로세스가 개인 키에 따라 암호화된 서비스 키 정보를 복호화하도록, 암호화된 서비스 키 정보를 서비스 액세스 프로세스로 송신하도록 구성된다.
몇몇 실시예에서, 서비스 키 정보는 키 식별자 및 대칭 키를 포함하고; 서비스 통신 장치(455)는: 서비스 액세스 프로세스에 의해 송신된 서비스 요청을 수신하도록 구성된 서비스 수신 모듈 ― 서비스 요청은 키 식별자 및 대칭 키를 사용하여 암호화된 요청 데이터를 포함한다; 분배된 대칭 키에서 서비스 요청에서의 키 식별자에 대응하는 대칭 키에 대해 질의하도록 구성된 질의 모듈; 질의된 대칭 키에 따라 서비스 요청에서 암호화된 요청 데이터를 복호화하도록 구성된 복호화 모듈; 응답 데이터를 얻기 위해 복호화에 의해 획득된 요청 데이터에 대한 응답 프로세싱을 수행하도록 구성된 응답 모듈; 및 공개 키에 따라 응답 데이터를 복호화하도록 구성되며, 서비스 액세스 프로세스가 개인 키에 따라 암호화된 응답 데이터를 복호화하도록, 암호화된 응답 데이터를 서비스 액세스 프로세스로 송신하는 암호화 송신 모듈을 추가로 포함한다.
몇몇 실시예에서, 서비스 요청은 시간 스탬프 및 제1 확인 정보를 추가로 포함하고; 상기 제1 확인 정보는 키 식별자, 대칭 키, 시간 스탬프 및 대칭 키를 사용하여 암호화된 요청 데이터에 대한 해시 프로세싱을 수행하는 서비스 액세스 프로세스에 의해 획득되고; 응답 모듈은 또한: 제2 확인 정보를 얻기 위해 키 식별자, 질의된 대칭 키, 시간 스탬프 및 암호화된 요청 데이터에 대한 해시 프로세싱을 수행하며; 제1 확인 정보와 제2 확인 정보 간의 매칭 결과가 매칭 성공일 때, 복호화에 의해 획득된 요청 데이터에 대한 응답 프로세싱을 수행하도록 구성된다.
몇몇 실시예에서, 서비스 통신 장치(455)는: 만료 정보를 수신할 때 서비스 액세스 프로세스가 인증 요청을 재송신하도록, 질의된 대칭 키의 사용 파라미터가 만료 파라미터 조건을 충적할 때 만료 정보를 서비스 액세스 프로세스로 송신하도록 구성된 만료 프로세싱 모듈을 추가로 포함하며; 상기 사용 파라미터는 사용 횟수 및 사용 지속 기간 중 적어도 하나를 포함한다.
몇몇 실시예에서, 인증 요청은 인증 요청 어드레스를 포함한다. 결정 모듈(4553)은 또한 다음의 프로세싱 중 임의의 것을 실행하도록 구성된다: 상이한 서비스 액세스 프로세스에 의해 송신된 인증 요청 어드레스에 대하여 상이한 서비스 키 정보를 할당하며, 동일한 서비스 액세스 프로세스에 의해 송신된 상이한 인증 요청 어드레스에 대하여 상이한 서비스 키 정보를 할당하는 것; 상이한 서비스 액세스 프로세스에 의해 송신된 인증 요청 어드레스에 대하여 상이한 서비스 키 정보를 할당하며, 동일한 서비스 액세스 프로세스에 의해 송신된 상이한 인증 요청 어드레스에 대하여 동일한 서비스 키 정보를 할당하는 것; 및 상이한 서비스 액세스 프로세스에 의해 송신된 인증 요청 어드레스에 대하여 동일한 서비스 키 정보를 할당하며, 동일한 서비스 액세스 프로세스에 의해 송신된 상이한 인증 요청 어드레스에 대하여 동일한 서비스 키 정보를 할당하는 것.
몇몇 실시예에서, 인증 모듈(4552)은 또한: 프로세스 정보 블랙리스트와 서비스 액세스 프로세스에 대한 프로세스 정보를 주기적으로 매칭시키며, 획득된 매칭 결과를 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과로서 취하도록 구성된다.
몇몇 실시예에서, 결정 모듈(4553)은 또한: 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과가 검증 성공일 때 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하고; 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과가 검증 실패일 때 다음의 프로세싱 중 임의의 것을 실행하도록 구성된다: 인증 요청을 재송신하도록 서비스 액세스 프로세스에 통지하는 것; 서비스 액세스 프로세스와 인증 요청을 전송하기 위해 사용된 통신 연결을 연결해제하는 것; 및 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 중단하는 것.
몇몇 실시예에서, 연결 제어 모듈(4555)은 또한: 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과가 검증 성공일 때 서비스 액세스 프로세스와 암호화된 서비스 통신을 베어링하기 위한 통신 연결을 유지하며; 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과가 검증 실패일 때 서비스 액세스 프로세스와 암호화된 서비스 통신을 베어링하기 위한 통신 연결을 연결해제하도록 구성된다.
몇몇 실시예에서, 서비스 통신 장치(455)는: 암호화된 서비스 통신의 프로세스에서 다음의 프로세싱을 실행하도록 구성된 암호화된 통신 모듈을 추가로 포함한다: 서비스 액세스 프로세스에 의해 송신된 크리덴셜 요청을 수신하는 것; 상기 크리덴셜 요청은 애플리케이션 프로세스의 서비스 요청을 가로챌 때 서비스 액세스 프로세스에 의해 송신되며, 서비스 요청의 목적지 어드레스는 서비스 서버의 어드레스이다; 애플리케이션 프로세싱에 대한 동기식 검증 프로세싱을 수행하는 것; 애플리케이션 프로세스에 대해 할당된 서비스 크리덴셜 및 게이트웨이 어드레스를 결정하며, 서비스 액세스 프로세스가 서비스 크리덴셜 및 서비스 요청을 게이트웨이 어드레스에 대응하는 서비스 게이트웨이로 송신하도록, 애플리케이션 프로세스의 동기식 검증 프로세싱 결과에 따라 서비스 크리덴셜 및 게이트웨이 어드레스를 서비스 액세스 프로세스로 송신하는 것; 상기 서비스 게이트웨이는 수신된 서비스 크리덴셜에 대한 검증 프로세싱을 수행하며, 서비스 크리덴셜의 검증 프로세싱 결과가 검증 성공일 때 수신된 서비스 요청을 서비스 서버로 송신하도록 구성되고; 서비스 서버는 수신된 서비스 요청에서 요청 데이터에 대한 응답 프로세싱을 수행하도록 구성된다.
몇몇 실시예에서, 암호화된 통신 모듈은 또한: 애플리케이션 프로세스가 위치되는 디바이스에서 로그인 상태에서의 사용자 계정을 결정하며, 사용자 계정에 대응하는 신뢰 애플리케이션 프로세스 및 사용자 계정에 대응하는 액세스 가능한 서비스 서버의 어드레스에 대한 프로세스 정보를 획득하고; 애플리케이션 프로세스에 대한 프로세스 정보 및 신뢰 애플리케이션 프로세스에 대한 프로세스 정보 간의 매칭 결과를 제3 검증 프로세싱 결과로서 취하고; 서비스 요청에 의해 요청된 서비스 서버의 어드레스 및 액세스 가능한 서비스 서버의 어드레스 간의 매칭 결과를 제4 검증 프로세싱 결과로서 취하고; 애플리케이션 프로세스가 위치되는 디바이스에 대한 디바이스 정보를 획득하고, 디바이스 정보 및 디바이스 보안 조건 간의 매칭 결과를 제5 검증 프로세싱 결과로서 취하며; 제3 검증 프로세싱 결과, 제4 검증 프로세싱 결과 및 제5 검증 프로세싱 결과에 따라 애플리케이션 프로세스의 동기식 검증 프로세싱 결과를 결정하도록 구성된다.
몇몇 실시예에서, 암호화된 통신 모듈은 또한: 프로세스 정보 블랙리스트와 애플리케이션 프로세스에 대한 프로세스 정보를 주기적으로 매칭시키고, 획득된 매칭 결과를 애플리케이션 프로세스의 비동기식 검증 프로세싱 결과로서 취하며; 애플리케이션 프로세스의 비동기식 검증 프로세싱 결과에 따라 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어하도록 구성된다.
본 출원의 실시예는 컴퓨터 프로그램 제품 또는 컴퓨터 프로그램을 제공한다. 컴퓨터 프로그램 제품 또는 컴퓨터 프로그램은 컴퓨터 명령(실행 가능한 명령)를 포함하며, 컴퓨터 명령은 컴퓨터-판독 가능한 저장 매체에 저장된다. 컴퓨터 디바이스의 프로세서는 컴퓨터-판독 가능한 저장 매체로부터 컴퓨터 명령을 판독하며, 컴퓨터 명령을 실행하여, 컴퓨터 디바이스가 본 출원의 실시예에 따라 앞서 말한 서비스 통신 방법을 수행하게 한다.
본 출원의 실시예는 실행 가능한 명령을 저장한 컴퓨터-판독 가능한 저장 매체를 제공한다. 실행 가능한 명령이 프로세서에 의해 실행될 때, 프로세서는 도 4a, 도 4b, 도 4c, 도 4d 및 도 4e에 도시된 서비스 통신 방법과 같은, 본 출원의 실시예에 의해 제공된 방법을 수행하게 된다.
몇몇 실시예에서, 컴퓨터-판독 가능한 저장 매체는 FRAM, ROM, PROM, EPROM, EEPROM, 플래시 메모리, 자기 표면 메모리, 광학 디스크, 또는 CD-ROM과 같은 메모리일 수 있거나; 또는 앞서 말한 메모리 중 하나 또는 그것의 임의의 조합을 포함한 임의의 디바이스일 수 있다.
몇몇 실시예에서, 실행 가능한 명령은 프로그램, 소프트웨어, 소프트웨어 모듈, 스크립트 또는 코드의 형태를 사용함으로써 임의의 형태의 프로그래밍 언어(컴파일링된 또는 해석된 언어, 또는 선언형 또는 절차형 언어)로 쓰여질 수 있으며, 독립 프로그램으로서 배치되거나 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적합한 또 다른 유닛으로서 배치되는 것을 포함하여, 임의의 형태로 배치될 수 있다.
예로서, 실행 가능한 명령은, 반드시는 아니지만, 파일 시스템에서의 파일에 대응할 수 있으며, 또 다른 프로그램 또는 다른 데이터를 저장하는 파일의 일부에 저장될 수 있다, 예를 들어, 하이퍼텍스트 마크업 언어(HTML) 파일에서 하나 이상의 스크립트에 저장되고, 논의 중인 프로그램을 위해 특수하게 사용되는 파일에 저장되거나, 또는 복수의 협력 파일에 저장될 수 있다(예를 들어, 하나 또는 모듈, 서브프로그램, 또는 코드 파트의 파일에 저장될 수 있다).
예로서, 실행 가능한 명령은 컴퓨팅 디바이스 상에서 실행되도록 배치되거나, 또는 동일한 위치에서의 복수의 컴퓨팅 디바이스 상에서 실행되도록 배치되거나, 또는 복수의 위치에 분포되고 통신 네트워크를 사용함으로써 상호 연결되는 복수의 컴퓨팅 디바이스 상에서 실행되도록 배치될 수 있다.
앞서 말한 것은 단지 본 출원의 실시예이며 본 출원의 보호 범위를 제한하도록 의도되지 않는다. 본 출원의 사상 및 범위로부터 벗어나지 않고 이루어진 임의의 수정, 등가 교체, 또는 개선은 본 출원의 보호 범위 내에 있을 것이다.

Claims (21)

  1. 전자 디바이스에 의해 실행되는 서비스 통신 방법으로서,
    서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신하는 단계;
    상기 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱을 수행하며, 상기 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행하는 단계;
    상기 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 상기 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하는 단계;
    상기 서비스 키 정보에 기초하여 상기 서비스 액세스 프로세스와의 암호화된 서비스 통신을 위해 상기 서비스 키 정보를 상기 서비스 액세스 프로세스로 송신하는 단계; 및
    상기 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과에 따라 상기 서비스 액세스 프로세스와의 상기 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어하는 단계를 포함하는, 서비스 통신 방법.
  2. 제1항에 있어서,
    상기 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱을 수행하는 단계는:
    상기 서비스 액세스 프로세스의 프로세스 경로 및 설정된 보안 디렉토리 간의 매칭 결과를 제1 검증 프로세싱 결과로서 취하는 단계;
    제2 검증 프로세싱 결과를 얻기 위해 상기 서비스 액세스 프로세스에 대한 서명 정보를 검증하는 단계; 및
    상기 제1 검증 프로세싱 결과 및 상기 제2 검증 프로세싱 결과에 따라 상기 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과를 결정하는 단계를 포함하는, 서비스 통신 방법.
  3. 제2항에 있어서,
    상기 제2 검증 프로세싱 결과를 얻기 위해 서비스 액세스 프로세스에 대한 서명 정보를 검증하는 단계는:
    상기 서명 정보가 디지털 서명을 포함하는지의 결과, 상기 디지털 서명의 유효성 검증 프로세싱 결과, 상기 디지털 서명의 서명자와 서명자 블랙리스트 간의 매칭 결과, 및 상기 서명 정보의 인증서 정보와 인증서 정보 블랙리스트 간의 매칭 결과 중 적어도 하나에 따라 상기 제2 검증 프로세싱 결과를 결정하는 단계를 포함하는, 서비스 통신 방법.
  4. 제3항에 있어서,
    상기 방법은:
    상기 서명 정보에서의 디지털 서명, 및 상기 디지털 서명에 대응하는 복호화 키(decryption key)를 결정하는 단계;
    상기 서비스 액세스 프로세스의 프로세스 파일의 제1 해시 결과를 얻기 위해 상기 복호화 키에 따라 상기 디지털 서명을 복호화(decrypting)하는 단계;
    제2 해시 결과를 얻기 위해 상기 서비스 액세스 프로세스의 프로세스 파일에 대한 해시 프로세싱을 수행하는 단계; 및
    상기 제1 해시 결과 및 상기 제2 해시 결과 간의 매칭 결과를 상기 디지털 서명의 유효성 검증 프로세싱 결과로서 취하는 단계를 더 포함하는, 서비스 통신 방법.
  5. 제1항에 있어서,
    상기 인증 요청은 상기 서비스 액세스 프로세스에 의해 생성된 비대칭 키 쌍의 공개 키를 포함하고; 상기 비대칭 키 쌍은 상기 공개 키 및 상기 공개 키에 대응하는 개인 키를 포함하며;
    상기 서비스 키 정보를 상기 서비스 액세스 프로세스로 전송하는 단계는:
    상기 공개 키에 따라 상기 서비스 키 정보를 암호화하는 단계; 및
    상기 서비스 액세스 프로세스가 상기 개인 키에 따라 암호화된 서비스 키 정보를 복호화하도록, 상기 암호화된 서비스 키 정보를 상기 서비스 액세스 프로세스로 송신하는 단계를 포함하는, 서비스 통신 방법.
  6. 제5항에 있어서,
    상기 서비스 키 정보는 키 식별자 및 대칭 키를 포함하고;
    상기 암호화된 서비스 키 정보를 상기 서비스 액세스 프로세스로 송신할 때, 상기 방법은:
    상기 서비스 액세스 프로세스에 의해 송신된 서비스 요청을 수신하는 단계 ―상기 서비스 요청은 상기 키 식별자 및 상기 대칭 키를 사용하여 암호화된 요청 데이터를 포함함―;
    상기 분배된 대칭 키에서 상기 서비스 요청에서의 상기 키 식별자에 대응하는 대칭 키를 질의하는 단계;
    상기 질의된 대칭 키에 따라 상기 서비스 요청에서 상기 암호화된 요청 데이터를 복호화하는 단계;
    응답 데이터를 얻기 위해 상기 복호화에 의해 획득된 상기 요청 데이터에 대한 응답 프로세싱을 수행하는 단계; 및
    상기 공개 키에 따라 상기 응답 데이터를 암호화하며, 상기 서비스 액세스 프로세스가 상기 개인 키에 따라 암호화된 응답 데이터를 복호화하도록, 상기 암호화된 응답 데이터를 상기 서비스 액세스 프로세스로 송신하는 단계를 더 포함하는, 서비스 통신 방법.
  7. 제6항에 있어서,
    상기 서비스 요청은 시간 스탬프 및 제1 확인 정보를 더 포함하며; 상기 제1 확인 정보는 상기 키 식별자, 상기 대칭 키, 상기 시간 스탬프, 및 상기 대칭 키를 사용하여 암호화된 요청 데이터에 대한 해시 프로세싱을 수행하는 서비스 액세스 프로세스에 의해 획득되고;
    상기 복호화에 의해 획득된 상기 요청 데이터에 대한 응답 프로세싱을 수행하는 단계는:
    제2 확인 정보를 얻기 위해 상기 키 식별자, 상기 질의된 대칭 키, 상기 시간 스탬프, 및 상기 암호화된 요청 데이터에 대한 해시 프로세싱을 수행하는 단계; 및
    상기 제1 확인 정보와 상기 제2 확인 정보 간의 매칭 결과가 매칭 성공인 경우에 상기 복호화에 의해 획득된 상기 요청 데이터에 대한 응답 프로세싱을 수행하는 단계를 포함하는, 서비스 통신 방법.
  8. 제6항에 있어서,
    상기 분배된 대칭 키에서 상기 서비스 요청에서의 키 식별자에 대응하는 대칭 키를 질의할 때, 상기 방법은:
    상기 서비스 액세스 프로세스가 만료 정보를 수신하는 것에 응답하여 인증 요청을 재송신하도록, 상기 질의된 대칭 키의 사용 파라미터가 만료 파라미터 조건을 만족하는 경우에 상기 만료 정보를 상기 서비스 액세스 프로세스로 송신하는 단계를 더 포함하며;
    상기 사용 파라미터는 사용 횟수 및 사용 지속 기간 중 적어도 하나를 포함하는, 서비스 통신 방법.
  9. 제1항에 있어서,
    상기 인증 요청은 인증 요청 어드레스를 포함하며;
    상기 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하는 단계는:
    다음의 프로세싱:
    상이한 서비스 액세스 프로세스에 의해 송신된 인증 요청 어드레스에 대하여 상이한 서비스 키 정보를 할당하며, 동일한 서비스 액세스 프로세스에 의해 송신된 상이한 인증 요청 어드레스에 대하여 상이한 서비스 키 정보를 할당하는 것;
    상이한 서비스 액세스 프로세스에 의해 송신된 인증 요청 어드레스에 대하여 상이한 서비스 키 정보를 할당하며, 동일한 서비스 액세스 프로세스에 의해 송신된 상이한 인증 요청 어드레스에 대하여 동일한 서비스 키 정보를 할당하는 것; 및
    상이한 서비스 액세스 프로세스에 의해 송신된 인증 요청 어드레스에 대하여 동일한 서비스 키 정보를 할당하며, 동일한 서비스 액세스 프로세스에 의해 송신된 상이한 인증 요청 어드레스에 대하여 동일한 서비스 키 정보를 할당하는 것
    중 임의의 것을 실행하는 단계를 포함하는,
    서비스 통신 방법.
  10. 제1항에 있어서,
    상기 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 상기 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하는 단계는:
    상기 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과가 검증 성공인 경우에 상기 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하는 단계를 포함하며;
    상기 방법은:
    상기 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과가 검증 실패인 경우에 다음의 프로세싱:
    인증 요청을 재송신하도록 상기 서비스 액세스 프로세스에 통지하는 것;
    상기 서비스 액세스 프로세스와의 상기 인증 요청을 전송하기 위해 사용된 통신 연결을 연결해제하는 것; 및
    상기 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 중단하는 것 중 임의의 것을 실행하는 단계를 더 포함하는, 서비스 통신 방법.
  11. 제1항에 있어서,
    상기 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과에 따라 상기 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어하는 단계는:
    상기 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과가 검증 성공인 경우에 상기 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위한 통신 연결을 유지하는 단계; 및
    상기 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과가 검증 실패인 경우에 상기 서비스 액세스 프로세스와의 암호화된 서비스 통신을 베어링하기 위한 통신 연결을 연결해제하는 단계를 포함하는, 서비스 통신 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 방법은:
    상기 암호화된 서비스 통신의 프로세스에서 다음의 프로세싱:
    상기 서비스 액세스 프로세스에 의해 송신된 크리덴셜 요청을 수신하는 것 ―상기 크리덴셜 요청은 애플리케이션 프로세스의 서비스 요청을 가로채는 것에 응답하여 상기 서비스 액세스 프로세스에 의해 송신되며, 상기 서비스 요청의 목적지 어드레스는 서비스 서버의 어드레스임―;
    상기 애플리케이션 프로세스에 대한 동기식 검증 프로세싱을 수행하는 것;
    상기 애플리케이션 프로세스에 대해 할당된 서비스 크리덴셜 및 게이트웨이 어드레스를 결정하며, 상기 서비스 액세스 프로세스가 상기 서비스 크리덴셜 및 사익 서비스 요청을 상기 게이트웨이 어드레스에 대응하는 서비스 게이트웨이로 송신하도록, 상기 애플리케이션 프로세스의 동기식 검증 프로세싱 결과에 따라 상기 서비스 크리덴셜 및 상기 게이트웨이 어드레스를 상기 서비스 액세스 프로세스로 송신하는 것을 실행하는 단계를 더 포함하며;
    상기 서비스 게이트웨이는 상기 수신된 서비스 크리덴셜에 대한 검증 프로세싱을 수행하며, 상기 서비스 크리덴셜의 검증 프로세싱 결과가 검증 성공인 경우에 상기 수신된 서비스 요청을 상기 서비스 서버로 송신하도록 구성되며; 상기 서비스 서버는 상기 수신된 서비스 요청에서 요청 데이터에 대한 응답 프로세싱을 수행하도록 구성되는, 서비스 통신 방법.
  13. 제12항에 있어서,
    상기 애플리케이션 프로세스에 대한 동기식 검증 프로세싱을 수행하는 것은:
    상기 애플리케이션 프로세스가 위치되는 디바이스에서 로그인 상태에서의 사용자 계정을 결정하며, 상기 사용자 계정에 대응하는 신뢰 애플리케이션 프로세스 및 상기 사용자 계정에 대응하는 액세스 가능한 서비스 서버의 어드레스에 대한 프로세스 정보를 획득하는 것;
    상기 애플리케이션 프로세스에 대한 프로세스 정보 및 상기 신뢰 애플리케이션 프로세스에 대한 프로세스 정보 간의 매칭 결과를 제3 검증 프로세싱 결과로서 취하는 것;
    상기 서비스 요청에 의해 요청된 서비스 서버의 어드레스 및 상기 액세스 가능한 서비스 서버의 어드레스 간의 매칭 결과를 제4 검증 프로세싱 결과로서 취하는 것;
    상기 애플리케이션 프로세스가 위치되는 디바이스에 대한 디바이스 정보를 획득하며, 상기 디바이스 정보와 디바이스 보안 조건 간의 매칭 결과를 제5 검증 프로세싱 결과로서 취하는 것; 및
    상기 제3 검증 프로세싱 결과, 상기 제4 검증 프로세싱 결과 및 제5 검증 프로세싱 결과에 따라 상기 애플리케이션 프로세스의 동기식 검증 프로세싱 결과를 결정하는 것을 포함하는, 서비스 통신 방법.
  14. 제12항에 있어서,
    상기 서비스 액세스 프로세스에 의해 송신된 크리덴셜 요청을 수신할 때, 상기 방법은:
    프로세스 정보 블랙리스트와 상기 애플리케이션 프로세스에 대한 프로세스 정보를 주기적으로 매칭시키며, 상기 획득된 매칭 결과를 상기 애플리케이션 프로세스의 비동기식 검증 프로세싱 결과로서 취하는 단계; 및
    상기 애플리케이션 프로세스의 비동기식 검증 프로세싱 결과에 따라 상기 서비스 액세스 프로세스와 상기 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어하는 단계를 더 포함하는, 서비스 통신 방법.
  15. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행하는 단계는:
    프로세스 정보 블랙리스트와 상기 서비스 액세스 프로세스에 대한 프로세스 정보를 주기적으로 매칭시키며, 상기 획득된 매칭 결과를 상기 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과로서 취하는 단계를 포함하는, 서비스 통신 방법.
  16. 서비스 액세스 클라이언트, 보안 클라이언트, 및 보안 서버를 포함한, 서비스 통신 시스템으로서,
    상기 서비스 액세스 클라이언트는 서비스 액세스 프로세스를 구동하며;
    상기 보안 클라이언트는:
    상기 서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신하고;
    상기 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱을 수행하며, 상기 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행하도록 사익 보안 서버에 통지하고;
    상기 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 상기 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하고;
    상기 서비스 키 정보에 기초하여 상기 서비스 액세스 프로세스와의 암호화된 서비스 통신을 위해 상기 서비스 키 정보를 상기 서비스 액세스 프로세스로 송신하며;
    상기 서비스 액세스 프로세스에 대한 상기 보안 서버의 비동기식 검증 프로세싱 결과에 따라 상기 서비스 액세스 프로세스와의 상기 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어하도록 구성되는, 서비스 통신 시스템.
  17. 제16항에 있어서,
    상기 보안 클라이언트는 또한:
    상기 서비스 액세스 프로세스에 의해 송신된 크리덴셜 요청을 수신하고 ―상기 크리덴셜 요청은 애플리케이션 프로세스의 서비스 요청을 가로채는 것에 응답하여 상기 서비스 액세스 프로세스에 의해 송신되며, 상기 서비스 요청의 목적지 어드레스는 서비스 서버의 어드레스임―;
    상기 애플리케이션 프로세스에 대한 동기식 검증 프로세싱을 수행하도록 상기 보안 서버에 통지하도록 구성되고;
    상기 보안 서버는 상기 애플리케이션 프로세스의 동기식 검증 프로세싱 결과에 따라 상기 애플리케이션 프로세스에 대해 할당된 서비스 크리덴셜 및 게이트웨이 어드레스를 결정하며, 상기 서비스 크리덴셜 및 상기 게이트웨이 어드레스를 상기 보안 클라이언트를 통해 상기 서비스 액세스 프로세스로 송신하도록 구성되고;
    상기 서비스 액세스 클라이언트는 또한 상기 서비스 크리덴셜 및 상기 서비스 요청을 상기 서비스 액세스 프로세스를 통해 상기 게이트웨이 어드레스에 대응하는 서비스 게이트웨일 송신하도록 구성되고;
    상기 서비스 게이트웨이는 상기 수신된 서비스 크리덴셜에 대한 검증 프로세싱을 수행하며, 상기 서비스 크리덴셜의 검증 프로세싱 결과가 검증 성공인 경우에 상기 수신된 서비스 요청을 상기 서비스 서버로 송신하도록 구성되고; 상기 서비스 서버는 상기 수신된 서비스 요청에서 요청 데이터에 대한 응답 프로세싱을 수행하도록 구성되는, 서비스 통신 시스템.
  18. 서비스 통신 장치로서,
    서비스 액세스 프로세스에 의해 송신된 인증 요청을 수신하도록 구성된 수신 모듈;
    상기 서비스 액세스 프로세스에 대한 동기식 검증 프로세싱을 수행하며, 상기 서비스 액세스 프로세스에 대한 비동기식 검증 프로세싱을 수행하도록 구성된 검증 모듈;
    상기 서비스 액세스 프로세스의 동기식 검증 프로세싱 결과에 따라 상기 서비스 액세스 프로세스에 대해 할당된 서비스 키 정보를 결정하도록 구성된 결정 모듈;
    상기 서비스 키 정보에 기초하여 상기 서비스 액세스 프로세스와의 암호화된 서비스 통신을 위해 상기 서비스 키 정보를 사익 서비스 액세스 프로세스로 송신하도록 구성된 송신 모듈; 및
    상기 서비스 액세스 프로세스의 비동기식 검증 프로세싱 결과에 따라 상기 서비스 액세스 프로세스와의 상기 암호화된 서비스 통신을 베어링하기 위해 사용된 통신 연결을 제어하도록 구성된 연결 제어 모듈을 포함하는, 서비스 통신 장치.
  19. 전자 디바이스로서,
    실행 가능한 명령을 저장하도록 구성된 메모리; 및
    상기 메모리에 저장된 상기 실행 가능한 명령을 실행할 때 제1항 내지 제15항 중 어느 한 항에 따른 서비스 통신 방법을 수행하도록 구성된 프로세서를 포함하는, 전자 디바이스.
  20. 실행 가능한 명령을 저장한 컴퓨터-판독 가능한 저장 매체로서,
    상기 실행 가능한 명령은, 프로세서에 의해 실행될 때, 제1항 내지 제15항 중 어느 한 항에 따른 서비스 통신 방법을 수행하는, 컴퓨터-판독 가능한 저장 매체.
  21. 실행 가능한 명령을 포함한 컴퓨터 프로그램 제품으로서,
    상기 실행 가능한 명령은, 프로세서에 의해 실행될 때, 제1항 내지 제15항 중 어느 한 항에 따른 서비스 통신 방법을 수행하는, 컴퓨터 프로그램 제품.
KR1020237008870A 2020-11-05 2021-10-22 서비스 통신 방법, 시스템, 장치 및 전자 디바이스 KR20230048431A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202011222173.X 2020-11-05
CN202011222173.XA CN112422532B (zh) 2020-11-05 2020-11-05 业务通信方法、系统、装置及电子设备
PCT/CN2021/125653 WO2022095730A1 (zh) 2020-11-05 2021-10-22 业务通信方法、系统、装置及电子设备

Publications (1)

Publication Number Publication Date
KR20230048431A true KR20230048431A (ko) 2023-04-11

Family

ID=74827887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237008870A KR20230048431A (ko) 2020-11-05 2021-10-22 서비스 통신 방법, 시스템, 장치 및 전자 디바이스

Country Status (6)

Country Link
US (1) US20230056432A1 (ko)
EP (1) EP4181460A4 (ko)
JP (1) JP2023541599A (ko)
KR (1) KR20230048431A (ko)
CN (1) CN112422532B (ko)
WO (1) WO2022095730A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422532B (zh) * 2020-11-05 2024-02-23 腾讯科技(深圳)有限公司 业务通信方法、系统、装置及电子设备
CN113259319B (zh) * 2021-04-12 2023-05-12 杭州顶象科技有限公司 验证处理方法及系统
CN113242230B (zh) * 2021-05-07 2022-09-06 中国科学技术大学 一种基于智能合约的多级认证与访问控制系统及方法
CN114172664B (zh) * 2021-12-07 2024-02-09 天融信雄安网络安全技术有限公司 数据加密、数据解密方法、装置、电子设备及存储介质
CN114785544A (zh) * 2022-03-12 2022-07-22 海南电网有限责任公司 一种提升网络系统中管理面系统安全接入业务面系统的方法
CN114650216A (zh) * 2022-03-22 2022-06-21 阿里云计算有限公司 安全防护方法及装置
CN114938278B (zh) * 2022-04-11 2023-10-31 北京邮电大学 一种零信任访问控制方法及装置
CN115529352A (zh) * 2022-09-20 2022-12-27 蚂蚁区块链科技(上海)有限公司 计算服务的路由处理方法及装置
FR3141301A1 (fr) * 2022-10-21 2024-04-26 Orange Procédé de traitement d’une requête d’exécution d’un service dans un réseau de communication, procédé de validation de la requête, entité intermédiaire, entité de validation, système et programme d’ordinateur correspondants
CN116204543B (zh) * 2023-05-04 2023-08-08 天津金城银行股份有限公司 一种票据保活的方法、系统、计算机和可读存储介质
CN116614312B (zh) * 2023-07-19 2024-04-09 北京云尚汇信息技术有限责任公司 一种云计算系统的安全验证方法及系统
CN117201192A (zh) * 2023-11-06 2023-12-08 国家计算机网络与信息安全管理中心 一种基于环境度量的零信任单包通信方法及系统
CN117240910B (zh) * 2023-11-16 2024-03-01 中邮消费金融有限公司 零信任校验系统以及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040513B (zh) * 2016-06-30 2020-06-02 郭铮铮 一种可信访问认证处理方法、用户终端和服务端
CN106790080A (zh) * 2016-12-22 2017-05-31 深圳新众诚科技有限公司 业务系统和电子凭证系统之间的网络安全通信方法与装置
CN110535807B (zh) * 2018-05-24 2021-05-11 腾讯科技(深圳)有限公司 一种业务鉴权方法、装置和介质
CN110535648B (zh) * 2018-05-24 2022-05-06 腾讯科技(深圳)有限公司 电子凭证生成及验证和密钥控制方法、装置、系统和介质
US11139985B2 (en) * 2018-12-04 2021-10-05 Journey.ai Receiving information through a zero-knowledge data management network
US11743255B2 (en) * 2018-12-04 2023-08-29 Journey.ai Providing access control and identity verification for communications when initiating a communication from an entity to be verified
EP3921972A4 (en) * 2019-02-05 2022-11-02 Ethopass, LLC SECURITY SYSTEM AND RELATED PROCEDURES
CN110569649A (zh) * 2019-08-21 2019-12-13 上海易点时空网络有限公司 基于异步处理的数据接入服务接口鉴权方法及装置
CN111211908B (zh) * 2019-12-25 2023-03-03 深圳供电局有限公司 访问控制方法、系统、计算机设备和存储介质
CN111212075B (zh) * 2020-01-02 2022-06-03 腾讯云计算(北京)有限责任公司 业务请求的处理方法、装置、电子设备及计算机存储介质
CN112422532B (zh) * 2020-11-05 2024-02-23 腾讯科技(深圳)有限公司 业务通信方法、系统、装置及电子设备

Also Published As

Publication number Publication date
EP4181460A1 (en) 2023-05-17
US20230056432A1 (en) 2023-02-23
CN112422532A (zh) 2021-02-26
EP4181460A4 (en) 2024-01-03
CN112422532B (zh) 2024-02-23
JP2023541599A (ja) 2023-10-03
WO2022095730A1 (zh) 2022-05-12

Similar Documents

Publication Publication Date Title
WO2022095730A1 (zh) 业务通信方法、系统、装置及电子设备
US11641361B2 (en) Dynamic access control to network resources using federated full domain logon
US10411906B2 (en) Secure certificate distribution
US11477188B2 (en) Injection of tokens or client certificates for managed application communication
US8661252B2 (en) Secure network address provisioning
US20200186358A1 (en) Persistent network device authentication
CN111737366B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
US20130086652A1 (en) Session sharing in secure web service conversations
JP2019526993A (ja) ネットワーク機能仮想化システム及び検証方法
US20140281503A1 (en) Certificate grant list at network device
US20220103361A1 (en) Enforcing a Segmentation Policy Using Cryptographic Proof of Identity
US11184336B2 (en) Public key pinning for private networks
CN112149105A (zh) 数据处理系统、方法、相关设备及存储介质
JP2023514736A (ja) 安全な通信のための方法及びシステム
US9325697B2 (en) Provisioning and managing certificates for accessing secure services in network
US20200195639A1 (en) Timestamp-based authentication with redirection
WO2020122977A1 (en) Timestamp-based authentication with redirection
EP4096147A1 (en) Secure enclave implementation of proxied cryptographic keys
EP4096160A1 (en) Shared secret implementation of proxied cryptographic keys
CN115473648A (zh) 一种证书签发系统及相关设备
Walsh et al. Intra-cloud and inter-cloud authentication
US11611541B2 (en) Secure method to replicate on-premise secrets in a cloud environment
US20230231724A1 (en) Blockchain based certificate pinning
Tank et al. Security analysis of OpenStack keystone
CN115130116A (zh) 业务资源访问方法、装置、设备、可读存储介质及系统