KR20230050464A - 알려진 사용자 사이의 보안 통신 - Google Patents

알려진 사용자 사이의 보안 통신 Download PDF

Info

Publication number
KR20230050464A
KR20230050464A KR1020237009444A KR20237009444A KR20230050464A KR 20230050464 A KR20230050464 A KR 20230050464A KR 1020237009444 A KR1020237009444 A KR 1020237009444A KR 20237009444 A KR20237009444 A KR 20237009444A KR 20230050464 A KR20230050464 A KR 20230050464A
Authority
KR
South Korea
Prior art keywords
message
key
encryption
cryptographic
processor
Prior art date
Application number
KR1020237009444A
Other languages
English (en)
Inventor
스티븐 디. 모한
레오나르드 제이. 데로마
기든 벤-도브
Original Assignee
에스엔투엔, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스엔투엔, 엘엘씨 filed Critical 에스엔투엔, 엘엘씨
Publication of KR20230050464A publication Critical patent/KR20230050464A/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Diaphragms For Electromechanical Transducers (AREA)

Abstract

계산적으로 안전한 암호화된 정보를 송신하기 위한 시스템 및 방법이 개시되며, 이러한 송신된 정보가 적정한 기간 내에 또는 통상적인 컴퓨터 처리 능력으로 해독될 가능성은 매우 낮다. 유리하게는, (1) 알려지고 승인된 보안 장치들 사이에 보안 암호화 통신을 생성하는 데 사용할 수 있는 별도의 암호 키 목록을 포함하는 메모리 모듈과, (2) 하드웨어에서 부분적으로 또는 전체적으로 구현된 암호 키 선택 및 대응하는 코드 생성 기술의 조합은 상대적으로 저비용인 매우 계산적으로 안전한 통신 시스템 및 방법을 만든다. 이러한 조합은, 해커가 이전 통신 세션에서 어떤 암호 키가 사용되었는지 어떻게든 알고 있더라도, 이러한 해커가 이러한 알려진 암호 키에 기초하여 미래의 통신 세션에서 어떤 암호 키가 사용될 것인지 예측할 수 없기 때문에, 예측할 수 없거나 거의 예측할 수 없는 암호 키의 구현을 용이하게 한다.

Description

