KR20210021282A - 원격 보안 터미널 - Google Patents

원격 보안 터미널 Download PDF

Info

Publication number
KR20210021282A
KR20210021282A KR1020207030427A KR20207030427A KR20210021282A KR 20210021282 A KR20210021282 A KR 20210021282A KR 1020207030427 A KR1020207030427 A KR 1020207030427A KR 20207030427 A KR20207030427 A KR 20207030427A KR 20210021282 A KR20210021282 A KR 20210021282A
Authority
KR
South Korea
Prior art keywords
peripheral device
data
computer
processor
secure
Prior art date
Application number
KR1020207030427A
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 KR20210021282A publication Critical patent/KR20210021282A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/06Answer-back mechanisms or circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/50Circuit switching systems, i.e. systems in which the path is physically permanent during the communication
    • 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/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

보안 클라이언트 컴퓨터와 원격 컴퓨터 간의 통신을 제공하는 컴퓨터 구현 방법. 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터가 제공된다. 각각의 주변 장치 구성 요소는 다른 주변 장치 구성 요소의 프로세서에 의해 처리되는 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 프로세서에 의해 구성된다. 각각의 주변 장치 구성 요소의 프로세서는 지정된 데이터 유형의 대응하는 데이터를 코딩하도록 추가로 구성된다. 각각의 주변 장치 구성 요소는 프로세서에 의해 주변 장치 구성 요소와 클라이언트 컴퓨터와 통신할 수 있는 인가된 원격 컴퓨터 사이에 보안 피어 투 피어 통신 채널을 구축하도록 구성되고, 보안 통신 채널을 통해 상기 인가된 원격 컴퓨터 및 주변 장치 구성 요소 사이에 통신되는 데이터를 코딩하도록 더 구성된다. 코딩된 데이터는 주변 장치 구성 요소의 다른 것의 프로세서에서 해독할 수 없다.

Description

