KR20180136263A - 클라이언트 식별 기반 웹 서비스 제공 시스템 - Google Patents

클라이언트 식별 기반 웹 서비스 제공 시스템 Download PDF

Info

Publication number
KR20180136263A
KR20180136263A KR1020170074989A KR20170074989A KR20180136263A KR 20180136263 A KR20180136263 A KR 20180136263A KR 1020170074989 A KR1020170074989 A KR 1020170074989A KR 20170074989 A KR20170074989 A KR 20170074989A KR 20180136263 A KR20180136263 A KR 20180136263A
Authority
KR
South Korea
Prior art keywords
information
browser
web
server
processing information
Prior art date
Application number
KR1020170074989A
Other languages
English (en)
Other versions
KR101976126B1 (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 KR1020170074989A priority Critical patent/KR101976126B1/ko
Publication of KR20180136263A publication Critical patent/KR20180136263A/ko
Application granted granted Critical
Publication of KR101976126B1 publication Critical patent/KR101976126B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • G06F17/30876
    • 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
    • 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]
    • H04L67/42
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]

Landscapes

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

Abstract

클라이언트 식별 기반 웹 서비스 제공 시스템이 개시된다. 이 시스템은 웹 브라우저를 포함한 클라이언트 단말, 및 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하는 웹 서버를 포함하는 서버 시스템을 포함한다. 클라이언트 단말의 웹 브라우저는 자체 지원하는 복수의 라이브러리 객체들을 이용하여 클라이언트 단말을 식별하기 위한 정보들을 수집하여 웹 서버로 전송하며, 서버 시스템은 웹 브라우저로부터 수신된 수집 정보의 위변조 여부를 검증하고 클라이언트를 식별한다.

Description

클라이언트 식별 기반 웹 서비스 제공 시스템{Web service providing system based on client identification}
본 발명은 웹 서비스를 제공하는 기술에 관한 것으로, 특히 클라이언트를 식별하고 그 식별 결과에 따라 웹 서비스를 제공하는 기술에 관한 것이다.
웹 서버에 접속한 클라이언트를 식별하기 위한 기술이 잘 알려져 있다. 그리고 기존에 클라이언트 식별을 위해 요구되는 클라이언트 정보 수집을 위해서는 플러그인(Plug-in), 액티브엑스(Active-X), EXE 형태의 프로그램 설치가 필수적이었다.
관련하여, 국내등록특허공보 제10-1005093호에는 클라이언트 식별 방법 및 장치에 대해 개시되어 있다. 이 공보에 개시된 모니터링 서버는 사용자 단말기 및 웹 서버와 통신망을 통해 연결되어 상기 웹 서버에 접속한 사용자 단말기에 상응하는 클라이언트를 식별한다. 이를 위해, 모니터링 서버는 구동부와 정보 획득부 및 분석부를 포함한다. 구동부는 웹 서버로부터 사용자 단말기의 접속에 상응하는 호출 명령이 수신되면, 사용자 단말기의 웹 브라우저로 플러그인 구동 명령을 생성하여 전송한다. 정보 획득부는 플러그인 구동 명령에 따라 구동된 웹 브라우저 플러그인으로부터 사용자 단말기에 상응하는 식별 정보 및 설정 정보 중 하나 이상을 획득한다. 그리고 분석부는 획득된 식별 정보 및 설정 정보 중 하나 이상을 이용하여 사용자 단말기에 상응하는 클라이언트를 식별한다.
이상에 따르면, 쿠키나 액티브엑스 등을 이용하지 않고서도 클라이언트를 식별할 수 있게 된다. 하지만 플러그인 설치는 필수적이다.
국내등록특허공보 제10-1005093호 (2011년 1월 4일 공고)
본 발명은 클라이언트에 일체의 프로그램 설치 없이도 클라이언트 정보를 수집하여 식별할 수 있는 방안을 제공함을 목적으로 한다.
일 양상에 따른 클라이언트 식별 기반 웹 서비스 제공 시스템은 웹 브라우저를 포함한 클라이언트 단말, 및 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하는 웹 서버를 포함하는 서버 시스템을 포함한다. 웹 브라우저는 복수의 라이브러리 객체들을 이용하여 클라이언트 단말을 식별하기 위한 정보들을 수집하는 정보 수집부, 수집 정보의 일부를 이용하여 브라우저 식별자를 생성하는 식별자 생성부, 수집 정보의 적어도 일부와 브라우저 식별자를 조합한 제 1-1 암호화값과 수집 정보 중에서 웹 브라우저와 무관한 정보를 조합한 제 1-2 암호화값을 포함한 제 1 가공 정보를 생성하는 가공 정보 생성부, 및 수집 정보와 브라우저 식별자 및 제 1 가공 정보를 서버 시스템으로 전송하는 정보 전송부를 포함할 수 있다. 그리고 웹 서버는 웹 브라우저로부터 수집 정보와 브라우저 식별자 및 제 1 가공 정보를 수신하고, 수신된 수집 정보의 적어도 일부와 수신된 브라우저 식별자를 조합한 제 2-1 암호화값과 수신된 수집 정보 중에서 웹 브라우저와 무관한 정보를 조합한 제 2-2 암호화값을 포함한 제 2 가공 정보를 생성하며, 제 1 가공 정보와 제 2 가공 정보를 비교하여 위변조 여부를 검증할 수 있다.
정보 수집부의 라이브러리 객체들은 fingerprint2, navigator, webgl일 수 있다.
식별자 생성부는 수집 정보 중에서 사용자 에이전트(User Agent), 언어(Language), 색심도(Color Depth), 화면 배율(Pixel Ratio), 프로세서 개수(CPU Cores), 모니터 해상도(Screen Resolution), 브라우저 해상도(Available Screen Resolution), 타임존(Timezone), 세션 스토리지(Session Storage), 로컬 스토리지(Local Storage), 인덱스드 데이타베이스(Indexed DB), Add Behavior, 오픈 데이타베이스(Open Database), CPU 클래스(CPU Class), 플랫폼(Platform), Do Not Track, 플러그인(Plugins), Canvas WebGL, AdBlock, Has Lied Language, Has Lied Resolution, Has Lied OS, Has Lied Browser를 이용하여 브라우저 식별자를 생성할 수 있다.
가공 정보 생성부는 브라우저 식별자와 수집 정보에 속한 항목들 중에서 브라우저 명(Name), 브라우저 버전(Major Version), 브라우저 전체 버전(Version), 사용자 에이전트(User Agent), 색심도(Color Depth), 모니터 해상도(Screen Resolution), 브라우저 해상도(Available Screen Resolution), 타임존(Timezone), 플랫폼(Platform)을 조합한 제 1-1 암호화값을 생성할 수 있다.
가공 정보 생성부는 수집 정보에 속한 항목들 중에서 모니터 해상도(Screen Resolution)와 타임존(Timezone) 및 플랫폼(Platform)을 조합한 제 1-2 암호화값을 생성할 수 있다.
서버 시스템은 웹 서버의 위변조 여부 검증 결과 이상이 없을 경우에 웹 서버로부터 수신된 사용자 식별자와 브라우저 식별자 및 제 1 가공 정보를 이용하여 클라이언트를 식별하며, 그 식별 결과를 웹 서버로 회신하는 인증 서버를 더 포함할 수 있다.
인증 서버는 웹 서버로부터 수신된 브라우저 식별자와 제 1 가공 정보를 데이터베이스에 기등록된 해당 사용자 식별자의 브라우저 식별자 및 제 1 가공 정보와 비교하여 모두 일치할 경우 제 1 식별 조건을 충족한 것으로 식별 결과를 회신하고, 제 1 가공 정보 중에서 제 1-2 암호화값만이 일치할 경우 제 2 식별 조건을 충족한 것으로 식별 결과를 회신할 수 있다. 그리고 웹 서버는 제 1 식별 조건이 충족된 경우에는 추가 인증 없이 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하며, 제 2 식별 조건이 충족된 경우에는 추가 인증 후에 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공할 수 있다.
한편, 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하는 웹 서버를 포함하는 서버 시스템에서 수행되는 클라이언트 식별 기반 웹 서비스 제공 방법은 웹 서버가 웹 브라우저로부터 수집 정보와 브라우저 식별자 및 제 1 가공 정보를 수신하는 단계, 웹 서버가 수신된 수집 정보의 적어도 일부와 수신된 브라우저 식별자를 조합한 제 2-1 암호화값과 수신된 수집 정보 중에서 웹 브라우저와 무관한 정보를 조합한 제 2-2 암호화값을 포함한 제 2 가공 정보를 생성하는 단계, 및 웹 서버가 제 1 가공 정보와 제 2 가공 정보를 비교하여 위변조 여부를 검증하는 단계를 포함할 수 있다.
개시된 바에 따르면, 클라이언트에 일체의 프로그램 설치 없이도 웹 브라우저만으로 클라이언트 정보를 수집하여 클라이언트 식별할 수 있게 된다.
도 1은 일 실시예에 따른 클라이언트 식별 시스템 블록도이다.
도 2는 일 실시예에 클라이언트 단말의 웹 브라우저 블록도이다.
도 3 및 도 4는 웹 브라우저의 수집 정보 예시도이다.
도 5은 일 실시예에 따른 클라이언트 식별 방법 흐름도이다.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 클라이언트 식별 시스템 블록도이며, 도 2는 일 실시예에 클라이언트의 웹 브라우저 블록도이다. 도 1에 도시된 바와 같이, 클라이언트 식별 시스템(혹은 ‘클라이언트 식별 및 웹 서비스 제공 시스템’이라 부를 수도 있다)은 클라이언트 단말(100)과 서버 시스템(200)을 포함한다. 클라이언트 단말(이하 ‘클라이언트’라 한다)(100)은 데스크톱 컴퓨터, 노트북, 모바일 단말 등을 예로 들 수 있으며, 웹 브라우저(110)가 운용될 수 있는 단말이면 제한이 없다. 클라이언트(100)에 설치되어 실행되는 웹 브라우저(110)로는 인터넷 익스플로러(Internet Explorer, IE), 크롬(Chrome), 오페라(Opera), 사파리(Safari), 파이어폭스(Firefox), 에지(Edge) 등을 예로 들 수 있으며, 둘 이상의 브라우저가 클라이언트(100)에 설치되어 실행될 수 있음은 물론이다. 이 같은 웹 브라우저(110)는 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)를 이용해 서버 시스템(200)에 접속 및 사용자 식별자(사용자 ID)로 로그인하여 웹 서비스를 요청 및 제공받을 수 있다.
서버 시스템(200)은 웹 서버(210)를 포함한다. 또한, 서버 시스템(200)은 인증 서버(220)도 포함할 수 있다. 웹 서버(210)는 클라이언트(100)에 포함된 웹 브라우저(110)로 웹 서비스를 제공하는 역할을 할 수 있다. 웹 서버(210)에 의헤 제공되는 웹 서비스는 이체 등의 전자금융 웹 서비스일 수 있다. 인증 서버(220)는 FDS(Fraud Detection System) 서버일 수 있으며, 웹 서버(210)의 요청에 따라 클라이언트(100)를 식별하는 역할을 할 수 있다. 이 같은 서버 시스템(200)은 웹 브라우저(110)로 웹 서비스를 제공하기에 앞서 클라이언트(100)를 식별하는데, 이를 위해 웹 브라우저(110)는 클라이언트(100)를 식별할 수 있는 정보를 수집하여 웹 서버(210)로 전송한다. 일 양상에 따른 웹 브라우저(110)는 자체적으로 클라이언트 식별을 위한 정보를 수집한다. 이를 위해, 웹 브라우저(110)는 HTML5(Hyper Text Markup Language 5)를 지원할 수 있으며, HTML5를 이용하여 정보를 수집할 수 있다. 웹 브라우저(110)는 자체적으로 클라이언트 식별용 정보를 수집할 수 있는바, 정보 수집을 위한 별도의 Plug-in, Active-X 등의 설치가 필요 없다. 다만, HTML 5 브라우저를 이용한 정보 수집에는 제한이 있는데, HDD(Hard Disk Drive) 시리얼, MAC ID 등의 키(Key) 값은 수집이 불가하기 때문이다. 따라서, 제한된 수집 정보를 어떻게 가공 응용하여 클라이언트를 식별할 것인지가 중요하다.
도 2에 도시된 바와 같이, 웹 브라우저(110)는 정보 수집부(111)와 식별자 생성부(112)와 가공 정보 생성부(113) 및 정보 전송부(114)를 포함한다. 정보 수집부(111)는 복수의 라이브러리 객체들을 이용하여 서버 시스템(200)에서 클라이언트(100)를 식별하기 위한 정보를 수집한다. 일 실시예에 있어서, 정보 수집의 주체가 되는 라이브러리 객체들은 fingerprint2, navigator, webgl이다. Fingerprint2는 브라우저 고유 아이디, 해상도 등을 수집하고, navigator는 브라우저 정보를 수집하며, webgl은 그래픽 정보를 수집한다. 이들에 의해 수집될 수 있는 정보 항목(변수/변수명)들이 도 3 및 도 4에 도시되어 있다. 도 3내지 도 5에는 총 34가지의 수집 항목들이 예시되어 있는데, 웹 브라우저 종류에 따라 34가지 수집 항목들 중에서 실제로 수집할 수 있는 항목들에는 차이가 있다.
식별자 생성부(112)는 정보 수집부(111)에 의해 수집된 정보들 중에서 적어도 일부를 가지고 브라우저 식별자(브라우저 ID)를 생성한다. 식별자 생성부(112)는 HTML5에서 canvas, webgl 객체를 이용해 브라우저 고유의 필적을 생성할 수 있으며, 이 필적을 가지고 브라우저 ID를 생성할 수 있다. 일 실시예에 있어서, 식별자 생성부(112)는 수집 정보 중에서 사용자 에이전트(User Agent), 언어(Language), 색심도(Color Depth), 화면 배율(Pixel Ratio), 프로세서 개수(CPU Cores), 모니터 해상도(Screen Resolution), 브라우저 해상도(Available Screen Resolution), 타임존(Timezone), 세션 스토리지(Session Storage), 로컬 스토리지(Local Storage), 인덱스드 데이타베이스(Indexed DB), Add Behavior, 오픈 데이타베이스(Open Database), CPU 클래스(CPU Class), 플랫폼(Platform), Do Not Track, 플러그인(Plugins), Canvas WebGL, AdBlock, Has Lied Language, Has Lied Resolution, Has Lied OS, Has Lied Browser를 이용하여 브라우저 ID를 생성한다.
가공 정보 생성부(113)는 수집 정보와 브라우저 ID를 가지고 제 1 가공 정보를 생성한다. 가공 정보 생성부(113)는 제 1 가공 정보는 암호화된 정보일 수 있는데, 해시 알고리즘으로 암호화된 정보일 수 있다. 그리고 해시 알고리즘은 SHA(Secure Hash Algorithm)일 수 있다. 일 실시예에 있어서, 제 1 가공 정보는 제 1-1 암호화값과 제 1-2 암호화값으로 이루어진다. 가공 정보 생성부(113)는 수집 정보의 적어도 일부와 브라우저 ID를 조합하고 암호화하여 제 1-1 암호화값을 생성할 수 있다. 이때, 수집 정보의 적어도 일부 항목은 브라우저 명(Name), 브라우저 버전(Major Version), 브라우저 전체 버전(Version), 사용자 에이전트(User Agent), 색심도(Color Depth), 모니터 해상도(Screen Resolution), 브라우저 해상도(Available Screen Resolution), 타임존(Timezone), 플랫폼(Platform)일 수 있다. 이 9개의 항목들은 브라우저 종류(IE, Chrome, Opera, Safari, Firefox, Edge)와 무관하게 공통적으로 수집되는 정보로서, 가공 정보 생성부(113)는 이 9개의 항목들과 브라우저 ID를 가지고 제 1-1 암호화값을 생성할 수 있다. 또한, 가공 정보 생성부(113)는 수집 정보 중에서 브라우저와 무관한 정보를 조합하고 암호화하여 제 1-2 암호화값을 생성할 수 있다. 이때, 브라우저와 무관한 정보는 모니터 해상도(Screen Resolution)와 타임존(Timezone) 및 플랫폼(Platform)일 수 있다.
정보 전송부(114)는 수집 정보와 브라우저 ID 및 제 1 가공 정보(제 1-1 암호화값, 제 1-2 암호화값)를 웹 서버(210)로 전송한다. 이때, 정보 전송부(114)는 수집 정보와 브라우저 ID 및 제 1 가공 정보를 연속된 스트링의 형태로 조합하여 전송할 수 있다. HTTPS 환경일 경우, 정보 전송부(114)는 당연히 SSL 암호화하여 전송한다.
다시 도 1로 돌아와서, 웹 서버(210)는 클라이언트(100)로부터 수집 정보와 브라우저 ID 및 제 1 가공 정보를 수신한다. 이때, SSL 암호화되어 있을 경우에는 당연히 SSL 복호화를 수행하며, 복호화된 스트링 정보를 수집 정보와 브라우저 ID 및 가공 정보로 분리한다. 웹 서버(210)는 수신된 수집 정보와 브라우저 ID를 가지고 제 1 가공 정보에 대응되는 제 2 가공 정보를 생성한다. 일 실시예에 있어서, 제 2 가공 정보는 제 2-1 암호화값과 제 2-2 암호화값으로 이루어진다. 웹 서버(210)는 수신된 수집 정보의 적어도 일부와 수신된 브라우저 ID를 조합하고 암호화하여 제 2-1 암호화값을 생성할 수 있다. 이때, 수신된 수집 정보의 적어도 일부는 웹 브라우저(110)에서 제 1-1 암호화값을 생성하는데 이용된 항목들과 일치한다. 또한, 웹 서버(210)는 수신된 수집 정보 중에서 브라우저와 무관한 정보를 조합하고 암호화하여 제 2-2 암호화값을 생성할 수 있다. 이때, 브라우저와 무관한 정보는 웹 브라우저(110)에서 제 1-2 암호화값을 생성하는데 이용된 항목들과 일치한다.
웹 서버(210)는 제 1 가공 정보와 생성된 제 2 가공 정보를 비교하여 클라이언트(100)에서 수집 정보가 위변조되었는지 여부를 검증한다. 즉, 웹 서버(210)는 제 1-1 암호화값 및 제 1-2 암호화값을 각각 제 2-1 암호화값 및 제 2-2 암호화값과 비교하여 일치하는지 확인한다. 모두 일치할 경우, 웹 서버(210)는 클라이언트(100)에서 위변조가 이루어지지 않은 것으로 판단한다. 위변조가 이루어지지 않은 경우, 클라이언트(100)는 사용자 ID와 브라우저 ID 및 제 1 가공 정보를 인증 서버(220)로 전송할 수 있다. 그러나 어느 하나라도 일치하지 않을 경우, 웹 서버(210)는 클라이언트(100)에서 위변조가 이루어진 것으로 판단하여 비정상적으로 접속한 것으로 처리한다.
서버 시스템(200)의 인증 서버(220)는 웹 서버(210)로부터 수신된 사용자 ID와 브라우저 ID 및 제 1 가공 정보(제 1 암호화값, 제 2 암호화값)를 이용하여 클라이언트(100)를 식별한다. 구체적으로, 인증 서버(220)는 수신된 사용자 ID를 가지고 내부 데이터베이스를 검색하고, 검색된 사용자 ID에 매핑 등록되어 있는 브라우저 ID와 제 1 가공 정보를 확인한 후에 수신된 브라우저 ID 및 제 1 가공 정보와 일치하는지 비교한다. 비교 결과 모두 일치할 경우, 인증 서버(220)는 제 1 식별 조건을 충족한 것으로 판단하여 식별 결과를 회신할 수 있다. 비교 결과 브라우저 ID와 제 1 암호화값은 일치하지 않고 제 2 암호화값만이 일치할 경우, 인증 서버(220)는 제 2 식별 조건을 충족한 것으로 판단하여 식별 결과를 회신할 수 있다. 이와 달리, 데이터베이스에 사용자 ID와 관련하여 브라우저 ID와 제 1 가공 정보가 매핑 등록되어 있지 않을 경우, 인증 서버(220)는 식별이 불가한 것으로 판단하여 식별 결과를 회신할 수 있다.
웹 서버(210)는 인증 서버(220)로부터 식별 결과를 수신하며, 그 식별 결과에 따라 웹 서비스를 제공한다. 확인된 식별 결과가 제 1 식별 조건이 충족됨을 나타내는 경우, 웹 서버(210)는 사용자에 대한 추가 인증 없이 웹 브라우저(110)로 이체 등의 전자금융 웹 서비스를 제공할 수 있다. 확인된 식별 결과가 제 2 식별 조건이 충족됨을 나타내는 경우, 웹 서버(210)는 사용자에 대한 추가 인증 후에 웹 브라우저(110)로 이체 등의 전자금융 웹 서비스를 제공할 수 있다. 추가 인증이라 함은 잘 알려진 모바일 SMS 인증 등을 예로 들 수 있다. 확인된 식별 결과가 식별 불가를 나타내는 경우, 웹 서버(210)는 웹 서비스 이용이 불가함을 웹 브라우저(110)로 통지할 수 있다.
이상에서와 같이, 클라이언트 식별 시스템은 수집 정보를 가공하여 가공 정보를 생성하고 이를 이용하여 위변조 여부를 검증하는바, 클라이언트에서 발생할 수 있는 수집 정보의 위변조를 방지할 수 있다. 또한, 클라이언트 식별 시스템은 수집 정보를 가지고 제 1-1 암호화값과 제 1-2 암호화값을 별도로 가공 생성하는데, 제1-2 암호화값은 브라우저 환경과 무관하게 클라이언트를 식별하기 위해 이용된다. 부연하면, 브라우저 ID의 경우에는 필적 조건, 브라우저 버전, 브라우저 종류 등 클라이언트 조건에 따라 상이하게 생성되므로, 정확성은 다소 낮더라도 브라우저 환경과 무관하게 클라이언트를 식별할 목적으로 이용되는 것이다.
도 5은 일 실시예에 따른 클라이언트 식별 방법 흐름도이다. 웹 브라우저(110)는 웹 서버(210)로 웹페이지 https 접속을 시도하며(S100), 웹 서버(210)는 웹 브라우저(110)로 웹 서비스 페이지 응답을 한다(S150). 일 예로, S100은 사용자 ID를 이용한 로그인 과정일 수 있다. 웹 브라우저(110)는 웹 서버(210)에서의 클라이언트 식별을 위한 정보를 수집한다. 일 실시예에 있어서, 웹 브라우저(110)는 fingerprint2, navigator, webgl을 이용하여 도 3 및 도 4에 예시된 바와 같은 정보 항목들을 수집한다(S200). 웹 브라우저(110)는 수집 정보를 이용하여 브라우저 ID를 생성하며, 제 1 가공 정보를 생성한다(S250). 제 1 가공 정보는 제 1-1 암호화값(A)과 제 1-2 암호화값(B)으로 이루어지며, 상술한 바와 같다. 웹 브라우저(110)는 수집 정보와 브라우저 ID와 A 및 B를 웹 서버(210)로 전송한다(S300). 웹 서버(210)는 수집 정보와 브라우저 ID와 A 및 B를 수신하며, 수신된 수집 정보에 대한 위변조 여부를 검증한다(S350).
위변조 여부 검증 실시예에 대해 설명한다. 웹 서버(210)는 수신된 수집 정보와 브라우저 ID를 이용하여 제 2 가공 정보를 생성한다. 제 2 가공 정보는 제 2-1 암호화값(A´)과 제 2-2 암호화값(B´)으로 이루어지며, 상술한 바와 같다. 웹 서버(210)는 A와 A´가 동일한지 그리고 B와 B´가 동일한지 비교함에 의해 클라이언트(100)에서 A와 B가 위변조되었는지 여부를 검증한다. A 및 B가 A´ 및 B´와 동일한 것으로 확인되면, 웹 서버(210)는 A와 B가 위변조되지 않은 것으로 판단한다.
A와 B가 위변조되지 않은 것으로 판단되면, 웹 서버(210)는 수신된 수집 정보를 저장하며(S400), 사용자 ID와 브라우저 ID와 A 및 B를 인증 서버(220)로 전송하면서 클라이언트 식별을 요청한다(S450). 여기서, 사용자 ID는 웹 브라우저(110)가 웹 서버(210)에 접속하기 위해 이용된 것으로, 웹 서버(210)가 이미 알고 있는 정보이다. 인증 서버(220)는 사용자 ID와 브라우저 ID와 A 및 B를 수신하며, 이를 이용하여 클라이언트(100)가 접속 이력이 있는 단말이지 여부를 확인한 후 그 결과를 웹 서버(210)로 회신한다. 즉, 클라이언트(100)를 식별하여 식별 결과를 웹 서버(210)로 회신하는 것이다(S500)(S550).
클라이언트 식별 실시예에 대해 설명한다. 인증 서버(220)는 수신된 사용자 ID에 대해 매핑 등록된 브라우저 ID와 A 및 B를 내부 데이터베이스에서 검색한다. 검색에 실패하면, 인증 서버(220)는 식별이 불가한 것으로 판단한다. 검색에 성공하면, 인증 서버(220)는 검색된 브라우저 ID와 A 및 B를 웹 서버(210)로부터 수신된 브라우저 ID와 A 및 B와 일치하는지 비교한다. 비교 결과 모두 일치할 경우, 인증 서버(220)는 제 1 식별 조건을 충족한 것으로 판단한다. 비교 결과 B만이 일치할 경우, 인증 서버(220)는 제 2 식별 조건을 충족한 것으로 판단한다.
웹 서버(210)는 인증 서버(220)로부터 식별 결과를 수신하여 확인하며, 확인된 식별 결과에 따라 해당되는 후속 처리를 수행한다(S600). S600에서의 실시예에 대해 설명하면, 웹 서버(210)는 제 1 식별 조건이 충족된 경우에는 추가 인증 없이 웹 브라우저(110)로 이체 등의 전자 금융 웹 서비스를 제공하고, 제 2 식별 조건이 충족된 경우에는 추가 인증을 위한 웹페이지를 웹 브라우저에 제공하여 추가 인증을 수행하며, 식별 불가인 경우에는 웹 서비스 이용이 불가함을 웹 브라우저(110)에 알린다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
100 : 클라이언트 단말 110 : 웹 브라우저
111 : 정보 수집부 112 : 식별자 생성부
113 : 가공 정보 생성부 114 : 정보 전송부
200 : 서버 시스템 210 : 웹 서버
220 : 인증 서버