알려진 사용자 사이의 보안 통신
본 개시 내용은 알려진 사용자 사이의 보안 통신을 위한 시스템 및 방법에 관한 것으로, 더욱 구체적으로는 보안 암호화 통신 시스템 및 방법에 관한 것이다.
아래에 인용되거나 의존되는 모든 문서는 본 명세서에 참조로 명시적으로 포함된다.
사이버 보안은 오늘날의 세계에서 많은 의미를 갖는다. 컴퓨터 바이러스에서 랜섬웨어, 데이터 침해 및 기타 다른 것에 이르기까지 모든 것이 사이버 보안에 대한 과제를 제시한다. 초기 컴퓨터는 케이블을 통해 그리고 궁극적으로는 구리 전화선에서의 모뎀을 통해 서로 연결되었다. 현재 환경에서, 무선으로 통신하여 "인터넷"에 진입하는 장치의 유비쿼터스로의 이동은 적용 분야를 변화시켰고 이를 계속 변화시키고 있다.
16세 소년이 부모의 집 지하실에서 교묘한 국제적인 악의적 행위자에게 해킹하는 스릴을 위해 사람이 속하지 않은 컴퓨터 시스템에 은밀히 침입하는 "해킹"의 개념이 엄청나게 증가했다. 예를 들어, 은행, 중개 회사, 신용 조사 기관, 보험 회사, 소매 상인, 의료 기관 등으로부터의 개인 금융 데이터 도난으로 인해 데이터 침해 비용은 매년 수억 달러에 달한다. 추가적으로, 이식된 심박 조율기나 전력망 또는 자율 주행 차량에 침입할 수 있는 해커의 능력으로 인해 개인 및 국민 건강에 대한 위험이 급등하였다. 실질적으로 모든 산업, 모든 군사 작전, 모든 정부 기관 및 모든 장치는 컴퓨터나 스마트폰을 사용하는 영리한 해커를 위한 잠재적인 진입점이 된다. 거의 매일, 뉴스는 해킹, 몸값 및 데이터 침해에 대한 여러 이야기를 포함한다. 그러나, 특정 홍보 목적을 위해, 이야기의 일부만 공개되며 대다수는 조용히 해결된다. 어쨌든, 그것은 소비자, 정부 및 민간 산업에 비용이 든다.
보안 취약점의 일부 예는 2개의 휴대 전화, 응급 의료요원 시스템에서의 마이크로웨이브 통신, 자율 주행 차량들, 네트워크에 연결된 의료 장치들, 군인/본부/드론 사이의 전쟁터 통신, 전력망들, 은행과 그 고객, 은행과 거래처 은행들, 채권 딜러와 연방 준비 은행, 기업 내 글로벌 가격 및 마케팅 데이터, 의료 데이터, 변호사와 고객, 투자 은행가와 공개 회사의 인수자, 연인과 그의 애인 및 많은 다른 것들 사이의 통신을 포함한다. 이러한 취약성의 바람직하지 않은 결과 중 하나는 재판매 가치가 있는 데이터 공개의 위험을 포함한다; 다른 것은, 예를 들어, 악의적 행위자가 누군가의 심박 조율기를 해킹하여 인질로 잡거나, 모든 자율 주행 차량이 시속 60마일로 적색 신호등에서 달리게 하는 것과 같이 치명적일 수 있는 상황을 포함한다.
지난 35년 동안, 컴퓨터 보안은 다른 것들 중에서도 소프트웨어 전용 솔루션에 중점을 두어 왔다. 예를 들어, 이러한 솔루션은 안티바이러스 소프트웨어, 맬웨어 방지, 프로그래머블 방화벽, 제로 데이 패턴 검출, 소프트웨어 암호화 및 대체 방법론을 포함하였다. 이들 중 일부는 다른 것보다 더 나은 이들 모두의 공통점은 어느 것도 일관되고 광범위하게 적용할 수 없다는 것이다. 각각은 특정 상황을 대상으로 하며, 그런 경우에도 거의 매일 뉴스에서 볼 수 있는 바와 같이, 이들은 돌파될 수 있다.
계산적으로 안전한 암호화된 정보를 송신하기 위한 시스템 및 방법이 개시되며, 이러한 송신된 정보가 적정한 기간 내에 또는 통상적인 컴퓨터 처리 능력으로 해독될 수 있는 가능성은 매우 낮다. 이러한 시스템 및 방법은, 유리하게는, (1) 알려지고 승인된 보안 장치들 사이에 보안 암호화 통신을 생성하는 데 사용할 수 있는 별도의 암호 키 목록을 포함하는 메모리 모듈과, (2) 하드웨어에서 부분적으로 또는 전체적으로 구현된 암호 키 선택 및 대응하는 코드 생성 기술의 조합에 의존한다. 이러한 조합은, 해커가 이전 통신 세션에서 어떤 암호 키가 사용되었는지 어떻게든 알고 있더라도, 이러한 해커가 이러한 알려진 암호 키에 기초하여 현재 또는 미래의 통신 세션에서 어떤 암호 키가 사용될 것인지 예측할 수 없기 때문에, 예측할 수 없거나 거의 예측할 수 없는 각각의 통신 세션에 대한 암호 키를 선택하는 것을 용이하게 한다.
또한, 이들 실시예의 시스템 및 방법은, 유리하게는, 소프트웨어 기반 보안 장치의 통신을 해킹하는 해커의 계속 증가하는 능력을 방해하기 위해 소프트웨어 기반 암호화 기술에 의해 요구되는 간헐적인 소프트웨어 업데이트를 요구하지 않는다. 해커는 보안 장치에 액세스하고 이를 리버스 엔지니어링해야 할 필요가 있으며, 메모리 모듈 내의 어느 암호 키 목록이 본 명세서에 설명된 실시예의 시스템 및 방법을 해킹하기 위해 어느 특정의 다른 보안 장치와의 보안 통신에 사용할 수 있는지 어떻게든 결정할 필요가 있다. 뿐만 아니라, 암호화된 데이터 버스를 구현하는 실시예의 경우, 해커는 이러한 데이터 버스 암호화에 사용되는 암호화 방법 및 암호 키를 유사하게 결정해야 할 것이다. 보안 장치의 이러한 컴포넌트에 대한 액세스 및 리버스 엔지니어링 시도를 방지하기 위해, 추가 컴포넌트가 본 발명의 특정 실시예에 포함되어, 이러한 컴포넌트의 컨텐츠를 드러내려는 의도를 갖는 x-선 조사, 마이크로 드릴링 또는 임의의 다른 기계적이거나 광학적인 수단을 방지할 수 있다.
본 발명의 특정 실시예에 따르면, 네트워크를 통해 암호화된 통신을 송신하기 위한 보안 장치는, 제1의 다른 보안 장치로 전송할 적어도 하나의 메시지를 수신하기 위한 입력을 갖는 프로세서 - 프로세서는 적어도 하나의 데이터 버스에 결합됨 -; 프로세서에 통신 가능하게 결합되고, 제1의 다른 보안 장치와의 통신에 사용하기 위한 적어도 하나의 암호 키 목록을 저장하기 위한 메모리 모듈 - 제1의 다른 보안 장치는 적어도 하나의 암호화 키 목록의 저장된 사본을 갖는 메모리를 가짐 -; 프로세서에 결합된 암호 선택 회로 - 암호 선택 회로는 적어도 하나의 암호 키 목록에 기초하는 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키를 나타내는 선택 코드를 알고리즘에 기초하여 생성하도록 구성되고, 제1의 다른 보안 장치의 대응하는 암호 선택 회로는 제1의 다른 보안 장치의 메모리 내의 적어도 하나의 암호 키 목록의 저장된 사본으로부터 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키의 사본을 생성하기 위하여 선택 코드를 처리하도록 구성됨 -; 및 상기 프로세서에 통신 가능하게 결합되고, 네트워크를 통해 제1의 다른 보안 장치로 디지털 정보를 송수신하도록 구성된 네트워크 인터페이스를 포함한다.
프로세서는: 선택 코드를 생성하고, 핸드쉐이크 메시지를 생성하여 네트워크 인터페이스를 통해 제1 수신기 시스템으로 송신하기 위하여 암호 선택 회로를 활성화함으로써 초기화 단계로 동작하도록 구성되고 - 핸드쉐이크 메시지는 보안 장치 및 제1의 다른 보안 장치의 암호화되지 않은 네트워크 어드레스와 선택 코드를 포함함 -; 제1의 다른 보안 장치에 의해 송신된 응답 핸드쉐이크 메시지를 수신함에 따라 확인 단계로 동작하고, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키로 응답 핸드쉐이크 메시지의 제1 및 제2 세그먼트를 각각 처리하여 제1 및 제2 데이터 시컨스를 획득하고, 제1 데이터 시컨스를 메시지 암호화 암호 키에 비교하고 제2 데이터 시컨스를 메시지 복호화에 비교하여 제1 및 제2 데이터 시컨스가 선택 코드와 연관된 메시지 암호화 및 복호화 암호 키와 각각 대응한다고 확인하도록 구성되고, 획득된 제1 및 제2 데이터 시퀀스가 선택 코드와 연관된 메시지 암호화 및 복호화 암호 키와 각각 대응한다고 확인함에 따라, 프로세서는, 메시지 암호화 암호 키에 기초하여 자신의 입력에서 수신된 적어도 하나의 메시지를 암호화함으로써 송신 단계로 동작하고, 결과적인 암호화된 적어도 하나의 메시지를 네트워크 인터페이스를 통해 제1의 다른 보안 장치로 송신하도록 더 구성된다.
본 발명의 특정 방법 실시예에 따르면, 보안 장치는 제1의 다른 보안 장치로 전송할 적어도 하나의 메시지를 수신하기 위한 입력을 갖는 프로세서 - 프로세서는 적어도 하나의 데이터 버스에 결합됨 -, 적어도 하나의 암호 키 목록을 저장하기 위한 메모리 모듈, 적어도 하나의 암호 키 목록에 기초하여 선택 코드를 생성하기 위한 암호 선택 회로, 및 네트워크를 통해 제1의 다른 보안 장치로 디지털 정보를 송수신하도록 구성된 네트워크 인터페이스를 포함하고, 다음과 같이 동작한다. 프로세서는, 적어도 하나의 암호 키 목록에 기초하여 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키를 나타내는 선택 코드를 생성하도록 암호 선택 회로를 활성화하고, 제1의 다른 보안 장치 내의 대응하는 암호 선택 회로는 제1의 다른 보안 장치의 메모리 내의 적어도 하나의 암호 키 목록의 저장된 사본으로부터 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키의 사본을 생성하기 위하여 선택 코드를 처리하도록 구성된다. 그 다음, 프로세서는, 보안 장치 및 제1의 다른 보안 장치의 암호화되지 않은 네트워크 어드레스와 선택 코드를 포함하는 핸드쉐이크 메시지를 생성하고, 핸드쉐이크 메시지를 제1의 다른 보안 장치로 송신한다.
제1의 다른 보안 장치로부터 응답 핸드쉐이크 메시지를 수신한 것에 따라, 프로세서는 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키로 응답 핸드쉐이크 메시지의 제1 및 제2 세그먼트를 각각 처리하여, 제1 및 제2 데이터 시컨스를 획득하고, 제1 데이터 시컨스를 메시지 암호화 암호 키에 비교하고 제2 데이터 시컨스를 메시지 복호화 암호 키에 비교하여, 제1 및 제2 데이터 시컨스가 선택 코드와 연관된 메시지 암호화 및 복호화 암호 키와 각각 대응한다고 확인한다. 획득된 제1 및 제2 데이터 시퀀스가 선택 코드와 연관된 메시지 암호화 및 복호화 암호 키와 각각 대응한다고 확인함에 따라, 보안 장치는, 메시지 암호화 암호 키를 이용하여 자신의 입력에서 수신된 적어도 하나의 메시지를 암호화하고, 결과적인 암호화된 적어도 하나의 메시지를 네트워크 인터페이스를 통해 제1의 다른 보안 장치로 송신함으로써 송신 단계로 동작한다.
네트워크를 통해 암호화된 통신을 복수의 다른 보안 장치에 송신하기 위한 보안 장치에 대한 다른 실시예는, 제1의 다른 보안 장치로 전송할 적어도 하나의 메시지를 수신하기 위한 입력을 갖는 프로세서 - 프로세서는 적어도 하나의 데이터 버스에 결합됨 -; 프로세서에 통신 가능하게 결합되고, 제1의 다른 보안 장치와의 통신에 사용하기 위한 적어도 하나의 암호 키 목록을 저장하기 위한 메모리 모듈 - 제1의 다른 보안 장치는 적어도 하나의 암호화 키 목록의 저장된 사본을 갖는 메모리를 가짐 -; 프로세서에 결합된 암호 선택 회로 - 암호 선택 회로는, 적어도, 적어도 하나의 암호 키 목록에 기초하는 메시지 암호화 암호 키 및 핸드쉐이크 메시지 암호화 암호 키를 나타내는 선택 코드를 생성하도록 구성되고, 복수의 다른 보안 장치 각각에서의 대응하는 암호 선택 회로는 복수의 다른 보안 장치 각각에서 적어도 하나의 암호 키 목록의 저장된 사본으로부터 메시지 암호화 암호 키 및 핸드쉐이크 메시지 암호화 암호 키의 사본을 생성하기 위하여 선택 코드를 처리하도록 구성됨 -; 및 상기 프로세서에 통신 가능하게 결합되고, 네트워크를 통해 복수의 다른 보안 장치로 디지털 정보를 송수신하도록 구성된 네트워크 인터페이스를 포함한다.
이러한 실시예에서, 프로세서는, 선택 코드를 생성하고, 핸드쉐이크 메시지를 생성하여 네트워크 인터페이스를 통해 복수의 다른 보안 장치로 송신하기 위하여 암호 선택 회로를 활성화함으로써 초기화 단계로 동작하도록 구성되고, 핸드쉐이크 메시지는 복수의 다른 보안 장치와 연관된 암호화되지 않은 그룹 번호와 선택 코드를 포함하고, 프로세서는, 메시지 암호화 암호 키에 기초하여 자신의 입력에서 수신된 적어도 하나의 메시지를 암호화함으로써 송신 단계로 동작하고, 결과적인 암호화된 적어도 하나의 메시지를 네트워크 인터페이스를 통해 복수의 다른 보안 장치로 송신하도록 구성된다.
본 발명의 또 다른 방법 실시예에 따르면, 보안 장치는 복수의 다른 보안 장치로 전송할 적어도 하나의 메시지를 수신하기 위한 입력을 갖는 프로세서 - 프로세서는 적어도 하나의 데이터 버스에 결합됨 -, 적어도 하나의 암호 키 목록을 저장하기 위한 메모리 모듈, 적어도 하나의 암호 키 목록에 기초하여 선택 코드를 생성하기 위한 암호 선택 회로, 및 복수의 다른 보안 장치로 송신하도록 구성된 네트워크 인터페이스를 포함하고, 다음과 같이 동작한다.
프로세서는, 적어도 하나의 암호 키 목록에 기초하여 메시지 암호화 암호 키 및 핸드쉐이크 메시지 암호화 암호 키를 나타내는 선택 코드를 생성하도록 암호 선택 회로를 활성화하고, 복수의 다른 보안 장치 각각에서의 대응하는 암호 선택 회로는 복수의 다른 보안 장치 각각의 메모리 내의 적어도 하나의 암호 키 목록의 저장된 사본으로부터 메시지 암호화 암호 키 및 핸드쉐이크 메시지 암호화 암호 키의 사본을 생성하기 위하여 선택 코드를 처리하도록 구성된다. 프로세서는, 복수의 다른 보안 장치와 연관된 암호화되지 않은 그룹 번호와 선택 코드를 포함하는 핸드쉐이크 메시지를 생성하고, 핸드쉐이크 메시지를 복수의 다른 보안 장치로 송신한다. 그 다음, 프로세서는, 메시지 암호화 암호 키를 이용하여 자신의 입력에서 수신된 적어도 하나의 메시지를 암호화하고, 결과적인 암호화된 적어도 하나의 메시지를 네트워크 인터페이스를 통해 복수의 다른 보안 장치로 송신함으로써 송신 단계로 동작한다.
네트워크에서 적어도 2개의 노드(장치) 사이에 완전하고, 안전하며, 신뢰할 수 있는 통신을 갖는 것도 유익할 것이다. 이러한 노드들은 휴대 전화로의 컴퓨터 서버, 의료 기록 영역으로의 x-선 기계, 군인으로의 드론일 수 있다. 이것은 악의적 행위자가 시스템에 침입하는 것을 방지하기 위해 함께 작동하는 하드웨어와 소프트웨어의 조합으로 가장 잘 수행될 수 있다. 많은 맬웨어 및 바이러스 방지 기술은 식별하고 이를 무력화하려는 위협 또는 공격 및 시도를 식별하기 위한 소프트웨어의 능력에 따라 달라진다. 이러한 기술이 발전하는 것만큼 빠르게, 해커는 이를 우회하는 방법을 찾고 새로운 공격 방법을 생성한다. 본 명세서에 개시된 방법론 및 이를 구현하는 장치는 이러한 행위가 발생하는 것을 방지한다. 장치의 우아함은 높은 레벨의 디자인의 단순성뿐만 아니라, 이것이 올바르게 실행되는 방식의 복잡성이다. 설계는 저렴하게 구현될 수 있으며, 이는 정보 기관에 의해 사용되는 것과 같은 신뢰할 수 있는 보안 특성을 제공하지만 훨씬 더 비싼 보안 장치와 대조된다. 정보 커뮤니티는 무장 경비원과 관리인이 있는 잠긴 문 뒤에 있는 전용 장치에 의존한다. 장비비 및 인건비가 비싸고, 이동성이 발생할 수 있는 방법이 없어, 이에 따라 휴대 전화, 심박 조율기, 자율 주행 차량, 사물 인터넷(IoT) 등과 같은 사물을 위한 유형의 장치의 사용을 불가능하게 한다.
교시 내용의 다양한 실시예는 예를 들어 특정의 인가된 사용자와의 직교 관계를 필요로 하는 모바일 장치와 고정되고 보안되는 장치 사이의 차이에 대해 상이하지만 관련된 기술을 허용한다.
본 발명의 일 양태에서, 2개의 장치 사이의 보안 통신은 휴대 전화 또는 응급 의료요원 마이크로웨이브 통신 장치와 같은 모바일 장치를 포함할 수 있고, 다른 것들 중에서도, 홍채 스캔, 얼굴 인식, 지문 스캔, 손의 기하학적 구조, 손가락의 기하학적 구조, 정맥 인식, 음성 인증 또는 DNA 신원을 포함하지만 이에 국한되지 않을 수 있는 일부 생체 인식 신원 요소를 갖는 장치 1(D1)과 같은 하나의 장치를 포함할 수 있다. 이것은 장치를 보유한 사람이 해당 장치를 보유할 수 있는 권한을 가진다는 것, 즉 그 사람이 알려진 신뢰할 수 있는 사용자(known, trusted user(KTU))라는 것을 확인한다. 이것은 초기화된 후에는 공장 초기화 이외의 방법으로 변경될 수 없다. 장치 2(D2)와 같은 제2 장치는 생체 인식 신원을 가질 수 있지만 반드시 동일한 기술을 사용하지는 않는다.
D1은 아직 켜져 있지 않은 경우 전원을 켜서 대화를 초기화한다. 보안 아이콘과 생체 인식 아이콘이 디스플레이된다. 해당 장치에 대한 생체 인식, 예를 들어 지문이 감지 또는 판독될 수 있다. 위에서 언급된 바와 같이, 생체 인식은 KTU가 D1을 제어하고 있다고 식별하는 임의의 요소일 수 있다. 생체 인식이 감지되거나 판독되어 인증되면, 장치는 초기화 모드로 들어갈 것이다. 일 양태에서, 예로서 스마트폰을 사용하면, 스마트폰의 스크린은 "초기화 단계"와 같은 메시지를 표시함으로써 사용자에게 알릴 것이다. 이 모드 동안, 3개의 강력한 암호/키(아래에서 설명)가 D1 메모리로부터 D1 레지스터로 로딩된다. 암호가 올바르게 로딩되지 않거나, 예를 들어 기술적인 이유로 초기화가 실패하거나, 특정된 기간(예를 들어, 15초)에 초기화에 대한 요청 후 초기화가 발생하지 않으면, 초기화는 실패하고 장치가 정지되어 다시 초기화되어야 할 수 있다. 성공적으로 초기화되면, D1은 핸드쉐이크 메시지가 암호 중 하나에 의해 암호화되고 D2에 연결하려는 시도가 이루어지는 동작 모드에 진입한다. 동시에, D1은 레지스터 3에서의 제1 암호를 사용하여 데이터 버스를 암호화하고 있다. 본 발명의 일 실시예에서, 암호는, 다른 것들 중에서, 전치 또는 대체 암호와 같은 다수의 암호화 기술 중 임의의 하나를 이용하거나, 다른 것들 중에서, AES, RSA, 3중 대칭 키 암호(triple DES), 블로피시(blowfish)와 같은 다른 인정된 기술의 일부를 이용하여 사용될 수 있다. 본 발명의 다른 실시예에서, 암호는 비 ASCII(non-ASCII) 캐릭터 세트를 대체함으로써 메시지를 암호화할 것이다. 본 발명의 일 실시예는, (1) 적어도 거의 동등한 길이의 다른 암호 및 선택적인 암호 갱신(cipher renewal(CR))을 포함하는 핸드쉐이크 메시지 및 (2) D1의 인가된 사용자를 검증하는데 사용되는 생체 인식의 암호화된 이미지를 암호화할 것이다. 추가적으로, 현재 타임스탬프, 발신 MAC(Media Access Control) 어드레스 및 수신 MAC 어드레스가 평문(plaintext)으로 메시지에 추가된다.
연결 요청을 수신한 것에 따라, D2 KTU는 자신의 측에서 동일한 행동을 수행할 필요가 있다. 즉, KTU의 생체 인식 인증을 수행할 필요가 있다. 동일한 시퀀스의 초기화 단계 및 동작 단계가 순환될 것이다. D2가 작동되면, 평문의 MAC 어드레스 및 타임스탬프와 함께 암호화된 핸드쉐이크의 송신문이 D2로 송신된다. 일 실시예에서, D1 지문도 송신된다. 일 실시예에서, 메시지 본문에 대하여 사용되는 암호화 키도 암호화되어 메시지의 일부가 된다. 일 실시예에서, CR이 암호화되고 메시지의 일부가 된다. D2는 암호화된 메시지를 읽고, D1이 메시지를 암호화하는 데 사용한 것과 동일한 암호화 키를 사용하여 이를 복호화하며, 핸드쉐이크, 송신 MAC 어드레스, 수신 MAC 어드레스 및 타임스탬프가 일치하면, D2는 자신의 핸드쉐이크 메시지를 다시 전송함으로써 D1 메시지를 승인하는 유사한 시퀀스를 수행하고, 통신이 허용된다. 그렇지 않은 경우, D2는 공격을 받고 있다고 가정하고 임의의 추가 통신을 정지시킨다. 일 실시예에서, 메시지는 포렌식 목적으로 보존된다.
컴퓨터 서버와 같은 고정 장치를 포함하는 본 발명의 일 실시예에서, D1 및 D2는 서버 팜(server farm)에서와 같이 물리적으로 보안되고 보호될 것이다. 이들이 인간에게 할당되지 않기 때문에, 생체 인식 신원은 없을 것이다. 그러나, D1 지문의 송신 이외의 핸드쉐이크 시퀀스는 동일할 것이다. 잠겨 있지 않지만 메시지를 송신할 수 있는 특정의 인가된 사용자를 가지지 않는 다른 장치도 잠겨 있는 고정 장치와 유사하다. IoT 장치와 같은 장치, 예를 들어, 무선 네트워크에 연결된 "스마트" 가정용 온도 조절 장치는 확인을 한번 확립하지만, 무선으로 항상 연결될 것이다. 이러한 방식으로, 그 네트워크와만 통신할 수 있으며, 네트워크로의 침입을 시도하는 잠재적인 악의적 행위자와는 통신할 수 없다. 네트워크와의 통신이 끊어지면, 장치는 연결 및 핸드쉐이크 시퀀스를 재확립해야 한다.
각각의 장치는 중앙 처리 유닛, 다수의 활성 레지스터 및 저장 장치로 구성된 보안 유닛(secure unit(SU))을 가질 것이다. 중앙 처리 유닛은 특수하게 설계된 계산 장치, FPGA(Field Programmable Gate Array), ASIC(Application Specific Integrated Circuit) 또는 컴퓨터 프로그램 실행을 생성할 수 있는 요소들의 일부 다른 조합일 수 있다. 궁극적인 보안을 위해, 대칭 암호화가 사용되며, 이는 통신의 각각의 측이 동일한 키를 사용하여야 한다는 것을 의미한다. 키가 유효하려면, 반복될 필요가 더 적을수록 발견될 수 있는 가능성이 더 적도록 실용적인 만큼 길어야 할 필요가 있다. 키가 더욱 랜덤일수록, 악의적 행위자에 의해 발견될 수 있는 가능성이 더 적다. 완전히 랜덤인 키는 기존의 캐릭터(character)를 알고 있는 다음 캐릭터를 결정하는 것이 불가능하다는 것을 의미한다. 어떤 컴퓨터 소프트웨어도 완전히 랜덤인 일련의 비트를 생성할 수 없다. 조건부 비트는 없을 것이다: 각각의 "1" 또는 "0"은 동일한 발생 확률을 가질 것이다. 최고의 컴퓨터 소프트웨어라도 충분한 컴퓨팅 능력을 고려하여 발견될 수 있는 의사 랜덤 캐릭터만 생성할 수 있다. 그러나, 우리가 본 명세서에서 교시하는 기술은 의사 난수(random number)의 사용으로도 높은 정도의 보안을 유지할 수 있도록 키 발견의 확률을 최소화할 것이다. 추가적으로, 필요한 상이한 레벨의 보안이 있다 - 뒷마당에서의 비디오 감시 카메라는 은행 서버만큼 표적이 되지 않을 수 있으며, 따라서 사용 가능한 다수의 상이한 의사 랜덤 암호를 찾을 수 있을 것이다.
키 길이는 용도에 따라 다를 수 있다. 절대적인 보안을 위해, 키는 적어도 반복을 방지하기 위해 암호화하고 있는 메시지만큼 길거나, 바람직하게는 그보다 길어야 한다. 예를 들어, 문서를 송신하는 변호사는 수백만 개의 ASCII 캐릭터의 키를 필요로 할 수 있지만, 자신의 은행과 보안 통신하는 사람은 수천 개의 ASCII 캐릭터만을 필요할 수 있다. 진정한 보안을 위해, 키는 한 번만 사용될 것이며, 새로운 키가 양측에 제공될 것이다. 이는 처음부터 장치(들)에 다수의 키기 설치되도록 함으로써 달성할 수 있다. 일 실시예에서, 각각의 장치는 n개의 핸드쉐이크 암호와 m개의 메시지 암호를 가질 것이다. 그러나, 기존 랜덤 키로부터 새로운 랜덤 키를 생성하는 것이 가능하다. 간단한 예에서, 키가 40 캐릭터 메시지(M)를 암호화하는 데 사용되는 100개의 캐릭터(K)라고 가정하자. 패딩 캐릭터(P)의 난수가 패딩 캐릭터의 수를 결정하기 위해 다음의 여러 캐릭터를 이용하여 추가된다. 메시지 길이는 이제 M+P<K이다. K에서의 각각의 캐릭터가 완전히 랜덤이기 때문에, 키(K1 ... K100)에서의 임의의 위치에서 시작하는 것도 랜덤일 것이라고 가정될 수 있다. 단순히 표시된 대로 시작하는 다음 메시지 길이가 K100을 초과하고 K1 (M+P+1) mod (100)에서 다시 시작하도록 캐릭터 M+P+1에서 다음 메시지를 시작하여 키를 회전시킴으로써 새로운 키가 다음 메시지에 대하여 설정될 수 있다. 대안적으로, 시작 암호와 CR를 사용하고, M+P+1 후에 램덤인 N 캐릭터(CR로서 송신됨)를 취하고 기존의 키에 다수의 변환 중 임의의 변환을 적용하여 새로운 랜덤 키를 생성하여 키를 회전시키는 것으로, 각각의 페어링된 장치에 대한 키는 랜덤으로 변경될 수 있다. 키 시퀀스가 랜덤이라는 사실을 감안할 때, 역시 랜덤인 키의 일부를 선택하는 것에 기초한 랜덤 키의 임의의 재배열은 다른 랜덤 키를 생성해야 한다.
일 실시예에서, 각각의 장치는 하나의 장치에만 통신할 수 있다. 다른 실시예에서, 장치는 복수의 장치와 통신할 수 있다. 따라서, D1은 보안 통신할 다른 모든 장치(D2 ... Dn)에 대해 고유한 암호 세트를 가질 것이다. 장치의 각각의 쌍은 서로에 대해 고유한 암호 세트를 가질 것이고, 따라서, 알려진 쌍(KP)이 될 것이다. 따라서, 개인 용도의 비군사용 휴대 전화는 은행이나 중개 회사와 같은 6개 정도의 다른 종점과의 보안 통신만 필요할 수 있다. 컴퓨터 서버는 수십만 개의 다른 장치와 보안 통신해야 할 수 있다. D1의 예로서의 서버는 이것이 MAC 어드레스와 페어링된 보안 통신을 하는 대상인 각각의 장치에 대한 모든 고유한 랜덤 암호를 저장할 것이고, 필요한 경우 생체 인식 신원의 암호화된 이미지를 저장할 것이다.
일 실시예에서, SU는 FPGA, ASIC 또는 유사한 장치에 내장된다. 이는 독립형이지만 장치(D1 또는 D2) 내의 운영 체제에 대한 인터페이스를 가진다. SU는 두 가지 방식으로 물리적으로 보호될 것이다. 먼저, SU는 집적 회로 게이트, 메모리 또는 레지스터 덤프를 보려고 시도하는 x-선 또는 다른 유형의 전자 스캔에 저항할 수 있는 물질로 덮일 것이다. 또한, 장치는 밀봉되고 불활성 가스를 포함하고 있어 칩 내로 미세한 구멍이 드릴링되거나 장치의 외부 층을 손상시키려는 다른 시도가 있을 경우, 불활성 가스의 방출에 의해 압력이 변경될 것이어서, 이에 따라 SU 내의 내장된 압력 센서가 트리거되게 하여 이에 따라 키 회로를 파괴하기에 충분한 전력으로 단락 회로를 발생시켜 SU가 자체 파괴하게 하도록 한다. 다른 실시예에서, SU는 FPGA, ASIC 또는 유사한 디자인의 형태로 실리콘 상으로 에칭될 수 있는 개별 메모리, CPU 및 레지스터로 구성되는 더 큰 컴포넌트 세트의 일부이다. 이 실시예에서, 컴포넌트의 SU가 분리된 부분은 전술된 메커니즘으로 보호될 것이다.
본 발명의 일부 실시예는 예로서 도시되며, 유사한 참조 번호는 유사한 요소를 나타낼 수 있는 첨부된 도면 중의 도면에 의해 제한되지 않으며, 첨부된 도면에서:
도 1은 본 명세서에 설명된 다양한 실시예에 따라 보안 통신에 참여하기 위한 사용자 장치, 즉 보안 유닛의 블록도의 예시적인 예를 도시한다.
도 2는 본 명세서에 설명된 다양한 실시예에 따른 보안 통신을 위한 예시적인 보안 유닛의 블록도를 도시한다.
도 3은 본 명세서에 설명된 다양한 실시예에 따라 보안 통신에 참여하기 위해 보안 유닛에 의해 사용 가능한 암호 키 테이블의 예를 도시한다.
도 4는 본 명세서에 설명된 다양한 실시예에 따라 보안 통신에 참여하기 위한 보안 유닛에 의한 예시적인 방법의 흐름도를 도시한다.
도 5는 본 명세서에 설명된 다른 실시예에 따른 보안 통신을 위한 도 1의 예시적인 보안 유닛의 컴포넌트의 블록도의 도해적인 예를 도시한다.
도 6은 본 명세서에 설명된 다른 실시예에 따라 보안 통신에 참여하기 위한 도 5의 보안 유닛에 의한 예시적인 방법의 흐름도를 도시한다.
본 명세서에서 사용된 용어는 단지 특정 실시예를 설명하기 위한 것이며 본 발명을 제한하려고 의도되지 않는다. 본 명세서에서 사용되는 바와 같이, "및/또는"이라는 용어는 연관된 나열된 항목들 중 하나 이상의 임의의 조합 및 모든 조합을 포함한다. 본 명세서에서 사용된 바와 같이, 단수 형태인 "a", "an" 및 "the"는 문맥상 명백하게 다르게 나타내지 않는 한, 단수 형태뿐만 아니라 복수 형태도 포함하는 것으로 의도된다. "포함하다" 및/또는 "포함하는"이라는 용어는, 본 명세서에서 사용될 때, 언급된 특징, 단계, 동작, 요소 및/또는 컴포넌트의 존재를 특정하지만, 하나 이상의 다른 특징, 단계, 동작, 요소, 컴포넌트 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는다는 것이 더 이해될 것이다.
이제 다양한 예시적인 실시예가 첨부된 도면을 참조하여 더욱 완전하게 설명될 것이며, 본 명세서에 개시된 특정의 구조적 기능적 세부 사항은 단지 예시적인 실시예를 설명하기 위한 대표적인 것임에 유의해야 한다. 예시적인 실시예는 여러 가지 대안적인 형태로 구현될 수 있으며 본 명세서에서 설명되는 실시예에만 한정되는 것으로 해석되어서는 안 된다.
제1, 제2 등의 용어가 본 명세서에서 다양한 요소를 설명하기 위해 사용될 수 있지만, 이러한 용어가 단지 하나의 요소를 다른 요소와 구별하기 위해 사용되기 때문에 이러한 요소들이 이러한 용어에 의해 제한되지 않아야 한다는 것이 이해될 것이다. 예를 들어, 예시적인 실시예의 범위를 벗어나지 않으면서 제1 요소는 제2 요소로 명명될 수 있고, 유사하게 제2 요소도 제1 요소로 명명될 수 있다. 더욱이, 제1 요소 및 제2 요소는 별도의 제1 및 제2 요소의 필요한 기능을 제공할 수 있는 단일 요소로 구현될 수 있다.
본 명세서에서 사용되는 바와 같이, "및"이라는 용어는 결합적 의미 및 이접적 의미 모두로 사용되며 연관된 나열된 항목 중 하나 이상의 임의의 조합 및 모든 조합을 포함한다. "포함하다", "포함하는", "구비하다" 및 "구비하는"이라는 용어들은 본 명세서에서 사용될 때, 언급된 특징, 완전체(integer), 단계, 동작, 요소 및/또는 컴포넌트의 존재를 특정하지만, 하나 이상의 다른 특징, 완전체, 단계, 동작, 요소, 컴포넌트 및/또는 이들의 그룹의 추가를 배제하지 않는다는 것이 더 이해될 것이다.
다르게 정의되지 않는 한, 본 명세서에 사용되는 (기술적이거나 과학적인 용어를 포함하는) 모든 용어들은 예시적인 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일부 대안적인 구현예에서, 언급된 기능/동작은 도면에 언급된 순서를 벗어나 발생할 수 있다는 것에 유의해야 한다. 예를 들어, 연속적으로 표시된 두개의 특징은, 관련된 기능/동작에 따라, 실질적으로 동시에 실행될 수 있거나 때때로 반대로 역순으로 실행될 수 있다. 따라서, 순차적으로 수행되어야 하는 특정 요소가 있는 반면, 다른 요소는 비동기적으로 수행될 수 있다.
정의
본 명세서에서 사용되는 바와 같이, "컴퓨터"라는 용어는 소프트웨어 코드로부터 논리 연산을 받아들이고 수행할 수 있는 기계, 장치 또는 디바이스를 의미한다. "애플리케이션", "소프트웨어", "소프트웨어 코드" 또는 "컴퓨터 소프트웨어"라는 용어는 컴퓨터로 하여금 동작을 수행하게 하도록 동작 가능한 임의의 명령어 집합을 의미한다. 따라서, 본 발명의 방법 및 시스템은 소프트웨어로부터의 명령어에 기초하여 프로세스를 갖는 컴퓨터 또는 컴퓨팅 장치에 의해 수행되거나, 컴퓨터 애플리케이션에 의해 제공될 수 있다.
본 명세서에서 사용되는 "보안 장치(secure device)" 및 "보안 유닛(secure unit)"이라는 용어는 일반적으로 다른 장치 및 컴퓨터 서버와 보안 통신을 할 수 있는 일종의 컴퓨팅 장치이며, 본 명세서에서의 일부 경우에, 이러한 보안 장치 또는 보안 유닛은 "송신기 시스템" 및/또는 "수신기 시스템"이라 지칭된다. 일부 실시예에서, 장치는 로컬에서 또는 클라우드에서 동작될 수 있는 컴퓨터 서버 또는 다른 장치로 데이터를 송수신하도록 구성된 스마트폰 또는 컴퓨터이다. 장치의 비한정적 예는 다음을 포함한다: 컴퓨터 서버, 컴퓨터, 개인용 컴퓨터(PC), IoT 장치, 스마트폰, 랩톱, 태블릿 PC, 웨어러블 장치와 같은 휴대용 통신 장치, 로봇, 소비재, 산업 및 제조 장비, 예를 들어 심박 조율기, 인슐린 펌프, 보청기인 의료 장치, 및 예를 들어 자동차, 기차 및 비행기와 기타 운송 수단인 자율 및 비자율 차량에 설치된 통신 시스템.
본 명세서에서 사용된 "컴퓨터 판독 가능한 매체"라는 용어는 실행을 위해 프로세서에 명령어를 제공하는 데 참여하는 임의의 매체를 의미한다. 컴퓨터 판독 가능한 매체는 비휘발성 매체, 휘발성 매체 및 전송 매체를 포함하지만 이에 제한되지 않는 다양한 형태를 취할 수 있다. 비휘발성 매체는, 예를 들어, 하드 디스크 또는 이동식 매체 드라이브와 같은 광 디스크, 자기 디스크 및 광자기 디스크를 포함한다. 휘발성 매체는 메인 메모리와 같은 동적 메모리를 포함한다. 전송 매체는 동축 케이블, 구리선 및 광섬유가 포함하고, 버스를 구성하는 배선(wire)을 포함한다. 또한, 전송 매체는 전파 및 적외선 데이터 통신 동안 생성되는 것과 같은 음파 또는 광파의 형태를 취할 수도 있다.
본 명세서에서 사용되는 바와 같이, "데이터 네트워크" 또는 "네트워크"라는 용어는 유선을 이용하거나 무선으로 클라이언트 장치와 같은 2 이상의 컴퓨터를 연결하여 이들이 데이터를 송수신하게 할 수 있는 인프라를 의미한다. 데이터 네트워크의 비한정적인 예는 인터넷 또는 와이파이 및 셀룰러 네트워크를 포함할 수 있는 무선 네트워크(즉, "무선 네트워크")를 포함할 수 있다. 예를 들어, 네트워크는 LAN(Local Area Network), WAN(Wide Area Network)(예를 들어, 인터넷), 모바일 중계 네트워크, 애드혹 네트워크, 전화 네트워크, 셀룰러 네트워크 또는 VoIP(voice-over-IP) 네트워크를 포함할 수 있다.
본 개시 내용은 본 발명의 예시로서 간주되어야 하며, 본 발명을 도면 또는 아래의 설명에 의해 예시된 특정 실시예로 제한하도록 의도되지 않는다.
본 발명을 설명함에 있어서, 다수의 기술 및 단계가 개시된다는 것을 이해될 것이다. 이들 각각은 개별적인 이점을 가지며 각각은 다른 개시된 기술들의 하나 이상 또는 일부 경우에 모두와 함께 사용될 수도 있다. 따라서, 명확성을 위해, 이 설명은 단계의 모든 가능한 조합을 불필요한 방식으로 반복하지 않을 것이다. 그럼에도 불구하고, 이러한 조합이 전적으로 본 발명과 청구범위의 범위 내에 있다는 이해와 함께 명세서와 청구범위를 읽어야 한다.
도 1은 본 발명의 실시예에 따라 통신 채널(103, 104)을 통해 서로 그리고 다른 장치(120, 121)와 보안 통신하는 2개의 보안 장치(101, 102)를 도시한다. 통신 채널(103, 104)에 적합한 비한정적인 통신 채널은, 예를 들어, 전화선, 무선 통신, 인터넷, 유선 통신, 마이크로웨이브 전송, 단파 라디오 또는 기타 형태의 전자 또는 광 통신을 포함할 수 있다. 양 장치(101, 102)는 직교하지(orthogonal) 않으므로, 다수의 장치(120, 121)와 통신할 수 있다. 101과 102는 독립형 장치이거나 컴퓨터, 휴대 전화, 양방향 라디오와 같은 더욱 복잡한 장치의 일부일 수 있다. 그것들은 컴퓨터 서버의 경우에서와 같이 고정식일 수도 있고, 휴대 전화의 경우에서와 같이 이동식일 수도 있고, 자율 주행 차량이나 심박 조율기 또는 IoT 기기의 경우에서와 같이 하이브리드일 수도 있다. 이러한 장치(101, 102) 각각은 송신기 시스템 또는 수신기 시스템으로서 동작할 수 있다. 장치(101, 102)의(그리고 확장 장치(120, 121)에 의한) 활성화는 인가된 사용자가 보안 통신을 개시할 수 있다는 의미에서 이벤트 구동식일 수 있거나, 동일한 회사 내의 2개의 컴퓨터 서버의 경우에서와 같이 지속적으로 연결되어 있을 수 있다. 장치들 사이의 통신은 다른 컴퓨터 서버와 보안 통신하지만 휴대 전화와는 가끔 보안 통신하는 컴퓨터 서버의 경우에서와 같이, 이벤트 구동식 및 지속형의 하이브리드일 수 있다.
도 2는 보안 통신의 확립 및 방법론에 대해 더욱 자세히 도시한다. 도 2의 일 실시예에서, 사용자는 예를 들어 도 1의 휴대 전화(101 또는 102)인 장치에서 "버튼"을 눌러 보안 유닛(SU)을 연결한다. 버튼은 물리적 전기 또는 전자식 터치 스위치일 수 있거나, 터치 스크린의 압력 민감 영역일 수 있다. 다른 실시예는 항상 켜져 있고 버튼에 의해 활성화될 필요가 없을 것이다. 장치의 전원이 켜지면, 보안 아이콘과 생체 인식 장치가 활성화된다. 특정된 횟수(예를 들어, 3회)로 동시에 탭되면, 장치가 "초기화 단계"에 있다는 것을 나타내는 메시지가 장치의 스크린에 나타난다. 초기화 단계 동안, 3개의 강력한 암호가 레지스터 3, 4 및 5(207, 211 및 208)에 로딩된다. 레지스터가 제대로 로딩되지 않으면, 프로그램이 종료된다. 장치는 생체 인식 스캐닝 장치(215)를 사용하여 인가된 사용자의 생체 인식 정보를 감지하거나 "판독"한다. 레지스터 1(206)에 배치된 인가된 사용자의 생체 인식 신원이 레지스터 2(210)에서의 생체 인식 아이콘 신원과 일치하고 레지스터 및 프로그램이 올바르게 로딩되면, 장치는 디스플레이에 "초기화 완료" 신호를 보낸 후, "동작 단계" 신호를 디스플레이에 보낸다. 206과 210에서의 값이 일치하지 않으면, SU는 정지된다. 일 실시예에서, 전체 장치(D1)는 SU로부터의 비일치 메시지를 수신한 후에 정지될 수 있다. 또한, 신호 손실, 배터리 고갈 또는 이와 유사한 이벤트와 같은 물리적인 이유도 초기화 단계의 실패를 야기할 것이고, 프로그램이 종료되게 할 것이다. 적용예에 따라, 다른 시도가 이루어지기 전에 지연이 있을 수 있다. 전쟁터 상황에서는, 두 번째 시도에서 지연이 없을 수 있다. 민간 환경에서, 지연은 15초 정도로 짧을 수도 있거나, 주어진 사용에 필요한 것으로 간주될 수 있는 만큼 길 수도 있다. 시도 횟수에 따라 지연 시간이 연장될 수 있으며, 신원 확인 시도에 최대 실패 횟수가 지나면, SU가 영구적으로 정지되거나 패스워드 및/또는 신원을 리셋하여 다시 초기화해야 할 수 있다. 또한, 패스워드를 리셋하는 프로세스는 레지스터 6(212)에 저장된 암호화된 메시지에 따라 달라진다. 인증된 관리자만이 패스워드나 신원을 변경할 수 있다. 이것은 장치가 다른 사용자에게 재발행될 수 있게 하거나, 실패한 시도 후 리셋될 수 있게 한다.
동작 단계에서, SU는 레지스터 3(207)에서 이전에 로드된 랜덤 생성 암호를 사용하여 데이터 버스(204)를 암호화한다. 도 2에서 SU에 포함된 각각의 암호는 제2 장치에 대하여 대칭이다. 따라서, 암호는 양 장치 모두에 입력되어야 한다. 이는 메모리 카드 또는 USB 장치와 같은 외부 장치를 통해 수행되거나 관리자에 의해 레지스터 6(212)에서의 리셋 패스워드 암호를 사용하여 수행될 수 있다. 데이터 버스가 암호화되면, 전송 SU(D1)는 레지스터 2(210) 내의 생체 인식 아이콘, 핸드쉐이크 메시지 자체, 암호화 암호로서 레지스터 5(208) 내의 제3 암호를 이용하여 레지스터 4(211)에 포함된 암호화된 제2 암호(메시지 암호) 및 선택적으로는 CR을 암호화하는 것을 포함하고 평문으로서 전송 MAC 어드레스, 수신 MAC 어드레스 및 타임스탬프가 첨부된 메시지(M1)를 생성할 것이다. 그 다음, M1이 외부 네트워크 연결(201)을 통해 장치 D2로 송신된다. 201은 전화, 무선 네트워크, 유선 네트워크, 마이크로웨이브 네트워크 또는 다른 형태의 광 또는 전자 통신을 위한 송신기일 수 있다.
암호화 및 평문 핸드쉐이크를 수신하면, 제2 장치(D2)는 들어오는 암호화된 메시지를 복호화 및 검증하고, 그것이 전송 MAC 어드레스와 연관되는지 확인하고, 타임스탬프를 검증할 것이다. D2가 들어오는 메시지를 검증할 수 없는 경우, 장치 D2의 SU는 즉시 정지되고 이것이 공격을 받고 있다고 가정한다. 그 다음, 포렌식 목적으로 격리된 메모리에 메시지를 저장하고 D2의 SU를 정지시킬 수 있다. 일 실시예에서, D2의 SU는 D1의 SU에 부정 확인을 다시 전송할 것이다. 일 실시예에서, D2의 SU가 D1으로부터 전송된 메시지를 검증한다면, D2는 D1이 수행한 신원 검증을 위해 동일한 프로세스를 수행할 것이고, 성공하면 네트워크 연결/송신기(201)로부터 확인 메시지를 D1으로 다시 전송할 것이다. 핸드쉐이크가 완료될 때, "통신 이네이블" 메시지가 양 장치에 나타날 것이다.
일단 D1과 D2 사이의 보안 통신이 확립되면, D1은 레지스터 5(208)에 포함된 암호화 키를 사용하여 암호화될 메시지(M2)를 송신할 것이다. 일 실시예에서, M2는 다수의 패딩된 캐릭터 및 CR 키를 포함할 것이다. 장치 사이에 양방향 비동기 통신이 발생할 수 있다. 본 발명에서 설명된 메시지는 데이터, 텍스트, 음성, 사운드, 그림, 비디오 또는 데이터 유형의 임의의 조합을 포함하지만 이에 제한되지 않는 디지털로 표현될 수 있는 데이터의 임의의 실시예일 수 있다는 것을 이해하는 것이 중요하다.
도 4는 이벤트의 순서를 그래픽으로 표시한다.
컴퓨터 생성 키는 랜덤이 아니라 캐릭터의 생성에 (작거나 매우 작은) 바이어스가 존재한다는 것을 의미하는 의사 랜덤(pseudo-random)이라는 것을 이해하는 것이 중요하다. 바이어스가 작을수록 암호를 리버스 엔지니어링하기가 더 어렵다. 유일한 진정한 랜덤 암호는 외부에서 생성될 필요가 있을 것이다. 일정 기간 동안 암호를 재사용하는 것은 악의적 행위자가 도청하고 다양한 기술을 사용하여 암호를 드러낼 수 있는 기회를 생성할 수 있다. 본 발명의 일 실시예에서, 사용되는 암호는 모두 모든 메시지를 인코딩하기에 충분히 길 것이다. 메시지의 크기에 대한 제한은 사용자에게 실제 문제나 불편을 나타내지 않는 방식으로 설정될 수 있다. 메시지가 충분히 길 필요가 있는 이유는 메시지가 암호 길이를 초과한 경우 암호 시작 부분으로 롤링하여 암호 사용이 반복되는 것을 방지하기 위해서이다. 일 실시예에서, 각각의 장치는 One Time Pad와 유사한 일련의 암호를 가질 것이다. 한 번 사용된 각각의 암호는 폐기될 것이다. 암호 또는 암호 내의 캐릭터의 개수에 대한 용량은 가격이 계속 하락하는 메모리의 크기에 따라 달라진다.
암호의 사용은 암호화 키의 사용을 요구하는 다수의 변환 또는 대체 기술 중 어느 하나에 있을 수 있다. 이들 기술은 공개 영역이며 이들 중 임의의 것이 본 실시예에서 채용될 수 있다. 마찬가지로, 둘 다 동일한 기술을 사용하는 경우 사용자 쌍의 요구에 따라 새로운 변환 또는 대체 기술이 채용될 수 있다. 비공개 변환 또는 대체 기술의 사용은 결코 본 발명의 고유성을 변경하지 않는다.
일 실시예에서, SU는 메시지를 취하고, 적절한 암호(레지스터 4(211) 내의 메시지 암호)를 사용하여 메시지를 암호화하기 위한 다수의 암호화 기술 중 임의의 하나를 사용한다. 일 실시예에서, 전송된 암호화된 메시지는 비 ASCII 캐릭터의 형태를 가질 수 있다.
위에서 언급한 바와 같이, 진정한 보안을 위해, 키는 랜덤일 것이고, 한 번만 사용될 것이며, 새로운 키가 양측에 제공될 것이다. 그러나, 기존 랜덤 키로부터 새로운 랜덤 키를 생성하는 것이 가능하다. 난수(random number)의 고전적인 정의는 스트링에서의 다음 캐릭터가 이전 캐릭터로부터 어떤 방식으로든 결정되거나 예측될 수 없다는 것이다. 간단한 예에서, 키가 40 캐릭터 메시지(CM)를 암호화하는 데 사용되는 100개의 캐릭터(K)라고 가정하자. 패딩 캐릭터(P)의 난수가 패딩 캐릭터의 수를 결정하기 위해 다음의 여러 캐릭터를 이용하여 추가된다. 또한, 이러한 패딩 캐리터도 이제 암호를 이용하여 암호화된다. 메시지 길이는 이제 CM+P<K이다. K에서의 각각의 캐릭터가 랜덤이기 때문에, 키(K1 ... K100)에서의 임의의 위치에서 시작하고 시작까지 둘러싸는 것도 난수일 것이라고 가정될 수 있다. 단순히 표시된 대로 시작하는 다음 메시지 길이가 K100을 초과하고 K1 (CM+P+1) mod (100)에서 다시 시작하도록 위치 CM+P+1에서 다음 메시지를 시작하여 키를 회전시킴으로써 새로운 키(NK)가 다음 메시지에 대하여 설정될 수 있다. 대안적으로, 시작 키를 이용하거나, CM+P+1 후에 N 캐릭터를 취하고 기존의 키에 다수의 변환 중 임의의 변환을 적용함으로써 새로운 랜덤 키를 생성하여 키를 회전시키는 것으로 각각의 페어링된 장치에 대한 키가 변경될 수 있다. 키 시퀀스가 랜덤이라는 사실을 감안할 때, 역시 랜덤인 키의 일부를 선택하는 것에 기초한 랜덤 키의 임의의 재배열은 다른 랜덤 키를 생성한다. 암호화된 메시지를 훔치기 어렵게 만드는 것은 각각의 연속 메시지에 대해 암호가 변경되어 악의적 행위자가 일반적인 무차별 대입 또는 특정 수학적 복호화 기술을 사용하는 것이 불가능해지기 때문이다. 이 방법론은 메시지 길이와 관련하여 서로 동기화된 상태로 남아 있는 D1 및 D2에 따라 달라진다.
일 실시예에서, 예를 들어 극비 드론 비디오 메시지를 실시간으로 송신하기 위한 장치의 사용을 위해, 암호화 암호는 세션의 종료까지 변경되지 않으며, 종결 또는 세션 종료 메시지는 위에서 언급된 기술을 이용하여 새로운 키(NK)를 생성하기 위한 코드를 포함한다.
일 실시예에서, SU는 n개의 재랜덤화(re-randomizing) 암호 갱신 키의 룩업 테이블(도 3)을 포함하며, 여기서 n은 충분히 크다. 룩업 테이블에 대한 평문 또는 암호화된 참조가 메시지(M)에 내장될 수 있다. 룩업 테이블은 제공된 테이블에 대한 인덱스를 사용하고 재랜덤화기(re-randomizer)에 기초하여 암호 키를 변경할 것이다. 사용에 따른 각각의 메시지 또는 세션의 종료에, SU는 새로운 랜덤 키를 재생성하여, 일회용 기능을 제공할 수 있을 것이다. 송신 장치와 수신 장치 모두 동일한 재랜덤화기를 사용하여 암호 키를 변경할 수 있을 것이다. 재랜덤화 또는 암호 갱신을 위한 프로세스는 다수의 표준 대체, n차 제거 또는 전치 기술 중 임의의 하나일 수 있다. 재랜덤화(암호 갱신) 키 자체는 랜덤이거나 충분히 랜덤이다. 초기 키가 랜덤이기 때문에, CR 키도 랜덤이며, 따라서 재랜덤화 키에 기초한 임의의 순열(permutation)은 다른 랜덤 키를 생성할 것이다.
D1(101)과 D2(102) 사이의 통신은 어느 하나의 장치가 종료 또는 세션 종료 메시지(MT)를 발행할 때 종료된다. 메시지는 전송 MAC 어드레스, 수신 MAC 어드레스 및 타임스탬프와 함께 평문으로 전송된다. MT가 평문으로 전송되는 이유는 필요 이상으로 키를 노출하지 않기 위해 암호화될 필요가 없는 것을 암호화하여 전송하지 않으려는 요구로부터 명백하다. 대안적으로, 세션은, 신호 손실, 전력 손실, 메시지 품질 저하와 같은 다수의 비정상적인 종료(이상 종료) 중 하나에 의해 이러한 작동을 측정하는 표준의 확립된 방법을 이용하여 종료될 수 있다. 신호의 품질은 장치의 CPU(214)에 있는 SU 외부의 장치에 의해 모니터링되고, 외부의 장치는 SU CPU(204)에 상황 이상 종료를 전달할 수 있으며, 그러면 SU CPU(204)는 메시지를 종료한다.
일 실시예에서, SU는 생체 인식 신원을 필요로 하지 않는 장치(D1 ... DN)의 컴포넌트일 것이다. 이는 장치가 사람과 접촉하지 않는 경우일 것이다. 이는 통신의 한 장치(D1) 또는 양측(D1, D2)일 것이다. 통신의 일측의 예는 인터넷을 통해 개인의 은행 계좌와 같은 서버에 연결되는 휴대 전화일 수 있다. 서버는 안전한 것으로 알려져 있을 수 있고, 서버 팜(server farm)에서와 같이 잠긴 문 뒤에 있을 수 있다. 제2 예는 드론과 접촉하는 전쟁터의 군인일 수 있다. 공중에 있는 드론은 인간과 접촉하지 않지만, 군인은 위의 프로세스를 사용하여 자신을 식별하고 검증하여야 할 수 있을 것이다. 보안 신뢰가 이미 확립되었기 때문에, 생체 인식 신원을 필요로 하지 않을 수 있는 일측 또는 양측의 비인간 접촉의 많은 예가 있다. 장치를 위한 다른 모든 프로토콜은 동일하게 유지된다.
일 실시예에서, SU는 여러 보호 방법 중 하나 이상을 갖는 것으로 물리적 공격 또는 손상으로부터 보호될 수 있다. 누군가가 x-선 기계를 사용하여 미세한 회로 게이트를 "판독"하는 것을 방지하기 위해, x-선을 감쇠시킬 수 있는 금속 물질의 얇은 층이 집적 회로를 둘러싸는 데 사용될 수 있을 것이다. 마찬가지로 회로와 접합부도 열을 발산할 수 있을 것이다. 열 패턴은 악의적 행위자에 의해 "판독"될 수 있다. 얇은 알루미늄 층이 열을 흡수하여, 판독이 불가능하게 할 수 있다.
회로를 "판독"하기 위한 미세한 드릴링 및 미세한 카메라의 삽입을 방지하기 위해, 일 실시예에서, SU는 불활성 가스로 함침되고 밀봉되어 SU 내부에 특정 압력을 생성할 수 있다. 임의의 미세한 드릴링은 가스를 방출할 것이다. SU 내부에는 압력을 지속적으로 송신하고 레지스터 #7(209)에 저장된 정상 압력 레벨에 비교하는 미세 압력 센서 및 배터리(215)가 있다. 압력이 허용 가능한 레벨 이상으로 변경되면, 가스 압력 센서가 배터리를 트리거하여 SU 내의 주요 회로를 파괴할 것이다.
도 5는 도 1의 보안 장치(101, 102)의 대안적인 실시예의 개략적인 블록도(500) 및 본 개시 내용에 따라 네트워크(510)를 통해 보안 통신에 참여하기 위한 보안 장치(108)를 도시한다. 도 5에서, 보안 장치(101)는 데이터 소스(150)에 통신 가능하게 결합된 입력을 갖는 프로세서(140)를 포함한다. 또한, 프로세서(140)는 네트워크 인터페이스(160)의 출력에 통신 가능하게 결합되며, 이는 다시 예를 들어 IoT 장치를 지원하는 기존 5G 셀룰러 네트워크에서 사용하기 위하여 안테나(190)에 연결된다. 프로세서(140)는 암호 선택 회로(170) 및 예를 들어 도 3에 도시된 재랜덤화 암호 키 테이블에 포함될 수 있는 암호 키 목록을 포함하는 메모리 모듈(180)에 추가로 연결된다. 또한, 선택적인 변조(tamper) 센서(198)가 프로세서(140), 암호 선택 회로(170) 및 메모리 모듈(180)에 연결된 것으로 도시된다.
보안 장치(102, 108)는 대응하여 데이터 소스(152, 155)에 통신 가능하게 결합된 입력을 갖는 프로세서(142, 145)를 포함한다. 또한, 프로세서(142, 145)는 각각 안테나(192, 195)에 연결되는 네트워크 인터페이스(162, 165)에 통신 가능하게 결합된다. 프로세서(142, 145)는 암호 선택 회로(172, 175) 및 암호 키 목록을 포함하는 메모리 모듈(182, 185)에 추가로 연결된다.
데이터 소스(150, 152, 155) 및 네트워크 인터페이스(160, 162, 165)에 대하여 사용되는 데이터 소스 및 네트워크 인터페이스의 유형 및 성질은 설명된 실시예를 실시하는 데 중요하지 않다는 것이 쉽게 이해되어야 한다. 적절한 데이터 소스는, 예를 들어, 텍스트, 기호, 이미지, 오디오 및/또는 비디오 또는 이들의 조합을 나타내는 디지털 정보를 제공하는 소스를 포함할 수 있다. 적합한 네트워크 인터페이스는, 보안 장치가 유선 네트워크 및/또는 무선 네트워크와 함께 작동하기 위한 것인지 여부에 따라, 상업적으로 이용 가능한 네트워크 인터페이스 어댑터 및/또는 무선 네트워크 인터페이스 컴포넌트를 포함할 수 있다. 마찬가지로, 프로세서(140, 142, 145)를 위하여 채용되는 프로세서의 유형 및 특성은 설명된 실시예를 실시하는 데 중요하지 않으며, 상업적으로 이용 가능한 마이크로프로세서 또는 프로세서 시스템 및/또는 주문형 애플리케이션 특정 집적 회로 또는 컴포넌트가 설명된 실시예와 함께 사용하기에 적합하다.
개시된 실시예가 개선된 암호화 통신 방법을 구현하기 때문에, 각각의 보안 장치의 메모리 모듈은 보안 통신에 참여하도록 허용된 보안 장치의 메모리 모듈 내의 대응하는 적어도 하나의 암호 키 목록과 동일한 적어도 하나의 암호 키 목록을 포함할 것이다. 예를 들어, 보안 장치(101)가 보안 장치(102, 108)와 통신하도록 허용되지만, 보안 장치(102, 108)가 서로 통신하도록 허용되지 않는 경우, 보안 장치(101)의 메모리 모듈(180)은 제1 암호 키 목록의 사본을 포함할 보안 장치(102)와의 통신에 사용 가능한 제1 암호 키 목록과 제2 암호 키 목록의 사본을 포함할 보안 장치(108)와의 통신에 사용 가능한 제2 암호 키 목록을 갖는 적어도 2개의 암호 키 목록을 포함할 것이다. 그러나, 보안 장치(102, 108)의 메모리 모듈(182, 185) 각각은 보안 장치(101)와의 통신을 위한 단일 목록만을 포함하고, 서로 통신을 위한 추가 암호 코드 목록을 포함하지 않을 것이다. 또한, 전술된 바와 같이, 암호 키 목록에서 암호 키에 대해 난수 또는 랜덤 캐릭터를 사용하는 것이 유리하지만, 의사 난수 또는 의사 랜덤 시퀀스의 사용은, 특히 본 명세서에 설명된 실시예에서 사용된 암호 선택 회로의 중요한 사용에 비추어, 여전히 상대적으로 높은 레벨의 보안을 제공할 수 있다.
본 실시예에서, 서로 통신하도록 허용된 2개의 보안 장치의 암호 선택 회로는, 이들의 각각의 메모리 모듈 내의 동일한 암호 코드 목록에 기초하여, 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키를 나타내는 선택 코드를 생성하고 대응하여 이를 판독하기 위해 동일한 알고리즘을 구현할 것이다. 다른 보안 장치와의 각각의 새로운 통신 세션에 대해 개시 보안 장치에 의해 새로운 선택 코드가 생성될 것이다. 예를 들어, 통신 세션은 단일 메시지, 미리 결정된 수의 메시지의 교환 또는 특정 기간 내의 메시지의 교환을 포함할 수 있다. 통신 세션은 대안적으로는 더 이상의 메시지 교환이 발생하지 않는 미리 결정된 기간 후에 종료될 수 있다.
단계 610에서 개시 보안 장치의 선택 회로에 의해 사용되는 특정 선택 코드 생성 프로세스는 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키로서 사용될 특정 암호 키를 식별하기 위해 수신 장치에 의해 이해될 수 있는 코드를 생성하기 위한 임의의 미리 결정된 프로세스일 수 있다. 이러한 선택 코드는, 예를 들어, 메모리 모듈 내의 암호 목록에서의 암호 키 위치, 표시된 위치에서의 암호 키의 시작 비트 및/또는 표시된 위치에서의 암호 키에 수행될 특정 변환을 나타낼 수 있다. 이러한 변환은 위에서 설명된 것뿐만 아니라, 암호 키의 전체 또는 일부를 반전시키는 것, 저장된 암호 키 시퀀스에서 2비트 또는 n비트마다 이러한 암호를 구성하는 것, 암호 키의 비트 및 캐릭터의 선택된 섹션을 이용하는 것, 상이한 암호 키를 조합하는 것 또는 이러한 암호 키에 소정의 수학적 연산을 수행한 결과를 포함할 수 있다.
도 5에 도시된 바와 같은 암호 선택 회로(170, 172, 175)가 하드웨어를 사용하여 동일한 알고리즘을 구현하는 것이 유리하다. 이러한 목적에 적합한 하드웨어는, 예를 들어, 게이트 어레이, 프로그래머블 게이트 어레이, 애플리케이션 특정 집적 컴포넌트 및 각각의 프로세서에 내장된 하드웨어를 포함할 수 있다. 그러나, 하이브리드 하드웨어 및 소프트웨어에서 이러한 암호 선택 알고리즘을 구현하는 것도 유리하다.
암호 선택 회로(170, 172, 175)는 결과적인 선택 코드의 특정의 각각의 부분을 수신 보안 장치에 대한 연관된 암호 키 목록 내의 암호 키 위치에 할당하는 것, 이러한 암호 키 내의 시작 숫자 또는 비트 및 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키를 생성하기 위하여 수행될 변환을 포함하는 임의의 개수의 상이한 기술 및/또는 알고리즘을 구현할 수 있다. 이러한 기술 및 알고리즘의 복잡성은 장치들 사이의 이러한 보안 통신의 의도된 적용에 의해 요구되는 원하는 레벨의 계산 보안에 기초할 수 있다. 대표적인 간단한 회로는 이러한 보안 장치들 사이의 통신 세션을 위한 선택 코드 시퀀스를 생성하기 위해 교번하는 순방향 또는 역방향 비트 시퀀스 변환의 대응하는 변환과 함께 목록 내의 암호 키 위치 및 이러한 암호 키 위치에서의 시작 숫자 또는 비트를 증가시킬 것이다. 또한, 암호 선택 회로는 선택 코드를 대응하는 암호 키, 시작 캐릭터 및 변환에 연관시키기 위한 하드웨어 룩업 테이블을 포함할 수 있다.
암호 선택 회로(170, 172, 175)에 의해 수행 가능한 무수한 기술 및 알고리즘 중 하나는 9개의 십진수의 예시적인 선택 코드를 포함한다. 이러한 9자리 십진수는 예를 들어 수신 보안 장치의 12자리 16진수 MAC 어드레스와 같은 어드레스와 함께 핸드쉐이크 메시지에서 송신될 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키를 나타낼 것이다. 이러한 암호 키에 대하여, 선택 코드는, 개시 및 수신 보안 장치의 메모리 모듈 내의 각각의 암호 키 목록에서의 4개의 암호 키 위치, 이러한 위치에서의 키 내의 시작 숫자 위치 및 숫자 시퀀스를 형성하기 위하여 그 위치에서의 키 내에 각각의 숫자 사이의 스텝(step)과, 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키를 생성하기 위하여 숫자 시퀀스가 순방향 시퀀스로 배열될 것인지 또는 역방향 시퀀스로 배열될 것인지의 여부를 포함하는 수행될 변환을 나타낼 것이다.
이러한 기술 또는 알고리즘에 따르면, 9자리 십진수 선택 코드가 순방향 시퀀스 X = N1 내지 N9 및 역방향 시퀀스 Y = N9 내지 N1로 표현되면, 메모리 모듈 내의 키 위치의 위치는 다음과 같이 표현할 수 있다:
위치 L 1 = [ABS(X-Y)*SQRT(X)/(X)] (메시지 암호화 암호 키를 생성하기 위하여);
위치 L 2 = [ABS(X-Y)*SQRT(Y)/(X)] (메시지 복호화 암호 키를 생성하기 위하여);
위치 L 3 = [ABS(X-Y)*SQRT(X)/(Y)] (핸드쉐이크 메시지 암호화 암호 키를 생성하기 위하여);
위치 L 4 = [ABS(X-Y)*SQRT(Y)/(Y)] (핸드쉐이크 메시지 복호화 암호 키를 생성하기 위하여).
그 다음, 결과적인 암호 키의 제1 키 숫자가 위치 [LM + 1]에서 취해질 수 있으며, 여기서 M = 1, 2, 3 또는 4이고; 통신에 사용하기 위해 특정 암호 키를 형성하기 위한 이러한 위치에서의 각각의 암호 키 자리 사이의 스텝은, 예를 들어, 자리 N5의 숫자 값이다. 마지막으로, 순방향 또는 역방향의 스텝 방향은 선택 코드 자리 위치 N9에 기초할 수 있으며, 예를 들어, N9가 홀수이면 스텝 방향은 순방향이고, N9가 짝수이면 스텝 방향은 역방향이다. 메시지 세션을 개시하기 위한 선택 코드를 생성하고 해독하는데 많은 다른 대안적인 기술 및 알고리즘이 사용될 수 있다는 것이 쉽게 명백해야 한다.
또한, 암호 선택 회로(170, 172, 175)는, 유리하게는, 예를 들어 도 3과 관련하여 전술된 재랜덤화기 기술 또는 다른 재랜덤화기 기술을 채용하는 것과 같이 알고리즘의 일부로서 재랜덤화기를 채용할 수 있다. 암호 선택 회로(170, 172, 175)에 의한 재랜덤화기 기술의 사용은 2개의 보안 장치 사이에서 사용 가능한 메모리 모듈(180, 182, 185) 중 임의의 하나에서 암호 키 목록에 포함된 다수의 암호 키 중에서 생성될 수 있는 랜덤 암호 키의 수를 극적으로 증가시킬 수 있다.
이 실시예에 따라 그리고 도 6과 관련하여 아래에 설명되는 바와 같이, 개시 보안 장치에 의해 전송되고 보안 장치에 의해 수신된 선택 코드는 다음과 같이 사용되도록 의도된다. 개시 및 수신 보안 장치가 서로 통신하기 위해 사전 승인되었기 때문에, 즉 보안 장치들이 서로 알려져 있기 때문에, 이들은 대응하는 선택 회로와, 메모리 모듈 내의 공통 암호 키 목록을 포함할 것이다. 개시 보안 장치로부터의 개시 핸드쉐이크 메시지에서 선택 코드 및 개시 보안 장치의 신원 및/또는 어드레스의 식별자를 수신하면, 수신 보안 장치는, 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키를 생성하기 위하여 개시 보안 장치의 신원 및/또는 어드레스에 기초하여 이러한 선택 코드 및 선택 회로에 대한 식별자와 이의 메모리 모듈을 사용할 수 있을 것이다. 수신 보안 장치가 이와 같은 동일한 암호 키 세트를 생성하면, 이는, 그 중에서도, 적어도 2개의 데이터 시퀀스 세그먼트를 포함하는 응답 핸드쉐이크 메시지를 생성하여 개시 보안 장치로 전송한다. 이러한 세그먼트 중 제1 세그먼트는 핸드쉐이크 메시지 암호화 암호 키에 의해 암호화된 메시지 암호화 암호 키에 대응하는 데이터 시퀀스이고, 제2 세그먼트는 핸드쉐이크 메시지 복호화 암호 키에 의해 암호화된 메시지 복호화 암호 키에 대응하는 데이터 시퀀스이다.
도 6은 통신 세션을 위한 보안 통신을 확립하기 위한 보안 장치(101, 102, 108)의 동작 방법(600)의 예시적인 흐름도이다. 도 6의 다음 설명은 도 5에 도시된 장치 및 컴포넌트를 참조하여 이루어진다. 보안 사용자 장치(101)가, 예를 들어, 보안 장치(102)와의 통신 세션을 개시하고자 할 때, 프로세서(140)는 선택 코드의 생성을 위해 암호 선택 회로(170)를 활성화하고 이러한 회로에 적어도 보안 장치(102)를 나타내는 식별자를 제공하는 것으로 단계 610을 수행함으로써 방법(600)을 개시한다.
단계 620에서, 프로세서(140)는 생성된 선택 코드와, 보안 장치(101) 및 다른 보안 장치, 즉 보안 장치(102)의 암호화되지 않은 네트워크 어드레스를 포함하는 핸드쉐이크 메시지를 생성한다. 생성된 핸드쉐이크 메시지는 선택적으로는 핸드쉐이크 메시지가 전송될 시간을 나타내는 타임스탬프를 포함할 수 있다. 그 다음, 단계 630에서, 프로세서(140)는 생성된 핸드쉐이크 메시지를 네트워크 인터페이스(160) 및 네트워크(510)를 통해 보안 장치(102)로 송신한다.
그 다음, 단계 640에서, 프로세서(140)는 보안 장치(101)가 보안 장치(102)에 의해 네트워크(510)를 통해 송신된 응답 핸드쉐이크 메시지를 수신했는지 여부를 판단한다. 개시 핸드쉐이크 메시지를 전송한 후 특정 기간 내에 이러한 메시지가 수신되지 않으면, 방법(600)은 종료되고, 어떠한 보안 통신도 개시되지 않을 것이다. 이러한 경우에, 프로세서(140)는 바람직하게는 보안 장치(102)와의 보안 통신을 확립하려는 시도로 방법(600)을 다시 수행하기 전에 일정 기간 동안 대기할 수 있다. 수신 보안 장치(102)로 하여금 타임스탬프에서 표시된 시간과 핸드쉐이크 메시지의 수신 시간 사이에 경과한 시간을 평가함으로써 보안 위협이 존재하는지 여부를 결정하게 하도록, 핸드쉐이크 메시지에 타임스탬프를 포함하는 것이 적합하다. 너무 많은 시간이 경과했다는 판단이 내려지면, 보안 장치(102)는 응답 핸드쉐이크 메시지를 보안 장치(101)로 다시 전송하지 않을 것이다.
단계 640에서, 응답 핸드쉐이크 메시지가 보안 장치(101)에 의해 적시에 수신되면, 프로세서(140)는 단계 650에서 응답 핸드쉐이크 메시지의 처리를 개시한다. 수신된 선택 코드를 적절히 해석한 보안 장치(102)로부터의 응답 핸드쉐이크 메시지가 정당하다면, 응답 핸드쉐이크 메시지는 도 5에 관하여 전술된 적어도 2개의 세그먼트를 포함하여야 한다. 제1 세그먼트는 핸드쉐이크 메시지 암호화 암호 키에 의해 암호화된 메시지 암호화 암호 키에 대응하는 데이터 시퀀스일 수 있을 것이고, 제2 세그먼트는 핸드쉐이크 메시지 복호화 암호 키에 의해 암호화된 메시지 복호화 암호 키에 대응하는 데이터 시퀀스일 수 있을 것이다. 단계 650에서 프로세서(140)에 의해 수행되는 처리는, 메시지 암호화 암호 키 및 메시지 복호화 암호 키이어야 하는 제1 및 제2 데이터 시퀀스를 생성하기 위하여 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키를 각각 이용하여 제1 및 제2 세그먼트를 복호화하는 것일 수 있다.
단계 660에서, 프로세서(140)는 제1 및 제2 데이터 시퀀스를 예상 메시지 암호화 암호 키 및 메시지 복호화 암호 키에 비교하고, 일치하지 않는 경우, 잠재적 사이버 위협이 존재할 수 있기 때문에, 방법(600)은 종료하고, 보안 장치가 메시지 송신 단계로 진입하는 것을 허용하지 않는다. 그러나, 단계 660에서, 메시지 암호화 암호 키 및 메시지 복호화 암호 키와의 일치가 발생한다고 프로세서(140)가 확인하면, 방법(600)은 단계 670으로 진행한다.
단계 670에서, 보안 장치(101)는 네트워크 인터페이스(160) 및 네트워크(510)를 통해 보안 장치(102)로 전송되는 암호화된 메시지를 생성하기 위해 데이터 소스(150)로부터 수신된 메시지를 메시지 암호화 암호 키로 암호화함으로써 통신 세션을 위한 송신 단계로 동작한다. 선택적으로, 보안 장치(101)는 응답 핸드쉐이크 교환이 예상 정보를 포함하고 장치들 사이의 보안 통신이 개시된 통신 세션에 대하여 발생할 수 있다고 나타내는 검증 또는 확인 메시지를 보안 장치(102)에 전송함으로써 시작할 수 있다.
반대로, 송신 단계 동안, 보안 장치(102)는 수신된 암호화된 메시지를 메시지 암호화 암호 키를 사용하여 복호화하고 이러한 결과적인 암호화된 메시지를 보안 장치(101)에 송신하기 전에 메시지 복호화 암호 키를 이용하여 메시지를 암호화하기 위하여 유사한 동작을 수행할 수 있다.
당해 업계에서의 통상의 기술자는 각각의 암호 키를 사용하는 특정 암호화 방법이 본 명세서에 설명된 실시예를 구현하는 데 중요하지 않다는 것을 이해해야 한다. 적절한 암호화 기술은, 예를 들어, 전치 또는 대체 암호, AES(Advanced Encryption Standard) 기술, RSA(Rivest-Shamir-Adleman) 암호화, 3중 대칭 키 암호(triple Data Encryption Standard("triple DES")), 블로피시 및 기타 알려진 비표준 암호화 기술인 기존 암호화 기술을 포함한다. 본 발명의 다른 실시예에서, 암호는 비 ASCII 캐릭터 세트를 사용하는 대체에 의해 메시지를 암호화할 수 있을 것이다.
본 발명은 계산적으로 안전한 암호화된 정보를 송신하기 위한 시스템 및 방법을 제공하며, 이러한 송신된 정보가 적정한 기간 내에 또는 통상적인 컴퓨터 처리 능력으로 해독될 수 있는 가능성은 매우 낮다. 이러한 시스템 및 방법은, 유리하게는, (1) 승인된, 즉 알려진 보안 장치들 사이에 보안 암호화 통신을 생성하는 데 사용할 수 있는 별도이지만 공유되는 암호 키 목록을 포함하는 메모리 모듈과, (2) 유리하게는 하드웨어에서 부분적으로 또는 전체적으로 구현된 암호 키 선택 및 대응하는 코드 생성 기술의 조합을 채용한다. 이러한 조합은, 해커가 이전 통신 세션에서 어떤 암호 키가 사용되었는지 어떻게든 알고 있더라도, 이러한 해커가 이러한 알려진 암호 키에 기초하여 미래의 통신 세션에서 어떤 암호 키가 사용될 것인지 예측할 수 없기 때문에, 예측할 수 없거나 거의 예측할 수 없는 암호 키의 구현을 용이하게 한다.
또한, 이들 실시예의 시스템 및 방법은, 유리하게는, 소프트웨어 기반 보안 장치의 통신을 해킹하는 해커의 계속 증가하는 능력을 방해하기 위해 소프트웨어 기반 암호화 기술에 의해 요구되는 간헐적인 소프트웨어 업데이트를 요구하지 않는다. 해커는 보안 장치에 액세스하고 이를 리버스 엔지니어링해야 할 필요가 있으며, 메모리 모듈 내의 어느 암호 키 목록이 본 명세서에 설명된 실시예의 시스템 및 방법을 해킹하기 위해 어느 특정의 다른 보안 장치와의 보안 통신에 사용할 수 있는지 어떻게든 결정할 필요가 있다. 뿐만 아니라, 암호화된 데이터 버스를 이용하는 실시예의 경우, 이러한 데이터 버스를 암호화하기 위해 사용되는 암호화 방법 및 암호 키를 결정할 필요가 있다.
보안 장치의 이러한 컴포넌트에 대한 액세스 및 리버스 엔지니어링 시도를 방지하기 위해, 추가 컴포넌트가 본 발명의 특정 실시예에 포함되어, 예를 들어, 도 5의 실시예에 도시된 암호 선택 회로(170, 172, 175), 메모리 모듈(180, 182, 185) 및/또는 프로세서(140, 142, 145)를 포함하는 이러한 컴포넌트의 컨텐츠를 드러내려는 의도로 x-선 조사, 마이크로 드릴링 또는 임의의 다른 기계적이거나 광학적인 수단을 방지할 수 있다.
이를 위해, 회로 및 메모리 컨텐츠를 판독할 수 없고 그리고/또는 식별할 수 없게 만들도록 리버스 엔지니어링 노력을 검출 및/또는 방지하기 위해 이러한 컴포넌트를 갖는 메커니즘을 사용하는 것이 유리하다. 예를 들어, 이러한 컴포넌트의 금속 차폐가 x-선 이미지 촬영을 방해하는 데 사용될 수 있다. 또한, 컴포넌트는 가압된 불활성 가스를 포함하는 인클로저 내에 상주할 수 있고, 도 5의 보안 장치(101)에 도시된 변조 센서(190)와 같은 변조 센서 및 연관된 배터리 또는 전원을 포함할 수 있고, 예를 들어 압력 센서인 변조 센서(198)가 이러한 가스의 방출을 야기할 수 있는 마이크로 드릴링과 같은 컴포넌트에 접근하려는 기계적 시도를 검출하고, 변조 센서(198)에 의해 대응하여 검출된 압력 감소에 기초하여, 배터리는 컴포넌트가 판독할 수 없고 그리고/또는 식별할 수 없는 정도로 이를 파괴하는 방식으로 컴포넌트에 연결될 수 있다. 도 2와 관련하여 전술된 압력 센서 및 배터리(215)는 도 5에서의 변조 센서(198) 및 연관된 배터리(도시되지 않음)로서 사용하기에 적합하다.
이러한 시스템의 보안 레벨을 더 증가시키기 위하여, 암호 키 목록 내의 암호 키가 적어도 통신 세션 동안 보안 장치에 의해 송신될 가장 큰(또는 통상적인) 메시지만큼 길거나, 바람직하게는 가장 큰(또는 통상적인) 메시지의 5배보다 크거나, 가장 바람직하게는 길이로 적어도 10,000 캐릭터인 비트 길이 및/또는 캐릭터 길이를 갖는 것이 유리할 수 있을 것이다. 적어도 전송될 메시지의 길이로 확장하기 위해 암호의 패딩(padding) 또는 래핑(wrapping)과 같은 기존 기술을 사용하여 더 짧은 비트 길이의 암호 키를 사용할 수 있지만 보안은 감소한다.
본 명세서에 설명된 보안 통신 시스템 및 방법을 사용하여 추가적으로 증가된 보안을 제공하기 위해, 암호 키, 특히 랜덤 암호 키가 보안 장치들 사이의 보안 통신 세션에 사용되었다면, 이것을 절대 재사용하지 않는 것이 유리할 것이며, 이는 해커 또는 암호 분석가에 의한 임의의 통계적 분석 또는 패턴 매칭의 사용을 불가능하게 할 수 있기 때문이다. 더 적은 보안이 보안 장치들 사이의 통신에 대해 허용 가능한 경우, 그 적용예를 위한 허용 가능한 레벨의 보안에 따라, 예를 들어 몇 개월 또는 몇 년 정도와 같이 상당한 시간이 지난 후에만 그리고/또는 예를 들어 수백 만개 정도일 수 있는 상당히 많은 통신 세션이 발생한 후에만 장치들 사이의 통신을 위해 이러한 암호 키를 재사용하는 것이 허용될 수 있다.
또한, 적어도 1백만, 바람직하게는 100,000,000 이상, 가장 바람직하게는 250,000,000 이상의 목록에서, 특정의 다른 장치와의 통신을 위해 메모리 모듈 내의 암호 키 목록에 서로 다른 암호 키가 제공되는 것이 바람직하다. 통상의 기술자는 예를 들어 보안 장치 내의 비휘발성 메모리 내의 사용된 암호 키의 리스트 또는 이의 일부 다른 식별자(들)를 유지하는 것을 포함하는 암호 키의 사용을 보안 장치가 추적하는 상당히 많은 방식이 있다는 것을 인식할 것이다.
요구되는 보안 레벨에 따라, 통신 세션에서 보안 장치들 사이의 통신을 개시하기 위해 단일 핸드쉐이크 암호 키를 사용하는 것이 적합할 수 있으며, 핸드쉐이크 메시지 암호 키 및 핸드쉐이크 메시지 복호화 암호 키는 동일한 키이다. 마찬가지로, 더 낮은 레벨의 보안이 허용되는 경우, 2개의 보안 장치 사이의 교환된 메시지에 대하여 단일 암호화 암호 키를 사용하는 것이 적합할 수 있고, 이러한 단일 암호화 암호 키는 메시지 암호화 암호 키와 메시지 복호화 암호 키에 대칭적으로 사용될 수 있다. 또한, 상당히 증가된 보안을 위해, 개시 보안 장치에 의해 생성된 선택 코드는 암호 키-호핑(hopping)에 유사한 방식으로 단일 통신 세션의 송신 단계 동안 송신된 개별 메시지를 암호화하기 위해 다른 메시지 암호를 사용하도록 다른 보안 장치에 표시할 수 있고, 선택 회로는 이러한 통신 세션 동안 사용될 암호화 암호 키의 시퀀스를 설정할 것이다.
메모리 모듈에 제공된 목록에 포함된 것과 같은 랜덤 암호 키는, 예를 들어, Roger R. Dube, "Hardware Key Generation". Hardware-based Computer Security Techniques to Defeat Hackers: From Biometrics to Quantum Cryptography. John Wiley & Sons. pp. 47-50 (2008). ISBN 978-0-470-42547-3에서 설명된 바와 같이, 시간 경과에 따른 물리적 특성의 요소 카운팅의 적어도 하나의 랜덤 특성을 모니터링하는 것에 기초하여, 잘 알려진 기술을 포함하는 기술을 사용하여 생성될 수 있다. 일 실시예에서, 암호 키에 사용 가능한 랜덤 데이터는 진정으로 비결정론적인 성격의 프로세스에 의해 생성된 데이터, 예를 들어 모두 양자 아원자(subatomic) 레벨에서 발생하는 이벤트에 의해 생성되는 비결정론적 현상인 전자 컴포넌트에서의 방사성 붕괴 및 전자 터널링을 나타내는 데이터에 액세스하는 하드웨어에 의해 도출될 수 있다. 암호 키에 사용할 수 있는 이러한 랜덤 데이터는 가이거 계수기 또는 제너 다이오드로부터의 출력을 수집하고 처리하여 추가적으로 또는 대안적으로 획득될 수 있다. 또한, 메모리 모듈이 랜덤 암호 키 목록을 포함하는 것이 가장 높은 레벨의 보안을 위해 바람직하지만, 메모리 모듈에서 의사 랜덤 암호 키 또는 랜덤 암호와 의사 랜덤 암호의 조합을 많은 적용예에 대하여 사용하는 것이 가능할 수 있다.
보안 장치의 보안을 더욱 증가시키기 위해, 데이터 버스 또는 데이터 버스들을 통해 송신되는 신호가 마찬가지로 암호화되어 임의의 주어진 통신 세션에 대하여 암호화/복호화 암호 키의 이해 및 예측 가능성을 얻기 위해 신호를 프로빙하는 임의의 리버스 엔지니어링 노력을 방해하는 것이 유리할 것이다.
또한, 보안을 더욱 증가시키기 위해, 수신 보안 장치에 의해 송신되는 응답 핸드쉐이크 메시지는 개시 보안 장치에 의해 예측될 수 있는 수신 보안 장치 및/또는 이의 연관된 사용자나 조작자의 특성을 나타내는 암호화된 미리 결정된 식별자를 포함하는 제3 데이터 시퀀스 세그먼트를 포함할 수 있다. 보안 장치 및/또는 사용자의 이러한 식별자는 임의의 코드, 숫자 또는 데이터 시퀀스일 수 있거나 수신 및 개시 보안 장치가 알고 있는 알고리즘의 실행에 의해 생성될 수 있다. 이러한 참조된 알고리즘은, 예를 들어, 수신 보안 장치에 고유할 수 있는 식별자를 생성하기 위해 하드웨어 또는 하드웨어와 소프트웨어의 조합으로 구현된 수학적 공식일 수 있다. 대안에서, 이러한 고유 식별자는, 단독으로 또는 미리 결정된 방식으로 변환되어, 예를 들어, 이러한 암호 키 목록에서의 마지막 암호 키와 같이 수신 보안 장치에 대한 암호 키 목록에서 미리 선택된 위치에 있는 미리 선택된 암호 키 시퀀스일 수 있다. 그 후, 방법(600)의 수행에서, 단계 640 내지 660은 (a) 응답 핸드쉐이크 메시지의 제3 세그먼트를 복호화하여 제3 데이터 시퀀스를 획득하는 단계, (b) 이러한 제3 데이터 시퀀스를 미리 결정된 식별자에 비교하는 단계, 및 (c) 데이터 시퀀스가 미리 결정된 식별자에 대응하는 경우 송신 단계에 진입하는 단계를 더 포함할 것이다.
다른 실시예에서, 개시 보안 장치에 의해 응답 핸드쉐이크 메시지가 예상 정보를 포함한다고 확인함에 따라, 2개의 통신하는 보안 장치는 다수의 메시지 암호화 및 복호화 암호 키를 사용할 수 있으며, 통신 세션의 송신 단계 동안 상이한 메시지를 암호화하기 위하여 상이한 메시지 암호 키를 선택하기 위하여, 대칭 선택 알고리즘을 실행하는 것이 선택 회로에서 구현될 수 있다.
본 명세서에 설명된 많은 실시예가 개시 보안 장치와 개별 또는 단일 수신 장치 사이의 보안 통신에 관한 것이지만, 시스템 및 방법은 또한 개시 보안 장치가 보안 메시지 세션에서 수신 보안 장치 그룹, 즉 복수의 수신 보안 장치로 보안 메시지를 전송할 수 있는 브로드캐스트 모드에서도 사용하도록 구성될 수 있다. 이러한 실시예에 따르면, 개시 장치는 의도된 수신자 보안 장치로부터 예상되는 응답 메시지가 없는 초기 브로드캐스트 경고 메시지인 핸드쉐이크 메시지를 전송할 것이다. 이러한 핸드쉐이크 메시지 또는 초기 브로드캐스트 경고 메시지는, 예를 들어, (단일 수신 보안 장치 어드레스 대신에) 브로드캐스트 그룹 번호(GN) 및 핸드쉐이크 메시지 암호화 암호 키에 의해 암호화된 메시지 암호화 암호 키에 기초한 선택 코드를 포함할 수 있다. 위에서 암시된 바와 같이, 이러한 초기 브로드캐스트 경고 메시지는 핸드쉐이크 메시지 복호화 암호 키에 의해 암호화된 복호화 메시지 암호화 암호 키를 포함할 필요가 없다.
이러한 실시예에서, 그룹 번호는 서비스 제공자에 의해 특정의 복수의 보안 수신 장치와 연관될 수 있다. 예를 들어, 자동차 제조업체는 공중 무선 통신(over-the-air) 소프트웨어 업데이트 등을 위해 특정 국가 지역에서 판매를 위해 제조된 차량 내의 보안 장치를 특정 그룹 번호에 할당할 수 있다. 이러한 그룹 번호는, 예를 들어, 초기 브로드캐스트 경고 메시지에 대한 12자리 MAC 어드레스 대신 사용되는 6개의 패딩된 0이 있는 6개의 숫자를 포함할 수 있다. 또한, 이러한 초기 브로드캐스트 경고 메시지에의 사용을 위해, 선택 코드는 개시 보안 장치 및 단일 수신 장치 통신과 관련하여 전술된 실시예에 대한 것과 유사한 방식으로 암호 선택 회로에 의해 생성될 수 있다. 위와 같이, 암호 선택 회로는 선택 코드를 대응하는 암호 키, 시작 캐릭터 및 변환에 연관시키기 위한 하드웨어 룩업 테이블을 포함할 수 있다. 다른 대표적인 기술 또는 알고리즘에 따르면, 9자리 십진수 선택 코드는 정방향 시퀀스 X = N1 내지 N9 및 역방향 시퀀스 Y = N9 내지 N1로 표현될 수 있으며, 메모리 모듈의 위치들 중의 위치는 다음과 같이 표현될 수 있다:
위치 L 1 = [ABS(X-Y) * SQRT(X)/(X)] (메시지 암호화 암호 키를 생성하기 위하여);
위치 L 2 = [ABS(X-Y) * SQRT(X)/(Y)] (핸드쉐이크 메시지 암호화 암호 키 생성하기 위하여);
그 다음, 키의 제1 키 숫자 또는 캐릭터는 위치 [LM + (GN * 2,999)]로부터 취해질 수 있으며, 여기서 M=1 또는 2이다; 그리고 키에서의 각각의 자리수 사이의 스텝은 S = N5이다. 마지막으로, 순방향 또는 역방향의 스텝 방향은 선택 코드 자리 위치 N9에 기초할 수 있으며, 예를 들어, N9가 홀수이면 스텝 방향은 순방향이고, N9가 짝수이면 스텝 방향은 역방향이다. 브로드캐스트 메시지 세션을 개시하기 위한 선택 코드를 생성하고 해독하는데 많은 다른 대안적인 기술 및 알고리즘이 사용될 수 있다는 것이 쉽게 명백해야 한다.
본 발명이 본 명세서에서 바람직한 실시예 및 이의 특정 예를 참조하여 예시되고 설명되었지만, 다른 실시예 및 예가 유사한 기능을 수행하고 그리고/또는 유사한 결과를 성취할 수 있다는 것이 당해 업계에서의 통상의 기술자에게 쉽게 명백할 것이다. 이러한 모든 등가의 실시예 및 예는 본 발명의 사상 및 범위 내에 있고, 그것에 의해 고려되며, 이어지는 청구범위에 의해 커버되는 것으로 의도된다. 특히, 본 명세서에서는 본 발명이 보안 장치 내의 별개의 개별 컴포넌트, 즉 프로세서, 암호 선택 회로 및 메모리 모듈을 별도의 컴포넌트로 포함하는 것으로 설명되었지만, 이러한 컴포넌트 및/또는 이의 기능을 더 적은 수의 컴포넌트 또는 단일 보안 컴포넌트로 결합하는 것이 가능하다.
본 발명은 번호가 매겨진 다음의 항목들에 의해 추가로 설명된다:
1. 네트워크를 통해 암호화된 통신을 송신하기 위한 보안 장치에 있어서,
a. 제1의 다른 보안 장치로 전송할 적어도 하나의 메시지를 수신하기 위한 입력을 갖는 프로세서 - 상기 프로세서는 적어도 하나의 데이터 버스에 결합됨 -;
b. 상기 프로세서에 통신 가능하게 결합되고, 상기 제1의 다른 보안 장치와의 통신에 사용하기 위한 적어도 하나의 암호 키 목록을 저장하기 위한 메모리 모듈 - 상기 제1의 다른 보안 장치는 상기 적어도 하나의 암호화 키 목록의 저장된 사본을 갖는 메모리를 가짐 -;
c. 상기 프로세서에 결합된 암호 선택 회로 - 상기 암호 선택 회로는 상기 적어도 하나의 암호 키 목록에 기초하는 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키를 나타내는 선택 코드를 생성하도록 구성되고, 상기 제1의 다른 보안 장치의 대응하는 암호 선택 회로는 상기 제1의 다른 보안 장치의 메모리 내의 상기 적어도 하나의 암호 키 목록의 저장된 사본으로부터 상기 메시지 암호화 암호 키, 상기 메시지 복호화 암호 키, 상기 핸드쉐이크 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 복호화 암호 키의 사본을 생성하기 위하여 상기 선택 코드를 처리하도록 구성됨 -; 및
d. 상기 프로세서에 통신 가능하게 결합되고, 네트워크를 통해 상기 제1의 다른 보안 장치로 디지털 정보를 송수신하도록 구성된 네트워크 인터페이스
를 포함하고,
상기 프로세서는, 상기 선택 코드를 생성하고, 핸드쉐이크 메시지를 생성하여 상기 네트워크 인터페이스를 통해 상기 제1의 다른 보안 장치로 송신하기 위하여 상기 암호 선택 회로를 활성화함으로써 초기화 단계로 동작하도록 구성되고, 상기 핸드쉐이크 메시지는 상기 보안 장치 및 상기 제1의 다른 보안 장치의 암호화되지 않은 네트워크 어드레스와 상기 선택 코드를 포함하고,
상기 프로세서는, 상기 제1의 다른 보안 장치에 의해 송신된 응답 핸드쉐이크 메시지를 수신함에 따라 확인 단계로 동작하고, 상기 핸드쉐이크 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 복호화 암호 키로 상기 응답 핸드쉐이크 메시지의 제1 및 제2 세그먼트를 각각 처리하여 제1 및 제2 데이터 시컨스를 획득하고, 상기 제1 데이터 시컨스를 상기 메시지 암호화 암호 키에 비교하고 상기 제2 데이터 시컨스를 상기 메시지 복호화 암호 키에 비교하여 상기 제1 및 제2 데이터 시컨스가 상기 선택 코드와 연관된 상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키와 각각 대응한다고 확인하도록 구성되고,
획득된 상기 제1 및 제2 데이터 시퀀스가 상기 선택 코드와 연관된 상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키와 각각 대응한다고 확인함에 따라, 상기 프로세서는, 상기 메시지 암호화 암호 키에 기초하여 자신의 입력에서 수신된 적어도 하나의 메시지를 암호화함으로써 송신 단계로 동작하고, 결과적인 암호화된 상기 적어도 하나의 메시지를 상기 네트워크 인터페이스를 통해 상기 제1의 다른 보안 장치로 송신하도록 구성되는, 보안 장치.
2. 항목 1에 있어서, 상기 프로세서는 상기 메시지 복호화 암호 키에 기초하여 상기 제1의 다른 보안 장치로부터 수신된 적어도 하나의 메시지를 복호화함으로써 수신 단계로 동작하도록 더 구성되는, 시스템.
3. 항목 1에 있어서, 상기 메시지 암호화 암호 키는 적어도 암호화될 상기 메시지의 미리 결정된 길이만큼 긴, 시스템.
4. 항목 1에 있어서, 상기 암호 선택 회로는 상기 적어도 하나의 암호 키 목록 내의 4개의 암호 키의 암호 키 위치에 기초하여 상기 선택 코드를 생성하도록 구성되는, 시스템.
5. 항목 1에 있어서, 상기 암호 선택 회로는 상기 적어도 하나의 암호 키 목록을 이용한 암호 키 위치에서의 적어도 하나의 암호 키의 변환인 4개의 암호 키 중 적어도 하나에 대응하는 상기 선택 코드를 생성하도록 구성되는, 시스템.
6. 항목 5에 있어서, 이러한 적어도 하나의 암호 키의 변환은 이러한 적어도 하나의 암호 키의 재랜덤화인, 시스템.
7. 항목 1에 있어서, 상기 프로세서는 상기 메모리 모듈로부터 상기 적어도 하나의 데이터 버스를 통해 송수신된 신호를 암호화하는 것 또는 복호화하는 것 중 적어도 하나를 위한 데이터 버스 암호 코드를 검색하도록 구성되는, 시스템.
8. 항목 1에 있어서, 상기 시스템은 암호화된 메시지를 적어도 제2의 다른 보안 장치로 송신하도록 구성되고, 상기 메모리 모듈 내의 저장된 상기 적어도 하나의 암호 키 목록은 상기 제2의 다른 보안 장치로의 상기 메시지를 암호화하기 위하여 사용 가능한 암호 키 목록을 포함하는, 시스템.
9. 항목 8에 있어서, 상기 메모리 모듈 내의 저장된 상기 적어도 하나의 암호 키 목록은 상기 제1의 다른 보안 장치 및 적어도 상기 제2의 다른 보안 장치에 대하여 사용 가능한 각각의 암호 키 목록을 포함하는, 시스템.
10. 항목 9에 있어서, 상기 제1 다른 보안 장치 및 적어도 상기 제2 다른 보안 장치의 표시자는 상기 메모리 모듈에 저장되고 각각의 상기 제1 다른 보안 장치 및 적어도 상기 제2 다른 보안 장치와 함께 사용 가능한 각각의 상기 암호 키 목록과 연관되는, 시스템.
11. 항목 1에 있어서, 상기 적어도 하나의 암호 키 목록은 적어도 1,000,000개의 암호 키를 포함하는, 시스템.
12. 항목 1에 있어서, 상기 적어도 하나의 암호 키 목록은 적어도 상기 제2의 다른 보안 장치로의 송신을 위한 상기 메시지 중 적어도 하나의 메시지에서의 다수의 비트에 대응하는 다수의 암호 키를 포함하는, 시스템.
13. 항목 11에 있어서, 상기 적어도 하나의 암호 키 목록은 이러한 시스템이 충분히 긴 기간에 걸쳐 임의의 암호 키의 사용을 반복하지 않도록, 다수의 암호 키를 포함하는, 시스템.
14. 항목 1에 있어서, 상기 프로세서는, 상기 프로세서가, 상기 확인 단계 동안, 획득된 상기 제1 및 제2 데이터 시퀀스가 상기 선택 코드와 연관된 상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키와 각각 대응한다고 확인할 수 없는 경우에, 상기 송신 단계로 진입하지 않도록 구성되는, 시스템.
15. 항목 1에 있어서, 상기 프로세서는 암호화되지 않은 핸드쉐이크 메시지의 송신 시간을 나타내는 암호화되지 않은 타임스탬프를 더 포함하는 상기 핸드쉐이크 메시지를 생성하도록 구성되는, 시스템.
16. 항목 1에 있어서, 상기 프로세서는 적어도 상기 제1의 다른 보안 장치 또는 상기 제1의 다른 보안 장치의 사용자의 특성을 나타내는 암호화된 미리 결정된 식별자를 포함하는 상기 핸드쉐이크 메시지를 생성하도록 구성되는, 시스템.
17. 항목 16에 있어서, 상기 프로세서는 (a) 상기 응답 핸드쉐이크 메시지의 제3 세그먼트를 복호화하여 제3 데이터 시퀀스를 획득하고, (b) 이러한 제3 데이터 시퀀스를 상기 미리 결정된 식별자에 비교하고, (c) 상기 데이터 시퀀스가 상기 미리 결정된 식별자에 대응하는 경우 상기 송신 단계에 들어가도록 더 구성되는, 시스템.
18. 항목 1에 있어서, 통신에 사용하기 위한 저장된 상기 적어도 하나의 암호 키 목록은 적어도 하나의 랜덤 생성 키(randomly-generated key)를 포함하는, 시스템.
19. 항목 18에 있어서, 저장된 상기 적어도 하나의 랜덤 생성 키는 시간 경과에 따른 물리적 특성의 요소의 카운팅 중 적어도 하나의 랜덤 특성을 모니터링하는 것에 기초하여 생성된 것인, 시스템.
20. 항목 19에 있어서, 저장된 상기 적어도 하나의 랜덤 생성 키는 활성화된 원자 또는 핵 원자의 감쇠 특성 중 적어도 하나의 감쇠 특성의 요소의 카운팅 중 적어도 하나의 랜덤 특성을 모니터링하는 것에 기초하여 생성된 것인, 시스템.
21. 항목 1에 있어서, 통신에 사용하기 위한 저장된 상기 적어도 하나의 암호 키 목록은 적어도 하나의 의사 랜덤 생성 키(pseudo-randomly generated key)를 포함하는, 시스템.
22. 항목 1에 있어서, 상기 암호 선택 회로는 통신 세션의 상기 송신 단계 동안 송신된 상이한 메시지를 암호화하기 위해 상이한 메시지 암호를 선택하기 위한 선택 알고리즘을 채용하도록 구성되는, 시스템.
23. 항목 1에 있어서, 상기 암호 선택 회로는 상기 제1의 다른 보안 장치와의 이전 통신 세션에서 사용된 4개의 암호 코드에 대해 이전에 선택된 암호 코드를 반복하는 것을 방지하는 상기 선택 코드를 생성하도록 구성되는, 시스템.
24. 항목 1에 있어서, 상기 프로세스, 상기 메모리 모듈 및 상기 암호 선택 회로 중 적어도 하나를 적어도 부분적으로 둘러싸는 물질을 더 포함하고, 상기 물질은 상기 프로세스, 상기 메모리 모듈 및 상기 암호 선택 회로 중 적어도 하나의 x-선 이미지가 생성되는 것을 방지할 수 있는, 시스템.
25. 항목 1에 있어서,
상기 프로세서 및 상기 메모리 모듈 중 적어도 하나에 결합된 배터리;
상기 프로세서 및 상기 메모리 중 적어도 하나를 적어도 부분적으로 둘러싸는 캐비티에 배치된 불활성 가스; 및
상기 캐비티에 배치되고 상기 프로세서에 결합되는 압력 센서
를 더 포함하고,
상기 프로세서는, 상기 배터리로부터의 충분한 에너지를 상기 프로세서, 상기 메모리 모듈 및 상기 암호 선택 회로 중 적어도 하나에 결합하여, 충분한 압력 강하를 나타내는 상기 압력 센서로부터의 신호를 검출한 것에 따라 상기 프로세서, 상기 메모리 모듈 및 상기 암호 선택 회로 중 상기 적어도 하나를 판독 가능하지 않게 하는, 시스템.
26. 항목 25에 있어서, 상기 불활성 가스는 열 분산을 더 제공하도록 선택되는, 시스템.
27. 항목 1에 있어서, 상기 핸드쉐이크 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 복호화 암호 키는 동일한 암호 키인, 시스템.
28. 항목 1에 있어서, 상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키는 동일한 암호 키인, 시스템.
29. 제1의 다른 보안 장치로 전송할 적어도 하나의 메시지를 수신하기 위한 입력을 갖는 프로세서 - 상기 프로세서는 적어도 하나의 데이터 버스에 결합됨 -, 적어도 하나의 암호 키 목록을 저장하기 위한 메모리 모듈, 상기 적어도 하나의 암호 키 목록에 기초하여 선택 코드를 생성하기 위한 암호 선택 회로, 및 네트워크를 통해 상기 제1의 다른 보안 장치로 디지털 정보를 송수신하도록 구성된 네트워크 인터페이스를 포함하는 보안 장치에서,
a. 상기 프로세서가, 상기 적어도 하나의 암호 키 목록에 기초하여 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키를 나타내는 선택 코드를 생성하도록 상기 암호 선택 회로를 활성화하는 단계 - 상기 제1의 다른 보안 장치 내의 대응하는 암호 선택 회로는 상기 제1의 다른 보안 장치의 메모리 내의 상기 적어도 하나의 암호 키 목록의 저장된 사본으로부터 상기 메시지 암호화 암호 키, 상기 메시지 복호화 암호 키, 상기 핸드쉐이크 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 복호화 암호 키의 사본을 생성하기 위하여 상기 선택 코드를 처리하도록 구성됨 -;
b. 상기 프로세서가, 상기 보안 장치 및 상기 제1의 다른 보안 장치의 암호화되지 않은 네트워크 어드레스와 상기 선택 코드를 포함하는 핸드쉐이크 메시지를 생성하는 단계;
c. 상기 핸드쉐이크 메시지를 상기 제1의 다른 보안 장치로 송신하는 단계;
d. 상기 제1의 다른 보안 장치로부터 응답 핸드쉐이크 메시지를 수신하는 단계;
e. 상기 핸드쉐이크 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 복호화 암호 키로 상기 응답 핸드쉐이크 메시지의 제1 및 제2 세그먼트를 각각 처리하여, 제1 및 제2 데이터 시컨스를 획득하는 단계;
f. 상기 제1 데이터 시컨스를 상기 메시지 암호화 암호 키에 비교하고 상기 제2 데이터 시컨스를 상기 메시지 복호화 암호 키에 비교하여, 상기 제1 및 제2 데이터 시컨스가 상기 선택 코드와 연관된 상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키와 각각 대응한다고 확인하는 단계; 및
g. 획득된 상기 제1 및 제2 데이터 시퀀스가 상기 선택 코드와 연관된 상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키와 각각 대응한다고 확인함에 따라, 상기 메시지 암호화 암호 키를 이용하여 자신의 입력에서 수신된 적어도 하나의 메시지를 암호화하고, 결과적인 암호화된 상기 적어도 하나의 메시지를 상기 네트워크 인터페이스를 통해 상기 제1의 다른 보안 장치로 송신함으로써 송신 단계로 동작하는 단계
를 포함하는, 방법.
30. 항목 29에 있어서, 상기 메시지 복호화 암호 키에 기초하여 상기 제1의 다른 보안 장치로부터 수신된 적어도 하나의 메시지를 복호화함으로써 수신 단계로 동작하는 단계를 더 포함하는, 방법.
31. 항목 29에 있어서, 상기 암호 선택 회로 활성화 단계는 상기 적어도 하나의 암호 키 목록 내의 4개의 암호 키의 암호 키 위치에 기초하여 상기 선택 코드를 생성하는 단계를 포함하는, 방법.
32. 항목 29에 있어서, 상기 메시지 암호화 암호 키는 적어도 암호화될 상기 메시지의 미리 결정된 길이만큼 긴, 방법.
33. 항목 29에 있어서, 상기 암호 선택 회로 활성화 단계는 상기 적어도 하나의 암호 키 목록을 이용한 암호 키 위치에서의 적어도 하나의 암호 키의 변환인 4개의 암호 키 중 적어도 하나에 대응하는 상기 선택 코드를 생성하는 단계를 포함하는, 방법.
34. 항목 33에 있어서, 이러한 적어도 하나의 암호 키의 변환은 이러한 적어도 하나의 암호 키의 재랜덤화인, 방법.
35. 항목 29에 있어서, 상기 메모리 모듈로부터 상기 적어도 하나의 데이터 버스를 통해 송수신된 신호를 암호화하는 것 또는 복호화하는 것 중 적어도 하나에 대해 사용 가능한 데이터 버스 암호 코드를 검색하는 단계를 더 포함하는, 방법.
36. 항목 29에 있어서, 암호화된 메시지를 적어도 제2의 다른 보안 장치로 송신하는 단계를 더 포함하고, 상기 메모리 모듈 내의 저장된 상기 적어도 하나의 암호 키 목록은 상기 제2의 다른 보안 장치로의 송신을 위한 메시지를 암호화하기 위하여 사용 가능한 암호 키 목록을 포함하는, 방법.
37. 항목 36에 있어서, 상기 메모리 모듈 내의 저장된 상기 적어도 하나의 암호 키 목록은 상기 제1의 다른 보안 장치 및 적어도 상기 제2의 다른 보안 장치에 대하여 사용 가능한 각각의 키 목록을 포함하는, 시스템.
38. 항목 37에 있어서, 상기 제1의 다른 보안 장치 및 적어도 상기 다른 보안 장치의 어드레스는 상기 메모리 모듈에 저장되고 각각의 상기 제1의 다른 보안 장치 및 적어도 상기 제2의 다른 보안 장치와 함께 사용 가능한 각각의 암호 키 목록과 연관되는, 방법.
39. 항목 29에 있어서, 상기 적어도 하나의 암호 키 목록은 적어도 1,000,000개의 암호 키를 포함하는, 방법.
40. 항목 29에 있어서, 상기 적어도 하나의 암호 키 목록은 적어도 상기 제2의 다른 보안 장치로의 송신을 위한 상기 메시지 중 적어도 하나의 메시지에서의 다수의 비트에 대응하는 다수의 암호 키를 포함하는, 방법.
41. 항목 29에 있어서, 상기 적어도 하나의 암호 키 목록은 이러한 시스템이 충분히 긴 기간에 걸쳐 임의의 암호 키의 사용을 반복하지 않도록, 다수의 암호 키를 포함하는, 방법.
42. 항목 29에 있어서, 상기 확인 단계 동안, 획득된 상기 제1 및 제2 데이터 시퀀스가 상기 메시지 암호에 대응한다고 상기 프로세서가 확인할 수 없는 경우에, 상기 송신 단계로의 진입을 방지하는 단계를 더 포함하는, 방법.
43. 항목 29에 있어서, 상기 암호화되지 않은 핸드쉐이크 메시지를 생성하는 단계는 상기 암호화되지 않은 핸드쉐이크 메시지의 송신 시간을 나타내는 타임스탬프를 포함하는 단계를 더 포함하는, 방법.
44. 항목 29에 있어서, 프로세서가 핸드쉐이크 메시지를 생성하는 단계는 적어도 상기 제1의 다른 보안 장치 또는 상기 제1의 다른 보안 장치의 사용자의 속성을 나타내는 암호화된 미리 결정된 식별자를 포함하는 상기 핸드쉐이크 메시지를 더 생성하는, 방법.
45. 항목 44에 있어서, (a) 상기 응답 핸드쉐이크 메시지의 제3 세그먼트를 복호화하여 제3 데이터 시퀀스를 획득하는 단계, (b) 이러한 제3 데이터 시퀀스를 상기 미리 결정된 식별자에 비교하는 단계, 및 (c) 상기 데이터 시퀀스가 상기 미리 결정된 식별자에 대응하는 경우 상기 송신 단계에 진입하는 단계를 더 포함하는, 방법.
46. 항목 29에 있어서, 통신에 사용하기 위한 저장된 상기 적어도 하나의 암호 키 목록은 적어도 하나의 랜덤 생성 키(randomly-generated key)를 포함하는, 방법.
47. 항목 46에 있어서, 저장된 상기 적어도 하나의 랜덤 생성 키는 시간 경과에 따른 물리적 특성의 요소의 카운팅 중 적어도 하나의 랜덤 특성을 모니터링하는 것에 기초하여 생성된 것인, 시스템.
48. 항목 47에 있어서, 저장된 상기 적어도 하나의 랜덤 생성 키는 활성화된 원자 또는 핵 원자의 감쇠 특성 중 적어도 하나의 특성의 요소의 카운팅 중 적어도 하나의 랜덤 특성을 모니터링하는 것에 기초하여 생성된 것인, 방법.
49. 항목 29에 있어서, 암호화되지 않은 핸드쉐이크 메시지를 생성하는 단계는, 통신 세션의 상기 송신 단계 동안 송신된 상이한 메시지를 암호화하기 위해 상이한 메시지 암호를 선택하기 위한 선택 알고리즘을 실행하는 단계를 더 포함하는, 방법.
50. 항목 29에 있어서, 암호화되지 않은 핸드쉐이크 메시지를 생성하는 단계는, 상기 제1의 다른 보안 장치와의 이전 통신을 위해 이전에 선택된 암호 코드를 반복하는 것을 방지하는 상기 메시지 암호를 상기 메모리 모듈 내의 상기 적어도 하나의 암호 코드 목록으로부터 선택하기 위한 선택 알고리즘을 실행하는 단계를 더 포함하는, 방법.
51. 항목 29에 있어서, 상기 핸드쉐이크 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 복호화 암호 키는 동일한 암호 키인, 방법.
52. 항목 29에 있어서, 상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키는 동일한 암호 키인, 방법.
53. 네트워크를 통해 암호화된 통신을 복수의 다른 보안 장치에 송신하기 위한 보안 장치에 있어서,
a. 제1의 다른 보안 장치로 전송할 적어도 하나의 메시지를 수신하기 위한 입력을 갖는 프로세서 - 상기 프로세서는 적어도 하나의 데이터 버스에 결합됨 -;
b. 상기 프로세서에 통신 가능하게 결합되고, 상기 제1의 다른 보안 장치와의 통신에 사용하기 위한 적어도 하나의 암호 키 목록을 저장하기 위한 메모리 모듈 - 상기 제1의 다른 보안 장치는 상기 적어도 하나의 암호화 키 목록의 저장된 사본을 갖는 메모리를 가짐 -;
c. 상기 프로세서에 결합된 암호 선택 회로 - 상기 암호 선택 회로는, 적어도, 상기 적어도 하나의 암호 키 목록에 기초하는 메시지 암호화 암호 키 및 핸드쉐이크 메시지 암호화 암호 키를 나타내는 선택 코드를 생성하도록 구성되고, 상기 복수의 다른 보안 장치 각각에서의 대응하는 암호 선택 회로는 상기 복수의 다른 보안 장치 각각에서 상기 적어도 하나의 암호 키 목록의 저장된 사본으로부터 상기 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 암호화 암호 키의 사본을 생성하기 위하여 상기 선택 코드를 처리하도록 구성됨 -; 및
d. 상기 프로세서에 통신 가능하게 결합되고, 네트워크를 통해 상기 복수의 다른 보안 장치로 디지털 정보를 송수신하도록 구성된 네트워크 인터페이스
를 포함하고,
상기 프로세서는, 상기 선택 코드를 생성하고, 핸드쉐이크 메시지를 생성하여 상기 네트워크 인터페이스를 통해 상기 복수의 다른 보안 장치로 송신하기 위하여 상기 암호 선택 회로를 활성화함으로써 초기화 단계로 동작하도록 구성되고, 상기 핸드쉐이크 메시지는 상기 복수의 다른 보안 장치와 연관된 암호화되지 않은 그룹 번호와 상기 선택 코드를 포함하고,
상기 프로세서는, 상기 메시지 암호화 암호 키에 기초하여 자신의 입력에서 수신된 적어도 하나의 메시지를 암호화함으로써 송신 단계로 동작하고, 결과적인 암호화된 상기 적어도 하나의 메시지를 상기 네트워크 인터페이스를 통해 상기 복수의 다른 보안 장치로 송신하도록 구성되는, 보안 장치.
54. 복수의 다른 보안 장치로 전송할 적어도 하나의 메시지를 수신하기 위한 입력을 갖는 프로세서 - 상기 프로세서는 적어도 하나의 데이터 버스에 결합됨 -, 적어도 하나의 암호 키 목록을 저장하기 위한 메모리 모듈, 상기 적어도 하나의 암호 키 목록에 기초하여 선택 코드를 생성하기 위한 암호 선택 회로, 및 상기 복수의 다른 보안 장치로 송신하도록 구성된 네트워크 인터페이스를 포함하는 보안 장치에서,
a. 상기 프로세서가, 상기 적어도 하나의 암호 키 목록에 기초하여 메시지 암호화 암호 키 및 핸드쉐이크 메시지 암호화 암호 키를 나타내는 선택 코드를 생성하도록 상기 암호 선택 회로를 활성화하는 단계 - 상기 복수의 다른 보안 장치 각각에서의 대응하는 암호 선택 회로는 상기 복수의 다른 보안 장치 각각의 메모리 내의 상기 적어도 하나의 암호 키 목록의 저장된 사본으로부터 상기 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 암호화 암호 키의 사본을 생성하기 위하여 상기 선택 코드를 처리하도록 구성됨 -;
b. 상기 프로세서가, 상기 복수의 다른 보안 장치와 연관된 암호화되지 않은 그룹 번호와 상기 선택 코드를 포함하는 핸드쉐이크 메시지를 생성하는 단계;
c. 상기 핸드쉐이크 메시지를 상기 복수의 다른 보안 장치로 송신하는 단계;
d. 상기 메시지 암호화 암호 키를 이용하여 자신의 입력에서 수신된 적어도 하나의 메시지를 암호화하고, 결과적인 암호화된 상기 적어도 하나의 메시지를 상기 네트워크 인터페이스를 통해 상기 복수의 다른 보안 장치로 송신함으로써 송신 단계로 동작하는 단계
를 포함하는, 방법.