원격 보안 단말
본 발명은 원격 보안 단말에 관한 것이다.
클라우드 기반 서비스의 사용이 계속 증가함에 따라 전송 보안(예를 들어, 보안 터널과 같은)과 페이로드 보안(즉, 클라이언트 컴퓨터와 원격 서버간에 전송되는 콘텐츠)을 모두 달성하기 위해 원격 서버(클라우드에 상주할 수 있는)에 대해 운영하는 보안 클라이언트 컴퓨터(예를 들어, 원격 데스크톱, 랩톱, 휴대폰 등)의 문제가 증가했다. 클라이언트 컴퓨터의 손상(전송 보안 및/또는 페이로드 보안에 악영향을 미칠 수 있는)을 줄이거나 제거하기 위해, 다양한 접근 방식이 제시되었다.
예를 들어, Intel® Skylake™ 및 나중에 도입된 플랫폼을 통합하는 클라이언트 컴퓨터는 신뢰할 수 없는 OS(오픈 소스) 코드와 같은 다른 코드와 함께 존재하고 함께 실행하는 격리된 보안 환경을 생성하는 CPU의 새로운 실행 모드인 "Intel Software Guard Extension" (SGX)™ 솔루션을 사용한다. 격리된 보안 환경은 클라이언트 컴퓨터의 주변 장치 구성 요소(예를 들어, 키보드, 화면, 카메라 등)가 손상 되더라도 높은 수준의 보안을 유지한다.
지정된 SGX™ 솔루션의 한계 중 하나는 특정 공급 업체 및 플랫폼 버전에서만 작동한다는 것이다.
본 발명의 양태에 따라, 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법으로서:
(a) 적어도 2개의 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터를 제공하는 단계로서; 각각의 주변 장치 구성 요소는 프로세서에 의해, 상기 적어도 2개의 주변 장치 구성 요소 중 다른 구성 요소의 프로세서에 의해 처리된 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성되고; 각각의 주변 장치 구성 요소의 상기 프로세서는 상기 데이터 유형의 상기 대응하는 데이터를 코딩하도록 추가로 구성되는 단계;
를 포함하고,
상기 방법은 상기 프로세서에 의해, 상기 구성 요소의 각각의 주변 장치 구성 요소에 대해,
(b) 상기 주변 장치 구성 요소와 상기 클라이언트 컴퓨터와 통신하도록 인가된 상기 원격 컴퓨터 사이에 보안 피어 투 피어 통신 채널을 구축하는 단계; 및
(c) 상기 보안 통신 채널을 통해 인가된 상기 원격 컴퓨터와 상기 주변 장치 구성 요소 사이에 통신되는 데이터를 코딩하는 단계로서, 코딩된 상기 데이터는 상기 주변 장치 구성 요소 중 다른 구성 요소의 프로세서에 의해 복호화할 수 없는 단계;
를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법이 제공된다.
본 발명의 실시 예에 따라, 단계 (b)는:
ⅰ. 상기 원격 컴퓨터의 공개 키를 포함하는 비대칭 키를 사용하여 상기 원격 컴퓨터를 인증하는 단계;
ⅱ. 상기 주변 장치 구성 요소에 알려진 개인 키를 포함하는 비대칭 키를 사용하여 상기 주변 장치 구성 요소를 인증하는 단계;
ⅲ. 상기 인증된 원격 컴퓨터 및 상기 인증된 주변 장치 구성 요소에 알려진 통신 키를 구축하는 단계로서, 상기 통신 키는 상기 클라이언트 컴퓨터와 상기 원격 컴퓨터 사이의 데이터 코딩에 사용 가능한 단계;
를 더 포함하는 방법이 더 제시된다.
본 발명의 실시 예에 따르면, 보안 통신 채널을 통해 통신하기 위한 코딩 데이터가:
ⅳ. 상기 보안 통신 채널을 통해 전송하기 위해 데이터를 암호화하는 단계; 또는
ⅴ. 상기 보안 통신 채널을 통해 수신된 데이터를 암호 해독하는 단계;
를 포함하는 방법이 더 제시된다.
본 발명의의 실시 예에 따라, 적어도 2개의 주변 장치 중 2개는 각각 키보드 및 디스플레이이고, 상기 키보드의 프로세서는 키 입력 데이터 유형의 대응하는 데이터를 처리하도록 구성되고 상기 디스플레이의 프로세서는 디스플레이 데이터 유형 중 대응하는 데이터를 처리하도록 구성되는 방법이 더 제시된다.
본 발명의 일 실시 예에 따르면, 상기 클라이언트 컴퓨터는 상기 적어도 2개의 주변 장치 구성 요소 중 임의의 것과 분리된 프로세서 모듈이 없고 상기 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신이 상기 적어도 2개의 주변 장치 구성 요소에 의해 달성되는 방법이 더 제시된다.
본 발명의 일 실시 예에 따르면, 상기 클라이언트 컴퓨터는 손상되기 쉽고 상기 적어도 2개의 주변 장치 구성 요소 중 임의의 것으로부터 더 분리되는 프로세서 모듈을 더 포함하고; 단계 (b)는:
상기 주변 장치 구성 요소와 상기 프로세서 모듈 사이에 보안 피어 투 피어 통신 채널을 구축하는 단계로서, 보안 프로세서/원격 컴퓨터 피어 투 피어 통신 채널은 상기 프로세서 모듈과 상기 원격 컴퓨터 사이에 구축되는 단계를 더 포함하는 방법이 더 제시된다.
본 발명의 실시 예에 따르면, 단계 (c)는:
C1 코딩된 데이터를 생성하도록 상기 데이터를 코딩하는 단계;
C2 상기 보안 통신 채널을 통해 코딩된 상기 데이터를 상기 프로세서 모듈로 전송하는 단계; 및
상기 보안 프로세서/원격 컴퓨터 통신 채널을 통해 상기 프로세서 모듈로부터 상기 인증된 원격 컴퓨터로 상기 코딩된 데이터를 전송하기 위해; 상기 코딩된 데이터는 손상되기 쉬운 상기 프로세서 모듈에 의해 해독할 수 없어서, 상기 프로세서 모듈의 사용 여부에 관계없이 상기 주변 장치 구성 요소와 인증된 원격 컴퓨터 사이의 보안 통신을 달성하는 단계;
를 더 포함하는 방법이 더 제시된다.
본 발명의 일 실시 예에 따르면, 적어도 하나의 상기 주변 장치 구성 요소의 그룹에 대해 상기 프로세서는 상기 그룹의 하나의 모듈과 연관된 제1 데이터 유형의 데이터를 상기 그룹의 다른 모듈의 제2 비호환 유형의 데이터로 전환할 수 있는 방법으로서:
d) 상기 주변 장치 구성 요소의 상기 그룹의 다른 주변 장치 구성 요소와 보안 피어 투 피어 통신 채널을 구축하는 단계;
e) 상기 보안 통신 채널을 통해 상기 하나의 주변 장치 구성 요소와 상기 다른 주변 장치 구성 요소 사이에서 통신하기 위한 데이터를 코딩하는 단계로서, 코딩된 상기 데이터는 상기 그룹과 별개인 다른 주변 장치 구성 요소에 의해 해독할 수 없는 단계; 및
f) 상기 제1 유형의 데이터를 상기 제2 유형의 데이터로 또는 그 반대로 변환하여 공통 데이터 유형으로 주변 장치 구성 요소의 그룹 사이의 통신을 용이하게 하는 단계;
를 더 포함하는 방법이 더 제시된다.
본 발명의 실시 예에 따라, 상기 인증된 원격 컴퓨터가 상기 클라우드에 상주하는 방법이 더 제시된다.
본 발명의 양태에 따라, 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법으로서:
적어도 2개의 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터를 제공하는 단계로서; 각각의 주변 장치 구성 요소는 프로세서에 의해, 상기 적어도 2개의 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 처리된 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성되고; 각각의 주변 장치 구성 요소의 상기 프로세서는 상기 데이터 유형의 상기 대응하는 데이터를 코딩하도록 더 구성되고; 상기 클라이언트 컴퓨터는 손상되기 쉬우며 상기 적어도 2개의 주변 장치 구성 요소 중 임의의 것으로부터 더 분리되는 프로세서 모듈을 더 포함하는 상기 제공하는 단계;
를 포함하고,
상기 방법은 상기 모듈들의 각각의 주변 장치 구성 요소에 대해:
상기 클라이언트 컴퓨터와 통신하도록 인가된 상기 원격 컴퓨터와 상기 주변 장치 구성 요소 사이에 보안 피어 투 피어 통신 채널을 구축하는 단계로서; 상기 보안 피어 투 피어 통신 채널을 구축하는 단계는 상기 원격 컴퓨터 및 상기 주변 장치 구성 요소에 알려진 통신 키를 구축하는 단계를 포함하며, 상기 통신 키는 상기 주변 장치 구성 요소와 상기 원격 구성 요소 사이의 데이터 코딩에 사용 가능한 단계;
상기 주변 장치 구성 요소와 상기 프로세서 모듈 사이에 보안 피어 투 피어 통신 채널을 구축하는 단계로서, 보안 프로세서/원격 컴퓨터 피어 투 피어 통신 채널이 상기 프로세서 모듈과 원격 컴퓨터 사이에 구축되는 단계;
를 더 포함하는 컴퓨터 구현 방법이 더 제시된다.
본 발명의 일 실시 예에 따르면, 코딩된 데이터를 생성하는 데이터를 코딩하는 단계; 보안 통신 채널을 통해 상기 코딩된 데이터를 상기 프로세서 모듈로 전송하는 단계; 및 보안 프로세서/원격 컴퓨터 통신 채널을 통해 상기 프로세서 모듈로부터 인증된 원격 컴퓨터로 코딩된 데이터를 전송하기 위해; 상기 코딩된 데이터는 손상되기 쉬운 상기 프로세서 모듈에서 해독할 수 없어서, 손상되기 쉬운 상기 프로세서 모듈의 사용 여부에 관계없이 상기 클라이언트 컴퓨터와 인증된 원격 컴퓨터 간의 보안 통신을 달성하는 단계;를 더 포함하는 방법이 더 제시된다.
본 발명의 실시 예에 따라, 프로세서 모듈이 수신하면서, 상기 보안 프로세서/원격 컴퓨터 통신 채널을 통해 상기 인증된 원격 컴퓨터에 의해 전송된 코딩된 데이터를 제공하는 단계; 상기 코딩된 데이터는 상기 프로세서 모듈에서 해독할 수 없으며, 대응하는 보안 통신 채널을 통해 상기 주변 장치 구성 요소에 의해 상기 코딩된 데이터를 수신하는 단계, 및 상기 주변 장치 구성 요소의 상기 프로세서에 의해 상기 코딩된 데이터를 해독하여 손상되기 쉬운 상기 프로세서 모듈의 이용에 관계없이 상기 주변 장치 구성 요소와 인증된 원격 컴퓨터 사이의 보안 통신을 달성하는 단계;
를 더 포함하는 방법이 더 제시된다.
본 발명의 양태에 따라, 보안 클라이언트 컴퓨터를 제공하기 위한 컴퓨터 구현 방법에 있어서: 적어도 2개의 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터로서, 각각의 주변 장치 구성 요소는 프로세서에 의해, 상기 적어도 2개의 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 처리되는 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성되고; 각각의 주변 장치 구성 요소의 상기 프로세서는 상기 데이터 유형의 상기 대응하는 데이터를 코딩하도록 추가로 구성되고; 적어도 하나의 주변 장치 구성 요소 그룹에 대해, 상기 프로세서는 상기 그룹의 하나의 모듈과 연관된 제1 데이터 유형의 데이터를 상기 그룹의 다른 모듈의 제2 비호환 유형의 데이터로 변환할 수 있는 상기 방법은:
a. 상기 주변 장치 구성 요소 그룹의 다른 주변 장치 구성 요소와 보안 피어 투 피어 통신을 구축하는 단계;
b. 상기 보안 통신 채널을 통해 하나의 주변 장치 구성 요소와 상기 다른 주변 장치 구성 요소 사이에 통신하기 위한 데이터를 코딩하는 단계로서, 상기 코딩된 데이터는 상기 그룹과는 별개의 상기 주변 장치 구성 요소 중 다른 것에 의해 해독 가능하지 않은 상기 코딩하는 단계;
c. 제1 유형의 데이터를 제2 유형의 데이터로 또는 그 반대로 변환하여 공통 데이터 유형으로 상기 주변 장치 구성 요소 그룹 사이의 통신을 용이하게 하는 단계;
를 더 포함하는 컴퓨터 구현 방법이 더 제시된다.
본 발명의 양태에 따르면, 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 시스템으로서:
적어도 2개의 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터로서; 각각의 주변 장치 구성 요소는 프로세서에 의해, 상기 적어도 2개의 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 처리되는 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성되고; 각각의 주변 장치 구성 요소의 상기 프로세서는 상기 데이터 유형의 대응하는 데이터를 코딩하도록 추가로 구성되는 상기 클라이언트 컴퓨터;
를 포함하고,
상기 구성 요소의 각 주변 장치 구성 요소는 상기 프로세서에 의해:
상기 클라이언트 컴퓨터와 통신하도록 인가된 상기 원격 컴퓨터와 상기 주변 장치 구성 요소 사이에 보안 피어 투 피어 통신 채널을 구축하고; 및
상기 보안 통신 채널을 통해 인가된 상기 원격 컴퓨터와 상기 주변 장치 구성 요소 사이에서 통신되는 데이터를 코딩하도록;
구성되고, 코딩된 상기 데이터는 상기 주변 장치 구성 요소의 프로세서에 의해 해독가능하지 않은 컴퓨터 구현 시스템이 더 제시된다.
본 발명의 일 실시 예에 따르면, 상기 클라이언트 컴퓨터는 적어도 2개의 주변 장치 구성 요소 중 임의의 것과 분리된 프로세서 모듈이 없고 상기 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신이 적어도 2개의 주변 장치 구성 요소에 의해 달성되는 시스템이 더 제시된다.
본 발명의 일 실시 예에 따르면, 상기 인증된 원격 컴퓨터의 상기 프로세서는 상기 구성 요소의 제1 인증된 주변 장치 구성 요소로부터 대응하는 제1 신뢰 채널을 통해 제1 데이터 유형의 코딩된 데이터를 수신하고, 상기 제1 주변 장치 구성 요소와 연관된 제1 통신 키를 사용하여 이를 디코딩하고, 그것을 처리 가능한 데이터로 변환하도록 구성되고; 상기 프로세서는 처리 가능한 데이터를 제2 데이터 유형의 데이터로 변환하고, 제2 인증된 주변 장치 구성 요소와 연관된 제2 통신키로 이를 코딩하고, 대응하는 제2 신뢰 채널을 통해 상기 제2 인증된 주변 장치 구성 요소로 그것을 전송하도록 추가로 구성되는 시스템이 더 제시된다.
본 발명의 실시 예에 따르면, 상기 인증된 원격 컴퓨터가 클라우드에 상주하는 시스템이 추가로 제공된다.
본 발명의 양태에 따라, 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 시스템으로서:
적어도 2개의 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터로서; 각각의 주변 장치 구성 요소는 프로세서에 의해, 상기 적어도 2개의 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 처리된 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성되고; 각각의 주변 장치 구성 요소의 상기 프로세서는 상기 데이터 유형의 상기 대응하는 데이터를 코딩하도록 더 구성되고; 상기 클라이언트 컴퓨터는 손상되기 쉬우며 추가적으로 상기 적어도 2개의 주변 장치 구성 요소 중 임의의 것과 분리되는 프로세서 모듈을 더 포함하는 상기 클라이언트 컴퓨터;
를 포함하고,
상기 구성 요소의 각 주변 장치 구성 요소는:
상기 원격 컴퓨터 및 상기 주변 장치 구성 요소에 알려지고, 상기 주변 장치 구성 요소와 원격 구성 요소 사이의 데이터 코딩에 사용할 수 있는 통신 키를 구축하는 것을 포함하면서, 상기 주변 장치 구성 요소와 상기 클라이언트 컴퓨터와 통신하도록 인가된 상기 원격 컴퓨터 사이에 보안 피어 투 피어 통신 채널을 구축하고;
상기 주변 장치 구성 요소와 상기 프로세서 모듈 사이에 보안 피어 투 피어 통신 채널을 구축하도록;
상기 프로세서에 의해 구성되고,
여기서, 보안 프로세서/원격 컴퓨터 피어 투 피어 통신 채널이 상기 프로세서 모듈과 상기 원격 컴퓨터 사이에 구축되는 컴퓨터 구현 시스템이 더 제시된다.
본 발명의 양태에 따라, 보안 클라이언트 컴퓨터를 제공하기 위한 컴퓨터 구현 시스템으로서:
적어도 2개의 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터로서; 각각의 주변 장치 구성 요소는 프로세서에 의해, 상기 적어도 2개의 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 처리된 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성되고; 각각의 주변 장치 구성 요소의 상기 프로세서는 상기 데이터 유형의 상기 대응하는 데이터를 코딩하도록 더 구성되고; 적어도 하나의 상기 주변 장치 구성 요소 그룹에 대해, 상기 프로세서는 상기 그룹의 하나의 구성 요소와 연관된 제1 데이터 유형의 데이터를 상기 그룹의 다른 구성 요소의 제2 비호환 유형의 데이터로 변환할 수 있는 상기 클라이언트 컴퓨터;
를 포함하고,
상기 구성 요소의 주변 장치 구성 요소는:
주변 장치 구성 요소의 상기 그룹의 다른 주변 장치 구성 요소의 보안 피어 투 피어 통신을 구축하고;
상기 보안 통신 채널을 통해 하나의 주변 장치 구성 요소와 상기 다른 주변 장치 구성 요소 사이에 통신하기 위한 데이터를 코딩하고; 코딩된 상기 데이터는 상기 그룹과는 별개인 상기 주변 장치 구성 요소 중 다른 것에 의해 해독 가능하지 않고;
상기 제1 유형의 데이터를 상기 제2 유형의 데이터로 또는 그 반대로 변환하여, 공통 데이터 유형으로 상기 주변 장치 구성 요소 그룹 사이의 통신을 용이하게 하도록;
상기 프로세서에 의해 구성되는 컴퓨터 구현 시스템이 더 제시된다.
본 발명의 실시 예에 따르면, 본 발명의 다양한 실시 예의 방법 단계를 실행하기 위해 컴퓨터에 의해 실행 가능한 명령어 프로그램을 실체적으로 구현하는 비일시적 컴퓨터 판독 가능 메모리가 추가로 제공된다.
본 발명의 일 양태의 문맥 내에서 설명된 실시 예는 필요한 변경을 가하여 본 발명의 다른 양태에 유사하게 적용될 수 있다.
본 발명을 이해하고 그것이 실제로 어떻게 수행될 수 있는지 보기 위해, 첨부된 도면을 참조하여 비제한적인 예로서 실시 예가 설명될 것이다.
도 1은 본 발명의 특정 실시 예에 따라 보안 클라이언트 컴퓨터를 제공하기 위한 시스템의 기능 블록도를 도시한다.
도 2는 본 발명의 특정 실시 예에 따른 SOC(System On Chip)의 기능 블록도를 도시한다.
도 3은 본 발명의 특정 실시 예에 따른, 도 1의 시스템에서의 일련의 동작의 일반화된 흐름도를 도시한다.
도 4는 본 발명에 따라 주변 장치 구성 요소와 원격 컴퓨터 사이에서 보안 통신 채널을 구축하는 일련의 동작의 흐름도를 도시한다.
도 5는 본 발명의 다른 양태의 특정 실시 예에 따라 보안 클라이언트 컴퓨터를 제공하기 위한 시스템의 기능 블록도를 도시한다.
도 6은 본 발명의 특정 실시 예에 따라, 도 5의 시스템에서 보안 통신 채널을 생성하기 위한 일련의 동작의 일반화된 흐름도를 도시한다.
도 7은 본 발명의 특정 실시 예에 따른, 예를 들어 도 6의 흐름도에 따른 구축된 보안 통신 채널을 활용하기 위한 일련의 동작을 도시한다.
도 8은 본 발명의 특정한 다른 실시 예에 따른 예를 들어 도 6의 흐름도에 따라 구축된 보안 통신 채널을 활용하기 위한 일련의 동작을 도시한다.
도 9는 본 발명의 또 다른 양태의 특정 실시 예에 따른 보안 클라이언트 컴퓨터를 제공하기 위한 시스템의 기능 블록도를 도시한다.
도 10은 본 발명의 특정 실시 예에 따른, 도 9의 시스템에서의 보안 통신 채널을 생성하기 위한 일련의 동작의 일반화된 흐름도를 도시한다.
도 11은 본 발명의 특정 실시 예에 따른, 예를 들어 도 9의 흐름도에 따라 구축된 보안 통신 채널을 활용하기 위한 일련의 동작을 예시한다.
다음의 상세한 설명에서, 본 발명의 완전한 이해를 제공하기 위해 다수의 특정 세부 사항이 설명된다. 그러나 본 발명은 이러한 특정 세부 사항 없이도 실시될 수 있다는 것을 당업자는 이해할 것이다. 다른 예에서, 잘 알려진 방법, 절차, 모듈 및 회로는 본 발명을 모호하게 하지 않도록 상세하게 설명되지 않았다.
달리 구체적으로 언급되지 않는 한, 다음 논의에서 명백한 바와 같이, 명세서 전반에 걸쳐 "인증", "통신", "전송", "코딩", "변환", "용이하게 함", "제공", "구축", "처리", "연산", "표현", "비교", "생성", "평가", "매칭", "업데이트" 등과 같은 용어들을 활용한 논의는 데이터를 조작하고 및/또는 다른 데이터로 변환하는 액션(들) 및/또는 컴퓨터의 프로세스(들)을 가리키고, 상기 데이터는 전자, 수량 및/또는 물리적 객체를 나타내는 상기 데이터와 같이, 물리적으로 표시된다. 컴퓨터 또는 프로세서라는 용어는 비제한적인 예시적인 클라이언트 컴퓨터, 원격 컴퓨터, 프로세서, 본 명세서에서 논의된 프로세서 모듈을 포함하는 데이터 처리 능력을 갖는 임의의 종류의 하드웨어 기반 전자 장치 또는 장치들을 커버하도록 광범위하게 해석되어야 한다.
본 명세서에서 사용된 "비일시적 저장 매체"라는 용어는 본 발명에 적합한 임의의 휘발성 또는 비휘발성 컴퓨터 메모리를 포괄하도록 광범위하게 해석되어야 한다.
본 명세서의 교시에 따른 동작은 원하는 목적을 위해 특별히 구성된 컴퓨터에 의해, 또는 원하는 목적을 위해 특별히 구성된 범용 컴퓨터에 의해, 또는 비일시적 컴퓨터 판독 가능 저장 매체에 저장된 컴퓨터 프로그램에 의해 수행될 수 있다.
본 발명의 실시 예는 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 본 명세서에 설명된 바와 같이 본 발명의 교시를 구현하기 위해 다양한 프로그래밍 언어가 사용될 수 있다는 것이 이해될 것이다.
이를 염두에 두고, 본 발명의 특정 실시 예에 따른 시스템의 기능 블록도를 예시하는 도 1에 주의를 기울인다. 예시된 시스템(100)은 이 예에 의해 2개의 주변 장치 구성 요소(102 및 103)를 포함할 수 있는 클라이언트 컴퓨터(101)를 포함한다. 클라이언트 컴퓨터는 알려진 그 자체 네트워크(105로 집합적으로 지정된)를 통해 원격 컴퓨터(104)(예를 들어, 클라우드에 상주하는 서버)에 결합되고, 주변 장치 구성 요소와 원격 컴퓨터(104) 사이의 보안 통신을 제공하도록 구성된다. 주변 장치 구성 요소의 비제한적인 예는 키보드 마이크, 추적 장치 또는 이들의 조합(예를 들어, 키보드 및 마우스)과 같은 입력 구성 요소, 및 디스플레이 구성 요소 및/또는 기타(반드시 입력 또는 출력할 필요는 없음)와 같은 출력 구성 요소이다. 각 주변 장치 구성 요소는 주어진 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성된다. 예를 들어 키보드 구성 요소의 경우, 데이터 유형은 스캔 코드 또는 키 코드와 같은 키 입력 관련 데이터일 수 있다. 주어진 주변 장치 구성 요소(예를 들어 키보드)와 관련된 데이터 유형은 다른 주변 장치 구성 요소(들)(예를 들어 디스플레이) 중 하나(또는 하나 이상)의 데이터 유형과는 다를 수 있다는 것에 유의하라. 특정 실시 예에 따르면, 데이터 유형이 서로 호환되는 다른 2개 이상의 주변 장치 구성 요소(동일한 유형, 예를 들어 두 개의 키보드 또는 다른 유형의)가 있을 수 있다. 특정 실시 예에 따르면, 주변 장치 구성 요소의 물리적 부분(107)(예를 들어, 디스플레이의 경우 화면, 물리적 키보드 키 입력 및 관련 전자/하드웨어)은 지정된 데이터 유형을 포함하는 데이터를 생성 및 처리하기 위한 프로세서(106)와 연관될 수 있다.
프로세서(106)는, 그 모두가 이하에서 더 상세히 설명되는 바와 같이, 지정된 데이터 유형의 대응하는 데이터를 코딩하기 위한 코딩 모듈(108)을 실행하도록 구성될 수 있다. 네트워크 모듈은 예를 들어 원격 컴퓨터104)와의 통신을 용이하게 하도록 구성된다. 아래에서 더 논의되는 바와 같이, 프로세서는 주어진 데이터 유형의 데이터를 다른 데이터 유형과 호환될 수 있는 또 다른 유형으로 변환하기 위해 데이터 호환 모듈(110)(예를 들어, 드라이버)을 실행하도록 구성될 수 있다. 도 1은 개인 키와 같은 데이터를 저장하기 위한 저장 모듈(111)(비일시적 컴퓨터 판독 가능 저장 매체)을 추가로 도시하며, 이는 모두 아래에서 더 상세히 설명될 것이다.
코딩 모듈(108) 및 네트워크 모듈(109)(후자는 네트워크(105)을 통해 원격 서버(104)와의 통신을 용이하게 할 수 있음)은 아래의 도 2를 참조하여 설명되는 바와 같이 하나 이상의 SOC(System On Chip)에 상주할 수 있다.
특정 실시 예에 따르면, 주변 장치 구성 요소(도 1의 예에서 N(N> 2) 중 2개만 도시됨)는 랩톱, 데스크톱, 셀룰러 장치와 같은 클라이언트 컴퓨터(101)의 일부를 형성할 수 있고, 그 자체로 알려진, 또는 다른 2개 이상의 주변 장치 구성 요소에 따라 공지된 다른 것은 원격으로 상주하고 네트워크를 통해 통신할 수 있으며, 이에 의해 반드시 하나의 물리적 클라이언트 컴퓨터에 상주할 필요는 없고, 모두 본질적으로 공지된다.
주변 장치 구성 요소(103)는 유사한 블록 및 모듈을 적절한 변경을 가하여 포함할 수 있다. 예를 들어, 주변 장치 구성 요소(103)가 디스플레이인 경우, 물리적 구성 요소(107)는 상이할 수 있고 디스플레이 구성 요소에 적합할 수 있다.
이제 원격 컴퓨터(104)를 참조하면, 이는 프로세서(112), 각각의 주변 장치(102 및 103)와의 통신을 위한 네트워크 모듈(113 및 114)을 포함한다. 프로세서(112)는 비호환 데이터 유형 사이의 변환을 위해 데이터 호환성 모듈(들)의 일부를 형성할 수 있는 드라이버 모듈(114 및 115)을 실행하도록 구성될 수 있는데, 예를 들어, 드라이버(115)는 프로세서(112) 상에서 실행하는 적절한 애플리케이션 모듈(도시되지 않음)에 의해 추가 처리하기 위해 네트워크 모듈(112)을 통해(보안 채널(105(1))을 통해, 모두가 하기에 더 상술되는 바와 같이) 키보드 구성 요소(102)로부터 수신된 키 입력 데이터 유형을 변환할 수 있다. 유사하게, 드라이버(116)는 프로세서(112)에서 실행되는 적절한 애플리케이션 모듈(도시되지 않음)에 의해 처리된 출력 데이터를 네트워크 모듈(114)을 통해(보안 채널 105(2)을 통해, 모두가 하기에 더 상세히 논의됨)을 통해 디스플레이 구성 요소(103)로 전송될 디스플레이 유형 데이터로 변환할 수 있다. 원격 서버에 전달된 데이터가 코딩, 예를 들어 암호화되는 경우(아래에서 더 상세히 설명되는 바와 같이), 원격 컴퓨터는 예를 들어 주변 장치 구성 요소의 코딩 모듈에 의해 디코딩될 데이터를 암호화하기 위해 데이터를 해독하고 및/또는 그 반대를 하기 위해 코딩 모듈(117)을 이용할 수 있다. 프로세서는 저장 모듈(비일시적 컴퓨터 판독 가능 저장 매체)에 동작 가능하게 결합되어 있다(도 1에는 표시되지 않음).
본 발명은 단지 예로서 제공되는 원격 컴퓨터의 특정 아키텍처에 의해 제한되지 않으며, 임의의 공지된 아키텍처 자체가 적용될 수 있다.
또한, 도 1의 실시 예에서, 주변 장치 구성 요소는 하나의 로컬 클라이언트 컴퓨터(101)에 수용되지만, 항상 그런 것은 아니며, 따라서 2개 이상의 구성 요소가 네트워크를 통해 통신할 수 있으므로 반드시 동일한 물리적 위치에 상주할 필요는 없다는 것에 유의해야 한다. 따라서, 특정 실시 예에 따르면, 클라이언트 컴퓨터는 한 위치에 상주하는 로컬 컴퓨터일 수 있거나, 또는 다른 실시 예에 따라 반드시 한 위치에 상주할 필요는 없다.
이제, 도 2로 돌아가면, 이것은 본 발명의 특정 실시 예에 따른 보다 상세한 SOC(System On Chip)(200)의 기능 블록도를 예시한다. 따라서, SOC(200)는 예를 들어 드라이버(들)를 포함하는 데이터 호환 모듈(110)을 실행하도록 구성된 프로세서(106)를 포함할 수 있다. 프로세서는 이 실시 예에 의해 암호화 동작을 수행할 수 있는 암호화 시맨틱 모듈(202)을 포함하는 코딩 모듈에 대해 추가로 구성될 수 있다. 프로세서는 이 예에 의해 TPM(신뢰 플랫폼 모듈)(203) 및 외부 검증 및 구성 데이터(예를 들어, 스마트카드, 서브키 및 니트로키 등으로부터의)를 판독할 수 있는 외부 소스 모듈(204)을 포함하는 스토리지(111)에 동작 가능하게 결합된다. 지정된 모듈의 동작은 아래에서 더 자세히 설명된다. 네트워크 모듈(205)은 예를 들어 803.11X, 블루투스(LE), 썬더볼트 등 중 하나 이상을 이용하는 통신 스택일 수 있다. 도 1을 참조하는 설명은 하나의 SOC를 사용하지만, 유사하게 도 2를 참조하여 설명된 것과 유사하거나 수정된 기능을 집합적으로 가질 수 있는 2개 이상의 SOC를 사용할 수 있다.
따라서, 위의 도 1, 2 및 아래의 5 및 9를 참조하여, 프로세서(106)(또는 경우에 관계없이 112)는 비일시적 컴퓨터 판독 가능 저장매체에 구현된 컴퓨터 판독 가능 명령에 따라 다수의 기능 모듈을 실행하도록 구성될 수 있다.
본 발명의 교시는 도 1을 참조하여 기술된 시스템 및/또는 컴퓨터 및/또는 프로세서 시스템에 구속되지 않는다는 점에 유의한다. 등가 및/또는 수정된 기능은 다른 방식으로 통합되거나 분할될 수 있으며, 소프트웨어와 펌웨어 및/또는 하드웨어의 적절한 조합으로 구현될 수 있으며 적절한 장치에서 실행될 수 있다. 당업자는 또한 데이터 스토리지가 다른 방식으로 통합되거나 분할될 수 있고; 데이터베이스는 다른 시스템과 공유하거나 타사 장비를 포함한 다른 시스템에서 제공할 수 있음을 이해할 것이다.
설명을 위해서만, 주변 장치 구성 요소 간의 보안 통신을 구축하기 위해 다음 설명이 제공된다. 당업자는 본 발명의 교시가 유사하게 주변 장치 구성 요소(들)와 원격 컴퓨터(들) 사이의 보안 통신에 적용 가능하다는 것을 쉽게 이해할 것이다.
이를 염두에 두고, 본 발명의 특정 실시 예에 따라, 원격 컴퓨터(예를 들어, 도 1의 104)와 하나 이상의 주변 장치 구성 요소(예를 들어, 102 및/또는 103)(동일한 클라이언트의 컴퓨터에 상주하거나 상주하지 않음) 사이의 보안 통신을 구축하기 위한 일련의 동작의 일반화된 흐름도를 나타내는 도 3에 주의를 기울인다. 따라서, 시작시에, 주변 장치 구성 요소는 주변 장치 구성 요소와 통신하도록 인가된 원격 서버 컴퓨터와 주변 장치 구성 요소 사이에 보안 피어 투 피어 통신 채널을 구축할 수 있다(301). 이는 보안 채널(예를 들어, 터널)을 생성하고 보안 터널을 통한 보안 페이로드(예를 들어, 코딩된 데이터)의 통신을 용이하게 할 수 있다. 도 1의 예에서, 주변 장치 구성 요소(102)가 예를 들어 키보드라고 가정하면, 보안 통신 채널은 1051로 개략적으로 도시되어있다. 결과적으로 콘텐츠뿐만 아니라 주변 장치 구성 요소 사이의 통신 채널도 (이론적으로 통신 채널이 손상된 경우일지라도) 보안된다.
다음으로, 주변 장치 구성 요소는 상기 보안 통신 터널을 통해 인가된 원격 서버(예를 들어 104)와 주변 장치 구성 요소 사이에서 통신되는 데이터를 코딩하기 위해 상기 코딩 모듈을 이용할 수 있으며(302), 상기 코딩된 데이터(예를 들어, 특정된 코딩된 페이로드)는 상기 주변 장치 구성 요소 중 다른 것(특정 실시 예에 따라 모든 다른 것들)의 코딩 모듈에 의해 해독되지 않는다. 본 명세서에서 사용되는 해독 가능하지 않은(또는 해독 안되거나 해독할 수 없는)이라는 용어는: 예를 들어 비대칭 키에 대해 적어도 2048비트, 또는 대칭 키에 대해 적어도 256비트를 사용하는 것과 같이 합리적으로 이용 가능한 처리 능력을 사용하여 해독(암호 해독가능)할 수 없는 것을 포함하는 것으로 해석되어야 한다. 이러한 값은 시간이 지남에 따라 개선될 수 있는 사용 가능한 합리적인 처리 능력에 따라 달라질 수 있다.
이제, 도 4로 돌아가면, 이것은 본 발명의 특정 실시 예에 따라 도 3에서 논의된 주변 장치 구성 요소와 원격 컴퓨터 사이에 보안 통신 채널을 구축하는 일련의 동작의 흐름도를 예시한다. 따라서, 401에서 주변 장치 구성 요소(102)는 원격 서버에만 알려진 개인 키를 포함하는 비대칭 키를 사용하여 원격 서버를 인증할 수 있다. 보다 구체적으로, 원격 서버는 자신의 개인 키로 서명된 메시지를 보낼 수 있고, 주변 장치 구성 요소는 원격 서버의 대응하는 공개 키(예를 들어, 외부 신뢰할 수 있는 소스에서 추출된)를 추출하고 이렇게 암호화된 메시지를 해독(원격 서버의 공개키 사용)하고, 원격 서버를 인증한다.
그런 다음 주변 장치 구성 요소에 알려진(예를 들어 TPM에서 추출된)(그리고 단지 주변 장치 구성 요소에만 알려진) 개인 키를 포함하는 비대칭 키를 사용하여 주변 장치 구성 요소가 메시지를 암호화하고(402), 원격 장치는 그런다음 이 특정 주변 장치 구성 요소의 대응하는 공개 키를 사용하여 메시지를 해독하여, 이에 의해 주변 장치 구성 요소를 인증할 수 있다. 이중 인증이 이루어지면, 클라이언트 컴퓨터와 원격 서버 사이에 보안 피어 투 피어 통신 채널이 설정된다.
상세한 설명 및 청구 범위 전반에 걸쳐 비대칭 키(예를 들어, 개인 키)를 사용한 암호화는 "서명"의 예로 해석될 수 있으며 대응하는 비대칭 키(예를 들어, 공개 키)를 사용하는 복호롸(암호 해독)는 "검증"의 예로 해석된다.
그 다음, 403에서, 인증된 원격 서버 및 인증된 주변 장치 구성 요소에 알려진(그리고 다른 주변 장치 구성 요소에는 알려지지 않은) 통신 키(예를 들어, 대칭 키)가 생성된다. 대칭 키는 클라이언트 컴퓨터와 원격 서버 간의 데이터 코딩에 사용할 수 있다. 일례로, 통신 키를 구축하기 위해, 주변 장치 구성 요소는 TPM(203) 및 외부 소스 데이터(204) 중 하나 또는 둘 모두로부터 독점(proprietary) 데이터를 추출하고 이들을 결합하여 통신 키를 생성할 수 있다. 본 발명은 통신 키를 생성하는 이러한 특정 방식에 구속되지 않는다.
특정 실시 예에 따르면, 인증된 원격 서버로 통신 키를 전송하기 위해, 이렇게 생성된 통신 키는 주변 장치 구성 요소의 개인 키와 원격 컴퓨터의 공개 키에 의해 암호화되고 인증된 주변 장치 구성 요소로부터 원격 서버로 그들 사이에 이미 구축된 보안 채널(예를 들어 105)을 통해 전송될 수 있다. 통신 키는 원격 컴퓨터의 공개 키로 암호화 되었기 때문에, 이는 이미 인증된 원격 서버(401 단계 참조)만이 이를 해독할 수 있다(자신에게만 알려진 자신의 대응하는 개인 키를 사용하여)는 것을 보장한다. 그러면 원격 컴퓨터는 주변 장치 구성 요소의 대응하는 개인 키로 암호화된 통신 키를 해독하고 추출하기 위해 이미 인증된 주변 장치 구성 요소의 공개 키를 사용한다(위의 401 참조). 따라서 인증된 주변 장치 구성 요소와 인증된 원격 컴퓨터 사이에 통신 키가 구축되고 코딩된 데이터(보안 페이로드)를 전송하기 위해 그것들에만 알려진다.
본 발명은 통신 키를 구축하는 특정 방식에 구속되지 않는다. 예를 들어, 절차는 통신 키를 정의하는 원격 컴퓨터에서 시작하여 자신의 개인 키로 그것을 암호화한 다음, 인증된 주변 장치 구성 요소의 공개키로 암호화할 수 있다. 인증된 주변 장치 구성 요소는 그런 다음 인증된 원격 컴퓨터 공개 키와 자체 개인 키를 사용하여 통신 키를 해독하고 추출하여 코드 데이터를 전송하고 보안 페이로드를 달성한다.
위에서 설명한 연산 단계(주변 장치 구성 요소 측에서)는 예를 들어 프로세서(106)에서 실행되는 암호화 시맨틱 모듈(202)(도 2)에서 수행될 수 있고, 위에서 논의된 연산 단계(원격 컴퓨터와 관련하여)는 프로세서(111)(도 1)에서 실행되는 코딩 모듈(117)에서 수행될 수 있다.
보안 통신 키를 구축하면, 예를 들어 그것은 코딩 모듈(108)(예를 들어, 암호화 시맨틱 모듈(202))에 의해 보안 페이로드를 달성하기 위해 보안 통신 채널을 통해 통신되는 데이터를 코딩하도록 사용된다(404). 이것은 상기 보안 통신 채널(예를 들어, 터널)을 통한 전송을 위해 데이터를 암호화하거나 상기 보안 통신 터널을 통해 수신된 데이터를 복호화하는 것을 포함할 수 있다.
원격 컴퓨터(104)와 보안 통신 채널(개략적으로 1052로 표시됨)을 구축하는 다른 주변 장치 구성 요소(103)(예를 들어 디스플레이)에 대해서도 동일하게 적용된다.
키보드 주변 장치 구성 요소 사이의 보안 통신을 구축하기 위한 일련의 동작의 비제한적인 예는 다음과 같다(여기서, 도 2에 도시된 바와 같이, 물리적 구성 요소(107)은 물리적 키패드를 나타내고 프로세서(106)는 관련 데이터 및 원격 서버를 처리한다). 물론 본 발명은 이 예에 구속되지 않는다.
a. 키보드-클라이언트 측(예를 들어, 도 1의 102)
ⅰ. 사용자가 외부 검증 장치(Smartcard, Nitrokey 등)를 플러그인한다.
ⅱ. 사용자가 장치를 인증한다.(예를 들어, 생체 인식을 통해)
ⅲ. TPM(203)은 펌웨어의 상태를 유효성 검증하고, 유효한 경우 펌웨어를 부팅한다.
ⅳ. 펌웨어는 외부 검증 장치(204)에서 구성 데이터를 판독한다.
구성 정보에는 다음이 포함된다(그러나, 이에 국한되지 않음):
1. 로컬 네트워크 구성 및 자격 증명
2. 원격 호스트 구성 및 자격 증명
특정 단계 (ⅰ) 내지 (ⅳ)는 칩을 유효성 검증하고 사용자를 인증하는 단계를 비제한적인 방식으로 예시한다. 예를 들어 인증할 원격 컴퓨터의 주소 및/또는 사용자 데이터-예를 들면, 생체 데이터 및/또는 예를 들어 통신키의 일부를 형성할 수 있는 사용자 암호와 같은 일부 데이터는 나중 단계에 사용될 수 있다.
ⅴ. 펌웨어는 현재 판독한 구성을 기반으로 장치를 프로비저닝한다(구성 정보는 본질적으로 일시적임). 특정 키보드 주변 장치 구성 요소의 유효성을 검증하고 구성 요소의 구성을 추출하고 구성 요소의 초기화를 수행한 다음,
ⅵ. 키보드 구성 요소는 위의 도 3 및 4를 참조하여 설명된 대로 (예를 들어, 제공된 구성 데이터에 기초하여) 주변 장치 구성 요소 및 원격 컴퓨터를 인증하는 것을 포함하여 원격 컴퓨터(서버)에 대한 보안 채널(예를 들어, 이 예에서는 보안 전송(VPN)에 의해)을 구축한다.
ⅶ. 위의 도 3 및 4를 참조하여 설명한 것처럼, 키보드의 키 입력이 읽혀지고 제2 제공된 키(동일한 외부 키 저장소에 기초하여)에 대해 암호화되는 것을 포함하여 인증된 장치 사이에 대칭 키(통신 키의 예)가 생성된다. 이는 종단 간 암호화(페이로드 암호화) 및 전송 암호화를 생성하기 위한 것이다.
ⅷ. 암호화된 페이로드(코드 데이터의 예)는 키보드 구성 요소 사이의 보안 채널(터널)을 통해 원격 컴퓨터로 전송된다(통신 키 사용).
특정 실시 예에 따르면, 전송 계층은 에지 장치(예를 들어 방화벽, VPN 집중 장치 등)에서 종료될 수 있지만 호스트 운영 체제 수준에서 종료될 수 있다.
b. 원격 컴퓨터 측(예를 들어, 도 1의 104)
ⅰ. 전송 계층(예를 들어 VPN)이 구축되었다. 이것은 원격 컴퓨터 측에서 수행되는 대응하는 보안 채널 부분(클라이언트 측에서(ⅵ) 참조)이다.
ⅱ. 클라이언트 프로비저닝 키를 기반으로 인증된 클라이언트 장치.(키보드 주변 장치 인증-위에서 설명한 대로).
ⅲ. 인증에 성공하면 가상 장치가 원격 컴퓨터 운영 체제-가상 HID(키보드)에 제시된다.
(ⅳ) 코딩된 데이터는 앞서 논의한 바와 같이 이렇게 구축된 통신(예를 들어, 대칭) 키(원격 컴퓨터가 그의 생성에 참여한)를 사용하여 수신 또는 전송된다. 예를 들어, 잉그레스(Ingress) 암호화된 페이로드(예를 들어, 지정된 대칭 키를 사용하여)는 소프트웨어 드라이버에 의해 복호화되어 암호화되지 않은 표준 스캔 코드가 생성된다.
(ⅴ) 스캔 코드는 장치의 드라이버를 통해 OS에 전달된다.
이 모든 것을 염두에 두고, 코딩된 데이터는 이 코딩된 데이터가 다른 주변 장치 구성 요소에 의해 해독될 수 없는 보안 채널(예를 들어, 1051)을 통해 인증된 원격 서버와 주어진 인증된 주변 장치 구성 요소(예를 들어, 102, 예를 들어, 키보드)간에 교환될 수 있다. 동일한 토큰에 의해, 원격 컴퓨터와 다른 주변 장치 구성 요소(예를 들어, 디스플레이(103)) 사이에서 도 3의 지정된 시퀀스(및 예를 들어 도 4의 특정 실시 예)를 사용하여 코딩된 데이터(전형적으로 다른 유형)가 인증된 원격 서버와 다른 보안 채널(예를 들어 1052)을 통해 상이한 주변 장치 구성 요소 간에 교환되며, 여기서 주어진 인증된 주변 장치 구성 요소에 대해 지정되거나 그로부터 생성된 코딩된 데이터는 임의의 다른 주변 장치 구성 요소에 의해 해독될 수 없다.
2개 이상의 보안 주변 장치 구성 요소(지정된 방식으로)가 동일한 로컬 컴퓨터(또는 동일한 물리적 위치에 상주하지 않은 주변 장치)에 상주하는 비 제한적인 시나리오를 고려하면 예를 들어, 제3자 해킹에 의해 본질적으로 손상될 수 있는 범용 프로세서와 같이 손상되기 쉬운 프로세서를 사용하는 로컬 컴퓨터 보다 현저하게 보안되는 보안 로컬 컴퓨터가 달성된다. 손상되기 쉬운 프로세서의 이러한 정의는 CPU에 의해 구현되는 특정 명령을 이용하여 이러한 메모리에 대해 액세스하도록 이들 프로세스에만 허용하는 방식으로 특정 프로세스를 위한 메모리 섹션에 대한 액세스를 제한하는 시스템/특징을 포함하지 않는 프로세서(예를 들어, CPU)를 포함할 수 있다. 이러한 CPU에서, OS 커널은 그 때 CPU에서 수행된 연산 내용을 읽을 수 있으므로, 손상된 커널은 대응하는 CPU에서 수행된 모든 연산을 손상시킨다. 본 발명은 이 정의에 구속되지 않는다.
더욱이, 특정 실시 예에 따른 로컬 컴퓨터(또는 동일한 물리적 위치에 상주하지 않는 주변 장치)에서는 실질적으로 데이터가 클라이언트 측에 유지되지 않고 보안된 원격 서버(예를 들어 클라우드)에만 유지된다.
특정 실시 예에 따른 이 솔루션은 또한 예를 들어 인텔® Skylake™를 통합하는 로컬 컴퓨터와 보안 환경을 달성하기 위해 "인텔 소프트웨어 가드 확장" (SGX)™을 활용하는 나중에 도입된 플랫폼보다 비용이 적게 들고 호환성이 높다. 본 발명의 특정 SGX™에 구속되지 않는다.
이 솔루션은 또한 클라이언트 컴퓨터에서 활동의 "전체 그림"을 갖기 위해 하나의 주변 장치 구성 요소뿐만 아니라 각 주변 장치 구성 요소가 서로 독립적으로 보호된다는 사실로 인해 더 어려운 전체(또는 거의 모든 구성 요소)를 해킹할 필요가 있다는 사실로 인해 특정 실시 예에 따라 이점이 있다.
예를 들어, 본 발명의 다양한 실시 예에 따른 교시를 활용하는 도 1에서 사용된 아키텍처에서, 클라이언트 컴퓨터에서의 "범용" 처리 능력(주변 장치 구성 요소만을 사용)의 부재는 예를 들어 원격 보호 클라우드 환경에 상주하는 서버일 수 있는 원격 컴퓨터의 처리 능력에 의해 충족될 수 있다.
본 발명의 교시는 도 3 및 4에 예시된 흐름도에 의해서도, 또는 도 1 및 2에 예시된 특정 모듈에 의해서도 구속되지 않는다는 점에 유의해야 한다. 예를 들어, 설명된 동작은 설명된 순서를 벗어나 발생할 수 있다. 일부 작업은 실질적으로 동시에 또는 역순으로 실행될 수 있다.
본 발명의 다른 양태에 따라, 보안 클라이언트 컴퓨터를 제공하기 위한 시스템의 기능 블록도를 예시하는 도 5에 주목하자. 원격 컴퓨터(104)뿐만 아니라 주변 장치 구성 요소(예를 들어, 102 및 103, 및 가능하면 도 5에 도시되지 않은 다른 구성 요소)는 도 1 내지 도 2를 참조하여 설명된 것과 유사하고, 이 실시 예에 의해, 예를 들어 손상되기 쉬운 컴퓨터 모듈(501)을 사용함으로써 추가 처리 용량을 포함할 수 있는 클라이언트 컴퓨터(101)에 수용될 수 있다. 후자는 예를 들어 상용 Intel™ 또는 AMD™ CPU와 같이 클라이언트 컴퓨터에 장착된 상용 CPU일 수 있다. 손상되기 쉬운이라는 용어는 합리적인 제3 자의 해킹 기술을 적용하고 위의 비제한적인 예를 통해 정의된 바와 같이 손상되기 쉬운 프로세서를 포함하는 것으로 해석되어야 한다. 도 5에서 쉽게 알 수 있듯이, 주변 장치 구성 요소와 원격 컴퓨터 사이의 통신은 컴퓨터 모듈(501)을 통과하고 컴퓨터 모듈(501)이 손상되기 쉬운 특성으로 인해 주변 장치 구성 요소와 원격 서버로부터 또는 그 반대의 경우에 발생하는 임의의 데이터가 프로세서 모듈 501에서 해킹될 수 있으므로 보안된 것으로 간주할 수 없다.
따라서, 프로세서 모듈(501)은 클라이언트 컴퓨터에 계산 용량을 추가할 수 있지만(예를 들어, 도 1의 실시 예와 비교), 손상되기 쉬우며, 이는 명백한 단점이다. 따라서 손상되기 쉬운 프로세서 모듈을 또한 사용하는 아키텍처에서 클라이언트 컴퓨터와 원격 서버 간의 보안 통신을 획득하는 방법이 제공된다.
따라서, 특정 실시 예에 따르면, 각각의 주변 장치 구성 요소는 주변 장치 구성 요소(예를 들어 102)와 그와 통신하도록 인가된 원격 컴퓨터(예를 들어 104) 사이에 보안 피어 투 피어 통신 채널을 구축할 수 있다. 이를 위해, 원격 컴퓨터(104) 및 주변 장치 구성 요소(102)에만 알려진 통신 키(예를 들어, 대칭 키)를 구축하는 것을 포함하는 보안 통신 채널이 구축될 수 있으며(예를 들어, 1051), 통신 키는 주변 장치 구성 요소와 원격 컴퓨터 사이의 데이터 코딩에 사용가능하고, 모두 도 1 내지 도 4를 참조하여 위에서 상세히 설명했다.
이제 도 6으로 돌아가면, 이것은 본 발명의 특정 실시 예에 따라, 도 5의 시스템에서 보안 통신 채널을 생성하기 위한 일련의 동작의 일반화된 흐름도를 예시한다.
편의상, 프로세서 모듈(501)이라는 용어가 사용될 때마다, 이는 위에서 논의된 문제에서 손상되기 쉬운 프로세서 모듈을 지칭하는 것을 의미해야 한다.
따라서, 601에서, 보안 피어 투 피어 통신 채널(예를 들어, 502(1))이 주변 장치 구성 요소(예를 들어, 102)와 프로세서 모듈(예를 들어, 501) 사이에 구축된다. 602에서, 보안 프로세서/원격 서버 피어 투 피어 통신 채널(예를 들어, 503)이 프로세서(501)와 원격 컴퓨터(104) 사이에 구축된다. 유사한 방식으로, 601에서, 보안 피어 투 피어 통신 채널(예를 들어, 502)이 주변 장치 구성 요소(예를 들어, 103)와 프로세서 모듈(예를 들어, 501) 사이에 구축된다. 지정된 보안 통신 채널의 생성은 각각의 주변 장치 구성 요소(102 및 103) 및 컴퓨터(501)를 인증하여, 도 1 및 도 3과 4의 관련 흐름도를 참조하여 상술한 바와 같이, 보안 전송 채널(105(1) 및 105(2))을 구축하는 필요한 변경을 가한 유사한 프로세스로 보안 전송(각각(502(1) 및(502(2)))을 달성하는 것을 포함한다.
본 발명에 따라, 예를 들어, 도 6의 흐름도에 따라 구축된 보안 통신 채널을 사용하는 일련의 동작을 나타내는 도 7에 주목한다.
보다 구체적으로, 701에서, 주변 장치 구성 요소(예를 들어 102)의 코딩 모듈은 원격 컴퓨터에 대해 지정된 데이터(예를 들어, 코딩된 키보드 스트로크)를 코딩하기 위해 이용될 수 있다. 그 다음, 702에서, 코딩된 데이터는 보안 통신 채널(예를 들어, 502(1))을 통해 프로세서 모듈로 전송될 수 있다. 그 다음, 코딩된 데이터는 이미 구축된 보안 프로세서/원격 서버 통신 채널(503)을 통해 프로세서 모듈로부터인가된 원격 서버(예를 들어 104)로 전송될 수 있다(703).
코딩된 데이터(예를 들어, 코딩된 키 입력)는 주변 장치 구성 요소(예를 들어, 102)에게 및 원격 컴퓨터(104)에 알려진(그리고 가능한 주변 장치 구성 요소에게만 알려지고 다른 주변 장치 구성 요소에게는 알려지지 않은) 통신 키(예를 들어, 대칭 키)를 사용하여 생성되었기 때문에 프로세서 모듈에 의해 해독되지 않을 수 있고, 그에 따라 프로세서(501)가 손상되고 코딩된 데이터가 프로세서(501) 내에서 인터셉트되더라도, 그것은 해독될 수 없고 따라서 상기 프로세서 모듈의 이용에 관계없이 클라이언트 컴퓨터와 인가된 서버 컴퓨터(원격 컴퓨터) 사이의 보안 통신이 달성된다.
도 8을 참조하면, 본 발명에 따라 보안 통신 채널을 이용하는 일련의 동작이 도시된다. 이 예에서, 코딩된 데이터는 원격 컴퓨터(예를 들어, 104)로부터 주변 장치 구성 요소(예를 들어, 디스플레이 구성 요소 103)로 전달되며, 여기에는 (801에서) 상기 보안 프로세서/원격 서버 통신 채널(503)을 통해 인가된 원격 서버(104)에 의해 전송된 코딩된 데이터가 프로세서 모듈(501)에서 수신되는 것을 포함한다. 위에서 설명된 바와 같이, 코딩된 데이터는 프로세서 모듈에 의해 해독되지 않을 수 있다.
802에서, 코딩된 데이터는 보안 통신 채널(5022)을 통해 프로세서(501)로부터 디스플레이 주변 장치 구성 요소(103)로 전송된다.
다음으로, 803에서, 디스플레이 주변 장치 구성 요소의 코딩 모듈은 상기 코딩된 데이터를 복호화하기 위해 사용되며, 이에 의해 상기 프로세서 모듈(501)의 사용에 관계없이 디스플레이 주변 장치와 인가된 서버 컴퓨터(104) 사이의 보안 통신을 달성한다.
제1 양태(도 1을 참조하여 설명됨) 및 제2 양태(도 5를 참조하여 설명됨)에서 예시된 주변 장치 구성 요소는 기본적으로 단방향 키보드 발신 및 디스플레이 수신이 사용되는 반면, 다른 실시 예에 따라, 다른 양방향 주변 장치 구성 요소가 원격 컴퓨터와 코딩된 데이터를 송수신하기 위해 사용될 수 있다.
도 6 내지 8의 문맥에서, 용어, 코딩된 데이터는 예를 들어, 그의 변형으로서, 예를 들어, 프로세서(501)에 의해 부가된 추가 데이터를 포함하는 것으로 간주되어야 한다.
또한, 특정 실시 예에 따르면, 2개의 아키텍처(예를 들어, 도 1 및 5의)가 결합되어, 주변 장치 구성 요소가 원격 컴퓨터와 직접 통신하거나 프로세서 모듈을 통해 통신할 수 있도록 하고, 어느 경우건, 유사하게 원격 컴퓨터는 주변 장치 구성 요소와 직접 통신하거나 컴퓨터를 통해 통신할 수 있다는 것에 유의하라.
본 발명의 교시는 도 6 내지 도 8에 예시된 흐름도 중 임의의 것 및 또 도 5에 예시된 특정 모듈 중 어느 것에 의해서도 구속되지 않는다는 점에 유의한다. 예를 들어, 예시된 동작은 예시된 순서를 벗어나 발생할 수 있다. 일부 동작은 실질적으로 동시에 또는 역순으로 실행될 수 있다.
이제 본 발명의 다른 양태로 돌아가서, 본 발명의 특정 실시 예에 따른 보안 클라이언트 컴퓨터를 제공하기 위한 시스템의 기능 블록도를 예시하는 도 9에 주의한다.
주변 장치 구성 요소(예를 들어, 102 및 103, 그리고 아마도 도 9에 도시되지 않은 다른 구성 요소)는 도 1 및 도 2를 참조하여 기술된 구성 요소와 유사하고, 클라이언트 컴퓨터(101)에 수용될 수 있다. 이 실시 예에 의해, 손상되기 쉬운 프로세서 모듈(예를 들어, 도 5의 501) 및 원격 컴퓨터(예를 들어, 104)의 사용은 제거될 수 있다.
따라서, 특정 실시 예에 따르면, 각각의 주변 장치 구성 요소(예를 들어, 103)는 다른 주변 장치 구성 요소(예를 들어, 102)에 대해 직접적으로 보안 피어 투 피어 통신 채널(901)을 구축할 수 있다. 이러한 보안 통신 채널의 구축은 주변 장치 구성 요소의 각 그룹에만 알려진 통신 키(예를 들어, 대칭 키)의 구축을 포함할 수 있다. 통신 키는, 모두가 아래에 설명된 바와 같이, 각 주변 장치 구성 요소 간의 데이터 코딩에 사용할 수 있다.
이제 도 10으로 돌아 가면, 본 발명의 특정 실시 예에 따른, 도 9의 시스템에서의 일련의 동작의 일반화된 흐름도를 예시한다.
시작시, 보안 피어 투 피어 통신 채널이 주변 장치 모듈의 그룹의 하나의 주변 장치 구성 요소(예를 들어 102)와 다른 주변 장치 구성 요소(102) 사이에 구축된다(1001).
다음으로(1002), 상기 주변 장치 구성 요소(102)의 코딩 모듈(도 2 참조)은 보안 통신 채널을 통해 상기 다른 주변 장치 구성 요소와 하나의 주변 장치 구성 요소 사이에서 통신되는 데이터를 코딩하기 위해 이용될 수 있고; 코딩된 데이터는 다른(특정 실시 예에 따라 모든 다른) 주변 장치 구성 요소(도 9에 도시되지 않음)의 코딩 모듈에 의해 해독 가능하지 않다.
그룹의 주변 장치 구성 요소 중 하나 또는 둘 모두의 데이터 호환성 모듈(도 3 참조)은 상기 제1 유형의 데이터를 상기 제2 유형의 데이터로 또는 그 반대로 변환하기 위해 이용될 수 있으며(1003), 이에 의해 공통 데이터 유형으로 상기 주변 장치 구성 요소 사이의 통신을 용이하게 한다.
도 11을 참조하면, 본 발명에 따라 보안 통신 채널을 이용하는 일련의 동작이 도시된다. 이 예에서, 코딩된 데이터는(1101에서) 보안 채널(901)을 통해 코딩된 데이터를 전송하는 것을 포함하여 제1 주변 장치(예를 들어, 키보드(102))로부터 주변 장치 구성 요소(예를 들어, 디스플레이 구성 요소(103))로 통신된다.
다음으로, 1102에서, 디스플레이 주변 장치 구성 요소의 코딩 모듈은 상기 코딩된 데이터를 복호화하기 위해 사용되어, 디스플레이 주변 장치와 키보드 주변 장치(104) 사이의 보안 통신을 달성한다.
그룹의 제1 및 제2 주변 장치 중 어느 하나에서, 데이터 호환성 모듈은 데이터를 공통 데이터 유형(후자의 예에서는 키보드 및 디스플레이)으로 변환하기 위해 이용될 수 있다(1103).
코딩된 데이터(예를 들어, 코딩된 키 입력)는 코딩된 데이터가 주변 장치 구성 요소(예를 들어, 102 및 103)에 알려진 그리고 가능하면 이들에게만 알려진 통신 키(예를 들어, 대칭 키)를 사용하여 생성되었기 때문에 다른 주변 장치 구성 요소(그룹의 다른 주변 장치 구성 요소와 별개인)에 의해 암호 해독되지 않을 수 있다.
주변 장치 대 주변 장치의 보안 통신 채널은 원격 컴퓨터를 통하지 않고 직접 보안 통신을 용이하게 한다는 점에 유의하라(위의 도 3 및 4를 참조하여 설명된 본 발명의 제1 양태의 특정 실시 예에서와 같이). 예를 들어, 키보드 주변 장치 구성 요소(예를 들어, 102)에서 키 입력되고 디스플레이 주변 장치 구성 요소(예를 들어, 103)에 표시되는 암호를 고려하라. 이렇게 획득한 전송 보안 및 페이로드 보안으로 인해, 구성 요소 또는 채널 중 임의의 것의 손상 가능성은 보안되지 않은 구성 요소/채널보다 낮으며, 따라서 본 발명의 제3 양태의 특정 실시 예에 따르면 암호와 같은 민감한 데이터의 통신이 원격 컴퓨터를 사용하지 않고도 실현 가능하다. 주변 장치 간의 데이터 유형이 호환되지 않는 경우(예를 들어, 키보드 관련 데이터 유형 대 디스플레이 관련 데이터 유형), 데이터 호환성 모듈(예를 들어, 드라이버)은 모두가 그 자체로 공지된 바와 같이 예를 들어, 키 입력을 표시된 픽셀로 변환하기 위한 공통 데이터 유형을 제공할 수 있다.
또한, 제1 양태(도 1을 참조하여 설명됨) 및 제2 양태(도 5를 참조하여 설명됨) 및 제3 양태(도 9를 참조하여 설명됨)에서 예시된 본질적으로 단방향(키보드 발신 및 디스플레이 수신) 주변 장치 구성 요소가 존재하는 반면, 다른 양방향 주변 장치 구성 요소를 사용하여 원격 컴퓨터와 코딩된 데이터를 송수신할 수 있다는 것에 유의하라.
또한, 특정 실시 예에 따르면, 2개의 아키텍처(예를 들어, 도 1 및 9의)가 결합되어, 주변 장치 구성 요소가 원격 컴퓨터를 통해 및/또는 직접적으로 다른 주변 장치 구성 요소와 통신할 수 있도록 할 수 있다.
또한 설명은 (예를 들어 보안 통신 채널 또는 예를 들어 통신 키를 공유하는 등의 맥락에서) 주변 장치 구성 요소의 그룹을 가리키며, 이는 2개의 주변 장치 구성 요소에 적용될 수 있거나 본 발명의 특정 실시 예에 따라 2개 이상(예를 들어, 3개 이상)에 적용할 수 있다. 유사하게, 주변 장치 구성 요소 및 원격 컴퓨터에 대한 언급이 있을 때마다, 이는 본 발명의 특정 실시 예에 따라 2개 이상의 주변 장치 구성 요소 및 예를 들어 보안 통신 채널 또는 예를 들어 통신 키 공유의 맥락에서의 원격 컴퓨터에 적용된다.
명확성을 위해 별개의 실시 예의 맥락에서 기술된 본 발명의 특정 특징이 또한 단일 실시 예에서 조합되어 제공될 수 있다는 것이 이해된다. 반대로, 간결함을 위해 단일 실시 예의 맥락에서 기술된 본 발명의 다양한 특징은 또한 개별적으로 또는 임의의 적절한 하위 조합으로 제공될 수 있다.
"may", "can" 또는 그 변형과 같은 조건부 언어의 사용은 본 발명의 하나 이상의 예는 특정 방법, 절차, 구성 요소 및 특징을 포함할 수 있는 반면, 본 발명의 하나 이상의 다른 예는 반드시 특정 방법, 절차, 구성 요소 및 특징을 포함할 필요는 없음을 전달하는 것으로 해석되어야 한다. 따라서 그러한 조건부 언어는 일반적으로 특정 기술된 방법, 절차, 구성 요소 또는 회로가 본 발명의 모든 예에 반드시 포함되어야 함을 의미하는 것은 아니다. 더욱이, 비 조건부 언어의 사용은 특정 설명된 방법, 절차, 구성 요소 또는 회로가 본 발명의 모든 예에 반드시 포함되어야 함을 의미하지는 않는다.
본 발명은 본 명세서에 포함되거나 도면에 예시된 설명에 기술된 세부 사항으로 그 적용에 제한되지 않음을 이해해야 한다. 본 발명은 다른 실시 예가 가능하고 다양한 방식으로 실행 및 수행될 수 있다. 따라서, 본 명세서에 사용된 어법 및 용어는 설명을 위한 것이며 제한하는 것으로 간주되어서는 안된다는 것을 이해해야 한다. 이와 같이, 당업자는 본 개시의 기초가 되는 개념이 본 발명의 여러 목적을 수행하기 위한 다른 구조, 방법 및 시스템을 설계하기 위한 기초로서 쉽게 이용될 수 있음을 인식할 것이다.
또한, 본 발명에 따른 시스템은 적절하게 프로그래밍된 컴퓨터에서 적어도 부분적으로 구현될 수 있음을 이해할 것이다. 유사하게, 본 발명은 본 발명의 방법을 실행하기 위해 컴퓨터에 의해 판독 가능한 컴퓨터 프로그램을 고려한다. 본 발명은 또한 본 발명의 방법을 실행하기 위해 컴퓨터에 의해 실행 가능한 명령어 프로그램을 유형적으로 구현하는 비 일시적 컴퓨터 판독 가능 메모리를 더 고려한다.
당업자는 첨부된 청구 범위에서 그리고 그에 의해 정의된 범위를 벗어나지 않으면서 상기에서 기술된 바와 같이 본 발명의 실시 예에 다양한 수정 및 변경이 적용될 수 있음을 쉽게 이해할 것이다.

Claims (22)

  1. 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법으로서:
    (a) 적어도 2개의 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터를 제공하는 단계로서; 각각의 주변 장치 구성 요소는 프로세서에 의해, 상기 적어도 2개의 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 처리되는 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성되고; 각각의 주변 장치 구성 요소의 상기 프로세서는 상기 데이터 유형의 상기 대응하는 데이터를 코딩하도록 더 구성되는 단계;
    를 포함하고,
    상기 방법은 상기 프로세서에 의해, 상기 구성 요소의 각각의 주변 장치 구성 요소에 대해:
    (b) 상기 클라이언트 컴퓨터와 통신하도록 인가된 상기 원격 컴퓨터와 상기 주변 장치 구성 요소 사이에 보안 피어 투 피어 통신 채널을 구축하는 단계; 및
    (c) 상기 보안 통신 채널을 통해 인가된 상기 원격 컴퓨터와 상기 주변 장치 구성 요소 사이에서 통신되는 데이터를 코딩하는 단계로서, 코딩된 상기 데이터는 상기 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 해독 가능하지 않은 단계;
    를 더 포함하는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법.
  2. 제1 항에 있어서, 상기 단계 (b)는:
    ⅰ. 상기 원격 컴퓨터의 공개 키를 포함하는 비대칭 키를 이용하여 상기 원격 컴퓨터를 인증하는 단계;
    ⅱ. 상기 주변 장치 구성 요소에 알려진 개인 키를 포함하는 비대칭 키를 이용하여 상기 주변 장치 구성 요소를 인증하는 단계;
    ⅲ. 인증된 상기 원격 컴퓨터 및 인증된 상기 주변 장치 구성 요소에 알려진 통신 키를 구축하는 단계로서, 상기 통신 키는 상기 클라이언트 컴퓨터와 상기 원격 컴퓨터 사이의 데이터 코딩에 사용 가능한 단계;
    를 더 포함하는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법.
  3. 제1 항 또는 제2 항에 있어서, 상기 보안 통신 채널을 통해 통신하기 위한 상기 데이터 코딩은:
    ⅰ. 상기 보안 통신 채널을 통한 전송을 위해 데이터를 암호화하는 단계; 또는
    ⅱ. 상기 보안 통신 채널을 통해 수신된 데이터를 해독하는 단계;
    를 포함하는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법.
  4. 제1 항 내지 제3 항 중 어느 한 항에 있어서, 상기 적어도 2개의 주변 장치 중 2개는 각각 키보드 및 디스플레이이고, 상기 키보드의 프로세서는 키 입력 데이터 유형의 대응하는 데이터를 처리하도록 구성되고, 상기 디스플레이의 프로세서는 디스플레이 데이터 유형의 대응하는 데이터를 처리하도록 구성되는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법.
  5. 제1 항 내지 제4 항 중 어느 한 항에 있어서, 상기 클라이언트 컴퓨터는 상기 적어도 2개의 주변 장치 구성 요소 중 임의의 것으로부터 분리된 프로세서 모듈이 없고, 상기 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신은 상기 적어도 2개의 주변 장치 구성 요소에 의해 달성되는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법.
  6. 제1 항 내지 제5 항 중 어느 한 항에 있어서, 상기 클라이언트 컴퓨터는 손상되기 쉬우며 추가적으로 상기 적어도 2개의 주변 장치 구성 요소들 중 어느 하나로부터 분리되는 프로세서 모듈을 더 포함하고; 상기 단계 (b)는:
    상기 주변 장치 구성 요소와 상기 프로세서 모듈 사이에 보안 피어 투 피어 통신 채널을 구축하는 단계로서, 보안 프로세서/원격 컴퓨터 피어 투 피어 통신 채널이 상기 프로세서 모듈과 상기 원격 컴퓨터 사이에 구축되는 단계를 더 포함하는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법.
  7. 제6 항에 있어서, 상기 단계 (c)는:
    C1 코딩된 데이터를 생성하는 상기 데이터를 코딩하는 단계;
    C2 상기 보안 통신 채널을 통해 상기 코딩된 데이터를 상기 프로세서 모듈로 전송하는 단계; 및
    상기 코딩된 데이터를 상기 보안 프로세서/원격 컴퓨터 통신 채널을 통해 상기 프로세서 모듈로부터 상기 인가된 원격 컴퓨터로 전송하기 위해; 상기 코딩된 데이터는 손상되기 쉬운 상기 프로세서 모듈에 의해 해독할 수 없고, 이에 의해 상기 프로세서 모듈의 이용에 관계없이 상기 주변 장치 구성 요소와 상기 인증된 원격 컴퓨터 사이의 보안 통신을 달성하는 단계;
    를 더 포함하는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법.
  8. 제1 항 내지 제7 항 중 어느 한 항에 있어서, 상기 주변 장치 구성 요소의 적어도 하나의 그룹에 대해, 상기 프로세서는 상기 그룹의 하나의 모듈과 연관된 제1 데이터 유형의 데이터를 상기 그룹의 상기 다른 모듈의 제2 비호환 유형으로 변환할 수 있고:
    d) 상기 주변 장치 구성 요소의 상기 그룹의 다른 주변 장치 구성 요소와의 보안 피어 투 피어 통신 채널을 구축하는 단계;
    e) 상기 보안 통신 채널을 통해 상기 하나의 주변 장치 구성 요소와 상기 다른 주변 장치 구성 요소 사이에 통신하기 위한 데이터를 코딩하는 단계로서, 상기 코딩된 데이터는 상기 그룹과는 별개인 상기 주변 장치 구성 요소들 중 다른 것에 의해 해독 가능하지 않은 단계; 및
    f) 상기 제1 유형의 데이터를 상기 제2 유형의 데이터로 또는 그 반대로 변환하는 단계로서, 그에 의해 공통 데이터 유형으로 상기 주변 장치 구성 요소의 그룹 사이의 통신을 용이하게 하는 단계;
    를 더 포함하는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법.
  9. 제1 항 내지 제8 항 중 어느 한 항에 있어서, 상기 인증된 원격 컴퓨터는 클라우드에 상주하는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법.
  10. 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법으로서:
    a. 적어도 2개의 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터를 제공하는 단계로서; 각각의 주변 장치 구성 요소는 프로세서에 의해, 상기 적어도 2개의 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 처리되는 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성되고; 각각의 주변 장치 구성 요소의 상기 프로세서는 상기 데이터 유형의 상기 대응하는 데이터를 코딩하도록 더 구성되고, 상기 클라이언트 컴퓨터는 손상되기 쉬우며 추가로 상기 적어도 2개의 주변 장치 구성 요소들 중 임의의 것과 분리되는 프로세서 모듈을 더 포함하는 단계;
    를 포함하고,
    상기 방법은 상기 모듈의 각각의 주변 장치 구성 요소에 대해:
    b. 상기 클라이언트 컴퓨터와 통신하도록 인가된 상기 원격 컴퓨터와 상기 주변 장치 구성 요소 사이에 보안 피어 투 피어 통신 채널을 구축하는 단계로서; 상기 보안 통신 채널을 구축하는 단계는 상기 원격 컴퓨터 및 상기 주변 장치 구성 요소에 알려진 통신 키를 구축하는 단계를 포함하며, 상기 통신 키는 상기 주변 장치 구성 요소와 상기 원격 구성 요소 사이의 데이터 코딩에 사용 가능한 단계;
    c. 상기 주변 장치 구성 요소와 상기 프로세서 모듈 사이에 보안 피어 투 피어 통신 채널을 구축하는 단계로서; 보안 프로세서/원격 컴퓨터 피어 투 피어 통신 채널이 상기 프로세서 모듈과 상기 원격 컴퓨터 사이에 구축되는 단계;
    를 더 포함하는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법.
  11. 제10 항에 있어서,
    d. 코딩된 데이터를 생성하는 데이터를 코딩하는 단계;
    e. 상기 보안 통신 채널을 통해 상기 코딩된 데이터를 상기 프로세서 모듈로 전송하는 단계; 및
    상기 코딩된 데이터를 상기 보안 프로세서/원격 컴퓨터 통신 채널을 통해 상기 프로세서 모듈로부터 상기 인가된 원격 컴퓨터로 전송하기 위해; 상기 코딩된 데이터는 손상되기 쉬운 상기 프로세서 모듈에 의해 해독 가능하지 않으며, 이에 의해 손상되기 쉬운 상기 프로세서 모듈의 이용에 관계없이 상기 클라이언트 컴퓨터와 인증된 원격 컴퓨터 사이의 보안 통신을 달성하는 단계;
    를 더 포함하는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법.
  12. 제10 항 또는 제11 항에 있어서,
    f. 상기 보안 프로세서/원격 컴퓨터 통신 채널을 통해 상기 인가된 원격 컴퓨터에 의해 전송된 코딩된 데이터를 상기 프로세서 모듈에 의해 수신하는 단계로서, 상기 코딩된 데이터는 상기 프로세서 모듈에 의해 해독 가능하지 않은 단계;
    g. 대응하는 보안 통신 채널을 통해 상기 주변 장치 구성 요소에 의해 상기 코딩된 데이터를 수신하는 단계; 및
    상기 주변 장치 구성 요소의 프로세서에 의해,
    h. 상기 코딩된 데이터를 해독하고,
    이에 의해, 손상되기 쉬운 상기 프로세서 모듈의 이용에 관계없이, 상기 프로세서 모듈의 사용에 관계없이, 상기 주변 장치 구성 요소와 상기 인가된 원격 컴퓨터 사이의 보안 통신을 달성하는 단계;
    를 더 포함하는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 방법.
  13. 보안 클라이언트 컴퓨터를 제공하기 위한 컴퓨터 구현 방법으로서:
    a. 적어도 2개의 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터를 제공하는 단계로서; 각각의 주변 장치 구성 요소는 프로세서에 의해, 상기 적어도 2개의 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 처리되는 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성되고; 각각의 주변 장치 구성 요소의 상기 프로세서는 상기 데이터 유형의 상기 대응하는 데이터를 코딩하도록 더 구성되고; 상기 주변 장치 구성 요소의 적어도 하나의 그룹에 대해, 상기 프로세서는 상기 그룹의 하나의 모듈과 연관된 제1 데이터 유형의 데이터를 상기 그룹의 다른 모듈의 제2 비호환 유형의 데이터로 변환할 수 있는 단계;
    b. 상기 주변 장치 구성 요소의 그룹의 다른 주변 장치 구성 요소와 보안 피어 투 피어 통신을 구축하는 단계;
    c. 상기 보안 통신 채널을 통해 상기 하나의 주변 장치 구성 요소와 상기 다른 주변 장치 구성 요소 사이에 통신하기 위한 데이터를 코딩하는 단계로서; 코딩된 상기 데이터는 상기 그룹과는 별개인 상기 주변 장치 구성 요소들 중 다른 것에 의해 해독 가능하지 않은 단계;
    d. 상기 제1 유형의 데이터를 상기 제2 유형의 데이터로 또는 그 반대로 변환하여 공통 데이터 유형으로 상기 주변 장치 구성 요소의 상기 그룹 사이의 통신을 용이하게 하는 단계;
    를 포함하는 것을 특징으로 하는 보안 클라이언트 컴퓨터를 제공하기 위한 컴퓨터 구현 방법.
  14. 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 시스템으로서:
    적어도 두 개의 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터로서; 각각의 주변 장치 구성 요소는 프로세서에 의해, 상기 적어도 2개의 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 처리되는 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성되고; 각각의 주변 장치 구성 요소의 상기 프로세서는 상기 데이터 유형의 상기 대응하는 데이터를 코딩하도록 더 구성되는 것을 상기 클라이언트 컴퓨터;
    를 포함하고,
    상기 프로세서에 의해 상기 구성 요소의 각각의 주변 장치 구성 요소는:
    상기 클라이언트 컴퓨터와 통신하도록 인가된 원격 컴퓨터와 상기 주변 장치 구성 요소 사이에 보안 피어 투 피어 통신 채널을 구축하고;
    상기 보안 통신 채널을 통해 상기 인가된 원격 컴퓨터와 상기 주변 장치 구성 요소 사이에서 통신되는 데이터를 코딩하도록;
    구성되고,
    상기 코딩된 데이터는 상기 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 해독 가능하지 않은 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 시스템.
  15. 제14 항에 있어서, 상기 클라이언트 컴퓨터는 상기 적어도 2개의 주변 장치 구성 요소 중 어느 하나로부터 분리된 프로세서 모듈이 없고, 상기 클라이언트 컴퓨터와 원격 컴퓨터 사이의 상기 통신은 상기 적어도 2개의 주변 장치 구성 요소에 의해 달성되는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 시스템.
  16. 제14 항 또는 제15 항에 있어서, 상기 인증된 원격 컴퓨터의 상기 프로세서는 상기 구성 요소의 제1 인증된 주변 장치 구성 요소로부터 대응하는 제1 신뢰 채널을 통해 제1 데이터 유형의 코딩된 데이터를 수신하고, 상기 제1 주변 장치 구성 요소와 연관된 제1 통신 키를 사용하여 그것을 디코딩하고 그것을 처리 가능한 데이터로 변환하도록 구성되고; 상기 프로세서는 처리 가능한 데이터를 제2 데이터 유형의 데이터로 변환하고, 제2 인증된 주변 장치 구성 요소와 연관된 제2 통신 키로 그것을 코딩하고, 대응하는 제2 신뢰 채널을 통해 상기 제2 인증된 주변 장치 구성 요소로 그것을 전송하도록 더 구성되는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 시스템.
  17. 제14 항 내지 제16 항 중 어느 한 항에 있어서, 상기 인증된 원격 컴퓨터는 클라우드에 상주하는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 시스템.
  18. 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 시스템으로서,
    적어도 2개의 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터로서; 각각의 주변 장치 구성 요소는 프로세서에 의해, 상기 적어도 2개의 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 처리되는 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성되고; 각각의 주변 장치 구성 요소의 상기 프로세서는 상기 데이터 유형의 상기 대응하는 데이터를 코딩하도록 더 구성되고; 상기 클라이언트 컴퓨터는 손상되기 쉬우며 추가적으로 상기 적어도 2개의 주변 장치 구성 요소들 중 임의의 것과 분리되는 프로세서 모듈을 더 포함하는 상기 클라이언트 컴퓨터;
    를 포함하고,
    상기 주변 장치 구성 요소의 각각의 주변 장치 구성 요소는 상기 프로세서에 의해:
    상기 원격 컴퓨터와 상기 주변 장치 구성 요소에 알려지고, 상기 주변 장치 구성 요소와 상기 원격 컴퓨터 사이에서 데이터 코딩에 사용할 수 있는 통신 키를 구축하는 것을 포함하여, 상기 클라이언트 컴퓨터와 통신하도록 인가된 상기 원격 컴퓨터와 상기 주변 장치 구성 요소 사이에 보안 피어 투 피어 통신 채널을 구축하고;
    상기 주변 장치 구성 요소와 상기 프로세서 모듈 사이에 보안 피어 투 피어 통신 채널을 구축;
    하도록 구성되고,
    보안 프로세서/원격 컴퓨터 피어 투 피어 통신 채널이 상기 프로세서 모듈과 상기 원격 컴퓨터 사이에 구축되는 것을 특징으로 하는 보안 클라이언트 컴퓨터와 원격 컴퓨터 사이의 통신을 제공하기 위한 컴퓨터 구현 시스템.
  19. 보안 클라이언트 컴퓨터를 제공하기 위한 컴퓨터 구현 시스템으로서:
    적어도 2개의 주변 장치 구성 요소를 포함하는 클라이언트 컴퓨터로서; 각각의 주변 장치 구성 요소는 프로세서에 의해, 상기 적어도 2개의 주변 장치 구성 요소 중 다른 것의 프로세서에 의해 처리되는 주변 장치 구성 요소 데이터 유형과 호환되지 않는 데이터 유형의 대응하는 주변 장치 구성 요소 데이터를 처리하도록 구성되고; 각각의 주변 장치 구성 요소의 상기 프로세서는 상기 데이터 유형의 상기 대응하는 데이터를 코딩하도록 더 구성되고; 상기 주변 장치 구성 요소의 적어도 하나의 그룹에 대해, 상기 프로세서는 상기 그룹의 하나의 구성 요소와 연관된 제1 데이터 유형의 데이터를 상기 그룹의 다른 구성 요소의 제2 비호환 유형의 데이터로 변환할 수 있는 상기 클라이언트 컴퓨터;
    를 포함하고,
    상기 구성 요소의 주변 장치 구성 요소는 상기 프로세서에 의해:
    상기 주변 장치 구성 요소의 그룹의 다른 주변 장치 구성 요소와 보안 피어 투 피어 통신을 구축하고;
    상기 보안 통신 채널을 통해 상기 하나의 주변 장치 구성 요소와 상기 다른 주변 장치 구성 요소 사이에서 통신하기 위한 데이터를 코딩하고, 코딩된 상기 데이터는 상기 그룹과는 별개인 상기 주변 장치 구성 요소들 중 다른 것에 의해 해독 가능하지 않고;
    상기 제1 유형의 데이터를 상기 제2 유형의 데이터로 또는 그 반대로 변환하여, 공통 데이터 유형으로 상기 주변 장치 구성 요소의 상기 그룹 사이의 통신을 용이하게 ;
    하도록 구성되는 것을 특징으로 하는 보안 클라이언트 컴퓨터를 제공하기 위한 컴퓨터 구현 시스템.
  20. 제1 항 내지 제9 항 중 어느 한 항의 방법을 실행하기 위해 컴퓨터에 의해 실행 가능한 명령어 프로그램을 실체적으로 구현하는 것을 특징으로 하는 비일시적 컴퓨터 판독 가능 메모리.
  21. 제10 항 내지 제12 항 중 어느 한 항의 방법을 실행하기 위해 컴퓨터에 의해 실행 가능한 명령어 프로그램을 실체적으로 구현하는 것을 특징으로 하는 비일시적 컴퓨터 판독 가능 메모리.
  22. 제13 항의 방법을 실행하기 위해 컴퓨터에 의해 실행 가능한 명령어 프로그램을 실체적으로 구현하는 것을 특징으로 하는 비일시적 컴퓨터 판독 가능 메모리.
