KR20040097717A - Method and system for transporting session key - Google Patents

Method and system for transporting session key Download PDF

Info

Publication number
KR20040097717A
KR20040097717A KR1020030030090A KR20030030090A KR20040097717A KR 20040097717 A KR20040097717 A KR 20040097717A KR 1020030030090 A KR1020030030090 A KR 1020030030090A KR 20030030090 A KR20030030090 A KR 20030030090A KR 20040097717 A KR20040097717 A KR 20040097717A
Authority
KR
South Korea
Prior art keywords
session key
server
message
encrypted
client
Prior art date
Application number
KR1020030030090A
Other languages
Korean (ko)
Inventor
한지호
Original Assignee
펜타시큐리티시스템 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 펜타시큐리티시스템 주식회사 filed Critical 펜타시큐리티시스템 주식회사
Priority to KR1020030030090A priority Critical patent/KR20040097717A/en
Publication of KR20040097717A publication Critical patent/KR20040097717A/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/08Body-protectors for players or sportsmen, i.e. body-protecting accessories affording protection of body parts against blows or collisions
    • A63B71/14Body-protectors for players or sportsmen, i.e. body-protecting accessories affording protection of body parts against blows or collisions for the hands, e.g. baseball, boxing or golfing gloves
    • A63B71/141Body-protectors for players or sportsmen, i.e. body-protecting accessories affording protection of body parts against blows or collisions for the hands, e.g. baseball, boxing or golfing gloves in the form of gloves

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Computer And Data Communications (AREA)

Abstract

PURPOSE: A method and a system for transmitting a session key are provided to share the session key with a client and a server, and perform server certification or mutual certification between the server and the client. CONSTITUTION: A transmission/reception processing module(362) processes communication with the client or other server. An encryption/decryption processing module(364) processes encryption/decryption for securing transmitting/receiving data. A session managing module(366) manages the formed session. A high level instruction processor(304) distinguishes each application module(360) matched with each high level instruction provided from an API(Application Programming Interface)(302) and decodes/provides the high level instruction to the corresponding module. An application module controller(350) controls operation of the application module depending on the instruction provided from the high level instruction processor.

Description

세션키 전송 방법 및 시스템{Method and system for transporting session key}Method and system for transporting session key

본 발명은 효율적으로 세션키를 전송하여 세션키를 공유할 수 있는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system that can share a session key by efficiently transmitting a session key.

인터넷을 통하여 서버와 클라이언트 사이에 송수신되는 데이터를 암호화 및 복호화하여, 안전한 통신 환경을 제공하기 위한 시도가 발견되고 있다. 그러나, 종래 암호화 방식은 송수신되는 모든 데이터에 대하여 공개키 알고리즘을 이용한 암호화를 함으로써 연산 속도가 현저히 줄어드는 문제점이 있다. 또한, 종래 기술에 의하면 상호 인증을 하기 위하여 공개키 알고리즘을 사용함으로써 연산 속도가 줄어드는 문제점도 있다.Attempts have been made to provide a secure communication environment by encrypting and decrypting data transmitted and received between a server and a client through the Internet. However, the conventional encryption method has a problem that the operation speed is significantly reduced by encrypting all data transmitted and received using a public key algorithm. In addition, according to the prior art there is a problem that the operation speed is reduced by using a public key algorithm for mutual authentication.

본 발명의 목적은 클라이언트와 서버 사이에 세션키를 공유할 수 있는 세션키 전송 방법 및 시스템을 제공하는 데 있다.An object of the present invention is to provide a method and system for transmitting a session key that can share a session key between a client and a server.

본 발명의 다른 목적은 클라이언트와 서버 사이에 서버 인증 또는 상호 인증을 할 수 있는 세션키 전송 방법 및 시스템을 제공하는 데 있다.Another object of the present invention is to provide a method and system for transmitting a session key that can perform server authentication or mutual authentication between a client and a server.

본 발명의 또 다른 목적은 한번의 세션키 공유로 세션키 공유를 반복하지 않고 계속하여 사용할 수 있는 세션키 전송 방법 및 시스템을 제공하는 데 있다.Another object of the present invention is to provide a method and system for transmitting a session key that can be used continuously without repeating the session key sharing with one session key sharing.

본 발명의 또 다른 목적은 간단한 프로토콜을 사용함으로써 연산 속도를 증가시킬 수 있는 세션키 전송 방법 및 시스템을 제공하는 데 있다.Another object of the present invention is to provide a method and system for transmitting a session key that can increase the operation speed by using a simple protocol.

본 발명의 또 다른 목적은 공개키 연산을 줄이고, 대칭키 연산을 주로 사용함으로써 연산 속도를 증가시킬 수 있는 세션키 전송 방법 및 시스템을 제공하는 데 있다.It is still another object of the present invention to provide a method and a system for transmitting a session key that can reduce the public key operation and increase the operation speed by using symmetric key operations.

본 발명의 또 다른 목적은 서버가 세션키를 저장 및 관리할 필요가 없는 세션키 전송 방법 및 시스템을 제공하는 데 있다.It is still another object of the present invention to provide a method and a system for transmitting a session key in which the server does not need to store and manage the session key.

본 발명의 또 다른 목적은 클라이언트가 서버에 접속하여 키 전송을 할 경우에, 서버가 복수개로 구성되어 있을 경우에, 클라이언트가 특정 서버에 접속함으로써 타 서버로의 키 전송이 안전하게 이루어질 수 있는 세션키 전송 방법 및 시스템을 제공하는 데 있다.It is still another object of the present invention to provide a key for transmitting a key to another server when the client connects to a server and the server is configured with a plurality of servers. To provide a transmission method and system.

도 1은 본 발명의 바람직한 일 실시예에 따른 세션키 공유를 통하여 안전하게 정보를 송수신할 수 있는 서버 및 클라이언트를 개략적으로 나타낸 도면.1 is a diagram schematically illustrating a server and a client capable of securely transmitting and receiving information through session key sharing according to an embodiment of the present invention.

도 2는 본 발명의 바람직한 다른 실시예에 따른 세션키 공유를 통하여 안전하게 정보를 송수신할 수 있는 서버 및 클라이언트를 개략적으로 나타낸 도면.2 is a schematic diagram of a server and a client capable of securely transmitting and receiving information through session key sharing according to another embodiment of the present invention.

도 3은 본 발명의 바람직한 다른 실시예에 따른 서버의 모듈 구성을 나타낸 블록도.3 is a block diagram showing a module configuration of a server according to another preferred embodiment of the present invention.

도 4는 본 발명의 바람직한 일 실시예에 따른 클라이언트에서의 동작 방식을 개략적으로 나타낸 도면.4 is a diagram schematically illustrating a method of operation in a client according to an exemplary embodiment of the present invention.

도 5는 본 발명의 바람직한 일 실시예에 따른 세션키 공유에 의한 안전한 데이터의 송수신 과정을 개략적으로 나타낸 순서도.5 is a flowchart schematically illustrating a process of transmitting and receiving secure data by sharing a session key according to an exemplary embodiment of the present invention.

도 6은 본 발명의 바람직한 일 실시예에 따른 클라이언트의 서버로의 접속 과정을 상세히 나타낸 순서도.Figure 6 is a flow chart illustrating in detail the connection process of the client to the server according to an embodiment of the present invention.

도 7은 본 발명의 바람직한 일 실시예에 따른 클라이언트로부터 수신한 데이터에 대한 서버의 응답 과정을 상세히 나타낸 순서도.7 is a flow chart illustrating in detail the response process of the server to the data received from the client according to an embodiment of the present invention.

도 8은 본 발명의 바람직한 일 실시예에 따른 서버로부터 수신한 데이터로부터 세션키를 획득하여 공유하며, 서버를 인증하는 과정을 상세히 나타낸 순서도.8 is a flowchart illustrating a process of acquiring and sharing a session key from data received from a server according to an exemplary embodiment of the present invention, and authenticating the server.

도 9는 본 발명의 바람직한 일 실시예에 따른 상기 클라이언트의 상기 서버로의 재접속 과정을 상세히 나타낸 순서도.9 is a flowchart illustrating a reconnection process of the client to the server according to an embodiment of the present invention in detail.

도 10은 본 발명의 바람직한 일 실시예에 따른 서버에서 클라이언트의 재접속에 응답하는 과정을 상세히 나타낸 순서도.10 is a flow chart illustrating in detail the process of responding to the reconnection of the client in the server according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

101…서버 103…클라이언트101... Server 103... Client

105… 통신 네트워크 201, 205…암호/복호 모듈105... Communication network 201, 205. Password / Decryption Module

203…관리 도구 362…송수신 처리 모듈203... Management tool 362. Send and receive processing module

364…암호/복호 처리 모듈 366…세션 관리 모듈364... Password / decryption processing module 366. Session management module

401…웹 브라우저 403…운영 체제401... Web browser 403... operating system

405…커널 407…저장 공간405... Kernel 407... Storage space

상술한 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면, 통신 네트워크를 통하여 적어도 하나의 클라이언트와 결합하는 서버에서 세션키를 전송하는 방법에 있어서, 상기 클라이언트로부터 암호화된 제1 세션키 및 상기 제1 세션키를 이용하여 암호화된 제1 메시지를 수신하는 단계, 상기 암호화된 제1 세션키를 복호화하여 제1 세션키를 획득하는 단계, 상기 획득한 제1 세션키를 이용하여 상기 암호화된 제1 메시지를 복호화하여 제1 메시지를 획득하는 단계, 제2 세션키를 상기 제1 세션키를 이용하여 암호화하는 단계, 상기 제1 메시지에 상응하는 제2 메시지를 추출하는 단계, 상기 제2 세션키를 이용하여 상기 제2 메시지를 암호화하는 단계 및 상기 암호화된 제2 세션키 및 상기 암호화된 제2 메시지를 상기 클라이언트로 전송하는 단계를 포함하되, 상기 클라이언트는 상기 제1 세션키를 이용하여 암호화된 제2 세션키를 복호화하여 제2 세션키를 획득하며, 상기 획득한 제2 세션키를 이용하여 암호화된 제2 메시지를 복호화하여 제2 메시지를 획득하는 것을 특징으로 하는 서버에서의 세션키 전송 방법을 제공할 수 있다.In order to achieve the above objects, according to an aspect of the present invention, a method for transmitting a session key in a server that is coupled with at least one client through a communication network, the encrypted first session key and the first session key from the client; Receiving a first message encrypted using a first session key, acquiring a first session key by decrypting the encrypted first session key, and first encrypting the first session key using the obtained first session key Decrypting the message to obtain a first message; encrypting a second session key using the first session key; extracting a second message corresponding to the first message; Encrypting the second message using the second message and transmitting the encrypted second session key and the encrypted second message to the client. The client decrypts a second session key encrypted using the first session key to obtain a second session key, and decrypts a second message encrypted using the obtained second session key to generate a second session key. A method for transmitting a session key in a server may be provided.

