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 PDF

Info

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
Application number
KR1020170164567A
Other languages
Korean (ko)
Other versions
KR102309044B1 (en
Inventor
장은수
장경래
황순형
노세혁
정현명
심진아
이효중
박하진
정민규
최민정
홍진웅
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020170164567A priority Critical patent/KR102309044B1/en
Publication of KR20190065091A publication Critical patent/KR20190065091A/en
Application granted granted Critical
Publication of KR102309044B1 publication Critical patent/KR102309044B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Abstract

Provided are a security channel formation apparatus in a message processing system, capable of reinforcing security in message transmission/reception, and a method thereof. According to one embodiment of the present invention, the security channel formation apparatus in a message processing system comprises: one or more processors; a memory; and a channel management unit generating a transport layer security (TLS) channel and a channel client through a TLS protocol, receiving a channel formation request message including an ID allocated to the channel client from the channel client through the TLS channel, verifying the ID, and transmitting a channel formation response message to the channel client through the TLS channel in accordance with a verification result to form a TLS-based security channel.

Description

메시지 처리 시스템에서 보안 채널 형성 장치 및 방법{APPARATUS AND METHOD FOR ESTABLISHING SECURE CHANNEL IN MESSAGE PROCESSING SYSTEM}TECHNICAL FIELD [0001] The present invention relates to an apparatus and a method for forming a secure channel in a message processing system,

본 발명의 실시예들은 애플리케이션 서비스와 관련된 메시지 송수신 기술과 관련된다.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.

한국공개특허공보 제10-2017-0087116호(2017.07.28)Korean Patent Publication No. 10-2017-0087116 (July 27, 2017)

본 발명의 실시예들은 메시지 처리 시스템에서 보안 채널 형성 장치 및 방법을 제공하기 위한 것이다. 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 message processing system 10 according to an embodiment of the present invention includes an application service system 100 and one or more user devices 200-1 and 200-2 and a message server 300 .

메시지 처리 시스템(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 message processing system 10 includes application clients 230-1, 230-2, 230-3 and 230-4 installed in the respective user devices 200-1 and 200-2 and respective application clients 230-1 and 230-2 -2, 230-3, and 230-4 to enable reliable message exchange between application servers 130-1, 130-2, and 130-3 that provide application services.

한편, 애플리케이션 클라이언트(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 application 1 clients 230-1 and 230-3 installed in the user device 1 (200-1) and the user device 2 (200-2) are connected to the application 1 server 130 -1). ≪ / RTI > The application 2 client 230-2 installed in the user device 1 200-1 can receive the application service from the application 2 server 130-2 installed in the application service system 100, The application 3 client 230-3 installed in the application server 200-2 can receive the application service from the application 3 server 130-3 installed in the application service system 100. [

한편, 애플리케이션 서비스는 예를 들어, 사용자 디바이스(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 application 1 client 230-1, 230-3 and the application 1 server 130-1 may have the same APID (e.g., APID 1) and the application 2 client 230-2 The application 2 server 130-2 may also have the same APID (e.g., APID 2).

한편, 각 애플리케이션 서버(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 1, the application servers have the same APID (i.e., APID 1) Can be different.

한편, 상술한 APID 및 APIID는 메시지 서버(300)의 관리자에 의해 미리 할당될 수 있다.Meanwhile, the APID and the APIID may be previously allocated by the administrator of the message server 300.

애플리케이션 서비스 시스템(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 database 150 do.

애플리케이션 서비스 시스템(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 message server 300, respectively. According to an embodiment of the present invention, each of the service management modules 110-1, 110-2, and 110-3 includes one or more service channel management units 310-1 and 310-2 included in the message server 300 And can transmit and receive messages to and from the service channel management units 310-1 and 310-2 through the formed communication channel. A communication channel formed between each of the service management modules 110-1, 110-2 and 110-3 and each of the service channel management units 310-1 and 310-2 may be a TCP (Transmission Control Protocol) Based Transport Layer Security (TLS) communication channel. Specifically, each of the service management modules 110-1, 110-2, and 110-3 transmits a message including data requested to be transmitted from the corresponding application server 130-1, 130-2, To the formed service channel management units 310-1 and 310-2. Each of the service management modules 110-1, 110-2, and 110-3 transmits the data included in the message received from the service channel management units 310-1 and 310-2 in which the communication channel is formed to the corresponding application server 130-1, 130-2, and 130-3.

한편, 각 서비스 관리 모듈(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 application 1 server 130-1 and the application 2 server 130-2 . In this case, each of the service management modules 110-1 and 110-2 may be provided with a corresponding application server 130-1 (for example, in the form of an application programming interface (API) function call using a library and a callback function call , 130-2, and 130-3.

다른 예로, 서비스 관리 모듈 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 application 1 server 130-1 and the application 2 server 130-2 provide the same application service, the service management module 1 110-1 and the service management module 2 110-2 ) Have the same SMGID, but the SMIID is different. Assuming that the application 3 server 130-3 provides application services different from the application 1 server 130-1 and the application 2 server 130-2, the SMGID of the service management module 3 (110-3) And the SMIID are different from the SMGID and SMIID of the service management module 1 (110-1) and the service management module 2 (110-2).

한편, 서비스 관리 모듈(110)의 SMGID와 SMIID는 APID 및 APIID와 마찬가지로 메시지 서버(300)의 관리자에 의해 사전에 할당될 수 있다.Meanwhile, the SMGID and the SMIID of the service management module 110 can be previously allocated by the administrator of the message server 300 like the APID and APIID.

데이터베이스(150)는 서비스 관리 모듈(110-1, 110-2, 110-3)과 서비스 채널 관리부(310-1, 310-2) 사이에 메시지 송수신을 위해 필요한 각종 정보들을 저장하기 위한 저장소이다. The database 150 is a storage for storing various kinds of information required for sending and receiving messages between the service management modules 110-1, 110-2, and 110-3 and the service channel management units 310-1 and 310-2.

한편, 도 1에 도시된 예에서, 애플리케이션 서비스 시스템(100)이 하나의 데이터베이스(150)만을 포함하는 것으로 도시하고 있으나, 반드시 이에 한정되는 것은 아니며, 실시예에 따라 복수의 데이터베이스를 포함할 수도 있다.In the example shown in FIG. 1, the application service system 100 includes only one database 150, but the present invention is not limited thereto, and may include a plurality of databases according to an embodiment .

사용자 디바이스(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 message server 300, respectively . Each of the device management modules 210-2, 210-2 and 210-3 includes one or more device channel management units 330-1 and 330-2 included in the message server 300, And can transmit and receive messages to and from the device channel management units 330-1 and 330-2 in which the communication channels are formed. At this time, a communication channel formed between each of the device management modules 210-1, 210-2 and 210-3 and each of the device channel management units 330-1 and 330-2 may be, for example, a TCP-based TLS communication channel Lt; / RTI > Specifically, each of the device management modules 210-2, 210-2, and 210-3 includes data requested to be transmitted from the corresponding application clients 230-1, 230-2, 230-3, and 230-4 Message to the device channel management units 330-1 and 330-2 in which the communication channel is formed. In addition, the device management modules 210-2, 210-2 and 210-3 transmit the data included in the message received from the device channel management units 330-1 and 330-2 having the communication channels to the corresponding application clients 230 -1, 230-2, 230-3, and 230-4.

한편, 각 사용자 디바이스(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 application 1 client And a device management module 2 (210-2) for performing the device management. And a device management module 3 210-3 that performs bidirectional communication with the application 1 client 230-3 and the application 3 client 200-4 in the case of the user device 2 200-2.

한편, 본 발명의 일 실시예에 따르면, 디바이스 관리 모듈(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 registration server 350 as will be described later.

데이터베이스(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 message server 300 is connected to the channel clients included in the application service system 100, that is, the service management modules 110-1, 110-2, and 110-3 and the user devices 200-1 and 200-2 And relay the message between the included channel clients, i.e., the device management module 210-1, 210-2, and 210-3.

메시지 서버(300)는 하나 이상의 서버를 포함할 수 있으며, 제1 네트워크와 제2 네트워크 사이의 제3 네트워크에 위치할 수 있다. 이때, 제3 네트워크는 제1 네트워크와 제2 네트워크 사이에 위치한 서브 네트워크로서, 제1 네트워크와 제3 네트워크 사이에는 방화벽이 존재할 수 있다.The message server 300 may include one or more servers and may be located in a third network between the first network and the second network. At this time, the third network is a sub network located between the first network and the second network, and a firewall may exist between the first network and the third network.

한편, 메시지 서버(300)는 하나 이상의 서비스 채널 관리부(310-1, 310-2) 및 하나 이상의 디바이스 채널 관리부(330-1, 330-2)를 포함하는 채널 매니저, 등록 서버(350) 및 데이터베이스(370)를 포함할 수 있다.The message server 300 includes a channel manager including one or more service channel management units 310-1 and 310-2 and one or more device channel management units 330-1 and 330-2, Lt; RTI ID = 0.0 > 370 < / RTI >

서비스 채널 관리부(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 database 370, And can route messages received from the service management modules 110-1, 110-2, and 110-3 or the device management modules 210-1, 210-2, and 210-3.

이때, 라우팅 테이블은 예를 들어, 각 서비스 관리 모듈(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 registration server 350 manages device information (e.g., IP address, MAC address, and telephone number) for each of the user devices 200-1 and 200-2, a device management module 210-1 210-2 and 210-3 and allocation of the device channel management units 330-1 and 330-2 to be connected to the respective device management modules 210-1, 210-2 and 210-3 do.

데이터베이스(370)는 상술한 라우팅 테이블을 포함하는 각종 정보들을 저장하기 위한 저장소이다. The database 370 is a storage for storing various information including the above-described routing table.

이하에서는, 도 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 message processing system 10 will be described in detail with reference to FIGS. 2 to 11. FIG. 2 to 11 and the following description, the application server 130 may be one of the application servers 130-1, 130-2, and 130-3, and the service management module 110 may be provided for each application server 130-1, 130-2, and 130-3. The service management modules 110-1, 110-2, and 110-3 may be any of the service management modules 110-1, 110-2, and 110-3. The service channel management unit 310 may be one of service channel management units 310-1 and 310-2 included in the message server 300. The device channel management unit 330 may include a service channel management unit And may be one of the device channel management units 310-1 and 310-2. The application client 230 may also be one of the application clients 230-1, 230-2, 230-3, and 230-4 included in one of the user devices 200-1 and 200-2, The management module 210 is a device management module 210-1, 210-2, or 210-3 that performs message transmission / reception with respect to each of the application clients 230-1, 230-2, 230-3, and 230-4 It can be one. Also, the database 250 may be databases 250-1 and 250-2 included in one of the user devices 200-1 and 200-2.

디바이스 관리 모듈과 디바이스 채널 관리부 사이의 보안 채널 형성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 device management module 210 creates a TLS channel with the device channel management unit 330 through the TLS protocol (S210). At this time, the TLS channel may be generated using, for example, a known TLS handshake protocol.

이후, 디바이스 관리 모듈(210)은 생성된 TLS 채널을 통해 채널 형성 요청 메시지를 디바이스 채널 관리부(330)로 전송한다(S220). 구체적으로, 디바이스 관리 모듈(210)은 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 요청 메시지를 디바이스 채널 관리부(330)로 전송할 수 있다. 한편, 채널 형성 요청 메시지는 디바이스 관리 모듈(210)의 DMID를 포함할 수 있다.Thereafter, the device management module 210 transmits a channel formation request message to the device channel management unit 330 through the generated TLS channel (S220). Specifically, the device management module 210 may transmit an encrypted channel formation request message to the device channel management unit 330 using the session key of the TLS channel. Meanwhile, the channel formation request message may include the DMID of the device management module 210.

이후, 디바이스 채널 관리부(330)는 채널 형성 요청 메시지에 포함된 DMID를 검증한다(S230). 구체적으로, 디바이스 채널 관리부(330)는 수신된 채널 형성 요청 메시지를 TLS 채널의 세션 키를 이용하여 복호화한 후, 복호화된 채널 형성 요청 메시지에 포함된 DMID를 검증할 수 있다. 이때, 디바이스 채널 관리부(330)는 예를 들어, 채널 형성 요청 메시지에 포함된 DMID가 후술할 DMID 발급 과정을 통해 등록 서버(350)에 의해 발급된 DMID가 아니거나, 접속이 차단된 DMID인 경우, DMID 검증이 실패한 것으로 판단할 수 있다. 한편, DMID 검증이 성공한 경우, 디바이스 채널 관리부(330)는 디바이스 채널 관리부(330)의 접속 정보(예를 들어, 디바이스 채널 관리부(330)의 아이디, 아이피 주소, 포트 번호 등)와 수신된 DMID를 맵핑하여 데이터베이스(370)에 저장된 제3 라우팅 테이블에 추가할 수 있다.Thereafter, the device channel management unit 330 verifies the DMID included in the channel formation request message (S230). Specifically, the device channel management unit 330 may decode the received channel formation request message using the session key of the TLS channel, and then verify the DMID included in the decoded channel formation request message. At this time, if the DMID included in the channel forming request message is not a DMID issued by the registration server 350 through a DMID issuing process to be described later, or is a DMID whose connection is blocked , It can be determined that the DMID verification has failed. If the DMID verification is successful, the device channel management unit 330 notifies the device channel management unit 330 of the connection information (for example, ID, IP address, port number, etc. of the device channel management unit 330) And add it to the third routing table stored in the database 370.

이후, 디바이스 채널 관리부(330)는 TLS 채널을 통해 채널 형성 응답 메시지를 디바이스 관리 모듈(210)로 전송하여 TLS 기반의 보안 채널을 형성한다(S240). 구체적으로, 디바이스 채널 관리부(330)는 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 응답 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. Then, the device channel management unit 330 transmits a channel establishment response message to the device management module 210 through the TLS channel to form a TLS-based secure channel (S240). Specifically, the device channel management unit 330 may transmit the encrypted channel formation response message to the device management module 210 using the session key of the TLS channel.

한편, 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 channel management unit 330 may transmit a channel formation success message including the initial sequence number to the device management module 210. At this time, the initial sequence number can be randomly generated by the device channel management unit 130 when the DMID verification is successful. On the other hand, if the DMID verification fails, the device channel management unit 330 may transmit a channel formation failure message to the device management module 210. [

한편, 보안 채널 형성이 성공된 경우, 디바이스 관리 모듈(210)은 해당 보안 채널을 통해 전송되는 패킷에 시퀀스 넘버를 포함시킬 수 있다. 이때, 각 패킷에 포함되는 시퀀스 넘버는 초기 시퀀스 넘버를 시작으로 패킷 전송시마다 일정 크기만큼 증가될 수 있다. 또한, 디바이스 채널 관리부(330)는 보안 채널을 통해 수신된 패킷에 포함된 시퀀스 넘버를 확인하여 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 디바이스 관리 모듈(210)과 형성된 보안 채널을 차단할 수 있다.Meanwhile, when the secure channel is successfully formed, the device management module 210 may include the sequence number in the packet transmitted through the secure channel. At this time, the sequence number included in each packet may be increased by a predetermined amount every time the packet is transmitted starting from the initial sequence number. The device channel management unit 330 may check the sequence number included in the packet received through the secure channel and may block the secure channel formed with the device management module 210 if the sequence number is the same as the sequence number of the previously received packet .

한편, 도 2에 도시된 과정은 디바이스 관리 모듈(210)에 발급된 티켓이 존재하지 않는 경우에 수행될 수 있으며, 도 2에 도시된 과정을 통해 생성되는 보안 채널은 데이터 메시지 전송이 제한된 논 데이터(Non-Data) 채널일 수 있다. 이때, 데이터 메시지는 애플리케이션 서비스를 위해 애플리케이션 클라이언트(230) 또는 애플리케이션 서버(130)에 의해 전송 요청된 데이터를 포함하는 메시지를 의미할 수 있다. 즉, 디바이스 채널 관리부(330)는 도 2에 도시된 과정을 통해 형성된 보안 채널을 통해 디바이스 관리 모듈(110)로부터 수신된 메시지가 데이터 메시지인 경우, 보안 채널을 차단할 수 있다.2 may be performed when there is no ticket issued to the device management module 210. The secure channel generated through the process shown in FIG. 2 may include non-data (Non-Data) channel. At this time, the data message may mean a message including data requested to be transmitted by the application client 230 or the application server 130 for the application service. That is, the device channel management unit 330 can block the secure channel if the message received from the device management module 110 through the secure channel formed through the process shown in FIG. 2 is a data message.

도 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 device management module 210 transmits a channel upgrade request message to the device channel management unit 330 through the non-data channel formed with the device channel management unit 330 (S310). At this time, the channel upgrade request message may include DMID and ticket information of the device management module 210.

또한, 티켓 정보는 티켓과 티켓 키 인덱스를 포함할 수 있다. 한편, 디바이스 관리 모듈(210)의 티켓 정보 생성 및 발급에 대한 상세한 설명은 후술하기로 한다.In addition, the ticket information may include a ticket and a ticket key index. Details of generating and issuing ticket information of the device management module 210 will be described later.

이후, 디바이스 채널 관리부(330)는 채널 업그레이드 요청 메시지에 포함된 DMID와 티켓 정보를 검증한다(S320).Then, the device channel management unit 330 verifies the DMID and the ticket information included in the channel upgrade request message (S320).

예를 들어, 디바이스 채널 관리부(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 registration server 350 through the DMID issuing process, which will be described later, It can be judged that the verification has failed.

한편, 디바이스 채널 관리부(330)는 티켓 정보에서 티켓 키 인덱스를 확인하고, 데이터베이스(370)에 저장된 티켓 키 테이블에서 해당 티켓 키 인덱스에 맵핑된 티켓 키를 추출할 수 있다. 이때, 티켓 키 테이블은 복수의 티켓 키 및 복수의 티켓 키 각각에 맵핑된 복수의 티켓 키 인덱스를 포함할 수 있다.On the other hand, the device channel management unit 330 can check the ticket key index in the ticket information and extract the ticket key mapped to the corresponding ticket key index in the ticket key table stored in the database 370. At this time, the ticket key table may include a plurality of ticket keys and a plurality of ticket key indexes mapped to each of the plurality of ticket keys.

한편, 티켓 키 테이블에 티켓 정보에 포함된 티켓 키 인덱스와 일치하는 티켓 키 인덱스가 존재하지 않는 경우, 디바이스 채널 관리부(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 channel management unit 330 can determine that the ticket information is invalid.

한편, 티켓 키 테이블에서 티켓 키가 추출된 경우, 디바이스 채널 관리부(330)는 추출된 티켓 키를 이용하여 티켓 정보에 포함된 티켓을 복호화할 수 있다. 이때, 티켓의 복호화에 실패한 경우, 디바이스 채널 관리부(330)는 티켓 정보가 유효하지 않은 것으로 판단할 수 있다. On the other hand, when the ticket key is extracted from the ticket key table, the device channel management unit 330 can decode the ticket included in the ticket information using the extracted ticket key. At this time, if the decryption of the ticket fails, the device channel management unit 330 can determine that the ticket information is invalid.

한편, 티켓 복호화에 성공한 경우, 디바이스 채널 관리부(330)는 복호화된 티켓에 포함된 시드 정보 및 채널 업그레이드 요청 메시지에 포함된 DMID를 이용하여 티켓의 유효성을 검증할 수 있다. 구체적으로, 후술할 바와 같이 시드 정보는 DMID 및 티켓 유효기간이 포함될 수 있으며, 디바이스 채널 관리부(330)는 시드 정보에 포함된 DMID와 채널 업그레이드 요청 메시지에 포함된 DMID가 일치하지 않거나, 시드 정보에 포함된 티켓 유효 기간이 경과한 경우, 티켓이 유효하지 않은 것으로 판단할 수 있다.On the other hand, when the ticket decryption is successful, the device channel management unit 330 can verify the validity of the ticket by using the DMID included in the seed information and the channel upgrade request message included in the decrypted ticket. Specifically, as described later, the seed information may include the DMID and the ticket validity period, and the device channel management unit 330 may determine that the DMID included in the seed information does not match the DMID included in the channel upgrade request message, If the included ticket validity period has elapsed, it can be determined that the ticket is invalid.

이후, 디바이스 채널 관리부(330)는 DMID 및 티켓 정보의 검증 결과에 따라 논 데이터 채널을 통해 채널 업그레이드 응답 메시지를 디바이스 관리 모듈(210)로 전송하여 논 데이터 채널을 데이터 채널로 변경할 수 있다(S330). Thereafter, the device channel management unit 330 may transmit the channel upgrade response message to the device management module 210 through the non-data channel according to the DMID and the result of the ticket information verification to change the non-data channel to the data channel (S330) .

구체적으로, 디바이스 채널 관리부(330)는 DMID 및 티켓 정보의 검증이 성공한 경우, 채널 업그레이드 성공 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. 반면, 디바이스 채널 관리부(330)는 DMID 및 티켓 정보 중 적어도 하나에 대한 검증이 실패한 경우, 채널 업그레이드 실패 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. Specifically, the device channel management unit 330 may transmit a channel upgrade success message to the device management module 210 when the DMID and the ticket information are successfully verified. On the other hand, if the verification of at least one of the DMID and the ticket information fails, the device channel management unit 330 may transmit a channel upgrade failure message to the device management module 210. [

도 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 device management module 210 generates a TLS channel with the device channel management unit 330 through the TLS protocol (S410). At this time, the TLS channel may be generated using, for example, a known TLS handshake protocol.

이후, 디바이스 관리 모듈(210)은 생성된 TLS 채널을 통해 채널 형성 요청 메시지를 디바이스 채널 관리부(330)로 전송한다(S420). 구체적으로, 디바이스 관리 모듈(210)은 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 요청 메시지를 디바이스 채널 관리부(330)로 전송할 수 있다. 또한, 채널 형성 요청 메시지는 디바이스 관리 모듈(210)의 DMID 및 티켓 정보를 포함할 수 있다.Then, the device management module 210 transmits a channel formation request message to the device channel management unit 330 through the generated TLS channel (S420). Specifically, the device management module 210 may transmit an encrypted channel formation request message to the device channel management unit 330 using the session key of the TLS channel. In addition, the channel formation request message may include the DMID and the ticket information of the device management module 210.

이후, 디바이스 채널 관리부(330)는 채널 형성 요청 메시지에 포함된 DMID와 티켓 정보를 검증한다(S430).Then, the device channel management unit 330 verifies the DMID and the ticket information included in the channel formation request message (S430).

예를 들어, 디바이스 채널 관리부(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 registration server 350 through a DMID issuing process to be described later, or is a DMID whose connection is blocked, It can be judged that the verification has failed.

또한, 디바이스 채널 관리부(330)는 티켓 정보에서 티켓 키 인덱스를 확인하고, 데이터베이스(370)에 저장된 티켓 키 테이블에서 해당 티켓 키 인덱스에 맵핑된 티켓 키를 추출할 수 있다. 이때, 티켓 키 테이블에 티켓 정보에 포함된 티켓 키 인덱스와 일치하는 티켓 키 인덱스가 존재하지 않는 경우, 디바이스 채널 관리부(330)는 티켓이 유효하지 않은 것으로 판단할 수 있다.The device channel management unit 330 may check the ticket key index in the ticket information and extract the ticket key mapped to the corresponding ticket key index in the ticket key table stored in the database 370. [ At this time, if there is no ticket key index matching the ticket key index included in the ticket information in the ticket key table, the device channel management unit 330 can determine that the ticket is invalid.

한편, 티켓 키 테이블에서 티켓 키가 추출된 경우, 디바이스 채널 관리부(330)는 추출된 티켓 키를 이용하여 티켓 정보에 포함된 티켓을 복호화할 수 있다. 이때, 티켓의 복호화에 실패한 경우, 디바이스 채널 관리부(330)는 티켓 정보가 유효하지 않은 것으로 판단할 수 있다. On the other hand, when the ticket key is extracted from the ticket key table, the device channel management unit 330 can decode the ticket included in the ticket information using the extracted ticket key. At this time, if the decryption of the ticket fails, the device channel management unit 330 can determine that the ticket information is invalid.

한편, 티켓 복호화에 성공한 경우, 디바이스 채널 관리부(330)는 복호화된 티켓에 포함된 시드 정보 및 채널 형성 요청 메시지에 포함된 DMID를 이용하여 티켓의 유효성을 검증할 수 있다. 구체적으로, 시드 정보에 포함된 DMID와 채널 형성 요청 메시지에 포함된 DMID가 일치하지 않거나, 시드 정보에 포함된 티켓 유효 기간이 경과한 경우, 디바이스 채널 관리부(330)는 티켓이 유효하지 않은 것으로 판단할 수 있다.On the other hand, when the ticket decryption is successful, the device channel management unit 330 can verify the validity of the ticket by using the DMID included in the seed information and the channel formation request message included in the decrypted ticket. Specifically, if the DMID included in the seed information does not match the DMID included in the channel formation request message, or if the ticket valid period included in the seed information has elapsed, the device channel management unit 330 determines that the ticket is invalid can do.

이후, 디바이스 채널 관리부(330)는 TLS 채널을 통해 채널 형성 응답 메시지를 디바이스 관리 모듈(210)로 전송하여 TLS 기반의 보안 채널을 형성한다(S440). 구체적으로, 디바이스 채널 관리부(330)는 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 응답 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. Then, the device channel management unit 330 transmits a channel establishment response message to the device management module 210 through the TLS channel to form a TLS-based secure channel (S440). Specifically, the device channel management unit 330 may transmit the encrypted channel formation response message to the device management module 210 using the session key of the TLS channel.

한편, 채널 형성 응답 메시지는 채널 형성 성공 메시지 또는 채널 형성 실패 메시지일 수 있다. 구체적으로, 디바이스 채널 관리부(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 channel management unit 330 may transmit a channel formation success message including the initial sequence number to the device management module 210. [ At this time, the initial sequence number can be randomly generated by the device channel management unit 330 when the DMID and the ticket information are successfully verified. On the other hand, if the verification of at least one of the DMID and the ticket information fails, the device channel management unit 330 may transmit a channel formation failure message to the device management module 210.

한편, 보안 채널 형성이 성공된 경우, 디바이스 관리 모듈(210)는 해당 보안 채널을 통해 전송되는 패킷에 시퀀스 넘버를 포함시킬 수 있다. 이때, 각 패킷에 포함되는 시퀀스 넘버는 초기 시퀀스 넘버를 시작으로 패킷 전송시마다 일정 크기만큼 증가될 수 있다. 또한, 디바이스 채널 관리부(330)는 수신된 패킷에 포함된 시퀀스 넘버를 확인하여 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 디바이스 관리 모듈(210)과 형성된 보안 채널을 차단할 수 있다.Meanwhile, when the secure channel is successfully formed, the device management module 210 may include the sequence number in the packet transmitted through the secure channel. At this time, the sequence number included in each packet may be increased by a predetermined amount every time the packet is transmitted starting from the initial sequence number. The device channel management unit 330 may check the sequence number included in the received packet and block the secure channel formed with the device management module 210 if the sequence number is the same as the sequence number of the previously received packet.

한편, 도 4에 도시된 과정은 디바이스 관리 모듈(210)에 발급된 티켓이 존재하는 경우에 수행될 수 있으며, 도 4에 도시된 과정을 통해 생성되는 보안 채널은 데이터 메시지 전송이 허용되는 데이터 채널일 수 있다4 may be performed when a ticket issued to the device management module 210 exists, and the secure channel generated through the process shown in FIG. 4 may include a data channel May be

서비스 관리 모듈과 서비스 채널 관리부 사이의 보안 채널 형성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 service management module 110 creates a TLS channel with the service channel management unit 310 through the TLS protocol (S510).

이후, 서비스 관리 모듈(110)은 생성된 TLS 채널을 통해 채널 형성 요청 메시지를 서비스 채널 관리부(310)로 전송한다(S520). 구체적으로, 서비스 관리 모듈(110)은 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 요청 메시지를 서비스 채널 관리부(310)로 전송할 수 있다. Thereafter, the service management module 110 transmits a channel establishment request message to the service channel management unit 310 through the generated TLS channel (S520). Specifically, the service management module 110 may transmit the encrypted channel formation request message to the service channel management unit 310 using the session key of the TLS channel.

한편, 채널 형성 요청 메시지는 서비스 관리 모듈(110)의 아이디(즉, SMGID 및 SMIID 중 적어도 하나) 및 티켓 정보를 포함할 수 있다. 이때, 티켓 정보는 티켓 및 티켓 키 인덱스를 포함할 수 있다. Meanwhile, the channel formation request message may include the ID (i.e., at least one of SMGID and SMIID) of the service management module 110 and ticket information. At this time, the ticket information may include a ticket and a ticket key index.

한편, 서비스 관리 모듈(110)의 티켓 정보는 예를 들어, 메시지 서버(300)의 관리자에 의해 사전 발급될 수 있다. 구체적으로, 서비스 관리 모듈(110)의 티켓 정보에 포함된 티켓은 시드 정보를 메시지 서버(300)의 데이터베이스(370)에 저장된 티켓 키 테이블에서 선택된 티켓 키로 암호화하여 생성될 수 있다. 이때, 시드 정보는, 예를 들어, 서비스 관리 모듈(110)의 아이디(즉, SMGID 및 SMIID 중 적어도 하나), 서비스 관리 모듈(100)를 포함하는 서버의 장치 정보(예를 들어, MAC 주소, IP 어드레스 등) 및 티켓 유효기간을 포함할 수 있다. 또한, 티켓 정보에 포함된 티켓 키 인덱스는 티켓 키 테이블에서 시드 정보 암호화를 위해 선택된 티켓 키에 맵핑된 티켓 키 인덱스일 수 있다.Meanwhile, the ticket information of the service management module 110 may be previously issued by the administrator of the message server 300, for example. Specifically, the ticket included in the ticket information of the service management module 110 may be generated by encrypting the seed information with the ticket key selected in the ticket key table stored in the database 370 of the message server 300. The seed information includes at least one of the ID of the service management module 110 (at least one of SMGID and SMIID), the device information of the server including the service management module 100 (for example, MAC address, IP address, etc.) and ticket validity period. The ticket key index included in the ticket information may be a ticket key index mapped to a ticket key selected for encryption of seed information in the ticket key table.

이후, 서비스 채널 관리부(310)는 채널 형성 요청 메시지에 포함된 아이디와 티켓 정보를 검증한다(S530).Thereafter, the service channel management unit 310 verifies the ID and the ticket information included in the channel formation request message (S530).

예를 들어, 서비스 채널 관리부(310)는 채널 형성 요청 메시지에 포함된 아이디가 메시지 서버(300)의 관리자에 의해 발급된 아이디가 아니거나, 접속이 차단된 아이디인 경우, 아이디 검증이 실패한 것으로 판단할 수 있다.For example, if the ID included in the channel forming request message is not the ID issued by the administrator of the message server 300, or if the connection is blocked, the service channel managing unit 310 determines that the ID verification has failed can do.

한편, 서비스 채널 관리부(310)는 티켓 정보에 포함된 티켓 키 인덱스를 확인하고, 데이터베이스(370)에 저장된 티켓 키 테이블에서 해당 티켓 키 인덱스에 맵핑된 티켓 키를 추출할 수 있다. 이때, 티켓 키 테이블에 티켓 정보에 포함된 티켓 키 인덱스와 일치하는 티켓 키 인덱스가 존재하지 않는 경우, 서비스 채널 관리부(310)는 티켓 정보가 유효하지 않은 것으로 판단할 수 있다. Meanwhile, the service channel management unit 310 may check the ticket key index included in the ticket information and extract the ticket key mapped to the corresponding ticket key index in the ticket key table stored in the database 370. [ At this time, if the ticket key table does not have a ticket key index matching the ticket key index included in the ticket information, the service channel management unit 310 can determine that the ticket information is invalid.

한편, 티켓 키 테이블에서 티켓 키가 추출된 경우, 서비스 채널 관리부(310)는 추출된 티켓 키를 이용하여 티켓 정보에 포함된 티켓을 복호화할 수 있다. 이때, 티켓의 복호화에 실패한 경우, 서비스 채널 관리부(310)는 티켓 정보가 유효하지 않은 것으로 판단할 수 있다. On the other hand, when the ticket key is extracted from the ticket key table, the service channel management unit 310 can decrypt the ticket included in the ticket information using the extracted ticket key. At this time, if the decryption of the ticket fails, the service channel management unit 310 can determine that the ticket information is invalid.

한편, 티켓 복호화에 성공한 경우, 서비스 채널 관리부(310)는 복호화된 티켓에 포함된 시드 정보 및 채널 형성 요청 메시지에 포함된 아이디를 이용하여 티켓의 유효성을 검증할 수 있다. 구체적으로, 시드 정보에 포함된 아이디와 채널 형성 요청 메시지에 포함된 서비스 관리 모듈(110)의 아이디가 일치하지 않거나, 시드 정보에 포함된 티켓 유효 기간이 경과한 경우, 서비스 채널 관리부(310)는 티켓이 유효하지 않은 것으로 판단할 수 있다.On the other hand, when the ticket decryption is successful, the service channel management unit 310 can verify the validity of the ticket using the seed included in the decrypted ticket and the ID included in the channel formation request message. Specifically, if the ID included in the seed information does not match the ID of the service management module 110 included in the channel formation request message, or if the ticket valid period included in the seed information has elapsed, the service channel management unit 310 It can be determined that the ticket is not valid.

이후, 서비스 채널 관리부(310)는 TLS 채널을 통해 채널 형성 응답 메시지를 서비스 관리 모듈(110)로 전송하여 TLS 기반의 보안 채널을 형성한다(S540). 구체적으로, 서비스 채널 관리부(310)는 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 응답 메시지를 서비스 관리 모듈(110)로 전송할 수 있다. Then, the service channel management unit 310 transmits a channel establishment response message to the service management module 110 through the TLS channel to form a TLS-based secure channel (S540). Specifically, the service channel management unit 310 may transmit an encrypted channel establishment response message to the service management module 110 using the session key of the TLS channel.

한편, 채널 형성 응답 메시지는 채널 형성 성공 메시지 또는 채널 형성 실패 메시지일 수 있다. 구체적으로, 서비스 채널 관리부(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 channel management unit 310 may transmit a channel formation success message including the initial sequence number to the service management module 110. At this time, the initial sequence number can be randomly generated by the service channel management unit 310 when the verification of the ID and the ticket information is successful. On the other hand, if the verification of at least one of the ID and the ticket information fails, the service channel management unit 310 may transmit a channel formation failure message to the service management module 110.

한편, 보안 채널 형성이 성공된 경우, 서비스 관리 모듈(110)은 해당 보안 채널을 통해 전송되는 패킷에 시퀀스 넘버를 포함시킬 수 있다. 이때, 각 패킷에 포함되는 시퀀스 넘버는 초기 시퀀스 넘버를 시작으로 패킷 전송시마다 일정 크기만큼 증가될 수 있다. 또한, 서비스 채널 관리부(310)는 수신된 패킷에 포함된 시퀀스 넘버를 확인하여 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 서비스 관리 모듈(110)과 형성된 보안 채널을 차단할 수 있다.Meanwhile, when the secure channel is successfully formed, the service management module 110 may include the sequence number in the packet transmitted through the secure channel. At this time, the sequence number included in each packet may be increased by a predetermined amount every time the packet is transmitted starting from the initial sequence number. In addition, the service channel manager 310 may check the sequence number included in the received packet and block the secure channel formed with the service management module 110 if the sequence number is the same as the sequence number of the previously received packet.

한편, 도 5에 도시된 과정은 서비스 관리 모듈(110)에 발급된 티켓이 존재하는 경우에 수행될 수 있으며, 도 5에 도시된 과정을 통해 생성되는 보안 채널은 데이터 메시지 전송이 허용되는 데이터 채널일 수 있다5 may be performed when there is a ticket issued to the service management module 110. The secure channel generated through the process shown in FIG. 5 may be a data channel May be

디바이스 관리 모듈과 등록 서버 사이의 보안 채널 형성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 device management module 210 creates a TLS channel with the registration server 350 through the TLS protocol (S610). At this time, the TLS channel may be generated using, for example, a known TLS handshake protocol.

이후, 디바이스 관리 모듈(210)은 생성된 TLS 채널을 통해 채널 형성 요청 메시지를 등록 서버(350)로 전송한다(S620). 구체적으로, 디바이스 관리 모듈(210)은 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 요청 메시지를 등록 서버(350)로 전송할 수 있다. 한편, 채널 형성 요청 메시지는 디바이스 관리 모듈(210)의 DMID를 포함할 수 있다.Thereafter, the device management module 210 transmits a channel establishment request message to the registration server 350 through the generated TLS channel (S620). Specifically, the device management module 210 may transmit the encrypted channel formation request message to the registration server 350 using the session key of the TLS channel. Meanwhile, the channel formation request message may include the DMID of the device management module 210.

이후, 등록 서버(350)는 채널 형성 요청 메시지에 포함된 DMID를 검증한다(S630). 구체적으로, 등록 서버(350)는 TLS 채널의 세션 키를 이용하여 수신된 채널 형성 요청 메시지를 복호화한 후, 복호화된 채널 형성 요청 메시지에 포함된 DMID를 검증할 수 있다. 이때, 등록 서버(350)는 예를 들어, 수신된 DMID가 후술할 DMID 발급 과정을 통해 등록 서버(350)에 의해 발급된 DMID가 아니거나, 접속이 차단된 DMID인 경우, DMID 검증이 실패한 것으로 판단할 수 있다. Thereafter, the registration server 350 verifies the DMID included in the channel establishment request message (S630). Specifically, the registration server 350 may decrypt the received channel formation request message using the session key of the TLS channel, and then verify the DMID included in the decoded channel formation request message. At this time, if the received DMID is not the DMID issued by the registration server 350 through the DMID issuing process, which will be described later, or the DMID whose connection is blocked, the registration server 350 judges that the DMID verification has failed It can be judged.

이후, 등록 서버(350)는 TLS 채널을 통해 채널 형성 응답 메시지를 디바이스 관리 모듈(210)로 전송하여 TLS 기반의 보안 채널을 형성한다(S640). 구체적으로, 등록 서버(350)는 TLS 채널의 세션 키를 이용하여 암호화된 채널 형성 응답 메시지를 디바이스 채널 관리부(330)로 전송할 수 있다. Thereafter, the registration server 350 transmits a channel establishment response message to the device management module 210 through the TLS channel to form a TLS-based secure channel (S640). Specifically, the registration server 350 may transmit the encrypted channel establishment response message to the device channel management unit 330 using the session key of the TLS channel.

한편, 채널 형성 응답 메시지는 채널 형성 성공 메시지 또는 채널 형성 실패 메시지일 수 있다. 구체적으로, 등록 서버(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 registration server 350 may transmit a channel formation success message including the initial sequence number to the device management module 210. [ At this time, the initial sequence number can be randomly generated by the registration server 350 when the DMID verification is successful. On the other hand, if the DMID verification fails, the registration server 350 can transmit a channel formation failure message to the device management module 210.

한편, 보안 채널 형성이 성공된 경우, 디바이스 관리 모듈(210)는 해당 보안 채널을 통해 전송되는 패킷에 시퀀스 넘버를 포함시킬 수 있다. 이때, 각 패킷에 포함되는 시퀀스 넘버는 초기 시퀀스 넘버를 시작으로 패킷 전송시마다 일정 크기만큼 증가될 수 있다. 또한, 등록 서버(350)는 수신된 패킷에 포함된 시퀀스 넘버를 확인하여 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 디바이스 관리 모듈(210)과 형성된 보안 채널을 차단할 수 있다.Meanwhile, when the secure channel is successfully formed, the device management module 210 may include the sequence number in the packet transmitted through the secure channel. At this time, the sequence number included in each packet may be increased by a predetermined amount every time the packet is transmitted starting from the initial sequence number. Also, the registration server 350 may check the sequence number included in the received packet and block the secure channel formed with the device management module 210 if the sequence number is the same as the sequence number of the previously received packet.

한편, 도 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 service management module 110 forms a secure channel with the service channel management unit 310 (S710). At this time, the secure channel can be generated through the procedure shown in Fig. 5, for example.

이후, 서비스 관리 모듈(110)은 애플리케이션 서버(130)로부터 등록 요청을 수신한다(S720). 이때, 애플리케이션 서버(130)로부터 수신되는 등록 요청은 애플리케이션 서버(130)의 아이디(즉, APID 및 APIID 중 적어도 하나)를 포함할 수 있다.Thereafter, the service management module 110 receives a registration request from the application server 130 (S720). At this time, the registration request received from the application server 130 may include the ID of the application server 130 (i.e., at least one of APID and APIID).

이후, 서비스 관리 모듈(110)은 보안 채널을 통해 서비스 채널 관리부(310)로 애플리케이션 서버 등록 메시지를 전송한다(S730). 이때, 애플리케이션 서버 등록 메시지는 서비스 관리 모듈(110)의 아이디(즉, SMGID 및 SMIID 중 적어도 하나)와 애플리케이션 서버(130)의 아이디(즉, APID 및 APIID 중 적어도 하나)를 포함할 수 있다. Thereafter, the service management module 110 transmits an application server registration message to the service channel management unit 310 via the secure channel (S730). At this time, the application server registration message may include the ID (i.e., at least one of SMGID and SMIID) of the service management module 110 and the ID (i.e., at least one of APID and APIID) of the application server 130.

이후, 서비스 채널 관리부(310)는 서비스 관리 모듈(110)로 애플리케이션 서버 등록 응답 메시지를 전송한다(S740). 구체적으로, 서비스 채널 관리부(310)는 애플리케이션 서버 등록 요청 메시지에 포함된 서비스 관리 모듈(110)의 아이디 및 애플리케이션 서버(130)의 아이디를 검증하고, 검증 결과에 따라 애플리케이션 서버 등록 성공 메시지 또는 애플리케이션 서버 등록 실패 메시지를 전송할 수 있다.Thereafter, the service channel management unit 310 transmits an application server registration response message to the service management module 110 (S740). Specifically, the service channel management unit 310 verifies the ID of the service management module 110 and the ID of the application server 130 included in the application server registration request message, and, based on the verification result, A registration failure message can be transmitted.

예를 들어, 서비스 채널 관리부(310)는 애플리케이션 서버 등록 요청 메시지에 포함된 서비스 관리 모듈(110)의 아이디(즉, SMGID 및 SMIID 중 적어도 하나) 또는 애플리케이션 서버(130)의 아이디가 접속 차단된 아이디이거나, 메시지 서버(300)의 관리자에 의해 발급된 아이디인지 여부에 따라 검증을 수행할 수 있다.For example, the service channel manager 310 determines whether the ID of the service management module 110 included in the application server registration request message (at least one of SMGID and SMIID) or the ID of the application server 130 is an ID Or an ID issued by the administrator of the message server 300. [0064]

한편, 검증이 성공된 경우, 서비스 채널 관리부(310)는 애플리케이션 서버 등록 요청 메시지에 포함된 서비스 관리 모듈(110)의 아이디와 애플리케이션 서버의 아이디를 맵핑하여 데이터베이스(370)에 저장된 제1 라우팅 테이블에 추가할 수 있다. If the verification is successful, the service channel management unit 310 maps the ID of the service management module 110 included in the application server registration request message and the ID of the application server to the first routing table stored in the database 370 Can be added.

이후, 서비스 관리 모듈(110)은 애플리케이션 서버(130)로 애플리케이션 서버(130)의 등록 결과를 전송한다(S750).Thereafter, the service management module 110 transmits the registration result of the application server 130 to the application server 130 (S750).

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 device management module 210 receives an application service activation request from the application client 230 (S810).

이후, 디바이스 관리 모듈(210)은 자신에게 발급된 DMID가 없는 경우, TLS 프로토콜을 통해 등록 서버(350)와 TLS 채널을 형성한다(S820). 이때, TLS 채널은 예를 들어, 공지된 TLS 핸드쉐이크 프로토콜을 이용하여 생성될 수 있다.Thereafter, if there is no DMID issued to the device management module 210, the device management module 210 forms a TLS channel with the registration server 350 through the TLS protocol (S820). At this time, the TLS channel may be generated using, for example, a known TLS handshake protocol.

이후, 디바이스 관리 모듈(210)은 생성된 TLS 채널을 통해 DMID 생성을 위한 시드 정보를 포함하는 DMID 요청 메시지를 등록 서버(350)로 전송한다(S830). 구체적으로, 디바이스 관리 모듈(210)은 TLS 채널의 세션 키를 이용하여 암호화된 DMID 요청 메시지를 등록 서버(350)로 전송할 수 있다.Thereafter, the device management module 210 transmits a DMID request message including seed information for DMID generation to the registration server 350 through the generated TLS channel (S830). Specifically, the device management module 210 may transmit the encrypted DMID request message to the registration server 350 using the session key of the TLS channel.

한편, 시드 정보는 예를 들어, 디바이스 관리 모듈(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 device management module 210 and the APID of the application client 230 have.

이후, 등록 서버(350)는 디바이스 관리 모듈(210)로부터 수신된 시드 정보에 기초하여 디바이스 관리 모듈(310)에 대한 DMID를 생성하고, 접속 가능한 디바이스 채널 관리부(330)를 디바이스 관리 모듈(210)에 할당한다(S840). 이때, 등록 서버(350)는 생성된 DMID와 사용자 디바이스(200)의 디바이스 정보를 데이터베이스(370)에 저장할 수 있따.The registration server 350 then generates the DMID for the device management module 310 based on the seed information received from the device management module 210 and transmits the DMID to the device management module 210, (S840). At this time, the registration server 350 can store the generated DMID and the device information of the user device 200 in the database 370.

이후, 등록 서버(350)는 생성된 TLS 채널을 통해 DMID 요청 응답 메시지를 디바이스 관리 모듈(210)로 전송한다(S850). 구체적으로, 등록 서버(350)는 TLS 채널의 세션 키를 이용하여 암호화된 DMID 요청 응답 메시지를 디바이스 관리 모듈(210)로 전송할 수 있다. Thereafter, the registration server 350 transmits a DMID request response message to the device management module 210 through the generated TLS channel (S850). Specifically, the registration server 350 may transmit the encrypted DMID request response message to the device management module 210 using the session key of the TLS channel.

한편, DMID 요청 응답 메시지는 등록 서버(350)에 의해 생성된 DMID와 디바이스 관리 모듈(210)에 할당된 디바이스 채널 관리부(330)에 대한 접속 정보(예를 들어, IP 어드레스, 포트 번호 등)를 포함할 수 있다.The DMID request response message includes DMID generated by the registration server 350 and connection information (e.g., IP address, port number, etc.) to the device channel management unit 330 allocated to the device management module 210 .

이후, 디바이스 관리 모듈(210)은 TLS 채널의 세션 키를 이용하여 DMID 요청 응답 메시지를 복호화하고, DMID 요청 응답 메시지에 포함된 DMID와 디바이스 채널 관리부(330)에 대한 접속 정보를 데이터베이스(250)에 저장한다(S860).Thereafter, the device management module 210 decrypts the DMID request response message using the session key of the TLS channel, and transmits the DMID included in the DMID request response message and the access information to the device channel management unit 330 to the database 250 (S860).

애플리케이션 서비스 활성화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 device management module 210 receives an application service activation request from the application client 230 (S901). At this time, the application service activation request may include, for example, the APID of the application client 230 and the user authentication information. At this time, the user authentication information may include, for example, a user ID and a password.

서비스 활성화 요청을 수신한 디바이스 관리 모듈(210)은 데이터베이스(250)에 DMID가 저장되어 있는지 여부를 확인하고, 저장되어 있지 않은 경우, 도 8에 도시된 DMID 발행 절차를 수행할 수 있다. Upon receiving the service activation request, the device management module 210 checks whether the DMID is stored in the database 250. If the DMID is not stored, the device management module 210 can perform the DMID issuance procedure shown in FIG.

한편, DMID가 저장되어 있는 경우, 디바이스 관리 모듈(210)은 자신에게 할당된 디바이스 채널 관리부(330)와 보안 채널을 형성한다(S902). 이때, 보안 채널은 예를 들어, 도 2에 도시된 과정을 통해 형성된 보안 채널일 수 있다. On the other hand, if the DMID is stored, the device management module 210 forms a secure channel with the device channel management unit 330 allocated to the device management module 210 (S902). At this time, the secure channel may be a secure channel formed through, for example, the process shown in FIG.

이후, 디바이스 관리 모듈(210)은 보안 채널을 통해 디바이스 채널 관리부(330)로 SMGID 요청 메시지를 전송한다(S903). 이때, SMGID 요청 메시지는 디바이스 관리 모듈(210)의 DMID 및 애플리케이션 클라이언트(230)의 APID를 포함할 수 있다. Thereafter, the device management module 210 transmits an SMGID request message to the device channel management unit 330 through the secure channel (S903). At this time, the SMGID request message may include the DMID of the device management module 210 and the APID of the application client 230.

이후, 디바이스 채널 관리부(330)는 데이터베이스(370)에 저장된 제1 라우팅 테이블에서, SMGID 요청 메시지에 포함된 APID에 맵핑된 SMGID를 추출한 후, 추출된 SMGID를 포함하는 SMGID 응답 메시지를 디바이스 관리 모듈(210)으로 전송한다(S904). Then, the device channel management unit 330 extracts the SMGID mapped to the APID included in the SMGID request message in the first routing table stored in the database 370, and transmits the SMGID response message including the extracted SMGID to the device management module 210 (S904).

이후, 디바이스 관리 모듈(210)은 수신된 SMGID와 애플리케이션 클라이언트(230)의 APID를 맵핑하여 데이터베이스(250)에 저장한다(S905).Then, the device management module 210 maps the received SMGID to the APID of the application client 230 and stores it in the database 250 (S905).

이후, 디바이스 관리 모듈(210)은 보안 채널을 통해 디바이스 채널 관리부(330)로 애플리케이션 클라이언트 등록 요청 메시지를 전송한다(S906). 이때, 애플리케이션 클라이언트 등록 요청 메시지는 라우팅 정보, 디바이스 관리 모듈(210)의 DMID, 애플리케이션 클라이언트(230)의 APID 및 사용자 아이디를 포함할 수 있다. 한편, 라우팅 정보는 애플리케이션 클라이언트 등록 요청 메시지의 출발지와 도착지를 포함할 수 있다. 예를 들어, 라우팅 정보에 포함된 출발지는 디바이스 관리 모듈(210)의 DMID일 수 있으며, 도착지는 서비스 관리 모듈(110)의 SMGID일 수 있다.Thereafter, the device management module 210 transmits an application client registration request message to the device channel management unit 330 through the secure channel (S906). At this time, the application client registration request message may include routing information, the DMID of the device management module 210, the APID of the application client 230, and a user ID. On the other hand, the routing information may include the source and destination of the application client registration request message. For example, the source included in the routing information may be the DMID of the device management module 210, and the destination may be the SMGID of the service management module 110.

이후, 디바이스 채널 관리부(330)는 수신된 애플리케이션 클라이언트 등록 요청 메시지를 서비스 채널 관리부(310)로 전달한다(S907). 구체적으로, 디바이스 채널 관리부(330)는 데이터베이스(370)에 저장된 제2 라우팅 테이블에서 클라이언트 등록 요청 메시지의 라우팅 정보에 도착지로 포함된 SMGID에 맵핑된 서비스 채널 관리부(310)의 접속 정보를 식별할 수 있다. 또한, 디바이스 채널 관리부(330)는 식별된 접속 정보를 이용하여 서비스 채널 관리부(310)로 애플리케이션 클라이언트 등록 요청 메시지를 전달할 수 있다.Then, the device channel management unit 330 delivers the received application client registration request message to the service channel management unit 310 (S907). Specifically, the device channel management unit 330 can identify the access information of the service channel management unit 310 mapped to the SMGID included as the destination in the routing information of the client registration request message in the second routing table stored in the database 370 have. In addition, the device channel management unit 330 can transmit an application client registration request message to the service channel management unit 310 using the identified access information.

이후, 서비스 채널 관리부(310)는 서비스 관리 모듈(110)과 형성된 보안 채널을 통해 서비스 관리 모듈(110)로 애플리케이션 클라이언트 등록 요청 메시지를 전송한다(S908). 구체적으로, 서비스 채널 관리부(110)는 애플리케이션 클라이언트 등록 요청 메시지의 라우팅 정보에 도착지로 포함된 SMGID에 기초하여 서비스 관리 모듈(110)로 애플리케이션 클라이언트 등록 요청 메시지를 전송할 수 있다. 한편, 서비스 관리 모듈(110)과 형성된 보안 채널은 예를 들어, 도 5에 도시된 과정을 통해 형성된 보안 채널일 수 있다.Thereafter, the service channel management unit 310 transmits an application client registration request message to the service management module 110 through the secure channel formed with the service management module 110 (S908). Specifically, the service channel manager 110 may transmit an application client registration request message to the service management module 110 based on the SMGID included in the routing information of the application client registration request message. Meanwhile, the secure channel formed with the service management module 110 may be a secure channel formed through, for example, the process shown in FIG.

이후, 서비스 관리 모듈(110)은 애플리케이션 클라이언트 등록 요청 메시지에 포함된 DMID와 사용자 아이디를 맵핑하여 데이터 베이스(150)에 저장된 사용자 테이블에 추가한다(S909).Then, the service management module 110 maps the DMID and the user ID included in the application client registration request message to the user table stored in the database 150 (S909).

이후, 서비스 관리 모듈(110)은 보안 채널을 통해 애플리케이션 클라이언트 등록 응답 메시지를 서비스 채널 관리부(110)로 전송한다(S910). 이때, 애플리케이션 클라이언트 등록 응답 메시지는 라우팅 정보 및 애플리케이션 클라이언트 등록 결과를 포함할 수 있다. 한편, 라우팅 정보는 애플리케이션 클라이언트 등록 응답 메시지의 출발지와 도착지를 포함할 수 있다. 예를 들어, 라우팅 정보에 포함된 출발지는 예를 들어, 서비스 관리 모듈(110)의 SMGID일 수 있으며, 도착지는 디바이스 관리 모듈(210)의 DMID일 수 있다.Thereafter, the service management module 110 transmits an application client registration response message to the service channel management unit 110 via the secure channel (S910). At this time, the application client registration response message may include the routing information and the application client registration result. On the other hand, the routing information may include the origin and destination of the application client registration response message. For example, the source included in the routing information may be, for example, the SMGID of the service management module 110, and the destination may be the DMID of the device management module 210.

이후, 서비스 채널 관리부(310)는 수신된 클라이언트 등록 응답 메시지를 디바이스 채널 관리부(330)로 전달한다(S911). 구체적으로, 서비스 채널 관리부(310)는 데이터베이스(370)에 저장된 제3 라우팅 테이블에서 클라이언트 등록 응답 메시지의 라우팅 정보에 도착지로 포함된 DMID에 맵핑된 디바이스 채널 관리부(330)의 접속 정보를 식별할 수 있다. 또한, 서비스 채널 관리부(310)는 식별된 접속 정보를 이용하여 디바이스 채널 관리부(330)로 애플리케이션 클라이언트 등록 응답 메시지를 전달할 수 있다.Thereafter, the service channel management unit 310 transmits the received client registration response message to the device channel management unit 330 (S911). Specifically, the service channel management unit 310 can identify the access information of the device channel management unit 330 mapped to the DMID included as the destination in the routing information of the client registration response message in the third routing table stored in the database 370 have. In addition, the service channel management unit 310 can transmit an application client registration response message to the device channel management unit 330 using the identified access information.

이후, 디바이스 채널 관리부(330)는 애플리케이션 클라이언트 등록 응답 메시지의 라우팅 정보에 포함된 DMID에 기초하여 보안 채널을 통해 디바이스 관리 모듈(210)로 애플리케이션 클라이언트 등록 응답 메시지를 전송한다(S912).Then, the device channel management unit 330 transmits an application client registration response message to the device management module 210 via the secure channel based on the DMID included in the routing information of the application client registration response message (S912).

한편, 애플리케이션 클라이언트 등록이 성공된 경우, 디바이스 관리 모듈(210)은 보안 채널을 통해 사용자 인증 요청 메시지를 디바이스 채널 관리부(330)로 전송한다(S913). 이때, 사용자 인증 요청 메시지는 라우팅 정보, 디바이스 관리 모듈(210)의 DMID, 애플리케이션 클라이언트(230)의 APID 및 사용자 인증 정보를 포함할 수 있다. 한편, 라우팅 정보는 클라이언트 등록 요청 메시지의 출발지와 도착지를 포함할 수 있다. 예를 들어, 라우팅 정보에 포함된 출발지는 디바이스 관리 모듈(210)의 DMID일 수 있으며, 도착지는 애플리케이션 클라이언트(230)의 APID 일 수 있다. 또한, 사용자 인증 정보는 예를 들어, 사용자 아이디 및 패스워드를 포함할 수 있다.On the other hand, if the application client registration is successful, the device management module 210 transmits a user authentication request message to the device channel management unit 330 through the secure channel (S913). At this time, the user authentication request message may include routing information, DMID of the device management module 210, APID of the application client 230, and user authentication information. On the other hand, the routing information may include the source and destination of the client registration request message. For example, the source included in the routing information may be the DMID of the device management module 210, and the destination may be the APID of the application client 230. In addition, the user authentication information may include, for example, a user ID and a password.

이후, 디바이스 채널 관리부(330)는 수신된 사용자 인증 요청 메시지를 서비스 채널 관리부(310)로 전달한다(S914). 구체적으로, 디바이스 채널 관리부(330)는 데이터베이스(370)에 저장된 제1 라우팅 테이블에서 사용자 인증 요청 메시지의 라우팅 정보에 도착지로 포함된 APID에 맵핑된 SMGID를 식별하고, 식별된 SMGID를 라우팅 정보에 경유지로 추가할 수 있다. 또한, 디바이스 채널 관리부(330)는 데이터베이스(370)에 저장된 제2 라우팅 테이블에서 식별된 SMGID에 맵핑된 서비스 채널 관리부(310)의 접속 정보를 식별할 수 있다. 이후, 디바이스 채널 관리부(330)는 식별된 서비스 채널 관리부(310)의 접속 정보를 이용하여 서비스 채널 관리부(310)로 애플리케이션 클라이언트 등록 요청 메시지를 전달할 수 있다.Then, the device channel management unit 330 delivers the received user authentication request message to the service channel management unit 310 (S914). Specifically, the device channel management unit 330 identifies the SMGID mapped to the APID included as the destination in the routing information of the user authentication request message in the first routing table stored in the database 370, and transmits the identified SMGID to the routing information Can be added. The device channel management unit 330 may identify the access information of the service channel management unit 310 mapped to the SMGID identified in the second routing table stored in the database 370. [ The device channel management unit 330 can then transmit the application client registration request message to the service channel management unit 310 using the access information of the identified service channel management unit 310. [

이후, 서비스 채널 관리부(310)는 보안 채널을 통해 서비스 관리 모듈(110)로 사용자 인증 요청 메시지를 전송한다(S915). 구체적으로, 서비스 채널 관리부(310)는 데이터베이스(370)에 저장된 제1 라우팅 테이블에서 사용자 인증 요청 메시지의 라우팅 정보에 경유지로 포함된 SMGID 에 기초하여 서비스 관리 모듈(110)로 사용자 인증 요청 메시지를 전송할 수 있다.Thereafter, the service channel management unit 310 transmits a user authentication request message to the service management module 110 through the secure channel (S915). Specifically, the service channel management unit 310 transmits a user authentication request message to the service management module 110 based on the SMGID included in the routing information of the user authentication request message in the first routing table stored in the database 370 .

이후, 서비스 관리 모듈(110)은 사용자 인증 요청 메시지에 포함된 사용자 인증 정보를 애플리케이션 서버(130)로 전송한다(S916).Thereafter, the service management module 110 transmits the user authentication information included in the user authentication request message to the application server 130 (S916).

이후, 애플리케이션 서버(130)는 사용자 인증 정보를 이용하여 사용자 인증을 수행하고, 서비스 관리 모듈(110)로 인증 결과 전송을 요청한다(S917). 이때, 애플리케이션 서버(130)는 인증 결과와 함께 사용자 아이디 및 APID를 서비스 관리 모듈(110)로 전달할 수 있다.Then, the application server 130 performs user authentication using the user authentication information, and requests the service management module 110 to transmit the authentication result (S917). At this time, the application server 130 may transmit the user ID and the APID to the service management module 110 together with the authentication result.

이후, 서비스 관리 모듈(110)은 사용자 인증 응답 메시지를 생성하고, 보안 채널을 통해 생성된 사용자 인증 응답 메시지를 서비스 채널 관리부(310)로 전송한다(S918). 이때, 사용자 인증 응답 메시지는 라우팅 정보, 사용자 아이디, 애플리케이션 서버(130)의 APID, 디바이스 관리 모듈(210)의 DMID 및 인증 결과를 포함할 수 있다. 또한, 라우팅 정보는 사용자 인증 응답 메시지의 출발지와 도착지를 포함할 수 있다. 예를 들어, 라우팅 정보에 포함된 출발지는 서비스 관리 모듈(110)의 SMGID일 수 있으며, 도착지는 디바이스 관리 모듈(210)의 DMID 일 수 있다. 이때, 서비스 관리 모듈(110)은 데이터베이스(170)에 저장된 사용자 테이블에서 애플리케이션 서버(130)로부터 수신된 사용자 아이디에 맵핑된 DMID를 식별한 후 식별된 DMID를 도착지로 설정할 수 있다.Thereafter, the service management module 110 generates a user authentication response message, and transmits the user authentication response message generated through the secure channel to the service channel management unit 310 (S918). At this time, the user authentication response message may include routing information, a user ID, an APID of the application server 130, a DMID of the device management module 210, and an authentication result. In addition, the routing information may include a source and a destination of the user authentication response message. For example, the source included in the routing information may be the SMGID of the service management module 110, and the destination may be the DMID of the device management module 210. At this time, the service management module 110 may identify the DMID mapped to the user ID received from the application server 130 in the user table stored in the database 170, and set the identified DMID as the destination.

이후, 서비스 채널 관리부(310)는 수신된 사용자 인증 응답 메시지를 디바이스 채널 관리부(330)로 전달한다(S918). 구체적으로, 서비스 채널 관리부(310)는 데이터베이스(370)에 저장된 제3 라우팅 테이블에서 사용자 인증 응답 메시지의 라우팅 정보에 도착지로 포함된 DMID에 맵핑된 디바이스 채널 관리부(330)의 접속 정보를 식별할 수 있다. 또한, 서비스 채널 관리부(310)는 식별된 접속 정보를 이용하여 디바이스 채널 관리부(310)로 애플리케이션 클라이언트 등록 요청 메시지를 전달할 수 있다.Thereafter, the service channel management unit 310 transmits the received user authentication response message to the device channel management unit 330 (S918). Specifically, the service channel management unit 310 can identify the access information of the device channel management unit 330 mapped to the DMID included as the destination in the routing information of the user authentication response message in the third routing table stored in the database 370 have. In addition, the service channel management unit 310 can transmit an application client registration request message to the device channel management unit 310 using the identified access information.

이후, 디바이스 채널 관리부(330)는 사용자 인증 응답 메시지의 라우팅 정보에 도착지로 포함된 DMID에 기초하여 보안 채널을 통해 디바이스 관리 모듈(210)로 사용자 인증 요청 응답 메시지를 전송한다(S920). Then, the device channel management unit 330 transmits a user authentication request response message to the device management module 210 through the secure channel based on the DMID included as the destination in the routing information of the user authentication response message (S920).

이후, 디바이스 관리 모듈(210)은 사용자 인증 응답 메시지에 포함된 인증 결과를 확인하고, 사용자 인증이 성공한 경우, 디바이스 채널 관리부(330)와 형성된 보안 채널을 통해 디바이스 채널 관리부(330)로 티켓 발급 요청 메시지를 전송한다(S921). 이때, 티켓 발급 요청 메시지는 사용자 디바이스(300) 정보(예를 들어, IP 주소, MAC 주소, 전화 번호 등) 및 디바이스 관리 모듈(210)의 DMID를 포함할 수 있다.The device management module 210 confirms the authentication result included in the user authentication response message. If the user authentication is successful, the device management module 210 issues a ticket issue request to the device channel management unit 330 through the secure channel formed with the device channel management unit 330 Message (S921). At this time, the ticket issuance request message may include information of the user device 300 (for example, IP address, MAC address, telephone number, etc.) and DMID of the device management module 210.

이후, 디바이스 채널 관리부(330)는 디바이스 관리 모듈 등록 확인 요청 메시지를 서비스 채널 관리부(310)로 전송한다(S922). 이때, 디바이스 관리 모듈 등록 확인 요청 메시지는 디바이스 관리 모듈(210)의 DMID를 포함할 수 있다.Thereafter, the device channel management unit 330 transmits a device management module registration confirmation request message to the service channel management unit 310 (S922). At this time, the device management module registration confirmation request message may include the DMID of the device management module 210.

이후, 서비스 채널 관리부(310)는 서비스 관리 모듈(110)과 형성된 보안 채널을 통해 디바이스 관리 모듈 등록 확인 요청 메시지를 서비스 관리 모듈(110)로 전송한다(S923).Thereafter, the service channel management unit 310 transmits a device management module registration confirmation request message to the service management module 110 through the secure channel formed with the service management module 110 (S923).

이후, 서비스 관리 모듈(110)은 수신된 디바이스 관리 모듈 등록 확인 요청 메시지에 포함된 DMID가 데이터베이스(150)에 저장된 사용자 테이블에 포함되어 있는지 여부를 판단한 후, 보안 채널을 통해 디바이스 관리 모듈 등록 확인 메시지를 서비스 채널 관리부(310)로 전송한다(S924). 이때, 디바이스 관리 모듈 등록 확인 메시지는 디바이스 관리 모듈(210)의 DMID 및 등록 확인 결과를 포함할 수 있다. After that, the service management module 110 determines whether the DMID included in the received device management module registration confirmation request message is included in the user table stored in the database 150, and then transmits a device management module registration confirmation message To the service channel management unit 310 (S924). At this time, the device management module registration confirmation message may include the DMID and the registration confirmation result of the device management module 210.

이후, 서비스 채널 관리부(310)는 수신된 디바이스 관리 모듈 등록 확인 메시지를 디바이스 채널 관리부(330)로 전달한다(S925).Thereafter, the service channel management unit 310 transmits the received device management module registration confirmation message to the device channel management unit 330 (S925).

이후, 디바이스 채널 관리부(330)는 디바이스 관리 모듈(210)이 등록되어 있는 경우, 디바이스 관리 모듈(210)에 대한 티켓 정보를 생성한다(S926). 이때, 티켓 정보는 티켓 및 티켓 키 인덱스를 포함할 수 있다. 구체적으로, 디바이스 채널 관리부(330)는 티켓 키 테이블에서 하나의 티켓 키를 선택할 수 있다. 이때, 티켓 키 테이블은 데이터베이스(370) 내에 사전 저장되어 있을 수 있으며, 복수의 티켓 키 및 복수의 티켓 키 각각에 맵핑된 티켓 키 인덱스를 포함할 수 있다. 이후, 디바이스 채널 관리부(330)는 시드 정보를 선택된 티켓 키로 암호화하여 디바이스 관리 모듈(310)에 대한 티켓을 생성할 수 있다. 이때, 암호화는 예를 들어, AES 알고리즘을 이용하여 수행될 수 있으나, 반드시 이에 한정되는 것은 아니며, AES 알고리즘 외에도 공지된 다양한 대칭키 암호화 알고리즘을 이용하여 수행될 수 있다. 한편, 시드 정보는 예를 들어, 티켓의 유효 기간, 티켓 발급 요청 메시지를 통해 수신된 사용자 디바이스(300) 정보 및 디바이스 관리 모듈(210)의 DMID를 포함할 수 있다. 이후, 등록 서버(350)는 생성된 티켓과 해당 티켓 생성을 위해 선택된 티켓 키에 맵핑된 티켓 키 인덱스를 포함하는 티켓 정보를 생성할 수 있다.Then, when the device management module 210 is registered, the device channel management unit 330 generates ticket information for the device management module 210 (S926). At this time, the ticket information may include a ticket and a ticket key index. Specifically, the device channel management unit 330 can select one ticket key from the ticket key table. At this time, the ticket key table may be pre-stored in the database 370, and may include a plurality of ticket keys and a ticket key index mapped to each of the plurality of ticket keys. Thereafter, the device channel management unit 330 can generate the ticket for the device management module 310 by encrypting the seed information with the selected ticket key. At this time, the encryption can be performed using, for example, the AES algorithm, but not necessarily limited thereto, and can be performed using various known symmetric key encryption algorithms in addition to the AES algorithm. The seed information may include, for example, the validity period of the ticket, the user device 300 information received through the ticket issue request message, and the DMID of the device management module 210. Then, the registration server 350 can generate ticket information including the generated ticket and the ticket key index mapped to the ticket key selected for generating the ticket.

이후, 디바이스 채널 관리부(330)는 디바이스 관리 모듈(210)과 형성된 보안 채널을 통해 디바이스 관리 모듈(210)로 티켓 정보를 포함하는 티켓 발급 응답 메시지를 전송한다(S927).Thereafter, the device channel management unit 330 transmits a ticket issue response message including ticket information to the device management module 210 through the secure channel formed with the device management module 210 (S927).

이후, 디바이스 관리 모듈(210)과 디바이스 채널 관리부(350)는 양자간에 형성된 보안 채널을 데이터 채널로 업그레이드한다(S928). 이때, 데이터 채널 업그레이드는 예를 들어, 도 3에 도시된 절차를 통해 수행될 수 있다.Thereafter, the device management module 210 and the device channel management unit 350 upgrade the secure channel formed between them to the data channel (S928). At this time, the data channel upgrade can be performed, for example, through the procedure shown in FIG.

디바이스 관리 모듈과 서비스 관리 모듈 사이의 데이터 메시지 전송 및 보안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 application client 230 requests data transfer to the device management module 210 (S1001). Specifically, the application client 230 may transmit the APID of the application client 230 and the data to be transmitted to the device management module 210. [

이후, 디바이스 관리 모듈(210)은 전송 요청된 데이터를 암호화한 후 데이터베이스(250)에 저장한다(S1002). 구체적으로, 디바이스 관리 모듈(210)은 전송 요청된 데이터를 제1 암호키를 이용하여 암호화하고, 제1 암호키를 제2 암호키를 이용하여 암호화할 수 있다. 이후, 디바이스 관리 모듈(210)은 암호화된 데이터와 암호화된 제1 암호키를 데이터베이스(250)에 저장할 수 있다. Then, the device management module 210 encrypts the data requested to be transmitted and stores the encrypted data in the database 250 (S1002). Specifically, the device management module 210 may encrypt the data requested to be transmitted using the first cryptographic key, and encrypt the first cryptographic key using the second cryptographic key. The device management module 210 may then store the encrypted data and the encrypted first cryptographic key in the database 250.

이때, 제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 device management module 210. Specifically, the device management module 210 may generate a first cryptographic key and encrypt the data requested to be transmitted each time there is a data transmission request from the application client 230. At this time, the generated first cryptographic key may be stored in the memory allocated to the device management module 210. Also, the first cryptographic key may be encrypted using the second cryptographic key and stored in the database 250 and then deleted from the memory.

한편, 제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 device management module 210 and the service management module 110. The second encryption key may be mapped to the DMID of the device management module 210 and the APID of the application client 230, (Not shown). In this case, the device management module 210 may extract the second encryption key mapped to the DMID of the device management module 210 and the APID of the application server 130 in the database 250, have.

한편, 디바이스 관리 모듈(210)과 서비스 관리 모듈(110)은 예를 들어, 디피-헬만(Diffie-Hellman) 키 교환 알고리즘 또는 RSA(Rivest, Sharmir, Adleman) 키 교환 알고리즘을 통해 제2 암호키를 공유할 수 있다. Meanwhile, the device management module 210 and the service management module 110 may transmit the second cryptographic key through a Diffie-Hellman key exchange algorithm or a RSA (Rivest, Sharmir, Adleman) key exchange algorithm, for example You can share.

예를 들어, 도 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 device management module 210 generates a private key and a public key, and includes the generated public key in the application client registration request message to the service management module 110 . In addition, the service management module 110 may generate the private key and the public key, and may include the public key in the application client registration response message to the device management module 210. Then, the device management module 210 generates a second cryptographic key using its own private key and the public key of the service management module 110, and transmits the generated second cryptographic key to the DMID of the device management module 210 May be mapped to the APID of the application client (230) and stored in the database (250). The service management module 110 generates a second cryptographic key using its own private key and the public key of the device management module 210 and transmits the generated second cryptographic key to the DMID of the device management module 210 May be mapped to the APID of the application client (230) and stored in the database (150).

다른 예로, 도 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 device management module 210 generates a private key and a public key, and transmits the generated public key to the service management module 110 by including the generated public key in an application client registration request message . The service management module 110 generates a second cryptographic key, encrypts the generated second cryptographic key with the public key of the device management module 210, and stores the encrypted second cryptographic key in the application client registration response message to the device management module 210 . Thereafter, the device management module 210 decrypts the second encryption key with its own private key, maps the decrypted second encryption key with the DMID of the device management module 210 and the APID of the application client 230, ). ≪ / RTI >

한편, 본 발명의 일 실시예에 따르면, 디바이스 관리 모듈(210)은 디바이스 채널 관리부(330)로부터 제공된 제3 암호키를 이용하여 제2 암호키를 암호한 후 데이터베이스(250)에 저장할 수 있다. 이때, 제3 암호키는 예를 들어, 도 8에 도시된 DMID 발행 과정에서 디바이스 채널 관리부(330)에 의해 생성되어 메시지 서버(300)의 데이터베이스(370)에 저장될 수 있으며, 디바이스 채널 관리부(330)는 디바이스 관리 모듈(210)의 요청에 따라 제3 암호키를 디바이스 관리 모듈(210)로 제공할 수 있다. According to an embodiment of the present invention, the device management module 210 may encrypt the second cryptographic key using the third cryptographic key provided from the device channel management unit 330 and store the second cryptographic key in the database 250. The third encryption key may be generated by the device channel management unit 330 and stored in the database 370 of the message server 300 in the process of issuing the DMID shown in FIG. 330 may provide a third cryptographic key to the device management module 210 at the request of the device management module 210.

구체적으로, 디바이스 관리 모듈(210)은 디바이스 채널 관리부(330)로 제3 암호키를 요청하여 수신한 후, 수신된 제3 암호키를 이용하여 제2 암호키를 암호화한 후 데이터베이스(250)에 저장할 수 있다. 이때, 수신된 제3 암호키는 디바이스 관리 모듈(210)에 할당된 메모리 상에 저장할 수 있으며, 제2 암호키를 암호화 이후 메모리에서 삭제할 수 있다. Specifically, the device management module 210 requests and receives a third encryption key from the device channel management unit 330, encrypts the second encryption key using the received third encryption key, and transmits the encryption key to the database 250 Can be stored. At this time, the received third encryption key may be stored in the memory allocated to the device management module 210, and the second encryption key may be deleted from the memory after encryption.

또한, 디바이스 관리 모듈(210)은 제1 암호키에 대한 암호화가 요구되는 경우, 디바이스 채널 관리부(330)로 제3 암호키를 요청하여 수신한 후, 수신된 제3 암호키를 이용하여 데이터베이스(250)에 저장된 제2 암호키를 복호화할 수 있으며, 복호화된 제2 암호키를 이용하여 제1 암호키를 암호화할 수 있다. 이때, 수신된 제3 암호키는 디바이스 관리 모듈(210)에 할당된 메모리 상에 저장할 수 있으며, 데이터베이스(250)에 저장된 제2 암호키를 복호화한 이후 메모리에서 삭제할 수 있다.If the device management module 210 requests encryption of the first cryptographic key, the device management module 210 requests and receives the third cryptographic key from the device channel management unit 330, 250, and may encrypt the first cryptographic key using the decrypted second cryptographic key. At this time, the received third encryption key may be stored in the memory allocated to the device management module 210, and may be deleted from the memory after the second encryption key stored in the database 250 is decrypted.

한편, 제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 device management module 310 may generate a checksum value for data requested to be transmitted before encrypting the data requested to be transmitted. At this time, the checksum value may use a hash function such as MD5 (Message-Digest algorithm 5), but various algorithms that can be used for data integrity verification besides MD5 can be used.

이후, 디바이스 관리 모듈(310)은 디바이스 채널 관리부(330)와 형성된 보안 채널을 통해 디바이스 채널 관리부(330)로 데이터 메시지를 전송한다(S1003). 이때, 보안 채널은 예를 들어, 도 3 또는 도 4에 도시된 과정을 통해 형성된 데이터 채널일 수 있다.Thereafter, the device management module 310 transmits a data message to the device channel management unit 330 through the secure channel formed with the device channel management unit 330 (S1003). At this time, the secure channel may be a data channel formed through the process shown in FIG. 3 or FIG. 4, for example.

한편, 디바이스 관리 모듈(310)에 의해 전송되는 데이터 메시지는 라우팅 정보, 제1 암호키를 이용하여 암호화된 데이터, 제2 암호키를 이용하여 암호화된 제1 암호키 및 애플리케이션 클라이언트(230)의 APID를 포함할 수 있다. 또한, 라우팅 정보는 데이터 메시지의 출발지와 도착지를 포함할 수 있다. 이때, 라우팅 정보에 포함된 출발지는 예를 들어, 디바이스 관리 모듈(210)의 DMID일 수 있으며, 도착지는 예를 들어, 서비스 관리 모듈(110)의 SMGID일 수 있다.Meanwhile, the data message transmitted by the device management module 310 includes routing information, data encrypted with the first cryptographic key, a first cryptographic key encrypted with the second cryptographic key, and an APID . ≪ / RTI > The routing information may also include a source and a destination of the data message. In this case, the source included in the routing information may be, for example, the DMID of the device management module 210, and the destination may be the SMGID of the service management module 110, for example.

또한, 실시예에 따라, 데이터 메시지는 전송 요청된 데이터에 대한 체크섬 값을 더 포함할 수 있다.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 channel management unit 330 delivers the received data message to the service channel management unit 310 (S1004). Specifically, the device channel management unit 330 may identify the access information of the service channel management unit 310 mapped to the SMGID included as the destination in the routing information of the data message in the second routing table stored in the database 370. In addition, the device channel management unit 330 can transmit the data message to the service channel management unit 310 using the identified access information.

이후, 서비스 채널 관리부(310)는 서비스 관리 모듈(110)과 형성된 보안 채널을 통해 데이터 메시지를 서비스 관리 모듈(110)로 전송한다(S1005). 이때, 보안 채널은 예를 들어, 도 5에 도시된 과정을 통해 형성된 데이터 채널일 수 있다.Thereafter, the service channel management unit 310 transmits a data message to the service management module 110 through the secure channel formed with the service management module 110 (S1005). At this time, the secure channel may be a data channel formed through the process shown in FIG. 5, for example.

구체적으로, 서비스 채널 관리부(310)는 데이터 메시지의 라우팅 정보에 포함된 SMGID에 기초하여 서비스 관리 모듈(110)로 데이터 메시지를 전송할 수 있다. Specifically, the service channel manager 310 may transmit a data message to the service management module 110 based on the SMGID included in the routing information of the data message.

이후, 서비스 관리 모듈(110)은 수신된 데이터 메시지를 데이터베이스(150)에 저장한다(S1006).Thereafter, the service management module 110 stores the received data message in the database 150 (S1006).

이후, 서비스 관리 모듈(110)은 수신된 데이터 메시지에 포함된 데이터를 복호화한다(S1007). 구체적으로, 서비스 관리 모듈(110)은 데이터베이스(150)에서 데이터 메시지에 포함된 DMID 및 APID에 맵핑된 제2 암호키를 추출할 수 있다. 이후, 서비스 관리 모듈(110)은 추출된 제2 암호키를 이용하여 데이터 메시지에 포함된 제1 암호키를 복호화하고, 복호화된 제1 암호키를 이용하여 데이터 메시지에 포함된 데이터를 복호화할 수 있다. 이때, 제1 암호키를 이용한 복호화 및 제2 암호키를 이용한 복호화는 예를 들어, AES 알고리즘을 이용하여 수행될 수 있으나, 반드시 이에 한정되는 것은 아니며, AES 알고리즘 외에도 공지된 다양한 대칭키 암호화 알고리즘을 이용하여 수행될 수 있다.Thereafter, the service management module 110 decodes the data included in the received data message (S1007). Specifically, the service management module 110 may extract the DMID included in the data message and the second cryptographic key mapped to the APID in the database 150. Thereafter, the service management module 110 decodes the first cryptographic key included in the data message using the extracted second cryptographic key, and decrypts the data included in the data message using the decrypted first cryptographic key have. At this time, the decoding using the first cryptographic key and the decoding using the second cryptographic key can be performed using, for example, the AES algorithm. However, the present invention is not limited thereto, and various known symmetric key encryption algorithms . ≪ / RTI >

한편, 본 발명의 일 실시예에 따르면, 서비스 관리 모듈(110)은 서비스 채널 관리부(310)로부터 제공된 제4 암호키를 이용하여 제2 암호키를 암호한 후 데이터베이스(150)에 저장할 수 있다. 이때, 제4 암호키는 예를 들어, 도 7에 도시된 애플리케이션 서버(130) 등록 과정에서 서비스 채널 관리부(310)에 의해 생성되어 메시지 서버(300)의 데이터베이스(370)에 저장될 수 있으며, 서비스 채널 관리부(310)는 서비스 관리 모듈(110)의 요청에 따라 제4 암호키를 서비스 관리 모듈(110)로 제공할 수 있다. According to an embodiment of the present invention, the service management module 110 may encrypt the second cipher key using the fourth cipher key provided from the service channel manager 310, and store the second cipher key in the database 150. The fourth encryption key may be generated by the service channel management unit 310 and stored in the database 370 of the message server 300 in the process of registering the application server 130 shown in FIG. 7, for example. The service channel management unit 310 may provide the fourth encryption key to the service management module 110 at the request of the service management module 110.

구체적으로, 서비스 관리 모듈(110)은 서비스 채널 관리부(310)로 제4 암호키를 요청하여 수신한 후, 수신된 제4 암호키를 이용하여 제2 암호키를 암호화한 후 데이터베이스(150)에 저장할 수 있다. 이때, 수신된 제4 암호키는 서비스 관리 모듈(110)에 할당된 메모리 상에 저장할 수 있으며, 제2 암호키를 암호화 이후 메모리에서 삭제할 수 있다. Specifically, the service management module 110 requests and receives a fourth cryptographic key from the service channel manager 310, encrypts the second cryptographic key using the received fourth cryptographic key, and transmits the encrypted cryptographic key to the database 150 Can be stored. At this time, the received fourth encryption key may be stored in the memory allocated to the service management module 110, and the second encryption key may be deleted from the memory after encryption.

또한, 서비스 관리 모듈(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 service management module 110 requests and receives the fourth cryptographic key from the service channel manager 310, and then transmits the received fourth cryptographic key The second cryptographic key stored in the database 150 can be decrypted using the decrypted second cryptographic key, and the first cryptographic key included in the data message can be decrypted using the decrypted second cryptographic key. At this time, the received fourth encryption key may be stored in the memory allocated to the service management module 110, and may be deleted from the memory after the second encryption key stored in the database 150 is decrypted.

한편, 제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 service management module 110 calculates a checksum value from the decoded data and compares the checksum value with a checksum value included in the data message The integrity of the data can be verified.

이후, 서비스 관리 모듈(210)은 수신 확인 메시지를 보안 채널을 통해 서비스 채널 관리부(310)로 전송한다(S1008). 이때, 수신 확인 메시지는 라우팅 정보와 데이터 수신 결과를 포함할 수 있다. 이때, 라우팅 정보는 수신된 데이터 메시지의 라우팅 정보에 포함된 출발지와 도착지를 스위칭함으로써 생성 가능하다. Thereafter, the service management module 210 transmits an acknowledgment message to the service channel management unit 310 through the secure channel (S1008). At this time, the acknowledgment message may include the routing information and the data reception result. At this time, the routing information can be generated by switching the source and destination included in the routing information of the received data message.

한편, 데이터 복호화에 성공하거나 실시예에 따라 데이터 복호화 및 데이터 무결성 검증이 모두 성공된 경우, 데이터 수신 결과는 데이터 수신이 성공되었음을 나타내는 코드를 포함할 수 있다. 반면, 데이터 복호화에 실패하거나 데이터 무결성 검증이 실패된 경우, 데이터 수신 결과는 데이터 수신이 실패하였음을 나타내는 코드를 포함할 수 있다.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 service management module 110 delivers the decrypted data to the application server 130 (S1009). If the data message includes a checksum value, the service management module 110 may transmit the decrypted data to the application server 130 when both the data decryption and the data integrity verification are successful .

한편, 서비스 관리 모듈(110)은 서비스 채널 관리부(310)로 수신 확인 메시지를 전송한 이후, 데이터베이스(150)에 저장된 데이터 메시지를 삭제한다(S1010).Meanwhile, the service management module 110 deletes the data message stored in the database 150 after transmitting the acknowledgment message to the service channel manager 310 (S1010).

한편, 서비스 채널 관리부(310)는 수신 확인 메시지를 디바이스 채널 관리부(330)로 전달한다(S1011). 구체적으로, 서비스 채널 관리부(310)는 데이터베이스(370)에 저장된 제3 라우팅 테이블에서 수신 확인 메시지의 라우팅 정보에 도착지로 포함된 DMID에 맵핑된 디바이스 채널 관리부(330)의 접속 정보를 식별할 수 있다. 이후, 서비스 채널 관리부(310)는 식별된 접속 정보를 이용하여 디바이스 채널 관리부(330)로 수신 확인 메시지를 전달할 수 있다.Meanwhile, the service channel management unit 310 transmits an acknowledgment message to the device channel management unit 330 (S1011). Specifically, the service channel management unit 310 can identify the access information of the device channel management unit 330 mapped to the DMID included as the destination in the routing information of the acknowledgment message in the third routing table stored in the database 370 . Thereafter, the service channel management unit 310 can transmit an acknowledgment message to the device channel management unit 330 using the identified access information.

이후, 디바이스 채널 관리부(330)는 수신 확인 메시지의 라우팅 정보에 도착지로 포함된 DMID에 기초하여 보안 채널을 통해 디바이스 관리 모듈(210)로 수신 확인 메시지를 전달한다(S1012).Then, the device channel management unit 330 transmits an acknowledgment message to the device management module 210 through the secure channel based on the DMID included as the destination in the routing information of the acknowledgment message (S1012).

이후, 디바이스 관리 모듈(210)은 수신 확인 메시지에 포함된 데이터 수신 결과를 확인한 후, 데이터 처리가 성공된 경우, 데이터베이스(1014)에 저장된 암호화된 데이터 및 암호화된 제1 암호키를 삭제한다(S1013). 반면, 데이터 처리가 실패되었거나, 기 설정된 기간 내에 수신 확인 메시지를 수신하지 못한 경우, 디바이스 관리 모듈(210)은 상술한 S1003 단계 이후의 과정을 재수행할 수 있다.Thereafter, the device management module 210 confirms the data reception result included in the reception confirmation message, and deletes the encrypted data and the encrypted first encryption key stored in the database 1014 when the data processing is successful (S1013 ). On the other hand, if the data processing has failed or the acknowledgment message is not received within the predetermined period, the device management module 210 can re-execute the process after step S1003.

도 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 application server 130 requests data transfer to the service management module 110 (S1101). Specifically, the application server 130 may transmit the APID of the application server 130, the user ID, and the data to be transmitted to the service management module 110.

이후, 서비스 관리 모듈(110)은 전송 요청된 데이터를 암호화한 후 데이터베이스(150)에 저장한다(S1102). Then, the service management module 110 encrypts the data requested to be transmitted and stores it in the database 150 (S1102).

구체적으로, 서비스 관리 모듈(110)은 전송 요청된 데이터를 제5 암호키를 이용하여 암호화하고, 제5 암호키를 제2 암호키를 이용하여 암호화할 수 있다. 이후, 서비스 관리 모듈(110)은 암호화된 데이터와 암호화된 제5 암호키를 데이터베이스(150)에 저장할 수 있다. 이때, 제5 암호키를 이용한 암호화 및 제2 암호키를 이용한 암호화는 예를 들어, AES 알고리즘을 이용하여 수행될 수 있으나, 반드시 이에 한정되는 것은 아니며, AES 알고리즘 외에도 공지된 다양한 대칭키 암호화 알고리즘을 이용하여 수행될 수 있다.Specifically, the service management module 110 may encrypt the data requested to be transmitted using the fifth cipher key, and encrypt the fifth cipher key using the second cipher key. The service management module 110 may then store the encrypted data and the encrypted fifth cryptographic key in the database 150. At this time, the encryption using the fifth cryptographic key and the encryption using the second cryptographic key can be performed using, for example, the AES algorithm. However, the present invention is not limited thereto, and various known symmetric key encryption algorithms . ≪ / RTI >

한편, 제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 service management module 110. Specifically, the service management module 110 may generate a fifth cryptographic key and encrypt the data requested to be transmitted each time there is a data transmission request from the application server 130. At this time, the generated fifth cipher key may be stored in the memory allocated to the service management module 110. [ Further, the fifth cipher key may be deleted from the memory after it is encrypted using the second cipher key and stored in the database 150. [

한편, 제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 device management module 210 and the service management module 110. The second encryption key may be mapped to the APID of the application client 230 and the DMID of the device management module 210, (150). ≪ / RTI > In this case, the service management module 110 may extract the DMID mapped to the user ID received from the application server 130 in the user table stored in the database 150. [ Also, the service management module 110 may extract the extracted DMID and the second cryptographic key mapped to the APID of the application server 130 from the database 150, and then use it to encrypt the fifth cryptographic key.

구체적으로, 디바이스 관리 모듈(210)과 서비스 관리 모듈(110)는 예를 들어, 디피-헬만(Diffie-Hellman) 키 교환 알고리즘 또는 RAS 키 교환 알고리즘을 통해 애플리케이션 클라이언트(230)에 대응되는 제2 암호키를 공유할 수 있다. Specifically, the device management module 210 and the service management module 110 may be configured to provide a second password (e.g., a password) corresponding to the application client 230 via a Diffie-Hellman key exchange algorithm or a RAS key exchange algorithm, for example. You can share the key.

예를 들어, 도 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 device management module 210 generates a private key and a public key, and includes the generated public key in the application client registration request message to the service management module 110 . In addition, the service management module 110 may generate the private key and the public key, and may include the public key in the application client registration response message to the device management module 210. Then, the device management module 210 generates a second cryptographic key using its own private key and the public key of the service management module 110, and transmits the generated second cryptographic key to the DMID of the device management module 210 May be mapped to the APID of the application client (230) and stored in the database (250). The service management module 110 generates a second cryptographic key using its own private key and the public key of the device management module 210 and transmits the generated second cryptographic key to the DMID of the device management module 210 May be mapped to the APID of the application client (230) and stored in the database (150).

다른 예로, 도 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 device management module 210 generates a private key and a public key, and transmits the generated public key to the service management module 110 by including the generated public key in an application client registration request message . The service management module 110 generates a second cryptographic key, encrypts the generated second cryptographic key with the public key of the device management module 210, and stores the encrypted second cryptographic key in the application client registration response message to the device management module 210 . Thereafter, the device management module 210 decrypts the second encryption key with its own private key, maps the decrypted second encryption key with the DMID of the device management module 210 and the APID of the application client 230, ). ≪ / RTI >

한편, 본 발명의 일 실시예에 따르면, 서비스 관리 모듈(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 service management module 110 may encrypt the second cryptographic key using the fourth cryptographic key provided from the service channel management unit 310, and store the second cryptographic key in the database 250. The fourth encryption key may be generated by the service channel management unit 310 and stored in the database 370 of the message server 300 in the process of registering the application server 130 shown in FIG. 7, for example. The service channel management unit 310 may provide the fourth encryption key to the service management module 110 at the request of the service management module 110.

구체적으로, 서비스 관리 모듈(110)은 서비스 채널 관리부(310)로 제4 암호키를 요청하여 수신한 후, 수신된 제4 암호키를 이용하여 제2 암호키를 암호화한 후 데이터베이스(150)에 저장할 수 있다. 이때, 수신된 제4 암호키는 서비스 관리 모듈(110)에 할당된 메모리 상에 저장할 수 있으며, 제2 암호키를 암호화 이후 메모리에서 삭제할 수 있다. Specifically, the service management module 110 requests and receives a fourth cryptographic key from the service channel manager 310, encrypts the second cryptographic key using the received fourth cryptographic key, and transmits the encrypted cryptographic key to the database 150 Can be stored. At this time, the received fourth encryption key may be stored in the memory allocated to the service management module 110, and the second encryption key may be deleted from the memory after encryption.

또한, 서비스 관리 모듈(110)은 제5 암호키에 대한 암호화가 요구되는 경우, 서비스 채널 관리부(310)로 제4 암호키를 요청하여 수신한 후, 수신된 제4 암호키를 이용하여 데이터베이스(150)에 저장된 제2 암호키를 복호화할 수 있으며, 복호화된 제2 암호키를 이용하여 제5 암호키를 암호화할 수 있다. 이때, 수신된 제4 암호키는 서비스 관리 모듈(110)에 할당된 메모리 상에 저장할 수 있으며, 데이터베이스(150)에 저장된 제2 암호키를 복호화한 이후 메모리에서 삭제할 수 있다.If encryption of the fifth cipher key is requested, the service management module 110 requests and receives a fourth cipher key from the service channel manager 310, and then transmits the fourth cipher key to the database 150, and may encrypt the fifth cryptographic key using the decrypted second cryptographic key. At this time, the received fourth encryption key may be stored in the memory allocated to the service management module 110, and may be deleted from the memory after the second encryption key stored in the database 150 is decrypted.

한편, 본 발명의 일 실시예에 따르면, 서비스 관리 모듈(110)은 전송 요청된 데이터의 암호화 이전에 전송 요청된 데이터에 대한 체크섬 값을 생성할 수 있다. 이때, 체크섬 값은 예를 들어, MD5(Message-Digest algorithm 5)와 같은 해시 함수를 이용할 수 있으나, MD5 외에도 데이터 무결성 확인을 위해 사용될 수 있는 다양한 알고리즘들이 이용될 수 있다.Meanwhile, according to an embodiment of the present invention, the service management module 110 may generate a checksum value for the data requested to be transmitted before the encryption of the data requested to be transmitted. At this time, the checksum value may use a hash function such as MD5 (Message-Digest algorithm 5), but various algorithms that can be used for data integrity verification besides MD5 can be used.

이후, 서비스 관리 모듈(110)은 서비스 채널 관리부(310)와 형성된 보안 채널을 통해 서비스 채널 관리부(330)로 데이터 메시지를 전송한다(S1103). 이때, 보안 채널은 예를 들어, 도 5에 도시된 과정을 통해 형성된 데이터 채널일 수 있다.Thereafter, the service management module 110 transmits a data message to the service channel management unit 330 through the secure channel formed with the service channel management unit 310 (S1103). At this time, the secure channel may be a data channel formed through the process shown in FIG. 5, for example.

한편, 서비스 관리 모듈(110)에 의해 전송되는 데이터 메시지는 라우팅 정보, 제5 암호키를 이용하여 암호화된 데이터, 제2 암호키를 이용하여 암호화된 제5 암호키 및 애플리케이션 서버(130)의 APID를 포함할 수 있다. 또한, 라우팅 정보는 데이터 메시지의 출발지와 도착지를 포함할 수 있다. 이때, 라우팅 정보에 포함된 출발지는 예를 들어, 서비스 관리 모듈(110)의 아이디(SMGID 또는 SMIID)일 수 있으며, 도착지는 예를 들어, 디바이스 관리 모듈(210)의 DMID일 수 있다. Meanwhile, the data message transmitted by the service management module 110 includes routing information, data encrypted with the fifth cryptographic key, a fifth cryptographic key encrypted using the second cryptographic key, and the APID of the application server 130 . ≪ / RTI > The routing information may also include a source and a destination of the data message. In this case, the source included in the routing information may be, for example, the ID (SMGID or SMIID) of the service management module 110, and the destination may be the DMID of the device management module 210, for example.

한편, 실시예에 따라, 데이터 메시지는 전송 요청된 데이터에 대한 체크섬 값을 더 포함할 수 있다.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 service channel manager 310 delivers the received data message to the device channel manager 330 (S1104). Specifically, the service channel management unit 310 identifies the access information of the device channel management unit 330 mapped to the DMID included in the routing information of the data message in the third routing table stored in the database 370, Information to the device-channel management unit 330. [0040]

이후, 디바이스 채널 관리부(330)는 디바이스 관리 모듈(210)과 형성된 보안 채널을 통해 데이터 메시지를 디바이스 관리 모듈(210)로 전송한다(S1105). 이때, 보안 채널은 예를 들어, 도 3 또는 도5에 도시된 과정을 통해 형성된 데이터 채널일 수 있다.Then, the device channel management unit 330 transmits a data message to the device management module 210 through the secure channel formed with the device management module 210 (S1105). In this case, the secure channel may be a data channel formed through the process shown in FIG. 3 or FIG. 5, for example.

구체적으로, 디바이스 채널 관리부(330)는 데이터 메시지의 라우팅 정보에 포함된 DMID에 기초하여 디바이스 관리 모듈(210)로 데이터 메시지를 전송할 수 있다.Specifically, the device channel management unit 330 may transmit the data message to the device management module 210 based on the DMID included in the routing information of the data message.

이후, 디바이스 관리 모듈(210)은 수신된 데이터 메시지를 데이터베이스(250)에 저장한다(S1106).Then, the device management module 210 stores the received data message in the database 250 (S1106).

이후, 디바이스 관리 모듈(210)은 수신된 데이터 메시지에 포함된 데이터를 복호화한다(S1107). 구체적으로, 디바이스 관리 모듈(210)은 데이터베이스(250)에서 데이터 메시지에 포함된 DMID 및 APID에 맵핑된 제2 암호키를 추출할 수 있다. 이후, 디바이스 관리 모듈(210)은 추출된 제2 암호키를 이용하여 데이터 메시지에 포함된 제5 암호키를 복호화하고, 복호화된 제5 암호키를 이용하여 데이터 메시지에 포함된 데이터를 복호화할 수 있다.Then, the device management module 210 decodes the data included in the received data message (S1107). Specifically, the device management module 210 can extract the DMID included in the data message and the second cryptographic key mapped to the APID in the database 250. Thereafter, the device management module 210 decrypts the fifth cryptographic key included in the data message using the extracted second cryptographic key, and decrypts the data included in the data message using the decrypted fifth cryptographic key have.

한편, 본 발명의 일 실시예에 따르면, 디바이스 관리 모듈(210)은 디바이스 채널 관리부(330)로부터 제공된 제3 암호키를 이용하여 제2 암호키를 암호한 후 데이터베이스(250)에 저장할 수 있다. 이때, 제3 암호키는 예를 들어, 도 8에 도시된 DMID 발행 과정에서 디바이스 채널 관리부(330)에 의해 생성되어 메시지 서버(300)의 데이터베이스(370)에 저장될 수 있으며, 디바이스 채널 관리부(330)는 디바이스 관리 모듈(210)의 요청에 따라 제3 암호키를 디바이스 관리 모듈(210)로 제공할 수 있다.According to an embodiment of the present invention, the device management module 210 may encrypt the second cryptographic key using the third cryptographic key provided from the device channel management unit 330 and store the second cryptographic key in the database 250. The third encryption key may be generated by the device channel management unit 330 and stored in the database 370 of the message server 300 in the process of issuing the DMID shown in FIG. 330 may provide a third cryptographic key to the device management module 210 at the request of the device management module 210.

구체적으로, 디바이스 관리 모듈(210)은 디바이스 채널 관리부(330)로 제3 암호키를 요청하여 수신한 후, 수신된 제3 암호키를 이용하여 제2 암호키를 암호화한 후 데이터베이스(250)에 저장할 수 있다. 이때, 수신된 제3 암호키는 디바이스 관리 모듈(210)에 할당된 메모리 상에 저장할 수 있으며, 제2 암호키를 암호화 이후 메모리에서 삭제할 수 있다. Specifically, the device management module 210 requests and receives a third encryption key from the device channel management unit 330, encrypts the second encryption key using the received third encryption key, and transmits the encryption key to the database 250 Can be stored. At this time, the received third encryption key may be stored in the memory allocated to the device management module 210, and the second encryption key may be deleted from the memory after encryption.

또한, 디바이스 관리 모듈(210)은 데이터 메시지에 포함된 제5 암호키에 대한 복호화가 요구되는 경우, 디바이스 채널 관리부(330)로 제3 암호키를 요청하여 수신한 후, 수신된 제3 암호키를 이용하여 데이터베이스(250)에 저장된 제2 암호키를 복호화할 수 있으며, 복호화된 제2 암호키를 이용하여 데이터 메시지에 포함된 제5 암호키를 복호화할 수 있다. 이때, 수신된 제3 암호키는 디바이스 관리 모듈(210)에 할당된 메모리 상에 저장할 수 있으며, 데이터베이스(250)에 저장된 제2 암호키를 복호화한 이후 메모리에서 삭제할 수 있다.If the device management module 210 requests decryption of the fifth cryptographic key included in the data message, the device management module 210 requests and receives the third cryptographic key from the device channel management unit 330, The second cryptographic key stored in the database 250 can be decrypted using the decrypted second cryptographic key, and the fifth cryptographic key included in the data message can be decrypted using the decrypted second cryptographic key. At this time, the received third encryption key may be stored in the memory allocated to the device management module 210, and may be deleted from the memory after the second encryption key stored in the database 250 is decrypted.

한편, 본 발명의 일 실시예에 따르면, 수신된 데이터 메시지에 체크섬 값이 포함되어 있는 경우, 디바이스 관리 모듈(310)은 복호화된 데이터로부터 체크섬 값을 계산하여 데이터 메시지에 포함된 체크섬 값과 비교함으로써 데이터의 무결성을 검증할 수 있다.If the received data message includes a checksum value, the device management module 310 calculates a checksum value from the decrypted data and compares the checksum value with a checksum value included in the data message The integrity of the data can be verified.

이후, 디바이스 관리 모듈(210)은 수신 확인 메시지를 보안 채널을 통해 디바이스 채널 관리부(330)로 전송한다(S1108). 이때, 수신 확인 메시지는 라우팅 정보와 데이터 수신 결과를 포함할 수 있다. 한편, 라우팅 정보는 수신된 데이터 메시지의 라우팅 정보에 포함된 출발지와 도착지를 스위칭함으로써 생성 가능하다. Then, the device management module 210 transmits an acknowledgment message to the device channel management unit 330 through the secure channel (S1108). At this time, the acknowledgment message may include the routing information and the data reception result. On the other hand, the routing information can be generated by switching the source and destination included in the routing information of the received data message.

한편, 데이터 복호화에 성공하거나 실시예에 따라 데이터 복호화 및 데이터 무결성 검증이 모두 성공된 경우, 데이터 수신 결과는 데이터 처리가 성공되었음을 나타내는 코드를 포함할 수 있다. 반면, 데이터 복호화에 실패하거나 데이터 무결성 검증이 실패된 경우, 데이터 수신 결과는 데이터 처리가 실패하였음을 나타내는 코드를 포함할 수 있다.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 device management module 210 delivers the decrypted data to the application client 230 (S1109). In this case, if a checksum value is included in the data message, the device management module 210 may transmit the decrypted data to the application client 230 when both the data decryption and the data integrity verification are successful .

한편, 디바이스 관리 모듈(210)은 디바이스 채널 관리부(330)로 수신 확인 메시지를 전송한 이후, 데이터베이스(250)에 저장된 데이터 메시지를 삭제한다(S1010).Meanwhile, the device management module 210 deletes the data message stored in the database 250 after transmitting the acknowledgment message to the device channel management unit 330 (S1010).

한편, 디바이스 채널 관리부(330)는 수신 확인 메시지를 서비스 채널 관리부(310)로 전달한다(S1111). 구체적으로, 디바이스 채널 관리부(330)는 데이터베이스(370)에 저장된 제2 라우팅 테이블에서 수신 확인 메시지의 라우팅 정보에 포함된 SMGID(또는 SMIID)에 맵핑된 서비스 채널 관리부(310)의 접속 정보를 식별한 후, 식별된 접속 정보를 이용하여 서비스 채널 관리부(310)로 수신 확인 메시지를 전달할 수 있다.Meanwhile, the device channel management unit 330 transmits an acknowledgment message to the service channel management unit 310 (S1111). Specifically, the device channel management unit 330 identifies the access information of the service channel management unit 310 mapped to the SMGID (or SMIID) included in the routing information of the acknowledgment message in the second routing table stored in the database 370 And then transmit the acknowledgment message to the service channel manager 310 using the access information identified.

이후, 서비스 채널 관리부(310)는 수신 확인 메시지의 라우팅 정보에 포함된 SMGID(또는 SMIID)에 기초하여 보안 채널을 통해 서비스 관리 모듈(110)로 수신 확인 메시지를 전달한다(S1112).Thereafter, the service channel manager 310 transmits an acknowledgment message to the service management module 110 via the secure channel based on the SMGID (or SMIID) included in the routing information of the acknowledgment message (S1112).

이후, 서비스 관리 모듈(110)은 수신 확인 메시지에 포함된 데이터 수신 결과를 확인한 후, 데이터 처리가 성공된 경우, 데이터베이스(150)에 저장된 암호화된 데이터 및 암호화된 제5 암호키를 삭제한다(S1013). 반면, 데이터 처리가 실패되었거나, 기 설정된 기간 내에 수신 확인 메시지를 수신하지 못한 경우, 서비스 관리 모듈(110)는 상술한 S1103 단계 이후의 과정을 재수행할 수 있다.Thereafter, when the data processing is successful, the service management module 110 deletes the encrypted data stored in the database 150 and the encrypted fifth cipher key after confirming the data reception result included in the reception confirmation message (S1013 ). On the other hand, if the data processing has failed or the acknowledgment message is not received within the predetermined period, the service management module 110 can re-execute the process after step S1103.

도 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 computing environment 1 includes a computing device 12. In one embodiment, computing device 12 may be one or more components included in message processing system 10.

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The computing device 12 includes at least one processor 14, a computer readable storage medium 16, The processor 14 may cause the computing device 12 to operate in accordance with the exemplary embodiment discussed above. For example, processor 14 may execute one or more programs stored on computer readable storage medium 16. The one or more programs may include one or more computer-executable instructions, which when executed by the processor 14 cause the computing device 12 to perform operations in accordance with the illustrative embodiment .

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.The computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and / or other suitable forms of information. The program 20 stored in the computer-readable storage medium 16 includes a set of instructions executable by the processor 14. In one embodiment, the computer-readable storage medium 16 may be any type of storage medium such as a memory (volatile memory such as random access memory, non-volatile memory, or any suitable combination thereof), one or more magnetic disk storage devices, Memory devices, or any other form of storage medium that can be accessed by the computing device 12 and store the desired information, or any suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communication bus 18 interconnects various other components of computing device 12, including processor 14, computer readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.The computing device 12 may also include one or more input / output interfaces 22 and one or more network communication interfaces 26 that provide an interface for one or more input / output devices 24. The input / output interface 22 and the network communication interface 26 are connected to the communication bus 18. The input / output device 24 may be connected to other components of the computing device 12 via the input / output interface 22. The exemplary input and output device 24 may be any type of device, such as a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touch pad or touch screen), a voice or sound input device, An input device, and / or an output device such as a display device, a printer, a speaker, and / or a network card. The exemplary input and output device 24 may be included within the computing device 12 as a component of the computing device 12 and may be coupled to the computing device 12 as a separate device distinct from the computing device 12 It is possible.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다. 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.
청구항 1에 있어서,
상기 보안 채널은, 데이터 메시지 전송이 제한된 논 데이터(Non-Data) 채널인, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method according to claim 1,
Wherein the secure channel is a non-data channel with limited data message transmission.
청구항 2에 있어서,
상기 채널 관리부는, 상기 보안 채널을 통해, 상기 채널 클라이언트로부터 상기 채널 클라이언트에 할당된 아이디 및 상기 채널 클라이언트의 티켓 정보를 포함하는 채널 업그레이드 요청 메시지를 수신하고, 상기 채널 업그레이드 요청 메시지에 포함된 아이디 및 티켓 정보를 검증하며, 상기 보안 채널을 통해, 상기 채널 클라이언트로 채널 업그레이드 응답 메시지를 전송하여 상기 통신 채널을 상기 데이터 메시지 전송이 허용되는 데이터 채널로 변경하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
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.
청구항 1에 있어서,
상기 채널 형성 요청 메시지는, 상기 채널 클라이언트의 티켓 정보를 더 포함하고,
상기 채널 관리부는, 상기 아이디 및 상기 티켓 정보를 검증하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
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.
청구항 4에 있어서,
상기 보안 채널은, 데이터 메시지 전송이 허용되는 데이터 채널인, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method of claim 4,
Wherein the secure channel is a data channel in which data message transmission is allowed.
청구항 3 또는 4에 있어서,
상기 티켓 정보는, 티켓 키를 이용하여 암호화된 시드 정보를 포함하는 티켓 및 상기 티켓 키 대한 티켓 키 인덱스를 포함하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
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.
청구항 6에 있어서,
상기 채널 관리부는, 복수의 티켓 키 및 상기 복수의 티켓 키 각각에 대응되는 복수의 티켓 키 인덱스를 포함하는 티켓 키 테이블에서 상기 티켓 정보에 포함된 티켓 키 인덱스에 대응되는 티켓 키를 추출하고, 상기 추출된 티켓 키를 이용하여 상기 티켓을 복호화하며, 상기 복호화된 티켓에 포함된 시드 정보를 이용하여 상기 티켓을 검증하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
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.
청구항 7에 있어서,
상기 시드 정보는, 티켓 유효기간을 포함하고,
상기 채널 관리부는, 상기 티켓 유효기간이 경과하였는지 여부에 따라 상기 티켓을 검증하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
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.
청구항 7에 있어서,
상기 시드 정보는, 상기 티켓을 발급받은 채널 클라이언트의 아이디를 포함하고,
상기 채널 관리부는, 상기 채널 형성 요청 메시지에 포함된 아이디와 상기 시드 정보에 포함된 아이디가 일치하는지 여부에 따라 상기 티켓을 검증하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
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.
청구항 1에 있어서,
상기 채널 관리부는, 상기 검증이 성공된 경우, 초기 시퀀스 넘버를 포함하는 채널 형성 응답 메시지를 상기 채널 클라이언트로 전송하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
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.
청구항 10에 있어서,
상기 채널 관리부는, 상기 보안 채널을 형성한 이후, 상기 보안 채널을 통해 상기 채널 클라이언트로부터 수신된 패킷의 시퀀스 넘버를 확인하고, 상기 시퀀스 넘버가 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 상기 보안 채널을 차단하는, 메시지 처리 시스템에서 보안 채널 형성 장치.
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.
청구항 1에 있어서,
상기 채널 클라이언트는, 디바이스 관리 모듈인, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method according to claim 1,
Wherein the channel client is a device management module.
청구항 1에 있어서,
상기 채널 클라이언트는, 서비스 관리 모듈인, 메시지 처리 시스템에서 보안 채널 형성 장치.
The method according to claim 1,
Wherein the channel client is a service management module.
전송 계층 보안(TLS: Transport Layer Security) 프로토콜을 통해 채널 클라이언트와 TLS 채널을 생성하는 단계;
상기 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.
청구항 14에 있어서,
상기 보안 채널은, 데이터 메시지 전송이 제한된 논 데이터(Non-Data) 채널인, 메시지 처리 시스템에서 보안 채널 형성 방법.
15. The method of claim 14,
Wherein the secure channel is a non-data channel with limited data message transmission.
청구항 15에 있어서,
상기 보안 채널을 통해, 상기 채널 클라이언트로부터 상기 채널 클라이언트에 할당된 아이디 및 상기 채널 클라이언트의 티켓 정보를 포함하는 채널 업그레이드 요청 메시지를 수신하는 단계;
상기 채널 업그레이드 요청 메시지에 포함된 아이디 및 티켓 정보를 검증하는 단계; 및
상기 보안 채널을 통해, 상기 채널 클라이언트로 채널 업그레이드 응답 메시지를 전송하여 상기 통신 채널을 상기 데이터 메시지 전송이 허용되는 데이터 채널로 변경하는 단계를 더 포함하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
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.
청구항 14에 있어서,
상기 채널 형성 요청 메시지는, 상기 채널 클라이언트의 티켓 정보를 더 포함하고,
상기 검증하는 단계는, 상기 아이디 및 상기 티켓 정보를 검증하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
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.
청구항 17에 있어서,
상기 보안 채널은, 데이터 메시지 전송이 허용되는 데이터 채널인, 메시지 처리 시스템에서 보안 채널 형성 방법.
18. The method of claim 17,
Wherein the secure channel is a data channel in which data message transmission is allowed.
청구항 16 또는 17에 있어서,
상기 티켓 정보는, 티켓 키를 이용하여 암호화된 시드 정보를 포함하는 티켓 및 상기 티켓 키 대한 티켓 키 인덱스를 포함하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
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.
청구항 19에 있어서,
상기 아이디 및 티켓 정보를 검증하는 단계는, 복수의 티켓 키 및 상기 복수의 티켓 키 각각에 대응되는 복수의 티켓 키 인덱스를 포함하는 티켓 키 테이블에서 상기 티켓 정보에 포함된 티켓 키 인덱스에 대응되는 티켓 키를 추출하는 단계;
상기 추출된 티켓 키를 이용하여 상기 티켓을 복호화하는 단계; 및
상기 복호화된 티켓에 포함된 시드 정보를 이용하여 상기 티켓을 검증하는 단계를 포함하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
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.
청구항 20에 있어서,
상기 시드 정보는, 티켓 유효기간을 포함하고,
상기 티켓을 검증하는 단계는, 상기 티켓 유효기간이 경과하였는지 여부에 따라 상기 티켓을 검증하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
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.
청구항 20에 있어서,
상기 시드 정보는, 상기 티켓을 발급받은 채널 클라이언트의 아이디를 포함하고,
상기 티켓을 검증하는 단계는, 상기 채널 형성 요청 메시지에 포함된 아이디와 상기 시드 정보에 포함된 아이디가 일치하는지 여부에 따라 상기 티켓을 검증하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
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.
청구항 14에 있어서,
상기 형성하는 단계는, 상기 검증이 성공된 경우, 초기 시퀀스 넘버를 포함하는 채널 형성 응답 메시지를 상기 채널 클라이언트로 전송하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
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.
청구항 23에 있어서,
상기 형성하는 단계 이후에, 상기 보안 채널을 통해 상기 채널 클라이언트로부터 수신된 패킷의 시퀀스 넘버를 확인하는 단계; 및
상기 시퀀스 넘버가 이전에 수신된 패킷의 시퀀스 넘버와 동일한 경우, 상기 보안 채널을 차단하는 단계를 더 포함하는, 메시지 처리 시스템에서 보안 채널 형성 방법.
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.
청구항 14에 있어서,
상기 채널 클라이언트는, 디바이스 관리 모듈인, 메시지 처리 시스템에서 보안 채널 형성 방법.
15. The method of claim 14,
Wherein the channel client is a device management module.
청구항 14에 있어서,
상기 채널 클라이언트는, 서비스 관리 모듈인, 메시지 처리 시스템에서 보안 채널 형성 방법.
15. The method of claim 14,
Wherein the channel client is a service management module.
KR1020170164567A 2017-12-01 2017-12-01 Apparatus and method for establishing secure channel in message processing system KR102309044B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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
CA2835349A1 (en) System and method for identity management for mobile devices
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
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
CN115459929A (en) Security verification method, apparatus, electronic device, system, medium, and product
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

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