KR1020207030427A 2018-03-26 2019-03-25 원격 보안 터미널 KR20210021282A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IL258379A IL258379A (en) 2018-03-26 2018-03-26 Secure remote terminal
IL258379 2018-03-26
PCT/IL2019/050332 WO2019186536A1 (en) 2018-03-26 2019-03-25 Remote secured terminal

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020247024796A Division KR20240116867A (ko) 2018-03-26 2019-03-25 원격 보안 단말

Publications (1)

Publication Number Publication Date
KR20210021282A true KR20210021282A (ko) 2021-02-25

Family

ID=62454970

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207030427A KR20210021282A (ko) 2018-03-26 2019-03-25 원격 보안 터미널

Country Status (8)

Country Link
US (2) US11563578B2 (ko)
EP (1) EP3776324A4 (ko)
JP (1) JP7335319B2 (ko)
KR (1) KR20210021282A (ko)
AU (1) AU2019245496A1 (ko)
IL (1) IL258379A (ko)
SG (1) SG11202009334WA (ko)
WO (1) WO2019186536A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021056069A1 (en) * 2019-09-25 2021-04-01 Commonwealth Scientific And Industrial Research Organisation Cryptographic services for browser applications
US11983287B2 (en) * 2020-12-02 2024-05-14 Capital One Services, Llc Non-persistent data caching web server
IL284485A (en) * 2021-06-29 2023-01-01 Kazuar Advanced Tech Ltd Secure communication between a client computer and a remote computer

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596718A (en) * 1992-07-10 1997-01-21 Secure Computing Corporation Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor
US20040230668A1 (en) * 1998-08-06 2004-11-18 Jason Carnahan Modular presentation device for use with PDA's and Smartphones
US20030159053A1 (en) * 2002-02-19 2003-08-21 Charles Fauble Secure reconfigurable input device with transaction card reader
US8180051B1 (en) * 2002-10-07 2012-05-15 Cisco Technology, Inc Methods and apparatus for securing communications of a user operated device
JP4586380B2 (ja) 2004-02-27 2010-11-24 ソニー株式会社 情報処理装置、および認証処理方法、並びにコンピュータ・プログラム
CA2630388A1 (en) 2008-05-05 2009-11-05 Nima Sharifmehr Apparatus and method to prevent man in the middle attack
GB2460275B (en) * 2008-05-23 2012-12-19 Exacttrak Ltd A Communications and Security Device
US8429435B1 (en) * 2008-07-25 2013-04-23 Autani Corporation Automation devices, systems, architectures, and methods for energy management and other applications
US8646105B2 (en) * 2008-08-29 2014-02-04 Blackberry Limited System, method and security device for authorizing use of a software tool
US8862872B2 (en) * 2008-09-12 2014-10-14 Qualcomm Incorporated Ticket-based spectrum authorization and access control
US8572403B2 (en) 2008-12-24 2013-10-29 The Commonwealth Of Australia Digital video guard
US9791944B2 (en) 2010-02-24 2017-10-17 Hige Sec Labs Ltd Secured KVM system having remote controller-indicator
US8578161B2 (en) * 2010-04-01 2013-11-05 Intel Corporation Protocol for authenticating functionality in a peripheral device
US8769278B2 (en) * 2010-04-07 2014-07-01 Apple Inc. Apparatus and method for efficiently and securely exchanging connection data
US8958559B2 (en) * 2011-06-03 2015-02-17 Apple Inc. System and method for secure instant messaging
US9185080B2 (en) * 2011-08-12 2015-11-10 Intel Deutschland Gmbh Data transmitting devices, data receiving devices, methods for controlling a data transmitting device, and methods for controlling a data receiving device
US8639928B2 (en) * 2011-12-05 2014-01-28 Certicom Corp. System and method for mounting encrypted data based on availability of a key on a network
US8615656B2 (en) * 2012-01-09 2013-12-24 The Mitre Corporation Secure remote peripheral encryption tunnel
US20140067689A1 (en) * 2012-08-31 2014-03-06 Ncr Corporation Security module and method of securing payment information
US9471811B2 (en) 2012-08-31 2016-10-18 Ncr Corporation Learning a new peripheral using a security provisioning manifest
US8832813B1 (en) * 2012-12-19 2014-09-09 Emc Corporation Voice authentication via trusted device
US10152706B2 (en) * 2013-03-11 2018-12-11 Cellco Partnership Secure NFC data authentication
US9137659B2 (en) * 2013-04-25 2015-09-15 FusionPipe Software Solutions Inc. Method and system for decoupling user authentication and data encryption on mobile devices
WO2015200499A1 (en) * 2014-06-26 2015-12-30 Avocent Huntsville Corp. System and method for kvm appliance forming a secure peripheral sharing switch to prevent data leakage
US9621547B2 (en) 2014-12-22 2017-04-11 Mcafee, Inc. Trust establishment between a trusted execution environment and peripheral devices
US10019605B2 (en) 2015-03-30 2018-07-10 Square, Inc. Systems, methods and apparatus for secure peripheral communication
GB2541000B (en) 2015-08-04 2018-09-19 Displaylink Uk Ltd Security Device
US10382210B2 (en) 2016-01-10 2019-08-13 Apple Inc. Secure device pairing
US11108741B2 (en) * 2017-02-12 2021-08-31 Noam Camiel System and method for the separation of systems that work together
US10284530B1 (en) * 2017-07-13 2019-05-07 Symantec Corporation Secure computer peripheral devices
US10650367B2 (en) * 2017-07-28 2020-05-12 Ncr Corporation Peer-to-peer (P2P) peripheral communication control
WO2020055419A1 (en) * 2018-09-14 2020-03-19 Hewlett-Packard Development Company, L.P. Secure connection

