KR20200118074A - 메시지 레벨 보안을 사용하여 메시징하기 위한 장치, 방법 및 제조 물품 - Google Patents
메시지 레벨 보안을 사용하여 메시징하기 위한 장치, 방법 및 제조 물품 Download PDFInfo
- Publication number
- KR20200118074A KR20200118074A KR1020207024583A KR20207024583A KR20200118074A KR 20200118074 A KR20200118074 A KR 20200118074A KR 1020207024583 A KR1020207024583 A KR 1020207024583A KR 20207024583 A KR20207024583 A KR 20207024583A KR 20200118074 A KR20200118074 A KR 20200118074A
- Authority
- KR
- South Korea
- Prior art keywords
- web service
- client
- communicating
- key
- server
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004519 manufacturing process Methods 0.000 title description 3
- 238000004891 communication Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002146 bilateral effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
방법들은 클라이언트와 웹 서비스를 제공하는 서버 간에 전송 계층 보안 접속을 확립하는 단계, 접속에서 웹 서비스와 통신하기 위한 적어도 하나의 암호화 키를 식별하는 단계, 접속을 폐쇄하는 단계 및 식별된 적어도 하나의 암호화 키에 따라 서명되고 암호화된 웹 서비스 토큰을 사용하여 클라이언트와 웹 서비스 간에 통신하는 단계를 포함한다. 웹 서비스 토큰을 사용하여 클라이언트와 웹 서비스 간에 통신하는 단계는 새로운 전송 계층 보안 접속의 생성을 요구하지 않을 수 있다. 추가의 실시예들은 위에 설명된 것과 같은 동작들을 수행하도록 구성되는 컴퓨터 및 컴퓨터에 의해 실행될 때, 위에 설명된 것과 같은 동작들을 수행하는 명령어들을 저장하는 컴퓨터 판독가능 매체를 제공한다.
Description
본 발명의 주제는 컴퓨터 네트워킹 방법, 장치 및 제조 물품 및, 보다 구체적으로는, 컴퓨터 네트워크에서의 보안 통신을 위한 방법, 장치 및 제조 물품에 관한 것이다.
네트워킹 애플리케이션들은 일반적으로 다양한 다른 중간 노드들을 통하는 송신 노드와 수신 노드 간의 메시지들의 통신을 포함한다. 이들 중간 노드를 통해 통신할 필요성으로 인해, 이러한 통신은 도청, 도용 및 다른 형태들의 공격에 취약할 수 있다. 예를 들어, 이러한 통신은 공격자가 중간 노드에서 당사자들로부터 메시지들을 도청하고 당사자들 중 하나의 당사자로서 가장함으로써 당사자들 간의 통신을 바꾸는 소위 "맨 인 더 미들(man in the middle)"(MITM) 공격들에 취약할 수 있다.
MITM 공격들로부터 안전하게 보호하기 위한 종래의 기술들은 전형적으로 당사자들 간에 보안 채널을 확립하기 위해 소정 유형의 인증을 이용하고 당사자들 간의 후속 통신을 안전하게 하기 위해 사용될 하나 이상의 암호화 키를 확립하기 위해 보안 채널을 사용하는 것이다. 예를 들어, 전송 계층 보안(TLS)(및 그것의 선행자, 보안 소켓들 계층(SSL))은 전형적으로 세션 동안 당사자들 간의 통신을 위한 대칭 키를 확립하는 핸드셰이크 프로토콜을 사용하여 세션을 개시하는 것을 수반한다. 핸드셰이크는 전형적으로 하나 이상의 보안 인증서의 교환, 인증 기관에 의한 교환된 인증서(들)의 검증, 및 인증서(들)의 검증에 응답하는 대칭 키의 확립을 수반한다. 나머지 TLS(또는 SSL) 세션의 경우, 대칭 키가 당사자들 간의 메시지들을 암호화하기 위해 사용된다.
본 발명의 주제의 일부 실시예들은 클라이언트를 동작시키는 방법들을 제공한다. 방법들은 웹 서비스를 제공하는 서버와의 전송 계층 보안 접속을 확립하는 단계; 접속에서 웹 서비스와 통신하기 위한 적어도 하나의 암호화 키를 식별하는 단계; 접속을 폐쇄하는 단계, 및 식별된 적어도 하나의 암호화 키에 따라 서명되고 암호화된 웹 서비스 토큰을 사용하여 웹 서비스와 통신하는 단계를 포함한다. 일부 실시예들에서, 웹 서비스 토큰을 사용하는 웹 서비스와의 통신은 새로운 전송 계층 보안 접속의 생성을 요구하지 않는다.
일부 실시예들에 따르면, 적어도 하나의 암호화 키를 식별하는 단계는 클라이언트 개인 키 및 서버 공개 키를 식별하는 단계를 포함할 수 있고, 서명된 웹 서비스 토큰을 사용하여 서버와 통신하는 단계는 클라이언트 개인 키에 따라 서명되고 서버 공개 키에 따라 암호화된 웹 서비스 토큰을 송신하는 단계를 포함할 수 있다. 추가의 실시예들에 따르면, 적어도 하나의 암호화 키를 식별하는 단계는 클라이언트 공개 키 및 서버 개인 키를 식별하는 단계를 포함할 수 있고, 서명된 웹 서비스 토큰을 사용하여 서버와 통신하는 단계는 서버 개인 키에 따라 서명되고 클라이언트 공개 키에 따라 암호화된 웹 서비스 토큰을 수신하는 단계를 포함한다.
일부 실시예들에서, 접속에서 웹 서비스를 위한 적어도 하나의 암호화 키를 식별하는 단계는 크리덴셜을 송신하는 단계, 크리덴셜에 대응하는 웹 서비스를 위한 제1 웹 서비스 토큰을 수신하는 단계, 적어도 하나의 암호화 키를 식별하기 위해 제1 웹 서비스 토큰을 사용하여 웹 서비스와 보안 인증서들을 교환하는 단계를 포함할 수 있다. 웹 서비스 토큰을 사용하여 웹 서비스와 통신하는 단계는 식별된 적어도 하나의 암호화 키에 따라 서명되고 암호화된 제2 웹 서비스 토큰과 통신하는 단계를 포함할 수 있다.
일부 실시예들에서, 웹 서비스 토큰은 서명되고 암호화된 자바스크립트 오브젝트 노테이션(JSON) 웹 서비스 토큰(JWT)을 포함할 수 있다. JWT는 JSON 웹 서명(JWS) 포맷 및 JSON 웹 암호화(JWE) 포맷을 사용할 수 있다.
추가의 실시예들은 위에 설명된 것과 같은 클라이언트 동작들을 수행하도록 구성되는 컴퓨터를 제공한다. 추가적인 실시예들은 컴퓨터에 의해 실행될 때, 위에 설명된 것과 같은 클라이언트 동작들을 수행하는 명령어들을 저장하는 컴퓨터 판독가능 매체를 포함한다.
본 발명의 주제의 일부 실시예들은 웹 서비스를 동작시키는 방법들을 제공한다. 방법들은 클라이언트와의 전송 계층 보안 접속을 확립하는 단계; 접속에서 서버에 의해 호스팅된 웹 서비스와 통신하기 위한 적어도 하나의 암호화 키를 식별하는 단계; 접속을 폐쇄하는 단계, 및 식별된 적어도 하나의 암호화 키에 따라 서명되고 암호화된 웹 서비스 토큰을 사용하여 클라이언트와 통신하는 단계를 포함한다. 웹 서비스 토큰을 사용하는 클라이언트와의 통신은 새로운 전송 계층 보안 접속의 생성을 요구하지 않을 수 있다.
일부 실시예들에 따르면, 적어도 하나의 암호화 키를 식별하는 단계는 서버 공개 키 및 클라이언트 개인 키를 식별하는 단계를 포함할 수 있고, 웹 서비스 토큰을 사용하여 서버와 통신하는 단계는 클라이언트 개인 키에 따라 서명되고 서버 공개 키에 따라 암호화된 웹 서비스 토큰을 수신하는 단계를 포함할 수 있다. 추가의 실시예들에서, 적어도 하나의 암호화 키를 식별하는 단계는 서버 개인 키 및 클라이언트 공개 키를 식별하는 단계를 포함할 수 있고, 서명된 웹 서비스 토큰을 사용하여 서버와 통신하는 단계는 서버 개인 키에 따라 서명되고 클라이언트 공개 키에 따라 암호화된 웹 서비스 토큰을 송신하는 단계를 포함할 수 있다.
일부 실시예들에 따르면, 접속에서 웹 서비스를 위한 적어도 하나의 암호화 키를 식별하는 단계는 크리덴셜을 수신하는 단계, 크리덴셜에 대응하는 웹 서비스를 위한 제1 웹 서비스 토큰을 송신하는 단계, 적어도 하나의 암호화 키를 식별하기 위해 제1 웹 서비스 토큰을 사용하여 클라이언트와 보안 인증서들을 교환하는 단계를 포함할 수 있다. 웹 서비스 토큰을 사용하여 클라이언트와 통신하는 단계는 식별된 적어도 하나의 암호화 키에 따라 서명되고 암호화된 제2 웹 서비스 토큰과 통신하는 단계를 포함할 수 있다.
본 발명의 주제의 또 다른 실시예들은 클라이언트와 웹 서비스 간에 통신하는 방법들을 제공한다. 방법들은 클라이언트와 웹 서비스를 제공하는 서버 간에 전송 계층 보안 접속을 확립하는 단계, 접속에서 웹 서비스와 통신하기 위한 적어도 하나의 암호화 키를 식별하는 단계, 접속을 폐쇄하는 단계 및 식별된 적어도 하나의 암호화 키에 따라 서명되고 암호화된 웹 서비스 토큰을 사용하여 클라이언트와 웹 서비스 간에 통신하는 단계를 포함한다. 웹 서비스 토큰을 사용하여 클라이언트와 웹 서비스 간에 통신하는 단계는 새로운 전송 계층 보안 접속의 생성을 요구하지 않을 수 있다.
추가의 실시예들은 위에 설명된 것과 같은 웹 서비스 동작들을 수행하도록 구성되는 컴퓨터를 제공한다. 추가적인 실시예들은 컴퓨터에 의해 실행될 때, 위에 설명된 것과 같은 웹 서비스 동작들을 수행하는 명령어들을 저장하는 컴퓨터 판독가능 매체를 제공한다.
도 1은 본 발명의 주제가 적용될 수 있는 네트워크 환경을 도시한 개략도이다.
도 2는 본 발명의 주제의 일부 실시예들에 따른 보안 통신을 위한 동작들을 도시한 플로우차트이다.
도 3은 추가의 실시예들에 따른 보안 통신을 위한 동작들을 도시한 플로우차트이다.
도 4는 본 발명의 주제의 실시예들이 이용될 수 있는 클라이언트-서버 시스템을 도시한 개략도이다.
도 5는 도 4의 시스템에서의 레지스트레이션 동작들을 도시한 메시지 흐름도이다.
도 6은 도 4의 시스템에 대한 펌웨어 업데이트 동작들을 도시한 메시지 흐름도이다.
도 7은 도 4의 시스템에서의 디레지스트레이션 동작들(de-registration operations)을 도시한 메시지 흐름도이다.
도 2는 본 발명의 주제의 일부 실시예들에 따른 보안 통신을 위한 동작들을 도시한 플로우차트이다.
도 3은 추가의 실시예들에 따른 보안 통신을 위한 동작들을 도시한 플로우차트이다.
도 4는 본 발명의 주제의 실시예들이 이용될 수 있는 클라이언트-서버 시스템을 도시한 개략도이다.
도 5는 도 4의 시스템에서의 레지스트레이션 동작들을 도시한 메시지 흐름도이다.
도 6은 도 4의 시스템에 대한 펌웨어 업데이트 동작들을 도시한 메시지 흐름도이다.
도 7은 도 4의 시스템에서의 디레지스트레이션 동작들(de-registration operations)을 도시한 메시지 흐름도이다.
본 발명의 주제의 특정한 예시적인 실시예들이 이제 첨부 도면들을 참조하여 설명될 것이다. 그러나, 본 발명의 주제는 많은 상이한 형태들로 실시될 수 있고 본원에 제시된 실시예들로 제한되는 것으로 해석되지 않아야 하고; 오히려, 이들 실시예는 본 개시내용이 철저하고 완전하고, 본 발명의 주제의 범위를 본 기술 분야의 통상의 기술자들에게 완전히 전달하도록 제공된다. 도면들에서, 유사한 번호들은 유사한 아이템들을 참조한다. 하나의 아이템이 또 하나의 아이템에 "접속된" 또는 "결합된" 것이라고 할 때, 그것은 다른 아이템에 직접 접속 또는 결합될 수 있거나 중간 아이템들이 존재할 수 있다는 것을 이해할 것이다. 본원에 사용된 것과 같이 용어 "및/또는"은 연관된 나열된 아이템들 중 하나 이상의 임의의 및 모든 조합들을 포함할 수 있다.
본원에 사용된 용어는 특정한 실시예들을 단지 설명하는 목적을 위한 것이고 본 발명의 주제를 제한하려는 것이 아니다. 본원에 사용된 것과 같이, 단수 형태는 달리 명시적으로 표명되지 않는다면, 역시 복수 형태들을 포함하고자 한다. 본 명세서에 사용될 때, 용어들 "포함한다", "구성한다", "포함하는" 및/또는 "구성하는"은 기술된 특징들, 정수들, 단계들, 동작들, 아이템들, 및/또는 소자들의 존재를 특정하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 아이템, 소자, 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는다는 것을 추가로 이해할 것이다.
달리 정의되지 않는다면, 본원에 사용된 (기술 및 과학 용어들을 포함하는) 모든 용어들은 본 발명의 주제가 속하는 기술 분야의 통상의 기술자에 의해 통상적으로 이해되는 것과 동일한 의미를 가진다. 통상적으로 사용되는 사전들에서 정의된 것들과 같은 용어들은 명세서 및 관련 기술 분야의 맥락에서 그들의 의미와 일치하는 의미를 갖는 것으로 해석되어야 하고 본원에 그렇게 명시적으로 정의되지 않는다면 이상적인 또는 과도하게 정식의 의미로 해석되지 않을 것이라는 것을 추가로 이해할 것이다.
본 발명의 주제의 일부 실시예들은 MITM 및 다른 공격들에 대한 감소된 오버헤드 및 잠재적으로 증가된 저항성이 양방향 신뢰점(bilateral root of trust)을 확립하는 초기의 TLS(또는 SSL) 접속 시에 확립되는 개인/공개 키 쌍들에 따라 서명되고 암호화된 웹 서비스 토큰들(예를 들어, 자바스크립트 오브젝트 노테이션(JSON) 웹 토큰들(JWT들))을 사용하는 메시지-레벨 보안 방식을 사용하여 클라이언트와 웹 서비스 간에 메시징함으로써 제공될 수 있다. 웹 서비스 토큰들은 초기의 전송 계층 보안 접속이 폐쇄된 후의 통신을 위해 사용될 수 있으므로, 클라이언트와 서버 간의 각각의 통신 세션을 위한 새로운 TLS 접속을 확립할 필요성을 없애 준다. 웹 서비스 토큰들을 발생하는 키들은 거기에 포함된 페이로드와 관련하여 만료에 의해 종료될 수 있고/있거나 클라이언트 또는 웹 서비스에 의해 종료될 수 있다.
이 접근법은 클라이언트와 웹 서비스 간의 통신 세션들이 산발적으로 발생하는 애플리케이션들에서 특히 유리할 수 있다. 본원에 설명된 것과 같이, 예를 들어, 이러한 기술들은 펌웨어 관리자 클라이언트와 복수의 미터들 또는 다른 감지 디바이스들을 서빙하는 타워 게이트웨이 기지국(TGB)에 의해 제공된 웹 서비스 간의 통신에 유리하게 사용될 수 있다. 이 접근법은 이런 통신에 대한 오버헤드를 감소시킬 수 있고, 웹 서비스에 액세스하기 위한 크리덴셜들이 도용될 수 있는 가능성을 감소시킬 수 있고, 또한 클라이언트와 웹 서비스 둘 다가 신뢰 관계의 양방향 성질로 인한 통신을 개시하게 할 수 있다.
도 1은 본 발명의 주제의 실시예들이 이용될 수 있는 네트워크 환경을 도시한다. 클라이언트 디바이스(110)(예를 들어, 컴퓨터, 이동 단말기 또는 다른 디바이스)에 상주하는 클라이언트(112)는 네트워크(130)를 통해 서버(120)(예를 들어, 컴퓨터, 기지국, 또는 다른 디바이스)에 상주하는 웹 서비스(122)와 통신하도록 구성된다. 클라이언트(112)와 웹 서비스(122)는 TLS/SSL 세션들의 반복되는 생성의 필요성을 없애 주는 메시지-레벨 보안을 제공하는 메시지-레벨 보안 통신 기능들(114 및 124)을 제공하도록 구성된다.
특히, 도 2를 참조하면, 전송 계층 보안(TLS)과의 접속은 네트워크(130)를 통해 클라이언트(112)와 웹 서비스(122) 간에 확립된다(블록 210). 접속이 존재하는 동안, 클라이언트(112)와 웹 서비스(122) 간의 후속 통신을 위한 적어도 하나의 키 쌍이 식별된다(블록 220). 접속이 폐쇄된(블록 230) 후에, 클라이언트(112)와 웹 서비스(122)는 적어도 하나의 키 쌍에 따라 서명되고 암호화된 웹 서비스 토큰들을 사용하여 서로 계속 통신할 수 있다(블록 240). 이것은 통신이 새로운 전송 계층 보안 접속을 재확립할 필요없이 발생하게 한다.
도 3은 추가의 실시예들에 따른 동작들을 도시한다. TLS 접속은 다수의 공지된 기술 중 임의의 기술을 사용하여 클라이언트와 웹 서비스 간에 확립된다(블록 310). 양방향 신뢰점의 확립을 개시하기 위해, 클라이언트는 웹 서비스에 크리덴셜(예를 들어, 사용자명/패스워드)을 전달한다(블록 320). 응답하여, 웹 서비스는 크리덴셜을 인증하고 클라이언트에 인증 토큰을 돌려준다(블록 330). 인증 토큰을 사용하여, 클라이언트와 서버는 보안 인증서들을 교환하고 개인/공개 키들을 식별한다(블록 340). TLS 접속은 그 다음에 종료된다(블록 350). 후속하여, 클라이언트와 서버는 식별된 공개/개인 키 쌍들을 사용하여 서명되고 암호화된 웹 서비스 토큰들을 사용하여 통신한다(블록 360). 웹 서비스 토큰 키 쌍들은 후속하여 웹 서비스에 의해 일방적으로 그리고/또는 예를 들어, 미리 결정된 유효 주기의 만료 또는 클라이언트로부터의 요청에 응답하여 무효화될 수 있다.
위에 기재된 것과 같이, 위에 설명된 라인들을 따르는 통신 동작들은 클라이언트와 웹 서비스가 산발적으로 통신하는 애플리케이션들에서 유리하게 사용될 수 있다. 예를 들어, 도 1을 참조하면, 스마트 그리드 또는 다른 유틸리티 모니터링 시스템은 무선 링크들을 통해 타워 게이트웨이 기지국(TGB)(430)에 링크되는, 미터들(440) 및 센서들(450)과 같은 다수의 스마트 디바이스를 이용할 수 있다. TGB(430)는 원격 디바이스(410)에 상주하는 펌웨어 관리자 클라이언트(412)에 네트워크(420)를 통해 링크될 수 있다. 펌웨어 관리자 클라이언트(412)는 미터들(440) 및 센서들(450)로부터 데이터를 수집하는 TGB(430)에 상주하는 하나 이상의 웹 서비스(432)와의 통신을 통해 TGB(430) 상의 펌웨어를 업데이트하도록 구성될 수 있다.
도 5는 추가의 실시예들에 따른 그러한 관리자 클라이언트와 TGB 웹 서비스 간의 레지스트레이션을 위한 대표적인 메시지 흐름을 도시한다. TLS 세션의 개시(501) 후에, 관리자는 사용자명 및 패스워드 크리덴셜들을 포함하는, 로그인 요청을 송신한다(502). 크리덴셜들을 검증한 후에, 웹 서비스는 인증 프로세스 동안 사용을 위한 자바스크립트 오브젝트 노테이션(JSON) 웹 서비스 토큰(JWT)을 발생하고(503), 관리자에 토큰을 송신한다(504). 관리자와 웹 서비스는 인증 JWT를 사용하여 보안 인증서들을 교환하고 이에 응답하여 관리자 및 서버에 대한 개인/공개 키 쌍들을 식별한다(505-512). 관리자는 그 다음에 TGB 웹 서비스에 고유 ID를 할당하고, TGB 웹 서비스는 그 ID를 세이브하고 확인응답한다(513-515). 이 다음에 관리자는 TGB 웹 서비스가 펌웨어 패키지들을 다운로드하기 위해 사용할 수 있는 URL들을 송신하고, TGB 웹 서비스는 그 패키지들을 세이브하고 확인응답한다(516-518). 관리자는 후속하여 토큰이 무효화되라는 요청을 송신하고(519), 웹 서비스는 이에 응답하여 토큰을 무효화하고 관리자에 무효화를 표시한다(520 및 521). TLS 접속은 그 다음에 종료될 수 있다(522).
이 레지스트레이션 프로세스 후에, 클라이언트와 웹 서비스 간의 통신은 다음에 TLS 세션 동안 식별된 개인/공개 키 쌍들을 사용하여 수행될 수 있다. 특히, 클라이언트는 예를 들어, IETF RFC 7515에서 정의된 것과 같은 JSON 웹 서명(JWS) 컴팩트 직렬화 포맷을 사용하여 그것의 개인 키에 따라 서명되고, 예를 들어 IETF RFC 7516에서 정의된 것과 같은 JSON 웹 암호화(JWE) 컴팩트 직렬화 포맷을 사용하여 서버의 공개 키에 따라 암호화된 JWT를 송신함으로써 이러한 통신을 개시할 수 있다. 서버는 그것의 개인 키를 사용하여 이러한 토큰을 해독하고 토큰의 서명이 클라이언트에 대응한다는 것을 검증할 수 있다. 유사하게, 서버는 그것의 개인 키에 따라 서명되고 클라이언트의 공개 키에 따라 암호화된 JWT를 송신함으로써 통신을 개시할 수 있다.
예를 들어, 도 6은 도 4의 시스템에서 타워에 상주하는 소프트웨어의 구성을 모니터링하는 동작들을 도시한다. 관리자는 TGB에 원하는(최신의) 매니페스트를 소유하는 소프트웨어 저장소(도 6 내의 "저장소")로부터 소프트웨어 패키지들의 매니페스트의 그것의 사본을 리프레시하라고 지시하는 메시지를 송신한다(610). 송신은 이전에 확립된 키 쌍들을 사용하여 JWT를 생성하므로, 로그인의 필요성을 없애 준다. 저장소의 위치는 저장소의 위치(예를 들어, URL) 및 저장소에 액세스하는 데 필요한 크리덴셜들을 포함하는 메시지에서 관리자로부터 TGB에 이전에 송신될 수 있다. TGB는 이전에 확립된 위치 및 크리덴셜들을 사용하여 저장소에 매니페스트에 대한 요청을 송신하고(620), 저장소로부터 매니페스트 파일을 수신한다(630). TGB는 매니페스트 파일을 세이브하고 TGB에서 그것을 현재 설치된 패키지들과 비교한다(640 및 650). TGB는 관리자에 결과를 보고한다(660).
도 7은 추가의 실시예들에 따른 언레지스터링하는 동작들을 도시한다. 위에 설명된 라인들을 따라, TLS 세션이 관리자와 TGB 간에 생성된다(701). 관리자는 사용자명/패스워드 조합을 포함하는 로그인 요청을 송신하고(702), TGB는 후속 메시징에 사용하기 위한 키 쌍들을 발생하기 위해 사용되는 JWT를 발생하고 송신한다(703 및 704). 후속하여(예를 들어, 하나 이상의 메시지 교환 후에), 관리자는 "언레지스터" 요청 메시지를 송신할 수 있다(705). 응답하여, TGB는 요청을 위해 JWT와 연관된 공개 키들을 삭제하고(706), 언레지스트레이션 요청을 승인한다(707). 관리자는 다음에 로그아웃 요청을 송신할 수 있고(708), 응답하여 TGB는 토큰을 무효화한다(키들을 무효화한다). 관리자와 타워 간의 후속 토큰-가능 통신은 도 5를 참조하여 위에 설명된 것과 같은 양방향 신뢰점의 재확립을 요구할 것이다.
도 4-7을 참조하여 위에 설명된 구현은 단지 예시의 목적을 위해 제공된 것이고, 본 발명의 주제는 다수의 상이한 애플리케이션 중 어느 것에서 구현될 수 있다는 것을 알 것이다.
도면들 및 명세서에서, 본 발명의 주제의 예시적인 실시예들이 개시되었다. 특정한 용어들이 이용되지만, 그들은 단지 포괄적이고 설명적인 의미로 사용되고 제한하는 목적들을 위한 것은 아니고, 본 발명의 주제의 범위는 다음의 청구범위에 의해 정의된다.
Claims (20)
- 클라이언트를 동작시키는 방법으로서,
웹 서비스를 제공하는 서버와의 전송 계층 보안 접속을 확립하는 단계;
상기 접속에서 상기 웹 서비스와 통신하기 위한 적어도 하나의 암호화 키를 식별하는 단계;
상기 접속을 폐쇄하는 단계; 및
상기 식별된 적어도 하나의 암호화 키에 따라 서명되고 암호화된 웹 서비스 토큰을 사용하여 상기 웹 서비스와 통신하는 단계
를 포함하는 방법. - 제1항에 있어서, 상기 웹 서비스 토큰을 사용하는 상기 웹 서비스와의 상기 통신은 새로운 전송 계층 보안 접속의 생성을 요구하지 않는 방법.
- 제1항에 있어서, 적어도 하나의 암호화 키를 식별하는 단계는 클라이언트 개인 키 및 서버 공개 키를 식별하는 단계를 포함하고, 상기 서명된 웹 서비스 토큰을 사용하여 상기 서버와 통신하는 단계는 상기 클라이언트 개인 키에 따라 서명되고 상기 서버 공개 키에 따라 암호화된 웹 서비스 토큰을 송신하는 단계를 포함하는 방법.
- 제1항에 있어서, 적어도 하나의 암호화 키를 식별하는 단계는 클라이언트 공개 키 및 서버 개인 키를 식별하는 단계를 포함하고, 상기 서명된 웹 서비스 토큰을 사용하여 상기 서버와 통신하는 단계는 상기 서버 개인 키에 따라 서명되고 상기 클라이언트 공개 키에 따라 암호화된 웹 서비스 토큰을 수신하는 단계를 포함하는 방법.
- 제1항에 있어서,
상기 접속에서 웹 서비스를 위한 적어도 하나의 암호화 키를 식별하는 단계는
크리덴셜을 송신하는 단계;
상기 크리덴셜에 대응하는 상기 웹 서비스를 위한 제1 웹 서비스 토큰을 수신하는 단계; 및
상기 적어도 하나의 암호화 키를 식별하기 위해 상기 제1 웹 서비스 토큰을 사용하여 상기 웹 서비스와 보안 인증서들을 교환하는 단계를 포함하고;
웹 서비스 토큰을 사용하여 상기 웹 서비스와 통신하는 단계는 상기 식별된 적어도 하나의 암호화 키에 따라 서명되고 암호화된 제2 웹 서비스 토큰과 통신하는 단계를 포함하는 방법. - 제1항에 있어서, 상기 웹 서비스 토큰은 서명되고 암호화된 자바스크립트 오브젝트 노테이션(JavaScript Object Notation)(JSON) 웹 서비스 토큰(web service token)(JWT)을 포함하는 방법.
- 제6항에 있어서, 상기 JWT는 JSON 웹 서명(JWS) 포맷 및 JSON 웹 암호화(JWE) 포맷을 사용하는 방법.
- 제1항의 방법을 수행하도록 구성되는 컴퓨터.
- 컴퓨터에 의해 실행될 때, 제1항의 방법을 수행하는 명령어들을 저장하는 컴퓨터 판독가능 매체.
- 서버를 동작시키는 방법으로서,
클라이언트와의 전송 계층 보안 접속을 확립하는 단계;
상기 접속에서 상기 서버에 의해 호스팅된 웹 서비스와 통신하기 위한 적어도 하나의 암호화 키를 식별하는 단계;
상기 접속을 폐쇄하는 단계; 및
상기 식별된 적어도 하나의 암호화 키에 따라 서명되고 암호화된 웹 서비스 토큰을 사용하여 상기 클라이언트와 통신하는 단계
를 포함하는 방법. - 제10항에 있어서, 상기 웹 서비스 토큰을 사용하는 상기 클라이언트와의 상기 통신은 새로운 전송 계층 보안 접속의 생성을 요구하지 않는 방법.
- 제10항에 있어서, 적어도 하나의 암호화 키를 식별하는 단계는 서버 공개 키 및 클라이언트 개인 키를 식별하는 단계를 포함하고, 상기 서명된 웹 서비스 토큰을 사용하여 상기 서버와 통신하는 단계는 상기 클라이언트 개인 키에 따라 서명되고 상기 서버 공개 키에 따라 암호화된 웹 서비스 토큰을 수신하는 단계를 포함하는 방법.
- 제10항에 있어서, 적어도 하나의 암호화 키를 식별하는 단계는 서버 개인 키 및 클라이언트 공개 키를 식별하는 단계를 포함하고, 상기 서명된 웹 서비스 토큰을 사용하여 상기 서버와 통신하는 단계는 상기 서버 개인 키에 따라 서명되고 상기 클라이언트 공개 키에 따라 암호화된 웹 서비스 토큰을 송신하는 단계를 포함하는 방법.
- 제10항에 있어서,
상기 접속에서 웹 서비스를 위한 적어도 하나의 암호화 키를 식별하는 단계는
크리덴셜을 수신하는 단계;
상기 크리덴셜에 대응하는 상기 웹 서비스를 위한 제1 웹 서비스 토큰을 송신하는 단계; 및
상기 적어도 하나의 암호화 키를 식별하기 위해 상기 제1 웹 서비스 토큰을 사용하여 상기 클라이언트와 보안 인증서들을 교환하는 단계를 포함하고;
웹 서비스 토큰을 사용하여 상기 클라이언트와 통신하는 단계는 상기 식별된 적어도 하나의 암호화 키에 따라 서명되고 암호화된 제2 웹 서비스 토큰과 통신하는 단계를 포함하는 방법. - 제10항에 있어서, 상기 웹 서비스 토큰은 서명되고 암호화된 자바스크립트 오브젝트 노테이션(JSON) 웹 서비스 토큰(JWT)을 포함하는 방법.
- 제15항에 있어서, 상기 JWT는 JSON 웹 서명(JWS) 포맷 및 JSON 웹 암호화(JWE) 포맷을 사용하는 방법.
- 제10항의 방법을 수행하도록 구성되는 컴퓨터.
- 컴퓨터에 의해 실행될 때, 제10항의 방법을 수행하는 명령어들을 저장하는 컴퓨터 판독가능 매체.
- 클라이언트와 웹 서비스 간에 통신하는 방법으로서,
상기 클라이언트와 상기 웹 서비스를 제공하는 서버 간에 전송 계층 보안 접속을 확립하는 단계;
상기 접속에서 상기 웹 서비스와 통신하기 위한 적어도 하나의 암호화 키를 식별하는 단계;
상기 접속을 폐쇄하는 단계; 및
상기 식별된 적어도 하나의 암호화 키에 따라 서명되고 암호화된 웹 서비스 토큰을 사용하여 상기 클라이언트와 상기 웹 서비스 간에 통신하는 단계
를 포함하는 방법. - 제19항에 있어서, 웹 서비스 토큰을 사용하여 상기 클라이언트와 상기 웹 서비스 간에 통신하는 단계는 새로운 전송 계층 보안 접속의 생성을 요구하지 않는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/881,151 | 2018-01-26 | ||
US15/881,151 US11546310B2 (en) | 2018-01-26 | 2018-01-26 | Apparatus, methods and articles of manufacture for messaging using message level security |
PCT/US2019/013652 WO2019147436A1 (en) | 2018-01-26 | 2019-01-15 | Apparatus, methods and articles of manufacture for messaging using message level security |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200118074A true KR20200118074A (ko) | 2020-10-14 |
KR102689853B1 KR102689853B1 (ko) | 2024-07-29 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
EP3744062A1 (en) | 2020-12-02 |
CN111801924A (zh) | 2020-10-20 |
WO2019147436A1 (en) | 2019-08-01 |
CA3089203A1 (en) | 2019-08-01 |
MX2020007907A (es) | 2020-09-07 |
JP2021511613A (ja) | 2021-05-06 |
US20190238518A1 (en) | 2019-08-01 |
AU2019212026A1 (en) | 2020-08-13 |
US11546310B2 (en) | 2023-01-03 |
CN111801924B (zh) | 2023-05-12 |
JP7389754B2 (ja) | 2023-11-30 |
AU2019212026B2 (en) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Niruntasukrat et al. | Authorization mechanism for MQTT-based Internet of Things | |
JP7389754B2 (ja) | メッセージ・レベル・セキュリティを使用するメッセージングのための装置、方法及び製造品 | |
Pereira et al. | An authentication and access control framework for CoAP-based Internet of Things | |
CN101371550B (zh) | 自动安全地向移动通信终端的用户供给在线服务的服务访问凭证的方法和*** | |
US7707412B2 (en) | Linked authentication protocols | |
US10158608B2 (en) | Key establishment for constrained resource devices | |
EP3677005B1 (en) | Authentication protocol based on trusted execution environment | |
CN108737436A (zh) | 基于信任联盟区块链的跨域服务器身份认证方法 | |
US20070033643A1 (en) | User authentication in connection with a security protocol | |
KR20080106982A (ko) | 애플리케이션 인증 | |
AU2015234221B2 (en) | Persistent authentication system incorporating one time pass codes | |
CN113411187B (zh) | 身份认证方法和***、存储介质及处理器 | |
Huang et al. | A token-based user authentication mechanism for data exchange in RESTful API | |
BR112021003448A2 (pt) | dispositivo sem identidade de assinante, dispositivo de identidade do assinante, método para uso em um dispositivo sem identidade de assinante, método para uso em um dispositivo com identidade de assinante e produto de programa de computador transferível por download | |
Ali et al. | A comparative study of authentication methods for wi-fi networks | |
CN110855561A (zh) | 一种物联网智能网关 | |
JP2014147039A (ja) | 暗号通信装置、代行サーバ、暗号通信システム、暗号通信装置プログラム及び代行サーバプログラム | |
Gao et al. | SecT: A lightweight secure thing-centered IoT communication system | |
KR102689853B1 (ko) | 메시지 레벨 보안을 사용하여 메시징하기 위한 장치, 방법 및 제조 물품 | |
Spoorthi et al. | Mobile single sign-on solution for enterprise cloud applications | |
CN107835196B (zh) | 一种基于hdlc的安全通信方法 | |
Singh et al. | Survey and analysis of Modern Authentication system | |
Santos et al. | A federated lightweight authentication protocol for the internet of things | |
KR102345093B1 (ko) | 무선 인터넷의 보안 세션 제어 시스템 및 보안 세션 제어 방법 | |
Lewi et al. | Scaling Backend Authentication at Facebook |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |