KR20210094616A - 데이터 스트림에서 데이터의 안전한 전송 - Google Patents

데이터 스트림에서 데이터의 안전한 전송 Download PDF

Info

Publication number
KR20210094616A
KR20210094616A KR1020217019575A KR20217019575A KR20210094616A KR 20210094616 A KR20210094616 A KR 20210094616A KR 1020217019575 A KR1020217019575 A KR 1020217019575A KR 20217019575 A KR20217019575 A KR 20217019575A KR 20210094616 A KR20210094616 A KR 20210094616A
Authority
KR
South Korea
Prior art keywords
data
data stream
location
metadata
computer
Prior art date
Application number
KR1020217019575A
Other languages
English (en)
Inventor
파비안 그레모
프레드릭 토마스
장 베르나르 피셔
Original Assignee
나그라비젼 에스에이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 나그라비젼 에스에이 filed Critical 나그라비젼 에스에이
Publication of KR20210094616A publication Critical patent/KR20210094616A/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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second 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/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

개요로서, 데이터 스트림에서 데이터를 제1 디바이스로부터 제2 디바이스로 전송하는 컴퓨터 구현 방법이 개시된다. 데이터 스트림은 제1 디바이스로부터 제2 디바이스로 전송되기 전에 암호화되고, 데이터 스트림에서 데이터의 위치가 제2 디바이스에 표시된다. 이 위치는 제1 디바이스와 제2 디바이스 사이에 미리 공유된 위치일 수 있거나, 또는 제1 디바이스가 데이터의 위치를 제2 디바이스에 전송할 수 있다. 제2 디바이스는 암호화된 데이터 스트림을 복호하고, 위치에 기초하여 데이터 스트림에서 데이터를 식별하고, 데이터 스트림에서 식별된 데이터를 암호화한다.

Description