Claims (12)

  1. 웹 브라우저를 포함한 클라이언트 단말; 및
    클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하는 웹 서버를 포함하는 서버 시스템;을 포함하는 클라이언트 식별 시스템에 있어서,
    웹 브라우저는 :
    복수의 라이브러리 객체들을 이용하여 클라이언트 단말을 식별하기 위한 정보들을 수집하는 정보 수집부;
    수집 정보의 일부를 이용하여 브라우저 식별자를 생성하는 식별자 생성부;
    수집 정보의 적어도 일부와 브라우저 식별자를 조합한 제 1-1 암호화값과 수집 정보 중에서 웹 브라우저와 무관한 정보를 조합한 제 1-2 암호화값을 포함한 제 1 가공 정보를 생성하는 가공 정보 생성부; 및
    수집 정보와 브라우저 식별자 및 제 1 가공 정보를 서버 시스템으로 전송하는 정보 전송부;를 포함하며,
    웹 서버는 웹 브라우저로부터 수집 정보와 브라우저 식별자 및 제 1 가공 정보를 수신하고, 수신된 수집 정보의 적어도 일부와 수신된 브라우저 식별자를 조합한 제 2-1 암호화값과 수신된 수집 정보 중에서 웹 브라우저와 무관한 정보를 조합한 제 2-2 암호화값을 포함한 제 2 가공 정보를 생성하며, 제 1 가공 정보와 제 2 가공 정보를 비교하여 위변조 여부를 검증하는 클라이언트 식별 기반 웹 서비스 제공 시스템.
  2. 제 1 항에 있어서,
    정보 수집부의 라이브러리 객체들은 fingerprint2, navigator, webgl인 클라이언트 식별 기반 웹 서비스 제공 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    식별자 생성부는 수집 정보 중에서 사용자 에이전트(User Agent), 언어(Language), 색심도(Color Depth), 화면 배율(Pixel Ratio), 프로세서 개수(CPU Cores), 모니터 해상도(Screen Resolution), 브라우저 해상도(Available Screen Resolution), 타임존(Timezone), 세션 스토리지(Session Storage), 로컬 스토리지(Local Storage), 인덱스드 데이타베이스(Indexed DB), Add Behavior, 오픈 데이타베이스(Open Database), CPU 클래스(CPU Class), 플랫폼(Platform), Do Not Track, 플러그인(Plugins), Canvas WebGL, AdBlock, Has Lied Language, Has Lied Resolution, Has Lied OS, Has Lied Browser를 이용하여 브라우저 식별자를 생성하는 클라이언트 식별 기반 웹 서비스 제공 시스템.
  4. 제 1 항 또는 제 2 항에 있어서,
    가공 정보 생성부는 브라우저 식별자와 수집 정보에 속한 항목들 중에서 브라우저 명(Name), 브라우저 버전(Major Version), 브라우저 전체 버전(Version), 사용자 에이전트(User Agent), 색심도(Color Depth), 모니터 해상도(Screen Resolution), 브라우저 해상도(Available Screen Resolution), 타임존(Timezone), 플랫폼(Platform)을 조합한 제 1-1 암호화값을 생성하는 클라이언트 식별 기반 웹 서비스 제공 시스템.
  5. 제 1 항 또는 제 2 항에 있어서,
    가공 정보 생성부는 수집 정보에 속한 항목들 중에서 모니터 해상도(Screen Resolution)와 타임존(Timezone) 및 플랫폼(Platform)을 조합한 제 1-2 암호화값을 생성하는 클라이언트 식별 기반 웹 서비스 제공 시스템.
  6. 제 1 항 또는 제 2 항에 있어서, 서버 시스템은 :
    웹 서버의 위변조 여부 검증 결과 이상이 없을 경우에 웹 서버로부터 수신된 사용자 식별자와 브라우저 식별자 및 제 1 가공 정보를 이용하여 클라이언트를 식별하며, 그 식별 결과를 웹 서버로 회신하는 인증 서버;
    를 더 포함하는 클라이언트 식별 기반 웹 서비스 제공 시스템.
  7. 제 6 항에 있어서,
    인증 서버는 웹 서버로부터 수신된 브라우저 식별자와 제 1 가공 정보를 데이터베이스에 기등록된 해당 사용자 식별자의 브라우저 식별자 및 제 1 가공 정보와 비교하여 모두 일치할 경우 제 1 식별 조건을 충족한 것으로 식별 결과를 회신하고, 제 1 가공 정보 중에서 제 1-2 암호화값만이 일치할 경우 제 2 식별 조건을 충족한 것으로 식별 결과를 회신하며,
    웹 서버는 제 1 식별 조건이 충족된 경우에는 추가 인증 없이 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하며, 제 2 식별 조건이 충족된 경우에는 추가 인증 후에 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하는 클라이언트 식별 기반 웹 서비스 제공 시스템.
  8. 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하는 웹 서버를 포함하는 서버 시스템에서 수행되는 클라이언트 식별 방법에 있어서,
    웹 서버는 웹 브라우저로부터 수집 정보와 브라우저 식별자 및 제 1 가공 정보를 수신하는 단계;
    웹 서버는 수신된 수집 정보의 적어도 일부와 수신된 브라우저 식별자를 조합한 제 2-1 암호화값과 수신된 수집 정보 중에서 웹 브라우저와 무관한 정보를 조합한 제 2-2 암호화값을 포함한 제 2 가공 정보를 생성하는 단계; 및
    웹 서버는 제 1 가공 정보와 제 2 가공 정보를 비교하여 위변조 여부를 검증하는 단계;
    를 포함하는 클라이언트 식별 기반 웹 서비스 제공 방법.
  9. 제 8 항에 있어서,
    제 2 가공 정보 생성 단계는 수신된 브라우저 식별자와 수신된 수집 정보에 속한 항목들 중에서 브라우저 명(Name), 브라우저 버전(Major Version), 브라우저 전체 버전(Version), 사용자 에이전트(User Agent), 색심도(Color Depth), 모니터 해상도(Screen Resolution), 브라우저 해상도(Available Screen Resolution), 타임존(Timezone), 플랫폼(Platform)을 조합한 제 2-1 암호화값을 생성하는 클라이언트 식별 기반 웹 서비스 제공 방법.
  10. 제 8 항에 있어서,
    제 2 가공 정보 생성 단계는 수신된 수집 정보에 속한 항목들 중에서 모니터 해상도(Screen Resolution)와 타임존(Timezone) 및 플랫폼(Platform)을 조합한 제 1-2 암호화값을 생성하는 클라이언트 식별 기반 웹 서비스 제공 방법.
  11. 제 8 항 내지 제 10 항 중 어느 한 항에 있어서,
    웹 서버는 위변조 여부 검증 결과 이상이 없을 경우에 서버 시스템에 포함된 인증 서버로 사용자 식별자와 브라우저 식별자 및 제 1 가공 정보를 전송하는 단계;
    인증 서버는 웹 서버로부터 수신된 사용자 식별자와 브라우저 식별자 및 제 1 가공 정보를 이용하여 클라이언트를 식별하는 단계; 및
    인증 서버는 식별 결과를 웹 서버로 회신하는 단계;
    를 더 포함하는 클라이언트 식별 기반 웹 서비스 제공 방법.
  12. 제 11 항에 있어서,
    인증 서버는 웹 서버로부터 수신된 브라우저 식별자와 제 1 가공 정보를 데이터베이스에 기등록된 해당 사용자 식별자의 브라우저 식별자 및 제 1 가공 정보와 비교하는 단계;
    인증 서버는 비교 결과 모두 일치할 경우 제 1 식별 조건을 충족한 것으로 식별 결과를 회신하며, 제 1 가공 정보 중에서 제 1-2 암호화값만이 일치할 경우 제 2 식별 조건을 충족한 것으로 식별 결과를 회신하는 단계; 및
    웹 서버는 식별 결과를 통해 제 1 식별 조건이 충족된 것으로 확인되면 추가 인증 없이 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하며, 제 2 식별 조건이 충족된 것으로 확인되면 추가 인증 후에 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하는 단계;
    를 더 포함하는 클라이언트 식별 기반 웹 서비스 제공 방법.