바람직한 실시예에서, 상기 방법은 상기 획득한 제1 세션키를 저장하는 단계를 더 포함할 수 있다. 또한, 상기 제1 세션키 및 상기 제2 세션키 중 적어도 하나는 난수인 것을 특징으로 한다. 또한, 상기 제1 세션키는 상기 서버에 상응하는 서버 공개키를 이용하여 암호화되며, 상기 서버 공개키에 상응하며 미리 저장된 서버 개인키를 이용하여 복호화되는 것을 특징으로 한다. 또한, 상기 제2 세션키를 상기 제1 세션키를 이용하여 암호화하는 것은 상기 제1 세션키 및 상기 제2 세션키를 연접하여 상기 제1 세션키를 이용하여 암호화하는 것을 특징으로 한다. 또한, 상기 클라이언트는 상기 제2 세션키로 암호화된 상기 제1 세션키를 복호화하여 제1 세션키를 획득한 후, 미리 저장된 제1 세션키와 상응하는 지 여부를 판단하는 것을 특징으로 한다. 상기 방법은 상기 제2 세션키를 생성하는 단계를 더 포함할 수 있다. 또한, 상기 방법은 현재 시각을 바탕으로 제1 타임 스탬프를 생성하는 단계, 상기 제1 타임 스탬프와 상기 제2 세션키를 연접하여, 미리 생성되어 저장된 세션 마스터 키를 이용하여 암호화하는 단계 및 상기 암호화된 제1 타임 스탬프 및 상기 제2 세션키를 상기 클라이언트로 전송하는 단계를 더 포함하되, 상기 제1 타임 스탬프는 상기 클라이언트가 상기 서버로 재접속시에 소정의 시간 내에 재접속하였는 지의 여부를 판단하기 위하여 사용되며, 유효하게 재접속하는 경우, 갱신되는 것을 특징으로 한다. 또한, 상기 클라이언트로가 상기 서버로 재접속하는 경우, 상기 제2 세션키를 이용하여 데이터를 암호화 및 복호화하는 것을 특징으로 한다.In a preferred embodiment, the method may further comprise storing the obtained first session key. In addition, at least one of the first session key and the second session key may be a random number. The first session key may be encrypted using a server public key corresponding to the server, and may be decrypted using a server private key corresponding to the server public key and stored in advance. The encrypting of the second session key using the first session key may be performed by concatenating the first session key and the second session key and encrypting the second session key using the first session key. The client may decrypt the first session key encrypted with the second session key to obtain a first session key, and then determine whether the client corresponds to a previously stored first session key. The method may further comprise generating the second session key. The method may further include generating a first time stamp based on a current time, concatenating the first time stamp and the second session key, and encrypting using a previously generated and stored session master key and the encryption. Transmitting the first time stamp and the second session key to the client, wherein the first time stamp is used to determine whether the client has reconnected within a predetermined time when the client reconnects to the server. It is used, it is characterized in that it is updated in the case of effective reconnection. In addition, when the client reconnects to the server, data is encrypted and decrypted using the second session key.

본 발명의 다른 측면에 따르면, 통신 네트워크를 통하여 서버와 결합하는 클라이언트에서 세션키를 전송하는 방법에 있어서, 제1 세션키를 암호화하는 단계,상기 제1 세션키를 이용하여 제1 메시지를 암호화하는 단계, 상기 암호화된 제1 세션키 및 암호화된 제1 메시지를 상기 서버로 전송하는 단계, 상기 서버로부터 상기 제1 세션키를 이용하여 암호화된 제2 세션키 및 상기 제2 세션키를 이용하여 암호화된 제2 메시지를 수신하는 단계, 상기 제1 세션키를 이용하여 상기 암호화된 제2 세션키를 복호화하여 제2 세션키를 획득하는 단계 및 상기 획득한 제2 세션키를 이용하여 상기 암호화된 제2 메시지를 복호화하여 제2 메시지를 획득하는 단계를 포함하는 클라이언트에서의 세션키 전송 방법을 제공할 수 있다.According to another aspect of the present invention, a method for transmitting a session key in a client coupled to a server via a communication network, the method comprising: encrypting a first session key, encrypting a first message using the first session key Transmitting the encrypted first session key and an encrypted first message to the server; encrypting from the server using a second session key encrypted with the first session key and using the second session key. Receiving a second encrypted message, using the first session key to decrypt the encrypted second session key to obtain a second session key, and using the obtained second session key to encrypt the second message. A method of transmitting a session key in a client may include providing a second message by decoding a second message.

본 발명의 또 다른 측면에 따르면, 통신 네트워크를 통하여 적어도 하나의 클라이언트와 결합하며, 세션키를 전송하는 방법을 수행하는 서버 시스템에 있어서, 프로그램이 저장되어 있는 메모리, 상기 메모리에 결합되어 상기 프로그램을 실행하는 프로세서를 포함하되, 상기 프로세서는 상기 프로그램에 의해, 상기 클라이언트로부터 암호화된 제1 세션키 및 상기 제1 세션키를 이용하여 암호화된 제1 메시지를 수신하고, 상기 암호화된 제1 세션키를 복호화하여 제1 세션키를 획득하고, 상기 획득한 제1 세션키를 이용하여 상기 암호화된 제1 메시지를 복호화하여 제1 메시지를 획득하고, 제2 세션키를 상기 제1 세션키를 이용하여 암호화하고, 상기 제1 메시지에 상응하는 제2 메시지를 추출하고, 상기 제2 세션키를 이용하여 상기 제2 메시지를 암호화하고, 상기 암호화된 제2 세션키 및 상기 암호화된 제2 메시지를 상기 클라이언트로 전송하되, 상기 클라이언트는 상기 제1 세션키를 이용하여 암호화된 제2 세션키를 복호화하여 제2 세션키를 획득하며, 상기 획득한 제2 세션키를 이용하여 암호화된 제2 메시지를 복호화하여 제2 메시지를 획득하는 것을특징으로 하는 서버 시스템을 제공할 수 있다.According to another aspect of the present invention, a server system for coupling with at least one client through a communication network and performing a method for transmitting a session key, the memory is stored in the program, coupled to the memory to the program And a processor for executing, wherein the processor receives, by the program, an encrypted first session key and an encrypted first message using the first session key from the client, and receives the encrypted first session key. Decrypts to obtain a first session key, decrypts the encrypted first message using the obtained first session key to obtain a first message, and encrypts a second session key using the first session key Extract a second message corresponding to the first message, encrypt the second message using the second session key, and Transmit the encrypted second session key and the encrypted second message to the client, wherein the client decrypts the encrypted second session key using the first session key to obtain a second session key; A server system can be provided by decrypting a second message encrypted using the obtained second session key to obtain a second message.

본 발명의 또 다른 측면에 따르면, 클라이언트에서 세션키를 전송하는 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 잇는 기록 매체에 있어서, 상기 세션키를 전송하는 방법이, 제1 세션키를 암호화하는 단계, 상기 제1 세션키를 이용하여 제1 메시지를 암호화하는 단계, 상기 암호화된 제1 세션키 및 암호화된 제1 메시지를 상기 서버로 전송하는 단계, 상기 서버로부터 상기 제1 세션키를 이용하여 암호화된 제2 세션키 및 상기 제2 세션키를 이용하여 암호화된 제2 메시지를 수신하는 단계, 상기 제1 세션키를 이용하여 상기 암호화된 제2 세션키를 복호화하여 제2 세션키를 획득하는 단계, 상기 획득한 제2 세션키를 이용하여 상기 암호화된 제2 메시지를 복호화하여 제2 메시지를 획득하는 단계를 포함하는 것을 특징으로 하는 기록 매체를 제공할 수 있다.According to another aspect of the present invention, a program of instructions that can be executed by a digital processing apparatus is tangibly implemented to perform a method of transmitting a session key at a client, and can be read by the digital processing apparatus. The method of claim 1, further comprising: encrypting a first session key, encrypting a first message using the first session key, the encrypted first session key and the encrypted first message Transmitting to the server, receiving a second session key encrypted using the first session key and a second message encrypted using the second session key, and transmitting the first session key from the server. Decrypting the encrypted second session key to obtain a second session key, and encrypting the second session key to obtain the second session key. In that it comprises the step of decrypting the message to obtain the second message it is possible to provide a recording medium according to claim.

이어서, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.Next, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 바람직한 일 실시예에 따른 세션키 공유를 통하여 안전하게 정보를 송수신할 수 있는 서버 및 클라이언트를 개략적으로 나타낸 도면이다.1 is a diagram schematically illustrating a server and a client capable of securely transmitting and receiving information through session key sharing according to an exemplary embodiment of the present invention.

도 1을 참조하면, 서버(101)는 인터넷과 같은 통신 네트워크(105)를 통하여 적어도 하나의 클라이언트(103)와 결합되어 있다. 상기 클라이언트(103)와 서버(101)는 특정 세션에 대하여 세션키를 공유하며, 한번의 세션키 공유로 특정세션에 계속하여 사용할 수 있다. 또한, 상기 클라이언트(103)와 서버(101)는 세션키 공유와 더불어 상호 인증 과정을 수행할 수 있다. 상기 세션키 공유 및 인증 과정(특히, 서버 인증)을 상기 서버 및 클라이언트의 구성을 참조로 하여 개략적으로 설명하면 다음과 같다.Referring to FIG. 1, server 101 is coupled with at least one client 103 via a communication network 105, such as the Internet. The client 103 and the server 101 share a session key for a particular session, and can continue to use the session with one session key sharing. In addition, the client 103 and the server 101 may perform a mutual authentication process in addition to sharing the session key. The session key sharing and authentication process (particularly, server authentication) will be described with reference to the configuration of the server and client as follows.

