[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20180102537A - 공진 암호화 장치 및 방법 - Google Patents

공진 암호화 장치 및 방법 Download PDF

Info

Publication number
KR20180102537A
KR20180102537A KR1020187010594A KR20187010594A KR20180102537A KR 20180102537 A KR20180102537 A KR 20180102537A KR 1020187010594 A KR1020187010594 A KR 1020187010594A KR 20187010594 A KR20187010594 A KR 20187010594A KR 20180102537 A KR20180102537 A KR 20180102537A
Authority
KR
South Korea
Prior art keywords
stream
communicator
encryption
resonator
resonant
Prior art date
Application number
KR1020187010594A
Other languages
English (en)
Other versions
KR102688953B1 (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 글로벌 리스크 어드바이저스
Priority to KR1020247024771A priority Critical patent/KR20240118896A/ko
Publication of KR20180102537A publication Critical patent/KR20180102537A/ko
Application granted granted Critical
Publication of KR102688953B1 publication Critical patent/KR102688953B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • H04L9/0668Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence
    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

공진 암호화를 이용하는 보안 통신을 위한 시스템은 난수 생성기(random number generator(RNG))를 가진 공진기를 포함한다. RNG는 제1 난수 스트림을 생성하는 진정(true) 난수 생성기, 의사 난수 생성기 및 난수 스트림의 특성을 갖는 임의의 비반복 숫자 시퀀스 중 적어도 하나일 수 있다. 또한, 생성된 제1 난수 스트림을 송신하기 위하여, 난수 생성기에 전기적으로 결합된 송신기가 포함된다.

Description

공진 암호화 장치 및 방법
관련 기술에 대한 교차 참조
본 출원은 2015년 9월 15일 출원된 미국 임시 특허 출원 제62/218,850호 및 2015년 12월 21일 출원된 미국 특허 출원 제14/976,839호에 대한 우선권을 주장한다. 상기 출원 모두의 전문이 본 명세서에 참조로서 편입된다.
기술분야
본 명세서에서의 기술은 컴퓨터 보안에 관한 것으로, 더욱 상세하게는, 임의의 네트워크에 걸쳐 전자적으로 데이터를 전송하기 위한 보안 방법에 관한 것이다. 더욱 더 상세하게는, 본 명세서에서의 기술은 원타임 패드(one time pad) 개념과 작은 크기의 데이터를 확신을 가지고 이용하는 데이터 암호화 기술에 관한 것이다.
공개 키 암호화(public key cryptography("PKI"))가 1970년대에 최초로 개발되었으며, 지금까지 단지 점진적으로 완만하게만 향상되어왔다. 알려진 약점은 시스템 불량처럼 잘 연구되어, 설계 자체의 결함 있고 제 기능을 하지 못하는 원리로부터의 치명적인 해킹을 초래한다. 기본적인 원인은 PKI가 "완벽한 세상"의 솔루션이라는 것이다 - 이는 단지 에러가 없는 환경에서 잘 작동한다. 이는 실제 세상에서는 비극적으로 실패한다.
스트리밍 암호(streaming cipher) 또는 블록 암호(block cipher)를 사용하는 데이터 암호화가 알려져 있다. 스트리밍 암호 및 블록 암호는 수학적으로 100% 안전하다고 입증되지는 않지만 널리 사용된다. 이들은 비대칭(또는 공개 키) 암호화를 사용할 수 있다. 키는 일반적으로 고정된 크기를 가지며 정적(static)일 수 있다. 데이터를 암호화하거나 해독하기 위한 계산이 각각의 측에서 수행된다. 일반적인 공개 키 시나리오에서, 전송자는 공개 키 및 사설 키 쌍의 공개 키를 사용하여 메시지를 암호화한다. 수신자는 대응하는 사설 키를 사용하여 메시지를 해독한다. 공용 키에서 사설 키를 얻는 것이 일반적으로 계산상으로 불가능하기 때문에 보안이 제공된다.
비록 강력한 컴퓨터를 이용하여 장기간 동안 공격된다 하더라도, 키 공간에 대한 무차별 공격에 취약하기 때문에, 타원 곡선 암호화(Elliptical Curves Cryptography("ECC")), AES, RSA 등을 포함하는 이러한 현대 암호는 열등하다. 오늘날 개발 중인 양자 컴퓨터의 출현으로, 이러한 기술을 사용하여 이러한 현대 시스템을 해독하는 시간이 크게 단축될 수 있다. 2015년 8월, NSA 고문은 이러한 시스템을 사용할 때의 가까운 장래의 위험을 확인하고, ECC의 사용에 반대하였다. 추가 지침은 전체 클래스의 이러한 암호화 시스템이 동일한 위험을 겪으며, 정보 보안을 위한 기반으로 사용할 수 없다는 것을 확인했다.
원타임 패드가 20세기 초에 발명되었으며, 양자 컴퓨터(quantum computer)에 의한 공격에 취약하지 않은 유일하게 입증된 안전한 암호 시스템이다. 이는 일반적으로 가장 안전한 통신 요구 사항을 위해 유보된다. 랜덤 키를 사용하는 원타임 패드(One-Time Pad("OTP")) 암호화는 증명할 수 있는 완벽한 비밀을 만들어 낼 수 있다. 실제로, 완전한 비밀을 지닌 임의의 암호 시스템은 암호 해독 및 무차별 공격에 저항하기 위해 OTP와 유사한 키 구조를 사용해야 한다. 위에서 언급한 양자 컴퓨터조차도 OTP 기반 암호화 시스템에 전혀 영향을 미치지 않을 것이다.
수동 OTP 시나리오에서, 전송자는 무작위로 선택된 키 문자가 기록된 용지 패드를 가진다. 키는 메시지와 동일한 크기를 가진다. 일 구현예에서, 전송자는 각각의 평문(plaintext) 문자에 하나의 키 문자를 추가하여 암호문을 생성하고, 키 문자를 결코 반복하지 않는다. 예를 들어, 메시지가 "YES"이고 패드 문자가 "CMG"라고 가정하라. Y(25)를 C(3)에 더하여 B(26 + 3 = 2 modulo 26)를 얻거나, E(5)를 M(13)에 더하여 R(18)을 얻는다. 그 다음, 전송자는 그 용지를 파기한다. 수신자는 자신의 용지 패드를 이용하여 과정을 거꾸로 하고(따라서, 암호화는 대칭이다), 그 다음 완료될 때 키 문자를 없앤다. 키가 평문과 동일한 크기를 가지기 때문에, 모든 가능한 평문이 동일하게 가능성이 있고, 올바른 암호 해독이 언제 얻어지는지 공격자가 알 수 없다. 전체 키 공간에 대한 무차별적 공격은 불가능하다. 예를 들어, Schneier , Secrets and Lies: Digital Security In a Networked World(Wiley Publishing, 2000) 참조.
일부 스트리밍 암호가 의사(pseudo) OTP 동작을 모방하려고 시도한다. 이러한 시나리오에서, 송신자 및 수신자는 독립적이지만 동기식으로 동일한 키를 생성한다. 키들이 계산되고 엄밀히 무작위로 생성되지 않기 때문에, 이들은 때때로 크랙될 수 있지만(키는 계산되기 때문에 안전하지 않다), 사용되는 상황 및 암호화 알고리즘에 따라 충분한 보안을 제공할 수 있다. 스트리밍 암호 계산은 때때로 원타임 패드 구현예에서 사용되는 것과 같은 단일 덧셈 또는 배타적 OR 연산보다 상당히 더 많은 시간이 소요될 수 있지만, 이 계산 시간은 상황에 따라 다른 영향을 미칠 수 있다.
키 저장 및 배포, 키 재료 보급 등을 포함하는 OTP 시스템을 성공적으로 구현하기 위한 다수의 중요한 장애물이 있다. 완벽한 비밀을 넘어, 잠재적인 유용한 이점은 다음과 같다: 단순화된 하드웨어와 소프트웨어 복잡성; 낮은 에너지 및 계산 비용 - CPU, 장치, 시스템 및 네트워크 레벨에서; 스트리밍 암호 모드 및 블록 암호 모드 모두에서의 극도로 높은 실행 속도; 간단한 전자 장치와 센서를 위한 보안에 대한 대단하게 확장된 액세스.
OTP는 일반적으로 난수 생성기(Random Number Generators("RNG"))를 사용하여 생성되며 단일 위치에서 용지 또는 디지털 형태로 인가된 수신자에게 배포된다. OTP 암호화 시스템에서, 메시지를 암호화하는데 사용되는 가변 길이 키는 적어도 메시지 자체의 길이만큼 길고(위에서 언급됨), 이는 고정 길이 키와 복잡한 수학 알고리즘을 사용하는 암호화 시스템과 다르다. 암호문을 생성하는데 사용된 정확한 OPT 키를 추측하는 것이 가능하지만, 정확한 평문이 복구되었는지 알 수 있는 방법이 없기 때문에, 궁극적으로 쓸모가 없다. 임의의 개수의 추측된 키는 목표 평문과 완전히 무관한 임의의 개수의 유효한 평문을 생성할 수 있다. 반대로, 모두 완전히 다른 키를 사용하는 동일한 OPT 시스템으로 암호화된 동일한 길이의 임의의 개수의 메시지는 동일한 정확한 암호문을 생성할 수 있다. 이와 같이, 키 중 하나를 정확하게 추측하는 것은 암호 분석가를 관심 원문을 복구하는데 더 진전이 없게 한다. 키 공간에 대하여, 그리고 더욱 근본적으로는 암호화 시스템 자체에 대하여, 무차별 공격은 가능하지 않다.
사물 인터넷(Internet of Things("IoT"))이 현재 컴퓨터 기술 환경을 변화시키고 데이터 이동에 대해 생각하는 방식을 근본적으로 바꾸어 놓음에 따라, 입증할 수 있게 안전한 암호 시스템에 집중하는 것이 그 어느 때보다도 중요하다. 연간 IP 기반 트래픽만으로는 2016년에 제타 바이트(Zettabyte) 규모를 넘어설 것이며, 이는 이를 보호하기 위해 적절한 수준의 보안 인프라스트럭처를 필요로 할 것이다. (제타바이트 = 10억 테라바이트, 인간이 이해하기에 불가능하게 큰 숫자)
현재 보안 아키텍처가 과제를 해결하기에 몹시 불충분하다고 말하는 것은 이것이 도래하는 신생의 비(non)-IP 기반 데이터 송신 및 새로운 통신의 확산을 고려하지 않기 때문에 심오한 절제된 표현이다. 이러한 진화하는 네트워크 구조를 완벽하게 암호화하고 안전하게 유지하기 위해 기존 시스템을 확장하는 것은, 최소한, 무한한 움직이는 부분과 수천 시간의 연구 개발로 구성된 서사적 엔지니어링 및 디자인 문제일 것이다. 복잡한 시스템은 파괴되거나 순진한 제작자가 거의 이해하지 못하는 복잡한 방식으로 손상된다. 현대 해킹의 본질은 이 원리를 기반으로 하며 IoT에 대한 지속 불가능한 패러다임인 기술적 복잡성으로만 성장하며, 이는 서로 이질적인 장치 시스템의 연결성 사이에서 엄청난 성장을 약속한다.
현대 시스템의 경우, 키 길이가 길수록 보안성이 높아지는 것으로 고려된다는 점에 주목하라. 그러나, 키가 더 길어지거나 키를 해독하기 위한 계산이 더 복잡해질수록, 점점 더 많은 컴퓨팅 전력이 요구된다. IoT에서 점점 더 많은 장치로부터의 데이터가 암호화되고 복호화되는 것이 요구됨에 따라, 점점 더 많은 전력이 요구되어, 유선이 아닌 장치의 배터리에 많은 부담을 준다. 축소된 키 크기(또는 "가중치") 및/또는 단순화된 계산 프로토콜이지만 모두 강력한 보안을 모두 유지하는 것이 요구된다.
복잡성을 줄이고 보안을 강화하는 것은 무한 마이너스 델타(infinity minus delta)에서 시작하여 뒤로 이동하는 것을 필요로 한다. AES-256 및 ECC와 같은 현대적인 시스템에 반대로, OPT는 단지 사용 가능한 컴퓨팅 자원, 양자(quantum) 또는 다른 것에 상관없이 적절한 구현이 안전하지만, 구현이 결함있다면, 크랙될 수 있다. OPT가 무어의 법칙에서 기인하는 컴퓨팅 진보에 안전하지만, 모든 기존 시스템에 침입하는 것은 충분한 자원으로 발생할 것이다. 또한, OTP는 "경량(light weight)"이고 단순화된 알고리즘을 이용하여 계산될 수 있다.
암호화를 넘어서지만, 본 발명의 개념의 배경의 일부는 자연적 공진 및 동기 네트워크의 일부이다. 물리학 및 자연에 있어서, 2개의(또는 그보다 많은) 엔티티는 다른 하나가 동일한 주파수로 진동하게 하는 신호를 한 엔티티가 전송할 때 공진한다. 이 신호는 그룹의 많은 멤버에 걸쳐 동시에 전송될 수 있어, 이들은 모두 "공진(resonance)"에 있다고 언급된다. 일례는 가수가 와인잔을 진동시켜 이에 따라 동일한 음(note)을 "내는(sing)"(동일한 주파수로 진동하는) 데 필요한 정확한 음을 낼 때이다. 또는 진동하는 튜닝 포크 톤의 동일한 주파수로 피아노 또는 기타를 조율할 때이다.
양자 역학과 끈 이론에서, 단지 특정 종류의 진동이 허용되며, 이는 모든 입자 및 힘이 기본 레벨에 있는 것이다 - 허용되지 않은 진동은 존재하지 않는다. 별개의 곤충들임에도 불구하고 모두 하나의 거대한 빛인 것처럼, 수백만 개가 일제히 펄스를 내는 큰 나무를 채우는 Pteroptyx 반딧불과 같은 생물학적 사례가 있다. 이것은 즉시 발생하지 않으며, 다른 그룹들이 서로 다른 속도와 다른 시간에 펄스를 낸다. 그룹 및 특정 곤충이 공감 진동을 가질 때 "커플링(coupling)"이 있다 - 원격의 관찰자의 관점에서, 이들은 조화를 이루는 두 개의 스트로브 조명과 같다. 곤충의 자신의 펄스 주파수는 그룹의 펄스 주파수에 "커플링된다". 그룹은 동기화 네트워크를 형성하는 이들의 커플링된 발진기(곤충)의 기질(substrate)과 동기화된다.
다시 돌아가면, 글로벌 인터넷 보안 프로토콜의 중심에서의 중앙 집중화된 공개 키 암호화 시스템은 IoT 및 도래하는 신생 기술에 대한 불충분하다. 그것을 유지하는데 필요한 복잡한 인프라스트럭처의 관리 및 공급은 지속적으로 실패하였고, 주요 기업과 개인의 해킹을 비슷하게 초래하였다. 앞으로의 양자 컴퓨터의 출현과 함께, 그것은 무차별적 공격에 취약하고, 더욱 강력한 암호화 패러다임으로 교체될 필요가 있다.
공진 암호화(Resonant Cryptography)("RC"))는 두 세대 전보다 더 먼저 기술된 구식 도구에 대한 현재의 의존도를 대체할 확장성이 뛰어나고 기하 급수적으로 더욱 안전한 분산 기술이다. 이는 네트워크 보안을 안개층까지 밀어낼 것이고, 장치가 직접 상호 작용하고 안전한 글로벌 연결성에 대한 매우 복원력이 뛰어난 웹을 진화시킨다. 이것은 암호화 폼(Crypto-Foam)일 것이다.
장치/하드웨어/소프트웨어를 완벽하게 안전하게 하기 위한 전쟁은 이미 졌다. 방화벽 및 안티바이러스 소프트웨어의 서명 기반 도구는 이들이 감염에 대한 장래의 프로파일을 예측할 수 없기 때문에 실패하였다. 이러한 기술들의 대부분은 이제 수렴하였으며, 다른 상업적인 업체들은 크게 구별 가능하지 않다. 결과적으로, 안티바이러스 소프트웨어, 방화벽 등은 죽어가는 사업이다 - 업체 중 차별화 된 특징 및 장점은 대체로 경쟁에서 멀어졌다. 완벽한 정렬로 적층된 보안 도구의 고유한 조합은 존재하지 않는다. 현대 CISO의 접근을 위한 기초는 "당신이 곰의 공격을 상회할 수 있기 위하여 얼마나 빨라야 하나"라는 오래된 아이디어이다. 우리 회사는 우리의 가장 가까운 경쟁자보다 더 어려운 타겟이어야 한다. 그러나, 당신의 회사가 무슨 수를 쓰더라도 우선 타겟 엔티티라면, 말하자면 단호하고 자금이 풍부한 국가 활동 세력에 의해, 증가하는 자원은 가장 어려운 타겟에 대하여 통상적으로 유보된 네트워크로 침입하기 위하여 사용될 것이다.
RC 모델은 본질적으로 보안 패러다임을 뒤집는다 - 가정은 소프트웨어와 하드웨어가 항상 결함이 있고 취약할 것이지만 활동을 난독화하는(obfuscating) 여러 랜덤화된 데이터 스트림에 결합할 때, 본질적으로 공격하기 어렵고, 결과적으로 기하 급수적으로 더 안전하게 된다는 것이다. 결함과 약점에 대한 패턴 및 서명 분석은 명백한 노이즈의 확산에 의해 좌절된다. 모든 보안 콘텐츠 및 통신은 단지 길이가 변경된 랜덤화된 숫자 시퀀스로 보인다.
RC는 모든 통신, 특히 IP 기반 시스템 이상에서 암호화 및 보안에 대한 근본적으로 다른 접근 방식이며 IoT에 이상적으로 적합하다. RC는 난수 신호 생성기의 환경을 생성하며, 그 서브세트는 통신에 동의하는 사용자 장치에 의해 수신될 수 있다. 이러한 동의된 신호는 원타임 패드가 사용자 사이 또는 사용자 그룹 사이에 즉시 데이터를 암호화하기 위하여 작동하는 것과 같은 방식으로 사용된다. 이것은 블록 암호화가 아닌 스트림 암호화이지만, 임의의 형식으로 구현될 수 있다.
RC에서, 중앙 키 인증 기관 또는 암호화 인프라스트럭처의 복잡한 시스템이 필요하지 않고, 이는 어떠한 행위자도 범용 백도어를 가지지 않으며, 크랙하는 것이 사실상 불가능하다는 것을 의미한다(AES나 ECC보다 강력하다). RC는 통신 보안을 네트워크 에지에 밀어 넣고, 시스템을 보호하는데 필요한 컴퓨터 자원을 줄이는 것을 이용하여 장치가 상호 작용한다. RC는 암호화하기 위하여 모바일 장치에서 컴퓨팅 리소스를 훨씬 적게 필요로 하고, 이에 따라 암호화와 연관된 대기 시간을 거의 없애면서 훨씬 적은 에너지를 사용한다(모든 최신 모바일 컴퓨팅 기술의 핵심 배터리 문제).
RC는 인터넷 라디오 방송국과 유사하게 난수의 일정한 IP 신호를 전송하는 암호화 공진기(crypto-resonator)라 불리는 장치의 집합을 포함한다. 일부 예에서, 이는 정적 스트림이고, 다른 예는 암호화 공진기가 자신의 환경과 시스템 상의 다수의 사용자에 응답할 수 있게 한다.
RC의 예는 통신을 암호화하기 위하여 OTP의 스트림을 생성하는데 암호화 공진기의 분산 네트워크를 이용한다. 장치는 이러한 연속하는 스트림의 하나 이상에 액세스하여 블록 암호 또는 스트림 암호 구성에서 대칭 또는 비대칭 암호화 스킴에서 사용되는 고유 OTP를 생성할 수 있다. 다른 예에서, 다수의 스트림이 높은 엔트로피를 갖는 흉내낼 수 없는 OTP를 생성하는 복잡한 방식으로 결합될 수 있다. 이러한 암호화 공진기 스트림은 또한 목적에 따라 랜덤 또는 비랜덤으로 데이터의 스트림의 외부에 반응적으로 매입될 수 있다. 다수의 장치는 특정 OTP를 사용하는데 동의함으로써 안전하게 통신하거나 암호로 "공진"할 수 있다. 모든 참여자가 서로 그리고 선택된 OTP와 공진 상태에 있을 때 보안 암호화 채널이 구축될 수 있다.
일례를 위하여 표준 명명법을 이용하여, 앨리스는 밥과 비밀로 통신하기 원한다. 예전에는, 이들은 각각 메시지를 암호화하고 해독하는데 사용할 수 있는 매우 긴 난수 리스트를 갖는 OTP를 가졌다. 리스트가 없어지면, 그들은 새 패드를 얻고, 처음부터 시작하였다. 이것은 자신의 OTP에서 숫자의 순서를 추측할 수 있는 방법이 없기 때문에 완벽한 암호화이다. 본 발명의 RC를 이용하여, 이들은 이제 동일한 일을 할 수 있다. 이들은, 어느 시간과 장소에서, 난수를 연속으로 스트리밍하는 특정 세트의 암호화 공진기를 "커플링"하는데 동의할 수 있다. 이들이 자신의 암호화 시스템에 효율적인 "키"가 되는 이 고유한 숫자 스트림에 동의하기 때문에, 이들은 본 발명의 원타임 패드로 통신하기 시작하였다.
나노초에서 나노초로 끊임없이 변하기 때문에, 이들은 키의 어떤 부분도 재사용하지 않는다. 아무도 키 마스터가 될 필요가 없으며, 앨리스와 밥은 제3 자가 암호화 교환을 중개하지 않아도 안전하게 통신할 수 있다. 이것은 비밀 키를 저장하거나 보호할 필요가 없는 피어-투-피어(peer-to-peer) 비밀 교환이다. 앨리스와 밥이 사용한 시간, 공간, 공진기 등의 정확한 조합을 추측하는 사람에 대한 위험이 거의 없으며 모든 가능한 조합을 저장하는 것은 의미가 없고, 이는 이것이 신속하게 NP-hard로 알려진 아주 다루기 어려운 컴퓨팅 문제가 되기 때문이다. 이것은 AES 또는 그 균등물보다 깨기 상당히 더 어렵고, 심지어 장래의 양자 컴퓨터에 의한 공격에 대하여도 내성이 있다 - 공개 키 암호화를 위하여 현재 사용되는 모든 알고리즘은 그렇지 않다. 이와 같이, RC는 훨씬 더 안전하다.
다른 예들은 장치가 암호화 공진기 스트림 또는 스트림들을 수동으로 수신할 수 있게 하여, 이러한 스트림이 사용 중인 것을 네트워크에 경고하거나 경고하지 않고 고유의 OTP를 생성한다. 이들은 이러한 암호화 공진기 스트림의 효과적인 공개 또는 사설 브로드캐스트일 수 있으며, 가입/회원 또는 독점적 사용 및 이의 임의의 변형에 의해 자유롭게 이용 가능할 수 있다. 장치는 직접 또는 프록시를 통해 연결될 수 있다.
장치는, 추가로 엔트로피를 증가시키고 네트워크 및 통신을 암호화하기 위하여 이를 사용하는 장치 사이의 얽힌 상태를 생성하기 위하여, 네트워크 암호화 공진기를 장치 송신 암호화 공진기로 교란시켜 암호화 공진기의 네트워크에 커플링될 수 있는 자신의 암호화 공진기를 가질 수 있다. 또한, 임의의 장치는 장치 암호화-공진기를 갖는 다른 장치에 직접 연결될 수 있다.
네트워크에서의 임의의 요소는 하나 이상의 암호화 공진기를 검출 가능하게 변경할 수 있는 장치로부터의 고유 신호를 포함함으로써 임의의 장치에 응답할 수 있다. 이것은 보통의 암호화 공진기 스트림과 동일하게 보일 수 있거나 보일 수 없는 이 고유한 서명을 알고 있는 다른 장치에 대한 신호와 마찬가지이다. 이는 보안 세션의 개시, 사용될 정확한 OTP 블록의 플래깅(flagging) 등을 포함하는 시그널링을 넘어서는 많은 이유에 대하여 사용될 수 있다.
스트림은 임의의 라이브(live) 암호화 공진기 스트림에서 재귀적 포함(recursive inclusion)을 위하여 버퍼링되거나 캡쳐될 수 있다. 이 재귀는 동적인 방식으로 라이브 스트림에 영향을 미치는 역사적인 암호화 공진기 스트림의 피드백 루프를 생성한다. 이것은 데이터의 라이브 및 히스토리 암호화 공진기 스트림을 병합하기 위한 복잡한 랜덤화 기술로의 난수 시퀀스의 간단한 혼합에 의해 성취될 수 있다. 이것은 엔트로피, 시그널링 및 얽힘(entanglement)을 포함하는 다수의 목적을 위하여 사용될 수 있다.
1차 암호화 공진기와 복수의 장치 암호화 공진기의 하나 이상의 네트워크는 동적으로 또는 정적인 보통의 송신으로서 할당된 OTP의 2차 및 3차 스트림을 형성하기 위하여 재결합될 수 있다. 이러한 재결합 스트림은 새로운 암호화 공진기를 형성하고 재귀 스킴을 제공하는데 사용될 수 있다.
다른 예는 동적 라이브 암호화 데이터 세트가 네트워크 또는 장치 암호화 공진기를 이용하여 고유 OTP에 의해 암호화된 각각의 엔트리에 공개적으로 또는 비밀로 사용 가능하게 되도록 할 수 있다. 각각의 데이터 포인트는 허가된 뷰어가 액세스할 수 있는 동일한 OTP와 공진한다. 단일 데이터 세트는 데이터에 대한 액세스 제어의 계층화된 레벨을 생성하기 위하여 다수의 OTP에 반응할 수 있고, 일부 사용자는 완전한 데이터 세트의 서브 세트만을 볼 수 있다.
지오펜스 예에서, 물리적으로 또는 논리적으로 분리된 암호화 공진기 또는 암호화 공진기의 성상도(constellation)가 인가된 사용자 장치의 그룹 주위로 암호화 경계선 또는 "지오펜스(geo-fence)"를 설정하는데 사용될 수 있다. 이 지오펜스 내부의 모든 통신 및 데이터는 지오펜스 외부에 있는 누구도 액세스할 수 없는 이러한 암호화 공진기로부터 얻어진 OTP의 고유 세트에 의해 커플링되고 암호화된다. 이 암호화 공진기 세트의 경계는 폐쇄된 암호화 네트워크로의 출입을 위한 효율적인 체크포인트 역할을 한다. 이러한 암호화 경계선은 중첩할 수 있으며, 복잡한 액세스 인가 스킴을 지원하는 공유된 경계를 가진다.
암호화 공진기의 신호는 이를 암호화 공진기 장치에서 제2 비밀 데이터 스트림과 병합함으로써 비랜덤식으로 변경되어, "고스트 신호(ghost signal)"와 새로운 데이터 난독화 레이어(obfuscation layer)를 형성한다. 암호화 공진기가 명확한 난수 스트림을 계속 브로드캐스트하지만, 이는 정상적인 암호화 공진기 스트림으로부터 이를 구별하기 위한 정확한 필터를 이용하여 인가된 수신자에 의해 검출될 수 있는 매입된 고스트 신호를 반송한다(carry). 고스트 신호는 OTP로서 또는 OTP와 함께 사용되는 암호화 공진기의 개별 세트 또는 데이터 세트일 수 있다.
전술한 것의 하나 또는 전부를 이용하여, 시간에 따라 변경되지 않을 데이터를 암호화하고 보관하기 위하여 일련의 OTP가 형성되어 사용될 수 있다. 고유 OTP가 동일한 시간 윈도우에 존재하는 일련의 암호화 공진기로부터의 데이터 세트와 연관된 시간 윈도우 동안 형성되어 저장된다.
더 깊게 들어가면, 암호화 공진기 네트워크의 일부는 인터넷에 연결되어, VPN 또는 다른 것을 통해 어디에서로부터도 임의의 연결을 통해 액세스 가능할 수 있다. 이는 유선 또는 무선 연결일 수 있고, 유일한 요건은 인터넷 또는 유사한 통신 시스템에 대한 직접적인 액세스이다. 다른 것들은 인터넷으로부터 완전히 차단되어 블루투스, 지그비, NFC, WiFi, LiFi, IR 등에 의해 액세스 가능한 라디오 비콘과 유사할 수 있다. 암호화 공진기의 또 다른 예는 사용자 장치, 자동차, 위성과 잠수함을 포함하는 움직이는 실질적인 모든 것에 연결되는 모바일 신호일 수 있다. 사용자는 오늘날 존재하는 거의 모든 애플리케이션에 의해 서로 찾고 연결할 수 있다 - 전화 번호, 이메일 주소, 페이스북, 트위터 등. 네트워크 및 장치에 연결하거나 그룹으로 연결하는 경우도 마찬가지이고, 개인 사이의 통신에만 한정되지 않는다. 이는 컴퓨터뿐만 아니라 모든 것을 효과적이고 안전하게 연결할 수 있는 지배적인 보안 기술이다.
장치의 지리적 위치를 지정하기 위하여 GPS가 다수의 위성으로부터의 데이터를 이용하는 동일한 방식으로, 보안 통신기 그룹은 특정 공진기 세트에 동시에 커플링하는데 동의할 수 있다 - 동일한 OTP를 효율적으로 공유한다. 이것은 모든 사람이 액세스할 수 있는 공개 및 사설 공진기의 임의의 조합이나 또는 (가입 또는 설계에 의한) 소수의 사설 공진기 일 수 있다. 이들은 지리적 위치 또는 인터넷을 통한 논리적 연결에 기초할 수 있다. 정확한 관계는 관련이 없으며, 단지 모두가 동일한 암호화 신호에 지속적으로 액세스할 수 있다는 것이다. 회사 건물 내부에 있는 모든 사람과 같이 근접성이 명백한 상황에서, 이는 사소하다. 길 건너편에 있다 하더라도 원거리 관찰자가 이러한 저전력 신호의 전부를 캡쳐하는 것을 기대할 수 없기 때문에, 인터넷 차단된 비콘과 유사한 일련의 공진기는 건물 내의 모든 통신을 보호하는데 충분하다. 이것은 통신을 "지오펜싱"하기 위하여 방 사이에 그리고 층 사이에 작동할 것이다. 건물 너머로 신호를 송신하는 하나의 손상된 장치가 극도로 암호화되어 있어 도청자를 돕지 않기 때문에, 이는 자기 제한적이다 - 난수 시퀀스를 구별하는 방법은 거의 없다. 예를 들어 건물 내부 회사 통신을 위하여 사용되는 휴대 전화는 가장 가까운 휴대 전화 신호탑에 쉽게 송신할 수 있지만, 장치에 의해 캡쳐되거나 다시 브로드캐스트되더라도, 내부 통신은 단지 암호화된 VOIP 또는 텍스트를 전송한다. 평문으로의 해독은 단지 신뢰할 수 있는 사용자가 상주하는 최종 포인트에서만 발생한다. 중간에 캡쳐된 모든 것은 암호화된다.
본 발명의 예에서 절약되는 전력, 컴퓨팅 및 다른 자원은 명백하다. 인증 기관 및 네트워크 관리자로 중앙 집중화되고 지속적으로 업데이트되는 보안 시스템을 유지하는 대신에, 인프라스트럭처 및 통신의 보안은 기본적으로 입증된 위험을 덜 가지면서 더 적은 비용으로 크게 개선될 수 있다 - 엔티티로 침입하기 위하여 공격하여 손상시킬 중앙 기관이 없다. RC 사용자는 RC 공진기에 이들의 신호가 사용되고 있다는 것을 경고할 필요가 없다.
간단하고 저 CPU 집약적이며 이에 따라 전력을 절약하는 알고리즘이 보안을 더 강화하고 상이한 애플리케이션, 클라이언트 및 사용자 기반을 위한 솔루션을 커스터마이징하기 위하여 구현될 수 있다. 예를 들어, 결합된 OTP는 다수의 공진기 숫자 스트림의 허위 덧셈(false addition)이 아닐 수 있다. 몇 밀리초만큼 하나의 스트림을 시프트하거나 스트림의 임의의 조합에 간단한 수학적 연산을 수행하여 고유한 암호화 산물을 생성하는 것처럼 스트림을 혼합할 수 있다. 하나의 스트림을 켜고 끄거나, 이에 큰 소수(prime number)를 곱하는 것은 모두 옵션이다. 유사한 기술이 단일 세션에서 특권 계층을 생성하는데 사용될 수 있다 - 일부 참여자는 코뮈니케(communique)의 전부를 볼 것이고, 다른 참여자는 이의 일부만 볼/들을 것이다.
새로운 분산 및 분포 암호 시스템을 설정하는 데는 큰 이점이 있고, 이는 "중앙 기관이 없고" 암호화를 사용할 어떠한 범용 방식도 없다는 점에서 다른 종류의 네트워크와 유사하다. 또한, 블록 체인과 비슷한 공개 레코드와 유사한 것도 없다 - RC는 모두 사설이다. 이것은 전적으로 비밀이며 미래의 양자 컴퓨터 등으로 추후에 메시지를 캡쳐하고 해독할 위험이 없다. 배치의 정교화를 강화하고 간단한 메시지 교환을 넘어서 애플리케이션을 넓히는 - 은행 업무, 이코인(e-coin), VOIP, 채팅 등 - 많은 장점이 있다. 이것은 각 노드에서 암호화 공진기를 갖는 메시(mesh) 네트워크와 다르지 않다. 모든 노드는 모두 연속적으로 24/7의 의사 난수를 스트리밍하고 있는 모든 다른 노드에 연결될 수 있다. 이 네트워크에서 원타임 패드를 선택하는 것은 모든 또는 일부 노드를 통한 경로를 선택하는 것과 같다. 어느 누구도 모든 노드를 소유하고 있지 않으므로 각각의 연결은 암호화 스트림에 복잡성을 더한다 - 이는 RC 암호화된 비밀 정보를 훔치려는 적에 의해 손상되는 임의의 개수의 노드에 내성이 있다. 모든 악의적인 도청자들은 시스템에 참여함으로써 실제로는 시스템의 보안을 강화할 수 있으며, 이는 강력한 특징이다.
이 웹을 통한 RC 사용자의 경로가 더 길수록, 누군가가 이를 재생성하고 비밀을 깨는 것이 더 어려워진다. 또한, 경로는 고정되지 않는다 - 이것은 시시각각 변경되고, 따라서 상대방은 사용자가 경로에 도달한 정확한 나노 초를 알 필요가 있을 것이다. 또한, 이는 RC 사용자의 애플리케이션이 이 랜덤 경로를 이용하여 메시지를 암호화하기 위하여 사용하고 있는 알고리즘을 알 필요가 있을 것이다. 또한, 암호화 신호, 타이밍 및 다른 인자의 혼합은 이를 깨는데 필요한 자원을 기하급수적으로 늘린다. 이 시스템은 "그룹 내에서는 메시지를 암호화하고 해독하는 것은 계산적으로 쉽지만, 외부자가 그렇게 하기 위하여 무차별 공격을 수행하는 것은 쉽지 않다"라고 말할 수 있는 암호화에서의 중요한 특성을 가진다. 모든 신호를 기록하는 것은 방대한 양의 데이터 스토리지가 필요하기 때문에 실용적이지 않다 - 오늘날 전 세계의 모든 컴퓨터의 알려진 저장 용량을 훨씬 넘어선다. 또한, 단일 OTP를 재생성하기 위해 이 신호의 순열 수에서의 기하학적 증가는 엄두도 못 낼 정도로 과중하다. 적은 개수의 암호화 공진기로, 조합의 수는 우주에서의 입자의 개수를 빠르게 초과할 것이다.
다른 예는 근접성 문제를 해결한다 - 멀리 떨어진 공격자는 공격 진로를 RC 사용자의 상태 종속 환경과 동시에 동기화할 수 없다. 이는 공격자가 RC 사용자 간의 보안 교환을 병렬화할 수 없기 때문에 항상 불리한 입장에 처해 있다는 것을 의미한다 - 이 암호화 신뢰 서클 내부에 있는 사용자와 결코 조화롭게 공진할 수 없다. 또한, RC 사용자가 많은 암호화 채널에 걸쳐 병렬 암호화 스트림을 향유하기 때문에, 이는 중간에 있는 자의 공격을 저지한다 - 도청자는 단일 메시지를 재생성하여 이를 해독하기 위하여 모든 채널을 동시에 가로채야만 한다. 회사의 비밀 저장소를 훔쳐 그에 침입하기 위한 중앙 암호화 키가 없다. 권한 있는 사용자가 언제든지 액세스할 수 있는 RC 암호화 공간에는 짧은 명료한 상태만 존재한다. 모든 잠긴 파일을 열 수 있는 마스터 키는 없다. 암호화는 데이터 블록이 아니라 네트워크에 흐르는 임의의 크기와 규모의 정보가 매입된 난수 스트림에서 발생한다.
RC 모델에서, 최종 사용자를 원하는 데이터에 연결하기 위해 전 세계의 라우터, 데이터 센터 등의 주위로 광섬유 네트워크를 광이 지나가기 때문에, 신호의 이동 시간이 중요하다 - 이 신호는 이것이 지나가는 인프라스트럭처에 종속하는 기본적인 속도 제한과 전달 시간을 가지고 있다. 두 명의 사용자는 이러한 다수의 요인에 기초하여 약간 다른 시간에 동일한 서버에서 정보를 수신할 수 있다. 현대의 암호화 키가 시간 독립적이기 때문에, 이를 훔친 자는 처음으로 돌아가거나 또는 키가 유효한 한 회사의 네트워크로부터의 모든 암호화된 메시지를 해독할 수 있다. RC는 완전히 다르다 - 공격자가 코뮤니케를 캡쳐하고 이를 장래에 해독하기 위한 타임머신을 가지지 않는다면. 해커가 잠재적인 피해자의 위에 물리적으로 매우 가까이 있어야 하거나 신호를 위한 여행 시간이 달라 공진하지 않을 수 있기 때문에 - RC 사용자의 행위를 순간마다 완벽하게 병렬화시킬 수 없다면, 이들은 단지 암호화된 데이터만 본다 -, 공진 상태에 있는 임의의 시스템은 기본적으로 해킹하기 힘들다. 보안 터널이 신뢰할 수 있는 통신기 사이에 구축됨에 따라 해커가 향유할 수 있는 일시적인 공진은 시간과 공간에 따라 일관성이 없게 된다 - 해커가 네트워크의 일부에 우수하게 액세스할 수 있더라도, 해커는 거의 즉시 아무 것도 들을 수 없게 된다.
어떠한 소프트웨어/하드웨어 조합도 그 자체를 보호할 수 없으며, 유의미한 방식으로 외부 세계와 소통할 수 없다. RC가 카운터웨이트 역할을 하는 동안 취약점은 복잡성과 함께 증가한다 - 이는 외부 해커가 사용할 수 있는 시스템의 전체 공격 표면을 감소시킨다. 또한, 시스템의 암호화 측정을 기술적으로 엄두도 못 낼 정도로 과중하게 한다. 예를 들어, 해커 또는 상태 수준의 공격자가 RC 시스템을 완벽하게 특성화하고 활용하는데 충분한 데이터를 캡쳐할 수 있는가? - 이론적으로는 가능하지만 이를 수행하는 데 필요한 자원은 경제적으로 그리고 실질적으로 실현 불가능할 것이다. 또한, 활용은 일시적일 뿐일 것이며, 가까운 장래에는 관련성이 없을 것이다.
예들에서, 일부의 암호화 공진기는 단지 수동적으로 데이터를 브로드캐스트하는 난수 비콘인 반면 - 사용자는 공진기에 신호가 사용되는 것을 경고할 필요가 없다 -, 다른 것들은 웹 사이트에 대한 VPN 연결과 같은 인터액티브형이다. 각각의 이러한 커플링은 이에 역시 커플링된 모두를 위해 공진기를 교란시키는 방식으로 준비될 수 있다. 이것은 이에 연결된 시스템을 교란시키고 다른 장치가 네트워크에 합류했다는 사실을 모두가 알 수 있게 하는 특성을 가진다 - 기본적으로 펄스는 새로운 참여자 및 이들의 도착 시간에 대한 정보를 포함하도록 정상적인 난수 생성 상태를 통해 실행된다. 사설 통신에서의 조화로운 참여를 보장하는 다른 공진기에 대한 이 사용자의 커플링을 반영하기 위해 고유 서명이 새로운 난수 시퀀스에 추가 될 수 있다. 침입자의 합류 시도는 즉시 인식될 것이며, 실제로 연결될 수 없을 것이다.
RC는 신원 관리 및 모바일 뱅킹에 대하여 강력한 영향을 가진다. 다중 인자 인증을 위한 하나 또는 2개의 포인트도 이제는 불충분한 것으로 여겨지고, 5개 이상보다 적지 않은 것이 장래에 필수적이게 될 것이다. 각각의 새로운 데이터 포인트로, 사칭자의 문제는 더 어려워질 것이다. 엄지 지문과 같은 보통의 생체 인식 기술은 이를 단독으로 할 수 없을 것이다. 이들은 아이폰 터치 패드 및 관련된 센서 상에서 범죄자에 의해 이미 복제되고, 스캔되고, 사용되었다. 더 강력한 생체 인식 기술은 사용자가 매우 거슬리는 얼굴 스캔을 받고, 언젠가는 DNA 자체를 받아 들일 것을 요구한다. 이것은 대부분의 미국인들에게 불쾌하고 용납될 수 없는 것이 될 것이다 - 영화 마이너리티 리포트에서와 같이 추적되고 있다는 생각. 그러나 거의 모든 사람들은 이용하는 개인에 대한 빅 데이터 수집기인 앱을 사용하는 전자 제품을 휴대하고 착용하는 것에 행복해 한다. 차이점은 사람이 대부분의 수집을 사전 동의하거나 동의하지 않을 수 있고, 항상 익명을 유지하도록 선택할 수 있다는 잘못된 보안 감각을 가진다는 것이다.
누구나 스마트폰, 아이팟, 핏빗, 스포츠 밴드 등을 모두 익명으로 구매하고 등록하여 사용할 수 있고, 이러한 회사들이 사용자에 관한 상세한 정보를 가지도록 절대로 허용하지 않을 수 있다 - 보험용, 대학 입학 등과 기타 개인적인 일상생활을 위한 개인에 대항하여 사용될 수 있다는 우려. RC를 이용하여, 강력한 비 생체 인식 인증은 어떠한 사생활 또는 개인의 진정한 신원에 대한 어떠한 속성의 손실 없이 실현될 수 있다 - 이것은 전자 화폐 및 온라인 거래에 대하여 중요하다. 공개 및 사설 RC 공진기의 임의의 큰 숫자의 조합이 일치하면, 그 사람은 거래를 위한 "매치(match)"이다. 결정은 사람이나 기관에 달려 있고 - 커플 링이 많을수록 보안이 강화되고 해킹 문제가 더욱 까다로워진다 - 이는 백화점에서 판매 시점(Point of Sale)의 수준으로 변경된다. 더하여, 기술이 발견되면, 해킹은 단지 일시적인 것이다. 이는 단일 트랜잭션이나 세션에 대해서만 알맞다 - 이는 신용 카드 번호와 지원 자격을 훔치는 것과 같지 않으며 또한 사람의 디지털화된 생체 인식을 누군가가 도용하는 위험을 감수하지 않는다 - 사람이 손상을 완화시키기 위하여 새로운 얼굴이나 지문을 얻을 수는 없다. RC를 사용하면, 사람이 방금 새로운 세션을 시작하고 해커가 다시 동등한 것으로 돌아간다. 복잡성이 선형이 아니라 지수적으로 증가하기 때문에, 보안 레이어는 해커가 이를 해킹할 수 있는 것보다 더 빠르게 진화한다.
정적 데이터 스토리지는 다양한 방식으로 유사한 시스템을 이용하여 암호화될 수 있다. 예를 들어, 일부 공진기는 나노 초로부터 여러 달 또는 몇 년에 이르기까지 필요한 보안의 요구되는 레벨에 따른 임의의 시간 스케일로 연속으로 반복하는 신호를 송신할 수 있다. 고유 OTP가 이 신호로부터 다수의 복제물이 있는 공개 및/또는 사설 기록의 수학적 조합으로서 생성될 수 있다. 엄청나게 큰 OTP를 저장할 필요 없이 요구에 따라 이 OTP를 복제하기 위한 "키"는 그 데이터 세트에 대한 간단한 시간 및 신호 조합 함수일 수 있다. 많은 공진기 시퀀스와 결합된 많은 개수의 함수 때문에, 결과에 따른 많은 OTP 가능성은 우수한 컴퓨팅 하드웨어를 이용하여 생성된 임의의 현재 암호화 스킴을 추측하기에는 상당히 더 어렵다.
RC의 또 다른 예는 연결 캐스케이딩(cascading)을 포함한다 - 신뢰 서클만이 확고하게 확립될 수 있고 제3 자가 그 패턴을 복제할 수 없을 때까지 각각의 새로운 사용자와 함께 공진기 시스템을 급격하게 교란시킨다. 이것은 공진기의 네트워크가 형성되고 시스템 자체의 전반적인 무작위성과 보안성을 높이기 위해 상호 공모하게 한다. 기억해야 할 또 다른 요점은 이 구성의 모든 요소가 확인하기 쉽다는 것이다. OTP는 이해하기 쉽고 모든 사람은 어떤 형태로든 공진을 경험한다.
패딩 암호문(padding cipher-text) - 무의미한 데이터의 스트림이 사용자를 확인하기 위한 계산 비용 없이 시스템을 오염시키는데 사용될 수 있다. 이것은 공진기의 네트워크를 공격하기 위하여 필요한 컴퓨팅 자원을 더 증가시키고, 메시지의 타이밍을 난독화하는데 사용될 수 있다 - 사용자는 지속적으로 브로드캐스트하고 있지만, 소수의 송신만이 실제 암호문이다.
복잡한 클라이언트 특정 솔루션 - 클라이언트를 위한 RC 알고리즘의 커스터마이징은 임의의 방정식의 수학적 이점을 계산하는 문제이다. 이것은 RC 코어 원리 및 네트워크를 이용하여 자신의 암호화 솔루션을 구축하는 허용 가능한 팔레트를 클라이언트에 제공하는 것과 마찬가지이다.
애플리케이션의 간단한 예는 임의의 CDN(content delivery network)에 대한 가입에 의해 액세스를 제어하고 암호화하는데 사용되는 연속하는 OTP 스트림 암호 또는 임의의 종류의 데이터의 라이브 스트림을 포함할 수 있다. 다수의 공개 RC 포인트가 벌크 암호화를 위하여 사용될 수 있더라도, RC 피드의 임의의 하나의 요소가 인가되지 않은 수신자에 대한 서비스를 차단할 수 있기 때문에, 단일 제어 RC 포인트는 사용자 액세스를 관리하는데 사용될 수 있다. 이것은 임의의 의도되지 않은 사용자가 액세스하게 되는 위험 없이 방송으로 암호화된 데이터를 폭넓게 브로드캐스트하는 것과 유사하다 - 이것은 또한 동일한 벌크 암호화 스트림이 변동하는 수준의 사용 및 해독을 허용하는 액세스 모델 계층에 적용될 수 있다. 예를 들어, 제공자는 핵심 제품을 무료 사용자에게 여전히 제공하면서, 계층화된 유료 클라이언트에게 프리미엄 콘텐츠 또는 서비스까지의 더 많은 콘텐츠를 제공하기 원할 수 있다.
피어-투-피어 암호화의 다른 예는 사용자가 무작위이거나 고정된 세션 키를 갖는 해싱된(hashed) 신원과 같은 작은 암호화된 패키지를 서로 전송할 수 있게 한다. 이 작은 첨부가 선험적인 다수의 순열, 삭제 및 다른 저 CPU 집약적 계산을 추가하는 것과 같은 의미 있는 방식으로 이를 변경함으로써 단일 공진기 또는 공진기 조합으로부터 고유 스트림을 생성할 수 있다.
따라서, 암호화 스트리밍은 임의의 공진기가 정적인 것으로부터 동적인 시간 기반 연결성 및 정보 흐름으로 전이하도록 라이브 암호화 스트림을 제공할 수 있게 하기 때문에, 위 및 아래의 예들은 단일의 물리적 또는 클라우드 위치에서 고정된 데이터에 암호화 동작을 수행하는 대신에 실시간으로 영구 데이터 스트림을 암호화하는데 유용하게 된다. 이와 같이, 라이브 데이터는 스트리밍 암호화 정조로 변환된다.
컴퓨팅의 본질이 정보 파이프의 인터넷에 상시 접속된 모델로 진화함에 따라, RC는 인터넷 및 포스트-IP 네트워킹의 차세대 진화를 보장하는 필수 요소가 될 것이다. 이 상시 접속 상태는 오늘날 존재하는 것과는 매우 다르며, 이는 주로 최종 사용자의 적극적인 참여가 반드시 필요하지 않기 때문이다. 최종 포인트 장치 또는 사용자의 요구 사항에 따라, 정보는 사용자 콘텐츠 선호에 기초하는 지속적인 뉴스 피드와 다르지 않게 사용자 또는 시스템의 소유자에 의해 필요한 바에 따라 또는 규정된 바에 따라 흐를 것이다. 글로벌 네트워크가 지속적으로 운영되고 있다는 점에서 인터넷은 오늘날 상시 접속되어 있지만, 차세대의 상시 접속 상태는 훨씬 더 동적으로 되어 훨씬 더 많은 양의 정보가 설계에 의해 자율적으로 이동할 것이다. 기계 학습은 정보 트래픽에 대한 인간의 의사 결정을 대체하고, 더욱 효율적이고 정교한 활용 모델을 생성할 것이다.
사물 인터넷(Internet of Things(IoT))이 서비스를 제공하는 기술 환경에서의 변화에 바로 응답하여 범용 센서 네트워크에 출현함에 따라, 데이터 손상이나 조작으로부터 보호하기 위한 센서 데이터의 안전한 이동은 그 자체의 정보의 스트리밍으로 매입된 더 많은 기본 보안 레이어를 필요로 한다. 이러한 장치에 대한 수동적이거나 능동적인 RC 커플링은 데이터 및 다양한 데이터 스트림 사이의 관계를 난독화하는 강력한 암호화 프레임워크를 생성한다. 이것은 정보 트래픽 분석, 특징화 및 궁극적으로는 해킹을 방지하기 위하여 중요하다. 임의의 센서 네트워크를 통한 암호화 스트리밍 기술을 이용하는 레이어를 이루는 RC 네트워크는 네트워크 침입과 그 동작을 연구하는 작업을 매우 복잡하게 만든다. 따라서, 이는 강력하게 보호되고 불량 또는 공격의 단일 포인트는 존재하지 않으며, 이는 현재의 시스템과는 거리가 먼 새로운 패러다임이다.
예를 들어, 중앙 집중화된 암호화 서버 또는 키 스토리지의 단일 손상은 공격자에게 시스템 외부에서 송신되거나 수신된 임의의 패킷을 해독하는 능력을 포함하여 서비스를 제공하는 네트워크로의 전체 가시성(visibility)을 허용할 수 있다. RC 모델에서, 이 취약점은 시스템을 보호하는데 사용되는 암호화 재료를 앞으로 배포하고 다변화함으로써 극복된다. 공격자가 이 모델의 모든 부분을 잘 이해하고, 캡쳐하고, 포착하고 손상시킨 경우에도, 사용자 사이의 보안 통신은 여전히 쉽게 성취될 수 있으며, 손상된 재료를 알지 못하는 다른 공격자에 의한 도청으로부터 안전하다고 여전히 간주될 수 있다. 이러한 의미에서 RC 모델은 증명할 수 있는 높은 강도의 OTP보다 훨씬 탄력 있고 안전하다. 직접 통신하고자 하는 최종 포인트 사용자는 손상된 RC 네트워크를 이용하는 고유하고 개인적인 암호화 구현 프로토콜을 가질 수 있다.
공진기는 난수 생성기를 포함할 수 있다. RNG는 진정(true) 난수 생성기, 의사 난수 생성기 또는 난수 스트림의 특성을 갖는 임의의 비반복 숫자 시퀀스 중 적어도 하나를 포함할 수 있다. 전술한 바와 같이, 난수 생성기는 제1 난수 스트림을 생성할 수 있다. 공진기는 난수 생성기에 전기적으로 커플링될 수 있는 송신기를 포함할 수 있다. 송신기는 적어도 무선 주파수에 의해 또는 네트워크를 통해 제1 난수 스트림을 송신한다. 또한, 공진기는 아래에서 논의되는 다른 장치로부터 숫자 스트림을 수신하기 위한 수신기를 포함할 수 있다. 당해 기술 분야에서의 통상의 기술자는 송신기와 수신기가 일부 실시예에서 동일한 요소에서의 하나인 트랜스시버(transceiver)일 수 있다는 것을 이해할 것이다. 이것은 스트림을 전송하거나 수신하는데 필요한 임의의 처리를 포함한다.
또한, 제2 숫자 스트림을 제1 난수 스트림으로 통합하여 결합 스트림을 형성하기 위한 프로세서와 데이터를 저장하기 위한 비일시적 공진기 메모리가 포함될 수 있다. 제2 숫자 스트림은 제2 공진기 또는 아래에서 논의되는 다른 사용자 장치로부터 수신될 수 있다.
통신기는 공진기 및 다른 사용자 장치와 통신하는데 사용될 수 있다. 본 발명과 연계하는 통신은 하나 이상의 공진기로부터 난수 스트림을 수신하는 단계와, 통신기 숫자를 공진기에 송신하는 단계와, 평문과 암호화된 통신 및 암호화 키를 생성하기 위한 알고리즘을 교환하기 위하여 다른 통신기와 통신하는 단계를 포함한다.
이러한 능력을 가능하게 하기 위하여, 통신기는 제1 스트림을 수신할 수 있는 통신기 수신기와, 통신기 수신기에 전자적으로 연결될 수 있는 통신기 암호화 엔진을 가진다. 또한, 암호화 엔진은 비일시적 메모리와 메모리에 전자적으로 연결된 프로세서를 포함할 수 있다. 통신기 암호화 엔진의 작업의 일례는 제1 스트림의 적어도 일부를 읽고, 제1 스트림의 일부를 암호화 키로 변환하는 것일 수 있다.
다른 예에서, 시스템의 일부로서 제2 통신기 또는 추가 통신기가 있을 수 있으며, 이러한 추가 통신기는 전술한 통신기보다 더 많거나 더 적은 성능을 가질 수 있다. 제1 통신기가 제2 통신기와 통신할 때, 예를 들어 앨리스가 밥과 통신할 때, 위의 많은 예에서 설명된 바와 같이, 제1 및 제2 통신기 프로세서는 제1 스트림의 일부를 암호화 키로 독립적으로 변환하기 위하여 공통 알고리즘을 가진다. 이것은 본 발명의 하나의 이점이며, 앨리스와 밥의 어느 누구도 키를 공유하지 않고, 이들은 각각 자신의 것을 독립적으로 생성한다. 또한, 이 키는 필요할 때에만 생성되고, 따라서 저장되지 않아 장래에 데이터를 잠금 해제하도록 대기한다. 이것은 키가 송신될 필요가 없기 때문에 보안을 증가시키고, 이를 가로챌 수 없다. 또한, 이것이 각각의 데이터 세트에 대하여 즉석에서 생성되기 때문에, 오래된 키의 소유는 임의의 장래의 데이터 또는 키가 생성된 데이터가 아닌 과거의 데이터의 해독을 허용하지 않는다.
일부 하드웨어를 전술한 예에 포함시키기 위하여, 이미 언급된 바와 같이, 통신기 수신기는 제2 공진기로부터 제2 숫자 스트림을 수신할 수 있다. 비일시적 메모리는 제2 스트림의 적어도 일부를 저장할 수 있다. 그 다음, 통신기 프로세서는 제2 스트림의 일부를 읽고 양 부분을 이용하여 암호화 키를 생성한다.
다른 예는 통신기가 또한 통신기 숫자를 생성할 수 있는 통신기 숫자 생성기를 포함한다는 것이다. 통신기 숫자 생성기는 전술한 바와 같은 RNG일 수 있어, 공진기의 스트림으로 삽입될 랜덤 또는 의사 랜덤 스트림을 생성한다. 통신기 숫자 생성기는, 또한, 아래에서 논의되는 바와 같이, 메시지를 삽입하기 위하여, 통신기를 식별하는데 사용되거나 또는 암호화 엔진과 합동으로 사용될 수 있는 비랜덤 스트림을 생성할 수 있다.
또한, 통신기는 통신기 숫자를 공진기로 송신하는 통신기 송신기를 포함할 수 있다. 공진기 수신기는 통신기 숫자를 수신한다; 그리고, 공진기 프로세서는 통신기 숫자를 난수 스트림으로 통합하여 송신기에 의해 송신될 수 있는 결합 스트림을 형성할 수 있다.
전술한 다른 예에서, 통신기 숫자가 결합 공진기 스트림으로 삽입되면, 제2 통신기는 결합 스트림을 수신하고 통신기 숫자를 검출할 수 있다. 일단 정보가 전달되면, 제2 통신기는 자신의 (제2) 통신기 숫자를 생성할 수 있다. 제1 통신기 숫자 및 제2 통신기 숫자는 이제 공진기 스트림과 결합되도록 공진기로 전송되어, 송신기에 의해 송신될 수 있는 제2 결합 스트림을 만들 수 있다.
RC의 또 다른 예는 스트림의 타이밍을 포함한다. 따라서, 공진기 송신기는 시간 T0에 제1 스트림의 일부를 송신할 수 있다. 이 T0 제1 스트림은 제2 장치(통신기와 같은) 또는 공진기 자체에 의해 기록될 수 있다. 어느 장치가 이를 기록하는지 관계없이, T0 제1 스트림은 공진기 메모리에 저장될 수 있다(즉, 공진기에 의해 기록되는 경우에는 이미 거기에 있거나, 또는 다른 곳에서 기록된 경우에 수신기를 통해 다시 수신될 수 있다). 프로세서는 이제 T0 제1 스트림을 T1에서의 제1 스트림의 일부와 결합하여, 그 다음 송신되는 재귀 스트림을 형성할 수 있다.
스트림의 타이밍을 이용하는 다른 예는 적어도 값 V1을 갖는 데이터 세트(302)를 포함한다. 여기에서, 공진기는 시간 T0에 제1 스트림의 일부를 송신하고, 통신기 암호화 엔진은 T0 제1 스트림을 이용하여 값 V1을 암호화할 수 있다. 공진기는 또한 시간 T1에 제1 스트림의 일부를 송신할 수 있다. 이것은 통신기 암호화 엔진이 TO 제1 스트림을 이용하여 값 V1을 해독하고 T1 제1 스트림을 이용하여 값 V1을 재암호화할 수 있게 한다. 앰버 암호화는, 위에서 언급된 바와 같이, 스트림의 시간 세그먼트를 이용하는 다른 예이다. 앰버 비일시적 메모리는 T0 제1 스트림을 저장할 수 있고, 데이터 세트는 T0 제1 스트림을 이용하여 암호화될 수 있다.
다수의 공진기 및/또는 다수의 통신기를 이용하는 더 많은 예는 전술한 재결합 스트림을 제공할 수 있다. 여기에서, 제2 공진기는 제2 숫자 스트림을 송신하고, 통신기는 제1 및 제2 스트림을 수신할 수 있다. 통신기 암호화 엔진은 제1 및 제2 스트림을 결합하여 제1 통신기 송신기에 의해 송신될 수 있는 재결합 스트림을 형성할 수 있다. 재결합 스트림은 통상적으로 재결합 스트림을 형성하기 위하여 제1 통신기 암호화 엔진이 일례에서 Frc(n)인 알고리즘을 제1 및 제2 스트림에 적용할 때 형성될 수 있다.
다른 예는 "고스트(ghost)" 통신을 제공할 수 있다. 여기에서, 제1 통신기 숫자는 제1 스트림과 제1 통신기 숫자의 제1 시퀀스의 결합된 "고스트 스트림"을 형성하기 위하여 제1 시퀀스를 이용하여 공진기에 송신되는 명문(clear text) 메시지일 수 있다. 그 다음, 제2 통신기가 고스트 스트림을 수신하고, 이의 암호화 엔진이 고스트 스트림으로부터 제1 통신기 숫자를 필터링하는 제1 필터를 적용한다. 임의의 개수의 공진기와 이들의 스트림이 그 사이에 메시지를 분할하기 위하여 사용될 수 있다는 점에 주목하라.
또한, 지오펜싱 예가 논의될 수 있다. 여기에서, 공진기 송신기는 단거리(short range) 송신기이고, 송신기 신호 범위는 지오펜스 영역을 정의한다. 통신기 수신기가 지오펜스 영역 내부에서 제1 숫자 스트림을 수신할 때, 통신기 암호화 엔진은 어떤 데이터 세트나 하드웨어가 지오펜스 영역의 일부이더라도 액세스하는데 필요한 암호화 키를 생성할 수 있다. 반대로, 통신기가 지오펜스 영역 외부에 있을 때, 예를 들어 송신기 신호를 더 이상 수신할 수 없을 때, 통신기 암호화 엔진은 암호화 키를 생성할 수 없다. 사용자가 적합한 공진기를 액세스할 수 없다면 암호화된 정보를 읽는데 필요한 모든 정보를 결코 가지지 않을 것이기 때문에, 이는 쉽게 주목될 수 있다.
다음의 예들은 RC를 이용하는 방법을 단계적으로 설명한다. 이러한 단계들이 본 명세서에서 논의된 하드웨어에 의해 수행될 수 있고, 특수하게 설계된 하드웨어 또는 일반적이거나 상용의 하드웨어에서 실행되는 소프트웨어에 구체화될 수 있다는 점에 주목하라.
일례는 공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법이고, 이는 공진기의 기본적인 단계들이며, 공진기를 이용하여 제1 난수 스트림을 생성하는 단계와, 그 다음 송신기를 이용하여 제1 숫자 스트림을 전송하는 단계를 포함한다. 도면은 기본 얽힘(entanglement) 방법을 더 포함하며, 이는 공진기에서, 제2 숫자 스트림을 수신하는 단계를 포함할 수 있다. 제1 및 제2 스트림은 공진기에서 프로세서를 이용하여 결합되어 결합 스트림을 형성할 수 있으며, 그 다음, 송신기로 결합 스트림을 송신할 수 있다.
통신기를 포함하는 예의 일부는 통신기에서 제1 스트림을 수신하는 단계와, 그 다음 통신기의 메모리에 제1 스트림의 적어도 일부를 저장하는 단계를 포함한다. 통신기의 프로세서는 제1 스트림의 일부를 암호화 키로 변환할 수 있다. 이것은 알고리즘을 이용하여 수행될 수 있다.
적어도 하나 이상의 통신기를 추가하는 것은 2개의 당사자가 안전하게 통신할 수 있게 한다. 이 방법은 제1 스트림을 수신하고 이의 일부를 저장하는 제2 통신기를 가진다. 그 다음, 제2 통신기는 제1 스트림의 일부를 동일한 알고리즘을 이용하여 동일한 암호화 키로 변환할 수 있다. 전술한 바와 같이, 이것인 앨리스와 밥이 동일한 키이지만 독립적으로 생성되고 일부 예에서 즉석으로 생성된 키를 이용하여 통신할 수 있게 한다.
다수의 공진기의 사용에 대한 일례는 통신기가 제2 공진기에 의해 생성된 제2 숫자 스트림을 수신하고 이의 적어도 일부를 저장할 수 있게 한다. 제1 및 제2 스트림의 부분들은 알고리즘을 이용하여 암호화 키로 변환될 수 있다.
공진기 스트림과 통신기 스트림을 결합하는 것은 수렴 방법의 일례이다. 이 예는 제1 통신기에 의해 생성된 통신기 숫자를 수신하는 공진기를 가진다. 이 단계는 공진기의 관점에서 취해지지만, 다른 예에서, 통신기가 통신기 숫자를 생성하여 이를 공진기로 송신한 것으로 용이하게 될 수 있다. 그러나, 이는 통신기 숫자 및 제1 스트림을 결합 스트림으로 결합하고 그 다음 이를 송신하는 공진기일 수 있다.
상기 예를 계속하면, 이 결합 스트림은 앨리스가 밥에게 비밀로 신호를 전송(또는 그 이상을)할 수 있게 한다. 이 방법은, 제2 통신기에서, 결합 스트림을 수신하는 단계와, 그 다음, 이의 적어도 일부를 저장하는 단계를 포함한다. 제2 통신기의 프로세서는 결합 스트림으로부터 통신기 숫자의 일부를 검출할 수 있다.
캐스케이딩 방법의 일례는, 공진기가, 모두 제2 통신기에 의해 송신된, 제2 통신기에 의해 생성된 제2 통신기 숫자와 제1 통신기 숫자를 수신하는(또는 다시 수신하는) 것을 포함한다. 공진기는 제1 및 제2 공진기 숫자와 제1 스트림을 제2 결합 스트림으로 결합하고, 그 다음, 이를 송신한다.
또한, 재결합 스트림 형성 방법에서는, 이제 제1 통신기가 제1 스트림과 제2 숫자 스트림(일반적으로 제2 공진기에 의해 생성됨)를 수신한다. 2개의 스트림은 소정의 형태의 알고리즘을 이용하여 변경 및/또는 결합되어, 이에 따라 제1 및 제2 스트림의 일부를 재결합 스트림으로 변환한다. 재결합 스트림은 제1 통신기 송신기를 이용하여 송신된다.
스트림의 세그먼트가 상이한 시간에 얻어져 더욱 진보된 암호화 결과를 얻는 예가 있다. 재귀 스트림에 대하여, 방법의 일례는 공진기를 이용하여 시간 T0에 제1 난수 스트림을 생성하는 단계를 포함한다. T0 제1 스트림의 일부는 비일시적 메모리에 저장된다. 이 스토리지는 T0 제1 스트림을 생성한 동일한 공진기, 상이한 공진기 또는 통신기에 있을 수 있다. 이것이 어디에 저장되는지 관계없이, T0 제1 스트림은 그 다음에 송신되는 재귀 스트림을 형성하기 위하여 시간 T1에 제1 스트림의 일부와 결합되도록 공진기로 다시 전송된다.
도면에 도시된 다른 시간 세그먼트는 공개적으로 사용 가능한 개별 값이 시간에 따라 암호화될 수 있게 한다. 이 방법에서, 통신기는 T0 제1 스트림을 수신하고, T0 제1 스트림을 이용하여 제1 데이터 값 V1을 암호화한다. 시간적으로 분리되어, 이제 통신기는 공진기로부터 T1 제1 스트림을 수신한다. 데이터 값 V1은 T0 제1 스트림을 이용하여 해독되고, 그 다음 T1 제1 스트림을 이용하여 암호화될 수 있다.
또 다른 시간 예는 앰버 암호화이다. 여기에서, 방법의 예는 공진기를 이용하여 시간 T0에 제1 난수 스트림을 생성하는 단계를 포함한다(전술한 바와 같이). T0 제1 스트림은 앰버 메모리에 저장되고, 데이터 세트를 암호화하는데 사용된다. 그러나, 이러한 방식으로 암호화되면, 나쁜 행위자가 T0 스트림에 대하여 엿들을 수 있는 방법이 없으며, 이는 시간이 지나면 손실된다.
고스트 RC는 다른 강력한 도구일 수 있다. 이는 공개 스트림에서 명문을 전송하는데 사용될 수 있고, 밥은 단지 스트림의 공개 세그먼트로부터 어느 스트림과 어느 세그먼트가 고스트 세그먼트인지 알 필요만 있다. 또한, 이는 이의 난독화에 추가하기 위하여 암호화된 메시지를 전송할 수 있다. 이 방법의 일례는 제1 통신기에서, 명문 메시지인 제1 통신기 숫자를 생성하는 단계에 의한다. 제1 통신기 숫자는 제1 시퀀스를 이용하여 공진기로 송신될 수 있다. 제1 통신기 숫자는 공진기에서 제1 스트림과 결합되어 고스트 스트림으로 된다. 제2 통신기는 고스트 스트림을 수신하고, 고스트 스트림으로부터 제1 통신기 숫자를 추출하기 위하여 이를 필터링한다.
다른 예는 데이터 액세스를 제한하기 위하여 영역을 지오펜싱하는 방법으로 이어질 수 있다. 도면에 도시된 일례는 제1 스트림을 송신하는 송신기의 신호 범위에 기초하여 지오펜싱된 영역을 정의한다. 정의되면, 제1 통신기에서 제1 스트림을 수신한 것에 기초하여 지오펜스싱된 데이터에 대한 액세스가 허용될 수 있거나 거절될 수 있다. 제1 스트림이 수신되면, 지오펜싱된 영역 내의 데이터를 해독하는데 사용되는 암호화 키가 생성될 수 있다.
본 발명의 상기 양태 및 또 다른 양태는 유사한 도면 부호가 다양한 도면에서 유사한 구조적 요소를 나타내는 첨부된 도면과 함께 이어지는 설명을 참조하여 더 논의된다. 도면들은 반드시 배율에 맞추어질 필요는 없고, 이 대신에, 본 발명의 원리를 예시하는 것에 따라 강조된다. 도면들은 한정이 아닌 단지 예로서만 본 발명의 장치의 하나 이상의 구현예를 도시한다.
도 1은 본 발명의 암호-공진 네트워크의 일례이다;
도 2는 앨리스와 밥 사이의 기본적인 공진 암호화 교환을 도시하는 도면이다;
도 3은 앨리스와 밥 사이의 보다 복잡한 기본 공진 암호화 교환을 도시하는 도면이다;
도 4는 딸(daughter) 스트림의 커플링된 공진 암호화 형성을 도시하는 도면이다;
도 5는 앨리스와 밥 사이의 커플링된 공진 암호화 교환의 일례를 도시하는 도면이다;
도 6은 딸 스트림의 커플링된 공진 암호화 형성의 또 다른 예를 도시하는 도면이다;
도 7은 본 발명의 호출(calling) 예를 도시하는 도면이다;
도 8은 본 발명의 캐스케이딩(cascading) 예를 도시하는 도면이다;
도 9는 본 발명의 재귀 암호화 예를 도시하는 도면이다;
도 10은 본 발명의 재조합 암호화 예를 도시하는 도면이다;
도 11은 본 발명의 시간 이동 암호화의 예를 도시하는 도면이다;
도 12a 및 도 12b는 본 발명의 고스트 암호화 예를 도시하는 도면이다;
도 13은 본 발명의 암호화 체크포인트 예를 도시하는 도면이다;
도 14는 본 발명의 앰버(amber) 암호화 예를 도시하는 도면이다;
도 15는 본 발명의 공진기의 일례를 도시한다;
도 16은 본 발명의 통신기의 일례를 도시한다;
도 17은 본 발명의 공진기 방법의 일례를 나타내는 흐름도이다;
도 18은 본 발명의 통신기 방법의 일례를 나타내는 흐름도이다;
도 19는 본 발명의 수렴 방법의 일례를 나타내는 흐름도이다;
도 20은 본 발명의 시그널링 방법의 일례를 나타내는 흐름도이다;
도 21은 본 발명의 결합 스트림 방법의 일례를 나타내는 흐름도이다;
도 22는 본 발명의 재결합 스트림 방법의 일례를 나타내는 흐름도이다;
도 23은 본 발명의 재귀 스트림 방법의 일례를 나타내는 흐름도이다;
도 24는 본 발명의 공개 데이터의 암호화 방법의 일례를 나타내는 흐름도이다;
도 25는 본 발명의 앰버 저장 방법의 일례를 나타내는 흐름도이다;
도 26은 본 발명의 고스트 통신 방법의 일례를 나타내는 흐름도이다; 그리고,
도 27은 본 발명의 지오펜싱(geo-fencing) 방법의 일례를 나타내는 흐름도이다;
공진 암호화(Resonate cryptography("RC"))는, 글로벌 스케일이 될 수 있는, (정확하게 구현될 때) 뚫을 수 없는 원타임 패드(One-Time-Pad("OTP")) 암호화 방법을 모방하는 보안 암호화 방법이다. 본 방법 및 이를 구현하는 장치는 무작위로 나타나는 숫자의 스트림(102)을 브로드캐스트하기 위하여 하나 또는 그 이상의 암호화 공진기(100)의 환경을 생성 및 활용한다. 암호화 공진기(100)의 간단한 예는 난수 생성기(random number generator("RNG"))이다. 암호화 공진기/RNG(100)는 진정(true) 난수 생성기, 의사 난수 생성기 또는 진정한 난수 생성기, 의사 난수 생성기 또는 난수 스트림의 외형 및 특성을 갖는 임의의 비반복 숫자 시퀀스일 수 있다. 암호화 공진기(100)는 하드웨어 또는 소프트웨어 중 하나 이상으로 구현될 수 있고 디지털 또는 아날로그 기술에 의해 생성 및/또는 스트리밍 될 수 있다.
도 1은 암호화 공진기(100)의 일부 예를 도시한다. 단순한 암호화 공진기 비콘(100A)은 무선 액세스 포인트와 유사하며 진정 랜덤 디지트 스트림(102A)을 생성한다. 비콘(100A)은 공개 브로드캐스트이고, 신호(102A)의 범위 내에서 임의의 사용자(200A)가 액세스할 수 있다. 암호화 공진기 라디오(100B)는 소프트웨어에 의해 이의 스트림(102B)을 생성할 수 있고 네트워크(300)를 통해 그 네트워크(300)에 대한 액세스를 갖는 임의의 사용자(200B)에게 그것을 투사할 수 있다. 이 예에서, 암호화 공진기 라디오(100B) 스트림(102B)은 의사 랜덤일 수 있다. 네트워크(300)는 인터넷과 같이 광대하거나 회사의 근거리 통신망(Local Area Network("LAN"))처럼 제한적 일 수 있다. 또 다른 유형의 암호화 공진기(100)는 보안 암호화 공진기(100C)이다. 보안 암호화 공진기(100C)는 회원(예를 들어, 회사의 종업원) 또는 개인 스트림(102C)에 대하여 지불하는 가입자인 사용자(200C)에게만 액세스를 허용할 수 있다. 이 예에서, 비공개 스트림(102C)은 비반복 시퀀스(예를 들어, pi 또는 e)이다. 임의의 암호화 공진기(100A, 100B, 100C)는 랜덤, 의사 랜덤 또는 비반복인 임의의 유형의 스트림을 생성할 수 있고, 임의의 한 사용자(200A, 200B, 200C)는 스트림(102A, 102B, 102C)의 일부 또는 전부에 대하여 액세스할 수 있다.
상기 구성의 예는 공진 암호화 네트워크로 알려질 수 있다. 안전하게 통신하는 컴퓨팅 장치의 임의의 네트워크에 대하여, RC는 효율적인 OTP를 복잡한 방식으로 생성하기 위하여 데이터 스트림(102)을 암호화 수신기(103)(예를 들어, 아래의 예들에서 언급되는 임의의 사용자 장치 또는 스토리지)에 브로드캐스트하는 공진기(100)의 메시 네트워크이다. 이들은 공개적으로 또는 신뢰할 수 있는 사용자에 대하여 비밀로 데이터를 암호화하기 위하여, 정적 또는 동적인 임의의 개수의 알고리즘에 의해 성취될 수 있다. 또한, 간단한 암호화를 넘어서 데이터를 난독화하는 임의의 보안 수단을 위하여 사용될 수 있다. 대칭 키 암호로서 사용되는 경우, 키 길이는 고정되지 않고, 공진기(100) 또는 공진기(100)의 네트워크의 대역폭에 따라 임의로 크게 성장할 수 있다. 또한, 동일한 스트림이 스트림 암호화를 포함하여 모두 자신의 구현예를 달리하는 제한되지 않는 수의 사용자(200)에 의해 사용될 수 있다.
각각의 스트림(102)은 그 스트림을 액세스할 수 있는 임의의 사용자(200)에 대하여 고유의 OTP 역할을 할 수 있다. 스트림(102)은 실제 암호 키(104) 또는 암호 키(104)를 위한 수학적 기초일 수 있다. 2명의 사용자(200)가 하나 이상의 암호화 공진기(100)에 동의하면, 그리고 이들이 키를 생성하기 위하여 스트림(102)을 액세스할 때, 암호가 즉석에서(on the fly)로 생성될 수 있고, 복제되거나 크랙될 수 없다.
매우 간단한 예는 제1 사용자인 앨리스(202A)가 제2 사용자인 밥(202B)에 대한 메시지를 암호화하기 원하는 것이다. 도 2에서, 앨리스(202A)와 밥(202B)은 암호화 공진기 비콘(100A)을 사용하고 시간 T1에 스트림(102A)을 입력하는데 동의하는 것이다. 따라서, 앨리스(202A)와 밥(202B)은 모두 스트림(102A)으로부터 난수를 수집하기 시작할 것이다(1971693993...). 앨리스와 밥(202A, 202B)은 또한 간단한 추가 암호를 사용하는데 동의하였다. 메시지는 알파벳에서의 위치에 의해 숫자로 변환될 때 8-4-12-12-15인 "Hello"이다. 1-9-7-1-6인 시간 T1에서 얻어진 스트림(102)의 처음 5개의 디지트는 키(104)가 된다. 2 세트의 디지트들을 함께 더하여 9-13-19-13-21 또는 913191321인 암호화된 메시지(106)를 얻는다. 스트림(102A)으로부터 자신의 버전의 키(104)를 캡쳐한 밥(202B)은 이제 "문자(letter)" 디지트들의 각각으로부터 키 디지트를 빼서 메시지를 디코딩하여 명확한 메시지 "hello"를 다시 얻을 수 있다.
본 발명의 일부 주요 특징에서, 앨리스와 밥(202A, 202B)은 미리 키를 교환하지 않고 단지 키를 어떻게 생성할지에 대하여 동의할 필요만 있었다는 점에 주목하라. 또한, 앨리스와 밥(202A, 202B)의 어느 누구도 스트림(102A)을 입력할 때까지 무엇이 정확한 키가 될 것인지 알지 못했다. 이들이 나중에, 즉 T1'에 스트림(102A)을 입력하는데 동의하였다면, 키는 몇 디지트 이동하야 9-3-9-9-3이 되었을 수 있다. 따라서, 비콘(100A)이 공개로 스트리밍(102A)되고 있더라도, 누구도 메시지를 해독하기 위하여 스트림(102A)을 언제 이용하기 시작하는지 알 수 있는 방법은 없다. 물론, 키는 암호화 알고리즘을 위하여 단지 단순 부가 이상을 수행함으로써 훨씬 더 복잡하게 될 수 있다.
또한, 도 2는 앨리스와 밥(202A, 202B)에 대한 약간 더 복잡한 암호화 스킴을 도시한다. 더욱 강력한 보안을 위하여, 앨리스와 밥(202A, 202B)은 암호화 공진기 라디오(100B)와 이의 스트림(102B)을 사용하는데 역시 동의한다. 이들은 시간 T1에 라디오 스트림(102B)을 입력하고, 4-1-0-2-7을 얻는다. 이제, 비콘 스트림(102A)과 라디오 스트림(102B)의 합이 키라고 동의되고, 따라서 5-10-7-3-13이며, 메시지는 위에서와 같이 암호화된다. 이제, 스트림(102A, 120B)이 모두 공개되더라도 키를 점점 더 복잡하게 만들기 위하여 더욱 더 많은 스트림이 사용될 수 있다. 앨리스와 밥(202A, 202B)이 암호화 공진기(100C)와 사설 스트림(102C)을 사용하였다면, 훨씬 더 많은 보안이 얻어질 수 있다.
도 3은 일부 복잡성을 갖는 또 다른 예이다. 일련의 암호화 공진기 비콘(100A-1, 100A-2, 100A-3... 100A-X)과, 일련의 보안 암호화 공진기(100C)가 있으며, 이는 사설이거나 또는 회원제/가입 제어 방식일 수 있다. 앨리스와 밥(202A, 202B)은 특정 시간(즉, 0100 zulu)에 보안 메시지 "1111"을 전송하기 원한다. 앨리스와 밥(202A, 202B)은 공개 비콘 RC#1(100A-1) 및 RC#314(100A-3)와 보안 공진기 NCOIEWUH(100C-1)를 사용하는데 더 동의한다. 0100 zulu에서, 이러한 암호화 공진기(102A-1, 102A-3 및 102C-1)의 각각의 스트림은 각각 난수열 0200, 1234, 9876인 4자리 디지트를 전송한다. 앨리스와 밥(202A, 202B)은 허위 덧셈(false addition)에 의해 키를 생성하는데 동의한다(즉, 어느 디지트가 더해지더라도, "1"의 자리에서의 디지트가 사용된다). 따라서, 키는 1200이다. 앨리스와 밥(202A, 202B)는 다시 메시지를 암호화하기 위하여 허위 덧셈하는데 동의하고, 이는 암호화 메시지(106) "2311"이 될 것이다. 앨리스(202A)는 그 다음 암호화된 메시지를 명문으로(in the clear) 밥(202B)에게 전송하며, 밥(202B)은 이미 키(104)를 가지고 있으며 이에 따라 메시지를 해독하는 한다.
본 발명의 양태들의 일부는 바로 전술한 간단한 예로부터 명백하다. 보안 공진기 NCOIEWUH(100C-1)가 이의 전체 스트림을 시간에 따라 기록하더라도, 앨리스와 밥(202A, 202B)이 RC#1(100A-1)과 RC#314(100A-3)를 사용하는데 역시 동의하였다는 것을 해커가 알 수 있는 방법은 없다. 해커가 정확히 어느 공진기인지 알더라도, 이들이 키의 생성을 시작하기 위하여 스트림(102A-1, 102-A 및 102C-1)을 입력하는지 언제 결정할지 여전히 알지 못한다. 그 다음, 공진기와 스트림 입력 시간을 완전히 알더라도, 해커는 여전히 암호화 알고리즘을 알지 못한다.
정상적인 상황하에서, 단지 몇 개의 공진기(100)가 동작하여, 해커가 키(104)를 추측할 수 있는 확률은 거의 0이다. 해커는 모든 가능한 공진기(100)를 기록하고 모든 조합과 모든 입력 시점을 시도할 필요가 있을 것이다(그리고, 모든 스트림이 동일한 시점에 입력된다는 가정 하에서). 가장 간단한 암호화 알고리즘을 이용하더라도, 이것은 현재 사용 중인 것보다 훨씬 더 강력한 시스템이며, 매우 경량의 키로 거의 완벽한 암호화를 제공한다. 본 예에서, 키 길이는 단지 암호화된 메시지(106)의 길이이다. 또한, 스트림(102) 및 간단한 알고리즘의 캡쳐는 이동 장치의 CPU의 제한된 자원을 이용하더라도 쉽게 계산된다.
다른 예는, 도 4 및 5에 도시된 바와 같이, 훨씬 더 많은 복잡성과 보안을 본 발명에 추가한다. 전술한 예에서, 공진기(100)는 수동 장치일 수 있어, 단순히 자신의 스트림(102)을 방출한다. 암호화 얽힘(Crypto Entanglement(CE))의 일례는 이를 동적이고 자신의 환경에 반응할 수 있게 한다. CE는 공진기가 다른 공진기에 결합될 수 있게 하는 임의의 공진기(100)의 특성이다. 예는, 스마트폰과 같은 자신의 개인 사용자 생성기/공진기(206)에 의해 생성된, RC의 임의의 사용자에 고유한 작은 스트림을 포함한다. 커플링의 예는 시간 서명과 조합된 장치 해시(hash)만큼 간단할 수 있다. 일례에서, 커플링은 정적 숫자 스트림이 아닌 한 발생할 수 있다. 공진기(100)의 사용자(200) 또는 RC 네트워크에서의 이의 임의의 조합은 이제 이들이 커플링되는 것에 응답하여 자신의 개별 스트림을 변경함으로써 시간에 따라 얽히게 될 수 있다. 이 방식의 각각의 요소는 분리된 시스템의 임의의 고유한 특성이 고유하게 변환되는 새로운 암호화 상태를 생성하도록 시간에 따라 빠르게 진화한다. 결합 스트림은 이제 서로 얽혀 복잡한 새로운 시스템을 구성한다.
통신기의 폐쇄된 시스템에 커플링된 각각의 새로운 요소가 검출 가능하기 때문에, 얽힘은 네트워크를 공격하는 문제를 복잡하게 한다. 사용 중인 암호화 표면을 수정하는 것은 시스템의 모든 요소에 동시에 경고할 것이다. 이는 RC 네트워크를 사용하여 이 형식에서 진화하는 보안 및 침입 탐지의 보조 레이어(secondary layer)이다.
도 4는 공진기(100)와 상호 작용하는 사용자(200)의 간단한 예를 도시한다. 이러한 방식으로, 사용자(200)는 공진기 스트림(102)으로 삽입하기 위하여 사용자 생성기/공진기(206)로부터 사용자 스트림을 브로드캐스트할 수 있다. 정보를 갖고 있지 않은 사용자에게는, 난수가 여전히 생성되고 있는 것처럼 보이기 때문에, 사용자 스트림(204)의 추가는 검출되지 않지만, 정보를 갖고 있는 사용자에게는, 사용자 스트림(204)이 공진기 스트림(102)에서 검출되면, 이것은 보안을 강화시키는데 사용될 수 있거나, 식별자로서 사용될 수 있다.
공진기 스트림(102) 내로의 사용자 스트림(204)의 삽입은 임의의 수의 상이한 동작을 초래할 수 있다. 도 4의 단순화된 예에서, 공진기 스트림(102)은 단지 "1들"이고 사용자 스트림(204)은 단지 "2들"이다. 결과적인 딸(daughter) 스트림(208)은 "121212121212" 패턴을 제공하는 교대하는 사용자 스트림(204)과 공진기 스트림(102)의 함수일 수 있다. 이 대신에, 이는 덧셈적 포함(additive inclusion)일 수 있어, 이제 "3333333333"의 딸 스트림 (208)을 제공한다. 임의의 다른 수치 연산이 2개의 스트림(102, 204)에 수행되어, 결과적인 딸 스트림(208)으로 이어질 수 있다.
도 5는 더 복잡한 CE 예를 도시한다. 여기에서, 사용자 공진기(206)가 공진기(100)와 커플링할 수 있을 뿐만 아니라, 공진기(100)는 사용자 공진기(206)와 커플링할 수 있다. 이들의 스트림은 동등하게 또는 본질적으로 다르게 서로 영향을 미치도록 교차될 수 있다. 도시된 예에서, 2개의 공진기(100, 206)는 얽힘을 시작하기 위하여 서로 통신할 수 있다. 스트림(102, 204)은 하나 이상의 결합 수식을 통해 교차되고 결합되어(전술한 예 참조), 하나 이상의 딸 스트림(208)을 제공한다.
CE의 다른 예는, 도 6에 도시된 바와 같이, 모두가 결합하기 원하는 다수의 비콘 공진기(100A-1, 100A-2, 100A-3)로부터 다수의 스트림(102A-1, 102A-2, 102A-3)을 고려하는 것이다. 제1 비콘(100A-1) 스트림은 "aaaaaaaaaa..."이고, 제2 비콘(100A-2) 스트림은 "22222222222222..."이고, 제3 비콘(100A-3) 스트림은 "?????????????????..."이다. 단지 비콘 공진기 #1 및 #2(100A-1, 100A-2)의 새로 결합된 딸 스트림(208)은 교대하는 시퀀스 "a2a2a2a2a2" 또는 피보나치 시퀀스 "aa2aa2aaa2aaaa2aaaaaaaa2..." 또는 임의의 다른 연산자일 수 있다. 딸 스트림(208)은 이제 제3 비콘 스트림(102A-3)에 의해 더 수정될 수 있다. 간단한 시퀀스에서, 딸은 "a2?a2?a2?a2?..." 또는 제3 스트림(102A-3)을 짝수 번 시프트한 것인 "aa2aa2aaa2aaaa2?aaaaaaaa2?..."일 수 있다.
앨리스와 밥 사이에서 메시지를 암호화하기 위하여 CE를 사용하는 예로 돌아가기 전에, "호출(calling)"로 알려진 특징에 대한 다른 예가 도 7에 도시된다. 호출은 사용자의 고유 시퀀스(205)의 정규 RC 스트림(102)으로의 삽입을 허용한다. 사용자 시퀀스(205)가 고유하고 무작위가 아닐 수 있지만, 이는 순수한 RC 스트림의 엔트로피(entropy)를 줄이는 것을 방지하기 위하여 랜덤 시컨스의 모든 특성을 가져야 한다. 일례는 시간 서명과 함께 숫자의 임의의 무작위 스트림으로부터 대체로 구별 가능하지 않은 사용자의 고유 해시가 라이브 RC 브로드캐시트 스트림(102)으로 삽입되어 해시를 알고 있을 수 있는 잠재적인 수신자에 의해 검출 가능한 것이다. 사용자 시퀀스(205)는 이의 존재를 알고 있을 수 있고 RC 스트림을 모니터링하는 임의의 다른 사용자에 의해 검출 가능할 수 있다.
사용자 시퀀스(205)는 보안 교환 또는 세션을 시작하기 위하여 다른 참여자와의 통신을 개시하는 신호로서 사용될 수 있다. 보안 세션 또는 코뮈니케(communique)를 역시 개시하는 다중 파티(multi-party) 식별자를 생성하기 위하여 유사한 신호가 다수의 사용자에 의해 동시에 생성될 수 있다.
도 7을 참조하면, 앨리스(202A)와 밥(202B)은 프로토콜을 설정하였고, 밥(202B)은 앨리스가 메시지를 보내고 있다고 인지하기 위하여 앨리스의 사용자 시퀀스(205A)를 대기하고 키 생성을 시작하도록 공진기(100)의 스트림(102)을 모니터할 수 있다. 여기에서, 앨리스(202A)는 자신의 사용자 시퀀스(205a)인 "x37Q"를 스트림(10)에 삽입한다. 공진기와 보통 상호 작용하지 않는 밥은 단지 스트림(102)을 모니터링하고, 사용자 시퀀스(205A)를 주목하며, 미리 정해진 키 생성 알고리즘을 시작한다.
간단한 해시가 사용되어 시간 종속 서명과 결합될 수 있어, 동일한 식별자 숫자 시퀀스가 RC 스트림에서 다시는 보이지 않지만, 인가된 사용자는 이의 고유 값을 항상 검출할 수 있다. 이것은 사용자가 호출하거나, 접촉하거나 또는 메시지를 전달하려고 시도하고 있다는 신호를 개인 또는 그룹에 알릴 수 있다. 또한, 해시들의 조합이 다수의 스트림에 걸쳐 복잡한 조합으로 동일한 방식으로 사용될 수 있어, 통신기를 더 난독화하고 공진기(100)의 정상적인 동작을 교란시키면서 동일한 효과를 성취할 수 있다.
암호화 시그널링은 사용자에게 링(ring) 또는 핑(ping)하기 위하여 통신 네트워크를 위한 캐리어 신호로서 공진기(100)를 사용하기 위한 기초가 될 수 있다. 다수의 공진기(100)로부터의 핑의 조합은, 예를 들어, 통신하기 위한 특정 세트 또는 공진기(100)를 사용하기 위한 경고 메시지 일 수 있다. 사용자 시퀀스(205) 및 그들의 후속 통신은 중첩되거나 독립적으로 동작할 수 있다 - 다른 시스템은 실제 데이터 전송 또는 통신을 수행할 수 있는 반면, 공진기(100) 세트는 의도된 컨택을 "링(ring)"하는데에만 사용될 수 있다.
이 구성은 식별 및 호출을 위하여 사용되는 것에 한정되지 않는다. 이는 또한 인가된 사용자의 개인 또는 그룹에 경고 메시지를 브로드캐스트하는데 사용될 수 있다. 이것은 접촉을 설정하는 대신에 스테가노그라피(steganography)를 삽입하기 위하여 RC 스트림(102)을 이용하는 것과 마찬가지이지만, 이는 거의 동일한 메커니즘을 사용한다.
앨리스와 밥 사이에서 메시지를 암호화하기 위하여 CE의 예로 돌아가면, 먼저, 이들은 모두 자신의 사용자 시퀀스(205)를 가진다. 이들의 사용자 시퀀스(205)를 위한 예는 큰 수, 이들의 이메일 주소의 해시에 관련된 큰 수, 또는 임의의 다른 디지트 시퀀스일 수 있다. 사용자 시퀀스(205)는, 예에서, 임의의 다른 난수 시퀀스로부터 구별 가능하지 않을 정도로 길고 그리고/또는 무작위이다. 다시, 이들은 0100 Zulu에서 암호화된 메시지(106)를 교환하기 원한다. 앨리스는 공진기(100)와 통신하고, 스트림(102)에 삽입되는 자신의 사용자 시퀀스(205A)를 가진다. 밥은 앨리스의 사용자 시퀀스(205A)를 알고 있고, 딸 스트림(208)에서의 이의 출현을 앨리스로부터의 신호로서 취하여 스트림(102)을 기록하기 시작한다. 밥은 앨리스가 그들이 안출한 암호화 스킴을 식별하고 시작하기 위하여 자신의 사용자 시퀀스(205B)를 스트림(102)으로 삽입함으로써 동일한 것으로 돌아간다.
본 예에서, 스트림(102)은 "11111111111111111"이고, 앨리스의 사용자 시퀀스는 "333"이고 밥의 시퀀스는 "7777"이다. 또한, 스트림을 이용하기 시작하기 위한 이들의 동의된 시퀀스는 "956888"이다. 통신을 모니터링하는 자에게는, 보이는 모든 것은 "1111111113333956888111111111111777795688811111111111..."이다. 실제로 이것이 긴 비반복 난수이지만, 본 예에서는 단지 단순화된다는 점에 주목하라. 누구도 "3333"이 앨리스의 사용자 시퀀스라고 추측할 수 없을 것이고, 밥이 앨리스를 알고 있기 때문에 밥만이 이를 알며, 밥의 시퀀스에 대하여 그 역도 마찬가지이다. 임의의 외부의 관찰자에게, 이들은 단지 스트림에서의 더 많은 난수들일 뿐이다. "956888"은 암호화 스킴을 형성하고 암호화된 메시지를 스트림으로 다시 삽입하기 위한 "매 7번째의 디지트를 사용"하기 위하여 "기록을 시작"하는 것처럼 쉬운 것으로부터의 동의된 명령일 수 있다.
다른 예에서, 앨리스 및/또는 밥은 또한 자신의 통신을 더 혼란스럽게 하고 얽히게 하기 위하여 자신의 사용자 공진기(206)로 하여금 더 많은 랜덤 디지트를 메인 스트림(102)으로 삽입하게 할 수 있다. 이것은 앨리스와 밥이 공진기(100)의 교란(perturbation)을 통해 간접적으로 통신할 수 있게 한다. 전술한 것의 전부는 외부의 관찰자에게는 단지 난수의 스트림처럼 보이지만 모두는 앨리스와 밥에게 매우 적은 계산 전력으로 정보를 쉽게 암호화하고 해독하는 능력을 제공한다.
전술한 것을 고려하면, 아래는 CE를 이용하여 메시지를 실제로 암호화하는 일례이다. 앨리스와 밥은 하나의 독립적인 공진기(100)를 사용하는데에만 동의하고, 각각은 자신의 사용자 스트림(204)을 삽입함으로써 이와 얽히며, 결과에 따른 딸 스트림(208)은 메시지를 암호화하는데 사용된다. 앨리스와 밥은 자신들을 공진기 및 서로에 대하여 식별함으로써 시작한다. 앨리스의 사용자 시퀀스(205)는 "6425"이고, 밥의 사용자 시퀀스(202)는 "7458"이다. 앨리스의 사용자 공진기(206)는 "1234"를 반복하는 사용자 스트림(204)을 생성하고, 밥의 사용자 공진기는 "5678"의 반복하는 시퀀스를 생성한다. 공진기(100)는, 동의된 시간 0100 Zulu에서, "8542"의 4개의 랜덤 디지트를 송신한다. 밥에 대한 앨리스의 메시지는 "9999"이지만, 앨리스와 밥이 딸 스트림(208)을 생성하기 위하여 스트림(104)에 영향을 미치기 때문에, 양자는 시퀀스를 암호화하는데 사용된다.
따라서, 0100+1 Zulu에서, 2개의 사용자 시퀀스와 스트림은 먼저 파티들을 식별하고, 키의 생성을 시작하기 위하여 커플링된다. 본 예에서, 허위 덧셈에 의해 다음과 같이 된다:
6325(앨리스의 사용자 시퀀스)
7458 (밥의 사용자 시퀀스)
8542 +(공진기의 난수)
------
1215
따라서, "1215"가 0100+1 Zulu에 송신된다. 역시, 이것은 단지 스트림의 다른 무작위 부분처럼 보이지만, 앨리스와 밥이 모두 자신의 그리고 서로의 사용자 시퀀스를 알고 스트림 디지트를 읽기 때문에, 이들은 메시지를 해독하기 위하여 키를 생성하기 시작할 시간이라는 것을 안다.
시간 0100+2 Zulu에서, 공진기로부터의 스트림은 이제 앨리스와 밥으로의 딸 스트림(208)이다(세상에서의 나머지 사람들에게 대하여, 이들은 이를 스트림으로만 본다). 공진기(100)는 다음 4개의 난수 "1182"를 생성하고, 이는 2개의 사용자 스트림과 아래와 같이 얽힌다:
1234(앨리스의 사용자 스트림)
5678(밥의 사용자 스트림)
1182 +(공진기의 난수)
------
7084
시퀀스 "7084"는 이제 "9999"인 앨리스의 메시지를 암호화하고 해독하는데 사용되는 키(104)이다:
9999
7048 +
------
6937
"6937"인 암호화된 메시지(106)는 손상될 우려 없이 밥에게 명문으로 송신될 수 있다. 그러나, 앨리스가 자신의 것을 생성한 때와 동일한 시간에 밥이 자신의 대칭 키를 동시에 생성하였기 때문에, 이는 밥에 의해 쉽게 해독될 수 있다.
앨리스와 밥은 새로운 키가 생성되어야 하고 메시지가 곧 있을 것이라고 식별하기 위하여 스트림을 변경한 제1 사용자 시퀀스 신호 때문에 사용 가능한 공진기(100)에 자신의 사용자 공진기(206)를 커플링하였다는 것을 알고 있다. 앨리스와 밥 사이의 초기 정보가 교환되었고, 키가 교환되지 않았다는 것을 주목하면, 새로운 키를 생성되어야 하는 시간과, 메시지가 통신되고 있다는 것을 알기 위하여 양 당사자는 모두 동의된 스트림(들)을 모니터할 할 필요가 있다. 또한, 이제 앨리스와 밥 사이의 각각의 교환은 즉석에서 생성된 상이한 키를 이용하여 암호화될 수 있다는 점에 주목하라. 공격자가 키 중 어느 하나를 얻을 수 있다 하더라도, 그것은 즉시 쓸 수 있는 메시지에 대하여만 좋다.
다른 예에서, 앨리스와 밥은 실제로 인증 신호(210)를 전송함으로써 공진기(100)에 진정으로 커플링된 것과 독립성을 확인한 수 있고, 일례에서 단지 자신들의 사용자 스트림(204)의 허위 덧셈일 수 있으며 이를 스트림(102)에 비교할 수 있다. 어느 쪽이든 독립적이면서 다른 것과 분리된 인증 신호(210)를 전송할 수 있다. 공진기(100)가 손상되었다면, 한쪽 또는 양쪽은 실제 스트림(102)을 재구성할 때 비랜덤(non-random) 신호를 볼 것이다. 앨리스 및/또는 밥은 또한 자신들의 사용자 시퀀스(205)를 전송하기 전에 단지 일련의 확인 신호(210)(랜덤 디지트)를 전송함으로써 자신들의 통신을 더 난독화할 수 있다. 이것은 키 생성을 위한 트리거로서 공진기에 대한 연결을 그냥 찾는 해커를 혼란스럽게 할 수 있다.
앞의 예를 바탕으로, 도 8은 또 다른 RC 예를 도시한다. 암호화 연결 캐스케이딩(Connection Cascading)이라고 알려진 이 특징은 통신하기 원하는 신뢰할 수 있는 사용자 사이에 상호 연결이 구축되는 그룹 암호화 특성이다. 사용자(200) 사이의 고유한 단계 시퀀스는 낮은 암호화 데이터의 작은 부분들을 교환하여 강력한 암호화 공진 상태로 눈덩이식으로 커지게 하기 위하여 형성될 수 있다.
간단한 예에서, 그룹의 제1 멤버인 앨리스(202A)가 2개의 비콘 공진기(100A-1, 100A-2)가 그룹을 위한 통신을 암호화하는데 사용될 수 있다고 알리는 원형 모델이 사용될 수 있다. 앨리스(202A)는 자신의 사용자 스트림을 2개의 공개 스트림(102A-1, 102A-2)과 결합하여 밥(202B)과 접촉할 수 있다. 밥(202B)은 이 새로운 채널을 확인하기 위하여 자신의 사용자 스트림(204B)을 추가함으로써 앨리스(202A)에 응답하지만, 또한 그룹을 위하여 공개 스트림(102A-1, 102A-2)을 어떻게 결합하는지에 대하여 새로운 명령을 찰리(202C)에 송신한다. 이 과정은 그룹의 모든 사용자들 사이에서(조이(Zoe)(202Z)까지로 도시됨) 이들의 개인 생성기(206)의 각각에 의해 생성된 모두의 사용자 스트림(204)이 공개 스트림(102A-1, 102A-2) 및 모든 사용자(앨리스에서 조이까지)와 통합될 때까지 반복된다.
또한, 공진기(100)의 캐스케이드는 네트워크(300) 내에서 교란을 생성하기 위하여 사용자(200)에 독립적으로 구축될 수 있다. 이것은 공진기(100)의 새로운 스트림을 도입하거나 공진기(100)의 임의의 네트워킹된 연결 그룹의 상태를 변경하는데 사용될 수 있다. 이것은 네트워킹된 그룹 내에서 임의의 개수의 손상된 요소의 영향을 감소시키기 위한 추가 보안 기준으로서 사용될 수 있다.
임의의 암호화-공진기(100A, 100B, 100C 등)가 갖는 문제점은 하나 이상의 공진기(100)가 고의적으로 또는 설계 부족으로 충분히 "랜덤(random)"이 아니라는 것일 수 있다는 것이다. 도 9는 재귀 암호화(Recursive Cryptography)의 일례를 도시한다. 재귀는 이전 스트림(108)을 무작위 방식으로 라이브 스트림(102)에 삽입함으로써 현재/장래 스트림(102)을 이전 스트림(108)과 결합하는 것이다. 예들은 현재 라이브 스트림(102)으로부터 역사 상의(historical) 스트림(108)까지의 시간 및 거리 동안 임의의 개수의 방식으로 성취될 수 있다. 이 역사 상의 스트림(108)의 라이브 스트림(102)으로의 삽입은 실시간으로 수행될 수 있거나, 역사 상의 스트림(108)의 라이브 스트림(102)으로의 무작위 살포(random interspersion)를 통해 성취될 수 있다. 이것은, 예를 들어, 의사 숫자 생성기가 약하고 아마도 손상되었을 때 재귀 생성기(110)로부터의 재귀 스트림(112)을 복잡하게 하고 램덤화한다. 일부 칩셋 및 알고리즘이 이 결함으로 시달리는 것으로 관찰되었으며, 이는, 이상적으로는 네트워크(300) 내의 다수 공진기(100)로부터, 재귀를 이용하여 어느 정도 약화될 수 있다. 또한, 암호화 재귀는, 인가되지 않은 사용자에게 다르게 보이면서, 동일한 신호를 반복적으로 재송신하는데 사용될 수 있다. 이것은, 이들의 장치가 꺼져 있거나 일시적으로 기능 장애를 가지기 때문에, 전술한 호출 예에서와 같이, 암호화 신호가 목표 사용자에 "핑(ping)"하지 않는 상황에서 유용할 수 있다. 반복되는 신호는 목표 사용자에 의해 검출될 때까지 여전히 존재하지만, 다른 자에게는 난독화되며, 명백하게는 재귀 공진기(111)로부터의 보통의 전개되는 난수 시퀀스이다.
결함 있거나 또는 아마도 손상된 공진기(100)를 완화하기 위한 기술의 다른 예는 재결합 암호화(Recombinant Cryptography)일 수 있다. 예들은 다수의 공진기(100)로부터의 다수의 스트림(102)을 새롭고 고유한 스트림인 재결합 스트림(114)으로 결합한다. 이것은 시간에 따라 임의의 이전 비랜덤 요소를 확산시킬 수 있다. 도 10은 재결합 스트림(114)을 형성하는 일례를 도시한다. 비콘 공진기(100A-1, 100A-2, ... 100A-n)로부터의 공개 스트림(102A-1, 102A-2, ... 102A-n)이, 말하자면 서버에 의해, 수집되고, 도시된 예에서 제1 스트림(102A-1)에 32.75를 곱하고, 제2 스트림(102A-2)에 1.223을 곱하고, 제n 스트림(102A-m)에 11,972를 곱하는 것인 하나 또는 고유의 함수(f(n)A-1, f(n)A-2 ... f(n)A-n)를 수행하다. 이것은 수정 스트림(102A-1', 102A-2' ... 102A-n')을 형성하며, 이들은 그 다음 재결합 함수 Frc(n)를 이용하여 결합되어, 이어서, 예를 들어 라디오 공진기(100B)를 통해, 재결합 스트림(114)을 브로드캐스트한다. 이 예에서, 재결합 함수 Frc(n)는 수정 스트림의 각각의 합이며, 각각의 스트림은 함수에 의해 다시 곱해진다. 임의의 함수(f(n)A-1, f(n)A-2 ... f(n)A-n, Frc(n))는 기본적인 수학 함수(덧셈, 뺄셈, 곱셈, 나눗셈, 지수, 팩토리얼 등)를 이용하여 적용되는 정수 상수와 같이 간단할 수 있거나 또는 복소수와 무리수를 포함하는 복잡한 대수 계산일 수 있다.
실제 비교에서, 재결합 암호화는 다수의 유사한 가스를 큰 가스 챔버로 결합하여, 이에 따라 제품 가스를 혼합하고 개별 성분을 식별하는 것을 더 어렵게 만드는 것과 유사하다. 다른 예들은 재결합 암호화를 재귀 암호화와 병합할 수 있으며, 이것은 임의의 비랜덤 스트림을 효율적으로 제거할 수 있다. 이것은, 혼합물을 더 복잡하게 하기 위하여 원래 가스의 일부를 혼합되지 않게 남겨두면서, 가변하는 부피를 갖는 2개의 가스를 결합하고 완전히 새로운 분자 가스를 생성하는 것과 유사하다. 이것은 이상적으로 된 가스에 일반화된 질량 분광 분석을 하는 것과 다르지 않는 일종의 계산 문제를 만든다 - 계산 자원과 노력 없이는, 새로운 암호화 스트림의 공급 원료에 대하여, 평형 상태에 있지 않고, 균질하지 않으며, 항상성 상태에 있지 않은 이러한 종류의 가스의 성분을 식별하고 해체하는 것은 어렵다. 또한, 이 시스템이 많은 것이 한 번만 보이고 결코 다시 보이지 않을 것인 무궁무진한 개수의 새로운 요소와 분자를 갖는 것과 유사하기 때문에, 기본적인 분광 분석보다 기본적으로 더욱 복잡하다. 따라서, 이것이 동적이고 시간에 따라 전개하기 때문에, 특징 및 패턴/주파수 분석에 내성이 있다.
공진기(100) 스트림(102)을 결합하거나 수정하기 위한 다른 변형예는 시간 이동 암호화(Time Travel Cryptography)이다. 도 11에 도시된 이 예는 임의의 라이브 데이터 세트가 임의의 조합의 암호화-공진기(100)를 통해 끊임없이 재순환되는 연속 재암호화 스킴일 수 있다. 예를 들어, 사설 데이터 스프레드시트(302)가 온라인에 배치되어 웹사이트를 접하는 공중을 통해 사용 가능하게 될 수 있어, 이에 따라 공개 데이터 스프레드시트(304)가 될 수 있다. 하나 이상의 데이터 엔트리(Vxy)(x 및 y는 각각 값의 로우(row)와 컬럼(column)이다)는 시간 이동 암호화를 이용하여 암호화될 수 있고, 암호화된 데이터 엔트리(Vxy')는 사이클 또는 스케쥴에 따라 연속적으로 변경된다 - 개별적으로 또는 전체적으로. 도시된 바와 같이, 함수(Ftt(n))는 각각의 데이터 엔트리의 암호화된 값(Vxy')을 좌우한다. 암호화된 값(Vxy')은 스트림(102)에서 각각의 통과하는 디지트에 따라 변경될 수 있거나, 또는 일부 정적이거나 돌아가는 시간 테이블(rolling table)에서 재암호화된다(따라서, "시간 이동(time travel)"). 또한, 각각의 데이터 엔트리(Vxy)는 다른 간단하거나 복잡한 함수를 이용하여 암호화될 수 있다.
따라서, 데이터 엔트리(Vxy)는 데이터가 임의의 암호화 스트림으로 전개됨에 따라 암호화된 데이터 엔트리(Vxy')를 여전히 변화시켜 시간 경과에 따라 흐른다. 또한, 악의적인 행위자에 의해 제어되거나 손상된 암호화 스트림의 임의의 과거 손상으로부터 라이브 공개 데이터를 격리한다. 이 모델은 라이브 스트림을 디코딩하려고 시도하는 누군가가 오랜 기간 동안 모든 변화하는 데이터를 기록하도록 강제하는 한편, 이 데이터의 암호화를 지원하는 모든 의심되는 라이브 공진 암호화 스트림에 대해서도 그렇게 한다. 이것은 인가된 사용자가 공개된 동일한 데이터에 쉽게 액세스할 수 있도록 하면서 적의 자원을 고갈시킨다. 또한, 이는 즉석에서 신속하게 수정될 수 있다.
본 발명의 또 다른 예는 고스트(ghost) 공진기(114)에 의해 생성된 디지트의 비랜덤 열(string)인 "고스트" 스트림(212)을 공진기 스트림(102)에 도입하여 고스트 매입 스트림(들)(116)을 형성하는 것을 포함한다. 사용자(200)는 고스트 매입 스트림(들)(116)을 수학적으로 조작할 필요가 없으며, 고스트 스트림(212) 자체가 통신이다. 고스트 스트림(212)을 읽기 위하여, 사용자는 고스트 매입 스트림(들)(116)으로부터 고스트 스트림(212)을 추출하고 메시지를 읽기 위하여 "고스트" 필터(214)를 가질 수 있다.
고스트 스트림(112)은 고스트 공진기(114)로부터의 스트림(들)(102)으로 랜덤 정보를 외견상으로 매입함으로써 임의의 공진기 스트림(102)으로 도입될 수 있다. 고스트 스트림(212)은 이를 보거나 캡쳐하기 위하여 고스트 필터(214)를 이용하는 인가된 사용자(200)에 의해 인식되어 사용될 수 있다. 고스트 스트림(212)은 표면에서 보통의 공진기 스트림(102)과 동일하게 보이는 정보의 병렬 흐름을 위한 캐리어 신호 역할을 하도록 고스트 매입 스트림(116)을 형성하기 위하여 공진기 스트림(102)을 사용한다.
도 12a는 상술한 것과, 앨리스와 밥(202A, 202B) 사이의 통신의 일례를 도시한다. 앨리스(202A)는 밥(202B)에게 메시지를 전송하기 원하고, 그 메시지를 자신의 고스트 공진기(114)에 입력한다. 고스트 공진기(114)는 그 다음 메시지의 부분들을 평문 메시지에 삽입한다. 이것은 정적 메시지(이제 인코딩된 메시지(106)처럼 행동한다)일 수 있거나, 예를 들어, 하나 이상의 고스트 매입 스트림(116)을 형성하기 위하여 하나 이상의 공진기 스트림(102)으로 삽입된다. 밥(202B)은 메시지(106)를 로딩하거나 또는 스트림(116)을 기록하고, 필터(214)를 적용하며, 문자를 읽는다.
도 12b는 다른 예를 도시한다. 상술한 바로 돌아가면, 앨리스(202A)는 밥(202B)에게 메시지 "hello"를 전송하기 원하고, 이는 알파벳에서의 위치에 의해 숫자로 변환될 때 8-4-12-12-15이다. 앨리스의 고스트 공진기(114)는 3개의 비콘 공진기(100A-1, 100A-2, 100A-3)와 통신하고, 고스트 스트림(212)(본 예에서 84121215이다)을 이들의 다수의 스트림(102A-1, 102A-2, 102A-3)으로 삽입하여 다수의 고스트 매입 스트림(116A-1, 116A-2, 116A-3)을 형성하는 작업을 시작한다. 밥(202B)은 고스트 필터(214)를 적용하고, 고스트 매입 스트림(116A-1, 116A-2, 116A-3)으로부터 고스트 스트림(212)을 추출하고, 앨리스의 "hello"를 수신한다.
고스트 암호화는, 일례에서, 메시지가 단지 매우 작은 부분으로 분할되어 하나 이상의 스트림을 통해 단편적으로 전송되고 그 내에 숨겨진 명문으로 전송되기 때문에, 전술한 얽힌 암호화로부터 구별될 수 있다. 종이와 펜의 예에서, "hello"를 이용하여, 이전 형태의 암호화 교환은 한 글자를 다른 글자로 교환하며, 메시지를 해독하기 위하여는 키를 알아야만 한다. 전술한 것에서와 같이, 앨리스는 종이의 일부분에 "imsmu"(문자로 다시 변환되는 9-13-19-13-21))를 쓰고 이를 밥에게 건낸다. 밥이 키를 가진 유일한 자이기 때문에, 밥만이 메시지를 안다. 메시지를 가로채는 자는 누구나 이것이 암호화되었다고 안다. 고스트 암호화는 다르게 행동한다. 앨리스는, 밥에게 "imsmu"를 전송하는 대신에 다음의 메모를 밥에게 써 보낸다:
"Height OK, everything on schedule, well is dry, and we are out of ink."
모든 관찰자에게, 이것은 평범한 문자 통신이지만, 밥은 종이와 펜의 경우에 글자 위치가 주목되는 오버레이와 같이 간단할 수 있는 필터를 적용하며, 다음과 같이 필터링할 수 있다:
" H eight OK, e verything on schedule, we ll is dry, and we are o ut of ink."
종이와 잉크의 경우에 차이를 강조하지만, 공진 스트림(102)을 이용하는 것은 훨씬 더 강력하다. 스트림의 예에서, 앨리스는 실제로 3개의 동시적인 "메모"(각각의 비콘(102)으로부터 하나)을 밥에게 전송하였고, 밥은 세 개 모두로부터 메시지를 추출하였다. 임의의 개수의 비콘이 선택될 수 있다는 점에 주목하라.
임의의 이전 예의 암호화 강도(strength)를 증가시키기 위하여, 다수의 예가 서로 쌓여서 층을 이룰 수 있다. 예를 들어, 메시지가 암호화되면, 이는 또한 고스트화될 수 있다. 인커밍 메시지의 상대방을 통지하는 것이 한 세트의 공진기로부터의 스트림을 이용하여 발생하는 프로토콜이 개발될 수 있고, 암호화 키가 제2의 독립적이거나 부분적으로 독립적인 세트의 공진기 스트림을 이용하여 즉석에서 형성되고, 암호화된 메시지가 제3 세트의 공진기를 통해 고스트화된다. 그 프로토콜을 개발하기 위하여 현대의 컴퓨팅을 이용하는 것은 상대적으로 간단하지만, 악의적인 행위자는 이러한 코딩 프로토콜을 크래킹하기 위한 자원을 거의 가지지 않는다.
본 발명의 다른 특징은 체크포인트 암호화(Checkpoint Cryptography)이다. 공진기(100)의 로컬 지오펜스(geofence) 네트워크(302)가 다른 공개 또는 사설 공진기(100A, 100B, 100C) 또는 이들의 네트워크로부터 분리되도록 배치되어, 지오펜싱된 공간에서 사용자를 위한 암호화 경계선으로서 사용될 수 있다. 지오펜스는, 본 명세서에서 넓은 의미로, 사용자 그룹 주위의 물리적이거나 논리적인 경계일 수 있다. 더 좁은 정의는 관리 목적으로 사용되는 물리적인 지리적 영역 주위의 가상 장벽(barrier)이다. 여기에서, 정의는 지리적으로 글로벌로 분산될 수 있지만 동일한 지오펜스 네트워크(302)에 액세스할 수 있는 연결된 사용자들의 논리적 풀(pool)과 같은 가상 도메인 위로의 장벽을 포함하도록 확장된다.
일례에서, 일련의 로컬 암호화 공진기(100D)가 LAN과 마찬가지인 임의의 통신 네트워크(300)로부터 이상적으로 분리된다. 이 로컬 암호화 공진기(100D)는 사용자(200) 그룹을 지오펜싱하고 이들의 로컬화된 네트워크 통신을 보호하는데 사용되는 지오펜스 영역(304)을 형성할 수 있다. 로컬 암호화 공진기(100D)에 대한 사용자의 물리적 또는 논리적 근접성이 지오펜스 영역 (304)의 한계를 넘어서 확장되는 경우, 일례에서, 로컬 암호화 공진기(100D)의 신호 범위를 넘어서 가는 경우, 사용자(200)는 그룹의 암호화된 통신에 실질적으로 액세스하지 못한다. 예들은 지오펜스 영역(304)이 중첩하여 인가된 사용자에 대한 액세스의 복잡한 작업 공간을 생성할 수 있게 한다.
도 13은 체크포인트 암호화의 일부 예를 도시한다. 본 예에서, 지오펜스 영역 알파(304A)와 지오펜스 영역 베타(304B)인 2개의 지오펜스 영역(304)이 있다. 사용자(200-1, 200-2, 2003-3 및 203-4)는 로컬 암호화 공진기 알파(100D-1)에 대한 자신의 근접성에 기초하여 지오펜스 영역 알파(304A) 내부에 있다. 지오펜스 영역 알파(304A) 내부의 사용자(200)는 단지 서버 알파(10A)에만 액세스하도록 허용된다. 이 예에서, 서버 알파(10A)는 어떠한 외부 네트워크(300), 즉 인터넷에 연결되지 않지만("에어 갭형(air gapped)"인 것으로도 알려짐), 지오펜스 네트워크(302)에만 연결된다.
다른 곳에서, 사용자(200-11, 200-12, 200-13 및 200-14)는 로컬 암호화 공진기(10OD-1) 및 로컬 암호화 공진기(100B-2)에 대한 자신의 근접성에 기초하여 지오펜스 영역 베타(304B) 내부에 있다. 사용자(200-11, 200-12, 200-13, 200-14)는 서버 베타(10B)에만 액세스하도록 허용된다. 사용자가 지오펜스 영역 알파(304A)에서 제외 된 로컬 암호화 공진기 알파(lOOD-1)의 신호를 수신할 수 없다는 점에 주목하라. 양 세트의 사용자들(200-1, 200-2, 200-3, 200-4, 200-11, 200-12, 200-13, 200-14)은 데이터 허브(12)에 액세스하도록 허용된다.
사용자(200-3, 200-4, 200-12 및 200-14)는 자신의 해당하는 지오펜스 영역(304A, 304B)의 내부에 있지만, 인터넷 연결을 갖지 않는다는 점에 주목하라. 이 예에서, 외부 네트워크(300) 연결은 사용자(200)가 지오펜스 영역(304A, 304B) "내부에" 있는지 아닌지에 영향을 미치지 않는다. 다른 예는 지오펜스 영역(304)에 있기 위한 요건의 일부로서 사용자의 외부 네트워크 연결을 고려할 수 있다. 예를 들어, 지오펜스 영역 알파(304A)에서, 서버 알파(10A)가 에어 갭되기 때문에, 사용자(200-1 및 200-2)가 인터넷(또는 임의의 다른 비보안 네트워크(300))에 연결된다는 사실은 서버 알파(10A)를 액세스하는 것으로부터 이들을 실격시킬 수 있어, 이에 따라, 이들이 로컬 암호화 공진기 알파(100D-1)로부터 스트림(102)을 수신할 수 있다 하더라도, 이들을 지오펜스 영역 알파(304A)에서 제외한다.
로컬 암호화 공진기(100D)로부터 스트림(102)을 "수신하는" 물리적 행위는 단지 지오펜스 영역(304)에 있는 것의 필수 요건이 아니라는 점에 주목하라. 공진기 스트림(102)은 여전히 암호 텍스트 및 암호 키(104)를 생성하는데 사용된다. 로컬 암호화 공진기(100D)의 특정 스트림(및 이를 사용하는 방법에 대한 정보)에 대한 액세스가 없이, "외부" 사용자는, 본질적으로, 지오펜스 영역(304)에서 데이터를 보호하는데 사용되는 OTP에 액세스하지 못한다. 따라서, 로컬 암호화 공진기(100D)에 근접한 임의의 사용자(200)는 자신이 이 지오펜스/암호화 펜스(cryptofence) 내부에서 해독할 수 있는 암호 텍스트를 전송하고 수신할 수 있다. 암호화 펜스의 경계는 로컬 암호화 공진기(100D)에 대한 신호 손실이 - 암호 텍스트가 그럭저럭 사용 가능하더라도 - 암호문을 해독하기 위한 능력을 잃어버리는 것과 동일한 체크포인트(따라서 이름) 역할을 한다.
물리적 근접을 필요로 하는 예는 신호의 0이 아닌 이동 시간이 간섭성(coherence)을 설정하는데 사용될 수 있기 때문에, WiFi 네트워크에서 구현하기에 하찮을 수 있다. 원거리 사용자(200)는 비-중계기(non-repeater) 네트워크에서도 대기 시간(latency)을 경험할 수 있다. 지오펜스 영역(304) 내의 다수의 신호의 간섭성 부가는 신호 타이밍이 로컬 암호화 공진기(100D)의 성상도로부터 소정의 정의된 물리적 거리에 대해 동일하기 때문에 쉽게 성취된다. 추가 포인터 또는 리피터로부터 신호를 캡쳐하는 것은 지오펜스 내부의 신호 조합의 상관 관계를 재생성할 수 없다.
시간 서명이 이 프레임워크 내에서 로컬 암호화 공진기(100D) 신호에 포함되는 추가적인 구조가 로컬 지오펜스에 대하여 성취될 수 있다. 이 예에서, 물리적 근접성은, 버퍼링된 신호가 지오펜싱된 사용자의 그룹 내에서 설정되고 캡쳐된 후에 타이밍이 전자적으로 동기화될 수 있기 때문에, 문제가 아니다.
위에서 설명된 암호화 스킴의 다양한 예를 고려하면, 이는 다른 암호화 솔루션 및 구성의 전체 호스트로 이어지고 이러한 솔루션 중 하나는 앰버 암호화(Amber Cryptography)이다. 이 솔루션은 휴지 중인(at rest) 임의의 정적으로 암호화된 데이터 및 수반하는 해독 키가 개별적으로 저장되어 장래에 신뢰할 수 있는 사용자가 사용할 수 있게 한다. 솔루션은, 효과적으로는, 시간에 따라 진화하거나 변경되지 않는 고정된 양의 암호화된 데이터의 시간에 있어서의 스냅샷이 될 수 있다. 데이터는, 이를 생성하는데 사용된 정확한 공진 암호화 스트림(102)이 과거에 파괴되었고 신뢰할 수 있는 사용자(200)에 의해서만 보존되었기 때문에, 공개 도메인에 저장될 수 있다. 단지 이러한 사용자들만이 이 앰버형(amber-like) 상태에서 저장된 데이터를 읽을 수 있다.
도 14는 앰버 스토리지(216)가 하나 이상의 암호화 공진기(100A, 100B, 100C)의 하나 이상의 스트림(102A, 102B, 102C)을 특정 시간에 기록할 수 있는 것을 도시한다. 일례에서, 시간은 데이터가 암호화된 시간에 선택될 수 있다. 이 스트림 세그먼트들은 원시(raw) 세그먼트, 딸 스트림(208) 세그먼트 또는 키 자체로서 저장될 수 있다. 원시 스트림 또는 딸 스트림으로서 저장될 때, 상이한 암호화 알고리즘이 저장된 스트림에 적용될 수 있어, 각각의 세트가 동일한 키를 공유하지 않고 하나의 앰버 스토리지(216)가 암호화된 데이터의 다수의 세트를 서비스할 수 있게 한다. 앰버 스토리지는 임의의 형태 또는 자기 또는 솔리드 스테이트 메모리, 자기 테이프, 광 스토리지 등을 포함하는 임의의 비일시적인 메모리 일 수 있다. 앰버 스토리지(216)는 하나 이상의 사용자에 의해 소유되는 하나 이상의 스토리지 장치일 수 있다. 다수의 "키" 상황에서, 이는 키가 아니라 필요한 앰버 보관형 스트림(amber archived stream)일 수 있다. 도 14에서, 예는, 별도의 사용자가 별도의 스트림의 각각을 저장하지만 암호화 알고리즘이 데이터를 암호화하기 위하여 3개의 스트림을 모두 사용한 것일 수 있다. 이제 어느 한 사용자도 혼자서 데이터를 해독하기 위한 충분한 스트림을 가지지 않는다. 사용자는 그 자체로는 키를 가지지 않지만, 키를 생성하는데 필요한 데이터의 일부를 가진다. 이것은, 악의적인 행위자가 필요한 스트림의 전부를 수집할 수 있더라도, 키를 여전히 가지지 않기 때문에 중요하며, 여전히 암호화 알고리즘을 알아야 할 필요가 있다. 따라서, 추가 보안을 위하여, 단지 제4 사용자만이 알고리즘을 가질 수 있다.
앰버 암호화 솔루션은 공개 도메인에서 큰 암호화된 파일을 포스팅하는 것과 다르지 않고, 아무나 이를 다운로드할 수 있지만, 키를 가진 자만이 이를 열 수 있다. 일례에서, "키"는 반복하지 않는 공유의 공진기 스트림 조합이지만, 이를 캡쳐한 자에 의해 언제든지 배포될 수 있다. 또한, 키(104)는 단일 마스터 키를 생성하기 위하여 다른 사용자들에 의해 유지되는 다수의 키의 조합일 수 있다 - 이것은 이를 열기 위하여 일제히 동작하는 여러 키를 필요로 하는 금고를 생성하는 것과 유사하다. 이러한 키(104)는 많은 신뢰할 수 있는 사용자에 의해 유지될 수 있으며, 이들 모두가 동시에 데이터를 해독하는데 동의하는 것이 필요하다.
전술한 예를 확장하면, RC 네트워크와 개별 공진기(100)의 조합은 암호화 매니폴드(Crypto Manifold)를 형성할 수 있다. 전역적으로, 가장 큰 구조는 암호화 매니폴드(CM)이고, 이는 암호화 초공간(superspace)을 형성하기 위하여 연결될 수 있다. 각각의 암호화 매니폴드는 별개의 가상 표면을 형성하기 위하여 다른 공진기 또는 네트워크에 연결될 수 있는 공진기(100) 및 연결된 네트워크의 집합으로서 로컬로 정의된다. 표면은 임의의 매니폴드의 디멘젼과 유시한 임의의 개수의 유효 디멘젼(n)을 가질 수 있다. 각각의 연결은 OTP를 스트리밍하기 위한 잠재적인 액세스 포인트이다. 암호화 매니폴드에서의 포인트는 물리적 근접성에 의해 제한되지 않는다. 예를 들어, 단일 암호화 매니폴드는 하드웨어 및 소프트웨어 플랫폼 모두로부터 스트리밍하는 육상 및 해저 공진기(100)에 연결된 궤도를 선회하는 위성 기반 공진기(100)의 연결된 집합일 수 있다. 병렬 구조를 갖는 제2의 유사한 매니폴드는 제1 매니폴드에 인접하게 놓일 수 있지만, 단지 교차 포인트만을 가지거나 또는 직접적인 위성 연결 및 통신을 통해서 중첩한다. 2개의 암호화 매니폴드 사이에 내부 포인트들이 임의의 하나의 사용자에 의해 도달될 수 없지만, 이들은 여전히 정보를 교환하고 교차 포인트에 의해 공진할 수 있다.
CM은 가상적이거나 물리적인 생성하는 네트워크의 위상적 요구 사항에 의해서만 제한되는 임의의 매니폴드의 수학적 프레임워크를 가정할 수 있다. 암호화 네트워크를 형성하는 CM의 집합은 시간이 지남에 따라 프랙탈이되거나, 계층적이거나 또는 혼란 상태에 있는 것일 수 있다. CM은 이것이 서비스하는 장치 공동체의 암호화 요구를 서비스하기 위하여 자연적으로 또는 의도적으로 발생할 수 있다. 따라서, 가장 큰 시작 CM은 딸 매니폴드에 포함되고 궁극적으로 이에 의해 대체되어, 스스로 새로운 CM이 될 수 있다. CM의 계층 구조가 프랙탈이되거나, 가능하게는 원래 포인트에 독립적으로, 새로운 혼란스러운 네트워크를 생성할 수 있다. 중요한 점은 CM은 임의의 차원의 다중 연결된 그래프를 지원할 수 있다는 것이다. 이와 같이, 가장 큰 스케일로부터 가장 작은 스케일까지, CM은 RC 시스템의 모든 가능한 징후를 포괄한다. 다시 말하지만, 이는 단순히 IP 기반 네트워크나 이의 디지털 변형이 아닌 임의의 수단에 의한 통신이다. 예를 들어, RC 생성 신호는 임의의 유형의 데이터를 송신하기 위해 위상 또는 직교 변조, 차동 부호화 및 다른 스킴을 사용하여 생성될 수 있다.
또한, 본 발명을 이용하여, 암호화 대칭 브레이킹(Crypto Symmetry Breaking)이 사용 가능하다. 이것은 사용자(200)가 서로 안전하게 통신할 수 있게 하고, 임의의 침입자는 대화를 "듣기" 원한다. 이 상황에서, 공진기(100)와 사용자(200)의 동적 시스템의 대칭 암호화 상태는 초기에 서로 연결되거나 "커플링된(coupled)" 장치가 없다는 것이다. 여기에서, 동적이라는 것의 의미는 공진기(100)와 사용자(200)가 서로 상호 작용하는 능력을 가진다는 것을 의미한다. 사용자(200)가 단순히 수동적으로 공진기 스트림(102)을 듣는 것이 아니라 이를 이용한다는 것을 의미한다. 이는, 전술한 예에서 주목되는 바와 같이, 공개 스트림(102) 및 다른 사용자(200)에 속하는 것의 상태를 변경하기 위하여 자신의 개인 스트림(204)을 사용한다.
이 시스템에서 그리고 단순함을 위하여, 모든 장치는 모든 스트림(102) 및 다른 장치에 액세스할 수 있고, 연결할지 여부를 선택할 수 있다. (물론, 이것은 그럴 필요는 없고, 임의의 더 많은 일반적인 조합이 동등하게 허용 가능하다.) 깨진 대칭 상태는 임의의 사용자 그룹이 서로 연결되고 임의의 개수의 공진기(100)에 커플링되어 통신을 안전하게 시작하도록 결정할 때이다. 이 시스템의 모든 가능한 혼합의 암호화 네트워크는 이 보안 세션을 위하여 하나의 특정 구성으로 축소된다. 이것은 세션을 위하여 사용될 동적 알고리즘을 포함한다. 각각의 추가 사용자가 합류하기 원하면, 보안 네트워크는 가시적이 되고 통신하기 시작하기 위하여 이를 방해하여야 한다. 이러한 방해는 통신의 구성을 새로운 깨어진 대칭 상태로 변경하여, 본질적으로 모든 멤버에게 새로운 사용자의 존재 및 보안 교환에 참여하는 가용성을 경고한다. 또한, 이를 보호하기 위하여 사용되는 암호화에 참여하지 않고서는 아무도 명문 텍스트 통신을 수집할 수 없기 때문에, 이는 또한 도청(eavesdropping)을 방지한다.
이 특성은 2가지 이유로 중요하며, 그 중 하나는 양자(quantum) 통신의 기반이다. 보안 통신기(communicator)는 해독된 신호의 임의의 부분이 새로운 사용자에게 사용 가능하게 되는 때를 즉시 알 수 있을 것이다 - 이와 달리 암호화되지 않은 신호를 수동으로 캡쳐하는 방식은 없다. 어떤 것을 보고/듣고/읽는 것은 검출 가능한 방식으로 시스템에 커플링하는 것을 필요로 하며, 따라서, 이를 새로운 "깨진 대칭" 상태로 교란시킨다. 두 번째로, 대칭 상태 및 깨진 상태는 모두, 임의의 정보를 송신하기 전에, 임의의 보안 네트워크의 인증 및 유효성 검사를 위하여 사용될 수 있다. 사용자 그룹이 서로 그리고 선택된 공진기(100)에 모두 연결될 수 없는 경우, 이들은 인가되거나 상호 신뢰할 수 있는 사용자가 아니다. 어느 정도 나쁜 행위자가 언제든지 그룹에 자신을 넣으려고 하면, 깨진 대칭을 불안정하게 만들 것이고 누구도 아무 것도 볼 수 없게 된다. 통신은 비밀스럽게 되고 그룹은 해킹된 공진기(100) 또는 사용자 장치(103)와 같이 시도된 입력 포인트를 제외한 새로운 보안 세션을 초기화한다.
전술한 예는 암호화 수렴(Crypto Convergence)과 유사한 하나 이상의 암호화 개념으로 축소될 수 있다는 점에 주목하라. 이는, 사설 공진기(예를 들어, 라디오(100B) 및/또는 보안 100C 공진기)에 대한 액세스가 없는 매우 공개된 공진기 네트워크(예를 들어, 비콘(100A) 및/또는 라디오(100B) 공진기)에서 예들이 위에서 보여준 것과 같이, 사용자 그룹이 다수의 공개 스트림(102A) 및 자신의 장치가 생성한 스트림(204)에 대한 액세스를 공유하여 자신의 장치의 신뢰에 구축된 고유의 임시 사설 스트림을 생성할 수 있다는 것이다 - 이는 자신의 신원을 공개하거나 아니면 자신의 신뢰성을 보증하기 원할 수 있다. 이는 그룹 내의 임의의 하나의 장치에서의 소프트웨어에서 또는 모래상자화된(sandboxed) 클라우드 환경에서 수행될 수 있다. 이 수렴된 스트림은 전체 그룹을 보안하고 공개 공진기(100A, 100B)에 대한 임의의 불신을 극복하는 것(예를 들어, 해킹되어 비랜덤 디지트로 손상된 경우) 이외에도 여러 용도를 가진다. 사용자(200)의 서브 그룹이 수렴된 스트림으로부터 임의의 하나의 사용자의 스트림을 빼고, 가능하게는 상이한 알고리즘을 이용하여, 설정될 수 있다. 이것은 암호화를 액세스하기 위하여 가상 만남 공간을 형성함으로써 새로운 공동체 자원을 가지는 것과 유사하다. 이것은 격자 또는 위상 공간을 형성할 수 있는 유사한 수렴 포인트의 더 큰 구조 또는 네트워크를 생성하기 위한 기초이다 - 이것은 모든 주요 공진기(100)가 불량이더라도 수행될 수 있다. 이 가상 환경은 수렴 포인트의 가능한 상태를 모두 캡쳐하고 이를 동적 분산 암호화 시스템으로서 사용하는 방법이다.
이 격자의 포인트들을 통한 임의의 궤적은 사용자를 연결하거나 보안 통신 채널을 열기 위하여 스트리밍 암호화 키를 선택하는 것과 유사하다. 이는 시스템의 임의의 부분의 실패를 방지하거나, 또는 말하자면 공진기(100)의 전체 국가 또는 지리적 영역이 아래로 내려간다. 신뢰할 수 있는 암호화 스킴은 보조 가상 어플라이언스의 분산 네트워크를 사용하여 RC를 넘어서 생성될 수 있으며, 그 일부 또는 전체가 사용자 그룹에 의해 효율적으로 공증될 수 있다. 예를 들어, SSL에 대한 인증 기관은 그렇게 하기 위한 중앙 집중화된 서비스를 가지지 않고서 일반적인 IP 보안을 위해 생성될 수 있다. 비트 코인에 사용되는 블록 체인과는 달리, 누구든지 사용하는 트랜잭션 및 서명에 대한 영구적인 기록이 없으며 시간이 지남에 따라 동일한 수렴 포인트가 존재할 필요가 없다. 이는 요구에 따라 필요할 때 위 아래로 선회될 수 있다. 사용자는 포인트의 어느 하나 또는 조합을 사용하는 것에 잠겨 있지 않으며, 일부에서 신뢰를 잃을 수 있다. 중요한 점은, 이것이 영구적인 고정물이 아니며 RC 모델 내를 포함하여 단일 신뢰 포인트가 없다는 것이다.
또한, 본 발명의 예들은 암호화 계층(Crypto-hierarchy)을 제공할 수 있다는 것이다. RC의 이 특성은 동일한 데이터 세트의 많은 사용자(200)가 다양한 정도의 특권을 가질 수 있게 한다. 회사의 CEO(또는 고위 경영진)는 이 암호화 시스템 하에서 모든 것에 대한 액세스를 제공받을 수 있는 반면, 더 낮은 레벨의 피고용인은 동일한 암호화 프레임워크 내에서 더 적은 액세스를 허락받을 수 있다. 이는, 이것이 시스템의 암호화 강도를 변경하지도 않고 구현하기 위한 추가의 컴퓨팅 자원을 필요로 하지 않기 때문에 중요하다. 동일한 시스템의 RC 요소의 전부 또는 일부는 계층화된 액세스 레벨 또는 데이터에 대한 권리를 발행하는 임의의 복잡한 모델을 생성하는데 사용될 수 있다. 공진기(100)에 대한 액세스를 변경하고(예를 들어, 지오펜싱) 그리고/또는 이를 이용하여 데이터를 암호화하는데 사용되는 알고리즘을 변경함으로써, 다수의 암호화된 데이터 세트를 생성하지 않고 동일한 데이터 세트 상에 임의의 커스터마이징된 특권 시스템이 구축될 수 있다. 각각의 사용자는 전체 데이터 세트를 볼 수 있게 하는 효율적인 암호화 필터를 가져서, 원리를 알 필요성에 대한 가시성을 제안한다.
RC 시스템이 채택되면, 한 가지 문제는 악의적인 행위자에 의한 이의 사용이다. 완벽한 암호화는 이러한 행위자가 보안 통신을 역시 전송하게 하는 것이다. "좋은(good)" 정보를 보호하는 동일한 보안이 또한 법 집행이 "나쁜(bad)" 정보를 위하여 통신을 크래킹하는 것을 방지한다. 그러나, 이것은 반드시 참은 아니고, 법 집행이 악의적이 행위자의 시스템에 타진하기 위한 임의의 개수의 광범위하게 사용되는 기술이 있다. 인가된 기관이 악의적인 행위자의 장치에 물리적으로 액세스하면, 상기 프로토콜이 발견되고, 법 집행은 통신에 완전히 액세스할 수 있다. 동일한 기관이 사설 스트림을 포함하는 모든 동일한 스트림을 동시에 액세스할 수 있고, 이를 결합하는데 사용되는 알고리즘에 대한 액세스를 얻게 되면, 모든 통신을 명문으로 볼 수 있다. 이것은 알고리즘에 관하여 어떠한 것도 미리 알고 있지 않고서 현재 단순 알고리즘 및/또는 빈약한 알고리즘이 사용되는 경우에 발생한다 - 기관은 통신을 해독하기 위하여 생성된 작은 키 공간을 신속하게 탐색할 수 있다. 이것은 보통의 해커와 선량한 사람들을 막기 위해 설계된 나쁜 보안 시스템에 대한 단순한 무차별 공격이다.
RC의 기본적인 부분에서, 정보는 각각의 파라미터를 정의하는 단일 스트링을 갖는 가볍게 암호화된 메타데이터로서 송신될 수 있다 - 간단한 SHA-2 해시가 이를 성취할 수 있다. 예시적인 스트링은 다음과 같다:
[GMT에서의 시간/날짜 서명][개인 식별자][사용할 공진기 목록][사용할 공진기의 세션 조합][추가 보안 지침 세트] [기타...]
통신에서의 각각의 당사자가 지침을 교환 및 비교할 수 있거나, 한 당사자가 그렇게 할 수 있지만, 각각의 교환은 진위 여부를 확인하기 위해 동일한 해시 함수를 사용하여야 한다. 첫 번째 블록이 결코 반복되지 않을 것이고 세션 조합이 매우 복잡한 함수가 될 수 있기 때문에, 이는 본질적으로 매우 강한 충돌이다. 이는 PKI에서 오늘날 사용되는 효율적인 정적 키와는 달리 시간 및 공간에 종속적인 변수이다.
RC의 다른 잠재적인 결함에 대처할 때, 나쁜 행위자는 자신의 공진기를 만들고 배치할 수 있지만, 사용자가 메시지를 암호화할 때 자신의 공진기를 또는 자신의 공진기만을 사용할 것이라는 보장은 없다. 또한, 딸 스트림 생성 및 공진기 스트림과의 스트림의 결합의 사용을 검토할 때, 하나의 잠재적인 결함은 나쁜 행위자가 하나 이상의 공진기에게 π(또는 e 등)의 많은 부분을 대량으로 보낼 수 있다는 것이다. 수는 비반복적이고 의사 랜덤으로 무한하지만, 이의 값은 1조 자리수로 기록된다. 나쁜 행위자가 기존의 공진기를 "범람시킬(flood)" 수 없기 때문에 진정한 옵션이 아니다. 공진기는 여전히 자신의 스트림을 생성하고 있다.
해커가 공진기의 하드웨어/소프트웨어를 손상시킬 수는 있지만, - 이들이 신뢰할 수 있는 장치를 해킹하지 않는 한 - 허위 스트림을 만들어 이를 사용하는 사람들을 속일 수 없다. 공진기를 "위장(spoofing)"하는 것은 라우터를 위장하는 것과 유사하며, 이는 RC 시스템의 강도가 아니라 네트워크의 다른 절충안이다. 일례로서, 공진기는 라우터와 같은 유사한 IP 명명 규칙을 사용할 수 있다. 범죄자들은 유효한 공진기처럼 보이도록 자신의 나쁜 공진기를 배치하고 명명할 수 있지만, 은행 업무 및 유사한 목적을 위하여, 공진기의 화이트리스트가 있을 것이다. RC의 강점은 임의의 수의 불량 공진기를 사용하는 모든 사람이 알고리즘에서 하나의 유효한 공진기만 사용하여 범죄자의 해킹을 여전히 물리칠 수 있다는 것이다. 즉, 사용자가 불량 공진기 스트림(1-9)을 사용하여 암호화하지만 유효한 스트림(10)을 생성하기 위하여 보안 알고리즘을 사용하였다면, 모든 스트림(1-10)이 나쁘고 진정으로 무작위적이지 않더라도, 잘 설계된 알고리즘은 여전히 강력한 암호화를 생성한다.
따라서, 보안 통신은 이 기술을 이용하여 완전히 손상된 환경에서 여전히 가능하다. 강한 식별 키를 갖는 것을 넘어, 각각의 사용자는 공유의 알고리즘도 가질 수 있다 - 이는 생성하기에 사소한 복잡한 함수이고, 이의 무한한 변형이 있다. 이는 모든 사용자가 자산의 고유 키와 자신의 고유한 자물쇠 장치(lockset)를 획득하는 것과 유사하다 - 이들의 키 유형은 이들의 자물쇠 유형에만 맞고, 어떠한 2명의 사용자도 동일한 조합을 가지지 않는다.
또한, 역산도 가능하지 않다. 암호 해독은, 예를 들어, 블록 암호에서 동일 한 키를 반복적으로 이용하는 대형의 구조화된 데이터 세트에 가장 효과적이다. 이것은 문자 "s"와 "a"가 "q"와 "z"보다 평문에서 더 일반적이기 때문에 가능하다 - 확률 테이블은 모든 언어에 대해 잘 연구되어 있다. 사용자가 동일한 키를 다시 사용하지 않기 때문에 이 정보조차도 여기에서 유용하지 않다. 다양한 길이의 키를 생성하는 모든 공진기 스트림을 취하여 모든 다양한 길이의 암호문과 비교하고 동일한 암호 해독을 수행하는 것은 훨씬 어려운 계산 문제이다. 숫자의 분포가 0-9 사이에 거의 똑같이 분포되는 숫자를 사용할 때(말하자면, 은행 거래를 위하여), 어려움은 기하 급수적으로 커진다. 문제는 위와 동일하고, 거의 완벽한 정보가 공진기로부터 최종 사용자 알고리즘에 이르기까지 전체 시스템에 대하여 필요하다. 모든 것에 대한 부족이 없다면, 평문으로 이어진다.
은행 및 POS 거래로 돌아가면, 많은 것이 100% 공개적으로 사용 가능한 공진기 스트림을 이용할 수 있더라도, 이의 일부는 근접 장치일 수 있다 - 이는, 예를 들어, 단지 현금 등록기의 20 피트 이내로만 송신하고, 인터넷에 연결되지 않는다. 적용을 위한 다른 가입 기반 시스템은 기존 기술을 통해 배치하고 확인하기에 매우 쉽다 - RC는 단지 에너지 및 컴퓨팅 자원 비용이 거의 들지 않는 매우 강력한 암호화의 추가 레이어일 수 있다. 어느 쪽이든, 개별 애플리케이션의 메커니즘은 매우 간단하다.
얽힘과 같은 더 진보된 옵션은 각각의 장치에 고유한 방식으로 동적으로 응답한다 - 나쁜 행위자는 무엇이든 보기 위해 양단을 완전히 제어해야 하지만, 그 포인트에서, 당신이 액세스할 수 있는 모든 것을 이미 소유한다. 이들이 이미 당신의 장치를 완전히 손상시켰다면, 암호화는 통신을 보호하는 것을 도울 수 없다. 위장되거나 손상된 공진기로도 RC를 깨는데 불충분하다는 것을 기억하라. 그러나, 모든 보안과 마찬가지로, 이것은 암호 해독에 대한 가장 약한 알고리즘을 약간 열어 줄 수도 있지만, 또한 암호문이 대량으로 캡쳐되어야 하는 것을 필요로 한다. 강력한 알고리즘은, 알고리즘을 리버스 엔지니어링하기 위한 자원 수요를 크게 팽창시키는, 시간, GPS 좌표, IP 주소 등에 종속하는 동적 변수를 가질 수 있다(나쁜 행위자가 사용되는 모든 공진기 스트림과 암호문에 완전히 액세스할 수 있다고 가정하라).
도 15는 공진기(400)를 위한 기본 하드웨어 구성의 일례를 도시한다. 공진기(400)는 난수 생성기(402)를 포함할 수 있다. RNG(402)는 진정(true) 난수 생성기, 의사 난수 생성기 또는 난수 스트림의 특성을 갖는 임의의 비반복 숫자 시퀀스 중 적어도 하나를 포함할 수 있다. 전술한 바와 같이, 난수 생성기(402)는 제1 난수 스트림을 생성할 수 있다. 공진기(400)는 난수 생성기(402)에 전기적으로 커플링될 수 있는 송신기(406)를 포함할 수 있다. 송신기(406)는 적어도 무선 주파수에 의해 또는 네트워크를 통해 제1 난수 스트림(404)을 송신한다. 또한, 공진기는 아래에서 논의되는 다른 장치로부터 숫자 스트림(410)을 수신하기 위한 수신기(408)를 포함할 수 있다. 당해 기술 분야에서의 통상의 기술자는 송신기(406)와 수신기(408)가 일부 실시예에서 동일한 요소에서의 하나인 트랜스시버(transceiver)일 수 있다는 것을 이해할 것이다. 이것은 스트림(404, 410)을 전송하거나 수신하는데 필요한 임의의 처리를 포함한다.
또한, 제2 숫자 스트림(410)을 제1 난수 스트림(404)으로 통합하여 결합 스트림을 형성하기 위한 프로세서(412)와 데이터를 저장하기 위한 비일시적 공진기 메모리(414)가 포함될 수 있다. 제2 숫자 스트림(410)은 제2 공진기 또는 아래에서 논의되는 다른 사용자 장치로부터 수신될 수 있다.
도 16은 공진기(400) 및 다른 사용자 장치와 통신하는데 사용될 수 있는 통신기(500)를 도시한다. 본 발명과 연계하는 통신은 하나 이상의 공진기(400)로부터 난수 스트림을 수신하는 단계와, 통신기 숫자를 공진기(400)에 송신하는 단계와, 평문과 암호화된 통신 및 암호화 키를 생성하기 위한 알고리즘을 교환하기 위하여 다른 통신기와 통신하는 단계를 포함한다.
이러한 능력을 가능하게 하기 위하여, 통신기는 제1 스트림(404)을 수신할 수 있는 통신기 수신기(502)와, 통신기 수신기(502)에 전자적으로 연결될 수 있는 통신기 암호화 엔진(504)을 가진다. 또한, 암호화 엔진(504)은 비일시적 메모리(506)와 메모리에 전자적으로 연결된 프로세서(508)를 포함할 수 있다. 통신기 암호화 엔진(504)의 작업의 일례는 제1 스트림(404)의 적어도 일부를 읽고, 제1 스트림(404)의 일부를 암호화 키(104)로 변환하는 것일 수 있다.
다른 예에서, 시스템의 일부로서 제2 통신기 또는 추가 통신기가 있을 수 있으며, 이러한 추가 통신기는 전술한 통신기(500)보다 더 많거나 더 적은 성능을 가질 수 있다. 제1 통신기가 제2 통신기와 통신할 때, 예를 들어 앨리스가 밥과 통신할 때, 위의 많은 예에서 설명된 바와 같이, 제1 및 제2 통신기 프로세서(508)는 제1 스트림(404)의 일부를 암호화 키(104)로 독립적으로 변환하기 위하여 공통 알고리즘을 가진다. 이것은 본 발명의 하나의 이점이며, 앨리스와 밥의 어느 누구도 키를 공유하지 않고, 이들은 각각 자신의 것을 독립적으로 생성한다. 또한, 이 키는 필요할 때에만 생성되고, 따라서 저장되지 않아 장래에 데이터를 잠금 해제하도록 대기한다. 이것은 키가 송신될 필요가 없기 때문에 보안을 증가시키고, 이를 가로챌 수 없다. 또한, 이것이 각각의 데이터 세트에 대하여 즉석에서 생성되기 때문에, 오래된 키의 소유는 임의의 장래의 데이터 또는 키가 생성된 데이터가 아닌 과거의 데이터의 해독을 허용하지 않는다.
일부 하드웨어를 전술한 예에 포함시키기 위하여, 이미 언급된 바와 같이, 통신기 수신기(502)는 제2 공진기로부터 제2 숫자 스트림(416)을 수신할 수 있다. 비일시적 메모리(506)는 제2 스트림(416)의 적어도 일부를 저장할 수 있다. 그 다음, 통신기 프로세서(508)는 제2 스트림(416)의 일부를 읽고 양 부분(404, 416)을 이용하여 암호화 키(104)를 생성한다.
다른 예는 통신기(500)가 또한 통신기 숫자(510)를 생성할 수 있는 통신기 숫자 생성기(509)를 포함한다는 것이다. 통신기 숫자 생성기(509)는 전술한 바와 같은 RNG일 수 있어, 공진기(400)의 스트림으로 삽입될 랜덤 또는 의사 랜덤 스트림(410)을 생성한다. 통신기 숫자 생성기(509)는, 또한, 아래에서 논의되는 바와 같이, 메시지를 삽입하기 위하여, 통신기(500)를 식별하는데 사용되거나 또는 암호화 엔진(504)과 합동으로 사용될 수 있는 비랜덤 스트림을 생성할 수 있다.
또한, 통신기(500)는 통신기 숫자(410, 510)를 공진기(400)로 송신하는 통신기 송신기(512)를 포함할 수 있다. 공진기 수신기(408)는 통신기 숫자(410, 510)를 수신한다; 그리고, 공진기 프로세서(412)는 통신기 숫자(410, 510)를 난수 스트림(404)으로 통합하여 송신기(402)에 의해 송신될 수 있는 결합 스트림(416)을 형성할 수 있다.
전술한 다른 예에서, 통신기 숫자(510)가 결합 공진기 스트림(416)으로 삽입되면, 제2 통신기(500)는 결합 스트림(416)을 수신하고 통신기 숫자(510)를 검출할 수 있다. 일단 정보가 전달되면, 제2 통신기는 자신의 (제2) 통신기 숫자를 생성할 수 있다. 제1 통신기 숫자(510) 및 제2 통신기 숫자는 이제 공진기 스트림(404)과 결합되도록 공진기(400)로 전송되어, 송신기(402)에 의해 송신될 수 있는 제2 결합 스트림을 만들 수 있다.
RC의 또 다른 예는 스트림의 타이밍을 포함한다. 따라서, 공진기 송신기(402)는 시간 T0에 제1 스트림의 일부를 송신할 수 있다. 이 T0 제1 스트림은 제2 장치(통신기(500)와 같은) 또는 공진기(400) 자체에 의해 기록될 수 있다. 어느 장치가 이를 기록하는지 관계없이, T0 제1 스트림은 공진기 메모리(414)에 저장될 수 있다(즉, 공진기에 의해 기록되는 경우에는 이미 거기에 있거나, 또는 다른 곳에서 기록된 경우에 수신기(408)를 통해 다시 수신될 수 있다). 프로세서(412)는 이제 T0 제1 스트림을 T1에서의 제1 스트림의 일부와 결합하여, 그 다음 송신되는 재귀 스트림(112)을 형성할 수 있다.
스트림의 타이밍을 이용하는 다른 예는 적어도 값 V1을 갖는 데이터 세트(302)를 포함한다. 여기에서, 공진기(400)는 시간 T0에 제1 스트림의 일부를 송신하고, 통신기 암호화 엔진(504)은 T0 제1 스트림을 이용하여 값 V1을 암호화할 수 있다. 공진기(400)는 또한 시간 T1에 제1 스트림의 일부를 송신할 수 있다. 이것은 통신기 암호화 엔진(504)이 TO 제1 스트림을 이용하여 값 V1을 해독하고 T1 제1 스트림을 이용하여 값 V1을 재암호화할 수 있게 한다. 앰버 암호화는, 위에서 언급된 바와 같이, 스트림의 시간 세그먼트를 이용하는 다른 예이다. 앰버 비일시적 메모리는 T0 제1 스트림을 저장할 수 있고, 데이터 세트는 T0 제1 스트림을 이용하여 암호화될 수 있다.
다수의 공진기(400) 및/또는 다수의 통신기(500)를 이용하는 더 많은 예는 전술한 재결합 스트림(114)을 제공할 수 있다. 여기에서, 제2 공진기는 제2 숫자 스트림(416)을 송신하고, 통신기(500)는 제1 및 제2 스트림(414, 416)을 수신할 수 있다. 통신기 암호화 엔진(504)은 제1 및 제2 스트림(414, 416)을 결합하여 제1 통신기 송신기(512)에 의해 송신될 수 있는 재결합 스트림(114)을 형성할 수 있다. 재결합 스트림(114)은 통상적으로 재결합 스트림(114)을 형성하기 위하여 제1 통신기 암호화 엔진(504)이 일례에서 Frc(n)인 알고리즘을 제1 및 제2 스트림(414, 416)에 적용할 때 형성될 수 있다.
다른 예는 "고스트(ghost)" 통신을 제공할 수 있다. 여기에서, 제1 통신기 숫자(510)는 제1 스트림(404)과 제1 통신기 숫자(510)의 제1 시퀀스의 결합된 "고스트 스트림"(212)을 형성하기 위하여 제1 시퀀스를 이용하여 공진기(400)에 송신되는 명문(clear text) 메시지일 수 있다. 그 다음, 제2 통신기가 고스트 스트림(212)을 수신하고, 이의 암호화 엔진(504)이 고스트 스트림(212)으로부터 제1 통신기 숫자(510)를 필터링하는 제1 필터(214)를 적용한다. 임의의 개수의 공진기(400)와 이들의 스트림이 그 사이에 메시지를 분할하기 위하여 사용될 수 있다는 점에 주목하라.
또한, 지오펜싱 예가 논의될 수 있다. 여기에서, 공진기 송신기(402)는 단거리(short range) 송신기이고, 송신기 신호 범위는 지오펜스 영역(304)을 정의한다. 통신기 수신기(502)가 지오펜스 영역 내부에서 제1 숫자 스트림(404)을 수신할 때, 통신기 암호화 엔진(504)은 어떤 데이터 세트나 하드웨어가 지오펜스 영역(304)의 일부이더라도 액세스하는데 필요한 암호화 키(104)를 생성할 수 있다. 반대로, 통신기(500)가 지오펜스 영역(304) 외부에 있을 때, 예를 들어 송신기 신호를 더 이상 수신할 수 없을 때, 통신기 암호화 엔진(504)은 암호화 키(104)를 생성할 수 없다. 사용자가 적합한 공진기를 액세스할 수 없다면 암호화된 정보를 읽는데 필요한 모든 정보를 결코 가지지 않을 것이기 때문에, 이는 쉽게 주목될 수 있다.
다음의 예들은 RC를 이용하는 방법을 단계적으로 설명한다. 이러한 단계들이 본 명세서에서 논의된 하드웨어에 의해 수행될 수 있고, 특수하게 설계된 하드웨어 또는 일반적이거나 상용의 하드웨어에서 실행되는 소프트웨어에 구체화될 수 있다는 점에 주목하라.
도 17은 공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법의 일례를 도시하고, 이는 공진기(100)의 기본적인 단계들이며, 공진기(400)를 이용하여 제1 난수 스트림을 생성하는 단계(단계 1000)와, 그 다음 송신기(402)를 이용하여 제1 숫자 스트림을 전송하는 단계를 포함한다(단계 1002). 도면은 기본 얽힘(entanglement) 방법을 더 포함하며, 이는 공진기(400)에서, 제2 숫자 스트림(4110)을 수신하는 단계(단계 1004)를 포함할 수 있다. 제1 및 제2 스트림(404, 410)은 공진기(400)에서 프로세서(412)를 이용하여 결합되어, 결합 스트림(208)을 형성할 수 있으며(단계 1006), 그 다음, 송신기(402)로 결합 스트림(208)을 송신할 수 있다(단계 1008).
도 18은 통신기(500)를 포함하는 예의 일부를 도시한다. 여기에서, 방법은 통신기(500)에서 제1 스트림(402)을 수신하는 단계(단계 1010)와, 그 다음 통신기의 메모리(506)에 제1 스트림(402)의 적어도 일부를 저장하는 단계(단계 1012)를 포함한다. 통신기의 프로세서(508)는 제1 스트림(402)의 일부를 암호화 키(104)로 변환할 수 있다(단계 1014). 이것은 알고리즘을 이용하여 수행될 수 있다.
적어도 하나 이상의 통신기(500)를 추가하는 것은 2개의 당사자가 안전하게 통신할 수 있게 한다. 이 방법은 제1 스트림(402)을 수신하고(단계 1016), 이의 일부를 저장하는(단계 1018) 제2 통신기를 가진다. 그 다음, 제2 통신기(500)는 제1 스트림의 일부를 동일한 알고리즘을 이용하여 동일한 암호화 키(104)로 변환할 수 있다(단계 1020). 전술한 바와 같이, 이것인 앨리스와 밥이 동일한 키이지만 독립적으로 생성되고 일부 예에서 즉석으로 생성된 키를 이용하여 통신할 수 있게 한다.
다수의 공진기의 사용에 대한 일례가 도 19에 도시된다. 통신기(500)는 제2 공진기(400)에 의해 생성된 제2 숫자 스트림을 수신하고(단계 1022), 이의 적어도 일부를 저장할 수 있다(단계 1024). 제1 및 제2 스트림(402, 416)의 부분들은 알고리즘을 이용하여 암호화 키로 변환될 수 있다(단계 1026).
공진기(400) 스트림과 통신기(500) 스트림을 결합하는 것은, 도 20에 도시된 바와 같이, 수렴 방법의 일례이다. 이 예는 제1 통신기에 의해 생성된 통신기 숫자(410, 510)를 수신하는(단계 1028) 공진기(400)를 가진다. 이 단계는 공진기의 관점에서 취해지지만, 다른 예에서, 통신기(500)가 통신기 숫자(410, 510)를 생성하여 이를 공진기(400)로 송신한 것으로 용이하게 될 수 있다. 그러나, 이는 통신기 숫자(410, 510) 및 제1 스트림(402)을 결합 스트림(416)으로 결합하고(단계 1030) 그 다음 이를 송신하는(단계 1032) 공진기(400)일 수 있다.
상기 예를 계속하면, 이 결합 스트림은 앨리스가 밥에게 비밀로 신호를 전송(또는 그 이상을)할 수 있게 한다. 이 방법은, 제2 통신기에서, 결합 스트림(416)을 수신하는 단계(단계 1034)와, 그 다음, 이의 적어도 일부를 저장하는 단계(단계 1036)를 포함한다. 제2 통신기(508)의 프로세서는 결합 스트림(416)으로부터 통신기 숫자(410, 510)의 일부를 검출할 수 있다(단계 1038).
도 21은 캐스케이딩 방법의 일례를 도시한다. 이 방법에서, 공진기(400)는, 모두 제2 통신기에 의해 송신된, 제2 통신기에 의해 생성된 제2 통신기 숫자와 제1 통신기 숫자를 수신한다(또는 다시 수신한다)(단계 1040). 공진기(400)는 제1 및 제2 공진기 숫자와 제1 스트림을 제2 결합 스트림으로 결합하고(단계 1042), 그 다음, 이를 송신한다(단계 1044).
또한, 도 22는 재결합 스트림(114) 형성 방법을 도시한다. 제1 통신기(500)는 이제 제1 스트림(402)을 수신하고(단계 1046), 제2 숫자 스트림(일반적으로 제2 공진기에 의해 생성됨)를 수신한다(단계 1048). 2개의 스트림은 소정의 형태의 알고리즘을 이용하여 변경 및/또는 결합되어, 이에 따라 제1 및 제2 스트림의 일부를 재결합 스트림(114)으로 변환한다(단계 1050). 재결합 스트림(114)은 제1 통신기 송신기(512)를 이용하여 송신된다(단계 1052).
도 23 내지 25는 스트림의 세그먼트가 상이한 시간에 얻어져 더욱 진보된 암호화 결과를 얻는 예를 도시한다. 재귀 스트림(112)에 대하여, 방법의 일례는 공진기를 이용하여 시간 T0에 제1 난수 스트림을 생성하는 단계(단계 1054)를 포함한다. T0 제1 스트림의 일부는 비일시적 메모리에 저장된다(단계 1056). 이 스토리지는 T0 제1 스트림을 생성한 동일한 공진기(400), 상이한 공진기 또는 통신기(500)에 있을 수 있다. 이것이 어디에 저장되는지 관계 없이, T0 제1 스트림은 그 다음에 송신되는(단계 1060) 재귀 스트림을 형성하기 위하여 시간 T1에서의 제1 스트림의 일부와 결합되도록 공진기로 다시 전송된다(단계 1058). 도 23을 참조하라.
도 24에 도시된 다른 시간 세그먼트는 공개적으로 사용 가능한 개별 값이 시간에 따라 암호화될 수 있게 한다. 이 방법에서, 통신기(500)는 T0 제1 스트림을 수신하고(단계 1062), T0 제1 스트림을 이용하여 제1 데이터 값 V1을 암호화한다(단계 1064). 시간적으로 분리되어, 이제 통신기(500)는 공진기로부터 T1 제1 스트림을 수신한다(단계 1066). 데이터 값 V1은 T0 제1 스트림을 이용하여 해독되고(단계 1068), 그 다음 T1 제1 스트림을 이용하여 암호화될 수 있다(단계 1070).
또 다른 시간 예는 앰버 암호화이다. 여기에서, 방법의 예는 공진기를 이용하여 시간 T0에 제1 난수 스트림을 생성하는 단계(1054)를 포함한다(전술한 바와 같이). T0 제1 스트림은 앰버 메모리에 저장되고(단계 1072), 데이터 세트를 암호화하는데 사용된다(단계 1074). 그러나, 이러한 방식으로 암호화되면, 나쁜 행위자가 T0 스트림에 대하여 엿들을 수 있는 방법이 없으며, 이는 시간이 지나면 손실된다.
고스트 RC는 다른 강력한 도구일 수 있다. 이는 공개 스트림에서 명문을 전송하는데 사용될 수 있고, 밥은 단지 스트림의 공개 세그먼트로부터 어느 스트림과 어느 세그먼트가 고스트 세그먼트인지 알 필요만 있다. 또한, 이는 이의 난독화에 추가하기 위하여 암호화된 메시지를 전송할 수 있다. 도 26은, 제1 통신기에서, 명문 메시지인 제1 통신기 숫자(510)를 생성하는 단계(단계 1076)에 의해 이 방법의 일례를 도시한다. 제1 통신기 숫자는 제1 시퀀스를 이용하여 공진기(400)로 송신될 수 있다(단계 1078). 제1 통신기 숫자는 공진기(400)에서 제1 스트림과 결합되어 고스트 스트림으로 된다(단계 1080). 제2 통신기는 고스트 스트림(116)을 수신하고(단계 1082), 고스트 스트림(116)으로부터 제1 통신기 숫자를 추출하기 위하여 이를 필터링한다(단계 1084).
다른 예는 데이터 액세스를 제한하기 위하여 영역을 지오펜싱하는 방법으로 이어질 수 있다. 도 27에 도시된 일례는 제1 스트림을 송신하는 송신기의 신호 범위에 기초하여 지오펜스 영역(304)을 정의한다(단계 1086). 정의되면, 제1 통신기에서 제1 스트림을 수신한 것에 기초하여 지오펜스싱된 데이터에 대한 액세스가 허용될 수 있거나(단계 1088) 거절될 수 있다(단계 1090). 제1 스트림이 수신되면, 지오펜싱된 영역 내의 데이터를 해독하는데 사용되는 암호화 키가 생성될 수 있다(단계 1092).
또한, 하나 이상의 방법 단계들의 언급은 명시적으로 식별되는 이러한 단계들 사이에서 추가적인 방법 단계들 또는 사이에 오는 방법 단계들의 존재를 배제하지 않는다는 것이 이해되어야 한다. 유사하게, 장치 또는 시스템에서의 하나 이상의 컴포넌트의 언급은 명시적으로 식별되는 이러한 컴포넌트 사이에 추가적인 컴포넌트 또는 사이에 오는 컴포넌트의 존재를 배제하지 않는다는 것이 이해되어야 한다.
전술한 송신기 또는 수신기의 어느 하나 또는 모두는 협력하여 트랜스시버 역할을 할 수 있고, RFID(radio-frequency identification, NFC(near-field communication), 블루투스®, 저에너지 블루투스®(BLE), LiFi, WiFi™, 지그비®, ABC(ambient backscatter communications) 프로토콜 또는 유사한 기술 중 하나 이상과 호환될 수 있다. 공진기 및/또는 통신기는, 당해 기술 분야에서의 통상의 기술자에 의해 이해되는 바와 같이, 이의 프로세서(들)가, 근거리인지 원거리인지 관계 없고 사설인지 공용인지 여부와 관계 없는 유선 또는 무선 네트워크를 통해 다른 장치와 통신할 수 있게 하는 하드웨어, 펌웨어 및/또는 소프트웨어를 포함할 수 있다. 수신된 정보(스트림, 알고리즘 등)는 개시된 기술의 다양한 구현예에서 원하는 바에 따라 하나 이상의 컴퓨터 프로세서에 의해 처리되고 그리고/또는 하나 이상의 메모리 장치에 저장될 수 있다.
프로세서는 저장된 명령어를 실행하고 저장된 데이터에 따라 동작할 수 있는 마이크로 프로세서, 마이크로 컨트롤러, 디지털 신호 프로세서, 코프로세서 또는 유사한 것 또는 이들의 조합 중 하나 이상을 포함할 수 있다. 메모리는, 일부 구현예에서, 하나 이상의 적합한 종류의 메모리를 포함할 수 있다(예를 들어, 휘발성 또는 비휘발성 메모리, RAM(random access memory), ROM(read only memory), PROM(programmable read only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 자기 디스크, 광 디스크, 플로피 디스크, 하드 디스크, 탈착 가능한 카트리지, 플래시 메모리, RAID(redundant array of independent disks) 및 이와 유사한 것과 같은). 메모리는 운영 체제, 애플리케이션 프로그램(예를 들어, 필요에 따라, 웹 브라우저 애플리케이션, 위젯 또는 가젯 엔진 및/또는 다른 애플리케이션), 실행 가능한 명령어 및 데이터를 포함하는 파일을 저장할 수 있다.
전술한 개념을 고려하면, RC를 실행하는 하드웨어와 소프트웨어는 IoT 장치의 전체 스펙트럼에 걸쳐 변경될 수 있다. 이것은 단독형이거나(예를 들어, 에어 갭형) 하나 이상의 통신기에 네트워킹된 서버를 포함한다. 네트워크(300)는 IP(Internet protocol) 기반 네트워크, LAN(local area network), WAN(wide area network), PAN(personal area network), 인트라넷, 인터넷, 이동 통신 네트워크(예를 들어, GSM(Global System for Mobile Communications), CDMA(Code-Division Multiple Access), WCDMA(Wideband CDMA), LTE(Long Term Evolution), IEEE 802.11x 등), 광섬유 네트워크 또는 데이터를 송신할 수 있는 다른 종류의 네트워크와 같은 하나 이상의 패킷 교환 네트워크를 포함할 수 있다. 네트워크(300)는 전통적인 전화기를 위하여 전화 서비스를 제공하기 위한 PSTN(public-switched telephone network)와 같은 회로 스위칭형 네트워크를 포함할 수 있다.
공진기 및/또는 통신기는 네트워크(300)와 통신하거나 서로 통신하는 하나 이상의 장치를 포함할 수 있다. 예를 들어, 공진기 및/또는 통신기는 애플리케이션(예를 들어, 인터넷 익스플로어®, 크롬® 등)과 네트워크에 연결하기 위한 통신 인터페이스(예를 들어, 유선 또는 무선 통신 인터페이스)를 포함하는 텔레비전을 포함할 수 있다. 공진기 및/또는 통신기는 또한 인터넷 서비스를 제공하기 위하여 네트워크와 통신하는 하나 이상의 장치를 포함할 수 있다. 예를 들어, 이들은 데스크탑 컴퓨터, 랩탑 컴퓨터, 팜탑 컴퓨터, 노트북, 태블릿, 스마트폰 등 또는 다른 종류의 통신 장치를 포함할 수 있다. 서버는 통신기를 이용하여 사용자에 의해 액세스될 수 있는 웹페이지를 호스트할 수 있다.
전술한 많은 장치들이 이미 내장된 의사 난수 생성기를 가지고 있기 때문에, 공진기(100)를 형성하기 위하여, 칩셋 또는 소프트웨어 통합 RC는 다음의 새로운 특성을 가질 수 있다: 다수의 상이한 외부 공진기 스트림을 수신하고, 이를 프로그래밍 가능한 수식 세트를 이용하여 결합하는 능력. 또한, 이는, 더욱 복잡한 스킴에 대한 모듈식 추가로부터의 임의의 것을 역시 이용하여, 이 출력을 암호화된 데이터의 스트림으로서 평문(암호화되지 않은 데이터)에 균등한 것과 결합하고, 해독을 위하여 과정을 역으로 수행하는 능력을 가져야 한다. 이것은 독립형 칩 또는 SOC의 일부일 수 있다. 칩은 전술한 RC 암호화 특성의 전체 또는 일부 서브세트를 가질 것이고, 가능하게는 이상적으로 낮은 에너지를 이용하여 수학적 함수의 감소된 명령어 세트를 통합할 것이다.
더 많은 진보적인 특징은 공진기 입력/출력 스트림이 아날로그 및 디지털 모두가 될 수 있게 할 것이다. 임의의 하드웨어는 상이한 형태의 공진기 스트림과 이를 사용하기 위한 필요한 함수를 조화롭게 할 수 있다. 예를 들어, 위상 시프트하는 RC 암호화 스킴으로부터의 공진기 스트림을 받아들이는 장치는 IP 기반의 스트림과 결합되어, 새로운 브로드캐스트 아날로그 송신을 생성할 수 있다. 하드웨어는 모든 형태의 공진기를 위한 혼합 입력/출력 챔버와 새로운 공진기 스트림 자체를 생성하기 위한 수반하는 기술을 서비스하도록 설계될 수 있다.
RC를 이용하는 하이브리드 네트워크 구성은 통신을 보호하기 위한 효율적인 암호화 채널로서 송신기와 수신기 모두에 프로그래머블 RC 회로를 이용할 수 있다. 가장 간단한 예는 폐쇄형 암호화 통신 허브를 구축하기 위하여 사설 보안 메시(mesh)가 동적으로 생성될 수 있는 디지털 암호화 라디오 네트워크일 수 있다. 안전한 최종 사용자 장치와 스위칭 인프라스트럭처를 구성하는 복잡성은 이러한 종류의 하이브리드 네트워크에 참여하기 위한 이동 장치 전력 요건과 함께 상당히 감소된다. 유사하게, 임의의 하이브리드 솔루션은, 특히 RC 플랫폼이 동작 환경 사이에서 심리스 전이하는 프로그래머블 하드웨어 솔루션으로서 통합될 때, RC 효율을 이용하기 위하여 생성될 수 있다.
본 명세서에 포함된 설명은 본 발명의 실시예의 예이며, 어떠한 방식으로도 본 발명의 범위를 제한하도록 의도되지 않는다. 본 명세서에서 설명된 바와 같이, 본 발명은 공진 암호화 시스템의 많은 변형 및 수정을 고려한다. 또한, 공진기의 설계 및 구성에서 많은 가능한 변형이 있다. 이러한 수정은 본 발명이 관련된 기술 분야에서의 통상의 기술자에게 명백할 것이고, 이어지는 청구범위의 범위 내에 있는 것으로 의도된다. 예를 들어, 당해 기술 분야에서의 통상의 기술자는 실행 가능한 명령어가 비일시적인 컴퓨터 판독 가능한 저장 매체에 저장될 수 있어, 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서가 전술한 방법을 구현할 수 있게 한다는 것을 인식할 것이다.
본 설명에서, 다수의 특정 상세가 설명되었다. 그러나, 개시된 기술의 구현은 이러한 특정 상세 없이 실시될 수 있다. 다른 경우에, 잘 알려진 방법, 구조 및 기술인 본 설명의 이해를 흐리게 하지 않기 위하여 상세하게 도시되지 않았다. "하나의 예", "일례", "추가의 예", "다양한 예", "일부 예" 등에 대한 참조는 그와 같이 설명된 개시된 기술의 예(들)가 특정 특징, 구조 또는 특성을 포함하지만, 모든 예가 반드시 그 특정 특징, 구조 또는 특성을 포함하지 않는다. 또한, "일례에서"라는 어구의 반복된 사용은, 그럴 수 있더라도, 동일한 예를 반드시 지칭하지는 않는다.
명세서 및 청구범위 전체에 걸쳐, 다음의 용어들은 상황이 명확하게 달리 언급하지 않는다면, 적어도 여기에 명시적으로 연관된 의미를 갖는다. "또는"이라는 용어는 포함적 "또는"을 의미한다. 또한, 달리 특정되거나 또는 상황으로부터 단수 형태를 말하는 것으로 명백하지 않는다면, 단수는 하나 이상을 의미하도록 의도된다. "포함하는" 또는 "갖는" 또는 "구비하는"에 의해, 적어도 거명된 요소 또는 방법 단계가 물품 또는 방법에서 존재한다는 것을 의미하지만, 다른 요소 또는 방법 단계가 거명된 것과 동일한 기능을 가지더라도, 이러한 다른 요소 또는 방법 단계의 존재를 배제하지 않는다.
본 명세서에 사용된 바와 같이, 달리 특정되지 않더라도, 공통 객체를 설명하기 위한 서수 형용서 "제1", "제2", "제3", "제4" 등의 사용은 단지 유사한 객체의 상이한 인스턴스가 참조되고 있는 것을 나타낼 뿐이며, 그렇게 설명된 대상이 시간적, 공간적, 순위적 또는 다른 방식으로 주어진 순서에 있어야 하는 것을 암시하도록 의도되지 않는다.
또한, 전체에 걸쳐, 스트림은 난수이거나 또는 RNG에서 생성된 것으로 언급된다. 그러나, 이 문맥에서, 그리고 도시된 바와 같이, 스트림은 그냥 숫자 시퀀스가 아니며, 아랍어에서, 바이너리, 키릴 문자, 그리스어에 이르기까지, 임의의 적절한 언어 또는 알파벳에서의 임의의 문자, 글자 또는 디지트가 될 수 있다.
개시된 기술의 소정의 구현예는 시스템 및 방법의 블록 및 흐름도 및/또는 개시된 기술의 예시적인 구현에 따른 컴퓨터 프로그램 제품을 참조하여 위에서 설명되었다. 블록도 및 흐름도의 하나 이상의 블록과, 블록도 및 흐름도의 블록의 조합은 각각 컴퓨터 실행 가능 프로그램 명령에 의해 구현될 수 있다는 것이 이해될 것이다. 마찬가지로, 개시된 기술의 일부 구현예에 따라, 블록도 및 흐름도의 일부 블록은 반드시 제공된 순서로 수행될 필요는 없고, 반복될 수 있거나, 반드시 수행될 필요가 전혀 없을 수도 있다.
본 개시 내용의 특정 구현예가 현재 가장 실용적이고 다양한 구현예로서 고려되는 것과 관련하여 설명되었지만, 이 개시 내용은 개시된 구현예에 한정되지 않으며, 대조적으로, 첨부된 청구범위의 범위 내에 포함되는 다양한 변형 및 균등한 배열을 포함하도록 의도된다. 본 명세서에서 특정 용어가 사용되었지만, 이는 일반적이고 설명적인 의미로만 사용되며, 한정의 목적으로 사용되지 않는다.
이러한 기재된 설명은, 본 기술의 소정의 구현예를 개시하기 위하여, 그리고 임의의 장치 또는 시스템을 제조하고 사용하며, 임의의 포함된 방법을 수행하는 것을 포함하는, 본 기술의 조정의 예를 당해 업계의 통상의 기술자가 실시할 수 있게 하기 위하여, 예들을 사용한다. 본 기술의 소정의 구현예의 특허 가능한 범위는 청구범위에 정의되며, 당해 업계에서의 통상의 기술자에게 발생하는 다른 예를 포함할 수 있다. 이러한 다른 예는, 청구범위의 문언적 언어와 다르지 않는 구조적 요소를 가진다면, 또는 청구범위의 문언적 언어로부터 실질적이지 않은 차이를 갖는 균등한 구조적 요소를 포함한다면, 청구범위의 범위 내에 있도록 의도된다.

Claims (33)

  1. 진정(true) 난수 생성기, 의사 난수 생성기 및 난수 스트림의 특성을 갖는 임의의 비반복 숫자 시퀀스 중 적어도 하나를 포함하고, 제1 난수 스트림을 생성하는 난수 생성기; 및
    상기 난수 생성기에 전기적으로 커플링되고, 생성된 상기 제1 난수 스트림을 송신하는 송신기
    를 포함하는 공진기를 포함하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  2. 제1항에 있어서,
    상기 공진기는,
    제2 난수 스트림을 수신하는 수신기; 및
    상기 제2 난수 스트림을 상기 제1 난수 스트림에 통합하여 결합 스트림을 형성하는 프로세서
    를 더 포함하고,
    상기 송신기는 상기 결합 스트림을 송신하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  3. 제1항에 있어서,
    상기 제2 숫자 스트림은 제2 공진기로부터 수신되는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  4. 제1항에 있어서,
    상기 송신기는 적어도 하나의 무선 주파수에 의해 네트워크를 통하여 상기 제1 난수 스트림을 송신하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  5. 제1항에 있어서,
    상기 제1 난수 스트림의 송신에 대한 액세스는 제한되는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  6. 제1항에 있어서,
    제1 통신기를 더 포함하고,
    상기 제1 통신기는,
    상기 제1 스트림을 수신하는 제1 통신기 수신기; 및
    상기 제1 통신기 수신기에 전자적으로 연결되고,
    상기 제1 스트림의 적어도 일부를 저장하는 비일시적 메모리; 및
    상기 제1 스트림의 적어도 일부를 읽고 상기 제1 스트림의 일부를 암호화 키로 변환하기 위하여 상기 메모리에 전자적으로 연결된 제1 통신기 프로세서
    를 포함하는 제1 통신기 암호화 엔진
    을 포함하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  7. 제6항에 있어서,
    제2 통신기를 더 포함하고,
    상기 제2 통신기는,
    상기 제1 스트림을 수신하는 제2 통신기 수신기; 및
    상기 제2 통신기 수신기에 전자적으로 연결되고,
    상기 제1 스트림의 적어도 일부를 저장하는 제2 비일시적 메모리; 및
    상기 제1 스트림의 적어도 일부를 읽고 상기 제1 스트림의 일부를 상기 암호화 키로 변환하기 위하여 상기 제2 메모리에 전자적으로 연결된 제2 통신기 프로세서
    를 포함하는 제2 통신기 암호화 엔진
    을 포함하고,
    상기 제1 및 제2 통신기 프로세서는 상기 제1 스트림의 일부를 상기 암호화 키로 독립적으로 변환하는 공통 알고리즘을 가지는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  8. 제6항에 있어서,
    상기 제1 통신기 수신기는 제2 공진기로부터 제2 숫자 스트림을 수신하고;
    상기 비일시적 메모리는 상기 제2 스트림의 적어도 일부를 저장하고; 그리고
    상기 제1 통신기 프로세서는 상기 제2 스트림의 적어도 일부를 읽고, 상기 제1 스트림의 일부 및 제2 스트림의 일부를 모두 사용하여 상기 암호화 키를 생성하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  9. 제6항에 있어서,
    상기 제1 통신기는,
    제1 통신기 숫자를 생성하는 제1 통신기 숫자 생성기; 및
    상기 제1 통신기 숫자를 상기 공진기에 송신하는 제1 통신기 송신기
    를 더 포함하고,
    상기 공진기는,
    상기 제1 통신기 숫자를 수신하는 수신기; 및
    상기 제1 통신기 숫자를 상기 제1 난수 스트림에 통합하여 결합 스트림을 형성하는 프로세서
    를 더 포함하고,
    상기 송신기는 상기 결합 스트림을 송신하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  10. 제9항에 있어서,
    제2 통신기를 더 포함하고,
    상기 제2 통신기는,
    상기 결합 스트림을 수신하는 제2 통신기 수신기; 및
    상기 제2 통신기 수신기에 전자적으로 연결되고,
    상기 결합 스트림의 적어도 일부를 저장하는 제2 비일시적 메모리; 및
    상기 결합 스트림의 적어도 일부를 읽고 상기 제1 통신기 숫자를 검출하기 위하여 상기 제2 메모리에 전자적으로 연결된 제2 통신기 프로세서
    를 포함하는 제2 통신기 암호화 엔진
    을 포함하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  11. 제10항에 있어서,
    상기 제2 통신기는,
    제2 통신기 숫자를 생성하는 제2 통신기 숫자 생성기; 및
    상기 제1 및 제2 통신기 숫자를 상기 공진기에 송신하는 제2 통신기 송신기
    를 더 포함하고,
    상기 프로세서는 상기 제1 및 제2 통신기 숫자를 상기 제1 난수 스트림에 통합하여 제2 결합 스트림을 형성하고,
    상기 송신기는 상기 제2 결합 스트림을 송신하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  12. 제1항에 있어서,
    상기 공진기는,
    비일시적인 공진기 메모리; 및
    상기 공진기 메모리에 전자적으로 연결된 프로세서
    를 더 포함하고;
    상기 송신기는 시간 T0에 상기 제1 스트림의 일부를 송신하고;
    상기 공진기 메모리는 상기 T0 제1 스트림을 저장하고;
    상기 프로세서는 상기 T0 제1 스트림을 시간 T1에서의 상기 제1 스트림의 일부와 결합하여 재귀(recursive) 스트림을 형성하고; 그리고,
    상기 송신기는 상기 재귀 스트림을 송신하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  13. 제12항에 있어서,
    상기 공진기 메모리는 제1 통신기로부터 상기 T0 제1 스트림을 수신하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  14. 제1항에 있어서,
    제2 숫자 스트림을 송신하는 제2 공진기; 및
    제1 통신기
    를 더 포함하고,
    상기 제1 통신기는,
    제1 통신기 수신기;
    상기 제1 통신기 수신기에 전자적으로 연결된 제1 통신기 암호화 엔진; 및
    제1 통신기 송신기
    를 포함하고;
    상기 제1 통신기 수신기는 상기 제1 및 제2 스트림을 수신하고;
    상기 제1 통신기 암호화 엔진은 상기 제1 및 제2 스트림을 결합하여 재결합 스트림을 형성하고,
    상기 제1 통신기 송신기는 상기 재결합 스트림을 송신하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  15. 제14항에 있어서,
    상기 제1 통신기 암호화 엔진은 상기 재결합 스트림을 형성하기 위하여 알고리즘을 상기 제1 및 제2 스트림에 적용하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  16. 제6항에 있어서,
    적어도 값 V1을 갖는 데이터 세트를 더 포함하고,
    상기 송신기는 시간 T0에 상기 제1 스트림의 일부를 송신하고;
    상기 제1 통신기 프로세서는 상기 T0 제1 스트림을 이용하여 값 V1을 암호화화고;
    상기 송신기는 시간 T1에 상기 제1 스트림의 일부를 송신하고; 그리고,
    상기 제1 통신기 프로세서는 상기 T0 제1 스트림을 이용하여 값 V1을 해독하고, 상기 T1 제1 스트림을 이용하여 값 V1을 재암호화하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  17. 제9항에 있어서,
    상기 제1 통신기 숫자는 명문(clear text) 메시지를 포함하고,
    상기 제1 통신기 송신기는 제1 시퀀스를 이용하여 상기 제1 통신기 숫자를 상기 공진기에 송신하고,
    상기 결합 스트림은 상기 제1 스트림 및 상기 제1 통신기 숫자의 상기 제1 시퀀스를 포함하는 고스트 스트림(ghost stream)이고,
    제2 통신기를 더 포함하고,
    상기 제2 통신기는,
    상기 고스트 스트림을 수신하는 제2 통신기 수신기; 및
    상기 제2 통신기 수신기에 전자적으로 연결되고, 상기 고스트 스트림으로부터의 상기 제1 통신기 숫자를 필터링하는 필터를 포함하는 제2 통신기 암호화 엔진
    을 포함하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  18. 제6항에 있어서,
    상기 송신기는 단거리(short range) 송신기이고, 송신기 신호 범위는 지오펜스(geo-fence) 영역을 정의하고;
    상기 제1 통신기 수신기가 상기 지오펜스 영역 내부에서 상기 제1 숫자 스트림을 수신할 때, 상기 제1 통신기 암호화 엔진은 상기 암호화 키를 생성할 수 있고; 그리고
    상기 제1 통신기 수신기가 상기 지오펜스 영역 외부에 있을 때, 상기 제1 통신기 암호화 엔진은 상기 암호화 키를 생성할 수 없는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  19. 제6항에 있어서,
    상기 송신기는 시간 T0에 상기 제1 스트림의 일부를 송신하고;
    상기 T0 제1 스트림을 저장하는 앰버(amber) 비일시적 메모리; 및
    상기 T0 제1 스트림을 이용하여 암호화되는 데이터 세트
    를 더 포함하는,
    공진 암호화를 이용한 보안 통신을 위한 시스템.
  20. 공진기를 이용하여 제1 난수 스트림을 생성하는 단계; 및
    송신기를 이용하여 상기 제1 숫자 스트림을 송신하는 단계
    를 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  21. 제20항에 있어서,
    상기 공진기에서, 제2 숫자 스트림을 수신하는 단계;
    상기 공진기에서 프로세서를 이용하여, 상기 제1 스트림을 상기 제2 스트림과 결합하여 결합 스트림을 형성하는 단계; 및
    상기 송신기를 이용하여 상기 결합 스트림을 송신하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  22. 제20항에 있어서,
    제1 통신기에서, 상기 제1 스트림을 수신하는 단계;
    상기 제1 통신기의 비일시적 메모리에서, 상기 제1 스트림의 적어도 일부를 저장하는 단계; 및
    상기 제1 통신기의 프로세서를 이용하여, 알고리즘을 이용하여 상기 제1 스트림의 일부를 암호화 키로 변환하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  23. 제22항에 있어서,
    제2 통신기에서, 상기 제1 스트림을 수신하는 단계;
    상기 제2 통신기의 비일시적 메모리에서, 상기 제1 스트림의 적어도 일부를 저장하는 단계; 및
    상기 제2 통신기의 프로세서를 이용하여, 상기 알고리즘을 이용하여 상기 제1 스트림의 일부를 상기 암호화 키로 변환하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  24. 제22항에 있어서,
    제1 통신기에서, 제2 공진기에 의해 생성된 제2 숫자 스트림을 수신하는 단계;
    상기 제1 통신기의 비일시적 메모리에서, 상기 제2 스트림의 적어도 일부를 저장하는 단계; 및
    상기 제1 통신기의 프로세서를 이용하여, 알고리즘을 이용하여 상기 제1 및 제2 스트림의 일부를 암호화 키로 변환하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  25. 제22항에 있어서,
    상기 공진기에서, 상기 제1 통신기에 의해 생성된 제1 통신기 숫자를 수신하는 단계;
    상기 제1 통신기 숫자와 상기 제1 스트림을 결합 스트림으로 결합하는 단계; 및
    상기 결합 스트림을 송신하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  26. 제25항에 있어서,
    제2 통신기에서, 상기 공진기에 의해 송신된 상기 결합 스트림을 수신하는 단계;
    상기 제2 통신기의 비일시적 메모리에서, 상기 결합 스트림의 적어도 일부를 저장하는 단계; 및
    상기 제2 통신기의 프로세서를 이용하여, 상기 결합 스트림으로부터 상기 제1 통신기 숫자의 일부를 검출하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  27. 제25항에 있어서,
    상기 공진기에서, 제2 통신기에 의해 생성된 제2 통신기 숫자와 상기 제1 통신기 숫자를 수신하는 단계 - 상기 제1 통신기 숫자와 상기 제2 통신기 숫자는 모두 상기 제2 통신기에 의해 송신됨 -;
    상기 공진기에서 프로세서를 이용하여, 상기 제1 및 제2 통신기 숫자와 상기 제1 스트림을 제2 결합 스트림으로 결합하는 단계; 및
    상기 결합 스트림을 송신하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  28. 제20항에 있어서,
    공진기를 이용하여 시간 T0에 제1 난수 스트림을 생성하는 단계;
    비일시적 메모리에서, 시간 T0에서의 상기 제1 스트림의 일부를 저장하는 단계;
    상기 공진기에서 프로세서를 이용하여, 상기 T0 제1 스트림을 시간 T1에서의 상기 제1 스트림의 일부와 결합하여 재귀 스트림을 형성하는 단계; 및
    송신기를 이용하여 상기 재귀 스트림을 송신하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  29. 제20항에 있어서,
    제1 통신기에서, 상기 제1 스트림을 수신하는 단계;
    제1 통신기에서, 제2 공진기에 의해 생성된 제2 숫자 스트림을 수신하는 단계;
    상기 제1 통신기의 프로세서를 이용하여, 상기 제1 및 제2 스트림의 일부를 재결합 스트림으로 변환하는 단계; 및
    제1 통신기 송신기를 이용하여, 상기 결합 스트림을 송신하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  30. 제22항에 있어서,
    상기 제1 통신기에서, 시간 T0에 제1 난수 스트림을 상기 공진기로부터 수신하는 단계;
    상기 프로세서를 이용하여, 상기 T0 제1 스트림을 이용하여 제1 데이터 값을 암호화하는 단계;
    상기 제1 통신기에서, 시간 T1에 제1 난수 스트림을 상기 공진기로부터 수신하는 단계; 및
    상기 프로세서를 이용하여, 상기 T0 제1 스트림을 이용하여 상기 제1 데이터 값을 해독하는 단계; 및
    상기 프로세서를 이용하여, 상기 T1 제1 스트림을 이용하여 상기 제1 데이터 값을 암호화하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  31. 제20항에 있어서,
    제1 통신기에 의해, 명문(clear text) 메시지를 포함하는 제1 통신기 숫자를 생성하는 단계;
    제1 통신기 송신기를 이용하여, 상기 제1 통신기 숫자를 제1 시퀀스를 이용하여 상기 공진기로 송신하는 단계;
    상기 공진기에서 프로세서를 이용하여 상기 제1 통신기 숫자와 상기 제1 스트림을 고스트 스트림(ghost stream)으로 결합하는 단계;
    제2 통신기에서, 상기 공진기에 의해 송신된 상기 고스트 스트림을 수신하는 단계; 및
    상기 제2 통신기에서, 상기 고스트 스트림으로부터 상기 제1 통신기 숫자를 필터링하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  32. 제22항에 있어서,
    상기 공진기 송신기를 이용하여, 상기 제1 스트림을 송신하는데 있어서의 상기 송신기의 신호 범위에 기초하여, 지오펜싱된(geo-fenced) 영역을 정의하는 단계;
    상기 지오펜싱된 영역 내부에서의 데이터에 대한 액세스를 제1 통신기에 허용하는 단계로서,
    상기 제1 통신기에서 상기 제1 스트림을 수신하는 단계; 및
    상기 지오펜싱된 영역에서 상기 데이터를 해독하기 위하여 상기 제1 스트림으로부터 상기 암호화 키를 생성하는 단계
    를 포함하는 단계; 및
    상기 지오펜싱된 영역 내부에서의 데이터에 대한 액세스를 상기 제1 통신기에 거절하는 단계로서, 상기 제1 통신기에서 상기 제1 스트림을 수신하지 않는 단계를 포함하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
  33. 제20항에 있어서,
    공진기를 이용하여 시간 T0에 제1 난수 스트림을 생성하는 단계;
    앰버(amber) 비일시적 메모리에 상기 T0 제1 스트림을 저장하는 단계; 및
    상기 T0 제1 스트림을 이용하여 데이터 세트를 암호화하는 단계
    를 더 포함하는,
    공진 암호화를 이용하여 데이터를 암호화하고 해독하는 방법.
KR1020187010594A 2015-09-15 2016-09-14 공진 암호화 장치 및 방법 KR102688953B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020247024771A KR20240118896A (ko) 2015-09-15 2016-09-14 공진 암호화 장치 및 방법

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562218850P 2015-09-15 2015-09-15
US62/218,850 2015-09-15
US14/976,839 2015-12-21
US14/976,839 US9660803B2 (en) 2015-09-15 2015-12-21 Device and method for resonant cryptography
PCT/US2016/051696 WO2017048819A1 (en) 2015-09-15 2016-09-14 Device and method for resonant cryptography

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020247024771A Division KR20240118896A (ko) 2015-09-15 2016-09-14 공진 암호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20180102537A true KR20180102537A (ko) 2018-09-17
KR102688953B1 KR102688953B1 (ko) 2024-07-29

Family

ID=56683664

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187010594A KR102688953B1 (ko) 2015-09-15 2016-09-14 공진 암호화 장치 및 방법
KR1020247024771A KR20240118896A (ko) 2015-09-15 2016-09-14 공진 암호화 장치 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020247024771A KR20240118896A (ko) 2015-09-15 2016-09-14 공진 암호화 장치 및 방법

Country Status (7)

Country Link
US (5) US9660803B2 (ko)
EP (3) EP3609116B1 (ko)
JP (3) JP6976951B2 (ko)
KR (2) KR102688953B1 (ko)
ES (2) ES2770851T3 (ko)
HR (1) HRP20200054T1 (ko)
WO (1) WO2017048819A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016187432A1 (en) * 2015-05-19 2016-11-24 Michael Fiske Hiding a public key exchange in noise
US11575524B2 (en) * 2015-10-12 2023-02-07 Servicenow, Inc. Selective encryption delineation
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
WO2018175781A1 (en) * 2017-03-22 2018-09-27 Pressto, Inc. System and method for mesh network streaming
JP6832794B2 (ja) * 2017-06-05 2021-02-24 ルネサスエレクトロニクス株式会社 無線通信システム
EP3506547A1 (en) * 2017-12-28 2019-07-03 Flytxt B.V. Providing security against user collusion in data analytics using random group selection
US10965710B1 (en) * 2018-01-17 2021-03-30 Cipherloc, Inc Dynamic pin configurator
US11645380B2 (en) * 2018-06-07 2023-05-09 Colorado State University Research Foundation Process-variability-based encryption for photonic communication architectures
GB2575040A (en) * 2018-06-25 2020-01-01 Quantum Base Ltd System and method for generating entropy values
WO2020023460A1 (en) * 2018-07-23 2020-01-30 Cambridge Blockchain, Inc. Systems and methods for secure custodial service
WO2020112208A2 (en) * 2018-09-14 2020-06-04 SeaPort, Inc. Methods and systems for encoding and decoding communications
US11940978B2 (en) * 2018-09-19 2024-03-26 International Business Machines Corporation Distributed platform for computation and trusted validation
US10405133B1 (en) * 2018-10-02 2019-09-03 Titan Health & Security Technologies, Inc. Geofenced mesh network communication
CN111385032B (zh) * 2018-12-27 2021-04-13 国科量子通信网络有限公司 一种星地量子密钥网络用户间信息隔离方法
US11438150B2 (en) 2019-02-07 2022-09-06 Red Hat, Inc. Constrained key derivation in linear space
US11387997B2 (en) 2019-02-07 2022-07-12 Red Hat, Inc. Constrained key derivation in geographical space
US11784809B2 (en) 2019-02-07 2023-10-10 Red Hat, Inc. Constrained key derivation in temporal space
US11329812B2 (en) * 2019-02-07 2022-05-10 Red Hat, Inc. Constrained key derivation in miscellaneous dimensions
US11997200B2 (en) 2019-04-05 2024-05-28 Qrypt, Inc. Generating unique cryptographic keys from a pool of random elements
CN110620620B (zh) * 2019-10-18 2020-10-30 青岛理工大学 基于匿名纠缠分布的量子对话方法及系统
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
US11546196B2 (en) * 2020-05-01 2023-01-03 Qualcomm Incorporated Secure long training field (LTF)
CN111917724B (zh) * 2020-06-29 2021-05-04 普瑞达建设有限公司 一种物联网应用安全控制方法及系统
US11552930B2 (en) * 2020-08-31 2023-01-10 Equinix, Inc. Virtual domains within a shared device
US11310042B2 (en) * 2020-09-11 2022-04-19 Crown Sterling Limited, LLC Methods of storing and distributing large keys
US12081979B2 (en) * 2020-11-05 2024-09-03 Visa International Service Association One-time wireless authentication of an Internet-of-Things device
CN112989398B (zh) * 2021-05-18 2021-07-30 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、计算机设备和介质
TWI826796B (zh) * 2021-06-17 2023-12-21 新唐科技股份有限公司 資安保護系統及資安保護方法
TWI820434B (zh) 2021-06-17 2023-11-01 新唐科技股份有限公司 參數檢查系統及參數檢查方法
US20230094125A1 (en) * 2021-09-24 2023-03-30 Nvidia Corporation Implementing trusted executing environments across multiple processor devices
US11405189B1 (en) 2021-11-18 2022-08-02 James E. Bennison Systems and methods for trustworthy electronic authentication using a computing device
US11902420B2 (en) * 2021-11-23 2024-02-13 Theon Technology Llc Partial cryptographic key transport using one-time pad encryption

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11224183A (ja) * 1998-02-05 1999-08-17 Toyo Commun Equip Co Ltd 擬似乱数発生装置
JP2004080663A (ja) * 2002-08-22 2004-03-11 Abel Systems Inc 暗号化/復号鍵の鍵生成方法、暗号化/復号鍵の鍵生成装置、暗号化/復号鍵の鍵生成プログラムならびにコンピュータで読取可能な記録媒体
KR20040100850A (ko) * 2002-04-19 2004-12-02 소니 가부시끼 가이샤 키 생성 장치, 부호화 복호화 장치 및 키 생성 방법
JP2009245227A (ja) * 2008-03-31 2009-10-22 Fujitsu Ltd 情報記憶装置
WO2010150813A1 (ja) * 2009-06-23 2010-12-29 パナソニック電工株式会社 暗号鍵配布システム

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3160243A (en) 1960-01-04 1964-12-08 Fenestra Inc Building structure
US3629482A (en) * 1969-06-09 1971-12-21 Canadian Patents Dev Electronic musical instrument with a pseudorandom pulse sequence generator
US5319735A (en) 1991-12-17 1994-06-07 Bolt Beranek And Newman Inc. Embedded signalling
US5363448A (en) * 1993-06-30 1994-11-08 United Technologies Automotive, Inc. Pseudorandom number generation and cryptographic authentication
US5659726A (en) 1995-02-23 1997-08-19 Sandford, Ii; Maxwell T. Data embedding
US6868495B1 (en) 1996-09-12 2005-03-15 Open Security Solutions, Llc One-time pad Encryption key Distribution
JPH10215243A (ja) 1996-11-28 1998-08-11 Fujitsu Ltd エージェントを用いた暗号化通信方法およびモーバイルコード記憶媒体
US6021203A (en) 1996-12-11 2000-02-01 Microsoft Corporation Coercion resistant one-time-pad cryptosystem that facilitates transmission of messages having different levels of security
JP3256666B2 (ja) 1996-12-25 2002-02-12 三菱電機株式会社 車両用リモコン装置および車両セキュリティ装置
FI106605B (fi) 1997-04-16 2001-02-28 Nokia Networks Oy Autentikointimenetelmä
JPH1141245A (ja) 1997-07-22 1999-02-12 Fujitsu Ltd 秘匿通信システム
US6445794B1 (en) 1998-06-24 2002-09-03 Benyamin Ron System and method for synchronizing one time pad encryption keys for secure communication and access control
US6269164B1 (en) 1999-05-17 2001-07-31 Paul Pires Method of and system for encrypting messages
US7006633B1 (en) 1999-07-16 2006-02-28 Global Encryption Standard Corporation Global encryption system
US6804354B1 (en) 1999-12-02 2004-10-12 Honeywell International Inc. Cryptographic isolator using multiplication
JP3864675B2 (ja) * 2000-03-09 2007-01-10 株式会社日立製作所 共通鍵暗号装置
US10552583B2 (en) 2000-03-21 2020-02-04 Gregory A. Piccionelli Secure portable computer and security method
JP2004501532A (ja) 2000-03-29 2004-01-15 ヴァディアム テクノロジー インコーポレイテッド 鍵中央提供及びキー入力可能文字によるワンタイムパッド暗号化
US7814212B1 (en) * 2000-04-28 2010-10-12 Chan Hark C Data delivery system using local and remote communications
US6961426B2 (en) * 2000-09-07 2005-11-01 Ivan Vesely Cascaded stream cipher
US7120254B2 (en) 2000-10-30 2006-10-10 Geocodex Llc Cryptographic system and method for geolocking and securing digital information
US7143289B2 (en) * 2000-10-30 2006-11-28 Geocodex Llc System and method for delivering encrypted information in a communication network using location identity and key tables
US7170997B2 (en) 2000-12-07 2007-01-30 Cryptico A/S Method of generating pseudo-random numbers in an electronic device, and a method of encrypting and decrypting electronic data
JP3724399B2 (ja) * 2001-01-23 2005-12-07 株式会社日立製作所 疑似乱数生成装置またはそれを用いた暗号復号処理装置
US7003109B2 (en) 2001-04-19 2006-02-21 City University Of Hong Kong Compact crypto-engine for random number and stream cipher generation
US7076065B2 (en) 2001-05-11 2006-07-11 Lockheed Martin Corporation Chaotic privacy system and method
US20030016823A1 (en) * 2001-07-05 2003-01-23 Shine Chung Method and apparatus of using irrational numbers in random number generators for cryptography
IL144369A (en) * 2001-07-17 2009-06-15 Eli Yanovsky Secure communication system and method using shared random source for key changing
JP3870758B2 (ja) 2001-11-14 2007-01-24 日本電気株式会社 情報処理装置及びそれに用いる不正コピー防止方法並びにそのプログラム
US20030142821A1 (en) * 2002-01-02 2003-07-31 Ross David Marshall Cryptographic one time pad technique
JP2004064333A (ja) * 2002-07-26 2004-02-26 Sony Corp 通信システム、鍵情報送信装置および方法、情報処理装置および方法、記録媒体、並びにプログラム
JP4288057B2 (ja) 2002-11-15 2009-07-01 三洋電機株式会社 乱数生成装置
JP4647903B2 (ja) * 2003-07-09 2011-03-09 株式会社東芝 情報通信装置、通信システム及びデータ伝送制御プログラム
US7502468B2 (en) 2003-09-02 2009-03-10 Ncipher Corporation Ltd. Method and system for generating a cryptographically random number stream
US7752453B2 (en) 2004-01-08 2010-07-06 Encryption Solutions, Inc. Method of encrypting and transmitting data and system for transmitting encrypted data
US7526643B2 (en) 2004-01-08 2009-04-28 Encryption Solutions, Inc. System for transmitting encrypted data
US7293054B2 (en) 2004-03-11 2007-11-06 Harris Corporation Random number source and associated methods
KR100838556B1 (ko) 2004-03-18 2008-06-17 콸콤 인코포레이티드 보안 실시간 프로토콜에서 암호정보의 효율적 전송
WO2005101975A2 (en) * 2004-04-22 2005-11-03 Fortress Gb Ltd. Accelerated throughput synchronized word stream cipher, message authenticator and zero-knowledge output random number generator
US20060098822A1 (en) * 2004-11-05 2006-05-11 Markey John K Interoperable conditional access receptors without consensual key sharing
US7680273B2 (en) * 2004-12-08 2010-03-16 Schweitzer Engineering Laboratories, Inc. System and method for optimizing error detection to detect unauthorized modification of transmitted data
WO2006066999A2 (en) * 2004-12-22 2006-06-29 International Business Machines Corporation Method, system and computer program product for handling data
US7814320B2 (en) 2005-07-19 2010-10-12 Ntt Docomo, Inc. Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
US7873166B2 (en) 2005-09-13 2011-01-18 Avaya Inc. Method for undetectably impeding key strength of encryption usage for products exported outside the U.S
US8842839B2 (en) 2005-09-29 2014-09-23 Hewlett-Packard Development Company, L.P. Device with multiple one-time pads and method of managing such a device
US8050411B2 (en) 2005-09-29 2011-11-01 Hewlett-Packard Development Company, L.P. Method of managing one-time pad data and device implementing this method
US8250363B2 (en) 2005-09-29 2012-08-21 Hewlett-Packard Development Company, L.P. Method of provisioning devices with one-time pad data, device for use in such method, and service usage tracking based on one-time pad data
US8020006B2 (en) 2006-02-10 2011-09-13 Cisco Technology, Inc. Pipeline for high-throughput encrypt functions
US8700818B2 (en) * 2006-09-29 2014-04-15 Mosaid Technologies Incorporated Packet based ID generation for serially interconnected devices
KR101530391B1 (ko) 2006-10-12 2015-06-22 인터디지탈 테크날러지 코포레이션 브로드캐스트된 무작위 잡음을 이용하여 무선 장치의 암호 능력을 향상시키는 방법 및 시스템
US8213607B2 (en) * 2006-10-18 2012-07-03 Qualcomm Incorporated Method for securely extending key stream to encrypt high-entropy data
JP4827717B2 (ja) * 2006-12-20 2011-11-30 三菱電機株式会社 通信システム及び発信側端末装置及び着信側端末装置
JP5298442B2 (ja) * 2007-03-12 2013-09-25 株式会社リコー 無線通信システム及び乱数配信端末
JP2008234051A (ja) 2007-03-16 2008-10-02 Ntt Communications Kk 混合乱数生成装置、その方法、そのプログラム、その記録媒体、及び混合乱数生成装置を用いた情報処理システム
ES2644485T3 (es) 2007-05-22 2017-11-29 Tubitak Procedimiento y equipo para generar números aleatorios utilizando la arquitectura de un doble oscilador y caos de tiempo continuo
US8233624B2 (en) * 2007-05-25 2012-07-31 Splitstreem Oy Method and apparatus for securing data in a memory device
US20080298583A1 (en) 2007-05-31 2008-12-04 Lucent Technologies Inc. System and method of quantum encryption
US8265272B2 (en) 2007-08-29 2012-09-11 Red Hat, Inc. Method and an apparatus to generate pseudo random bits for a cryptographic key
US8391488B2 (en) 2008-01-18 2013-03-05 Geocodex Llc Method and apparatus for using navigation signal information for geoencryption to enhance security
US7945049B2 (en) 2008-02-28 2011-05-17 Red Hat, Inc. Stream cipher using multiplication over a finite field of even characteristic
JP2009265159A (ja) 2008-04-22 2009-11-12 Nec Corp 秘匿通信ネットワークにおける共有乱数管理方法および管理システム
GB0812775D0 (en) * 2008-07-11 2008-08-20 Univ Aston Secure communication method
US8213620B1 (en) 2008-11-17 2012-07-03 Netapp, Inc. Method for managing cryptographic information
US8539009B2 (en) 2008-12-16 2013-09-17 Lsi Corporation Parallel true random number generator architecture
US8116336B2 (en) * 2009-01-27 2012-02-14 Sony Corporation Distributed IP address assignment protocol for a multi-hop wireless home mesh network with collision detection
CN101800724B (zh) * 2009-02-11 2012-10-24 北京泰美世纪科技有限公司 移动多媒体广播发送系统
US8194858B2 (en) * 2009-02-19 2012-06-05 Physical Optics Corporation Chaotic cipher system and method for secure communication
US20110028091A1 (en) 2009-08-03 2011-02-03 Motorola, Inc. Method and system for near-field wireless device pairing
US10102352B2 (en) * 2009-08-10 2018-10-16 Arm Limited Content usage monitor
US8160243B1 (en) 2009-10-01 2012-04-17 Rockwell Collins, Inc. System, apparatus, and method for the secure storing of bulk data using one-time pad encryption
US8458452B1 (en) 2009-10-26 2013-06-04 James P. Morgan System and method for encryption and decryption of data transferred between computer systems
US8386800B2 (en) 2009-12-04 2013-02-26 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
JP5575493B2 (ja) * 2010-01-22 2014-08-20 株式会社ジェーシービー 決済システム
US8948377B2 (en) 2010-08-24 2015-02-03 Mitsubishi Electric Corporation Encryption device, encryption system, encryption method, and encryption program
CN103609059B (zh) 2010-09-20 2016-08-17 安全第一公司 用于安全数据共享的系统和方法
US8924706B2 (en) 2010-11-05 2014-12-30 Protected Mobility, Llc Systems and methods using one time pads during the exchange of cryptographic material
US8401186B2 (en) 2010-11-29 2013-03-19 Beijing Z&W Technology Consulting Co., Ltd. Cloud storage data access method, apparatus and system based on OTP
CN101984574B (zh) 2010-11-29 2012-09-05 北京卓微天成科技咨询有限公司 一种数据加解密方法及装置
US8914635B2 (en) 2011-07-25 2014-12-16 Grey Heron Technologies, Llc Method and system for establishing secure communications using composite key cryptography
US9300472B2 (en) * 2011-09-30 2016-03-29 Nokia Technologies Oy Method and apparatus for improving digital signatures
KR101620246B1 (ko) * 2011-10-24 2016-05-23 코닌클리즈케 케이피엔 엔.브이. 콘텐츠의 보안 배포
DE102011121567A1 (de) * 2011-12-20 2013-06-20 Giesecke & Devrient Gmbh Verfahren zum kontaktlosen Auslesen eines Identifikationsdokuments
CN103491534B (zh) 2012-06-13 2016-05-18 株式会社理光 发射设备、接收设备、通信系统及其控制方法
US20130343542A1 (en) 2012-06-26 2013-12-26 Certicom Corp. Methods and devices for establishing trust on first use for close proximity communications
US10102390B2 (en) * 2012-06-28 2018-10-16 Honeywell International Inc. Memory authentication with redundant encryption
US8879733B2 (en) 2012-07-10 2014-11-04 Infineon Technologies Ag Random bit stream generator with guaranteed minimum period
US9998918B2 (en) * 2013-01-25 2018-06-12 Sd Science & Development Sa Satellite based key agreement for authentication
US9331985B2 (en) 2013-04-24 2016-05-03 Intellectual Discovery Co., Ltd. Portable device, a stationary device, a digital device and a method for performing secure communication using thereof
US9584313B2 (en) 2013-08-09 2017-02-28 Introspective Power, Inc. Streaming one time pad cipher using rotating ports for data encryption
US9084112B2 (en) 2013-10-14 2015-07-14 Trellisware Technologies, Inc. Secure group key agreement for wireless networks
US9866389B2 (en) * 2014-01-24 2018-01-09 Footmarks, Inc. Multi-broadcast beacon signals
US11228427B2 (en) * 2014-02-11 2022-01-18 Ericsson Ab System and method for securing content keys delivered in manifest files
US20150229621A1 (en) 2014-02-13 2015-08-13 Safe Frontier Llc One-time-pad data encryption in communication channels
US20160197729A1 (en) * 2015-01-05 2016-07-07 Advanced Micro Devices, Inc. Location aware cryptography

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11224183A (ja) * 1998-02-05 1999-08-17 Toyo Commun Equip Co Ltd 擬似乱数発生装置
KR20040100850A (ko) * 2002-04-19 2004-12-02 소니 가부시끼 가이샤 키 생성 장치, 부호화 복호화 장치 및 키 생성 방법
JP2004080663A (ja) * 2002-08-22 2004-03-11 Abel Systems Inc 暗号化/復号鍵の鍵生成方法、暗号化/復号鍵の鍵生成装置、暗号化/復号鍵の鍵生成プログラムならびにコンピュータで読取可能な記録媒体
JP2009245227A (ja) * 2008-03-31 2009-10-22 Fujitsu Ltd 情報記憶装置
WO2010150813A1 (ja) * 2009-06-23 2010-12-29 パナソニック電工株式会社 暗号鍵配布システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Alfred J. Menezes 외 2명, Handbook of Applied Cryptography, CRC Press (1996.)* *

Also Published As

Publication number Publication date
US9425954B1 (en) 2016-08-23
EP3609116A1 (en) 2020-02-12
US20180254886A1 (en) 2018-09-06
KR20240118896A (ko) 2024-08-05
JP2018530280A (ja) 2018-10-11
EP3965357A1 (en) 2022-03-09
KR102688953B1 (ko) 2024-07-29
US12058237B2 (en) 2024-08-06
US20170078087A1 (en) 2017-03-16
US20200186326A1 (en) 2020-06-11
ES2899407T3 (es) 2022-03-11
JP7254879B2 (ja) 2023-04-10
JP2023082113A (ja) 2023-06-13
US20210160052A1 (en) 2021-05-27
EP3350954B1 (en) 2019-10-23
HRP20200054T1 (hr) 2020-05-15
US10778413B2 (en) 2020-09-15
JP2022017542A (ja) 2022-01-25
JP6976951B2 (ja) 2021-12-08
EP3609116B1 (en) 2021-11-03
US9660803B2 (en) 2017-05-23
WO2017048819A1 (en) 2017-03-23
US10903984B2 (en) 2021-01-26
EP3350954A1 (en) 2018-07-25
ES2770851T3 (es) 2020-07-03

Similar Documents

Publication Publication Date Title
JP7254879B2 (ja) 共振暗号化のためのデバイス及び方法
Zeng et al. Safevanish: An improved data self-destruction for protecting data privacy
US11588627B2 (en) Systems and methods for utilizing quantum entropy in single packet authorization for secure network connections
Kakkar A survey on secure communication techniques for 5G wireless heterogeneous networks
Chattaraj et al. Designing fine-grained access control for software-defined networks using private blockchain
CN114826702B (zh) 数据库访问密码加密方法、装置和计算机设备
Prakash et al. Data security in wired and wireless systems
Hans et al. An Evaluation and Implementation of Pretty Good Privacy (PGP) in Wireless Network Security
Trivedi et al. Security and privacy aspects in the internet of things (IoT) and cyber-physical systems (CPS)
Pfluegel et al. A secure channel using social messaging for distributed low-entropy steganography
Sarumi A review of encryption methods for secure data communication
Ye et al. Secure Marine Environment Communication: A Multiobject Authentication Protocol Based on Secret Sharing
Buhari et al. A quantum based challenge-response user authentication scheme over noiseless channel
Rayapati et al. Security in Cloud Technologies: A Brief Overview
Khalid et al. Authentication mechanism for cloud network and its fitness with quantum key distribution protocol: A survey
Jarosz et al. Distributed Ledger-Based Authentication and Authorization of IoT Devices in Federated Environments.
Kumar et al. Ensuring of Secure Data Transmission by Modified Encryption and Decryption Method in IoT
Al Khazaali et al. Blockchain simulation model for a communication system in IoT devices
Sendhil Privacy preserving data aggregation techniques for handling false data injection attacks in fog computing
Olteanu et al. Studying non-intrusive tracing in the internet
Gupta et al. Implementation of Anonymous Authentication in Cloud
Kalaiselvi et al. An efficient mechanism for protecting grid from attack using GSOC
Fernholz A SUR VEY OF CRYPTOGRAPHY AND NETWORK SECURITY

Legal Events

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