KR20230093363A - 사물 인터넷 시스템들에서의 보안 요소 어레이들 - Google Patents

사물 인터넷 시스템들에서의 보안 요소 어레이들 Download PDF

Info

Publication number
KR20230093363A
KR20230093363A KR1020237020080A KR20237020080A KR20230093363A KR 20230093363 A KR20230093363 A KR 20230093363A KR 1020237020080 A KR1020237020080 A KR 1020237020080A KR 20237020080 A KR20237020080 A KR 20237020080A KR 20230093363 A KR20230093363 A KR 20230093363A
Authority
KR
South Korea
Prior art keywords
data frame
acknowledgment
secure
data
controller
Prior art date
Application number
KR1020237020080A
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 아싸 아브로이 에이비
Priority claimed from PCT/EP2021/081512 external-priority patent/WO2022101405A2/en
Publication of KR20230093363A publication Critical patent/KR20230093363A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • H04L5/16Half-duplex systems; Simplex/duplex switching; Transmission of break signals non-automatically inverting the direction of transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Computer And Data Communications (AREA)

Abstract

에지 디바이스들에 대한 기능들의 보안 실행을 제공하기 위한 시스템들 및 방법들은, 복수의 에지 디바이스, 제어기, 및 보안 요소들의 어레이를 포함한다. 에지 디바이스들은 각각, 시스템의 애플리케이션에 대한 데이터를 획득하도록 구성된다. 제어기는 에지 디바이스들 각각으로부터 데이터를 수신하기 위해 에지 디바이스들과 통신하도록 접속된다. 보안 요소들의 어레이는 제어기에 접속되고, 각각의 보안 요소는 에지 디바이스들로부터 수신된 데이터를 이용하여 기능들을 실행한다. 제어기는 각자의 에지 디바이스로부터 수신된 데이터에 대한 기능들을 실행하기 위해 보안 요소들의 어레이 중 식별된 보안 요소를 각자의 에지 디바이스와 연관시키고, 제어기는 실행된 기능들의 결과를 각자의 에지 디바이스에 통신하도록 접속된다.

Description