Claims (21)

  1. 네트워크를 통해 암호화된 통신을 송신하기 위한 보안 장치에 있어서,
    a. 제1의 다른 보안 장치로 전송할 적어도 하나의 메시지를 수신하기 위한 입력을 갖는 프로세서 - 상기 프로세서는 적어도 하나의 데이터 버스에 결합됨 -;
    b. 상기 프로세서에 통신 가능하게 결합되고, 상기 제1의 다른 보안 장치와의 통신에 사용하기 위한 적어도 하나의 암호 키 목록을 저장하기 위한 메모리 모듈 - 상기 제1의 다른 보안 장치는 상기 적어도 하나의 암호화 키 목록의 저장된 사본을 갖는 메모리를 가짐 -;
    c. 상기 프로세서에 결합된 암호 선택 회로 - 상기 암호 선택 회로는 상기 적어도 하나의 암호 키 목록에 기초하는 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키를 나타내는 선택 코드를 생성하도록 구성되고, 상기 제1의 다른 보안 장치의 대응하는 암호 선택 회로는 상기 제1의 다른 보안 장치의 메모리 내의 상기 적어도 하나의 암호 키 목록의 저장된 사본으로부터 상기 메시지 암호화 암호 키, 상기 메시지 복호화 암호 키, 상기 핸드쉐이크 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 복호화 암호 키의 사본을 생성하기 위하여 상기 선택 코드를 처리하도록 구성됨 -; 및
    d. 상기 프로세서에 통신 가능하게 결합되고, 네트워크를 통해 상기 제1의 다른 보안 장치로 디지털 정보를 송수신하도록 구성된 네트워크 인터페이스
    를 포함하고,
    상기 프로세서는, 상기 선택 코드를 생성하고, 핸드쉐이크 메시지를 생성하여 상기 네트워크 인터페이스를 통해 상기 제1의 다른 보안 장치로 송신하기 위하여 상기 암호 선택 회로를 활성화함으로써 초기화 단계로 동작하도록 구성되고, 상기 핸드쉐이크 메시지는 상기 보안 장치 및 상기 제1의 다른 보안 장치의 암호화되지 않은 네트워크 어드레스와 상기 선택 코드를 포함하고,
    상기 프로세서는, 상기 제1의 다른 보안 장치에 의해 송신된 응답 핸드쉐이크 메시지를 수신함에 따라 확인 단계로 동작하고, 상기 핸드쉐이크 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 복호화 암호 키로 상기 응답 핸드쉐이크 메시지의 제1 및 제2 세그먼트를 각각 처리하여 제1 및 제2 데이터 시컨스를 획득하고, 상기 제1 데이터 시컨스를 상기 메시지 암호화 암호 키에 비교하고 상기 제2 데이터 시컨스를 상기 메시지 복호화 암호 키에 비교하여 상기 제1 및 제2 데이터 시컨스가 상기 선택 코드와 연관된 상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키와 각각 대응한다고 확인하도록 구성되고,
    획득된 상기 제1 및 제2 데이터 시퀀스가 상기 선택 코드와 연관된 상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키와 각각 대응한다고 확인함에 따라, 상기 프로세서는, 상기 메시지 암호화 암호 키에 기초하여 자신의 입력에서 수신된 적어도 하나의 메시지를 암호화함으로써 송신 단계로 동작하고, 결과적인 암호화된 상기 적어도 하나의 메시지를 상기 네트워크 인터페이스를 통해 상기 제1의 다른 보안 장치로 송신하도록 구성되는, 보안 장치.
  2. 제1항에 있어서,
    상기 프로세서는 상기 메시지 복호화 암호 키에 기초하여 상기 제1의 다른 보안 장치로부터 수신된 적어도 하나의 메시지를 복호화함으로써 수신 단계로 동작하도록 더 구성되는, 시스템.
  3. 제1항에 있어서,
    상기 프로세서는 상기 메모리 모듈로부터 상기 적어도 하나의 데이터 버스를 통해 송수신된 신호를 암호화하는 것 또는 복호화하는 것 중 적어도 하나를 위한 데이터 버스 암호 코드를 검색하도록 구성되는, 시스템.
  4. 제1항에 있어서,
    상기 시스템은 암호화된 메시지를 적어도 제2의 다른 보안 장치로 송신하도록 구성되고, 상기 메모리 모듈 내의 저장된 상기 적어도 하나의 암호 키 목록은 상기 제2의 다른 보안 장치로의 상기 메시지를 암호화하기 위하여 사용 가능한 암호 키 목록을 포함하는, 시스템.
  5. 제1항에 있어서,
    상기 프로세서는, 상기 프로세서가, 상기 확인 단계 동안, 획득된 상기 제1 및 제2 데이터 시퀀스가 상기 선택 코드와 연관된 상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키와 각각 대응한다고 확인할 수 없는 경우에, 상기 송신 단계로 진입하지 않도록 구성되는, 시스템.
  6. 제1항에 있어서,
    통신에 사용하기 위한 저장된 상기 적어도 하나의 암호 키 목록은 적어도 하나의 랜덤 생성 키(randomly-generated key)를 포함하는, 시스템.
  7. 제1항에 있어서,
    통신에 사용하기 위한 저장된 상기 적어도 하나의 암호 키 목록은 적어도 하나의 의사 랜덤 생성 키(pseudo-randomly generated key)를 포함하는, 시스템.
  8. 제1항에 있어서,
    상기 암호 선택 회로는 상기 제1의 다른 보안 장치와의 이전 통신 세션에서 사용된 4개의 암호 코드에 대해 이전에 선택된 암호 코드를 반복하는 것을 방지하는 상기 선택 코드를 생성하도록 구성되는, 시스템.
  9. 제1항에 있어서,
    상기 핸드쉐이크 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 복호화 암호 키는 동일한 암호 키인, 시스템.
  10. 제1항에 있어서,
    상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키는 동일한 암호 키인, 시스템.
  11. 제1의 다른 보안 장치로 전송할 적어도 하나의 메시지를 수신하기 위한 입력을 갖는 프로세서 - 상기 프로세서는 적어도 하나의 데이터 버스에 결합됨 -, 적어도 하나의 암호 키 목록을 저장하기 위한 메모리 모듈, 상기 적어도 하나의 암호 키 목록에 기초하여 선택 코드를 생성하기 위한 암호 선택 회로, 및 네트워크를 통해 상기 제1의 다른 보안 장치로 디지털 정보를 송수신하도록 구성된 네트워크 인터페이스를 포함하는 보안 장치에서,
    a. 상기 프로세서가, 상기 적어도 하나의 암호 키 목록에 기초하여 메시지 암호화 암호 키, 메시지 복호화 암호 키, 핸드쉐이크 메시지 암호화 암호 키 및 핸드쉐이크 메시지 복호화 암호 키를 나타내는 선택 코드를 생성하도록 상기 암호 선택 회로를 활성화하는 단계 - 상기 제1의 다른 보안 장치 내의 대응하는 암호 선택 회로는 상기 제1의 다른 보안 장치의 메모리 내의 상기 적어도 하나의 암호 키 목록의 저장된 사본으로부터 상기 메시지 암호화 암호 키, 상기 메시지 복호화 암호 키, 상기 핸드쉐이크 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 복호화 암호 키의 사본을 생성하기 위하여 상기 선택 코드를 처리하도록 구성됨 -;
    b. 상기 프로세서가, 상기 보안 장치 및 상기 제1의 다른 보안 장치의 암호화되지 않은 네트워크 어드레스와 상기 선택 코드를 포함하는 핸드쉐이크 메시지를 생성하는 단계;
    c. 상기 핸드쉐이크 메시지를 상기 제1의 다른 보안 장치로 송신하는 단계;
    d. 상기 제1의 다른 보안 장치로부터 응답 핸드쉐이크 메시지를 수신하는 단계;
    e. 상기 핸드쉐이크 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 복호화 암호 키로 상기 응답 핸드쉐이크 메시지의 제1 및 제2 세그먼트를 각각 처리하여, 제1 및 제2 데이터 시컨스를 획득하는 단계;
    f. 상기 제1 데이터 시컨스를 상기 메시지 암호화 암호 키에 비교하고 상기 제2 데이터 시컨스를 상기 메시지 복호화 암호 키에 비교하여, 상기 제1 및 제2 데이터 시컨스가 상기 선택 코드와 연관된 상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키와 각각 대응한다고 확인하는 단계; 및
    g. 획득된 상기 제1 및 제2 데이터 시퀀스가 상기 선택 코드와 연관된 상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키와 각각 대응한다고 확인함에 따라, 상기 메시지 암호화 암호 키를 이용하여 자신의 입력에서 수신된 적어도 하나의 메시지를 암호화하고, 결과적인 암호화된 상기 적어도 하나의 메시지를 상기 네트워크 인터페이스를 통해 상기 제1의 다른 보안 장치로 송신함으로써 송신 단계로 동작하는 단계
    를 포함하는, 방법.
  12. 제11항에 있어서,
    상기 메시지 복호화 암호 키에 기초하여 상기 제1의 다른 보안 장치로부터 수신된 적어도 하나의 메시지를 복호화함으로써 수신 단계로 동작하는 단계를 더 포함하는, 방법.
  13. 제11항에 있어서,
    암호화된 메시지를 적어도 제2의 다른 보안 장치로 송신하는 단계를 더 포함하고, 상기 메모리 모듈 내의 저장된 상기 적어도 하나의 암호 키 목록은 상기 제2의 다른 보안 장치로의 송신을 위한 메시지를 암호화하기 위하여 사용 가능한 암호 키 목록을 포함하는, 방법.
  14. 제11항에 있어서,
    상기 확인 단계 동안, 획득된 상기 제1 및 제2 데이터 시퀀스가 상기 메시지 암호에 대응한다고 상기 프로세서가 확인할 수 없는 경우에, 상기 송신 단계로의 진입을 방지하는 단계를 더 포함하는, 방법.
  15. 제11항에 있어서,
    통신에 사용하기 위한 저장된 상기 적어도 하나의 암호 키 목록은 적어도 하나의 랜덤 생성 키(randomly-generated key)를 포함하는, 방법.
  16. 제11항에 있어서,
    암호화되지 않은 핸드쉐이크 메시지를 생성하는 단계는, 통신 세션의 상기 송신 단계 동안 송신된 상이한 메시지를 암호화하기 위해 상이한 메시지 암호를 선택하기 위한 선택 알고리즘을 실행하는 단계를 더 포함하는, 방법.
  17. 제11항에 있어서,
    암호화되지 않은 핸드쉐이크 메시지를 생성하는 단계는, 상기 제1의 다른 보안 장치와의 이전 통신을 위해 이전에 선택된 암호 코드를 반복하는 것을 방지하는 상기 메시지 암호를 상기 메모리 모듈 내의 상기 적어도 하나의 암호 코드 목록으로부터 선택하기 위한 선택 알고리즘을 실행하는 단계를 더 포함하는, 방법.
  18. 제11항에 있어서,
    상기 핸드쉐이크 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 복호화 암호 키는 동일한 암호 키인, 방법.
  19. 제11항에 있어서,
    상기 메시지 암호화 암호 키 및 상기 메시지 복호화 암호 키는 동일한 암호 키인, 방법.
  20. 네트워크를 통해 암호화된 통신을 복수의 다른 보안 장치에 송신하기 위한 보안 장치에 있어서,
    a. 제1의 다른 보안 장치로 전송할 적어도 하나의 메시지를 수신하기 위한 입력을 갖는 프로세서 - 상기 프로세서는 적어도 하나의 데이터 버스에 결합됨 -;
    b. 상기 프로세서에 통신 가능하게 결합되고, 상기 제1의 다른 보안 장치와의 통신에 사용하기 위한 적어도 하나의 암호 키 목록을 저장하기 위한 메모리 모듈 - 상기 제1의 다른 보안 장치는 상기 적어도 하나의 암호화 키 목록의 저장된 사본을 갖는 메모리를 가짐 -;
    c. 상기 프로세서에 결합된 암호 선택 회로 - 상기 암호 선택 회로는, 적어도, 상기 적어도 하나의 암호 키 목록에 기초하는 메시지 암호화 암호 키 및 핸드쉐이크 메시지 암호화 암호 키를 나타내는 선택 코드를 생성하도록 구성되고, 상기 복수의 다른 보안 장치 각각에서의 대응하는 암호 선택 회로는 상기 복수의 다른 보안 장치 각각에서 상기 적어도 하나의 암호 키 목록의 저장된 사본으로부터 상기 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 암호화 암호 키의 사본을 생성하기 위하여 상기 선택 코드를 처리하도록 구성됨 -; 및
    d. 상기 프로세서에 통신 가능하게 결합되고, 네트워크를 통해 상기 복수의 다른 보안 장치로 디지털 정보를 송수신하도록 구성된 네트워크 인터페이스
    를 포함하고,
    상기 프로세서는, 상기 선택 코드를 생성하고, 핸드쉐이크 메시지를 생성하여 상기 네트워크 인터페이스를 통해 상기 복수의 다른 보안 장치로 송신하기 위하여 상기 암호 선택 회로를 활성화함으로써 초기화 단계로 동작하도록 구성되고, 상기 핸드쉐이크 메시지는 상기 복수의 다른 보안 장치와 연관된 암호화되지 않은 그룹 번호와 상기 선택 코드를 포함하고,
    상기 프로세서는, 상기 메시지 암호화 암호 키에 기초하여 자신의 입력에서 수신된 적어도 하나의 메시지를 암호화함으로써 송신 단계로 동작하고, 결과적인 암호화된 상기 적어도 하나의 메시지를 상기 네트워크 인터페이스를 통해 상기 복수의 다른 보안 장치로 송신하도록 구성되는, 보안 장치.
  21. 복수의 다른 보안 장치로 전송할 적어도 하나의 메시지를 수신하기 위한 입력을 갖는 프로세서 - 상기 프로세서는 적어도 하나의 데이터 버스에 결합됨 -, 적어도 하나의 암호 키 목록을 저장하기 위한 메모리 모듈, 상기 적어도 하나의 암호 키 목록에 기초하여 선택 코드를 생성하기 위한 암호 선택 회로, 및 상기 복수의 다른 보안 장치로 송신하도록 구성된 네트워크 인터페이스를 포함하는 보안 장치에서,
    a. 상기 프로세서가, 상기 적어도 하나의 암호 키 목록에 기초하여 메시지 암호화 암호 키 및 핸드쉐이크 메시지 암호화 암호 키를 나타내는 선택 코드를 생성하도록 상기 암호 선택 회로를 활성화하는 단계 - 상기 복수의 다른 보안 장치 각각에서의 대응하는 암호 선택 회로는 상기 복수의 다른 보안 장치 각각의 메모리 내의 상기 적어도 하나의 암호 키 목록의 저장된 사본으로부터 상기 메시지 암호화 암호 키 및 상기 핸드쉐이크 메시지 암호화 암호 키의 사본을 생성하기 위하여 상기 선택 코드를 처리하도록 구성됨 -;
    b. 상기 프로세서가, 상기 복수의 다른 보안 장치와 연관된 암호화되지 않은 그룹 번호와 상기 선택 코드를 포함하는 핸드쉐이크 메시지를 생성하는 단계;
    c. 상기 핸드쉐이크 메시지를 상기 복수의 다른 보안 장치로 송신하는 단계;
    d. 상기 메시지 암호화 암호 키를 이용하여 자신의 입력에서 수신된 적어도 하나의 메시지를 암호화하고, 결과적인 암호화된 상기 적어도 하나의 메시지를 상기 네트워크 인터페이스를 통해 상기 복수의 다른 보안 장치로 송신함으로써 송신 단계로 동작하는 단계
    를 포함하는, 방법.
