KR100447681B1 - method and recorded media for union key management using IPsec - Google Patents

method and recorded media for union key management using IPsec Download PDF

Info

Publication number
KR100447681B1
KR100447681B1 KR10-2001-0085778A KR20010085778A KR100447681B1 KR 100447681 B1 KR100447681 B1 KR 100447681B1 KR 20010085778 A KR20010085778 A KR 20010085778A KR 100447681 B1 KR100447681 B1 KR 100447681B1
Authority
KR
South Korea
Prior art keywords
information
security association
key
ipsec
kernel
Prior art date
Application number
KR10-2001-0085778A
Other languages
Korean (ko)
Other versions
KR20030055716A (en
Inventor
박원주
나재훈
손승원
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR10-2001-0085778A priority Critical patent/KR100447681B1/en
Publication of KR20030055716A publication Critical patent/KR20030055716A/en
Application granted granted Critical
Publication of KR100447681B1 publication Critical patent/KR100447681B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up

Abstract

본 발명은 응용계층에서 다른 보안영역에 대한 매뉴얼 키관리 시스템과 매뉴얼하게 암호 및 인증키를 협상하거나, 자동 키관리 서버와 연동하여 자동으로 암호 및 인증키를 협상하고, 응용계층에서 협상된 암호 및 인증 키 정보를 정의된 키소켓 프로토콜에 따라 메시지를 형성하고 커널레벨에서 이 정보를 해석하여 커널에 보안 연계 데이터베이스로 저장하고, IPsec엔진에서 패킷을 송신 또는 수신할 경우, 커널레벨에 저장된 보안 연계 데이터베이스를 참조하여 IPsec 통신을 수행하게 한다.The present invention can negotiate a password and authentication key manually with a manual key management system for another security area in the application layer, or automatically negotiate a password and authentication key in conjunction with an automatic key management server, and The authentication key information forms a message according to the defined key socket protocol, interprets this information at the kernel level, stores it in the kernel as a security association database, and when sending or receiving a packet from the IPsec engine, the security association database stored at the kernel level. Reference is made to perform IPsec communication.

본 발명에 의하면, 응용 계층 서비스 서비스에 따른 각각의 키 정보를 관리하고 유지하는 것을 필요하지 않고 제공하고자 하는 보안 프로토콜에 대한 보안 연계 및 키 정보만을 관리함으로써 기존의 인터넷 사용자들에게 안전한 서비스를 제공할 수 있다.According to the present invention, it is not necessary to manage and maintain each key information according to an application layer service service, and provide a secure service to existing Internet users by managing only security association and key information for a security protocol to be provided. Can be.

Description

아이피섹을 이용한 통합 키관리 방법 및 이를 위한 기록매체{ method and recorded media for union key management using IPsec}Integrated key management method using IPsec and recording medium for this method {method and recorded media for union key management using IPsec}

본 발명은 IPsec을 이용한 통합 키관리 방법 및 이를 위한 기록매체에 관한 것으로, 상세하게는 인터넷에서 정보보호 서비스 제공을 위하여 IPsec 기술에서 필요한 보안 프로토콜에서 사용하는 키 및 보안연계(SA)를 관리하기 위한 IPsec을 이용한 통합 키관리 방법 및 이를 위한 기록매체에 관한 것이다.The present invention relates to an integrated key management method using IPsec and a recording medium therefor, and more particularly, to managing keys and security associations (SA) used in security protocols required by IPsec technology for providing information security services on the Internet. An integrated key management method using IPsec and a recording medium therefor.

인터넷이 확산되고 고속화되면서 인터넷에 대한 침해가 증가하고 있고, 공공기관과 사회기반시설 및 금융 기관은 피해 규모와 영향이 크다. 이에 따라 인터넷 침해를 막을 수 있는 인터넷 보안이 필요하며, 대표적으로 IPsec이 있다. IPsec은 IP계층에서 보안 서비스 제공을 위한 프로토콜로 AH/ESP, IKE를 정의하여 패킷 단위의 암호 및 인증 서비스를 제공하고, 위변조 및 replay 공격을 방지할 수 있다.As the Internet spreads and speeds up, the infringement of the Internet is increasing, and the magnitude and impact of public institutions, infrastructure, and financial institutions are large. Accordingly, there is a need for Internet security that can prevent Internet breaches, and IPsec is a representative example. IPsec defines AH / ESP and IKE as a protocol for providing security services in the IP layer, providing packet-based encryption and authentication services, and preventing forgery and replay attacks.

보안 관리 제품으로 3COM의 Policy-Powered Network, Netguard의 NT-based Policy Server Technology, BrainTree의 SQL<>SECURE () 등의 제품이 있다.Security management products include 3COM's Policy-Powered Network, Netguard's NT-based Policy Server Technology, and BrainTree's SQL <> SECURE ().

일반적으로 키 관리 기술이라고 하면, 키의 생성, 키의 갱신, 키의 삭제, 키의 폐기에 관련한 기술을 포함한다. 이와 같은 키 관리 기술은 일반적으로 응용 계층에서 호출하여 사용되는 형태로 구성되어 있다.Generally, key management techniques include techniques related to key generation, key update, key deletion, and key disposal. This key management technique is generally configured in a form called by the application layer.

이러한 종래의 인터넷 정보 보호 서비스를 위한 키 관리 기술에는 인터넷 서비스별로 정보보호 방법이 존재하고 이를 위한 키 정보도 각각 필요하였다. 따라서, 사용자 및 인터넷 서비스 제공자는 응용 서비스별로 각각의 키 정보를 필요로 한다. 이에 따라 각각의 키정보를 별도로 분리하여 관리해야하는 문제점이 있다.In the conventional key management technology for the Internet information protection service, there is an information protection method for each Internet service, and key information for each of these is also required. Therefore, the user and the Internet service provider need each key information for each application service. Accordingly, there is a problem of separately managing each key information.

본 발명은 상기한 종래의 문제점을 해결하기 위한 것으로, 종래의 인터넷 정보보호 기술에서 필요하던 키 관리 기술이 아니라 IP계층에서 보안 연계 및 키 정보를 관리하고 독립적으로 구현 및 운용이 가능한 IPsec을 이용한 통합 키관리 방법 및 이를 위한 기록매체를 제공하는데 그 목적이 있다.The present invention is to solve the above-mentioned problems, and is not a key management technology required in the conventional Internet information protection technology, but integrates using IPsec that manages security association and key information in the IP layer and independently implements and operates. The purpose is to provide a key management method and a recording medium therefor.

상기 목적을 달성하는 본 발명은 IPsec 통신의 키관리 방법에 있어서, 응용계층에서 다른 보안영역에 대한 시스템 GUI와 매뉴얼하게 암호 및 인증키를 협상하거나, 자동 키관리 서버와 연동하여 자동으로 암호 및 인증키를 협상하는 단계; 응용계층에서 협상된 암호 및 인증 키 정보를 정의된 키소켓 프로토콜에 따라 메시지를 형성하고 커널레벨에서 이 정보를 해석하여 커널에 보안 연계 데이터베이스로 저장하는 단계; 커널에 저장된 보안 연계 데이터 베이스에 대하여 가상파일 시스템을 이용하여 상기 보안 연계 데이터 베이스에 대한 조회 및 관리를 수행하는 단계;및 IPsec엔진에서 패킷을 송신 또는 수신할 경우, 상기 커널레벨에 저장된 보안 연계 데이터베이스를 참조하여 IPsec 통신을 수행하는 단계;를 포함하는 IPsec을 이용한 통합 키관리 방법을 제공한다.In the present invention to achieve the above object in the key management method of the IPsec communication, the application layer negotiates a password and authentication key manually with the system GUI for the other security area, or automatically linked with the automatic key management server, the password and authentication Negotiating a key; Forming a message according to a defined key socket protocol and interpreting the information at a kernel level by storing the cipher and authentication key information negotiated at the application layer as a security association database in the kernel; Performing inquiry and management of the security association database using a virtual file system with respect to the security association database stored in the kernel; and a security association database stored at the kernel level when a packet is transmitted or received by an IPsec engine. It provides an integrated key management method using IPsec, including; performing IPsec communication with reference to.

또한, 본 발명에 따른 IPsec 통신의 키관리 방법을 수행하기 위한 기록매체에 의하면, IPsec 통신의 키관리 방법을 수행하기 위하여, 디지탈 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지탈 처리장치에 의해 판독될 수 있는 기록매체에 있어서, 응용계층에서 다른 보안영역에 대한 시스템 GUI와 매뉴얼하게 암호 및 인증키를 협상하거나, 자동 키관리 서버와 연동하여 자동으로 암호 및 인증키를 협상하는 과정; 응용계층에서 협상된 암호 및 인증 키 정보를 정의된 키소켓 프로토콜에 따라 메시지를 형성하고 커널레벨에서 이 정보를 해석하여 커널에 보안 연계 데이터베이스로 저장하는 과정; 커널에 저장된 보안 연계 데이터 베이스에 대하여 가상파일 시스템을 이용하여 보안 연계 데이터 베이스에 대한 조회 및 관리를 수행하는 과정; 및 IPsec엔진에서 패킷을 송신 또는 수신할 경우, 커널레벨에 저장된 보안 연계 데이터베이스를 참조하여 IPsec 통신을 수행하는 과정;을 포함한다.Further, according to the recording medium for performing the key management method of the IPsec communication according to the present invention, in order to perform the key management method of the IPsec communication, a program of instructions that can be executed by the digital processing apparatus is tangibly implemented. In a recording medium that can be read by a digital processing apparatus, the application layer can negotiate a password and an authentication key manually with a system GUI for another security area or automatically negotiate an encryption and an authentication key in conjunction with an automatic key management server. Process of doing; Forming a message according to a defined key socket protocol and interpreting the information at the kernel level by storing the cipher and the authentication key information negotiated at the application layer as a security association database in the kernel; Performing inquiry and management of the security association database using the virtual file system with respect to the security association database stored in the kernel; And when the packet is transmitted or received by the IPsec engine, performing IPsec communication with reference to a security association database stored at the kernel level.

본 발명에서 사용한 IPsec기술은 IP계층에서 패킷 별로 정보보호 서비스를 제공하므로 응용 계층 서비스 프로그램에는 개개의 영향을 주지 않고 원하는 보안 프로토콜 및 알고리즘에 따라 모든 인터넷 서비스에게 정보보호 기능을 제공할 수 있다. 그러므로 응용 계층 서비스에 따른 각각의 키 정보도 필요하지 않고 제공하고자 하는 보안 프로토콜에 대한 보안 연계 정보 및 이에 관련된 키 정보만 관리하면 기존이 인터넷 사용자들은 안전한 정보보호 서비스를 받을 수 있게 된다.Since the IPsec technology used in the present invention provides an information protection service for each packet in the IP layer, it is possible to provide an information protection function to all Internet services according to a desired security protocol and algorithm without affecting the application layer service program individually. Therefore, the Internet users can receive a secure information protection service by managing only the security association information and the related key information for the security protocol to be provided without requiring each key information according to the application layer service.

도 1은 본 발명에 따른 IPsec을 이용한 통합 키관리 방법을 설명하기 위한 개념도,1 is a conceptual diagram illustrating an integrated key management method using IPsec according to the present invention;

도 2는 본 발명에 따른 인터넷의 IP 계층에서 패킷 보호를 위한 SADB 구조체의 구성도,2 is a configuration diagram of a SADB structure for packet protection in the IP layer of the Internet according to the present invention;

도 3은 본 발명에 따른 매뉴얼하게 SADB를 관리하기 위한 GUI서버와 키 관리 서버와의 인터페이스 구성도,3 is an interface diagram of a GUI server and a key management server for manually managing SADB according to the present invention;

도 4는 본 발명에 따른 자동으로 협상된 SA및 키 정보를 키 관리 서버에 저장하고 관리하는 인터페이스 구성도,4 is an interface configuration diagram for storing and managing automatically negotiated SA and key information in a key management server according to the present invention;

도 5는 본 발명에 따른 커널계층에 위치한 SADB 정보를 관리자에게 보여주기 위해 정의된 파일 시스템을 설명하기 위한 개념도,5 is a conceptual diagram illustrating a file system defined for showing an administrator SADB information located in a kernel layer according to the present invention;

도 6은 본 발명에 따른 응용 계층에서 커널 계층에 키관리 소켓을 사용하여 보안 연계 및 키 정보를 관리하는 동작 흐름도,6 is a flowchart illustrating an operation for managing security association and key information using a key management socket in a kernel layer in an application layer according to the present invention;

도 7은 본 발명에 따른 키 및 보안 연계 정보의 유효기간에 따라 SA의 재협상 및 갱신을 요구하는 동작 흐름도이다.7 is a flowchart illustrating an operation for requesting renegotiation and renewal of an SA according to a valid period of key and security association information according to the present invention.

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

10 : 매뉴얼키관리 시스템 20 : 자동키교환서버10: manual key management system 20: automatic key exchange server

30 : 키관리 서버 31 : GUI 에이전트30: Key Management Server 31: GUI Agent

32 : IKMB 33 : SADB32: IKMB 33: SADB

40 : IPsec 엔진 50 : proc 파일 시스템40: IPsec engine 50: proc file system

이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 도 1은 본 발명에 따른 IPsec을 이용한 통합 키관리 방법을 설명하기 위한 개념도이다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings. 1 is a conceptual diagram illustrating an integrated key management method using IPsec according to the present invention.

도면을 참조하면, 본 발명은 응용계층에서 다른 보안영역에 대한 매뉴얼 키관리 시스템(10)과 매뉴얼하게 암호 및 인증키를 협상하거나, 자동 키관리 서버(20)와 연동하여 자동으로 암호 및 인증키를 협상하고, 응용계층에서 협상된 암호 및 인증 키 정보를 정의된 키소켓 프로토콜에 따라 메시지를 형성하고 커널레벨에서 이 정보를 해석하여 커널에 보안 연계 데이터베이스로 저장하고, IPsec엔진(40)에서 패킷을 송신 또는 수신할 경우, 커널레벨에 저장된 보안 연계 데이터베이스를 참조하여 IPsec 통신을 수행하게 한다.Referring to the drawings, the present invention negotiates a password and an authentication key manually with a manual key management system 10 for another security area in an application layer, or automatically connects an encryption and authentication key with an automatic key management server 20. Negotiation protocol, and form a message according to the defined key socket protocol, the password and authentication key information negotiated at the application layer, interprets this information at the kernel level and stores it as a security association database in the kernel, and the packet in the IPsec engine 40 In case of sending or receiving, IPsec communication is performed by referring to security association database stored at kernel level.

도 2는 본 발명에 따른 인터넷의 IP 계층에서 패킷 보호를 위한 SADB 구조체의 구성도로서, 커널 계층에 생성되는 SADB 구조체에 들어가는 정보들을 예시하고 있다.2 is a configuration diagram of a SADB structure for packet protection in the IP layer of the Internet according to the present invention, illustrating information contained in the SADB structure generated in the kernel layer.

SADB는 처음 SA가 생성되면 커널 메모리에 구조체를 생성한다. 각 데이터 베이스에 저장된 SA은 목적지 주소(destination address), SPI(Security Parameter Index), 보안 프로토콜(AH 또는 ESP)값으로 식별되어진다. SPI 값은 보안 연계정보를 생성한 시스템에서 랜덤 함수를 사용하여 랜덤하게 생성하여 사용한다. 각 데이터 베이스는 목적지 주소, SPI, 보안 프로토콜(AH or ESP)를 값을 더하여SADB_HASH_MOD 값, 257로 모듈러 연산하여 해시값을 얻어서 이 값을 포인터로 저장한다. IPsec 엔진이 패킷을 송신하거나 수신할 때, SA를 적용하거나 적용된 SA를 풀어낼 때, 이 해쉬값으로 데이터베이스를 접근하여 보다 빨리 SA정보를 가져갈 수 있다.SADB creates a structure in kernel memory the first time an SA is created. The SAs stored in each database are identified by destination address, security parameter index (SPI), and security protocol (AH or ESP). SPI values are generated and used randomly using a random function in the system that generated the security association information. Each database adds a destination address, SPI, and security protocol (AH or ESP), modifies the value of SADB_HASH_MOD, 257, obtains a hash value, and stores this value as a pointer. When the IPsec engine transmits or receives a packet, applies an SA or extracts an applied SA, the hash value can be used to access the database and get SA information faster.

또한 SA가 생성될 때마다 SADB 시퀀스 번호(sequence number)를 부여하고, 이 SA가 적용할 보안 프로토콜의 알고리즘 타입을 저장한다. 알고리즘 타입은 시스템이 읽을 수 있도록 저장된다.In addition, each time an SA is created, a SADB sequence number is assigned and an algorithm type of a security protocol to be applied by the SA is stored. The algorithm type is stored for the system to read.

즉, 시스템 관리자가 SA를 가져가서 볼 수 있도록 가독 네임(readable name) 필드를 따로 가진다. AH 및 ESP 보안 프로토콜에 따른 알고리즘을 저장 할 수 있는 auth alg, enc alg 필드를 가진다. 또한 패킷을 주고 받을 때 리플레이 윈도우(replay window) 사이즈를 지정하면, IPsec 엔진에서 SADB에 직접 리플레이 윈도우 사이즈를 저장한다. SADB는 바이트(bytes)와 초(seconds)의 두가지의 SA 유효기간을 정의할 수 있는데, 매뉴얼하거나 자동으로 협상된 SA정보의 유효기간에 따라 hard, soft, current 유효기간을 가질 수 있고, allocations, bytes, addtime, usetime으로 구분지어서 유효기간을 관리한다.That is, the system administrator has a readable name field so that the SA can take and view the SA. It has auth alg and enc alg fields that can store algorithms according to AH and ESP security protocols. Also, if you specify a replay window size when sending and receiving packets, the IPsec engine stores the replay window size directly in the SADB. The SADB can define two SA validity periods: bytes and seconds. Depending on the validity of manual or automatically negotiated SA information, the SADB can have hard, soft, and current validity periods. The expiration date is managed by dividing into bytes, addtime, and usetime.

각 SA는 패킷이 전송할 근원지 주소와 패킷이 도착할 목적지 주소 정보를 갖고, 각 보안 프로토콜 및 알고리즘에 따른 키값을 갖는다. 또한 각 키 값이 사용될 키의 길이 정보를 가질 수 있고, 암호 알고리즘(enc alg)에서 사용할 이니셜 벡터(initial vector)값을 가질 수 있다. 이 SADB는 응용 계층에서 지정해 주지 않은 필드 값은 0으로 들어가고, 커널 레벨에 위치하여 커널과 응용 계층의 통신을SA 생성 및 삭제 시에만 하게 하였다.Each SA has source address for packet transmission and destination address for packet arrival and has key value according to each security protocol and algorithm. In addition, each key value may have length information of a key to be used and an initial vector value to be used in an encryption algorithm (enc alg). The SADB enters a field value that is not specified in the application layer as 0 and is located at the kernel level so that communication between the kernel and the application layer can be made only when the SA is created and deleted.

응용 계층에 SADB정보가 위치하면 패킷이 송신되거나 수신될 때마다 IPsec엔진이 응용 계층의 SA와 통신을 하거나, 커널 레벨에 또 다른 임시 데이터베이스를 생성하는 불필요함을 제거한다.When the SADB information is located at the application layer, the IPsec engine eliminates the need to communicate with the SA of the application layer or create another temporary database at the kernel level whenever a packet is transmitted or received.

도 3은 본 발명에 따른 매뉴얼하게 SADB를 관리하기 위한 GUI서버와 키 관리 서버와의 인터페이스 구성도이다.3 is a diagram illustrating an interface between a GUI server and a key management server for manually managing SADB according to the present invention.

도면을 참조하면, 본 발명은 IPsec 서비스를 위한 SA는 테스트베드 및 자동 키 협상 서버가 없는 호스트와의 통신을 위하여 매뉴얼하게 SADB를 생성하여 SA를 저장하고 삭제하고, 유효기간을 관리하여 갱신하고 데이터베이스를 폐기해야하는 기능을 필요로 한다.Referring to the drawings, according to the present invention, the SA for the IPsec service manually generates an SADB for communication with a host without a test bed and an automatic key negotiation server, stores and deletes the SA, manages and updates the validity period, and updates the database. It requires a function that needs to be discarded.

본 발명은 이 서비스를 위해 매뉴얼하게 SA를 관리할 수 있는 기능 및 인터페이스 기술과 구현방법을 설명한다. IPsec 인터넷 보안 서비스는 패킷에 원하는 보안 프로토콜 및 알고리즘을 제공하기 위하여 사전에 SA정보를 가지고 있어야 한다. 이를 위해 전화나 이메일과 같은 방법으로 SADB에 저장할 정보를 교환한다. 교환된 정보를 시스템 GUI(10)를 통하여 입력하고, GUI(10)와 키관리 서버(30)와의 인터페이스로 커널에 SADB구조체(33)를 생성하거나, 기존의 데이터 베이스에 링크하여 SADB에 저장하고, 특정한 SA를 삭제하거나 SADB 구조체를 삭제하고 폐기시킨다. 시스템 GUI(10)는 GUI에이전트(31)를 통하여 SADB(33)을 볼 수 있고, IKNB(32)를 통하여 SPI를 추가/삭제/클리어를 수행할 수 있다.The present invention describes the functions and interface techniques and implementation methods that can manage SAs manually for this service. IPsec Internet Security Service must have SA information in advance in order to provide the desired security protocol and algorithm in the packet. To do this, they exchange information to be stored in the SADB, such as by phone or email. Input the exchanged information through the system GUI 10, create the SADB structure 33 in the kernel by the interface between the GUI 10 and the key management server 30, or link to an existing database and store in the SADB , Delete a particular SA or delete and discard an SADB structure. The system GUI 10 may view the SADB 33 through the GUI agent 31, and may add / delete / clear the SPI through the IKNB 32.

도 4는 본 발명에 따른 자동으로 협상된 SA및 키 정보를 키 관리 서버에 저장하고 관리하는 인터페이스 구성도이다.4 is an interface configuration diagram for storing and managing automatically negotiated SA and key information in a key management server according to the present invention.

도면을 참조하면, 본 발명에서 제안한 통합 키 관리 서버는 매뉴얼 키 관리 뿐만 아니라 자동 키교환 서버와 통신하여 자동으로 협상된 보안 연계 및 키 관리를 제공한다.Referring to the drawings, the integrated key management server proposed by the present invention provides not only manual key management but also automatically negotiated security association and key management by communicating with an automatic key exchange server.

본 발명은 자동 키교환 서버(20)가 IPsec엔진에서 적용할 보안 연계 및 키를 협상하면 이 정보를 키 관리 서버(30)로 보낸다. 이 정보를 수신한 키 관리 서버(30)는 커널에 있는 SADB(33)에 이 정보를 보내주기 위해 정보를 가공하여 커널에 있는 키 관리 함수에 전달하여 새로운 SA를 추가한다. 도면에서 화살표는 키를 협상하는 각 모드를 나타낸다.The present invention sends this information to the key management server 30 when the automatic key exchange server 20 negotiates a security association and key to be applied by the IPsec engine. Upon receiving this information, the key management server 30 adds a new SA by processing the information and passing it to a key management function in the kernel in order to send this information to the SADB 33 in the kernel. Arrows in the figure represent each mode of negotiating a key.

이에 따라, 초기자측의 자동키교환서버(20)에서는 퀵모드1을 통하여 응답자측의 자동키교환서버(20)에 전송하고, 응답자측의 자동키교환서버(20)에서는 응답자측의 키관리서버(R)에 SA(I->R)을 저장하고, 응답자측의 자동교환서버(20)에서 퀵모드 2를 통하여 초기자측의 자동교환 서버(20)에 응답하면, 초기자측의 자동키교환서버(20)에서는 초기자측의 키관서버(30)에 SA (I->R)out 및 SA (R->I)in을 저장한다. 한편, 응답자측의 자동키교환서버(20)에서는 퀵모드3을 시행한후에 SA (R->I)out를 저장한다.Accordingly, the automatic key exchange server 20 on the initiator side transmits to the automatic key exchange server 20 on the responder side via the quick mode 1, and the key management on the responder side on the automatic key exchange server 20 on the responder side. If SA (I-> R) is stored in the server R, and the auto-exchange server 20 on the responder side responds to the auto-exchange server 20 on the initiator side through the quick mode 2, the autonomous on the initiator side is The key exchange server 20 stores SA (I-> R) out and SA (R-> I) in in the key pipe server 30 on the initiator side. On the other hand, the automatic key exchange server 20 on the responder side stores SA (R-> I) out after executing quick mode 3.

또한 IPsec 엔진에서 SA를 적용하고자 할 때 유효기간을 체크하여 유효기간이 만료되면 SA를 삭제하고 키 교환 서버에게 이 호스트와 지정된 목적지 주소를 가진 호스트와 새로운 SA를 협상할 것을 알려주어 키 및 보안 연계를 재협상하여 갱신한다. 키 관리 서버는 유효기간이 만료된 SA는 기존의 SADB의 리스트에서 분리하여 삭제하여 안전하게 폐기시킨다.Also, when applying the SA in the IPsec engine, check the validity period, delete the SA when the expiration date expires, and inform the key exchange server to negotiate a new SA with this host and the host with the specified destination address. Re-negotiate to update. The key management server deletes the expired SA from the existing SADB list and deletes it safely.

도 5는 커널계층에 위치한 SADB 정보를 관리자에게 보여주기 위해 정의된 파일 시스템에 관한 개념도이다.5 is a conceptual diagram of a file system defined to show SADB information located in a kernel layer to an administrator.

도면을 참조하면, 커널 계층의 메모리에 위치한 SA 정보(33)는 응용 계층에서 직접 접근할 수 없으므로 proc 파일 시스템(50)을 사용하여 커널 계층의 메모리 내용을 응용 계층에서 볼 수 있도록 한다. proc 파일시스템(50)은 실제로 존재하지 않는 일종의 환영이다. 이 파일시스템은 커널이 메모리 상에 만들어 놓은 것으로 디스크에는 존재하지 않고, 실제 파일 시스템과 마찬가지로 자신을 가상 파일 시스템에 등록한다.Referring to the figure, since the SA information 33 located in the memory of the kernel layer is not directly accessible from the application layer, the memory contents of the kernel layer may be viewed from the application layer using the proc file system 50. The proc filesystem 50 is a kind of illusion that doesn't really exist. This filesystem is created by the kernel in memory and does not exist on disk. It registers itself with the virtual filesystem just like a real filesystem.

그러다가 파일이나 디렉토리를 열면서 VFS가 inode를 요청하면, proc 파일 시스템(50)은 이들 파일과 디렉토리를 커널에 있는 정보를 가지고 만들어낸다. proc 파일 시스템(50)은 사용자에게 커널의 내부 작업을 볼 수 있는 창을 제공하여 IPsec 엔진 관리자 및 GUI시스템 관리자(10)가 커널 계층에 있는 SA 정보를 볼 수 있게 한다.Then when the VFS requests an inode while opening a file or directory, the proc file system 50 creates these files and directories with the information in the kernel. The proc file system 50 provides a window for the user to view the internal workings of the kernel so that the IPsec engine manager and the GUI system manager 10 can view the SA information in the kernel hierarchy.

또한 커널 계층의 SA정보 뿐만 아니라 키 소켓에서 사용하는 등록 소켓들, 특정 호스트에서 제공할 수 있는 보안 프로토콜의 종류 및 알고리즘 정보를 볼 수 있는 proc 파일도 정의한다.In addition, it defines not only the SA information of the kernel layer but also the proc file to view the registered sockets used in the key socket, the type of security protocol and algorithm information provided by a particular host.

도 6은 본 발명에 따른 응용 계층에서 커널 계층에 키관리 소켓을 사용하여 보안 연계 및 키 정보를 관리하는 동작 흐름도이다.6 is a flowchart illustrating an operation of managing security association and key information using a key management socket in a kernel layer in an application layer according to the present invention.

도 5를 참조하여 응용 계층에서 커널 계층에 키관리 소켓을 사용하여 보안연계 및 키 정보를 담은 메시지 구성하고, 이 패킷을 수신받은 커널계층에서의 메시지 파싱 및 처리하는 과정을 설명한다.Referring to FIG. 5, a process of configuring a message containing security association and key information using a key management socket in a kernel layer in an application layer, and parsing and processing a message in the kernel layer receiving the packet will be described.

본 발명은 매뉴얼하게 보안 연계 및 키 정보 관리 뿐만 아니라 자동으로 협상된 보안 정보를 관리하기 위해 응용 계층과 커널계층에 키관리 소켓을 사용한다.The present invention uses key management sockets in the application layer and the kernel layer to manage security information automatically negotiated, as well as security association and key information management.

자동키관리서버(Autokem) 또는 시스템 GUI로부터 자동 및 매뉴얼하게 협상된 키에 대한 저장 및 키의 삭제 명령을 수신하는 경우(S1), 그 수신한 명령에 대한 보안 프로토콜, 지정된 보안 프로토콜에 대한 알고리즘, SPI값, replay window 값, 트랜스포트 모드 및 터널 모드 값을 가지는 SA 메시지, SA에 적용될 유효기간 메시지, SA를 적용시킬 패킷의 근원지 목적지 주소 정보를 가진 주소 메시지, SA에 필요한 키 정보 메시지를 구성하여(S2) 키소켓을 통해 커널로 내려준다(S3).When receiving a command for storing and deleting a key automatically and manually negotiated from an auto key management server (Autokem) or system GUI (S1), a security protocol for the received command, an algorithm for a specified security protocol, SA message with SPI value, replay window value, transport mode and tunnel mode value, expiration message to be applied to SA, address message with source and destination address of packet to apply SA, key information message required for SA (S2) Get down to the kernel through the key socket (S3).

커널에서는 키소켓을 통하여 응용계층으로부터 이 메시지를 수신하고(S4), 수신받은 메시지를 각각 파싱하고 처리하여(S5), 커널에 있는 SADB에 연결하여 수신받은 메시지를 처리한다(S6). 추가(add)명령인 경우에는 각 필드에 맞게 정보를 삽입하고, 삭제(delete)명령인 경우에는 해당 필드에서 정보를 삭제하도록 한다.The kernel receives this message from the application layer through the key socket (S4), parses and processes each received message (S5), and processes the received message by connecting to the SADB in the kernel (S6). In the case of the add command, the information is inserted according to each field, and in the case of the delete command, the information is deleted from the corresponding field.

도 7은 키 및 보안 연계 정보의 유효기간 설정하고 체크하기 위해 시스템 클럭을 읽어 들여 저장하고 패킷을 송신하거나 수신되었을 때, IPsec엔진이 현재 시스템 클럭과 SA 유효기간을 비교하여 SA의 재협상 및 갱신을 요구하는 흐름도이다.FIG. 7 illustrates that the IPsec engine compares the current system clock with the SA validity period to perform renegotiation and renewal of the SA when the system clock is read and stored and the packet is transmitted or received to set and check the validity period of the key and security association information. This is a required flow chart.

본 발명의 키 관리 시스템은 SA의 유효기간을 관리하기 위하여 커널 레벨에 타이머를 두지 않는다. 커널 레벨에 타이머를 실행하면 한 프로세스가 할당되어 진행되므로 커널의 부하가 커질 수 있다.The key management system of the present invention does not put a timer at the kernel level to manage the validity of the SA. Running a timer at the kernel level can increase the load on the kernel because a process is allocated and progressed.

본 발명에서는 응용계층의 자동 키관리서버(Autokem) 또는 시스템 GUI로부터 키관리서버로 SA의 유효기간 정보가 수신되는 경우(S11) 키관리 서버에서는 현재 커널의 시스템 클럭을 읽어들여 현재값 정보를 저장하고, 유효기간을 설정하여 그 설정된 유효기간을 SADB에 저장한다(S12). SA 유효기간은 예를 들어 28800초의 유효기간을 가질 수 도 있으며, 현재값 정보는 jiffies/Hz로 계산될 수 있다. 이에 따라 SADB에 설정되는 SA 유효기간은 현재클럭값에 유효기간(sec)을 더한 값으로 설정된다. IPsec엔진에서는 패킷을 송신하거나 수신했을 때(S12) SADB에 저장되어 있는 보안 연계 정보를 참조하여(S15) 적용할 때 현재 시스템 클럭과 유효기간 정보를 비교하여 SA 유효기간을 관리하게 된다. 즉, 현재 시스템 클럭이 유효기간보다 더 큰지의 여부를 판단한다(S16). 현재클럭값(C)이 SA 유효기간(sec)보다 큰지의 여부를 판단하게 된다. 만일 유효기간보다 시스템 클럭이 더 클경우, 이 SA의 유효기간은 만료된 것이므로 IPsec엔진은 패킷을 폐기하고 키 관리서버에 이 보안 연계를 삭제하고 재협상 할 것을 요구한다(S17). 시스템 클럭이 유효기간보다 크지 않은 경우에는 송신한 패킷 또는 수신한 패킷을 정상적으로 처리한다(S18).In the present invention, when the validity period information of the SA is received from the application layer automatic key management server (Autokem) or system GUI to the key management server (S11), the key management server reads the system clock of the current kernel and stores the current value information. The validity period is set and the set validity period is stored in the SADB (S12). The SA validity period may have a validity period of 28800 seconds, for example, and the present value information may be calculated in jiffies / Hz. Accordingly, the SA validity period set in the SADB is set to the current clock value plus the validity period (sec). When the IPsec engine transmits or receives a packet (S12), it applies the security association information stored in the SADB (S15). When applying the packet, the IPsec engine compares the current system clock with the validity period information and manages the SA validity period. That is, it is determined whether the current system clock is greater than the valid period (S16). It is determined whether the current clock value C is greater than the SA validity period (sec). If the system clock is greater than the validity period, the validity period of this SA is expired and the IPsec engine discards the packet and requests the key management server to delete and renegotiate this security association (S17). If the system clock is not larger than the valid period, the transmitted packet or the received packet is processed normally (S18).

또한 본 발명의 키관리시스템은 시간 정보 뿐만 아니라 바이트 정보를 유효기간 정보로 가짐으로써 특정 보안 연계가 적용될 수 있는 바이트의 한계도 지정할 수 있다.In addition, the key management system of the present invention can designate the limit of bytes to which a specific security association can be applied by having not only time information but also byte information as valid period information.

이상에 설명한 바와 같이 본 발명에 의하면, 응용 계층 서비스 서비스에 따른 각각의 키 정보를 관리하고 유지하는 것을 필요하지 않고 제공하고자 하는 보안 프로토콜에 대한 보안 연계 및 키 정보만을 관리함으로써 기존의 인터넷 사용자들에게 안전한 서비스를 제공할 수 있다.As described above, according to the present invention, it is not necessary to manage and maintain each key information according to the application layer service service, and manages only the security association and key information for the security protocol to be provided to existing Internet users. Can provide a secure service.

또한 커널 레벨에 키정보 및 SA정보를 위치하게 함으로써, 패킷이 송신되거나 수신될 때마다 IPsec엔진이 응용 계층의 SA와 통신을 하거나, 커널 레벨에 또 다른 임시 데이터베이스를 생성하는 불필요함을 제거한다.In addition, by placing key information and SA information at the kernel level, the IPsec engine eliminates the need to communicate with the SA of the application layer or create another temporary database at the kernel level whenever a packet is transmitted or received.

Claims (8)

IPsec 통신의 키관리 방법에 있어서,In the key management method of IPsec communication, 응용계층에서 다른 보안영역에 대한 시스템 GUI와 매뉴얼하게 암호 및 인증키를 협상하거나 자동 키관리 서버와 연동하여 자동으로 암호 및 인증키를 협상하는 단계;Negotiating a password and an authentication key manually with a system GUI for another security area in an application layer or automatically negotiating an encryption and an authentication key in association with an automatic key management server; 상기 응용계층에서 협상된 암호 및 인증 키 정보를 정의된 키소켓 프로토콜에 따라 메시지를 형성하고 커널레벨에서 이 정보를 해석하여 커널에 보안 연계 데이터베이스로 저장하는 단계;Forming a message according to a defined key socket protocol, and storing the encrypted negotiation and authentication key information negotiated at the application layer at the kernel level and storing the information as a security association database in the kernel; 상기 커널에 저장된 보안 연계 데이터 베이스에 대하여 가상파일 시스템을 이용하여 상기 보안 연계 데이터 베이스에 대한 조회 및 관리를 수행하는 단계; 및Performing inquiry and management on the security association database using a virtual file system with respect to the security association database stored in the kernel; And IPsec엔진에서 패킷을 송신 또는 수신할 경우 상기 커널레벨에 저장된 보안 연계 데이터베이스를 참조하여 IPsec 통신을 수행하는 단계;를 포함하는 것을 특징으로 하는 IPsec을 이용한 통합 키관리 방법.And performing an IPsec communication by referring to a security association database stored at the kernel level when a packet is transmitted or received by an IPsec engine. 제 1항에 있어서, 상기 보안 연계 데이터 베이스로 저장하는 단계에서,The method of claim 1, wherein in the storing in the security association database, 보안연계가 저장될 때 시스템의 클럭을 읽어들여 현재 클럭값을 저장하고, IPsec엔진이 보안 연계정보를 참조할 때 현재 시스템 클럭과 데이터베이스에 저장되었을 때의 시스템 클럭을 비교하여 보안 연계 데이터베이스의 유효기간을 체크하는 것을 특징으로 하는 IPsec을 이용한 통합 키관리 방법.When the security association is saved, the system clock is read and the current clock value is saved.When the IPsec engine refers to the security association information, the validity period of the security association database is compared by comparing the current system clock with the system clock when it is stored in the database. Integrated key management method using IPsec, characterized in that for checking. 제 2항에 있어서, 상기 유효기간은, 시간 정보 또는 바이트 정보로 표현되는 것을 특징으로 하는 IPsec을 이용한 통합 키관리 방법.The method of claim 2, wherein the validity period is expressed by time information or byte information. 제 1항에 있어서, 커널에 보안 연계 데이터베이스로 저장하는 단계에서,The method of claim 1, wherein the storing in the kernel as a security association database, 상기 보안 연계 데이터 베이스는,The security association database, 목적지 주소(destination address), SPI, 보안 프로토콜(AH 또는 ESP)값, 리플레이 윈도우 정보, SA정보의 유효기간 정보, 키 값이 사용될 키의 길이 정보 및 암호 알고리즘에서 사용할 이니셜 벡터값 중 적어도 하나 이상의 정보를 포함하는 것을 특징으로 하는 IPsec을 이용한 통합 키관리 방법.At least one of a destination address, an SPI, a security protocol (AH or ESP) value, replay window information, validity information of SA information, key length information to be used for the key value, and initial vector values to be used in the encryption algorithm. Integrated key management method using IPsec comprising a. 제 1항에 있어서, 커널에 보안 연계 데이터베이스로 저장하는 단계에서,The method of claim 1, wherein the storing in the kernel as a security association database, 상기 보안 연계 데이터 베이스는, 응용 계층에서 지정해 주지 않은 필드 값은 0으로 설정하고, 커널과 응용 계층의 통신을 SA 생성 및 삭제시에만 수행하는 것을 특징으로 하는 IPsec을 이용한 통합 키관리 방법.The security association database, the field value not specified in the application layer is set to 0, and the integrated key management method using IPsec characterized in that the communication between the kernel and the application layer is performed only when SA creation and deletion. 제 1항에 있어서, 상기 보안 연계 데이터 베이스에 대한 조회 및 관리를 수행하는 단계에서,According to claim 1, In the step of performing the query and management for the security association database, 상기 가상파일 시스템은 proc 시스템인 것을 특징으로 하는 IPsec을 이용한 통합 키관리 방법.The virtual file system is a proc system integrated key management method using IPsec. 제 1항에 있어서, 상기 IPsec 통신을 수행하는 단계는,The method of claim 1, wherein performing the IPsec communication comprises: 패킷을 송신하거나 수신했을 때 상기 보안연계 데이터베이스에 저장되어 있는 보안 연계 정보를 참조하는 단계;Referencing security association information stored in the security association database when a packet is transmitted or received; 현재 시스템 클럭과 유효기간 정보를 비교하는 단계; 및Comparing the current system clock with valid period information; And 상기 비교결과 유효기간보다 시스템 클럭이 더 클경우, 해당 SA의 유효기간은 만료된 것으로 판단하여 해당 패킷을 폐기하고 키 관리서버에 이 보안 연계를 삭제하고 재협상 할 것을 요구하는 단계;를 포함하는 것을 특징으로 하는 IPsec을 이용한 통합 키관리 방법.If the system clock is greater than the validity period as a result of the comparison, determining that the validity period of the corresponding SA has expired, discarding the corresponding packet, and requesting the key management server to delete and renegotiate the security association. Integrated key management method using IPsec characterized in that. IPsec 통신의 키관리 방법을 수행하기 위하여 디지탈 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지탈 처리장치에 의해 판독될 수 있는 기록매체에 있어서,In order to perform the key management method of IPsec communication, a program of instructions that can be executed by the digital processing apparatus is tangibly implemented, and in the recording medium that can be read by the digital processing apparatus, 응용계층에서 다른 보안영역에 대한 시스템 GUI와 매뉴얼하게 암호 및 인증키를 협상하거나, 자동 키관리 서버와 연동하여 자동으로 암호 및 인증키를 협상하는 과정;Negotiating a password and an authentication key manually with a system GUI for another security area in an application layer, or automatically negotiating a password and an authentication key in association with an automatic key management server; 상기 응용계층에서 협상된 암호 및 인증 키 정보를 정의된 키소켓 프로토콜에 따라 메시지를 형성하고 커널레벨에서 이 정보를 해석하여 커널에 보안 연계 데이터베이스로 저장하는 과정;Forming a message according to a defined key socket protocol by using the negotiated encryption and authentication key information in the application layer, and interpreting the information at a kernel level and storing the information in a kernel as a security association database; 상기 커널에 저장된 보안 연계 데이터 베이스에 대하여 가상파일 시스템을 이용하여 상기 보안 연계 데이터 베이스에 대한 조회 및 관리를 수행하는 과정; 및Querying and managing the security association database using a virtual file system with respect to the security association database stored in the kernel; And IPsec엔진에서 패킷을 송신 또는 수신할 경우, 상기 커널레벨에 저장된 보안 연계 데이터베이스를 참조하여 IPsec 통신을 수행하는 과정;을 수행하기 위한 프로그램이 내장된 기록매체.When a packet is transmitted or received by an IPsec engine, performing IPsec communication with reference to a security association database stored at the kernel level; a recording medium having a program therein for performing the same.
KR10-2001-0085778A 2001-12-27 2001-12-27 method and recorded media for union key management using IPsec KR100447681B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0085778A KR100447681B1 (en) 2001-12-27 2001-12-27 method and recorded media for union key management using IPsec

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0085778A KR100447681B1 (en) 2001-12-27 2001-12-27 method and recorded media for union key management using IPsec

Publications (2)

Publication Number Publication Date
KR20030055716A KR20030055716A (en) 2003-07-04
KR100447681B1 true KR100447681B1 (en) 2004-09-08

Family

ID=32213974

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0085778A KR100447681B1 (en) 2001-12-27 2001-12-27 method and recorded media for union key management using IPsec

Country Status (1)

Country Link
KR (1) KR100447681B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100470915B1 (en) * 2001-12-28 2005-03-08 한국전자통신연구원 Method for controlling internet information security system in ip packet level
KR100862050B1 (en) * 2007-11-23 2008-10-09 한국정보보호진흥원 Secure voip communication method and user agent using the same
CN103209187B (en) * 2013-04-11 2016-01-06 汉柏科技有限公司 A kind of method improving ike negotiation speed

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1094682A1 (en) * 1999-10-22 2001-04-25 Telefonaktiebolaget L M Ericsson (Publ) Mobile phone incorporating security firmware
US6253321B1 (en) * 1998-06-19 2001-06-26 Ssh Communications Security Ltd. Method and arrangement for implementing IPSEC policy management using filter code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253321B1 (en) * 1998-06-19 2001-06-26 Ssh Communications Security Ltd. Method and arrangement for implementing IPSEC policy management using filter code
KR20010071528A (en) * 1998-06-19 2001-07-28 추후제출 Method and arrangement for implementing IPSEC policy management using filter code
EP1094682A1 (en) * 1999-10-22 2001-04-25 Telefonaktiebolaget L M Ericsson (Publ) Mobile phone incorporating security firmware

Also Published As

Publication number Publication date
KR20030055716A (en) 2003-07-04

Similar Documents

Publication Publication Date Title
US6530025B1 (en) Network connection controlling method and system thereof
US7003662B2 (en) System and method for dynamically determining CRL locations and access methods
US7346770B2 (en) Method and apparatus for traversing a translation device with a security protocol
US9306976B2 (en) Method, apparatus, signals and medium for enforcing compliance with a policy on a client computer
US6938155B2 (en) System and method for multiple virtual private network authentication schemes
US6985953B1 (en) System and apparatus for storage and transfer of secure data on web
US6738909B1 (en) Method and apparatus for automatic configuration for internet protocol security tunnels in a distributed data processing system
US20060098649A1 (en) System, apparatuses, methods, and computer-readable media for determining security realm identity before permitting network connection
JP2008141581A (en) Secret information access authentication system and method thereof
JP2005287034A (en) Internet protocol tunneling using template
WO2003003689A2 (en) Dynamic configuration of ipsec tunnels
US20040049585A1 (en) SERVER SIDE CONFIGURATION OF CLIENT IPSec LIFETIME SECURITY PARAMETERS
JP2005522937A (en) Method and system for changing security information in a computer network
Cheng et al. Design and Implementation of Modular Key Management Protocol and IP Secure Tunnel on AIX.
JP4358795B2 (en) TLS session information takeover method and computer system
KR100447681B1 (en) method and recorded media for union key management using IPsec
Velagapudi et al. Privacy, security of cookies in HTTP transmission
WO2006002237A1 (en) Method, apparatuses and program storage device for efficient policy change management in virtual private networks
JP2000151677A (en) Access authentication device for mobile ip system and storage medium
KR100456626B1 (en) METHOD FOR INTEGRATION KEY MANAGING OF IPsec ON INTERNET
KR100412238B1 (en) The Management System and method of Internet Security Platform for IPsec
KR101068359B1 (en) System and method for managing internet key exchange protocol, and apparatus applied to the same
KR100450774B1 (en) Method for end-to-end private information transmition using IPSec in NAT-based private network and security service using its method
KR20050058625A (en) Apparatus and method for providing virtual private network service using ip security protocol on ipv6 internet
JP3796496B2 (en) Security management apparatus, method, and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080805

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee