KR102566275B1 - 파일 처리 방법 및 단말 디바이스 - Google Patents

파일 처리 방법 및 단말 디바이스 Download PDF

Info

Publication number
KR102566275B1
KR102566275B1 KR1020217027050A KR20217027050A KR102566275B1 KR 102566275 B1 KR102566275 B1 KR 102566275B1 KR 1020217027050 A KR1020217027050 A KR 1020217027050A KR 20217027050 A KR20217027050 A KR 20217027050A KR 102566275 B1 KR102566275 B1 KR 102566275B1
Authority
KR
South Korea
Prior art keywords
terminal device
file
security state
security
decryption key
Prior art date
Application number
KR1020217027050A
Other languages
English (en)
Other versions
KR20210116644A (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 KR20210116644A publication Critical patent/KR20210116644A/ko
Application granted granted Critical
Publication of KR102566275B1 publication Critical patent/KR102566275B1/ko

Links

Classifications

    • 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
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/105Multiple levels of security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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)
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • 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/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 실시예들에서 파일 처리 방법이 개시되며, 이 방법은: 제1 단말 디바이스가 제2 단말 디바이스로부터 암호화된 파일을 수신하는 단계; 제1 단말 디바이스가 암호화된 파일을 저장하는 단계; 제1 단말 디바이스가 암호화된 파일에 대한 액세스 명령을 수신하는 단계; 제1 단말 디바이스가 현재 보안 상태를 획득하는 단계; 현재 보안 상태가 제1 보안 상태 이상일 때, 제1 단말 디바이스가 복호화 키에 의해 파일의 복호화를 수행하는 단계를 포함한다. 본 방법을 구현함으로써, 제1 단말 디바이스가 암호화된 파일을 수신한 후에, 제1 단말 디바이스는 보안 상태가 높은 경우에만 복호화 키에 의한 파일의 복호화를 수행한다는 것이 확인될 수 있다. 따라서 제1 단말 상의 파일들의 보안이 개선된다.

Description

