KR102468823B1 - 애플릿 패키지 전송 방법, 장치, 전자 기기, 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램 - Google Patents

애플릿 패키지 전송 방법, 장치, 전자 기기, 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102468823B1
KR102468823B1 KR1020210017792A KR20210017792A KR102468823B1 KR 102468823 B1 KR102468823 B1 KR 102468823B1 KR 1020210017792 A KR1020210017792 A KR 1020210017792A KR 20210017792 A KR20210017792 A KR 20210017792A KR 102468823 B1 KR102468823 B1 KR 102468823B1
Authority
KR
South Korea
Prior art keywords
applet
package
identifier
host server
applet package
Prior art date
Application number
KR1020210017792A
Other languages
English (en)
Other versions
KR20220042992A (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 KR20220042992A publication Critical patent/KR20220042992A/ko
Application granted granted Critical
Publication of KR102468823B1 publication Critical patent/KR102468823B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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
    • 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/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

이 개시는 애플릿 패키지 전송 방법을 제공하며, 컴퓨터 기술 분야에 관련되며, 구체적으로 클라우드 컴퓨팅 및 클라우드 플랫폼 기술 분야에 관련된다. 이 방법은: 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여, 상기 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하며; 식별자가 플랫폼 서버에서 호스트 서버로 미리 전송된 애플릿 패키지 식별자라는 것이 검증된 경우, 애플릿의 애플릿 패키지를 상기 호스트 서버로 전송하며; 그 중에서, 서로 다른 호스트 서버의 동일한 애플릿에 대해 전송되는 애플릿 패키지 식별자는 서로 다른 것을 포함한다. 이 개시는 애플릿 패키지 전송 장치, 전자 기기 및 컴퓨터 판독 가능 매체를 더 제공한다. 이 개시의 실시예의 애플릿 패키지 전송 방법, 장치, 전자 기기, 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램을 통해 애플릿 패키지 전송 과정의 보안 관리 및 제어를 향상시킬 수 있다.

Description

애플릿 패키지 전송 방법, 장치, 전자 기기, 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램{APPLET PACKAGE SENDING METHOD AND DEVICE, ELECTRONIC APPARATUS, AND COMPUTER READABLE MEDIUM}
이 개시는 컴퓨터 기술 분야, 구체적으로 클라우드 컴퓨팅 및 클라우드 플랫폼 기술 분야에 관련되며, 특히 애플릿 패키지 전송 방법, 장치, 전자 기기, 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램에 관련된다.
애플릿은 다운로드 및 설치 없이 사용할 수 있는 애플리케이션으로 일반적으로 호스트 프로그램을 플랫폼으로 실행되며, 호스트 프로그램은 일반적으로 단말 운영 시스템 환경에서 실행되는 애플리케이션 프로그램이다.
애플릿의 급속한 성장으로 애플릿 주변의 배포되는 호스트 프로그램이 점점 더 많아지고 있다. 따라서 애플릿과 합법적인 호스트 프로그램 간의 안전하고 효과적인 시스템 통신 및 인터랙션을 보장하기 위해, 호스트 프로그램 상의 애플릿의 배포를 제어할 필요가 있다.
이 개시의 실시예는 애플릿 패키지 전송 방법, 장치, 전자 기기, 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램을 제공한다.
제1 양태에서, 이 개시의 실시예는 애플릿 패키지 전송 방법을 제공하며, 이 방법은: 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여, 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하며; 식별자가 플랫폼 서버에서 호스트 서버로 미리 전송된 애플릿 패키지 식별자라는 것이 검증된 경우, 애플릿의 애플릿 패키지를 호스트 서버로 전송하며; 그 중에서, 서로 다른 호스트 서버의 동일한 애플릿에 대해 전송되는 애플릿 패키지 식별자는 서로 다른 것을 포함한다.
제2 양태에서, 이 개시의 실시예는 애플릿 패키지 전송 장치를 제공하며, 이 장치는: 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하는데 사용되는, 패키지 획득 요청 수신 모듈; 식별자가 플랫폼 서버에서 호스트 서버로 미리 전송된 애플릿 패키지 식별자라는 것이 검증된 경우, 애플릿의 애플릿 패키지를 호스트 서버로 전송하는데 사용되는, 애플릿 패키지 전송 모듈을 포함하고; 그 중에서, 서로 다른 호스트 서버의 동일한 애플릿에 대해 전송되는 애플릿 패키지 식별자는 서로 다르다.
제3 양태에서, 이 개시의 실시예는 전자 기기를 제공하며, 이 장치는: 하나 이상의 프로세서; 그 위에 하나 이상의 프로그램을 저장하고, 하나 이상의 프로그램이 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서는 전술한 어느 하나의 애플릿 패키지 전송 방법을 구현하는 메모리; 프로세서와 메모리 사이에 연결되고, 프로세서와 메모리 사이의 정보 인터랙션을 구현하도록 구성되는 하나 이상의 I/O 인터페이스를 포함한다.
제4 양태에서, 이 개시의 실시예는 컴퓨터 판독 가능 매체를 제공하며, 이 매체는: 그 위에 컴퓨터 프로그램이 저장되며, 컴퓨터 프로그램이 프로세서에 의해 실행될 때 전술한 어느 하나의 애플릿 패키지 전송 방법을 구현한다.
제5 양태에서, 이 개시의 실시예는 컴퓨터 프로그램을 제공하며, 프로세서에 의해 실행될 때 전술한 애플릿 패키지 전송 방법을 구현한다.
이 개시의 실시예에 따른 애플릿 패키지 전송 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 매체에서, 플랫폼 서버는 호스트 서버의 애플릿 패키지 획득 요청을 수신한 후, 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하고, 그 식별자가 플랫폼 서버에서 호스트 서버로 미리 전송된 애플릿 패키지 식별자라는 것이 검증된 경우에만 애플릿의 애플릿 패키지를 호스트 서버로 전송할 수 있다.
이 개시의 애플릿 패키지 전송 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 매체에 의해, 서로 다른 호스트 서버의 동일한 애플릿에 대해 전송되는 애플릿 패키지 식별자는 다르므로, 애플릿 패키지 식별자를 통해 서로 다른 호스트 서버에서 서로 다른 애플릿을 식별하여 애플릿 패키지 전송 과정의 보안 관리 및 제어를 향상시킬 수 있다.
첨부 도면은 이 개시의 실시예에 대한 이해를 돕기 위해 제공되고, 명세서의 일부를 구성하며, 이 개시의 실시예와 함께 이 개시를 해석하기 위해 사용되는 것으로, 이 개시를 제한하는 것이 아니다. 첨부 도면을 참조하여 상세한 예시적인 실시예를 설명함으로써, 상기 및 기타 특징 및 장점이 이 분야의 기술자에게 더욱 명백해질 것이다. 첨부 도면에서:
도 1은 이 개시의 실시예에 의해 제공되는 시나리오의 개략도이다.
도 2는 이 개시의 실시예에 따른 애플릿 패키지 전송 방법의 흐름도이다.
도 3은 이 개시의 실시예에서 애플리케이션 식별자와 애플릿 패키지 식별자 간의 관계 모델의 개략도이다.
도 4는 이 개시의 예시적인 실시예에서 시스템 프레임워크의 개략도이다.
도 5는 이 개시의 실시예에 의해 제공되는 애플릿 패키지 전송 장치의 구성 블록도이다.
도 6은 이 개시의 실시예에 의해 제공되는 전자 기기의 구성 블록도이다.
도 7은 이 개시의 실시예에 의해 제공되는 컴퓨터 판독 가능 매체의 구성 블록도이다.
이 분야의 기술자가 이 개시의 기술 방안을 보다 잘 이해할 수 있도록 하기 위해, 다음은 첨부 도면을 참조하여 이 개시에 의해 제공되는 애플릿 패키지 전송 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 매체에 대해 상세하게 설명한다.
이하에서 첨부 도면을 참조하여 예시적인 실시예를 보다 상세하게 설명하지만, 예시적인 실시예는 다른 형태로 구현될 수 있으며, 여기에서 설명하는 실시예로 제한하는 것으로 해석해서는 안 된다. 달리 말하면, 이러한 실시예를 제공하는 목적은 이 개시를 철저하고 완전하게 만들고, 또한 이 분야의 기술자가 이 개시의 범위를 완전히 이해할 수 있도록 하는 것이다.
상충되지 않는 한, 이 개시의 실시예 및 실시예 중의 각 특징은 서로 결합될 수 있다. 이 명세서에서 사용되는 용어 "및/또는"은 하나 이상의 관련된 나열된 항목의 임의의 조합 및 모든 조합을 포함한다.
이 명세서에서 사용된 용어는 특정 실시예를 설명하기 위해서만 사용되며, 이 개시를 제한하려는 의도는 아니다. 이 명세서에서 사용된 바와 같이, 단수 형태의 "하나" 및 "그"는 문맥 상 명백하게 달리 지시하지 않는 한 복수 형태를 포함하도록 의도된다. 또한 이 명세서에서 "포함하는" 및/또는 "구성되는"이라는 용어가 사용될 때, 설명된 특징, 전체, 단계, 조작, 요소 및/또는 구성 요소의 존재를 지정하는 것이지만, 하나 이상의 다른 특징, 전체, 단계, 조작, 요소, 구성 요소 및/또는 그 그룹의 존재 또는 추가를 배제하지 않는다는 것을 이해할 것이다.
달리 정의되지 않는 한, 여기서 사용되는 모든 용어의 의미(기술 용어 및 과학 용어를 포함)는 이 분야의 기술자가 일반적으로 이해하는 것과 동일하다. 또한 일반적으로 사용되는 사전에서 정의된 용어와 같은 용어는 관련 기술 및 이 개시의 배경에서의 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 또한 이 명세서가 명확하게 정의하지 않는 한 이상화되거나 과도하게 형식적인 의미를 갖는 것으로 해석하지 않아야 한다는 것을 이해할 것이다.
도 1은 이 개시의 실시예의 시나리오의 개략도이다. 도 1에 도시된 시나리오에서, 단말(10), 호스트 서버(20) 및 플랫폼 서버(30)를 포함한다. 단말(10)에는 호스트 애플리케이션 프로그램을 실행할 수 있으므로, 이하의 실시예에서 단말(10)은 호스트 애플리케이션 클라이언트라고도 칭할 수도 있다. 애플릿은 어떤 호스트 애플리케이션 프로그램에 의존하여 실행할 수 있다. 예를 들어, 소셜 애플리케이션, 지도 애플리케이션, 비디오 애플리케이션, 검색 및 리소스 애플리케이션과 같은 다양한 호스트 애플리케이션 프로그램에서 애플릿을 호출할 수 있다.
단말(10)에서 실행되는 호스트 애플리케이션 프로그램을 통해 처음으로 애플릿을 열 때, 먼저 애플릿 패키지를 다운로드해야 한다. 이 개시의 실시예의 도 1에서, 호스트 서버(20)는 플랫폼 서버(30)가 발행 한 애플릿의 기본 정보를 획득한 후, 애플릿의 기본 정보를 단말(10)로 전송한다. 단말(10)은 호스트 애플리케이션 프로그램을 통해 그 기본 정보에서 애플릿의 애플릿 패키지를 선택하고, 호스트 서버(20)를 통해 플랫폼 서버(30)에 애플릿의 애플릿 패키지를 요청한다. 플랫폼 서버(30)는 호스트 서버(20)를 통해 획득한 애플릿 패키지를 단말(10)로 전송하고, 단말(10)은 로컬 호스트 애플리케이션 프로그램에서 대응되는 애플릿을 실행한다.
단말(10)는 인터넷에 접속할 수 있다. 예시적으로 단말(10)은 이동 전화, 개인용 컴퓨터, 태블릿 컴퓨터, 스마트 웨어러블 장치, 데스크탑 컴퓨터, 노트북 컴퓨터 등을 포함할 수 있으나 이에 제한되지 않는다. 그들은 모두 다양한 호스트 애플리케이션 프로그램을 설치할 수 있다.
호스트 서버(20)는 단말(10)에서 실행되는 호스트 애플리케이션 프로그램의 백그라운드 서버일 수 있고, 호스트 플랫폼 서버(30)는 애플릿 패키지를 제공하기 위한 서버 일 수 있다. 이하의 실시예의 설명에서, 호스트 플랫폼 서버는 간략하게 플랫폼 서버로 칭할 수 있다.
호스트 서버(20)는 단말(10)과 플랫폼 서버(30)와 통신을 구축할 수 있다. 그 서버(20)와 플랫폼 서버(30)는 하나의 서버 장치이거나 다수의 서버 장치로 구성된 서버 클러스터일 수 있다. 구체적인 처리 할당은 실제 응용 요구에 따라 유연하게 조정할 수 있다.
이하의 실시예의 설명에서, 단말 상에서 호스트 애플리케이션 프로그램을 실행할 수 있으므로, 단말을 호스트 애플리케이션 단말이라고도 칭할 수도 있다.
다음의 실시예는 모두 이 실시예의 시스템 아키텍처에 적용될 수 있다. 간결한 설명을 위해 이하의 실시예는 서로를 참조하고 인용할 수 있다.
일부 응용 시나리오에서, 단말(10)에서 실행되는 호스트 애플리케이션 프로그램에 의해 시작된 액세스 요청 또는 플랫폼 서버(30)의 추천에 기반하여, 플랫폼 서버(30)는 호스트 애플리케이션 프로그램에 애플릿 정보 목록을 전송할 수 있다. 예를 들어, 애플릿 정보 목록의 애플릿 정보는 애플릿 이름, 애플릿 아이콘 및 애플릿 텍스트 설명 정보 등과 같은 정보를 포함할 수 있다. 애플릿 정보를 보낼 때 애플릿의 프로그램 식별자(appkey)를 동시에 전송할 수 있으며, 프로그램 식별자는 하나의 애플릿을 고유하게 식별하는데 사용된다.
호스트 서버에서 얻은 애플릿의 애플릿 정보 목록은 모두 동일하므로, 호스트 서버에 대응되는 호스트 애플리케이션이 호스트 애플리케이션 단말에서 실행될 때 애플릿 정보 목록에서 선택된 애플릿의 appkey에 기반하여 언제든지 플랫폼 서버의 인터페이스를 통해 선택된 애플릿의 최신 애플릿 패키지를 획득할 수 있으므로, 플랫폼 서버가 애플릿 패키지를 전송하는 권한을 엄격하게 관리 및 제어하지 못하는 문제가 있다.
도 2는 이 개시의 실시예에 따른 애플릿 패키지 전송 방법의 흐름도이다. 제1 양태에서, 도 2를 참조하면, 이 개시의 실시예의 애플릿 패키지 전송 방법은 다음 단계를 포함할 수 있다.
S110 단계: 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여, 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득한다.
S120 단계: 식별자가 플랫폼 서버에서 호스트 서버로 미리 전송된 애플릿 패키지 식별자라는 것이 검증된 경우, 애플릿의 애플릿 패키지를 호스트 서버로 전송한다; 그 중에서, 서로 다른 호스트 서버의 동일한 애플릿에 대해 전송되는 애플릿 패키지 식별자는 다르다.
이 개시의 실시예에 따른 애플릿 패키지 전송 방법에 따라, 플랫폼 서버는 호스트 서버의 애플릿 패키지 획득 요청을 수신한 후, 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하고, 그 식별자가 플랫폼 서버에서 호스트 서버로 미리 전송된 애플릿 패키지 식별자라는 것이 검증된 경우에만 애플릿의 애플릿 패키지를 호스트 서버로 전송할 수 있다.
이 애플릿 패키지 전송 방법에서, 서로 다른 호스트 서버의 동일한 애플릿에 대한 애플릿 패키지 식별자는 다르다. 즉, 애플릿 패키지 식별자는 서로 다른 호스트 서버에 있는 서로 다른 애플릿의 애플릿 패키지를 식별하여, 서로 다른 호스트 서버 간 애플릿의 애플릿 패키지 식별자를 통해, 권한 관리 및 제어를 강화하는 효과를 달성하고, 애플릿 패키지 전송 과정의 보안 제어를 개선할 수 있다.
일부 실시예에서, S110 단계 이전에, 방법은 다음을 더 포함한다: S11 단계: 호스트 서버로부터의 애플릿 정보 획득 요청에 응답하여, 적어도 하나의 애플릿의 애플릿 정보 및 대응되는 프로그램 식별자를 획득한다; S12 단계: 상기 애플릿의 프로그램 식별자에 기반하여 애플릿 패키지 식별자를 생성한다. 그 중에서, 각 애플릿의 프로그램 식별자는 하나의 상기 애플릿 패키지 식별자에 대응되며, 또한 서로 다른 호스트 서버에 의해 생성된 동일한 애플릿에 대한 애플릿 패키지 식별자는 서로 다르다; S13: 적어도 하나의 애플릿 정보와 각 애플릿의 애플릿 패키지 식별자를 호스트 서버로 전송한다.
하나의 실시예에서, 적어도 하나의 애플릿의 애플릿 정보는 정보 목록 또는 정보 집합의 형태일 수 있다. 이 개시의 실시예는 애플릿 정보의 특정 형태를 구체적으로 제한하지 않는다는 것을 이해해야 한다.
이 실시예에서, 애플릿 패키지를 호스트 서버로 전송하기 전에, 호스트 서버로부터의 애플릿 정보 획득 요청에 응답하여 각 호스트로 전송될 적어도 하나의 애플릿 정보에서 각 애플릿에 대응되는 appkey를 위해, 각 애플릿의 appkey에 대응되는 애플릿 패키지 식별자(openBundleId)를 생성한다. 서로 다른 호스트 서버에 의해 생성된 동일한 애플릿에 대한 애플릿 패키지 식별자는 다르기 때문에, 각 호스트 서버는 자신이 수신한 애플릿 패키지 식별자를 사용하여 호스트 서버에 애플릿 패키지 획득 요청을 시작하므로 권한 관리 및 제어를 강화하는 효과를 달성할 수 있고, 애플릿 패키지 전송 과정에서 보안 제어를 향상시킬 수 있다.
예를 들어, 호스트 서버 A에 대해, 플랫폼 서버에서 획득한 애플릿의 프로그램 식별자가 appkey1, appkey2 및 appkey이며, 생성된 각 프로그램 식별자에 대응되는 애플릿 패키지 식별자는 openBundleId1, openBundleId2 및 openBundleId3이다.
하나의 실시예에서, S13단계에서 전송된 애플릿 패키지 식별자는 암호화된 애플릿 패키지 식별자이고; S12 단계에서 상기 애플릿의 프로그램 식별자에 기반하여 애플릿 패키지 식별자를 생성하는 단계 이후에, 이 개시의 애플릿 패키지 전송 방법은 다음 단계를 더 포함할 수 있다.
S12-01 단계: 미리 정해진 암호키를 사용하여 각 애플릿의 애플릿 패키지 식별자를 암호화하여 암호화된 애플릿 패키지 식별자를 획득한다. 그 중에서, 각 호스트 서버에 대해 미리 정해진 암호키는 다르고, 각 호스트 서버의 미리 정해진 암호키는 플랫폼 서버에 저장되며, 또한 호스트 서버의 미리 정해진 암호키는 공개 상태가 아니다.
이 실시예에서, 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여, 획득된 애플릿 패키지 획득 요청에서 암호화된 애플릿의 식별자는, 플랫폼 서버가 각 호스트 서버에 대해 미리 생성한 암호화된 암호키에 기반하여 애플릿 패키지 식별자를 암호화하여 획득한 암호화된 애플릿 패키지 식별자일 수 있다.
이 실시예에서, 플랫폼 서버는 각 호스트 서버에 대해 적어도 하나의 애플릿에서 각 애플릿의 appkey에 대응되는 암호화된 openBundleId를 생성할 수 있고, 또한 각 암호화된 openBundleId는 미리 정해진 암호키로 암호화하여 획득할 수 있다. 호스트 서버는 자체 개인키를 보관하고, 각 호스트 서버의 공개키는 호스트 플랫폼 서버에 저장되며, 또한 각 호스트 서버의 공개키는 호스트 서버에 대해 공개되지 않을 수 있다.
예시적으로, 플랫폼 서버는 각 호스트 서버에 대해 서로 다른 공개키와 개인키를 생성할 수 있으며, 또한 호스트 서버의 공개키를 미리 정해진 암호키로 사용하여, 호스트 서버로 전송할 애플릿의 openBundleId를 암호화할 수 있다. 그 중에서, 각 호스트 서버의 공개키는 플랫폼 서버에 저장되며 공개되지 않는다.
예시적으로, 플랫폼 서버는 각 호스트 서버에 대해 개별적으로 하나의 암호키를 생성할 수 있으며, 또한 별도로 생성된 암호키를 사용하여 호스트 서버로 전송되는 애플릿의 openBundleId를 암호화할 수 있다. 그 중에서, 호스트 서버별로 별도로 생성된 암호키는 플랫폼 서버에 저장되며 공개되지 않는다.
호스트 서버 A의 적어도 하나의 애플릿에 대한 애플릿 정보와 적어도 하나의 애플릿에 있는 각 애플릿의 암호화된 openBundleId를 호스트 서버에 전송한 후, 호스트 서버는 암호화된 openBundleId를 해독할 필요가 없다. 대신, 대상 애플릿을 선택한 후 애플릿 패키지 획득 요청을 생성하며, 애플릿 패키지 획득 요청에 대상 애플릿의 암호화된 openBundleId를 운반하고, 또한 애플릿 패키지 획득 요청을 플랫폼 서버로 전송할 수 있다.
서로 다른 호스트 서버에 대해, 각 애플릿의 애플릿 패키지 식별자를 암호화하는 암호키는 호스트 서버에 저장되며, 공개되지 않는다. 따라서 호스트 서버 A의 애플릿에 대한 암호화된 openBundleId가 호스트 서버 B에 의해 획득되더라도 호스트 서버 B는 호스트 서버 A의 애플릿의 openBundleId를 암호화하는 암호키를 알 수 없기 때문에 호스트 서버 B는 암호화된 openBundleId를 해독할 수 없다. 따라서, 애플릿 플랫폼 서버에 액세스하여 애플릿 패키지를 획득하는 것은 불가능하여, 호스트 B가 호스트 서버 A의 애플릿 openBundleId를 획득하여 호스트 서버 A의 애플릿 패키지를 획득하는 보안 위험을 줄이고, 애플릿 패키지 전송 과정의 안전성을 개선하고, 호스트 서버의 합법적인 이익을 보호한다.
하나의 실시예에서, S13 단계에서 전송된 애플릿 패키지 식별자는 유효한 상태의 애플릿 패키지 식별자이고; S12 단계에서 상기 애플릿의 프로그램 식별자에 기반하여 애플릿 패키지 식별자를 생성하는 단계 이후에, 이 개시의 애플릿 패키지 전송 방법은 다음 단계를 더 포함할 수 있다:
S21 단계: 무효 처리 조건을 충족하는 애플릿 패키지 식별자에 대해, 대응되는 새로운 애플릿 패키지 식별자를 생성하여, 각 애플릿에 대한 새로운 애플릿 패키지 식별자를 획득한다; S23 단계: 새로운 애플릿 패키지 식별자의 유효 상태를 설정하고, 무효 처리 조건을 충족하는 애플릿 패키지 식별자를 무효 상태로 설정한다.
그 중에서, 무효 처리 조건은: 애플릿 패키지 식별자의 생성 시간이 현재 시간으로부터 미리 설정된 유효 기간을 초과하고, 플랫폼 서버의 서버 정보가 변경되고, 그리고 플랫폼 서버의 미리 정해진 트래픽 비정상 정보가 모니터링되는 항목 중 적어도 하나를 포함한다.
이 실시예에서, openBundleId는 시효성을 갖는다.
예를 들어, 생성된 openBundleId가 미리 설정된 수명(TimetoLive, TTL)에 도달하면 애플릿 정보를 재발행해야 하며, 또한 애플릿 정보가 재발행되면 재생성된 각 애플릿의 appkey에 대응되는 openBundleId가 발행된다. 이 개시의 미리 설정된 TTL은 예를 들어 1 일 이상 1 개월 이하의 시간 구간일 수 있으며, 이 개시의 실시예는 TTL의 구체적인 시간 길이를 제한하지 않으며, 실제 시나리오에 따라 결정될 수 있다.
또 다른 예로, 플랫폼 서버는 플랫폼 서버의 서버 정보가 변경되거나 플랫폼 서버의 미리 정해진 트래픽 비정상 정보가 모니터링되는 경우, 각 애플릿의 appkey에 대응되는 openBundleId를 재생성할 수도 있다. 서버 정보의 변경은 예를 들어 서버의 장치 식별자 및 네트워크 주소 등과 같은 정보의 변경을 포함할 수 있다.
이 실시예에서, openBundleId는 또한 가변성을 갖는다. 즉, 일정 시간 후 또는 애플릿의 호스트 플랫폼이 변경된 후, 발행된 애플릿 패키지의 애플릿 패키지 식별자는 변경될 수 있다. openBundleId의 시효성과 가변성을 통해 openBundleId의 보안 속성을 개선한다.
하나의 실시예에서, S23단계에서, 무효 처리 조건을 충족하는 애플릿 패키지 식별자를 무효 상태로 설정하는 단계 이전에, 이 개시의 애플릿 패키지 전송 방법은 다음을 더 포함할 수 있다: 현재 시간으로부터 대응되는 새로운 애플릿 패키지 식별자를 생성하는 사이의 시간 간격 길이가 미리 결정된 전환 시간 길이에 도달하는 것을 결정한다.
즉, 새로운 애플릿 패키지 식별자의 유효 상태를 설정한 후에, 미리 정해진 전환 시간 길이를 간격으로 하여 무효 처리 조건을 충족하는 애플릿 패키지 식별자를 무효 상태로 설정한다.
이 실시예에서, openBundleId가 TTL 설정에 따라 주기적으로 교체될 때, 새로운 애플릿 패키지 식별자는 생성된 직후에 효력을 발휘할 수 있다. 이때, 만약에 이전에 생성된 openBundleId가 즉시 무효 상태로 설정되면, 로컬 openBundleId를 제 시간에 업데이트하기 전에, 호스트가 이전에 생성된 openBundleId를 사용하여 애플릿 패키지를 획득하지 못하는 실패를 초래할 수 있다. 따라서 사용되는 openBundleId가 무효되기 전에 호스트 서버가 애플릿 패키지를 다운로드 및 업데이트하는 것을 보장하기 위해, 미리 정해진 전환 시간 길이 동안 이전에 생성된 openBundleId과 새로 생성된 openBundleId의 유효성을 유지할 수 있으며, 이로써 애플릿 패키지의 다운로드 효율성과 유연성을 개선할 수 있다.
이 개시의 실시예에서 미리 정해진 전환 시간 길이는 호스트 서버로 발행될 애플릿에 관련된 작업에 따라 결정될 수 있음을 유의해야 한다. 예시적으로, 미리 정해진 전환 시간 길이는 1 시간 또는 2 시간과 같은 시간 수준의 시간 길이일 수 있으며, 이는 실제 응용 시나리오에 따라 구체적으로 설정될 수 있으며, 이 개시의 실시예에서 특별히 제한되지 않는다.
하나의 실시예에서, 무효 처리 조건을 충족하는 애플릿 패키지 식별자에 대해 대응되는 새로운 애플릿 패키지 식별자를 생성한 후, 이 개시의 애플릿 패키지 전송 방법은 다음 단계를 더 포함할 수 있다.
S31 단계: 각 애플릿의 애플릿 패키지 식별자에 기반하여 대응되는 애플리케이션 식별자를 생성한다. 그 중에서, 서로 다른 생성 시간에 동일한 프로그램 식별자에 대응되는 애플릿 패키지 식별자는 동일한 애플리케이션 식별자를 갖는다.
이 실시예에서, S13 단계에서 적어도 하나의 애플릿 정보와 각 애플릿의 애플릿 패키지 식별자를 호스트 서버로 전송하는 단계는, 구체적으로 다음을 포함할 수 있다: 적어도 하나의 애플릿 정보, 각 애플릿의 애플릿 패키지 식별자 및 대응되는 애플리케이션 식별자를 상기 호스트 서버로 전송한다.
이 실시예에서, 대응되는 애플리케이션 식별자는 각 애플릿의 애플릿 패키지 식별자에 대응되는 애플리케이션 식별자일 수 있다.
이 실시예에서, 일정 시간 후 또는 애플릿 호스트 플랫폼이 변경된 후에 발행된 애플릿 패키지의 openBundleId는 변경될 수 있음을 고려하면, 하나 이상의 애플릿 정보가 발행되면 고유 식별자를 갖는 애플리케이션 식별자(openAppId)가 동시에 발행되며, 이 애플리케이션 식별자는 서로 다른 시간에 생성된 동일한 애플릿의 openBundleId의 고유성을 나타내는데 사용될 수 있다.
적어도 하나의 애플릿의 애플릿 정보, 적어도 하나의 애플릿에 있는 각 애플릿의 openBundleId 및 각 애플릿의 openBundleId에 대응되는 openAppId를 호스트 서버로 전송하고, 호스트 서버는 여러 openBundleId가 서로 다른 시간 구간에 동일한 openAppId에 대응되는지를 식별하는데 사용될 수 있다.
이해의 편의를 위해, 도 3은 이 개시의 실시예에서 openAppId와 openBundleId 간의 관계 모델의 개략도이다.
도 3에 도시된 바와 같이, openBundleId1이 애플릿의 프로그램에 대해 appkey1에 대응되는 애플릿 패키지 식별자를 나타낸다고 가정하면, openBundleId11, openBundleId12, ……, openBundleId1n(n은 1보다 크거나 같은 정수)은 매번 플랫폼 서버가 지정된 호스트 서버의 동일한 애플릿으로 발행하는 다른 시간 구간의 애플릿 패키지 식별자를 나타내며, 또한 여러 openBundleId는 서로 다른 시간 구간에 하나의 openAppId에 대응된다.
이 실시예에서, 플랫폼 서버가 호스트 서버로 애플릿 정보를 전송할 때, 애플릿 정보와 암호화된 openBundleId 및 openBundleId에 대응되는 openAppId을 함께 발행할 수 있다. 아래의 표 1은 이 개시의 실시예에서 플랫폼 서버가 호스트 서버로 전송하는 애플릿 정보의 주요 내용을 개략적으로 나타낸 것이다.
[표 1] 애플릿 정보의 내용
Figure 112021016034944-pat00001
일부 실시예에서, 애플릿 정보의 내용은 애플릿의 이름, 애플릿의 이미지, 애플릿 텍스트의 소개 등과 같은 정보를 더 포함할 수 있으며, 이는 이 개시의 실시예에서 특별히 제한되지 않는다.
전술한 표 1은 적어도 하나의 애플릿 정보에서 하나의 애플릿 정보, 암호화된 openBundleId 및 openBundleId에 대응되는 openAppId를 예시적으로 보여준다.
이 실시예에서, 서로 다른 시간 구간에 여러 개의 openBundleId에 대응되는 하나의 openAppId를 통해, 애플릿 정보와 암호화된 openBundleId를 획득한 후, 사용자는 서로 다른 시간 구간 동안 획득된 openBundleId를 동일한 애플릿의 openBundleId라는 것을 쉽게 인지할 수 있으므로, 시스템의 사용 편의성과 애플릿 패키지의 다운로드 효율성을 향상시키는 효과를 달성할 수 있다.
하나의 실시예에서, S110 단계에서 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하는 단계 이후에, 애플릿 패키지 전송 방법은 다음 단계를 더 포함할 수 있다.
S41 단계: 애플릿 패키지 획득 요청에서 디지털 서명 인증서를 획득한다.
S120 단계에서 애플릿의 애플릿 패키지를 호스트 서버로 전송하는 단계는 다음을 더 포함할 수 있다: 플랫폼 서버에 미리 저장된 호스트 서버의 비대칭 암호화 개인키를 사용하여 디지털 서명 인증서를 검증하고, 디지털 서명 인증서가 성공적으로 검증되면 애플릿의 애플릿 패키지를 호스트 서버로 전송한다.
하나의 실시예에서, 디지털 서명 인증서를 생성할 때 호스트 서버에 의해 사용되는 암호키는 패키지 관리 서비스(Package Manager Service, PMS)를 통해 플랫폼 서버에 의해 동적으로 발행되는 암호키일 수 있으며, 그 암호키는 시효성을 갖는다. 시효성이 지난 암호키의 경우, 플랫폼 서버는 디지털 서명 인증서를 생성할 때 호스트 서버에서 사용하는 암호키를 재발행할 수 있다. 이 실시예에서, PMS는 애플릿 패키지를 배포 및 다운로드하기 위해 플랫폼 서버의 프로세스에서 실행되는 시스템 서비스일 수 있다.
하나의 실시예에서, 플랫폼 서버는 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여 애플릿 패키지 획득 요청에서 애플릿 식별자 및 디지털 서명 인증서를 획득할 수 있으며, 식별자가 플랫폼 서버에서 호스트 서버로 미리 전송된 애플릿 패키지 식별자라는 것이 검증되고, 또한 디지털 서명 인증서의 검증에 성공하면, 애플릿의 애플릿 패키지를 호스트 서버로 전송한다.
이 실시예의 애플릿 패키지 전송 방법에서, 서로 다른 호스트 서버의 동일한 애플릿에 대해 전송되는 애플릿 패키지 식별자는 다르기 때문에, 호스트 서버는 그 호스트 서버의 애플릿의 appkey에 대한 암호화된 openBundleId 및 디지털 서명 인증서를 제공해야만 다운로드 요청에 대응되는 애플릿 패키지를 획득할 수 있다.
하나의 실시예에서, 디지털 서명 및 디지털 서명의 검증 과정은 예를 들어 다음을 포함할 수 있다: 호스트 서버는 자체 비대칭 암호화 개인키를 사용하여 애플릿 패키지 획득 요청에 운반된 내용에 대해 디지털 서명을 수행하고, 플랫폼 서버는 호스트 서버가 전송한 애플릿 패키지 획득 요청을 수신한 후, 호스트 서버의 비대칭 암호화 공개키를 통해 데이터 서명을 검증하고, 디지털 서명을 통해 애플릿 패키지 획득 요청을 전송하는 호스트 서버에 대해 신원 인증을 수행함으로써, 애플릿 패키지 획득 요청에 운반된 openBundleId 또는 암호화된 openBundleId의 합법성을 검증하며, 검증을 통과한 경우, 애플릿 패키지의 발행을 인가하여 애플릿 패키지 발송 과정의 보안성을 강화할 수 있다.
일부 실시예에서, S110 단계 이전에, 애플릿 패키지 전송 방법은 다음 단계를 더 포함할 수 있다.
S51 단계: 호스트 서버의 데이터 채널 구축 요청에 응답하여, 플랫폼 서버와 호스트 서버 간의 양방향 신원 인증을 수행한다; S52 단계: 양방향 신원 인증을 통과한 경우, 호스트 서버의 클라이언트 식별자를 저장하고, 또한 플랫폼 서버와 호스트 서버 간에 보안 데이터 전송 채널을 구축한다; 그 중에서, 클라이언트 식별자는 호스트 서버를 고유하게 식별하는데 사용되며, 호스트 서버의 클라이언트 식별자는 플랫폼 서버의 소프트웨어 개발 키트(Software Developement Kit: SDK)의 폐쇄 소스 부분에 저장된다.
일부 실시예에서, 상기 S51-S52 단계는 S11 단계 이전에 발생할 수 있다. 즉, 플랫폼 서버는 호스트 서버로부터의 애플릿 정보 획득 요청에 응답하여 적어도 하나의 애플릿의 애플릿 정보 및 대응되는 프로그램 식별자를 앞을 획득한다. 즉, 보안 데이터 채널을 먼저 구축한 다음 호스트 서버로부터 애플릿 정보 획득 요청을 수신하므로, 애플릿 정보 획득 단계에서 보안 데이터 보호를 시작하여 시스템 보안 관리 및 제어를 향상시킬 수 있다.
이 실시예에서, 호스트 서버는 플랫폼 서버로 애플릿 패키지 획득 요청을 전송하기 전에 먼저 보안 데이터 전송 채널을 구축해야 하며, 보안 데이터 전송 채널을 구축하는 과정에서 플랫폼 서버와 호스트 서버 간에 양방향 신원 인증을 완료해야 한다. 인증된 호스트 서버의 신원 식별자(ClientID)는 플랫폼 서버 애플릿 프레임워크 SDK의 폐쇄 소스 부분에 저장할 수 있다. 따라서 보안 데이터 전송 채널을 통해 통신 내용을 암호화할 수 있다.
다음은 하나의 예시를 통해, 플랫폼 서버와 호스트 서버 간에 보안 데이터 전송 채널을 구축하는 과정을 설명한다.
S201 단계: 호스트 서버는 플랫폼 서버를 통해 하나의 토큰(Token) 정보를 획득한다.
예를 들어, 호스트 서버는 사용자 이름과 비밀번호를 통해 플랫폼 서버에 로그인 한 후 플랫폼 서버로 토큰 획득 요청을 전송하고, 플랫폼 서버는 호스트 서버의 사용자 이름과 비밀번호를 검증한 후 토큰을 발행하여 호스트 서버로 전송하며; 호스트 서버는 그 토큰 요청을 기반으로 애플릿 배포를 위한 데이터 채널을 구축한다.
하나의 실시예에서, 플랫폼 서버는 액세스 암호키 식별자(Access Key, AK) / 암호화된 액세스 암호키(Secret Access Key, SK)를 통해, 호스트 서버의 로그인 인증을 통과한 후 호스트 서버로 획득한 토큰을 전송한다.
하나의 실시예에서, 호스트 서버가 처음으로 플랫폼 서버에 등록할 때, 플랫폼 서버는 그 호스트 서버에 AK 및 SK를 할당하며, AK는 각 호스트 서버를 식별하는데 사용하고, SK는 플랫폼 서버 및 호스트 서버 간에 대칭 암호화 통신을 위한 암호키로 사용할 수 있다. 그 중에서, SK 암호키는 플랫폼 서버에 의해 균일하게 저장될 수 있으며, 호스트 서버에 발행할 필요는 없다. 즉, 호스트 서버의 암호키는 플랫폼 서버에 저장되어 다른 호스트 서버에는 보이지 않으며, 다른 호스트 서버가 불법적으로 그 호스트 서버의 openBundleId를 획득하더라도 해독할 수 없으므로, 호스트 서버와 플랫폼 서버의 대칭 암호화의 보안성을 강화할 수 있다.
하나의 실시예에서, 이 개시의 실시예의 암호화 강도는 AES256 비트 암호화와 같은 고급 암호화 표준((Advanced Encryption Standard, AEC)의 암호화 강도보다 낮지 않다. 예시적으로, 이 개시의 실시예에서, AES 암호화된 암호 블록 체인(Cipher Block Chaining, CBC) 모드가 사용될 수 있다.
S202 단계: 호스트 서버는 플랫폼 서버에 채널 구축 요청을 전송하고, 요청에 암호화된 호스트 서버의 신원 식별자를 운반한다.
예시적으로, 호스트 서버의 신원 식별자는 호스트 서버를 고유하게 식별하는데 사용되는 ClientID 일 수 있다.
S203 단계: 플랫폼 서버가 호스트 서버의 신원 식별자를 해독하고 성공적으로 검증한 후 호스트 서버로 응답 메시지를 전송하고, 응답 메시지에는 암호화된 플랫폼 서버의 신원 식별자와 티켓(Ticket)을 운반한다.
S204 단계: 호스트 서버는 플랫폼 서버의 신원 식별자를 해독하고 성공적으로 검증한 후, 그 티켓에 기반하여 플랫폼 서버와 데이터 채널을 구축한다.
전술한 S201-S204를 통해 양방향 신원 인증 후, 호스트 서버와 플랫폼 서버 간에 보안 데이터 전송 채널을 구축할 수 있다. 예시적으로, 보안 데이터 전송 채널이 구축된 후, 그 데이터 채널을 통해 애플릿 패키지 다운로드를 요청할 때, 그 티켓을 제시하거나(그 티켓이 채널 암호키로 사용됨), 또는 그 티켓을 사용하여 전송된 통신 내용을 암호화하며, 플랫폼 서버는 암호화된 통신 내용을 해독한 후, 호스트 서버의 신원을 식별한다.
전술한 보안 데이터 전송 채널을 구축하는 과정에서, 애플릿 플랫폼의 SDK의 일부는 폐쇄 소스이며, 변조가 불가능한다. 호스트 서버의 신원 식별자와 플랫폼 서버의 신원 식별자는 고유한 식별 정보로 사용되어 SDK에 운반되므로, 사용자 신원의 위조를 방지한다. 따라서 호스트 서버 A가 호스트 서버 B의 애플릿 정보를 훔치거나 또는 이를 시뮬레이션하여 호스트 서버 B의 요청을 획득하더라도 호스트 서버 B의 신원을 위조할 수 없으므로, 그 보안 데이터 전송 채널을 통해 B에 대해 발행된 애플릿 패키지를 획득할 수 없으므로, 애플릿 패키지 다운로드에 대한 보안 보장을 제공한다.
하나의 실시예에서, 호스트 서버가 HTTP(Hypertext Transport Protocol)를 기반으로 플랫폼 서버에 요청을 전송할 수 있다; 호스트 서버와 플랫폼 서버 간의 보안 데이터 전송 채널은 플랫폼에서 자체 정의한 전송 계층 프로토콜을 사용하여 호스트 서버와 플랫폼 서버 간의 통신 보안의 프로토콜 및 기본 라이브러리를 제공할 수 있다. 그러나, 이 개시의 실시예는 자체 정의한 전송 계층 프로토콜의 사용을 강요하지 않으며, 보안 보증을 제공할 수 있는 임의의 통신 프로토콜이 이 개시의 실시예를 위해 사용될 수 있다는 것을 이해해야 한다.
하나의 실시예에서, S110 단계는 구체적으로 다음 단계를 포함할 수 있다.
S61 단계: 미리 구축된 보안 데이터 전송 채널을 통해 수신된 호스트 서버의 애플릿 패키지 획득 요청에 응답하여, 애플릿 패키지 획득 요청에서 암호화된 통신 내용을 획득한다; S62 단계: 통신 내용을 해독하고 호스트 서버의 클라이언트 식별자에 기반하여 호스트 서버의 신원 검증을 성공적으로 수행한 후, 통신 내용에서 애플릿의 식별자를 획득한다.
이 실시예에서, 호스트 서버가 플랫폼 서버에 애플릿 패키지를 요청하는 경우, 보안 데이터 전송 채널을 통해 애플릿의 appkey에 대응되는 openBundleId를 암호화해야 할 수 있다. 예를 들어, 상기 보안 데이터 전송 채널 구축 과정에서 생성된 플랫폼 서버와 호스트 서버 간의 대칭 암호화 통신을 위한 암호키를 사용하여 openBundleId를 암호화 및 해독하며, 호스트 서버 간 각각 대응되는 대칭 암호화 통신의 암호키는 다르고, 또한 각 호스트의 대칭 암호화 통신의 암호키는 플랫폼 서버에 저장되고 다른 호스트에 공개되지 않으므로, 각 호스트 서버에 대해, 대응되는 애플릿 패키지 획득 과정에서 보안 데이터 전송이 구현되고, 애플릿의 플랫폼 서버와 합법적 호스트 간의 효과적인 시스템 통신 및 정보 인터랙션이 보장된다.
하나의 실시예에서, S110 단계는 구체적으로 다음 단계를 더 포함할 수 있다.
S63 단계: 보안 데이터 전송 채널을 통해 수신된 호스트 서버의 애플릿 패키지 획득 요청에 응답하여, 애플릿 패키지 획득 요청에서 암호화된 통신 내용을 획득한다; S64 단계: 통신 내용을 해독하고 호스트 서버의 클라이언트 식별자에 기반하여 호스트 서버에 대한 신원 검증을 성공적으로 수행한 후, 통신 내용에서 애플릿의 식별자와 디지털 서명을 획득한다.
이 실시예에서, 호스트 서버가 플랫폼 서버에 애플릿 패키지를 요청하는 경우, 보안 데이터 전송 채널을 통해 애플릿의 appkey에 대응되는 openBundleId 및 디지털 서명을 암호화해야 한다. 이로 인해 각 호스트 서버에 대해, 대응되는 애플릿 패키지를 획득하는 과정에서 보안 데이터 전송 및 신원 인증이 구현되고, 애플릿의 플랫폼 서버와 합법적인 호스트 간의 효과적인 시스템 통신 및 정보 인터랙션이 보장된다.
실제 응용에서, 호스트 간 플랫폼 서버를 우회하여 프라이빗 블렌딩을 수행하여 애플릿 패키지를 획득하는 문제가 출현할 수 있다. 예를 들어, 호스트 법인의 배후자는 Zhang San이고 Zhang San은 A회사와 B회사라는 두 회사가 있고, 각각 호스트 서버 A와 호스트 서버 B에 대응되며, 호스트 서버 A와 호스트 서버 B는 프라이빗 블렌딩을 수행한다. 즉, 호스트 서버 B는 호스트 서버 A의 암호키 및 서명 인증서를 획득한 후 호스트 서버 A의 openBundleId, 암호키 및 서명 인증서를 사용하여 애플릿 정보 및 애플릿 패키지를 획득한다. 전술한 과정은 호스트 서버 A와 호스트 서버 B가 하나의 공통 계정을 통해 프라이빗 블렌딩을 수행하는 것으로 이해할 수 있다. 실제 응용 시나리오에서는, 원칙적으로 프라이빗 블렌딩의 동작을 허용하지 않는다. 이는 애플릿 플랫폼의 이익을 해치고 애플릿 제휴 생태계에 혼란을 야기할 수 있다.
전술한 상황을 고려하여, 이 개시는 호스트 서버 클라이언트 식별자 검출 및/또는 트래픽 모니터링 방법을 채택하여 처리를 수행할 수 있다.
하나의 실시예에서, S110 단계에서 호스트 서버의 애플릿 패키지 획득 요청을 수신한 후, 애플릿 패키지 전송 방법은 다음 단계를 더 포함할 수 있다: S71 단계: 현재 보안 데이터 전송 채널을 사용하고 있는 호스트 서버의 클라이언트 식별자가 플랫폼 서버에 저장된 보안 데이터 전송 채널 구축에 대응되는 호스트 서버의 클라이언트 식별자와 일치하지 않는 것이 모니터링되면, 현재 보안 데이터 전송 채널을 사용하고 있는 호스트 서버를 불법 호스트 서버로 결정한다; S72 단계: 불법 호스트 서버에 대해 차단 처리를 수행한다.
이 실시예에서, 호스트 서버는 다운로드된 애플릿을 실행하기 위해 애플릿 프레임워크를 필요로 하기 때문에, 애플릿 프레임워크를 통해 호스트 서버에 대한 모니터링 및 보고 메커니즘을 시작하여 불법적인 호스트 서버의 클라이언트 식별자에 대해 모니터링과 차단을 수행할 수 있다.
하나의 실시예에서, S120 단계에서 애플릿의 애플릿 패키지를 호스트 서버로 전송한 후, 방법은 다음을 더 포함한다:
S81 단계: 미리 정해진 시간 구간 동안 수신된 호스트 서버의 애플릿 패키지 획득 요청의 요청 횟수를 모니터링하여, 제1 요청 횟수의 모니터링 결과로 사용한다; S82 단계: 각 애플릿의 새로운 애플릿 패키지 식별자를 획득한 후, 미리 정해진 시간 구간 동안 수신된 요청 횟수를 계속 모니터링하여, 제2 요청 횟수의 모니터링 결과로 사용한다; S83 단계: 제1 요청 횟수의 모니터링 결과와 제2 요청 횟수의 모니터링 결과 간의 차이가 미리 정해진 요청 횟수의 임계 값을 초과하는 경우, 플랫폼 서버의 트래픽 비정상 정보를 획득한다.
전술한 S81-S83단계를 통해, 각 애플릿 패키지의 다운로드 횟수를 호스트 차원에 대해 모니터링하고, 또한 주기적으로 openBundleId를 교체하여 트래픽을 모니터링할 수 있다. openBundleId가 재발행 된 후, 호스트 서버는 새로운 openBundleId에 기반하여 애플릿 패키지 획득 요청을 다시 시작해야 하기 때문에, 프라이빗 블렌딩 상황을 처리하는 경우, 호스트 서버 A가 새로운 openBundleId와 자신의 계정을 호스트 서버 B로 전송하는데 일정 시간이 걸린다. 이 기간 동안, 플랫폼 서버에서 애플릿 패키지 획득 요청에 대응되는 트래픽이 크게 감소하는 것과 같이 변동되면, 제1 요청 횟수의 모니터링 결과와 제2 요청 횟수의 모니터링 결과 간의 차이가 미리 정해진 요청 횟수 임계 값을 초과하는 것으로 반영되므로, 현재 비정상 트래픽의 가능성이 높다고 판단할 수 있다.
하나의 실시예에서, 호스트 서버는 플랫폼 서버에 의해 미리 설정된 화이트리스트의 호스트 서버이고, 또한 호스트 서버의 애플릿 패키지 획득 요청에 대응되는 트래픽이 미리 정해진 트래픽 임계 범위 내에 있는 경우, S120 단계에서, 애플릿의 애플릿 패키지를 호스트 서버로 전송하는 것은 지정된 적어도 하나의 애플릿의 애플릿 패키지를 호스트 서버로 전송하는 것을 포함한다.
이 실시예에서, 플랫폼 서버에 대한 일부 호스트의 임시 액세스를 고려하여, 플랫폼 서버는 화이트리스트 및 트래픽 할당량을 구성하는 방식을 통해 기본적으로 제공될 수 있는 일부 애플릿 패키지를 획득하는 것을 허용하여, 일부 호스트의 임시 액세스 특성에 기반하여 애플릿 패키지 전송의 유연한 처리를 수행할 수 있다. 예를 들어, 애플릿 패키지 전송과 관련된 플랫폼 서버와 호스트 서버 간의 협업 실험 등과 같은 응용 시나리오에서 사용할 수 있다.
이하에서, 도 4를 통해, 이 개시의 예시적인 실시예에서 애플릿 정보 획득 및 애플릿 패키지 획득의 구체적인 과정을 설명한다.
도 4는 이 개시의 예시적인 실시예에서 시스템 프레임워크의 개략도이며, 도 4와 도 1에서 동일하거나 동등한 구조는 동일한 참조 번호를 사용한다. 도 4에서, 이 시스템 프레임워크는 호스트 서버(20), 플랫폼 서버(30), 내부 호스트 단말(40) 및 호스트 애플리케이션 단말(50)을 포함할 수 있다.
플랫폼 서버(30)가 제공하는 애플릿은 일정 갯수 이상의 제휴 파트너의 애플리케이션 프로그램에서 실행을 지원할 수 있으므로, 플랫폼 서버(30)에 의해 제공되는 애플릿이 실행 중에 의존하는 각 애플리케이션 프로그램을 제휴 호스트라고 칭할 수 있다.
일부 실시예에서, 호스트 서버(20)는 호스트 애플리케이션 단말(50)의 백그라운드 실행 서버이다. 호스트 애플리케이션 단말(50)에서 하나 이상의 호스트 애플리케이션을 실행할 수 있다. 예를 들어, 호스트 애플리케이션 1, 호스트 애플리케이션 2, …, 호스트 애플리케이션 n이며, n은 1보다 크거나 같은 정수이다.
예를 들어, 전술한 바와 같이, 호스트 애플리케이션은 소셜 애플리케이션, 지도 애플리케이션, 비디오 애플리케이션, 검색 및 리소스 애플리케이션 등일 수 있으며, 또는 무선 네트워크(WIFI) 핫스팟 획득 및 네트워크 연결 설정 애플리케이션일 수 있다.
일부 실시예에서, 호스트 애플리케이션 단말(50)은 또한 애플릿 SDK를 포함할 수 있고, 애플릿 SDK는 전송 계층 프로토콜 모듈을 통합할 수 있다. 예를 들어, 플랫폼에 의해 자체 정의된 전송 계층 프로토콜을 통합하여, 애플릿 패키지 획득 요청을 전송하기 전에 그 전송 계층 프로토콜을 통해 플랫폼 서버(30)와 보안 데이터 전송 채널을 구축하는데 사용된다.
일부 실시예에서, 플랫폼 서버(30)는 애플릿 정보 및 애플릿 패키지 다운로드를 위한 서버를 제공한다. 도 4에 도시된 바와 같이, 플랫폼 서버(30)는 채널 구축 모듈(31), 애플릿 발행 모듈(32), 정보 등록 모듈(33), 재료 발행 모듈(34), openBundleId 서비스 모듈(35), 패키지 다운로드 관리 모듈(36) 및 애플릿 서비스 모듈(37) 및 모니터링 서비스 모듈(38)을 포함할 수 있다.
도 4에 도시된 바와 같이, 하나의 실시예에서, 애플릿의 정보 배포 단계에서 플랫폼 서버(30)는 호스트 서버(20)의 정보 등록 요청에 응답하여, 정보 등록 모듈(33)을 통해, 호스트 서버(20)에 정보 등록 서비스를 제공하고, 호스트 서버(20)를 공식 사용자로 등록하여, 호스트 서버(20)가 공식 사용자의 신원을 통해 플랫폼 서버(30)와 보안 데이터 전송 채널을 구축하게 하고, 호스트 서버(20)로 애플릿 정보 획득 요청과 애플릿 패키지의 획득 요청을 전송할 수 있다.
하나의 실시예에서, 애플릿 정보 발행 단계에서 플랫폼 서버(30)는 호스트 서버(20)의 보안 데이터 전송 채널 구축 요청에 응답하며, 채널 구축 모듈(31)을 통해 플랫폼 서버(30)와 호스트 서버(20) 간에 보안 데이터 전송 채널을 구축하고, 또한 보안 데이터 전송 채널을 구축하는 과정에서 양방향 신원 인증을 수행할 수 있다.
이 실시예에서, 설명을 단순화하기 위해, 플랫폼 서버와 호스트 서버 간의 보안 데이터 전송 채널의 설정 과정은 전술한 실시예의 설명을 참조할 수 있으므로, 다시 반복하지 않는다.
하나의 실시예에서, 애플릿 정보 발행 단계에서, 플랫폼 서버(30)는 호스트 서버(20)의 애플릿 정보 획득 요청에 응답하여 openBundleId 서비스 모듈(35)을 통해 호스트 서버(20)로 전송할 애플릿의 애플릿 정보 목록을 생성하고, 또한 그 애플릿 정보 획득 요청을 전송한 호스트 서버(20)에 대해, 각 애플릿의 appkey에 대응되는 암호화된 openBundleId를 생성할 수 있다; 또한, 재료 발행 모듈(34)을 통해 애플릿 정보 목록 및 각 애플릿의 appkey에 대응되는 암호화된 openBundleId를 호스트 서버(20)로 전송할 수 있다.
이 실시예에서, openBundleId 서비스 모듈(35)은 미리 정해진 알고리즘을 통해 각 애플릿의 프로그램 식별자에 대응되는 암호화된 애플릿 패키지 식별자를 생성할 수 있다. 미리 정해진 알고리즘은 각 애플릿의 appkey와 대응되는 암호화된 openBundleId 의 식별자 대응 관계 및 암호화된 암호키 관계(Key와 암호키 관계)를 나타내는데 사용된다.
즉, openBundleId 서비스 모듈(35)은 호스트 서버에 기반하여 각 애플릿의 appkey에 대응되는 openBundleId를 개별적으로 생성하는데 사용될 수 있으며, 서로 다른 호스트 간의 동일한 애플릿의 appkey에 대응되는 openBundleId는 서로 다르다. 따라서, 이후에 재료 발행 모듈(34)을 통해 애플릿 정보가 발행될 때, 각 애플릿의 appkey는 대응되는 openBundleId로 대체된다.
하나의 실시예에서, 애플릿 정보 발행 단계에서, 호스트 서버에 의해 전송된 애플릿 정보 획득 요청에 응답하여, 재료 발행 모듈(34)은 적어도 하나의 애플릿 정보와 각 애플릿의 애플릿 패키지 식별자를 호스트 서버로 전송할 수 있다. 예를 들어, 적어도 하나의 애플릿 정보는 애플릿 이름, 애플릿 사진 및 애플릿 텍스트 소개 등과 같은 정보를 포함할 수 있다.
하나의 실시예에서, 애플릿 정보 발행 단계에서, 호스트 서버에 의해 전송된 애플릿 정보 획득 요청에 응답하여, 애플릿 발행 모듈(32)을 통해 구성 파일을 판독하여 애플릿이 참조하는 동적 라이브러리를 결정할 수 있으며, 또한 애플릿이 참조하는 동적 라이브러리를 호스트 서버(20)로 발행하여 다운로드할 수 있다.
하나의 실시예에서, 호스트 애플리케이션 단말은 또한 내부 호스트 단말(40), 즉 플랫폼 서버의 제공자 또는 애플릿의 개발자에 의해 제공되는 호스트 애플리케이션에 대응되는 클라이언트 단말을 포함할 수 있다. 도 4에 도시된 바와 같이, 예를 들어, 내부 호스트 단말(40)은 음악 재생 소프트웨어의 음악 콘텐츠 스퀘어 등과 같은 애플리케이션 콘텐츠 스퀘어 및 검색 추천 등의 응용 시나리오를 제공할 수 있으며, 이 개시의 실시예는 이를 특별히 제한하지 않는다. 내부 호스트 단말(40)이 제공할 수 있는 응용 시나리오는 실제 응용 요구에 따라 유연하게 조정될 수 있다.
하나의 실시예에서, 플랫폼 서버(30)의 애플릿 서비스 모듈(37)은 애플릿의 공유 링크를 제공하거나, 애플릿의 QR 코드를 제공하거나, 애플릿에 대한 추천 링크을 제공하는 것과 같은 지정된 애플릿 서비스를 제공하는데 사용될 수 있다.
하나의 실시예에서, 플랫폼 서버(30)의 패키지 다운로드 관리 모듈(36)은 권한 제어를 위해 사용될 수 있다. 예를 들어, 서로 다른 호스트 애플리케이션 단말에서 다운로드할 수 있는 애플릿 패키지가 서로 다르고, 또한 서로 다른 호스트 애플리케이션 단말에서 사용할 수 있는 애플릿 서비스가 서로 다르게 제어할 수 있다.
하나의 실시예에서, 사용자는 호스트 애플리케이션 단말(50)에서 실행되는 호스트 애플리케이션을 통해 플랫폼 서버(30)로 애플릿 패키지 획득 요청을 전송할 수 있으며, 애플릿 패키지 획득 요청은 미리 정해진 전송 계층 보안 통신 프로토콜 기반의 이미 구축된 보안 데이터 전송 채널을 통해 플랫폼 서버의 패키지 다운로드 관리 모듈(36)로 전송되는 요청이며, 그 요청은 openBundleId를 운반한다. 예시적으로, 그 요청은 또한 디지털 서명 인증서를 운반할 수 있다.
패키지 다운로드 관리 모듈(36)은 지원되는 보안 전송 계층 보안 통신 프로토콜을 통해 보안 데이터 전송 채널로부터 그 애플릿 패키지 획득 요청을 수신하고, 그 요청에 운반된 암호화된 정보를 해독하고, openBundleId를 획득하는데 사용된다; 식별자가 플랫폼 서버에서 미리 호스트 서버로 전송된 애플릿 패키지 식별자라는 것이 검증된 경우, 애플릿의 애플릿 패키지를 호스트 서버로 전송한다.
하나의 실시예에서, 요청이 디지털 서명 인증서를 운반하는 경우, 패키지 다운로드 관리 모듈(36)은 식별자가 플랫폼 서버에서 호스트 서버로 미리 전송된 애플릿 패키지 식별자라는 것이 검증되고, 또한 디지털 서명 인증서가 검증되면, 애플릿의 애플릿 패키지를 호스트 서버로 전송한다.
도 4에 도시된 바와 같이, 하나의 실시예에서, 플랫폼 서버(30)는 모니터링 서비스 모듈(38)을 통해 비정상 트래픽 모니터링 및 호스트 서버의 클라이언트 식별자에 대한 검사 서비스를 제공할 수 있다. 비정상 트래픽 모니터링 및 호스트 서버의 클라이언트 식별자에 대한 검사 서비스의 구체적인 과정에 대해서는, 전술한 실시예 S71-S72 단계에서 설명된 애플릿 패키지 발행 과정에서, 애플릿 프레임워크를 통해 호스트 서버에 대해 모니터링 및 보고 메커니즘 프로세스를 시작하고;또한, S81-S83 단계에서 설명된 호스트 서버의 호스트 애플리케이션이 전송한 애플릿 패키지 획득 요청의 트래픽을 통해 비정상 모니터링의 처리 과정을 수행하는 것을 참조할 수 있으므로, 이 개시의 실시예에서 반복 설명하지 않는다.
이 개시의 실시예의 애플릿 패키지 전송 방법에 기반하여, 각 호스트 서버에 대해 각 애플릿의 프로그램 식별자에 대응되는 애플릿 패키지 식별자를 별도로 생성할 수 있고, 또한 서로 다른 호스트 서버의 동일한 애플릿에 대해 전송되는 애플릿 패키지 식별자는 서로 다르므로, 호스트 서버별로 애플릿 패키지 다운로드의 권한 관리 및 제어를 강화할 수 있다.
요청에 운반된 디지털 서명 인증서를 검증하여 디지털 서명 인증서가 성공적으로 검증된 경우, 애플릿의 애플릿 패키지를 호스트 서버로 전송하고, 신원 검증을 통해 애플릿 패키지 획득 요청에 운반된 openBundleId의 합법성을 검증하여, 애플릿 패키지 전송 과정의 보안성을 향상시킨다.
플랫폼 서버와 호스트 서버 간에 보안 데이터 전송 채널을 구축하고, 또한 보안 데이터 전송 채널을 구축하는 과정에서 양방향 신원 인증을 수행하며, 또한 호스트의 신원 식별자를 패키징하여, 어떤 호스트 서버가 다른 호스트의 정보를 훔쳐 애플릿 패키지를 요청하는 것을 방지하여, 애플릿 패키지의 다운로드에 대한 보안을 보장한다.
호스트 서버 클라이언트 식별자 검출 및 트래픽 모니터링을 통해 플랫폼 서버를 우회하는 호스트 간의 프라이빗 블렌딩 상황을 효과적으로 모니터링하여, 애플릿의 플랫폼 서버와 합법적 호스트 간의 효과적인 시스템 통신 및 정보 인터랙션을 보장할 수 있다.
전술한 이 개시의 실시예에서 설명한 애플릿 패키지 전송 방법에 따라, 애플릿 패키지를 배포하는 과정에서 호스트의 부정 행위, 신원 사칭, 권한 제어 등의 문제를 해결하고, 애플릿의 호스트 배포 생태계를 표준화하기 위해 완전한 요청 배포 방안을 제공할 수 있다. 이 개시의 애플릿 패키지 전송 방법을 통해 호스트와 애플릿이 바이두 애플릿 플랫폼을 효과적으로 둘러싸, 부정 행위를 통해 애플릿 패키지를 획득하는 임계 값을 높일 수 있으므로, 애플릿의 상업적 이점의 안전성을 보장하며, 제휴 생태계의 건설에 중요한 역할을 한다.
도 5는 이 개시의 실시예에 의해 제공되는 애플릿 패키지 전송 장치의 블록도이다. 제2 양태에서, 도 5를 참조하면, 이 개시의 실시예는 애플릿 패키지 전송 장치를 제공하며, 이 장치는 다음과 같은 모듈을 포함할 수 있다:
패키지 획득 요청 수신 모듈(510)은 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하는데 사용된다.
애플릿 패키지 전송 모듈(520)은 식별자가 플랫폼 서버에서 호스트 서버로 미리 전송된 애플릿 패키지 식별자라는 것이 검증된 경우, 애플릿의 애플릿 패키지를 호스트 서버로 전송하는데 사용된다; 그 중에서, 서로 다른 호스트 서버의 동일한 애플릿에 대해 전송되는 애플릿 패키지 식별자는 서로 다르다.
이 개시의 실시예의 애플릿 패키지 전송 장치에 따라, 호스트 서버의 애플릿 패키지 획득 요청을 수신한 후, 플랫폼 서버는 애플릿 패키지 획득 요청에서 그 요청 중의 애플릿의 식별자를 획득하고, 그 식별자가 플랫폼 서버에서 호스트 서버로 미리 전송된 애플릿 패키지 식별자인지 검증한 후에만 애플릿의 애플릿 패키지를 호스트 서버로 전송하여, 다른 호스트 서버 간 애플릿의 애플릿 패키지 식별자를 통해, 권한 관리 및 제어를 강화하는 효과를 달성하고, 애플릿 패키지 전송 과정에서 보안 관리 및 제어를 개선한다.
일부 실시예에서, 애플릿 패키지 전송 장치는 다음을 더 포함할 수 있다: 정보 획득 요청 수신 모듈은 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여, 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하기 전에, 호스트 서버로부터의 애플릿 정보 획득 요청에 응답하여, 적어도 하나의 애플릿의 애플릿 정보 및 대응되는 프로그램 식별자를 획득하는데 사용된다; 애플릿 패키지 식별자 생성 모듈은 상기 애플릿의 프로그램 식별자에 기반하여 애플릿 패키지 식별자를 생성하는데 사용된다. 그 중에서, 각 애플릿의 프로그램 식별자는 하나의 상기 애플릿 패키지 식별자에 대응하고, 또한 서로 다른 호스트 서버에 의해 생성된 동일한 애플릿에 대한 애플릿 패키지 식별자는 서로 다르다; 애플릿 패키지 식별자 전송 모듈은 적어도 하나의 애플릿 정보와 각 애플릿의 애플릿 패키지 식별자를 호스트 서버로 전송하는데 사용된다.
일부 실시예에서, 전송된 애플릿 패키지 식별자는 암호화된 애플릿 패키지 식별자이고; 애플릿 패키지 전송 장치는 다음을 더 포함할 수 있다: 애플릿 패키지 식별자 암호화 모듈은 애플릿의 프로그램 식별자에 기반하여 애플릿 패키지 식별자를 생성한 후, 미리 정해진 암호키를 사용하여 각 애플릿의 애플릿 패키지 식별자를 암호화하여, 암호화된 애플릿 패키지 식별자를 획득하는데 사용된다; 그 중에서, 각 호스트 서버에 대해 미리 정해진 암호키는 서로 다르고, 각 호스트 서버의 미리 정해진 암호키는 플랫폼 서버에 저장되고, 호스트 서버의 미리 정해진 암호키는 공개되지 않는다.
일부 실시예에서, 전송된 애플릿 패키지 식별자는 유효 상태의 애플릿 패키지 식별자이고; 애플릿 패키지 전송 장치는 다음을 더 포함할 수 있다: 애플릿 패키지 식별자 업데이트 모듈은 무효 처리 조건을 충족하는 애플릿 패키지 식별자를 위해 대응되는 새로운 애플릿 패키지 식별자를 생성하여 각 애플릿의 새로운 애플릿 패키지 식별자를 얻는데 사용된다; 무효 상태 설정 모듈은 새로운 애플릿 패키지 식별자의 유효 상태를 설정하고, 또한 무효 처리 조건을 충족하는 애플릿 패키지 식별자를 무효 상태로 설정하는데 사용된다; 그 중에서, 무효 처리 조건은: 애플릿 패키지 식별자의 생성 시간이 현재 시간으로부터 미리 설정된 유효 기간을 초과하고, 플랫폼 서버의 서버 정보가 변경되고, 그리고 플랫폼 서버의 사전 설정 트래픽의 비정상 정보가 모니터링되는 항목 중 적어도 하나를 포함한다:
일부 실시예에서, 애플릿 패키지 전송 장치는 다음을 더 포함할 수 있다: 전환 시간 길이 결정 모듈은 상기 무효 처리 조건을 충족하는 애플릿 패키지 식별자를 무효 상태로 설정하기 전에, 현재 시간으로부터 대응되는 새로운 애플릿 패키지 식별자를 생성하는 사이의 시간 간격 길이가, 미리 정해진 전환 시간 길이에 도달하는 것을 결정하는데 사용된다.
일부 실시예에서, 애플릿 패키지 전송 장치는 다음을 더 포함할 수 있다: 애플리케이션 식별자 생성 모듈은 상기 무효 처리 조건을 충족하는 애플릿 패키지 식별자를 무효 상태로 설정한 후, 각 애플릿의 애플릿 패키지 식별자에 기반하여 대응되는 애플리케이션 식별자를 생성하는데 사용되며, 그 중에서, 동일한 프로그램 식별자에 대응되는 서로 다른 애플릿 패키지 식별자는 동일한 애플리케이션 식별자를 갖는다.
이 실시예에서, 애플릿 패키지 식별자 전송 모듈은 구체적으로 적어도 하나의 애플릿 정보, 각 애플릿의 애플릿 패키지 식별자 및 각 애플릿의 애플릿 패키지 식별자에 대응되는 애플리케이션 식별자를 호스트 서버로 전송하는데 사용된다.
일부 실시예에서, 애플릿 패키지 전송 장치는 다음을 더 포함할 수 있다: 디지털 서명 인증서 획득 모듈은 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득한 후, 애플릿 패키지 획득 요청에서 디지털 서명 인증서를 획득하는데 사용된다; 디지털 서명 인증서 검증 모듈은 플랫폼 서버에 의해 미리 저장된 호스트 서버의 비대칭 암호화 개인키를 사용하여 디지털 서명 인증서를 검증하는데 사용된다; 애플릿 패키지 전송 모듈(520)은 디지털 서명 인증서가 성공적으로 검증된 경우, 애플릿의 애플릿 패키지를 상기 호스트 서버로 전송하는데 사용된다.
일부 실시예에서, 애플릿 패키지 전송 장치는 다음을 더 포함할 수 있다: 신원 인증 모듈은 호스트 서버로부터의 애플릿 패키지 획득 요청에 대한 응답으로 애플릿 패키지 획득 요청에서 애플릿 식별자를 획득하기 전에, 호스트 서버의 데이터 채널 구축 요청에 응답하고, 플랫폼 서버와 호스트 서버 간의 양방향 신원 인증을 수행하는데 사용된다; 클라이언트 식별자 저장 모듈은 양방향 신원 인증이 통과된 경우 호스트 서버의 클라이언트 식별자를 저장하고, 또한 플랫폼 서버와 호스트 서버 간의 보안 데이터 전송 채널을 구축하는데 사용된다; 그 중에서, 클라이언트 식별자는 호스트 서버를 고유하게 식별하는데 사용되며, 또한 호스트 서버의 클라이언트 식별자는 플랫폼 서버의 소프트웨어 개발 암호키트 SDK의 폐쇄 소스 부분에 저장된다.
일부 실시예에서, 패키지 획득 요청 수신 모듈(510)은 구체적으로 보안 데이터 전송 채널을 통해 호스트 서버의 수신된 애플릿 패키지 획득 요청에 응답하여 애플릿 패키지 획득 요청에서 암호화된 통신 내용을 획득하도록 구성된다; 통신 내용이 해독되고 호스트 서버의 클라이언트 식별자에 기반하여 호스트 서버에 대해 신원 검증이 성공되면 통신 내용에서 애플릿의 식별자를 획득한다.
일부 실시예에서, 애플릿 패키지 전송 장치는 다음을 더 포함할 수 있다: 호스트 서버 모니터링 모듈은 호스트 서버로부터의 애플릿 패키지 획득 요청을 수신한 후 현재 보안 데이터 전송 채널을 사용하는 호스트 서버의 클라이언트 식별자를 모니터링하는데 사용되며, 플랫폼 서버에 저장된 보안 데이터 전송 채널 구축에 대응되는 호스트 서버의 클라이언트 식별자와 일치하지 않는 경우, 현재 보안 데이터 전송 채널을 사용하는 호스트 서버를 불법 호스트 서버로 결정한다. 차단 처리 모듈은 불법 호스트 서버에 대해 차단 처리를 수행하는데 사용된다.
일부 실시예에서, 애플릿 패키지 전송 장치는 다음을 더 포함할 수 있다: 제1 트래픽 모니터링 모듈은 애플릿의 애플릿 패키지가 호스트 서버로 전송된 후 미리 정해진 시간 구간 동안 수신된 호스트 서버의 애플릿 패키지 획득 요청의 요청 횟수를 모니터링하여, 제1 요청 횟수의 모니터링 결과로 사용한다; 제2 트래픽 모니터링 모듈은 각 애플릿의 새로운 애플릿 패키지 식별자를 획득한 후 미리 정해진 시간 구간 동안 수신된 요청 횟수를 계속 모니터링하여, 제2 요청 횟수의 모니터링 결과로 사용한다; 트래픽 비정상 정보 결정 모듈은 제1 요청 횟수의 모니터링 결과와 제2 요청 횟수의 모니터링 결과 간의 차이가 미리 정해진 요청 횟수의 임계 값을 초과하면 플랫폼 서버의 비정상 트래픽 정보를 획득하는데 사용된다.
일부 실시예에서, 호스트 서버는 플랫폼 서버에 의해 미리 설정된 화이트리스트의 호스트 서버이고, 호스트 서버의 애플릿 패키지 획득 요청에 대응되는 트래픽은 미리 정해진 트래픽 임계 값 범위 내에 있다; 애플릿 패키지 전송 모듈(520)은 구체적으로 지정된 적어도 하나의 애플릿의 애플릿 패키지를 호스트 서버로 전송하도록 구성된다.
전술한 이 개시의 실시예에서 설명한 애플릿 패키지 전송 장치에 따르면, 애플릿 패키지를 배포하는 과정에서 호스트의 부정 행위, 신원 사칭, 권한 제어 등의 문제를 해결하고, 애플릿의 호스트 배포 생태계를 표준화하기 위해 완전한 요청 배포 방안을 제공할 수 있다. 이 개시의 애플릿 패키지 전송 장치를 통해 호스트와 애플릿으로 바이두 애플릿 플랫폼을 효과적으로 둘러싸, 부정 행위를 통해 애플릿 패키지를 획득하는 임계 값을 높일 수 있으므로, 애플릿의 상업적 이점의 안전성을 보장하며, 제휴 생태계의 건설에 중요한 역할을 한다.
이 개시는 상기 실시예에서 설명되고 도면에 도시된 특정 구성 및 처리에 제한되지 않음을 유의해야 한다. 설명의 편의와 간결함을 위해, 여기에 공지된 방법에 대한 자세한 설명은 생략하며, 전술한 시스템, 모듈, 유닛의 구체적인 작업 과정은 전술한 방법 실시예 중의 대응되는 과정을 참조할 수 있으므로, 여기서 반복 설명하지 않는다.
도 6은 이 개시의 실시예에 의해 제공되는 전자 기기의 구성 블록도를 도시한다. 제3 양태에서, 도 6을 참조하면, 이 개시의 하나의 실시예는 다음을 포함하는 전자 기기를 제공한다: 하나 이상의 프로세서(601); 메모리(602)는 그 위에 하나 이상의 프로그램을 저장하고, 하나 이상의 프로그램이 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서는 전술한 애플릿 패키지 전송 방법 중 어느 하나를 구현한다; 하나 이상의 I/O 인터페이스(603)는 프로세서와 메모리 사이에 연결되고, 프로세서와 메모리 사이의 정보 인터랙션을 구현하도록 구성된다.
그 중에서, 프로세서(601)는 데이터 처리 능력을 가진 장치이고, 이는 중앙 처리 장치(CPU) 등을 포함하지만, 이에 제한되지는 않는다; 메모리(602)는 데이터 저장 기능을 가진 장치이며, 이는 랜덤 액세스 메모리(RAM, 보다 구체적으로는 SDRAM, DDR 등), 읽기 전용 메모리(ROM), 전기적으로 소거 가능 프로그래머블 읽기 전용 메모리(EEPROM), 플래시 메모리(FLASH)를 포함하지만, 이에 제한되지는 않는다; I/O 인터페이스(읽기-쓰기 인터페이스)(603)는 프로세서(601)와 메모리(602) 사이에 연결되어, 프로세서(601)와 메모리(602) 사이의 정보 인터랙션을 구현할 수 있으며, 이는 데이터 버스(Bus) 등을 포함하지만, 이에 제한되지는 않는다.
일부 실시예에서, 프로세서(601), 메모리(602) 및 I/O 인터페이스(603)는 버스를 통해 서로 연결되고, 컴퓨팅 장치의 다른 구성 요소에 추가로 연결된다.
일부 실시예에서, 전자 기기는 애플릿 플랫폼의 플랫폼 서버로 구현될 수 있으며, 플랫폼 서버는 다음을 포함할 수 있다: 메모리는 프로그램을 저장하도록 구성되고; 프로세서는 메모리에 저장된 프로그램을 실행하여 도 1 내지 도 5를 참조하여 설명된 실시예에서 설명된 애플릿 패키지 전송 방법을 실행하도록 구성된다.
일부 실시예에서, 플랫폼 서버는 클라우드 서버일 수 있고, 도 1 내지 도 5를 참조하여 설명된 실시예에서 설명된 애플릿 패키지 전송 방법은 클라우드 서버에 기반하여 수행되는 클라우드 컴퓨팅일 수 있다.
이 개시의 실시예에서, 인공 지능은 컴퓨터를 사용하여 특정 인간의 사고 과정과 지능적 행동(예들 들어, 학습, 추론, 계획, 계획 등)을 시뮬레이션하는 것을 연구하는 학문이며, 하드웨어 수준의 기술과 소프트웨어 수준의 기술을 모두 포함한다. 인공 지능 하드웨어 기술에는 일반적으로 센서, 전용 인공 지능 칩, 클라우드 컴퓨팅, 분산 스토리지 및 빅데이터 처리 등과 같은 기술이 포함된다; 인공 지능 소프트웨어 기술에는 컴퓨터 비전 기술, 음성 인식 기술, 자연어 처리 기술, 기계 학습/딥 러닝, 빅데이터 처리 기술, 지식 그래프 기술 등 기타 주요 방향이 포함된다.
도 7은 이 개시의 실시예에 의해 제공되는 컴퓨터 판독 가능 매체의 구성 블록도를 도시한다. 제4 양태에서, 도 7을 참조하면, 이 개시의 실시예는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 매체를 제공하며, 프로그램이 프로세서에 의해 실행될 때 전술한 애플릿 패키지 전송 방법 중 어느 하나가 구현된다.
이 분야의 기술자는 위에서 공개된 방법 중의 전부 또는 일부 단계와, 시스템 및 장치 중의 기능 모듈/유닛이 소프트웨어, 펌웨어, 하드웨어 및 이들의 적절한 조합으로 구현될 수 있음을 이해할 수 있다. 하드웨어 구현에서, 위 설명에서 언급된 기능 모듈/유닛 간의 구분은 반드시 물리적 구성 요소의 구분과 일치하지는 것은 아니다; 예를 들어, 하나의 물리적 구성 요소는 여러 기능을 가질 수 있거나 하나의 기능 또는 단계가 여러 물리적 구성 요소의 협력에 의해 실행될 수 있다. 일부 물리적 구성 요소 또는 모든 물리적 구성 요소는 중앙 처리 장치, 디지털 신호 프로세서 또는 마이크로 프로세서와 같은 프로세서에 의해 실행되는 소프트웨어로 구현되거나, 하드웨어로 구현되거나 또는 전용 집적 회로와 같은 집적 회로로 구현될 수 있다. 이러한 소프트웨어는 컴퓨터 판독 가능 매체에 배포될 수 있으며, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체(또는 비 일시적 매체) 및 통신 매체(또는 일시적인 매체)를 포함할 수 있다. 이 분야의 기술자에게 잘 알려진 바와 같이, 컴퓨터 저장 매체는 정보(예를 들면, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타데이터)를 저장하기 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성,이동식 및 비 이동식 매체를 포함한다. 컴퓨터 저장 매체에는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다용도 디스크(DVD) 또는 기타 광 디스크 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용되며 컴퓨터에서 액세스 할 수 있는 기타 모든 매체를 포함되지만, 이에 제한되지는 않는다. 또한, 이 분야의 기술자에게 잘 알려진 바와 같이, 통신 매체는 일반적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 반송파 또는 기타 전송 메커니즘과 같은 변조된 데이터 신호의 기타데이터를 포함하고, 또한 임의의 정보 전달 매체를 포함할 수 있다.
이 개시의 실시예는 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램을 제공하며, 프로세서에 의해 실행될 때 전술한 어느 하나의 애플릿 패키지 전송 방법을 구현한다.
이 개시의 방법을 구현하기 위한 컴퓨터 프로그램은 하나 이상의 프로그래밍 언어의 임의의 결합으로 작성될 수 있다. 이러한 프로그램 프로그램은 범용 컴퓨터, 전용 컴퓨터 또는 기타 프로그램 가능 데이터 처리 장치의 프로세서 또는 컨트롤러에 제공될 수 있으므로 컴퓨터 프로그램이 프로세서 또는 컨트롤러에 의해 실행될 때 순서도 및/또는 블록 다이어그램에 지정된 기능/작업이 구현된다. 컴퓨터 프로그램은 전체적으로 기기에서 실행되거나, 부분적으로 기기에서 실행되고, 독립 소프트웨어 패키지로서 부분적으로 기기에서 실행되고 부분적으로 원격 기기에서 실행되며, 또는 전체적으로 원격 기기 또는 서버에서 실행될 수 있다.
이 명세서에는 예시적인 실시예가 공개되고, 특정 용어가 채택되었지만, 이들은 단지 일반적인 설명적 의미로만 사용되고 해석되어야 하며, 제한적인 목적으로 사용되지는 않는다. 일부 실시예에서, 달리 명확하게 지시되지 않는 한, 특정 실시예와 결합하여 설명된 특징, 특성 및/또는 요소가 단독으로 사용될 수 있거나, 다른 실시예와 결합하여 설명된 특징, 특성 및/또는 요소의 조합이 사용될 수 있다는 것은 이 분야의 기술자에게 명백하다. 따라서, 이 분야의 기술자는 청구 범위에 의해 제시된 이 개시 내용의 범위를 벗어나지 않고 형태 및 세부 사항의 다양한 변경이 이루어질 수 있음을 이해할 수 있을 것이다.

Claims (16)

  1. 플랫폼 서버에 적용된 애플릿 패키지 전송 방법으로서,
    호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여, 상기 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하며; 그리고
    상기 식별자가 상기 플랫폼 서버에서 상기 호스트 서버로 미리 전송된 애플릿 패키지 식별자라는 것이 검증된 경우, 상기 애플릿의 애플릿 패키지를 상기 호스트 서버로 전송하는-여기서, 서로 다른 호스트 서버의 동일한 애플릿에 대해 전송되는 애플릿 패키지 식별자는 서로 다름-; 것을 포함하는, 애플릿 패키지 전송 방법.
  2. 청구항 1에 있어서, 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여, 상기 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하기 전에, 상기 방법은:
    호스트 서버로부터의 애플릿 정보 획득 요청에 응답하여, 적어도 하나의 애플릿의 애플릿 정보 및 대응되는 애플릿 키를 획득하며;
    상기 애플릿의 애플릿 키에 기반하여 애플릿 패키지 식별자를 생성하고, 그 중에서, 각 애플릿의 애플릿 키는 하나의 상기 애플릿 패키지 식별자에 대응되며, 또한 서로 다른 호스트 서버에 의해 생성된 동일한 애플릿에 대한 애플릿 패키지 식별자는 서로 다르며; 그리고
    상기 적어도 하나의 애플릿의 애플릿 정보와 상기 애플릿 패키지 식별자를 상기 호스트 서버로 전송하는 것을 더 포함하는, 애플릿 패키지 전송 방법.
  3. 청구항 2에 있어서, 전송된 애플릿 패키지 식별자는 암호화된 애플릿 패키지 식별자이고;
    그 중에서, 상기 애플릿의 애플릿 키에 기반하여 애플릿 패키지 식별자를 생성한 이후에, 상기 방법은:
    미리 정해진 키를 사용하여 상기 각 애플릿의 애플릿 패키지 식별자를 암호화하여 암호화된 애플릿 패키지 식별자를 획득하는 것을 더 포함하며;
    그 중에서, 상기 호스트 서버에 대응하는 미리 정해진 키는 또 다른 호스트 서버에 대응하는 미리 정해진 키와 다르고, 상기 호스트 서버의 미리 정해진 키는 플랫폼 서버에 저장되며, 또한 상기 호스트 서버의 미리 정해진 키는 공개 상태가 아닌, 애플릿 패키지 전송 방법.
  4. 청구항 2에 있어서, 전송된 애플릿 패키지 식별자는 유효한 상태의 애플릿 패키지 식별자이고;
    그 중에서, 상기 애플릿의 애플릿 키에 기반하여 애플릿 패키지 식별자를 생성하는 단계 이후에, 상기 방법은:
    무효 처리 조건을 충족하는 애플릿 패키지 식별자에 대한 새로운 애플릿 패키지 식별자를 생성하여, 각 애플릿에 대한 새로운 애플릿 패키지 식별자를 획득하고; 그리고
    상기 새로운 애플릿 패키지 식별자를 유효 상태로 설정하고, 또한 상기 무효 처리 조건을 충족하는 애플릿 패키지 식별자를 무효 상태로 설정하는 것을 더 포함하며,
    그 중에서, 상기 무효 처리 조건은: 애플릿 패키지 식별자의 생성 시간이 현재 시간으로부터 미리 설정된 유효 기간을 초과하거나, 상기 플랫폼 서버의 서버 정보가 변경되거나, 그리고 상기 플랫폼 서버의 미리 정해진 트래픽의 비정상 정보가 모니터링되는 항목 중 적어도 하나를 포함하는, 애플릿 패키지 전송 방법.
  5. 청구항 4에 있어서, 상기 무효 처리 조건을 충족하는 애플릿 패키지 식별자를 무효 상태로 설정하기 전에, 상기 방법은:
    현재 시간과 상기 새로운 애플릿 패키지 식별자가 생성되는 시점 사이의 시간 간격 길이가, 미리 정해진 전환 시간 길이에 도달하는 것을 결정하는 것을 더 포함하는, 애플릿 패키지 전송 방법.
  6. 청구항 4에 있어서, 무효 처리 조건을 충족하는 애플릿 패키지 식별자에 대한 새로운 애플릿 패키지 식별자를 생성한 후, 상기 방법은:
    각 애플릿의 애플릿 패키지 식별자에 기반하여 대응되는 애플리케이션 식별자를 생성하는 것을 더 포함하고, 그 중에서, 서로 다른 시간에 생성된 동일한 애플릿 키에 대응되는 애플릿 패키지 식별자는 동일한 애플리케이션 식별자를 갖고;
    그 중에서, 상기 적어도 하나의 애플릿의 애플릿 정보와 상기 애플릿 패키지 식별자를 상기 호스트 서버로 전송하는 것은:
    상기 적어도 하나의 애플릿의 애플릿 정보, 각 애플릿의 애플릿 패키지 식별자 및 대응되는 애플리케이션 식별자를 상기 호스트 서버로 전송하는 것을 포함하는, 애플릿 패키지 전송 방법.
  7. 청구항 1에 있어서, 상기 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하는 단계 이후에, 상기 방법은:
    상기 애플릿 패키지 획득 요청에서 디지털 서명 인증서를 획득하는 것을 더 포함하며,
    그 중에서, 상기 애플릿의 애플릿 패키지를 상기 호스트 서버로 전송하는 것은:
    플랫폼 서버에 미리 저장된 상기 호스트 서버의 비대칭 암호화 개인키를 사용하여 상기 디지털 서명 인증서를 검증하고, 상기 디지털 서명 인증서가 성공적으로 검증되면, 상기 애플릿의 애플릿 패키지를 상기 호스트 서버로 전송하는 것을 포함하는, 애플릿 패키지 전송 방법.
  8. 청구항 1에 있어서, 상기 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여, 상기 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하는 것은:
    미리 구축된 보안 데이터 전송 채널을 통해 수신된 호스트 서버의 애플릿 패키지 획득 요청에 응답하여, 상기 애플릿 패키지 획득 요청에서 암호화된 통신 내용을 획득하며; 그리고
    상기 암호화된 통신 내용을 해독하고 또한 상기 호스트 서버의 클라이언트 식별자에 기반하여 상기 호스트 서버의 신원 검증을 성공적으로 수행한 후, 상기 암호화된 통신 내용에서 애플릿의 식별자를 획득하는 것을 포함하는, 애플릿 패키지 전송 방법.
  9. 청구항 8에 있어서, 상기 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여, 상기 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하는 것은:
    현재 보안 데이터 전송 채널을 사용하고 있는 호스트 서버의 클라이언트 식별자가 상기 플랫폼 서버에 저장된 상기 보안 데이터 전송 채널 구축에 대응되는 호스트 서버의 클라이언트 식별자와 일치하지 않는 것이 모니터링되면, 현재 상기 보안 데이터 전송 채널을 사용하고 있는 호스트 서버를 불법 호스트 서버로 결정하며; 그리고
    상기 불법 호스트 서버에 대해 차단 처리를 수행하는 것을 더 포함하는, 애플릿 패키지 전송 방법.
  10. 청구항 1에 있어서, 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여, 상기 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하기 전에, 상기 방법은:
    상기 호스트 서버의 데이터 채널 구축 요청에 응답하여, 상기 플랫폼 서버와 상기 호스트 서버 간의 양방향 신원 인증을 수행하고; 그리고
    상기 양방향 신원 인증을 통과한 경우, 상기 호스트 서버의 클라이언트 식별자를 저장하고, 또한 상기 플랫폼 서버와 상기 호스트 서버 간에 보안 데이터 전송 채널을 구축하는 것을 더 포함하며;
    그 중에서, 상기 클라이언트 식별자는 상기 호스트 서버를 고유하게 식별하는데 사용되며, 또한 상기 호스트 서버의 클라이언트 식별자는 상기 플랫폼 서버의 소프트웨어 개발 키트(SDK)의 폐쇄 소스 부분에 저장되는, 애플릿 패키지 전송 방법.
  11. 청구항 4 내지 청구항 6 중 어느 한 항에 있어서, 상기 애플릿의 애플릿 패키지를 상기 호스트 서버로 전송한 후에, 상기 방법은:
    미리 정해진 시간 구간 동안 수신된 상기 호스트 서버의 애플릿 패키지 획득 요청의 요청 횟수를 제1 요청 횟수의 모니터링 결과로서 모니터링하고;
    각 애플릿의 상기 새로운 애플릿 패키지 식별자를 획득한 후, 상기 미리 정해진 시간 구간 동안의 상기 애플릿 패키지 획득 요청의 상기 요청 횟수를 제2 요청 횟수의 모니터링 결과로서 계속 모니터링하며; 그리고
    상기 제1 요청 횟수의 모니터링 결과와 제2 요청 횟수의 모니터링 결과 간의 차이가 미리 정해진 요청 횟수의 임계 값을 초과하는 경우, 상기 플랫폼 서버의 트래픽 비정상 정보를 획득하는 것을 더 포함하는, 애플릿 패키지 전송 방법.
  12. 청구항 1 내지 청구항 9 중 어느 한 항에 있어서, 상기 호스트 서버는 상기 플랫폼 서버에 의해 미리 설정된 화이트리스트의 호스트 서버이고, 또한 상기 호스트 서버의 애플릿 패키지 획득 요청에 대응되는 트래픽이 미리 정해진 트래픽 임계 범위 내에 있으며;
    그 중에서, 상기 애플릿의 애플릿 패키지를 상기 호스트 서버로 전송하는 것은: 지정된 적어도 하나의 애플릿의 애플릿 패키지를 상기 호스트 서버로 전송하는 것을 포함하는, 애플릿 패키지 전송 방법.
  13. 호스트 서버로부터의 애플릿 패키지 획득 요청에 응답하여 상기 애플릿 패키지 획득 요청에서 애플릿의 식별자를 획득하도록 구성되는, 애플릿 패키지 획득 요청 수신 모듈; 그리고
    상기 애플릿의 식별자가 플랫폼 서버에서 상기 호스트 서버로 미리 전송된 애플릿 패키지 식별자라는 것이 검증된 경우, 상기 애플릿의 애플릿 패키지를 상기 호스트 서버로 전송하도록 구성되는, 애플릿 패키지 전송 모듈;을 포함하고,
    그 중에서, 서로 다른 호스트 서버의 동일한 애플릿에 대해 전송되는 애플릿 패키지 식별자는 서로 다른, 애플릿 패키지 전송 장치.
  14. 하나 이상의 프로세서;
    메모리 - 상기 메모리는 하나 이상의 프로그램을 저장하고, 상기 하나 이상의 프로그램이 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서는 청구항 1의 상기 애플릿 패키지 전송 방법을 구현함 - ;
    상기 하나 이상의 프로세서와 메모리 사이에 연결되고, 상기 하나 이상의 프로세서와 상기 메모리 사이의 정보 인터랙션을 구현하도록 구성되는 하나 이상의 I/O 인터페이스를 포함하는, 전자 기기.
  15. 컴퓨터 저장 매체로서,
    상기 컴퓨터 저장 매체는 컴퓨터 프로그램이 저장되며, 상기 컴퓨터 프로그램이 프로세서에 의해 실행될 때, 상기 프로세서는 청구항 1의 상기 애플릿 패키지 전송 방법을 구현하는, 컴퓨터 저장 매체.
  16. 프로세서에 의해 실행될 때 상기 프로세서는 청구항 1의 상기 애플릿 패키지 전송 방법을 구현하는, 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램.
KR1020210017792A 2020-09-28 2021-02-08 애플릿 패키지 전송 방법, 장치, 전자 기기, 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램 KR102468823B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011041926.7A CN112148345B (zh) 2020-09-28 2020-09-28 小程序包发送方法、装置、电子设备和计算机可读介质
CN202011041926.7 2020-09-28

Publications (2)

Publication Number Publication Date
KR20220042992A KR20220042992A (ko) 2022-04-05
KR102468823B1 true KR102468823B1 (ko) 2022-11-21

Family

ID=73895781

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210017792A KR102468823B1 (ko) 2020-09-28 2021-02-08 애플릿 패키지 전송 방법, 장치, 전자 기기, 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램

Country Status (5)

Country Link
US (1) US20220100485A1 (ko)
EP (1) EP3975015B9 (ko)
JP (1) JP7191999B2 (ko)
KR (1) KR102468823B1 (ko)
CN (1) CN112148345B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113157349B (zh) * 2021-05-24 2024-06-18 抖音视界有限公司 应用运行方法、桌面应用生成方法、设备、服务器及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200218429A1 (en) 2019-01-04 2020-07-09 Citrix Systems, Inc. Application Publishing in a Virtualized Environment

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694546A (en) * 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US20030154376A1 (en) * 2001-02-05 2003-08-14 Yeoul Hwangbo Optical storage medium for storing, a public key infrastructure (pki)-based private key and certificate, a method and system for issuing the same and a method for using
JP4642023B2 (ja) * 2004-03-31 2011-03-02 パナソニック株式会社 受信装置、送出装置、セキュリティモジュール、及びデジタル権利管理システム
US10180809B2 (en) * 2006-05-17 2019-01-15 Richard Fetik Secure application acceleration system, methods and apparatus
CN100502462C (zh) * 2006-12-01 2009-06-17 北京东方广视科技有限责任公司 智能卡在线升级的方法
JP5173855B2 (ja) * 2009-01-09 2013-04-03 日本放送協会 ネットワーク制御装置およびコンピュータプログラム
US9253034B1 (en) * 2009-06-01 2016-02-02 Juniper Networks, Inc. Mass activation of network devices
US8346847B2 (en) * 2009-06-03 2013-01-01 Apple Inc. Installing applications based on a seed application from a separate device
US20160301699A1 (en) * 2013-11-29 2016-10-13 Huawei Device Co., Ltd Installation package authorization method and apparatus
EP3048553B1 (en) * 2015-01-22 2019-06-26 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method for distributing applets, and entities for distributing applets
CN109840103B (zh) * 2017-11-27 2022-10-25 西门子(中国)有限公司 应用程序容器的更新方法、装置和存储介质
JP6724889B2 (ja) * 2017-12-07 2020-07-15 カシオ計算機株式会社 見守りシステム及び見守り方法
CN109960540A (zh) * 2019-03-06 2019-07-02 上海连尚网络科技有限公司 小程序触发方法、计算机设备及存储介质
CN110377440B (zh) * 2019-07-26 2021-10-15 上海连尚网络科技有限公司 信息处理方法和装置
CN111523102B (zh) * 2020-04-24 2023-10-27 腾讯科技(深圳)有限公司 小程序登录方法、装置、设备及计算机可读存储介质
CN111586126B (zh) * 2020-04-28 2023-06-02 百度在线网络技术(北京)有限公司 小程序预下载方法、装置、设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200218429A1 (en) 2019-01-04 2020-07-09 Citrix Systems, Inc. Application Publishing in a Virtualized Environment

Also Published As

Publication number Publication date
EP3975015A1 (en) 2022-03-30
KR20220042992A (ko) 2022-04-05
CN112148345A (zh) 2020-12-29
EP3975015B9 (en) 2024-03-27
CN112148345B (zh) 2023-07-25
EP3975015B1 (en) 2024-01-31
JP7191999B2 (ja) 2022-12-19
US20220100485A1 (en) 2022-03-31
JP2022055285A (ja) 2022-04-07

Similar Documents

Publication Publication Date Title
KR102174665B1 (ko) 디바이스의 보안 프로비저닝 및 관리
US10341321B2 (en) System and method for policy based adaptive application capability management and device attestation
US10404476B1 (en) Systems and methods for providing authentication to a plurality of devices
US20180367528A1 (en) Seamless Provision of Authentication Credential Data to Cloud-Based Assets on Demand
US9112854B1 (en) Secure communication between applications on untrusted platforms
CN111708991A (zh) 服务的授权方法、装置、计算机设备和存储介质
US10333925B2 (en) Seamless provision of authentication credential data to cloud-based assets on demand
CN105531710A (zh) 授权在目标计算装置上执行操作的方法
US11373762B2 (en) Information communication device, authentication program for information communication device, and authentication method
CN110365684B (zh) 应用集群的访问控制方法、装置和电子设备
CN113614720A (zh) 一种动态配置可信应用程序访问控制的装置和方法
US9323911B1 (en) Verifying requests to remove applications from a device
EP3048553B1 (en) Method for distributing applets, and entities for distributing applets
US20150047001A1 (en) Application program execution device
CN107026730B (zh) 数据处理方法、装置及***
KR102468823B1 (ko) 애플릿 패키지 전송 방법, 장치, 전자 기기, 컴퓨터 판독 가능 매체 및 컴퓨터 프로그램
KR102377045B1 (ko) 하드웨어 보안 모듈을 이용한 클라우드를 통한 IoT(Internet of Thing) 디바이스 인증 시스템 및 방법
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
KR101741672B1 (ko) 인증서 배포 장치 및 방법
CN116601916A (zh) 作为用于密钥散列消息认证码用户认证和授权的密钥材料的基于属性的加密密钥
CN116166409A (zh) 一种资源创建方法、装置、电子设备及存储介质
CN115580418A (zh) 一种信息获取方法、装置、计算机设备和存储介质
CN118349988A (zh) 应用程序统一认证方法、装置、设备及存储介质
CN115865446A (zh) 应用程序的登录方法及装置、处理器和电子设备
CN114301606A (zh) 无人设备密钥管理***、方法、装置、设备及存储介质

Legal Events

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