KR101492821B1 - Method and system for transmitting key securely to hypertext transfer protocol page - Google Patents
Method and system for transmitting key securely to hypertext transfer protocol page Download PDFInfo
- Publication number
- KR101492821B1 KR101492821B1 KR20130090128A KR20130090128A KR101492821B1 KR 101492821 B1 KR101492821 B1 KR 101492821B1 KR 20130090128 A KR20130090128 A KR 20130090128A KR 20130090128 A KR20130090128 A KR 20130090128A KR 101492821 B1 KR101492821 B1 KR 101492821B1
- Authority
- KR
- South Korea
- Prior art keywords
- cookie
- secret key
- terminal
- https
- web server
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/121—Timestamp
Abstract
HTTP(HyperText Transfer Protocol) 페이지로 안전하게 키를 전달하기 위한 키 전달 방법 및 시스템이 개시된다. 컴퓨터로 구현되는 키 전달 방법은, 단말기로부터의 로그인 요청에 따라 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)에서 로그인 세션 동안 사용하기 위한 비밀키를 획득하는 단계, HTTPS 페이지를 통해 상기 비밀키를 상기 단말기로 전송하는 단계, HTTP(Hypertext Transfer Protocol) 페이지에서의 HTTPS 요청에 따라 상기 비밀키가 추가된 시큐어 쿠키 또는 서브패스 쿠키를 상기 단말기로부터 수신하는 단계 및 상기 시큐어 쿠키 또는 상기 서브패스 쿠키로부터 상기 비밀키를 추출하여 상기 HTTPS 요청에 대한 응답메시지를 통해 상기 단말기로 전송하는 단계를 포함할 수 있다.A key delivery method and system for delivering a secure key to an HTTP (HyperText Transfer Protocol) page is disclosed. A computer-implemented key delivery method includes: acquiring a secret key for use during a login session in an HTTPS (Hypertext Transfer Protocol over Secure Socket Layer) according to a login request from a terminal; Receiving from the terminal a secure cookie or a sub-path cookie to which the secret key is added according to an HTTPS request in an HTTP (Hypertext Transfer Protocol) page, and transmitting the secure key or the sub- And transmitting the extracted HTTPS request message to the terminal through a response message to the HTTPS request.
Description
본 발명의 실시예들은 HTTP(HyperText Transfer Protocol) 페이지로 안전하게 키를 전달하기 위한 키 전달 방법 및 시스템에 관한 것이다. Embodiments of the present invention relate to a key delivery method and system for securely transmitting a key to a HyperText Transfer Protocol (HTTP) page.
HTTP(Hypertext Transfer Protocol)는, 네트워크 스니핑(sniffing)을 통해서 인증키(쿠키(cookie))가 탈취될 가능성이 존재한다. 공격자는 이러한 인증키를 이용하여 세션 재사용 공격(replay attack)이 가능하다. 스니핑이란 스니퍼를 이용하여 네트워크상의 데이터를 도청하는 행위를 의미하는 것으로, 스니퍼는 컴퓨터 네트워크상에 흘러다니는 트래픽을 엿듣는 도청장치를 말한다. 네트워크 상에서 자신이 아닌 다른 상대방들의 패킷 교환을 엿듣는 스니핑 공격은 웹호스팅, 인터넷 데이터센터(Internet Data Center, IDC) 등과 같이 여러 업체가 같은 네트워크를 공유하는 환경에서는 매우 위협적인 공격이 될 수 있다. 하나의 시스템이 공격당하게 되면 그 시스템을 이용하여 네트워크를 도청하게 되고, 다른 시스템의 사용자 ID와 비밀번호를 파악하는 것이 가능하다. 비록 스위칭 환경의 네트워크를 구축하여 스니핑을 어렵게 할 수는 있지만 이를 우회할 수 있는 많은 공격 방법이 존재한다. 스니핑을 예방할 수 있는 가장 좋은 방법은 데이터를 암호화 하는 것이다.In Hypertext Transfer Protocol (HTTP), there is a possibility that an authentication key (cookie) is seized through network sniffing. An attacker can use this authentication key to perform a session replay attack. Sniffing refers to the act of tapping data on a network using a sniffer, which is an eavesdropping device that eavesdrops on traffic flowing on a computer network. Sniffing attacks, which overheard packets exchanged by other parties on the network, can be a very dangerous attack in environments where multiple vendors share the same network, such as Web hosting, Internet Data Center (IDC), and others. When one system is attacked, the system is used to eavesdrop on the network, and it is possible to grasp the user ID and password of another system. Although it can make sniffing difficult by establishing a network of switching environments, there are many attack methods that can bypass it. The best way to prevent sniffing is to encrypt the data.
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)는 월드 와이드 웹 통신 프로토콜인 HTTP의 보안이 강화된 버전이다. 다양한 웹 서비스와 전자 상거래 등에서 널리 사용되고 있으며, 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL(Secure Socket Layer)이나 TLS(Transport Layer Security) 프로토콜을 통해 세션 데이터를 암호화한다. 따라서 데이터의 적절한 보호를 보장한다.The Hypertext Transfer Protocol over Secure Socket Layer (HTTPS) is a security-enhanced version of HTTP, the world wide web communications protocol. It is widely used in various web services and e-commerce. In addition, instead of using plain text in socket communication, session data is encrypted through SSL (Secure Socket Layer) or TLS (Transport Layer Security) protocol. Thus ensuring adequate protection of the data.
그러나, HTTPS는 HTTP에 비해 도입 비용이 높은 단점이 있다. 예를 들어, HTTPS를 통한 이미지의 CDN(contents delivery network)에서 비용은 HTTP를 통한 이미지의 CDN 비용 대비 3~5배 높다. 그렇다고, 페이지는 HTTPS로, 이미지는 HTTP로 제공하려 하면 보안경고가 발생하는 문제점이 있다.However, HTTPS has a higher introduction cost than HTTP. For example, in the content delivery network (CDN) of images over HTTPS, the cost is 3 to 5 times higher than the cost of CDN for images over HTTP. However, there is a problem that a security warning occurs when a page is provided with HTTPS and an image is provided with HTTP.
HTTP(Hypertext Transfer Protocol) 페이지와 서버간에 안전하게 비밀키를 교환하여 HTTP 요청을 간편하게 암호화할 수 있는 키 전달 방법 및 시스템을 제공한다.Provides a key delivery method and system that can securely encrypt an HTTP request by exchanging secret keys securely between an HTTP (Hypertext Transfer Protocol) page and a server.
컴퓨터로 구현되는 키 전달 방법에 있어서, 단말기로부터의 로그인 요청에 따라 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)에서 로그인 세션 동안 사용하기 위한 비밀키를 획득하는 단계; HTTPS 페이지를 통해 상기 비밀키를 상기 단말기로 전송하는 단계; HTTP(Hypertext Transfer Protocol) 페이지에서의 HTTPS 요청에 따라 상기 비밀키가 추가된 시큐어 쿠키 또는 서브패스 쿠키를 상기 단말기로부터 수신하는 단계; 및 상기 시큐어 쿠키 또는 상기 서브패스 쿠키로부터 상기 비밀키를 추출하여 상기 HTTPS 요청에 대한 응답메시지를 통해 상기 단말기로 전송하는 단계를 포함하는 키 전달 방법이 제공된다.A computer-implemented key delivery method, comprising: obtaining a secret key for use during a login session in a Hypertext Transfer Protocol over Secure Socket Layer (HTTPS) according to a login request from a terminal; Transmitting the secret key to the terminal through an HTTPS page; Receiving, from the terminal, a secure cookie or a sub-path cookie to which the secret key is added according to an HTTPS request in an HTTP (Hypertext Transfer Protocol) page; And extracting the secret key from the secure cookie or the subpath cookie and transmitting the secret key to the terminal through a response message to the HTTPS request.
일측에 따르면, 상기 비밀키는, 상기 HTTPS 페이지를 통해 상기 시큐어 쿠키 또는 상기 서브패스 쿠키에 추가되고, 상기 HTTPS 요청은, 상기 HTTP 페이지에서 JSONP(JavaScript Object Notation with Padding) 방식을 이용한 HTTPS API 호출에 따라 발생하는 것을 특징으로 할 수 있다.According to one aspect, the secret key is added to the secure cookie or the sub-path cookie via the HTTPS page, and the HTTPS request is transmitted to the HTTP page through an HTTPS API call using a JSONP (JavaScript Object Notation with Padding) And the like.
다른 측면에 따르면, 상기 시큐어 쿠키 또는 상기 서브패스 쿠키의 수신 이후, 또는 상기 응답메시지의 전송 이후에 상기 시큐어 쿠키 또는 상기 서브패스 쿠키가 상기 단말기에서 삭제되는 것을 특징으로 할 수 있다.According to another aspect of the present invention, the secure cookie or the sub-path cookie may be deleted from the terminal after receiving the secure cookie or the sub-path cookie, or after transmitting the response message.
또 다른 측면에 따르면, 상기 키 전달 방법은 상기 단말기로부터 서비스 요청, 타임스탬프 및 상기 타임스탬프로부터 상기 응답메시지를 통해 상기 단말기로 전송된 비밀키를 이용하여 생성된 제1 키드-해쉬 메시지 인증 코드(keyed-hash message authentication code, HMAC)를 수신하는 단계; 고정 기억영역(persistent storage)으로부터 상기 단말기의 비밀키를 검색하고, 상기 검색된 비밀키를 이용하여 상기 타임스탬프로부터 제2 키드-해쉬 메시지 인증 코드를 생성하는 단계; 및 상기 제1 키드-해쉬 메시지 인증 코드와 상기 제2 키드-해쉬 메시지 인증 코드를 비교하고, 상기 타임스탬프의 시각과 현재시각을 비교하여, 비교결과에 따라 상기 서비스 요청에 따른 웹 서비스를 제공하는 단계를 더 포함하는 것을 특징으로 할 수 있다.According to another aspect of the present invention, the key delivery method includes receiving a service request, a time stamp, and a first key-hash message authentication code (hereinafter, referred to as " keyed-hash message authentication code, HMAC); Retrieving a secret key of the terminal from a persistent storage and generating a second Kid-Hash message authentication code from the timestamp using the retrieved secret key; And comparing the first key-hash message authentication code with the second key-hash message authentication code, comparing the time of the time stamp with a current time, and providing a web service according to the service request according to the comparison result The method comprising the steps of:
컴퓨터로 구현되는 키 전달 방법에 있어서, HTTPS 페이지를 통해 로그인 정보를 웹 서버로 전송하는 단계; 상기 HTTPS 페이지를 통해 상기 웹 서버로부터 로그인 세션 동안 사용하기 위한 비밀키를 수신하는 단계; 상기 수신된 비밀키를 시큐어 쿠키 또는 서브패스 쿠키에 저장하는 단계; HTTP 페이지를 통해 HTTPS 요청을 상기 웹 서버로 전송하는 단계; 및 상기 웹 서버로부터 상기 HTTPS 요청에 대한 응답메시지를 수신하고, 상기 응답메시지에 포함된 상기 비밀키를 확인하는 단계를 포함하고, 상기 웹 서버에서, 상기 HTTPS 요청에 따라 상기 시큐어 쿠키 또는 상기 서브패스 쿠키로부터 상기 비밀키가 추출되고, 상기 응답메시지에 추가되어 전송되는 것을 특징으로 하는 키 전달 방법이 제공된다.A computer-implemented key delivery method comprising: transmitting login information to a web server via an HTTPS page; Receiving a secret key for use during a login session from the web server via the HTTPS page; Storing the received secret key in a secure cookie or a sub-pass cookie; Transmitting an HTTPS request to the web server via an HTTP page; And receiving a response message for the HTTPS request from the web server and confirming the secret key included in the response message. The web server may further include a step of receiving, by the web server, the secure cookie or the sub- And the secret key is extracted from the cookie and added to the response message and transmitted.
적어도 하나의 스토리지 유닛; 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 단말기로부터의 로그인 요청에 따라 HTTPS에서 로그인 세션 동안 사용하기 위한 비밀키를 획득하는 과정; HTTPS 페이지를 통해 상기 비밀키를 상기 단말기로 전송하는 과정; HTTP 페이지에서의 HTTPS 요청에 따라 상기 비밀키가 추가된 시큐어 쿠키 또는 서브패스 쿠키를 상기 단말기로부터 수신하는 과정; 및 상기 시큐어 쿠키 또는 상기 서브패스 쿠키로부터 상기 비밀키를 추출하여 상기 적어도 하나의 스토리지 유닛에 저장하고, 상기 HTTPS 요청에 대한 응답메시지를 통해 상기 추출된 비밀키를 상기 단말기로 전송하는 과정을 처리하는 것을 특징으로 하는 키 전달 시스템이 제공된다.At least one storage unit; And at least one processor, the at least one processor obtaining a secret key for use during a login session in HTTPS according to a login request from the terminal; Transmitting the secret key to the terminal through an HTTPS page; Receiving, from the terminal, a secure cookie or a sub-path cookie to which the secret key is added according to an HTTPS request in an HTTP page; And extracting the secret key from the secure cookie or the subpath cookie and storing the secret key in the at least one storage unit and transmitting the extracted secret key to the terminal through a response message to the HTTPS request A key transmission system is provided.
적어도 하나의 스토리지 유닛; 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, HTTPS 페이지를 통해 로그인 정보를 웹 서버로 전송하는 과정; 상기 HTTPS 페이지를 통해 상기 웹 서버로부터 로그인 세션 동안 사용하기 위한 비밀키를 수신하는 과정; 상기 수신된 비밀키를 시큐어 쿠키 또는 서브패스 쿠키에 저장하는 과정; HTTP 페이지를 통해 HTTPS 요청을 상기 웹 서버로 전송하는 과정; 및 상기 HTTPS 요청에 대한 응답메시지를 수신하고, 상기 응답메시지에 포함된 상기 비밀키를 확인하는 과정을 처리하는 것을 특징으로 하는 키 전달 시스템이 제공된다.At least one storage unit; And at least one processor, the at least one processor transmitting the login information to a web server via an HTTPS page; Receiving a secret key for use during a login session from the web server via the HTTPS page; Storing the received secret key in a secure cookie or a sub-pass cookie; Transmitting an HTTPS request to the web server through an HTTP page; And a step of receiving a response message for the HTTPS request and confirming the secret key included in the response message.
HTTP(Hypertext Transfer Protocol) 페이지와 서버간에 안전하게 비밀키를 교환하여 HTTP 요청을 간편하게 암호화할 수 있다.HTTP requests can be easily encrypted by securely exchanging secret keys between the Hypertext Transfer Protocol (HTTP) page and the server.
도 1은 본 발명의 일실시예에 있어서, 키 교환 과정을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일실시예에 있어서, 교환된 비밀키를 이용하여 안전하게 웹 서비스를 제공하는 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 있어서, 사용자의 단말기, HTTPS 페이지, HTTP 페이지 및 웹 서버를 도시한 도면이다.
도 4는 본 발명의 일실시예에 있어서, 웹 서버에 의해 수행되는 키 전달 방법을 도시한 흐름도이다.
도 5는 본 발명의 일실시예에 있어서, 사용자의 단말기에 의해 수행되는 키 전달 방법을 도시한 흐름도이다.1 is a flowchart illustrating a key exchange process according to an exemplary embodiment of the present invention.
FIG. 2 is a diagram illustrating a process of securely providing a web service using an exchanged secret key according to an embodiment of the present invention. Referring to FIG.
3 is a diagram illustrating a user terminal, an HTTPS page, an HTTP page, and a web server according to an exemplary embodiment of the present invention.
4 is a flowchart illustrating a key delivery method performed by a Web server according to an exemplary embodiment of the present invention.
5 is a flowchart illustrating a key delivery method performed by a user terminal according to an exemplary embodiment of the present invention.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명의 실시예들에서는 HTTPS 페이지에서의 로그인 세션마다 발급되는 비밀키를 HTTP 페이지로 안전하게 전달함으로써, HTTP에서도 비밀키를 이용하여 안전하게 웹 서비스를 이용할 수 있는 기술에 대해 설명한다.In the embodiments of the present invention, a technology for securely transmitting a secret key issued for each login session in an HTTPS page to an HTTP page, and using securely using the secret key in HTTP will be described.
도 1은 본 발명의 일실시예에 있어서, 키 교환 과정을 설명하기 위한 흐름도이다. 도 1은 사용자(110), HTTPS(Hypertext Transfer Protocol over Secure Socket Layer) 페이지(120), HTTP(Hypertext Transfer Protocol) 페이지(130) 및 웹서버(140)를 도시하고 있다. 도 1에서 사용자(110), HTTPS 페이지(120) 및 HTTP 페이지(130)가 수행하는 단계들은 실질적으로, 사용자(110)의 입력이나, HTTPS 페이지(120) 또는 HTTP 페이지(130)의 소스코드 또는 웹브라우저의 제어에 따라 사용자(110)의 단말기가 수행하는 단계들이나, 설명 및 이해의 편의를 위해 각각 사용자(110), HTTPS 페이지(120) 또는 HTTP 페이지(130)가 수행하는 것으로 표현하였다.1 is a flowchart illustrating a key exchange process according to an exemplary embodiment of the present invention. 1 shows a
단계(151)에서 사용자(110)는 HTTP 페이지(130)에 비해 보안이 강화된 HTTPS 페이지(120)를 통해 웹 서버(140)로의 로그인을 시도할 수 있다.The
단계(152)에서 웹 서버(140)는 HTTPS 페이지(120)에서 비밀키를 안전하게 수신할 수 있다.At
단계(153)에서 웹 서버(140)는 로그인 시도에 대한 HTTPS 페이지(120)의 리스폰스 바디(response body)에 비밀키를 추가할 수 있다.At
단계(154)에서 HTTPS 페이지(120)는 로컬 스토리지에 비밀키를 저장할 수 있다. HTTP와 HTTPS는 스킴(scheme)이 서로 다르기 때문에 로컬 스토리지는 공유되지 않고, HTTP에서는 로컬 스토리지에 저장된 비밀키를 공유할 수 없다. 이때, HTTPS 페이지(120)는 나중에 다시 HTTPS 페이지(120)가 이용되는 경우를 고려하여 비밀키를 로컬 스토리지에 저장할 수 있다.At
단계(155)에서 HTTPS 페이지(120)는 시큐어 쿠키(secure cookie) 또는 서브패스 쿠키(subpath cookie)에 비밀키를 저장할 수 있다. HTTP와 HTTPS가 스킴이 서로 다르다고 하더라도 동일한 도메인에서 쿠키는 공유될 수 있다. 따라서, HTTPS 페이지(120)는 HTTP를 통해서는 비밀키를 획득할 수 없도록 시큐어 쿠키를 통해 비밀키를 저장할 수 있다. 또한, HTTPS 페이지(120)는 서브패스로 쿠키를 생성하여 네트워크를 통해 쿠키가 전달되지 않도록 할 수 있다. 참고로, 다른 패스의 쿠키는 생성할 수는 있으나 읽을 수는 없다.In
단계(156)에서 HTTPS 페이지(120)는 HTTP 페이지(130)로 전환될 수 있다. 본 발명의 실시예들은 HTTP 페이지(130)에 비해 도입 비용이 높은 HTTPS 페이지(120)의 문제점을 해결하고자, HTTP 페이지(130)에 비밀키를 안전하게 전달하여 HTTP 페이지(130)에서 낮은 비용과 높은 보안을 모두 만족시키기 위한 것이다. 따라서, 시큐어 쿠키나 서브패스 쿠키의 생성 이후에는 HTTP 페이지(130)로 전환하여 HTTP 페이지(130)를 통해 서비스를 제공받을 수 있다.At
단계(157)에서 HTTP 페이지(130)는 HTTPS 요청을 통해 시큐어 쿠키 또는 서브패스 쿠키에 저장된 비밀키를 웹 서버(140)에게 요청할 수 있다. 일례로, HTTPS 요청은, HTTP 페이지(130)에서의 JSONP(JavaScript Object Notation with Padding) 방식을 이용한 HTTPS API 호출에 따라 발생할 수 있다. 웹에서 자바스크립트로 통신하기 위해, HTTP 페이지(130)는 HTTPS API(Application Program Interface)를 호출할 수 있다. AJAX 방식을 이용한 호출은 HTTP 페이지와 HTTPS 페이지간 크로스도메인(cross domain)으로 인식되기 때문에 이용할 수 없는 반면, JSONP 방식의 호출은 가능하다. 예를 들어, JSONP 방식의 호출은 HTML 페이지에 동적으로 스크립트 객체를 삽입해서 호출하는 방식으로, 겟 메서드(GET method)만 가능할 뿐, 포스트 메서드(POST method)는 사용할 수 없다.In
단계(158)에서 웹 서버(140)는 시큐어 쿠키 또는 서브패스 쿠키를 통해 얻어지는 비밀키를 HTTPS 요청에 대한 응답메시지를 통해 HTTP 페이지(130)에게 제공할 수 있다. HTTP 페이지(130)는 시큐어 쿠키 또는 서브패스 쿠키에서 비밀키를 직접 읽어들일 수 없기 때문에 단계(157) 및 단계(158)과 같이 웹 서버(140)를 통해 비밀키를 획득할 수 있다.In
단계(159)에서 HTTP 페이지(130)는 비밀키를 로컬 스토리지에 저장할 수 있다.At
단계(160)에서 HTTP 페이지(130)는 HTTP 페이지(130)를 디스플레이할 수 있다.In
이와 같이, HTTP 페이지(130)에서도 웹 서버(140)와 안전하게 비밀키를 교환할 수 있고, 교환된 비밀키를 이용하여 메시지들을 암호화하여 전송함으로써, 스니핑에 안전한 웹 서비스를 제공할 수 있게 된다.As described above, the HTTP
또한, 보다 안전한 비밀키의 교환을 위해, HTTP 페이지(130)에서 비밀키를 획득한 이후에는 시큐어 쿠키 또는 서브패스 쿠키가 삭제될 수 있다. 예를 들어, 웹 서버(140)는 단계(158)에서 비밀키를 HTTP 페이지(130)의 리스폰스 바디에 추가하면서, HTTP 페이지(130)의 소스코드를 통해 사용자(110)의 단말기가 서브패스에서 쿠키를 삭제하도록 제어할 수 있다.Also, for the safer secret key exchange, the secure cookie or sub-path cookie may be deleted after obtaining the secret key at the
도 2는 본 발명의 일실시예에 있어서, 교환된 비밀키를 이용하여 안전하게 웹 서비스를 제공하는 과정을 설명하기 위한 도면이다. 도 2는 도 1에서 설명한 사용자(110), HTTP 페이지(130) 및 웹서버(140)를 도시하고 있다. 도 2에도 사용자(110), 및 HTTP 페이지(130)가 수행하는 단계들은 실질적으로, 사용자(110)의 입력이나, HTTP 페이지(130)의 소스코드 또는 웹브라우저의 제어에 따라 사용자(110)의 단말기가 수행하는 단계들일 수 있다.FIG. 2 is a diagram illustrating a process of securely providing a web service using an exchanged secret key according to an embodiment of the present invention. Referring to FIG. FIG. 2 illustrates the
단계(210)에서 사용자(110)는 웹 서비스를 위한 페이지로서 HTTP 페이지(130)에 접근할 수 있다.At
단계(220)에서 HTTP 페이지(130)는, HTTP 페이지(130)가 비밀키를 갖고 있지 않은 경우, 로컬 스토리지로부터 비밀키를 리딩할 수 있다. 도 1의 단계(159)에서는 HTTP 페이지(130)가 비밀키를 로컬 스토리지에 저장한 예를 설명하였다.In
단계(230)에서 HTTP 페이지(130)는 비밀키를 이용하여 타임스탬프로부터 키드-해쉬 메시지 인증 코드(keyed-hash message authentication code, HMAC)를 생성할 수 있다. HMAC은 해쉬-기반 메시지 인증 코드로 암호기법에서의 암호화 비밀키와 결합된 암호 해쉬 함수를 수반하는 메시지 인증 코드의 계산을 위한 특별한 구조이다.In
단계(240)에서 HTTP 페이지(130)는 타임스탬프와 HMAC를 이용하여 웹 서버(140)로 서비스 정보를 요청할 수 있다.In
단계(250)에서 웹 서버(140)는 고정 기억영역(persistent storage)으로부터 사용자의 비밀키를 검색할 수 있다.At
단계(260)에서 웹 서버(140)는 검색된 비밀키를 이용하여 타임스탬프로부터 HMAC을 생성할 수 있다.In
단계(270)에서 웹 서버(140)는 생성된 HMAC(웹 서버(140)의 HMAC)과 수신된 HMAC(HTTP 페이지(130)의 HMAC)을 비교할 수 있다.The
단계(280)에서 웹 서버(140)는 HTTP 페이지(130)의 HMAC과 웹 서버(140)의 HMAC이 서로 동일하고, 타임스탬프를 이용하여 HTTP 페이지(130)의 HMAC이 특정 시간 이내에 생성된 것이 확인되는 경우, 정상적인 응답으로서 HTTP 페이지(130)가 요청한 서비스 정보를 HTTP 페이지(130)로 전송할 수 있다. 실질적으로는, 단계(280)은 웹 서버(140)가 HTTP 페이지(130)의 소스코드에 서비스 정보를 추가하고, 서비스 정보가 추가된 소스코드를 사용자(110)의 단말기로 전송하는 과정일 수 있다.In
단계(290)에서 HTTP 페이지(130)는 서비스 정보가 표시되는 HTTP 페이지(130)를 디스플레이할 수 있다. 실질적으로 단계(290)는 사용자(110)의 단말기가 서비스 정보가 표시되는 HTTP 페이지(130)를 디스플레이하는 과정일 수 있다.In
이와 같이, 사용자(110)의 단말기와 웹 서버(140)간에 비밀키를 이용한 안전한 통신이 가능해진다.In this way, secure communication using the secret key can be performed between the terminal of the
도 3은 본 발명의 일실시예에 있어서, 사용자의 단말기, HTTPS 페이지, HTTP 페이지 및 웹 서버를 도시한 도면이고, 도 4는 본 발명의 일실시예에 있어서, 사용자의 단말기에 의해 수행되는 키 전달 방법을 도시한 흐름도이며, 도 5는 본 발명의 일실시예에 있어서, 웹 서버에 의해 수행되는 키 전달 방법을 도시한 흐름도이다.FIG. 3 is a diagram illustrating a user terminal, an HTTPS page, an HTTP page, and a Web server according to an exemplary embodiment of the present invention. FIG. FIG. 5 is a flowchart illustrating a key delivery method performed by a Web server according to an exemplary embodiment of the present invention. Referring to FIG.
도 3은 단말기(310), HTTPS 페이지(320), HTTP 페이지(330) 및 웹 서버(340)를 나타내고 있다. 도 4는 도 3의 단말기(310)에 의해 수행되는 키 전달 방법을, 도 5는 도 3의 웹 서버(340)에 의해 수행되는 키 전달 방법을 각각 설명한다. 이후에서는 도 3 내지 도 5를 참조하여 본 발명의 실시예들을 설명한다.3 shows a terminal 310, an
단계(410)에서 단말기(310)는 HTTPS 페이지(320)를 통해 로그인 정보를 웹 서버(340)로 전송할 수 있다. 단말기(310)는 네트워크를 통해 웹 서버(340)와 통신하여 웹 서비스를 제공받는 사용자의 기기로서, 적어도 하나의 스토리지 유닛과 적어도 하나의 프로세서를 포함할 수 있다. 단말기(310)가 수행하는 단계들은 단말기(310)가 포함하는 적어도 하나의 프로세서에 의해 수행되는 단계들일 수 있고, 도 1 및 도 2에서 설명한 로컬 스토리지는 단말기(310)가 포함하는 적어도 하나의 스토리지 유닛에 포함될 수 있다. 이때, 단말기(310)가 웹 서버(340)와 통신하기 위해, 단말기(310)는 기설정된 URL을 갖는 HTTPS 페이지(320) 또는 HTTP 페이지(330)에 접근할 수 있다. 단말기(310)에서 URL을 이용하여 HTTPS 페이지(320) 또는 HTTP 페이지(330)에 접근하는 것은 단말기(310)의 웹브라우저가 URL에 해당하는 소스코드를 이용하여 화면에 대응하는 페이지를 화면에 표시하는 것을 의미할 수 있다. 이때, 사용자가 단말기(310)의 입력 인터페이스 및 해당 페이지의 로그인 인터페이스를 통해 로그인을 위한 정보(일례로, 아이디 및 패스워드)를 입력하면, 단말기(310)는 웹브라우저의 제어에 따라 웹 서버(340)로 로그인을 위한 정보를 전송할 수 있다. 예를 들어, 단계(151)에서 사용자(110)가 HTTPS 페이지(120)를 통해 웹 서버(140)로의 로그인을 시도하는 것이 단말기(310)가 HTTPS 페이지(320)를 통해 로그인 정보를 웹 서버(340)로 전송하는 것에 대응될 수 있다.In
단계(510)에서 웹 서버(340)는 단말기(310)로부터의 로그인 요청에 따라 HTTPS에서 로그인 세션동안 사용하기 위한 비밀키를 획득할 수 있다. 여기서, 로그인 요청은 단계(410)에서 단말기(310)가 웹 서버(340)로 로그인 정보를 전송하는 것에 대응될 수 있다. 웹 서버(340)는 HTTPS 페이지(320) 또는 HTTP 페이지(330)를 통해 단말기(310)로 웹 서비스를 제공할 수 있는 시스템으로, 적어도 하나의 스토리지 유닛과 적어도 하나의 프로세서를 포함할 수 있다. 웹 서버(340)가 수행하는 단계들은 웹 서버(340)가 포함하는 적어도 하나의 프로세서에 의해 수행되는 단계들일 수 있고, 도 2에서 설명한 고정 기억영역은 웹 서버(340)가 포함하는 적어도 하나의 스토리지 유닛에 대응될 수 있다.In
단계(520)에서 웹 서버(340)는 HTTPS 페이지(320)를 통해 비밀키를 단말기(310)로 전송할 수 있다. 예를 들어, 웹 서버(340)는 로그인 요청에 대한 HTTPS 페이지(320)의 리스폰스 바디에 비밀키를 추가함으로써, 비밀키를 단말기(310)로 전송할 수 있다. 이미 설명한 바와 같이, HTTPS에서는 SSL(Secure Socket Layer)이나 TLS(Transport Layer Security) 프로토콜을 통해 세션 데이터를 암호화하기 때문에, 단말기(310)와 웹 서버(340)는 서로 안전하게 통신할 수 있다.At
단계(420)에서 단말기(310)는 HTTPS 페이지(320)를 통해 웹 서버(340)로부터 로그인 세션 동안 사용하기 위한 비밀키를 수신할 수 있다. 일례로, 단말기(310)는 단계(520)에서 웹 서버(340)가 제공하는 HTTPS 페이지(320)에 포함된 비밀키를 확인할 수 있다. 실질적으로는 HTTPS 페이지(320)에 비밀키가 전달된 것을 의미할 수 있으며, 단말기(310)의 웹브라우저에서 HTTPS 페이지(320)에 추가된 비밀키가 이용될 수 있다.In
단계(430)에서 단말기(310)는 로컬 스토리지에 비밀키를 저장할 수 있다. 비밀키를 로컬 스토리지에 저장하는 것은 향후 HTTP 페이지(320)로 이동하였다가 다시 HTTPS 페이지(320)로 돌아올 경우를 대비하기 위한 것으로, 단계(420)은 필요에 따라 선택적으로 수행될 수 있다.In
단계(440)에서 단말기(310)는 수신된 비밀키를 시큐어 쿠키 또는 서브패스 쿠키에 저장할 수 있다. 이미 설명한 바와 같이, HTTP에서는 시큐어 쿠키와 서브패스 쿠키에 저장된 데이터에 접근할 수 없기 때문에, HTTP 페이지를 통해 비밀키가 노출될 위험을 막을 수 있다. 시큐어 쿠키나 서브패스 쿠키 역시 단말기(310)가 포함하는 적어도 하나의 스토리지 유닛에 저장될 수 있다.In
단계(450)에서 단말기(310)는 HTTP 페이지(330)를 통해 HTTPS 요청을 웹 서버(340)로 전송할 수 있다. HTTP 페이지(330)에서는 로컬 스토리지에 접근할 수 없을 뿐만 아니라, 시큐어 쿠키나 서브패스 쿠키의 데이터에 접근할 수 없기 때문에, 단말기(310)는 HTTP 페이지(330)에서 사용할 비밀키를 얻기 위해, HTTPS 요청을 웹 서버(340)로 전송할 수 있다.In
단계(530)에서 웹 서버(340)는 HTTP 페이지(330)에서의 HTTPS 요청에 따라 비밀키가 추가된 시큐어 쿠키 또는 서브패스 쿠키를 단말기(310)로부터 수신할 수 있다. 웹 서버(340)에서는 시큐어 쿠키 또는 서브패스 쿠키에 저장된 데이터에 접근할 수 있기 때문에, 시큐어 쿠키 또는 서브패스 쿠키로부터 비밀키를 획득할 수 있다.In
단계(540)에서 웹 서버(340)는 시큐어 쿠키 또는 서브패스 쿠키로부터 비밀키를 추출하여 HTTPS 요청에 대한 응답메시지를 통해 단말기(310)로 전송할 수 있다. 이때, 비밀키는 HTTP 페이지(330)에서의 HTTPS API 호출에 따라 HTTPS 페이지(320)에서 세팅된 값을 읽어오는 것(일례로, 겟 메서드(GET method)를 이용하여 리딩함)이기 때문에, 안전하게 HTTP 페이지(330)로 전달될 수 있다. 또한, 추출된 비밀키는 이후, 단말기(310)와의 HTTP 페이지(330)를 통한 안전한 통신을 위하여 웹 서버(340)의 고정 기억영역에 저장될 수 있다.In
단계(460)에서 단말기(310)는 웹 서버(340)로부터 HTTPS 요청에 대한 응답메시지를 수신하고, 응답메시지에 포함된 비밀키를 확인할 수 있다. 다시 말해, HTTPS 페이지(320)를 통해 얻어지는 비밀키는 HTTP 페이지(330)에서 직접적으로 접근/이용할 수 없기 때문에, 시큐어 쿠키 또는 서브패스 쿠키를 이용하여 HTTP 페이지(330)에 비밀키가 전달될 수 있다.In
단말기(310)는 HTTP 페이지(330)를 통해 얻어진 비밀키를 로컬 스토리지에 저장할 수 있으며, HTTP 페이지(330)를 디스플레이하여 웹 서비스를 제공받을 수 있다. 이때, 도 2를 통해 설명한 바와 같이, 단말기(310)와 웹 서버(340)간에는 비밀키, 타임스탬프, 키드-해쉬 메시지 인증 코드를 이용하여 안전한 통신이 가능해진다.The terminal 310 can store the secret key obtained through the
이와 같이, 본 발명의 실시예들에 따르면, HTTP 페이지와 서버간에 안전하게 비밀키를 교환하여 HTTP 요청을 간편하게 암호화할 수 있다.As described above, according to the embodiments of the present invention, the HTTP request can be easily encrypted by securely exchanging the secret key between the HTTP page and the server.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (17)
상기 웹 서버가, 단말기로부터의 로그인 요청에 따라 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)를 통해 로그인 세션 동안 사용하기 위한 비밀키를 수신하는 단계;
상기 웹 서버가, HTTPS 페이지를 통해 상기 비밀키를 상기 단말기로 전송하는 단계;
상기 웹 서버가, HTTP(Hypertext Transfer Protocol) 페이지에서의 HTTPS 요청에 따라 상기 비밀키가 추가된 시큐어 쿠키 또는 서브패스 쿠키를 상기 단말기로부터 수신하는 단계; 및
상기 웹 서버가, 상기 시큐어 쿠키 또는 상기 서브패스 쿠키로부터 상기 비밀키를 추출하여 상기 HTTPS 요청에 대한 응답메시지를 통해 상기 단말기로 전송하는 단계
를 포함하는 키 전달 방법.A key delivery method of a web server implemented by a computer,
Receiving, by the web server, a secret key for use during a login session via a Hypertext Transfer Protocol over Secure Socket Layer (HTTPS) according to a login request from the terminal;
Transmitting, by the web server, the secret key to the terminal through an HTTPS page;
Receiving, from the terminal, a secure cookie or a sub-path cookie to which the secret key is added according to an HTTPS request in an HTTP (Hypertext Transfer Protocol) page; And
The web server extracts the secret key from the secure cookie or the subpath cookie and transmits the extracted secret key to the terminal through a response message to the HTTPS request
≪ / RTI >
상기 비밀키는, 상기 HTTPS 페이지를 통해 상기 시큐어 쿠키 또는 상기 서브패스 쿠키에 추가되고,
상기 HTTPS 요청은, 상기 HTTP 페이지에서 JSONP(JavaScript Object Notation with Padding) 방식을 이용한 HTTPS API 호출에 따라 발생하는 것을 특징으로 하는 키 전달 방법.The method according to claim 1,
The secret key is added to the secure cookie or the sub-path cookie via the HTTPS page,
Wherein the HTTPS request is generated according to an HTTPS API call using a JavaScript Object Notation with Padding (JSONP) method in the HTTP page.
상기 시큐어 쿠키 또는 상기 서브패스 쿠키의 수신 이후, 또는 상기 응답메시지의 전송 이후에 상기 시큐어 쿠키 또는 상기 서브패스 쿠키가 상기 단말기에서 삭제되는 것을 특징으로 하는 키 전달 방법.The method according to claim 1,
Wherein the secure cookie or the sub-path cookie is deleted from the terminal after receiving the secure cookie or the sub-path cookie or after the transmission of the response message.
상기 웹 서버가, 상기 단말기로부터 서비스 요청, 타임스탬프 및 상기 타임스탬프로부터 상기 응답메시지를 통해 상기 단말기로 전송된 비밀키를 이용하여 생성된 제1 키드-해쉬 메시지 인증 코드(keyed-hash message authentication code, HMAC)를 수신하는 단계;
상기 웹 서버가, 고정 기억영역(persistent storage)으로부터 상기 단말기의 비밀키를 검색하고, 상기 검색된 비밀키를 이용하여 상기 타임스탬프로부터 제2 키드-해쉬 메시지 인증 코드를 생성하는 단계; 및
상기 웹 서버가, 상기 제1 키드-해쉬 메시지 인증 코드와 상기 제2 키드-해쉬 메시지 인증 코드를 비교하고, 상기 타임스탬프의 시각과 현재시각을 비교하여, 비교결과에 따라 상기 서비스 요청에 따른 웹 서비스를 제공하는 단계
를 더 포함하는 것을 특징으로 하는 키 전달 방법.The method according to claim 1,
The web server transmits a first keyed-hash message authentication code generated using a secret key transmitted from the terminal to the terminal through a service request, a time stamp, and the response message from the time stamp , HMAC);
The web server retrieving a secret key of the terminal from a persistent storage and generating a second Kid-Hash message authentication code from the timestamp using the retrieved secret key; And
The web server compares the first key-hash message authentication code with the second key-hash message authentication code, compares the time stamp with the current time, Steps to Provide Services
Further comprising the steps of:
상기 단말기가, HTTPS 페이지를 통해 로그인 정보를 웹 서버로 전송하는 단계;
상기 단말기가, 상기 HTTPS 페이지를 통해 상기 웹 서버로부터 로그인 세션 동안 사용하기 위한 비밀키를 수신하는 단계;
상기 단말기가, 상기 수신된 비밀키를 시큐어 쿠키 또는 서브패스 쿠키에 저장하는 단계;
상기 단말기가, HTTP 페이지를 통해 HTTPS 요청을 상기 웹 서버로 전송하는 단계; 및
상기 단말기가, 상기 웹 서버로부터 상기 HTTPS 요청에 대한 응답메시지를 수신하고, 상기 응답메시지에 포함된 상기 비밀키를 확인하는 단계
를 포함하고,
상기 웹 서버에서, 상기 HTTPS 요청에 따라 상기 시큐어 쿠키 또는 상기 서브패스 쿠키로부터 상기 비밀키가 추출되고, 상기 응답메시지에 추가되어 전송되는 것을 특징으로 하는 키 전달 방법.A key delivery method of a terminal, which is implemented by a computer,
Transmitting, by the terminal, login information to a web server via an HTTPS page;
The terminal receiving a secret key for use during a login session from the web server via the HTTPS page;
The terminal storing the received secret key in a secure cookie or a sub-pass cookie;
The terminal transmitting an HTTPS request to the web server via an HTTP page; And
The terminal receives a response message for the HTTPS request from the web server and confirms the secret key included in the response message
Lt; / RTI >
Wherein the secret key is extracted from the secure cookie or the sub-path cookie in response to the HTTPS request, and is added to the response message and transmitted.
상기 비밀키는, 상기 HTTPS 페이지를 통해 상기 시큐어 쿠키 또는 상기 서브패스 쿠키에 저장되고,
상기 HTTPS 요청은, 상기 HTTP 페이지에서 JSONP 방식을 이용한 HTTPS API 호출에 따라 발생하는 것을 특징으로 하는 키 전달 방법.6. The method of claim 5,
Wherein the secret key is stored in the secure cookie or the sub-path cookie via the HTTPS page,
Wherein the HTTPS request is generated according to an HTTPS API call using the JSONP method in the HTTP page.
상기 웹 서버에서 상기 시큐어 쿠키 또는 상기 서브패스 쿠키로부터 상기 비밀키가 추출된 이후, 또는 상기 응답메시지의 전송 이후에 상기 시큐어 쿠키 또는 상기 서브패스 쿠키가 상기 단말기에서 삭제되는 것을 특징으로 하는 키 전달 방법.6. The method of claim 5,
The secure cookie or the sub-path cookie is deleted from the terminal after the secret key is extracted from the secure cookie or the sub-path cookie in the web server or after the response message is transmitted. .
상기 단말기가, 상기 응답메시지를 통해 수신된 비밀키를 이용하여 타임스탬프로부터 제1 키드-해쉬 메시지 인증 코드를 생성하는 단계; 및
상기 단말기가, 상기 타임스탬프 및 상기 제1 키드-해쉬 메시지 인증 코드를 포함하는 서비스 요청을 상기 웹 서버로 전송하는 단계
를 더 포함하고,
상기 웹 서버에서, 상기 웹 서버의 고정 기억영역으로부터 검색된 비밀키를 이용하여 상기 타임스탬프로부터 제2 키드-해쉬 메시지 인증 코드가 생성되고, 상기 제1 키드-해쉬 메시지 인증 코드와 상기 제2 키드-해쉬 메시지 인증 코드가 비교되며, 상기 타임스탬프의 시각과 현재시각이 비교되어, 비교결과에 따라 상기 서비스 요청에 따른 웹 서비스가 제공되는 것을 특징으로 하는 키 전달 방법.6. The method of claim 5,
Generating a first key-hash message authentication code from a time stamp using the secret key received through the response message; And
The terminal transmits a service request including the time stamp and the first key-hash message authentication code to the web server
Further comprising:
Hash message authentication code is generated from the timestamp using a secret key retrieved from a fixed storage area of the web server, and the first and second key- The hash message authentication code is compared with the time stamp, and the time stamp is compared with the current time, and the web service according to the service request is provided according to the comparison result.
적어도 하나의 스토리지 유닛; 및
적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
단말기로부터의 로그인 요청에 따라 HTTPS를 통해 로그인 세션 동안 사용하기 위한 비밀키를 수신하도록 상기 웹 서버를 제어하는 과정;
HTTPS 페이지를 통해 상기 비밀키를 상기 단말기로 전송하도록 상기 웹 서버를 제어하는 과정;
HTTP 페이지에서의 HTTPS 요청에 따라 상기 비밀키가 추가된 시큐어 쿠키 또는 서브패스 쿠키를 상기 단말기로부터 수신하도록 상기 웹 서버를 제어하는 과정; 및
상기 시큐어 쿠키 또는 상기 서브패스 쿠키로부터 상기 비밀키를 추출하여 상기 적어도 하나의 스토리지 유닛에 저장하고, 상기 HTTPS 요청에 대한 응답메시지를 통해 상기 추출된 비밀키를 상기 단말기로 전송하도록 상기 웹 서버를 제어하는 과정
을 처리하는 것을 특징으로 하는 웹 서버.In a web server,
At least one storage unit; And
At least one processor
Lt; / RTI >
Wherein the at least one processor comprises:
Controlling the web server to receive a secret key for use during a login session via HTTPS according to a login request from the terminal;
Controlling the web server to transmit the secret key to the terminal through an HTTPS page;
Controlling the web server to receive a secure cookie or a sub-path cookie to which the secret key is added according to an HTTPS request in an HTTP page; And
Extracts the secret key from the secure cookie or the subpath cookie and stores the extracted secret key in the at least one storage unit and controls the web server to transmit the extracted secret key to the terminal through a response message to the HTTPS request Process
To the web server.
상기 비밀키는, 상기 HTTPS 페이지를 통해 상기 시큐어 쿠키 또는 상기 서브패스 쿠키에 추가되고,
상기 HTTPS 요청은, 상기 HTTP 페이지에서 JSONP 방식을 이용한 HTTPS API 호출에 따라 발생하는 것을 특징으로 하는 웹 서버.11. The method of claim 10,
The secret key is added to the secure cookie or the sub-path cookie via the HTTPS page,
Wherein the HTTPS request is generated according to an HTTPS API call using the JSONP method in the HTTP page.
상기 시큐어 쿠키 또는 상기 서브패스 쿠키의 수신 이후, 또는 상기 응답메시지의 전송 이후에 상기 시큐어 쿠키 또는 상기 서브패스 쿠키가 상기 단말기에서 삭제되는 것을 특징으로 하는 웹 서버.11. The method of claim 10,
Wherein the secure cookie or the sub-path cookie is deleted from the terminal after receiving the secure cookie or the sub-path cookie, or after transmitting the response message.
상기 적어도 하나의 프로세서는,
상기 단말기로부터 서비스 요청, 타임스탬프 및 상기 타임스탬프로부터 상기 응답메시지를 통해 상기 단말기로 전송된 비밀키를 이용하여 생성된 제1 키드-해쉬 메시지 인증 코드를 수신하도록 상기 웹 서버를 제어하는 과정;
상기 적어도 하나의 스토리지 유닛으로부터 상기 단말기의 비밀키를 검색하고, 상기 검색된 비밀키를 이용하여 상기 타임스탬프로부터 제2 키드-해쉬 메시지 인증 코드를 생성하도록 상기 웹 서버를 제어하는 과정; 및
상기 제1 키드-해쉬 메시지 인증 코드와 상기 제2 키드-해쉬 메시지 인증 코드를 비교하고, 상기 타임스탬프의 시각과 현재시각을 비교하여, 비교결과에 따라 상기 서비스 요청에 따른 웹 서비스를 제공하도록 상기 웹 서버를 제어하는 과정
을 더 처리하는 것을 특징으로 하는 웹 서버.11. The method of claim 10,
Wherein the at least one processor comprises:
Controlling the web server to receive a service request, a time stamp, and a first key-hash message authentication code generated from the time stamp using the secret key transmitted to the terminal through the response message;
Retrieving a secret key of the terminal from the at least one storage unit and using the retrieved secret key to generate a second Kid-Hash message authentication code from the timestamp; And
Hash message authentication code and the second key-hash message authentication code, compares the time stamp with the current time, and provides the web service according to the service request according to the result of the comparison The process of controlling the Web server
To the web server.
적어도 하나의 스토리지 유닛; 및
적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
HTTPS 페이지를 통해 로그인 정보를 웹 서버로 전송하도록 상기 단말기를 제어하는 과정;
상기 HTTPS 페이지를 통해 상기 웹 서버로부터 로그인 세션 동안 사용하기 위한 비밀키를 수신하도록 상기 단말기를 제어하는 과정;
상기 수신된 비밀키를 시큐어 쿠키 또는 서브패스 쿠키에 저장하도록 상기 단말기를 제어하는 과정;
HTTP 페이지를 통해 HTTPS 요청을 상기 웹 서버로 전송하도록 상기 단말기를 제어하는 과정; 및
상기 HTTPS 요청에 대한 응답메시지를 수신하고, 상기 응답메시지에 포함된 상기 비밀키를 확인하도록 상기 단말기를 제어하는 과정
을 처리하고,
상기 웹 서버에서, 상기 HTTPS 요청에 따라 상기 시큐어 쿠키 또는 상기 서브패스 쿠키로부터 상기 비밀키가 추출되고, 상기 응답메시지에 추가되어 전송되는 것을 특징으로 하는 단말기.In the terminal,
At least one storage unit; And
At least one processor
Lt; / RTI >
Wherein the at least one processor comprises:
Controlling the terminal to transmit login information to a web server through an HTTPS page;
Controlling the terminal to receive a secret key for use during a login session from the web server via the HTTPS page;
Controlling the terminal to store the received secret key in a secure cookie or a sub-pass cookie;
Controlling the terminal to transmit an HTTPS request to the web server through an HTTP page; And
Receiving a response message for the HTTPS request, and controlling the terminal to check the secret key included in the response message
Lt; / RTI >
Wherein the secret key is extracted from the secure cookie or the sub-path cookie according to the HTTPS request, and is added to the response message and transmitted.
상기 비밀키는, 상기 HTTPS 페이지를 통해 상기 시큐어 쿠키 또는 상기 서브패스 쿠키에 저장되고,
상기 HTTPS 요청은, 상기 HTTP 페이지에서 JSONP 방식을 이용한 HTTPS API 호출에 따라 발생하는 것을 특징으로 하는 단말기.15. The method of claim 14,
Wherein the secret key is stored in the secure cookie or the sub-path cookie via the HTTPS page,
Wherein the HTTPS request is generated according to an HTTPS API call using the JSONP method in the HTTP page.
상기 시큐어 쿠키 또는 상기 서브패스 쿠키의 수신 이후, 또는 상기 응답메시지의 전송 이후에 상기 시큐어 쿠키 또는 상기 서브패스 쿠키가 상기 단말기에서 삭제되는 것을 특징으로 하는 단말기.15. The method of claim 14,
Wherein the secure cookie or the sub-path cookie is deleted from the terminal after receiving the secure cookie or the sub-path cookie or after transmitting the response message.
상기 적어도 하나의 프로세서는,
상기 응답메시지를 통해 수신된 비밀키를 이용하여 타임스탬프로부터 제1 키드-해쉬 메시지 인증 코드를 생성하도록 상기 단말기를 제어하는 과정; 및
상기 타임스탬프 및 상기 제1 키드-해쉬 메시지 인증 코드를 포함하는 서비스 요청을 상기 웹 서버로 전송하도록 상기 단말기를 제어하는 과정
을 더 처리하고,
상기 웹 서버에서, 상기 웹 서버의 고정 기억영역으로부터 검색된 비밀키를 이용하여 상기 타임스탬프로부터 제2 키드-해쉬 메시지 인증 코드가 생성되고, 상기 제1 키드-해쉬 메시지 인증 코드와 상기 제2 키드-해쉬 메시지 인증 코드가 비교되며, 상기 타임스탬프의 시각과 현재시각이 비교되어, 비교결과에 따라 상기 서비스 요청에 따른 웹 서비스가 제공되는 것을 특징으로 하는 단말기.15. The method of claim 14,
Wherein the at least one processor comprises:
Controlling the terminal to generate a first key-hash message authentication code from the time stamp using the secret key received through the response message; And
Controlling the terminal to transmit a service request including the time stamp and the first key-hash message authentication code to the web server
Lt; RTI ID = 0.0 >
Hash message authentication code is generated from the timestamp using a secret key retrieved from a fixed storage area of the web server, and the first and second key- The hash message authentication codes are compared with each other, the time of the time stamp is compared with the current time, and the web service according to the service request is provided according to the comparison result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130090128A KR101492821B1 (en) | 2013-07-30 | 2013-07-30 | Method and system for transmitting key securely to hypertext transfer protocol page |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130090128A KR101492821B1 (en) | 2013-07-30 | 2013-07-30 | Method and system for transmitting key securely to hypertext transfer protocol page |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150014662A KR20150014662A (en) | 2015-02-09 |
KR101492821B1 true KR101492821B1 (en) | 2015-02-12 |
Family
ID=52571496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20130090128A KR101492821B1 (en) | 2013-07-30 | 2013-07-30 | Method and system for transmitting key securely to hypertext transfer protocol page |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101492821B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875296A (en) | 1997-01-28 | 1999-02-23 | International Business Machines Corporation | Distributed file system web server user authentication with cookies |
US6076069A (en) | 1998-09-25 | 2000-06-13 | Oneclip.Com, Incorporated | Method of and system for distributing and redeeming electronic coupons |
US20020099936A1 (en) | 2000-11-30 | 2002-07-25 | International Business Machines Corporation | Secure session management and authentication for web sites |
KR100969196B1 (en) | 2007-10-05 | 2010-07-09 | 인하대학교 산학협력단 | Secure user session managing method under web environment and recording medium recorded program executing it |
-
2013
- 2013-07-30 KR KR20130090128A patent/KR101492821B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875296A (en) | 1997-01-28 | 1999-02-23 | International Business Machines Corporation | Distributed file system web server user authentication with cookies |
US6076069A (en) | 1998-09-25 | 2000-06-13 | Oneclip.Com, Incorporated | Method of and system for distributing and redeeming electronic coupons |
US20020099936A1 (en) | 2000-11-30 | 2002-07-25 | International Business Machines Corporation | Secure session management and authentication for web sites |
KR100969196B1 (en) | 2007-10-05 | 2010-07-09 | 인하대학교 산학협력단 | Secure user session managing method under web environment and recording medium recorded program executing it |
Also Published As
Publication number | Publication date |
---|---|
KR20150014662A (en) | 2015-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6625211B2 (en) | Key exchange through partially trusted third parties | |
US8275984B2 (en) | TLS key and CGI session ID pairing | |
CN105027493B (en) | Safety moving application connection bus | |
US8745394B1 (en) | Methods and systems for secure electronic communication | |
CN104217173B (en) | A kind of data and file encrypting method for browser | |
US20180115534A1 (en) | Web form protection | |
CN108234519A (en) | Detect and prevent the man-in-the-middle attack on encryption connection | |
CN110933078B (en) | H5 unregistered user session tracking method | |
CN109413201A (en) | SSL traffic method, apparatus and storage medium | |
CN113141365B (en) | Distributed micro-service data transmission method, device, system and electronic equipment | |
CN109067739A (en) | Encryption of communicated data method and apparatus | |
US20130019092A1 (en) | System to Embed Enhanced Security / Privacy Functions Into a User Client | |
US11716374B2 (en) | Forced identification with automated post resubmission | |
CN115603932A (en) | Access control method, access control system and related equipment | |
CN109379345A (en) | Sensitive information transmission method and system | |
CN114584386B (en) | Global multistage encryption network communication method | |
CN107911344A (en) | A kind of safe docking calculation of cloud platform | |
CN112566121B (en) | Method for preventing attack, server and storage medium | |
WO2016188402A1 (en) | Network anti-phishing apparatus, method and system | |
KR102321934B1 (en) | Proxy server based on secure socket layer for improved security | |
KR101492821B1 (en) | Method and system for transmitting key securely to hypertext transfer protocol page | |
CN110995730B (en) | Data transmission method and device, proxy server and proxy server cluster | |
CN112565156B (en) | Information registration method, device and system | |
EP3511852B1 (en) | Method for providing an enhanced level of authentication related to a secure software client application that is provided, by an application distribution entity, in order to be transmitted to a client computing device; system, software client application instance or client computing device, third party server entity, and program and computer program product | |
JP2023532976A (en) | Method and system for verification of user identity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180105 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190102 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20200102 Year of fee payment: 6 |