KR100892609B1 - 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한컴퓨터 프로그램을 기록한 매체 - Google Patents

보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한컴퓨터 프로그램을 기록한 매체 Download PDF

Info

Publication number
KR100892609B1
KR100892609B1 KR1020070028229A KR20070028229A KR100892609B1 KR 100892609 B1 KR100892609 B1 KR 100892609B1 KR 1020070028229 A KR1020070028229 A KR 1020070028229A KR 20070028229 A KR20070028229 A KR 20070028229A KR 100892609 B1 KR100892609 B1 KR 100892609B1
Authority
KR
South Korea
Prior art keywords
identification information
web browser
request message
web server
web
Prior art date
Application number
KR1020070028229A
Other languages
English (en)
Other versions
KR20080086256A (ko
Inventor
박홍규
Original Assignee
주식회사 올앳
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 올앳 filed Critical 주식회사 올앳
Priority to KR1020070028229A priority Critical patent/KR100892609B1/ko
Priority to PCT/KR2007/002320 priority patent/WO2008114901A1/en
Priority to US12/532,028 priority patent/US20100100739A1/en
Publication of KR20080086256A publication Critical patent/KR20080086256A/ko
Application granted granted Critical
Publication of KR100892609B1 publication Critical patent/KR100892609B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 매체가 개시된다. 보안 통신 시스템은 식별 정보 추출부, 및 응답 메시지 전송부를 포함한다. 식별 정보 추출부는 웹 브라우저로부터 전송된 요청 메시지로부터 요청 메시지의 식별 정보를 추출하고, 응답 메시지 전송부는 식별 정보가 소정의 식별 기준을 만족하는 경우 요청 메시지에 대응하는 응답 메시지를 웹 브라우저로 전송한다. 접속된 웹 브라우저 중 미리 설정된 식별 기준을 만족하는 식별 정보를 전송하는 웹 브라우저에만 응답메시지를 전송하므로, 세션 키 정보가 유출되는 경우에도 HTTP 통신의 보안이 유지될 수 있게 된다.
보안, 통신, HTTP, 웹, 브라우저, 서버

Description

보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 프로그램을 기록한 매체{System and method for secure communication, and a medium having computer readable program executing the method}
도 1은 HTTP에서의 일반적인 데이터의 흐름을 도시한 개략적인 도면.
도 2는 웹 브라우저와 웹 서버가 쿠키를 이용하여 통신하는 구성이 도시된 개략적인 도면.
도 3은 본 발명에 따른 보안 통신 시스템의 일 실시예의 사용 상태를 도시한 개략적인 블록도.
도 4는 본 발명에 따른 보안 통신 시스템의 일 태양의 실시예를 도시한 개략적인 블록도.
도 5는 본 발명에 따른 보안 통신 시스템의 다른 일 태양의 실시예를 도시한 개략적인 블록도.
도 6은 본 발명에 따른 보안 통신 방법의 일 실시예의 프로세스 다이어그램.
본 발명은 보안 통신 방법에 관한 것으로서, 더욱 상세하게는 HTTP 통신에서 의 보안 통신 방법에 관한 것이다.
HTTP(hypertext transfer protocol)은 인터넷에서, 웹서버와 사용자의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약을 말하는 것으로, 인터넷에서 하이퍼텍스트(hypertext) 문서를 교환하기 위하여 사용되는 통신 규약이다.
하이퍼텍스트는 문서 중간 중간에 특정 키워드를 두고 문자나 그림을 상호 유기적으로 결합하여 연결시킴으로써, 서로 다른 문자라 할지라도 하나의 문서인 것처럼 보이면서 참조하기 쉽도록 하는 방식을 의미한다.
도 1은 HTTP에서의 일반적인 데이터의 흐름을 도시한 개략적인 도면이다.
일반적으로 인터넷 사용자가 웹사이트(web site) 방문 시 1 내지 4의 과정이 여러 번 반복된다.
도 1에서 리퀘스트(Request)와 리스판스(Response)는 모두 헤더(Header)와 바디(body)로 구성되어 있다. 리퀘스트의 헤더에는 요청 서비스, 부가 정보 및 바디 관련 추가 정보로 구성되고, 바디는 웹상에서 입력한 데이터 등으로 구성된다. 바디는 없을 수도 있다.
리스판스의 헤더에는 응답 코드, 본체 정보, 부가 정보, 및 웹 브라우저에 특정 동작(action)을 요구하는 정보로 구성되고, 바디는 웹 브라우저에 표현될 데이터로 구성된다.
HTTP 자체는 세션 기능을 제공하지 않기 때문에 쿠키(cookie) 등을 이용해서 가상의 세션 기능을 구현한다. 쿠키는 웹 브라우저에 저장되어 있는 정보이며, 요 청을 보낼 때 헤더 부분에 추가되는 부가 정보이다.
도 2는 웹 브라우저와 웹 서버가 쿠키를 이용하여 통신하는 구성이 도시된 개략적인 도면이다.
도 2에서 웹 서버는 리스판스의 헤더 부분에 특정 정보를 추가하여 웹 브라우저로 하여금 쿠키를 관리하도록 한다. 웹 서버는 여러 브라우저의 요청을 동시에 받아서 처리하며, 각 브라우저를 구분하기 위하여 세션(session) 기능을 별도로 구현한다. 현재 가장 보편적으로 사용되는 세션 기능은 쿠키와 서버상의 기억 장소를 이용하여 구현되어 있다.
웹 브라우저가 웹 서버에 접속하거나 로그인할 때 웹 서버는 응답의 헤더에 "Set-Cookie:"라는 부가 정보에 세션 키(session key)를 내려준다. 웹 브라우저는 웹 서버에서 받은 Set-Cookie 헤더에 의해서 세션키를 브라우저 내에 저장하고, 이후 요청부터는 헤더의 부가정보 "Cookie:"에 세션 키를 추가해서 요청을 보낸다.
웹 서버는 웹 브라우저의 요청의 쿠키 부분에서 세션 키를 추출하여 세션 테이블에서 해당 세션 정보를 찾는다. 웹 서버는 세션에 로그인 정보 및 사용자 정보 등 다양한 정보를 저장할 수 있다.
세션은 웹 서버 내에 저장되어 있는 정보이며, 웹 브라우저에는 해당 세션과 대응되는 세션 키를 가진다. 웹 브라우저는 리퀘스트의 특정 부분(일반적으로 쿠키)에 세션 키를 포함시켜 웹 서버가 해당 세션을 찾을 수 있도록 한다.
그런데 문제는 리퀘스트의 세션 키 정보가 유출되어 도용될 경우 웹 서버가 해당 세션 키의 도용을 감지하기 어렵다는 점이다. 이미 형성된 세션에 대한 키를 다른 웹 브라우저에서 복사하여 사용할 경우에도 웹 서버는 기존의 세션 정보를 이용하여 응답을 내려 주기 때문이다.
본 발명은 상술한 종래의 문제점을 해결하기 위해 안출된 것으로서, 세션 키 정보가 유출되는 경우에도 HTTP 통신의 보안이 유지될 수 있도록 해주는 통신 시스템 및 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해 본 발명의 제 1 태양에 따른 보안 통신 시스템은 식별 정보 추출부, 및 응답 메시지 전송부를 포함한다. 식별 정보 추출부는 웹 브라우저로부터 전송된 요청 메시지로부터 요청 메시지의 식별 정보를 추출하고, 응답 메시지 전송부는 웹 브라우저 식별 정보가 소정의 식별 기준을 만족하는 경우 요청 메시지에 대응하는 응답 메시지를 웹 브라우저로 전송한다.
접속된 웹 브라우저 중 미리 설정된 식별 기준을 만족하는 식별 정보를 전송하는 웹 브라우저에만 응답메시지를 전송하므로, 세션 키 정보가 유출되는 경우에도 HTTP 통신의 보안이 유지될 수 있게 된다.
식별 정보 추출부는 요청 메시지로부터 식별 정보의 암호화 값을 추출하는 암호화 값 추출부, 및 추출된 암호화 값을 복호화하는 복호화부를 포함할 수 있다. 이와 같이, 식별 정보를 암호화하여 전달함으로써, 식별 정보의 오용을 방지할 수 있게 된다.
복호화는 웹 브라우저로부터 전송된 암호화 키를 이용하여 수행할 수 있고, 암호화 키는 웹 서버의 공개키로 암호화될 수 있다. 이러한 구성은 웹 브라우저와 웹 서버 사이의 통신의 보안을 더욱 확실하게 수행할 수 있도록 해 준다.
또한, 보안 통신 시스템은 웹 브라우저의 요청 메시지에 식별 정보를 포함시키는 컴퓨터 프로그램을 웹 브라우저가 실행되는 통신 단말로 전송하는 프로그램 전송부를 더 포함할 수 있다. 이러한 구성은 통신에 대한 전문 지식이 없는 사용자가 용이하게 보안 통신을 이용할 수 있도록 해준다.
또한, 보안 통신 시스템은 웹 브라우저로부터 전송된 요청 메시지의 암호화된 바디 내용을 복호화하는 요청 메시지 바디 복호화부를 더 포함할 수 있으며, 또는 웹 브라우저로 전송되는 응답 메시지의 바디 내용을 암호화하는 응답 메시지 바디 암호화부를 더 포함할 수 있다. 이러한 구성은 각각 웹 브라우저와 웹 서버 사이에서 전송되는 요청 메시지, 및 응답 메시지의 바디 내용의 보안까지 가능하도록 해준다.
또한, 본 발명의 제 2 태양에 따른 보안 통신 시스템은 식별 정보 생성부, 및 식별 정보 삽입부를 포함한다. 식별 정보 생성부는 웹 브라우저가 웹 서버에 접속하는 경우 요청 메시지의 식별 정보를 생성하고, 식별 정보 삽입부는 웹 브라우저가 웹 서버로 전송하는 요청 메시지에 식별 정보를 삽입한다.
접속된 웹 서버에 웹 브라우저의 식별 정보를 전송함으로써 웹 서버가 미리 설정된 기준을 만족시키는 식별 정보의 웹 브라우저에만 응답메시지를 전송하므로, 세션 키 정보가 유출되는 경우에도 HTTP 통신의 보안이 유지될 수 있게 된다.
아울러, 상기 시스템을 방법의 형태로 구현한 발명, 및 상기 방법을 실행시 키기 위한 컴퓨터 판독 가능한 기록 매체가 개시된다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 3은 본 발명에 따른 보안 통신 시스템의 일 실시예의 사용 상태를 도시한 개략적인 블록도이다.
도 3에서 웹서버(100)와 웹 브라우저(300)는 중계 프로그램(200)을 경유하여 보안 통신을 수행하는 것을 확인할 수 있다.
중계 프로그램(200)은 웹 브라우저와 웹 서버간에 통신이 이루어질 때, 그 중간에 위치하여 필요한 정보를 삽입하거나 검증하는 프로그램으로 사용자 단말의 웹 브라우저에 추가되는 형태 또는 웹 브라우저와는 별도인 독립프로그램의 형태로 구현될 수 있다.
중계 프로그램(200)은 추가적인 프로그램의 개발 없이 즉시 삽입하여 브라우저와 서버간의 통신에 개입할 수 있다.
중계 프로그램(200)은 브라우저의 리퀘스트에 인증 정보를 삽입하여 서버로 전송하고, 서버로부터 응답에 대한 검증 및 결과 분석을 처리하여 브라우저로 재전송할 수 있다.
또한, 브라우저의 리퀘스트에 대한 바디의 암호화 처리 추가, 및 서버의 리스판스에 대한 복호화 처리 추가가 가능하다.
도 4는 본 발명에 따른 보안 통신 시스템의 일 태양의 실시예를 도시한 개략적인 블록도이다.
도 4의 보안 통신 시스템(100)은 웹 서버로 구현할 수 있으며, 식별 정보 추 출부(110), 응답 메시지 전송부(120), 프로그램 전송부(130), 요청 메시지 바디 복호화부(140), 및 응답 메시지 바디 암호화부(150)를 포함하고, 식별 정보 추출부(110)는 다시 암호화 값 추출부(112), 및 복호화부(114)를 포함한다.
식별 정보 추출부(110)는 웹 브라우저로부터 전송된 요청 메시지로부터 요청 메시지의 식별 정보를 추출한다.
이때, 암호화 값 추출부(112)는 요청 메시지로부터 식별 정보의 암호화 값을 추출한다. 이와 같이, 식별 정보를 암호화하여 전달함으로써, 식별 정보의 오용을 방지할 수 있게 된다.
복호화부(114)는 추출된 암호화 값을 복호화한다. 복호화는 웹 브라우저로부터 전송된 암호화 키를 이용하여 수행한다. 이때, 암호화 키는 웹 서버의 공개키로 암호화될 수 있다. 이러한 구성은 웹 브라우저와 웹 서버 사이의 통신의 보안을 더욱 확실하게 수행할 수 있도록 해 준다.
응답 메시지 전송부(120)는 웹 브라우저 식별 정보가 소정의 식별 기준을 만족하는 경우 요청 메시지에 대응하는 응답 메시지를 웹 브라우저로 전송한다.
소정의 식별 기준은 시스템(100)과 웹 브라우저 사이에 미리 설정된 기준으로 웹 브라우저로부터 미리 전송될 수 있다.
접속된 웹 브라우저 중 미리 설정된 식별 기준을 만족하는 식별 정보를 전송하는 웹 브라우저에만 응답메시지를 전송하므로, 세션 키 정보가 유출되는 경우에도 HTTP 통신의 보안이 유지될 수 있게 된다.
본 발명은 OTR(One Time Request)의 개념을 제시한다. OTR이란 한번 사용된 정보를 다시 사용하지 못하게 하는 기능을 지칭하는 것으로, 브라우저가 서버로 한번 요청하여 처리한 리퀘스트에 대해서는 다시 요청하게 되더라도 그에 대해서는 웹 서버가 처리해 주지 않는 기능을 포괄적으로 지칭한다.
따라서, 본 발명에 의하면, 동일한 웹 브라우저로부터 동일한 요청 메시지가 반복하여 전송되는 경우에도 응답 메시지를 반복하여 전송하지 않을 수 있게 된다.
프로그램 전송부(130)는 웹 브라우저의 요청 메시지에 식별 정보를 포함시키는 컴퓨터 프로그램을 웹 브라우저가 실행되는 통신 단말로 전송한다. 이러한 구성은 통신에 대한 전문 지식이 없는 사용자가 용이하게 보안 통신을 이용할 수 있도록 해준다.
요청 메시지 바디 복호화부(140)는 웹 브라우저로부터 전송된 요청 메시지의 암호화된 바디 내용을 복호화하고, 응답 메시지 바디 암호화부(150)는 웹 브라우저로 전송되는 응답 메시지의 바디 내용을 암호화한다.
웹의 기본적인 통신 규약은 HTTP인데, 이 규약에는 암/복호화 관련한 규정이 빠져있기 때문에 보안에 취약하다. 이러한 점을 보완하기 위하여 HTTPS(Secure) 규약이 제정되었으며, 이를 통하여 보안을 강화할 수 있게 된다. 즉, HTTP에 보안기능을 추가한 것이 HTTPS로 보면 된다.
HTTPS를 사용하기 위해서는 서버용 인증서 발급 기관에서 발급을 받아 이를 웹 서버에 설치하여야 한다. 이 경우 매년 단위 발급 비용이 발생되기 때문에 일반적인 웹 서버를 운영하는 소규모 상점에서는 비용 문제뿐만 아니라 서버용 인증서를 설치하고 관리하는 부담으로 인해서 사실상 도입되지 않고 있는 실정이다.
본원 발명에서와 같이 중계 프로그램의 암호화 기능을 사용하는 경우, HTTP 하에서도 보안을 HTTPS수준으로 처리할 수 있게 된다. 이렇게 함으로써 설치 부담이 줄어듦에도 불구하고 보안수준은 HTTPS수준을 달성할 수 있게 된다.
또한, 종래에는 인증 기간이 년 단위로 제한되고, 보안 레벨도 서버 인증서에서 지정된 보안 레벨만을 사용할 수 있으나, 본 발명의 중계 프로그램을 사용하는 경우는 필요에 의해 좀더 높은 수준의 보안 레벨을 즉시 적용할 수 있게 된다. 또한, 인증 기간도 임의로 조절할 수 있게 된다.
HTTPS의 경우는 사용자에 대한 확인보다는 웹 서버에 대한 인증과 상호 주고받는 데이터의 보안에 집중되어 있기 때문에 사용자에 대한 인증이 부족하다. 즉, 기존의 HTTPS는 단방향 인증이다.
그러나 본 발명의 중계 프로그램에서는 추가적으로 사용자의 공인 인증서를 이용한 사용자 인증 프로세스를 추가함으로써 양방향 인증이 가능하도록 하여 보안 수준을 높일 수 있게 된다.
도 5는 본 발명에 따른 보안 통신 시스템의 다른 일 태양의 실시예를 도시한 개략적인 블록도이다.
도 5에서 보안 통신 시스템(200)은 중계 프로그램으로 구현할 수 있으며, 식별 정보 생성부(210), 및 식별 정보 삽입부(220), 암호화키 전송부(230), 요청 메시지 바디 암호화부(240), 및 응답 메시지 바디 복호화부(250)를 포함한다.
식별 정보 생성부(210)는 웹 브라우저가 웹 서버에 접속하는 경우 웹 브라우저의 식별 정보를 생성하고, 식별 정보 삽입부(220)는 웹 브라우저가 웹 서버로 전 송하는 요청 메시지에 식별 정보를 삽입한다. 이때 식별 정보는 암호화하여 삽입한다.
접속된 웹 서버에 웹 브라우저의 식별 정보를 전송함으로써 웹 서버가 미리 설정된 기준을 만족시키는 식별 정보의 웹 브라우저에만 응답메시지를 전송하므로, 세션 키 정보가 유출되는 경우에도 HTTP 통신의 보안이 유지될 수 있게 된다.
암호화 키 전송부(230)는 암호화된 식별 정보를 복호화하기 위한 암호화 키를 웹 서버로 전송한다. 이때, 암호화 키는 웹서버의 공개키로 암호화한다.
보안 시스템(200)은 컴퓨터 프로그램으로 구현되고, 컴퓨터 프로그램은 웹 서버로부터 전송될 수 있다.
요청 메시지 바디 암호화부(240)는 웹 서버로 전송되는 요청 메시지의 바디 내용을 암호화하고, 응답 메시지 바디 복호화부(250)는 웹 서버로부터 전송된 응답 메시지의 암호화된 바디 내용을 복호화한다.
세션 키 정보의 유출로 인한 통신의 보안 위험을 방지하기 위한 방안으로는 다른 방법도 고려할 수도 있다.
첫 번째가 세션 키 정보 유출을 방지하는 방법이다. 이 방법은 보안이 강화된 대부분의 사이트에서 사용할 수 있는 방법이다. 히든 쿠키(hidden cookie) 등을 사용하여 세션 키를 조회하기 어렵게 하거나, 메일이나 게시물, 블로그 등에서 세션 정보 유출을 어렵게 만드는 방법 등이 사용될 수 있다.
그러나 세션키 정보에 대한 유출을 어렵게 만드는 방법은 문제를 해결하는 근본적인 방법이 될 수 없다. 세션키 정보의 유출을 불가능하게 하는 방법이 아니 므로 약간의 기술을 이용하면 정보 유출이 가능하기 때문이다.
두 번째 방법으로는 세션에 웹 브라우저가 실행되는 컴퓨터의 IP를 저장하여, 리퀘스트를 요청하는 컴퓨터가 동일 컴퓨터인가를 검사하는 방법을 고려할 수 있다.
그러나 IP를 검사하는 방법에도 상당 부분 취약점 및 제약 조건이 존재한다. 대기업 등과 같이 NAT 장비를 사용하여 IP가 동적으로 바뀌는 환경에서는 세션 유지가 불가능하다. IP를 속이는 기술(IP Spoofing)을 이용하면 리퀘스트를 보내서 웹 서버가 특정 액션을 취할 수 있도록 할 수 있기 때문이다.
본 발명에서 제안하는 방법은 리퀘스트를 하나만 사용할 수 있도록 하여 재사용을 불가능하게 만드는 방법이다. 리퀘스트 자체를 일회 사용 형태로 만들어서 세션키가 유출되더라도 재사용 못하도록 하는 방식이므로 세션 정보 유출에 따른 문제점을 근본적으로 해결할 수 있다.
HTTP 상에서 웹 브라우저(client)가 요청하는 리퀘스트에 해당 브라우저만의 특유한 정보를 추가함으로써, 웹 서버(server)로 하여금 리퀘스트를 요청하는 웹 브라우저를 인지/인증/구분하고, 해당 리퀘스트에 대한 사용 여부를 판단할 수 있도록 한다.
웹 브라우저는 해당 웹 서버로 요청하는 모든 리퀘스트마다 자신만이 생성할 수 있는 특유한 정보를 리퀘스트 헤더에 추가한다. 웹 서버는 수신된 리퀘스트의 헤더에서 해당 브라우저의 특유한 정보를 추출하여 유효성 및 사용 여부를 판단한다.
도 6은 본 발명에 따른 보안 통신 방법의 일 실시예의 프로세스 다이어그램이다.
도 6의 2.0)에서 플러그인(Plug-in)은 시퀀스(Sequence) 정보를 암호화할 키를 무작위로 생성한 후 웹서버의 공개키로 암호화하여 웹 서버로 전송한다. 2.3)에서 웹 서버는 수신한 키 정보를 개인키로 복호화해서 세션(session) 영역에 암호화키를 저장한다.
3.0)에서 플러그인은 시퀀스 정보를 생성된 키로 암호화해서 리퀘스트에 추가한다. 3. 2)에서 웹 서버는 암호화된 시퀀스 정보를 세션에 저장되어 있는 암호키로 복호화하고, 정보의 유효성 검사 및 사용 여부를 판단한다.
사용되는 암호키는 웹서버의 공개키, 웹서버의 개인키, 시퀀스 암호화용 키로 모두 3가지이며, 시퀀스 암호화용 키는 무작위로 생성된다. 시퀀스 암호화용 키는 웹 브라우저와 웹 서버가 서로 공유하며, 둘만이 알아야 된다. 시퀀스 암호화용 키는 웹서버의 공개키와 개인키로 암/복호화함으로써 공유가 가능하다.
도 3과 도 6을 비교하면, 도 6에서는 웹 서버와 웹 브라우저 사이의 보안 통신을 웹 브라우저에 종속적으로 동작하는 플러그인 프로그램이 수행하고 있지만, 도 3에서는 웹 브라우저와는 독립적으로 동작하는 중계 프로그램이 웹 브라우저와 웹 서버 사이의 보안 통신을 수행한다.
구체적인 프로세스 흐름(Process Flow)은 다음과 같다.
1. 초기화(Initialize)
웹 브라우저가 해당 웹 서버에 처음 접속하면 플러그인 모듈이 작동된다. 플 러그인은 작동과 동시에 리퀘스트별로 할당할 시퀀스 번호를 초기화한다.
2. 협상(Negotiation)
플러그인은 시작시점에 무작위로 시드(seed) 암호화키를 생성하고, 이 키를 해당 웹서버의 공개키로 암호화(RSA)하여 웹 서버로 전송한다. 웹 서버는 암호화된 시드키를 개인키로 복호화하여 세션 등의 영역에 저장한다. 서버 및 플러그인은 필요한 경우 새로운 협상을 요청할 수 있으나 이전 협상 정보를 필요로 한다.
3. 리퀘스트 전송(Send Request)
웹 브라우저에 탑재된 플러그인은 해당 웹 서버로 리퀘스트를 보낼 때마다 시퀀스 번호를 증가시킨다. 웹 브라우저는 시퀀스 번호와 랜덤 값 그리고 이들의 해쉬(HASH; SHA) 값을 시드로 암호화하여 리퀘스트의 헤더에 추가한다.
4. 리퀘스트 인증(Verify Request)
웹 서버는 리퀘스트의 헤더에서 암호화된 값을 추출한다. 세션에 저장된 시드키를 이용하여 암호화된 값을 복호화한다. 복호화된 데이터에서 해쉬 체크(Hash Check)를 통하여 리퀘스트의 유효성을 검사하고, 포함된 시퀀스 번호를 검사하여 사용 여부를 판단한다. 서버는 사용된 시퀀스 번호를 적당한 방법으로 관리하여 재사용 여부를 알 수 있도록 한다.
5. 종료(Finalize)
세션이 종료될 경우 웹 브라우저의 플러그인 모듈의 작동은 중단되며, 웹 서버는 세션에 저장된 협상 정보와 시퀀스 정보를 폐기한다.
본 발명은 웹서버와 웹 브라우저 간의 맺어진 세션 상에서 주고받은 데이터의 유효성 및 유일성을 보장한다.
또한, 세션 정보가 유출되어도 암호화 키값과 세션 번호를 알지 못하므로 세션을 가로채거나 끼어들기가 불가능하다.
또한, 이미 사용된 리퀘스트를 이용한 재요청 시도를 거부하며, 임의로 리퀘스트를 만들 수 없도록 하여 서버와 클라이언트 간의 통신 보안을 강화한다.
본 발명이 비록 일부 바람직한 실시예에 의해 설명되었지만, 본 발명의 범위는 이에 의해 제한되어서는 아니 되고, 특허청구범위에 의해 뒷받침되는 상기 실시예의 변형이나 개량에도 미쳐야 할 것이다.

