KR20190099898A - Method for verifying integrity of cookies in https - Google Patents

Method for verifying integrity of cookies in https Download PDF

Info

Publication number
KR20190099898A
KR20190099898A KR1020180019945A KR20180019945A KR20190099898A KR 20190099898 A KR20190099898 A KR 20190099898A KR 1020180019945 A KR1020180019945 A KR 1020180019945A KR 20180019945 A KR20180019945 A KR 20180019945A KR 20190099898 A KR20190099898 A KR 20190099898A
Authority
KR
South Korea
Prior art keywords
cookie
https
integrity
client
server
Prior art date
Application number
KR1020180019945A
Other languages
Korean (ko)
Other versions
KR102116902B1 (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 KR1020180019945A priority Critical patent/KR102116902B1/en
Publication of KR20190099898A publication Critical patent/KR20190099898A/en
Application granted granted Critical
Publication of KR102116902B1 publication Critical patent/KR102116902B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed is a hybrid data deduplication method in a fog computing environment including a user device, a fog device, and a cloud server. Disclosed is a method for verifying the integrity of cookies in an HTTPS environment including a client and a server. The method for verifying the integrity of cookies in an HTTPS environment comprises the steps of: allowing a client to transmit an HTTPS request message to a server; allowing the server to add a Header-MD5 option to generate an HTTPS header message capable of cookie integrity verification against cookie stealing attacks; allowing the server to transmit, to the client, an HTTPS response message including the HTTPS header message capable of cookie integrity verification; and allowing the client to verify the integrity of the HTTPS response message.

Description

HTTPS에서의 쿠키 무결성 검증 방법{METHOD FOR VERIFYING INTEGRITY OF COOKIES IN HTTPS}How to verify cookie integrity in HTTPS {METHOD FOR VERIFYING INTEGRITY OF COOKIES IN HTTPS}

본 발명은 HTTPS에서의 쿠키 무결성 검증 방법에 관한 것으로, 특히 암호 통신 프로토콜인 SSL/TLS와 웹 프로토콜인 HTTP에서 사용자의 비밀정보를 담고있는 HTTP 쿠키를 탈취할 수 있는 공격 유형 제시하고 이를 해결하기 위해 새로운 HTTP 옵션을 추가하여 HTTP 쿠키의 무결성을 검증할 수 있는 방법에 관한 것이다.
The present invention relates to a method for verifying cookie integrity in HTTPS, and in particular, to propose and solve an attack type that can steal an HTTP cookie containing a user's secret information from SSL / TLS, which is a cryptographic communication protocol, and HTTP, which is a web protocol. It is about how you can verify the integrity of HTTP cookies by adding new HTTP options.

본 발명은 HTTPS에서의 쿠키 무결성 검증 기법을 제안한다. The present invention proposes a cookie integrity verification scheme in HTTPS.

SSL/TLS 프로토콜은 전 세계적으로 가장 많이 사용되는 네트워크 보안 프로토콜로써 클라이언트와 서버간의 안전한 메시지 교환을 목적으로 상호인증, 키 교환, 데이터암호화, 데이터 무결성 체크 등의 기능을 수행한다. 하지만 아직까지도 그 취약점이 발표되고 있고 낮은 버전의 프로토콜을 사용하는 경우나 취약점이 존재하는 라이브러리를 사용하는 경우 공격자는 다양한 공격을 수행할 수 있다.SSL / TLS protocol is the most widely used network security protocol in the world. It performs mutual authentication, key exchange, data encryption, and data integrity check for secure message exchange between client and server. However, an attacker may still be able to perform a variety of attacks if the vulnerability is still being released and if a lower version of the protocol is used or if a library that contains the vulnerability exists.

대표적인 웹 프로토콜인 HTTP에서 클라이언트의 정보를 저장하기 위해 사용되는 cookie는 다양한 정보를 담을 수 있다. 쿠키(cookie)란 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일로, HTTP 쿠키, 웹 쿠키, 또는 브라우저 쿠키라고도 한다. 쿠키에 담긴 정보는 인터넷 사용자가 같은 웹사이트를 방문할 때마다 읽히고 수시로 새로운 정보로 바뀐다. 쿠키는 컴퓨터내에서 프로그램처럼 실행될 수 없으며 바이러스를 옮길 수도, 악성코드를 설치할 수도 없지만 스파이웨어를 통해 유저의 브라우징 행동을 추적하는데에 사용될 수 있고, 누군가의 쿠키를 훔쳐서 해당 사용자의 웹 계정 접근권한을 획득할 수도 있다.In HTTP, a representative web protocol, a cookie used to store client information can contain various information. A cookie is a small record of information files that are placed on an Internet user's computer through the server the site is using when an Internet user visits a website, also known as an HTTP cookie, a web cookie, or a browser cookie. The information contained in cookies is read every time an Internet user visits the same website and is often updated with new information. Cookies can't run like programs on your computer, can't carry viruses, install malware, but can be used to track a user's browsing behavior through spyware, and they can steal someone's cookies to gain access to that user's web account. Can also be obtained.

쿠키가 사용자 계정의 로그인 정보 또는 기밀 정보를 담고 사용자에 대한 인증의 기능을 수행하는 경우, 이러한 쿠키는 공격자로부터 보호되어야 하며 이를 위해 HTTPS에서의 쿠키 무결성 검증 방법이 필요하다.
If a cookie contains login or confidential information of a user's account and performs the function of authentication to the user, such cookie must be protected from attackers, which requires a cookie integrity verification method in HTTPS.

US 8448233 B2US 8448233 B2 KR 2010-0108132 AKR 2010-0108132 A US 8286225 B2US 8286225 B2

본 발명이 이루고자 하는 기술적인 과제는 암호 통신 프로토콜인 SSL/TLS와 웹 프로토콜인 HTTP에서 사용자의 비밀정보를 담고있는 HTTP 쿠키를 탈취할 수 있는 공격 유형 제시하고 이를 방어함으로써 HTTP 쿠키의 무결성을 검증할 수 있는 방법을 제공하는 것이다.
The technical problem to be achieved by the present invention is to verify the integrity of the HTTP cookie by suggesting an attack type that can steal the HTTP cookie containing the user's secret information in the SSL / TLS and HTTP protocol of the cryptographic communication protocol and defending it It is to provide a way to.

본 발명의 실시 예에 따른 클라이언트 및 서버를 포함하는 HTTPS 환경에서의 의 쿠키 무결성 검증 방법은Cookie integrity verification method of in an HTTPS environment including a client and a server according to an embodiment of the present invention

클라이언트가 서버에 HTTPS 요청 메시지를 송신하는 단계, 서버가 Header-MD5 옵션을 추가하여 쿠키 무결성 검증이 가능한 HTTPS 헤더 메시지를 생성하는 단계, 서버가 클라이언트에 상기 쿠키 무결성 검증이 가능한 HTTPS 헤더 메시지를 포함하는 HTTPS 응답 메시지를 송신하는 단계, 및 클라이언트가 쿠키 무결성을 검증하는 단계를 포함한다.
The client sending an HTTPS request message to the server, the server adding the Header-MD5 option to generate an HTTPS header message capable of cookie integrity validation, and the server including an HTTPS header message capable of the cookie integrity validation to the client Sending an HTTPS response message, and the client verifying cookie integrity.

본 발명의 실시 예에 따른 HTTPS에서의 쿠키 무결성 검증 방법에 의할 경우, HTTPS상의 쿠키 탈취 공격으로부터 Set-Cookie 메시지를 보호할 수 있으며, 또한 SSL/TLS의 암호화를 통해 Header-MD5 값을 보호할 수 있다.
According to the cookie integrity verification method in HTTPS according to an embodiment of the present invention, it is possible to protect the Set-Cookie message from the cookie takeover attack on HTTPS, and also to protect the Header-MD5 value through SSL / TLS encryption. Can be.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 시스템의 개략도이다.
도 2a 내지 도 2b는 도 1에 도시된 브라우저의 취약점을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 방법을 설명하기 위한 흐름도이다.
도 4 내지 도 5는 본 발명의 일 실시예 따른 쿠키 무결성 검증 방법을 통해 방어할 수 있는 예시적인 공격 유형을 도시한다.
도 6은 본 발명의 일 실시예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 방법이 적용된 예시적인 HTTP 쿠키 헤더 메시지이다.
The detailed description of each drawing is provided in order to provide a thorough understanding of the drawings cited in the detailed description of the invention.
1 is a schematic diagram of a cookie integrity verification system in an HTTPS computing environment according to an embodiment of the present invention.
2A to 2B are diagrams showing the vulnerability of the browser shown in FIG.
3 is a flowchart illustrating a cookie integrity verification method in an HTTPS computing environment according to an embodiment of the present invention.
4 through 5 illustrate exemplary types of attacks that can be defended through the cookie integrity verification method according to an embodiment of the present invention.
6 is an exemplary HTTP cookie header message to which the cookie integrity verification method is applied in an HTTPS computing environment according to an embodiment of the present invention.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the inventive concept disclosed herein are provided only for the purpose of describing the embodiments according to the inventive concept. It may be embodied in various forms and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the inventive concept may be variously modified and have various forms, so embodiments are illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments in accordance with the concept of the invention to the specific forms disclosed, it includes all changes, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another, for example without departing from the scope of the rights according to the inventive concept, and the first component may be called a second component and similarly the second component. The component may also be referred to as a first component.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprise" or "have" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described herein, but one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not.

이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

먼저, 도 1 내지 도 2를 참조하여, 본 발명의 일 실시예에 HTTPS에서의 쿠키 무결성 검증 시스템에 대해 상술한다. First, referring to Figs. 1 and 2, the cookie integrity verification system in HTTPS will be described in detail according to an embodiment of the present invention.

도 1은 본 발명의 실시 예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 시스템(10)을 도시하고, 도 2는 도 1에 도시된 브라우저의 취약점을 도시한다.1 illustrates a cookie integrity verification system 10 in an HTTPS computing environment according to an embodiment of the present invention, and FIG. 2 illustrates a vulnerability of the browser shown in FIG. 1.

도 1을 참조하면, HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 시스템(10)은 브라우저(110)을 포함하는 클라이언트 장치(100) 및 웹 서버(200)를 포함한다.Referring to FIG. 1, the cookie integrity verification system 10 in an HTTPS computing environment includes a client device 100 including a browser 110 and a web server 200.

클라이언트 장치(100)는 네트워크 망을 통하여 웹 서버(200)와 통신할 수 있다. 일 실시예에 따른 네트워크 망은, 개방형 인터넷, 폐쇄형 인트라넷을 포함한 유선 인터넷망, 이동 통신망과 연동된 무선 인터넷 통신망뿐만 아니라, 각종 데이터 통신이 가능한 컴퓨터 네트워크 등의 가능한 통신 수단을 포함하는 넓은 개념이다.The client device 100 may communicate with the web server 200 through a network. The network network according to an embodiment is a broad concept including not only an open Internet, a wired Internet network including a closed intranet, a wireless Internet communication network interworking with a mobile communication network, but also a possible communication means such as a computer network capable of various data communication. .

클라이언트 장치(100)는 브라우저(110)를 포함한다. 도 2를 참조하면 브라우저(110)가 HTTP 메시지를 받아드리는데 있어서 메시지에 대한 포맷이나 무결성에 대해 검증하지 않으며 해석가능한 부분만 받아드리는 취약점이 존재한다.The client device 100 includes a browser 110. Referring to FIG. 2, there is a vulnerability in which the browser 110 accepts only an interpretable part without verifying a format or integrity of a message in accepting an HTTP message.

브라우저(110)는 서버(200) 설정의 오류나 네트워크 오류로 발생할 수 있는 잘못된 메시지를 받아드리고 Secure 플래그가 없이 쿠키를 저장할 수 있다(도 2a). 마찬가지로 HTTP 프로토콜의 상태를 나타내는 Status line이 두 개 이상의 메시지로 잘못된 포맷이더라도 정상적으로 쿠키 값을 저장할 수 있다(도 2b).
The browser 110 may receive an incorrect message that may occur due to an error in the server 200 setting or a network error and may store a cookie without the Secure flag (FIG. 2A). Similarly, even if the status line indicating the status of the HTTP protocol is incorrectly formatted as two or more messages, the cookie value can be normally stored (FIG. 2B).

이하, 도 3 내지 도 6을 참조하여, 본 발명의 일 실시예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 방법에 대하여 자세히 살펴보도록 한다.Hereinafter, the cookie integrity verification method in the HTTPS computing environment according to an embodiment of the present invention will be described in detail with reference to FIGS. 3 to 6.

도 3은 본 발명의 일 실시예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 방법을 설명하기 위한 흐름도이고, 도 4 내지 도 5는 본 발명의 일 실시예 따른 쿠키 무결성 검증 방법을 통해 방어할 수 있는 예시적인 공격 유형을 도시한다. 3 is a flowchart illustrating a cookie integrity verification method in an HTTPS computing environment according to an embodiment of the present invention, and FIGS. 4 to 5 are defendable through a cookie integrity verification method according to an embodiment of the present invention. Exemplary attack types are shown.

도 6은 본 발명의 일 실시예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 방법이 적용된 예시적인 HTTP 쿠키 헤더 메시지이다. 6 is an exemplary HTTP cookie header message to which the cookie integrity verification method is applied in an HTTPS computing environment according to an embodiment of the present invention.

후술하는 HTTP 관련 용어들은, 하이퍼텍스트 전송 규약(Hypertext Transfer Protocol, HTTP)에 근거한다.
The terms related to HTTP described later are based on the Hypertext Transfer Protocol (HTTP).

이하, 도 4 내지 도 5를 참조하여, 상기 브라우저 및 SSL/TLS의 취약점에 따른 예시적인 공격 유형을 설명한다. 4-5, an exemplary attack type according to the vulnerability of the browser and SSL / TLS will be described.

제1 공격 유형은 취약한 GCM을 사용하는 서버에 대해서 중간공격자가 쿠키 플래그를 임의로 수정하여 유효한 태그를 생성하는 방법이다(도 4). 클라이언트는 쿠키 플래그 없이 쿠키 값을 저장하며 이는 나중에 암호화통신인 HTTPS가 아닌 HTTP 프로토콜로 쿠키 값을 전송할 수 있어 공격자는 쿠키 값을 탈취할 수 있다.The first type of attack is a method in which an attacker arbitrarily modifies a cookie flag for a server using a vulnerable GCM to generate a valid tag (FIG. 4). The client stores the cookie value without the cookie flag, which can later send the cookie value over the HTTP protocol, rather than HTTPS, which allows the attacker to steal the cookie value.

제2 공격 유형은 같은 키를 사용하는 연결을 만들어 클라이언트로 가는 메시지를 조작하는 방법이다(도 5). 0-RTT 메시지의 경우 키 생성에 사용되는 랜덤 값을 클라이언트만 생성하여 사용하기 때문에 키를 생성할 때 사용되는 0-RTT 요청 메시지를 복사하여 전송하게 될 경우 같은 키를 사용하는 연결을 생성할 수 있다. 마찬가지로 클라이언트는 쿠키 플래그 없이 쿠키를 저장하기 때문에 후에 HTTP 프로토콜을 사용하여 쿠키 값을 탈취할 수 있다.
The second type of attack is a method of manipulating a message to a client by making a connection using the same key (Figure 5). In case of 0-RTT message, since only client generates random value used for key generation, it is possible to create connection using the same key when copying and sending 0-RTT request message used for key generation. have. Similarly, since the client stores the cookie without the cookie flag, it can later retrieve the cookie value using the HTTP protocol.

이하 도 3을 참조하여 본 발명의 일 실시예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 방법을 설명한다. Hereinafter, a method for verifying cookie integrity in an HTTPS computing environment according to an embodiment of the present invention will be described with reference to FIG. 3.

먼저, 클라이언트(100)는 서버(200)에 HTTPS(HTTP??) 요청 메시지를 송신한다(S100).
First, the client 100 transmits an HTTPS (HTTP ??) request message to the server 200 (S100).

다음, 서버(200)는 Header-MD5 옵션을 추가하여 HTTP 헤더 메시지를 생성한다(S200). 다시 말해, 상기 브라우저 및 SSL/TLS의 취약점에 따른 공격을 방어하기 위하여 서버(200)가 클라이언트(100)에 쿠키 값을 보낼 때 사용되는 HTTPS 헤더 메시지에 대해서 무결성을 검증하기 위한 헤더 옵션을 추가한다. Header-MD5 옵션을 추가함으로써 헤더 부분의 메시지에 대한 무결성 검증을 가능하게 한다. Next, the server 200 generates an HTTP header message by adding the Header-MD5 option (S200). In other words, a header option for verifying the integrity of the HTTPS header message used when the server 200 sends a cookie value to the client 100 is added to defend against an attack caused by the vulnerability of the browser and SSL / TLS. . The addition of the Header-MD5 option enables the integrity verification of the message in the header part.

이를 통해 Set-Cookie 메시지를 보호할 수 있으며 또한 SSL/TLS의 암호화를 통해 Header-MD5 값을 보호할 수 있기 때문에 앞서 제시한 공격 시나리오에 대해 안전하게 설계 가능하다.
This protects Set-Cookie message and also protects Header-MD5 value through SSL / TLS encryption, so it can be designed safely for the above-mentioned attack scenario.

다음, 서버(200)는 클라이언트(100)에 무결성 검증이 가능한 HTTPS 헤더를 포함하는 HTTPS 응답 메시지를 송신한다(S300).
Next, the server 200 transmits an HTTPS response message including an HTTPS header capable of integrity verification to the client 100 (S300).

다음, 클라이언트(100)는 수신한 HTTPS 응답 메시지에 포함되어 있는 HTTPS 헤더로부터 Header-MD5 값을 얻는다. Header-MD5 값을 제외한 HTTP 헤더 메시지로부터 상기 서버와 동일한 방식으로 Header-MD5 값을 생성한다. 2개의 Header-MD5 값을 비교하여 HTTPS 헤더 메시지에 대한 무결성을 검증한다(S400). 다시 말해, 2개의 Header-MD5 값이 동일하다면 HTTPS 응답 메시지를 받아드리고 그렇지 않다면 재요청 메시지를 송신한다.
Next, the client 100 obtains the Header-MD5 value from the HTTPS header included in the received HTTPS response message. The Header-MD5 value is generated in the same manner as the server from the HTTP header message except for the Header-MD5 value. The integrity of the HTTPS header message is verified by comparing two Header-MD5 values (S400). In other words, if two Header-MD5 values are the same, an HTTPS response message is accepted, otherwise a re-request message is sent.

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
Although the present invention has been described with reference to the embodiments illustrated in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

100 : 클라이언트 110 : 브라우저
200 : 서버
100: client 110: browser
200: server

Claims (4)

클라이언트 및 서버를 포함하는 HTTPS 환경에서의 쿠키 무결성 검증 방법은,
클라이언트가 서버에 HTTPS 요청 메시지를 송신하는 단계;
상기 서버가 Header-MD5 옵션을 추가하여 쿠키 탈취 공격에 대하여 쿠키 무결성 검증이 가능한 HTTPS 헤더 메시지를 생성하는 단계;
상기 서버가 상기 클라이언트에 상기 쿠키 무결성 검증이 가능한 HTTPS 헤더 메시지를 포함하는 HTTPS 응답 메시지를 송신하는 단계; 및
상기 클라이언트가 상기 서버로부터 수신한 Header-MD5 값 및 HTTPS 헤더 메시지로부터 생성한 Header-MD5 값을 비교하여 상기 HTTPS 응답 메시지의 무결성을 검증하는 단계;를 포함하는
쿠키 무결성 검증 방법.
The cookie integrity verification method in the HTTPS environment including the client and server,
The client sending an HTTPS request message to the server;
Adding, by the server, a Header-MD5 option to generate an HTTPS header message capable of cookie integrity verification against a cookie stealing attack;
Sending, by the server, an HTTPS response message including an HTTPS header message capable of validating the cookie integrity to the client; And
Verifying the integrity of the HTTPS response message by comparing, by the client, a Header-MD5 value received from the server with a Header-MD5 value generated from an HTTPS header message;
How to verify cookie integrity.
제1항에 있어서,
상기 쿠키 탈취 공격은 쿠키 플래그 변경을 통한 쿠키 탈취 공격인,
쿠키 무결성 검증 방법.
The method of claim 1,
The cookie takeover attack is a cookie takeover attack by changing the cookie flag,
How to verify cookie integrity.
제1항에 있어서,
상기 쿠키 탈취 공격은
GCM을 사용하는 서버에 대해서 공격자가 쿠키 플래그를 임의로 수정하여 유효한 태그를 생성하여 클라이언트가 쿠키 플래그 없이 쿠키 값을 저장하고 HTTPS가 아닌 HTTP 프로토콜로 쿠키 값을 전송 가능하게 함으로써 공격자가 쿠키 탈취 가능하도록 하는 제1 공격을 포함하는,
쿠키 무결성 검증 방법.
The method of claim 1,
The cookie takeover attack
For servers using GCM, an attacker randomly modifies the cookie flag to generate a valid tag that allows the client to store the cookie value without the cookie flag and send the cookie value to the HTTP protocol rather than HTTPS, allowing the attacker to take the cookie. Involving a first attack,
How to verify cookie integrity.
제1항에 있어서,
상기 쿠키 탈취 공격은
같은 키를 사용하는 연결을 만들어 클라이언트로 가는 메시지를 조작하는 공격으로, 클라이언트가 쿠키 플래그 없이 쿠키 값을 저장하고 HTTPS가 아닌 HTTP 프로토콜로 쿠키 값을 전송 가능하게 함으로써 공격자가 쿠키 탈취 가능하도록 하는 제2 공격을 포함하는,
쿠키 무결성 검증 방법.

The method of claim 1,
The cookie takeover attack
An attack that manipulates a message to a client by making a connection using the same key, a second method that allows an attacker to steal cookies by enabling the client to store cookie values without cookie flags and to send cookie values over the HTTP protocol rather than HTTPS. Involving attacks,
How to verify cookie integrity.

KR1020180019945A 2018-02-20 2018-02-20 Method for verifying integrity of cookies in https KR102116902B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180019945A KR102116902B1 (en) 2018-02-20 2018-02-20 Method for verifying integrity of cookies in https

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180019945A KR102116902B1 (en) 2018-02-20 2018-02-20 Method for verifying integrity of cookies in https

Publications (2)

Publication Number Publication Date
KR20190099898A true KR20190099898A (en) 2019-08-28
KR102116902B1 KR102116902B1 (en) 2020-05-29

Family

ID=67775678

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180019945A KR102116902B1 (en) 2018-02-20 2018-02-20 Method for verifying integrity of cookies in https

Country Status (1)

Country Link
KR (1) KR102116902B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112260990A (en) * 2020-09-16 2021-01-22 厦门网宿有限公司 Method and device for safely accessing intranet application

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100490584B1 (en) * 2003-03-19 2005-05-17 학교법인 이화학당 secure cookie processing method for single sign-on on web
KR20070111603A (en) * 2006-05-18 2007-11-22 이상규 Security system for client and server
US20080052775A1 (en) * 1998-11-30 2008-02-28 Ravi Sandhu Secure Cookies
KR20100108132A (en) 2009-03-27 2010-10-06 주식회사 파이오링크 Apparatus and method for security management of web access
US8286225B2 (en) 2009-08-07 2012-10-09 Palo Alto Research Center Incorporated Method and apparatus for detecting cyber threats
US8448233B2 (en) 2011-08-25 2013-05-21 Imperva, Inc. Dealing with web attacks using cryptographically signed HTTP cookies

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052775A1 (en) * 1998-11-30 2008-02-28 Ravi Sandhu Secure Cookies
KR100490584B1 (en) * 2003-03-19 2005-05-17 학교법인 이화학당 secure cookie processing method for single sign-on on web
KR20070111603A (en) * 2006-05-18 2007-11-22 이상규 Security system for client and server
KR20100108132A (en) 2009-03-27 2010-10-06 주식회사 파이오링크 Apparatus and method for security management of web access
US8286225B2 (en) 2009-08-07 2012-10-09 Palo Alto Research Center Incorporated Method and apparatus for detecting cyber threats
US8448233B2 (en) 2011-08-25 2013-05-21 Imperva, Inc. Dealing with web attacks using cryptographically signed HTTP cookies

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112260990A (en) * 2020-09-16 2021-01-22 厦门网宿有限公司 Method and device for safely accessing intranet application
CN112260990B (en) * 2020-09-16 2022-03-08 厦门网宿有限公司 Method and device for safely accessing intranet application

Also Published As

Publication number Publication date
KR102116902B1 (en) 2020-05-29

Similar Documents

Publication Publication Date Title
JP7215684B2 (en) Key exchange through a partially trusted third party
US11757641B2 (en) Decentralized data authentication
JP6545136B2 (en) System and method for encrypted transmission of web pages
US8386784B2 (en) Apparatus and method for securely submitting and processing a request
US10397006B2 (en) Network security with surrogate digital certificates
US9602288B1 (en) Enhanced data security through uniqueness checking
CN107547494B (en) System and method for secure online authentication
KR20160095720A (en) Method and apparatus for protecting transasction of encrypted currency
CN103179134A (en) Single sign on method and system based on Cookie and application server thereof
US10348701B2 (en) Protecting clients from open redirect security vulnerabilities in web applications
US11700121B2 (en) Secure authorization for sensitive information
Cao et al. Protecting web-based single sign-on protocols against relying party impersonation attacks through a dedicated bi-directional authenticated secure channel
Singh et al. OAuth 2.0: Architectural design augmentation for mitigation of common security vulnerabilities
JP2022534677A (en) Protecting online applications and web pages that use blockchain
JP5186648B2 (en) System and method for facilitating secure online transactions
KR102116902B1 (en) Method for verifying integrity of cookies in https
Batarfi et al. Csrfdtool: Automated detection and prevention of a reflected cross-site request forgery
EP3036674B1 (en) Proof of possession for web browser cookie based security tokens
TWI677806B (en) User data encryption device and method for blocking man-in-the-middle attack
Ghazizadeh et al. Secure OpenID authentication model by using Trusted Computing
Haque Web server vulnerability analysis in the context of transport layer security (tls)
Burkert et al. Protection Against Online Fraud Using Blockchain
US11997210B2 (en) Protection of online applications and webpages using a blockchain
EP3261009B1 (en) System and method for secure online authentication
Singh et al. Security Analysis of Information Technology

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