데이터 스트림에서 데이터의 안전한 전송
본 개시물은 데이터 전송에 관한 것으로, 특히 데이터 스트림에서 데이터를 안전하게 전송하는 기술에 관한 것이다.
컴퓨터 네트워킹에 있어서, 데이터는 통상적으로 두 개 이상의 디바이스 사이에서 프라이버시 및 데이터 무결성을 제공하기 위해 두 개의 암호화 계층을 사용하여 전송된다. 제1 암호화 계층은 통상적으로 데이터에 적용되어 "저장(at rest)" 데이터를 보호하고 그 진본성을 보장한다. 다른 디바이스로의 전송을 위해 데이터 스트림에 암호화된 데이터가 포함된다. 제2 암호화 계층은 데이터 스트림이 전송되기 전에 이동 레벨에서 전역적으로 데이터 스트림에 적용된다.
사물 인터넷(Internet of Things) 디바이스와 같은 일부 디바이스는 전력 소비가 매우 낮고(소형 배터리로 다년간 기능해야 함), 저장 공간이 적고(비용 절감을 위해), 제한된 통신 대역폭을 사용할 것으로 기대된다. 이는 전력 소비, 저장 공간 및 대역폭이 훨씬 더 높을 수 있는 인터넷상의 컴퓨터, 태블릿 및 전화와는 다르다.
따라서, 안전한 저전력 데이터 전송을 가능하게 하는 방법 및 디바이스를 제공하는 것이 바람직하다. 추가적으로, 또는 대안적으로, 데이터 전송은 더 높은 전력을 갖는 백-엔드(back-end) 디바이스 및 데이터 저장 하드웨어와 같은 제2 디바이스에 대하여, 데이터 보안을 유지하면서 저전력 작동을 허용하는, 제한된 대역폭 및 데이터 저장 능력을 갖는 사물 인터넷 디바이스와 같은 제1 디바이스에 의해 실행될 수 있어야 한다. 또한, 본 발명의 다른 바람직한 피처 및 특징은 첨부된 도면 및 발명의 배경과 함께 취해진 하기의 발명의 상세한 설명 및 첨부된 청구항들로부터 분명해질 것이다.
도 1은 데이터를 전송하기 위한 시스템의 블록도를 예시하고;
도 2는 도 1의 시스템에서의 데이터 흐름을 예시하고;
도 3은 컴퓨팅 디바이스의 일 구현예의 블록도를 예시한다.
개요로서, 데이터 스트림에서 데이터를 제1 디바이스로부터 제2 디바이스로 전송하는 컴퓨터 구현 방법이 개시된다. 데이터 스트림은 제1 디바이스로부터 제2 디바이스로 전송되기 전에 암호화되고, 데이터 스트림에서 데이터의 위치가 제2 디바이스에 표시된다. 이 위치는 제1 디바이스와 제2 디바이스 사이에 미리 공유된 위치일 수 있거나, 또는 제1 디바이스가 데이터의 위치를 제2 디바이스에 전송할 수 있다.
이후, 제1 디바이스를 대신하여 제2 디바이스에서 데이터가 암호화된다. 이렇게 하면, 데이터가 제1 디바이스로부터 제2 디바이스로 안전하게 전송될 수 있으며, 제1 디바이스가 데이터를 암호화할 필요 없이 데이터의 진본성이 유지될 수 있다. 유리하게는, 데이터 자체가 아닌 데이터 스트림을 암호화함으로써, 제1 디바이스의 전력 소비가 감소될 수 있다. 데이터 전송에 있어서의 전력 절감은 사물 인터넷 디바이스와 같은 배터리 구동식 디바이스에서 특히 유익하다. 이 효과는 위치가 제1 디바이스로부터 제2 디바이스로 전송되는지 또는 위치가 미리 공유된 위치인지의 여부에 관계없이 달성될 수 있다. 이렇게 하면, 이들이 동일한 효과를 가능하게 하는 대체 해법들을 형성한다.
본 개시물의 다른 양태는 제2 디바이스에 의해 제1 디바이스로부터 데이터를 수신하는 컴퓨터 구현 방법을 포함한다. 방법은 제1 디바이스로부터 수신된 암호화된 데이터 스트림을 제2 디바이스에 의해 복호하는 단계를 포함한다. 방법은, 제1 옵션으로, 제1 디바이스에 의해 제공되는 위치에 기초하여 복호된 데이터 스트림에서 데이터를 제2 디바이스에 의해 식별하는 단계를 포함하며, 위치는 데이터 스트림의 일부이다. 제2 옵션으로, 방법은 데이터 스트림에서 미리 결정된 위치에 기초하여 제2 디바이스에 의해 데이터를 식별하는 단계를 포함한다. 또한, 방법은 데이터 스트림에서 식별된 데이터를 제2 디바이스에 의해 암호화하는 단계를 포함한다.
본 개시물의 추가적인 양태들은 제1 디바이스로부터의 데이터 스트림에서 데이터를 제2 디바이스에서 수신하는 컴퓨터 구현 방법에 관한 것이다. 방법은 제1 디바이스로부터의 암호화된 데이터 스트림을 제2 디바이스에서 수신하는 단계를 포함한다. 암호화된 데이터 스트림은 데이터를 포함한다. 제2 디바이스는 데이터 스트림에서 데이터의 위치를 나타내는 메타데이터를 수신한다. 예를 들어, 위치가 제1 디바이스와 제2 디바이스 사이에 미리 공유된 위치, 예컨대 공유된 비밀이면, 메타데이터는 임의의 암호화된 데이터 스트림이 수신되기 전에 제2 디바이스에서 수신될 수 있으며, 즉, 제2 디바이스의 제조 또는 설정 동안 하드코딩될 수 있다. 대안적으로, 제2 디바이스는 제1 디바이스로부터 메타데이터를 수신할 수 있다. 제2 디바이스는 암호화된 데이터 스트림을 복호하고 표시된 위치에 기초하여 데이터 스트림에서 데이터를 식별한다. 이후, 데이터는, 예를 들어, 다른 데이터 스트림에서 제2 디바이스에서 암호화된다.
제1 디바이스가 데이터의 위치를 제2 디바이스에 전송할 경우, 위치는 제1 디바이스로부터 제2 디바이스로 전송되는 메타데이터의 일부이다. 메타데이터는, 예를 들어 헤더에서 암호화된 데이터 스트림의 일부로서 전송될 수 있다. 대안적으로, 메타데이터는 암호화된 데이터 스트림과는 별도로 송신될 수 있으며, 다시 말해, 암호화된 데이터 스트림은 제1 연결을 사용하여 전송될 수 있고 메타데이터는 제2 연결을 사용하여 전송될 수 있다.
데이터 스트림에서 데이터의 위치가 제1 디바이스와 제2 디바이스 사이에 미리 공유된 위치일 경우, 데이터는 데이터 스트림에서 미리 결정된 위치에 있다. 예를 들어, 미리 결정된 위치는 고정된 인덱스 또는 TagLenValue의 Tag와 같은 하드코딩된 파싱 정보, 예컨대 asn1 시퀀스 또는 xml 또는 json 포맷의 특정 필드일 수 있다. 미리 결정된 위치는 제2 디바이스가 데이터 스트림에서 데이터를 식별할 수 있도록 미리 공유된 위치에 기초한다. 미리 결정된 위치는 데이터 스트림에서 고정된 위치 또는 미리 공유된 위치의 알고리즘에 따른 위치일 수 있다. 이 문맥에서 미리 결정된다는 것은 데이터 스트림을 전송하기 전에 결정된다는 것일 수 있다.
본 개시물의 추가적인 양태들은 전술한 방법의 단계들을 수행하도록 구성되는 프로세서를 포함하는 시스템, 컴퓨터 시스템으로 하여금 전술한 바와 같은 방법의 단계들을 수행하게 하는 컴퓨터 실행 가능 명령어를 갖는 비일시적인 컴퓨터 판독 가능 매체, 및 프로그램이 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금 전술한 바와 같은 방법의 단계들을 수행하게 하는 명령어를 포함하는 컴퓨터 프로그램 제품에 관한 것이다.
이제, 유사한 참조 번호가 유사한 특징을 나타내는 첨부 도면을 참조하여 일부 특정 실시형태들을 예시로서 설명한다.
도 1을 참조하면, 시스템(100)은 제1 디바이스(102) 및 제2 디바이스(104)를 포함한다. 제1 디바이스(102)는 제2 디바이스(104)와 통신하도록 배치되고, 제1 및 제2 디바이스는 인터넷, 로컬 에어리어 네트워크, 무선 로컬 에어리어 네트워크, 와이드 에어리어 네트워크 등과 같은 네트워크를 통해 연결될 수 있다.
제1 디바이스(102)는 프로세서(120), 애플리케이션 모듈(122), 네트워크 포맷터(124) 및 터널 매니저(126)를 포함한다. 애플리케이션 모듈(122), 네트워크 포맷터(124) 및 터널 매니저(126) 각각은 프로세서(120)에 동작 가능하게 연결된다.
애플리케이션 모듈(122)은, 예를 들어 센서로부터의 입력에 기초하여 데이터를 출력하는 애플리케이션을 실행하도록 배치된다. 네트워크 포맷터(124)는 애플리케이션 모듈(122)로부터 데이터 및 임의의 다른 데이터를 수신하고 데이터를 데이터 스트림으로 포맷한다. 네트워크 포맷터(124)는 미리 공유된 위치, 예컨대 제2 디바이스와의 공유된 비밀에 따라 미리 결정된 위치에서 데이터를 포맷할 수 있다. 대안적으로, 네트워크 포맷터(124)는 데이터 스트림에서 데이터의 위치를 터널 매니저(126)에게 송신할 수 있다.
터널 매니저(126)는 대칭 키(T)를 저장하는 스트림 키 데이터베이스(128)를 포함한다. 터널 매니저(126)는 대칭 키(T)를 사용하여 네트워크 포맷터(124)로부터 데이터 스트림을 암호화하도록 배치된다. 터널 매니저(126)는 암호화된 데이터 스트림을 제2 디바이스(104)에 전송하도록 구성된다. 터널 매니저(126)는 메타데이터를 생성하고 메타데이터를 제2 디바이스(104)에 송신하도록 구성될 수 있다. 메타데이터는 데이터 스트림에서 데이터의 위치, 암호 키, 및/또는 암호 키에 대한 레퍼런스를 포함할 수 있다. 암호 키는 비대칭 키 쌍의 개인 키일 수 있거나, 또는 대칭 키일 수 있다.
제2 디바이스(104)는 프로세서(140), 터널 엔드포인트(142), 네트워크 포맷터(148), 복호 엔진(150) 및 애플리케이션 모듈(152)을 포함한다. 터널 엔드포인트(142), 네트워크 포맷터(148), 복호 엔진(150) 및 애플리케이션 모듈(152)은 각각 프로세서(140)에 동작 가능하게 연결된다.
터널 엔드포인트(142)는 대칭 키(T)의 사본을 저장하는 스트림 키 데이터베이스(144)를 포함한다. 선택적으로, 터널 엔드포인트(142)는 암호 키(D)를 포함하는 하나 이상의 암호 키를 저장하는 암호 키 데이터베이스(146)를 포함한다. 터널 엔드포인트(142)는 제1 디바이스(102)의 터널 매니저(126)로부터 암호화된 데이터 스트림을 수신하도록 배치된다.
네트워크 포맷터(124) 및 터널 엔드포인트(142)에는 데이터 스트림에서 데이터의 위치에 관한 미리 공유된 위치가 설정 동안 제공될 수 있다. 이는, 데이터의 위치가 미리 결정되고, 터널 엔드포인트(142)가 데이터의 미리 결정된 위치에 기초하여 데이터 스트림에서 데이터를 식별하도록 배치됨을 의미한다.
대안적으로, 터널 매니저(126)가 메타데이터를 제2 디바이스에 전송하도록 배치된 경우, 터널 엔드포인트(142)는 메타데이터로부터 데이터의 위치를 추출하도록 배치된다. 터널 엔드포인트(142)는 메타데이터로부터의 위치에 기초하여 데이터 스트림에서 데이터를 식별하도록 배치된다.
터널 엔드포인트(142)는 데이터가 데이터 스트림에서 식별되면 데이터 스트림 내의 데이터를 암호화하도록 배치된다.
네트워크 포맷터(148)는 데이터가 암호화되어 있는 데이터 스트림을 터널 엔드포인트(142)로부터 수신하고 (암호화된) 데이터 및 임의의 다른 데이터를 추출하도록 구성된다. 복호 엔진(150)은 적용 가능한 경우 데이터 스트림으로부터 추출된 데이터를 복호하도록 배치된다. 애플리케이션 모듈(152)은 데이터를 처리하도록 배치된다.
도 2는 제1 디바이스(102)의 구성요소들과 제2 디바이스(104)의 구성요소들 사이의 데이터 흐름(200)을 예시한다.
단계(202)에서, 애플리케이션 모듈(122)은 데이터를 생성하고 이를 네트워크 포맷터(124)에 송신한다. 애플리케이션 모듈(122)은 또한 단계(204)에서 다른 데이터를 생성하고 이를 네트워크 포맷터(124)에 송신할 수도 있다.
단계(206)에서, 네트워크 포맷터(124)는 단계(204)로부터 수신된 임의의 데이터와 함께 데이터를 포함하는 데이터 스트림을 생성하고, 데이터 스트림을 터널 매니저(126)에게 전송한다. 미리 공유된 위치가 제2 디바이스(104)에 제공되면, 네트워크 포맷터(124)는 데이터를 미리 결정된 위치에서 데이터 스트림에 통합할 수 있다.
터널 매니저(126)는, 단계(208)에서, 스트림 키 데이터베이스(128)로부터의 대칭 키(T)로 데이터 스트림을 암호화한다. 예를 들어, 제1 디바이스에서 데이터 스트림을 암호화하는 데 필요한 처리 능력을 최소화하기 위해 데이터 스트림이 8비트 스트림 암호로 암호화될 수 있다. 단계(210)에서, 암호화된 데이터 스트림이 제2 디바이스(104)의 터널 엔드포인트(142)로 송신된다.
미리 공유된 위치가 제2 디바이스(104)에 제공되지 않으면, 즉 네트워크 포맷터(124)가 데이터를 미리 결정된 위치에서 데이터 스트림에 통합하지 않으면, 단계(212)에서, 네트워크 포맷터(124)가 데이터 스트림에서 데이터의 위치를 터널 매니저(126)에게 통신한다. 단계(214)에서, 터널 매니저(126)는 위치를 메타데이터에 패키징하고 이를 터널 엔드포인트(142)에 전송한다. 메타데이터는 단계(210)에서, 예를 들어 데이터 스트림의 헤더에 송신된 암호화된 데이터 스트림의 일부로서 단계(214)에서 전송될 수 있다. 대안적으로, 메타데이터는 단계(210)에서 송신된 암호화된 데이터 스트림을 송신하는 데 사용된 연결과는 별개의 연결을 사용하여 단계(214)에서 송신될 수 있으며, 예를 들어 연결들은 서로 다른 암호를 사용할 수 있다. 단계(214)는 단계(210)의 이전에, 병행하여 또는 이후에 발생할 수 있으며, 즉, 메타데이터는 암호화된 데이터 스트림과 동시에, 사전에 또는 이후에 송신될 수 있다.
단계(216)에서, 터널 엔드포인트(142)는 스트림 키 데이터베이스(144)로부터의 대칭 키(T)를 사용하여 암호화된 데이터 스트림을 복호한다.
터널 엔드포인트(142)는 단계(214)에서 송신된 메타데이터로부터 데이터 스트림에서 데이터의 위치를 검색할 수 있다. 대안적으로, 데이터의 위치가 미리 공유된 위치에 기초하면, 터널 엔드포인트(142)는, 예컨대 초기 설정 동안 미리 공유된 위치를 포함하는 메타데이터를 수신하고, 이는 터널 엔드포인트(142)에 하드코딩된다. 따라서, 터널 엔드포인트(142)는 설정 동안 송신된 메타데이터로부터 데이터 스트림에서 데이터의 위치를 검색할 수 있다.
단계(218)에서, 터널 엔드포인트(142)는 데이터의 위치를 사용하여 데이터 스트림에서 데이터를 식별한다. 터널 엔드포인트(142)는, 예를 들어 암호 키(D)를 사용하여 단계(218)에서 데이터 스트림 내의 데이터를 암호화한다. 단계(214)에서, 암호 키가 메타데이터에서 제1 디바이스(102)로부터 제2 디바이스(104)로 전송될 수있다. 대안적으로, 메타데이터는 암호 키 데이터베이스(146)에서 이용 가능한 복수의 암호 키 중에서 사용할 암호 키를 나타낼 수 있다.
단계(220)에서, 암호화된 데이터를 갖는 데이터 스트림은 터널 엔드포인트(142)로부터 네트워크 포맷터로 전송되고, 네트워크 포맷터(148)는 데이터 스트림으로부터 암호화된 데이터 및 임의의 다른 데이터를 추출한다. 단계(222)에서, 네트워크 포맷터(148)는 암호화된 데이터를 복호 엔진(150)에 전송한다. 데이터 스트림에 임의의 다른 데이터가 있으면, 단계(224)에서, 이 다른 데이터가 제2 디바이스(104)의 애플리케이션 모듈(152)에 송신된다.
단계(226)에서, 복호 엔진(150)은 암호화된 데이터를 복호한다. 이후, 데이터는 단계(228)에서 제2 디바이스(104)의 애플리케이션 모듈(152)에 송신된다.
도 3은 컴퓨팅 디바이스로 하여금 본 명세서에서 논의되는 방법론들 중 어느 하나 이상의 방법론을 수행하게 하기 위한 명령어 집합이 실행될 수 있는 컴퓨팅 디바이스(300)의 일 구현예의 블록도를 예시한다. 대안적인 구현예에 있어서, 컴퓨팅 디바이스는 로컬 에어리어 네트워크(Local Area Network)(LAN), 인트라넷, 엑스트라넷, 또는 인터넷에서의 다른 기계에 연결(예컨대, 네트워킹)될 수 있다. 컴퓨팅 디바이스는 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 기계로서, 또는 피어-투-피어 (또는 분산) 네트워크 환경에서 피어 기계로서 동작할 수 있다. 컴퓨팅 디바이스는 개인용 컴퓨터(PC), 태블릿 컴퓨터, 셋톱 박스(STB), 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 해당 기계에 의해 수행될 동작을 지정하는 명령어 집합(순차적 또는 기타)을 실행할 수 있는 임의의 기계일 수 있다. 또한, 단일의 컴퓨팅 디바이스만이 예시되어 있지만, "컴퓨팅 디바이스(computing device)"라는 용어는 본 명세서에서 논의되는 방법론들 중 어느 하나 이상의 방법론을 수행하기 위해 명령어 집합(또는 복수의 명령어 집합)을 개별적으로 또는 공동으로 실행하는 임의의 기계(예컨대, 컴퓨터) 모음을 포함하는 것으로도 간주될 것이다.
예시적인 컴퓨팅 디바이스(300)는 버스(330)를 통해 서로 통신하는 프로세싱 디바이스(302), 메인 메모리(304)(예컨대, 리드-온리 메모리(ROM), 플래시 메모리, 동기식 DRAM(SDRAM) 또는 램버스 DRAM(RDRAM)과 같은 동적 랜덤 액세스 메모리(DRAM) 등), 정적 메모리(306)(예컨대, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등), 및 보조 메모리(예컨대, 데이터 스토리지 디바이스(313))를 포함한다.
프로세싱 디바이스(302)는 마이크로프로세서, 중앙 처리 장치 등과 같은 하나 이상의 범용 프로세서를 나타낸다. 보다 구체적으로, 프로세싱 디바이스(302)는 복합 명령어 집합 컴퓨팅(CISC) 마이크로프로세서, 축소 명령어 집합 컴퓨팅(RISC) 마이크로프로세서, 훨씬 긴 명령어(VLIW) 마이크로프로세서, 다른 명령어 집합들을 구현하는 프로세서, 또는 명령어 집합들의 조합을 구현하는 프로세서일 수 있다. 프로세싱 디바이스(302)는 또한 주문형 집적 회로(ASIC), 필드 프로그램 가능 게이트 어레이(FPGA), 디지털 신호 프로세서(DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 프로세싱 디바이스일 수도 있다. 프로세싱 디바이스(302)는 본 명세서에서 논의되는 동작들 및 단계들을 수행하기 위한 프로세싱 로직(명령어(322))을 실행하도록 구성된다.
컴퓨팅 디바이스(300)는 네트워크 인터페이스 디바이스(303)를 더 포함할 수 있다. 컴퓨팅 디바이스(300)는 또한 비디오 디스플레이 유닛(310)(예컨대, 액정 디스플레이(LCD)), 문자 숫자식 입력 디바이스(312)(예컨대, 키보드 또는 터치스크린), 커서 컨트롤 디바이스(314)(예컨대, 마우스 또는 터치스크린), 및 오디오 디바이스(316)(예컨대, 스피커)를 포함할 수 있다.
데이터 스토리지 디바이스(313)는 본 명세서에서 설명되는 방법론들 또는 기능들 중 어느 하나 이상을 구체화하는 명령어(322)들의 하나 이상의 집합이 저장된 하나 이상의 기계-판독 가능 저장 매체(또는 보다 구체적으로, 하나 이상의 비일시적인 컴퓨터-판독 가능 저장 매체(323))를 포함할 수 있다. 명령어(322)는 컴퓨터 시스템(300)에 의해 실행되는 동안 메인 메모리(304) 내에 및/또는 프로세싱 디바이스(302) 내에 완전히 또는 적어도 부분적으로 상주할 수도 있으며, 메인 메모리(304) 및 프로세싱 디바이스(302)도 컴퓨터-판독 가능 저장 매체를 구성한다.
전술한 다양한 방법들은 컴퓨터 프로그램에 의해 구현될 수 있다. 컴퓨터 프로그램은 전술한 다양한 방법들 중 하나 이상의 방법의 기능을 수행하라고 컴퓨터에게 지시하도록 배치되는 컴퓨터 코드를 포함할 수 있다. 이러한 방법을 수행하기 위한 컴퓨터 프로그램 및/또는 코드는 하나 이상의 컴퓨터 판독 가능 매체, 또는 보다 일반적으로 컴퓨터 프로그램 제품 상에서 컴퓨터와 같은 장치에 제공될 수 있다. 컴퓨터 판독 가능 매체는 일시적 매체이거나 비일시적 매체일 수 있다. 하나 이상의 컴퓨터 판독 가능 매체는, 예를 들어 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템일 수 있거나, 또는 예를 들어 인터넷을 통해 코드를 다운로드하기 위한 데이터 전송을 위한 전파 매체일 수 있다. 대안적으로, 하나 이상의 컴퓨터 판독 가능 매체는 반도체 또는 고체 상태 메모리, 자기 테이프, 이동식 컴퓨터 디스켓, 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM), 리지드 자기 디스크, 및 CD-ROM, CD-R/W, DVD 또는 블루레이 디스크와 같은 광학 디스크와 같은 하나 이상의 물리적 컴퓨터 판독 가능 매체의 형태를 취할 수 있다.
구현예에 있어서, 본 명세서에서 설명되는 모듈, 컴포넌트 및 기타 특징은 개별 컴포넌트로서 구현될 수 있거나, 또는 ASICS, FPGA, DSP 또는 이와 유사한 디바이스와 같은 하드웨어 컴포넌트의 기능에 통합될 수 있다.
"하드웨어 컴포넌트(hardware component)"는 특정 동작을 수행할 수 있는 유형의 (예컨대, 비일시적) 물리적 컴포넌트(예컨대, 하나 이상의 프로세서들의 세트)이며, 특정 물리적 방식으로 구성 또는 배치될 수 있다. 하드웨어 컴포넌트는 특정 동작을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 컴포넌트는 필드 프로그램 가능 게이트 어레이(FPGA) 또는 ASIC와 같은 특수 목적 프로세서일 수 있거나 또는 이를 포함할 수 있다. 하드웨어 컴포넌트는 또한 특정 동작을 수행하기 위해 일시적으로 소프트웨어에 의해 구성된 프로그램 가능 로직 또는 회로를 포함할 수도 있다.
따라서, "하드웨어 컴포넌트"라는 문구는 특정 방식으로 동작하도록 또는 본 명세서에서 설명되는 특정 동작을 수행하도록 물리적으로 구성되거나, 영구적으로 구성(예컨대, 하드와이어드)되거나, 또는 일시적으로 구성(예컨대, 프로그래밍)될 수 있는 유형의 엔티티를 포함하는 것으로 이해되어야 한다.
또한, 모듈 및 컴포넌트는 하드웨어 디바이스 내에서 펌웨어 또는 기능 회로로 구현될 수 있다. 또한, 모듈 및 컴포넌트는 하드웨어 디바이스 및 소프트웨어 컴포넌트의 임의의 조합으로 구현되거나 또는 소프트웨어(예컨대, 기계-판독 가능 매체 또는 전송 매체에 저장 또는 달리 구체화되는 코드)로만 구현될 수 있다.
달리 구체적으로 언급되지 않는 한, 하기의 논의로부터 명백한 바와 같이, 상세한 설명 전반에서 "암호화(encrypting)", "수신(receiving)", "결정(determining)", "비교(comparing)", "생성(generating)", "송신(sending)", "식별(identifying)" 등과 같은 용어를 이용한 논의는 컴퓨터 시스템의 레지스터 및 메모리 내의 물리(전자)량으로서 표현되는 데이터를 컴퓨터 시스템 레지스터 또는 메모리 또는 그 밖의 이러한 정보 스토리지, 전송 또는 디스플레이 디바이스 내의 물리량으로서 유사하게 표현되는 다른 데이터로 조작 및 변환하는 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 동작 및 프로세스를 의미한다는 것을 인식해야 한다.
상기 설명은 제한적인 것이 아니라 예시적인 것으로 의도된 것임을 이해해야 한다. 상기 설명을 읽고 이해하면 많은 다른 구현예들이 당업자에게 명백할 것이다. 본 개시물이 특정한 예시적인 구현예들을 참조하여 설명되었지만, 본 개시물은 설명된 구현예들로 제한되는 것이 아니라, 첨부된 청구항들의 사상 및 범위 내에서 수정 및 변경하여 실행될 수 있음을 인식할 것이다. 따라서, 명세서 및 도면은 제한적인 의미가 아닌 예시적인 의미로 간주되어야 한다. 따라서, 본 개시물의 범위는 첨부된 청구항들을 참조하여, 그러한 청구항들에 부여된 것과 등가물의 전체 범위와 함께 결정되어야 한다.