KR1020170074989A 2017-06-14 2017-06-14 클라이언트 식별 기반 웹 서비스 제공 시스템 KR101976126B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170074989A KR101976126B1 (ko) 2017-06-14 2017-06-14 클라이언트 식별 기반 웹 서비스 제공 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170074989A KR101976126B1 (ko) 2017-06-14 2017-06-14 클라이언트 식별 기반 웹 서비스 제공 시스템

Publications (2)

Publication Number Publication Date
KR20180136263A true KR20180136263A (ko) 2018-12-24
KR101976126B1 KR101976126B1 (ko) 2019-05-08

Family

ID=65010285

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170074989A KR101976126B1 (ko) 2017-06-14 2017-06-14 클라이언트 식별 기반 웹 서비스 제공 시스템

Country Status (1)

Country Link
KR (1) KR101976126B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102090223B1 (ko) * 2019-06-07 2020-03-17 쉬프트정보통신 주식회사 데이터 위변조방지를 위한 블록체인이 적용된 ui/ux 개발시스템 및 이를 이용한 데이터 위변조검증방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100077444A1 (en) * 2008-09-23 2010-03-25 Zscaler, Inc. Browser access control
KR101005093B1 (ko) 2008-07-15 2011-01-04 인터리젠 주식회사 클라이언트 식별 방법 및 장치
KR101653805B1 (ko) * 2016-03-10 2016-09-05 인터리젠 주식회사 네트워크를 통한 접속 단말의 식별장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101005093B1 (ko) 2008-07-15 2011-01-04 인터리젠 주식회사 클라이언트 식별 방법 및 장치
US20100077444A1 (en) * 2008-09-23 2010-03-25 Zscaler, Inc. Browser access control
KR101653805B1 (ko) * 2016-03-10 2016-09-05 인터리젠 주식회사 네트워크를 통한 접속 단말의 식별장치 및 방법