파일 처리 방법 및 단말 디바이스
본 발명은 단말 기술들의 분야에 관한 것으로, 특히 파일 처리 방법 및 단말 디바이스에 관한 것이다.
파일들(예를 들어, 문서 파일 및 사진 파일)의 보안은 사용자에게 매우 중요하다. 파일 보안을 개선하기 위해, 사용자는 대개, 단말 디바이스 상에 일부 보안 정책들을 설정하여 단말 디바이스 상의 파일들을 보호한다. 예를 들어, 사용자는 다른 사람들이 마음대로 단말 디바이스 상의 데이터를 브라우징하는 것을 방지하기 위해 단말 디바이스 상에 화면 잠금 비밀번호를 설정한다. 대안으로, 사용자는 단말 디바이스가 루팅(root)되는 것을 방지하도록 단말 장치에 대해 안티 루트(anti-root) 보호를 가능하게 한다. 대개, 단말 장치가 후에, 악성 애플리케이션을 사용함으로써 단말 디바이스로부터 데이터가 쉽게 도난당한다.
그러나 송신 단말에 대해 비교적 높은 보안이 구성되더라도, 송신 단말이 수신 단말에 파일을 송신한 후에, 송신 단말은 수신 단말 상에서 파일의 보안을 보장할 수 없다. 예를 들어, 화면 잠금 비밀번호가 수신 단말 상에 설정되지 않을 수 있거나 수신 단말이 루팅될 수 있다. 결과적으로, 수신 단말로부터 파일이 도난 당할 수 있다. 따라서 수신 단말 상의 파일의 보안을 어떻게 개선할지가 현재 해결되어야 할 시급한 문제이다.
본 발명의 실시예들은 수신 단말 상의 파일의 보안을 개선하는 것을 돕기 위한 파일 처리 방법 및 단말 디바이스를 개시한다.
제1 양상에 따르면, 본 출원의 실시예는 파일 처리 방법을 제공한다. 이 방법은 다음을 포함한다: 제1 단말 디바이스가 제2 단말 디바이스로부터 암호화된 파일을 수신한다. 제1 단말 디바이스는 암호화된 파일을 저장한다. 제1 단말 디바이스는 암호화된 파일에 대한 액세스 명령을 수신한다. 제1 단말 디바이스는 현재 보안 상태를 획득한다. 현재 보안 상태가 제1 보안 상태 이상일 때, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화한다. 제1 양상의 방법에 따르면, 제1 단말 디바이스가 암호화된 파일을 수신한 후에, 제1 단말 디바이스는 보안 상태가 높은 경우에만 복호화 키를 사용하여 파일을 복호화한다고 알게 될 수 있다. 따라서 제1 단말 디바이스 상의 파일의 보안이 개선된다.
선택적인 구현에서, 제1 보안 상태는 복호화 키에 대응하는 보안 상태이다. 제1 단말 디바이스가 제2 단말 디바이스로부터 암호화된 파일을 수신하기 전에, 제1 단말 디바이스는 다음의 단계들을 추가로 수행할 수 있다: 제1 단말 디바이스는 제2 단말 디바이스로부터 획득 요청을 수신한다. 제1 단말 디바이스는 획득 요청에 대한 응답으로 제1 단말 디바이스의 현재 제1 보안 상태를 획득한다. 제1 단말 디바이스는 제1 보안 상태를 제2 단말 디바이스에 송신한다. 선택적인 구현에 기반하여, 제2 단말 디바이스는 제1 단말 디바이스의 보안 상태를 획득하는 것이 가능해질 수 있어, 제2 단말 디바이스는 제1 단말 디바이스의 보안 상태가 높은 경우에만 파일을 송신할 수 있다. 제1 단말 디바이스의 보안 상태가 높을 때 제2 단말 디바이스가 파일을 송신한다면, 제1 단말 디바이스는 보안 상태가 높은 경우에만 복호화 키를 사용하여 파일을 복호화할 수 있다. 따라서 선택적인 구현에 기반하여, 제2 단말 디바이스는 제1 단말 디바이스에 송신될 파일에 대해 보안 제어를 수행할 수 있다.
선택적인 구현에서, 제1 단말 디바이스는 다음의 단계들을 추가로 수행할 수 있다: 제1 단말 디바이스는 획득 요청에 대한 응답으로 암호화 키 및 복호화 키를 획득한다. 제1 단말 디바이스는 암호화 키를 제2 단말 디바이스에 송신한다. 제1 단말 디바이스는 제1 보안 상태와 복호화 키 사이의 대응 관계를 확립한다. 제2 단말 디바이스로부터 암호화된 파일을 수신한 후, 제1 단말 디바이스는 파일과 복호화 키 사이의 대응 관계를 추가로 확립할 수 있다. 선택적인 구현에 기반하여, 제1 단말 디바이스는 암호화 키 및 복호화 키를 생성할 수 있다.
선택적인 구현에서, 암호화된 파일에 대한 액세스 명령을 수신하기 전에, 제1 단말 디바이스는 다음의 단계들을 추가로 수행할 수 있다: 제1 단말 디바이스는 제2 단말 디바이스로부터 복호화 키를 수신한다. 제1 단말 디바이스는 파일과 복호화 키 사이의 대응 관계를 확립하고, 제1 보안 상태와 복호화 키 사이의 대응 관계를 확립한다. 선택적인 구현에 기반하여, 제2 단말 디바이스는 암호화 키 및 복호화 키를 생성할 수 있다.
선택적인 구현에서, 제1 단말 디바이스는 제1 단말 디바이스의 현재 제1 보안 상태를 획득한 후, 추가로 제1 보안 상태에 대한 서명을 획득할 수 있다. 제1 단말 디바이스가 제1 보안 상태를 제2 단말 디바이스에 송신하는 특정 구현은 다음과 같다: 제1 단말 디바이스는 제1 보안 상태, 서명, 및 제1 단말 디바이스의 디바이스 인증서를 제2 단말 디바이스에 송신한다. 검증이 성공한다면, 이는 제1 보안 상태가 제1 단말 디바이스에 의해 송신됨을 지시한다. 검증이 실패한다면, 이는 제1 보안 상태가 제1 단말 디바이스에 의해 송신되지 않고 보안 위험이 존재함을 지시한다. 따라서 선택적인 구현에 기반하여, 파일 보안을 개선하는 것을 돕기 위해 보안 위험이 식별될 수 있다.
선택적인 구현에서, 현재 보안 상태가 제1 보안 상태보다 낮으면, 제1 단말 디바이스는 파일이 액세스될 수 없음을 프롬프트(prompt)하고, 파일이 액세스될 수 없는 이유에 대해 프롬프트한다. 이런 식으로, 사용자는 파일이 액세스될 수 없는 이유를 적시에 찾을 수 있다.
선택적인 구현에서, 현재 보안 상태가 제1 보안 상태보다 낮으면, 제1 단말 디바이스는 현재 보안 상태에 기반하여 보안 구성 기능 버튼을 출력한다. 이런 식으로, 사용자는 보안 구성을 편리하게 수행할 수 있다.
제2 양상에 따르면, 본 출원의 실시예는 파일 처리 방법을 제공한다. 이 방법은 다음을 포함한다: 제2 단말 디바이스가 제1 단말 디바이스에 획득 요청을 송신한다. 제2 단말 디바이스는, 획득 요청에 대한 응답으로 제1 단말 디바이스에 의해 송신되는 제1 단말 디바이스의 제1 보안 상태를 수신한다. 제2 단말 디바이스는 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정한다. 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하면, 제2 단말 디바이스는 암호화 키를 사용함으로써 파일을 암호화한다. 제2 단말 디바이스는 암호화된 파일을 제1 단말 디바이스에 송신한다. 제2 양상의 방법에 따르면, 제2 단말 디바이스는 제1 단말 디바이스에 송신될 파일에 대해 보안 제어를 수행할 수 있다.
선택적인 구현에서, 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하기 전에, 제2 단말 디바이스는 획득 요청에 대한 응답으로 제1 단말 디바이스에 의해 송신된 암호화 키를 추가로 수신한다. 선택적인 구현에 기반하여, 제1 단말 디바이스는 암호화 키 및 복호화 키를 생성할 수 있다.
선택적인 구현에서, 암호화 키를 사용함으로써 파일을 암호화하기 전에, 제2 단말 디바이스는 암호화 키 및 복호화 키를 추가로 생성한다. 암호화 키 및 복호화 키를 생성한 후에, 제2 단말 디바이스는 제1 단말 디바이스에 복호화 키를 추가로 송신한다. 선택적인 구현에 기반하여, 제2 단말 디바이스는 암호화 키 및 복호화 키를 생성할 수 있다.
선택적인 구현에서, 제2 단말 디바이스가 획득 요청에 대한 응답으로 제1 단말 디바이스에 의해 송신되는 제1 단말 디바이스의 제1 보안 상태를 수신하는 특정 구현은 다음과 같다: 제2 단말 디바이스는 획득 요청에 대한 응답으로 제1 단말 디바이스에 의해 송신되는 제1 단말 디바이스의 제1 보안 상태, 서명, 및 제1 단말 디바이스의 디바이스 인증서를 수신하며, 여기서 서명은 제1 보안 상태에 대한 서명이다. 제2 단말 디바이스는 제1 보안 상태 및 제1 단말 디바이스의 디바이스 인증서에 기반하여 서명을 추가로 검증할 수 있다. 검증이 성공한다면, 제2 단말 디바이스는 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정한다. 선택적인 구현에 기반하여, 파일 보안을 개선하는 것을 돕기 위해 보안 위험이 식별될 수 있다.
선택적인 구현에서, 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하는 특정 구현은 다음과 같다: 제2 단말 디바이스는 제1 보안 상태에 기반하여 제1 단말 디바이스의 보안 상태에 대해 프롬프트하고, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 프롬프트한다. 제2 단말 디바이스가 사용자의 송신 허용 동작을 수신하면, 제2 단말 디바이스는 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정한다. 제2 단말 디바이스가 사용자의 송신 취소 동작을 수신하면, 제2 단말 디바이스는 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 결정한다. 선택적인 구현에 기반하여, 사용자는 타깃 파일을 송신할지 여부를 수동으로 선택할 수 있다. 이런 식으로, 송신기는 타깃 파일을 수신기에게 송신할지 여부를 탄력적으로 결정할 수 있다.
선택적인 구현에서, 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하는 특정 구현은 다음과 같다: 제2 단말 디바이스는 제1 보안 상태가 미리 설정된 보안 상태 이상인지 여부를 결정한다. 제1 보안 상태가 미리 설정된 보안 상태 이상이면, 제2 단말 디바이스는 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정한다. 제1 보안 상태가 미리 설정된 보안 상태보다 낮으면, 제2 단말 디바이스는 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 결정한다. 선택적인 구현에 기반하여, 제2 단말 디바이스는 타깃 보안 상태에 기반하여, 제1 단말 디바이스에 타깃 파일을 송신할지 여부를 자동으로 결정할 수 있다.
선택적인 구현에서, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 제2 단말 디바이스가 결정하면, 제2 단말 디바이스는 제1 단말 디바이스에 프롬프트 정보를 송신하며, 여기서 프롬프트 정보는 제1 단말 디바이스로의 파일의 송신을 취소할 이유에 대해 프롬프트하는 데 사용된다. 선택적인 구현에 기반하여, 제1 단말 디바이스의 사용자는 파일이 수신되는 데 실패하는 이유를 적시에 찾을 수 있다.
선택적인 구현에서, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 결정하면, 제2 단말 디바이스는 제1 단말 디바이스로의 파일의 송신을 취소할 이유 옵션을 출력한다. 제2 단말 디바이스는 이유 옵션에 대해 사용자에 의해 수행되는 선택 동작을 수신하며, 여기서 제1 단말 디바이스로의 파일의 송신을 취소할 이유에 대해 프롬프트하는 데 사용되는 프롬프트 정보는 선택 동작을 선택할 이유를 포함한다. 선택적인 구현에 기반하여, 제1 단말 디바이스의 사용자는 사용자의 요건에 기반하여, 파일이 수신되는 데 실패하는 이유를 탄력적으로 통지받을 수 있다.
선택적인 구현에서, 제1 단말 디바이스에 획득 요청을 송신하기 전에, 제2 단말 디바이스는 다음의 단계들을 추가로 수행할 수 있다: 제2 단말 디바이스는 제1 단말 디바이스에 파일을 송신하는 데 사용된 데이터 송신 명령을 수신한다. 제2 단말 디바이스는 파일이 미리 설정된 보호 타입의 데이터인지 여부를 결정한다. 파일이 미리 설정된 보호 타입의 데이터라면, 제2 단말 디바이스는 제1 단말 디바이스에 획득 요청을 송신한다. 선택적인 구현에 기반하여, 상이한 보안 요건들을 갖는 파일들은 상이한 방식들로 송신될 수 있다.
선택적인 구현에서, 제1 단말 디바이스에 획득 요청을 송신하기 전에, 제2 단말 디바이스는 다음의 단계들을 추가로 수행할 수 있다: 제2 단말 디바이스는 파일 송신 모드 옵션들을 출력한다. 제2 단말 디바이스는 파일 송신 모드 옵션들에서 보안 파일 송신 모드의 옵션에 대해 사용자에 의해 수행되는 선택 동작을 수신한다. 제2 단말 디바이스는 선택 동작에 대한 응답으로 보안 파일 송신 모드에 진입한다. 제2 단말 디바이스가 제1 단말 디바이스에 획득 요청을 송신하는 특정 구현은 다음과 같다: 제2 단말 디바이스는 보안 파일 송신 모드에서 제1 단말 디바이스에 획득 요청을 송신한다. 선택적인 구현에 기반하여, 파일들을 송신하기 위한 사용자의 요건에 기반하여 상이한 파일 송신 모드들이 탄력적으로 선택될 수 있다.
제3 양상에 따르면, 단말 디바이스가 제공되며, 제1 양상 또는 제1 양상의 선택적인 구현들 중 임의의 하나, 또는 제2 양상 또는 제2 양상의 선택적인 구현들 중 임의의 하나에 따른 방법을 수행할 수 있다. 기능은 하드웨어에 의해 구현될 수 있거나, 대응하는 소프트웨어를 실행하는 하드웨어에 의해 구현될 수 있다. 하드웨어 또는 소프트웨어는 기능에 대응하는 하나 이상의 모듈들을 포함한다. 모듈은 소프트웨어 및/또는 하드웨어일 수 있다. 동일한 발명의 개념에 기반하여, 단말 디바이스의 문제 해결 원리들 및 유리한 효과들에 대해서는, 제1 양상 또는 제1 양상의 선택적인 구현들 중 임의의 하나, 또는 제2 양상 또는 제2 양상의 선택적인 구현들 중 임의의 하나 그리고 유리한 효과들을 참조한다. 세부사항들은 여기서 다시 설명되지 않는다.
제4 양상에 따르면, 단말 디바이스가 제공된다. 단말 디바이스는 프로세서 및 프로세서에 연결된 메모리를 포함한다. 메모리는 컴퓨터 판독 가능 명령들을 포함한다. 프로세서는, 단말 디바이스가 제1 양상 또는 제1 양상의 선택적인 구현들 중 임의의 하나, 또는 제2 양상 또는 제2 양상의 선택적인 구현들 중 임의의 하나에 따른 솔루션을 수행할 수 있게 하기 위해 메모리 내의 컴퓨터 판독 가능 명령들을 실행하도록 구성된다. 선택적으로, 단말 디바이스는 프로세서에 연결된 트랜시버를 더 포함하고, 트랜시버는 단말 디바이스와 다른 네트워크 엘리먼트 간의 통신을 구현하도록 구성된다. 단말 디바이스의 문제 해결 구현들 및 유리한 효과들에 대해서는, 제1 양상 또는 제1 양상의 선택적인 구현들 중 임의의 하나, 또는 제2 양상 또는 제2 양상의 선택적인 구현들 중 임의의 하나 그리고 유리한 효과들을 참조한다. 세부사항들은 여기서 다시 설명되지 않는다.
제5 양상에 따르면, 컴퓨터 프로그램 제품이 제공된다. 컴퓨터 상에서 컴퓨터 프로그램 제품이 실행될 때, 컴퓨터는 제1 양상 또는 제1 양상의 선택적인 구현들 중 임의의 하나, 또는 제2 양상 또는 제2 양상의 선택적인 구현들 중 임의의 하나에 따른 방법을 수행하는 것이 가능해진다.
제6 양상에 따르면, 칩 제품이 제공되며, 제1 양상 또는 제1 양상의 선택적인 구현들 중 임의의 하나, 또는 제2 양상 또는 제2 양상의 선택적인 구현들 중 임의의 하나에 따른 방법을 수행한다.
제7 양상에 따르면, 컴퓨터 판독 가능 저장 매체가 제공된다. 컴퓨터 판독 가능 저장 매체는 명령들을 저장한다. 컴퓨터 상에서 명령들이 실행될 때, 컴퓨터는 제1 양상 또는 제1 양상의 선택적인 구현들 중 임의의 하나, 또는 제2 양상 또는 제2 양상의 선택적인 구현들 중 임의의 하나에 따른 방법을 수행하는 것이 가능해진다.
본 발명의 실시예들의 기술적 솔루션들을 보다 명확하게 설명하기 위해, 다음은 실시예들을 설명하는 데 필요한 첨부 도면들을 간략히 설명한다. 다음의 설명들에서의 첨부 도면들은 단지 본 발명의 일부 실시예들을 도시할 뿐이며, 당해 기술분야에서 통상의 지식을 가진 자들은 창의적인 노력들 없이 여전히 이러한 첨부 도면들로부터 다른 도면들을 도출할 수 있다.
도 1은 본 발명의 일 실시예에 따른 시스템 아키텍처의 개략도이다.
도 2는 본 발명의 일 실시예에 따른 단말 디바이스의 개략적인 구조도이다.
도 3은 본 발명의 일 실시예에 따른 단말 디바이스의 소프트웨어 시스템의 개략적인 구조도이다.
도 4는 본 발명의 일 실시예에 따른 파일 처리 방법의 개략적인 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 단말 디바이스 2의 인터페이스의 개략도이다.
도 6은 본 발명의 일 실시예에 따른 단말 디바이스 1의 인터페이스의 개략도이다.
도 7은 본 발명의 일 실시예에 따른 다른 파일 처리 방법의 개략적인 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 단말 디바이스 2의 인터페이스의 개략도이다.
도 9는 본 발명의 일 실시예에 따른 단말 디바이스 2의 인터페이스의 개략도이다.
도 10은 본 발명의 일 실시예에 따른 다른 파일 처리 방법의 개략적인 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 단말 디바이스 2의 인터페이스 및 단말 디바이스 1의 인터페이스의 개략도이다.
도 12는 본 발명의 일 실시예에 따른 단말 디바이스 2의 인터페이스 및 단말 디바이스 1의 인터페이스의 개략도이다.
도 13은 본 발명의 일 실시예에 따른 단말 디바이스 2의 인터페이스 및 단말 디바이스 1의 인터페이스의 개략도이다.
도 14는 본 발명의 일 실시예에 따른 단말 디바이스 2의 인터페이스 및 단말 디바이스 1의 인터페이스의 개략도이다.
도 15는 본 발명의 일 실시예에 따른 단말 디바이스 2의 인터페이스 및 단말 디바이스 1의 인터페이스의 개략도이다.
도 16은 본 발명의 일 실시예에 따른 단말 디바이스 2의 인터페이스 및 단말 디바이스 1의 인터페이스의 개략도이다.
도 17a 및 도 17b는 본 발명의 일 실시예에 따른 다른 파일 처리 방법의 개략적인 흐름도이다.
도 18a 및 도 18b는 본 발명의 일 실시예에 따른 다른 파일 처리 방법의 개략적인 흐름도이다.
도 19a 및 도 19b는 본 발명의 일 실시예에 따른 다른 파일 처리 방법의 개략적인 흐름도이다.
도 20은 본 발명의 일 실시예에 따른 다른 단말 디바이스의 개략적인 구조도이다.
본 발명의 목적들, 기술적 솔루션들 및 이점들을 보다 명확하게 하기 위해, 다음은 첨부 도면들을 참조하여 본 발명의 실시예들의 기술적 솔루션들을 설명한다.
본 출원의 실시예들은 수신 단말 상의 파일의 보안을 개선하기 위한 파일 처리 방법 및 단말 디바이스를 제공한다.
본 출원의 실시예들을 더욱 잘 이해하기 위해, 다음은 본 출원의 실시예들이 적용 가능한 시스템 아키텍처를 설명한다.
도 1은 본 출원의 일 실시예에 따른 시스템 아키텍처의 개략도이다. 도 1에 도시된 바와 같이, 시스템 아키텍처는 2개의 단말 디바이스들: 제1 단말 디바이스 및 제2 단말 디바이스를 포함한다. 제1 단말 디바이스 및 제2 단말 디바이스는 각각 디바이스, 이를테면 휴대 전화, 태블릿 컴퓨터, 웨어러블 디바이스, 차량 장착 디바이스, 사물 인터넷(Internet of things)의 단말 디바이스, 또는 가상 현실 디바이스일 수 있다. 제2 단말 디바이스는 본 출원의 이러한 실시예에서 파일(예를 들어, 문서, 사진 파일 또는 음악 파일)의 송신기이다. 제1 단말 디바이스는 본 출원의 이러한 실시예에서 파일(예를 들어, 문서, 사진 파일 또는 음악 파일)의 수신기이다.
본 출원의 실시예들을 더욱 잘 이해하기 위해, 다음은 본 출원의 실시예들에서의 단말 디바이스의 구조를 설명한다. 도 2에 도시된 단말 디바이스(200)는 제1 단말 디바이스 또는 제2 단말 디바이스일 수 있다. 도 3에 도시되는 단말 디바이스(200)의 소프트웨어 시스템은 제1 단말 디바이스의 소프트웨어 시스템 또는 제2 단말 디바이스의 소프트웨어 시스템일 수 있다.
도 2는 단말 디바이스(200)의 개략적인 구조도이다. 단말 디바이스(200)는 프로세서(210), 외부 메모리 인터페이스(220), 내부 메모리(221), 범용 직렬 버스(USB: universal serial bus) 인터페이스(230), 충전 관리 모듈(240), 전력 관리 모듈(241), 배터리(242), 안테나 1, 안테나 2, 모바일 통신 모듈(250), 무선 통신 모듈(260), 오디오 모듈(270), 스피커(270A), 수신기(270B), 마이크로폰(270C), 헤드셋 잭(270D), 센서 모듈(280), 버튼(290), 모터(291), 지시자(indicator)(292), 카메라(293), 디스플레이(294), 가입자 식별 모듈(SIM: subscriber identification module) 카드 인터페이스(295) 등을 포함할 수 있다. 본 발명의 이러한 실시예에 도시된 구조는 단말 디바이스(200)에 대한 특정 제한을 구성하지 않는다고 이해될 수 있다. 본 출원의 일부 다른 실시예들에서, 단말 디바이스(200)는 도면에 도시된 것들보다 더 많은 또는 더 적은 컴포넌트들을 포함하거나, 일부 컴포넌트들을 결합하거나, 일부 컴포넌트들을 분할하거나, 상이한 컴포넌트 어레인지먼트들을 가질 수 있다. 도면에 도시된 컴포넌트들은 하드웨어, 소프트웨어, 또는 소프트웨어와 하드웨어의 조합에 의해 구현될 수 있다.
단말 디바이스(200)의 무선 통신 기능은 안테나 1, 안테나 2, 모바일 통신 모듈(250), 무선 통신 모듈(260), 모뎀 프로세서, 기저대역 프로세서 등을 통해 구현될 수 있다. 안테나 1 및 안테나 2는: 전자파 신호들을 송신 및 수신하도록 구성된다. 모바일 통신 모듈(250)은, 2G/3G/4G/5G 등을 포함하며 단말 디바이스(200)에 적용되는 무선 통신 솔루션을 제공할 수 있다. 모바일 통신 모듈(250)은 적어도 하나의 필터, 스위치, 전력 증폭기, 저잡음 증폭기(LNA: low noise amplifier) 등을 포함할 수 있다. 모바일 통신 모듈(250)은 안테나 1을 통해 수신된 전자파에 대해 필터링 또는 증폭과 같은 처리를 수행하고, 처리된 신호를 복조를 위해 모뎀 프로세서에 전달할 수 있다. 모바일 통신 모듈(250)은 모뎀 프로세서에 의해 변조된 신호에 대해 증폭과 같은 처리를 추가로 수행할 수 있고, 안테나 1을 통해, 모바일 통신 모듈(250)에 의해 처리된 신호를 방사를 위한 전자기파로 변환할 수 있다.
단말 디바이스(200)가 제1 단말 디바이스일 때, 단말 디바이스(200)는 안테나 1 및 모바일 통신 모듈(250)을 통해 다음의 방법 구현들에서 제1 단말 디바이스의 송신 및 수신 동작들을 수행할 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 단말 디바이스(200)는 안테나 1 및 모바일 통신 모듈(240)을 통해 제2 단말 디바이스로부터 암호화된 파일을 수신할 수 있다. 단말 디바이스(200)는 안테나 1 및 모바일 통신 모듈(240)을 통해 다음의 방법 구현들에서 제1 단말 디바이스의 다른 송신 및 수신 동작들을 추가로 수행할 수 있다. 세부사항들은 여기서 설명되지 않는다. 유사하게, 단말 디바이스(200)가 제2 단말 디바이스일 때, 단말 디바이스(200)는 대안으로 안테나 1 및 모바일 통신 모듈(250)을 통해 다음의 방법 구현들에서 제2 단말 디바이스의 송신 및 수신 동작들을 수행할 수 있다.
무선 통신 모듈(260)은, 무선 근거리 네트워크(WLAN: wireless local area network)(예를 들어, 무선 충실도(Wi-Fi: wireless fidelity) 네트워크), 블루투스(BT: Bluetooth), 글로벌 내비게이션 위성 시스템(GNSS: global navigation satellite system), 주파수 변조(FM: frequency modulation), 근접장 통신(NFC: near field communication) 기술, 적외선(IR: infrared) 기술 등을 포함하며 단말 디바이스(200)에 적용되는 무선 통신 솔루션을 제공할 수 있다. 무선 통신 모듈(260)은 안테나 2를 통해 전자파를 수신하고, 전자파 신호에 대해 주파수 변조 및 필터링 처리를 수행하고, 처리된 신호를 프로세서(210)에 송신한다. 무선 통신 모듈(260)은 추가로, 프로세서(210)로부터 송신될 신호를 수신하고, 신호에 대해 주파수 변조 및 증폭을 수행하고, 안테나 2를 통한 방사를 위해 신호를 전자파로 변환할 수 있다.
단말 디바이스(200)가 제1 단말 디바이스일 때, 단말 디바이스(200)는 안테나 2 및 무선 통신 모듈(260)을 통해 다음의 방법 구현들에서 제1 단말 디바이스의 송신 및 수신 동작들을 수행할 수 있다. 단말 디바이스(200)가 제2 단말 디바이스일 때, 단말 디바이스(200)는 대안으로 안테나 2 및 무선 통신 모듈(260)을 통해 다음의 방법 구현들에서 제2 단말 디바이스의 송신 및 수신 동작들을 수행할 수 있다.
디스플레이(294)는 이미지, 비디오 등을 디스플레이하도록 구성된다. 디스플레이(294)는 디스플레이 패널을 포함한다. 디스플레이 패널은 액정 디스플레이(LCD: liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 능동 매트릭스 유기 발광 다이오드(AMOLED: active-matrix organic light emitting diode), 플렉서블 발광 다이오드(FLED: flex light-emitting diode), 미니 LED, 마이크로 LED, 마이크로 OLED, 양자점 발광 다이오드(QLED: quantum dot light emitting diode)들 등일 수 있다.
단말 디바이스(200)가 제1 단말 디바이스일 때, 제1 단말 디바이스는 디스플레이(294)를 통한 다음의 방법 구현들에서 제1 단말 디바이스의 디스플레이 기능을 구현할 수 있다. 예를 들어, 단말 디바이스(200)는 디스플레이(294)를 통해 파일 리스트를 디스플레이할 수 있다. 단말 디바이스(200)의 현재 보안 상태가 제1 보안 상태 이상이라면, 단말 디바이스(200)는 복호화된 파일의 콘텐츠를 디스플레이(294)를 통해 디스플레이할 수 있다. 단말 디바이스(200)의 현재 보안 상태가 제1 보안 상태보다 낮다면, 단말 디바이스(200)는 파일이 액세스될 수 없음을 디스플레이(294)를 통해 프롬프트하고, 파일이 액세스될 수 없는 이유에 대해 프롬프트할 수 있다. 단말 디바이스(200)는 디스플레이(294)를 통해 보안 구성 기능 버튼을 디스플레이할 수 있다. 단말 디바이스(200)는, 제2 단말 디바이스가 파일의 송신을 취소한다는 것을 디스플레이(294)를 통해 프롬프트하고, 제2 단말 디바이스가 파일의 송신을 취소하는 이유를 디스플레이하거나, 보안 구성 제안을 디스플레이할 수 있다.
단말 디바이스(200)가 제2 단말 디바이스일 때, 단말 디바이스(200)는 디스플레이(294)를 통한 다음의 방법 구현들에서 제2 단말 디바이스의 디스플레이 기능을 구현할 수 있다. 예를 들어, 단말 디바이스(200)는 디스플레이(294)를 통해 파일 리스트를 디스플레이할 수 있다. 단말 디바이스(200)는 디스플레이(294)를 통해 사용자 리스트 및 파일 리스트를 디스플레이할 수 있다. 단말 디바이스(200)는 디스플레이(294)를 통해 파일 리스트 및 파일 송신 모드를 디스플레이할 수 있다. 단말 디바이스(200)는 디스플레이(294)를 통해 제1 단말 디바이스의 보안 상태에 대해 프롬프트할 수 있고, 단말 디바이스(200)가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 프롬프트할 수 있다. 단말 디바이스(200)는 제1 단말 디바이스로의 파일의 송신을 취소할 이유 옵션을 디스플레이(294)를 통해 디스플레이할 수 있다.
외부 메모리 인터페이스(220)는 단말 디바이스(200)의 저장 능력을 확장하기 위해 외부 저장 카드, 예를 들어 마이크로 SD 카드에 연결되도록 구성될 수 있다. 외부 저장 카드는 데이터 저장 기능을 구현하기 위해 외부 메모리 인터페이스(220)를 통해 프로세서(210)와 통신한다. 예를 들어, 음악, 비디오 및 문서와 같은 파일들이 외부 저장 카드에 저장된다.
내부 메모리(221)는 컴퓨터 실행 가능 프로그램 코드를 저장하도록 구성될 수 있으며, 실행 가능 프로그램 코드는 명령을 포함한다. 내부 메모리(221)는 프로그램 저장 영역 및 데이터 저장 영역을 포함할 수 있다. 프로그램 저장 영역은 운영 체제, 적어도 하나의 기능(예를 들어, 사운드 재생 기능 또는 이미지 재생 기능)에 의해 요구되는 애플리케이션 등을 저장할 수 있다. 데이터 저장 영역은 단말 디바이스(200)의 사용 프로세스에서 생성된 데이터(예를 들어, 오디오 데이터 또는 전화번호부) 등을 저장할 수 있다. 추가로, 내부 메모리(221)는 고속 랜덤 액세스 메모리를 포함할 수 있고, 비휘발성 메모리, 예를 들어 적어도 하나의 자기 디스크 저장 디바이스, 플래시 메모리 디바이스 또는 범용 플래시 저장소(UFS: universal flash storage)를 더 포함할 수 있다. 프로세서(210)는 내부 메모리(221)에 저장된 명령 및/또는 프로세서에 배치된 메모리에 저장된 명령을 실행하여, 단말 디바이스(200)의 다양한 기능 애플리케이션들 및 데이터 처리를 수행한다.
프로세서(210)는 하나 이상의 처리 유닛들을 포함할 수 있다. 예를 들어, 프로세서(210)는 애플리케이션 프로세서(AP: application processor), 모뎀 프로세서, 그래픽 처리 유닛(GPU: 그래픽 처리 유닛), 이미지 신호 프로세서(ISP: image signal processor), 제어기, 비디오 코덱, 디지털 신호 프로세서(DSP: digital signal processor), 기저대역 프로세서 및/또는 신경망 처리 유닛(NPU: neural-network processing unit)을 포함할 수 있다. 상이한 처리 유닛들은 독립적인 컴포넌트들일 수 있거나, 하나 이상의 프로세서들에 통합될 수 있다.
단말 디바이스(200)가 제1 단말 디바이스일 때, 프로세서(210)는 내부 메모리(221)에 저장된 명령 및/또는 프로세서에 배치된 메모리에 저장된 명령을 실행하여, 다음의 방법 구현들에서 제1 단말 디바이스의 다양한 기능 애플리케이션들 및 데이터 처리를 수행한다. 단말 디바이스(200)가 제2 단말 디바이스일 때, 프로세서(210)는 내부 메모리(221)에 저장된 명령 및/또는 프로세서에 배치된 메모리에 저장된 명령을 실행하여, 다음의 방법 구현들에서 제2 단말 디바이스의 다양한 기능 애플리케이션들 및 데이터 처리를 수행한다.
USB 인터페이스(230)는 USB 표준 규격을 따르는 인터페이스이며, 구체적으로는 미니 USB 인터페이스, 마이크로 USB 인터페이스, USB 타입 C 인터페이스 등일 수 있다.
충전 관리 모듈(240)은 충전기로부터 충전 입력을 수신하도록 구성된다. 전력 관리 모듈(241)은 배터리(242) 및 충전 관리 모듈(240)을 프로세서(210)에 연결하도록 구성된다. 전력 관리 모듈(241)은 배터리(242) 및/또는 충전 관리 모듈(240)의 입력을 수신하고, 프로세서(210), 내부 메모리(221), 디스플레이(294), 카메라(293), 무선 통신 모듈(260) 등에 전력을 공급한다.
카메라(293)는 정적 이미지 또는 비디오를 캡처하도록 구성된다.
오디오 모듈(270)은 디지털 오디오 정보를 출력을 위해 아날로그 오디오 신호로 변환하도록 구성되고, 또한 아날로그 오디오 입력을 디지털 오디오 신호로 변환하도록 구성된다. "혼(horn)"으로 또한 지칭되는 스피커(270A)는 오디오 전기 신호를 사운드 신호로 변환하도록 구성된다. 단말 디바이스(200)는 스피커(270A)를 통해 핸즈프리 모드에서 음악을 청취하거나 전화를 받을 수 있다. "이어피스(earpiece)"로 또한 지칭되는 수신기(270B)는 오디오 전기 신호를 사운드 신호로 변환하도록 구성된다. "마이크" 또는 "마이크로폰"으로 또한 지칭되는 마이크로폰(270C)은 사운드 신호를 전기 신호로 변환하도록 구성된다. 헤드셋 잭(270D)은 유선 헤드셋에 연결되도록 구성된다.
센서 모듈(280)은 압력 센서, 자이로 센서, 기압 센서, 자기 센서, 가속도 센서, 거리 센서, 광학 근접도 센서, 지문 센서, 온도 센서, 터치 센서, 주변 광 센서, 골전도 센서 등을 포함할 수 있다.
버튼(290)은 전원 버튼, 볼륨 버튼 등을 포함한다. 버튼(290)은 기계식 버튼일 수 있거나, 터치 버튼일 수 있다. 단말 디바이스(200)는 버튼 입력을 수신하고, 단말 디바이스(200)의 사용자 설정 및 기능 제어와 관련된 버튼 신호 입력을 생성할 수 있다.
모터(291)는 진동 프롬프트를 생성할 수 있다. 지시자(292)는 지시등(indicator light)일 수 있고, 충전 상태 및 전력 변화를 지시하도록 구성될 수 있거나, 메시지, 부재중 전화, 통지 등을 지시하도록 구성될 수 있다. SIM 카드 인터페이스(295)는 SIM 카드에 연결되도록 구성된다.
다음은 단말 디바이스(200)의 소프트웨어 시스템을 상세히 설명한다.
단말 디바이스(200)의 소프트웨어 시스템은 계층화된 아키텍처, 이벤트 구동 아키텍처, 마이크로 커널 아키텍처, 마이크로 서비스 아키텍처 또는 클라우드 아키텍처를 사용할 수 있다. 본 발명의 이러한 실시예에서, 계층화된 아키텍처를 갖는 안드로이드(Android) 시스템이 단말 디바이스(200)의 소프트웨어 구조를 설명하기 위한 예로서 사용된다. 도 3은 본 발명의 일 실시예에 따른 단말 디바이스(200)의 소프트웨어 구조의 블록도이다. 계층화된 아키텍처에서, 소프트웨어는 여러 계층들로 분할되고, 각각의 계층은 명확한 역할 및 임무를 갖는다. 계층들은 소프트웨어 인터페이스를 통해 서로 통신한다. 일부 실시예들에서, 안드로이드 시스템은 5개의 계층들, 즉 상단부에서부터 하단부까지 애플리케이션 계층, 애플리케이션 프레임워크(framework) 계층, 안드로이드 런타임(Android runtime) 및 시스템 라이브러리, 커널 계층 및 보안 운영 체제 계층으로 분할된다.
애플리케이션 계층은 일련의 애플리케이션 패키지들을 포함할 수 있다. 도 3에 도시된 바와 같이, 애플리케이션 패키지들은 카메라(Camera), 파일 공유(File sharing), 안티 바이러스(Antivirus), 갤러리(Gallery), 전화(Phone), 내비게이션(Navigation), WLAN, 블루투스(Bluetooth), 음악(Music), 비디오(Videos) 및 메시지(Messages)와 같은 애플리케이션들을 포함할 수 있다.
애플리케이션 프레임워크 계층은 애플리케이션 계층에서의 애플리케이션에 대한 애플리케이션 프로그래밍 인터페이스(API: application programming interface) 및 프로그래밍 프레임워크를 제공한다. 애플리케이션 프레임워크 계층은 일부 미리 정의된 기능들을 포함한다. 도 3에 도시된 바와 같이, 애플리케이션 프레임워크 계층은 윈도우 관리자, 콘텐츠 제공자, 뷰 시스템(view system), 전화 관리자, 자원 관리자, 통지 관리자 등을 포함할 수 있다.
윈도우 관리자는 윈도우 프로그램을 관리하도록 구성된다. 윈도우 관리자는 디스플레이의 크기를 획득하고, 상태 바가 있는지 여부를 결정하고, 화면을 잠그고, 스크린샷을 찍는 등을 할 수 있다. 콘텐츠 제공자는: 데이터를 저장 및 획득하고, 데이터가 애플리케이션에 의해 액세스될 수 있게 하도록 구성된다. 데이터는 비디오, 이미지, 오디오, 발신 및 착신 통화들, 브라우징 이력 및 북마크, 전화번호부 등을 포함할 수 있다. 뷰 시스템은 텍스트를 디스플레이하기 위한 컨트롤 및 사진을 디스플레이하기 위한 컨트롤과 같은 시각적 컨트롤들을 포함한다. 뷰 시스템은 애플리케이션을 구성하도록 구성될 수 있다. 디스플레이 인터페이스는 하나 이상의 뷰들을 포함할 수 있다. 예를 들어, 메시지 통지 아이콘을 포함하는 디스플레이 인터페이스는 텍스트 디스플레이 뷰 및 사진 디스플레이 뷰를 포함할 수 있다. 전화 관리자는 단말 디바이스(200)의 통신 기능, 예를 들어 (응답 또는 거부를 포함하는) 통화 상태의 관리를 제공하도록 구성된다. 자원 관리자는 애플리케이션에 대한 다양한 자원들, 이를테면 로컬화된 문자열, 아이콘, 사진, 레이아웃 파일 및 비디오 파일을 제공한다. 통지 관리자는 애플리케이션이 상태 바에 통지 정보를 디스플레이할 수 있게 하고, 통지 메시지를 전달하도록 구성될 수 있다. 통지 관리자는 사용자 상호 작용을 요구하지 않으면서 짧은 일시 정지 후에 자동으로 사라질 수 있다. 예를 들어, 통지 관리자는: 다운로드 완료를 통지하고, 메시지 통지를 제공하는 등을 하도록 구성된다.
안드로이드 런타임은 커널 라이브러리 및 가상 머신을 포함한다. 안드로이드 런타임은 안드로이드 시스템의 스케줄링 및 관리를 담당한다. 커널 라이브러리는 2개의 부분들: 자바 언어로 호출될 필요가 있는 함수 및 안드로이드의 커널 라이브러리를 포함한다. 애플리케이션 계층 및 애플리케이션 프레임워크 계층은 가상 머신 상에서 실행된다. 가상 머신은 이진 파일들로서 애플리케이션 계층 및 애플리케이션 프레임워크 계층에서 자바 파일들을 실행한다. 가상 머신은 객체 라이프 사이클(lifecycle) 관리, 스택 관리, 스레드 관리, 보안 및 예외 관리, 및 가비지 콜렉션(garbage collection)과 같은 기능들을 수행하도록 구성된다.
시스템 라이브러리는 복수의 기능 모듈들, 예를 들어 표면 관리자(surface manager), 미디어 라이브러리(Media Libraries), 3차원 그래픽 처리 라이브러리(예를 들어, OpenGL ES) 및 2D 그래픽 엔진(예를 들어, SGL)을 포함할 수 있다. 표면 관리자는: 디스플레이 서브시스템을 관리하고, 복수의 애플리케이션들에 대한 2D 및 3D 레이어들의 융합을 제공하도록 구성된다. 미디어 라이브러리는 일반적으로 사용되는 복수의 오디오 및 비디오 포맷들, 정적 이미지 파일들 등의 재생 및 레코딩을 지원한다. 미디어 라이브러리는 MPEG-4, H.264, MP3, AAC, AMR, JPG 및 PNG와 같은 복수의 오디오 및 비디오 코딩 포맷들을 지원할 수 있다. 3차원 그래픽 처리 라이브러리는 3차원 그래픽 드로잉(drawing), 이미지 렌더링(rendering), 컴포지션(composition), 레이어 처리 등을 구현하도록 구성된다. 2D 그래픽 엔진은 2D 드로잉을 위한 드로잉 엔진이다.
커널 계층은 하드웨어와 소프트웨어 사이의 계층이다. 커널 계층은 적어도 디스플레이 드라이버, 카메라 드라이버, 오디오 드라이버 및 센서 드라이버를 포함한다.
보안 운영 체제 계층은 신뢰할 수 있는 실행 환경(TEE: Trusted Execution Environment), TrustZone 등을 포함할 수 있다. TEE는 주로 시동 프로세스의 무결성을 검증하고 더 나은 데이터 보호를 제공하는 데 사용된다. TrustZone 기술은 안전 결제(secure payment), 디지털 저작권 관리(DRM: digital rights management), 기업 서비스 및 웹 기반 서비스를 포함하는 고성능 컴퓨팅 플랫폼 상의 많은 양의 애플리케이션들을 위한 시스템 범위 보안 방법이다.
단말 디바이스(200)는 키 관리 모듈을 더 포함한다. 키 관리 모듈은: 키를 생성 및 저장하고, 키의 사용을 제어하도록, 예를 들어 키가 사용될 수 있는 조건을 제어하도록 구성될 수 있다. 키 관리 모듈의 위치는 복수의 형태들일 수 있으며, 이 솔루션으로 제한되지 않는다. 예를 들어, 키 관리 모듈은 TEE 또는 TrustZone 내의 시스템 서비스 모듈일 수 있거나, 애플리케이션 프레임워크 계층, 시스템 라이브러리 또는 커널 계층에서의 시스템 서비스일 수 있거나, 애플리케이션 계층에 있는 그리고 파일 공유에 포함되는 하위 모듈일 수 있다.
다음은 본 출원의 실시예들에서 제공되는 파일 처리 방법을 추가로 설명한다.
도 4는 본 출원의 일 실시예에 따른 파일 처리 방법의 개략적인 흐름도이다. 도 4에 도시된 바와 같이, 파일 처리 방법은 단계(401) 내지 단계(405)를 포함한다.
401: 제2 단말 디바이스가 제1 단말 디바이스에 암호화된 파일을 송신한다.
파일은 제2 단말 디바이스 내의 문서, 사진 파일 또는 음악 파일과 같은 파일일 수 있다. 제1 단말 디바이스에 파일을 송신하기 전에, 제2 단말 디바이스는 암호화 키를 사용함으로써 파일을 암호화할 필요가 있다. 선택적으로, 제2 단말 디바이스는 대칭 암호화 알고리즘을 사용함으로써 파일을 암호화할 수 있거나, 제2 단말 디바이스는 비대칭 암호화 알고리즘을 사용함으로써 파일을 암호화할 수 있다. 대칭 암호화 알고리즘의 경우, 암호화 키는 복호화 키와 동일하다. 비대칭 암호화 알고리즘의 경우, 암호화 키는 복호화 키와 상이하다. 예를 들어, 비대칭 암호화 알고리즘에 대한 암호화 키는 제1 단말 디바이스의 공개 키이고, 비대칭 암호화 알고리즘에 대한 복호화 키는 제1 단말 디바이스의 개인 키이다.
402: 제1 단말 디바이스는 암호화된 파일을 저장한다.
본 출원의 이 실시예에서, 제1 단말 디바이스는 제2 단말 디바이스로부터 암호화된 파일을 수신한 후에, 암호화된 파일을 저장한다.
403: 제1 단말 디바이스는 암호화된 파일에 대한 액세스 명령을 수신한다.
본 출원의 이러한 실시예에서, 제1 단말 디바이스는 암호화된 파일을 저장한 후에, 암호화된 파일에 대한 액세스 명령을 수신할 수 있다.
액세스 명령은 사용자에 의해 기입될 수 있거나, 애플리케이션을 통해 입력될 수 있다. 본 출원의 이 실시예에서 이는 제한되지 않는다. 예를 들어, 사용자는 파일에 대한 액세스 명령을 입력하기 위해 파일의 아이콘을 탭(tap)하거나 더블 탭(double-tap)할 수 있다.
404: 제1 단말 디바이스는 현재 보안 상태를 획득한다.
본 출원의 이러한 실시예에서, 제1 단말 디바이스가 암호화된 파일에 대한 액세스 명령을 수신한 후에, 제1 단말 디바이스는 현재 보안 상태를 획득한다.
보안 상태는 보안 속성 값 세트를 사용함으로써 지시될 수 있다. 제1 단말 디바이스가 현재 보안 상태를 획득하는 것은 구체적으로: 현재 보안 속성 값 세트를 획득하는 것일 수 있다. 보안 속성 값 세트는 하나 이상의 보안 속성들의 값들을 포함한다. 예를 들어, 보안 속성은: 화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성, 안티 바이러스 소프트웨어가 이네이블(enable)되는지 여부를 지시하는 속성, 안티 바이러스 소프트웨어에 의해 방지된 바이러스들의 양을 지시하는 속성, 또는 보안 시스템에 진입하는지 여부를 지시하는 속성 중 하나 이상을 포함할 수 있다. 보안 속성의 값은 불(bool) 값 또는 숫자 값일 수 있다. 예를 들어, 화면 잠금 비밀번호가 설정되는지 여부를 지시하는 보안 속성의 값은 1 또는 0이다. 1 값은 화면 잠금 비밀번호가 설정됨을 지시한다. 0 값은 화면 잠금 비밀번호가 설정되지 않음을 지시한다. 제1 단말 디바이스가 루팅되는지 여부를 나타내는 보안 속성의 값은 1 또는 0이다. 1 값은 제1 단말 디바이스가 루팅됨을 지시한다. 0 값은 제1 단말 디바이스가 루팅되지 않음을 지시한다. 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 보안 속성의 값은 1 또는 0이다. 1 값은 안티 바이러스 소프트웨어가 이네이블됨을 지시한다. 0 값은 안티 바이러스 소프트웨어가 디세이블(disable)됨을 지시한다. 안티 바이러스 소프트웨어에 의해 방지되는 바이러스들의 양을 지시하는 보안 속성의 값은 100이며, 이는 100개의 타입들의 바이러스들이 방지될 수 있음을 지시한다. 보안 시스템에 진입하는지 여부를 지시하는 보안 속성의 값은 1 또는 0이다. 1 값은 보안 시스템에 진입함을 지시한다. 0 값은 보안 시스템에 진입하지 않음을 지시한다. 보안 속성 세트는 사용자에 의해 수동으로 구성될 수 있거나, 제1 단말 디바이스의 전달 전에 미리 설정될 수 있거나, 서버를 사용함으로써 동적으로 구성될 수 있다. 본 출원의 이 실시예에서 이는 제한되지 않는다. 선택적으로, 제1 단말 디바이스의 보안 속성 세트는 대안으로 서버를 사용함으로써 업데이트될 수 있다.
대안으로, 보안 상태는 보안 스코어 또는 보안 레벨을 사용함으로써 지시될 수 있다. 제1 단말 디바이스가 현재 보안 상태를 획득하는 것은 구체적으로: 현재 보안 스코어 또는 현재 보안 레벨을 획득하는 것일 수 있다. 예를 들어, 보안 스코어는 100, 90, 또는 50일 수 있다. 보안 레벨은 낮음, 중간, 높음 등일 수 있다. 대안으로, 보안 상태는 보안 속성 값 세트와 보안 스코어의 조합을 사용함으로써 지시될 수 있거나, 보안 상태는 보안 속성 값 세트와 보안 레벨의 조합을 사용함으로써 지시될 수 있다.
제1 단말 디바이스의 보안 스코어 또는 보안 레벨은 보안 속성 값 세트를 사용함으로써 결정될 수 있다. 대안으로, 제1 단말 디바이스의 보안 스코어 또는 보안 레벨은 다른 방식으로 결정될 수 있다. 예를 들어, 각각의 보안 속성 값에 대응하는 가중치가 제1 단말 디바이스 상에서 미리 설정될 수 있다. 화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성이 1과 같을 때 가중치는 30이다. 화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성이 0과 같을 때 가중치는 0이다. 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성이 0과 같을 때 가중치는 50이다. 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성이 1과 같을 때 가중치는 0이다. 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성이 1과 같을 때 가중치는 20이다. 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성이 0과 같을 때 가중치는 0이다. 현재 보안 속성 값 세트가 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 0과 같음}이라면, 현재 보안 스코어는 80, 즉 30 + 50 + 0이다. 다른 예의 경우, 각각의 보안 레벨에 대응하는 스코어 인터벌이 대안으로 미리 설정될 수 있다. 예를 들어, 스코어 0 내지 스코어 59에 대응하는 보안 레벨은 낮음이고, 스코어 60 내지 스코어 79에 대응하는 보안 레벨은 중간이고, 스코어 80 내지 스코어 100에 대응하는 보안 레벨은 높음이다. 현재 보안 스코어가 80이라면, 현재 보안 레벨은 높음이다. 확실히, 보안 레벨 또는 보안 스코어는 대안으로 다른 방식으로 결정될 수 있다. 본 출원의 이 실시예에서 이는 제한되지 않는다.
405: 현재 보안 상태가 제1 보안 상태 이상일 때, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화한다.
본 출원의 이러한 실시예에서, 현재 보안 상태를 획득한 후에, 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태 이상인지 여부를 결정한다. 현재 보안 상태가 제1 보안 상태 이상일 때, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화한다. 선택적으로, 현재 보안 상태가 제1 보안 상태보다 낮으면, 제1 단말 디바이스는 파일이 액세스될 수 없음을 프롬프트하고, 파일이 액세스될 수 없는 이유에 대해 프롬프트한다.
현재 보안 상태가 제1 보안 상태 이상일 때, 제1 단말 디바이스는 다음의 두 가지 방식들로 복호화 키를 사용하여 파일을 복호화한다고 이해될 수 있다. 방식 1: 현재 보안 상태가 제1 보안 상태 이상이라고 제1 단말 디바이스가 결정하면, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화하도록 트리거된다. 방식 2: 제1 단말 디바이스는, 현재 보안 상태가 제1 보안 상태 이상이라고 제1 단말 디바이스가 결정한 이후 일정 시간 기간 내에 복호화 키를 사용하여 파일을 복호화한다.
제1 보안 상태는 미리 설정된 보안 상태일 수 있는데, 예를 들어 사용자에 의해 미리 커스터마이징(customize)될 수 있거나, 디바이스의 전달 전에 구성될 수 있다. 대안으로, 제1 보안 상태는 파일의 복호화 키에 대응하는 보안 상태일 수 있다.
제1 보안 상태가 미리 설정된 보안 상태라면, 제1 단말 디바이스는 먼저, 현재 보안 상태가 제1 보안 상태 이상인지 여부를 결정할 수 있다. 현재 보안 상태가 제1 보안 상태 이상이라고 결정하면, 제1 단말 디바이스는 복호화 키를 획득한 다음, 복호화 키를 사용하여 파일을 복호화한다. 대안으로, 제1 단말 디바이스는 암호화된 파일에 대한 액세스 명령을 수신한 후 그리고 현재 보안 상태가 제1 보안 상태 이상인지 여부를 결정하기 전에 복호화 키를 획득할 수 있다.
제1 보안 상태가 파일의 복호화 키에 대응하는 보안 상태라면, 제1 단말 디바이스가 암호화된 파일에 대한 액세스 명령을 수신한 후에, 제1 단말 디바이스는 먼저, 현재 보안 상태 및 파일에 대응하는 복호화 키를 획득할 수 있다. 복호화 키 및 현재 보안 상태를 획득하는 시퀀스는 제한되지 않는다. 복호화 키를 획득한 후, 제1 단말 디바이스는 복호화 키에 대응하는 제1 보안 상태를 획득할 수 있다. 현재 보안 상태 및 제1 보안 상태를 획득한 후, 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태 이상인지 여부를 결정한다. 현재 보안 상태가 제1 보안 상태 이상이라고 결정하면, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화한다.
구체적으로, 제1 단말 디바이스의 키 관리 모듈은 현재 보안 상태가 제1 보안 상태 이상인지 여부를 결정할 수 있고, 키 관리 모듈은 복호화 키를 획득한다.
제1 보안 상태는 제1 보안 속성 값 세트를 사용함으로써 지시될 수 있거나, 제1 보안 스코어를 사용함으로써 지시될 수 있거나, 제1 보안 레벨을 사용함으로써 지시될 수 있다. 대안으로, 제1 보안 상태는 제1 보안 속성 값 세트와 제1 보안 스코어의 조합을 사용함으로써 지시될 수 있거나, 제1 보안 상태는 제1 보안 속성 값 세트와 제1 보안 레벨의 조합을 사용함으로써 지시될 수 있다.
다음은, 보안 속성 값 세트를 사용함으로써 현재 보안 상태가 지시되고, 제1 보안 속성 값 세트를 사용함으로써 제1 보안 상태가 지시될 때, 제1 단말 디바이스가 현재 보안 상태가 제1 보안 상태 이상인지 여부를 결정하는 특정 구현을 설명한다.
방식 1: 제1 단말 디바이스는 현재 보안 속성 값 세트에 대응하는 보안 스코어 및 제1 보안 속성 값 세트에 대응하는 보안 스코어를 계산한다. 현재 보안 속성 값 세트에 대응하는 보안 스코어가 제1 보안 속성 값 세트에 대응하는 보안 스코어 이상이라면, 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태 이상이라고 결정하고; 또는 현재 보안 속성 값 세트에 대응하는 보안 스코어가 제1 보안 속성 값 세트에 대응하는 보안 스코어 미만이라면, 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태보다 낮다고 결정한다.
예를 들어, 현재 보안 속성 값 세트는 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 1과 같음}이고; 그리고 제1 보안 속성 값 세트는 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 0과 같음}이다. 각각의 보안 속성 값에 대응하는 가중치가 제1 단말 디바이스 상에서 미리 설정될 수 있다. 예를 들어, 화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성이 1과 같을 때 가중치는 30이다. 화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성이 0과 같을 때 가중치는 0이다. 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성이 0과 같을 때 가중치는 50이다. 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성이 1과 같을 때 가중치는 0이다. 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성이 1과 같을 때 가중치는 20이다. 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성이 0과 같을 때 가중치는 0이다. 현재 보안 속성 값 세트가 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 1과 같음}이기 때문에, 현재 보안 속성 값 세트에 대응하는 보안 스코어는 100, 즉 30 + 50 + 20이다. 제1 보안 속성 값 세트는 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 0과 같음}이기 때문에, 제1 보안 속성 값 세트에 대응하는 보안 스코어는 80, 즉 30 + 50 + 0이다. 따라서 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태보다 높다고 결정한다. 이 경우, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화한다.
방식 2: 제1 단말 디바이스는 현재 보안 속성 값 세트가 제1 보안 속성 값 세트와 일치하는지 여부를 결정한다. 현재 보안 속성 값 세트가 제1 보안 속성 값 세트와 일치한다면, 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태와 동일하다고 결정하고; 또는 현재 보안 속성 값 세트가 제1 보안 속성 값 세트와 일치하지 않는다면, 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태보다 낮다고 결정한다.
예를 들어, 제1 보안 속성 값 세트는 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 1과 같음}이다. 현재 보안 속성 값 세트는 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 0과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 0과 같음}이다. 2개의 세트들에 있는, 화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성들의 값들은 일치하지 않으며, 2개의 세트들에 있는, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성들의 값들은 일치하지 않는다. 따라서 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태보다 낮다고 결정한다. 이 경우, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화하지 않는다.
다음은, 보안 스코어를 사용함으로써 현재 보안 상태가 지시되고, 제1 보안 스코어를 사용함으로써 제1 보안 상태가 지시될 때, 제1 단말 디바이스가 현재 보안 상태가 제1 보안 상태 이상인지 여부를 결정하는 특정 구현을 설명한다.
제1 단말 디바이스는 현재 보안 스코어가 제1 보안 스코어 이상인지 여부를 결정한다. 현재 보안 스코어가 제1 보안 스코어 이상이라면, 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태 이상이라고 결정하고; 또는 현재 보안 스코어가 제1 보안 스코어보다 낮다면, 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태보다 낮다고 결정한다.
예를 들어, 현재 보안 스코어가 60이고 제1 보안 스코어가 80이라면, 제1 단말 디바이스는 현재 보안 스코어가 제1 보안 스코어 미만이라고 결정한다. 이 경우, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화하지 않는다. 현재 보안 스코어가 90이고 제1 보안 스코어가 80이라면, 제1 단말 디바이스는 현재 보안 스코어가 제1 보안 스코어보다 높다고 결정한다. 이 경우, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화한다.
다음은, 보안 레벨을 사용함으로써 현재 보안 상태가 지시되고, 제1 보안 레벨을 사용함으로써 제1 보안 상태가 지시될 때, 제1 단말 디바이스가 현재 보안 상태가 제1 보안 상태 이상인지 여부를 결정하는 특정 구현을 설명한다.
제1 단말 디바이스는 현재 보안 레벨이 제1 보안 레벨 이상인지 여부를 결정한다. 현재 보안 레벨이 제1 보안 레벨 이상이라면, 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태 이상이라고 결정하고; 또는 현재 보안 레벨이 제1 보안 레벨보다 낮다면, 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태보다 낮다고 결정한다.
예를 들어, 현재 보안 레벨이 낮고 제1 보안 레벨이 높다면, 제1 단말 디바이스는 현재 보안 레벨이 제1 보안 레벨보다 낮다고 결정한다. 이 경우, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화하지 않는다. 현재 보안 레벨이 높고 제1 보안 레벨이 중간이라면, 제1 단말 디바이스는 현재 보안 레벨이 제1 보안 레벨보다 높다고 결정한다. 이 경우, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화한다.
선택적으로, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화한 후에, 복호화된 파일을 구체적으로 디스플레이할 수 있다. 대안으로, 애플리케이션이 파일에 액세스하도록 요청한다면, 제1 단말 디바이스는 요청을 개시하는 애플리케이션에 복호화된 파일을 송신할 수 있다.
파일이 액세스될 때마다 단계(403) 내지 단계(405)를 통해 파일이 복호화된다는 점이 주목되어야 한다. 파일이 단지 첫 번째 액세스 동안에는 복호화될 필요가 있지만 후속 액세스 동안에는 복호화될 필요가 없다면, 제1 단말 디바이스 상의 파일의 보안은 여전히 후속 액세스 동안 보장될 수 없다. 따라서 파일이 액세스될 때마다 단계(403) 내지 단계(405)를 통해 파일이 복호화될 필요가 있다.
다음은 특정 애플리케이션 시나리오들을 참조하여 단계(401) 내지 단계(405)의 원리들을 추가로 설명한다.
예를 들어, 제2 단말 디바이스는 단말 디바이스 2이고, 제1 단말 디바이스는 단말 디바이스 1이다. 도 5에 도시된 바와 같이, 사용자 1이 단말 디바이스 2 상에서, 단말 디바이스 1에 송신될 필요가 있는 파일 1을 선택할 수 있다. 사용자 1이 파일 1을 선택하고 송신 버튼을 탭한 후에, 단말 디바이스 2는 암호화 키를 사용함으로써 파일 1을 암호화할 수 있다. 단말 디바이스 2는 파일 1을 암호화한 후에, 암호화된 파일 1을 단말 디바이스 1에 송신한다. 단말 디바이스 1은 암호화된 파일 1을 수신한 후, 파일 1을 저장한다.
도 6에 도시된 바와 같이, 후속하여, 단말 디바이스 1의 사용자 2가 파일 1의 콘텐츠를 볼 필요가 있을 때, 사용자 2는 단말 디바이스 1 상의 파일 1의 아이콘을 탭하여, 파일 1에 대한 액세스 명령을 입력할 수 있다. 단말 디바이스 1은 액세스 명령을 수신한 후에, 현재 보안 속성 값 세트를 획득한다. 현재 보안 속성 값 세트는 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 0과 같음}이다. 단말 디바이스 1은 현재 보안 속성 값 세트에 의해 지시된 보안 상태가 제1 보안 속성 값 세트에 의해 지시된 제1 보안 상태 이상인지 여부를 결정한다. 현재 보안 속성 값 세트에 의해 지시된 보안 상태가 제1 보안 속성 값 세트에 의해 지시된 제1 보안 상태 이상이라면, 단말 디바이스 1은 파일 1의 복호화 키를 사용함으로써 파일 1을 복호화한다. 현재 보안 속성 값 세트에 의해 지시된 보안 상태가 제1 보안 속성 값 세트에 의해 지시된 제1 보안 상태보다 낮다면, 단말 디바이스 1은 파일 1이 액세스될 수 없음을 프롬프트하고, 파일 1이 액세스될 수 없는 이유에 대해 프롬프트한다. 예를 들어, 도 6에 도시된 바와 같이, 제1 보안 속성 값 세트가 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 0과 같음}인 경우, 현재 보안 속성 값 세트에 의해 지시된 보안 상태는 제1 보안 속성 값 세트에 의해 지시된 제1 보안 상태와 동일하다. 따라서 단말 디바이스 1은 파일 1을 복호화하고, 복호화된 파일 1의 콘텐츠를 출력한다. 제1 보안 속성 값 세트가 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 1과 같음}인 경우, 현재 보안 속성 값 세트에 의해 지시된 보안 상태는 제1 보안 속성 값 세트에 의해 지시된 보안 상태보다 낮다. 따라서 단말 디바이스 1은 도 6에 도시된 프롬프트 정보를 출력할 수 있다. 선택적으로, 단말 디바이스 1은 현재 보안 속성 값 세트 및 제1 보안 속성 값 세트에 기반하여 보안 구성 기능 버튼을 추가로 출력할 수 있고, 사용자는 보안 구성 기능 버튼을 탭하여 대응하는 보안 구성을 수행할 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 안티 바이러스 소프트웨어가 현재 이네이블되지 않기 때문에, 단말 디바이스 1은 안티 바이러스 소프트웨어를 이네이블하는 데 사용되는 기능 버튼을 출력할 수 있다. 사용자가 기능 버튼을 탭한 후에, 단말 디바이스 1은 안티 바이러스 소프트웨어를 이네이블할 수 있다. 대안으로, 사용자가 취소 버튼을 탭할 수 있어, 단말 디바이스 1이 현재 인터페이스를 빠져나갈 수 있다.
도 4에서 설명된 방법이 제1 단말 디바이스 상의 파일의 보안을 개선하는 것을 돕는다고 알게 될 수 있다.
도 7은 본 출원의 일 실시예에 따른 파일 처리 방법의 개략적인 흐름도이다. 도 7에 도시된 바와 같이, 파일 처리 방법은 단계(701) 내지 단계(710)를 포함한다.
701: 제2 단말 디바이스가 제1 단말 디바이스에 획득 요청을 송신한다.
본 출원의 이러한 실시예에서, 제2 단말 디바이스는 다음의 방식들로 제1 단말 디바이스에 획득 요청을 송신하도록 트리거된다.
방식 1: 사용자가 송신될 필요가 있는 파일을 선택하고 송신 버튼을 탭하는 것을 검출한 후, 제2 단말 디바이스는 제1 단말 디바이스에 획득 요청을 송신하도록 트리거될 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 제2 단말 디바이스는 단말 디바이스 2이고, 제1 단말 디바이스는 단말 디바이스 1이다. 사용자 1이 단말 디바이스 2 상에서, 단말 디바이스 1에 송신될 필요가 있는 파일 1을 선택할 수 있다. 사용자 1이 파일 1을 선택하고 송신 버튼을 탭한 후에, 단말 디바이스 2는 단말 디바이스 1에 획득 요청을 송신한다.
방식 2: 사용자가 사용자 리스트로부터 제1 단말 디바이스에 대응하는 사용자를 선택하는 것을 검출하면, 제2 단말 디바이스는 제1 단말 디바이스에 획득 요청을 송신할 수 있다. 예를 들어, 제2 단말 디바이스는 단말 디바이스 2이고, 제1 단말 디바이스는 단말 디바이스 1이다. 도 8에 도시된 바와 같이, 단말 디바이스 2는 파일 공유 서버로부터 사용자 리스트, 예를 들어 인스턴트 메시징 애플리케이션의 사용자 리스트를 획득할 수 있다. 각각의 사용자는 하나의 단말 디바이스에 대응한다. 예를 들어, 사용자 1은 단말 디바이스 1에 대응하고, 사용자 3은 단말 디바이스 3에 대응하고, 사용자 4는 단말 디바이스 4에 대응하고, 사용자 5는 단말 디바이스 5에 대응한다. 단말 디바이스 2는 사용자가 사용자 리스트로부터 사용자 1을 선택한 후, 단말 디바이스 1에 획득 요청을 송신한다. 단말 디바이스 2는 단말 디바이스 1에 획득 요청을 송신한 후, 획득 요청에 대한 응답으로 단말 디바이스 1에 의해 피드백되는 제1 보안 상태를 수신할 수 있다. 사용자가 사용자 리스트로부터 사용자 1을 선택한 후, 단말 디바이스 2는 사용자 1의 대화 인터페이스에 진입한다. 사용자가 사용자 1과 파일을 공유할 것으로 예상한다면, 사용자는 사용자 1의 대화 인터페이스에서 파일 공유 버튼을 탭할 수 있고, 단말 디바이스 2는 사용자에 의한 선택을 위해 파일 리스트를 출력할 수 있다. 사용자가 파일 1을 선택하고 송신 버튼을 탭한 후, 단말 디바이스 2는 수신된 제1 보안 상태에 기반하여, 단말 디바이스 2가 단말 디바이스 1에 파일 1을 송신하도록 허용되는지 여부를 결정할 수 있다. 단말 디바이스 2가 수신된 제1 보안 상태에 기반하여, 단말 디바이스 2가 단말 디바이스 1에 파일 1을 송신하도록 허용된다고 결정할 수 있으면, 단말 디바이스 2는 파일 1의 암호화 키를 사용함으로써 파일 1을 암호화하고, 암호화된 파일 1을 단말 디바이스 1에 송신한다.
방식 3: 제2 단말 디바이스는 제1 단말 디바이스에 파일을 송신하는 데 사용된 데이터 송신 명령을 수신한다. 제2 단말 디바이스는 파일이 미리 설정된 보호 타입의 데이터인지 여부를 결정한다. 파일이 미리 설정된 보호 타입의 데이터라면, 제2 단말 디바이스는 제1 단말 디바이스에 획득 요청을 송신하도록 트리거된다. 방식 3에서, 제2 단말 디바이스는 먼저, 파일이 비교적 높은 보안 요건을 갖는 파일인지 여부를 결정할 필요가 있다. 예를 들어, 문서 타입 또는 사진 타입의 파일은 비교적 높은 보안 요건을 갖고, 음악 파일은 비교적 낮은 보안 요건을 갖는다. 미리 설정된 보호 타입은 사용자에 의해 미리 설정될 수 있거나, 디폴트로 시스템에 의해 설정될 수 있다. 도 5에 도시된 바와 같이, 사용자 1이 단말 디바이스 2 상의 파일 1을 선택하고 송신 버튼을 탭한 후에, 단말 디바이스 2는 파일 1이 문서 타입 또는 사진 타입인지 여부를 결정할 수 있다. 파일 1이 문서 타입 또는 사진 타입이라면, 단말 디바이스 2는 단말 디바이스 1에 획득 요청을 송신한다. 파일 1이 음악 타입의 파일이라면, 단말 디바이스 2는 단말 디바이스 1에 파일 1을 직접 송신할 수 있다. 선택적으로, 동일한 파일 공유의 경우, 파일 공유에 의해 공유되는 상이한 타입들의 파일들은 상이한 보안 요건들을 가질 수 있다. 예를 들어, WeChat 애플리케이션에 의해 공유되는 음악 파일은 비교적 낮은 보안 요건을 갖고, WeChat 애플리케이션에 의해 공유되는 문서 파일은 비교적 높은 보안 요건을 갖는다. 대안으로, 동일한 파일 공유의 경우, 파일 공유에 의해 공유되는 상이한 타입들의 파일들은 동일한 보안 요건을 가질 수 있다. 선택적으로, 동일한 파일 공유의 경우, 파일 공유에 의해 공유되는 동일한 타입의 파일들은 상이한 보안 요건들을 가질 수 있다. 예를 들어, WeChat 애플리케이션에 의해 공유되는 사진 1은 비교적 낮은 보안 요건을 갖고, WeChat 애플리케이션에 의해 공유되는 사진 2는 비교적 높은 보안 요건을 갖는다. 대안으로, 동일한 파일 공유의 경우, 파일 공유에 의해 공유되는 동일한 타입의 파일들은 동일한 보안 요건을 가질 수 있다.
방식 3에 기반하여, 제2 단말 디바이스는 상이한 방식들로 상이한 보안 요건들을 갖는 파일들을 송신할 수 있다.
방식 4: 제2 단말 디바이스는 파일 송신 모드 옵션들을 출력한다. 제2 단말 디바이스는 파일 송신 모드 옵션들에서 보안 파일 송신 모드의 옵션에 대해 사용자에 의해 수행되는 선택 동작을 수신한다. 제2 단말 디바이스는 선택 동작에 대한 응답으로 보안 파일 송신 모드에 진입한다. 제2 단말 디바이스는 보안 파일 송신 모드에 진입한 후, 보안 파일 송신 모드에서만 제1 단말 디바이스에 획득 요청을 송신한다. 예를 들어, 도 9에 도시된 바와 같이, 사용자 1이 단말 디바이스 2 상에서 파일 1을 선택하고 송신 버튼을 탭한 후에, 단말 디바이스 2는 파일 송신 모드 옵션들을 출력할 수 있다. 도 9에 도시된 바와 같이, 파일 송신 모드 옵션들은 보안 파일 송신 모드 및 공통 파일 송신 모드를 포함한다. 파일 1이 비교적 높은 보안 요건을 갖는 파일이라면, 사용자는 보안 파일 송신 모드를 선택할 수 있다. 사용자가 보안 파일 송신 모드를 선택하는 것을 검출한 후에, 단말 디바이스 2는 보안 파일 송신 모드에 진입하고, 보안 송신 모드에서 단말 디바이스 1에 획득 요청을 송신한다. 파일 1이 비교적 낮은 보안 요건을 갖는 파일이라면, 사용자는 공통 파일 송신 모드를 선택할 수 있다. 사용자가 공통 파일 송신 모드를 선택하는 것을 검출한 후에, 단말 디바이스 2는 공통 파일 송신 모드에 진입하고, 단말 디바이스 2는 단말 디바이스 1에 파일 1을 직접 송신할 수 있다. 방식 4에 기반하여, 제2 단말 디바이스는 사용자의 요건에 기반하여, 파일들을 송신할 상이한 파일 송신 모드들을 탄력적으로 선택할 수 있다.
확실히, 제2 단말 디바이스는 대안으로, 제1 단말 디바이스에 획득 요청을 송신하도록 다른 방식으로 트리거될 수 있다. 본 출원의 이 실시예에서 이는 제한되지 않는다.
702: 제1 단말 디바이스는 획득 요청에 대한 응답으로 제1 단말 디바이스의 현재 제1 보안 상태를 획득한다.
본 출원의 이러한 실시예에서, 제1 단말 디바이스는 제2 단말 디바이스로부터 획득 요청을 수신한 후에, 획득 요청에 대한 응답으로 제1 단말 디바이스의 현재 제1 보안 상태를 획득한다.
703: 제1 단말 디바이스는 제1 보안 상태를 제2 단말 디바이스에 송신한다.
본 출원의 이러한 실시예에서, 제1 단말 디바이스는 제1 단말 디바이스의 현재 제1 보안 상태를 획득한 후에, 제2 단말 디바이스에 제1 보안 상태를 송신한다.
선택적인 구현에서, 도 10에 도시된 바와 같이, 제1 단말 디바이스는 제1 단말 디바이스의 현재 제1 보안 상태를 획득한 후, 추가로 제1 보안 상태에 대한 서명을 획득할 필요가 있다. 제1 단말 디바이스는 구체적으로, 제1 보안 상태, 제1 보안 상태에 대한 서명, 및 제1 단말 디바이스의 디바이스 인증서를 제2 단말 디바이스에 송신한다. 제2 단말 디바이스는 제1 보안 상태, 제1 보안 상태에 대한 서명, 및 제1 단말 디바이스의 디바이스 인증서를 수신한 후, 제1 보안 상태 및 제1 단말 디바이스의 디바이스 인증서에 기반하여 서명을 검증한다. 검증이 성공한다면, 이는 제1 보안 상태가 제1 단말 디바이스에 의해 송신됨을 지시한다. 따라서 검증이 성공한다면, 제2 단말 디바이스는 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정한다. 검증이 실패한다면, 이는 제1 보안 상태가 제1 단말 디바이스에 의해 송신되지 않음을 지시하고, 제2 단말 디바이스는 제2 단말 디바이스가 보안 위험을 갖는다고 프롬프트할 수 있다. 이 경우, 제2 단말 디바이스는 제1 단말 디바이스에 파일을 송신하지 않는다. 선택적인 구현에 기반하여, 파일 보안을 개선하는 것을 돕기 위해 보안 위험이 식별될 수 있다.
제1 단말 디바이스는 제1 보안 상태에 대한 서명을 생성할 수 있다. 대안으로, 제1 단말 디바이스는 서버에 제1 보안 상태를 송신할 수 있고, 서버는 제1 보안 상태에 대한 서명을 생성한다. 서명을 생성한 후에, 서버는 제1 단말 디바이스에 서명을 송신할 수 있다. 제1 단말 디바이스는 서버로부터 서명을 수신할 수 있다.
704: 제2 단말 디바이스는 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정한다.
본 출원의 이러한 실시예에서, 제2 단말 디바이스가 제1 단말 디바이스로부터 제1 보안 상태를 수신한 후, 제2 단말 디바이스는 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정한다. 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하면, 제2 단말 디바이스가 단계(705)를 수행한다.
선택적인 구현에서, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 제2 단말 디바이스가 결정하면, 제2 단말 디바이스는 제1 단말 디바이스에 프롬프트 정보를 송신하며, 여기서 프롬프트 정보는 제1 단말 디바이스로의 파일의 송신을 취소할 이유에 대해 프롬프트하는 데 사용된다. 제1 단말 디바이스는 프롬프트 정보를 수신한 후에, 프롬프트 정보에 기반하여, 제1 단말 디바이스로의 파일의 송신을 취소할 이유에 대해 프롬프트하거나, 프롬프트 정보에 기반하여 보안 구성을 수행하도록 사용자에게 프롬프트할 수 있다. 선택적인 구현의 특정 구현 원리에 대해서는, 도 12 및 도 13에 대응하는 설명들을 참조한다.
선택적으로, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 제2 단말 디바이스가 결정하면, 제2 단말 디바이스가 제1 단말 디바이스에 프롬프트 정보를 송신하는 특정 구현은 다음과 같다: 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 결정하면, 제2 단말 디바이스는 제1 단말 디바이스로의 파일의 송신을 취소할 이유 옵션을 출력한다. 제2 단말 디바이스는 하나의 이유 옵션에 대해 사용자에 의해 수행되는 선택 동작을 수신한다. 제2 단말 디바이스는 제1 단말 디바이스에 프롬프트 정보를 송신하며, 여기서 프롬프트 정보는 선택 동작을 선택할 이유를 포함한다. 구현의 특정 구현 원리에 대해서는, 도 14에 대응하는 설명들을 참조한다.
705: 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하면, 제2 단말 디바이스는 암호화 키를 사용함으로써 파일을 암호화한다.
제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하면, 제2 단말 디바이스는 다음의 두 가지 방식들로 암호화 키를 사용함으로써 파일을 암호화한다고 이해될 수 있다: 방식 1: 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하면, 제2 단말 디바이스는 암호화 키를 사용함으로써 파일을 암호화하도록 트리거된다. 방식 2: 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정한 이후 일정 시간 기간 내에 제2 단말 디바이스가 암호화 키를 사용함으로써 파일을 암호화한다.
706: 제2 단말 디바이스는 암호화된 파일을 제1 단말 디바이스에 송신한다.
본 출원의 이러한 실시예에서, 제2 단말 디바이스가 암호화 키를 사용함으로써 파일을 암호화한 후에, 제2 단말 디바이스는 제1 단말 디바이스에 암호화된 파일을 송신한다.
707: 제1 단말 디바이스는 암호화된 파일을 저장한다.
본 출원의 이 실시예에서, 제1 단말 디바이스는 제2 단말 디바이스로부터 암호화된 파일을 수신한 후에, 암호화된 파일을 저장한다.
708: 제1 단말 디바이스는 암호화된 파일에 대한 액세스 명령을 수신한다.
본 출원의 이러한 실시예에서, 제1 단말 디바이스는 암호화된 파일을 저장한 후에, 암호화된 파일에 대한 액세스 명령을 수신할 수 있다.
709: 제1 단말 디바이스는 현재 보안 상태를 획득한다.
본 출원의 이러한 실시예에서, 제1 단말 디바이스는 암호화된 파일에 대한 액세스 명령을 수신한 후에, 현재 보안 상태를 획득한다.
710: 현재 보안 상태가 제1 보안 상태 이상일 때, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화한다.
본 출원의 이 실시예에서, 제1 보안 상태는 복호화 키에 대응하는 보안 상태이다. 각각의 복호화 키는 하나의 보안 상태에 대응할 수 있다. 제1 단말 디바이스는 암호화된 파일에 대한 액세스 명령을 수신한 후에, 먼저 현재 보안 상태 및 파일에 대응하는 복호화 키를 획득할 수 있다. 복호화 키 및 현재 보안 상태를 획득하는 시퀀스는 제한되지 않는다. 제1 단말 디바이스는 복호화 키를 획득한 후, 복호화 키에 기반하여 제1 보안 상태를 획득한다. 현재 보안 상태 및 제1 보안 상태를 획득한 후, 제1 단말 디바이스는 현재 보안 상태가 제1 보안 상태 이상인지 여부를 결정한다. 현재 보안 상태가 제1 보안 상태 이상이라고 결정하면, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화한다.
단계(706) 내지 단계(710)의 특정 구현 원리들에 대해서는, 도 4의 단계(401) 내지 단계(405)의 특정 구현 원리들을 참조한다. 세부사항들은 여기서 다시 설명되지 않는다.
도 7에서 설명된 방법에 따르면, 제2 단말 디바이스는 제1 단말 디바이스에 송신될 파일에 대해 보안 제어를 수행할 수 있다고 알게 될 수 있다.
선택적인 구현에서, 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하는 단계(704)의 특정 구현은 다음과 같다: 제2 단말 디바이스는 제1 보안 상태에 기반하여 제1 단말 디바이스의 보안 상태에 대해 프롬프트하고, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 프롬프트한다. 제2 단말 디바이스가 사용자의 송신 허용 동작을 수신하면, 제2 단말 디바이스는 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정한다. 제2 단말 디바이스가 사용자의 송신 취소 동작을 수신하면, 제2 단말 디바이스는 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 결정한다. 구체적으로, 이 구현에서, 사용자는 파일을 송신할지 여부를 수동으로 선택할 수 있다. 이런 식으로, 송신기는 파일을 수신기에게 송신할지 여부를 탄력적으로 결정할 수 있다.
예를 들어, 제2 단말 디바이스는 단말 디바이스 2이고, 제1 단말 디바이스는 단말 디바이스 1이며, 제1 보안 속성 값 세트를 사용함으로써 제1 보안 상태가 지시된다. 단말 디바이스 2는 사용자가 단말 디바이스 2 상에서 파일 1을 선택하고 송신 버튼을 탭하는 것을 검출한 후, 단말 디바이스 1에 획득 요청을 송신한다. 단말 디바이스 1은 획득 요청을 수신한 후에, 현재 제1 보안 속성 값 세트를 획득한다. 제1 보안 속성 값 세트는 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 0과 같음, 보안 시스템에 진입하는지 여부를 지시하는 속성의 값이 0과 같음}이다. 단말 디바이스 1은 단말 디바이스 2에 제1 보안 속성 값 세트를 송신한다.
단말 디바이스 2가 제1 보안 속성 값 세트를 수신한 후에, 단말 디바이스 2는 제1 보안 속성 값 세트에 기반하여 단말 디바이스 1의 보안 상태에 대해 프롬프트한다. 도 11에 도시된 바와 같이, 단말 디바이스 2는, 단말 디바이스 1에 대해 화면 잠금 비밀번호가 설정되고, 단말 디바이스 1은 루팅되지 않으며, 안티 바이러스 소프트웨어가 단말 디바이스 1 상에서 이네이블되지 않고, 그리고 단말 디바이스 1이 보안 시스템에 진입하지 않는다는 것을 프롬프트한다. 단말 디바이스 2는 제2 단말 디바이스가 단말 디바이스 1에 파일 1을 송신하도록 허용되는지 여부를 추가로 프롬프트한다. 사용자가 송신 버튼을 탭한다면, 단말 디바이스 2는 단말 디바이스 2가 단말 디바이스 1에 파일 1을 송신하도록 허용된다고 결정하고, 단말 디바이스 2는 암호화 키를 사용함으로써 파일 1을 암호화하고, 단말 디바이스 1에 암호화된 파일 1을 송신한다. 단말 디바이스 1은 암호화된 파일 1을 수신한 후, 암호화된 파일 1을 저장한다. 도 11에 도시된 바와 같이, 후속 시점에, 단말 디바이스 1의 사용자 2가 파일 1의 콘텐츠를 볼 필요가 있을 때, 사용자 2는 단말 디바이스 1 상의 파일 1의 아이콘을 탭하여, 파일 1에 대한 액세스 명령을 입력할 수 있다. 단말 디바이스 1은 액세스 명령을 수신한 후에, 현재 보안 속성 값 세트를 획득한다. 현재 보안 속성 값 세트는 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 1과 같음, 보안 시스템에 진입하는지 여부를 지시하는 속성의 값이 1과 같음}이다. 단말 디바이스 1은 현재 보안 속성 값 세트에 의해 지시된 보안 상태가 제1 보안 속성 값 세트에 의해 지시된 제1 보안 상태보다 높다고 결정한다. 따라서 단말 디바이스 1은 파일 1의 복호화 키를 사용함으로써 파일 1을 복호화한다. 선택적으로, 도 11에서, 단말 디바이스 2는 또한, 단말 디바이스 1의 보안 스코어 또는 보안 레벨에 대해 프롬프트할 수 있다. 보안 스코어 또는 보안 레벨은 제1 보안 속성 값 세트에 기반한 계산을 통해 획득될 수 있다. 대안으로, 제1 보안 속성 값 세트 및 보안 스코어를 사용함으로써 제1 보안 상태가 지시될 때, 도 11에서, 단말 디바이스 2는 또한 단말 디바이스 1의 보안 스코어에 대해 프롬프트할 수 있다. 대안으로, 제1 보안 속성 값 세트 및 보안 레벨을 사용함으로써 제1 보안 상태가 지시될 때, 도 11에서, 단말 디바이스 2는 또한 단말 디바이스 1의 보안 레벨에 대해 프롬프트할 수 있다.
사용자가 파일 1의 송신을 취소하는 데 사용되는 취소 버튼을 단말 디바이스 2 상에서 탭한다면, 단말 디바이스 2는 단말 디바이스 2가 단말 디바이스 1에 파일 1을 송신하도록 허용되지 않는다고 결정한다. 이 경우, 단말 디바이스 2는 단말 디바이스 1에 프롬프트 정보를 송신할 수 있으며, 여기서 프롬프트 정보는 단말 디바이스 1로의 파일 1의 송신을 취소할 이유에 대해 프롬프트하는 데 사용된다. 예를 들어, 프롬프트 정보는, 안티 바이러스 소프트웨어가 이네이블되지 않고 보안 시스템에 진입하지 않는 것이 단말 디바이스 1로의 파일 1의 송신을 취소할 이유라는 것을 프롬프트한다. 도 12에 도시된 바와 같이, 프롬프트 정보를 수신한 후, 단말 디바이스 2는 프롬프트 정보에 기반하여, 단말 디바이스 1로의 파일 1의 송신을 취소할 이유를 출력하며, 여기서 그 이유는 안티 바이러스 소프트웨어가 이네이블되지 않고 그리고 보안 시스템에 진입하지 않는다는 것이다. 대안으로, 도 13에 도시된 바와 같이, 단말 디바이스 2는 프롬프트 정보를 수신한 후에, 프롬프트 정보에 기반하여, 안티 바이러스 소프트웨어를 이네이블하고 보안 시스템에 진입하는 것을 제안한다.
선택적으로, 단말 디바이스 2가 단말 디바이스 1에 파일 1을 송신하는 것이 허용되지 않는다고 결정한 후에, 단말 디바이스 2는 대안으로, 제1 보안 상태에 기반하여, 단말 디바이스 1로의 파일 1의 송신을 취소할 이유 옵션을 출력할 수 있다. 도 14에 도시된 바와 같이, 단말 디바이스 2에 의해 출력되는 이유 옵션들은 안티 바이러스 소프트웨어가 이네이블되지 않고 보안 시스템에 진입하지 않는 것을 포함한다. 사용자는 하나의 이유 옵션을 선택할 수 있다. 도 14에 도시된 바와 같이, 사용자가 보안 시스템에 진입하지 않기로 선택한다면, 단말 디바이스 2는 단말 디바이스 1에 프롬프트 정보를 송신하며, 여기서 프롬프트 정보는, 단말 디바이스 1로의 파일 1의 송신을 취소할 이유가 보안 시스템에 진입하지 않는다는 것임을 프롬프트하는 데 사용된다. 프롬프트 정보를 수신한 후, 단말 디바이스 2는 프롬프트 정보에 기반하여, 단말 디바이스 1로의 파일 1의 송신을 취소할 이유를 출력하며, 여기서 그 이유는 보안 시스템에 진입하지 않는다는 것이다. 대안으로, 단말 디바이스 2는 프롬프트 정보를 수신한 후에, 프롬프트 정보에 기반하여 보안 시스템에 진입하도록 지시한다. 도 14에서, 예를 들어 단말 디바이스 2는 프롬프트 정보를 수신한 후, 단말 디바이스 1로의 파일 1의 송신을 취소할 이유를 출력한다. 확실히, 단말 디바이스 2가 단말 디바이스 1에 파일 1을 송신하도록 허용되지 않는다고 단말 디바이스 2가 결정한다면, 단말 디바이스 2 및 단말 디바이스 1은 대안으로, 보안 구성을 수행하도록 사용자에게 다른 방식으로 프롬프트할 수 있다. 본 출원의 이 실시예에서 이는 제한되지 않는다.
다른 예의 경우, 제1 보안 스코어를 사용함으로써 제1 보안 상태가 지시된다면, 제1 보안 스코어는 70이다. 도 15에 도시된 바와 같이, 단말 디바이스 2는 제1 보안 스코어에 기반하여, 단말 디바이스 1의 현재 보안 스코어가 70임을 프롬프트할 수 있다. 단말 디바이스 2는 제2 단말 디바이스가 단말 디바이스 1에 파일 1을 송신하도록 허용되는지 여부를 추가로 프롬프트한다. 사용자가 송신 버튼을 탭한다면, 단말 디바이스 2는 단말 디바이스 2가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하고, 단말 디바이스 2는 암호화 키를 사용함으로써 파일을 암호화하고, 단말 디바이스 1에 암호화된 파일을 송신한다. 단말 디바이스 1은 암호화된 파일 1을 수신한 후, 암호화된 파일 1을 저장한다. 도 15에 도시된 바와 같이, 후속 시점에, 단말 디바이스 1의 사용자 2가 파일 1의 콘텐츠를 볼 필요가 있을 때, 사용자 2는 단말 디바이스 1 상의 파일 1의 아이콘을 탭하여, 파일 1에 대한 액세스 명령을 입력할 수 있다. 단말 디바이스 1은 액세스 명령을 수신한 후에, 현재 보안 스코어를 획득한다. 현재 보안 스코어는 80이다. 단말 디바이스 1은 현재 보안 스코어에 의해 지시된 보안 상태가 제1 보안 스코어에 의해 지시된 제1 보안 상태보다 높다고 결정한다. 따라서 단말 디바이스 1은 파일 1의 복호화 키를 사용함으로써 파일 1을 복호화한다.
사용자가 취소 버튼을 탭한다면, 단말 디바이스 2는 단말 디바이스 2가 단말 디바이스 1에 파일을 송신하도록 허용되지 않는다고 결정한다. 이 경우, 도 16에 도시된 바와 같이, 단말 디바이스 2는 단말 디바이스 1에 프롬프트 정보를 송신할 수 있으며, 여기서 프롬프트 정보는 단말 디바이스 1로의 파일의 송신이 취소됨을 프롬프트하는 데 사용된다. 단말 디바이스 1은 프롬프트 정보를 수신한 후, 프롬프트에 기반하여, 파일의 송신이 취소됨을 프롬프트한다. 선택적으로, 단말 디바이스 1은 보안 구성 제안을 추가로 출력할 수 있다. 예를 들어, 도 16에 도시된 바와 같이, 단말 디바이스 1은 안티 바이러스 소프트웨어를 이네이블하지 않고 보안 시스템에 진입하지 않기 때문에, 단말 디바이스 1은 안티 바이러스 소프트웨어를 이네이블하고 보안 시스템에 진입하는 것을 제안할 수 있다. 보안 레벨을 사용함으로써 제1 보안 상태를 지시하는 원리는 보안 스코어를 사용함으로써 제1 보안 상태를 지시하는 원리와 유사하다. 세부사항들은 여기서 다시 설명되지 않는다.
선택적인 구현에서, 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하는 특정 구현은 다음과 같다: 제2 단말 디바이스는 제1 보안 상태가 미리 설정된 보안 상태 이상인지 여부를 결정한다. 제1 보안 상태가 미리 설정된 보안 상태 이상이면, 제2 단말 디바이스는 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정한다. 제1 보안 상태가 미리 설정된 보안 상태보다 낮으면, 제2 단말 디바이스는 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 결정한다. 구체적으로, 이러한 구현에서, 제2 단말 디바이스는 제1 보안 상태에 기반하여, 제1 단말 디바이스에 파일을 송신할지 여부를 자동으로 결정할 수 있다.
미리 설정된 보안 상태는 대안으로, 미리 설정된 보안 속성 값 세트를 사용함으로써 지시되거나, 미리 설정된 보안 스코어를 사용함으로써 지시되거나, 미리 설정된 보안 레벨을 사용함으로써 지시될 수 있다. 대안으로, 미리 설정된 보안 상태는 미리 설정된 보안 속성 값 세트와 미리 설정된 보안 스코어의 조합을 사용함으로써 지시될 수 있거나, 미리 설정된 보안 상태는 미리 설정된 보안 속성 값 세트와 미리 설정된 보안 레벨의 조합을 사용함으로써 지시될 수 있다.
선택적으로, 제1 보안 속성 값 세트를 사용함으로써 제1 보안 상태가 지시되고, 미리 설정된 보안 속성 값을 사용함으로써 미리 설정된 보안 상태가 지시될 때, 제2 단말 디바이스는 제1 보안 속성 값 세트가 미리 설정된 모든 보안 속성 값들과 일치하는지 여부를 결정할 수 있다. 제1 보안 속성 값 세트가 미리 설정된 모든 보안 속성 값들과 일치한다면, 제2 단말 디바이스는 제1 보안 상태가 미리 설정된 보안 상태와 같다고 결정하고; 또는 제1 보안 속성 값 세트가 미리 설정된 모든 보안 속성 값들과 일치하지 않는다면, 제2 단말 디바이스는 제1 보안 상태가 미리 설정된 보안 상태보다 낮다고 결정한다.
예를 들어, 미리 설정된 보안 속성 값 세트는 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 1과 같음}이다. 제1 보안 속성 값 세트는 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 0과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 0과 같음}이다. 2개의 속성 값 세트들에 있는, 화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성들의 값들은 일치하지 않으며, 2개의 속성 값 세트들에 있는, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성들의 값들은 일치하지 않는다. 따라서 제2 단말 디바이스는 제1 보안 상태가 미리 설정된 보안 상태보다 낮다고 결정하고, 이 경우에 제2 단말 디바이스는 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 결정한다.
다른 예의 경우, 미리 설정된 보안 속성 값 세트는 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 1과 같음}이다. 제1 보안 속성 값 세트는 {화면 잠금 비밀번호가 설정되는지 여부를 지시하는 속성의 값이 1과 같음, 제1 단말 디바이스가 루팅되는지 여부를 지시하는 속성의 값이 0과 같음, 안티 바이러스 소프트웨어가 이네이블되는지 여부를 지시하는 속성의 값이 1과 같음}이다. 제1 보안 속성 값 세트는 모든 미리 설정된 보안 속성 값들과 일치한다. 따라서 제2 단말 디바이스는 제1 보안 상태가 미리 설정된 보안 상태와 같다고 결정하고, 이 경우 제2 단말 디바이스는 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정한다.
선택적으로, 제1 보안 속성 값 세트를 사용함으로써 제1 보안 상태가 지시되고, 미리 설정된 보안 속성 값을 사용함으로써 미리 설정된 보안 상태가 지시될 때, 제2 단말 디바이스는 제1 보안 속성 값 세트에 대응하는 보안 스코어가 미리 설정된 보안 속성 값에 대응하는 보안 스코어 이상인지 여부를 결정할 수 있다. 제1 보안 속성 값 세트에 대응하는 보안 스코어가 미리 설정된 보안 속성 값 세트에 대응하는 보안 스코어 이상이라면, 제2 단말 디바이스는 제1 보안 상태가 미리 설정된 보안 상태 이상이라고 결정하고; 또는 제1 보안 속성 값 세트에 대응하는 보안 스코어가 미리 설정된 보안 속성 값 세트에 대응하는 보안 스코어 미만이라면, 제2 단말 디바이스는 제1 보안 상태가 미리 설정된 보안 상태보다 낮다고 결정한다. 보안 속성 값에 대응하는 보안 스코어를 획득하는 구체적인 원리는, 도 4에 대응하는 실시예의 관련 설명들을 참조한다. 세부사항들은 여기서 다시 설명되지 않는다.
선택적으로, 제1 보안 스코어를 사용함으로써 제1 보안 상태가 지시되고, 미리 설정된 보안 스코어를 사용함으로써 미리 설정된 보안 상태가 지시될 때, 제2 단말 디바이스는 제1 보안 스코어가 미리 설정된 보안 스코어보다 큰지 여부를 결정한다. 제1 보안 스코어가 미리 설정된 보안 스코어 이상이면, 제2 단말 디바이스는 제1 보안 상태가 미리 설정된 보안 상태 이상이라고 결정한다. 제1 보안 스코어가 미리 설정된 보안 스코어보다 낮으면, 제2 단말 디바이스는 제1 보안 상태가 미리 설정된 보안 상태보다 낮다고 결정한다.
선택적으로, 제1 보안 레벨을 사용함으로써 제1 보안 상태가 지시되고, 미리 설정된 보안 레벨을 사용함으로써 미리 설정된 보안 상태가 지시될 때, 제2 단말 디바이스는 제1 보안 레벨이 미리 설정된 보안 레벨보다 큰지 여부를 결정한다. 제1 보안 레벨이 미리 설정된 보안 레벨 이상이면, 제2 단말 디바이스는 제1 보안 상태가 미리 설정된 보안 상태 이상이라고 결정한다. 제1 보안 레벨이 미리 설정된 보안 레벨보다 낮으면, 제2 단말 디바이스는 제1 보안 상태가 미리 설정된 보안 상태보다 낮다고 결정한다.
도 17a 및 도 17b는 본 출원의 일 실시예에 따른 파일 처리 방법의 개략적인 흐름도이다. 도 17a 및 도 17b에 도시된 바와 같이, 파일 처리 방법은 단계(1701) 내지 단계(1713)를 포함한다.
1701: 제2 단말 디바이스가 제1 단말 디바이스에 획득 요청을 송신한다.
1702: 제1 단말 디바이스는 획득 요청에 대한 응답으로, 제1 단말 디바이스의 현재 제1 보안 상태를 획득하고, 암호화 키 및 복호화 키를 획득한다.
본 출원의 이러한 실시예에서, 제1 단말 디바이스는 제2 단말 디바이스로부터 획득 요청을 수신한 후, 획득 요청에 대한 응답으로, 제1 단말 디바이스의 현재 제1 보안 상태를 획득하고, 암호화 키 및 복호화 키를 획득한다.
제1 단말 디바이스는 다음의 여러 방식들로 암호화 키 및 복호화 키를 획득할 수 있다.
방식 1: 제1 단말 디바이스는 암호화 키 및 복호화 키를 생성한다. 방식 1에서, 제1 단말 디바이스는 암호화 키 및 복호화 키를 랜덤하게 생성할 수 있다. 대안으로, 제1 단말 디바이스는 제1 단말 디바이스의 마스터 키에 기반하여 암호화 키 및 복호화 키를 도출 및 생성할 수 있다. 제1 단말 디바이스의 마스터 키는 제1 단말 디바이스의 최상위 키이다. 구체적으로, 제1 단말 디바이스의 키 관리 모듈은 암호화 키 및 복호화 키를 생성할 수 있고, 제1 단말 디바이스의 키 관리 모듈은 복호화 키를 저장할 수 있다.
방식 2: 제1 단말 디바이스는 다른 디바이스(예를 들어, 서버)로부터 암호화 키 및 복호화 키를 획득한다. 방식 2에서, 제1 단말 디바이스는 서버에 키 요청을 송신할 수 있다. 키 요청을 수신한 후에, 서버는 암호화 키 및 복호화 키를 생성하고, 암호화 키 및 복호화 키를 제1 단말 디바이스에 송신할 수 있다. 대응하여, 제1 단말 디바이스는 암호화 키 및 복호화 키를 수신할 수 있다.
1703: 제1 단말 디바이스는 제1 보안 상태 및 암호화 키를 제2 단말 디바이스에 송신한다.
도 18a 및 도 18b에 도시된 바와 같이, 선택적인 구현에서는, 제1 단말 디바이스의 현재 제1 보안 상태를 획득하고 암호화 키 및 복호화 키를 획득한 후, 제1 단말 디바이스는 제1 보안 상태에 대한 서명 및 암호화 키를 추가로 획득할 수 있다. 제1 단말 디바이스는 구체적으로, 제1 보안 상태, 암호화 키, 서명, 및 제1 단말 디바이스의 디바이스 인증서를 제2 단말 디바이스에 송신할 수 있다. 제2 단말 디바이스는 제1 단말 디바이스에 의해 송신되는 제1 보안 상태, 암호화 키, 서명, 및 제1 단말 디바이스의 디바이스 인증서를 수신한 후, 제1 보안 상태, 암호화 키, 및 제1 단말 디바이스의 디바이스 인증서에 기반하여 서명을 검증한다. 검증이 성공한다면, 이는 제1 보안 상태 및 암호화 키가 제1 단말 디바이스에 의해 송신됨을 지시한다. 따라서 검증이 성공한다면, 제2 단말 디바이스는 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정할 수 있다. 검증이 실패한다면, 제2 단말 디바이스는 제2 단말 디바이스가 보안 위험을 갖는다고 프롬프트할 수 있다. 이 경우, 제2 단말 디바이스는 제1 단말 디바이스에 파일을 송신하지 않는다. 따라서 선택적인 구현에 기반하여, 파일 보안을 개선하는 것을 돕기 위해 보안 위험이 식별될 수 있다.
제1 단말 디바이스에 의해 획득되는 암호화 키 및 복호화 키가 비대칭 키들이라면, 암호화 키는 공개 키일 수 있고, 복호화 키는 개인 키일 수 있다.
1704: 제1 단말 디바이스는 제1 보안 상태와 복호화 키 사이의 대응 관계를 확립한다.
구체적으로, 제1 단말 디바이스의 키 관리 모듈은 제1 보안 상태와 복호화 키 사이의 대응 관계를 확립할 수 있다.
단계(1703)와 단계(1704)는 특정 시퀀스를 따르지 않는다.
1705: 제2 단말 디바이스는 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정한다.
본 출원의 이러한 실시예에서, 제1 보안 상태 및 암호화 키를 수신한 후에, 제2 단말 디바이스는 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정한다.
1706: 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하면, 제2 단말 디바이스는 수신된 암호화 키를 사용함으로써 파일을 암호화한다.
1707: 제2 단말 디바이스는 암호화된 파일을 제1 단말 디바이스에 송신한다.
1708: 제1 단말 디바이스는 암호화된 파일을 저장한다.
본 출원의 이러한 실시예에서, 제1 단말 디바이스가 제2 단말 디바이스로부터 암호화된 파일을 수신한 후에, 제1 단말 디바이스는 암호화된 파일을 저장한다.
단계(1705) 내지 단계(1708)의 특정 구현 원리들에 대해서는, 도 7의 단계(704) 내지 단계(707)의 특정 구현 원리들을 참조한다. 세부사항들은 여기서 다시 설명되지 않는다.
1709: 제1 단말 디바이스가 암호화된 파일과 복호화 키 사이의 대응 관계를 확립한다.
본 출원의 이 실시예에서, 제1 단말 디바이스는 제2 단말 디바이스로부터 암호화된 파일을 수신한 후에, 암호화된 파일과 복호화 키 사이의 대응 관계를 확립한다.
구체적으로, 제1 단말 디바이스의 키 관리 모듈은 암호화된 파일과 복호화 키 사이의 대응 관계를 확립할 수 있다.
1710: 제1 단말 디바이스는 암호화된 파일에 대한 액세스 명령을 수신한다.
단계(1710)의 특정 구현 원리에 대해서는, 도 4의 단계(403)의 특정 구현 원리를 참조한다. 세부사항들은 여기서 다시 설명되지 않는다.
1711: 제1 단말 디바이스는 파일에 대응하는 복호화 키를 획득하고, 복호화 키에 대응하는 제1 보안 상태를 획득한다.
제1 단말 디바이스의 키 관리 모듈은 파일에 대응하는 복호화 키를 획득하고, 복호화 키에 대응하는 제1 보안 상태를 획득할 수 있다.
1712: 제1 단말 디바이스는 현재 보안 상태를 획득한다.
1713: 현재 보안 상태가 제1 보안 상태 이상일 때, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화한다.
단계(1712) 및 단계(1713)의 특정 구현 원리들에 대해서는, 도 4의 단계(404) 및 단계(405)의 특정 구현 원리들을 참조한다. 세부사항들은 여기서 다시 설명되지 않는다.
도 17a 및 도 17b에서 설명된 방법에 따르면, 제1 단말 디바이스는 암호화 키 및 복호화 키를 생성할 수 있다.
도 19a 및 도 19b는 본 출원의 일 실시예에 따른 파일 처리 방법을 도시한다. 도 19a 및 도 19b에 도시된 바와 같이, 파일 처리 방법은 단계(1901) 내지 단계(1913)를 포함한다.
1901: 제2 단말 디바이스가 제1 단말 디바이스에 획득 요청을 송신한다.
1902: 제1 단말 디바이스는 획득 요청에 대한 응답으로 제1 단말 디바이스의 현재 제1 보안 상태를 획득한다.
1903: 제1 단말 디바이스는 제1 보안 상태를 제2 단말 디바이스에 송신한다.
1904: 제2 단말 디바이스는 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정한다.
본 출원의 이러한 실시예에서, 제1 보안 상태 및 암호화 키를 수신한 후에, 제2 단말 디바이스는 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정한다.
단계(1901) 내지 단계(1904)의 특정 구현 원리들에 대해서는, 도 7의 단계(701) 내지 단계(704)의 특정 구현 원리들을 참조한다. 세부사항들은 여기서 다시 설명되지 않는다.
1905: 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하면, 제2 단말 디바이스는 암호화 키 및 복호화 키를 생성한다.
제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하면, 제2 단말 디바이스는 다음의 두 가지 방식들로 암호화 키 및 복호화 키를 생성한다고 이해될 수 있다: 방식 1: 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하면, 제2 단말 디바이스는 암호화 키 및 복호화 키를 생성하도록 트리거된다. 방식 2: 제2 단말 디바이스가 제1 보안 상태에 기반하여, 제2 단말 디바이스가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정한 이후 일정 시간 기간 내에 제2 단말 디바이스가 암호화 키 및 복호화 키를 생성한다. 암호화 키 및 복호화 키는 대칭 알고리즘에 대한 키들일 수 있다. 이 경우, 암호화 키와 복호화 키는 동일하다. 대안으로, 암호화 키 및 복호화 키는 비대칭 알고리즘에 대한 키들일 수 있다. 이 경우, 암호화 키는 개인 키이고, 복호화 키는 공개 키이다.
1906: 제2 단말 디바이스가 암호화 키를 사용함으로써 파일을 암호화한다.
1907: 제2 단말 디바이스는 복호화 키 및 암호화된 파일을 제1 단말 디바이스에 송신한다.
1908: 제1 단말 디바이스는 암호화된 파일을 저장한다.
본 출원의 이러한 실시예에서, 제1 단말 디바이스가 제2 단말 디바이스로부터 암호화된 파일을 수신한 후에, 제1 단말 디바이스는 암호화된 파일을 저장한다.
단계(1906) 내지 단계(1908)의 특정 구현 원리들에 대해서는, 앞서 말한 방법 실시예들에서의 대응하는 설명들을 참조한다. 세부사항들은 여기서 다시 설명되지 않는다.
1909: 제1 단말 디바이스는 암호화된 파일과 복호화 키 사이의 대응 관계를 확립하고, 제1 보안 상태와 복호화 키 사이의 대응 관계를 확립한다.
본 출원의 이러한 실시예에서, 제2 단말 디바이스로부터 복호화 키 및 암호화된 파일을 수신한 후에, 제1 단말 디바이스는 암호화된 파일과 복호화 키 사이의 대응 관계를 확립하고, 제1 보안 상태와 복호화 키 사이의 대응 관계를 확립한다.
제1 단말 디바이스의 키 관리 모듈이 암호화된 파일과 복호화 키 사이의 대응 관계를 확립하고, 제1 보안 상태와 복호화 키 사이의 대응 관계를 확립할 수 있다.
1910: 제1 단말 디바이스는 암호화된 파일에 대한 액세스 명령을 수신한다.
1911: 제1 단말 디바이스는 파일에 대응하는 복호화 키를 획득하고, 복호화 키에 대응하는 제1 보안 상태를 획득한다.
제1 단말 디바이스의 키 관리 모듈은 파일에 대응하는 복호화 키를 획득하고, 복호화 키에 대응하는 제1 보안 상태를 획득할 수 있다.
1912: 제1 단말 디바이스는 현재 보안 상태를 획득한다.
1913: 현재 보안 상태가 제1 보안 상태 이상일 때, 제1 단말 디바이스는 복호화 키를 사용하여 파일을 복호화한다.
단계(1910) 내지 단계(1913)의 특정 구현 원리들에 대해서는, 앞서 말한 방법 실시예들에서의 대응하는 설명들을 참조한다. 세부사항들은 여기서 다시 설명되지 않는다.
도 19a 및 도 19b에서 설명된 방법에 따르면, 제2 단말 디바이스는 암호화 키 및 복호화 키를 생성할 수 있다.
본 발명의 실시예들에서, 디바이스는 앞서 말한 방법 예들에 기반하여 기능 모듈들로 분할될 수 있다. 예를 들어, 각각의 기능 모듈이 각각의 대응하는 기능에 기초한 분할을 통해 획득될 수 있거나, 2개 이상의 기능들이 하나의 모듈로 통합될 수 있다. 통합 모듈은 하드웨어 형태로 구현될 수 있거나, 소프트웨어 기능 모듈 형태로 구현될 수 있다. 본 발명의 실시예들에서, 모듈들로의 분할은 일례이며, 단지 논리적 기능 분할일 뿐이고, 실제 구현에서는 다른 분할일 수 있다는 점이 주목되어야 한다.
도 20은 본 출원의 실시예에 따른 단말 디바이스의 개략적인 구조도이다. 도 20에 도시된 단말 디바이스(2000)는 앞서 말한 방법 실시예들에서 제1 단말 디바이스 또는 제2 단말 디바이스에 의해 수행되는 동작을 수행하도록 구성될 수 있다. 도 20에 도시된 단말 디바이스(2000)는 처리 모듈(2001) 및 통신 모듈(2002)을 포함할 수 있다.
단말 디바이스(2000)가 앞서 말한 방법 실시예들에서 제1 단말 디바이스에 의해 수행되는 동작을 수행하도록 구성될 때,
통신 모듈(2002)은 제2 단말 디바이스로부터 암호화된 파일을 수신하도록 구성되고; 처리 모듈(2001)은 암호화된 파일을 저장하도록 구성되고; 처리 모듈(2001)은 암호화된 파일에 대한 액세스 명령을 수신하도록 추가로 구성되고; 처리 모듈(2001)은 현재 보안 상태를 획득하도록 추가로 구성되고; 처리 모듈(2001)은: 현재 보안 상태가 제1 보안 상태 이상일 때, 복호화 키를 사용하여 파일을 복호화하도록 추가로 구성된다.
처리 모듈(2001)은 키 관리 모듈을 더 포함할 수 있고, 키 관리 모듈은 현재 보안 상태가 제1 보안 상태 이상인지 여부를 결정할 수 있다.
선택적인 구현에서, 제1 보안 상태는 복호화 키에 대응하는 보안 상태이다. 통신 모듈(2002)이 제2 단말 디바이스로부터 암호화된 파일을 수신하기 전에, 통신 모듈(2002)은 제2 단말 디바이스로부터 획득 요청을 수신하도록 추가로 구성된다. 처리 모듈(2001)은 획득 요청에 대한 응답으로 단말 디바이스(200)의 현재 제1 보안 상태를 획득하도록 추가로 구성된다. 통신 모듈(2002)은 제2 단말 디바이스에 제1 보안 상태를 송신하도록 추가로 구성된다.
선택적인 구현에서, 처리 모듈(2001)은 획득 요청에 대한 응답으로 암호화 키 및 복호화 키를 획득하도록 추가로 구성된다. 통신 모듈(2002)은 암호화 키를 제2 단말 디바이스에 송신하도록 추가로 구성된다. 처리 모듈(2001)은 제1 보안 상태와 복호화 키 사이의 대응 관계를 확립하도록 추가로 구성된다. 처리 모듈(2001)은, 통신 모듈(2002)이 제2 단말 디바이스로부터 암호화된 파일을 수신한 후에 파일과 복호화 키 사이의 대응 관계를 확립하도록 추가로 구성된다.
키 관리 모듈은 암호화 키 및 복호화 키를 획득하고, 제1 보안 상태와 복호화 키 사이의 대응 관계를 확립하고, 파일과 복호화 키 사이의 대응 관계를 확립할 수 있다.
선택적인 구현에서, 통신 모듈(2002)은 처리 모듈(2001)이 암호화된 파일에 대한 액세스 명령을 수신하기 전에 제2 단말 디바이스로부터 복호화 키를 수신하도록 추가로 구성된다. 처리 모듈(2001)은: 파일과 복호화 키 사이의 대응 관계를 확립하고, 제1 보안 상태와 복호화 키 사이의 대응 관계를 확립하도록 추가로 구성된다.
키 관리 모듈이 파일과 복호화 키 사이의 대응 관계를 확립하고, 제1 보안 상태와 복호화 키 사이의 대응 관계를 확립할 수 있다.
선택적인 구현에서, 처리 모듈(2001)은 단말 디바이스(200)의 현재 제1 보안 상태를 획득한 후 제1 보안 상태에 대한 서명을 획득하도록 추가로 구성된다. 통신 모듈(2002)이 제2 단말 디바이스에 제1 보안 상태를 송신하는 방식은 구체적으로: 제1 보안 상태, 서명, 및 단말 디바이스(200)의 디바이스 인증서를 제2 단말 디바이스에 송신하는 것이다.
선택적인 구현에서, 처리 모듈(2001)은: 현재 보안 상태가 제1 보안 상태보다 낮으면, 파일이 액세스될 수 없음을 프롬프트하고, 파일이 액세스될 수 없는 이유에 대해 프롬프트하도록 추가로 구성된다.
선택적인 구현에서, 처리 모듈(2001)은: 현재 보안 상태가 제1 보안 상태보다 낮으면, 현재 보안 상태에 기반하여 보안 구성 기능 버튼을 출력하도록 추가로 구성된다.
단말 디바이스(2000)가 앞서 말한 방법 실시예들에서 제2 단말 디바이스에 의해 수행되는 동작을 수행하도록 구성될 때,
통신 모듈(2002)은 제1 단말 디바이스에 획득 요청을 송신하도록 구성되고; 통신 모듈(2002)은 획득 요청에 대한 응답으로 제1 단말 디바이스에 의해 송신되는 제1 단말 디바이스의 제1 보안 상태를 수신하도록 추가로 구성되고; 처리 모듈(2001)은 제1 보안 상태에 기반하여, 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하도록 구성되고; 처리 모듈(2001)은: 처리 모듈(2001)이 제1 보안 상태에 기반하여, 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하면, 암호화 키를 사용함으로써 파일을 암호화하도록 추가로 구성되고; 통신 모듈(2002)은 제1 단말 디바이스에 암호화된 파일을 송신하도록 추가로 구성된다.
선택적인 구현에서, 통신 모듈(2002)은: 처리 모듈(2001)이 제1 보안 상태에 기반하여, 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하기 전에, 획득 요청에 대한 응답으로 제1 단말 디바이스에 의해 송신된 암호화 키를 수신하도록 추가로 구성된다.
선택적인 구현에서, 처리 모듈(2001)은 암호화 키를 사용함으로써 파일을 암호화하기 전에 암호화 키 및 복호화 키를 생성하도록 추가로 구성된다. 통신 모듈(2002)은, 처리 모듈(2001)이 암호화 키 및 복호화 키를 생성한 후에, 제1 단말 디바이스에 복호화 키를 송신하도록 추가로 구성된다.
선택적인 구현에서, 통신 모듈(2002)이 획득 요청에 대한 응답으로 제1 단말 디바이스에 의해 송신되는 제1 단말 디바이스의 제1 보안 상태를 수신하는 방식은 구체적으로: 획득 요청에 대한 응답으로 제1 단말 디바이스에 의해 송신되는 제1 단말 디바이스의 제1 보안 상태, 서명, 및 제1 단말 디바이스의 디바이스 인증서를 수신하는 것이며, 여기서 서명은 제1 보안 상태에 대한 서명이다.
처리 모듈(2001)은 제1 보안 상태 및 제1 단말 디바이스의 디바이스 인증서에 기반하여 서명을 검증하도록 추가로 구성된다. 검증이 성공한다면, 처리 모듈(2001)은 제1 보안 상태에 기반하여, 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정한다.
선택적인 구현에서, 처리 모듈(2001)이 제1 보안 상태에 기반하여, 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하는 방식은 구체적으로: 제1 보안 상태에 기반하여, 제1 단말 디바이스의 보안 상태에 대해 프롬프트하고, 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 프롬프트하는 것; 그리고 사용자의 송신 허용 동작을 수신하면, 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하는 것; 또는 사용자의 송신 취소 동작을 수신하면, 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 결정하는 것이다.
선택적인 구현에서, 처리 모듈(2001)이 제1 보안 상태에 기반하여, 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하는 방식은 구체적으로: 제1 보안 상태가 미리 설정된 보안 상태 이상인지 여부를 결정하는 것; 그리고 제1 보안 상태가 미리 설정된 보안 상태 이상이면, 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용된다고 결정하는 것; 또는 제1 보안 상태가 미리 설정된 보안 상태보다 낮으면, 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 결정하는 것이다.
선택적인 구현에서, 통신 모듈(2002)은: 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 처리 모듈(2001)이 결정하면, 제1 단말 디바이스에 프롬프트 정보를 송신하도록 추가로 구성되며, 여기서 프롬프트는 정보는 제1 단말 디바이스로의 파일의 송신을 취소할 이유에 대해 프롬프트하는 데 사용된다.
선택적인 구현에서, 처리 모듈(2001)은: 단말 디바이스(2000)가 제1 단말 디바이스에 파일을 송신하도록 허용되지 않는다고 결정하면, 제1 단말 디바이스로의 파일의 송신을 취소할 이유 옵션을 출력하도록 추가로 구성된다. 처리 모듈(2001)은 하나의 이유 옵션에 대해 사용자에 의해 수행되는 선택 동작을 수신하도록 추가로 구성되며, 여기서 프롬프트 정보는 선택 동작을 선택할 이유를 포함한다.
선택적인 구현에서, 처리 모듈(2001)은: 통신 모듈(2002)이 제1 단말 디바이스에 획득 요청을 송신하기 전에, 파일을 제1 단말 디바이스에 송신하는 데 사용된 데이터 송신 명령을 수신하도록 추가로 구성된다. 처리 모듈(2001)은 파일이 미리 설정된 보호 타입의 데이터인지 여부를 결정하도록 추가로 구성된다. 파일이 미리 설정된 보호 타입의 데이터라면, 통신 모듈(2002)은 제1 단말 디바이스에 획득 요청을 송신한다.
선택적인 구현에서, 처리 모듈(2001)은: 통신 모듈(2002)이 제1 단말 디바이스에 획득 요청을 송신하기 전에, 파일 송신 모드 옵션들을 출력하고; 파일 송신 모드 옵션들에서 보안 파일 송신 모드의 옵션에 대해 사용자에 의해 수행되는 선택 동작을 수신하고; 그리고 선택 동작에 대한 응답으로 보안 파일 송신 모드에 진입하도록 추가로 구성된다. 통신 모듈(2002)이 제1 단말 디바이스에 획득 요청을 송신하는 방식은 구체적으로: 보안 파일 송신 모드에서 제1 단말 디바이스에 획득 요청을 송신하는 것이다.
동일한 발명의 개념에 기반하여, 본 출원의 실시예들에서 제공되는 단말 디바이스의 문제 해결 원리는 본 출원의 방법 실시예들에서의 제1 단말 디바이스 또는 제2 단말 디바이스의 원리와 유사하다. 따라서 디바이스의 구현들에 대해, 방법의 구현들을 참조한다. 간결성을 위해, 세부 사항들은 본 명세서에서 다시 설명되지 않는다.
앞서 말한 실시예들에서, 실시예들의 설명들은 개개의 초점들을 갖는다는 점이 주목되어야 한다. 실시예에서 상세히 설명되지 않은 부분에 대해서는, 다른 실시예들에서의 관련 설명들을 참조한다.
본 발명의 실시예들에서의 방법들의 단계들은 실제 요건에 기반하여 조정되거나, 결합되거나, 삭제될 수 있다.
본 발명의 실시예들에서의 단말 디바이스의 모듈들은 실제 요건에 기반하여 조합되거나, 분할되거나, 삭제될 수 있다.
앞서 말한 실시예들의 전부 또는 일부는 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 임의의 조합을 사용함으로써 구현될 수 있다. 소프트웨어가 사용되어 실시예들을 구현할 때, 실시예들은 컴퓨터 프로그램 제품의 형태로 완전히 또는 부분적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령들을 포함한다. 컴퓨터 프로그램 명령들이 컴퓨터 상에서 로딩되어 실행될 때, 본 출원의 실시예들에 따른 절차들 또는 기능들의 전부 또는 일부가 생성된다. 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크 또는 다른 프로그래밍 가능 장치일 수 있다. 컴퓨터 명령들은 컴퓨터 판독 가능 저장 매체에 저장될 수 있거나 컴퓨터 판독 가능 저장 매체에서 다른 컴퓨터 판독 가능 저장 매체로 송신될 수 있다. 예를 들어, 컴퓨터 명령들은 유선(예를 들어, 동축 케이블, 광섬유 또는 디지털 가입자 회선) 또는 무선(예를 들어, 적외선, 라디오 또는 마이크로파) 방식으로 웹 사이트, 컴퓨터, 서버 또는 데이터 센터에서 다른 웹 사이트, 컴퓨터, 서버 또는 데이터 센터로 송신될 수 있다. 컴퓨터 판독 가능 저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 사용 가능한 매체, 또는 하나 이상의 사용 가능한 매체를 통합하는 데이터 저장 디바이스, 이를테면 서버 또는 데이터 센터일 수 있다. 사용 가능한 매체는 자기 매체(예를 들어, 플로피 디스크, 저장 디스크 또는 자기 테이프), 광학 매체(예를 들어, DVD), 반도체 매체(예를 들어, 솔리드 스테이트 드라이브(SSD: Solid State Disk)) 등일 수 있다.
마지막으로, 앞서 말한 실시예들은 단지 본 출원을 제한하는 것 이외의 본 출원의 기술적 솔루션들을 설명하기 위한 것으로 의도된다는 점이 주목되어야 한다. 본 출원은 앞서 말한 실시예들을 참조하여 상세히 설명되지만, 당해 기술분야에서 통상의 지식을 가진 자들은 본 출원의 실시예들의 기술적 솔루션들의 범위를 벗어나지 않으면서, 이들이 여전히 앞서 말한 실시예들에서 설명된 기술적 솔루션들을 수정하거나 이들의 일부 또는 모든 기술적 특징들에 대해 동등한 대체들을 행할 수 있다고 이해해야 한다.