Claims (15)

  1. 제2 디바이스에 의해 제1 디바이스로부터 데이터를 수신하는 컴퓨터 구현 방법으로서,
    상기 제1 디바이스로부터 수신된 암호화된 데이터 스트림을 상기 제2 디바이스에 의해 복호하는 단계,
    상기 제1 디바이스에 의해 제공되는 위치에 기초하여 상기 복호된 데이터 스트림에서 데이터를 상기 제2 디바이스에 의해 식별- 상기 위치는 상기 데이터 스트림의 일부이거나 또는 상기 데이터 스트림에서 미리 결정된 위치에 기초함 -하는 단계, 및
    상기 데이터 스트림에서 상기 식별된 데이터를 상기 제2 디바이스에 의해 암호화하는 단계를 포함하는 컴퓨터 구현 방법.
  2. 제1항에 있어서, 상기 제2 디바이스에 의해 상기 제1 디바이스로부터 메타데이터가 수신되고, 상기 메타데이터는 상기 데이터 스트림에서 상기 데이터의 위치를 포함하는 컴퓨터 구현 방법.
  3. 제2항에 있어서, 상기 암호화된 데이터 스트림은 제1 연결을 사용하여 전송되고 상기 메타데이터는 제2 연결을 사용하여 전송되는 컴퓨터 구현 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제1 디바이스는 배터리 구동식 사물 인터넷 디바이스이고, 상기 데이터 스트림에서의 상기 데이터는 센서 데이터이며 상기 제2 디바이스는 백엔드(backend) 디바이스인 컴퓨터 구현 방법.
  5. 제2항 또는 제3항에 있어서, 상기 메타데이터는 암호 키를 포함하고, 상기 방법은 상기 제2 디바이스로 하여금 상기 암호 키를 사용하여 제2 데이터 스트림에서 상기 데이터를 암호화하게 하는 단계를 포함하는 컴퓨터 구현 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 데이터는 상기 데이터 스트림에서 상기 미리 결정된 위치에 있는 데이터인 컴퓨터 구현 방법.
  7. 제1항에 있어서, 상기 방법은, 상기 제2 디바이스에서, 상기 데이터 스트림에서 상기 데이터의 위치를 식별하는 메타데이터를 수신하는 단계를 더 포함하는 컴퓨터 구현 방법.
  8. 제7항에 있어서, 상기 메타데이터를 수신하는 단계는 상기 제2 디바이스에서 상기 데이터의 위치를 하드코딩하는 단계를 포함하는 컴퓨터 구현 방법.
  9. 제7항에 있어서, 상기 메타데이터는 상기 제1 디바이스로부터 상기 암호화된 데이터 스트림의 일부로서 수신되는 컴퓨터 구현 방법.
  10. 제7항에 있어서, 상기 암호화된 데이터 스트림은 제1 연결을 사용하여 수신되고 상기 메타데이터는 제2 연결을 사용하여 수신되는 컴퓨터 구현 방법.
  11. 제7항 내지 제10항 중 어느 한 항에 있어서, 상기 제2 디바이스에서, 개인 키를 사용하여 제2 데이터 스트림에서 상기 데이터를 암호화하는 단계를 포함하는 컴퓨터 구현 방법.
  12. 제1 디바이스로부터 제2 디바이스로 데이터를 전송하기 위한 시스템으로서,
    데이터 스트림 및 상기 데이터 스트림에서 상기 데이터의 위치를 수신하고,
    상기 데이터 스트림을 암호화하고,
    상기 암호화된 데이터 스트림을 상기 제2 디바이스에 전송하도록
    구성되는 프로세서를 포함하는 상기 제1 디바이스, 및
    상기 제1 디바이스로부터 상기 암호화된 데이터 스트림을 수신하고,
    상기 데이터 스트림에서 상기 데이터의 위치를 나타내는 메타데이터를 수신하고,
    상기 암호화된 데이터 스트림을 복호하고,
    상기 위치에 기초하여 상기 데이터 스트림에서 상기 데이터를 식별하고,
    상기 데이터 스트림에서 상기 식별된 데이터를 암호화하도록
    구성되는 프로세서를 포함하는 상기 제2 디바이스를 포함하는 시스템.
  13. 제12항에 있어서, 상기 제1 디바이스는 상기 메타데이터를 상기 제2 디바이스에 전송하도록 배치되는 시스템.
  14. 제12항에 있어서, 상기 제1 디바이스는 배터리 구동식 사물 인터넷 디바이스이고, 상기 데이터 스트림에서의 상기 데이터는 센서 데이터이며 상기 제2 디바이스는 백엔드 디바이스인 시스템.
  15. 컴퓨터에 의한 실행시에, 상기 컴퓨터로 하여금 제1항 내지 제6항 또는 제7항 내지 제11항 중 어느 한 항에 기재된 방법의 단계들을 수행하게 하는 명령어를 포함하는 컴퓨터 판독 가능 저장 매체.