클라이언트(103)가 안전하게 제1 난수(R1)를 생성한 후, R1을 미리 제공된 서버의 공개키(KP_SR)로 암호화하며, 서버(101)로 전송하고자 하는 제1 메시지(M1)를 상기 제1 난수(R1)로 암호화한 후, 상기 암호화된 제1 난수(R1) 및 상기 암호화된 제1 메시지(M1)를 연접하여 상기 서버(101)로 전송한다. 서버(101)는 상기 서버 공개키(KP_SR)에 상응하는 서버 개인키(KR_SR)로 제1 난수(R1)를 획득한 후, 상기 제1 난수(R1)를 이용하여 제1 메시지(M1)를 획득한다. 그 후, 서버(101)는 제1 메시지(M1)에 상응하는 제2 메시지(M2)를 저장 공간으로부터 추출한 후, 안전하게 생성된 제2 난수(R2)로 암호화한다. 또한, 서버(101)는 제2 난수로 상기 제1 난수(R1) 및 제2 난수(R2)를 암호화한다. 그 후, 서버(101)는 암호화된 제2 메시지(M2) 및 암호화된 제1 난수(R1) 및 암호화된 제2 난수(R2)를 연접하여 상기 클라이언트(103)로 전송한다. 클라이언트(103)는 상기 제1 난수(R1)를 이용하여 상기 제1 난수(R1) 및 제2 난수(R2)를 획득한다. 상기 클라이언트(103)는 저장 공간에 미리 저장된 상기 제1 난수(R1)와 상기 복호화 과정을 통하여 획득한 제1 난수(R1)가 서로 일치 또는 유효한 지의 여부를 판단한다. 상기 판단 결과, 미리 저장된 상기 제1 난수(R1)와 상기 복호화 과정을 통하여 획득한 제1 난수(R1)가 서로 일치 또는 유효하면 클라이언트(103)는 제2 난수(R2)를 저장하며, 상기 제2 난수(R2)를 이용하여 제2 메시지(M2)를 획득한다.After the client 103 safely generates the first random number R1, the client 103 encrypts R1 with the public key KP_SR of the server provided in advance, and transmits the first message M1 to be transmitted to the server 101. After encrypting with a random number R1, the encrypted first random number R1 and the encrypted first message M1 are concatenated and transmitted to the server 101. After the server 101 obtains the first random number R1 with the server private key KR_SR corresponding to the server public key KP_SR, the server 101 receives the first message M1 using the first random number R1. Acquire. Thereafter, the server 101 extracts the second message M2 corresponding to the first message M1 from the storage space and encrypts the second random number R2 securely generated. In addition, the server 101 encrypts the first random number R1 and the second random number R2 with a second random number. Thereafter, the server 101 concatenates the encrypted second message M2 and the encrypted first random number R1 and the encrypted second random number R2 to the client 103. The client 103 obtains the first random number R1 and the second random number R2 by using the first random number R1. The client 103 determines whether the first random number R1 prestored in the storage space and the first random number R1 obtained through the decoding process match or are valid with each other. As a result of the determination, when the first random number R1 stored in advance and the first random number R1 obtained through the decoding process match or are valid with each other, the client 103 stores the second random number R2 and the second random number R2 is stored. 2 The second message M2 is obtained using the random number R2.

상기의 과정을 통하여, 클라이언트(103)와 서버(101)는 세션키(R2)를 공유할 수 있다. 또한, 클라이언트(103)는 미리 저장된 상기 제1 난수(R1)와 상기 복호화 과정을 통하여 획득한 제1 난수(R1)가 서로 일치 또는 유효한 지의 여부를 판단하여, 미리 저장된 상기 제1 난수(R1)와 상기 복호화 과정을 통하여 획득한 제1 난수(R1)가 서로 일치 또는 유효하다면 서버(101)가 서버 공개키(KP_SR)에 상응하는 서버 개인키(KR_SR)를 소유하고 있음을 확인함으로써 서버(101)를 인증할 수 있다. 상기 과정의 수행 이후, 상기 클라이언트(103)와 서버(101)는 세션키 공유를 반복할 필요없이, 미리 공유된 세션키를 이용하여 송수신되는 데이터를 암호화 및 복호화할 수 있다.Through the above process, the client 103 and the server 101 may share the session key (R2). In addition, the client 103 determines whether the first random number R1 stored in advance and the first random number R1 obtained through the decoding process are identical or valid to each other, and thus the first random number R1 stored in advance. If the first random number R1 obtained through the decryption process matches or is valid with each other, the server 101 confirms that the server 101 owns the server private key KR_SR corresponding to the server public key KP_SR. ) Can be authenticated. After performing the above process, the client 103 and the server 101 may encrypt and decrypt data transmitted and received using a pre-shared session key without having to repeat session key sharing.

도 2는 본 발명의 바람직한 다른 실시예에 따른 세션키 공유를 통하여 안전하게 정보를 송수신할 수 있는 서버 및 클라이언트를 개략적으로 나타낸 도면이다.2 is a diagram schematically illustrating a server and a client capable of securely transmitting and receiving information through session key sharing according to another exemplary embodiment of the present invention.

도 2를 참조하면, 서버(101)는 인터넷과 같은 통신 네트워크(105)를 통하여 적어도 하나의 클라이언트(103)와 결합되어 있다. 상기 클라이언트(103)는 내부에 암호/복호 모듈(205)을 구비한다. 또한, 서버(101)는 내부에 암호/복호 모듈(201) 및 이를 관리하는 관리 도구(203)를 구비한다.Referring to FIG. 2, server 101 is coupled with at least one client 103 via a communication network 105, such as the Internet. The client 103 has an encryption / decryption module 205 therein. In addition, the server 101 includes an encryption / decryption module 201 and a management tool 203 managing the same.

클라이언트(103)에 구비된 암호/복호 모듈(205)은 서버 공개키(KP_SR)로 제1 난수(R1)를 암호화하고, 제1 메시지(M1)를 제1 난수(R1)로 암호화한다. 또한, 클라이언트(103)에 구비된 암호/복호 모듈(205)은 서버(101)로부터 전송된 데이터로부터 제1 난수(R1)를 이용하여 복호화하여 제1 난수(R1) 및 제2 난수(R2)를 획득하며, 상기 제2 난수(R2)를 이용하여 복호화하여 제2 메시지(M2)를 획득한다. 이 후, 클라이언트(103)에 구비된 암호/복호 모듈(205)은 서버(101)로부터 전송되는 데이터를 상기 제2 난수(R2)를 이용하여 복호화하며, 서버(101)로 전송될 데이터를 제1 난수(R1)를 이용하여 암호화한다.The encryption / decryption module 205 included in the client 103 encrypts the first random number R1 with the server public key KP_SR, and encrypts the first message M1 with the first random number R1. In addition, the encryption / decryption module 205 included in the client 103 decrypts the first random number R1 and the second random number R2 from the data transmitted from the server 101 by using the first random number R1. To obtain a second message (M2) by decoding using the second random number (R2). Thereafter, the encryption / decryption module 205 included in the client 103 decrypts the data transmitted from the server 101 using the second random number R2, and decodes the data to be transmitted to the server 101. 1 Encrypt using random number R1.

서버(101)에 구비된 암호/복호 모듈(201)은 클라이언트(103)로부터 전송된 데이터로부터 내부에 저장된 서버 개인키(KR_SR)로 복호화하여 제1 난수(R1)를 획득하며, 상기 제1 난수(R1)로 복호화하여 제1 메시지를 획득하는 역할을 수행한다. 또한, 제1 난수(R1), 제2 난수(R2)를 제2 난수(R2)로 암호화하고, 제2 메시지(M2)를 제2 난수(R2)로 암호화하는 역할을 수행한다. 이 후, 서버(101)에 구비된 암호/복호 모듈(201)은 클라이언트(103)로 전송될 데이터를 제2 난수(R2)를 이용하여 암호화한다. 상기 관리 도구(203)는 GUI(Graphic User Interface) 형태로 제공되는 것이 바람직하며, 서버(101)의 관리자로 하여금 상기 서버(101) 내에 구비된 암호/복호 모듈(201)을 관리하도록 한다.The encryption / decryption module 201 included in the server 101 obtains a first random number R1 by decrypting the data transmitted from the client 103 with the server private key KR_SR stored therein, and the first random number. Decrypts to R1 to obtain a first message. Also, the first random number R1 and the second random number R2 are encrypted with the second random number R2, and the second message M2 is encrypted with the second random number R2. Thereafter, the encryption / decryption module 201 included in the server 101 encrypts the data to be transmitted to the client 103 using the second random number R2. The management tool 203 is preferably provided in the form of a graphical user interface (GUI), and allows an administrator of the server 101 to manage the encryption / decryption module 201 provided in the server 101.

도 3은 본 발명의 바람직한 다른 실시예에 따른 서버의 모듈 구성을 나타낸 블록도이다.3 is a block diagram illustrating a module configuration of a server according to another exemplary embodiment of the present invention.

도 3을 참조하면, 서버(101)는 적어도 하나의 클라이언트 또는 다른 서버와의 통신을 처리하기 위한 송수신 처리 모듈(362)과, 세션키의 공유, 상호 인증, 송수신되는 데이터의 안전을 위한 암호화 및 복호화를 처리하는 암호/복호 처리모듈(364) 및 형성된 세션을 관리하기 위한 세션 관리 모듈(366)을 포함할 수 있다. 이러한 응용 모듈을 통하여 서버(101)의 전체적인 구성을 살펴보면 다음과 같다.Referring to FIG. 3, the server 101 includes a transmission / reception processing module 362 for processing communication with at least one client or another server, sharing of session keys, mutual authentication, encryption for security of data transmitted and received, and An encryption / decryption processing module 364 for processing decryption and a session management module 366 for managing the formed session. Looking at the overall configuration of the server 101 through such an application module as follows.

