KR101296384B1 - 웹 페이지 무결성 검증 시스템 및 방법 - Google Patents

웹 페이지 무결성 검증 시스템 및 방법 Download PDF

Info

Publication number
KR101296384B1
KR101296384B1 KR1020110139019A KR20110139019A KR101296384B1 KR 101296384 B1 KR101296384 B1 KR 101296384B1 KR 1020110139019 A KR1020110139019 A KR 1020110139019A KR 20110139019 A KR20110139019 A KR 20110139019A KR 101296384 B1 KR101296384 B1 KR 101296384B1
Authority
KR
South Korea
Prior art keywords
client
web page
server
encryption value
side encryption
Prior art date
Application number
KR1020110139019A
Other languages
English (en)
Other versions
KR20130071674A (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 KR1020110139019A priority Critical patent/KR101296384B1/ko
Publication of KR20130071674A publication Critical patent/KR20130071674A/ko
Application granted granted Critical
Publication of KR101296384B1 publication Critical patent/KR101296384B1/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Abstract

웹 페이지 무결성 검증 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 웹 페이지 무결성 검증 방법은, 서버에서, 웹 페이지를 클라이언트로 송신하는 단계; 상기 클라이언트에서, 상기 웹 페이지를 렌더링하여 화면상에 출력하는 단계; 상기 클라이언트에서, 상기 서버와 기 공유된 시드키 및 단방향 암호화 함수를 이용하여 렌더링된 상기 웹 페이지에 대한 클라이언트측 암호화 값을 생성하는 단계; 상기 클라이언트에서, 생성된 상기 클라이언트측 암호화 값을 상기 서버로 송신하는 단계; 상기 서버에서, 상기 시드키 및 상기 단방향 암호화 함수를 이용하여 상기 클라이언트로 송신한 상기 웹 페이지에 대한 서버측 암호화 값을 생성하는 단계 및; 상기 서버에서, 상기 서버측 암호화 값 및 수신된 상기 클라이언트측 암호화 값의 일치 여부를 판단하는 단계를 포함한다.

Description

웹 페이지 무결성 검증 시스템 및 방법{SYSTEM AND METHOD FOR VERIFYING INTEGRITY OF WEB PAGE}
본 발명은 네트워크에서의 보안 기술과 관련된다.
최근 들어 인터넷의 사용이 보편화되면서, 단순한 정보의 제공뿐만 아니라 금융 거래, 전자상거래 등 일상 영역에서의 모든 활동들이 인터넷을 통하여 이루어지게 되었다.
단순한 텍스트, 멀티미디어 정보 등의 전송과 달리 인터넷 상에서의 금융 거래 등의 경우 송수신되는 정보의 신뢰성을 확보하는 것이 무엇보다도 중요하다. 또한, 특히 HTML 페이지 등의 웹 페이지는 이를 수신한 클라이언트에서 렌더링 과정을 거친 이후, 클라이언트 내부의 악성 프로그램 등에 의하여 변조되는 경우가 발생하는 바, 렌더링 이후의 웹 페이지 변조에 대해서도 이를 용이하게 탐지할 수 있는 방법이 필요하게 되었다.
본 발명은 서버로부터 송신된 웹 페이지가 클라이언트로 전송되는 과정에서, 또는 클라이언트로 전송된 이후 변조된 경우 이를 용이하게 탐지하기 위한 수단을 제공하는 데 그 목적이 있다.
본 발명의 일 실시예에 따른 웹 페이지 무결성 검증 방법은, 서버에서, 웹 페이지를 클라이언트로 송신하는 단계; 상기 클라이언트에서, 상기 웹 페이지를 렌더링하여 화면상에 출력하는 단계; 상기 클라이언트에서, 상기 서버와 기 공유된 시드키 및 단방향 암호화 함수를 이용하여 렌더링된 상기 웹 페이지에 대한 클라이언트측 암호화 값을 생성하는 단계; 상기 클라이언트에서, 생성된 상기 클라이언트측 암호화 값을 상기 서버로 송신하는 단계; 상기 서버에서, 상기 시드키 및 상기 단방향 암호화 함수를 이용하여 상기 클라이언트로 송신한 상기 웹 페이지에 대한 서버측 암호화 값을 생성하는 단계 및; 상기 서버에서, 상기 서버측 암호화 값 및 수신된 상기 클라이언트측 암호화 값의 일치 여부를 판단하는 단계를 포함한다.
한편, 본 발명의 일 실시예에 따른 웹 페이지 무결성 검증 시스템은, 웹 페이지를 송신하는 서버; 및 상기 서버로부터 수신한 상기 웹 페이지를 렌더링하여 화면상에 출력하고, 상기 서버와 기 공유된 시드키 및 단방향 암호화 함수를 이용하여 렌더링된 상기 웹 페이지에 대한 클라이언트측 암호화 값을 생성하여 상기 서버로 송신하는 클라이언트를 포함하며, 상기 서버는, 상기 시드키 및 상기 단방향 암호화 함수를 이용하여 상기 클라이언트로 송신한 상기 웹 페이지에 대한 서버측 암호화 값을 생성하고, 상기 서버측 암호화 값 및 수신된 상기 클라이언트측 암호화 값의 일치 여부를 판단하도록 구성된다.
본 발명의 실시예들에 따를 경우 웹 페이지의 변조 여부를 용이하게 탐지할 수 있으며, 특히 클라이언트 측에서의 렌더링 이후의 위변조에 대해서도 이를 탐지할 수 있는 장점이 있다.
또한 이를 위하여 해쉬 함수 등의 계산량의 적은 함수를 사용하므로 클라이언트 및 서버측의 웹 페이지 검증에 사용되는 부하를 최소화할 수 있어 모바일 기기 등에도 용이하게 적용이 가능한 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 웹 페이지 무결성 검증 시스템의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 클라이언트의 상세 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 서버의 상세 구성을 나타낸 블록도이다.
도 4는 본 발명의 일 실시예에 따른 웹 페이지 무결성 검증 방법을 도시한 순서도이다.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 일 실시예에 따른 웹 페이지 무결성 검증 시스템(100)의 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 웹 페이지 무결성 검증 시스템(100)은 클라이언트(102) 및 서버(104)를 포함하며, 클라이언트(102) 및 서버(104)는 네트워크(106)를 통하여 서로 연결되어 데이터를 주고받는다. 여기서 네트워크(106)는 클라이언트(102) 및 서버(104) 간 데이터 송수신을 중계하기 위한 매개체로서, 유/무선 인터넷망, 이동통신망 등 패킷 통신이 가능한 모든 종류의 통신망을 포괄하는 의미이다.
클라이언트(102)는 서버(104)로 웹 페이지를 요청하여 이를 수신하고, 수신한 웹 페이지를 렌더링하여 화면상에 출력한다. 이때, 웹 페이지의 렌더링(rendering)이란, HTML(HyperText Markup Language), CSS(Cascading Style Sheet), 자바스크립트(JavaScript) 등으로 구성된 웹 페이지를 클라이언트(102)의 화면 상에 표현 가능한 형태로 변환하는 과정을 의미한다.
또한, 클라이언트(102)는 서버(104)와 사전에 공유된 시드키(seed key) 및 단방향 암호화 함수를 이용하여 렌더링된 웹 페이지에 대한 클라이언트측 암호화 값을 생성하고, 이를 서버(104)로 송신한다. 상기 클라이언트측 암호화 값은 상기 렌더링된 웹 페이지의 변조 여부를 판단하기 위한 참조값으로 사용된다. 이때, 상기 단방향 암호화 함수는 역방향 복호화가 되지 않는 함수로서, 예를 들어 해쉬(Hash) 함수 등이 사용될 수 있다. 그리고 상기 시드키는 상기 단방향 암호화 함수의 인자(parameter)로 입력되는 난수(random value)를 유도하기 위한 기본값이다. 시드키는 보안을 위하여 클라이언트(102)와 서버(104) 간에 형성된 암호화 채널을 이용하여 공유되며, 예를 들어 SSL 방식의 키 핸드쉐이킹(handshaking) 또는 전자봉투 방식이 사용될 수 있다. 다만, 본 발명은 특정한 방식의 암호화 키 공유 방식에 한정되는 것은 아니며, 본 발명에서는 클라이언트(102)와 서버(104)간 시드키를 안전하게 공유할 수 있는 어떠한 방식도 사용 가능함을 유의한다.
서버(104)는 클라이언트(102)의 요청에 따라 클라이언트(102)로 웹 페이지를 전송한다. 또한, 서버(104)는 클라이언트(102)와 사전에 공유된 상기 시드키 및 단방향 암호화 함수를 이용하여 클라이언트(102)로 송신한 웹 페이지를 클라이언트(102)와 동일한 방법으로 암호화하여 서버측 암호화 값을 생성하고, 이를 클라이언트측 암호화 값과 비교하여 클라이언트(102)로 송신한 웹 페이지의 변조 여부를 판단한다.
도 2는 본 발명의 일 실시예에 따른 클라이언트(102)의 상세 구성을 나타낸 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 클라이언트(102)는 렌더링 모듈(200), 정규화 모듈(202), 난수 생성 모듈(204) 및 암호화 모듈(206)을 포함한다.
렌더링 모듈(200)은 서버(104)로부터 웹 페이지를 수신하고, 수신된 상기 웹 페이지를 렌더링하여 화면 상에 출력한다.
정규화 모듈(202)은 렌더링된 상기 웹 페이지를 정규화한다. 일반적으로, 렌더링 모듈(200)은 클라이언트(102)가 사용하는 웹 브라우저에 종속되므로, 서버(104)로부터 동일한 웹 페이지가 수신되더라도 렌더링 모듈(200)에 따라 조금씩 상이한 형태로 렌더링이 이루어질 수 있다. 따라서 정규화 모듈(202)은 렌더링이 완료된 웹 페이지를 정규화함으로써 렌더링 모듈(200)에 따른 렌더링 결과물의 차이를 제거한다.
구체적으로, 정규화 모듈(202)은 웹 페이지에 포함된 모든 문자를 대문자 또는 소문자로 변환하고, 변환된 웹 페이지의 공백(탭 또는 스페이스 등)을 제거함으로써 렌더링된 웹 페이지를 정규화한다.
한편, 렌더링된 웹 페이지는 클라이언트측에서 변경 가능한 영역(예를 들어 input 영역 또는 선택 영역 등의 editable 영역)과 변경 불가능한 영역(non-editable 영역)으로 나눌 수 있다. 만약 클라이언트(102)의 사용자가 출력된 웹 페이지의 변경 가능한 영역을 수정하게 되면, 동일한 웹 페이지일 경우에도 상기 단방향 암호화 함수에 의한 암호화 값이 달라질 수 있다. 이를 방지하기 위하여, 정규화 모듈은 웹 페이지를 정규화하기 이전에 웹 페이지 중 클라이언트(102)에 의하여 수정 가능한 영역을 삭제하고 수정 불가능한 영역만을 남겨두도록 구성될 수 있다. 이와 같이 구성함으로써 사용자의 페이지 수정에 관계 없이 동일한 암호화 값을 생성할 수 있게 된다.
한편, 상술한 방법 이외에, 정규화 모듈(202)은 XML 정규화 알고리즘(Canonical XML algorithm)을 이용하여 렌더링된 웹 페이지를 정규화할 수 있다. XML 정규화 알고리즘은 논리적으로는 동일한 문서지만 사용자에 따라서 수없이 많은 형태로 기술될 수 있는 XML 문서를 물리적으로 동일한 형태의 문서로 만들기 위한 알고리즘이다. 웹 페이지 또한 일종의 XML 문서이므로, 이와 같은 XML 정규화 알고리즘을 이용하면 렌더링 엔진 등에 따른 문서의 변형 등을 제거하고 일정한 형태의 문서를 얻을 수 있게 된다.
난수 생성 모듈(204)은 서버(104) 측으로부터 수신된 시드키를 이용하여 난수(random number)를 생성한다. 난수 생성 모듈(204)에서 생성된 난수는 웹 페이지의 암호화를 위한 인자(parameter)로 사용된다. 본 발명에서는 클라이언트(102)와 서버(104) 측에서 동일한 난수 생성 모듈(204) 및 공유된 시드키를 이용하여 난수를 생성하므로, 클라이언트(102)와 서버(104) 간에 동일한 시퀀스의 난수가 생성된다.
암호화 모듈(206)은 클라이언트(102)와 서버(104) 간에 기 공유된 동일한 단방향 암호화 함수를 이용하여 정규화 모듈(202)에서 정규화된 웹 페이지를 암호화한다. 구체적으로, 암호화 모듈(206)은 렌더링된 웹 페이지에 단방향 암호화 함수를 N회(N은 1 이상의 자연수)만큼 반복 적용하여 클라이언트(102)측 암호화 값을 생성한다. 이때 각 라운드의 암호화 시에는 이전 라운드의 단방향 암호화 결과, 정규화된 현재 웹 페이지 및 난수 생성 모듈(204)에서 생성된 난수가 상기 단방향 암호화 함수의 인자(parameter)로 입력된다. 다시 말해, k 번째 라운드의 단방향 암호화 시에는 k-1번째 라운드의 암호화 값, k번째 라운드의 암호화 시점에서 클라이언트(102)에 출력된 웹 페이지의 정규화 값 및 시드키로부터 k번째로 생성된 난수를 이용하여 단방향 암호화를 수행하게 된다. 단방향 암호화 회수(N)는 클라이언트(102)에서 임의로 정할 수 있다.
한편, 암호화 모듈(206)에서 렌더링된 웹 페이지 전체를 암호화하는 것이 아니라, 웹 페이지 중 일부를 이용하여 암호화를 수행하는 것 또한 가능하다. 즉, 상기 웹 페이지 중 일부의 영역을 무결성 검증 영역으로 설정하고, 상기 무결성 검증 영역에 대해서만 단방향 암호화 함수를 적용하여 상기 클라이언트측 암호화 값을 생성하는 것도 가능하다. 이때 상기 웹 페이지 중 어떤 영역을 무결성 검증 영역으로 정할지에 대해서는 서버(104)와 클라이언트(102)간에 미리(예를 들어, 시드키 교환 시점에) 약속되어 설정될 수 있다.
상술한 과정을 거쳐 암호화가 완료되면, 암호화 모듈(206)은 생성된 클라이언트측 암호화 값 및 암호화 회수(N)를 서버(104)로 송신한다.
도 3은 본 발명의 일 실시예에 따른 서버(104)의 상세 구성을 나타낸 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 서버(104)는 웹 페이지 송신 모듈(300), 정규화 모듈(302), 난수 생성 모듈(304), 암호화 모듈(306) 및 무결성 검증 모듈(308)을 포함한다.
웹 페이지 송신 모듈(300)은 클라이언트(102)의 요청에 따라 웹 페이지를 클라이언트(102)로 송신한다.
정규화 모듈(302)은 웹 페이지 송신 모듈(3000에서 클라이언트(102)로 송신한 상기 웹 페이지를 정규화한다. 정규화 모듈(302)에서의 정규화 과정은 클라이언트(102)에서의 정규화 과정과 동일하다.
난수 생성 모듈(304)은 클라이언트(102)와 공유된 시드키를 이용하여 난수를 생성한다. 난수 생성 모듈(304)에서의 난수 생성 방법 또한 클라이언트(102)에서의 난수 생성 방법과 동일하며, 이에 따라 클라이언트(102)에서와 동일한 난수가 생성된다.
암호화 모듈(306)은 클라이언트(102)로부터 상기 웹 페이지에 대한 단방향 암호화 함수의 적용 회수 정보(N)를 수신하고, 상기 적용 회수만큼 단방향 암호화 함수를 상기 정규화된 웹 페이지에 적용하여 서버측 암호화 값을 생성한다. 이때, 전술한 바와 같이 웹 페이지의 일부를 무결성 검증 영역으로 설정한 경우에는 상기 무결정 검증 영역에 상기 단방향 암호화 함수를 적용하여 서버측 암호화 값을 생성할 수 있다.
무결성 검증 모듈(308)은 암호화 모듈(306)에서 생성된 상기 서버측 암호화 값 및 클라이언트(102)로부터 수신한 클라이언트측 암호화 값을 비교하여 클라이언트로 전송된 웹 페이지의 변조 여부를 판단한다. 상기 클라이언트측 암호화 값 및 서버측 암호화 값은 동일한 시드키 및 단방향 암호화 함수를 이용하여 동일한 회수 만큼 암호화 되었으므로, 클라이언트(102)로 송신된 상기 웹 페이지가 렌더링 이후 변조되지 않았다면 상기 클라이언트측 암호화 값은 상기 서버측 암호화 값과 동일하여야 한다. 반대로 클라이언트(102)로 송신된 상기 웹 페이지가 렌더링 이후 변조되었다면 상기 클라이언트측 암호화 값은 상기 서버측 암호화 값과 달라지게 된다. 즉, 무결성 검증 모듈(308)은 상기 클라이언트측 암호화 값 및 서버측 암호화 값의 동일성 여부를 비교함으로써 클라이언트(102)로 송신된 웹 페이지의 변조 여부를 검증할 수 있게 된다.
도 4는 본 발명의 일 실시예에 따른 웹 페이지 무결성 검증 방법(400)을 도시한 순서도이다. 먼저, 클라이언트(102)와 서버(104)는 난수 생성을 위한 시드키를 서로 공유한다(402). 상기 시드키 공유 방법에는, 예를 들어 SSL 방식의 키 핸드쉐이킹(handshaking) 또는 전자봉투 방식이 사용될 수 있음은 전술하였다. 또한, 전술한 바와 같이, 상기 시드키 공유시 암호화 값을 생성할 무결성 검증 영역이 함께 공유될 수 있다.
다음으로, 서버(104)는 클라이언트(102)의 요청에 따라 웹 페이지를 클라이언트(102)로 송신한다(404). 클라이언트(102)는 수신된 웹 페이지를 렌더링하여 화면상에 출력하고, 상기 시드키 및 단방향 암호화 함수를 이용하여 렌더링된 웹 페이지 또는 상기 웹 페이지 중 기 설정된 무결성 검증 영역에 대한 클라이언트측 암호화 값을 생성한다(406, 408). 구체적으로, 클라이언트(102)는 상기 렌더링된 웹 페이지를 정규화하고, 정규화된 상기 웹 페이지 또는 무결성 검증 영역에 임의의 회수만큼 상기 단방향 암호화 함수를 적용함으로써 클라이언트측 암호화 값을 생성하게 된다. 상기 웹 페이지의 정규화 및 암호화와 관련된 구체적인 사항은 앞서 상세히 설명하였으므로, 여기서는 그 설명을 생략하기로 한다.
이후, 클라이언트(102)는 생성된 상기 클라이언트측 암호화 값 및 단방향 암호화 함수의 적용 회수를 서버(104)로 송신한다(410). 서버(104)는 이를 수신하고, 클라이언트(102)로 송신한 웹 페이지 또는 상기 웹 페이지 중 기 설정된 무결성 검증 영역을 클라이언트(102)와 동일한 과정을 거쳐 암호화하여 서버측 암호화 값을 생성한 뒤(412), 클라이언트측 암호화 값 및 서버측 암호화 값을 서로 비교하여 웹 페이지의 변조 여부를 검증한다(414).
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 웹 페이지 무결성 검증 시스템
102: 클라이언트
104: 서버
106: 네트워크
200: 렌더링 모듈
202: 정규화 모듈
204: 난수 생성 모듈
206: 암호화 모듈
300: 웹 페이지 송신 모듈
302: 정규화 모듈
304: 난수 생성 모듈
306: 암호화 모듈
308: 무결성 검증 모듈

Claims (19)

  1. 서버에서, 웹 페이지를 클라이언트로 송신하는 단계;
    상기 클라이언트에서, 상기 웹 페이지를 렌더링하여 화면상에 출력하는 단계;
    상기 클라이언트에서, 상기 서버와 기 공유된 시드키 및 단방향 암호화 함수를 이용하여 렌더링된 상기 웹 페이지 중 기 설정된 무결성 검증 영역에 대한 클라이언트측 암호화 값을 생성하는 단계;
    상기 클라이언트에서, 생성된 상기 클라이언트측 암호화 값을 상기 서버로 송신하는 단계;
    상기 서버에서, 상기 시드키 및 상기 단방향 암호화 함수를 이용하여 상기 클라이언트로 송신한 상기 무결성 검증 영역에 대한 서버측 암호화 값을 생성하는 단계 및;
    상기 서버에서, 상기 서버측 암호화 값 및 수신된 상기 클라이언트측 암호화 값의 일치 여부를 판단하는 단계를 포함하는 웹 페이지 무결성 검증 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 클라이언트측 암호화 값을 생성하는 단계는, 상기 무결성 검증 영역에 상기 단방향 암호화 함수를 N회(N은 1 이상의 자연수)만큼 반복 적용하여 상기 클라이언트측 암호화 값을 생성하는, 웹 페이지 무결성 검증 방법.
  4. 청구항 3에 있어서,
    상기 클라이언트측 암호화 값을 생성하는 단계는, 렌더링된 상기 웹 페이지를 정규화하는 단계를 더 포함하는, 웹 페이지 무결성 검증 방법.
  5. 청구항 4에 있어서,
    상기 웹 페이지를 정규화하는 단계는,
    상기 웹 페이지에 포함된 모든 문자를 대문자 또는 소문자로 변환하는 단계; 및
    상기 대문자 또는 소문자로 변환된 상기 웹 페이지의 공백을 제거하는 단계를 더 포함하는, 웹 페이지 무결성 검증 방법.
  6. 청구항 5에 있어서,
    상기 대문자 또는 소문자로 변환하는 단계의 수행 전, 상기 웹 페이지 중 상기 클라이언트에 의하여 수정 가능한 영역을 삭제하는 단계를 더 포함하는, 웹 페이지 무결성 검증 방법.
  7. 청구항 4에 있어서,
    상기 웹 페이지를 정규화하는 단계는, XML 정규화 알고리즘을 이용하여 상기 웹 페이지를 정규화하는, 웹 페이지 무결성 검증 방법.
  8. 청구항 3에 있어서,
    상기 클라이언트측 암호화 값을 상기 서버로 송신하는 단계는, 상기 단방향 암호화 함수의 적용 회수를 상기 서버로 송신하는 단계를 더 포함하는, 웹 페이지 무결성 검증 방법.
  9. 청구항 8에 있어서,
    상기 서버측 암호화 값을 생성하는 단계는, 상기 무결성 검증 영역에 수신된 상기 적용 회수만큼 상기 단방향 암호화 함수를 적용하여 상기 서버측 암호화 값을 생성하는, 웹 페이지 무결성 검증 방법.
  10. 청구항 1 및 청구항 3 내지 9 중 어느 한 항에 기재된 방법을 컴퓨터상에서 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  11. 웹 페이지를 송신하는 서버; 및
    상기 서버로부터 수신한 상기 웹 페이지를 렌더링하여 화면상에 출력하고, 상기 서버와 기 공유된 시드키 및 단방향 암호화 함수를 이용하여 렌더링된 상기 웹 페이지 중 기 설정된 무결성 검증 영역에 대한 클라이언트측 암호화 값을 생성하여 상기 서버로 송신하는 클라이언트를 포함하며,
    상기 서버는, 상기 시드키 및 상기 단방향 암호화 함수를 이용하여 상기 클라이언트로 송신한 상기 무결성 검증 영역에 대한 서버측 암호화 값을 생성하고, 상기 서버측 암호화 값 및 수신된 상기 클라이언트측 암호화 값의 일치 여부를 판단하는, 웹 페이지 무결성 검증 시스템.
  12. 삭제
  13. 청구항 11에 있어서,
    상기 클라이언트는, 상기 무결성 검증 영역에 상기 단방향 암호화 함수를 N회(N은 1 이상의 자연수)만큼 반복 적용하여 상기 클라이언트측 암호화 값을 생성하는, 웹 페이지 무결성 검증 시스템.
  14. 청구항 13에 있어서,
    상기 클라이언트는, 상기 단방향 암호화 함수의 적용 전, 렌더링된 상기 웹 페이지를 정규화하는, 웹 페이지 무결성 검증 시스템.
  15. 청구항 14에 있어서,
    상기 클라이언트는, 상기 웹 페이지에 포함된 모든 문자를 대문자 또는 소문자로 변환하고, 상기 대문자 또는 소문자로 변환된 상기 웹 페이지의 공백을 제거함으로써 렌더링된 상기 웹 페이지를 정규화하는, 웹 페이지 무결성 검증 시스템.
  16. 청구항 15에 있어서,
    상기 클라이언트는, 상기 웹 페이지에 포함된 모든 문자를 대문자 또는 소문자로 변환하기 전, 상기 웹 페이지 중 상기 클라이언트에 의하여 수정 가능한 영역을 삭제하는, 웹 페이지 무결성 검증 시스템.
  17. 청구항 14에 있어서,
    상기 클라이언트는, XML 정규화 알고리즘을 이용하여 상기 웹 페이지를 정규화하는, 웹 페이지 무결성 검증 시스템.
  18. 청구항 13에 있어서,
    상기 클라이언트는, 상기 단방향 암호화 함수의 적용 회수를 상기 상기 서버로 송신하는, 웹 페이지 무결성 검증 시스템.
  19. 청구항 18에 있어서,
    상기 서버는, 상기 무결성 검증 영역에 수신된 상기 적용 회수만큼 상기 단방향 암호화 함수를 적용하여 상기 서버측 암호화 값을 생성하는, 웹 페이지 무결성 검증 시스템.
KR1020110139019A 2011-12-21 2011-12-21 웹 페이지 무결성 검증 시스템 및 방법 KR101296384B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110139019A KR101296384B1 (ko) 2011-12-21 2011-12-21 웹 페이지 무결성 검증 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110139019A KR101296384B1 (ko) 2011-12-21 2011-12-21 웹 페이지 무결성 검증 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20130071674A KR20130071674A (ko) 2013-07-01
KR101296384B1 true KR101296384B1 (ko) 2013-08-12

Family

ID=48986606

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110139019A KR101296384B1 (ko) 2011-12-21 2011-12-21 웹 페이지 무결성 검증 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101296384B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017136343A1 (en) * 2016-02-05 2017-08-10 Mcafee, Inc. Trusted indicators to secure visual outputs

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101636708B1 (ko) 2014-10-23 2016-07-20 주식회사 드림시큐리티 2채널 인증을 이용한 웹 사이트 검증 장치 및 그 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060019928A (ko) * 2004-08-30 2006-03-06 인천대학교 산학협력단 전자지불 인증방법
KR20090065415A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 플랫폼 장착용 모듈 및 플랫폼 장착용 모듈을 위한 기능변경 방법
KR20090069291A (ko) * 2006-10-18 2009-06-30 마이크로소프트 코포레이션 Ui 객체들의 화면 위 렌더링시에 진짜 ui 객체들의 식별을 용이하게 하는 검증 시스템, 그것의 컴퓨터 구현 방법 및 컴퓨터 구현 검증 시스템
KR20100062144A (ko) * 2008-12-01 2010-06-10 엔에이치엔비즈니스플랫폼 주식회사 씨드 공유를 이용한 클라이언트 인증 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060019928A (ko) * 2004-08-30 2006-03-06 인천대학교 산학협력단 전자지불 인증방법
KR20090069291A (ko) * 2006-10-18 2009-06-30 마이크로소프트 코포레이션 Ui 객체들의 화면 위 렌더링시에 진짜 ui 객체들의 식별을 용이하게 하는 검증 시스템, 그것의 컴퓨터 구현 방법 및 컴퓨터 구현 검증 시스템
KR20090065415A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 플랫폼 장착용 모듈 및 플랫폼 장착용 모듈을 위한 기능변경 방법
KR20100062144A (ko) * 2008-12-01 2010-06-10 엔에이치엔비즈니스플랫폼 주식회사 씨드 공유를 이용한 클라이언트 인증 방법 및 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017136343A1 (en) * 2016-02-05 2017-08-10 Mcafee, Inc. Trusted indicators to secure visual outputs

Also Published As

Publication number Publication date
KR20130071674A (ko) 2013-07-01

Similar Documents

Publication Publication Date Title
US8959336B1 (en) Securing locally stored web-based database data
US20140282464A1 (en) Systems and methods for intercepting, processing, and protecting user data through web application pattern detection
WO2011129977A2 (en) Streaming insertion of tokens into content to protect against csrf
US20150319189A1 (en) Protecting websites from cross-site scripting
CN106911684B (zh) 一种鉴权方法及系统
WO2010108421A1 (zh) 鉴别网站的方法及装置
US11882327B2 (en) Verifying display of third party content at a client device
CN111881337B (zh) 一种基于Scrapy框架的数据采集方法、系统及存储介质
CN103414727A (zh) 针对input密码输入框的加密保护系统及其使用方法
KR101452299B1 (ko) 무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버
CN104486301A (zh) 登录验证方法及装置
KR101296384B1 (ko) 웹 페이지 무결성 검증 시스템 및 방법
Ghazi et al. DB-SECaaS: a cloud-based protection system for document-oriented NoSQL databases
CN112653695A (zh) 一种实现反爬虫的方法及系统
Hajiali et al. Preventing phishing attacks using text and image watermarking
CN106470186B (zh) 一种以跳转方式访问第三方资源的方法
Aljawarneh Emerging challenges, security issues, and Technologies in Online Banking Systems
KR100915003B1 (ko) 웹 환경에서의 안전한 사용자 세션 관리 방법 및 시스템,이를 수행하는 프로그램이 기록된 기록매체
Aturban et al. Difficulties of timestamping archived web pages
KR20150144009A (ko) 단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법
Komathy et al. Security for XML messaging services—a component-based approach
KR101200331B1 (ko) 크로스 도메인 간 전자서명 방법
Islam et al. An approach to security for unstructured big data
CN114760078B (zh) 一种防止恶意篡改页面请求参数的方法和系统
KR101001765B1 (ko) 씨드 공유를 이용한 클라이언트 인증 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160729

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170526

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180618

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190612

Year of fee payment: 7