Claims (20)

  1. 파일 처리 방법으로서,
    제1 단말 디바이스가 제2 단말 디바이스로부터 획득 요청을 수신하는 단계;
    상기 획득 요청에 대한 응답으로, 상기 제1 단말 디바이스가 상기 제1 단말 디바이스의 제1 보안 상태를 획득하는 단계 - 상기 제1 보안 상태는 복호화 키에 대응하는 보안 상태임 -;
    상기 제1 단말 디바이스가 상기 제2 단말 디바이스에 암호화 키 및 상기 제1 보안 상태를 송신하는 단계;
    상기 제1 단말 디바이스가 상기 제2 단말 디바이스로부터 암호화된 파일을 수신하는 단계;
    상기 제1 단말 디바이스가 상기 암호화된 파일을 저장하는 단계;
    상기 제1 단말 디바이스가 상기 제1 보안 상태와 상기 복호화 키 사이의 대응 관계를 확립하는 단계;
    상기 제1 단말 디바이스가 상기 암호화된 파일에 대한 액세스 명령을 수신하는 단계;
    상기 제1 단말 디바이스가 현재 보안 상태를 획득하는 단계; 및
    상기 현재 보안 상태가 상기 제1 보안 상태 이상일 때, 상기 제1 단말 디바이스가 상기 복호화 키를 사용하여 상기 암호화된 파일을 복호화하는 단계
    를 포함하는 파일 처리 방법.
  2. 제1항에 있어서,
    상기 제1 단말 디바이스가 상기 암호화된 파일에 대한 액세스 명령을 수신하는 단계 전에, 상기 파일 처리 방법은:
    상기 제1 단말 디바이스가 상기 제2 단말 디바이스로부터 상기 복호화 키를 수신하는 단계; 및
    상기 제1 단말 디바이스가 상기 암호화된 파일과 상기 복호화 키 사이의 대응 관계를 확립하고, 상기 제1 보안 상태와 상기 복호화 키 사이의 대응 관계를 확립하는 단계
    를 더 포함하는, 파일 처리 방법.
  3. 제1항에 있어서,
    상기 제1 단말 디바이스의 제1 보안 상태를 획득하는 단계 이후, 상기 파일 처리 방법은 상기 제1 단말 디바이스가 상기 제1 보안 상태에 대한 서명을 획득하는 단계를 더 포함하고,
    상기 제1 단말 디바이스가 상기 제2 단말 디바이스에 암호화 키 및 상기 제1 보안 상태를 송신하는 단계는, 상기 제1 단말 디바이스가 상기 제1 보안 상태, 상기 서명, 및 상기 제1 단말 디바이스의 디바이스 인증서를 상기 제2 단말 디바이스에 송신하는 단계를 포함하는,
    파일 처리 방법.
  4. 제1항에 있어서,
    상기 현재 보안 상태가 상기 제1 보안 상태보다 낮으면, 상기 제1 단말 디바이스가 상기 암호화된 파일이 액세스될 수 없음을 프롬프트(prompt)하고, 상기 암호화된 파일이 액세스될 수 없는 이유에 대해 프롬프트하는 단계를 더 포함하는 파일 처리 방법.
  5. 제4항에 있어서,
    상기 현재 보안 상태가 상기 제1 보안 상태보다 낮으면, 상기 제1 단말 디바이스가 상기 현재 보안 상태에 기반하여 보안 구성 기능 버튼을 출력하는 단계를 더 포함하는 파일 처리 방법.
  6. 파일 처리 방법으로서,
    제2 단말 디바이스가 제1 단말 디바이스에 획득 요청을 송신하는 단계;
    상기 제2 단말 디바이스가, 상기 획득 요청에 대한 응답으로 상기 제1 단말 디바이스에 의해 송신되는 상기 제1 단말 디바이스의 제1 보안 상태 및 암호화 키를 수신하는 단계;
    상기 제2 단말 디바이스가 상기 제1 보안 상태에 기반하여, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하는 단계;
    상기 제2 단말 디바이스가 상기 제1 보안 상태에 기반하여, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 상기 파일을 송신하도록 허용된다고 결정하면, 상기 제2 단말 디바이스가 상기 암호화 키를 사용함으로써 상기 파일을 암호화하는 단계; 및
    상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 상기 암호화된 파일을 송신하는 단계
    를 포함하는 파일 처리 방법.
  7. 제6항에 있어서,
    상기 제2 단말 디바이스가 상기 제1 보안 상태에 기반하여, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하는 단계 전에, 상기 제2 단말 디바이스가 상기 획득 요청에 대한 응답으로 상기 제1 단말 디바이스에 의해 송신된 암호화 키를 수신하는 단계를 더 포함하는 파일 처리 방법.
  8. 제6항에 있어서,
    상기 제2 단말 디바이스가 상기 암호화 키를 사용함으로써 상기 파일을 암호화하는 단계 전에, 상기 파일 처리 방법은 상기 제2 단말 디바이스가 상기 암호화 키 및 복호화 키를 생성하는 단계를 더 포함하고;
    상기 제2 단말 디바이스가 상기 암호화 키 및 복호화 키를 생성하는 단계 이후, 상기 파일 처리 방법은 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 상기 복호화 키를 송신하는 단계를 더 포함하는,
    파일 처리 방법.
  9. 제6항에 있어서,
    상기 제2 단말 디바이스가, 상기 획득 요청에 대한 응답으로 상기 제1 단말 디바이스에 의해 송신되는 상기 제1 단말 디바이스의 제1 보안 상태 및 암호화 키를 수신하는 단계는:
    상기 제2 단말 디바이스가 상기 획득 요청에 대한 응답으로 상기 제1 단말 디바이스에 의해 송신되는 상기 제1 단말 디바이스의 제1 보안 상태, 서명, 및 상기 제1 단말 디바이스의 디바이스 인증서를 수신하는 단계를 포함하며,
    상기 서명은 상기 제1 보안 상태에 대한 서명이고,
    상기 파일 처리 방법은:
    상기 제2 단말 디바이스가 상기 제1 보안 상태 및 상기 제1 단말 디바이스의 디바이스 인증서에 기반하여 상기 서명을 검증하는 단계; 및
    상기 검증이 성공한다면, 상기 제2 단말 디바이스가 상기 제1 보안 상태에 기반하여, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하는 단계를 수행하는 단계
    를 더 포함하는, 파일 처리 방법.
  10. 제6항에 있어서,
    상기 제2 단말 디바이스가 상기 제1 보안 상태에 기반하여, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하는 단계는:
    상기 제2 단말 디바이스가 상기 제1 보안 상태에 기반하여 상기 제1 단말 디바이스의 보안 상태에 대해 프롬프트하고, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 상기 파일을 송신하도록 허용되는지 여부를 프롬프트하는 단계; 및
    상기 제2 단말 디바이스가 사용자의 송신 허용 동작을 수신하면, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 상기 파일을 송신하도록 허용된다고 상기 제2 단말 디바이스가 결정하는 단계; 또는 상기 제2 단말 디바이스가 사용자의 송신 취소 동작을 수신하면, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 상기 파일을 송신하도록 허용되지 않는다고 상기 제2 단말 디바이스가 결정하는 단계
    를 포함하는, 파일 처리 방법.
  11. 제6항에 있어서,
    상기 제2 단말 디바이스가 상기 제1 보안 상태에 기반하여, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 파일을 송신하도록 허용되는지 여부를 결정하는 단계는:
    상기 제1 보안 상태가 미리 설정된 보안 상태 이상인지 여부를 상기 제2 단말 디바이스가 결정하는 단계; 및
    상기 제1 보안 상태가 상기 미리 설정된 보안 상태 이상이면, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 상기 파일을 송신하도록 허용된다고 상기 제2 단말 디바이스가 결정하는 단계; 또는 상기 제1 보안 상태가 상기 미리 설정된 보안 상태보다 낮으면, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 상기 파일을 송신하도록 허용되지 않는다고 상기 제2 단말 디바이스가 결정하는 단계
    를 포함하는, 파일 처리 방법.
  12. 제6항에 있어서,
    상기 파일 처리 방법은, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 상기 파일을 송신하도록 허용되지 않는다고 상기 제2 단말 디바이스가 결정하면, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 프롬프트 정보를 송신하는 단계를 더 포함하며,
    상기 프롬프트 정보는 상기 제1 단말 디바이스로의 상기 파일의 송신을 취소할 이유에 대해 프롬프트하는 데 사용되는,
    파일 처리 방법.
  13. 제12항에 있어서,
    상기 파일 처리 방법은,
    상기 제2 단말 디바이스가 상기 제1 단말 디바이스에 상기 파일을 송신하도록 허용되지 않는다고 결정하면, 상기 제2 단말 디바이스가 상기 제1 단말 디바이스로의 상기 파일의 송신을 취소할 이유 옵션을 출력하는 단계; 및
    상기 제2 단말 디바이스가 상기 이유 옵션에 대해 사용자에 의해 수행되는 선택 동작을 수신하는 단계
    를 더 포함하며,
    상기 프롬프트 정보는 상기 선택 동작을 선택할 이유를 포함하는,
    파일 처리 방법.
  14. 제6항에 있어서,
    상기 제2 단말 디바이스가 제1 단말 디바이스에 획득 요청을 송신하는 단계 전에, 상기 파일 처리 방법은,
    상기 제2 단말 디바이스는 상기 제1 단말 디바이스에 상기 파일을 송신하는 데 사용된 데이터 송신 명령을 수신하는 단계;
    상기 제2 단말 디바이스가 상기 파일이 미리 설정된 보호 타입의 데이터인지 여부를 결정하는 단계; 및
    상기 파일이 상기 미리 설정된 보호 타입의 데이터라면, 상기 제2 단말 디바이스가 제1 단말 디바이스에 획득 요청을 송신하는 단계를 수행하는 단계
    를 더 포함하는, 파일 처리 방법.
  15. 제6항에 있어서,
    상기 제2 단말 디바이스가 제1 단말 디바이스에 획득 요청을 송신하는 단계 전에, 상기 파일 처리 방법은,
    상기 제2 단말 디바이스가 파일 송신 모드 옵션을 출력하는 단계;
    상기 제2 단말 디바이스가 상기 파일 송신 모드 옵션에서 보안 파일 송신 모드의 옵션에 대해 사용자에 의해 수행되는 선택 동작을 수신하는 단계; 및
    상기 제2 단말 디바이스가 상기 선택 동작에 대한 응답으로 상기 보안 파일 송신 모드에 진입하는 단계
    를 더 포함하고,
    상기 제2 단말 디바이스가 제1 단말 디바이스에 획득 요청을 송신하는 단계는, 상기 제2 단말 디바이스가 상기 보안 파일 송신 모드에서 상기 제1 단말 디바이스에 상기 획득 요청을 송신하는 단계를 포함하는,
    파일 처리 방법.
  16. 단말 디바이스로서,
    컴퓨터 판독 가능 명령들을 포함하는 메모리; 및
    상기 메모리에 연결된 프로세서
    를 포함하며,
    상기 프로세서는 상기 컴퓨터 판독 가능 명령들을 실행하여, 상기 단말 디바이스가 제1항 내지 제5항 중 어느 한 항에 따른 방법을 수행하도록 구성되는,
    단말 디바이스.
  17. 단말 디바이스로서,
    컴퓨터 판독 가능 명령들을 포함하는 메모리; 및
    상기 메모리에 연결된 프로세서를 포함하며,
    상기 프로세서는 상기 컴퓨터 판독 가능 명령들을 실행하여, 상기 단말 디바이스가 제6항 내지 제15항 중 어느 한 항에 따른 방법을 수행하도록 구성되는,
    단말 디바이스.
  18. 통신 시스템으로서,
    제1 단말 디바이스 및 제2 단말 디바이스를 포함하며,
    상기 제1 단말 디바이스는,
    컴퓨터 판독 가능 명령들을 포함하는 메모리; 및
    상기 제1 단말 디바이스의 메모리에 연결된 프로세서
    를 포함하며,
    상기 제1 단말 디바이스의 프로세서는 상기 제1 단말 디바이스의 컴퓨터 판독 가능 명령들을 실행하여, 상기 제1 단말 디바이스가 제1항 내지 제5항 중 어느 한 항에 따른 방법을 수행하도록 구성되고,
    상기 제2 단말 디바이스는,
    컴퓨터 판독 가능 명령들을 포함하는 메모리; 및
    상기 제2 단말 디바이스의 메모리에 연결된 프로세서를 포함하며,
    상기 제2 단말 디바이스의 프로세서는 상기 제2 단말 디바이스의 컴퓨터 판독 가능 명령들을 실행하여, 상기 제2 단말 디바이스가 제6항 내지 제15항 중 어느 한 항에 따른 방법을 수행하도록 구성되는,
    통신 시스템.
  19. 삭제
  20. 삭제