서버(101)는 다양한 OS(Operating System)를 시스템의 OS로서 사용할 수 있다. 이러한 OS는 API(Application Program Interface: 302)에 하이 레벨 명령어를 제공하여 각 응용 모듈(360)의 동작을 제어한다. 상기 API(302)는 상술한 관리 도구인 것이 바람직하다. 서버(101)는 API(302)로부터 제공되는 하이 레벨 명령어에 따라 대응하는 각 응용 모듈(360)을 식별하고, 하이 레벨 명령어를 디코딩하여 해당하는 곳으로 제공하는 하이 레벨 명령어 처리부(304)를 포함한다. 응용 모듈 제어부(350)는 하이 레벨 명령어 처리부(304)로부터 제공된 명령어에 따라 응용 모듈(360)의 동작을 제어한다. 즉, 하이 레벨 명령어 처리부(304)는 API(302)를 통하여 제공된 하이 레벨 명령어에 따라 여기에 대응하는 응용 모듈(360)이 존재하는지를 식별하고, 대응되는 응용 모듈(360)이 존재하는 경우에 해당하는 응용 모듈(360)에서 인식할 수 있는 명령어로 디코딩하여 해당하는 매핑부에 전송하거나 메시지 전송을 제어한다. 따라서, 응용 모듈 제어부(350)는 송수신 처리 모듈(362)과, 암호/복호 처리 모듈(364) 및 세션 관리 모듈(366)에 대한 매핑부(351, 353, 355)와 인터페이스부(352, 354, 356)를 각각 포함한다.The server 101 can use various operating systems (OS) as the OS of the system. The OS provides a high level command to an application program interface (302) to control the operation of each application module 360. The API 302 is preferably the above-described management tool. The server 101 includes a high level instruction processing unit 304 that identifies each corresponding application module 360 according to the high level instructions provided from the API 302, decodes the high level instructions, and provides them to the corresponding places. do. The application module controller 350 controls the operation of the application module 360 according to the command provided from the high level command processor 304. That is, the high level instruction processing unit 304 identifies whether there is an application module 360 corresponding thereto according to the high level instruction provided through the API 302, and corresponds to the case where the corresponding application module 360 exists. Decoded by a command recognized by the application module 360 to be transmitted to the corresponding mapping unit or to control the transmission of the message. Accordingly, the application module controller 350 may include a mapping unit 351, 353, 355, and an interface unit 352, 354 for the transmission / reception processing module 362, the encryption / decryption processing module 364, and the session management module 366. And 356, respectively.

송수신 처리 모듈 매핑부(351)는 하이 레벨 명령어 처리부(304)로부터 인터넷과 같은 통신 네트워크를 통하여 적어도 하나의 클라이언트 또는 다른 서버와의 통신을 수행하기 위한 하이 레벨의 명령어를 제공받아, 송수신 처리 모듈(362)에서처리할 수 있는 디바이스 레벨로 매핑하고, 송수신 처리 모듈 인터페이스부(352)를 통하여 송수신 처리 모듈(362)로 제공한다.The transmit / receive processing module mapping unit 351 receives a high level command from the high level command processor 304 to communicate with at least one client or another server through a communication network such as the Internet. 362 is mapped to a device level that can be processed, and provided to the transmit / receive processing module 362 through the transmit / receive processing module interface unit 352.

암호/복호 처리 모듈 매핑부(353) 및 암호/복호 처리 모듈 인터페이스부(354)는 클라이언트와의 세션키 공유, 클라이언트와의 상호 인증, 송수신되는 데이터의 안전을 위한 암호화 및 복호화를 처리하는 부분이다. 즉, 암호/복호 처리 모듈 매핑부(353)는 하이 레벨 명령어 처리부(304)로부터 암호/복호 처리 모듈(364)을 이용하기 위한 하이 레벨 명령어를 제공받아 이를 디바이스 레벨의 명령어로 매핑시키고, 암호/복호 처리 모듈 인터페이스부(354)를 통하여 암호/복호 처리 모듈(364)로 제공한다.The encryption / decryption processing module mapping unit 353 and the encryption / decryption processing module interface unit 354 are portions for processing session key sharing with the client, mutual authentication with the client, and encryption and decryption for the security of data transmitted and received. . That is, the encryption / decryption processing module mapping unit 353 receives a high-level command for using the encryption / decryption processing module 364 from the high level command processing unit 304 and maps it to a device level command. The encryption / decryption processing module 364 is provided through the decryption processing module interface unit 354.

세션 관리 모듈(366)은 클라이언트와 서버 사이에 형성된 세션을 관리하며, 특히 특정 시점의 시간 정보를 포함하는 타임 스탬프(Time Stamp; TS)를 이용하여 효율적이며 안전하게 형성된 세션을 관리하는 부분이다. 세션 관리 모듈 매핑부(355)는 하이 레벨 명령어 처리부(304)를 통하여 인가된 하이 레벨 명령어를 제공받아 세션 관리 모듈(366)이 인식할 수 있는 디바이스 레벨의 명령어로 매핑시킨다. 디바이스 레벨의 명령어는 세션 관리 모듈 인터페이스부(356)를 통하여 세션 관리 모듈(366)로 제공된다.The session management module 366 manages sessions formed between the client and the server. In particular, the session management module 366 manages sessions that are efficiently and securely formed using a time stamp (TS) including time information of a specific time point. The session management module mapping unit 355 receives the high level command authorized through the high level command processing unit 304 and maps the device management command to a device level command that can be recognized by the session management module 366. Device level commands are provided to the session management module 366 via the session management module interface 356.

도 4는 본 발명의 바람직한 일 실시예에 따른 클라이언트에서의 동작 방식을 개략적으로 나타낸 도면이다.4 is a diagram schematically illustrating a method of operation in a client according to an exemplary embodiment of the present invention.

도 4를 참조하면, 암호/복호 모듈(205, 도 2 참조)이 클라이언트(103)에 설치될 때, 사용자가 선택하거나 디폴트로 암호화 서비스의 대상이 선택될 수 있다. 선택된 암호화 서비스 대상은 저장 공간에 저장된다. 이 후, 사용자가 인터넷 등을 사용하여 서버(101)와의 데이터를 송수신하고자 할 때, 운영 체제(OS)(403)에 의하여 커널(405) 레벨에서 상기 암호/복호 모듈을 활성화한다. 구체적으로, 사용자가 저장 공간에 저장된 암호화 서비스 대상을 이용하는 경우에, 운영 체제(403)는 웹 브라우저(401)의 구동시에 전송 레이어(Transport Layer)에서 상기 암호/복호 모듈을 활성화한다. 본 발명의 실시예에서, 웹 환경으로 표현하였지만, 웹 환경 이외에도 본 발명이 적용될 수 있음은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게는 자명할 것이므로, 이에 대한 구체적인 설명을 생략하기로 한다.Referring to FIG. 4, when an encryption / decryption module 205 (see FIG. 2) is installed in the client 103, a user may select or a target of an encryption service may be selected by default. The selected encryption service object is stored in the storage space. Thereafter, when the user wants to transmit / receive data with the server 101 using the Internet or the like, the encryption / decryption module is activated by the operating system (OS) 403 at the kernel 405 level. Specifically, when the user uses the encryption service object stored in the storage space, the operating system 403 activates the encryption / decryption module in the transport layer when the web browser 401 is driven. In the embodiment of the present invention, but expressed as a web environment, the present invention can be applied in addition to the web environment, it will be apparent to those of ordinary skill in the art, the detailed description thereof will be omitted. do.

도 5는 본 발명의 바람직한 일 실시예에 따른 세션키 공유에 의한 안전한 데이터의 송수신 과정을 개략적으로 나타낸 순서도이다.5 is a flowchart schematically illustrating a process of transmitting and receiving secure data by sharing a session key according to an exemplary embodiment of the present invention.

도 5를 참조하면, 단계 501에서 서버는 초기화 과정을 수행한다. 구체적으로, 서버는 서버 공개키(KP_SR) 및 이에 상응하는 서버 개인키(KR_SR) 쌍을 안전하게 생성한 후 저장 공간에 저장한다. 또한, 서버는 세션 관리를 위하여 사용되는 안전한 크기의 대칭키인 세션 마스터키(MK)를 생성한 후, 저장 공간에 저장한다.Referring to FIG. 5, in step 501, the server performs an initialization process. Specifically, the server securely generates a server public key KP_SR and a corresponding server private key KR_SR pair, and stores the pair in the storage space. In addition, the server generates a session master key (MK), which is a secure size symmetric key used for session management, and stores it in a storage space.

단계 502는 안전한 세션을 형성하는 과정으로서, 클라이언트와 서버간에 세션키를 공유하며, 상호 인증(설명의 편의상 서버 인증으로 대체)을 하는 과정을 포함한다. 이하, 단계 502에 포함된 단계 503 내지 단계 507을 상세히 분설하기로 한다.Step 502 is a process of establishing a secure session, which includes sharing a session key between the client and the server and performing mutual authentication (substituting server authentication for convenience of description). Hereinafter, steps 503 to 507 included in step 502 will be described in detail.

단계 503에서, 클라이언트는 통신 네트워크를 통하여 서버에 접속하는 과정을 수행한다. 단계 503은 도 6을 참조하여 상세히 설명하기로 한다.In step 503, the client performs a process of connecting to the server through the communication network. Step 503 will be described in detail with reference to FIG.

도 6은 본 발명의 바람직한 일 실시예에 따른 클라이언트의 서버로의 접속 과정을 상세히 나타낸 순서도이다.6 is a flowchart illustrating in detail a connection process of a client to a server according to an exemplary embodiment of the present invention.

도 6을 참조하면, 클라이언트는 안전하게 제1 세션키인 제1 난수(R1)를 생성한다(단계 601). 본 발명의 바람직한 다른 실시예에서 클라이언트는 저장 공간에 미리 저장된 제1 세션키를 추출할 수 있다. 그 후, 클라이언트는 상기 저장 공간에 미리 저장되어 있는 서버의 공개키(KP_SR)로 상기 제1 난수(R1)를 암호화한다(단계 603). 상기 암호화 과정은 수학식 1과 같이 표현될 수 있다.Referring to FIG. 6, the client securely generates a first random number R1, which is a first session key (step 601). In another preferred embodiment of the present invention, the client may extract the first session key previously stored in the storage space. Thereafter, the client encrypts the first random number R1 with the public key KP_SR of the server previously stored in the storage space (step 603). The encryption process may be expressed as in Equation 1.

여기서, E는 암호 알고리즘이며, KP_SR은 서버의 공개키이며, R1은 제1 난수이고, F1은 R1에 대한 암호화 결과이다. 본 발명의 바람직한 실시예에서, 상기 E는 공개키 암호 알고리즘으로서, RSA인 것이 바람직하다.Where E is an encryption algorithm, KP_SR is the server's public key, R1 is the first random number, and F1 is the encryption result for R1. In a preferred embodiment of the present invention, E is a public key cryptographic algorithm, preferably RSA.

