KR101976126B1 - 클라이언트 식별 기반 웹 서비스 제공 시스템 - Google Patents
클라이언트 식별 기반 웹 서비스 제공 시스템 Download PDFInfo
- Publication number
- KR101976126B1 KR101976126B1 KR1020170074989A KR20170074989A KR101976126B1 KR 101976126 B1 KR101976126 B1 KR 101976126B1 KR 1020170074989 A KR1020170074989 A KR 1020170074989A KR 20170074989 A KR20170074989 A KR 20170074989A KR 101976126 B1 KR101976126 B1 KR 101976126B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- browser
- web
- server
- identifier
- 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/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- 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/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H04L67/42—
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
본 발명은 웹 서비스를 제공하는 기술에 관한 것으로, 특히 클라이언트를 식별하고 그 식별 결과에 따라 웹 서비스를 제공하는 기술에 관한 것이다.
웹 서버에 접속한 클라이언트를 식별하기 위한 기술이 잘 알려져 있다. 그리고 기존에 클라이언트 식별을 위해 요구되는 클라이언트 정보 수집을 위해서는 플러그인(Plug-in), 액티브엑스(Active-X), EXE 형태의 프로그램 설치가 필수적이었다.
관련하여, 국내등록특허공보 제10-1005093호에는 클라이언트 식별 방법 및 장치에 대해 개시되어 있다. 이 공보에 개시된 모니터링 서버는 사용자 단말기 및 웹 서버와 통신망을 통해 연결되어 상기 웹 서버에 접속한 사용자 단말기에 상응하는 클라이언트를 식별한다. 이를 위해, 모니터링 서버는 구동부와 정보 획득부 및 분석부를 포함한다. 구동부는 웹 서버로부터 사용자 단말기의 접속에 상응하는 호출 명령이 수신되면, 사용자 단말기의 웹 브라우저로 플러그인 구동 명령을 생성하여 전송한다. 정보 획득부는 플러그인 구동 명령에 따라 구동된 웹 브라우저 플러그인으로부터 사용자 단말기에 상응하는 식별 정보 및 설정 정보 중 하나 이상을 획득한다. 그리고 분석부는 획득된 식별 정보 및 설정 정보 중 하나 이상을 이용하여 사용자 단말기에 상응하는 클라이언트를 식별한다.
이상에 따르면, 쿠키나 액티브엑스 등을 이용하지 않고서도 클라이언트를 식별할 수 있게 된다. 하지만 플러그인 설치는 필수적이다.
본 발명은 클라이언트에 일체의 프로그램 설치 없이도 클라이언트 정보를 수집하여 식별할 수 있는 방안을 제공함을 목적으로 한다.
일 양상에 따른 클라이언트 식별 기반 웹 서비스 제공 시스템은 웹 브라우저를 포함한 클라이언트 단말, 및 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하는 웹 서버를 포함하는 서버 시스템을 포함한다. 웹 브라우저는 복수의 라이브러리 객체들을 이용하여 클라이언트 단말을 식별하기 위한 정보들을 수집하는 정보 수집부, 수집 정보의 일부를 이용하여 브라우저 식별자를 생성하는 식별자 생성부, 수집 정보의 적어도 일부와 브라우저 식별자를 조합한 제 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은 일 실시예에 따른 클라이언트 식별 방법 흐름도이다.
도 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 : 인증 서버
111 : 정보 수집부 112 : 식별자 생성부
113 : 가공 정보 생성부 114 : 정보 전송부
200 : 서버 시스템 210 : 웹 서버
220 : 인증 서버
Claims (12)
- 복수의 라이브러리 객체들을 이용하여 클라이언트 단말을 식별하기 위한 정보들을 수집하는 정보 수집부와, 정보 수집부에 의한 수집 정보 중에서 사용자 에이전트(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를 이용하여 브라우저 식별자를 생성하는 식별자 생성부와, 수집 정보의 적어도 일부와 브라우저 식별자를 조합한 제 1-1 암호화값과 수집 정보 중에서 웹 브라우저와 무관한 정보를 조합한 제 1-2 암호화값을 포함한 제 1 가공 정보를 생성하되, 브라우저 식별자와 수집 정보에 속한 항목들 중에서 브라우저 명(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 가공 정보를 수신하고, 수신된 수집 정보의 적어도 일부와 수신된 브라우저 식별자를 조합한 제 2-1 암호화값과 수신된 수집 정보 중에서 웹 브라우저와 무관한 정보를 조합한 제 2-2 암호화값을 포함한 제 2 가공 정보를 생성하고, 제 1 가공 정보와 제 2 가공 정보를 비교하여 위변조 여부를 검증하고, 위변조 여부 검증 결과 위변조되지 않은 것으로 판단될 경우에 인증 서버로 사용자 식별자와 브라우저 식별자 및 제 1 가공 정보를 인증 서버로 전송하며,
인증 서버는 웹 서버로부터 수신된 사용자 식별자를 가지고 데이터베이스를 검색하고, 검색된 사용자 식별자에 매핑 등록되어 있는 브라우저 식별자와 제 1 가공 정보를 웹 서버로부터 수신된 브라우저 식별자 및 제 1 가공 정보와 비교하여 모두 일치할 경우 제 1 식별 조건을 충족한 것으로 식별 결과를 웹 서버로 회신하고, 비교 결과 브라우저 식별자와 제 1-1 암호화값은 일치하지 않고 제 1-2 암호화값만이 일치할 경우 제 2 식별 조건을 충족한 것으로 식별 결과를 웹 서버로 회신하며,
웹 서버는 제 1 식별 조건이 충족된 경우에는 추가 인증 없이 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하며, 제 2 식별 조건이 충족된 경우에는 추가 인증 후에 클라이언트 단말의 웹 브라우저로 웹 서비스를 제공하는 클라이언트 식별 기반 웹 서비스 제공 시스템. - 제 1 항에 있어서,
정보 수집부의 라이브러리 객체들은 fingerprint2, navigator, webgl인 클라이언트 식별 기반 웹 서비스 제공 시스템.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
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 KR20180136263A (ko) | 2018-12-24 |
KR101976126B1 true 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102090223B1 (ko) * | 2019-06-07 | 2020-03-17 | 쉬프트정보통신 주식회사 | 데이터 위변조방지를 위한 블록체인이 적용된 ui/ux 개발시스템 및 이를 이용한 데이터 위변조검증방법 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115473684A (zh) * | 2022-08-10 | 2022-12-13 | 重庆帮企科技集团有限公司 | 一种基于浏览器指纹辨别的反爬虫方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077444A1 (en) * | 2008-09-23 | 2010-03-25 | Zscaler, Inc. | Browser access control |
KR101653805B1 (ko) * | 2016-03-10 | 2016-09-05 | 인터리젠 주식회사 | 네트워크를 통한 접속 단말의 식별장치 및 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101005093B1 (ko) | 2008-07-15 | 2011-01-04 | 인터리젠 주식회사 | 클라이언트 식별 방법 및 장치 |
-
2017
- 2017-06-14 KR KR1020170074989A patent/KR101976126B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100077444A1 (en) * | 2008-09-23 | 2010-03-25 | Zscaler, Inc. | Browser access control |
KR101653805B1 (ko) * | 2016-03-10 | 2016-09-05 | 인터리젠 주식회사 | 네트워크를 통한 접속 단말의 식별장치 및 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102090223B1 (ko) * | 2019-06-07 | 2020-03-17 | 쉬프트정보통신 주식회사 | 데이터 위변조방지를 위한 블록체인이 적용된 ui/ux 개발시스템 및 이를 이용한 데이터 위변조검증방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20180136263A (ko) | 2018-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aliero et al. | An algorithm for detecting SQL injection vulnerability using black-box testing | |
US9497210B2 (en) | Stateless attestation system | |
US11212305B2 (en) | Web application security methods and systems | |
US8695064B2 (en) | Method and system for machine identification | |
CN108777675B (zh) | 电子装置、基于区块链的身份验证方法和计算机存储介质 | |
US20190199711A1 (en) | System and method for secure online authentication | |
US20070156592A1 (en) | Secure authentication method and system | |
JP6473234B2 (ja) | 分析方法、分析装置、および分析プログラム | |
US9940446B2 (en) | Anti-piracy protection for software | |
CN110912855A (zh) | 一种基于渗透性测试用例集的区块链架构安全评估方法及系统 | |
US11836647B2 (en) | Systems, methods and apparatus for evaluating status of computing device user | |
CN108701308B (zh) | 用于基于区块链发布公共证书的系统、及使用该系统的用于基于区块链发布公共证书的方法 | |
KR100991479B1 (ko) | 컴퓨터 자원 검증 방법 및 컴퓨터 자원 검증 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
RU2638779C1 (ru) | Способ и сервер для вьполнения авторизации приложения на электронном устройстве | |
KR101976126B1 (ko) | 클라이언트 식별 기반 웹 서비스 제공 시스템 | |
CN113360868A (zh) | 应用程序登录方法、装置、计算机设备和存储介质 | |
JP2007043321A (ja) | 電子文書の真正性検証方法及びシステム | |
US11916953B2 (en) | Method and mechanism for detection of pass-the-hash attacks | |
JPWO2018143097A1 (ja) | 判定装置、判定方法、および、判定プログラム | |
CN113364744A (zh) | 基于windows日志对域用户登录认证异常的检测方法及系统 | |
Ma et al. | Finding flaws from password authentication code in android apps | |
Lee et al. | Consortium blockchain based forgery android APK discrimination DApp using hyperledger composer | |
KR102022984B1 (ko) | 웹 기반의 sso 서비스 방법 | |
KR102184855B1 (ko) | 부정 로그인 감지 시스템 및 그 방법 | |
KR20240084657A (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 |