KR1020217019575A 2018-12-03 2019-11-28 데이터 스트림에서 데이터의 안전한 전송 KR20210094616A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18209942.4 2018-12-03
EP18209942.4A EP3664396A1 (en) 2018-12-03 2018-12-03 Securely transmitting data in a data stream
PCT/EP2019/082925 WO2020114880A1 (en) 2018-12-03 2019-11-28 Securely transmitting data in a data stream

Publications (1)

Publication Number Publication Date
KR20210094616A true KR20210094616A (ko) 2021-07-29

Family

ID=64606714

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217019575A KR20210094616A (ko) 2018-12-03 2019-11-28 데이터 스트림에서 데이터의 안전한 전송

Country Status (8)

Country Link
US (2) US11750620B2 (ko)
EP (2) EP3664396A1 (ko)
JP (1) JP2022510392A (ko)
KR (1) KR20210094616A (ko)
CN (2) CN117118734A (ko)
AU (1) AU2019392497A1 (ko)
BR (1) BR112021010346A2 (ko)
WO (1) WO2020114880A1 (ko)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001249509A1 (en) * 2000-03-29 2001-10-08 Sony Electronics Inc. Transceiver system and method
EP1662788A1 (fr) * 2004-11-24 2006-05-31 Nagravision SA Unité de traitement de données audio/vidéo numériques et méthode de contrôle d'accès audites données
KR20080005569A (ko) * 2005-04-26 2008-01-14 코닌클리케 필립스 일렉트로닉스 엔.브이. 암호 시스템에서 암호화된 데이터 스트림을 처리하는 장치및 방법
US20070079117A1 (en) * 2005-10-04 2007-04-05 Bhogal Kulvir S Method for passing selectively encrypted attributes of specific versions of objects in a distributed system
US20100095114A1 (en) * 2008-10-10 2010-04-15 Richard Greene Method and system for encrypting and decrypting data streams
US20110161325A1 (en) * 2009-12-31 2011-06-30 Ego7 Llc System, method and computer-readable storage medium for generation and remote content management of compiled files
US8880905B2 (en) * 2010-10-27 2014-11-04 Apple Inc. Methods for processing private metadata
US8862902B2 (en) * 2011-04-29 2014-10-14 Seagate Technology Llc Cascaded data encryption dependent on attributes of physical memory
US9246972B2 (en) * 2013-12-19 2016-01-26 Activision Publishing, Inc. Content delivery methods and systems
US20160142387A1 (en) * 2014-11-14 2016-05-19 Microsoft Technology Licensing, Llc. Storage for encrypted data with enhanced security
US20160205106A1 (en) * 2015-01-12 2016-07-14 Verisign, Inc. Systems and methods for providing iot services
US9990367B2 (en) * 2015-07-27 2018-06-05 Sas Institute Inc. Distributed data set encryption and decryption
US10715599B2 (en) * 2015-11-30 2020-07-14 Verizon Patent And Licensing, Inc. Internet of things (IoT) platform and application framework
US10129218B2 (en) * 2016-01-08 2018-11-13 Nicolaas Gustav Temme Method and system for receiving, processing, storing and sending data of internet connected devices
US20180176187A1 (en) * 2016-12-16 2018-06-21 Amazon Technologies, Inc. Secure data ingestion for sensitive data across networks
CN108566393B (zh) * 2018-04-13 2019-04-12 清华大学无锡应用技术研究院 数据加密的方法、装置和系统

