KR20160083128A - 암호화된 통신을 위한 방법 및 시스템 - Google Patents

암호화된 통신을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20160083128A
KR20160083128A KR1020167017128A KR20167017128A KR20160083128A KR 20160083128 A KR20160083128 A KR 20160083128A KR 1020167017128 A KR1020167017128 A KR 1020167017128A KR 20167017128 A KR20167017128 A KR 20167017128A KR 20160083128 A KR20160083128 A KR 20160083128A
Authority
KR
South Korea
Prior art keywords
key
session
session key
peripheral device
communication
Prior art date
Application number
KR1020167017128A
Other languages
English (en)
Other versions
KR101941049B1 (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 KR20160083128A publication Critical patent/KR20160083128A/ko
Application granted granted Critical
Publication of KR101941049B1 publication Critical patent/KR101941049B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/0464Network 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 using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/3827Portable transceivers
    • H04B1/385Transceivers carried on the body, e.g. in helmets
    • 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/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72527
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/724094Interfacing with a device worn on the user's body to provide access to telephonic functionalities, e.g. accepting a call, reading or composing a message
    • H04M1/724095Worn on the wrist, hand or arm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/724094Interfacing with a device worn on the user's body to provide access to telephonic functionalities, e.g. accepting a call, reading or composing a message
    • H04M1/724097Worn on the head
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Power Engineering (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

서버와 주변 장치 간 암호화된 통신 방법 및 장치가 개시된다. 상기 방법은: 서버가 제어 장치로부터 세션 요청을 수신하고-상기 세션 요청은 상기 제어 장치와 연관된 상기 주변 장치의 미리 설정된 장치 ID를 포함함; 상기 주변 장치와 서버 간 향후 통신의 암호화 및 복호화를 위한 제1 세션 키를 생성하는 단계; 데이터 베이스로부터 상기 미리 설정된 장치 ID에 대응하는 미리 저장된 암호화 키를 식별하는 단계-상기 미리 저장된 암호화 키는 상기 주변 장치에도 미리 저장됨; 상기 미리 저장된 암호화 키를 사용해서 상기 제1 세션 키를 암호화하는 단계; 상기 제어 장치를 통해 상기 주변 장치로 암호화된 제1 세션 키를 전송하는 단계; 및 상기 제1 세션 키를 사용해서 각 통신 세션에서 상기 주변 장치로의 통신을 암호화하는 단계를 포함한다.

Description

암호화된 통신을 위한 방법 및 시스템{METHOD AND SYSTEM FOR ENCRYPTED COMMUNICATIONS}
본 출원은 2014년 3월 11일자 중국특허출원 제201410087935.8의 "암호화된 통신 방법, 시스템 및 장치"의 우선권을 주장하며, 이것의 전체가 참조로서 본 명세서에 포함된다.
본 발명은 인터넷 기술에 관한 것으로, 더 상세하게는, 본 발명은 암호화된 통신 방법, 시스템, 및 장치에 관한 것이다.
인공 지능 시계, 인공 지능 안경, 헤드셋과 같이 착용 가능한 장치는 스마트 폰에 매치하기 어려운 편리함과 기능을 제공할 수 있는 큰 가능성을 갖고 있다. 그러나, 디자인, 크기, 사양의 제한으로 인해, 착용 가능한 장치는 스마트 폰과 같은 다양한 연결 기술 지원이 어려울 수 있다. 그로 인해, 착용 가능한 장치는 원격 서버와의 연결을 제공하기 위해 스마트 폰을 이용할 수 있다. 착용 가능한 장치와 서버는 스마트 폰을 통해 통신하고 스마트 폰은 이러한 통신을 대상 서버와 착용 가능한 장치로 전달한다.
또한, 태블릿, 스마트 폰, 랩 탑, 착용 가능한 장치, 데스크 탑 컴퓨터와 같은 컴퓨터 장치는 특정 환경에서 인터넷에 연결될 수 없기 때문에 인터넷 연결을 위해 다른 컴퓨터 장치를 이용해야 한다. 예를 들어, 랩 탑은 유에스비(USB) 케이블을 통해 스마트 폰과 연결되어 스마트 폰의 데이터 방식을 통해 인터넷에 접속한다.
이 두 경우 모두, 통신 중에 있는 컴퓨터 장치의 다른 계층의 추가로 인해, 통신 보안을 위협받을 수 있다. 예를 들어, 스마트 폰의 보안은 스마트 폰과 서버 사이의 통신을 방해할 수 있는 악성 소프트웨어에 취약할 수 있다. 보안 연결은 특히 민감한 데이터 통신이 이뤄질 때 더 불안정해진다. 일 예로, 착용 가능한 장치는 클라우드에 있는 서버로 개인 건강 정보를 전달할 수 있다. 또 다른 예로, 사용자는 태블릿을 통해 인터넷에 연결된 랩 탑을 사용해서 은행 계좌에 접속한다.
따라서, 인터넷 연결을 제공하는 장치로부터의 통신 장애 위험에 대한 면역이 있는 암호화된 통신 방법을 장치와 서버 사이에 구축하는 것이 바람직하다.
본 발명은 전술한 문제점을 감안하여 이루어진 것이다.
상기 개시된 기술의 일부 구현 예에 따르면, 서버와 주변 장치 간 암호화된 통신 방법이 개시된다. 상기 방법은: 서버가 제어 장치(예를 들어, 도 5의 클라이언트 장치)로부터 세션 요청을 수신하고-상기 세션 요청은 상기 제어 장치와 연관된 상기 주변 장치의 미리 설정된 장치 ID를 포함함; 상기 세션 요청에 대한 응답으로, 상기 주변 장치와 서버 간 향후 통신의 암호화 및 복호화를 위한 제1 세션 키를 생성하는 단계; 상기 미리 설정된 장치 ID에 따라, 데이터 베이스로부터 상기 미리 설정된 장치 ID에 대응하는 미리 저장된 암호화 키를 식별하는 단계-상기 미리 저장된 암호화 키도 상기 주변 장치에 미리 저장됨; 상기 미리 저장된 암호화 키를 사용해서 상기 제1 세션 키를 암호화하는 단계; 상기 제어 장치를 통해 상기 주변 장치로 암호화된 제1 세션 키를 전송하는 단계-상기 암호화된 제1 세션 키는 상기 미리 저장된 암호화 키를 사용해서 상기 주변 장치에 의해 복호화되도록 구성됨; 및 상기 제1 세션 키를 사용해서 각 통신 세션에서 상기 주변 장치로의 통신을 암호화하는 단계를 포함한다.
다른 측면에서, 장치(예를 들어, 도 5의 서버)는 하나 이상의 프로세서, 메모리, 및 상기 메모리에 저장된 하나 이상의 프로그램 모듈을 포함한다. 상기 하나 이상의 프로그램 모듈은 상기 하나 이상의 프로세서에 의해 실행되며, 앞서 설명된 방법을 수행하기 위한 명령어들을 포함한다. 다른 측면에서, 명령어가 저장된 비 일시적인 컴퓨터 판독 가능한 저장 매체가 제공되며, 상기 명령어가 장치에 의해 실행되면, 상기 장치가 앞서 설명한 방법을 수행하도록 한다.
상기 클라이언트 장치와 주변 장치에 수행되는 대응 방법들 역시 개시되고/개시되거나, 여기에 제공되는 개시에 비추어 자명하다. 여기에 개시된 상기 방법의 다른 양상 및 장점은 다음의 개시에 비추어 명백하다.
앞서 언급된 본 출원의 특징과 장점뿐만 아니라 추가적인 특징 및 장점은 도면과 함께 바람직한 실시예의 상세한 설명의 결과로 이후 더 분명히 이해될 것이다.
일부 실시예에 따른 혹은 더 분명히 선행 기술에서 상기 기술의 과제를 도시하기 위해, 다음에서 간략하게 소개되는 참조 도면은 실시예나 선행 기술을 설명하기 위해 요구되는 도면이다. 명백히, 아래 설명의 첨부 도면은 단지 본 출원의 일부 실시예일 뿐이며, 해당 분야의 기술자가 창의적인 시도 없이 동반된 도면으로부터 다른 도면을 유도할 수도 있을 것이다.
도 1은 일부 실시예에 따른 암호화된 통신 방법의 개략적인 도면이다.
도 2는 일부 실시예에 따른 암호화된 통신 방법의 개략적인 도면이다.
도 3과 도 4는 일부 실시예에 따른 선택 가능한 데이터 전송의 개략적인 도면이다.
도 5는 일부 실시예에 따른 암호화된 통신 시스템의 개략적인 구조를 나타내는 도면이다.
도 6은 일부 실시예에 따른 서버와 주변 장치 사이의 암호화된 통신 방법의 개략적인 순서도이다.
도 7은 일부 실시예에 따른 서버의 구현 예를 도시한다.
도 8은 일부 실시예에 따른 암호화된 통신 클라이언트(제어 장치)의 개략적인 구조를 도시한다.
도 9는 일부 실시예에 따른 또 다른 암호화된 통신 클라이언트(제어 장치)의 개략적인 구조를 도시한다.
도 10은 일부 실시예에 따른 암호화 통신 장치(주변 장치)의 개략적인 구조를 도시한다.
도면의 여러 관점에서 동일한 참조 부호가 그에 대응하는 부분들을 언급한다.
참조로 실시예에서 상세하게 설명될 것이며, 이에 대한 예는 첨부된 도면에 도시된다. 아래 상세 설명에서, 여기에 표현되는 주제의 전반적인 이해를 돕기 위해 많은 상세한 설명들이 설정될 것이다. 그러나, 이러한 상세한 설명 없이도 상기 주제에 해당되는 업자에게 숙지될 수 있음이 분명할 것이다. 다른 예로, 알려진 방법, 프로시저, 구성요소, 및 회로는 실시예의 양상에 불필요한 혼란을 방지하기 위해 더 상세히 설명되지 않는다.
상기 기술의 과제는 일부 실시예에 따라 첨부 도면을 참조로 분명하고 완전하게 아래에서 설명된다. 명백하게, 설명되는 실시예들은 본 출원의 일시 예의 전부라기보다는 단지 일 부분에 불과하다. 본 출원의 실시예에 기초하여 하는 해당 분야의 기술자에 의해 창의적인 노력없이 구현되는 모든 다른 실시예들은 본 출원의 보호 범위 내에서 제외되어야 한다.
일부 실시예에 따르면, 클라이언트는, 예를 들어, 인스턴트 메시징 클라이언트, 게임 클라이언트, 오디오-비디오 클라이언트, 사진 처리 클라이언트, 또는 이메일 클라이언트와 같이 제어 장치(control device)에서 실행되는 클라이언트 소프트웨어일 수 있다. 추가로, 상기 제어 장치는 태블릿 컴퓨터, 모바일 폰, 전자 리더기, 원격조절기, 개인 컴퓨터(PC), 노트북 컴퓨터, 자동차 장착 장치, 네트워크 TV, 혹은 착용 가능한 장치와 같이 네트워크 기능을 갖는 인공지능 장치이다. 그리고, 주변 장치는 이어폰, 마이크로 폰, 사운드 박스, 자동차 장착 장치, 네트워크 TV, 착용 가능 장치, 태블릿 컴퓨터, 모바일 폰, 전자 리더기, 또는 원격 조절기와 같이 클라이언트와 통신 가능한 장치 중 하나 일 수 있다.
도 1은 일부 실시예에 따른 암호화된 통신 방법을 개략적으로 도시한다. 도 1에서와 같이, 상기 방법은 다음과 같은 단계를 포함한다.
일부 실시예에 따르면, 단계 S101에서, 클라이언트는 서버에서 주변 장치의 식별자(identifier, ID)를 전송한다.
또는, 상기 클라이언트는 상기 주변 장치가 전송한 장치 ID를 수신할 수 있고, 근거리 주변 장치에서 전송된 장치 ID도 수신할 수 있다.
일부 실시예에 따르면, S102 단계에서, 상기 서버는 상기 주변 장치에 대응하는 제1 키를 획득하고, 암호화 결과를 구하기 위해 상기 제1 키를 사용해서 제2 키를 암호화하고, 상기 클라이언트에게 상기 제1 키와 상기 암호화 결과를 전송한다. 여기서, 상기 제2 키는 상기 주변 장치를 위해 상기 서버에 의해 생성된 키이다.
혹은, 상기 서버는 상기 주변 장치에 대응하는 제1 키를 미리 획득할 수 있다. 예를 들어, 상기 서버는 상기 주변 장치를 위한 제1 키를 미리 생성하거나, 상기 주변 장치와 미리 조정하여 상기 제1 키를 생성할 수 있다. 상기 주변 장치의 장치 ID를 수신한 후에, 상기 서버는 상기 주변 장치에 대응하는 제1 키를 근거리에서 검색하여, 상기 제1 키를 사용해서 상기 제2 키를 암호화하여 상기 암호화 결과를 획득할 수 있다. 암호화 방식은, 고급 암호화 표준(advanced encryption standard, AES)를 포함하나, 이에 제한되지 않는다. 예를 들어, 암호화는 AES-128 표준 또는 AES-256 표준을 사용해서 수행된다. 또한, 상기 제2 키는 상기 서버가 제1 키를 획득한 후에 상기 주변 장치를 위해 생성한 키일 수 있으며, 특정 시간 내에서만 유효하다.
일부 실시예에 따르면, S103 단계에서, 상기 클라이언트는 상기 암호화 결과를 상기 주변 장치로 전송하고 상기 제2 키를 저장한다.
일부 실시예에 따르면, S104 단계에서, 상기 주변 장치는 상기 제2 키를 획득하기 위해 미리 획득한 상기 제1 키를 사용해서 상기 암호화 키를 복호화한다.
상기 주변 장치는 예를 들어, 상기 서버가 전송한 상기 제1 키를 수신하거나, 상기 제1 키를 생성하기 위해 미리 서버와 조절하여 상기 제1 키를 획득할 수 있다. 상기 암호화 결과를 획득한 후, 상기 주변 장치는 상기 제2 키를 구하기 위해 상기 제1 키를 사용해서 상기 암호화 결과를 복호화할 수 있다.
일부 실시예에 따르면, S105 단계에서, 상기 주변 장치는 암호화된 통신 데이터를 구하기 위해 상기 제2 키를 사용해서 통신 데이터를 암호화하고, 상기 암호화된 통신 데이터를 상기 클라이언트에게 전송한다.
일부 실시예에서, S106 단계에서, 상기 클라이언트는 상기 통신 데이터를 구하기 위해 상기 제2 키를 사용해서 상기 부호화된 통신 데이터를 복호화한다.
혹은, 상기 방법은: S107 단계에서, 상기 클라이언트가 상기 서버에서 송신한 통신 데이터를 수신하고, 상기 부호화된 통신 데이터를 획득하기 위해 상기 제2 키를 사용해서 통신 데이터를 부호화하고, 상기 부호화된 통신 데이터를 상기 주변 장치로 전송하는 단계; 및 S108 단계에서, 상기 주변 장치가 상기 통신 데이터를 획득하기 위해 상기 제2 키를 사용해서 상기 부호화된 통신 데이터를 복호화하는 단계를 포함한다.
혹은, 상기 서버는 상기 클라이언트에게 자원을 제공하는 서버일 수 있다. 예를 들어, 상기 클라이언트는 인스턴트 메시지 애플리케이션이고 상기 서버는 인스턴트 메시지 서버일 수 있다. 상기 클라이언트는 게임 클라이언트이고 상기 서버는 게임 서버일 수 있다. 혹은, 상기 서버는 상기 클라이언트에 의해 인증된 서버일 수 있다. 이 경우, 상기 클라이언트와 서버 간의 통신이 보안되어 있을 때, 상기 클라이언트와 상기 서버 간 전송된 데이터는 암호화될 필요가 없고, 상기 주변 장치와 상기 클라이언트 간 전송된 데이터만 암호화하여 통신 데이터 보안을 보증하는 전제 조건 아래 상기 클라이언트와 상기 서버의 전원 소모를 절약할 수 있다.
도 2는 일부 실시 에에 따른 다른 암호화된 통신 방법을 개략적으로 도시한다. 도 2에서와 같이, 상기 방법은 아래와 같은 단계를 포함한다.
일부 실시예에 따르면, S201 단계에서, 클라이언트는 주변 장치에 디스플레이된 그래픽 코드를 스캔하고, 코드 정보를 얻기 위해 상기 그래픽 코드를 복호화하고, 상기 코드 정보를 서버로 전송한다. 여기서, 상기 코드 정보는 상기 주변 장치를 위해 상기 서버가 생성한 문자 정보이다.
혹은, 상기 서버는 상기 코드 정보를 상기 주변 장치에 미리 할당할 수 있다. 상기 코드 정보는 상기 주변 장치에 일대일 대응한다. 즉, 상기 코드 정보는 상기 주변 장치를 특정하는데, 이 경우, 상기 코드 정보를 수신하면, 상기 주변 장치는 상기 그래픽 코드를 얻기 위해 코드 정보에 그래픽 코드 계산을 수행할 수 있다. 일 실시예에 따르면, 상기 서버는 상기 주변 장치에 그래픽 코드를 미리 전송할 수 있다. 상기 클라이언트가 주변 장치의 그래픽 코드를 획득할 때, S201 단계가 수행될 수 있다. 혹은, 상기 코드 정보는 하나의 문자열 그룹일 수 있다.
일부 실시예에 따르면, S202 단계에서, 상기 서버는 코드 정보에 대응해서 상기 주변 장치의 장치 ID를 검색하고 검색한 장치 ID를 상기 클라이언트에 전송한다.
일부 실시예에 따르면, S203 단계에서, 상기 클라이언트가 상기 주변 장치가 전송한 주변 장치의 장치 ID를 수신하고, 상기 주변 장치가 전송한 장치 ID와 서버가 전송한 장치 ID를 비교한다. 비교한 장치 ID가 동일한 경우, S204 단계가 수행되고, 두 장치 ID가 상이한 경우, 상기 프로세스가 종료된다.
혹은, S203 단계 전에, 상기 서버는 클라이언트에게 상기 주변 장치의 장치 ID를 전송한다. S203 단계를 수행할 때, 상기 클라이언트는 주변 장치가 전송한 장치 ID를 수신한다. 이 경우, 상기 클라이언트는 서버가 전송한 장치 ID와 주변 장치가 전송한 장치 ID를 비교할 수 있고, 비교 결과, 두 장치 ID가 동일한 경우, S204 단계가 수행된다. 상기 클라이언트와 서버 간 전송은 보안이 높기 때문에, 상기 주변 장치가 보낸 장치 ID와 상기 서버가 보낸 장치 ID가 동일한 경우, 상기 클라이언트는 상기 주변 장치를 보안 처리된 장치로 결정할 수 있다.
일부 실시예에 따르면, S204 단계에서, 상기 클라이언트는 상기 주변 장치의 장치 ID를 상기 서버로 전송한다.
혹은, S204 단계는, 상기 주변 장치의 장치 ID를 포함하고 상기 장치 대상 단말에 의해 전송된 장치 정보를 수신하는 단계, 상기 장치 정보로부터 상기 장치 ID를 획득하는 단계, 및 상기 장치 ID를 상기 서버로 전송하는 단계를 포함한 수 있다.
일부 실시예에서, 상기 장치 정보는 상기 장치 ID에 MD5 계산을 수행해서 구한 해시 값이다. 상기 장치 정보를 수신하면, 상기 클라이언트는 역 MD5 계산을 수행하여 상기 장치 ID 값을 구할 수 있다. 이러한 실시예에서, 상기 장치 ID는 해시 계산(hash computation)으로 구한 장치 정보를 통해 상기 주변 장치와 상기 클라이언트 간 전송되어 상기 주변 장치와 클라이언트 간 정보 전송의 보안이 향상될 수 있다.
혹은, 일부 실시예에서, 상기 클라이언트와 주변 장치 간 통신은 물리적 링크를 통해 수행될 수 있다. 상기 물리적 링크는 블루투스(Bluetooth) 링크, 근거리 자기장 통신 (near field communication) 링크, 범용 직렬 버스(universal serial bus, USB) 링크, 오디오 포트 링크 등을 포함할 수 있으나, 이에 한정되지 않는다.
도 3과 도 4는 일부 실시예에 따른 특정 애플리케이션의 예를 도시한다.
일부 실시 에에 따르면, S302 단계에서, 상기 서버는 상기 코드 정보에 대응하여 주변 장치의 장치 ID를 검색하고, 검색된 장치 ID를 상기 클라이언트로 전송한다.
일부 실시예에 따르면, S303 단계에서, 상기 주변 장치는 상기 클라이언트에게 해시 값을 전송한다. 여기서, 해시 값은 주변 장치의 장치 ID에 해시 계산을 수행하여 구한 값이다.
일부 실시예에 따르면, S304 단계에서, 상기 클라이언트는 상기 주변 장치의 장치 ID를 구하기 위해 상기 해시 값을 파싱(parse)하고, 장치 ID값을 상기 서버로 전송한다.
일부 실시예에 따르면, S305 단계에서, 상기 서버는 상기 주변 장치에 대응하는 제1 키를 구하고, 암호화 결과를 얻기 위해 상기 제1 키를 사용해서 제2 키에 AES 암호화를 수행한 후, 상기 제2 키와 암호화 정보를 상기 클라이언트에게 전송한다.
일부 실시예에 따르면, S401 단계에서, 상기 주변 장치는 상기 클라이언트에게 제1 암호화 통신 데이터를 보낸다. 여기서, 상기 제1 암호화 통신 데이터는 상기 제2 키를 사용해서 상기 제1 키에 AES 암호화를 수행하여 얻게 된다.
일부 실시예에 따르면, S402 단계에서, 상기 클라이언트는 상기 제1 통신 데이터를 구하기 위하여 상기 제2 키를 사용해서 상기 제1 암호화 통신 데이터를 복호화하여, 상기 서버에게 상기 제1 통신 데이터를 전송한다.
일부 실시예에 따르면, S403 단계에서, 상기 서버는 제1 통신 데이터에 대한 응답으로 제2 통신 데이터를 상기 클라이언트에게 보낸다.
일부 실시예에 따르면, S404 단계에서, 상기 클라이언트는 상기 제2 키를 사용해서 상기 제2 통신 데이터에 AES 암호화를 수행하여 제2 암호화 통신 데이터를 구하고, 상기 제2 암호화 통신 데이터를 주변 장치로 전송한다.
일부 실시예에 따르면, S405 단계에서, 상기 주변 장치는 상기 제2 키를 사용해서 상기 제2 암호화 통신 데이터를 복호화하여 제2 통신 데이터를 구하고, 상기 제2 통신 데이터에 응답하여 제3 통신 데이터를 생성하고, 제3 암호화 통신 데이터를 구하기 위해 상기 제2 키를 사용해서 상기 제3 통신 데이터에 AES 암호화를 수행한 후, 상기 클라이언트로 상기 제3 암호화 통신 데이터를 전송한다.
일부 실시예에 따르면, S406 단계에서, 상기 클라이언트는 상기 제3 통신 데이터를 얻기 위해 상기 제2 키를 사용해서 제3 암호화 통신 데이터를 복호화하여 상기 서버로 상기 제3 통신 데이터를 전송한다.
일부 실시예에 따르면, S407 단계에서, 상기 서버는 상기 제3 통신 데이터에 대한 응답으로 제4 통신 데이터를 상기 클라이언트에게 보낸다.
일부 실시예에 따르면, S408 단계에서, 상기 클라이언트는 상기 제2 키를 사용해서 상기 제4 통신 데이터에 AES 암호화를 수행하여 제4 암호화 통신 데이터를 구한 후, 상기 제4 암호화 통신 데이터를 상기 주변 장치로 전송한다.
도 5는 암호화 통신 시스템의 구조와 상기 시스템 내의 암호화된 정보의 흐름을 도시한다. 상기 서버와 주변 장치(72) 모두 미리 저장된 동일한 암호화 키를 포함한다. 일부 실시예에 따르면, 502 단계에서, 상기 서버는 제어 장치로부터 주변 장치의 장치 ID를 구하고 상기 장치 ID와 연관된 미리 저장된 암호화 키를 식별한다. 502 단계에서, 상기 서버는 주변 장치의 세션 키를 생성하고, 상기 주변 장치의 장치 ID와 연관된 미리 저장된 암호화 키를 사용해서 상기 세션 키를 암호화 한 후, 상기 제어 장치를 통해 상기 주변 장치로 암호화된 세션 키를 전송한다. 그러면, 상기 주변 장치는 로컬에 저장된 상기 미리 저장된 암호화 키의 복사 키를 사용해서 상기 세션 키를 복호화한다. 상기 서버와 주변 장치는 상기 세션 키를 사용해서 통신을 암호화할 수 있으며, 상기 암호화된 통신은 (예를 들어, 상기 제어 장치는 상기 세션 키를 갖고 있지 않기 때문에) 상기 제어 장치에 노출되지 않고 제어 장치를 통해 전송될 수 있다.
도 6은 도 5에 도시된 시스템 내부에서의 서버와 주변 장치 간 암호화 통신 방법의 순서도이다. 상기 방법은 하나 이상의 프로세서와 명령어들이 저장된 메모리를 갖는 상기 서버에 의해 수행되며, 상기 명령어들이 프로세서에 의해 실행되면, 상기 프로세서가 상기 방법을 수행한다.
일부 실시예에 따르면, 상기 서버는 소셜 네트워크 플랫폼을 제공하는 서버이고, 상기 제어 장치는 상기 소셜 네트워크의 애플리케이션을 실행하는 컴퓨터 장치이다. 상기 제어 장치와 주변 장치 모두 인공 지능이며, 복합적이고, 서로 독립적으로 운영된다. 제어 장치들과 주변 장치들은 이들의 복합성보다는 통신에서의 역할에 의해 정의된다. 제어 장치와 주변 장치의 역할은 다른 시나리오에서 서로 상반될 수도 있다. 예를 들어, 하나의 시나리오에서, 랩 탑이 태블릿을 통해 서버에 연결되면, 상기 랩탑이 주변 장치가 되고 상기 태블릿이 제어 장치가 될 수 있다. 다른 시나리오에서는, 상기 태블릿이 상기 랩탑을 통해 서버에 연결되면, 상기 태블릿이 주변 장치가 되고 상기 랩탑이 제어 장치가 될 수 있다.
일부 실시예에 따르면, 등록 단계에서, 상기 서버는 상기 제어 장치로부터 장치 등록 요청을 받는데, 상기 장치 등록 요청은 설정된 장치 ID와 상기 장치와 연관된 사용자 ID를 포함한다. 상기 장치 등록 요청에 대한 응답으로, 상기 서버는 상기 설정된 장치 ID와 사용자 ID를 결부시키고, 세션 요청으로써 상기 장치 등록을 진행한다.
일부 실시예에 따르면, 초기 등록 과정에서, 사용자는 상기 주변 장치를 등록하여 상기 주변 장치를 사용자 소셜 네트워크 계정, 이메일 계정, 웹사이트 사용자 계정과 같은 사용자 계정에 바인딩한다. 예를 들어, 상기 사용자는 상기 주변 장치의 QR 코드를 스캔할 수 있고, 상기 소셜 네트워크 애플리케이션은 상기 QR 코드로부터 상기 장치 ID를 획득하고 상기 서버로 등록 요청을 보낸다. 상기 제어 장치의 사용자가 상점에서 디스플레이된 주변 장치를 스캔하는 것이 아니라 실제로 상기 주변 장치를 구매했음을 확실하게 하기 위해 서버는 다른 정보(등록 확인과 같은)도 확인할 수 있다. 일부 실시예에 따르면, 상기 사용자가 처음으로 상기 장치를 등록하는 경우, 등록 요청은 가장 처음 세션 요청으로써 사용될 수 있다.
일부 실시예에 따르면, S601 단계에서, 상기 서버는 제어 장치로부터 세션 요청을 수신하는데, 상기 세션 요청은 상기 제어 장치에 연관된 주변 장치의 설정된 장치 ID를 포함하며, 상기 주변 장치와 상기 장치 간 암호화된 통신을 위한 세션 키를 수신한다.
일부 실시예에 따르면, 상기 주변 장치는 세션 요청을 개시하고 상기 제어 장치는 상기 세션 요청을 서버로 전달한다. 예를 들어, 상기 주변 장치가 스마트 시계인 경우, 사용자가 운동을 시작하면 사용자의 심장 박동과 이동 데이터가 서버로 전송되기 시작한다. 상기 스마트 시계는 스마트 폰으로 상기 세션 요청을 전송하고 상기 스마트 폰은 상기 세션 요청을 서버로 전달한다.
일부 실시예에 따르면, 상기 세션 요청은 소셜 네트워크 계정의 클라이언트 ID나 소셜 네트워크 계정 및 상기 조절 징치의 사용자를 확인하기 위한 다른 로그온 정보를 포함한다. 일부 실시예에서, 상기 세션 요청이 전송될 때, 상기 제어 장치는 상기 서버와 이미 연결된 상태이다. 일부 실시예에서, 상기 세션 요청이 전송되기 전까지 상기 제어 장치는 서버와 연결되지 않고, 상기 세션 요청은 연결 설정 요청과 필요한 인증 정보를 포함한다.
일부 실시예에 따르면, 상기 제어 장치는 상기 세션 요청을 개시하고, 세션 요청을 서버와 주변 장치 모두에 전송한다. 따라서, 주변 장치로부터의 명백한 시도 없이도 상기 제어 장치에 의해 세션 키를 위한 요청이 이뤄질 수 있다. 초기 설정 과정에서, 상기 제어 장치는 상기 주변 장치의 분명한 요청 없이도 상기 주변 장치를 대신해서 세션 키를 위한 요청을 만들도록 이미 프로그램되어 있다. 예를 들어, 사용자가 서버로부터 영화를 다운로드 받아서 스마트 글래스 (smart glass) 상에서 영화 시청을 원할 경우, 상기 사용자는 서버에서 영화를 다운로드 받기 위해 스마트 폰을 사용하고 영화 시청 모드를 위해 스마트 글래스를 켠다. 일부 실시예에서, 상기 제어 장치는 주변 장치의 장치 ID를 미리 저장하고 있어서, 상기 주변 장치로부터 장치 ID를 획득하지 않아도 된다.
일부 실시예에 따르면, S602 단계에서, 상기 세션 요청에 대한 응답으로, 상기 서버는 상기 주변 장치와 서버 간 추후 통신을 위해 암호화와 복호화를 위한 제1 세션 키를 생성한다. 일부 실시예에서, 상기 제1 세션 키는 세션이 종료되면 무효가 된다.
일부 실시예에 따르면, S603 단계에서, 상기 설정된 장치 ID에 따라, 상기 서버는 데이터 베이스로부터 상기 설정된 장치 ID에 대응하여 미리 저장된 암호화 키를 식별한다. 여기서, 상기 미리 저장된 암호화 키는 주변 장치에도 미리 저장되어 있다.
일부 실시예에 따르면, 상기 서버와 주변 장치는 모두 장치 ID와 암호화 키를 저장하고 있다. 상기 서버는 주변 장치의 장치 ID와 상기 암호화 키 및 데이터 베이스에 있는 상기 주변 장치 ID들과 암호화 키들 간 대응하는 관계를 미리 저장하고 있다. 미리 저장된 암호화 키 각각은 주변 장치 중 적어도 하나의 주변 장치 ID에 대응한다.
일부 실시예에서, 상기 암호화 키는 하나의 암호이거나 암호에서 파생된다. 상기 사용자는 우선 웹사이트에 상기 암호를 등록해서 상기 암호화 키와 그에 대응하는 장치 ID를 데이터 베이스에 입력한다. 그 후, 상기 사용자는 상기 암호화 키를 상기 주변 장치에 입력한다.
일부 실시예에 따르면, 상기 암호화 키는 제조 과정에서 상기 주변 장치에 내장된다. 상기 암호화 키는 상기 제조 과정 동안 혹은 제조 후에 제공된다.
일부 실시예에 따르면, S604 단계에서, 상기 서버는 제1 세션 키를 미리 저장된 암호화 키로 암호화한다. 일부 실시예에 따르면, 상기 서버는 상기 제1 세션 키를 포함하는 응답을 암호화한다. 상기 응답은 상기 세션 요청에 대한 답과 상기 제1 세션 키를 포함한다. 일부 실시예에서, 상기 서버는 상기 제1 세션 키를 포함하여, 응답 전체를 암호화한다.
일부 실시 에에 따르면, S605 단계에서, 상기 서버는 상기 암호화된 제1 세션 키를 제어 장치를 통해 서버로 전송한다. 여기서, 상기 암호화된 제1 세션 키는 상기 미리 저장된 암호화 키를 사용해서 상기 주변 장치에 의해 복호화되기 위해 구성된다.
일부 실시예에서, S606 단계에서, 상기 주변 장치는 상기 미리 저장된 암호화 키를 사용해서 제1 세션 키를 복호화한다. 따라서, S606 단계 후에, 상기 제어 장치를 제외하고, 상기 서버와 주변 장치는 모두 상기 제1 세션 키를 소유한다.
일부 실시예에서, S607과 S608 단계에서, 상기 서버와 주변 장치는 서로 간에 전송된 통신을 암호화하기 위해 상기 제1 세션 키를 사용한다. 일부 실시예에서, 상기 서버와 주변 장치 간 모든 통신은 상기 제어 장치를 통해 이뤄진다. 일부 실시예에서, 상기 서버는 현재 주변 장치에 연결된 다른 제어 장치에 상기 통신을 보낼 수도 있다. 예를 들어, 상기 세션 설정 과정이 전화로 완료되면, 이후 통신은 아이패드(iPad)를 통해 상기 주변 장치로 전송될 수 있다. 일부 실시예에 따르면, 상기 서버, 상기 제어 장치, 그리고 상기 주변 장치는 모두 한 세션을 종료할 수 있다.
일부 실시예에 따르면, 상기 제어 장치와 주변 장치는(예를 들어, 블루투스, 와이파이, 또는 다양한 무선 연결을 통해) 직접 연결될 수 있다. 일부 경우, 상기 주변 장치와 제어 장치 간 연결은 상이한 서버를 통해 이뤄질 수 있다.
일부 실시예에 따르면, 상기 주변 장치의 장치 ID는 주변 장치가 전송한 상기 제1 통신에 포함되어 있다. 상기 서버는 통신의 복호화에 사용되는 미리 저장된 암호화 키를 식별하기 위한 장치 ID를 획득하면서 상기 복수의 주변 장치와 동시에 통신을 할 수 있다.
일부 실시예에 따르면, 상기 제어 장치를 통해 상기 주변 장치로 암호화된 제1 세션 키를 전송한 후에, 상기 서버는 제어 장치를 통해 주변 장치로부터 전송되고 상기 주변 장치에 의해 상기 제1 세션 키로 암호화된 제1 통신을 수신한다. 여기서, 상기 제1 통신은 상기 주변 장치의 미리 설정된 장치 ID를 수반한다. 상기 제1 통신에 수반되는 상기 미리 설정된 장치 ID를 기초로, 상기 서버는 상기 미리 설정된 장치 ID와 상기 제1 세션 키 간의 저장된 연관 관계에 따라 상기 제1키를 식별한다. 그리고, 상기 식별된 제1 세션 키를 사용해서, 상기 서버는 상기 제어 장치를 통해 주변 장치로부터 전송된 상기 제1 통신을 복호화한다. 상기 장치 ID 상기 제어 장치가 서버로 제1 통신을 전달할 때 상기 제1 통신에 태그 된다. 상기 장치 ID와 제1 통신은 상기 제어 장치에서 조절 애플리케이션에 의해 암호화될 수 있고, 암호화된 것은 조절 프로그램과 서버 간 공유 키에 기초하여 상기 서버에 의해 복호화된다. 일부 실시예에서, 매 통신은 주변 장치의 미리 설정된 장치 ID를 수반한다.
일부 실시예에서, 주변 장치가 특정 제어 장치에 유일하게 연결된 주변 장치일 때, 상기 주변 장치는 통신 중에 장치 ID를 보내지 않는다. 대신, 제어 장치가 상기 ID를 저장하거나 매 통신마다 서버로 전송을 하고, 또는 상기 서버가 장치 ID를 저장하고 저장된 ID를 특정 제어 장치에 결부되도록 한다. 일부 실시예에 따르면, 상기 서버는 제어 장치나 상기 제어 장치에 있는 소셜 네트워크 계정을 인식하고 상기 미리 설정된 장치 ID와 제1 세션 키 간의 저장된 연관 관계에 따라 상기 제1 세션 키를 식별한다.
일부 실시예에 따르면, 상기 제어 장치와 서버 간 모든 통신이 제어 장치 자신의 암호화 방법을 사용해서 암호화된다는 것에 특히 주의해야 한다. 예를 들어, 상기 제어 장치는 소셜 네트워크 통신 애플리케이션을 실행한다. 상기 애플리케이션은, 소셜 네트워크 서버와의 통신을 암호화한다. 일부 실시예에서, 상기 제어 장치와 서버 간 통신 암호화는 주변 장치에 투명하다. 이와 유사하게, 상기 제어 장치와 주변 장치 간 통신은 독립적으로 암호화될 수 있고, 이러한 암호화는 상기 서버에 투명하다.
일부 실시예에 따르면, 상기 세션 요청에 대한 응답으로, 상기 서버가 상기 제1 세션 키와 상이한 제2 세션 키를 생성한다. 그리고, 상기 서버는 제2 세션 키를 상기 제어 장치를 거쳐 상기 주변 장치로 전송한다. 이때, 상기 제어 장치는 상기 제2 세션 키의 복사 키를 보유하고, 상기 주변 장치는 상기 제2 세션 키를 사용해서 서버로의 통신 중 적어도 하나를 암호화하고 상기 제어 장치는 상기 제2 세션 키의 복사 키를 사용해서 상기 적어도 하나의 통신 각각을 복호화한다. 예를 들어, 사용자의 스마트 시계가 사용자의 스마트 폰을 통해 서버에 연결되어 있다고 하자. 상기 스마트 시계는 상기 사용자의 현재 운동(예를 들어, running) 데이터와 상이한 달리기 속도에서의 상세한 심박수를 포함하는 건강 데이터의 두 종류의 데이터를 서버로 업로드한다. 상기 사용자는 서버에만 상기 건강 정보를 남겨 두고 달리기 거리와 속도는 스마트폰에 저장해서 소셜 네트워크 친구들과 달리기 거리와 속도를 공유할 수 있다. 그러면, 상기 주변 장치는 상기 제1 세션 키를 사용해서 건강 정보를 암호화하고 상기 제2 세션 키를 사용해서 상기 달리기 정보를 암호화한다. 그리고, 상기 제어 장치는 (여기서는, 스마트 폰) 상기 제2 세션 키를 사용해서 달리기 정보를 복호화한다.
실시예에 따르면, 상기 제2 세션 키는 미리 저장된 암호화 키에 의해 암호화되지 않고 상기 제어 장치로 전송된다. 상기 제2 세션 키와 상기 암호화된 제1 세션 키는 상기 서버로부터 장치 제어 장치로 안전한 방식으로, 즉, 상기 서버와 제어 장치 간 공유된 키로 암호화되어 전송된다. 그러나, 상기 제어 장치는 제2 세션 키의 평문 버전(plaintext version)을 구할 수 있으나(예를 들어, 암호화의 최외곽 계층을 복호화함으로써), 이는 상기 제1 세션 키의 암호화된 버전만을 갖는다. 상기 제2 세션 키는 두 개의 분리된 패키지 혹은 동일한 패키지로 상기 제어 장치로 전송될 수 있다. 예를 들어, 상기 제어 장치는 상기 제2 세션 키만 포함된 제1 패키지와 상기 미리 저장된 키를 사용해서 암호화된 제1 세션 키 및 제2 세션 키가 포함된 제2 패키지를 수신할 수 있다.
혹은, 일부 실시예에 따르면, 상기 제어 장치는 평문의 제2 세션 키와 암호화된 제1 세션 키를 포함하는 단일 패키지를 수신할 수 있다. 이 경우, 상기 제어 장치는 상기 패키지를 주변 장치로 전달하지만 상기 평문의 제2 세션 키의 복사 키를 유지한다.
일부 실시예에 따르면, 상기 세션 요청에 대한 응답으로, 상기 서버는 상기 제1 세션 키에 추가로 제2 세션 키를 생성한다. 여기서, 상기 제1 세션 키는 상기 제2 세션 키를 사용해서 암호화된 정보를 복호화할 수 있도록 구성되며, 상기 제2 세션 키는 상기 제1 세션 키를 사용해서 암호화된 정보를 복호화할 수 없도록 구성된다. 그러면, 상기 서버는 상기 제2 세션 키를 제어 장치로 전송하고 상기 제2 세션 키를 사용해서 주변 장치로의 통신을 적어도 일부 암호화한다. 여기서, 상기 적어도 일부의 통신은 상기 제2 세션 키를 사용해서 제어 장치에 의해, 그리고 상기 제1 세션 키를 사용해서 주변 장치에 의해서 복호화되도록 구성된다. 상기 제1 세션 키는 상기 서버와 주변 장치에 의해서 통신을 암호화하는데 사용된다. 상기 제2 세션 키는 상기 서버와 주변 장치 간 통신의 일부를 복호화하기 위해 상기 제어 장치에 의해 유지된다. 이 경우, 상기 서버와 주변 장치는 상기 제어 장치에 의해 복호화될 통신의 일부를 허용하면서 상기 통신을 복호화할 수 있다.
상기 서버가 상시 세션 키를 구성하는 하나의 방식으로, 상기 제1 세션 키가 X 부분과 상기 제2 세션 키의 두 부분을 포함한다. 암호화할 때, 통신의 일부는 상기 제어 장치에 의해 복호화되고 나머지는 상기 X 부분에 의해 암호화된 되도록 디자인된다.
일부 실시예에 따르면, 상기 서버는 제2 세션 키를 생성하지 않는 대신에 상기 주변 장치로부터 수신한 통신의 일부를 상기 주변 장치로 전송한다. 통신 세션 동안, 상기 서버는 암호화된 세션 통신을 상기 제어 장치를 통해 주변 장치로부터 수신하고, 상기 제1 세션 키를 사용해서 상기 세션 통신을 복호화하고, 미리 설정된 조건에 따라 상시 통신의 일부를 선택하고, 상기 통신의 선택된 일부를 상기 제어 장치로 전송한다. 사용자가 달리기를 하는 예에서, 상기 서버는 복호화된 달리기 정보를 상기 제어 장치로 전송하지만 상기 건강 정보는 전송하지 않는다.
일부 실시예에 따르면, 상기 서버는 사용자가 상기 미리 저장된 암호화 키를 업데이트 하는 것을 허용한다. 일부 실시예에 따르면, 상기 사용자는 업데이트된 암호화 키를 (예를 들어, 새로운 암호를 타이핑하여) 입력하거나 생성하기 위해 상기 주변장치를 작동한다. 상기 서버는 상기 제1 세션 키로 암호화되고 상기 제어 장치를 통해 주변 장치로부터 전송된 키 업데이트 요청을 수신한다. 여기서 상기 키 업데이트 요청은 상기 주변 장치의 미리 설정된 장치 ID를 수반한다. 상기 서버는 상기 제1 세션 키를 사용해서 상기 키 업데이트 요청을 복호화하여 상기 미리 설정된 장치 ID에 대응하여 업데이트 된 암호화 키를 획득하고, 상기 데이터 베이스에서 상기 미리 저장된 암호화 키를 상기 업데이트된 암호화 키로 교체한다.
일부 실시예에 따르면, 상기 요청의 암호화된 부분은 상기 장치 ID를 포함하지 않는다. 대신, 상기 제어 장치는 상기 키 업데이트 요청이 서버로 전달될 때 상기 장치 ID를 추가한다. 일부 실시예에서, 상기 서버는 상기 제어 장치의 장치 ID 혹은 상기 제어 장치에서 실행되는 애플리케이션의 로그온 정보를 통해 주변 장치의 장치 ID를 식별한다.
도 7은 일부 실시예에 따른 서버(700)의 구현 예를 도시한다. 일부의 특징이 도시되어 있는 반면, 도면의 간결성과 여기에서 개시된 구현의 더 적합한 양상의 모호함을 피하기 위해 다양한 다른 특징이 개시되지 않았음을 당 업자는 본 개시로부터 알 수 있을 것이다. 이를 위해, 상기 서버(700)는 하나 이상의 (CPU의) 처리부(702), 하나 이상의 다른 통신 인터페이스(708), 디스플레이(701), 메모리(706), 및 이들과 다양한 다른 구성요소를 연결하기 위한 하나 이상의 통신 버스(704)를 포함한다. 상기 통신 버스(708)는 시스템 구성요소 간 상호 연결과 통신을 조절하기 위해 회로(칩 세트로도 불림)를 포함할 수 있다. 상기 메모리(706)는 DRAM, SRAM, DDR RAM, 또는 다른 랜덤 액세스 고체 메모리 장치와 같은 고속 랜덤 액세스 메모리 (high-speed random access memory)를 포함하고, 하나 이상의 자기 디스크 저장 장치(magnetic disk storage device), 광학 디스크 저장 장치, 플래시 메모리 장치, 혹은 다른 비 휘발성 고체 저장 장치와 같은 비 휘발성 장치를 포함할 수 있다. 상기 메모리(706)는 CPU(702)에서 원거리에 있는 하나 이상의 저장 장치를 선택적으로 포함할 수 있다. 상기 비 휘발성 및 휘발성 메모리 장치(들)를 상기 메모리(706) 내부에 포함하는 상기 메모리(706)는 비일시적 컴퓨터 판독 가능형 저장 매체를 포함한다.
일부 실시예에 따르면, 상기 메모리(706) 혹은 상기 메모리(706)의 상기 비 일시적 컴퓨터 판독 가능한 매체는 다음과 같은 프로그램, 모듈 및 데이터 구조, 혹은 이들의 서브 세트(sub set)를 저장한다. 여기서, 이들의 서브 세트는 운영 시스템(716), 네트워크 통신 모듈(718), 주변 장치 관리 프로그램(720), 그리고 제어 장치 모듈(725)을 포함한다.
일부 실시예에 따르면, 상기 운영 시스템(716)은 다양한 기본 시스템 서비스를 처리하고 하드웨어 의존적 태스크를 수행하기 위한 프로시저(procedure)를 포함한다.
일부 실시예에 따르면, 상기 네트워크 통신 모듈(718)은 하나 이상의 (유선 혹은 무선) 통신 네트워크 인터페이스(708) 및 인터넷, 다른 근거리 통신망, 광역 통신망, 대도시 통신망(metropolitan area network) 등과 같은 하나 이상의 통신 네트워크를 통해 다른 장치와의 통신을 가능하게 한다.
일부 실시예에 따르면, 상기 주변 장치 관리 프로그램(720)은 상기 네트워크 통신 모듈(718)을 통해 주변 장치와의 통신을 제공한다. 일부 실시예에 따르면, 상기 주변 장치관리 프로그램(718)은 통신 모듈(721)과 암호화 모듈(722)을 포함한다. 상기 통신 모듈(721) 상기 제어 장치 모듈(725)을 통해 제어 장치들과 통신하기 위해 구성된다. 상기 통신은 세션 요청 수신, 세션 요청에 대한 응답 전송, 및 통신 송/수신을 포함한다. 상기 암호화 모듈(722)은 세션 키 생성부(723)와 장치 키 데이터 베이스(724)를 포함한다. 상기 세션 키 생성부(723)는 상기 제1 세션 키 및/또는 상기 제2 세션 키를 상기 암호화 모듈(722)의 지시에 따라 생성한다. 상기 장치 키 데이터 베이스(724)는 주변 장치를 위한 암호화 키, 주변 장치의 장치 ID, 그리고 상기 ID와 암호화 키 간의 대응 관계를 저장한다. 상기 장치 ID를 수신한 우에, 상기 암호화 모듈(722)은 장치 ID들에 대응하는 암호화 키들을 식별하고 상기 식별된 암호화 키로 세션 키들을 암호화한다.
일부 실시예에 따르면, 상기 제어 장치 모듈(725)은 상기 네트워크 통신 모듈(718)을 통해 상기 제어 장치와 통신하기 위해 구성된다. 상기 제어 장치 모듈(725)은 상기 제어 장치와 연결된 주변 장치들과 통신을 주고받는다.
도 8은 일부 실시예에 따른 암호화된 통신 클라이언트의 개략적인 구조를 도시한다. 도 8에서와 같이, 상기 클라이언트는 장치 ID 전송부(81), 키 전송부(82), 그리고 데이터 전송부(83)를 포함한다.
상기 장치 ID 전송부(81)는 주변 장치의 장치 ID를 서버로 전송하기 위해 사용되고, 상기 서버는 상기 주변 장치에 대응하는 제1 키를 획득하고 암호화 결과를 얻기 위해 상기 제1 키를 사용해서 제2 키를 암호화한다. 여기서, 상기 제2 키는 상기 주변장치를 위해 상기 서버에 의해 생성된 키이다.
상기 키 전송부(82)는 상기 서버가 전송한 상기 제2 키와 암호화 결과를 수신하고 상기 암호화 결과를 주변 장치에 전송하기 위해 사용된다. 그러면, 주변 장치는 상기 제2 키를 얻기 위해 상기 제1 키를 사용해서 암호화 결과를 복호화한다.
선택적으로, 상기 장치 ID 전송부(81)는 대상 단말에서 전송한 주변 장치의 장치 ID를 수신하고 상기 장치 ID를 서버로 전송하기 위해 더 사용될 수 있다.
혹은, 상기 장치 ID 전송부(81)는 주변 장치의 장치 ID를 포함하고 상기 대상 단말로부터 전송된 장치 정보를 수신하고, 상기 장치 정보로부터 장치 ID를 획득하고, 상기 서버로 장치 ID를 전송하기 위해 더 사용될 수 있다. 여기서, 장치 정보는 장치 ID에 특정 계산을 수행하여 획득된 정보이다.
혹은, 도 9에서와 같이, 상기 클라이언트는 주변 장치에 디스플레이 된 그래픽 코드를 스캔하고, 코드 정보를 구하기 위해 상기 그래픽 코드를 복호화하고, 상기 코드 정보를 서버로 전송하는 스캐닝부(84); 상기 서버에서 전송된 주변 장치의 장치 ID를 수신하는 수신부(85); 및 상기 주변 장치에서 송신된 장치 ID를 수신하고 상기 주변 장치로부터 송신된 상기 장치 ID와 상기 서버로부터 송신된 장치 ID를 비교하는 비교부(86)도 포함할 수 있다.
상기 장치 ID 송신부(81)는 상기 주변 장치의 장치 ID를 상기 서버로 전송하기 위해 더 사용된다.
도 10은 일부 실시예에 따른 암호화 통신 장치의 개략적인 구조를 도시한다. 도 10에서와 같이, 상기 장치는 수신부(101), 복호화부(102), 및 송신부(103)를 포함한다.
상기 수신부(101)는 클라이언트가 송신한 암호화 결과를 수신하기 위해 사용된다.
상기 복호화부(102)는 상기 제2 키를 구하기 위해 미리 구해진 상기 제1 키를 사용해서 상기 암호화 결과를 복호화하기 위해 사용된다.
상기 송신부(103)는 암호화된 통신 데이터를 얻기 위해 상기 제2 키를 사용해서 통신을 암호화하고 상기 암호화된 통신 데이터를 송신하기 위해 사용된다.
도 8에서 도 10의 장치 각각은 프로세서, 메모리, 및 도 7에 도시된 장치의 다른 구성 요소를 갖는 장치에 의해 구현될 수 있다. 상기 장치의 기능을 제공하기 위해 도 8 내지 도 10의 장치에 상이한 모듈들이 구현될 수 있다.
특정 실시예들이 앞서 설명된 반면, 상기 출원이 이러한 특정 실시예들에 한정되지 않은 것으로 이해될 것이다. 이와는 반대로, 상기 출원은 청구범위에서 정의하고 있는 본 발명의 여러 대체, 변형 및 균등물을 포함한다. 여기 개시된 주제의 전면적인 이해를 위해 많은 구체적인 상세설명이 제공된다. 그러나, 이러한 구체적인 상세설명 없이 실행될 수 있음이 당업자에게 자명할 것이다. 다른 예로, 잘 알려진 방법, 프로시저, 구성요소 및 회로는 실시예들의 양상의 불필요한 모호함을 피하기 위해 상세히 설명되지 않았다.
다양한 도면이 다수의 특정 순서의 논리 단계를 도시하지만, 순서 의존적이지 않은 단계들이 기록되거나 다른 단계들이 조합되거나 구분될 수 있다. 일부 기록 또는 다른 그룹 짓기가 상세하게 언급될 수 있는 반면, 대체물의 철저한 리스트를 나타내지 않음이 해당 기술의 다른 당업자들에게 분명할 것이다. 더욱이, 상기 단계들은 하드웨어, 펌웨어, 소프트웨어, 혹은 이들의 조합으로 구현될 수 있음이 인식되어야 할 것이다.
설명의 목적을 위해, 앞서 언급한 설명은 상세한 실시예를 참조로 설명되었다. 그러나, 앞서 설명된 구체적인 설명들은 전역적이거나 정확한 형식에 한정하려는 의도로 개시되지 않는다. 상기 사상의 관점에서 다양한 수정 및 변형이 가능하다. 실시예들은 본 출원을 가장 잘 설명하기 위해 선택되고 설명되었으며, 이의 실제적인 응용은 고려된 특정 사용을 추구하면서 당업자가 다양하게 변경하면서 본 출원을 가장 잘 활용할 수 있도록 한다.

Claims (20)

  1. 서버와 주변 장치 간 통신을 암호화하기 위한 방법으로서,
    상기 서버는, 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하고,
    상기 서버가,
    제어 장치로부터 세션 요청(session request)을 수신하고-상기 세션 요청은 상기 제어 장치와 연관된 상기 주변 장치의 미리 설정된 장치 ID를 포함함- 상기 주변 장치와 서버 간 통신 암호화를 위한 세션 키를 요청하는 단계;
    상기 세션 요청에 대한 응답으로, 상기 주변 장치와 서버 간 향후 통신의 암호화 및 복호화를 위한 제1 세션 키(a first session key)를 생성하는 단계;
    상기 미리 설정된 장치 ID에 따라, 데이터 베이스로부터 상기 미리 설정된 장치 ID에 대응하는 미리 저장된 암호화 키를 식별하는 단계-상기 미리 저장된 암호화 키도 상기 주변 장치에 미리 저장됨;
    상기 미리 저장된 암호화 키를 사용해서 상기 제1 세션 키를 암호화하는 단계;
    상기 제어 장치를 통해 상기 주변 장치로 암호화된 제1 세션 키를 전송하는 단계-상기 암호화된 제1 세션 키는 상기 미리 저장된 암호화 키를 사용해서 상기 주변 장치에 의해 복호화되도록 구성됨; 및
    상기 제1 세션 키를 사용해서 각 통신 세션에서 상기 주변 장치로의 통신을 암호화하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 제어 장치를 통해 상기 주변 장치로 상기 암호화된 제1 세션 키를 전송한 후에, 상기 제어 장치를 통해 주변 장치로부터 전송되고 상기 주변 장치에 의해 상기 제1 세션 키로 암호화된 제1 통신을 수신하는 단계-상기 제1 통신은 상기 주변 장치의 미리 설정된 장치 ID를 수반함;
    상기 제1 통신을 수반하는 상기 미리 설정된 장치 ID에 기초하여, 상기 미리 설정된 장치 ID와 상기 제1 세션 키 사이의 저장된 연관성에 따라 상기 제1 세션 키를 식별하는 단계; 및
    상기 식별된 제1 세션 키로, 상기 제어 장치를 통해 상기 주변 장치로부터 전송된 상기 제1 통신을 복호화하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 세션 요청에 대한 응답으로, 상기 제1 세션 키와는 상이한 제2 세션 키(a second session key)를 생성하는 단계; 및
    상기 제어 장치를 통해 상기 주변 장치로 상기 제2 세션 키를 전송하는 단계를 더 포함하고, 상기 제어 장치는 상기 제2 세션 키의 복사 키를 보유하고, 상기 주변 장치는 상기 제2 세션 키를 사용해서 상기 서버로의 통신 중 적어도 일부를 암호화하고, 상기 제어 장치는 상기 제2 세션 키의 보유된 복사 키를 사용해서 상기 통신 중 상기 적어도 일부 각각을 복호화하는, 방법.
  4. 제1항에 있어서,
    상기 세션 요청에 대한 응답으로, 상기 제1 세션 키에 더하여 제2 세션 키를 생성하는 단계-상기 제1 세션 키는 상기 제2 세션 키를 사용해서 암호화된 정보를 복호화할 수 있도록 구성되고, 상기 제2 세션 키는 상기 제1 세션 키를 사용해서 암호화된 정보를 복호화할 수 없도록 구성됨;
    상기 제2 세션 키를 상기 제어 장치로 전송하는 단계; 및
    상기 제2 세션 키를 사용해서 상기 주변 장치로의 통신 중 적어도 일부를 암호화하는 단계-상기 통신의 적어도 일부 각각은 상기 제2 세션 키를 사용해서 상기 제어 장치에 의해서 그리고 상기 제1 세션 키를 사용해서 상기 주변 장치에 의해서 복호화되도록 구성됨-를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 제1 세션 키로 암호화되고 상기 제어 장치를 통해 상기 주변 장치로부터 전송된 키 업데이트 요청(key updating request)을 수신하는 단계-상기 키 업데이트 요청은 상기 미리 설정된 장치 ID에 대응하는 업데이트된 암호화 키를 포함하고 상기 주변 장치의 미리 설정된 장치 ID를 수반함-;
    상기 제1 세션 키를 사용해서 상기 키 업데이트 요청을 복호화하여 상기 미리 설정된 장치 ID에 대응하는 상기 업데이트된 암호화 키를 획득하는 단계; 및
    데이터 베이스에서 상기 미리 저장된 암호화 키를 상기 업데이트된 암호화 키로 교체하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 제어 장치를 통해 상기 주변 장치로부터 암호화된 세션 통신(session communication)을 수신하는 단계;
    상기 제1 세션 키를 사용해서 상기 세션 통신을 복호화하는 단계;
    미리 설정된 조건에 따라 상기 세션 통신의 일부를 선택하는 단계; 및
    상기 세션 통신의 상기 일부 각각을 상기 제어 장치로 전송하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 제어 장치로부터 장치 등록 요청(device registration request)을 수신하는 단계-상기 장치 등록 요청은 상기 미리 설정된 장치 ID와 상기 제어 장치와 연관된 사용자 식별자를 포함함; 및
    상기 장치 등록 요청에 대한 응답으로,
    상기 미리 설정된 장치 ID와 상기 사용자 식별자를 결부시키는 단계; 및
    상기 세션 요청으로서 장기 장치 등록 요청을 처리하는 단계를 더 포함하는 방법.
  8. 서버와 주변 장치 간 통신을 암호화하기 위한 서버로서,
    상기 서버는, 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하고,
    상기 하나 이상의 프로그램은,
    제어 장치로부터 세션 요청을 수신하는 단계-상기 세션 요청은 상기 제어 장치와 연관된 상기 주변 장치의 미리 설정된 장치 ID를 포함하고 상기 주변 장치와 서버 간 암호화된 통신을 위한 세션 키를 요청하기 위한 명령을 포함하고;
    상기 세션 요청에 대한 응답으로, 상기 주변 장치와 서버 간 향후 통신을 암호화하고 복호화하기 위한 제1 세션 키를 생성하는 단계;
    상기 미리 설정된 장치 ID에 따라, 데이터 베이스로부터 상기 미리 설정된 장치 ID에 대응하는 미리 저장된 암호화 키를 식별하는 단계-상기 미리 저장된 암호화 키는 상기 주변 장치에도 미리 저장됨;
    상기 미리 저장된 암호화 키를 사용해서 상기 제1 세션을 암호화하는 단계;
    상기 제어 장치를 통해 상기 주변 장치로 상기 암호화된 제1 세션 키를 전송하는 단계-상기 암호화된 제1 세션 키는 상기 미리 저장된 암호화 키를 사용해서 상기 주변 장치에 의해 복호화되도록 구성됨; 및
    상기 제1 세션 키를 사용해서 각각의 통신 세션에서 상기 주변 장치로의 통신을 암호화하는 단계;의 명령을 포함하는,
    서버.
  9. 제8항에 있어서,
    상기 동작은,
    상기 제어 장치를 통해 상기 주변 장치로 상기 암호화된 제1 세션 키를 전송한 후에, 상기 제어 장치를 통해 상기 주변 장치로부터 수신되고 상기 주변 장치에 의해 상기 제1 세션 키로 암호화된 제1 통신을 수신하는 단계-상기 제1 통신은 상기 주변 장치의 미리 설정된 장치 ID를 수반함;
    상기 제1 통신에 수반된 상기 미리 설정된 장치 ID에 기초하여, 상기 미리 설정된 장치 ID와 상기 제1 세션 키 간의 저장된 연관성에 따라 상기 제1 세션 키를 식별하는 단계; 및
    상기 식별된 제1 세션 키로, 상기 제어 장치를 통해 상기 주변 장치로부터 전송된 상기 제1 통신을 복호화하는 단계를 포함하는, 서버.
  10. 제8항에 있어서,
    상기 동작은,
    상기 세션 요청에 대한 응답으로, 상기 제1 세션 키와 상이한 제2 세션 키를 생성하는 단계; 및
    상기 제어 장치를 통해 상기 주변 장치로 상기 제2 세션 키를 전송하는 단계-상기 제어 장치는 상기 제2 세션 키의 복사 키를 보유하고, 상기 주변 장치는 상기 제2 세션 키를 사용해서 상기 서버로의 통신 중 적어도 일부를 암호화하고 상기 제어 장치는 상기 제2 세션 키의 보유된 복사 키를 사용해서 상기 통신 중 상기 적어도 일부 각각을 복호화;를 포함하는, 서버.
  11. 제8항에 있어서,
    상기 동작은,
    상기 세션 요청에 대한 응답으로, 상기 제1 세션 키에 더하여 제2 세션 키를 생성하는 단계-상기 제1 세션 키는 상기 제2 세션 키를 사용해서 암호화된 정보를 복호화할 수 있도록 구성되고, 상기 제2 세션 키는 상기 제1 세션 키를 사용해서 암호화된 정보를 복호화할 수 없도록 구성됨;
    상기 제어 장치로 상기 제2 세션 키를 전송하는 단계; 및
    상기 제2 세션 키를 사용해서 상기 주변 장치로의 통신 중 적어도 일부를 암호화하는 단계-상기 통신의 상기 적어도 일부 각각은 상기 제2 세션 키를 사용해서 상기 제어 장치에 의해 그리고 상기 제1 세션 키를 사용해서 상기 주변 장치에 의해 복호화되도록 구성됨-를 더 포함하는, 서버.
  12. 제8항에 있어서,
    상기 동작은,
    상기 제1 세션 키로 암호화되고 상기 제어 장치를 통해서 상기 주변 장치로부터 전송된 키 업데이트 요청을 수신하는 단계-상기 키 업데이트 요청은 상기 미리 설정된 장치 ID에 대응하여 업데이트된 암호화 키를 포함하고 상기 키 업데이트 요청은 상기 주변 장치의 미리 설정된 장치 ID를 수반함;
    상기 제1 세션 키를 사용해서 상기 키 업데이트 요청을 복호화하여 상기 미리 설정된 장치 ID에 대응하는 상기 업데이트된 암호화 키를 획득하는 단계; 및
    데이터 베이스에서 상기 미리 저장된 암호화 키를 상기 업데이트된 암호화 키로 교체하는 단계를 더 포함하는, 서버.
  13. 제8항에 있어서,
    상기 동작은,
    상기 제어 장치를 통해 상기 주변 장치로부터 암호화된 세션 통신을 수신하는 단계;
    상기 제1 세션 키를 사용해서 상기 세션 통신을 복호화하는 단계;
    미리 설정된 조건에 따라 상기 세션 통신의 일부를 선택하는 단계; 및
    상기 세션 통신 중 상기 각각의 일부를 상기 제어 장치로 전송하는 단계를 더 포함하는, 서버.
  14. 제8항에 있어서,
    상기 동작은,
    상기 제어 장치로부터 장치 등록 요청을 수신하는 단계-상기 장치 등록 요청은 상기 미리 설정된 장치 ID와 상기 장치 ID에 연관된 사용자 식별자를 포함함; 및
    상기 장치 등록 요청에 대한 응답으로,
    상기 미리 설정된 장치 ID와 상기 사용자 식별자를 결부시키는 단계; 및 상기 장치 등록 요청을 상기 세션 요청으로써 처리(processing)하는 단계를 더 포함하는, 서버.
  15. 명령어들이 저장된 비 일시적 컴퓨터 판독 가능형 저장 매체로서,
    상기 명령어들이 하나 이상의 프로세서에 의해 실행되면, 상기 프로세서는,
    제어 장치로부터 세션 요청을 수신하고-상기 세션 요청은 상기 제어 장치와 연관된 주변 장치의 미리 설정된 장치 ID를 포함함- 상기 주변 장치와 서버 간 통신을 암호화하기 위한 세션 키를 요청;
    상기 세션 요청에 대한 응답으로, 상기 주변 장치와 서버 간 향후 통신을 암호화하고 복호화하기 위한 제1 세션 키를 생성하고;
    상기 미리 설정된 장치 ID에 따라, 데이터 베이스로부터 상기 미리 설정된 장치 ID에 대응하는 미리 저장된 암호화 키를 식별하고-상기 미리 저장된 암호화 키는 상기 주변 장치에도 미리 저장됨;
    상기 미리 저장된 암호화 키를 사용해서 상기 제1 세션 키를 암호화하고;
    상기 제어 장치를 통해 상기 주변 장치로 상기 암호화된 제1 세션 키를 전송하고-상기 암호화된 제1 세션 키는 상기 미리 저장된 암호화 키를 사용해서 상기 주변 장치에 의해 복호화되기 위해 구성됨; 및
    상기 제1 세션 키를 사용해서 각 통신 세션에서 상기 주변 장치로의 통신을 암호화하는; 동작을 수행하는,
    비 일시적 컴퓨터 판독 가능형 저장 매체.
  16. 제15항에 있어서,
    상기 동작은,
    상기 제어 장치를 통해 상기 주변 장치로 상기 암호화된 제1 세션 키를 전송한 후에, 상기 제어 장치를 통해 상기 주변 장치로부터 수신되고 상기 주변 장치에 의해 상기 제1 세션 키로 암호화된 제1 통신을 수신하고-상기 제1 통신은 상기 주변 장치의 미리 설정된 장치 ID를 수반함;
    상기 제1 통신에 수반된 상기 미리 설정된 장치 ID에 기초하여, 상기 미리 설정된 장치 ID와 상기 제1 세션 키 간의 저장된 연관성에 따라 상기 제1 세션 키를 식별하고; 및
    상기 식별된 제1 세션 키로, 상기 제어 장치를 통해 상기 주변 장치로부터 전송된 상기 제1 통신을 복호화하는 동작을 더 포함하는, 비 일시적 컴퓨터 판독 가능형 저장 매체.
  17. 제15항에 있어서,
    상기 동작은,
    상기 세션 요청에 대한 응답으로, 상기 제1 세션 키와 상이한 제2 세션 키를 생성하고; 및
    상기 제어 장치를 통해 상기 주변 장치로 상기 제2 세션 키를 전송하며;
    상기 제어 장치는 상기 제2 세션 키의 복사 키를 보유하고, 상기 주변 장치는 상기 제2 세션 키를 사용해서 상기 서버로의 통신 중 적어도 일부를 암호화하고, 상기 제어 장치는 상기 제2 세션 키의 보유된 복사 키를 사용해서 상기 통신 중 상기 적어도 일부 각각을 복호화하는, 비 일시적 컴퓨터 판독 가능형 저장 매체.
  18. 제15항에 있어서,
    상기 동작은,
    상기 세션 요청에 대한 응답으로, 상기 제1 세션 키에 더하여 제2 세션 키를 생성하고-상기 제1 세션 키는 상기 제2 세션 키를 사용해서 암호화된 정보를 복호화할 수 있도록 구성되고, 상기 제2 세션 키는 상기 제1 세션 키를 사용해서 암호화된 정보를 복호화할 수 없도록 구성됨;
    상기 제어 장치로 상기 제2 세션 키를 전송하고; 및
    상기 제2 세션 키를 사용해서 상기 주변 장치로의 통신 중 적어도 일부를 암호화하는-상기 통신의 상기 적어도 일부 각각은 상기 제2 세션 키를 사용해서 상기 제어 장치에 의해 그리고 상기 제1 세션 키를 사용해서 상기 주변 장치에 의해 복호화되도록 구성됨- 동작을 더 포함하는, 비 일시적 컴퓨터 판독 가능형 저장 매체.
  19. 제15항에 있어서,
    상기 동작은,
    상기 제1 세션 키로 암호화되고 상기 제어 장치를 통해서 상기 주변 장치로부터 전송된 키 업데이트 요청을 수신하고-상기 키 업데이트 요청은 상기 미리 설정된 장치 ID에 대응하여 업데이트된 암호화 키를 포함하고 상기 키 업데이트 요청은 상기 주변 장치의 미리 설정된 장치 ID를 수반함;
    상기 제1 세션 키를 사용해서 상기 키 업데이트 요청을 복호화하여 상기 미리 설정된 장치 ID에 대응하는 상기 업데이트된 암호화 키를 획득하고; 및
    데이터 베이스에서 상기 미리 저장된 암호화 키를 상기 업데이트된 암호화 키로 교체하는 동작을 더 포함하는, 비 일시적 컴퓨터 판독 가능형 저장 매체.
  20. 제15항에 있어서,
    상기 동작은,
    상기 제어 장치를 통해 상기 주변 장치로부터 암호화된 세션 통신을 수신하고;
    상기 제1 세션 키를 사용해서 상기 세션 통신을 복호화하고;
    미리 설정된 조건에 따라 상기 세션 통신의 일부를 선택하고; 및
    상기 세션 통신 중 상기 각각의 일부를 상기 제어 장치로 전송하는 동작을 더 포함하는, 비 일시적 컴퓨터 판독 가능형 저장 매체.
KR1020167017128A 2014-03-11 2014-11-19 암호화된 통신을 위한 방법 및 시스템 KR101941049B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410087935.8 2014-03-11
CN201410087935.8A CN104144049B (zh) 2014-03-11 2014-03-11 一种加密通信方法、***和装置
PCT/CN2014/091616 WO2015135337A1 (en) 2014-03-11 2014-11-19 Method and system for encrypted communications

Publications (2)

Publication Number Publication Date
KR20160083128A true KR20160083128A (ko) 2016-07-11
KR101941049B1 KR101941049B1 (ko) 2019-04-12

Family

ID=51853121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167017128A KR101941049B1 (ko) 2014-03-11 2014-11-19 암호화된 통신을 위한 방법 및 시스템

Country Status (5)

Country Link
US (2) US10164949B2 (ko)
EP (1) EP3075096B1 (ko)
KR (1) KR101941049B1 (ko)
CN (1) CN104144049B (ko)
WO (1) WO2015135337A1 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8707454B1 (en) 2012-07-16 2014-04-22 Wickr Inc. Multi party messaging
CN104144049B (zh) * 2014-03-11 2016-02-17 腾讯科技(深圳)有限公司 一种加密通信方法、***和装置
CN104243484B (zh) * 2014-09-25 2016-04-13 小米科技有限责任公司 信息交互方法及装置、电子设备
EP3266149B1 (en) 2015-03-03 2020-05-06 Wonderhealth, LLC Access control for encrypted data in machine-readable identifiers
WO2016168339A1 (en) * 2015-04-13 2016-10-20 Visa International Service Association Enhanced authentication based on secondary device interactions
US9942209B2 (en) * 2015-04-27 2018-04-10 Intel Corporation Technologies for secure extensible inter-device I/O redirection across a network
CN105120452B (zh) * 2015-06-30 2018-11-23 北京小米支付技术有限公司 传输信息的方法、装置及***
US9590956B1 (en) 2015-12-18 2017-03-07 Wickr Inc. Decentralized authoritative messaging
CN108476452B (zh) * 2015-12-31 2020-11-06 华为技术有限公司 通信方法及设备
US9596079B1 (en) * 2016-04-14 2017-03-14 Wickr Inc. Secure telecommunications
CN107493253B (zh) * 2016-06-13 2020-09-22 上海复旦微电子集团股份有限公司 无线射频设备、服务器及无线射频通信***
CN106130877A (zh) * 2016-06-23 2016-11-16 瓦戈科技(上海)有限公司 一种跨***的手机短信发送方法
WO2018019883A1 (en) * 2016-07-26 2018-02-01 Ipcom Gmbh & Co. Kg Connection of wearable devices
ES2929464T3 (es) * 2016-11-26 2022-11-29 Huawei Tech Co Ltd Método para controlar de forma segura un aparato doméstico inteligente y dispositivo terminal
US10230524B2 (en) 2017-01-26 2019-03-12 Wickr Inc. Securely transferring user information between applications
CN106888206B (zh) * 2017-02-13 2020-06-09 海信集团有限公司 密钥交换方法、装置及***
US10412581B2 (en) 2017-02-14 2019-09-10 Ford Global Technologies, Llc Secure session communication between a mobile device and a base station
JP6408627B2 (ja) * 2017-03-14 2018-10-17 Kddi株式会社 遠隔機器制御システム、及び、遠隔機器制御方法
JP6972729B2 (ja) * 2017-07-24 2021-11-24 コニカミノルタ株式会社 画像表示システム、資料提供支援装置、資料取得装置、資料提供支援方法、およびコンピュータプログラム
CN107579964A (zh) * 2017-08-25 2018-01-12 上海斐讯数据通信技术有限公司 数据传输方法及装置
FR3074989B1 (fr) * 2017-12-11 2021-03-05 Airbus Defence & Space Sas Procede de communication securise
CN110661833B (zh) * 2018-06-29 2021-01-01 云丁智能科技(北京)有限公司 信息处理方法、***介及***
CN110855597B (zh) * 2018-08-20 2022-08-09 京东科技控股股份有限公司 消息传输方法、服务器及客户端
US11038698B2 (en) * 2018-09-04 2021-06-15 International Business Machines Corporation Securing a path at a selected node
CN109194473B (zh) * 2018-09-25 2021-06-11 北京金山安全软件有限公司 一种数据传输方法、***、装置、终端及存储介质
CN109309910A (zh) * 2018-10-30 2019-02-05 深圳市元征科技股份有限公司 通信数据传输方法、***、设备及计算机可读存储介质
JP2020088836A (ja) * 2018-11-15 2020-06-04 Kddi株式会社 車両メンテナンスシステム、メンテナンスサーバ装置、管理サーバ装置、車載装置、メンテナンスツール、コンピュータプログラム及び車両メンテナンス方法
CN109343515A (zh) * 2018-11-30 2019-02-15 深圳市元征科技股份有限公司 车辆故障诊断方法、***、设备及计算机可读存储介质
CN111917688B (zh) * 2019-05-08 2024-05-14 北京奇虎科技有限公司 一种通过云平台传输加密数据的方法、装置和***
CN111988350A (zh) * 2019-05-22 2020-11-24 广东思派康电子科技有限公司 一种将心率耳机采集的数据同步保存到云端服务器的方法
CN110224822B (zh) * 2019-06-10 2022-03-18 飞天诚信科技股份有限公司 一种密钥协商方法及***
CN110475034B (zh) * 2019-07-23 2020-12-22 深圳市六度人和科技有限公司 提高话机安全性的方法、用户端装置、服务器装置及***
CN112448808A (zh) * 2019-08-29 2021-03-05 斑马智行网络(香港)有限公司 通信方法、设备、接入点、服务器、***及存储介质
US11429802B2 (en) * 2019-09-12 2022-08-30 MobileIron, Inc. Obtaining device posture of a third party managed device
FR3105682B1 (fr) * 2019-12-20 2022-05-13 E Scopics Procede et systeme de gestion d’echange de donnees dans le cadre d’un examen medical
CN113225743B (zh) * 2021-04-19 2023-06-06 深圳市瑞力物联技术有限公司 一种标签信息识别方法
CN113596052B (zh) * 2021-08-06 2023-09-01 广州众诺微电子有限公司 数据传输方法及***
CN113840282A (zh) * 2021-09-27 2021-12-24 中国建设银行股份有限公司 物联网信息传输方法及装置、存储介质及电子设备
CN114598459B (zh) * 2022-01-29 2024-04-19 上海钧正网络科技有限公司 一种基于遥控设备的通信方法、装置及存储介质
CN116055207B (zh) * 2023-01-31 2023-10-03 深圳市圣驼储能技术有限公司 一种物联网通讯数据的加密方法及***
CN116233767B (zh) * 2023-03-20 2024-04-30 中国联合网络通信集团有限公司 集群对讲通信方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030070067A1 (en) * 2001-09-21 2003-04-10 Shin Saito Communication processing system, communication processing method, server and computer program
US20040034776A1 (en) * 2002-08-14 2004-02-19 Microsoft Corporation Authenticating peer-to-peer connections
US20050235152A1 (en) * 2004-03-16 2005-10-20 Kabushiki Kaisha Toshiba Encryption key sharing scheme for automatically updating shared key

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8613071B2 (en) * 2005-08-10 2013-12-17 Riverbed Technology, Inc. Split termination for secure communication protocols
WO2007121587A1 (en) * 2006-04-25 2007-11-01 Stephen Laurence Boren Dynamic distributed key system and method for identity management, authentication servers, data security and preventing man-in-the-middle attacks
CN101231737B (zh) * 2008-02-25 2014-06-04 飞天诚信科技股份有限公司 一种增强网上银行交易安全性的***及方法
CN101247219A (zh) * 2008-03-26 2008-08-20 宇龙计算机通信科技(深圳)有限公司 分体式终端的主机和子机、及数据传输的方法
US8515063B2 (en) * 2009-12-21 2013-08-20 Motorola Mobility Llc Coordinated viewing experience among remotely located users
US20120137137A1 (en) * 2010-11-30 2012-05-31 Brickell Ernest F Method and apparatus for key provisioning of hardware devices
CN102497465A (zh) * 2011-10-26 2012-06-13 潘铁军 一种分布式密钥的高保密移动信息安全***及安全方法
CN103561023A (zh) * 2013-10-31 2014-02-05 曙光云计算技术有限公司 通讯信息的发起和接收方法以及发起和接收装置
CN104144049B (zh) * 2014-03-11 2016-02-17 腾讯科技(深圳)有限公司 一种加密通信方法、***和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030070067A1 (en) * 2001-09-21 2003-04-10 Shin Saito Communication processing system, communication processing method, server and computer program
US20040034776A1 (en) * 2002-08-14 2004-02-19 Microsoft Corporation Authenticating peer-to-peer connections
US20050235152A1 (en) * 2004-03-16 2005-10-20 Kabushiki Kaisha Toshiba Encryption key sharing scheme for automatically updating shared key

Also Published As

Publication number Publication date
US20190089684A1 (en) 2019-03-21
US10412061B2 (en) 2019-09-10
EP3075096A1 (en) 2016-10-05
KR101941049B1 (ko) 2019-04-12
EP3075096A4 (en) 2017-06-07
WO2015135337A1 (en) 2015-09-17
US20160127331A1 (en) 2016-05-05
CN104144049A (zh) 2014-11-12
US10164949B2 (en) 2018-12-25
EP3075096B1 (en) 2019-02-27
CN104144049B (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
KR101941049B1 (ko) 암호화된 통신을 위한 방법 및 시스템
US9602506B2 (en) Method and apparatus for supporting login through user terminal
US10298398B2 (en) Peer discovery, connection, and data transfer
EP2938112B1 (en) Portable authorization device
WO2020143414A1 (zh) 无线网络接入方法、装置、设备及***
US9118662B2 (en) Method and system for distributed off-line logon using one-time passwords
EP3487195B1 (en) Systems and methods for securely pairing a transmitting device with a receiving device
CN107659406B (zh) 一种资源操作方法及装置
WO2019056957A1 (zh) 数据处理、身份认证方法及***、终端
JP2018534852A (ja) デバイス間のセキュアアソシエーションのためのインターネット鍵交換(ike)
JP2019514314A (ja) 暗号化メッセージを送受信するために動的公開鍵インフラストラクチャを用いる方法、システム、及び媒体
TW201417546A (zh) 即時通信方法和系統
EP3794852B1 (en) Secure methods and systems for identifying bluetooth connected devices with installed application
JP2015531901A (ja) クラウドサーバのためのバウチャー許可
US11652640B2 (en) Systems and methods for out-of-band authenticity verification of mobile applications
US20220231852A1 (en) Neighbor awareness networking password authentication
US20180198621A1 (en) Short-Distance Network Electronic Authentication
US8885827B2 (en) System and method for enabling a host device to securely connect to a peripheral device
KR101853970B1 (ko) 인증번호 중계 방법
US20230188498A1 (en) Efficient and secure universal/app links
US11785005B2 (en) Secure tunneling with implicit device identification
US20240135366A1 (en) System and method for secure communications through secure contracts
KR20160064690A (ko) 데이터 전송 장치 및 방법
CN117714087A (zh) 文件加密传输方法、***、介质及设备
CN113626777A (zh) 身份认证方法、存储介质和电子设备

Legal Events

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