그 후, 클라이언트는 통신 네트워크를 통하여 서버로 전송할 제1 메시지(M1)를 상기 제1 난수(R1)로 암호화한다(단계 605). 상기 암호화 과정은 수학식 2와 같이 표현될 수 있다.The client then encrypts the first message M1 with the first random number R1 to be sent to the server via a communication network (step 605). The encryption process may be expressed as in Equation 2.

여기서, E는 암호 알고리즘이며, R1은 제1 난수이며, M1은 제1 메시지이며, G1은 상기 제1 메시지에 대한 암호화 결과이다. 본 발명의 바람직한 실시예에서, 상기 E는 대칭키 암호 알고리즘으로서, SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, BLOWFISH 중 적어도 하나이다.Here, E is an encryption algorithm, R1 is a first random number, M1 is a first message, and G1 is an encryption result for the first message. In a preferred embodiment of the present invention, E is a symmetric key cryptographic algorithm, and is at least one of SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, and BLOWFISH.

그 후, 클라이언트는 제1 난수(R1)에 대한 암호화 결과인 F1과 제1 메시지(M1)에 대한 암호화 결과인 G1을 연접(F1∥G1,)하여 상기 서버로 전송한다(단계 607).Thereafter, the client concatenates F1, which is the result of encryption for the first random number R1, and G1, which is the result of encryption for the first message M1 (F1, G1, To the server (step 607).

단계 505에서, 서버는 통신 네트워크를 통하여 클라이언트로부터 수신한 데이터에 대하여 응답하는 과정을 수행한다. 단계 505는 도 7을 참조하여 상세히 설명하기로 한다.In step 505, the server responds to the data received from the client via the communication network. Step 505 will be described in detail with reference to FIG. 7.

도 7은 본 발명의 바람직한 일 실시예에 따른 클라이언트로부터 수신한 데이터에 대한 서버의 응답 과정을 상세히 나타낸 순서도이다.7 is a flowchart illustrating in detail a response process of a server to data received from a client according to an exemplary embodiment of the present invention.

도 7을 참조하면, 서버는 상기 서버 공개키(KP_SR)에 상응하여 미리 생성하여 저장한 서버 개인키(KR_SR)를 추출한 후, 이를 이용하여 상기 클라이언트로부터 수신한 F1을 복호화하여 제1 난수(R1)를 획득한다(단계 701). 상기 복호화 과정은 수학식 3과 같이 표현될 수 있다.Referring to FIG. 7, the server extracts a server private key KR_SR previously generated and stored corresponding to the server public key KP_SR, and then decrypts F1 received from the client using the first random number R1. (Step 701). The decoding process may be expressed as in Equation 3.

= =

여기서, D는 복호화 알고리즘, E는 암호화 알고리즘, KP_SR은 서버의 공개키, KR_SR은 서버의 개인키, F1은 제1 난수(R1)의 암호화 결과, 및 R1은 제1 난수이다. 본 발명의 바람직한 실시예에서 상기 D는 공개키 복호화 알고리즘으로서 공개키 암호화 알고리즘인 E에 상응한다.Where D is a decryption algorithm, E is an encryption algorithm, KP_SR is the server's public key, KR_SR is the server's private key, F1 is the encryption result of the first random number R1, and R1 is the first random number. In a preferred embodiment of the present invention, D corresponds to E, a public key encryption algorithm, as a public key decryption algorithm.

또한, 서버는 상기 획득한 제1 난수(R1)를 이용하여 상기 클라이언트로부터 수신한 G1을 복호화하여 제1 메시지(M1)를 획득한다(단계 703). 상기 복호화 과정은 수학식 4와 같이 표현될 수 있다.In addition, the server decodes G1 received from the client using the obtained first random number R1 to obtain a first message M1 (step 703). The decoding process may be expressed as in Equation 4.

= =

여기서, D는 복호화 알고리즘, E는 암호화 알고리즘, R1은 제1 난수, G1은 제1 메시지(M1)의 암호화 결과, 및 M1은 제1 메시지이다. 본 발명의 바람직한 실시예에서, 상기 D는 대칭키 복호화 알고리즘으로서, 대칭키 암호화 알고리즘인 상기 E에 상응한다.Here, D is a decryption algorithm, E is an encryption algorithm, R1 is a first random number, G1 is an encryption result of the first message M1, and M1 is a first message. In a preferred embodiment of the present invention, D is a symmetric key decryption algorithm, which corresponds to E which is a symmetric key encryption algorithm.

그 후, 상기 서버는 획득한 제1 난수(R1)를 저장 공간에 저장하며, 상기 제1 메시지(M1)에 상응하는 제2 메시지(M2)를 상기 저장 공간으로부터 추출한다(단계 705). 이 후, 상기 서버는 안전하게 제2 세션키인 제2 난수(R2)를 생성한다(단계 707). 본 발명의 바람직한 다른 실시예에서 클라이언트는 저장 공간에 미리 저장된 제1 세션키를 추출할 수 있다. 상기 서버는 상기 획득한 제1 난수(R1)와 상기 생성한 제2 난수(R2)를 상기 획득한 제1 난수(R1)를 이용하여 암호화한다(단계 709). 상기 암호화 과정은 수학식 5와 같이 표현될 수 있다.Thereafter, the server stores the obtained first random number R1 in the storage space, and extracts a second message M2 corresponding to the first message M1 from the storage space (step 705). Thereafter, the server securely generates a second random number R2, which is the second session key (step 707). In another preferred embodiment of the present invention, the client may extract the first session key previously stored in the storage space. The server encrypts the obtained first random number R1 and the generated second random number R2 using the obtained first random number R1 (step 709). The encryption process may be expressed as in Equation 5.

여기서, E는 암호 알고리즘, R1은 제1 난수, R2는 제2 난수, F2는 R1 및 R2에 대한 암호화 결과이다. 본 발명의 바람직한 실시예에서, 상기 E는 대칭키 암호 알고리즘으로서, SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, BLOWFISH 중 적어도 하나이다.Where E is an encryption algorithm, R1 is a first random number, R2 is a second random number, and F2 is an encryption result for R1 and R2. In a preferred embodiment of the present invention, E is a symmetric key cryptographic algorithm, and is at least one of SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, and BLOWFISH.

그 후, 서버는 현재 시각을 바탕으로 제1 타임 스탬프(Time Stamp; 제1 TS)를 생성한다(단계 711). 상기 서버는 상기 생성한 제1 타임 스탬프(TS1)와 상기 제2 난수를 상기 초기화 과정(단계 501)에서 생성한 세션 마스터 키(MK)를 이용하여 암호화한다(단계 713). 상기 암호화 과정은 수학식 6과 같이 표현될 수 있다.Thereafter, the server generates a first Time Stamp (TS) based on the current time (step 711). The server encrypts the generated first time stamp TS1 and the second random number using the session master key MK generated in the initialization process (step 501) (step 713). The encryption process may be expressed as in Equation 6.

여기서, E는 암호화 알고리즘, MK는 세션 마스터 키, TS1은 제1 타임 스탬프, R2는 제2 난수 및 F3은 TS1 및 R2에 대한 암호화 결과이다. 본 발명의 바람직한 실시예에서, 상기 E는 대칭키 암호 알고리즘으로서, SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, BLOWFISH 중 적어도 하나이다.Where E is the encryption algorithm, MK is the session master key, TS1 is the first time stamp, R2 is the second random number, and F3 is the encryption result for TS1 and R2. In a preferred embodiment of the present invention, E is a symmetric key cryptographic algorithm, and is at least one of SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, and BLOWFISH.

또한, 상기 서버는 상기 제2 메시지를 상기 제2 난수로 암호화한다. 상기 암호화 과정은 수학식 7과 같이 표현될 수 있다.The server also encrypts the second message with the second random number. The encryption process may be expressed as in Equation 7.

여기서, E는 암호화 알고리즘, R2는 제2 난수, M2는 제2 메시지, 및 G2는 M2에 대한 암호화 결과이다. 본 발명의 바람직한 실시예에서, 상기 E는 대칭키 암호 알고리즘으로서, SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, BLOWFISH 중 적어도 하나이다.Where E is an encryption algorithm, R2 is a second random number, M2 is a second message, and G2 is an encryption result for M2. In a preferred embodiment of the present invention, E is a symmetric key cryptographic algorithm, and is at least one of SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, and BLOWFISH.

그 후, 상기 서버는 제1 난수(R1) 및 제2 난수(R2)에 대한 암호화 결과인 F2, 제1 타임 스탬프(TS1) 및 제2 난수(R2)에 대한 암호화 결과인 F3, 및 제2 메시지에 대한 암호화 결과인 G2를 연접(F2∥F3∥G1,)하여 상기 클라이언트로 전송한다(단계 717).Thereafter, the server generates F2, which is an encryption result of the first random number R1 and a second random number R2, F3, which is an encryption result of the first time stamp TS1, and a second random number R2, and a second. Concatenate G2, the result of encryption on the message (F2 ∥ F3 ∥ G1, To the client (step 717).

다시 도 5를 참조하면, 단계 507에서, 클라이언트는 통신 네트워크를 통하여 서버로부터 수신한 데이터로부터 세션키를 획득하여 공유하며, 서버를 인증하는 과정을 수행한다. 단계 507은 도 8을 참조하여 상세히 설명하기로 한다.Referring back to FIG. 5, in step 507, the client acquires and shares a session key from data received from the server through a communication network, and performs a process of authenticating the server. Step 507 will be described in detail with reference to FIG. 8.

도 8은 본 발명의 바람직한 일 실시예에 따른 서버로부터 수신한 데이터로부터 세션키를 획득하여 공유하며, 서버를 인증하는 과정을 상세히 나타낸 순서도이다.8 is a flowchart illustrating a process of acquiring and sharing a session key from data received from a server according to an exemplary embodiment of the present invention and authenticating the server.

도 8을 참조하면, 클라이언트는 저장 공간에 저장된 제1 난수(R1)를 이용하여, 상기 서버로부터 수신한 F2를 복호화하여 제1 난수(R1) 및 제2 난수(R2)를 획득한다(단계 801). 상기 복호화 과정은 수학식 8과 같이 표현될 수 있다.Referring to FIG. 8, the client decodes F2 received from the server using the first random number R1 stored in the storage space to obtain a first random number R1 and a second random number R2 (step 801). ). The decoding process may be expressed as Equation 8.

= =

여기서, R1은 제1 난수, F2는 R1 및 R2에 대한 암호화 결과, D는 복호화 알고리즘, E는 암호화 알고리즘, R2는 제2 난수이다. 본 발명의 바람직한 실시예에서, 상기 D는 대칭키 복호화 알고리즘으로서, 대칭키 암호화 알고리즘인 상기 E에 상응한다.Here, R1 is a first random number, F2 is an encryption result for R1 and R2, D is a decryption algorithm, E is an encryption algorithm, and R2 is a second random number. In a preferred embodiment of the present invention, D is a symmetric key decryption algorithm, which corresponds to E which is a symmetric key encryption algorithm.

그 후, 클라이언트는 저장 공간에 미리 저장된 제1 난수(R1)와 상기 단계 801에서 획득한 제1 난수(R1)가 서로 일치 또는 상응하는 지에 대하여 판단함으로써, 상기 서버를 인증한다(단계 803). 상기 저장된 제1 난수(R1)와 상기 획득한 제1 난수(R1)가 서로 일치 또는 상응하는 경우에, 상기 클라이언트는 상기 서버가 서버 공개키(KP_SR)에 대응하는 서버 개인키(KR_SR)를 소유하고 있음을 확인하며, 상기 확인 과정을 통하여 상기 서버를 인증할 수 있다. 서버 인증 과정을 수행한 후, 상기 클라이언트는 상기 획득한 제2 난수(R2) 및 상기 F3()을 상기 저장 공간에 저장한다(단계 805). 그 후, 상기 클라이언트는 상기 획득한 제2 난수(R2)를 이용하여 상기 G2를 복호화하여 제2 메시지(M2)를 획득한다(단계 807). 상기 복호화 과정은 수학식 9와 같이 표현될 수 있다.Thereafter, the client authenticates the server by determining whether the first random number R1 previously stored in the storage space and the first random number R1 acquired in step 801 match or correspond to each other (step 803). When the stored first random number R1 and the obtained first random number R1 match or correspond to each other, the client owns a server private key KR_SR corresponding to the server public key KP_SR. It is confirmed that the operation, and the server can be authenticated through the verification process. After performing a server authentication process, the client acquires the obtained second random number R2 and F3 ( ) Is stored in the storage space (step 805). Thereafter, the client decodes the G2 using the obtained second random number R2 to obtain a second message M2 (step 807). The decoding process may be expressed as in Equation 9.

= =

여기서, R2는 제2 난수, D는 복호화 알고리즘, E는 암호화 알고리즘, G2는M2에 대한 암호화 결과, 및 M2는 제2 메시지이다. 본 발명의 바람직한 실시예에서, 상기 D는 대칭키 복호화 알고리즘으로서, 대칭키 암호화 알고리즘인 상기 E에 상응한다.Where R2 is a second random number, D is a decryption algorithm, E is an encryption algorithm, G2 is an encryption result for M2, and M2 is a second message. In a preferred embodiment of the present invention, D is a symmetric key decryption algorithm, which corresponds to E which is a symmetric key encryption algorithm.

상기 단계 503 내지 단계 507의 수행 결과, 상기 서버와 상기 클라이언트는 세션키(R2)를 서로 공유하며, 안전한 암호화 세션이 형성될 수 있다. 상기 과정 이후에, 다시 서버 및 클라이언트 사이에 접속이 이루어질 경우에, 상기 공유된 세션키가 이용됨으로써 암호화 및 복호화의 연산 과정을 획기적으로 줄일 수 있다. 또한, 상기 클라이언트는 제1 타임 스탬프에 대한 암호화 결과인 F3()에 대하여 별다른 조작없이 보관하고, 다음 접속시에 상기 서버로 전송한다. 그 이유는, 서버가 제1 타임 스탬프를 이용하여 시간의 경과 정도를 측정하여, 지나치게 긴 시간차가 발생하는 경우에, 악의의 사용자에 의한 재전송 공격으로 판단하여 접속을 종료할 수 있기 때문이다.As a result of performing steps 503 to 507, the server and the client share a session key R2 with each other, and a secure encryption session may be formed. After the above process, when the connection between the server and the client is made again, the shared session key is used to significantly reduce the operation of encryption and decryption. In addition, the client F3 (which is the encryption result for the first time stamp) ) Is stored without any operation, and transmitted to the server at the next connection. The reason is that the server can measure the elapsed time using the first time stamp, and when the time difference occurs too long, it can be judged as a retransmission attack by a malicious user and terminate the connection.