KR1020217027050A 2019-02-28 2019-02-28 파일 처리 방법 및 단말 디바이스 KR102566275B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/076567 WO2020172874A1 (zh) 2019-02-28 2019-02-28 一种文件处理方法及终端设备

Publications (2)

Publication Number Publication Date
KR20210116644A KR20210116644A (ko) 2021-09-27
KR102566275B1 true KR102566275B1 (ko) 2023-08-10

Family

ID=72238258

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217027050A KR102566275B1 (ko) 2019-02-28 2019-02-28 파일 처리 방법 및 단말 디바이스

Country Status (5)

Country Link
US (1) US20220147641A1 (ko)
EP (1) EP3907930B1 (ko)
KR (1) KR102566275B1 (ko)
CN (1) CN112262548B (ko)
WO (1) WO2020172874A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113408016B (zh) * 2021-05-24 2022-07-05 荣耀终端有限公司 保存密文的方法和装置
CN113660156B (zh) * 2021-08-09 2022-10-21 覃飞 一种传输文件的处理方法、装置、电子设备及存储介质
CN115174136B (zh) * 2022-05-23 2024-02-02 北京旷视科技有限公司 数据获取和数据传送方法、终端、服务器及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989082B1 (ko) * 2008-08-07 2010-10-25 한국전자통신연구원 이동 단말간 보안 상황 정보 교환 방법 및 그 장치
CN103390026A (zh) * 2013-06-20 2013-11-13 中国软件与技术服务股份有限公司 一种移动智能终端安全浏览器及其工作方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1205855A3 (en) * 2000-11-10 2006-01-25 Masae Yanagi Data managing method, data managing system, data managing apparatus, data handling apparatus, computer program, and recording medium
US7921284B1 (en) * 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
KR100499664B1 (ko) * 2002-07-29 2005-07-05 테라피정보통신 주식회사 보안 핸드프리키트와 공개키 기반구조를 이용한 보안 통신시스템 및 방법
US7607006B2 (en) * 2004-09-23 2009-10-20 International Business Machines Corporation Method for asymmetric security
US8325927B2 (en) * 2008-01-28 2012-12-04 Seagate Technology Llc Anchor point-based digital content protection with an escrow anchor point
JP2010218428A (ja) * 2009-03-18 2010-09-30 Buffalo Inc 外付け記憶装置及びその制御方法
US8826013B1 (en) * 2009-09-23 2014-09-02 Trend Micro Incorporated Protection of customer data in cloud virtual machines using a central management server
CN101938459A (zh) * 2010-06-22 2011-01-05 北京豪讯美通科技有限公司 全程全网安全协同防御系统
US8990554B2 (en) * 2011-06-30 2015-03-24 Verizon Patent And Licensing Inc. Network optimization for secure connection establishment or secure messaging
US8892875B1 (en) * 2011-07-29 2014-11-18 Trend Micro Incorporated Methods and apparatus for controlling access to encrypted computer files
CN103117853B (zh) * 2011-11-16 2016-05-18 航天信息股份有限公司 一种安全存储装置帐户输入及认证方法
US8799634B2 (en) * 2011-12-23 2014-08-05 Blackberry Limited Method and system for temporarily reconfiguring system settings of a computing device during execution of a software application
CN103475463B (zh) * 2013-08-19 2017-04-05 华为技术有限公司 加密实现方法及装置
KR102195900B1 (ko) * 2013-12-20 2020-12-29 삼성전자주식회사 단말간 암호화된 메시지를 송수신하는 방법 및 장치
CN105335672B (zh) * 2014-06-16 2020-12-04 华为技术有限公司 一种安全模式提示方法及装置
US10229272B2 (en) * 2014-10-13 2019-03-12 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
CN105634737B (zh) * 2014-10-31 2020-03-20 腾讯科技(深圳)有限公司 一种数据传输方法、终端及其系统
CN105550866B (zh) * 2015-05-30 2020-05-19 宇龙计算机通信科技(深圳)有限公司 一种安全控制方法及装置
JP2017092722A (ja) * 2015-11-11 2017-05-25 直人 ▲高▼野 ファイルの送受信システム
CN106203137B (zh) * 2016-07-06 2019-01-25 广州永霸信息科技股份有限公司 一种机密文件访问安全系统
US10706172B2 (en) * 2017-05-24 2020-07-07 Insyde Software Corp. Controlled device, security management method, and security management system
CN107425970A (zh) * 2017-09-27 2017-12-01 郑州云海信息技术有限公司 一种p2p网络的文件传输方法、发送端、接收端及介质
US10917408B2 (en) * 2018-03-15 2021-02-09 Fuji Xerox Co., Ltd. Secure document management through verification of security states of information processing apparatuses in peer-to-peer transmission of encrypted documents
CN108959943B (zh) * 2018-06-29 2020-06-05 北京百度网讯科技有限公司 用于管理加密密钥的方法、装置、设备、存储介质以及相应车辆
US11025638B2 (en) * 2018-07-19 2021-06-01 Forcepoint, LLC System and method providing security friction for atypical resource access requests
JP2021157250A (ja) * 2020-03-25 2021-10-07 富士フイルムビジネスイノベーション株式会社 ドキュメント管理システム、処理端末装置及び制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100989082B1 (ko) * 2008-08-07 2010-10-25 한국전자통신연구원 이동 단말간 보안 상황 정보 교환 방법 및 그 장치
CN103390026A (zh) * 2013-06-20 2013-11-13 中国软件与技术服务股份有限公司 一种移动智能终端安全浏览器及其工作方法