Also Published As

Publication number Publication date
EP3891951A1 (en) 2021-10-13
CN117118734A (zh) 2023-11-24
US11750620B2 (en) 2023-09-05
US20240022575A1 (en) 2024-01-18
WO2020114880A1 (en) 2020-06-11
CN113261256A (zh) 2021-08-13
EP3664396A1 (en) 2020-06-10
BR112021010346A2 (pt) 2021-08-24
AU2019392497A1 (en) 2021-07-22
JP2022510392A (ja) 2022-01-26
CN113261256B (zh) 2023-08-22
EP3891951B1 (en) 2024-02-07
US20220124099A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
US11706026B2 (en) Location aware cryptography
US9537918B2 (en) File sharing with client side encryption
US9413754B2 (en) Authenticator device facilitating file security
US9374222B2 (en) Secure communication of data between devices
US11811908B2 (en) Outputting a key based on an authorized sequence of operations
US20230370248A1 (en) Data sharing system, data sharing method and data sharing program
WO2016047115A1 (ja) 解析システム、解析装置、解析方法、及び、解析プログラムが記録された記憶媒体
WO2016045533A1 (zh) 基于可信执行环境的安全性信息交互设备
CN113595722A (zh) 量子安全密钥同步方法、装置、电子设备和存储介质
US20190109828A1 (en) Data processing method, device and system, and storage medium
US20170116393A1 (en) Drm service provision apparatus and method, and content playback apparatus and method using drm service
US11750620B2 (en) Securely transmitting data in a data stream
US11888971B2 (en) Sharing access to data externally
US20240070294A1 (en) Secure synchronization of data
US20240064131A1 (en) Secure synchronization of data
US10749899B1 (en) Securely sharing a transport layer security session with one or more trusted devices
WO2016047110A1 (ja) 解析システム、解析装置、解析方法、及び、解析プログラムが記録された記録媒体

Legal Events

Date Code Title Description
E902 Notification of reason for refusal