KR1020237009444A 2020-08-19 2021-08-04 알려진 사용자 사이의 보안 통신 KR20230050464A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063067837P 2020-08-19 2020-08-19
US63/067,837 2020-08-19
US202163213297P 2021-06-22 2021-06-22
US63/213,297 2021-06-22
PCT/US2021/044431 WO2022039924A1 (en) 2020-08-19 2021-08-04 Secure communication among known users

Publications (1)

Publication Number Publication Date
KR20230050464A true KR20230050464A (ko) 2023-04-14

Family

ID=80323154

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237009444A KR20230050464A (ko) 2020-08-19 2021-08-04 알려진 사용자 사이의 보안 통신

Country Status (5)

Country Link
EP (1) EP4201018A1 (ko)
JP (1) JP2023539152A (ko)
KR (1) KR20230050464A (ko)
IL (1) IL300495A (ko)
WO (1) WO2022039924A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117135626B (zh) * 2023-10-25 2024-01-26 北京数盾信息科技有限公司 一种基于高速加密技术的安全物联网控制***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4078802B2 (ja) * 2000-12-26 2008-04-23 ソニー株式会社 情報処理システム、情報処理方法、情報処理装置、および情報記録媒体、並びにプログラム記録媒体
US7360076B2 (en) * 2001-06-13 2008-04-15 Itt Manufacturing Enterprises, Inc. Security association data cache and structure
US8165302B2 (en) * 2005-06-07 2012-04-24 Sony Corporation Key table and authorization table management
US8352728B2 (en) * 2006-08-21 2013-01-08 Citrix Systems, Inc. Systems and methods for bulk encryption and decryption of transmitted data
CA2571891C (en) * 2006-12-21 2015-11-24 Bce Inc. Device authentication and secure channel management for peer-to-peer initiated communications