Claims (29)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 웹 브라우저로부터 전송된 요청 메시지로부터 상기 웹 브라우저의 각 요청 메시지가 서로 구별되도록 설정된 요청 메시지의 식별 정보를 추출하는 식별 정보 추출부; 및
    상기 식별 정보가 소정의 식별 기준을 만족하는 경우 상기 요청 메시지에 대응하는 응답 메시지를 상기 웹 브라우저로 전송하는 응답 메시지 전송부를 포함하는 보안 통신 시스템으로서,
    상기 식별 정보 추출부는 상기 요청 메시지로부터 식별 정보의 암호화 값을 추출하는 암호화 값 추출부, 및 상기 추출된 암호화 값을 복호화하는 복호화부를 포함하고,
    상기 복호화는 상기 웹 브라우저로부터 전송된 암호화 키를 이용하여 수행하고,
    상기 암호화 키는 상기 웹 서버의 공개키로 암호화되며,
    상기 웹 브라우저의 요청 메시지에 상기 식별 정보를 포함시키는 컴퓨터 프로그램을 상기 웹 브라우저가 실행되는 통신 단말로 전송하는 프로그램 전송부를 더 포함하는 것을 특징으로 하는 보안 통신 시스템.
  6. 제 5항에 있어서,
    상기 웹 브라우저로부터 전송된 요청 메시지의 암호화된 바디 내용을 복호화하는 요청 메시지 바디 복호화부를 더 포함하는 것을 특징으로 하는 보안 통신 시스템.
  7. 제 5항에 있어서,
    상기 웹 브라우저로 전송되는 응답 메시지의 바디 내용을 암호화하는 응답 메시지 바디 암호화부를 더 포함하는 것을 특징으로 하는 보안 통신 시스템.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 웹 브라우저가 웹 서버에 접속하는 경우 상기 웹 브라우저의 각 요청 메시지가 서로 구별되도록 설정된 요청 메시지의 식별 정보를 생성하는 식별 정보 생성부; 및
    상기 웹 브라우저가 상기 웹 서버로 전송하는 요청 메시지에 상기 식별 정보를 포함시키는 식별 정보 삽입부를 포함하는 보안 통신 시스템으로서,
    상기 식별 정보 삽입부는 상기 식별 정보를 암호화하여 삽입하고,
    상기 암호화된 식별 정보를 복호화하기 위한 암호화키를 상기 웹 서버로 전송하는 암호화 키 전송부를 더 포함하고,
    상기 암호화 키는 상기 웹서버의 공개키로 암호화되며,
    상기 보안 시스템은 컴퓨터 프로그램으로 구현되고, 상기 컴퓨터 프로그램은 상기 웹 서버로부터 전송되는 것을 특징으로 하는 보안 통신 시스템.
  13. 제 12항에 있어서,
    상기 웹 서버로 전송되는 요청 메시지의 바디 내용을 암호화하는 요청 메시 지 바디 암호화부를 더 포함하는 것을 특징으로 하는 보안 통신 시스템.
  14. 제 12항에 있어서,
    상기 웹 서버로부터 전송된 응답 메시지의 암호화된 바디 내용을 복호화하는 응답 메시지 바디 복호화부를 더 포함하는 것을 특징으로 하는 보안 통신 시스템.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 웹 서버가 웹 브라우저로부터 전송된 요청 메시지로부터 상기 웹 브라우저의 각 요청 메시지가 서로 구별되도록 설정된 요청 메시지의 식별 정보를 추출하는 식별 정보 추출 단계; 및
    상기 웹 브라우저 식별 정보가 소정의 식별 기준을 만족하는 경우 상기 요청 메시지에 대응하는 응답 메시지를 상기 웹 브라우저로 전송하는 응답 메시지 전송 단계를 포함하는 보안 통신 방법으로서,
    상기 식별 정보 추출 단계는 상기 요청 메시지로부터 식별 정보의 암호화 값을 추출하는 단계, 및 상기 추출된 암호화 값을 복호화하는 단계를 포함하고,
    상기 복호화는 상기 웹 브라우저로부터 전송된 암호화 키를 이용하여 수행하고,
    상기 암호화 키는 상기 웹 서버의 공개키로 암호화되며,
    상기 웹 브라우저의 요청 메시지에 상기 식별 정보를 삽입하는 컴퓨터 프로그램을 상기 웹 브라우저가 실행되는 통신 단말로 전송하는 단계를 더 포함하는 것을 특징으로 하는 보안 통신 방법.
  20. 제 19항에 있어서,
    상기 웹 브라우저로부터 전송된 요청 메시지의 암호화된 바디 내용을 복호화하는 단계를 더 포함하는 것을 특징으로 하는 보안 통신 방법.
  21. 제 19항에 있어서,
    상기 웹 브라우저로 전송되는 응답 메시지의 바디 내용을 암호화하는 응답 메시지 바디 암호화부를 더 포함하는 것을 특징으로 하는 보안 통신 방법.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 웹 브라우저가 실행되는 통신 단말 상의 컴퓨터 프로그램이 상기 웹 브라우저가 웹 서버에 접속하는 경우 상기 웹 브라우저의 각 요청 메시지가 서로 구별되도록 설정된 요청 메시지의 식별 정보를 생성하는 식별 정보 생성 단계; 및
    상기 컴퓨터 프로그램이 상기 웹 브라우저가 상기 웹 서버로 전송하는 요청 메시지에 상기 식별 정보를 포함시키는 식별 정보 포함 단계를 포함하는 보안 통신 방법으로서,
    상기 식별 정보 포함 단계는 상기 식별 정보를 암호화하여 포함시키고,
    상기 웹 브라우저는 상기 암호화된 식별 정보를 복호화하기 위한 암호화키를 상기 웹 서버로 전송하고,
    상기 암호화 키는 상기 웹서버의 공개키로 암호화되며,
    상기 컴퓨터 프로그램은 상기 웹 서버로부터 전송되는 것을 특징으로 하는 보안 통신 방법.
  27. 제 26항에 있어서,
    상기 웹 서버로 전송되는 요청 메시지의 바디 내용을 암호화하는 단계를 더 포함하는 것을 특징으로 하는 보안 통신 방법.
  28. 제 26항에 있어서,
    상기 웹 서버로부터 전송된 응답 메시지의 암호화된 바디 내용을 복호화하는 단계를 더 포함하는 것을 특징으로 하는 보안 통신 방법.
  29. 제 19, 20, 21, 26, 27, 28항 중 어느 하나의 방법을 실행하기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체.