사물 인터넷 시스템들에서의 보안 요소 어레이들{SECURE ELEMENT ARRAYS IN INTERNET-OF-THINGS SYSTEMS}
본 출원은, 그 개시내용 전체가 참조에 의해 본 명세서에 포함되는 2020년 11월 13일에 출원된 미국 가출원 일련번호 제63/113,423호에 대한 우선권을 주장한다.
본 문서는 일반적으로 사물 인터넷(Internet of things)(IoT) 시스템에 관한 것으로, 특히 IoT 시스템들을 위한 투명 아키텍처에 관한 것이지만, 이것으로 제한되는 것은 아니다.
사물 인터넷(IoT) 시스템들은 종종, 다양한 센서 또는 기타의 데이터 수집 및 통신 방법들을 포함하는 에지 디바이스(edge device)들을 포함한다. 이들 에지 디바이스들 중 일부는 직접 네트워크 접속들을 갖지 않거나 달리 자원이 제한되어 있을 수 있다. 추가로, 이들 에지 디바이스들이 키 자료(key material)를 저장하고 보안 처리를 수행해야 하는 요건이 종종 존재한다. 그러나, IoT 시스템들의 에지 디바이스들은 종종 처리 자원들과 보안 능력들이 결핍되어 있고, 에지 디바이스들의 물리적 위치들은 에지 디바이스가 키 자료를 저장하는 것을 바람직하지 않게 할 수도 있다. 또한, 이들 에지 디바이스들은 정기적인 업데이트들을 요구하는 소프트웨어를 구현할 수 있다. 이들 에지 디바이스들 중 일부에 대한 제한된 네트워크 접속들로 인해, 이것은 소프트웨어 업데이트가 필요할 때마다 기술자가 각각의 개개 에지 디바이스를 방문할 것을 요구할 수 있다. 이것은, 많은 에지 디바이스들을 갖는 시스템들에서 시간 및 자원 소비적일 수 있다.
본 발명은, 에지 디바이스들에게 시스템 기능들의 보안 실행을 제공하기 위한 시스템 및 방법, 청구항들에서 정의된 비일시적인 컴퓨터 판독가능한 매체 및 물리적 액세스 제어 시스템을 제공한다.
반드시 축척비율에 맞게 도시되지는 않은 도면들에서, 유사한 참조 번호들은 상이한 도면들에서 유사한 컴포넌트들을 기술할 수 있다. 상이한 문자 접미사(suffix)를 갖는 유사한 숫자들은 유사한 컴포넌트들의 상이한 사례들을 나타낼 수 있다. 일부 실시예들은 첨부된 도면들에서 제한이 아닌 예로서 설명된다.
도 1은 예시적인 물리적 액세스 제어 시스템을 나타내는 도면이다.
도 2는 보안 요소들의 어레이를 포함하는 예시적인 사물 인터넷(IoT) 아키텍처를 나타내는 블록도이다.
도 3은 예시적인 보안 IoT 게이트웨이를 나타내는 블록도이다.
도 4a는 제어기에 의해 보안 요소들의 어레이를 인증하기 위한 예시적인 워크플로를 나타낸다.
도 4b는 보안 요소들의 자매 보드(sister board)에 의해 정책 및/또는 제어기를 인증하기 위한 예시적인 워크플로를 나타낸다.
도 5a 내지 도 5c는 반이중 시스템(half-duplex system)에서 이용하기 위한 전이중 프로토콜(full-duplex protocol)에 대한 예시적인 전송 프레임들을 나타내는 도면들이다.
도 6은 전이중 프로토콜을 이용하여 반이중 통신 라인에서 메시징을 전송하는 예시적인 방법을 나타내는 플로차트이다.
도 7은 하나 이상의 실시예가 구현될 수 있는 머신의 예를 나타내는 블록도이다.
보안 요소들의 어레이를 이용하여 사물 인터넷(IoT) 시스템을 위한 투명한 아키텍처를 구현하기 위한 시스템들 및 방법들이 여기서 개시된다. 예시적인 IoT 아키텍처로는, 내장된 또는 접속가능한 보안 요소들의 어레이가 장착된 게이트웨이가 포함된다. 보안 요소들는, 암호화 기능들 또는 프로세스들 ― 예컨대, 암호화, 암호해독, 서명 생성, 서명 검증, 및/또는 키 생성을 수행하기 위한 하드웨어 및/또는 소프트웨어를 포함한다. 보안 요소들은, 암호화 모듈의 물리적 경계들을 확립하고 암호화 모듈의 임의의 소프트웨어 및 펌웨어 컴포넌트들을 저장하고 보호하는 임의의 프로세서 및/또는 기타의 하드웨어 컴포넌트들을 포함하는 명시적으로 정의된 경계 내에 포함된다. 보안 요소들은, 보안 암호화 프로세서, 스마트 카드, 보안 디지털(SD) 카드, 마이크로 SD 카드, SIM 카드, 및/또는 기타 임의의 암호화 모듈의 형태를 취할 수(또는 포함할 수) 있다.
보안 요소(secure element)(SE)는, 잘 식별된 신뢰받는 기관들의 세트에 의해 제시된 규칙들 및 보안 요건들에 따라 애플리케이션들 및 그들의 기밀 및 암호화 데이터를 보안 호스팅할 수 있는 변조-방지형 플랫폼이다. SE는, 데이터를 보안 저장하고 데이터를 보안 처리하며 외부 엔티티들과의 통신을 보안 수행할 수 있는 동적 환경을 제공하는 칩이라고 간주될 수 있다.
물리적 액세스 제어 시스템들(Physical Access Control Systems)(PACS)은, 판독기들(에지 디바이스들) 및 제어기들(중간 서버들/디바이스들)을 포함한다. 종래의 PACS 시스템들에서, 판독기들은, 판독기의 통신 범위 내에 있는 카드들 또는 모바일 전화들과 보안 통신하는 소프트웨어를 호스팅하고 실행하는 스마트 디바이스들이다. 성공적인 PACS 시스템들은 사용자 경험과 보안 양쪽 모두에 중점을 둔다. 따라서, 판독기 디바이스들은, 레이턴시 문제들뿐만 아니라, 하드웨어 및 소프트웨어 기반의 보안 프리미티브들 양쪽 모두를 취급할 수 있는 충분한 처리 능력을 가져야 한다. 판독기 디바이스들은, (트랜스포트 및 애플리케이션 레벨 양쪽 모두에서) 상이한 프로토콜들을 갖고 상이한 데이터 양식들을 갖는 광범위한 카드 디바이스들로부터의 데이터를 인증하고 판독하도록 지원한다. 이것은, 새로운 카드 양식들, 버그 픽스들(bug fixes) 등을 지원하기 위해 업데이트되어야 하는 판독기 디바이스들에 의해 구현되는 많은 소프트웨어를 초래한다. 판독기 디바이스들은 종종 네트워크 접속들을 갖지 않기 때문에, 이들 업데이트들을 수행하는 기술자가 판독기 디바이스를 물리적으로 방문해야 한다. 또한, 이것은, 보안 소프트웨어 및 키 자료를 저장하는 보안 요소들이 판독기 상에 물리적으로 위치하게 한다. 일부 판독기는 건물의 외부 부분들에 물리적으로 위치해 있을 수 있고, 이것은, 예를 들어 키 자료의 모든 보안 저장이 건물의 경계와 같은 보안 경계 내에 물리적으로 위치하길 원하거나 필요로 하는 PACS 시스템의 회사들, 인증 엔티티들, 또는 다른 사용자들에 대한 보안 우려를 제기할 수 있다.
상기 상황들을 해결하기 위해, 판독기로부터 멀리 떨어진 보안 요소들의 어레이를 이용하여 판독기 디바이스들을 위한 보안 및 애플리케이션 소프트웨어를 실행할 수 있다. 보안 요소들의 어레이는, PACS 제어기에 통합되거나 부착될 수 있고, 여러 병렬 요청 및 에지 디바이스들(판독기들)로의 접속을 처리하도록 구성될 수 있다. PACS 제어기는, 보안 요소들에 대한 소프트웨어 또는 펌웨어 업데이트들을 저장하고 제공할 수 있는 하나 이상의 원격 디바이스로의 네트워크 접속을 가질 수 있다. 이러한 방식으로, 기술자가 각각의 개개 에지 디바이스(판독기)를 방문할 필요없이, 보안 요소들이 업데이트될 수 있다. PACS 제어기는 또한, 건물 또는 기타의 보안 경계 내에 물리적으로 위치할 수도 있으므로, 일부 판독기들 상에 보안 요소들을 위치시키는 보안 우려들을 제거한다.
한 예에서, 보안 요소들의 어레이는, 직렬 주변 인터페이스(serial peripheral interface)(SPI), I2C(inter-integrated circuit), 범용 직렬 버스(USB)와 같은, 버스 프로토콜들을 갖는 하나 이상의 버스를 이용하여 호스트 디바이스에 접속될 수 있는 자매 보드 상에 위치할 수 있다. 보안 요소들은 여러 기능에 이용될 수 있다. 예를 들어, 보안 요소는, 보안 알고리즘들 및 민감한 키 자료의 보안 저장을 제공하는, 암호화 프로세서로서 역할을 할 수 있다. 다른 예들에서, 보안 요소들은, 보안 알고리즘들 및 키 자료의 저장과 함께 애플리케이션 특정 소프트웨어를 실행하는 애플리케이션 플랫폼으로서 이용될 수 있다. 예를 들어, PACS 시스템에서, 보안 요소들은, PACS 판독기에서 인증서를 제시하는 사용자에 대한 인증을 수행하는데 이용될 수 있다. 이러한 방식으로, 사용자 인증을 수행하기 위한 소프트웨어 기능들은 판독기 디바이스 자체에 필요하지 않다.
도 1은 PACS가 이용될 수 있는 예시적인 시나리오(100)를 도시한다. 도 1에 도시된 바와 같이, 벽(102)에는 문(104)이 배치되어 있다. 예시적인 상황에서, 보안 영역은, 잠금해제 상태일 때에는 보안 영역에 대한 액세스를 허용하고 잠금 상태일 때에는 보안 영역에 대한 액세스를 방지하는 잠금가능한 핸들(106)을 갖는 문(104) 뒤에 놓여 있다.
판독기 디바이스(108)는 문(104)의 핸들(106)에 근접하게 위치한다. 예에서, 핸들(106)은 디폴트 상태로 잠긴다. 판독기 시스템(108)은, 무선 인터페이스(110)를 통해 판독기 디바이스(108)와 통신할 수 있는, 인증서 디바이스(112)에 포함된 인가된 인증서를 제시받는 것에 응답하여 핸들(106)을 잠금해제 상태로 선택적으로 배치하도록 작동가능하다. 다양한 예에서, 인증서 디바이스(112)는, 키카드, 포브(fob), 모바일 디바이스(예를 들어, 스마트폰), 또는 통신 능력들 및 인증서들을 갖는 기타 임의의 적절한 인증서 디바이스일 수 있다.
종래의 시스템들에서, 사용자를 인증하기 위한 애플리케이션 소프트웨어는 판독기 디바이스(108) 자체 상에 구현될 수 있다. 예를 들어, 사용자는, 판독기 디바이스(108)와 통신하여 판독기 디바이스(108)에 인증서를 제공하는 인증서 디바이스(112)를 제시한다. 그러면, 판독기 디바이스(108)는 수신된 인증서를 이용하여 사용자를 보안 인증하고 핸들(106)을 잠금해제한다. 다른 종래의 예들에서, 이 기능의 일부는 판독기 디바이스(108)에 포함되고 일부는 원격 위치한 PACS 제어기에 포함된다. 예를 들어, 판독기 디바이스는 인증서 디바이스(112)와의 보안 트랜잭션을 수행한 다음, 데이터를 PACS 제어기에 전송하여 사용자를 인증할 수 있다. 그 다음, 제어기는 핸들(106)을 잠금해제하기 위해 통신할 수 있다.
판독기 디바이스(108)가 보안 트랜잭션들 및/또는 인증을 수행하기 때문에, 판독기 디바이스(108)에 대해 소프트웨어 또는 펌웨어 업데이트들이 요구될 수 있다. 일부 예에서, 판독기 디바이스(108)는 네트워크 접속을 포함하지 않고 RS-485 또는 기타의 접속과 같은 단일 유선 접속을 통해서만 PACS 제어기에 접속된다. 이것은, PACS 시스템에서 각각의 판독기 디바이스(108)에 대한 소프트웨어 또는 펌웨어를 업데이트하기 위해 기술자가 판독기 디바이스(108)까지 물리적으로 이동할 것을 요구한다. 판독기 디바이스(108)에서의 동일하거나 더 양호한 사용자 경험을 사용자에게 제공하면서도 유지보수의 용이성을 제공하기 위해 이 기능 중 일부를 판독기로부터 멀리 이동시키는 것이 바람직하다.
이를 달성하기 위해, 보안 요소들의 어레이가 PACS 제어기에서 구현될 수 있고, 각각은 각자의 판독기 디바이스들(108)에 대해 보안 소프트웨어 실행을 수행하도록 구성된다. 이들 PACS 제어기는 종종 하나 이상의 네트워크 접속을 포함하여, 보안 요소들에 의해 실행되는 소프트웨어의 원격 업데이트를 허용하고, 기술자들이 각각의 판독기 디바이스(108)에 물리적으로 이동할 필요성을 제거한다. 본 개시내용은 PACS 시스템들 외에도 다양한 유형의 IoT 시스템들에 적용될 수 있다는 것을 이해해야 한다. 도 1에 나타낸 시스템(100)은 순전히 예로서 제시된 것이며 제한이 아니다.
도 2는 IoT 시스템(200)을 나타내는 도면이다. 시스템(200)은 에지 디바이스 클러스터들(210) 및 보안 IoT 게이트웨이(SIG)(220)를 포함한다. 에지 디바이스 클러스터들(210) 각각은 도 1의 판독기 디바이스(108)와 같은 하나 이상의 에지 디바이스(230)를 포함할 수 있다. SIG(220)는 인터넷과 같은 근거리 네트워크 또는 광역 네트워크(280)를 통해 원격 소스(240)와 통신할 수 있다. SIG(220)는, 제어기(250), 및 보안 요소들(270)을 포함하는 자매 보드(260)를 포함할 수 있다. 예에서, 제어기(250)는 PACS 제어기일 수 있다. 각각이 5개의 에지 디바이스(230)로 이루어진 2개의 클러스터(210), 및 4개의 보안 요소(270)로서 예시되어 있지만, 임의의 수의 에지 디바이스(230)를 갖는 임의의 수의 클러스터(210), 및 임의의 수의 보안 요소(270)가 시스템(200)에 대해 구현될 수 있다. 별도의 제어기(250) 및 자매 보드(260)로서 예시되어 있지만, 일부 예에서, 보안 요소들(270)은 제어기(250)와 통합될 수 있다. 제어기(250)는 SPI, I2C, USB와 같은 임의의 버스 프로토콜을 이용하여 자매 보드(260)와 통신하도록 접속될 수 있다.
SIG(220)는 네트워크 접속(280)을 통해 접속되어 원격 소스(들)(240)와 통신하고 개개의 접속들(290)을 통해 접속되어 각자의 에지 디바이스(230)와 통신한다. 예를 들어, 접속(280)은, 인터넷 접속과 같은 근거리 또는 광역 네트워크 접속일 수 있다. 개개의 접속(290)은, Ethernet, Wi-Fi, USB, RS-485와 같은 유선 또는 무선 접속들일 수 있다. 각각의 클러스터(210)에 대한 단일 접속(290)으로서 예시되어 있지만, 각각의 개개의 에지 디바이스(230)에 대한 접속(290)이 있을 수 있다. 원격 소스(240)는 하나 이상의 서버 또는 다른 컴퓨팅 디바이스일 수 있고, 보안 요소들(270)에 대한 펌웨어 파일 또는 기타의 소프트웨어 업데이트를 저장할 수 있다. 일부 예에서, SIG(220)는 원격 소스(240)와 통신하여 펌웨어 파일 또는 기타의 소프트웨어 업데이트를 획득하고 SIG(220)에 의해 구현된 하나 이상의 보안 요소(270)를 업데이트한다.
도 1에 예시된 것과 같은 PACS 시스템에서, 판독기 디바이스(108)는 PACS 제어기와 같은 제어기(250)와 통신하도록 접속된 에지 디바이스(230)일 수 있다. 접속(290)은, 유선 전이중 접속, RS-485 접속과 같은 유선 반이중 접속, 또는 기타 임의의 접속일 수 있다. 보안 요소들(270)은, 판독기(108)를 위해, 애플리케이션 특정 하드웨어를 이용하여 기능들을 수행하는 소프트웨어를 실행하도록 구성될 수 있다. 예를 들어, 사용자가 판독기 디바이스(108)에 접근하고 인증서 디바이스(112)를 이용하여 인증서를 제시할 때, 보안 요소(270)는 사용자 인증뿐만 아니라 보안 알고리즘 및 민감한 키 자료의 보안 저장을 수행하는 트랜잭션에 할당될 수 있다. 일부 예에서, 판독기 디바이스(108)는 인증서 디바이스(112)로부터 인증서 정보만을 획득하고, 인증서 정보를 제어기에 제공할 수 있으며, 보안 요소(270)는 사용자를 인증하고 문 핸들(106)을 잠금해제하기 위한 애플리케이션 특정 기능들 모두를 수행한다. 다른 예들에서, 애플리케이션 특정 기능들 중 일부는 판독기 디바이스(108)에 의해 실행될 수 있고 일부는 보안 요소(270)에 의해 실행될 수 있다.
사용자가 판독기 디바이스(108)에 접근할 때, 또는 판독기 디바이스(108)가 사용자 인증서를 수신할 때, 제어기(250) 또는 다른 전자 회로는 판독기 디바이스(108)와 함께 이용하기 위한 보안 요소(270)를 선택하고 할당할 수 있다. 이것은, 판독기 디바이스(108)를 위한 소프트웨어의 실행을 위해 현재 이용가능한 임의의 보안 요소(270)일 수 있다.
예에서, 각각의 에지 디바이스(230)는, 각자의 세션에 대해 각자의 에지 디바이스(230)가 할당되는 보안 요소(270)에 대한 참조를 동적으로 수신할 수 있다. 예를 들어, 에지 디바이스(230)가 보안 요소(270)를 필요로 하는 경우, 제어기(250)는 각자의 에지 디바이스(230)에 필요한 기능을 제공할 수 있는 이용가능한 보안 요소(270)를 식별할 수 있다. 제어기(250)는 또한 "발송자(dispatcher)"로서 구현될 수 있고, 각자의 보안 요소(270)에 메시지를 또는 데이터를 발송하는 담당을 하고, 보안 요소 어레이를 각자의 에지 디바이스(230)로부터 차폐한다. 이것은 코드 개발 및 관리에서 높은 레벨의 모듈성을 가능케 할 뿐만 아니라, 시스템 내의 에지 디바이스(230) 또는 다른 행위자의 충돌 또는 종료로부터 보호한다.
다른 디바이스들 또는 회로들은 또한, 에지 디바이스들(230) 또는 보안 요소들(270)의 수명 주기를 모니터링하고, 예를 들어, 각자의 디바이스들을 재생성(respawn)하거나 디바이스들을 종료된 상태로 유지하고 시스템 관리자에게 통보하는 정책을 구현하기 위해 시스템(200) 내에서 구현될 수 있다. 다른 예들에서, 에지 디바이스들(230), 제어기(250), 또는 보안 요소들(270) 중 하나 이상은 시스템 내의 디바이스들의 수명 주기를 모니터링할 수 있고, 이것은 시스템 내의 디바이스들의 각자의 상태들을 정리하거나 리셋하는데 이용될 수 있다.
일부 경우에, 원격 디바이스들(240) 또는 다른 엔티티들에 의해 액세스가능하지 않은 에지 디바이스들에 대한 애플리케이션들 및 키 자료를 구현하는 것이 바람직할 수 있다. 예를 들어, PACS 시스템에서, 엔티티는 원격 디바이스(240)를 통해서와 같은 임의의 다른 엔티티들에 의해 액세스가능하지 않은 특정 인증 코드로 제어기(250) 또는 보안 요소들(270)을 프로그래밍하기를 원할 수 있다. 이를 용이화하기 위해, 보안 요소들(270)은, 보안 요소들(270)이 고수준 언어들로 프로그래밍가능하도록 구성될 수 있다. 일부 예에서, 보안 요소들(270)이 자원 제약된 디바이스들이더라도, 보안 요소들(270)에 대한 언어 런타임(language runtime)을 실행할 수 있는 런타임이 구현될 수 있다. 따라서, 엔티티는 애플리케이션을 개발하고 애플리케이션을 보안 요소들(270) 상에 설치할 수 있다.
상기의 시나리오에서, 누가 이들 애플리케이션들을 보안 요소들(270) 상에 설치할 수 있는지를 제한하는 것이 바람직하다. 예에서, 보안 요소들(270)에 설치될 애플리케이션은 엔티티에 의해 서명되어야 하며, 그 다음, 상위 레벨 또는 다른 엔티티가 대응하는 키들로 애플리케이션을 이중으로 서명한다. 애플리케이션이 이중으로 서명된 경우, 보안 요소들(270) 중 하나 이상 또는 제어기(250)의 내장된 보안 요소는 애플리케이션이 각자의 보안 요소들(270) 상에 설치되는 것을 허용한다. 이것은 엔티티들이 애플리케이션들을 독립적으로 개발하고 이들을 보안 요소들(270)에 로딩할 수 있게 한다. 일부 예에서, 가상 방화벽은 또한, 보안 요소들(270)에 의해 설치된 애플리케이션들이 서로 간섭하는 것을 방지하기 위해 보안 요소들(270)에 의해 구현될 수 있다.
도 3은 SIG(220)의 예시적인 구현을 도시하는 블록도이다. 게이트웨이(220)는, 제어 회로망(300), 처리 요소(310), 및 도 2의 보안 요소들(270)일 수 있는 하나 이상의 보안 요소(320)를 포함한다. 일부 경우에, 게이트웨이(220)는 4개의 보안 요소(320)를 포함한다. 게이트웨이(220)의 각각의 보안 요소(320)는 동일한 기능을 수행하도록 구성될 수 있다. 일부 구현에서, 보안 요소들(320)은, 전형적인 범용 마이크로프로세서들보다 더 높은 레벨의 보안 보장을 제공하기 위해 (하드웨어 및 소프트웨어 양쪽 모두에서) 구현된다. 일부 구현에서, 보안 요소들(320)은 더 높은 레벨의 보안 보증을 제공하지 않고 범용 마이크로프로세서들로서 구현된다.
제어 회로망(300) 및 처리 요소(310)는, 각자의 에지 디바이스(230)에 보안 요소(320)를 할당하기 위한 할당 프로토콜을 구현하도록 구성될 수 있다. 제어 회로망(300) 및 처리 요소(310)는 제어기(250)에 의해 및/또는 자매 보드(260) 상에 구현될 수 있다. 에지 디바이스들(230)에서 보안 요소들(320)의 이용을 용이화하기 위해, 에지 디바이스들(230), 보안 요소들(320), 프로토콜들 등은 그들 자신의 상태를 관리하고 인-프로세스 메시징(in-process messaging)을 이용하여 시스템 내의 다른 행위자들과만 통신하는 행위자들로서 구현될 수 있다. 이들 행위자들은 행위자의 각자의 디바이스의 구성 상태를 유지하고, 또한, 주어진 세션에 대해 행위자가 할당받는 보안 요소(320)에 대한 참조들을 동적으로 수신한다. 마찬가지로, 행위자들은 원하는 트랜스포트 및 애플리케이션 프로토콜을 이용하여 통신할 수 있는 행위자에 부착/등록될 수 있다.
제어 회로망(300) 및/또는 처리 요소(310)는, 관련되고 적절한 보안 요소(320)에 메시지들/데이터를 발송하는 것을 담당하게 되는 발송자 행위자로서 역할하는 소프트웨어를 실행함으로써, 보안 요소들(320)의 전체 어레이를, 예를 들어, 에지 디바이스들(230)을 나타내는 행위자들로부터 차폐할 수 있다. 행위자들 및 인-프로세스 메시징의 이용은, 코드 개발 및 유지관리에서 높은 레벨의 모듈성, 컴포넌트들이 모두 동일한 프로세스의 일부라서 컴포넌트들 사이의 상호작용에서의 제로 오버헤드로 인한 우수한 성능 뿐만 아니라, 임의의 컴포넌트 오작동으로부터의 보호를 가능케한다. 전형적으로, 프로세스의 소프트웨어 컴포넌트에서의 결함이나 버그는 전체 프로세스의 충돌로 이어진다. 행위자 모델은 시스템이 개개의 행위자들 내에 오류를 포함할 수 있게 함으로써, 오류로부터 프로세스를 차폐할 수 있다. 이 메커니즘은 결국, 거의 100% 가동 시간과, 프로세스에서 잘못 거동하는 컴포넌트들/행위자들로부터의 복원력을 제공한다.
원격 소스(240)는 네트워크 접속(280)을 통해 보안 요소들(320)에 대한 업데이트들을 제공할 수 있다. 예를 들어, 제1 보안 요소(320)의 펌웨어는, 처리 요소(310)에 의해 구현되는 신뢰받는 실행 환경과 같은 보안 인클레이브(security enclave)를 통해 업데이트될 수 있다. 이러한 경우들에서, 보안 인클레이브는, 암호화 지원을 이용하고 일반 컴퓨팅 환경으로부터의 격리를 제공하는 애플리케이션들을 실행할 수 있다. 일부 구현에서, 처리 요소(310)에 의해 구현되는 보안 인클레이브는, 또 다른 디바이스와 통신하기 위해 보안 인클레이브에 의해 이용되는 대칭 또는 비대칭 키 자료를 포함한다. 디바이스들과 통신하기 위해 보안 인클레이브에 의해 이용되는 암호화 프로세스 및 기술은, 게이트웨이(220)의 보안 요소들에 의해 구현되는 암호화 프로세스와는 상이하다.
보안 요소(320)의 수는 보안 요소들(320)에 의해 서빙되는 에지 디바이스(230)의 수보다 적을 수 있다. 이것은, 모든 에지 디바이스(230)가 동시에 활성화될 것으로 예상되지 않을 때 유리할 수 있다. 또한, 이것은 하나의 보안 요소에 대한 요청들을 인터리빙(interleave)하는 능력을 용이화한다. 일부 예에서, 하나의 보안 요소 행위자는 2개의 에지 디바이스 행위자와 연관될 수 있다. 2개의 에지 디바이스 행위자가 동시에 활성이더라도, 2개의 에지 디바이스 행위자는 상이한 통신 스테이지에 있을 수 있다. 각각의 에지 디바이스 행위자로부터의 요청들은 단일의 보안 요소 행위자에 대해 인터리빙될 수 있다. 예를 들어, 트랜잭션은 에지 디바이스와 보안 요소 사이의 수개의 커맨드-응답 쌍을 포함할 수 있다. 보안 요소가 제1 에지 디바이스로부터의 소정의 커맨드에 대한 응답을 반환할 때까지, 제어기는 제2 에지 디바이스로부터 상이한 커맨드를 수신할 수 있다. 이 상황에서, 2개의 에지 디바이스로부터의 통신을 인터리빙하는 것은 단일의 보안 요소의 효율적 이용을 용이화한다.
보안 요소들(320)이 제어기(250)로부터 물리적으로 분리가능한 자매 보드 상에 위치하는 예들에서, 자매 보드를 제어기(250)에 플러깅하거나 기타의 방식으로 접속할 때 자매 보드를 인증하는 것이 바람직하다. 이를 달성하기 위해, 제어기(250)는, 제어기(250)에 내장되고, 보안 요소들(320)의 어레이를 인증하고 각자의 제어기(250)와의 정책 호환성을 검증하는 능력을 갖는 추가 보안 요소들을 포함할 수 있다. 또 다른 실시예에서, 내장된 보안 요소들을 제어기(250)에 포함시키는 것이 아니라, 마이크로프로세서에 의해 제공되는 보안 인클레이브가 이용될 수 있다.
도 4a는 제어기(250)에 의해 보안 요소들(320)의 어레이를 인증하기 위한 예시적인 워크플로우를 나타낸다. 예에서, 제어기(250)의 인클레이브 또는 내장된 보안 요소는 서명된 루트 디지털 인증서와 함께 비대칭 키 쌍을 포함한다. 서명된 디지털 인증서를 갖는 것은 제어기(250) 내의 인클레이브 또는 내장된 보안 요소가 보안 요소들의 보안 어레이에 난수를 전송할 수 있게 한다. 어레이 내의 보안 요소들(320)은 보안 요소들(320)에 의해 이용된 인증서들과 함께 서명된 난수들을 반환한다. 어레이 내의 각각의 보안 요소는 상이한 인증서들 및 키들을 갖지만, 인증서들 모두는 동일한 부모(루트) 인증서를 갖는다는 점에 유의한다. 제어기(250) 내의 인클레이브 또는 내장된 보안 요소는 난수에 관한 서명을 검증하고 보안 요소들(320)의 인증서들을 검증한다. 공개 키 인프라구조(PKI)와 유사한 이 프로세스는 보안 요소들(320)을 인증하기 위해 제어기(250)에 의해 이용될 수 있다. 이 프로세스는 자매 보드가 제어기에 접속될 때 수행될 수 있으며, 그 다음, 다시 한번 또는 대안으로서, 랜덤 간격들로 수행되어, 예를 들어 중간자 공격(man-in-the-middle attack)들로 인해 발생하는 취약성들로부터 보호할 수 있다.
상기 프로세스는 자매 보드의 진본성을 검증할 뿐이지만, 자매 보드가 제어기(250) 및/또는 시스템 정책들을 인증하는 것도 역시 바람직할 수도 있다. 도 4b는 보안 요소들(320)의 자매 보드에 의해 정책 및/또는 제어기(250)를 인증하기 위한 예시적인 워크플로우를 나타낸다. 정책은 하나 이상의 원격 디바이스(240)의 도움으로 인증될 수 있다. 제어기(250) 내의 인클레이브 또는 내장된 보안 요소는 원격 디바이스들(240)과 함께 인증할 수 있고 해당 제어기(250) 특정한 서명된 암호를 획득할 수 있다. 그 다음, 이 서명된 암호는 자매 보드 내의 보안 요소들의 어레이(320)에 전송된다. 서명이 올바른 경우에만, 보안 요소들(320)이 기능할 것이다. 일부 예에서, 보안 요소들은 또한, 정책을 파싱하고 파싱된 정책에 기초하여 기능의 서브세트만을 제어기(250)에 제공하는 능력을 포함할 수 있다.
일부 PACS 시스템은 판독기들과 PACS 제어기 사이에서 통신하기 위해 전이중 접속들을 이용하여 접속된다. 그러나, 일부 종래의 시스템의 경우, 보안 요소들(320)과 에지 디바이스들(230) 사이의 통신은 반이중 접속들(290)을 이용한다. 이들 시스템에서, 바람직한 사용자 경험을 보장하기 위해, 레거시 반이중 접속들을 위한 전이중 통신 프로토콜을 구현하는 것이 바람직하다. 예를 들어, 일부 종래의 PACS 시스템은 접속들(290)에 대해 RS-485 접속들을 포함할 수 있다. 이들 종래의 시스템들에서, 판독기 또는 제어기 중 하나는 주 통신기(primary communicator)로서 작용하고 다른 하나는 보조 통신기(secondary communicator)로서 작용한다. 에지 디바이스들(230)과 보안 요소들(320) 사이의 통신을 용이화하기 위해, 모든 디바이스가 주 통신기들로서 작용할 수 있도록 반이중 접속들에 대해 전이중 프로토콜이 구현될 수 있다.
전이중 프로토콜은, 이 프로토콜이 기존 디바이스들에 대한 하드웨어 수정들의 필요성 없이 현대 마이크로제어기들에 존재하는 일반적인 UART(universal asynchronous receiver-transmitter) 하드웨어에서 이용될 수 있도록 설계될 수 있다. 데이터 충돌들의 해결과 함께, 이 프로토콜은 노이즈가 많거나 달리 불량한 RS-485 라인들로 인해 발생할 수 있는 데이터 손상을 완화하는데 도움이 된다. 이 프로토콜은, 더 높은 레벨의 프로토콜들에 큰 제한을 두지 않고 이들과 조합하여 이용하기 위한 의도이다. 개방형 시스템 상호접속(OSI) 모델에서, 이 프로토콜은 데이터 링크 계층에서 구현될 수 있다. 발신기에 의해 전송된 모든 데이터는 수신기에 의해 확인응답된다. 적절한 확인응답이 기한 내에 발신기에 의해 수신되지 않는 경우, 이 프로토콜은 도 6과 관련하여 설명된 바와 같은 성공적인 데이터 전달로 이어지는 충돌 해결 알고리즘을 통합한다.
도 5a 내지 도 5c는 반이중 시스템에서 이용하기 위한 전이중 프로토콜에 대한 예시적인 데이터 프레임 포맷들을 나타내는 도면들이다. 도 5a는 반이중 접속들을 통해 데이터를 통신하는데 이용되는 데이터 프레임(500)을 나타낸다. 데이터 프레임(500)은 37바이트를 포함하는 것으로 예시되어 있지만 임의의 수의 바이트를 포함할 수 있다. 데이터 프레임(500)은, 옵션들 바이트(도 5b), 데이터 페이로드, 및 4바이트 CRC(cyclic redundancy check)를 포함한다. 32바이트로서 예시되어 있지만, 데이터 프레임(500)은 임의의 크기의 데이터 페이로드를 갖도록 구성될 수 있다. CRC는 데이터 프레임(500)으로 된 데이터의 전송 오류들을 검출하는데 이용될 수 있다.
도 5b는 데이터 프레임(500)에 대한 예시적인 옵션들 필드(510)를 나타낸다. 옵션들 필드(510)는, 오류 표시자 비트, 향후 이용을 위해 예약된 6비트(RFU), 및 토글 비트를 포함한다. RFU 비트들은 임의의 목적을 위해 할당될 수 있다. 오류 표시자는 전송 프로토콜에서의 오류를 나타내는 단일 비트이다. 0으로 설정되면, 프레임이 데이터를 전송한다. 1로 설정되면, 프레임은, 에지 디바이스(230)와 같은 디바이스에서 치명적인 오류가 발생했으며, 제어기(250)와 같은 다른 디바이스가 그에 따라 작동해야 함을 나타낸다. 오류 표시는 프로토콜이 구현된 것보다 높은 레벨의 계층들에서 오류 검출에 추가하여 이용될 수 있다. 토글 비트는 데이터 프레임을 전송할 때 이용되며 매 연속된 프레임마다 토글된다. 토글 비트는 동일한 데이터를 갖는 연속된 2개의 프레임과 단일 프레임의 재전송을 구별하는데 이용된다.
도 5c는, 데이터 프레임이 발신기로부터 성공적으로 수신될 때 수신기에 의해 제공되는 예시적인 확인응답 프레임(acknowledgement frame)(520)을 나타낸다. 이 예에서, 확인응답 프레임은 데이터 프레임(500)의 CRC 프레임의 사본인 CRC 필드를 포함한다. 확인응답 프레임(520)에 대해 CRC를 이용하는 것으로 예시되어 있지만, 데이터 프레임(500)이 수신기에 의해 수신되었음을 발신기가 합리적인 확실성으로 검증하는 것을 허용하는 확인응답을 위해 임의의 데이터가 이용될 수 있다. 예를 들어, 확인응답을 데이터 프레임(500)에 관련시키고 랜덤 노이즈 또는 손상된 프레임이 유효한 확인응답으로서 식별될 확률이 매우 작을 정도로 충분히 크고 충분히 랜덤인 임의의 비트 패턴.
통신 프로토콜을 구현할 때, 역할 "A"와 역할 "B"의 2개의 상이한 역할이 2개의 디바이스에 정적으로 할당될 수 있다. 예를 들어, 제어기(250)는 "A" 역할을 할당받을 수 있고, 에지 디바이스(230)는 역할 "B"를 할당받을 수 있다. 보 레이트(baud rate), 이용된 정지 비트 수, 및 비트 순서는, 디바이스들 사이에서 미리 합의될 수 있다. 프로토콜에 대한 추정된 시간 유닛(ETU) 값도 역시 정의될 수 있다. ETU 값은 일반적으로, 데이터 프레임(500)을 전송하고 확인응답 프레임(520)을 일부 추가 마진으로 수신하기 위해 요구되는 시간보다 크도록 선택될 수 있다. 예를 들어, 115200 bps(초당 비트 수)의 보 레이트의 경우, 5밀리초 값이 이용될 수 있다.
도 6은 반이중 접속 상에서 전이중 프로토콜에 따라 데이터를 전송하기 위한 방법(600)을 나타내는 플로차트이다. 데이터 프레임(500)을 전송할 때, 디바이스는 라인이 유휴 상태가 될 때까지 기다려야 한다. 일단 라인이 유휴 상태가 되고 나면, 데이터 프레임이 명시된 바이트 수로 전송된다. 프레임을 수신할 때, 명시된 바이트 수가 수신된 다음, 디바이스는 라인이 유휴 상태가 될 때까지 기다린다. 유휴 상태일 때, 양쪽 모두의 노드들은 수신 모드에 있고(단계 602) 데이터를 수신하기 위해 기다린다. 일단 수신되고 나면, 수신된 데이터 프레임(500)의 CRC가 체크된다. CRC가 올바르지 않으면, 노드는 또 다른 데이터 프레임을 수신하기 시작한다. CRC가 올바르다면, 노드는 대응하는 확인응답을 전송하고 또 다른 데이터 프레임을 수신하기 시작한다. 새로운 데이터 프레임이 수신되면, 그 프레임의 CRC가, 있다면 마지막으로 수신된 프레임의 CRC와 동일한지가 체크된다. 이들이 일치하는 경우, 그 프레임은 중복으로 간주되어 더 높은 계층들에 보고되지 않는다. 중복 프레임들에 대한 확인응답은 여전히 전송된다.
데이터 프레임(500)을 전송할 때, 단계 604에서, 디바이스는 수신 모드를 중지한다. 단계 606에서, 데이터 프레임(500)은 명시된 수의 바이트를 이용하여 전송된다. 데이터 프레임(500)의 전송에 이어, 디바이스는 확인응답이 수신되거나(단계 608) ETU가 만료될 때까지(단계 610) 기다린다. 확인응답을 수신하기 전에 ETU가 만료된 경우, 방법(600)은 단계 614로 진행한다. 확인응답이 성공적으로 수신되면, 방법(600)은 단계 612로 진행하고 확인응답 프레임(520)의 CRC를 체크한다. CRC가 전송된 데이터 프레임(500)의 CRC와 일치하지 않으면, 방법(600)은 단계 614로 진행한다. CRC가 일치하면, 데이터 프레임(500)이 성공적으로 전송되었고, 방법은 단계 602로 복귀하고 디바이스는 수신 모드에 재진입한다. 단계 614에서, 디바이스 역할이 체크된다. 디바이스가 역할 "A" 디바이스이면, 방법(600)은 단계 606으로 복귀하고 데이터 프레임(500)을 재전송한다. 디바이스가 역할 "B" 디바이스인 경우, 디바이스는 단계 616으로 진행하여 라인 상에서의 충돌들을 최소화하기 위해 2개의 ETU에 대한 수신 모드로 진입한 다음, 단계 606으로 복귀하여 데이터 프레임(500)을 재전송한다. 방법(600)은 반이중 라인에서 이용하기 위해 충돌들을 해결하는 전이중 프로토콜을 제공한다.
도 7은 여기서 논의된 기술들(예를 들어, 방법론들) 중 임의의 하나 이상이 수행될 수 있는 예시적인 머신(700)의 블록도를 나타낸다. 예를 들어, 머신(700)은, 에지 디바이스(230)들, 제어기(250), 또는 보안 요소들(270) 중 임의의 하나 이상일 수 있다. 여기서 설명된 예들은, 머신(700) 내의 로직 또는 다수의 컴포넌트들 또는 메커니즘들을 포함하거나 이에 의해 작동될 수 있다. 회로망(예를 들어, 처리 회로망)은, 하드웨어(예를 들어, 간단한 회로들, 게이트들, 로직 등)를 포함하는 머신(700)의 유형 엔티티들에서 구현된 회로들의 집합이다. 회로망 멤버쉽은 시간이 지남에 따라 유연할 수 있다. 회로망들은, 단독으로 또는 조합하여, 동작시 명시된 동작들을 수행할 수 있는 멤버들을 포함한다. 예에서, 회로망의 하드웨어는 특정한 동작을 수행하도록 불변적으로 설계될 수 있다(예컨대, 물리결선됨). 예에서, 회로망의 하드웨어는, 특정한 동작의 명령어들을 인코딩하도록 물리적으로 수정된(예를 들어, 자기적으로, 전기적으로, 불변 대규모 입자들의 이동가능한 배치 등) 머신 판독가능한 매체를 포함한, 가변적으로 접속된 물리적 컴포넌트들(예컨대, 실행 유닛들, 트랜지스터들, 간단한 회로들 등)을 포함할 수 있다. 물리적 컴포넌트들을 접속하는데 있어서, 하드웨어 구성요소의 기저 전기적 속성들은, 예를 들어 절연체로부터 전도체로 또는 그 반대로 변경된다. 명령어들은, 임베디드 하드웨어(예컨대, 실행 유닛들 또는 로딩 메커니즘)가 가변 접속들을 통해 하드웨어에서 회로망의 멤버들을 생성하여 동작 중일 때 특정한 동작의 일부분들을 수행할 수 있게 한다. 따라서, 예에서, 머신 판독가능한 매체 요소들은 회로망의 일부이거나 디바이스가 동작 중일 때 회로망의 다른 컴포넌트들에 통신가능하게 결합된다. 예에서, 물리적 컴포넌트들 중 임의의 것은 하나보다 많은 회로망의 하나보다 많은 멤버에서 이용될 수 있다. 예를 들어, 동작 하에서, 실행 유닛들은 한 시점에서 제1 회로망의 제1 회로에서 이용되고 제1 회로망의 제2 회로에 의해 재사용되거나, 상이한 시간에 제2 회로망의 제3 회로에 의해 재사용될 수 있다. 머신(700)에 관한 이들 컴포넌트들의 추가적인 예들은 다음과 같다.
대안적 실시예에서, 머신(700)은 독립형 디바이스로서 동작하거나 다른 머신에 접속(예를 들어, 네트워킹)될 수 있다. 네트워킹된 배치에서, 머신(700)은, 서버-클라이언트 네트워크 환경들에서, 서버 머신, 클라이언트 머신, 또는 양쪽 모두의 용량에서 동작할 수 있다. 예에서, 머신(700)은 피어-투-피어(P2P)(또는 기타의 분산형) 네트워크 환경에서 피어 머신으로서 역할을 할 수 있다. 머신(700)은, 개인용 컴퓨터(PC), 태블릿 PC, 셋탑 박스(STB), PDA(personal digital assistant), 모바일 전화, 웹 어플라이언스, 네트워크 라우터, 스위치 또는 브릿지, 또는 머신에 의해 취해지는 동작들을 명시하는 명령어들(순차적 또는 기타의 방식)을 실행할 수 있는 임의의 머신일 수 있다. 또한, 단일의 머신만이 예시되어 있지만, 용어 "머신"은, 클라우드 컴퓨팅, SaaS(software as a service), 기타의 컴퓨터 클러스터 구성들과 같은, 여기서 논의된 방법론들 중 임의의 하나 이상을 수행하기 위해 개별적으로 또는 공동으로 한 세트(또는 복수 세트)의 명령어들을 실행하는 머신들의 임의의 집합을 포함하는 것으로 간주되어야 할 것이다.
머신(예컨대, 컴퓨터 시스템)(700)은, 하드웨어 프로세서(702)(예컨대, 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 하드웨어 프로세서 코어, 또는 이들의 임의의 조합), 메인 메모리(704), 정적 메모리(예컨대, 펌웨어, 마이크로코드, BIOS(basic-input-output), UEFI(unified extensible firmware interface) 등을 위한 메모리 또는 스토리지)(706), 및 대용량 스토리지(708)(예컨대, 하드 드라이브, 테이프 드라이브, 플래시 스토리지, 또는 기타의 블록 디바이스들)를 포함할 수 있고, 이들 중 일부 또는 전부는 인터링크(예컨대, 버스)(730)를 통해 서로 통신할 수 있다. 머신(700)은, 디스플레이 유닛(710), 영숫자 입력 디바이스(712)(예컨대, 키보드), 및 사용자 인터페이스(UI) 내비게이션 디바이스(714)(예컨대, 마우스)를 더 포함할 수 있다. 예에서, 디스플레이 유닛(710), 입력 디바이스(712) 및 UI 내비게이션 디바이스(714)는 터치 스크린 디스플레이일 수 있다. 머신(700)은 추가적으로, 스토리지 디바이스(예컨대, 드라이브 유닛)(708), 신호 생성 디바이스(718)(예를 들어, 스피커), 네트워크 인터페이스 디바이스(720), 및 GPS(global positioning system) 센서, 나침반, 가속도계 또는 기타의 센서 등의 하나 이상의 센서(716)를 포함할 수 있다. 머신(700)은, 하나 이상의 주변 디바이스(예를 들어, 프린터, 카드 리더 등)와 통신하거나 이를 제어하기 위해 직렬(예를 들어, 범용 직렬 버스(USB), 병렬, 또는 기타의 유선 또는 무선(예를 들어, 적외선(IR), NFC(near field communication)) 등) 접속과 같은 출력 제어기(728)를 포함할 수 있다.
프로세서(702)의 레지스터들, 메인 메모리(704), 정적 메모리(706), 또는 대용량 스토리지(708)는, 여기서 설명된 기술들 또는 기능들 중 임의의 하나 이상을 구현하거나 이에 의해 이용되는 데이터 구조들 또는 명령어들(724)(예를 들어, 소프트웨어)의 하나 이상의 세트가 저장되어 있는 머신 판독가능한 매체(722)이거나 이를 포함할 수 있다. 명령어들(724)은 또한, 머신(700)에 의한 그 실행 동안에, 완전히 또는 적어도 부분적으로, 프로세서(702)의 레지스터들, 메인 메모리(704), 정적 메모리(706), 또는 대용량 스토리지(708) 내에 존재할 수 있다. 예에서, 하드웨어 프로세서(702), 메인 메모리(704), 정적 메모리(706), 대용량 스토리지(708)의 하나 또는 임의의 조합이 머신 판독가능한 매체(722)를 구성할 수 있다. 머신 판독가능한 매체(722)가 단일의 매체로서 예시되어 있지만, 용어 "머신 판독가능한 매체"로는 하나 이상의 명령어(724)를 저장하도록 구성된 단일 매체 또는 복수의 매체(예를 들어, 중앙집중형 또는 분산형 데이터베이스, 및/또는 연관된 캐쉬들 및 서버들)가 포함될 수 있다.
용어 "머신 판독가능한 매체"로는, 머신(700)에 의한 실행을 위한 명령어들을 저장, 인코딩, 또는 운반할 수 있고 머신(700)이 본 개시내용의 기술들 중 임의의 하나 이상을 수행하게 하거나, 이러한 명령어들에 의해 이용되거나 이와 연관된 데이터 구조를 저장, 인코딩 또는 운반할 수 있는 임의의 매체가 포함될 수 있다. 비제한적인 머신 판독가능한 매체 예들로는, 솔리드 스테이트 메모리들, 광학 매체, 자기 매체, 및 신호들(예컨대, 무선 주파수 신호들, 기타의 광자 기반의 신호들, 사운드 신호들 등)이 포함될 수 있다. 예에서, 비일시적인 머신 판독가능한 매체로는, 불변(예컨대, 정지) 질량을 갖고 그에 따라 물질의 조성들인 복수의 입자를 갖춘 머신 판독가능한 매체가 포함된다. 따라서, 비일시적인 머신 판독가능한 매체는 일시적인 전파 신호들을 포함하지 않는 머신 판독가능한 매체이다. 비일시적인 머신 판독가능한 매체의 특정한 예들로는, 반도체 메모리 디바이스들(예컨대, EPROM(Electrically Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory)) 및 플래시 메모리 디바이스들과 같은 비휘발성 메모리; 내부 하드 디스크들 및 착탈식 디스크들과 같은 자기 디스크들; 광자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들이 포함될 수 있다.
명령어들(724)은 추가로, 다수의 전송 프로토콜(예를 들어, 프레임 릴레이, 인터넷 프로토콜(IP), 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP), 하이퍼텍스트 전송 프로토콜(HTTP) 등) 중 임의의 것을 이용하여 네트워크 인터페이스 디바이스(720)를 통해 전송 매체를 이용한 통신 네트워크(726)를 통해 전송 또는 수신될 수 있다. 예시의 통신 네트워크들로는, 다른 것들 중에서도 특히, LAN(local area network), WAN(wide area network), 패킷 데이터 네트워크(예컨대, 인터넷), 모바일 전화 네트워크들(예컨대, 셀룰러 네트워크), POTS(Plain Old Telephone) 네트워크들, 및 무선 데이터 네트워크들(예컨대, Wi-Fi®로서 알려진 IEEE(Institute of electrical and Electronics Engineers) 802.11 표준 패밀리), IEEE 802.16.4 표준 패밀리, 피어-투-피어(P2P) 네트워크들 등이 포함될 수 있다. 예에서, 네트워크 인터페이스 디바이스(720)는, 통신 네트워크(726)에 접속하기 위해 하나 이상의 물리적 잭(예컨대, Ethernet, 동축 또는 전화 잭들) 또는 하나 이상의 안테나를 포함할 수 있다. 예에서, 네트워크 인터페이스 디바이스(720)는, SIMO(single-input multiple-output), MIMO(multiple-input multiple-output) 또는 MISO(multiple-input single-output) 기술들 중 적어도 하나를 이용하여 무선으로 통신하기 위한 복수의 안테나를 포함할 수 있다. 용어 "전송 매체"는, 머신(700)에 의한 실행을 위한 명령어들을 저장, 인코딩 또는 운반할 수 있고, 이러한 소프트웨어의 통신을 용이화하는 디지털 또는 아날로그 통신 신호들 또는 기타의 무형의 매체를 포함하는 임의의 무형의 매체를 포함하는 것으로 간주된다. 전송 매체는 머신 판독가능한 매체이다.
상기의 설명은, 상세한 설명의 일부를 형성하는 첨부된 도면들에 대한 참조들을 포함한다. 도면은, 본 발명이 실시될 수 있는 특정한 실시예들을 예시로서 도시한다. 이들 실시예들은 여기서는 "예들"이라고도 지칭된다. 이러한 예들은 도시되거나 설명된 것들에 외의 요소들을 포함할 수 있다. 그러나, 본 발명자들은, 도시되거나 설명된 요소들만이 제공되는 예들도 역시 고려하고 있다. 게다가, 본 발명자들은, 특정한 예(또는 그 하나 이상의 양태)에 관하여, 또는 여기서 도시되거나 설명된 다른 예들(또는 그 하나 이상의 양태)에 관하여, 도시되거나 설명된 이들 요소들의 임의의 조합이나 치환(또는 그 하나 이상의 양태)을 이용하는 예들도 역시 고려하고 있다.
본 문서에서, 용어 "또는"은, "A 또는 B"가, 달리 표시하지 않는 한, "A이지만 B는 아닌", "B이지만 A는 아닌", 및 "A 및 B"를 포함하도록 하는, 비배타적 또는(or)을 지칭하기 위해 사용된다. 본 요약서는 독자가 기술 개시내용의 본질을 신속하게 확인하는 것을 허용하기 위해 제공되는 것이다. 본 요약서는 본 양태들의 범위나 의미를 해석하거나 제한하기 위해 이용되지 않아야 한다고 이해되어야 한다. 또한, 상기 상세한 설명에서, 다양한 피처들이 서로 그룹화되어 본 개시내용을 체계화할 수 있다. 이것은 청구되지 않은 개시된 피처들이 임의의 청구항에 대해 본질적인 것이라는 의도로서 해석되어서는 안 된다. 오히려, 본 발명 주제는 특정한 개시된 실시예의 모든 피처들보다 적은 수의 피처들에 놓여 있을 수 있다. 따라서, 이하의 양태들은 예들 또는 실시예들로서 상세한 설명 내에 병합되고, 각각의 양태는 그 자체로 별개의 실시예로서 성립되고, 이러한 실시예들은 다양한 조합이나 치환으로서 서로 결합될 수 있다고 간주되어야 한다. 본 발명의 범위는 첨부된 양태들을 참조하여 이러한 양태들에 부여된 균등물들의 전체 범위와 함께 결정되어야 한다.