Also Published As

Publication number Publication date
KR101976126B1 (ko) 2019-05-08

Similar Documents

Publication Publication Date Title
CN110377239B (zh) 数据签名方法、装置、服务器、系统及存储介质
US9497210B2 (en) Stateless attestation system
US11212305B2 (en) Web application security methods and systems
CN111698255B (zh) 一种业务数据传输方法、设备及系统
CN108777675B (zh) 电子装置、基于区块链的身份验证方法和计算机存储介质
US20190199711A1 (en) System and method for secure online authentication
US9940446B2 (en) Anti-piracy protection for software
US10127385B2 (en) Automated security vulnerability exploit tracking on social media
CN110247894B (zh) 一种识别伪造handle服务器的方法及装置
CN108701308B (zh) 用于基于区块链发布公共证书的系统、及使用该系统的用于基于区块链发布公共证书的方法
CN110912855A (zh) 一种基于渗透性测试用例集的区块链架构安全评估方法及系统
KR100991479B1 (ko) 컴퓨터 자원 검증 방법 및 컴퓨터 자원 검증 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
CN112838951B (zh) 一种终端设备的运维方法、装置、系统及存储介质
CN111800426A (zh) 应用程序中原生代码接口的访问方法、装置、设备及介质
CN110620670A (zh) 令牌获取方法、数据采集系统、代理服务器和存储介质
RU2638779C1 (ru) Способ и сервер для вьполнения авторизации приложения на электронном устройстве
KR101976126B1 (ko) 클라이언트 식별 기반 웹 서비스 제공 시스템
CN112702419B (zh) 基于区块链的数据处理方法、装置、设备和存储介质
KR102222804B1 (ko) 블록체인 기반 악성코드 분석 시스템 및 방법
Ma et al. Finding flaws from password authentication code in android apps
CN113645198B (zh) 一种计算机网络信息安全监护方法
CN112104625B (zh) 一种进程访问的控制方法及装置
Lee et al. Consortium blockchain based forgery android APK discrimination DApp using hyperledger composer
CN113360868A (zh) 应用程序登录方法、装置、计算机设备和存储介质
CN113542238A (zh) 一种基于零信任的风险判定方法及系统

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