KR1020070028229A 2007-03-22 2007-03-22 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한컴퓨터 프로그램을 기록한 매체 KR100892609B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070028229A KR100892609B1 (ko) 2007-03-22 2007-03-22 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한컴퓨터 프로그램을 기록한 매체
PCT/KR2007/002320 WO2008114901A1 (en) 2007-03-22 2007-05-10 System and method for secure communication, and a medium having computer readable program executing the method
US12/532,028 US20100100739A1 (en) 2007-03-22 2007-05-10 System and method for secure communication, and a medium having computer readable program executing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070028229A KR100892609B1 (ko) 2007-03-22 2007-03-22 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한컴퓨터 프로그램을 기록한 매체

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020090013568A Division KR101101190B1 (ko) 2009-02-18 2009-02-18 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 프로그램을 기록한 매체

Publications (2)

Publication Number Publication Date
KR20080086256A KR20080086256A (ko) 2008-09-25
KR100892609B1 true KR100892609B1 (ko) 2009-04-09

Family

ID=39765997

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070028229A KR100892609B1 (ko) 2007-03-22 2007-03-22 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한컴퓨터 프로그램을 기록한 매체

Country Status (3)

Country Link
US (1) US20100100739A1 (ko)
KR (1) KR100892609B1 (ko)
WO (1) WO2008114901A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101800734B (zh) * 2009-02-09 2013-10-09 华为技术有限公司 一种会话信息交互方法、装置及系统
CN101895878A (zh) * 2010-07-02 2010-11-24 武汉大学 基于动态密码配置的移动通信方法及系统
KR101020470B1 (ko) * 2010-09-29 2011-03-08 주식회사 엔피코어 네트워크 침입차단 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020024062A (ko) * 2001-05-30 2002-03-29 이동향 정보 암호화 방법
JP2004199307A (ja) 2002-12-18 2004-07-15 Nec Corp セッション識別子管理装置及びセッション識別子管理方法並びにプログラム
WO2005020085A1 (en) 2003-08-13 2005-03-03 Microsoft Corporation Routing hints
JP2006128751A (ja) 2004-10-26 2006-05-18 Hitachi Ltd データ通信方法およびシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105012A (en) * 1997-04-22 2000-08-15 Sun Microsystems, Inc. Security system and method for financial institution server and client web browser
US6223287B1 (en) * 1998-07-24 2001-04-24 International Business Machines Corporation Method for establishing a secured communication channel over the internet
US7117366B2 (en) * 2002-01-08 2006-10-03 International Business Machines Corporation Public key based authentication method for transaction delegation in service-based computing environments
US20050010764A1 (en) * 2003-06-26 2005-01-13 International Business Machines Corporation System and method for securely transmitting, and improving the transmission of, tag based protocol files containing proprietary information
EP1661073A2 (en) * 2003-06-30 2006-05-31 PAYM8 (Proprietary) Limited A method of and system for authenticating a transaction initiated from a non-internet enabled device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020024062A (ko) * 2001-05-30 2002-03-29 이동향 정보 암호화 방법
JP2004199307A (ja) 2002-12-18 2004-07-15 Nec Corp セッション識別子管理装置及びセッション識別子管理方法並びにプログラム
WO2005020085A1 (en) 2003-08-13 2005-03-03 Microsoft Corporation Routing hints
JP2006128751A (ja) 2004-10-26 2006-05-18 Hitachi Ltd データ通信方法およびシステム