Claims (10)

  1. 반이중(half-duplex) 접속을 통해 충돌 방지 전이중(full-duplex) 통신 프로토콜을 이용하여 데이터를 전송하기 위한 방법으로서,
    상기 데이터를 전송하는 제1 디바이스에 대한 데이터 수신 모드를 종료하는 단계;
    상기 제1 디바이스에 의해, 제2 디바이스에 의한 수신을 위해 상기 반이중 접속을 통해 데이터 프레임을 전송하는 단계;
    상기 제1 디바이스에 의해, 상기 제2 디바이스로부터의 확인응답(acknowledgement)을 모니터링하는 단계 ― 상기 확인응답은 순환 중복 체크 값(cyclic redundancy check value)을 포함함 ―;
    상기 데이터 프레임이 재전송될 필요가 있다고 결정하는 단계;
    상기 제1 디바이스의 디바이스 역할을 식별하는 단계; 및
    상기 디바이스 역할의 식별에 따라 한 번에 상기 데이터 프레임을 재전송하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 반이중 접속은 RS-485 접속인, 방법.
  3. 제2항에 있어서, 상기 제1 디바이스는 물리적 액세스 제어 시스템의 제어기이고, 상기 제2 디바이스는 상기 물리적 액세스 제어 시스템의 판독기인, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 데이터 프레임은 옵션들 필드, 페이로드 필드, 및 순환 중복 체크 필드를 포함하고, 상기 데이터 프레임이 재전송될 필요가 있다고 결정하는 단계는,
    상기 제2 디바이스로부터 확인응답을 수신하는 단계;
    상기 확인응답을 상기 데이터 프레임의 순환 중복 체크 필드와 비교하는 단계; 및
    상기 확인응답이 상기 순환 중복 체크 필드와 일치하지 않는 경우 상기 데이터 프레임이 재전송될 필요가 있다고 결정하는 단계
    를 포함하는, 방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 데이터 프레임이 재전송될 필요가 있다고 결정하는 단계는, 상기 제1 디바이스에 의해, 상기 제2 디바이스로부터 확인응답을 명시된 기간 내에 수신하지 못하는 단계를 포함하는, 방법.
  6. 실행가능한 프로그램 코드를 포함하는 비일시적인 컴퓨터 판독가능한 매체로서, 상기 실행가능한 프로그램 코드는, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금:
    제1 디바이스의 데이터 수신 모드를 종료하게 하고;
    제2 디바이스에 의한 수신을 위해 반이중 접속을 통해 상기 제1 디바이스로부터 데이터 프레임을 전송하게 하고;
    상기 제2 디바이스로부터의 확인응답을 모니터링하게 하고 ― 상기 확인응답은 순환 중복 체크 값을 포함함 ―;
    상기 데이터 프레임이 재전송될 필요가 있다고 결정하게 하고;
    상기 제1 디바이스의 디바이스 역할을 식별하게 하고;
    상기 디바이스 역할의 식별에 따라 한 번에 상기 데이터 프레임을 재전송하게 하는, 비일시적인 컴퓨터 판독가능한 매체.
  7. 제6항에 있어서, 상기 반이중 접속은 RS-485 접속인, 비일시적인 컴퓨터 판독가능한 매체.
  8. 제6항에 있어서, 상기 제1 디바이스는 물리적 액세스 제어 시스템의 제어기이고, 상기 제2 디바이스는 상기 물리적 액세스 제어 시스템의 판독기인, 비일시적인 컴퓨터 판독가능한 매체.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서, 상기 데이터 프레임은 옵션들 필드, 페이로드 필드, 및 순환 중복 체크 필드를 포함하고, 상기 데이터 프레임이 재전송될 필요가 있다고 결정하는 것은,
    상기 제2 디바이스로부터 확인응답을 수신하는 것;
    상기 확인응답을 상기 데이터 프레임의 순환 중복 체크 필드와 비교하는 것; 및
    상기 확인응답이 상기 순환 중복 체크 필드와 일치하지 않는 경우 상기 데이터 프레임이 재전송될 필요가 있다고 결정하는 것
    을 포함하는, 비일시적인 컴퓨터 판독가능한 매체.
  10. 제6항 내지 제8항 중 어느 한 항에 있어서, 상기 데이터 프레임이 재전송될 필요가 있다고 결정하는 것은, 상기 제2 디바이스로부터의 확인응답을 상기 제2 디바이스로부터 명시된 기간 내에 수신하지 못하는 것을 포함하는, 비일시적인 컴퓨터 판독가능한 매체.
