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

Method for verifying integrity of cookies in https Download PDF

Info

Publication number
KR102116902B1
KR102116902B1 KR1020180019945A KR20180019945A KR102116902B1 KR 102116902 B1 KR102116902 B1 KR 102116902B1 KR 1020180019945 A KR1020180019945 A KR 1020180019945A KR 20180019945 A KR20180019945 A KR 20180019945A KR 102116902 B1 KR102116902 B1 KR 102116902B1
Authority
KR
South Korea
Prior art keywords
cookie
https
client
integrity
header
Prior art date
Application number
KR1020180019945A
Other languages
Korean (ko)
Other versions
KR20190099898A (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

클라이언트 및 서버를 포함하는 HTTPS 환경에서의 쿠키 무결성 검증 방법이 개시된다. HTTPS 환경에서의 쿠키 무결성 검증 방법은 클라이언트가 서버에 HTTPS 요청 메시지를 송신하는 단계, 서버가 Header-MD5 옵션을 추가하여 쿠키 탈취 공격에 대하여 쿠키 무결성 검증이 가능한 HTTPS 헤더 메시지를 생성하는 단계, 서버가 클라이언트에 상기 쿠키 무결성 검증이 가능한 HTTPS 헤더 메시지를 포함하는 HTTPS 응답 메시지를 송신하는 단계, 및 클라이언트가 상기 HTTPS 응답 메시지의 무결성을 검증하는 단계;를 포함한다.Disclosed is a method for verifying cookie integrity in an HTTPS environment including a client and a server. The method of verifying cookie integrity in the HTTPS environment includes the steps of a client sending an HTTPS request message to the server, and the server generating an HTTPS header message capable of verifying cookie integrity against a cookie stealing attack by adding a Header-MD5 option. And transmitting an HTTPS response message including an HTTPS header message capable of verifying the cookie integrity to a client, and verifying the integrity of the HTTPS response message by the client.

Description

HTTPS에서의 쿠키 무결성 검증 방법{METHOD FOR VERIFYING INTEGRITY OF COOKIES 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 present and solve an attack type capable of stealing an HTTP cookie containing a user's secret information in SSL / TLS, a cryptographic communication protocol, and HTTP, a web protocol. How to verify the integrity of HTTP cookies by adding a new HTTP option.

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

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

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

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

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 presenting and defending the type of attack that can steal the HTTP cookie containing the user's secret information from SSL / TLS, the cryptographic communication protocol, and HTTP, the web protocol. Is to provide a way to do it.

본 발명의 실시 예에 따른 클라이언트 및 서버를 포함하는 HTTPS 환경에서의 의 쿠키 무결성 검증 방법은Cookie integrity verification method 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 sends an HTTPS request message to the server, the server generates an HTTPS header message capable of verifying cookie integrity by adding a Header-MD5 option, and the server includes an HTTPS header message capable of verifying the cookie integrity to the client Sending an HTTPS response message, and verifying cookie integrity by the client.

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

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 시스템의 개략도이다.
도 2a 내지 도 2b는 도 1에 도시된 브라우저의 취약점을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 방법을 설명하기 위한 흐름도이다.
도 4 내지 도 5는 본 발명의 일 실시예 따른 쿠키 무결성 검증 방법을 통해 방어할 수 있는 예시적인 공격 유형을 도시한다.
도 6은 본 발명의 일 실시예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 방법이 적용된 예시적인 HTTP 쿠키 헤더 메시지이다.
In order to better understand the drawings cited in the detailed description of the present invention, detailed descriptions of each drawing are provided.
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 illustrating the vulnerability of the browser shown in FIG. 1.
3 is a flowchart illustrating a method for verifying cookie integrity in an HTTPS computing environment according to an embodiment of the present invention.
4 to 5 illustrate exemplary types of attacks that can be defended through a cookie integrity verification method according to an embodiment of the present invention.
6 is an exemplary HTTP cookie header message to which a 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 concept of the present invention disclosed in this specification are exemplified only for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention It can be implemented in various forms and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the concept of the present invention can be applied to various changes and can have various forms, so the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosure forms, and 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 above terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of rights according to the concept of the present invention, the first component may be referred to as the second component and similarly the second component The component may also be referred to as the first component.

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

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

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

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

도 1은 본 발명의 실시 예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 시스템(10)을 도시하고, 도 2는 도 1에 도시된 브라우저의 취약점을 도시한다.1 shows a cookie integrity verification system 10 in an HTTPS computing environment according to an embodiment of the present invention, and FIG. 2 shows 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 network. The network network according to an embodiment is a wide concept including possible communication means such as a wired Internet network including an open Internet, a closed intranet, a wireless Internet communication network interlocked with a mobile communication network, and 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, when the browser 110 receives an HTTP message, there is a vulnerability that does not verify the format or integrity of the message and accepts only the interpretable part.

브라우저(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 setting of the server 200 or a network error, and may store a cookie without a secure flag (FIG. 2A). Similarly, even if the Status line indicating the status of the HTTP protocol is an incorrect format with two or more messages, the cookie value can be normally stored (FIG. 2B).

이하, 도 3 내지 도 6을 참조하여, 본 발명의 일 실시예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 방법에 대하여 자세히 살펴보도록 한다.Hereinafter, a method of verifying cookie integrity in an 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 flow chart for explaining a method for verifying cookie integrity in an HTTPS computing environment according to an embodiment of the present invention, and FIGS. 4 to 5 can be defended through a method for verifying cookie integrity according to an embodiment of the present invention The example attack type is shown.

도 6은 본 발명의 일 실시예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 방법이 적용된 예시적인 HTTP 쿠키 헤더 메시지이다. 6 is an exemplary HTTP cookie header message to which a 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 following HTTP related terms are based on the Hypertext Transfer Protocol (HTTP).

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

제1 공격 유형은 취약한 GCM을 사용하는 서버에 대해서 중간공격자가 쿠키 플래그를 임의로 수정하여 유효한 태그를 생성하는 방법이다(도 4). 클라이언트는 쿠키 플래그 없이 쿠키 값을 저장하며 이는 나중에 암호화통신인 HTTPS가 아닌 HTTP 프로토콜로 쿠키 값을 전송할 수 있어 공격자는 쿠키 값을 탈취할 수 있다.The first type of attack is a method in which an intermediate attacker randomly modifies a cookie flag to generate a valid tag for a server using a vulnerable GCM (FIG. 4). The client stores the cookie value without the cookie flag, which can later send the cookie value to the HTTP protocol rather than HTTPS, which is an encrypted communication, so an attacker can 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 (FIG. 5). In the case of the 0-RTT message, only the client generates and uses a random value used for key generation, so if you copy and transmit the 0-RTT request message used when generating the key, you can create a connection using the same key. have. Similarly, since the client stores the cookie without the cookie flag, the cookie value can later be retrieved using the HTTP protocol.

이하 도 3을 참조하여 본 발명의 일 실시예에 따른 HTTPS 컴퓨팅 환경에서의 쿠키 무결성 검증 방법을 설명한다. Hereinafter, a method of 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 adds a Header-MD5 option to generate an HTTP header message (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 in order to prevent an attack according to the vulnerability of the browser and SSL / TLS. . By adding the Header-MD5 option, it is possible to verify the integrity of the message in the header.

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

다음, 서버(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 the Header-MD5 value. The integrity of the HTTPS header message is verified by comparing the two Header-MD5 values (S400). In other words, if the two Header-MD5 values are the same, an HTTPS response message is received, otherwise, a re-request message is transmitted.

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
The present invention has been described with reference to the embodiments shown in the drawings, but these are merely exemplary, and those skilled in the art will understand that various modifications and other equivalent embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be determined 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 응답 메시지의 무결성을 검증하는 단계를 포함하고,
상기 쿠키 탈취 공격은 쿠키 플래그 변경을 통한 쿠키 탈취 공격이고,
상기 쿠키 탈취 공격은 GCM을 사용하는 서버에 대해서 공격자가 쿠키 플래그를 임의로 수정하여 유효한 태그를 생성하여 클라이언트가 쿠키 플래그 없이 쿠키 값을 저장하고 HTTPS가 아닌 HTTP 프로토콜로 쿠키 값을 전송 가능하게 함으로써 공격자가 쿠키 탈취 가능하도록 하는 제1 공격과 같은 키를 사용하는 연결을 만들어 클라이언트로 가는 메시지를 조작하는 공격으로, 클라이언트가 쿠키 플래그 없이 쿠키 값을 저장하고 HTTPS가 아닌 HTTP 프로토콜로 쿠키 값을 전송 가능하게 함으로써 공격자가 쿠키 탈취 가능하도록 하는 제2 공격 중 적어도 하나를 포함하는,
쿠키 무결성 검증 방법.
In the cookie integrity verification method in an HTTPS environment including a client and a server,
The client sending an HTTPS request message to the server;
Generating, by the server, an HTTPS header message capable of verifying cookie integrity against a cookie stealing attack by adding a Header-MD5 option;
Sending, by the server, an HTTPS response message including the HTTPS header message to the client; And
And verifying the integrity of the HTTPS response message by comparing the Header-MD5 value generated by the client from the Header-MD5 value received from the server and the HTTPS header message,
The cookie stealing attack is a cookie stealing attack through a cookie flag change,
The cookie stealing attack allows the attacker to modify the cookie flag for the server using GCM, generate a valid tag, and allow the client to store the cookie value without the cookie flag and transmit the cookie value using HTTP protocol rather than HTTPS. An attack that manipulates a message to a client by making a connection using the same key as the first attack that enables cookie stealing, by allowing the client to store the cookie value without a cookie flag and to send the cookie value via HTTP protocol rather than HTTPS Comprising at least one of the second attacks that enable an attacker to steal cookies,
How to verify cookie integrity.
삭제delete 삭제delete 삭제delete
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 KR20190099898A (en) 2019-08-28
KR102116902B1 true 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)

Families Citing this family (1)

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

Citations (2)

* 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
US20080052775A1 (en) * 1998-11-30 2008-02-28 Ravi Sandhu Secure Cookies

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Patent Citations (2)

* 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

Also Published As

Publication number Publication date
KR20190099898A (en) 2019-08-28

Similar Documents

Publication Publication Date Title
JP6625211B2 (en) Key exchange through partially trusted third parties
JP7426475B2 (en) Decentralized data authentication
JP6545136B2 (en) System and method for encrypted transmission of web pages
EP3210114B1 (en) Data computation in a multi-domain cloud environment
US8302170B2 (en) Method for enhancing network application security
Jackson et al. Forcehttps: protecting high-security web sites from network attacks
EP2020797B1 (en) Client-server Opaque token passing apparatus and method
Kiljan et al. A survey of authentication and communications security in online banking
CN103179134A (en) Single sign on method and system based on Cookie and application server thereof
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
CN111464532A (en) Information encryption method and system
Kloibhofer et al. LoRaWAN with HSM as a security improvement for agriculture applications
JP5186648B2 (en) System and method for facilitating secure online transactions
KR102116902B1 (en) Method for verifying integrity of cookies in https
Kim et al. A survey of common security vulnerabilities and corresponding countermeasures for SaaS
AU2023203761A1 (en) Browser-implemented systems and methods
Aljawarneh Emerging challenges, security issues, and Technologies in Online Banking Systems
Büttner et al. Protecting FIDO Extensions Against Man-in-the-Middle Attacks
Joseph et al. Cookie based protocol to defend malicious browser extensions
Ghazizadeh et al. Secure OpenID authentication model by using Trusted Computing
TWI677806B (en) User data encryption device and method for blocking man-in-the-middle attack
Krishnaraj et al. Common vulnerabilities in real world web applications.
Haque Web server vulnerability analysis in the context of transport layer security (tls)
Singh Detecting and prevention cross–site scripting techniques

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