Also Published As

Publication number Publication date
WO2008114901A1 (en) 2008-09-25
US20100100739A1 (en) 2010-04-22
KR20080086256A (ko) 2008-09-25

Similar Documents

Publication Publication Date Title
US8185942B2 (en) Client-server opaque token passing apparatus and method
EP2115654B1 (en) Simplified management of authentication credentials for unattended applications
CN102099810B (zh) 移动设备辅助的安全计算机网络通信
US8356333B2 (en) System and method for verifying networked sites
CN102217277B (zh) 基于令牌进行认证的方法和系统
US7231526B2 (en) System and method for validating a network session
US20080240447A1 (en) System and method for user authentication with exposed and hidden keys
US20080022085A1 (en) Server-client computer network system for carrying out cryptographic operations, and method of carrying out cryptographic operations in such a computer network system
JP2009529832A (ja) 発見不可能、即ち、ブラック・データを使用するセキュアなデータ通信
TW200402981A (en) Methods for remotely changing a communications password
JP5452192B2 (ja) アクセス制御システム、アクセス制御方法およびプログラム
DK2414983T3 (en) Secure computer system
CN111464532A (zh) 信息加密方法及系统
CN113395282A (zh) 一种阻止第三方访问服务端资源的方法及系统
CN116743470A (zh) 业务数据加密处理方法及装置
US20060031680A1 (en) System and method for controlling access to a computerized entity
US20090319778A1 (en) User authentication system and method without password
KR100892609B1 (ko) 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한컴퓨터 프로그램을 기록한 매체
JP2009033402A (ja) Idベース暗号システム及び送信端末装置及び配送サーバ装置及び受信端末装置
KR20090054774A (ko) 분산 네트워크 환경에서의 통합 보안 관리 방법
US20100146605A1 (en) Method and system for providing secure online authentication
KR102062851B1 (ko) 토큰 관리 데몬을 이용한 싱글 사인 온 서비스 인증 방법 및 시스템
KR101101190B1 (ko) 보안 통신 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 프로그램을 기록한 매체
CN115459929A (zh) 安全验证方法、装置、电子设备、系统、介质和产品
CN111935164B (zh) 一种https接口请求方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
A107 Divisional application of patent
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130402

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140402

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160401

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180402

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190402

Year of fee payment: 11