다시 도 5를 참조하면, 단계 509에서, 클라이언트는 통신 네트워크를 통하여 서버로 재접속하는 과정을 수행한다. 단계 509는 도 9를 참조하여 상세히 설명하기로 한다.Referring back to FIG. 5, in step 509, the client performs a process of reconnecting to the server through the communication network. Step 509 will be described in detail with reference to FIG. 9.

도 9는 본 발명의 바람직한 일 실시예에 따른 상기 클라이언트의 상기 서버로의 재접속 과정을 상세히 나타낸 순서도이다.9 is a flowchart illustrating a reconnection process of the client to the server according to an exemplary embodiment of the present invention.

도 9를 참조하면, 클라이언트는 저장 공간에 저장되어 있는, 미리 획득한제2 난수(R2) 및 제1 타임 스탬프에 대한 암호화 결과인 F3()을 추출한다(단계 901). 그 후, 클라이언트는 상기 서버로 재접속하기 위한 제3 메시지(M3)를 상기 제2 난수(R2)를 이용하여 암호화한다(단계 903). 상기 암호화 과정은 수학식 10과 같이 표현될 수 있다.Referring to FIG. 9, the client stores F3 (the encryption result of the first random number R2 and the first time stamp obtained in the storage space). ) Is extracted (step 901). Thereafter, the client encrypts the third message M3 for reconnecting to the server using the second random number R2 (step 903). The encryption process may be expressed as in Equation 10.