Also Published As

Publication number Publication date
EP4201018A1 (en) 2023-06-28
WO2022039924A1 (en) 2022-02-24
IL300495A (en) 2023-04-01
JP2023539152A (ja) 2023-09-13

Similar Documents

Publication Publication Date Title
US10187200B1 (en) System and method for generating a multi-stage key for use in cryptographic operations
US10594479B2 (en) Method for managing smart home environment, method for joining smart home environment and method for connecting communication session with smart device
US10650373B2 (en) Method and apparatus for validating a transaction between a plurality of machines
CN101800738B (zh) 一种移动设备安全访问与存储内网数据的实现***及方法
US11588627B2 (en) Systems and methods for utilizing quantum entropy in single packet authorization for secure network connections
KR20180119201A (ko) 인증 시스템을 위한 전자 장치
US11677546B2 (en) Methods and systems of securely transferring data
Olakanmi et al. Faster and efficient cloud-server-aided data de-duplication scheme with an authenticated key agreement for Industrial Internet-of-Things
CN117318941B (zh) 基于车内网的预置密钥分发方法、***、终端及存储介质
KR20230050464A (ko) 알려진 사용자 사이의 보안 통신
Prakash et al. Data security in wired and wireless systems
Thapar et al. A study of data threats and the role of cryptography algorithms
KR102308248B1 (ko) 양자난수 기반의 양자암호화칩이 탑재된 비화게이트웨이 및 이를 이용한 IoT디바이스간 비화통신 서비스 제공방법
CN109688584B (zh) 适用于资源受限网络节点的数据安全存储***及方法
Guntuku et al. Secure authentication scheme for internet of things in cloud
US11811915B1 (en) Stateless system to protect data
Rishu et al. Advancements in encryption techniques for enhanced data security over cloud
JP2005151004A (ja) 無線タグプライバシー保護方法、無線タグ装置、セキュリティサーバ装置、無線タグ装置用プログラムおよびセキュリティサーバ装置用プログラム
US11979501B2 (en) Optimized access in a service environment
US12052367B2 (en) Optimized access in a service environment
KR102341801B1 (ko) 양자보안 통신장치 통합형 영상 감시 시스템 및 방법
Jianluan et al. Computer Vision Operating System of Bank Economic Management Security under 5G Wireless Communication Technology
Mantoro et al. Preventing Cyber Crime in Electronic Medical Records Using Encryption Data
Baban et al. Securing a Web-Based Hospital Management System Using a Combination of AES and HMAC.
Liu et al. A Secure Cross-Domain Access Control Scheme for Internet of Medical Things