KR20190065091A - Apparatus and method for establishing secure channel in message processing system - Google Patents
Apparatus and method for establishing secure channel in message processing system Download PDFInfo
- Publication number
- KR20190065091A KR20190065091A KR1020170164567A KR20170164567A KR20190065091A KR 20190065091 A KR20190065091 A KR 20190065091A KR 1020170164567 A KR1020170164567 A KR 1020170164567A KR 20170164567 A KR20170164567 A KR 20170164567A KR 20190065091 A KR20190065091 A KR 20190065091A
- Authority
- KR
- South Korea
- Prior art keywords
- channel
- ticket
- management module
- client
- key
- Prior art date
Links
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/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/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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/068—Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
-
- H04L67/28—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
본 발명의 실시예들은 애플리케이션 서비스와 관련된 메시지 송수신 기술과 관련된다.Embodiments of the invention relate to message transmission and reception techniques associated with application services.
최근, 모바일 단말의 사용이 일반화되고 정보통신기술이 발달함에 따라, 다양한 메시지 서비스를 제공하는 메시지 처리 시스템에 대한 수요가 증가하고 있다. 이러한 메시지 처리 시스템은 보안 서비스, 이메일 서비스, 결제 서비스 등 다양한 분야에서 적용될 수 있다. 상기 메시지 처리 시스템에 있어서, 송신측과 수신측은 메시지 처리 시스템에서 제공하는 서비스와 관련된 각종 메시지를 송수신하게 된다. 이때, 상기 메시지 처리 시스템은 서비스의 연속성을 유지하고 외부 공격에 대한 시스템 보호를 위해 송신측과 수신측 간에 전송되는 메시지의 신뢰성을 보장할 필요가 있다.Recently, with the generalization of mobile terminals and the development of information communication technology, there is an increasing demand for a message processing system that provides various message services. Such a message processing system can be applied to various fields such as a security service, an e-mail service, and a payment service. In the message processing system, the transmitting side and the receiving side send and receive various messages related to a service provided by the message processing system. At this time, the message processing system needs to maintain the continuity of the service and ensure the reliability of the message transmitted between the transmitting side and the receiving side in order to protect the system against external attack.
본 발명의 실시예들은 메시지 처리 시스템에서 보안 채널 형성 장치 및 방법을 제공하기 위한 것이다. Embodiments of the present invention provide an apparatus and method for secure channel formation in a message processing system.
본 발명의 일 실시예에 따른, 메시지 처리 시스템에서 보안 채널 형성 장치는, 하나 이상의 프로세서, 메모리 및 전송 계층 보안(TLS: Transport Layer Security) 프로토콜을 통해 채널 클라이언트와 TLS 채널을 생성하고, 상기 TLS 채널을 통해 상기 채널 클라이언트로부터 상기 채널 클라이언트에 할당된 아이디를 포함하는 채널 형성 요청 메시지를 수신하고, 상기 아이디를 검증하며, 상기 검증 결과에 따라 상기 TLS 채널을 통해 상기 채널 클라이언트로 채널 형성 응답 메시지를 전송하여 TLS 기반의 보안 채널을 형성하는 채널 관리부를 포함한다.A secure channel forming device in a message processing system, in accordance with an embodiment of the present invention, is configured to create a TLS channel with a channel client through one or more processors, a memory, and a Transport Layer Security (TLS) protocol, Receives a channel formation request message including an ID assigned to the channel client from the channel client, verifies the ID, and transmits a channel establishment response message to the channel client over the TLS channel according to the verification result And a channel management unit for forming a TLS-based secure channel.
상기 보안 채널은, 데이터 메시지 전송이 제한된 논 데이터(Non-Data) 채널일 수 있다.The secure channel may be a non-data channel with limited data message transmission.
상기 채널 관리부는, 상기 보안 채널을 통해, 상기 채널 클라이언트로부터 상기 채널 클라이언트에 할당된 아이디 및 상기 채널 클라이언트의 티켓 정보를 포함하는 채널 업그레이드 요청 메시지를 수신하고, 상기 채널 업그레이드 요청 메시지에 포함된 아이디 및 티켓 정보를 검증하며, 상기 보안 채널을 통해, 상기 채널 클라이언트로 채널 업그레이드 응답 메시지를 전송하여 상기 통신 채널을 상기 데이터 메시지 전송이 허용되는 데이터 채널로 변경할 수 있다.The channel management unit receives a channel upgrade request message including the ID allocated to the channel client and the ticket information of the channel client from the channel client over the secure channel, And may transmit the channel upgrade response message to the channel client through the secure channel to change the communication channel to a data channel in which the data message is allowed to be transmitted.
상기 채널 형성 요청 메시지는, 상기 채널 클라이언트의 티켓 정보를 더 포함하고, 상기 채널 관리부는, 상기 아이디 및 상기 티켓 정보를 검증할 수 있다. The channel formation request message may further include ticket information of the channel client, and the channel management unit may verify the ID and the ticket information.
상기 보안 채널은, 데이터 메시지 전송이 허용되는 데이터 채널일 수 있다.The secure channel may be a data channel in which data message transmission is allowed.
상기 티켓 정보는, 티켓 키를 이용하여 암호화된 시드 정보를 포함하는 티켓 및 상기 티켓 키 대한 티켓 키 인덱스를 포함할 수 있다.The ticket information may include a ticket including seed information encrypted using a ticket key, and a ticket key index for the ticket key.
상기 채널 관리부는, 복수의 티켓 키 및 상기 복수의 티켓 키 각각에 대응되는 복수의 티켓 키 인덱스를 포함하는 티켓 키 테이블에서 상기 티켓 정보에 포함된 티켓 키 인덱스에 대응되는 티켓 키를 추출하고, 상기 추출된 티켓 키를 이용하여 상기 티켓을 복호화하며, 상기 복호화된 티켓에 포함된 시드 정보를 이용하여 상기 티켓을 검증할 수 있다.Wherein the channel management unit extracts a ticket key corresponding to a ticket key index included in the ticket information in a ticket key table including a plurality of ticket keys and a plurality of ticket key indexes corresponding to the plurality of ticket keys, The ticket is decrypted using the extracted ticket key, and the ticket can be verified by using the seed information included in the decrypted ticket.
상기 시드 정보는, 티켓 유효기간을 포함하고, 상기 채널 관리부는, 상기 티켓 유효기간이 경과하였는지 여부에 따라 상기 티켓을 검증할 수 있다.The seed information includes a ticket valid period, and the channel management unit can verify the ticket according to whether or not the ticket valid period has elapsed.
상기 시드 정보는, 상기 티켓을 발급받은 채널 클라이언트의 아이디를 포함하고, 상기 채널 관리부는, 상기 채널 형성 요청 메시지에 포함된 아이디와 상기 시드 정보에 포함된 아이디가 일치하는지 여부에 따라 상기 티켓을 검증할 수 있다.Wherein the seed information includes an ID of a channel client that has issued the ticket and the channel management unit verifies the ticket according to whether the ID included in the channel formation request message matches an ID included in the seed information, can do.
상기 채널 관리부는, 상기 검증이 성공된 경우, 초기 시퀀스 넘버를 포함하는 채널 형성 응답 메시지를 상기 채널 클라이언트로 전송할 수 있다.If the verification is successful, the channel management unit may transmit a channel establishment response message including the initial sequence number to the channel client.
상기 채널 관리부는, 상기 보안 채널을 형성한 이후, 상기 보안 채널을 통해 상기 채널 클라이언트로부터 수신된 패킷의 시퀀스 넘버를 확인하고, 상기 시퀀스 넘버가 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 상기 보안 채널을 차단할 수 있다.Wherein the channel management unit checks a sequence number of a packet received from the channel client over the secure channel after forming the secure channel and if the sequence number is the same as the sequence number of a previously received packet, You can block channels.
상기 채널 클라이언트는, 디바이스 관리 모듈일 수 있다.The channel client may be a device management module.
상기 채널 클라이언트는, 서비스 관리 모듈일 수 있다.The channel client may be a service management module.
본 발명의 일 실시예에 따른 메시지 처리 시스템에서 보안 채널 형성 방법은, 전송 계층 보안(TLS: Transport Layer Security) 프로토콜을 통해 채널 클라이언트와 TLS 채널을 생성하는 단계, 상기 TLS 채널을 통해 상기 채널 클라이언트로부터 상기 채널 클라이언트에 할당된 아이디를 포함하는 채널 형성 요청 메시지를 수신하는 단계, 상기 아이디를 검증하는 단계 및 상기 검증 결과에 따라 상기 TLS 채널을 통해 상기 채널 클라이언트로 채널 형성 응답 메시지를 전송하여 TLS 기반의 보안 채널을 형성하는 단계를 포함한다.A secure channel forming method in a message processing system according to an embodiment of the present invention includes: generating a TLS channel with a channel client through a Transport Layer Security (TLS) protocol; Receiving a channel establishment request message including an ID allocated to the channel client, verifying the ID, and transmitting a channel establishment response message to the channel client over the TLS channel according to the verification result, And forming a secure channel.
상기 보안 채널은, 데이터 메시지 전송이 제한된 논 데이터(Non-Data) 채널일 수 있다.The secure channel may be a non-data channel with limited data message transmission.
상기 보안 채널을 통해, 상기 채널 클라이언트로부터 상기 채널 클라이언트에 할당된 아이디 및 상기 채널 클라이언트의 티켓 정보를 포함하는 채널 업그레이드 요청 메시지를 수신하는 단계, 상기 채널 업그레이드 요청 메시지에 포함된 아이디 및 티켓 정보를 검증하는 단계 및 상기 보안 채널을 통해, 상기 채널 클라이언트로 채널 업그레이드 응답 메시지를 전송하여 상기 통신 채널을 상기 데이터 메시지 전송이 허용되는 데이터 채널로 변경하는 단계를 더 포함할 수 있다.Receiving a channel upgrade request message including an ID allocated to the channel client and ticket information of the channel client from the channel client over the secure channel, verifying the ID and the ticket information included in the channel upgrade request message, Transmitting the channel upgrade response message to the channel client through the secure channel and changing the communication channel to a data channel in which the data message transmission is permitted.
상기 채널 형성 요청 메시지는, 상기 채널 클라이언트의 티켓 정보를 더 포함하고, 상기 검증하는 단계는, 상기 아이디 및 상기 티켓 정보를 검증할 수 있다.The channel formation request message further includes ticket information of the channel client, and the verifying step may verify the ID and the ticket information.
상기 보안 채널은, 데이터 메시지 전송이 허용되는 데이터 채널일 수 있다.The secure channel may be a data channel in which data message transmission is allowed.
상기 티켓 정보는, 티켓 키를 이용하여 암호화된 시드 정보를 포함하는 티켓 및 상기 티켓 키 대한 티켓 키 인덱스를 포함할 수 있다.The ticket information may include a ticket including seed information encrypted using a ticket key, and a ticket key index for the ticket key.
상기 아이디 및 티켓 정보를 검증하는 단계는, 복수의 티켓 키 및 상기 복수의 티켓 키 각각에 대응되는 복수의 티켓 키 인덱스를 포함하는 티켓 키 테이블에서 상기 티켓 정보에 포함된 티켓 키 인덱스에 대응되는 티켓 키를 추출하는 단계, 상기 추출된 티켓 키를 이용하여 상기 티켓을 복호화하는 단계 및 상기 복호화된 티켓에 포함된 시드 정보를 이용하여 상기 티켓을 검증하는 단계를 포함할 수 있다.Wherein the step of verifying the identity and the ticket information comprises the steps of: receiving a ticket corresponding to a ticket key index included in the ticket information in a ticket key table including a plurality of ticket keys and a plurality of ticket key indexes corresponding to the plurality of ticket keys, Extracting the key, decrypting the ticket using the extracted ticket key, and verifying the ticket using the seed information included in the decrypted ticket.
상기 시드 정보는, 티켓 유효기간을 포함하고, 상기 티켓을 검증하는 단계는, 상기 티켓 유효기간이 경과하였는지 여부에 따라 상기 티켓을 검증할 수 있다.The seed information includes a ticket validity period, and the step of verifying the ticket may verify the ticket according to whether or not the ticket validity period has elapsed.
상기 시드 정보는, 상기 티켓을 발급받은 채널 클라이언트의 아이디를 포함하고, 상기 티켓을 검증하는 단계는, 상기 채널 형성 요청 메시지에 포함된 아이디와 상기 시드 정보에 포함된 아이디가 일치하는지 여부에 따라 상기 티켓을 검증할 수 있다.Wherein the seed information includes an ID of a channel client that has issued the ticket, and wherein the step of verifying the ticket comprises: determining whether the ID included in the channel formation request message matches an ID included in the seed information, You can verify the ticket.
상기 형성하는 단계는, 상기 검증이 성공된 경우, 초기 시퀀스 넘버를 포함하는 채널 형성 응답 메시지를 상기 채널 클라이언트로 전송할 수 있다.The forming step may transmit a channel formation response message including the initial sequence number to the channel client when the verification is successful.
상기 형성하는 단계 이후에, 상기 보안 채널을 통해 상기 채널 클라이언트로부터 수신된 패킷의 시퀀스 넘버를 확인하는 단계 및 상기 시퀀스 넘버가 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 상기 보안 채널을 차단하는 단계를 더 포함할 수 있다.Identifying a sequence number of a packet received from the channel client over the secure channel after the forming, blocking the secure channel if the sequence number is equal to a sequence number of a previously received packet, As shown in FIG.
상기 채널 클라이언트는, 디바이스 관리 모듈일 수 있다.The channel client may be a device management module.
상기 채널 클라이언트는, 서비스 관리 모듈일 수 있다.The channel client may be a service management module.
본 발명의 실시예들에 따르면, 메시지 서버와 채널 클라이언트 사이에 보안 채널을 형성하고, 형성된 보안 채널을 통해 메시지 서버와 채널 클라이언트 사이에 메시지가 송수신되도록 함으로써 메시지 송수신의 보안성을 강화할 수 있다.According to embodiments of the present invention, a security channel is established between a message server and a channel client, and a message is transmitted / received between a message server and a channel client through a formed secure channel, thereby enhancing the security of message transmission / reception.
도 1은 본 발명의 일 실시예에 따른 메시지 처리 시스템의 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 디바이스 관리 모듈과 디바이스 채널 관리부 사이의 보안 채널 형성 과정을 나타낸 절차도
도 3은 본 발명의 일 실시예에 따른 디바이스 관리 모듈과 디바이스 채널 관리부 사이에 형성된 논 데이터 채널을 데이터 채널로 변경하기 위한 과정을 나타낸 절차도
도 4은 본 발명의 다른 실시예에 따른 디바이스 관리 모듈과 디바이스 채널 관리부 사이의 보안 채널 형성 과정을 나타낸 절차도
도 5는 본 발명의 일 실시예에 따라, 서비스 관리 모듈과 서비스 채널 관리부 사이의 보안 채널 형성 과정을 나타낸 절차도
도 6는 본 발명의 일 실시예에 따른 디바이스 관리 모듈과 등록 서버 사이의 보안 채널 형성 과정을 나타낸 절차도
도 7은 본 발명의 일 실시예에 따른 애플리케이션 서버 등록 과정을 나타낸 절차도
도 8은 본 발명의 일 실시예에 따른 DMID 발행 과정을 나타낸 절차도
도 9는 본 발명의 일 실시예에 따른 애플리케이션 서비스 활성화 과정을 나타낸 절차도
도 10은 본 발명의 일 실시예에 따른 디바이스 관리 모듈에서 서비스 관리 모듈로 전달되는 데이터 메시지 전송 절차를 나타낸 절차도
도 11은 본 발명의 일 실시예에 따른 서비스 관리 모듈에서 디바이스 관리 모듈로 전달되는 데이터 메시지 전송 절차를 나타낸 절차도
도 12는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도1 is a block diagram illustrating a configuration of a message processing system according to an embodiment of the present invention;
2 is a flowchart illustrating a process of forming a secure channel between a device management module and a device channel management unit according to an embodiment of the present invention.
3 is a flowchart illustrating a process for changing a non-data channel formed between a device management module and a device channel management unit to a data channel according to an embodiment of the present invention.
4 is a flowchart illustrating a process of forming a secure channel between a device management module and a device channel management unit according to another embodiment of the present invention.
5 is a flowchart illustrating a process of forming a secure channel between a service management module and a service channel management unit according to an embodiment of the present invention.
6 is a flowchart illustrating a process of forming a secure channel between a device management module and a registration server according to an embodiment of the present invention.
7 is a flowchart illustrating an application server registration process according to an embodiment of the present invention.
8 is a flowchart illustrating a DMID issuance process according to an embodiment of the present invention.
9 is a flowchart illustrating an application service activation process according to an embodiment of the present invention.
10 is a flowchart illustrating a data message transmission procedure transferred from the device management module to the service management module according to an embodiment of the present invention.
11 is a flowchart illustrating a data message transmission procedure transferred from a service management module to a device management module according to an embodiment of the present invention.
Figure 12 is a block diagram illustrating and illustrating a computing environment including a computing device suitable for use in the exemplary embodiments.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to provide a comprehensive understanding of the methods, apparatus, and / or systems described herein. However, this is merely an example and the present invention is not limited thereto.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification. The terms used in the detailed description are intended only to describe embodiments of the invention and should in no way be limiting. Unless specifically stated otherwise, the singular form of a term includes plural forms of meaning. In this description, the expressions "comprising" or "comprising" are intended to indicate certain features, numbers, steps, operations, elements, parts or combinations thereof, Should not be construed to preclude the presence or possibility of other features, numbers, steps, operations, elements, portions or combinations thereof.
도 1은 본 발명의 일 실시예에 따른 메시지 처리 시스템의 구성을 나타낸 블록도이다. 1 is a block diagram illustrating a configuration of a message processing system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 메시지 처리 시스템(10)은 애플리케이션 서비스 시스템(100) 및 하나 이상의 사용자 디바이스(200-1, 200-2) 및 메시지 서버(300)을 포함한다. 1, a
메시지 처리 시스템(10)은 각 사용자 디바이스(200-1, 200-2)에 설치된 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4)와 각 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4)로 애플리케이션 서비스를 제공하는 애플리케이션 서버(130-1, 130-2, 130-3) 사이에 신뢰성 있는 메시지 교환이 가능하도록 하기 위한 시스템이다. The
한편, 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4)와 애플리케이션 서버(130-1, 130-2, 130-3)는 각각 애플리케이션 서비스 제공을 위해 사용자 디바이스(200-1, 200-2)와 애플리케이션 서비스 시스템(100)에 설치되는 애플리케이션을 의미할 수 있다. On the other hand, the application clients 230-1, 230-2, 230-3, and 230-4 and the application servers 130-1, 130-2, and 130-3 are connected to the user devices 200-1 , 200-2 and an application installed in the application service system 100. [
예를 들어, 사용자 디바이스 1(200-1)과 사용자 디바이스 2(200-2)에 설치된 애플리케이션 1 클라이언트(230-1, 230-3)는 각각 애플리케이션 서비스 시스템(100)에 설치된 애플리케이션 1 서버(130-1)로부터 애플리케이션 서비스를 제공받을 수 있다. 또한, 사용자 디바이스 1(200-1)에 설치된 애플리케이션 2 클라이언트(230-2)는 애플리케이션 서비스 시스템(100)에 설치된 애플리케이션 2 서버(130-2)로부터 애플리케이션 서비스를 제공받을 수 있으며, 사용자 디바이스 2(200-2)에 설치된 애플리케이션 3 클라이언트(230-3)는 애플리케이션 서비스 시스템(100)에 설치된 애플리케이션 3 서버(130-3)로부터 애플리케이션 서비스를 제공받을 수 있다. For example, the
한편, 애플리케이션 서비스는 예를 들어, 사용자 디바이스(200-1, 200-2)의 카메라 제어, 마이크 제어, 녹음 기능 제어 등과 같은 보안 관련 서비스일 수 있다. 그러나, 애플리케이션 서비스가 반드시 보안 관련 서비스에 한정되는 것은 아니며, 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4)와 애플리케이션 서버(130-1, 130-2, 130-3) 사이에 송수신되는 데이터에 따라 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4)에 의해 수행되는 다양한 형태의 서비스들을 포함할 수 있다. On the other hand, the application service may be a security related service such as camera control of the user devices 200-1 and 200-2, microphone control, recording function control, and the like. However, application services are not necessarily limited to security-related services, and application clients 230-1, 230-2, 230-3, and 230-4 and application servers 130-1, 130-2, And may include various types of services performed by the application clients 230-1, 230-2, 230-3, and 230-4 according to data transmitted and received between the application clients 230-1, 230-2, 230-3, and 230-4.
한편, 애플리케이션 서버(130-1, 130-2, 130-3)와 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4)는 애플리케이션 서비스를 식별하기 위한 애플리케이션 아이디(Application ID, 이하 APID)를 가질 수 있다. 예를 들어, 애플리케이션 1 클라이언트(230-1, 230-3)과 애플리케이션 1 서버(130-1)는 동일한 APID(예를 들어, APID 1)을 가질 수 있으며, 애플리케이션 2 클라이언트(230-2)와 애플리케이션 2 서버(130-2) 역시 동일한 APID(예를 들어, APID 2)를 가질 수 있다. The application servers 130-1, 130-2 and 130-3 and the application clients 230-1, 230-2, 230-3 and 230-4 have application IDs (Application IDs) Hereinafter referred to as " APID "). For example, the
한편, 각 애플리케이션 서버(130-1, 130-2, 130-3)는 상술한 APID 외에도 각 애플리케이션 서버를 식별하기 위한 애플리케이션 인스턴스 아이디(Application Instance ID, 이하 APIID)를 가질 수 있다. 구체적으로, 도 1에 도시된 예와 달리, APID 1으로 식별되는 애플리케이션 서비스를 제공하는 애플리케이션 서버가 복수인 경우, 해당 애플리케이션 서버들은 동일한 APID(즉, APID 1)를 가지게 되나, 각 애플리케이션 서버의 APIID는 상이할 수 있다. Each of the application servers 130-1, 130-2, and 130-3 may have an Application Instance ID (APIID) for identifying each application server in addition to the above-described APID. Specifically, unlike the example shown in FIG. 1, when there are a plurality of application servers providing application services identified by
한편, 상술한 APID 및 APIID는 메시지 서버(300)의 관리자에 의해 미리 할당될 수 있다.Meanwhile, the APID and the APIID may be previously allocated by the administrator of the
애플리케이션 서비스 시스템(100)은 하나 이상의 애플리케이션 서버(130-1, 130-2, 130-3)와 하나 이상의 서비스 관리 모듈(110-1, 110-2, 110-3) 및 데이터베이스(150)를 포함한다.The application service system 100 includes one or more application servers 130-1, 130-2, 130-3 and one or more service management modules 110-1, 110-2, 110-3 and a
애플리케이션 서비스 시스템(100)은 제1 네트워크에 위치할 수 있다. 이때, 제1 네트워크는 예를 들어, 각 애플리케이션 서버(130-1, 130-2, 130-3)를 이용하여 애플리케이션 서비스를 제공하는 조직 또는 기업의 인트라넷일 수 있다.The application service system 100 may be located in a first network. At this time, the first network may be an intranet of an organization or a corporation providing application services using, for example, each application server 130-1, 130-2, and 130-3.
한편, 애플리케이션 서비스 시스템(100)은 하나 이상의 물리적 서버를 포함할 수 있다. 구체적으로, 애플리케이션 서비스 시스템(100)의 각 구성은 하나의 물리적 서버 내에 구현될 수 있으나, 반드시 이에 한정되는 것은 아니며, 실시예에 따라 복수의 물리적 서버 내에 구현될 수 있다.On the other hand, the application service system 100 may include one or more physical servers. Specifically, each configuration of the application service system 100 may be implemented in one physical server, but is not limited thereto, and may be implemented in a plurality of physical servers according to an embodiment.
서비스 관리 모듈(110-1, 110-2, 110-3)은 각각 애플리케이션 서버(230-1, 130-2, 130-3)와 메시지 서버(300) 사이에서 각종 메시지를 송수신한다. 본 발명의 일 실시예에 따르면, 각 서비스 관리 모듈(110-1, 110-2, 110-3)은 메시지 서버(300)에 포함된 하나 이상의 서비스 채널 관리부(310-1, 310-2) 각각과 통신 채널을 형성하고, 형성된 통신 채널을 통해 서비스 채널 관리부(310-1, 310-2) 각각과 메시지를 송수신할 수 있다. 이때, 각 서비스 관리 모듈(110-1, 110-2, 110-3)와 각 서비스 채널 관리부(310-1, 310-2) 사이에 형성되는 통신 채널은 예를 들어, TCP(Transmission Control Protocol) 기반의 전송 계층 보안(Transport Layer Security, 이하 TLS) 통신 채널일 수 있다. 구체적으로, 각 서비스 관리 모듈(110-1, 110-2, 110-3)은 대응되는 애플리케이션 서버(130-1, 130-2, 130-3)로부터 전송 요청된 데이터를 포함하는 메시지를 통신 채널이 형성된 서비스 채널 관리부(310-1, 310-2)로 전송할 수 있다. 또한, 각 서비스 관리 모듈(110-1, 110-2, 110-3)은 통신 채널이 형성된 서비스 채널 관리부(310-1, 310-2)로부터 수신된 메시지에 포함된 데이터를 대응되는 애플리케이션 서버(130-1, 130-2, 130-3)로 전달할 수 있다.The service management modules 110-1, 110-2 and 110-3 transmit and receive various messages between the application servers 230-1, 130-2 and 130-3 and the
한편, 각 서비스 관리 모듈(110-1, 110-2, 110-3)은 예를 들어, 대응되는 애플리케이션 서버(130-1, 130-2, 130-3)의 일 구성으로 구현될 수 있으나, 반드시 이에 한정되는 것은 아니며, 실시예에 따라 대응되는 애플리케이션 서버(130-1, 130-2, 130-3)와 별도의 구성으로 구현될 수도 있다. Each of the service management modules 110-1, 110-2, and 110-3 may be implemented as one configuration of the corresponding application servers 130-1, 130-2, and 130-3, for example. However, But the present invention is not limited thereto and may be implemented in a configuration different from the corresponding application servers 130-1, 130-2, and 130-3 according to the embodiment.
예를 들어, 서비스 관리 모듈 1(110-1)과 서비스 관리 모듈 2(110-2)는 각각 애플리케이션 1 서버(130-1)와 애플리케이션 2 서버(130-2)의 일 구성으로 구현될 수 있다. 이 경우, 각 서비스 관리 모듈(110-1, 110-2)은 예를 들어, 라이브러리를 이용한 API(Application Programming interface) 함수 호출 및 콜백(callback) 함수 호출의 형태로 대응되는 애플리케이션 서버(130-1, 130-2, 130-3)와 양 방향 통신을 수행할 수 있다. For example, the service management module 1 (110-1) and the service management module 2 (110-2) can be implemented as a single configuration of the
다른 예로, 서비스 관리 모듈 3(110-3)은 애플리케이션 3 서버(130-3)와 분리된 구성으로 구현될 수 있다. 이 경우, 서비스 관리 모듈 3(110-3)은 예를 들어, HTTP(HyperText Transfer Protocol)를 통해 일 방향으로 통신할 수 있다.As another example, the service management module 3 (110-3) may be implemented in a configuration separate from the application 3 server 130-3. In this case, the service management module 3 (110-3) can communicate in one direction via HTTP (HyperText Transfer Protocol), for example.
한편, 본 발명의 일 실시예에 따르면, 각 서비스 관리 모듈(110-1, 110-2, 1103)은 서비스 관리 그룹 아이디(Service Management Group ID, 이하 SMGID) 및 서비스 관리 인스턴스 아이디(Service Management module Instance ID, 이하 SMIID) 중 적어도 하나를 가질 수 있다. 이때, SMGID는 동일한 애플리케이션 서비스를 제공하는 복수의 애플리케이션 서버가 존재하는 경우, 해당 애플리케이션 서버 각각에 대한 메시지 송수신을 수행하는 서비스 관리 모듈들을 포함하는 서비스 관리 그룹에 할당된 아이디이며, SMIID는 각 서비스 관리 모듈에 할당된 아이디일 수 있다. According to an embodiment of the present invention, the service management modules 110-1, 110-2, and 1103 may include a service management group ID (SMGID) and a service management module instance ID, hereinafter referred to as " SMIID "). In this case, when there are a plurality of application servers providing the same application service, the SMGID is an ID assigned to a service management group including service management modules that perform message transmission / reception for each of the application servers, It can be the ID assigned to the module.
예를 들어, 애플리케이션 1 서버(130-1) 및 애플리케이션 2 서버(130-2)가 동일한 애플리케이션 서비스를 제공하는 것으로 가정하면, 서비스 관리 모듈 1(110-1)과 서비스 관리 모듈 2(110-2)는 동일한 SMGID를 가지나, SMIID는 상이하게 된다. 또한, 애플리케이션 3 서버(130-3)가 애플리케이션 1 서버(130-1) 및 애플리케이션 2 서버(130-2)와 상이한 애플리케이션 서비스를 제공하는 것으로 가정하면, 서비스 관리 모듈 3(110-3)의 SMGID와 SMIID는 서비스 관리 모듈 1(110-1)과 서비스 관리 모듈 2(110-2)의 SMGID 및 SMIID와 상이하게 된다.For example, assuming that the
한편, 서비스 관리 모듈(110)의 SMGID와 SMIID는 APID 및 APIID와 마찬가지로 메시지 서버(300)의 관리자에 의해 사전에 할당될 수 있다.Meanwhile, the SMGID and the SMIID of the
데이터베이스(150)는 서비스 관리 모듈(110-1, 110-2, 110-3)과 서비스 채널 관리부(310-1, 310-2) 사이에 메시지 송수신을 위해 필요한 각종 정보들을 저장하기 위한 저장소이다. The
한편, 도 1에 도시된 예에서, 애플리케이션 서비스 시스템(100)이 하나의 데이터베이스(150)만을 포함하는 것으로 도시하고 있으나, 반드시 이에 한정되는 것은 아니며, 실시예에 따라 복수의 데이터베이스를 포함할 수도 있다.In the example shown in FIG. 1, the application service system 100 includes only one
사용자 디바이스(200-1, 200-2)는 각각 하나 이상의 디바이스 관리 모듈(210-1, 210-2, 210-3), 하나 이상의 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4) 및 데이터베이스(250-1, 250-2)를 포함한다. Each of the user devices 200-1 and 200-2 includes one or more device management modules 210-1, 210-2, and 210-3, one or more application clients 230-1, 230-2, 230-3, -4) and databases 250-1 and 250-2.
각 사용자 디바이스(200-1, 200-2)는 예를 들어 스마트폰, 노트북, 태블릿 PC 등과 같은 모바일 단말일 수 있으며, 제2 네트워크에 위치할 수 있다. 이때, 제2 네트워크는 제1 네트워크의 외부 영역으로서, 예를 들어 인터넷(internet)일 수 있다.Each of the user devices 200-1 and 200-2 may be a mobile terminal, such as a smart phone, a notebook, a tablet PC, or the like, and may be located in a second network. At this time, the second network may be an outside area of the first network, for example, the internet.
디바이스 관리 모듈(210-2, 210-2, 210-3)은 각각 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4)와 메시지 서버(300) 사이에서 각종 메시지를 송수신한다. 본 발명의 일 실시예에 따르면, 각 디바이스 관리 모듈(210-2, 210-2, 210-3)은 메시지 서버(300)에 포함된 하나 이상의 디바이스 채널 관리부(330-1, 330-2)와 통신 채널을 형성하고, 통신 채널이 형성된 디바이스 채널 관리부(330-1, 330-2)와 메시지를 송수신할 수 있다. 이때, 각 디바이스 관리 모듈(210-1, 210-2, 210-3)과 각 디바이스 채널 관리부(330-1, 330-2) 사이에 형성되는 통신 채널을 예를 들어, TCP 기반의 TLS 통신 채널일 수 있다. 구체적으로, 각 디바이스 관리 모듈(210-2, 210-2, 210-3)은 대응되는 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4)로부터 전송 요청된 데이터를 포함하는 메시지를 통신 채널이 형성된 디바이스 채널 관리부(330-1, 330-2)로 전송할 수 있다. 또한, 디바이스 관리 모듈(210-2, 210-2, 210-3)는 통신 채널이 형성된 디바이스 채널 관리부(330-1, 330-2)로부터 수신된 메시지에 포함된 데이터를 대응되는 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4)로 전달할 수 있다.The device management modules 210-2, 210-2 and 210-3 transmit and receive various messages between the application clients 230-1, 230-2, 230-3 and 230-4 and the
한편, 각 사용자 디바이스(300-1, 300-2)는 하나 이상의 디바이스 관리 모듈(210-1, 210-2, 210-3)를 포함할 수 있으며, 각 디바이스 관리 모듈(210-1, 210-2, 210-3)은 하나 이상의 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4)와 양 방향 통신을 수행할 수 있다. 이때, 디바이스 관리 모듈(210-1, 210-2, 210-3)은 예를 들어, 라이브러리를 이용한 API 함수 호출 및 콜백 함수 호출의 형태로 하나 이상의 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4)와 양 방향 통신을 수행할 수 있다. 예를 들어, 사용자 디바이스 1(200-1)의 경우, 애플리케이션 1 클라이언트(230-1)과 양방향 통신을 수행하는 디바이스 관리 모듈 1(210-1)과 애플리케이션 2 클라이언트(230-2)과 양방향 통신을 수행하는 디바이스 관리 모듈 2(210-2)을 포함할 수 있다. 사용자 디바이스 2(200-2)의 경우, 애플리케이션 1 클라이언트(230-3) 및 애플리케이션 3 클라이언트(200-4)와 양방향 통신을 수행하는 디바이스 관리 모듈 3(210-3)을 포함할 수 있다.Each of the user devices 300-1 and 300-2 may include one or more device management modules 210-1, 210-2, and 210-3, and each of the device management modules 210-1 and 210- 2, and 210-3 can perform bidirectional communication with one or more application clients 230-1, 230-2, 230-3, and 230-4. At this time, the device management modules 210-1, 210-2, and 210-3 may include one or more application clients 230-1, 230-2, and 230-3 in the form of API function calls and callback function calls using, for example, -3, and 230-4, respectively. For example, in the case of the user device 1 (200-1), the device management module 1 (210-1) and the application 2 client (230-2) performing bidirectional communication with the
한편, 본 발명의 일 실시예에 따르면, 디바이스 관리 모듈(210-2, 210-2, 210-3)은 각각 상이한 디바이스 관리 아이디(Device Management ID, 이하 DMID) 를 가질 수 있으며, 각 디바이스 관리 모듈(210-2, 210-2, 210-3)의 DMID는 후술할 바와 같이 등록 서버(350)에 의해 할당될 수 있다.According to an embodiment of the present invention, each of the device management modules 210-2, 210-2 and 210-3 may have a different Device Management ID (DMID) The DMIDs of the mobile stations 210-2, 210-2, and 210-3 can be allocated by the
데이터베이스(250-1, 250-2)는 디바이스 관리 모듈(210-1, 210-2, 210-3)과 디바이스 채널 관리부(130-1, 130-2) 사이에 메시지 송수신을 위해 필요한 각종 정보들을 저장하기 위한 저장소이다. The databases 250-1 and 250-2 store various information necessary for transmitting and receiving messages between the device management modules 210-1, 210-2 and 210-3 and the device channel management units 130-1 and 130-2 It is a repository for storing.
메시지 서버(300)는 애플리케이션 서비스 시스템(100)에 포함된 채널 클라이언트, 즉, 서비스 관리 모듈(110-1, 110-2, 110-3)과 각 사용자 디바이스(200-1, 200-2)에 포함된 채널 클라이언트, 즉, 디바이스 관리 모듈(210-1, 210-2, 210-3) 사이에서 메시지를 중계한다. The
메시지 서버(300)는 하나 이상의 서버를 포함할 수 있으며, 제1 네트워크와 제2 네트워크 사이의 제3 네트워크에 위치할 수 있다. 이때, 제3 네트워크는 제1 네트워크와 제2 네트워크 사이에 위치한 서브 네트워크로서, 제1 네트워크와 제3 네트워크 사이에는 방화벽이 존재할 수 있다.The
한편, 메시지 서버(300)는 하나 이상의 서비스 채널 관리부(310-1, 310-2) 및 하나 이상의 디바이스 채널 관리부(330-1, 330-2)를 포함하는 채널 매니저, 등록 서버(350) 및 데이터베이스(370)를 포함할 수 있다.The
서비스 채널 관리부(310-1, 310-2)는 하나 이상의 서비스 관리 모듈(110-1, 110-2, 110-3)과 통신 채널을 형성하고, 서비스 관리 모듈(110-1, 110-2, 110-3) 측에서 서비스 관리 모듈(110-1, 110-2, 110-3)과 디바이스 관리 모듈(210-1, 210-2, 210-3) 사이에 송수신되는 메시지를 중계할 수 있다. 이때, 서비스 채널 관리부(310-1, 310-2)와 서비스 관리 모듈(110-1, 110-2, 110-3) 사이에 형성되는 통신 채널은 예를 들어, TCP 기반의 TLS 통신 채널일 수 있다.The service channel management units 310-1 and 310-2 form a communication channel with one or more service management modules 110-1, 110-2, and 110-3, and the service management modules 110-1, 110-2, 110-3 can relay messages exchanged between the service management modules 110-1, 110-2, 110-3 and the device management modules 210-1, 210-2, 210-3. At this time, the communication channel formed between the service channel management units 310-1 and 310-2 and the service management modules 110-1, 110-2 and 110-3 may be, for example, a TCP-based TLS communication channel have.
디바이스 채널 관리부(330-1, 330-2)는 하나 이상의 디바이스 관리 모듈(210-1, 210-2, 210-3)과 통신 채널을 형성하고, 디바이스 관리 모듈(210-1, 210-2, 210-3) 측에서 디바이스 관리 모듈(210-1, 210-2, 210-3)과 서비스 관리 모듈(110-1, 110-2, 110-3) 사이에 송수신되는 메시지를 중계할 수 있다. 이때, 디바이스 채널 관리부(330-1, 330-2)와 디바이스 관리 모듈(210-1, 210-2, 210-3) 사이에 형성되는 통신 채널은 예를 들어, TCP 기반의 TLS 통신 채널일 수 있다.The device channel management units 330-1 and 330-2 form communication channels with one or more device management modules 210-1, 210-2 and 210-3, and the device management modules 210-1, 210-2, 210-3 can relay messages exchanged between the device management modules 210-1, 210-2, and 210-3 and the service management modules 110-1, 110-2, and 110-3. At this time, the communication channel formed between the device channel management units 330-1 and 330-2 and the device management modules 210-1, 210-2 and 210-3 may be, for example, a TCP-based TLS communication channel have.
한편, 본 발명의 일 실시예에 따르면, 서비스 채널 관리부(310-1, 310-2)와 디바이스 채널 관리부(330-1, 330-2)는 각각 데이터베이스(370)에 저장된 라우팅 테이블을 이용하여, 각 서비스 관리 모듈(110-1, 110-2, 110-3) 또는 각 디바이스 관리 모듈(210-1, 210-2, 210-3)로부터 수신된 메시지를 라우팅할 수 있다. The service channel management units 310-1 and 310-2 and the device channel management units 330-1 and 330-2 may use the routing table stored in the
이때, 라우팅 테이블은 예를 들어, 각 서비스 관리 모듈(110-1, 110-2, 110-3)의 아이디(즉, SMGID 및 SMIID 중 적어도 하나)와 각 서비스 관리 모듈(110-1, 110-2, 110-3)에 대응되는 애플리케이션 서버(130-1, 130-2, 130-3)의 아이디(즉, APID 및 APIID 중 적어도 하나)가 맵핑된 제1 라우팅 테이블을 포함할 수 있다.At this time, for example, the routing table may include the ID (i.e., at least one of SMGID and SMIID) of each of the service management modules 110-1, 110-2, and 110-3 and each of the service management modules 110-1, (I.e., at least one of the APID and the APIID) of the application servers 130-1, 130-2, and 130-3 corresponding to the first, second, and third application servers 130-1, 130-2, and 130-3.
또한, 라우팅 테이블은 예를 들어, 각 서비스 채널 관리부(310-1, 310-2)의 접속 정보(예를 들어, 서비스 채널 관리부의 아이디, IP주소, 포트 넘버 등)와 각 서비스 채널 관리부(310-1, 310-2)에 통신 채널을 통해 접속된 서비스 관리 모듈(110-1, 110-2, 110-3)의 아이디(즉, SMGID 및 SMIID 중 적어도 하나)가 맵핑된 제2 라우팅 테이블을 포함할 수 있다.In addition, the routing table may include, for example, connection information (e.g., ID of the service channel management unit, IP address, port number, etc.) of each service channel management unit 310-1 and 310-2 and each service channel management unit 310 -1, 310-2) of the service management modules 110-1, 110-2, 110-3 (that is, at least one of the SMGID and SMIID) connected through the communication channel is mapped to the second routing table .
또한, 라우팅 테이블은 예를 들어, 각 디바이스 채널 관리부(330-1, 330-2)의 접속 정보(예를 들어, 디바이스 채널 관리부의 아이디, IP주소, 포트 넘버 등)와 각 디바이스 채널 관리부(330-1, 330-2)에 통신 채널을 통해 접속된 디바이스 관리 모듈(210-1, 210-2, 210-3)의 아이디(이하, DMID)가 맵핑된 제3 라우팅 테이블을 포함할 수 있다.The routing table may include, for example, connection information (e.g., ID, IP address, port number, etc.) of each of the device channel management units 330-1 and 330-2 and each device channel management unit 330 -1, and 330-2 to the DMIDs of the device management modules 210-1, 210-2, and 210-3 connected through the communication channel.
한편, 제1 라우팅 테이블과 제2 라우팅 테이블은 각 서비스 채널 관리부(310-1, 310-2)에 의해 관리될 수 있으며, 제3 라우팅 테이블은 각 디바이스 채널 관리부(330-1, 330-2)에 의해 관리될 수 있다. The first routing table and the second routing table may be managed by the respective service channel management units 310-1 and 310-2 and the third routing table may be managed by the device channel management units 330-1 and 330-2, Lt; / RTI >
구체적으로, 제1 라우팅 테이블은 후술할 애플리케이션 서버(130-1, 130-2, 130-3) 등록 과정에서 각 서비스 채널 관리부(310-1, 310-2)에 의해 업데이트될 수 있다. 또한, 제2 라우팅 테이블은 각 서비스 채널 관리부(310-1, 310-2)와 각 서비스 관리 모듈(110-1, 110-2, 110-3) 사이에 통신 채널이 형성되거나, 형성되어 있던 통신 채널이 종료될 때 각 서비스 채널 관리부(310-1, 310-2)에 의해 업데이트될 수 있다. 또한, 제3 라우팅 테이블은 각 디바이스 채널 관리부(330-1, 330-2)와 각 디바이스 관리 모듈(210-1, 210-2, 210-3) 사이에 통신 채널이 형성되거나, 형성되어 있던 통신 채널이 종료될 때 각 디바이스 채널 관리부(330-1, 330-2)에 의해 업데이트될 수 있다.Specifically, the first routing table can be updated by each of the service channel management units 310-1 and 310-2 in the process of registering application servers 130-1, 130-2, and 130-3, which will be described later. In the second routing table, a communication channel is established between each of the service channel management units 310-1 and 310-2 and each of the service management modules 110-1, 110-2, and 110-3, And may be updated by the respective service channel management units 310-1 and 310-2 when the channel is terminated. In the third routing table, a communication channel is formed between each of the device channel management units 330-1 and 330-2 and each of the device management modules 210-1, 210-2, and 210-3, And may be updated by the device channel management units 330-1 and 330-2 when the channel is terminated.
등록 서버(350)는 후술할 바와 같이 각 사용자 디바이스(200-1, 200-2)에 대한 디바이스 정보(예를 들어, IP 주소, MAC 주소, 전화번호 등) 관리, 디바이스 관리 모듈(210-1, 210-2, 210-3)의 등록 및 검증, 각 디바이스 관리 모듈(210-1, 210-2, 210-3)이 접속할 디바이스 채널 관리부(330-1, 330-2)의 할당 등을 수행한다. The
데이터베이스(370)는 상술한 라우팅 테이블을 포함하는 각종 정보들을 저장하기 위한 저장소이다. The
이하에서는, 도 2 내지 도 11을 참조하여, 메시지 처리 시스템(10) 내 각 컴포넌트들 사이의 동작에 대해 구체적으로 살펴보기로 한다. 한편, 도 2 내지 도 11 및 이하의 설명에서 애플리케이션 서버(130)는 애플리케이션 서버(130-1, 130-2, 130-3) 중 하나일 수 있으며, 서비스 관리 모듈(110)은 각 애플리케이션 서버(130-1, 130-2, 130-3)에 대한 메시지 송수신을 수행하는 서비스 관리 모듈(110-1, 110-2, 110-3) 중 하나일 수 있다. 또한, 서비스 채널 관리부(310)는 메시지 서버(300)에 포함된 서비스 채널 관리부(310-1, 310-2) 중 하나일 수 있으며, 디바이스 채널 관리부(330)는 메시지 서버(300)에 포함된 디바이스 채널 관리부(310-1, 310-2) 중 하나일 수 있다. 또한, 애플리케이션 클라이언트(230)는 사용자 디바이스(200-1, 200-2) 중 하나에 포함된 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4) 중 하나일 수 있으며, 디바이스 관리 모듈(210)은 각 애플리케이션 클라이언트(230-1, 230-2, 230-3, 230-4)에 대한 메시지 송수신을 수행하는 디바이스 관리 모듈(210-1, 210-2, 210-3) 중 하나일 수 있다. 또한, 데이터베이스(250)는 사용자 디바이스(200-1, 200-2) 중 하나에 포함된 데이터베이스(250-1, 250-2)일 수 있다.Hereinafter, the operation among the components in the
디바이스 관리 모듈과 디바이스 채널 관리부 사이의 보안 채널 형성Form a secure channel between the device management module and the device channel manager
도 2는 본 발명의 일 실시예에 따른 디바이스 관리 모듈과 디바이스 채널 관리부 사이의 보안 채널 형성 과정을 나타낸 절차도이다. 2 is a flowchart illustrating a process of forming a secure channel between a device management module and a device channel management unit according to an embodiment of the present invention.
도 2 참조하면, 우선, 디바이스 관리 모듈(210)은 TLS 프로토콜을 통해 디바이스 채널 관리부(330)와 TLS 채널을 생성한다(S210). 이때, TLS 채널은 예를 들어, 공지된 TLS 핸드쉐이크(handshake) 프로토콜을 이용하여 생성될 수 있다. Referring to FIG. 2, the
이후, 디바이스 관리 모듈(210)은 생성된 TLS 채널을 통해 채널 형성 요청 메시지를 디바이스 채널 관리부(330)로 전송한다(S220). 구체적으로, 디바이스 관리 모듈(210)은 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 요청 메시지를 디바이스 채널 관리부(330)로 전송할 수 있다. 한편, 채널 형성 요청 메시지는 디바이스 관리 모듈(210)의 DMID를 포함할 수 있다.Thereafter, the
이후, 디바이스 채널 관리부(330)는 채널 형성 요청 메시지에 포함된 DMID를 검증한다(S230). 구체적으로, 디바이스 채널 관리부(330)는 수신된 채널 형성 요청 메시지를 TLS 채널의 세션 키를 이용하여 복호화한 후, 복호화된 채널 형성 요청 메시지에 포함된 DMID를 검증할 수 있다. 이때, 디바이스 채널 관리부(330)는 예를 들어, 채널 형성 요청 메시지에 포함된 DMID가 후술할 DMID 발급 과정을 통해 등록 서버(350)에 의해 발급된 DMID가 아니거나, 접속이 차단된 DMID인 경우, DMID 검증이 실패한 것으로 판단할 수 있다. 한편, DMID 검증이 성공한 경우, 디바이스 채널 관리부(330)는 디바이스 채널 관리부(330)의 접속 정보(예를 들어, 디바이스 채널 관리부(330)의 아이디, 아이피 주소, 포트 번호 등)와 수신된 DMID를 맵핑하여 데이터베이스(370)에 저장된 제3 라우팅 테이블에 추가할 수 있다.Thereafter, the device
이후, 디바이스 채널 관리부(330)는 TLS 채널을 통해 채널 형성 응답 메시지를 디바이스 관리 모듈(210)로 전송하여 TLS 기반의 보안 채널을 형성한다(S240). 구체적으로, 디바이스 채널 관리부(330)는 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 응답 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. Then, the device
한편, TLS 기반의 보안 채널은 예를 들어, TLS 채널의 세션 키를 이용하여 암호화된 메시지를 송수신하는 통신 채널을 의미하며, 이때, 메시지 송수신은 예를 들어, TCP를 이용하여 수행될 수 있다. Meanwhile, the TLS-based secure channel means a communication channel for transmitting and receiving an encrypted message using a session key of a TLS channel, for example, by using TCP.
한편, 채널 형성 응답 메시지는 채널 형성 성공 메시지 또는 채널 형성 실패 메시지일 수 있다. 구체적으로, 디바이스 채널 관리부(330)는 DMID 검증이 성공한 경우, 초기 시퀀스 넘버를 포함하는 채널 형성 성공 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. 이때, 초기 시퀀스 넘버는 DMID 검증이 성공한 경우에 디바이스 채널 관리부(130)에 의해 랜덤하게 생성될 수 있다. 반면, DMID 검증이 실패한 경우, 디바이스 채널 관리부(330)는 채널 형성 실패 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다.Meanwhile, the channel formation response message may be a channel formation success message or a channel formation failure message. In detail, when the DMID verification is successful, the device
한편, 보안 채널 형성이 성공된 경우, 디바이스 관리 모듈(210)은 해당 보안 채널을 통해 전송되는 패킷에 시퀀스 넘버를 포함시킬 수 있다. 이때, 각 패킷에 포함되는 시퀀스 넘버는 초기 시퀀스 넘버를 시작으로 패킷 전송시마다 일정 크기만큼 증가될 수 있다. 또한, 디바이스 채널 관리부(330)는 보안 채널을 통해 수신된 패킷에 포함된 시퀀스 넘버를 확인하여 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 디바이스 관리 모듈(210)과 형성된 보안 채널을 차단할 수 있다.Meanwhile, when the secure channel is successfully formed, the
한편, 도 2에 도시된 과정은 디바이스 관리 모듈(210)에 발급된 티켓이 존재하지 않는 경우에 수행될 수 있으며, 도 2에 도시된 과정을 통해 생성되는 보안 채널은 데이터 메시지 전송이 제한된 논 데이터(Non-Data) 채널일 수 있다. 이때, 데이터 메시지는 애플리케이션 서비스를 위해 애플리케이션 클라이언트(230) 또는 애플리케이션 서버(130)에 의해 전송 요청된 데이터를 포함하는 메시지를 의미할 수 있다. 즉, 디바이스 채널 관리부(330)는 도 2에 도시된 과정을 통해 형성된 보안 채널을 통해 디바이스 관리 모듈(110)로부터 수신된 메시지가 데이터 메시지인 경우, 보안 채널을 차단할 수 있다.2 may be performed when there is no ticket issued to the
도 3은 본 발명의 일 실시예에 따른 디바이스 관리 모듈과 디바이스 채널 관리부 사이에 형성된 논 데이터 채널을 데이터 채널로 변경하기 위한 과정을 나타낸 절차도이다. 3 is a flowchart illustrating a process for changing a non-data channel formed between a device management module and a device channel management unit to a data channel according to an embodiment of the present invention.
도 3에 도시된 과정은 예를 들어, 도 2에 도시된 절차에 따라 논 데이터 채널이 형성되어 있는 상태에서 수행될 수 있다. 또한, 데이터 채널은 데이터 메시지의 전송이 허용된 보안 채널을 의미할 수 있다.The process shown in FIG. 3 can be performed, for example, in a state where a non-data channel is formed according to the procedure shown in FIG. In addition, the data channel may mean a secure channel in which transmission of a data message is allowed.
도 3을 참조하면, 우선, 디바이스 관리 모듈(210)은 디바이스 채널 관리부(330)와 형성된 논 데이터 채널을 통해 채널 업그레이드 요청 메시지를 디바이스 채널 관리부(330)로 전송한다(S310). 이때, 채널 업그레이드 요청 메시지는 디바이스 관리 모듈(210)의 DMID 및 티켓 정보를 포함할 수 있다. 3, the
또한, 티켓 정보는 티켓과 티켓 키 인덱스를 포함할 수 있다. 한편, 디바이스 관리 모듈(210)의 티켓 정보 생성 및 발급에 대한 상세한 설명은 후술하기로 한다.In addition, the ticket information may include a ticket and a ticket key index. Details of generating and issuing ticket information of the
이후, 디바이스 채널 관리부(330)는 채널 업그레이드 요청 메시지에 포함된 DMID와 티켓 정보를 검증한다(S320).Then, the device
예를 들어, 디바이스 채널 관리부(330)는 채널 업그레이드 요청 메시지에 포함된 DMID가 후술할 DMID 발급 과정을 통해 등록 서버(350)에 의해 발급된 DMID가 아니거나, 접속이 차단된 DMID인 경우, DMID 검증이 실패한 것으로 판단할 수 있다.For example, when the DMID included in the channel upgrade request message is not the DMID issued by the
한편, 디바이스 채널 관리부(330)는 티켓 정보에서 티켓 키 인덱스를 확인하고, 데이터베이스(370)에 저장된 티켓 키 테이블에서 해당 티켓 키 인덱스에 맵핑된 티켓 키를 추출할 수 있다. 이때, 티켓 키 테이블은 복수의 티켓 키 및 복수의 티켓 키 각각에 맵핑된 복수의 티켓 키 인덱스를 포함할 수 있다.On the other hand, the device
한편, 티켓 키 테이블에 티켓 정보에 포함된 티켓 키 인덱스와 일치하는 티켓 키 인덱스가 존재하지 않는 경우, 디바이스 채널 관리부(330)는 티켓 정보가 유효하지 않은 것으로 판단할 수 있다.On the other hand, when the ticket key table does not have a ticket key index matching the ticket key index included in the ticket information, the device
한편, 티켓 키 테이블에서 티켓 키가 추출된 경우, 디바이스 채널 관리부(330)는 추출된 티켓 키를 이용하여 티켓 정보에 포함된 티켓을 복호화할 수 있다. 이때, 티켓의 복호화에 실패한 경우, 디바이스 채널 관리부(330)는 티켓 정보가 유효하지 않은 것으로 판단할 수 있다. On the other hand, when the ticket key is extracted from the ticket key table, the device
한편, 티켓 복호화에 성공한 경우, 디바이스 채널 관리부(330)는 복호화된 티켓에 포함된 시드 정보 및 채널 업그레이드 요청 메시지에 포함된 DMID를 이용하여 티켓의 유효성을 검증할 수 있다. 구체적으로, 후술할 바와 같이 시드 정보는 DMID 및 티켓 유효기간이 포함될 수 있으며, 디바이스 채널 관리부(330)는 시드 정보에 포함된 DMID와 채널 업그레이드 요청 메시지에 포함된 DMID가 일치하지 않거나, 시드 정보에 포함된 티켓 유효 기간이 경과한 경우, 티켓이 유효하지 않은 것으로 판단할 수 있다.On the other hand, when the ticket decryption is successful, the device
이후, 디바이스 채널 관리부(330)는 DMID 및 티켓 정보의 검증 결과에 따라 논 데이터 채널을 통해 채널 업그레이드 응답 메시지를 디바이스 관리 모듈(210)로 전송하여 논 데이터 채널을 데이터 채널로 변경할 수 있다(S330). Thereafter, the device
구체적으로, 디바이스 채널 관리부(330)는 DMID 및 티켓 정보의 검증이 성공한 경우, 채널 업그레이드 성공 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. 반면, 디바이스 채널 관리부(330)는 DMID 및 티켓 정보 중 적어도 하나에 대한 검증이 실패한 경우, 채널 업그레이드 실패 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. Specifically, the device
도 4은 본 발명의 다른 실시예에 따른 디바이스 관리 모듈과 디바이스 채널 관리부 사이의 보안 채널 형성 과정을 나타낸 절차도이다.4 is a flowchart illustrating a process of forming a secure channel between a device management module and a device channel management unit according to another embodiment of the present invention.
도 4를 참조하면, 우선, 디바이스 관리 모듈(210)은 TLS 프로토콜을 통해 디바이스 채널 관리부(330)와 TLS 채널을 생성한다(S410). 이때, TLS 채널은 예를 들어, 공지된 TLS 핸드쉐이크 프로토콜을 이용하여 생성될 수 있다.Referring to FIG. 4, the
이후, 디바이스 관리 모듈(210)은 생성된 TLS 채널을 통해 채널 형성 요청 메시지를 디바이스 채널 관리부(330)로 전송한다(S420). 구체적으로, 디바이스 관리 모듈(210)은 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 요청 메시지를 디바이스 채널 관리부(330)로 전송할 수 있다. 또한, 채널 형성 요청 메시지는 디바이스 관리 모듈(210)의 DMID 및 티켓 정보를 포함할 수 있다.Then, the
이후, 디바이스 채널 관리부(330)는 채널 형성 요청 메시지에 포함된 DMID와 티켓 정보를 검증한다(S430).Then, the device
예를 들어, 디바이스 채널 관리부(330)는 채널 형성 요청 메시지에 포함된 DMID가 후술할 DMID 발급 과정을 통해 등록 서버(350)에 의해 발급된 DMID가 아니거나, 접속이 차단된 DMID인 경우, DMID 검증이 실패한 것으로 판단할 수 있다.For example, when the DMID included in the channel forming request message is not a DMID issued by the
또한, 디바이스 채널 관리부(330)는 티켓 정보에서 티켓 키 인덱스를 확인하고, 데이터베이스(370)에 저장된 티켓 키 테이블에서 해당 티켓 키 인덱스에 맵핑된 티켓 키를 추출할 수 있다. 이때, 티켓 키 테이블에 티켓 정보에 포함된 티켓 키 인덱스와 일치하는 티켓 키 인덱스가 존재하지 않는 경우, 디바이스 채널 관리부(330)는 티켓이 유효하지 않은 것으로 판단할 수 있다.The device
한편, 티켓 키 테이블에서 티켓 키가 추출된 경우, 디바이스 채널 관리부(330)는 추출된 티켓 키를 이용하여 티켓 정보에 포함된 티켓을 복호화할 수 있다. 이때, 티켓의 복호화에 실패한 경우, 디바이스 채널 관리부(330)는 티켓 정보가 유효하지 않은 것으로 판단할 수 있다. On the other hand, when the ticket key is extracted from the ticket key table, the device
한편, 티켓 복호화에 성공한 경우, 디바이스 채널 관리부(330)는 복호화된 티켓에 포함된 시드 정보 및 채널 형성 요청 메시지에 포함된 DMID를 이용하여 티켓의 유효성을 검증할 수 있다. 구체적으로, 시드 정보에 포함된 DMID와 채널 형성 요청 메시지에 포함된 DMID가 일치하지 않거나, 시드 정보에 포함된 티켓 유효 기간이 경과한 경우, 디바이스 채널 관리부(330)는 티켓이 유효하지 않은 것으로 판단할 수 있다.On the other hand, when the ticket decryption is successful, the device
이후, 디바이스 채널 관리부(330)는 TLS 채널을 통해 채널 형성 응답 메시지를 디바이스 관리 모듈(210)로 전송하여 TLS 기반의 보안 채널을 형성한다(S440). 구체적으로, 디바이스 채널 관리부(330)는 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 응답 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. Then, the device
한편, 채널 형성 응답 메시지는 채널 형성 성공 메시지 또는 채널 형성 실패 메시지일 수 있다. 구체적으로, 디바이스 채널 관리부(330)는 DMID 및 티켓 정보의 검증이 성공한 경우, 초기 시퀀스 넘버를 포함하는 채널 형성 성공 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. 이때, 초기 시퀀스 넘버는 DMID 및 티켓 정보의 검증이 성공한 경우에 디바이스 채널 관리부(330)에 의해 랜덤하게 생성될 수 있다. 반면, DMID 및 티켓 정보 중 적어도 하나에 대한 검증이 실패한 경우, 디바이스 채널 관리부(330)는 채널 형성 실패 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다.Meanwhile, the channel formation response message may be a channel formation success message or a channel formation failure message. Specifically, when the verification of the DMID and the ticket information is successful, the device
한편, 보안 채널 형성이 성공된 경우, 디바이스 관리 모듈(210)는 해당 보안 채널을 통해 전송되는 패킷에 시퀀스 넘버를 포함시킬 수 있다. 이때, 각 패킷에 포함되는 시퀀스 넘버는 초기 시퀀스 넘버를 시작으로 패킷 전송시마다 일정 크기만큼 증가될 수 있다. 또한, 디바이스 채널 관리부(330)는 수신된 패킷에 포함된 시퀀스 넘버를 확인하여 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 디바이스 관리 모듈(210)과 형성된 보안 채널을 차단할 수 있다.Meanwhile, when the secure channel is successfully formed, the
한편, 도 4에 도시된 과정은 디바이스 관리 모듈(210)에 발급된 티켓이 존재하는 경우에 수행될 수 있으며, 도 4에 도시된 과정을 통해 생성되는 보안 채널은 데이터 메시지 전송이 허용되는 데이터 채널일 수 있다4 may be performed when a ticket issued to the
서비스 관리 모듈과 서비스 채널 관리부 사이의 보안 채널 형성Establishing a secure channel between the service management module and the service channel manager
도 5는 본 발명의 일 실시예에 따라, 서비스 관리 모듈과 서비스 채널 관리부 사이의 보안 채널 형성 과정을 나타낸 절차도이다.5 is a flowchart illustrating a process of forming a secure channel between a service management module and a service channel management unit according to an embodiment of the present invention.
도 5를 참조하면, 우선, 서비스 관리 모듈(110)은 TLS 프로토콜을 통해 서비스 채널 관리부(310)와 TLS 채널을 생성한다(S510).Referring to FIG. 5, the
이후, 서비스 관리 모듈(110)은 생성된 TLS 채널을 통해 채널 형성 요청 메시지를 서비스 채널 관리부(310)로 전송한다(S520). 구체적으로, 서비스 관리 모듈(110)은 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 요청 메시지를 서비스 채널 관리부(310)로 전송할 수 있다. Thereafter, the
한편, 채널 형성 요청 메시지는 서비스 관리 모듈(110)의 아이디(즉, SMGID 및 SMIID 중 적어도 하나) 및 티켓 정보를 포함할 수 있다. 이때, 티켓 정보는 티켓 및 티켓 키 인덱스를 포함할 수 있다. Meanwhile, the channel formation request message may include the ID (i.e., at least one of SMGID and SMIID) of the
한편, 서비스 관리 모듈(110)의 티켓 정보는 예를 들어, 메시지 서버(300)의 관리자에 의해 사전 발급될 수 있다. 구체적으로, 서비스 관리 모듈(110)의 티켓 정보에 포함된 티켓은 시드 정보를 메시지 서버(300)의 데이터베이스(370)에 저장된 티켓 키 테이블에서 선택된 티켓 키로 암호화하여 생성될 수 있다. 이때, 시드 정보는, 예를 들어, 서비스 관리 모듈(110)의 아이디(즉, SMGID 및 SMIID 중 적어도 하나), 서비스 관리 모듈(100)를 포함하는 서버의 장치 정보(예를 들어, MAC 주소, IP 어드레스 등) 및 티켓 유효기간을 포함할 수 있다. 또한, 티켓 정보에 포함된 티켓 키 인덱스는 티켓 키 테이블에서 시드 정보 암호화를 위해 선택된 티켓 키에 맵핑된 티켓 키 인덱스일 수 있다.Meanwhile, the ticket information of the
이후, 서비스 채널 관리부(310)는 채널 형성 요청 메시지에 포함된 아이디와 티켓 정보를 검증한다(S530).Thereafter, the service
예를 들어, 서비스 채널 관리부(310)는 채널 형성 요청 메시지에 포함된 아이디가 메시지 서버(300)의 관리자에 의해 발급된 아이디가 아니거나, 접속이 차단된 아이디인 경우, 아이디 검증이 실패한 것으로 판단할 수 있다.For example, if the ID included in the channel forming request message is not the ID issued by the administrator of the
한편, 서비스 채널 관리부(310)는 티켓 정보에 포함된 티켓 키 인덱스를 확인하고, 데이터베이스(370)에 저장된 티켓 키 테이블에서 해당 티켓 키 인덱스에 맵핑된 티켓 키를 추출할 수 있다. 이때, 티켓 키 테이블에 티켓 정보에 포함된 티켓 키 인덱스와 일치하는 티켓 키 인덱스가 존재하지 않는 경우, 서비스 채널 관리부(310)는 티켓 정보가 유효하지 않은 것으로 판단할 수 있다. Meanwhile, the service
한편, 티켓 키 테이블에서 티켓 키가 추출된 경우, 서비스 채널 관리부(310)는 추출된 티켓 키를 이용하여 티켓 정보에 포함된 티켓을 복호화할 수 있다. 이때, 티켓의 복호화에 실패한 경우, 서비스 채널 관리부(310)는 티켓 정보가 유효하지 않은 것으로 판단할 수 있다. On the other hand, when the ticket key is extracted from the ticket key table, the service
한편, 티켓 복호화에 성공한 경우, 서비스 채널 관리부(310)는 복호화된 티켓에 포함된 시드 정보 및 채널 형성 요청 메시지에 포함된 아이디를 이용하여 티켓의 유효성을 검증할 수 있다. 구체적으로, 시드 정보에 포함된 아이디와 채널 형성 요청 메시지에 포함된 서비스 관리 모듈(110)의 아이디가 일치하지 않거나, 시드 정보에 포함된 티켓 유효 기간이 경과한 경우, 서비스 채널 관리부(310)는 티켓이 유효하지 않은 것으로 판단할 수 있다.On the other hand, when the ticket decryption is successful, the service
이후, 서비스 채널 관리부(310)는 TLS 채널을 통해 채널 형성 응답 메시지를 서비스 관리 모듈(110)로 전송하여 TLS 기반의 보안 채널을 형성한다(S540). 구체적으로, 서비스 채널 관리부(310)는 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 응답 메시지를 서비스 관리 모듈(110)로 전송할 수 있다. Then, the service
한편, 채널 형성 응답 메시지는 채널 형성 성공 메시지 또는 채널 형성 실패 메시지일 수 있다. 구체적으로, 서비스 채널 관리부(310)는 아이디 및 티켓 정보의 검증이 성공한 경우, 초기 시퀀스 넘버를 포함하는 채널 형성 성공 메시지를 서비스 관리 모듈(110)로 전송할 수 있다. 이때, 초기 시퀀스 넘버는 아이디 및 티켓 정보의 검증이 성공한 경우에 서비스 채널 관리부(310)에 의해 랜덤하게 생성될 수 있다. 반면, 아이디 및 티켓 정보 중 적어도 하나에 대한 검증이 실패한 경우, 서비스 채널 관리부(310)는 채널 형성 실패 메시지를 서비스 관리 모듈(110)로 전송할 수 있다.Meanwhile, the channel formation response message may be a channel formation success message or a channel formation failure message. Specifically, when the verification of the ID and the ticket information is successful, the service
한편, 보안 채널 형성이 성공된 경우, 서비스 관리 모듈(110)은 해당 보안 채널을 통해 전송되는 패킷에 시퀀스 넘버를 포함시킬 수 있다. 이때, 각 패킷에 포함되는 시퀀스 넘버는 초기 시퀀스 넘버를 시작으로 패킷 전송시마다 일정 크기만큼 증가될 수 있다. 또한, 서비스 채널 관리부(310)는 수신된 패킷에 포함된 시퀀스 넘버를 확인하여 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 서비스 관리 모듈(110)과 형성된 보안 채널을 차단할 수 있다.Meanwhile, when the secure channel is successfully formed, the
한편, 도 5에 도시된 과정은 서비스 관리 모듈(110)에 발급된 티켓이 존재하는 경우에 수행될 수 있으며, 도 5에 도시된 과정을 통해 생성되는 보안 채널은 데이터 메시지 전송이 허용되는 데이터 채널일 수 있다5 may be performed when there is a ticket issued to the
디바이스 관리 모듈과 등록 서버 사이의 보안 채널 형성Establish a secure channel between the device management module and the registration server
도 6는 본 발명의 일 실시예에 따른 디바이스 관리 모듈과 등록 서버 사이의 보안 채널 형성 과정을 나타낸 절차도이다. 6 is a flowchart illustrating a process of forming a secure channel between a device management module and a registration server according to an embodiment of the present invention.
도 6을 참조하면, 우선, 디바이스 관리 모듈(210)은 TLS 프로토콜을 통해 등록 서버(350)와 TLS 채널을 생성한다(S610). 이때, TLS 채널은 예를 들어, 공지된 TLS 핸드쉐이크 프로토콜을 이용하여 생성될 수 있다. Referring to FIG. 6, the
이후, 디바이스 관리 모듈(210)은 생성된 TLS 채널을 통해 채널 형성 요청 메시지를 등록 서버(350)로 전송한다(S620). 구체적으로, 디바이스 관리 모듈(210)은 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 요청 메시지를 등록 서버(350)로 전송할 수 있다. 한편, 채널 형성 요청 메시지는 디바이스 관리 모듈(210)의 DMID를 포함할 수 있다.Thereafter, the
이후, 등록 서버(350)는 채널 형성 요청 메시지에 포함된 DMID를 검증한다(S630). 구체적으로, 등록 서버(350)는 TLS 채널의 세션 키를 이용하여 수신된 채널 형성 요청 메시지를 복호화한 후, 복호화된 채널 형성 요청 메시지에 포함된 DMID를 검증할 수 있다. 이때, 등록 서버(350)는 예를 들어, 수신된 DMID가 후술할 DMID 발급 과정을 통해 등록 서버(350)에 의해 발급된 DMID가 아니거나, 접속이 차단된 DMID인 경우, DMID 검증이 실패한 것으로 판단할 수 있다. Thereafter, the
이후, 등록 서버(350)는 TLS 채널을 통해 채널 형성 응답 메시지를 디바이스 관리 모듈(210)로 전송하여 TLS 기반의 보안 채널을 형성한다(S640). 구체적으로, 등록 서버(350)는 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 응답 메시지를 디바이스 채널 관리부(330)로 전송할 수 있다. Thereafter, the
한편, 채널 형성 응답 메시지는 채널 형성 성공 메시지 또는 채널 형성 실패 메시지일 수 있다. 구체적으로, 등록 서버(350)는 DMID 검증이 성공한 경우, 초기 시퀀스 넘버를 포함하는 채널 형성 성공 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. 이때, 초기 시퀀스 넘버는 DMID 검증이 성공한 경우에 등록 서버(350)에 의해 랜덤하게 생성될 수 있다. 반면, DMID 검증이 실패한 경우, 등록 서버(350)는 채널 형성 실패 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다.Meanwhile, the channel formation response message may be a channel formation success message or a channel formation failure message. Specifically, when the DMID verification is successful, the
한편, 보안 채널 형성이 성공된 경우, 디바이스 관리 모듈(210)는 해당 보안 채널을 통해 전송되는 패킷에 시퀀스 넘버를 포함시킬 수 있다. 이때, 각 패킷에 포함되는 시퀀스 넘버는 초기 시퀀스 넘버를 시작으로 패킷 전송시마다 일정 크기만큼 증가될 수 있다. 또한, 등록 서버(350)는 수신된 패킷에 포함된 시퀀스 넘버를 확인하여 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 디바이스 관리 모듈(210)과 형성된 보안 채널을 차단할 수 있다.Meanwhile, when the secure channel is successfully formed, the
한편, 도 6에 도시된 과정을 통해 생성되는 보안 채널은 데이터 메시지 전송이 제한된 논 데이터(Non-Data) 채널일 수 있다. Meanwhile, the secure channel generated through the process shown in FIG. 6 may be a non-data channel with limited data message transmission.
애플리케이션 서버 등록Application server registration
도 7은 본 발명의 일 실시예에 따른 애플리케이션 서버 등록 과정을 나타낸 절차도이다. 7 is a flowchart illustrating an application server registration process according to an embodiment of the present invention.
도 7을 참조하면, 우선, 서비스 관리 모듈(110)은 서비스 채널 관리부(310)와 보안 채널을 형성한다(S710). 이때, 보안 채널은 예를 들어, 도 5에 도시된 절차를 통해 생성될 수 있다.Referring to FIG. 7, the
이후, 서비스 관리 모듈(110)은 애플리케이션 서버(130)로부터 등록 요청을 수신한다(S720). 이때, 애플리케이션 서버(130)로부터 수신되는 등록 요청은 애플리케이션 서버(130)의 아이디(즉, APID 및 APIID 중 적어도 하나)를 포함할 수 있다.Thereafter, the
이후, 서비스 관리 모듈(110)은 보안 채널을 통해 서비스 채널 관리부(310)로 애플리케이션 서버 등록 메시지를 전송한다(S730). 이때, 애플리케이션 서버 등록 메시지는 서비스 관리 모듈(110)의 아이디(즉, SMGID 및 SMIID 중 적어도 하나)와 애플리케이션 서버(130)의 아이디(즉, APID 및 APIID 중 적어도 하나)를 포함할 수 있다. Thereafter, the
이후, 서비스 채널 관리부(310)는 서비스 관리 모듈(110)로 애플리케이션 서버 등록 응답 메시지를 전송한다(S740). 구체적으로, 서비스 채널 관리부(310)는 애플리케이션 서버 등록 요청 메시지에 포함된 서비스 관리 모듈(110)의 아이디 및 애플리케이션 서버(130)의 아이디를 검증하고, 검증 결과에 따라 애플리케이션 서버 등록 성공 메시지 또는 애플리케이션 서버 등록 실패 메시지를 전송할 수 있다.Thereafter, the service
예를 들어, 서비스 채널 관리부(310)는 애플리케이션 서버 등록 요청 메시지에 포함된 서비스 관리 모듈(110)의 아이디(즉, SMGID 및 SMIID 중 적어도 하나) 또는 애플리케이션 서버(130)의 아이디가 접속 차단된 아이디이거나, 메시지 서버(300)의 관리자에 의해 발급된 아이디인지 여부에 따라 검증을 수행할 수 있다.For example, the
한편, 검증이 성공된 경우, 서비스 채널 관리부(310)는 애플리케이션 서버 등록 요청 메시지에 포함된 서비스 관리 모듈(110)의 아이디와 애플리케이션 서버의 아이디를 맵핑하여 데이터베이스(370)에 저장된 제1 라우팅 테이블에 추가할 수 있다. If the verification is successful, the service
이후, 서비스 관리 모듈(110)은 애플리케이션 서버(130)로 애플리케이션 서버(130)의 등록 결과를 전송한다(S750).Thereafter, the
DMID 발행DMID issue
도 8은 본 발명의 일 실시예에 따른 DMID 발행 과정을 나타낸 절차도이다. 8 is a flowchart illustrating a DMID issuance process according to an embodiment of the present invention.
도 8을 참조하면, 우선, 디바이스 관리 모듈(210)은 애플리케이션 클라이언트(230)로부터 애플리케이션 서비스 활성화 요청을 수신한다(S810). Referring to FIG. 8, first, the
이후, 디바이스 관리 모듈(210)은 자신에게 발급된 DMID가 없는 경우, TLS 프로토콜을 통해 등록 서버(350)와 TLS 채널을 형성한다(S820). 이때, TLS 채널은 예를 들어, 공지된 TLS 핸드쉐이크 프로토콜을 이용하여 생성될 수 있다.Thereafter, if there is no DMID issued to the
이후, 디바이스 관리 모듈(210)은 생성된 TLS 채널을 통해 DMID 생성을 위한 시드 정보를 포함하는 DMID 요청 메시지를 등록 서버(350)로 전송한다(S830). 구체적으로, 디바이스 관리 모듈(210)은 TLS 채널의 세션 키를 이용하여 암호화된 DMID 요청 메시지를 등록 서버(350)로 전송할 수 있다.Thereafter, the
한편, 시드 정보는 예를 들어, 디바이스 관리 모듈(210)을 포함하는 사용자 디바이스(200)의 디바이스 정보(예를 들어, MAC 어드레스, 전화번호 등) 및 애플리케이션 클라이언트(230)의 APID를 포함할 수 있다.The seed information may include, for example, the device information (e.g., MAC address, telephone number, etc.) of the user device 200 including the
이후, 등록 서버(350)는 디바이스 관리 모듈(210)로부터 수신된 시드 정보에 기초하여 디바이스 관리 모듈(310)에 대한 DMID를 생성하고, 접속 가능한 디바이스 채널 관리부(330)를 디바이스 관리 모듈(210)에 할당한다(S840). 이때, 등록 서버(350)는 생성된 DMID와 사용자 디바이스(200)의 디바이스 정보를 데이터베이스(370)에 저장할 수 있따.The
이후, 등록 서버(350)는 생성된 TLS 채널을 통해 DMID 요청 응답 메시지를 디바이스 관리 모듈(210)로 전송한다(S850). 구체적으로, 등록 서버(350)는 TLS 채널의 세션 키를 이용하여 암호화된 DMID 요청 응답 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. Thereafter, the
한편, DMID 요청 응답 메시지는 등록 서버(350)에 의해 생성된 DMID와 디바이스 관리 모듈(210)에 할당된 디바이스 채널 관리부(330)에 대한 접속 정보(예를 들어, IP 어드레스, 포트 번호 등)를 포함할 수 있다.The DMID request response message includes DMID generated by the
이후, 디바이스 관리 모듈(210)은 TLS 채널의 세션 키를 이용하여 DMID 요청 응답 메시지를 복호화하고, DMID 요청 응답 메시지에 포함된 DMID와 디바이스 채널 관리부(330)에 대한 접속 정보를 데이터베이스(250)에 저장한다(S860).Thereafter, the
애플리케이션 서비스 활성화Enable Application Services
도 9는 본 발명의 일 실시예에 따른 애플리케이션 서비스 활성화 과정을 나타낸 절차도이다. 9 is a flowchart illustrating an application service activation process according to an embodiment of the present invention.
도 9를 참조하면, 우선, 디바이스 관리 모듈(210)은 애플리케이션 클라이언트(230)로부터 애플리케이션 서비스 활성화 요청을 수신한다(S901). 이때, 애플리케이션 서비스 활성화 요청은 예를 들어, 애플리케이션 클라이언트(230)의 APID 및 사용자 인증 정보를 포함할 수 있다. 이때, 사용자 인증 정보는 예를 들어, 사용자 아이디 및 패스워드를 포함할 수 있다.Referring to FIG. 9, the
서비스 활성화 요청을 수신한 디바이스 관리 모듈(210)은 데이터베이스(250)에 DMID가 저장되어 있는지 여부를 확인하고, 저장되어 있지 않은 경우, 도 8에 도시된 DMID 발행 절차를 수행할 수 있다. Upon receiving the service activation request, the
한편, DMID가 저장되어 있는 경우, 디바이스 관리 모듈(210)은 자신에게 할당된 디바이스 채널 관리부(330)와 보안 채널을 형성한다(S902). 이때, 보안 채널은 예를 들어, 도 2에 도시된 과정을 통해 형성된 보안 채널일 수 있다. On the other hand, if the DMID is stored, the
이후, 디바이스 관리 모듈(210)은 보안 채널을 통해 디바이스 채널 관리부(330)로 SMGID 요청 메시지를 전송한다(S903). 이때, SMGID 요청 메시지는 디바이스 관리 모듈(210)의 DMID 및 애플리케이션 클라이언트(230)의 APID를 포함할 수 있다. Thereafter, the
이후, 디바이스 채널 관리부(330)는 데이터베이스(370)에 저장된 제1 라우팅 테이블에서, SMGID 요청 메시지에 포함된 APID에 맵핑된 SMGID를 추출한 후, 추출된 SMGID를 포함하는 SMGID 응답 메시지를 디바이스 관리 모듈(210)으로 전송한다(S904). Then, the device
이후, 디바이스 관리 모듈(210)은 수신된 SMGID와 애플리케이션 클라이언트(230)의 APID를 맵핑하여 데이터베이스(250)에 저장한다(S905).Then, the
이후, 디바이스 관리 모듈(210)은 보안 채널을 통해 디바이스 채널 관리부(330)로 애플리케이션 클라이언트 등록 요청 메시지를 전송한다(S906). 이때, 애플리케이션 클라이언트 등록 요청 메시지는 라우팅 정보, 디바이스 관리 모듈(210)의 DMID, 애플리케이션 클라이언트(230)의 APID 및 사용자 아이디를 포함할 수 있다. 한편, 라우팅 정보는 애플리케이션 클라이언트 등록 요청 메시지의 출발지와 도착지를 포함할 수 있다. 예를 들어, 라우팅 정보에 포함된 출발지는 디바이스 관리 모듈(210)의 DMID일 수 있으며, 도착지는 서비스 관리 모듈(110)의 SMGID일 수 있다.Thereafter, the
이후, 디바이스 채널 관리부(330)는 수신된 애플리케이션 클라이언트 등록 요청 메시지를 서비스 채널 관리부(310)로 전달한다(S907). 구체적으로, 디바이스 채널 관리부(330)는 데이터베이스(370)에 저장된 제2 라우팅 테이블에서 클라이언트 등록 요청 메시지의 라우팅 정보에 도착지로 포함된 SMGID에 맵핑된 서비스 채널 관리부(310)의 접속 정보를 식별할 수 있다. 또한, 디바이스 채널 관리부(330)는 식별된 접속 정보를 이용하여 서비스 채널 관리부(310)로 애플리케이션 클라이언트 등록 요청 메시지를 전달할 수 있다.Then, the device
이후, 서비스 채널 관리부(310)는 서비스 관리 모듈(110)과 형성된 보안 채널을 통해 서비스 관리 모듈(110)로 애플리케이션 클라이언트 등록 요청 메시지를 전송한다(S908). 구체적으로, 서비스 채널 관리부(110)는 애플리케이션 클라이언트 등록 요청 메시지의 라우팅 정보에 도착지로 포함된 SMGID에 기초하여 서비스 관리 모듈(110)로 애플리케이션 클라이언트 등록 요청 메시지를 전송할 수 있다. 한편, 서비스 관리 모듈(110)과 형성된 보안 채널은 예를 들어, 도 5에 도시된 과정을 통해 형성된 보안 채널일 수 있다.Thereafter, the service
이후, 서비스 관리 모듈(110)은 애플리케이션 클라이언트 등록 요청 메시지에 포함된 DMID와 사용자 아이디를 맵핑하여 데이터 베이스(150)에 저장된 사용자 테이블에 추가한다(S909).Then, the
이후, 서비스 관리 모듈(110)은 보안 채널을 통해 애플리케이션 클라이언트 등록 응답 메시지를 서비스 채널 관리부(110)로 전송한다(S910). 이때, 애플리케이션 클라이언트 등록 응답 메시지는 라우팅 정보 및 애플리케이션 클라이언트 등록 결과를 포함할 수 있다. 한편, 라우팅 정보는 애플리케이션 클라이언트 등록 응답 메시지의 출발지와 도착지를 포함할 수 있다. 예를 들어, 라우팅 정보에 포함된 출발지는 예를 들어, 서비스 관리 모듈(110)의 SMGID일 수 있으며, 도착지는 디바이스 관리 모듈(210)의 DMID일 수 있다.Thereafter, the
이후, 서비스 채널 관리부(310)는 수신된 클라이언트 등록 응답 메시지를 디바이스 채널 관리부(330)로 전달한다(S911). 구체적으로, 서비스 채널 관리부(310)는 데이터베이스(370)에 저장된 제3 라우팅 테이블에서 클라이언트 등록 응답 메시지의 라우팅 정보에 도착지로 포함된 DMID에 맵핑된 디바이스 채널 관리부(330)의 접속 정보를 식별할 수 있다. 또한, 서비스 채널 관리부(310)는 식별된 접속 정보를 이용하여 디바이스 채널 관리부(330)로 애플리케이션 클라이언트 등록 응답 메시지를 전달할 수 있다.Thereafter, the service
이후, 디바이스 채널 관리부(330)는 애플리케이션 클라이언트 등록 응답 메시지의 라우팅 정보에 포함된 DMID에 기초하여 보안 채널을 통해 디바이스 관리 모듈(210)로 애플리케이션 클라이언트 등록 응답 메시지를 전송한다(S912).Then, the device
한편, 애플리케이션 클라이언트 등록이 성공된 경우, 디바이스 관리 모듈(210)은 보안 채널을 통해 사용자 인증 요청 메시지를 디바이스 채널 관리부(330)로 전송한다(S913). 이때, 사용자 인증 요청 메시지는 라우팅 정보, 디바이스 관리 모듈(210)의 DMID, 애플리케이션 클라이언트(230)의 APID 및 사용자 인증 정보를 포함할 수 있다. 한편, 라우팅 정보는 클라이언트 등록 요청 메시지의 출발지와 도착지를 포함할 수 있다. 예를 들어, 라우팅 정보에 포함된 출발지는 디바이스 관리 모듈(210)의 DMID일 수 있으며, 도착지는 애플리케이션 클라이언트(230)의 APID 일 수 있다. 또한, 사용자 인증 정보는 예를 들어, 사용자 아이디 및 패스워드를 포함할 수 있다.On the other hand, if the application client registration is successful, the
이후, 디바이스 채널 관리부(330)는 수신된 사용자 인증 요청 메시지를 서비스 채널 관리부(310)로 전달한다(S914). 구체적으로, 디바이스 채널 관리부(330)는 데이터베이스(370)에 저장된 제1 라우팅 테이블에서 사용자 인증 요청 메시지의 라우팅 정보에 도착지로 포함된 APID에 맵핑된 SMGID를 식별하고, 식별된 SMGID를 라우팅 정보에 경유지로 추가할 수 있다. 또한, 디바이스 채널 관리부(330)는 데이터베이스(370)에 저장된 제2 라우팅 테이블에서 식별된 SMGID에 맵핑된 서비스 채널 관리부(310)의 접속 정보를 식별할 수 있다. 이후, 디바이스 채널 관리부(330)는 식별된 서비스 채널 관리부(310)의 접속 정보를 이용하여 서비스 채널 관리부(310)로 애플리케이션 클라이언트 등록 요청 메시지를 전달할 수 있다.Then, the device
이후, 서비스 채널 관리부(310)는 보안 채널을 통해 서비스 관리 모듈(110)로 사용자 인증 요청 메시지를 전송한다(S915). 구체적으로, 서비스 채널 관리부(310)는 데이터베이스(370)에 저장된 제1 라우팅 테이블에서 사용자 인증 요청 메시지의 라우팅 정보에 경유지로 포함된 SMGID 에 기초하여 서비스 관리 모듈(110)로 사용자 인증 요청 메시지를 전송할 수 있다.Thereafter, the service
이후, 서비스 관리 모듈(110)은 사용자 인증 요청 메시지에 포함된 사용자 인증 정보를 애플리케이션 서버(130)로 전송한다(S916).Thereafter, the
이후, 애플리케이션 서버(130)는 사용자 인증 정보를 이용하여 사용자 인증을 수행하고, 서비스 관리 모듈(110)로 인증 결과 전송을 요청한다(S917). 이때, 애플리케이션 서버(130)는 인증 결과와 함께 사용자 아이디 및 APID를 서비스 관리 모듈(110)로 전달할 수 있다.Then, the
이후, 서비스 관리 모듈(110)은 사용자 인증 응답 메시지를 생성하고, 보안 채널을 통해 생성된 사용자 인증 응답 메시지를 서비스 채널 관리부(310)로 전송한다(S918). 이때, 사용자 인증 응답 메시지는 라우팅 정보, 사용자 아이디, 애플리케이션 서버(130)의 APID, 디바이스 관리 모듈(210)의 DMID 및 인증 결과를 포함할 수 있다. 또한, 라우팅 정보는 사용자 인증 응답 메시지의 출발지와 도착지를 포함할 수 있다. 예를 들어, 라우팅 정보에 포함된 출발지는 서비스 관리 모듈(110)의 SMGID일 수 있으며, 도착지는 디바이스 관리 모듈(210)의 DMID 일 수 있다. 이때, 서비스 관리 모듈(110)은 데이터베이스(170)에 저장된 사용자 테이블에서 애플리케이션 서버(130)로부터 수신된 사용자 아이디에 맵핑된 DMID를 식별한 후 식별된 DMID를 도착지로 설정할 수 있다.Thereafter, the
이후, 서비스 채널 관리부(310)는 수신된 사용자 인증 응답 메시지를 디바이스 채널 관리부(330)로 전달한다(S918). 구체적으로, 서비스 채널 관리부(310)는 데이터베이스(370)에 저장된 제3 라우팅 테이블에서 사용자 인증 응답 메시지의 라우팅 정보에 도착지로 포함된 DMID에 맵핑된 디바이스 채널 관리부(330)의 접속 정보를 식별할 수 있다. 또한, 서비스 채널 관리부(310)는 식별된 접속 정보를 이용하여 디바이스 채널 관리부(310)로 애플리케이션 클라이언트 등록 요청 메시지를 전달할 수 있다.Thereafter, the service
이후, 디바이스 채널 관리부(330)는 사용자 인증 응답 메시지의 라우팅 정보에 도착지로 포함된 DMID에 기초하여 보안 채널을 통해 디바이스 관리 모듈(210)로 사용자 인증 요청 응답 메시지를 전송한다(S920). Then, the device
이후, 디바이스 관리 모듈(210)은 사용자 인증 응답 메시지에 포함된 인증 결과를 확인하고, 사용자 인증이 성공한 경우, 디바이스 채널 관리부(330)와 형성된 보안 채널을 통해 디바이스 채널 관리부(330)로 티켓 발급 요청 메시지를 전송한다(S921). 이때, 티켓 발급 요청 메시지는 사용자 디바이스(300) 정보(예를 들어, IP 주소, MAC 주소, 전화 번호 등) 및 디바이스 관리 모듈(210)의 DMID를 포함할 수 있다.The
이후, 디바이스 채널 관리부(330)는 디바이스 관리 모듈 등록 확인 요청 메시지를 서비스 채널 관리부(310)로 전송한다(S922). 이때, 디바이스 관리 모듈 등록 확인 요청 메시지는 디바이스 관리 모듈(210)의 DMID를 포함할 수 있다.Thereafter, the device
이후, 서비스 채널 관리부(310)는 서비스 관리 모듈(110)과 형성된 보안 채널을 통해 디바이스 관리 모듈 등록 확인 요청 메시지를 서비스 관리 모듈(110)로 전송한다(S923).Thereafter, the service
이후, 서비스 관리 모듈(110)은 수신된 디바이스 관리 모듈 등록 확인 요청 메시지에 포함된 DMID가 데이터베이스(150)에 저장된 사용자 테이블에 포함되어 있는지 여부를 판단한 후, 보안 채널을 통해 디바이스 관리 모듈 등록 확인 메시지를 서비스 채널 관리부(310)로 전송한다(S924). 이때, 디바이스 관리 모듈 등록 확인 메시지는 디바이스 관리 모듈(210)의 DMID 및 등록 확인 결과를 포함할 수 있다. After that, the
이후, 서비스 채널 관리부(310)는 수신된 디바이스 관리 모듈 등록 확인 메시지를 디바이스 채널 관리부(330)로 전달한다(S925).Thereafter, the service
이후, 디바이스 채널 관리부(330)는 디바이스 관리 모듈(210)이 등록되어 있는 경우, 디바이스 관리 모듈(210)에 대한 티켓 정보를 생성한다(S926). 이때, 티켓 정보는 티켓 및 티켓 키 인덱스를 포함할 수 있다. 구체적으로, 디바이스 채널 관리부(330)는 티켓 키 테이블에서 하나의 티켓 키를 선택할 수 있다. 이때, 티켓 키 테이블은 데이터베이스(370) 내에 사전 저장되어 있을 수 있으며, 복수의 티켓 키 및 복수의 티켓 키 각각에 맵핑된 티켓 키 인덱스를 포함할 수 있다. 이후, 디바이스 채널 관리부(330)는 시드 정보를 선택된 티켓 키로 암호화하여 디바이스 관리 모듈(310)에 대한 티켓을 생성할 수 있다. 이때, 암호화는 예를 들어, AES 알고리즘을 이용하여 수행될 수 있으나, 반드시 이에 한정되는 것은 아니며, AES 알고리즘 외에도 공지된 다양한 대칭키 암호화 알고리즘을 이용하여 수행될 수 있다. 한편, 시드 정보는 예를 들어, 티켓의 유효 기간, 티켓 발급 요청 메시지를 통해 수신된 사용자 디바이스(300) 정보 및 디바이스 관리 모듈(210)의 DMID를 포함할 수 있다. 이후, 등록 서버(350)는 생성된 티켓과 해당 티켓 생성을 위해 선택된 티켓 키에 맵핑된 티켓 키 인덱스를 포함하는 티켓 정보를 생성할 수 있다.Then, when the
이후, 디바이스 채널 관리부(330)는 디바이스 관리 모듈(210)과 형성된 보안 채널을 통해 디바이스 관리 모듈(210)로 티켓 정보를 포함하는 티켓 발급 응답 메시지를 전송한다(S927).Thereafter, the device
이후, 디바이스 관리 모듈(210)과 디바이스 채널 관리부(350)는 양자간에 형성된 보안 채널을 데이터 채널로 업그레이드한다(S928). 이때, 데이터 채널 업그레이드는 예를 들어, 도 3에 도시된 절차를 통해 수행될 수 있다.Thereafter, the
디바이스 관리 모듈과 서비스 관리 모듈 사이의 데이터 메시지 전송 및 보안Data message transfer and security between the device management module and the service management module
도 10은 본 발명의 일 실시예에 따른 디바이스 관리 모듈에서 서비스 관리 모듈로 전달되는 데이터 메시지 전송 절차를 나타낸 절차도이다.10 is a flowchart illustrating a data message transmission procedure transferred from a device management module to a service management module according to an embodiment of the present invention.
도 10을 참조하면, 우선, 애플리케이션 클라이언트(230)는 디바이스 관리 모듈(210)로 데이터 전송을 요청한다(S1001). 구체적으로, 애플리케이션 클라이언트(230)는 애플리케이션 클라이언트(230)의 APID 및 전송할 데이터를 디바이스 관리 모듈(210)로 전달할 수 있다.Referring to FIG. 10, first, the
이후, 디바이스 관리 모듈(210)은 전송 요청된 데이터를 암호화한 후 데이터베이스(250)에 저장한다(S1002). 구체적으로, 디바이스 관리 모듈(210)은 전송 요청된 데이터를 제1 암호키를 이용하여 암호화하고, 제1 암호키를 제2 암호키를 이용하여 암호화할 수 있다. 이후, 디바이스 관리 모듈(210)은 암호화된 데이터와 암호화된 제1 암호키를 데이터베이스(250)에 저장할 수 있다. Then, the
이때, 제1 암호키를 이용한 암호화 및 제2 암호키를 이용한 암호화는 예를 들어, AES 알고리즘을 이용하여 수행될 수 있으나, 반드시 이에 한정되는 것은 아니며, AES 알고리즘 외에도 공지된 다양한 대칭키 암호화 알고리즘을 이용하여 수행될 수 있다.At this time, the encryption using the first encryption key and the encryption using the second encryption key can be performed using, for example, the AES algorithm. However, the present invention is not limited to this, and various known symmetric key encryption algorithms . ≪ / RTI >
한편, 제1 암호키는 디바이스 관리 모듈(210)에 의해 생성된 일회용 암호키일 수 있다. 구체적으로, 디바이스 관리 모듈(210)은 애플리케이션 클라이언트(230)으로부터 데이터 전송 요청이 있을 때마다 제1 암호키를 생성하여 전송 요청된 데이터를 암호화할 수 있다. 이때, 생성된 제1 암호키는 디바이스 관리 모듈(210)에 할당된 메모리 상에 저장될 수 있다. 또한, 제1 암호키는 제2 암호키를 이용하여 암호화되어 데이터베이스(250)에 저장된 이후 메모리에서 삭제될 수 있다. Meanwhile, the first cryptographic key may be a one-time cryptographic key generated by the
한편, 제2 암호키는 디바이스 관리 모듈(210)과 서비스 관리 모듈(110) 사이에 사전 공유된 암호키일 수 있으며, 디바이스 관리 모듈(210)의 DMID 및 애플리케이션 클라이언트(230)의 APID와 맵핑되어 데이터베이스(250)에 저장되어 있을 수 있다. 이 경우, 디바이스 관리 모듈(210)은 데이터베이스(250)에서 디바이스 관리 모듈(210)의 DMID 및 애플리케이션 서버(130)의 APID에 맵핑된 제2 암호키를 추출한 후 제1 암호키의 암호화에 이용할 수 있다.The second encryption key may be a pre-shared encryption key between the
한편, 디바이스 관리 모듈(210)과 서비스 관리 모듈(110)은 예를 들어, 디피-헬만(Diffie-Hellman) 키 교환 알고리즘 또는 RSA(Rivest, Sharmir, Adleman) 키 교환 알고리즘을 통해 제2 암호키를 공유할 수 있다. Meanwhile, the
예를 들어, 도 9에 도시된 애플리케이션 활성화 과정에서 디바이스 관리 모듈(210)은 개인 키와 공개 키를 생성한 후, 생성된 공개 키를 애플리케이션 클라이언트 등록 요청 메시지에 포함시켜 서비스 관리 모듈(110)로 전달할 수 있다. 또한, 서비스 관리 모듈(110)은 개인 키와 공개 키를 생성한 후, 공개 키를 애플리케이션 클라이언트 등록 응답 메시지에 포함시켜 디바이스 관리 모듈(210)로 전달할 수 있다. 이후, 디바이스 관리 모듈(210)는 자신의 개인 키와 서비스 관리 모듈(110)의 공개 키를 이용하여 제2 암호키를 생성하고, 생성된 제2 암호키를 디바이스 관리 모듈(210)의 DMID 및 애플리케이션 클라이언트(230)의 APID와 맵핑하여 데이터베이스(250)에 저장할 수 있다. 또한, 서비스 관리 모듈(110)는 자신의 개인 키와 디바이스 관리 모듈(210)의 공개 키를 이용하여 제2 암호키를 생성하고, 생성된 제2 암호키를 디바이스 관리 모듈(210)의 DMID 및 애플리케이션 클라이언트(230)의 APID와 맵핑하여 데이터베이스(150)에 저장할 수 있다. For example, in the application activation process shown in FIG. 9, the
다른 예로, 도 9에 도시된 애플리케이션 활성화 과정에서 디바이스 관리 모듈(210)은 개인 키와 공개 키를 생성한 후, 생성된 공개 키를 애플리케이션 클라이언트 등록 요청 메시지에 포함시켜 서비스 관리 모듈(110)로 전달할 수 있다. 또한, 서비스 관리 모듈(110)은 제2 암호키를 생성하고, 생성된 제2 암호키를 디바이스 관리 모듈(210)의 공개 키로 암호화하여 애플리케이션 클라이언트 등록 응답 메시지에 포함시켜 디바이스 관리 모듈(210)로 전달할 수 있다. 이후, 디바이스 관리 모듈(210)는 자신의 개인 키로 제2 암호키를 복호화하고, 복호화된 제2 암호키를 디바이스 관리 모듈(210)의 DMID 및 애플리케이션 클라이언트(230)의 APID와 맵핑하여 데이터베이스(250)에 저장할 수 있다. In another example, in the application activation process shown in FIG. 9, the
한편, 본 발명의 일 실시예에 따르면, 디바이스 관리 모듈(210)은 디바이스 채널 관리부(330)로부터 제공된 제3 암호키를 이용하여 제2 암호키를 암호한 후 데이터베이스(250)에 저장할 수 있다. 이때, 제3 암호키는 예를 들어, 도 8에 도시된 DMID 발행 과정에서 디바이스 채널 관리부(330)에 의해 생성되어 메시지 서버(300)의 데이터베이스(370)에 저장될 수 있으며, 디바이스 채널 관리부(330)는 디바이스 관리 모듈(210)의 요청에 따라 제3 암호키를 디바이스 관리 모듈(210)로 제공할 수 있다. According to an embodiment of the present invention, the
구체적으로, 디바이스 관리 모듈(210)은 디바이스 채널 관리부(330)로 제3 암호키를 요청하여 수신한 후, 수신된 제3 암호키를 이용하여 제2 암호키를 암호화한 후 데이터베이스(250)에 저장할 수 있다. 이때, 수신된 제3 암호키는 디바이스 관리 모듈(210)에 할당된 메모리 상에 저장할 수 있으며, 제2 암호키를 암호화 이후 메모리에서 삭제할 수 있다. Specifically, the
또한, 디바이스 관리 모듈(210)은 제1 암호키에 대한 암호화가 요구되는 경우, 디바이스 채널 관리부(330)로 제3 암호키를 요청하여 수신한 후, 수신된 제3 암호키를 이용하여 데이터베이스(250)에 저장된 제2 암호키를 복호화할 수 있으며, 복호화된 제2 암호키를 이용하여 제1 암호키를 암호화할 수 있다. 이때, 수신된 제3 암호키는 디바이스 관리 모듈(210)에 할당된 메모리 상에 저장할 수 있으며, 데이터베이스(250)에 저장된 제2 암호키를 복호화한 이후 메모리에서 삭제할 수 있다.If the
한편, 제3 암호키를 이용한 암호화 및 복호화는 예를 들어, AES(Advanced Encryption Standard) 알고리즘을 이용하여 수행될 수 있으나, 반드시 이에 한정되는 것은 아니며, AES 알고리즘 외에도 공지된 다양한 대칭키 암호화 알고리즘을 이용하여 수행될 수 있다. Meanwhile, encryption and decryption using the third cryptographic key can be performed using, for example, an AES (Advanced Encryption Standard) algorithm, but the present invention is not limited thereto, and various known symmetric key encryption algorithms . ≪ / RTI >
한편, 본 발명의 일 실시예에 따르면, 디바이스 관리 모듈(310)은 전송 요청된 데이터를 암호화하기 이전에 전송 요청된 데이터에 대한 체크섬 값을 생성할 수 있다. 이때, 체크섬 값은 예를 들어, MD5(Message-Digest algorithm 5)와 같은 해시 함수를 이용할 수 있으나, MD5 외에도 데이터 무결성 확인을 위해 사용될 수 있는 다양한 알고리즘들이 이용될 수 있다.Meanwhile, according to an embodiment of the present invention, the
이후, 디바이스 관리 모듈(310)은 디바이스 채널 관리부(330)와 형성된 보안 채널을 통해 디바이스 채널 관리부(330)로 데이터 메시지를 전송한다(S1003). 이때, 보안 채널은 예를 들어, 도 3 또는 도 4에 도시된 과정을 통해 형성된 데이터 채널일 수 있다.Thereafter, the
한편, 디바이스 관리 모듈(310)에 의해 전송되는 데이터 메시지는 라우팅 정보, 제1 암호키를 이용하여 암호화된 데이터, 제2 암호키를 이용하여 암호화된 제1 암호키 및 애플리케이션 클라이언트(230)의 APID를 포함할 수 있다. 또한, 라우팅 정보는 데이터 메시지의 출발지와 도착지를 포함할 수 있다. 이때, 라우팅 정보에 포함된 출발지는 예를 들어, 디바이스 관리 모듈(210)의 DMID일 수 있으며, 도착지는 예를 들어, 서비스 관리 모듈(110)의 SMGID일 수 있다.Meanwhile, the data message transmitted by the
또한, 실시예에 따라, 데이터 메시지는 전송 요청된 데이터에 대한 체크섬 값을 더 포함할 수 있다.Also, according to an embodiment, the data message may further include a checksum value for the data requested to be transmitted.
이후, 디바이스 채널 관리부(330)는 수신된 데이터 메시지를 서비스 채널 관리부(310)로 전달한다(S1004). 구체적으로, 디바이스 채널 관리부(330)는 데이터베이스(370)에 저장된 제2 라우팅 테이블에서 데이터 메시지의 라우팅 정보에 도착지로 포함된 SMGID에 맵핑된 서비스 채널 관리부(310)의 접속 정보를 식별할 수 있다. 또한, 디바이스 채널 관리부(330)는 식별된 접속 정보를 이용하여 서비스 채널 관리부(310)로 데이터 메시지를 전달할 수 있다.Thereafter, the device
이후, 서비스 채널 관리부(310)는 서비스 관리 모듈(110)과 형성된 보안 채널을 통해 데이터 메시지를 서비스 관리 모듈(110)로 전송한다(S1005). 이때, 보안 채널은 예를 들어, 도 5에 도시된 과정을 통해 형성된 데이터 채널일 수 있다.Thereafter, the service
구체적으로, 서비스 채널 관리부(310)는 데이터 메시지의 라우팅 정보에 포함된 SMGID에 기초하여 서비스 관리 모듈(110)로 데이터 메시지를 전송할 수 있다. Specifically, the
이후, 서비스 관리 모듈(110)은 수신된 데이터 메시지를 데이터베이스(150)에 저장한다(S1006).Thereafter, the
이후, 서비스 관리 모듈(110)은 수신된 데이터 메시지에 포함된 데이터를 복호화한다(S1007). 구체적으로, 서비스 관리 모듈(110)은 데이터베이스(150)에서 데이터 메시지에 포함된 DMID 및 APID에 맵핑된 제2 암호키를 추출할 수 있다. 이후, 서비스 관리 모듈(110)은 추출된 제2 암호키를 이용하여 데이터 메시지에 포함된 제1 암호키를 복호화하고, 복호화된 제1 암호키를 이용하여 데이터 메시지에 포함된 데이터를 복호화할 수 있다. 이때, 제1 암호키를 이용한 복호화 및 제2 암호키를 이용한 복호화는 예를 들어, AES 알고리즘을 이용하여 수행될 수 있으나, 반드시 이에 한정되는 것은 아니며, AES 알고리즘 외에도 공지된 다양한 대칭키 암호화 알고리즘을 이용하여 수행될 수 있다.Thereafter, the
한편, 본 발명의 일 실시예에 따르면, 서비스 관리 모듈(110)은 서비스 채널 관리부(310)로부터 제공된 제4 암호키를 이용하여 제2 암호키를 암호한 후 데이터베이스(150)에 저장할 수 있다. 이때, 제4 암호키는 예를 들어, 도 7에 도시된 애플리케이션 서버(130) 등록 과정에서 서비스 채널 관리부(310)에 의해 생성되어 메시지 서버(300)의 데이터베이스(370)에 저장될 수 있으며, 서비스 채널 관리부(310)는 서비스 관리 모듈(110)의 요청에 따라 제4 암호키를 서비스 관리 모듈(110)로 제공할 수 있다. According to an embodiment of the present invention, the
구체적으로, 서비스 관리 모듈(110)은 서비스 채널 관리부(310)로 제4 암호키를 요청하여 수신한 후, 수신된 제4 암호키를 이용하여 제2 암호키를 암호화한 후 데이터베이스(150)에 저장할 수 있다. 이때, 수신된 제4 암호키는 서비스 관리 모듈(110)에 할당된 메모리 상에 저장할 수 있으며, 제2 암호키를 암호화 이후 메모리에서 삭제할 수 있다. Specifically, the
또한, 서비스 관리 모듈(110)은 데이터 메시지에 포함된 제1 암호키에 대한 복호화가 요구되는 경우, 서비스 채널 관리부(310)로 제4 암호키를 요청하여 수신한 후, 수신된 제4 암호키를 이용하여 데이터베이스(150)에 저장된 제2 암호키를 복호화할 수 있으며, 복호화된 제2 암호키를 이용하여 데이터 메시지에 포함된 제1 암호키를 복호화할 수 있다. 이때, 수신된 제4 암호키는 서비스 관리 모듈(110)에 할당된 메모리 상에 저장할 수 있으며, 데이터베이스(150)에 저장된 제2 암호키를 복호화한 이후 메모리에서 삭제할 수 있다.In addition, when the decryption of the first cryptographic key included in the data message is requested, the
한편, 제4 암호키를 이용한 암호화 및 복호화는 예를 들어, AES 알고리즘을 이용하여 수행될 수 있으나, 반드시 이에 한정되는 것은 아니며, AES 알고리즘 외에도 공지된 다양한 대칭키 암호화 알고리즘을 이용하여 수행될 수 있다.Meanwhile, the encryption and decryption using the fourth encryption key can be performed using, for example, the AES algorithm, but the present invention is not limited thereto and can be performed using various known symmetric key encryption algorithms in addition to the AES algorithm .
한편, 본 발명의 일 실시예에 따르면, 수신된 데이터 메시지에 체크섬 값이 포함되어 있는 경우, 서비스 관리 모듈(110)은 복호화된 데이터로부터 체크섬 값을 계산하여 데이터 메시지에 포함된 체크섬 값과 비교함으로써 데이터의 무결성을 검증할 수 있다.If the received data message includes a checksum value, the
이후, 서비스 관리 모듈(210)은 수신 확인 메시지를 보안 채널을 통해 서비스 채널 관리부(310)로 전송한다(S1008). 이때, 수신 확인 메시지는 라우팅 정보와 데이터 수신 결과를 포함할 수 있다. 이때, 라우팅 정보는 수신된 데이터 메시지의 라우팅 정보에 포함된 출발지와 도착지를 스위칭함으로써 생성 가능하다. Thereafter, the
한편, 데이터 복호화에 성공하거나 실시예에 따라 데이터 복호화 및 데이터 무결성 검증이 모두 성공된 경우, 데이터 수신 결과는 데이터 수신이 성공되었음을 나타내는 코드를 포함할 수 있다. 반면, 데이터 복호화에 실패하거나 데이터 무결성 검증이 실패된 경우, 데이터 수신 결과는 데이터 수신이 실패하였음을 나타내는 코드를 포함할 수 있다.On the other hand, if the data decryption is successful, or both the data decryption and the data integrity verification are successful according to the embodiment, the data reception result may include a code indicating that the data reception is successful. On the other hand, if data decryption fails or data integrity verification fails, the data reception result may include a code indicating that data reception has failed.
한편, 데이터 복호화에 성공한 경우, 서비스 관리 모듈(110)은 복호화된 데이터를 애플리케이션 서버(130)로 전달한다(S1009). 한편, 실시예에 따라, 데이터 메시지에 체크섬 값이 포함되어 있는 경우, 서비스 관리 모듈(110)은 데이터 복호화 및 데이터 무결성 검증이 모두 성공된 경우, 복호화된 데이터를 애플리케이션 서버(130)로 전달할 수 있다.On the other hand, if the data decryption is successful, the
한편, 서비스 관리 모듈(110)은 서비스 채널 관리부(310)로 수신 확인 메시지를 전송한 이후, 데이터베이스(150)에 저장된 데이터 메시지를 삭제한다(S1010).Meanwhile, the
한편, 서비스 채널 관리부(310)는 수신 확인 메시지를 디바이스 채널 관리부(330)로 전달한다(S1011). 구체적으로, 서비스 채널 관리부(310)는 데이터베이스(370)에 저장된 제3 라우팅 테이블에서 수신 확인 메시지의 라우팅 정보에 도착지로 포함된 DMID에 맵핑된 디바이스 채널 관리부(330)의 접속 정보를 식별할 수 있다. 이후, 서비스 채널 관리부(310)는 식별된 접속 정보를 이용하여 디바이스 채널 관리부(330)로 수신 확인 메시지를 전달할 수 있다.Meanwhile, the service
이후, 디바이스 채널 관리부(330)는 수신 확인 메시지의 라우팅 정보에 도착지로 포함된 DMID에 기초하여 보안 채널을 통해 디바이스 관리 모듈(210)로 수신 확인 메시지를 전달한다(S1012).Then, the device
이후, 디바이스 관리 모듈(210)은 수신 확인 메시지에 포함된 데이터 수신 결과를 확인한 후, 데이터 처리가 성공된 경우, 데이터베이스(1014)에 저장된 암호화된 데이터 및 암호화된 제1 암호키를 삭제한다(S1013). 반면, 데이터 처리가 실패되었거나, 기 설정된 기간 내에 수신 확인 메시지를 수신하지 못한 경우, 디바이스 관리 모듈(210)은 상술한 S1003 단계 이후의 과정을 재수행할 수 있다.Thereafter, the
도 11은 본 발명의 일 실시예에 따른 서비스 관리 모듈에서 디바이스 관리 모듈로 전달되는 데이터 메시지 전송 절차를 나타낸 절차도이다.11 is a flowchart illustrating a data message transmission procedure transferred from a service management module to a device management module according to an embodiment of the present invention.
도 11을 참조하면, 우선, 애플리케이션 서버(130)는 서비스 관리 모듈(110)로 데이터 전송을 요청한다(S1101). 구체적으로, 애플리케이션 서버(130)는 애플리케이션 서버(130)의 APID, 사용자 아이디 및 전송할 데이터를 서비스 관리 모듈(110)로 전달할 수 있다.Referring to FIG. 11, the
이후, 서비스 관리 모듈(110)은 전송 요청된 데이터를 암호화한 후 데이터베이스(150)에 저장한다(S1102). Then, the
구체적으로, 서비스 관리 모듈(110)은 전송 요청된 데이터를 제5 암호키를 이용하여 암호화하고, 제5 암호키를 제2 암호키를 이용하여 암호화할 수 있다. 이후, 서비스 관리 모듈(110)은 암호화된 데이터와 암호화된 제5 암호키를 데이터베이스(150)에 저장할 수 있다. 이때, 제5 암호키를 이용한 암호화 및 제2 암호키를 이용한 암호화는 예를 들어, AES 알고리즘을 이용하여 수행될 수 있으나, 반드시 이에 한정되는 것은 아니며, AES 알고리즘 외에도 공지된 다양한 대칭키 암호화 알고리즘을 이용하여 수행될 수 있다.Specifically, the
한편, 제5 암호키는 서비스 관리 모듈(110)에 의해 생성된 일회용 암호키일 수 있다. 구체적으로, 서비스 관리 모듈(110)은 애플리케이션 서버(130)으로부터 데이터 전송 요청이 있을 때마다 제5 암호키를 생성하여 전송 요청된 데이터를 암호화할 수 있다. 이때, 생성된 제5 암호키는 서비스 관리 모듈(110)에 할당된 메모리 상에 저장될 수 있다. 또한, 제5 암호키는 제2 암호키를 이용하여 암호화되어 데이터베이스(150)에 저장된 이후 메모리에서 삭제될 수 있다. Meanwhile, the fifth cipher key may be a one-time cipher key generated by the
한편, 제2 암호키는 디바이스 관리 모듈(210)과 서비스 관리 모듈(110) 사이에 사전 공유된 암호키일 수 있으며, 애플리케이션 클라이언트(230)의 APID 및 디바이스 관리 모듈(210)의 DMID와 맵핑되어 데이터베이스(150)에 저장되어 있을 수 있다. 이 경우, 서비스 관리 모듈(110)은 데이터베이스(150)에 저장된 사용자 테이블에서 애플리케이션 서버(130)로부터 수신된 사용자 아이디에 맵핑되어 있는 DMID를 추출할 수 있다. 또한, 서비스 관리 모듈(110)은 추출된 DMID와 애플리케이션 서버(130)의 APID에 맵핑된 제2 암호키를 데이터베이스(150)에서 추출한 후, 제5 암호키의 암호화에 이용할 수 있다.The second encryption key may be a pre-shared encryption key between the
구체적으로, 디바이스 관리 모듈(210)과 서비스 관리 모듈(110)는 예를 들어, 디피-헬만(Diffie-Hellman) 키 교환 알고리즘 또는 RAS 키 교환 알고리즘을 통해 애플리케이션 클라이언트(230)에 대응되는 제2 암호키를 공유할 수 있다. Specifically, the
예를 들어, 도 9에 도시된 애플리케이션 활성화 과정에서 디바이스 관리 모듈(210)은 개인 키와 공개 키를 생성한 후, 생성된 공개 키를 애플리케이션 클라이언트 등록 요청 메시지에 포함시켜 서비스 관리 모듈(110)로 전달할 수 있다. 또한, 서비스 관리 모듈(110)은 개인 키와 공개 키를 생성한 후, 공개 키를 애플리케이션 클라이언트 등록 응답 메시지에 포함시켜 디바이스 관리 모듈(210)로 전달할 수 있다. 이후, 디바이스 관리 모듈(210)는 자신의 개인 키와 서비스 관리 모듈(110)의 공개 키를 이용하여 제2 암호키를 생성하고, 생성된 제2 암호키를 디바이스 관리 모듈(210)의 DMID 및 애플리케이션 클라이언트(230)의 APID와 맵핑하여 데이터베이스(250)에 저장할 수 있다. 또한, 서비스 관리 모듈(110)는 자신의 개인 키와 디바이스 관리 모듈(210)의 공개 키를 이용하여 제2 암호키를 생성하고, 생성된 제2 암호키를 디바이스 관리 모듈(210)의 DMID 및 애플리케이션 클라이언트(230)의 APID와 맵핑하여 데이터베이스(150)에 저장할 수 있다.For example, in the application activation process shown in FIG. 9, the
다른 예로, 도 9에 도시된 애플리케이션 활성화 과정에서 디바이스 관리 모듈(210)은 개인 키와 공개 키를 생성한 후, 생성된 공개 키를 애플리케이션 클라이언트 등록 요청 메시지에 포함시켜 서비스 관리 모듈(110)로 전달할 수 있다. 또한, 서비스 관리 모듈(110)은 제2 암호키를 생성하고, 생성된 제2 암호키를 디바이스 관리 모듈(210)의 공개 키로 암호화하여 애플리케이션 클라이언트 등록 응답 메시지에 포함시켜 디바이스 관리 모듈(210)로 전달할 수 있다. 이후, 디바이스 관리 모듈(210)는 자신의 개인 키로 제2 암호키를 복호화하고, 복호화된 제2 암호키를 디바이스 관리 모듈(210)의 DMID 및 애플리케이션 클라이언트(230)의 APID와 맵핑하여 데이터베이스(250)에 저장할 수 있다.In another example, in the application activation process shown in FIG. 9, the
한편, 본 발명의 일 실시예에 따르면, 서비스 관리 모듈(110)은 서비스 채널 관리부(310)로부터 제공된 제4 암호키를 이용하여 제2 암호키를 암호한 후 데이터베이스(250)에 저장할 수 있다. 이때, 제4 암호키는 예를 들어, 도 7에 도시된 애플리케이션 서버(130) 등록 과정에서 서비스 채널 관리부(310)에 의해 생성되어 메시지 서버(300)의 데이터베이스(370)에 저장될 수 있으며, 서비스 채널 관리부(310)는 서비스 관리 모듈(110)의 요청에 따라 제4 암호키를 서비스 관리 모듈(110)로 제공할 수 있다.Meanwhile, according to an embodiment of the present invention, the
구체적으로, 서비스 관리 모듈(110)은 서비스 채널 관리부(310)로 제4 암호키를 요청하여 수신한 후, 수신된 제4 암호키를 이용하여 제2 암호키를 암호화한 후 데이터베이스(150)에 저장할 수 있다. 이때, 수신된 제4 암호키는 서비스 관리 모듈(110)에 할당된 메모리 상에 저장할 수 있으며, 제2 암호키를 암호화 이후 메모리에서 삭제할 수 있다. Specifically, the
또한, 서비스 관리 모듈(110)은 제5 암호키에 대한 암호화가 요구되는 경우, 서비스 채널 관리부(310)로 제4 암호키를 요청하여 수신한 후, 수신된 제4 암호키를 이용하여 데이터베이스(150)에 저장된 제2 암호키를 복호화할 수 있으며, 복호화된 제2 암호키를 이용하여 제5 암호키를 암호화할 수 있다. 이때, 수신된 제4 암호키는 서비스 관리 모듈(110)에 할당된 메모리 상에 저장할 수 있으며, 데이터베이스(150)에 저장된 제2 암호키를 복호화한 이후 메모리에서 삭제할 수 있다.If encryption of the fifth cipher key is requested, the
한편, 본 발명의 일 실시예에 따르면, 서비스 관리 모듈(110)은 전송 요청된 데이터의 암호화 이전에 전송 요청된 데이터에 대한 체크섬 값을 생성할 수 있다. 이때, 체크섬 값은 예를 들어, MD5(Message-Digest algorithm 5)와 같은 해시 함수를 이용할 수 있으나, MD5 외에도 데이터 무결성 확인을 위해 사용될 수 있는 다양한 알고리즘들이 이용될 수 있다.Meanwhile, according to an embodiment of the present invention, the
이후, 서비스 관리 모듈(110)은 서비스 채널 관리부(310)와 형성된 보안 채널을 통해 서비스 채널 관리부(330)로 데이터 메시지를 전송한다(S1103). 이때, 보안 채널은 예를 들어, 도 5에 도시된 과정을 통해 형성된 데이터 채널일 수 있다.Thereafter, the
한편, 서비스 관리 모듈(110)에 의해 전송되는 데이터 메시지는 라우팅 정보, 제5 암호키를 이용하여 암호화된 데이터, 제2 암호키를 이용하여 암호화된 제5 암호키 및 애플리케이션 서버(130)의 APID를 포함할 수 있다. 또한, 라우팅 정보는 데이터 메시지의 출발지와 도착지를 포함할 수 있다. 이때, 라우팅 정보에 포함된 출발지는 예를 들어, 서비스 관리 모듈(110)의 아이디(SMGID 또는 SMIID)일 수 있으며, 도착지는 예를 들어, 디바이스 관리 모듈(210)의 DMID일 수 있다. Meanwhile, the data message transmitted by the
한편, 실시예에 따라, 데이터 메시지는 전송 요청된 데이터에 대한 체크섬 값을 더 포함할 수 있다.Meanwhile, according to the embodiment, the data message may further include a checksum value for the data requested to be transmitted.
이후, 서비스 채널 관리부(310)는 수신된 데이터 메시지를 디바이스 채널 관리부(330)로 전달한다(S1104). 구체적으로, 서비스 채널 관리부(310)는 데이터베이스(370)에 저장된 제3 라우팅 테이블에서 데이터 메시지의 라우팅 정보에 포함된 DMID에 맵핑된 디바이스 채널 관리부(330)의 접속 정보를 식별한 후, 식별된 접속 정보를 이용하여 디바이스 채널 관리부(330)로 데이터 메시지를 전달할 수 있다.Thereafter, the
이후, 디바이스 채널 관리부(330)는 디바이스 관리 모듈(210)과 형성된 보안 채널을 통해 데이터 메시지를 디바이스 관리 모듈(210)로 전송한다(S1105). 이때, 보안 채널은 예를 들어, 도 3 또는 도5에 도시된 과정을 통해 형성된 데이터 채널일 수 있다.Then, the device
구체적으로, 디바이스 채널 관리부(330)는 데이터 메시지의 라우팅 정보에 포함된 DMID에 기초하여 디바이스 관리 모듈(210)로 데이터 메시지를 전송할 수 있다.Specifically, the device
이후, 디바이스 관리 모듈(210)은 수신된 데이터 메시지를 데이터베이스(250)에 저장한다(S1106).Then, the
이후, 디바이스 관리 모듈(210)은 수신된 데이터 메시지에 포함된 데이터를 복호화한다(S1107). 구체적으로, 디바이스 관리 모듈(210)은 데이터베이스(250)에서 데이터 메시지에 포함된 DMID 및 APID에 맵핑된 제2 암호키를 추출할 수 있다. 이후, 디바이스 관리 모듈(210)은 추출된 제2 암호키를 이용하여 데이터 메시지에 포함된 제5 암호키를 복호화하고, 복호화된 제5 암호키를 이용하여 데이터 메시지에 포함된 데이터를 복호화할 수 있다.Then, the
한편, 본 발명의 일 실시예에 따르면, 디바이스 관리 모듈(210)은 디바이스 채널 관리부(330)로부터 제공된 제3 암호키를 이용하여 제2 암호키를 암호한 후 데이터베이스(250)에 저장할 수 있다. 이때, 제3 암호키는 예를 들어, 도 8에 도시된 DMID 발행 과정에서 디바이스 채널 관리부(330)에 의해 생성되어 메시지 서버(300)의 데이터베이스(370)에 저장될 수 있으며, 디바이스 채널 관리부(330)는 디바이스 관리 모듈(210)의 요청에 따라 제3 암호키를 디바이스 관리 모듈(210)로 제공할 수 있다.According to an embodiment of the present invention, the
구체적으로, 디바이스 관리 모듈(210)은 디바이스 채널 관리부(330)로 제3 암호키를 요청하여 수신한 후, 수신된 제3 암호키를 이용하여 제2 암호키를 암호화한 후 데이터베이스(250)에 저장할 수 있다. 이때, 수신된 제3 암호키는 디바이스 관리 모듈(210)에 할당된 메모리 상에 저장할 수 있으며, 제2 암호키를 암호화 이후 메모리에서 삭제할 수 있다. Specifically, the
또한, 디바이스 관리 모듈(210)은 데이터 메시지에 포함된 제5 암호키에 대한 복호화가 요구되는 경우, 디바이스 채널 관리부(330)로 제3 암호키를 요청하여 수신한 후, 수신된 제3 암호키를 이용하여 데이터베이스(250)에 저장된 제2 암호키를 복호화할 수 있으며, 복호화된 제2 암호키를 이용하여 데이터 메시지에 포함된 제5 암호키를 복호화할 수 있다. 이때, 수신된 제3 암호키는 디바이스 관리 모듈(210)에 할당된 메모리 상에 저장할 수 있으며, 데이터베이스(250)에 저장된 제2 암호키를 복호화한 이후 메모리에서 삭제할 수 있다.If the
한편, 본 발명의 일 실시예에 따르면, 수신된 데이터 메시지에 체크섬 값이 포함되어 있는 경우, 디바이스 관리 모듈(310)은 복호화된 데이터로부터 체크섬 값을 계산하여 데이터 메시지에 포함된 체크섬 값과 비교함으로써 데이터의 무결성을 검증할 수 있다.If the received data message includes a checksum value, the
이후, 디바이스 관리 모듈(210)은 수신 확인 메시지를 보안 채널을 통해 디바이스 채널 관리부(330)로 전송한다(S1108). 이때, 수신 확인 메시지는 라우팅 정보와 데이터 수신 결과를 포함할 수 있다. 한편, 라우팅 정보는 수신된 데이터 메시지의 라우팅 정보에 포함된 출발지와 도착지를 스위칭함으로써 생성 가능하다. Then, the
한편, 데이터 복호화에 성공하거나 실시예에 따라 데이터 복호화 및 데이터 무결성 검증이 모두 성공된 경우, 데이터 수신 결과는 데이터 처리가 성공되었음을 나타내는 코드를 포함할 수 있다. 반면, 데이터 복호화에 실패하거나 데이터 무결성 검증이 실패된 경우, 데이터 수신 결과는 데이터 처리가 실패하였음을 나타내는 코드를 포함할 수 있다.On the other hand, if the data decryption is successful, or both the data decryption and the data integrity verification are successful according to the embodiment, the data reception result may include a code indicating that the data processing is successful. On the other hand, if data decryption fails or data integrity verification fails, the data reception result may include a code indicating that data processing has failed.
한편, 데이터 복호화에 성공한 경우, 디바이스 관리 모듈(210)은 복호화된 데이터를 애플리케이션 클라이언트(230)로 전달한다(S1109). 이때, 실시예에 따라, 데이터 메시지에 체크섬 값이 포함되어 있는 경우, 디바이스 관리 모듈(210)은 데이터 복호화 및 데이터 무결성 검증이 모두 성공된 경우, 복호화된 데이터를 애플리케이션 클라이언트(230)로 전달할 수 있다.On the other hand, if the data decryption is successful, the
한편, 디바이스 관리 모듈(210)은 디바이스 채널 관리부(330)로 수신 확인 메시지를 전송한 이후, 데이터베이스(250)에 저장된 데이터 메시지를 삭제한다(S1010).Meanwhile, the
한편, 디바이스 채널 관리부(330)는 수신 확인 메시지를 서비스 채널 관리부(310)로 전달한다(S1111). 구체적으로, 디바이스 채널 관리부(330)는 데이터베이스(370)에 저장된 제2 라우팅 테이블에서 수신 확인 메시지의 라우팅 정보에 포함된 SMGID(또는 SMIID)에 맵핑된 서비스 채널 관리부(310)의 접속 정보를 식별한 후, 식별된 접속 정보를 이용하여 서비스 채널 관리부(310)로 수신 확인 메시지를 전달할 수 있다.Meanwhile, the device
이후, 서비스 채널 관리부(310)는 수신 확인 메시지의 라우팅 정보에 포함된 SMGID(또는 SMIID)에 기초하여 보안 채널을 통해 서비스 관리 모듈(110)로 수신 확인 메시지를 전달한다(S1112).Thereafter, the
이후, 서비스 관리 모듈(110)은 수신 확인 메시지에 포함된 데이터 수신 결과를 확인한 후, 데이터 처리가 성공된 경우, 데이터베이스(150)에 저장된 암호화된 데이터 및 암호화된 제5 암호키를 삭제한다(S1013). 반면, 데이터 처리가 실패되었거나, 기 설정된 기간 내에 수신 확인 메시지를 수신하지 못한 경우, 서비스 관리 모듈(110)는 상술한 S1103 단계 이후의 과정을 재수행할 수 있다.Thereafter, when the data processing is successful, the
도 12는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.12 is a block diagram illustrating and illustrating a computing environment including a computing device suitable for use in the exemplary embodiments. In the illustrated embodiment, each of the components may have different functions and capabilities than those described below, and may include additional components in addition to those described below.
도시된 컴퓨팅 환경(1)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 메시지 처리 시스템(10)에 포함되는 하나 이상의 컴포넌트일 수 있다.The illustrated
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.The computer-
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.The
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, I will understand. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.
1 : 컴퓨팅 환경
12 : 컴퓨팅 장치
14 : 프로세서
16 : 컴퓨터 판독 가능 저장 매체
18 : 통신 버스
20 : 프로그램
22 : 입출력 인터페이스
24 : 입출력 장치
26 : 네트워크 통신 인터페이스
10 : 메시지 처리 시스템
100 : 애플리케이션 서비스 시스템
110,110-1, 110-2, 110-3 : 서비스 관리 모듈
130, 130-1, 130-2, 130-3 : 애플리케이션 서버
150, 370, 250, 250-1, 250-2 : 데이터베이스
200, 200-1, 200-2 : 사용자 디바이스
210,210-1, 210-2, 210-3 : 디바이스 관리 모듈
230, 230-1, 230-2, 230-3, 230-4 : 애플리케이션 클라이언트
300 : 메시지 서버
310, 310-1, 310-2 : 서비스 채널 관리부
330, 330-1, 330-2 : 디바이스 채널 관리부
350 : 등록 서버1: Computing environment
12: computing device
14: Processor
16: Computer readable storage medium
18: Communication bus
20: Program
22: I / O interface
24: input / output device
26: Network communication interface
10: Message processing system
100: Application Service System
110, 110-1, 110-2, 110-3: service management module
130, 130-1, 130-2, and 130-3:
150, 370, 250, 250-1, 250-2:
200, 200-1, 200-2: User device
210, 210-1, 210-2, 210-3: Device Management Module
230, 230-1, 230-2, 230-3, 230-4: application client
300: message server
310, 310-1, 310-2: Service channel manager
330, 330-1, 330-2: Device channel manager
350: registration server
Claims (26)
메모리; 및
전송 계층 보안(TLS: Transport Layer Security) 프로토콜을 통해 채널 클라이언트와 TLS 채널을 생성하고, 상기 TLS 채널을 통해 상기 채널 클라이언트로부터 상기 채널 클라이언트에 할당된 아이디를 포함하는 채널 형성 요청 메시지를 수신하고, 상기 아이디를 검증하며, 상기 검증 결과에 따라 상기 TLS 채널을 통해 상기 채널 클라이언트로 채널 형성 응답 메시지를 전송하여 TLS 기반의 보안 채널을 형성하는채널 관리부를 포함하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
One or more processors;
Memory; And
The method comprising: generating a TLS channel with a channel client through a Transport Layer Security (TLS) protocol; receiving a channel formation request message including an ID allocated to the channel client from the channel client over the TLS channel; And a channel manager for verifying the identity and transmitting a channel establishment response message to the channel client over the TLS channel according to the verification result to form a TLS-based secure channel.
상기 보안 채널은, 데이터 메시지 전송이 제한된 논 데이터(Non-Data) 채널인, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method according to claim 1,
Wherein the secure channel is a non-data channel with limited data message transmission.
상기 채널 관리부는, 상기 보안 채널을 통해, 상기 채널 클라이언트로부터 상기 채널 클라이언트에 할당된 아이디 및 상기 채널 클라이언트의 티켓 정보를 포함하는 채널 업그레이드 요청 메시지를 수신하고, 상기 채널 업그레이드 요청 메시지에 포함된 아이디 및 티켓 정보를 검증하며, 상기 보안 채널을 통해, 상기 채널 클라이언트로 채널 업그레이드 응답 메시지를 전송하여 상기 통신 채널을 상기 데이터 메시지 전송이 허용되는 데이터 채널로 변경하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method of claim 2,
The channel management unit receives a channel upgrade request message including the ID allocated to the channel client and the ticket information of the channel client from the channel client over the secure channel, And transmits the channel upgrade response message to the channel client through the secure channel to change the communication channel to a data channel in which the data message is allowed to be transmitted.
상기 채널 형성 요청 메시지는, 상기 채널 클라이언트의 티켓 정보를 더 포함하고,
상기 채널 관리부는, 상기 아이디 및 상기 티켓 정보를 검증하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method according to claim 1,
Wherein the channel formation request message further includes ticket information of the channel client,
Wherein the channel management unit verifies the ID and the ticket information.
상기 보안 채널은, 데이터 메시지 전송이 허용되는 데이터 채널인, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method of claim 4,
Wherein the secure channel is a data channel in which data message transmission is allowed.
상기 티켓 정보는, 티켓 키를 이용하여 암호화된 시드 정보를 포함하는 티켓 및 상기 티켓 키 대한 티켓 키 인덱스를 포함하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method according to claim 3 or 4,
Wherein the ticket information comprises a ticket including seed information encrypted using a ticket key and a ticket key index for the ticket key.
상기 채널 관리부는, 복수의 티켓 키 및 상기 복수의 티켓 키 각각에 대응되는 복수의 티켓 키 인덱스를 포함하는 티켓 키 테이블에서 상기 티켓 정보에 포함된 티켓 키 인덱스에 대응되는 티켓 키를 추출하고, 상기 추출된 티켓 키를 이용하여 상기 티켓을 복호화하며, 상기 복호화된 티켓에 포함된 시드 정보를 이용하여 상기 티켓을 검증하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method of claim 6,
Wherein the channel management unit extracts a ticket key corresponding to a ticket key index included in the ticket information in a ticket key table including a plurality of ticket keys and a plurality of ticket key indexes corresponding to the plurality of ticket keys, Decrypting the ticket using the extracted ticket key, and verifying the ticket using the seed information included in the decrypted ticket.
상기 시드 정보는, 티켓 유효기간을 포함하고,
상기 채널 관리부는, 상기 티켓 유효기간이 경과하였는지 여부에 따라 상기 티켓을 검증하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method of claim 7,
The seed information includes a ticket validity period,
Wherein the channel management unit verifies the ticket according to whether or not the ticket validity period has elapsed.
상기 시드 정보는, 상기 티켓을 발급받은 채널 클라이언트의 아이디를 포함하고,
상기 채널 관리부는, 상기 채널 형성 요청 메시지에 포함된 아이디와 상기 시드 정보에 포함된 아이디가 일치하는지 여부에 따라 상기 티켓을 검증하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method of claim 7,
Wherein the seed information includes an ID of a channel client that has issued the ticket,
Wherein the channel management unit verifies the ticket according to whether the ID included in the channel formation request message matches an ID included in the seed information.
상기 채널 관리부는, 상기 검증이 성공된 경우, 초기 시퀀스 넘버를 포함하는 채널 형성 응답 메시지를 상기 채널 클라이언트로 전송하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method according to claim 1,
Wherein the channel management unit transmits a channel establishment response message including an initial sequence number to the channel client when the verification is successful.
상기 채널 관리부는, 상기 보안 채널을 형성한 이후, 상기 보안 채널을 통해 상기 채널 클라이언트로부터 수신된 패킷의 시퀀스 넘버를 확인하고, 상기 시퀀스 넘버가 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 상기 보안 채널을 차단하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method of claim 10,
Wherein the channel management unit checks a sequence number of a packet received from the channel client over the secure channel after forming the secure channel and if the sequence number is the same as the sequence number of a previously received packet, A device for forming a secure channel in a message processing system, which blocks the channel.
상기 채널 클라이언트는, 디바이스 관리 모듈인, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method according to claim 1,
Wherein the channel client is a device management module.
상기 채널 클라이언트는, 서비스 관리 모듈인, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method according to claim 1,
Wherein the channel client is a service management module.
상기 TLS 채널을 통해 상기 채널 클라이언트로부터 상기 채널 클라이언트에 할당된 아이디를 포함하는 채널 형성 요청 메시지를 수신하는 단계;
상기 아이디를 검증하는 단계; 및
상기 검증 결과에 따라 상기 TLS 채널을 통해 상기 채널 클라이언트로 채널 형성 응답 메시지를 전송하여 TLS 기반의 보안 채널을 형성하는 단계를 포함하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
Creating a TLS channel with a channel client through a Transport Layer Security (TLS) protocol;
Receiving a channel establishment request message including an ID assigned to the channel client from the channel client over the TLS channel;
Verifying the identity; And
And generating a TLS-based secure channel by transmitting a channel establishment response message to the channel client over the TLS channel according to the verification result.
상기 보안 채널은, 데이터 메시지 전송이 제한된 논 데이터(Non-Data) 채널인, 메시지 처리 시스템에서 보안 채널 형성 방법.
15. The method of claim 14,
Wherein the secure channel is a non-data channel with limited data message transmission.
상기 보안 채널을 통해, 상기 채널 클라이언트로부터 상기 채널 클라이언트에 할당된 아이디 및 상기 채널 클라이언트의 티켓 정보를 포함하는 채널 업그레이드 요청 메시지를 수신하는 단계;
상기 채널 업그레이드 요청 메시지에 포함된 아이디 및 티켓 정보를 검증하는 단계; 및
상기 보안 채널을 통해, 상기 채널 클라이언트로 채널 업그레이드 응답 메시지를 전송하여 상기 통신 채널을 상기 데이터 메시지 전송이 허용되는 데이터 채널로 변경하는 단계를 더 포함하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
16. The method of claim 15,
Receiving, through the secure channel, a channel upgrade request message including an ID assigned to the channel client and ticket information of the channel client from the channel client;
Verifying identity and ticket information included in the channel upgrade request message; And
Further comprising: transmitting a channel upgrade response message to the channel client over the secure channel to change the communication channel to a data channel permitting the data message transmission.
상기 채널 형성 요청 메시지는, 상기 채널 클라이언트의 티켓 정보를 더 포함하고,
상기 검증하는 단계는, 상기 아이디 및 상기 티켓 정보를 검증하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
15. The method of claim 14,
Wherein the channel formation request message further includes ticket information of the channel client,
Wherein the verifying step verifies the identity and the ticket information.
상기 보안 채널은, 데이터 메시지 전송이 허용되는 데이터 채널인, 메시지 처리 시스템에서 보안 채널 형성 방법.
18. The method of claim 17,
Wherein the secure channel is a data channel in which data message transmission is allowed.
상기 티켓 정보는, 티켓 키를 이용하여 암호화된 시드 정보를 포함하는 티켓 및 상기 티켓 키 대한 티켓 키 인덱스를 포함하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
16. The method according to claim 16 or 17,
Wherein the ticket information comprises a ticket containing seed information encrypted using a ticket key and a ticket key index for the ticket key.
상기 아이디 및 티켓 정보를 검증하는 단계는, 복수의 티켓 키 및 상기 복수의 티켓 키 각각에 대응되는 복수의 티켓 키 인덱스를 포함하는 티켓 키 테이블에서 상기 티켓 정보에 포함된 티켓 키 인덱스에 대응되는 티켓 키를 추출하는 단계;
상기 추출된 티켓 키를 이용하여 상기 티켓을 복호화하는 단계; 및
상기 복호화된 티켓에 포함된 시드 정보를 이용하여 상기 티켓을 검증하는 단계를 포함하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
The method of claim 19,
Wherein the step of verifying the identity and the ticket information comprises the steps of: receiving a ticket corresponding to a ticket key index included in the ticket information in a ticket key table including a plurality of ticket keys and a plurality of ticket key indexes corresponding to the plurality of ticket keys, Extracting a key;
Decrypting the ticket using the extracted ticket key; And
And verifying the ticket using seed information included in the decrypted ticket.
상기 시드 정보는, 티켓 유효기간을 포함하고,
상기 티켓을 검증하는 단계는, 상기 티켓 유효기간이 경과하였는지 여부에 따라 상기 티켓을 검증하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
The method of claim 20,
The seed information includes a ticket validity period,
Wherein verifying the ticket verifies the ticket according to whether the ticket validity period has elapsed.
상기 시드 정보는, 상기 티켓을 발급받은 채널 클라이언트의 아이디를 포함하고,
상기 티켓을 검증하는 단계는, 상기 채널 형성 요청 메시지에 포함된 아이디와 상기 시드 정보에 포함된 아이디가 일치하는지 여부에 따라 상기 티켓을 검증하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
The method of claim 20,
Wherein the seed information includes an ID of a channel client that has issued the ticket,
Wherein the verifying the ticket verifies the ticket according to whether the ID included in the channel formation request message matches an ID included in the seed information.
상기 형성하는 단계는, 상기 검증이 성공된 경우, 초기 시퀀스 넘버를 포함하는 채널 형성 응답 메시지를 상기 채널 클라이언트로 전송하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
15. The method of claim 14,
Wherein the forming comprises transmitting a channel formation response message including an initial sequence number to the channel client when the verification is successful.
상기 형성하는 단계 이후에, 상기 보안 채널을 통해 상기 채널 클라이언트로부터 수신된 패킷의 시퀀스 넘버를 확인하는 단계; 및
상기 시퀀스 넘버가 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 상기 보안 채널을 차단하는 단계를 더 포함하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
24. The method of claim 23,
Confirming a sequence number of a packet received from the channel client over the secure channel after the forming; And
Further comprising blocking the secure channel if the sequence number is equal to a sequence number of a previously received packet.
상기 채널 클라이언트는, 디바이스 관리 모듈인, 메시지 처리 시스템에서 보안 채널 형성 방법.
15. The method of claim 14,
Wherein the channel client is a device management module.
상기 채널 클라이언트는, 서비스 관리 모듈인, 메시지 처리 시스템에서 보안 채널 형성 방법. 15. The method of claim 14,
Wherein the channel client is a service management module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170164567A KR102309044B1 (en) | 2017-12-01 | 2017-12-01 | Apparatus and method for establishing secure channel in message processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170164567A KR102309044B1 (en) | 2017-12-01 | 2017-12-01 | Apparatus and method for establishing secure channel in message processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190065091A true KR20190065091A (en) | 2019-06-11 |
KR102309044B1 KR102309044B1 (en) | 2021-10-05 |
Family
ID=66846846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170164567A KR102309044B1 (en) | 2017-12-01 | 2017-12-01 | Apparatus and method for establishing secure channel in message processing system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102309044B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040004425A (en) * | 2000-11-03 | 2004-01-13 | 사이트릭스 시스템스, 인크. | System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel |
KR20140037276A (en) * | 2011-03-23 | 2014-03-26 | 인터디지탈 패튼 홀딩스, 인크 | Systems and methods for securing network communications |
KR20140138992A (en) * | 2012-03-20 | 2014-12-04 | 퀄컴 인코포레이티드 | Network security configuration using short-range wireless communication |
KR20170087116A (en) | 2016-01-19 | 2017-07-28 | 명지대학교 산학협력단 | Security monitoring system for mobile device and method of security monitoring for mobile device using it |
KR20170130961A (en) * | 2016-05-20 | 2017-11-29 | 한국전자통신연구원 | Apparatus and method for secure communication |
-
2017
- 2017-12-01 KR KR1020170164567A patent/KR102309044B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040004425A (en) * | 2000-11-03 | 2004-01-13 | 사이트릭스 시스템스, 인크. | System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel |
KR20140037276A (en) * | 2011-03-23 | 2014-03-26 | 인터디지탈 패튼 홀딩스, 인크 | Systems and methods for securing network communications |
KR20140138992A (en) * | 2012-03-20 | 2014-12-04 | 퀄컴 인코포레이티드 | Network security configuration using short-range wireless communication |
KR20170087116A (en) | 2016-01-19 | 2017-07-28 | 명지대학교 산학협력단 | Security monitoring system for mobile device and method of security monitoring for mobile device using it |
KR20170130961A (en) * | 2016-05-20 | 2017-11-29 | 한국전자통신연구원 | Apparatus and method for secure communication |
Also Published As
Publication number | Publication date |
---|---|
KR102309044B1 (en) | 2021-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11687920B2 (en) | Facilitating a fund transfer between user accounts | |
KR101941049B1 (en) | Method and system for encrypted communications | |
JP5852265B2 (en) | COMPUTER DEVICE, COMPUTER PROGRAM, AND ACCESS Permission Judgment Method | |
US11088822B2 (en) | Methods, systems, and media for using dynamic public key infrastructure to send and receive encrypted messages | |
US11483155B2 (en) | Access control using proof-of-possession token | |
JP2019514314A (en) | Method, system and medium for using dynamic public key infrastructure to send and receive encrypted messages | |
US20140013116A1 (en) | Apparatus and method for performing over-the-air identity provisioning | |
KR20150145108A (en) | Method and Apparatus for Sharing Key | |
JP2015194879A (en) | Authentication system, method, and provision device | |
CN115102740A (en) | Communication method, communication apparatus, communication device, storage medium, and program product | |
US8504832B2 (en) | Mobile terminal for sharing resources, method of sharing resources within mobile terminal and method of sharing resources between web server and terminal | |
KR101964757B1 (en) | Certification system and method using OTP | |
KR101836211B1 (en) | Electronic device authentication manager device | |
KR20210008303A (en) | Secure interaction system and communication display device | |
KR20100019165A (en) | System and method for providing internet banking service | |
CN115459929B (en) | Security verification method, security verification device, electronic equipment, security verification system, security verification medium and security verification product | |
KR20180024389A (en) | Apparatus and method for key management | |
KR102309044B1 (en) | Apparatus and method for establishing secure channel in message processing system | |
KR101853970B1 (en) | Method for Relaying Authentication Number | |
CN115150098A (en) | Identity authentication method based on challenge response mechanism and related equipment | |
KR20190060307A (en) | Apparatus for transmitting/receiving message in message processing system | |
CN113079506B (en) | Network security authentication method, device and equipment | |
KR20190007336A (en) | Method and apparatus for generating end-to-end security channel, and method and apparatus for transmitting/receiving secure information using security channel | |
KR20020041857A (en) | Method for double encryption of private key and sending/receiving the private key for transportation and roaming service of the private key in the public key infrastructure | |
KR20170008514A (en) | Method and system for reproducing contents by secure acquiring decryption key for encrypted contents |
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 | ||
GRNT | Written decision to grant |