여기서, E는 암호화 알고리즘, R2는 제2 난수, M3은 제3 메시지, 및 G3은 M3에 대한 암호화 결과이다. 본 발명의 바람직한 실시예에서, 상기 E는 대칭키 암호 알고리즘으로서, SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, BLOWFISH 중 적어도 하나이다. 그 후, 상기 클라이언트는 상기 G3과 상기 F3을 연접(G3∥F3,)하여 상기 서버로 전송한다(단계 905).Where E is the encryption algorithm, R2 is the second random number, M3 is the third message, and G3 is the encryption result for M3. In a preferred embodiment of the present invention, E is a symmetric key cryptographic algorithm, and is at least one of SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, and BLOWFISH. Then, the client connects the G3 and the F3 (G3 ∥ F3, To the server (step 905).

다시 도 5를 참조하면, 단계 511에서, 상기 서버는 상기 클라이언트의 재접속에 응답하는 과정을 수행한다. 단계 511은 도 10을 참조하여 상세히 설명하기로 한다.Referring back to FIG. 5, in step 511, the server performs a process of responding to reconnection of the client. Step 511 will be described in detail with reference to FIG.

도 10은 본 발명의 바람직한 일 실시예에 따른 서버에서 클라이언트의 재접속에 응답하는 과정을 상세히 나타낸 순서도이다.10 is a flowchart illustrating a process of responding to reconnection of a client in a server in detail according to an exemplary embodiment of the present invention.

도 10을 참조하면, 서버는 저장 공간에 저장된 세션 마스터 키(MK)를 추출한 후, 이를 이용하여 상기 클라이언트로부터 수신한 F3을 복호화하여 제2 난수(R2)및 제1 타임 스탬프(TS1)를 획득한다(단계 1001). 그 후, 상기 서버는 획득한 제1 타임 스탬프(TS1)가 유효한 지의 여부를 판단한다(단계 1003). 상기 서버는 현재 시각을 기준으로, 상기 제1 타임 스탬프로부터 추출되는 시각을 비교함으로써 미리 설정한 시간을 초과한 경우에 상기 제1 타임 스탬프(TS1)가 유효하지 않은 것으로 판단한다. 상기 판단 결과, 상기 서버는 제1 타임 스탬프(TS1)가 유효하면 단계 1007을 수행하고, 그렇지 않으면 단계 1005를 수행한다. 단계 1005에서, 상기 서버는 악의적인 사용자로부터 재전송 공격을 받는 것으로 판단하여 상기 클라이언트로부터의 재접속을 거부하며, 상기 클라이언트와의 세션을 종결한다.Referring to FIG. 10, the server extracts a session master key (MK) stored in a storage space and decrypts F3 received from the client using the same to obtain a second random number R2 and a first time stamp TS1. (Step 1001). Thereafter, the server determines whether the obtained first time stamp TS1 is valid (step 1003). The server determines that the first time stamp TS1 is invalid when a preset time is exceeded by comparing the time extracted from the first time stamp with respect to the current time. As a result of the determination, the server performs step 1007 if the first time stamp TS1 is valid, and performs step 1005 otherwise. In step 1005, the server determines that it is subjected to a retransmission attack from a malicious user, rejects the reconnection from the client, and terminates the session with the client.

단계 1007에서, 상기 서버는 현재 시각을 바탕으로 타임 스탬프를 갱신한다. 즉, 상기 서버는 현재 시각을 바탕으로 제1 타임 스탬프를 폐기하고, 제2 타임 스탬프를 생성한다. 그 후, 상기 서버는 제2 타임 스탬프(TS2) 및 제2 난수(R2)를 상기 세션 마스터 키(MK)를 이용하여 암호화한다(단계 1009). 상기 암호화 과정은 수학식 11과 같이 표현될 수 있다.In step 1007, the server updates the time stamp based on the current time. That is, the server discards the first time stamp based on the current time and generates a second time stamp. The server then encrypts a second time stamp TS2 and a second random number R2 using the session master key MK (step 1009). The encryption process may be expressed as in Equation 11.

여기서, E는 암호화 알고리즘, MK는 세션 마스터 키, TS2는 제2 타임 스탬프, R2는 제2 난수, 및 F4는 TS2 및 R2에 대한 암호화 결과이다. 본 발명의 바람직한 실시예에서, 상기 E는 대칭키 암호 알고리즘으로서, SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, BLOWFISH 중 적어도 하나이다.Where E is the encryption algorithm, MK is the session master key, TS2 is the second time stamp, R2 is the second random number, and F4 is the encryption result for TS2 and R2. In a preferred embodiment of the present invention, E is a symmetric key cryptographic algorithm, and is at least one of SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, and BLOWFISH.

또한, 상기 서버는 클라이언트로부터 수신한 제3 메시지(M3)에 상응하는 제4메시지(M4)를 저장 공간으로부터 추출한다(단계 1011). 상기 서버는 상기 제2 난수(R2)를 이용하여 상기 추출한 제4 메시지를 암호화한다(단계 1013). 상기 암호화 과정은 수학식 12와 같이 표현될 수 있다.In addition, the server extracts a fourth message M4 corresponding to the third message M3 received from the client from the storage space (step 1011). The server encrypts the extracted fourth message using the second random number R2 (step 1013). The encryption process may be expressed as in Equation 12.

여기서, E는 암호화 알고리즘, R2는 제2 난수, M4는 제4 메시지, 및 G4는 M4에 대한 암호화 결과이다. 본 발명의 바람직한 실시예에서, 상기 E는 대칭키 암호 알고리즘으로서, SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, BLOWFISH 중 적어도 하나이다.Where E is an encryption algorithm, R2 is a second random number, M4 is a fourth message, and G4 is an encryption result for M4. In a preferred embodiment of the present invention, E is a symmetric key cryptographic algorithm, and is at least one of SEED, PACA, 3DES, RJINDAEL, RC2, CAST128, IDEA, and BLOWFISH.

그 후, 상기 서버는 F4와 G4를 연접(F4∥G4,)하여 상기 클라이언트로 전송한다(단계 1015).Thereafter, the server connects F4 and G4 (F4 ∥ G4, To the client (step 1015).

다시 도 5를 참조하면, 단계 513에서, 클라이언트는 저장 공간에 저장된 제2 난수(R2)를 추출한 후, 이를 이용하여 통신 네트워크를 통하여 서버로부터 수신한 G4를 복호화하여 M4를 획득한다. 상기 복호화 과정은 수학식 13과 같이 표현될 수 있다.Referring back to FIG. 5, in step 513, the client extracts the second random number R2 stored in the storage space, and uses the same to decode G4 received from the server through the communication network to obtain M4. The decoding process may be expressed as in Equation 13.

= =

여기서, D는 복호화 알고리즘, R2는 제2 난수, G4는 M4에 대한 암호화 결과,E는 암호화 알고리즘, 및 M4는 제4 메시지이다. 본 발명의 바람직한 실시예에서, 상기 D는 대칭키 복호화 알고리즘으로서, 대칭키 암호화 알고리즘인 상기 E에 상응한다.Where D is a decryption algorithm, R2 is a second random number, G4 is an encryption result for M4, E is an encryption algorithm, and M4 is a fourth message. In a preferred embodiment of the present invention, D is a symmetric key decryption algorithm, which corresponds to E which is a symmetric key encryption algorithm.

이 후, 클라이언트가 서버로부터 재접속하여 서버로부터 일정한 정보를 얻기 위해서 상술한 단계 509 내지 단계 513을 반복하여 수행할 수 있다.Thereafter, the client may repeat steps 509 to 513 described above to reconnect from the server to obtain certain information from the server.

본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.The present invention is not limited to the above embodiments, and many variations are possible by those skilled in the art within the spirit of the present invention.

본 발명에 의하여, 클라이언트와 서버 사이에 세션키를 공유할 수 있는 세션키 전송 방법 및 시스템을 제공할 수 있다.According to the present invention, a method and system for transmitting a session key capable of sharing a session key between a client and a server can be provided.

또한, 본 발명에 의하여, 클라이언트와 서버 사이에 서버 인증 또는 상호 인증을 할 수 있는 세션키 전송 방법 및 시스템을 제공할 수 있다.In addition, according to the present invention, it is possible to provide a session key transmission method and system capable of server authentication or mutual authentication between a client and a server.

또한, 본 발명에 의하여, 한번의 세션키 공유로 세션키 공유를 반복하지 않고 계속하여 사용할 수 있는 세션키 전송 방법 및 시스템을 제공할 수 있다.In addition, according to the present invention, it is possible to provide a session key transmission method and system that can be used continuously without repeating the session key sharing in one session key sharing.

또한, 본 발명에 의하여, 간단한 프로토콜을 사용함으로써 연산 속도를 증가시킬 수 있는 세션키 전송 방법 및 시스템을 제공할 수 있다.In addition, according to the present invention, it is possible to provide a method and a system for transmitting a session key that can increase the operation speed by using a simple protocol.

또한, 본 발명에 의하여, 공개키 연산을 줄이고, 대칭키 연산을 주로 사용함으로써 연산 속도를 증가시킬 수 있는 세션키 전송 방법 및 시스템을 제공할 수 있다.In addition, according to the present invention, it is possible to provide a method and a system for transmitting a session key that can increase the operation speed by reducing public key operations and using symmetric key operations.

또한, 본 발명에 의하여, 서버가 클라이언트별로 세션키를 저장 및 관리할 필요가 없는 세션키 전송 방법 및 시스템을 제공할 수 있다.In addition, according to the present invention, it is possible to provide a method and system for transmitting a session key, in which a server does not need to store and manage session keys for each client.

또한, 본 발명에 의하여, 클라이언트가 서버에 접속하여 키 전송을 할 경우에, 서버가 복수개로 구성되어 있을 경우에, 클라이언트가 특정 서버에 접속함으로써 타 서버로의 키 전송이 안전하게 이루어질 수 있는 세션키 전송 방법 및 시스템을 제공할 수 있다.In addition, according to the present invention, when a client connects to a server and transmits a key, when the server is configured with a plurality of sessions, the session key can securely transmit the key to another server by connecting the client to a specific server. A transmission method and system can be provided.

Claims (12)

통신 네트워크를 통하여 적어도 하나의 클라이언트와 결합하는 서버에서 세션키를 전송하는 방법에 있어서,A method for transmitting a session key in a server that associates with at least one client via a communication network, the method comprising: 상기 클라이언트로부터 암호화된 제1 세션키 및 상기 제1 세션키를 이용하여 암호화된 제1 메시지를 수신하는 단계;Receiving an encrypted first session key and an encrypted first message using the first session key from the client; 상기 암호화된 제1 세션키를 복호화하여 제1 세션키를 획득하는 단계;Decrypting the encrypted first session key to obtain a first session key; 상기 획득한 제1 세션키를 이용하여 상기 암호화된 제1 메시지를 복호화하여 제1 메시지를 획득하는 단계;Obtaining a first message by decrypting the encrypted first message using the obtained first session key; 제2 세션키를 상기 제1 세션키를 이용하여 암호화하는 단계;Encrypting a second session key using the first session key; 상기 제1 메시지에 상응하는 제2 메시지를 추출하는 단계;Extracting a second message corresponding to the first message; 상기 제2 세션키를 이용하여 상기 제2 메시지를 암호화하는 단계; 및Encrypting the second message using the second session key; And 상기 암호화된 제2 세션키 및 상기 암호화된 제2 메시지를 상기 클라이언트로 전송하는 단계Transmitting the encrypted second session key and the encrypted second message to the client. 를 포함하되,Including, 상기 클라이언트는 상기 제1 세션키를 이용하여 암호화된 제2 세션키를 복호화하여 제2 세션키를 획득하며, 상기 획득한 제2 세션키를 이용하여 암호화된 제2 메시지를 복호화하여 제2 메시지를 획득하는 것The client decrypts a second session key encrypted using the first session key to obtain a second session key, and decrypts a second message encrypted using the obtained second session key to obtain a second message. Acquiring 을 특징으로 하는 서버에서의 세션키 전송 방법.Session key transmission method in the server, characterized in that. 제1항에 있어서,The method of claim 1, 상기 획득한 제1 세션키를 저장하는 단계Storing the obtained first session key 를 더 포함하는 것을 특징으로 하는 서버에서의 세션키 전송 방법.Session key transmission method in the server, characterized in that it further comprises. 제1항에 있어서,The method of claim 1, 상기 제1 세션키 및 상기 제2 세션키 중 적어도 하나는At least one of the first session key and the second session key 난수인 것을 특징으로 하는 서버에서의 세션키 전송 방법.Session key transmission method in the server, characterized in that the random number. 제1항에 있어서,The method of claim 1, 상기 제1 세션키는 상기 서버에 상응하는 서버 공개키를 이용하여 암호화되며, 상기 서버 공개키에 상응하며 미리 저장된 서버 개인키를 이용하여 복호화되는 것을 특징으로 하는 서버에서의 세션키 전송 방법.And the first session key is encrypted using a server public key corresponding to the server, and decrypted using a server private key stored in advance and corresponding to the server public key. 제1항에 있어서,The method of claim 1, 상기 제2 세션키를 상기 제1 세션키를 이용하여 암호화하는 것은Encrypting the second session key using the first session key 상기 제1 세션키 및 상기 제2 세션키를 연접하여 상기 제1 세션키를 이용하여 암호화하는 것을 특징으로 하는 서버에서의 세션키 전송 방법.And connecting the first session key and the second session key and encrypting the data using the first session key. 제5항에 있어서,The method of claim 5, 상기 클라이언트는 상기 제2 세션키로 암호화된 상기 제1 세션키를 복호화하여 제1 세션키를 획득한 후, 미리 저장된 제1 세션키와 상응하는 지 여부를 판단하는 것을 특징으로 하는 서버에서의 세션키 전송 방법.After the client obtains the first session key by decrypting the first session key encrypted with the second session key, the client determines whether or not it corresponds to a previously stored first session key. Transmission method. 제1항에 있어서,The method of claim 1, 상기 제2 세션키를 생성하는 단계Generating the second session key 를 더 포함하는 것을 특징으로 하는 서버에서의 세션키 전송 방법.Session key transmission method in the server, characterized in that it further comprises. 제1항에 있어서,The method of claim 1, 현재 시각을 바탕으로 제1 타임 스탬프를 생성하는 단계;Generating a first time stamp based on a current time; 상기 제1 타임 스탬프와 상기 제2 세션키를 연접하여, 미리 생성되어 저장된 세션 마스터 키를 이용하여 암호화하는 단계; 및Concatenating the first time stamp and the second session key and encrypting the information using a previously generated and stored session master key; And 상기 암호화된 제1 타임 스탬프 및 상기 제2 세션키를 상기 클라이언트로 전송하는 단계Transmitting the encrypted first time stamp and the second session key to the client. 를 더 포함하되,Include more, 상기 제1 타임 스탬프는 상기 클라이언트가 상기 서버로 재접속시에 소정의 시간 내에 재접속하였는 지의 여부를 판단하기 위하여 사용되며, 유효하게 재접속하는 경우, 갱신되는 것을 특징으로 하는 서버에서의 세션키 전송 방법.The first time stamp is used to determine whether the client has reconnected within a predetermined time when the client reconnects to the server, and is updated when validly reconnecting. 제1항에 있어서,The method of claim 1, 상기 클라이언트가 상기 서버로 재접속하는 경우, 상기 제2 세션키를 이용하여 데이터를 암호화 및 복호화하는 것을 특징으로 하는 서버에서의 세션키 전송 방법.And when the client reconnects to the server, encrypting and decrypting data using the second session key. 통신 네트워크를 통하여 서버와 결합하는 클라이언트에서 세션키를 전송하는 방법에 있어서,A method for transmitting a session key in a client coupled to a server via a communication network, the method comprising: 제1 세션키를 암호화하는 단계;Encrypting the first session key; 상기 제1 세션키를 이용하여 제1 메시지를 암호화하는 단계;Encrypting a first message using the first session key; 상기 암호화된 제1 세션키 및 암호화된 제1 메시지를 상기 서버로 전송하는 단계;Transmitting the encrypted first session key and an encrypted first message to the server; 상기 서버로부터 상기 제1 세션키를 이용하여 암호화된 제2 세션키 및 상기 제2 세션키를 이용하여 암호화된 제2 메시지를 수신하는 단계;Receiving from the server a second session key encrypted using the first session key and a second message encrypted using the second session key; 상기 제1 세션키를 이용하여 상기 암호화된 제2 세션키를 복호화하여 제2 세션키를 획득하는 단계; 및Decrypting the encrypted second session key using the first session key to obtain a second session key; And 상기 획득한 제2 세션키를 이용하여 상기 암호화된 제2 메시지를 복호화하여 제2 메시지를 획득하는 단계Acquiring a second message by decrypting the encrypted second message using the obtained second session key; 를 포함하는 클라이언트에서의 세션키 전송 방법.Session key transmission method in the client comprising a. 통신 네트워크를 통하여 적어도 하나의 클라이언트와 결합하며, 세션키를 전송하는 방법을 수행하는 서버 시스템에 있어서,A server system coupled to at least one client via a communication network and performing a method for transmitting a session key, comprising: 프로그램이 저장되어 있는 메모리;A memory in which a program is stored; 상기 메모리에 결합되어 상기 프로그램을 실행하는 프로세서A processor coupled to the memory to execute the program 를 포함하되,Including, 상기 프로세서는 상기 프로그램에 의해,The processor by the program, 상기 클라이언트로부터 암호화된 제1 세션키 및 상기 제1 세션키를 이용하여 암호화된 제1 메시지를 수신하고, 상기 암호화된 제1 세션키를 복호화하여 제1 세션키를 획득하고, 상기 획득한 제1 세션키를 이용하여 상기 암호화된 제1 메시지를 복호화하여 제1 메시지를 획득하고, 제2 세션키를 상기 제1 세션키를 이용하여 암호화하고, 상기 제1 메시지에 상응하는 제2 메시지를 추출하고, 상기 제2 세션키를 이용하여 상기 제2 메시지를 암호화하고, 상기 암호화된 제2 세션키 및 상기 암호화된 제2 메시지를 상기 클라이언트로 전송하되, 상기 클라이언트는 상기 제1 세션키를 이용하여 암호화된 제2 세션키를 복호화하여 제2 세션키를 획득하며, 상기 획득한 제2 세션키를 이용하여 암호화된 제2 메시지를 복호화하여 제2 메시지를 획득하는 것을 특징으로 하는 서버 시스템.Receive an encrypted first session key and a first message encrypted using the first session key from the client, obtain the first session key by decrypting the encrypted first session key, and obtain the obtained first session key. Decrypting the encrypted first message using a session key to obtain a first message, encrypting a second session key using the first session key, extracting a second message corresponding to the first message, and And encrypting the second message using the second session key, and transmitting the encrypted second session key and the encrypted second message to the client, wherein the client encrypts using the first session key. The second session key is obtained by decrypting the second session key, and the second message is obtained by decrypting the second message encrypted using the obtained second session key. Server systems. 클라이언트에서 세션키를 전송하는 방법을 수행하기 위하여 디지털 처리 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리 장치에 의해 판독될 수 잇는 기록 매체에 있어서,In the recording medium that can be read by the digital processing device, a program of instructions that can be executed by the digital processing device is tangibly implemented to perform a method of transmitting a session key in a client. 상기 세션키를 전송하는 방법이,The method for transmitting the session key, 제1 세션키를 암호화하는 단계, 상기 제1 세션키를 이용하여 제1 메시지를 암호화하는 단계, 상기 암호화된 제1 세션키 및 암호화된 제1 메시지를 상기 서버로 전송하는 단계, 상기 서버로부터 상기 제1 세션키를 이용하여 암호화된 제2 세션키 및 상기 제2 세션키를 이용하여 암호화된 제2 메시지를 수신하는 단계, 상기 제1 세션키를 이용하여 상기 암호화된 제2 세션키를 복호화하여 제2 세션키를 획득하는 단계, 상기 획득한 제2 세션키를 이용하여 상기 암호화된 제2 메시지를 복호화하여 제2 메시지를 획득하는 단계를 포함하는 것을 특징으로 하는 기록 매체.Encrypting a first session key, encrypting a first message using the first session key, transmitting the encrypted first session key and an encrypted first message to the server, from the server Receiving a second session key encrypted using a first session key and a second message encrypted using the second session key, decrypting the encrypted second session key using the first session key Acquiring a second session key, and decrypting the encrypted second message using the obtained second session key to obtain a second message.
KR1020030030090A 2003-05-13 2003-05-13 Method and system for transporting session key KR20040097717A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030030090A KR20040097717A (en) 2003-05-13 2003-05-13 Method and system for transporting session key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030030090A KR20040097717A (en) 2003-05-13 2003-05-13 Method and system for transporting session key

Publications (1)

Publication Number Publication Date
KR20040097717A true KR20040097717A (en) 2004-11-18

Family

ID=37375854

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030030090A KR20040097717A (en) 2003-05-13 2003-05-13 Method and system for transporting session key

Country Status (1)

Country Link
KR (1) KR20040097717A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007117879A1 (en) * 2006-04-07 2007-10-18 Intel Corporation Method and apparatus to mate an external code image with an on-chip private key
KR100974622B1 (en) * 2007-07-10 2010-08-09 고려대학교 산학협력단 E-mail transmission method for encrytion and forward-secure and Recoding medium for the same
KR101160812B1 (en) * 2005-03-31 2012-06-28 재단법인서울대학교산학협력재단 Method for key generation to reduce transmission overhead in Broadcast Encryption, Encryption and Decryption using the key generation
KR101704540B1 (en) * 2016-08-03 2017-02-09 성결대학교 산학협력단 A method of managing group keys for sharing data between multiple devices in M2M environment
CN112784250A (en) * 2021-01-27 2021-05-11 深圳融安网络科技有限公司 Identity authentication method, client, server and storage medium
KR102281265B1 (en) * 2020-09-29 2021-07-22 세종대학교산학협력단 Functional encryption for set intersection with time-constrained function keys

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101160812B1 (en) * 2005-03-31 2012-06-28 재단법인서울대학교산학협력재단 Method for key generation to reduce transmission overhead in Broadcast Encryption, Encryption and Decryption using the key generation
WO2007117879A1 (en) * 2006-04-07 2007-10-18 Intel Corporation Method and apparatus to mate an external code image with an on-chip private key
KR100974622B1 (en) * 2007-07-10 2010-08-09 고려대학교 산학협력단 E-mail transmission method for encrytion and forward-secure and Recoding medium for the same
KR101704540B1 (en) * 2016-08-03 2017-02-09 성결대학교 산학협력단 A method of managing group keys for sharing data between multiple devices in M2M environment
KR102281265B1 (en) * 2020-09-29 2021-07-22 세종대학교산학협력단 Functional encryption for set intersection with time-constrained function keys
CN112784250A (en) * 2021-01-27 2021-05-11 深圳融安网络科技有限公司 Identity authentication method, client, server and storage medium
CN112784250B (en) * 2021-01-27 2024-04-23 深圳融安网络科技有限公司 Identity authentication method, client, server and storage medium

Similar Documents

Publication Publication Date Title
US7688975B2 (en) Method and apparatus for dynamic generation of symmetric encryption keys and exchange of dynamic symmetric key infrastructure
KR101130415B1 (en) A method and system for recovering password protected private data via a communication network without exposing the private data
US7774594B2 (en) Method and system for providing strong security in insecure networks
US7231526B2 (en) System and method for validating a network session
US5732137A (en) Method and apparatus for secure remote authentication in a public network
US8438629B2 (en) Packet security method and apparatus
US7139918B2 (en) Multiple secure socket layer keyfiles for client login support
US20060005026A1 (en) Method and apparatus for secure communication reusing session key between client and server
EP2544117A1 (en) Method and system for sharing or storing personal data without loss of privacy
JPH088895A (en) Method for key control of internet procedure and its device
US6944762B1 (en) System and method for encrypting data messages
CA2354704A1 (en) Public key cryptosystem with roaming user capability
KR20050072508A (en) The authentication apparatus and method for the devices which constitute a home network
WO2000014918A1 (en) System and method for encrypting data messages
WO2016188353A1 (en) Network monitoring device and method, apparatus and system for resetting password thereof, and server
US11838148B2 (en) Providing a split-configuration virtual private network
JP2022117456A (en) Message transmission system with hardware security module
US10699021B2 (en) Method and a device for secure storage of at least one element of digital information, and system comprising such device
US20050210247A1 (en) Method of virtual challenge response authentication
JPH10242957A (en) User authentication method, system therefor and storage medium for user authentication
KR20040097717A (en) Method and system for transporting session key
CN106972928B (en) Bastion machine private key management method, device and system
JPH09294120A (en) Access control method and system for ciphered shared data
JP2007074761A (en) Data encrypting method, data decrypting method, lan control device including illegal access prevention function, and information processing apparatus
Iyappan et al. Pluggable encryption algorithm in secure shell (SSH) protocol

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application