Also Published As

Publication number Publication date
US11856101B2 (en) 2023-12-26
US11563578B2 (en) 2023-01-24
WO2019186536A1 (en) 2019-10-03
JP2021519486A (ja) 2021-08-10
IL258379A (en) 2018-05-31
US20230117885A1 (en) 2023-04-20
EP3776324A1 (en) 2021-02-17
SG11202009334WA (en) 2020-10-29
JP7335319B2 (ja) 2023-08-29
US20210014058A1 (en) 2021-01-14
AU2019245496A1 (en) 2020-11-19
EP3776324A4 (en) 2021-12-01

Similar Documents

Publication Publication Date Title
US10880097B2 (en) Flexible provisioning of attestation keys in secure enclaves
US10182040B2 (en) Systems and methods for single device authentication
US10469469B1 (en) Device-based PIN authentication process to protect encrypted data
US11856101B2 (en) Remote secured terminal
US11102191B2 (en) Enabling single sign-on authentication for accessing protected network services
US7787661B2 (en) Method, system, personal security device and computer program product for cryptographically secured biometric authentication
CN108566381A (zh) 一种安全升级方法、装置、服务器、设备和介质
US20180091487A1 (en) Electronic device, server and communication system for securely transmitting information
EP3318041A1 (en) User friendly two factor authentication
US20110314284A1 (en) Method for securing transmission data and security system for implementing the same
CN111512608A (zh) 基于可信执行环境的认证协议
US8799646B1 (en) Methods and systems for authenticating devices
US8953786B2 (en) User input based data encryption
US9887967B2 (en) Portable security device, method for securing a data exchange and computer program product
US20170214670A1 (en) Symmetric encryption key generation/distribution
CN112261015B (zh) 基于区块链的信息共享方法、平台、系统以及电子设备
CN109075974A (zh) 指纹算法库与指纹传感器的绑定认证方法及指纹识别系统
GB2603672A (en) System and method of securing access to a secure remote server and database on a mobile device
CN109697603A (zh) 电子印章的保护方法、装置、设备及介质
KR20240116867A (ko) 원격 보안 단말
US20210014052A1 (en) Method and terminal for establishing security infrastructure and device
US11791998B1 (en) Method for forming virtual private network and virtual private network operating system which provides virtual private network by performing signature and authentication based on post quantum cryptography
US20240080187A1 (en) Method for forming virtual private network which provides virtual private network using key generated based on post quantum cryptography, and virtual private network operating system performing same
KR20110069873A (ko) 휴대용 단말을 이용한 데이터 통신
KR20230160744A (ko) 계산적 스토리지 다운로드 프로그램을 위한 인증 메커니즘

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application