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