Also Published As

Publication number Publication date
EP3907930B1 (en) 2023-04-26
KR20210116644A (ko) 2021-09-27
CN112262548B (zh) 2022-01-14
EP3907930A4 (en) 2022-01-19
US20220147641A1 (en) 2022-05-12
EP3907930A1 (en) 2021-11-10
CN112262548A (zh) 2021-01-22
WO2020172874A1 (zh) 2020-09-03

Similar Documents

Publication Publication Date Title
US20220156391A1 (en) File access right authentication method and electronic device
EP3731488B1 (en) Login information processing method and device
EP2875463B1 (en) Method and system for browser identity
WO2018228199A1 (zh) 一种授权方法以及相关设备
KR102566275B1 (ko) 파일 처리 방법 및 단말 디바이스
WO2021159765A1 (zh) 一种账号数据共享方法及电子设备
WO2020024929A1 (zh) 对电子身份证的业务适用范围进行升级的方法和终端设备
EP4102368A1 (en) Cross-device application calling method and electronic device
US20140258734A1 (en) Data security method and electronic device implementing the same
CN110941821A (zh) 数据处理方法、装置及存储介质
EP4213026A1 (en) Fault detection method and electronic terminal
WO2020175884A1 (en) Device and method for authenticating application in execution environment in trust zone
CN110602689B (zh) 一种设备安全操作的方法和装置
CN113468606A (zh) 一种应用程序的访问方法及电子设备
KR20140108607A (ko) 보안 데이터 운용 방법 및 이를 지원하는 단말기
US20140259155A1 (en) Process authentication method and electronic device implementing the same
KR20160123574A (ko) 외부 디바이스에게 태스크 실행을 요청하는 디바이스 및 그 방법
US20210326492A1 (en) Transaction security processing method and apparatus, and terminal device
CN110140124B (zh) 分组应用使用同一密钥共享数据
EP4261715A1 (en) Password reset method and apparatus, and electronic device
KR20140127124A (ko) 시스템 자원에 대한 접근을 관리하는 전자 장치
CN113850633B (zh) 信息推送方法和装置
CN116933219A (zh) 应用程序权限管理方法、系统及相关装置
CN117131533A (zh) 打开文件的方法和电子设备
CN116049812A (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