KR1020237020080A 2020-11-13 2021-11-12 사물 인터넷 시스템들에서의 보안 요소 어레이들 KR20230093363A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063113423P 2020-11-13 2020-11-13
US63/113,423 2020-11-13
PCT/EP2021/081512 WO2022101405A2 (en) 2020-11-13 2021-11-12 Secure element arrays in internet-of-things systems
KR1020237019855A KR20230101910A (ko) 2020-11-13 2021-11-12 사물 인터넷 시스템들에서의 보안 요소 어레이들

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020237019855A Division KR20230101910A (ko) 2020-11-13 2021-11-12 사물 인터넷 시스템들에서의 보안 요소 어레이들

Publications (1)

Publication Number Publication Date
KR20230093363A true KR20230093363A (ko) 2023-06-27

Family

ID=86949071

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237020080A KR20230093363A (ko) 2020-11-13 2021-11-12 사물 인터넷 시스템들에서의 보안 요소 어레이들

Country Status (1)

Country Link
KR (1) KR20230093363A (ko)

Similar Documents

Publication Publication Date Title
US10678938B2 (en) Trustworthy peripheral transfer of ownership
US10768922B2 (en) Method and device for wirelessly updating software for vehicle
US11539701B2 (en) Network access point
US20170149781A1 (en) Techniques to authenticate a client to a proxy through a domain name server intermediary
JP2022058749A (ja) 機器の安全なプロビジョニングと管理
EP2442528A1 (en) Security model for industrial devices
CN101675640A (zh) 认证网关的自发起端到端监控
US11757884B2 (en) Method and system for controlling the release of a resource
CN101083659A (zh) 便携式设备的安全策略与环境
JP2019534633A (ja) 定義されたデータ定義を使用したデータ処理
CN110445633A (zh) 用于在分布式网络中提供经认证更新的方法
CN112491776A (zh) 安全认证方法及相关设备
WO2015140942A1 (ja) 情報処理システム、サーバ装置、情報処理方法およびプログラム
EP4266267A2 (en) Secure element arrays in internet-of-things systems
KR20230093363A (ko) 사물 인터넷 시스템들에서의 보안 요소 어레이들
US10110582B2 (en) Dual token based authentication and transport mechanism
EP3812935A1 (en) Process and method for long-term file validity in disconnected environments
CN113300847A (zh) 无需预知凭证的认证
WO2023187896A1 (ja) 通信システム、送信機、及び受信機
US20230078096A1 (en) Offline delegation of authorization data
US20230123159A1 (en) Multi-factor authentication of cloud-managed services
US20220038422A1 (en) Authentication and firewall enforcement for internet of things (iot) devices
Maheshwary et al. Safeguarding the Connected Future: Security in Internet of Things (IoT)
CN113609537A (zh) 电子设备
JP6266403B2 (ja) 通信装置、システム及びプログラム

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination