KR101452299B1 - 무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버 - Google Patents

무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버 Download PDF

Info

Publication number
KR101452299B1
KR101452299B1 KR1020120128840A KR20120128840A KR101452299B1 KR 101452299 B1 KR101452299 B1 KR 101452299B1 KR 1020120128840 A KR1020120128840 A KR 1020120128840A KR 20120128840 A KR20120128840 A KR 20120128840A KR 101452299 B1 KR101452299 B1 KR 101452299B1
Authority
KR
South Korea
Prior art keywords
hash value
script
forgery
user terminal
server
Prior art date
Application number
KR1020120128840A
Other languages
English (en)
Other versions
KR20140061788A (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 KR1020120128840A priority Critical patent/KR101452299B1/ko
Publication of KR20140061788A publication Critical patent/KR20140061788A/ko
Application granted granted Critical
Publication of KR101452299B1 publication Critical patent/KR101452299B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Abstract

무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버가 개시된다. 본 발명의 일 실시예에 따른 무결성이 보장되는 프로그램 코드를 이용한 보안 방법은 서버가 사용자 단말로부터 웹 컨텐츠에 대한 요청을 수신하는 단계; 상기 서버가 요청 받은 상기 웹 컨텐츠에 위변조 검증 스크립트를 추가하여 상기 사용자 단말로 전송하는 단계; 상기 서버가 상기 위변조 검증 스크립트의 제 1 해쉬 값을 저장하는 단계; 상기 서버가 상기 위변조 검증 스크립트의 제 2 해쉬 값을 상기 사용자 단말로부터 수신하는 단계; 및 상기 서버가 상기 제 1 해쉬 값 및 상기 제 2 해쉬 값을 이용하여 상기 웹 컨텐츠의 위변조 여부를 검증하는 단계를 포함한다.

Description

무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버 {SECURITY METOHD AND SERVER USING PROGRAM CODE GUARANTEED INTEGRITY}
본 발명은 네트워크에서 무결성이 보장되는 프로그램 코드를 이용한 보안 기술에 관한 것이다.
최근, 인터넷 사용이 급증하면서 단순한 정보의 제공뿐만 아니라 각종 금융 거래 등의 전자상거래 및 기업의 기밀에 관한 거래 등 보안 중요도가 높은 거래가 인터넷을 통하여 이루어지게 되었다.
단순한 텍스트 메시지, 멀티미디어 전송과 달리 개인 정보 또는 기업의 기밀 등과 같은 보안의 중요도가 높은 정보가 송수신 되는 경우, 이러한 정보의 보안 및 신뢰성을 확보하는 것은 무엇보다 중요하다. 특히, HTML 페이지 등의 웹 페이지는 사용자 내부의 악성 프로그램 등에 의하여 위변조되는 경우가 빈번히 발생하며, 최근 금감원 전자거래 감독 규정에 대한 변경이 이루어짐에 따라 HTML 데이터의 무결성에 대한 검증 방법이 필요하게 되었다.
그러나 종래에는, 웹 페이지 등을 액티브엑스(ActiveX) 등의 플러그인 없이 보호하기 위해서는 자바스크립트(JavaScript)와 같이 브라우저에서 직접 지원하는 언어를 사용하여 프로그램 코드를 작성해야 하며, 이러한 프로그램 코드의 경우 웹 페이지내에 포함되고, 임의의 사용자가 여러 가지 툴을 사용하여 소스코드를 볼 수 있고, 위변조가 쉽다는 단점이 존재한다. 이에 따라, 해당 프로그램 코드가 반드시 실행되며, 위변조가 불가한 프로그램 코드 영역을 구현하는 기술이 필요하게 되었다.
본 발명은 무결성이 보장되는 프로그램 코드를 이용한 보안 기술을 통해 서버에서 제출한 웹 페이지의 위변조 여부를 검증하여 보다 신뢰된 서비스를 제공하는 데 그 목적이 있다.
본 발명의 일 실시예에 따른 무결성이 보장되는 프로그램 코드를 이용한 보안 방법은, 서버가 사용자 단말로부터 웹 컨텐츠에 대한 요청을 수신하는 단계;상기 서버가 요청 받은 상기 웹 컨텐츠에 위변조 검증 스크립트를 추가하여 상기 사용자 단말로 전송하는 단계; 상기 서버가 상기 위변조 검증 스크립트의 제 1 해쉬 값을 저장하는 단계; 상기 서버가 상기 위변조 검증 스크립트의 제 2 해쉬 값을 상기 사용자 단말로부터 수신하는 단계; 및 상기 서버가 상기 제 1 해쉬 값 및 상기 제 2 해쉬 값을 이용하여 상기 웹 컨텐츠의 위변조 여부를 검증하는 단계를 포함한다.
한편, 본 발명의 일 실시예에 따른 무결성이 보장되는 프로그램 코드를 이용한 서버는, 사용자 단말의 웹 컨텐츠 요청에 따라 스크립트(script)를 생성하는 스크립트 생성부; 상기 스크립트 생성부에서 생성된 스크립트를 이용하여 위변조 검증 스크립트를 생성하는 위변조 검증 스크립트 생성부; 상기 위변조 검증 스크립트 생성부에서 생성된 위변조 검증 스크립트의 제 1 해쉬 값(the first hash value)을 저장하는 저장부; 및 상기 저장부에 저장된 제 1 해쉬값과 상기 사용자 단말로부터 수신한 제 2 해쉬 값(the second hash value)을 이용하여 상기 웹 컨텐츠의 위변조 여부를 검증하는 검증부;를 포함한다.
본 발명의 실시예들에 따를 경우, 서버에서 제출한 웹 페이지에 대한 위변조 여부를 검증하여 신뢰된 서비스를 제공할 수 있으며, 특히 브라우저에 종속성이 없는 프로그램 언어를 사용하여 플러그인의 설치 없이 사용이 가능하다.
또한, 스크립트에 대한 매번 다른 형태의 난독화 및 정규화 과정을 거치게 함으로써 역공학이 어려우며, 웹 페이지의 위변조를 더욱 효과적으로 탐지 및 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 따른 무결성이 보장되는 프로그램 코드를 이용한 보안 방법을 도시한 순서도이다.
도 2는 본 발명의 일 실시예에 따른 따른 웹 컨텐츠에 위변조 검증 스크립트를 추가하여 전송하는 방법(S104)을 도시한 순서도이다.
도 3은 본 발명의 일 실시예에 따른 따른 제 1 해쉬 값과 제 2 해쉬 값을 이용하여 웹 컨텐츠의 위변조 여부를 검증하는 방법(S110)을 도시한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 따른 무결성이 보장되는 프로그램 코드를 이용한 서버(102)의 상세 구성을 나타낸 블록도이다.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 일 실시예에 따른 따른 무결성이 보장되는 프로그램 코드를 이용한 보안 방법을 도시한 순서도이다.
서버(102)와 사용자 단말(104)은 네트워크(미도시)를 통하여 서로 연결되어 데이터를 주고받는다. 상기 네트워크는 서버 및 사용자 간 데이터 송수신을 중계하기 위한 매개체로서, 유/무선 인터넷망, 이동통신망 등 패킷 통신이 가능한 모든 종류의 통신망을 포괄하는 의미이다.
또한, 사용자 단말(104)은 서버(102)와 네트워크를 통해 연결되어 서버(102)의 서비스를 제공받기 위한 장치로서, 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰 등의 휴대용 단말, 태블릿 컴퓨터 등을 포괄하는 넓은 의미로 해석된다. 사용자 단말(104)은 내부에 탑재된 웹 브라우저(browser), 또는 별도의 애플리케이션(application) 등을 통하여 서버(102)와 연결되어 서버(102)에서 제공되는 서비스를 제공받는다. 이하, 본 발명의 일 실시예에 따른 따른 무결성이 보장되는 프로그램 코드를 이용한 보안 방법에 대해 순차적으로 설명한다.
먼저, 서버(102)는 사용자 단말(104)로부터 웹 컨텐츠에 대한 요청을 수신한다(S102). 사용자 단말(102)에서의 상기 웹 컨텐츠에 대한 요청은 브라우저 또는 애플리케이션 상에서의 사용자의 URI(Uniform Resource Identifier) 입력 또는 기 설정된 메뉴의 선택 등에 의해 이루어질 수 있으나, 본 발명은 특정한 웹 컨텐츠 요청 방식에 대해서는 제한하지 않는다.
다음으로, 서버(102)는 요청 받은 웹 컨텐츠에 위변조 검증 스크립트를 추가하여 상기 사용자 단말(104)에게 전송한다(S104).
도 2는 상기 S104 단계를 좀 더 상세히 설명하기 위한 순서도이다. 도시된 바와 같이, 서버(102)는 먼저 사용자 단말(104)의 웹 컨텐츠 요청에 따라 스크립트(script)를 생성한다(S202).
본 발명의 실시예에서, 상기 스크립트는 사용자 단말(104)이 요청한 웹 컨텐츠와 함께 사용자 단말(104)로 전송되어 사용자 단말(104) 내에서 상기 웹 컨텐츠와 함께 실행되는 일종의 프로그램 코드로서, 예를 들어 자바스크립트(Javascript)와 같이 브라우저에서 직접 지원되는 언어로 작성될 수 있다. 상기 스크립트는, 예를 들어 자기 자신을 랜덤 정규화하고 이로부터 해쉬 값을 출력하도록 구성될 수 있다. 이를 위하여 상기 스크립트는 내부에 특정 랜덤 정규화 알고리즘 및 해쉬 값 생성 알고리즘을 포함하도록 구성될 수 있다.
다음으로, 서버(102)는 상기 생성된 스크립트의 난독화 과정을 수행한다(S204). 본 발명의 실시예에서, 난독화란 스크립트 내의 변수(variable), 함수(function), 또는 인자값(parameter)의 전체 또는 일부를 랜덤 길이의 랜덤 값(random value)으로 치환하거나 상기 생성된 스크립트의 전체 또는 일부의 배열 순서를 랜덤하게 배치하는 과정을 의미한다. 예를 들어, 서버(102)는 스크립트 내의 함수 sum을 랜덤 값인 gfni148fc로 치환하고, 함수 subtract을 랜덤 값인 cirvi24c로 치환함으로써 스크립트를 난독화 할 수 있다. 전술한 바와 같이, 상기 난독화 과정은 함수뿐 아니라 스크립트 내의 각종 변수 및 인자값 등에 대해서도 적용이 가능하며, 랜덤 값으로의 치환 뿐 아니라 배열 순서를 랜덤하게 배치할 수도 있다. 이와 같은 난독화 과정을 통할 경우, 악의적인 사용자가 중간에서 상기 스크립트를 가로채더라도 해당 스크립트의 내용을 쉽게 파악하지 못하게 된다. 또한, 난독화 과정은 스크립트의 변수 또는 함수 등을 치환하는 것이지 해당 스크립트의 기능 자체를 변경하는 것은 아니므로, 난독화 과정을 거치더라도 스크립트의 원래 기능은 그대로 유지된다. 이는 이후의 랜덤 정규화 과정에서도 마찬가지이다.
스크립트에 대한 난독화 과정이 완료되면, 다음으로 서버(102)는 난독화된 스크립트를 랜덤 정규화한다(S206). 본 발명의 실시예에서, 스크립트에 대한 정규화란 스크립트 내의 공백 또는 탭(tab) 등의 사용 방식, 대문자 또는 소문자의 사용 방식, 반복되는 데이터의 제거 방식 등을 일정한 형식으로 통일하는 것을 의미한다. 또한 스크립트에 대한 랜덤 정규화란, 상기 정규화에 있어 정규화 대상 항목을 랜덤하게 결정하는 것을 의미한다.
예를 들어, 서버(102)는 정규화 항목(예를 들어, 스크립트 내의 공백(탭 또는 스페이스) 제거 여부, 대문자 또는 소문자의 통일 여부, 반복되는 데이터 제거 여부 등)을 랜덤하게 선정하여 정규화를 수행할 수 있다. 또한 정규화 알고리즘 또한 랜덤하게 선택할 수 있다. 예를 들어, 서버(102)는 스페이스를 모두 탭으로 변환하거나, 또는 모든 탭을 스페이스로 변환하도록 정규화 알고리즘을 선택할 수 있다. 또한, 스크립트 내부의 문자 또한 모두 소문자로 변환하거나, 모두 대문자로 변환하거나, 또는 소문자와 대문자를 번갈아 적용하는 정규화 알고리즘 중 어느 하나를 선택할 수 있다. 또한, 정규화 대상 스크립트 또한 랜덤하게 정할 수 있다. 예를 들어, 스크립트 전체에 정규화 알고리즘을 적용하거나, 또는 기 설정된 일부의 스크립트에만 정규화 알고리즘을 적용할 수도 있다.
이와 같이, 서버(102)측에서 난독화 및 랜덤 정규화 과정을 통해 생성된 스크립트를 “위변조 검증 스크립트”로 칭하기로 한다. 상기 위변조 검증 스크립트는 상기 웹 컨텐츠에 대한 위변조 여부를 검증하는 해쉬 값(hash value)을 제공하는 데 사용된다. 본 발명의 실시예에서는 웹 페이지와 함께 제공되는 스크립트에 매번 다른 형태의 난독화 및 랜덤 정규화를 실행함으로써 위, 변조 및 역공학(reverse engineering)이 매우 어려운 위변조 검증 스크립트를 생성할 수 있다.
마지막으로, 서버(102)는 상기 위변조 검증 스크립트를 사용자 단말(104)이 요청한 웹 컨텐츠에 추가하여 사용자 단말(104)로 전송한다(S208). 이때, 서버(102)는 상기 위변조 검증 스크립트가 추가된 웹 컨텐츠와 함께 서버(102)가 생성하여 상기 웹 컨텐츠에 할당한 랜덤(random) URL(Uniform Resource Locator)을 사용자 단말(104)에 전송할 수 있다. 상기 랜덤 URL은 사용자 단말(104)로부터 상기 웹 컨텐츠에 대한 위변조 여부를 검증하는 제 2 해쉬 값(the second hash value)을 수신하기 위한 URL로서 사용된다.
전술한, 웹 컨텐츠에 위변조 검증 스크립트를 추가하여 사용자 단말(104)에게 전송(S104)하는 단계, 서버(102)가 상기 위변조 검증 스크립트의 제 1 해쉬 값을 서버(102)에 저장(S106)하는 단계 및 서버(102)가 사용자 단말(104)와의 세션에 대한 차단 상태를 설정하는 단계는 순차적으로 행해지거나 또는 동시에 행해질 수 있다. 또한 상기 각 단계는 독립적으로 이루어지는 것으로 상기 상술한 순서에 구애되지 않으며 어느 것이 먼저 행해지거나 뒤에 행해지더라도 문제되지 않는다.
다시 도 1로 돌아오면, 다음으로 서버(102)는 상기 위변조 검증 스크립트의 제 1 해쉬 값(the first hash value)을 서버(102)에 저장한다(S106) 이때 상기 제 1 해쉬 값은 상기 위변조 검증 스크립트를 서버(102) 측에서 실행할 경우 상기 위변조 검증 스크립트로부터 생성된다. 전술한 바와 같이, 본 발명에서 위변조 검증 스크립트는 자기 자신을 랜덤 정규화한 뒤 랜덤 정규화된 스크립트에 대한 해쉬값을 출력하도록 구성된다. 따라서 서버(102)는 상기 위변조 검증 스크립트를 서버(102) 측에서 실행함으로써 상기 제 1 해쉬값을 생성할 수 있다. 이때 난독화 및 랜덤 정규화를 통해 생성된 위변조 검증 스크립트는 위변조가 되지 않는 이상 실행 시 항상 동일한 해쉬 값을 출력한다.
아울러, 상기 S106 단계에서, 서버(102)는 상기 사용자와의 세션(session)에 대한 차단(blocking) 상태를 설정함으로써, 상기 웹 컨텐츠에 대한 위변조 검증 과정을 거치기 전까지 상기 사용자 단말(104)로부터의 추가적인 요청을 차단한다.
다음으로 서버(102)는 상기 위변조 검증 스크립트의 제 2 해쉬 값을 사용자 단말(104)로부터 수신한다. (S108)
전술한 바와 같이, 제 2 해쉬 값은 상기 위변조 검증 스크립트가 사용자 단말(104) 상에서 실행되는 경우, 상기 위변조 검증 스크립트 스스로에 대한 랜덤 정규화 과정 및 해쉬값 생성 과정을 통해 생성된다. 이때, 상기 랜덤 정규화 알고리즘 및 해쉬 값 생성 알고리즘은 상기 위변조 검증 스크립트 내에 포함되어 있으므로, 상기 위변조 검증 스크립트가 위조 또는 변조되지 않은 이상 상기 제 2 해쉬 값은 서버(102) 측에서 생성한 제 1 해쉬 값과 동일하게 된다. 또한, 상기 위변조 검증 스크립트는 상기 웹 컨텐츠와 결합되어 있으므로, 사용자 단말(104)에서 상기 웹 컨텐츠를 실행할 경우에는 자동적으로 상기 위변조 검증 스크립트 또한 함께 실행되게 된다. 즉, 상기 제 2 해쉬 값이 생성되기 위해서는 상기 웹 컨텐츠가 반드시 실행되어야 한다. 따라서 사용자 단말(104)로부터 상기 제 2 해쉬 값이 수신될 경우, 서버(102)는 상기 웹 컨텐츠의 실행 여부 및 변조 여부를 함께 알 수 있다.
한편, 사용자 단말(104)은 서버(102)로부터 수신한 랜덤 URL을 통해 상기 제 2 해쉬 값을 서버(102)로 송신한다.
마지막으로, 서버(102)는 사용자 단말(104)로부터 제 2 해쉬 값을 수신한 후, 제 1 해쉬 값과 제 2 해쉬 값을 통해 상기 웹 컨텐츠의 위변조 여부를 검증한다. (S110)
도 3은 본 발명의 일 실시예에 따른 따른 제 1 해쉬 값과 제 2 해쉬 값을 이용하여 웹 컨텐츠의 위변조 여부를 검증하는 방법(S110)을 도시한 순서도이다. 도시된 바와 같이, 서버(102)는 제 1 해쉬 값과 제 2 해쉬 값을 비교하여(S302) 제 1 해쉬 값과 상기 제 2 해쉬 값이 동일한 경우, 상기 웹 컨텐츠가 위변조되지 않은 것으로 판단하고(S304), 제 1 해쉬 값과 상기 제 2 해쉬 값이 동일하지 않은 경우, 상기 웹 컨텐츠가 위변조된 것으로 판단한다(S306). 상기 제 1 해쉬 값은 위변조 검증 스크립트를 서버(102) 측에서 실행하여 생성한 것이고, 제 2 해쉬 값은 상기 위변조 검증 스크립트를 사용자 단말(104) 측에서 실행하여 생성한 것이다. 따라서 상기 상기 위변조 검증 스크립트를 포함하는 웹 컨텐츠가 위변조 되지 않았다면, 상기 위변조 검증 스크립트의 실행 당시 출력되는 제 2 해쉬 값은 서버(102)에 저장된 제 1 해쉬 값과 동일할 것이다. 그러나, 상기 위변조 검증 스크립트가 위변조 되었다면, 상기 변경된 위변조 검증 스크립트의 실행을 통해 출력된 제 2 해쉬 값은 서버(102)에 저장된 제 1 해쉬 값과 동일하지 않을 것이다. 따라서, 서버(102)는 제 1 해쉬 값과 제 2 해쉬 값의 단순 비교를 통해 상기 웹 컨텐츠의 위변조 여부를 손쉽게 검증할 수 있다.
서버(102)가 제 1 해쉬 값과 제 2 해쉬 값을 비교하여 제 1 해쉬 값과 제 2 해쉬 값이 동일하여 상기 웹 컨텐츠가 위변조되지 않은 것으로 판단된 경우, 서버(102)는 사용자 단말(104)와의 세션에 대한 차단 상태를 해제하며(S308), 제 1 해쉬 값과 제 2 해쉬 값을 비교하여 제 1 해쉬 값과 제 2 해쉬 값이 동일하지 않아 상기 웹 컨텐츠가 위변조된 것으로 판단된 경우, 서버(102)가 사용자 단말(104)와의 세션에 대한 차단 상태를 그대로 유지하며, 더 이상 사용자 단말(104)로부터 웹 컨텐츠에 대한 요청을 받지 않는다(S310).
즉, 상기 검증 결과에 따라 서버(102)와 사용자 단말(104)간의 세션의 차단 상태를 해제 또는 유지함으로써 상기 웹 컨텐츠에 대한 보안성을 높일 수 있다.
도 4는 본 발명의 일 실시예에 따른 따른 무결성이 보장되는 프로그램 코드를 이용한 서버의 상세 구성을 나타낸 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 따른 무결성이 보장되는 프로그램 코드를 이용한 서버(102)는 스크립트 생성부(402), 위변조 검증 스크립트 생성부(404), 저장부(406) 및 검증부(408)를 포함한다.
스크립트 생성부(402)는 사용자 단말(104)의 웹 컨텐츠 요청에 따라 스크립트(script)를 생성한다.
위변조 검증 스크립트 생성부(404)는 난독화 모듈(404-1), 정규화 모듈(404-2) 및 송신 모듈(404-3)을 포함하며, 상기 스크립트 생성부(402)에서 생성된 스크립트를 이용하여 위변조 검증 스크립트를 생성한다.
구체적으로, 난독화 모듈(404-1)은 상기 스크립트 생성부(404)에서 생성된 스크립트의 전체 또는 일부를 랜덤 길이의 랜덤 값(random value)으로 치환하거나 상기 스크립트 생성부(404)에서 생성된 스크립트의 전체 또는 일부의 배열 순서를 랜덤하게 배치함으로써 난독화 과정을 수행하며, 이에 대한 자세한 설명은 앞에서 설명한 바와 같다.
정규화 모듈(404-2)는 상기 난독화된 스크립트의 적어도 일부를 기 설정된 정규화 알고리즘에 따라 정규화하며, 이에 대한 자세한 설명은 앞에서 설명한 바와 같다.
송신 모듈(404-3)은 상기 정규화 모듈을 통해 랜덤 정규화된 상기 위변조 검증 스크립트를 상기 사용자 단말이 요청한 웹 컨텐츠에 추가하여 상기 사용자 단말에게 전송한다.
저장부(406)는 상기 위변조 검증 스크립트의 제 1 해쉬 값을 저장하며, 이에 대한 자세한 설명은 앞에서 설명한 바와 같다.
검증부(408)는 상기 저장부에 저장된 제 1 해쉬 값과 상기 사용자 단말로부터 수신한 제 2 해쉬 값을 이용하여 상기 웹 컨텐츠의 위변조 여부를 검증한다.
검증부(408)가 상기 웹 컨텐츠의 위변조 여부를 검증하기에 앞서, 상기 저장부(406)가 상기 위변조 검증 스크립트의 제 1 해쉬 값을 저장함에 따라 상기 검증부(408)는 서버(102)와 사용자의 세션(session)에 대한 차단(blocking) 상태를 설정한다.
다음으로, 상기 검증부(408)는 저장부(406)에 저장된 제 1 해쉬 값과 사용자 단말(104)로부터 수신한 제 2 해쉬 값을 비교하여 제 1 해쉬 값과 제 2 해쉬 값이 동일한 경우, 상기 웹 컨텐츠가 위변조되지 않은 것으로 판단하고, 제 1 해쉬 값과 제 2 해쉬값이 동일하지 경우, 상기 웹 컨텐츠가 위변조된 것으로 판단한다.
검증부(408)는 제 1 해쉬 값과 제 2 해쉬 값을 비교를 통해 상기 웹 컨텐츠가 위변조되지 않은 것으로 판단된 경우, 서버(102)는 사용자 단말(104)과의 세션에 대한 차단 상태를 해제하며, 상기 웹 컨텐츠가 위변조된 것으로 판단된 경우, 서버(102)와 사용자 단말(104)의 세션에 대한 차단 상태를 그대로 유지하며, 더 이상 사용자 단말(104)로부터 웹 컨텐츠에 대한 요청을 받지 않는다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
102 : 서버
104 : 사용자 단말
402 : 스크립트 생성부
404 : 위변조 검증 스크립트 생성부
404-1 : 난독화 모듈
404-2 : 정규화 모듈
404-3 : 송신 모듈
406 : 저장부
408 : 검증부

Claims (20)

  1. 서버가 사용자 단말로부터 웹 컨텐츠에 대한 요청을 수신하는 단계;
    상기 서버가, 상기 웹 컨텐츠와 함께 실행됨으로써 정규화 항목을 랜덤하게 선정하여 자기 자신을 정규화한 후 해쉬 값을 출력하도록 구성되는 위변조 검증 스크립트를 상기 웹 컨텐츠에 추가하고, 상기 위변조 검증 스크립트가 추가된 웹 컨텐츠 및 상기 웹 컨텐츠에 할당된 랜덤(random) URL(Uniform Resource Locator)을 상기 사용자 단말로 전송하는 단계;
    상기 서버가, 상기 서버 측에서 상기 위변조 검증 스크립트가 실행되어 생성되는 제 1 해쉬 값을 저장하는 단계;
    상기 서버가, 상기 사용자 단말 측에서 상기 위변조 검증 스크립트가 실행되어 생성되는 제 2 해쉬 값을 상기 랜덤 URL을 통해 상기 사용자 단말로부터 수신하는 단계; 및
    상기 서버가 상기 제 1 해쉬 값 및 상기 제 2 해쉬 값을 비교하여 상기 위변조 검증 스크립트의 위변조 여부를 검증하는 단계를 포함하는 무결성이 보장되는 프로그램 코드를 이용한 보안 방법.
  2. 제 1항에 있어서,
    상기 웹 컨텐츠 및 상기 랜덤 URL을 상기 사용자 단말로 전송하는 단계는,
    상기 사용자 단말의 웹 컨텐츠 요청에 따라 스크립트(script)를 생성하는 단계;
    상기 생성된 스크립트를 난독화 하는 단계;
    상기 난독화된 스크립트의 정규화 항목을 랜덤하게 선정하여 상기 난독화된 스크립트를 정규화함으로써 위변조 검증 스크립트를 생성하는 단계; 및
    상기 서버가 상기 위변조 검증 스크립트를 상기 사용자 단말이 요청한 웹 컨텐츠에 추가하고, 상기 위변조 검증 스크립트가 추가된 웹 컨텐츠 및 상기 랜덤 URL을 상기 사용자 단말로 전송하는 단계를 포함하는, 무결성이 보장되는 프로그램 코드를 이용한 보안 방법.
  3. 제 2항에 있어서,
    상기 난독화 하는 단계는, 상기 생성된 스크립트의 전체 또는 일부를 랜덤 길이의 랜덤 값(random value)으로 치환하거나 상기 생성된 스크립트의 전체 또는 일부의 배열 순서를 랜덤하게 배치하는, 무결성이 보장되는 프로그램 코드를 이용한 보안 방법.
  4. 제 2항에 있어서,
    상기 위변조 검증 스크립트를 생성하는 단계는, 상기 난독화된 스크립트의 적어도 일부를 기 설정된 정규화 알고리즘에 따라 정규화하는, 무결성이 보장되는 프로그램 코드를 이용한 보안 방법.
  5. 삭제
  6. 제 1항에 있어서,
    상기 제 1 해쉬 값을 저장하는 단계는, 상기 서버가 상기 사용자 단말과의 세션(session)에 대한 차단(blocking) 상태를 설정하는 단계를 더 포함하는, 무결성이 보장되는 프로그램 코드를 이용한 보안 방법.
  7. 삭제
  8. 삭제
  9. 제 1항에 있어서,
    상기 서버가 상기 제 1 해쉬 값 및 상기 제 2 해쉬 값을 비교하여 상기 위변조 검증 스크립트의 위변조 여부를 검증하는 단계는,
    상기 제 1 해쉬 값과 제 2 해쉬 값을 비교하여 상기 제 1 해쉬 값과 상기 제 2 해쉬 값이 동일한 경우 상기 위변조 검증 스크립트가 위변조 되지 않은 것으로 판단하고, 상기 제 1 해쉬 값과 상기 제 2 해쉬 값이 동일하지 않은 경우 상기 위변조 검증 스크립트가 위변조된 것으로 판단하는, 무결성이 보장되는 프로그램 코드를 이용한 보안 방법.
  10. 제 9항에 있어서,
    상기 제 1 해쉬 값과 제 2 해쉬 값을 비교하여 상기 제 1 해쉬 값과 상기 제 2 해쉬 값이 동일한 경우, 상기 서버가 상기 사용자 단말과의 세션에 대한 차단 상태를 해제하는 단계를 더 포함하는, 무결성이 보장되는 프로그램 코드를 이용한 보안 방법.
  11. 사용자 단말의 웹 컨텐츠 요청에 따라 스크립트(script)를 생성하는 스크립트 생성부;
    상기 스크립트로부터, 상기 웹 컨텐츠와 함께 실행됨으로써 정규화 항목을 랜덤하게 선정하여 자기 자신을 정규화한 후 해쉬 값을 출력하도록 구성되는 위변조 검증 스크립트를 생성하고, 상기 위변조 검증 스크립트를 상기 웹 컨텐츠에 추가하고, 상기 위변조 검증 스크립트가 추가된 웹 컨텐츠 및 상기 웹 컨텐츠에 할당된 랜덤(random) URL(Uniform Resource Locator)을 상기 사용자 단말로 전송하는 위변조 검증 스크립트 생성부;
    서버 측에서 상기 위변조 검증 스크립트가 실행되어 생성되는 제 1 해쉬 값을 저장하는 저장부; 및
    상기 사용자 단말 측에서 상기 위변조 검증 스크립트가 실행되어 생성되는 제 2 해쉬 값을 상기 랜덤 URL을 통해 상기 사용자 단말로부터 수신하고, 상기 저장부에 저장된 제 1 해쉬 값과 상기 제 2 해쉬 값을 비교하여 상기 위변조 검증 스크립트의 위변조 여부를 검증하는 검증부를 포함하는, 무결성이 보장되는 프로그램 코드를 이용한 서버.
  12. 제 11항에 있어서,
    상기 위변조 검증 스크립트 생성부는,
    상기 스크립트 생성부에서 생성된 스크립트를 난독화하는 난독화 모듈;
    상기 난독화 모듈을 통해 난독화된 스크립트의 정규화 항목을 랜덤하게 선정하여 상기 난독화된 스크립트를 정규화함으로써 정규화하는 정규화 모듈; 및
    상기 정규화 모듈을 통해 랜덤 정규화된 상기 위변조 검증 스크립트를 상기 사용자 단말이 요청한 웹 컨텐츠에 추가하고, 상기 위변조 검증 스크립트가 추가된 웹 컨텐츠 및 상기 랜덤 URL을 상기 사용자 단말로 전송하는 송신 모듈을 포함하는, 무결성이 보장되는 프로그램 코드를 이용한 서버.
  13. 제 12항에 있어서,
    상기 난독화 모듈은, 상기 스크립트 생성부에서 생성된 스크립트의 전체 또는 일부를 랜덤 길이의 랜덤 값(random value)으로 치환하거나 상기 스크립트 생성부에서 생성된 스크립트의 전체 또는 일부의 배열 순서를 랜덤하게 배치하는, 무결성이 보장되는 프로그램 코드를 이용한 서버.
  14. 제 12항에 있어서,
    상기 정규화 모듈은, 상기 난독화된 스크립트의 적어도 일부를 기 설정된 정규화 알고리즘에 따라 정규화하는, 무결성이 보장되는 프로그램 코드를 이용한 서버.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 제 11항에 있어서,
    상기 검증부는, 상기 사용자 단말과의 세션(session)에 대한 차단(blocking) 상태를 설정하는, 무결성이 보장되는 프로그램 코드를 이용한 서버.
  19. 제 18항에 있어서,
    상기 검증부는, 상기 제 1 해쉬 값과 제 2 해쉬 값을 비교하여 상기 제 1 해쉬 값과 상기 제 2 해쉬 값이 동일한 경우 상기 위변조 검증 스크립트가 위변조 되지 않은 것으로 판단하고, 상기 제 1 해쉬 값과 상기 제 2 해쉬 값이 동일하지 않은 경우 상기 위변조 검증 스크립트가 위변조된 것으로 판단하는, 무결성이 보장되는 프로그램 코드를 이용한 서버.
  20. 제 19항에 있어서,
    상기 검증부는, 상기 제 1 해쉬 값과 제 2 해쉬 값을 비교하여 상기 제 1 해쉬 값과 상기 제 2 해쉬 값이 동일한 경우, 상기 서버가 상기 사용자 단말과의 세션에 대한 차단 상태를 해제하는, 무결성이 보장되는 프로그램 코드를 이용한 서버.
KR1020120128840A 2012-11-14 2012-11-14 무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버 KR101452299B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120128840A KR101452299B1 (ko) 2012-11-14 2012-11-14 무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120128840A KR101452299B1 (ko) 2012-11-14 2012-11-14 무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버

Publications (2)

Publication Number Publication Date
KR20140061788A KR20140061788A (ko) 2014-05-22
KR101452299B1 true KR101452299B1 (ko) 2014-10-21

Family

ID=50890455

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120128840A KR101452299B1 (ko) 2012-11-14 2012-11-14 무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버

Country Status (1)

Country Link
KR (1) KR101452299B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160077747A (ko) * 2014-12-24 2016-07-04 주식회사 파수닷컴 Html 문서에 포함되는 콘텐츠를 보호하는 장치 및 방법
KR101855442B1 (ko) * 2017-12-28 2018-05-09 주식회사 차칵 미디어 파일 위변조 검증 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101632929B1 (ko) * 2014-06-16 2016-06-23 주식회사 예티소프트 단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법
KR102277870B1 (ko) * 2020-02-03 2021-07-14 이재영 랜덤 스크립트를 이용한 자동 로그인 방지 방법 및 이를 수행하기 위한 서버
CN113761489B (zh) * 2020-06-02 2024-01-26 共道网络科技有限公司 验证方法、装置及设备、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192135A (ja) 2007-02-05 2008-08-21 Samsung Electronics Co Ltd 無欠性検証の可能なコンテンツ提供方法とコンテンツ利用方法、及びその装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192135A (ja) 2007-02-05 2008-08-21 Samsung Electronics Co Ltd 無欠性検証の可能なコンテンツ提供方法とコンテンツ利用方法、及びその装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160077747A (ko) * 2014-12-24 2016-07-04 주식회사 파수닷컴 Html 문서에 포함되는 콘텐츠를 보호하는 장치 및 방법
KR101640902B1 (ko) 2014-12-24 2016-07-19 주식회사 파수닷컴 Html 문서에 포함되는 콘텐츠를 보호하는 장치 및 방법
KR101855442B1 (ko) * 2017-12-28 2018-05-09 주식회사 차칵 미디어 파일 위변조 검증 방법

Also Published As

Publication number Publication date
KR20140061788A (ko) 2014-05-22

Similar Documents

Publication Publication Date Title
Focardi et al. Usable security for QR code
JP6257754B2 (ja) データの保護
US20040260754A1 (en) Systems and methods for mitigating cross-site scripting
CN102414690A (zh) 用特权签字创建安全网页浏览环境的方法和设备
KR101452299B1 (ko) 무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버
WO2010003261A1 (en) Web application security filtering
WO2006119336A2 (en) In-line website securing system with html processor and link verification
CN107016074B (zh) 一种网页加载方法及装置
CN101860540A (zh) 一种识别网站服务合法性的方法及装置
CN104620225A (zh) 防止安全漏洞的认证服务器端的Web应用
CA2762706A1 (en) Method and system for securing communication sessions
CN112131564A (zh) 加密数据通信方法、装置、设备以及介质
US7974956B2 (en) Authenticating a site while protecting against security holes by handling common web server configurations
Lundeen et al. New ways im going to hack your web app
CN109495458A (zh) 一种数据传输的方法、系统及相关组件
CN112653695A (zh) 一种实现反爬虫的方法及系统
KR101632929B1 (ko) 단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법
CN104144054B (zh) 基于服务器的登录系统、登录服务器及其验证方法
Jakobsson et al. Server-side detection of malware infection
JP2010250791A (ja) ウェブサーバとクライアントとの間の通信を監視するウェブ保安管理装置及び方法
KR101378549B1 (ko) 패턴을 이용한 동적 웹 컨텐츠 보안 서버 및 방법
KR101264280B1 (ko) 웹 페이지 변조 탐지 시스템 및 방법
Riesch et al. Audit based privacy preservation for the OpenID authentication protocol
CN114760078B (zh) 一种防止恶意篡改页面请求参数的方法和系统
Alluhaybi et al. Achieving self-protection and self-communication features for security of agentbased systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170628

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181008

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190806

Year of fee payment: 6