KR20170057803A - 사용자 접속에 대한 보안 인증 시스템 및 그 방법 - Google Patents

사용자 접속에 대한 보안 인증 시스템 및 그 방법 Download PDF

Info

Publication number
KR20170057803A
KR20170057803A KR1020150188494A KR20150188494A KR20170057803A KR 20170057803 A KR20170057803 A KR 20170057803A KR 1020150188494 A KR1020150188494 A KR 1020150188494A KR 20150188494 A KR20150188494 A KR 20150188494A KR 20170057803 A KR20170057803 A KR 20170057803A
Authority
KR
South Korea
Prior art keywords
user terminal
user
address
authentication
server
Prior art date
Application number
KR1020150188494A
Other languages
English (en)
Other versions
KR101768942B1 (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 주식회사 넥슨코리아
Publication of KR20170057803A publication Critical patent/KR20170057803A/ko
Application granted granted Critical
Publication of KR101768942B1 publication Critical patent/KR101768942B1/ko

Links

Images

Classifications

    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/3297Cryptographic 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 involving time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

사용자 접속에 대한 보안 인증 시스템 및 그 방법이 개시된다. 보안 인증 방법은 제1 인증부로 사용자 단말의 인증을 시도하는 단계; 상기 제1 인증부가 일정 시간 안에 상기 사용자 단말을 인증하지 못한 경우, 상기 제1 인증부 보다 정확도가 낮고, 인증 속도가 빠른 제2 인증부로 상기 사용자 단말의 인증을 재시도하는 단계; 및 상기 사용자 단말이 상기 제1 인증부, 또는 상기 제2 인증부에서 인증된 경우, 상기 로그인 정보에 포함된 식별 정보와 비밀 번호를 이용하여 로그인을 수행하는 단계를 포함할 수 있다.

Description

사용자 접속에 대한 보안 인증 시스템 및 그 방법{SYSTEM AND METHOD FOR SECURE AUTHENTICATION TO USER ACCESS}
본 발명은 접속하는 사용자를 인증하여 보안을 향상시키는 보안 인증 시스템 및 방법에 관한 것이다.
해킹, 또는 사고로 인하여 사용자의 계정에 로그인하기 위한 사용자의 식별 정보 및 비밀 번호가 유출되는 경우가 발생하고 있다. 이 경우, 해커, 또는 사용자의 식별 정보 및 비밀 번호를 습득한 다른 사용자가 사용자의 계정에 용이하게 접속할 수 있다.
따라서, 사용자를 인증하여 해킹 또는 정보 유출의 위험이 있는 계정을 보호하는 방법이 요청되고 있다.
본 발명은 화이트 리스트, 블랙 리스트, 및 그레이 리스트를 이용한 제1 인증부로 사용자의 인증을 시도하고, 일정 기간 안에 사용자를 인증하지 못하는 경우, 블랙 리스트만 사용하여 인증 속도가 빠른 제2 인증부로 사용자의 인증을 재시도함으로써, 로그인을 요청한 사용자의 인증에 소요되는 시간을 일정 시간 이하로 제어하는 시스템 및 방법을 제공할 수 있다.
그리고, 본 발명은 해킹 위험이 있는 계정에 로그인이 불가능하도록 하는 보호 모드를 적용함으로써, 사용자의 비밀 번호가 해커에게 누출되더라고 해커가 사용자의 계정에 접속하는 것을 방지하는 장치 및 방법을 제공할 수 있다.
또한, 본 발명은 사용자의 등급에 따라 사용자의 계정의 보호 모드를 해제하기 위한 해제 정보를 결정함으로써, 중요 사용자들의 불만을 최소화하는 장치 및 방법을 제공할 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법은 대량의 인증 시도를 완화하는 단계; 제1 인증부로 사용자 단말의 인증을 시도하는 단계; 상기 제1 인증부가 일정 시간 안에 상기 사용자 단말을 인증하지 못한 경우, 상기 제1 인증부 보다 정확도가 낮고, 인증 속도가 빠른 제2 인증부로 상기 사용자 단말의 인증을 재시도하는 단계; 및 상기 사용자 단말이 상기 제1 인증부, 또는 상기 제2 인증부에서 인증된 경우, 상기 로그인 정보에 포함된 식별 정보와 비밀 번호를 이용하여 로그인을 수행하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법은 대량의 인증 시도로 인해 제1 인증부를 포함하는 API부에 서비스 부하가 발생하지 않도록 하기 위해 완화부를 이용해 로그인 요청을 거절할 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법은 상기 제2 인증부가 일정 시간 안에 상기 사용자 단말을 인증하지 못한 경우, 상기 로그인 정보에 포함된 식별 정보와 비밀 번호를 이용하여 로그인을 수행하는 단계; 상기 로그인 된 사용자의 계정에 대한 추가 분석을 요청하는 단계; 및 추가 분석 결과에 따라 상기 로그인 된 사용자의 계정을 로그아웃 시키는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법의 제1 인증부는, 부정 접속과 관련된 화이트 리스트에 접속을 요청한 사용자 단말의 IP 주소, 또는 사용자의 식별 정보가 포함된 경우, 상기 사용자 단말을 인증할 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법의 제1 인증부는, 부정 접속과 관련된 블랙 리스트에 상기 사용자 단말의 IP 주소가 포함된 경우, 상기 사용자 단말의 인증 및 로그인을 거절할 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법에서 부정 접속과 관련된 블랙 리스트에 포함된 식별 정보에 대응하는 계정에 로그인이 거절되는 보호 모드가 적용되고, 상기 제1 인증부는, 상기 블랙 리스트에 상기 사용자의 식별 정보가 포함된 경우, 상기 사용자 단말에게 상기 계정의 보호 모드를 해제하기 위한 해제 정보를 요청하여 상기 계정의 보호 모드를 해제할 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법의 제1 인증부는, 상기 사용자의 등급에 따라 상기 사용자 단말에게 요청하는 해제 정보를 결정할 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법의 사용자의 등급은, 상기 사용자의 영향력, 과금액, 및 최근 사용자의 활동 중 적어도 하나에 따라 결정될 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법의 상기 블랙 리스트에 포함된 IP 주소, 또는 식별 정보는 상기 블랙 리스트에 포함된 시간을 기준으로 일정 시간이 경과하면 그레이 리스트로 이동하고, 그레이 리스트로 이동된 IP 주소, 또는 식별 정보는 일정 시간마다 감소되는 그레이 포인트가 설정되며, 그레이 포인트가 0이 되면 그레이 리스트에서 삭제될 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법의 상기 그레이 리스트로 이동된 IP 주소, 또는 식별 정보는 상기 그레이 리스트에서 삭제될 때까지 탐지 및 차단 정책 수립에 활용될 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법의 상기 그레이 리스트로 이동된 IP 주소, 또는 식별 정보에서 보안과 관련된 문제가 발생하는 경우, 상기 그레이 리스트로 이동된 IP 주소, 또는 식별 정보를 상기 블랙 리스트로 이동시킬 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법의 제2 인증부는, 부정 접속과 관련된 블랙 리스트에 상기 사용자의 식별 정보가 포함된 경우, 상기 사용자 단말에게 상기 계정의 보호 모드를 해제하기 위한 해제 정보를 요청하여 상기 계정의 보호 모드를 해제할 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법은 사용자 단말의 IP 주소가 해킹 위험이 있는 IP 주소인지 여부를 확인하는 단계; 사용자 단말의 IP 주소가 해킹 위험이 있는 IP 주소인 경우, 일정 기간 동안 사용자 단말에서 로그인을 시도하는 적어도 하나의 식별 정보를 저장하는 단계; 및 사용자 단말의 IP 주소를 해킹 위험이 있는 IP 주소로 판단한 시점에서 일정 기간이 경과하면, 사용자 단말의 IP 주소 및 사용자 단말에서 로그인을 시도하는 적어도 하나의 식별 정보를 블랙 리스트에 추가하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법은 상기 로그인 정보에 포함된 비밀 번호가 상기 식별 정보에 대응하는지 여부에 따라 상기 사용자 단말의 IP 주소를 블랙 리스트에 추가하는 단계를 더 포함하고, 상기 제1 인증부로 사용자 단말의 인증을 시도하는 단계는, 상기 로그인 정보를 전송한 IP 주소가 블랙 리스트에 포함되지 않은 경우, 수행될 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법의 블랙 리스트에 추가하는 단계는, 식별 정보에 대응하지 않은 비밀 번호가 상기 사용자 단말에서 일정 기간 동안 일정 회수 이상으로 전송된 경우, 상기 사용자 단말의 IP 주소를 블랙 리스트에 추가할 수 있다.
본 발명의 일실시예에 따른 보안 인증 방법의 블랙 리스트에 추가하는 단계는, 상기 IP 주소가 해외 IP인지 여부에 따라 상기 IP 주소를 블랙 리스트에 추가하는 조건이 되는 식별 정보에 대응하지 않은 비밀 번호의 전송 회수가 결정될 수 있다.
본 발명의 일실시예에 따른 보안 인증 시스템은 제1 인증부 및 상기 제1 인증부 보다 정확도가 낮고, 인증 속도가 빠른 제2 인증부를 포함하는 보안 서버; 및 상기 제1 인증부로 사용자 단말의 인증을 시도하고, 상기 제1 인증부가 일정 시간 안에 상기 사용자 단말을 인증하지 못한 경우, 상기 제2 인증부로 상기 사용자 단말의 인증을 재시도하며, 상기 사용자 단말이 상기 제1 인증부, 또는 상기 제2 인증부에서 인증된 경우, 상기 로그인 정보에 포함된 식별 정보와 비밀 번호를 이용하여 로그인을 수행하는 로그인 서버를 포함할 수 있다.
본 발명의 일실시예에 의하면, 화이트 리스트, 블랙 리스트, 및 그레이 리스트를 이용한 제1 인증부로 사용자의 인증을 시도하고, 일정 기간 안에 사용자를 인증하지 못하는 경우, 블랙 리스트만 사용하여 인증 속도가 빠른 제2 인증부로 사용자의 인증을 재시도함으로써, 로그인을 요청한 사용자의 인증에 소요되는 시간을 일정 시간 이하로 제어할 수 있다.
그리고, 본 발명의 일실시예에 의하면, 해킹 위험이 있는 계정에 로그인이 불가능하도록 하는 보호 모드를 적용함으로써, 사용자의 비밀 번호가 해커에게 누출되더라고 해커가 사용자의 계정에 접속하는 것을 방지할 수 있다.
또한, 본 발명의 일실시예에 의하면, 사용자의 등급에 따라 사용자의 계정의 보호 모드를 해제하기 위한 해제 정보를 결정함으로써, 중요 사용자들의 불만을 최소화할 수 있다.
도 1은 본 발명의 일실시예에 따른 보안 인증 시스템을 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 완화부의 동작 일례이다.
도 3은 본 발명의 일실시예에 따른 API부의 동작 일례이다.
도 4는 본 발명의 일실시예에 따른 리스트 확인 API의 일례이다.
도 5는 본 발명의 일실시예에 따른 인증 결과 수신 API의 일례이다.
도 6은 본 발명의 일실시예에 따른 보호 모드 해제 API의 일례이다.
도 7은 본 발명의 일실시예에 따른 보호 모드 확인 2차 API의 일례이다.
도 8은 본 발명의 일실시예에 따른 보호 모드 설정 API의 일례이다.
도 9는 본 발명의 일실시예에 따른 보호 모드 고객 등급 확인 API의 일례이다.
도 10은 본 발명의 일실시예에 따른 보안 인증 방법을 도시한 플로우차트이다.
도 11은 본 발명의 일실시예에 따른 보안 인증 방법의 제1 인증부로 인증을 시도하는 과정을 도시한 플로우차트이다.
도 12는 도 11의 보호 모드 해제 과정을 도시한 플로우차트이다.
도 13은 본 발명의 일실시예에 따른 보안 인증 방법의 로그인 결과 분석 과정을 도시한 플로우차트이다.
도 14는 본 발명의 일실시예에 따른 보안 인증 시스템에서 로그인 서버가 API를 호출하여 보안 인증을 수행하는 과정의 일례이다.
도 15는 본 발명의 일실시예에 따른 보안 인증 시스템에서 SSO 서버가 API를 호출하여 보안 인증을 수행하는 과정의 일례이다.
도 16은 본 발명의 일실시예에 따른 보안 인증 시스템에서 캡차 서버를 이용하여 보안 인증을 수행하는 과정의 일례이다.
도 17은 본 발명의 일실시예에 따른 보안 인증 시스템에서 보호 모드를 해제하고 보안 인증을 수행하는 과정의 일례이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 발명의 일실시예에 따른 보안 인증 방법은 보안 인증 시스템에 의해 수행될 수 있다.
도 1은 본 발명의 일실시예에 따른 보안 인증 시스템을 나타내는 도면이다.
보안 인증 시스템(100)은 로그인 서버(120)와 보안 서버(140)로 구성된 단일 구조로 구성될 수 있다. 또한, 보안 인증 시스템(100)은 도 1에 도시된 바와 같이 로그인 서버(120), SSO 서버(130), 보안 서버(140), 세션 서버(150), 및 보호 모드 안내 서버(160)로 구성된 다중 구조로 구성될 수 있다.
로그인 서버(120)는 사용자 단말(110)로부터 사용자의 계정에 대한 로그인 정보를 수신할 수 있다. 그리고, 로그인 서버(120)는 수신한 로그인 정보에 따라 사용자 단말(110)의 사용자의 계정에 대한 로그인을 승인, 또는 거절할 수 있다. 이때, 로그인 정보는 사용자 단말(110)이 로그인 서버(120)의 접속에 사용한 IP 주소, 사용자의 식별 정보, 및 사용자의 식별 정보에 대응하는 비밀 번호 중 적어도 하나를 포함할 수 있다. 또한, 사용자의 식별 정보는 사용자의 계정을 식별하기 위한 정보일 수 있다.
SSO 서버(Single Sign On Server)(130)는 사용자의 식별 정보 중 하나를 이용하여 복수의 서비스에 로그인할 수 있도록 사용자의 식별 정보들을 통합 관리할 수 있다. 이때, SSO 서버(130)는 사용자의 계정에 대응하는 식별 정보들을 관리할 수 있다.
SSO 서버(130)는 로그인 서버(120)의 호출에 따라 보안 서버(140)의 제1 인증부, 또는 제2 인증부가 사용자를 인증한 결과를 관리하고, 제1 인증부, 또는 제2 인증부가 사용자를 인증한 결과를 이용하여 로그인 서버(120)에서 사용자의 계정에 로그인 할 수 있다.
또한, SSO 서버(130)는 보안 서버(140)의 제1 인증부, 또는 제2 인증부에게 사용자의 인증을 요청하고, 인증 결과를 수신하여 로그인 서버(120)에 전달할 수도 있다.
보안 서버(140)는 도 1에 도시된 바와 같이 완화부(Mitigation)(141), API부(142) 및 관리부(143)를 포함할 수 있다. 예를 들어, 보안 서버(140)는 ASS 서버(Authority Security System Server)일 수 있다.
이때, 완화부(141), API부(142) 및 관리부(143)는 각각 별도의 서버인 완화 서버(Mitigation sever), API 서버, 및 관리 서버로 구성되고, 보안 서버(140)는 완화 서버, API 서버, 및 관리 서버를 포함하는 보안 시스템일 수 있다.
완화부(141)는 대량 대입 공격을 실시하는 IP 주소를 차단하여 로그인 서버(120)에 유입되는 로그인 요청을 완화시킬 수 있다.
완화부(141)는 로그인 서버(120)와 같이 사용자 단말(110)이 접근이 가능한 서버에 설치되는 완화(Mitigation) 클라이언트와 블랙리스트 IP 주소를 배포 및 처리하는 완화(Mitigation) 서버로 구성될 수 있다.
완화 클라이언트는 로그인 서버(120)의 로그를 모니터링하여 완화 서버로 전송하고, 보안 서버(140)로부터 최신 블랙리스트를 전달 받아 적용할 수 있다.
완화 서버는 완화 클라이언트로부터 수신한 로그인 서버(120)의 로그를 분석할 수 있다. 그리고, 완화 서버는 로그 분석 결과, 사전에 정의된 정책, 화이트 리스트, 블랙 리스트, 및 그레이 리스트를 참고하여 블랙 리스트를 갱신할 수 있다. 다음으로, 완화 서버는 갱신된 블랙 리스트를 완화 클라이언트로 전송할 수 있다. 이때, 갱신된 블랙 리스트는 로그 분석 결과에 따라 기존의 블랙 리스트에 IP 주소가 추가된 블랙 리스트일 수 있다.
이때, 완화부(141)는 사용자 단말(110)의 IP 주소, 및 사용자의 식별 정보의 해킹 위험 여부에 따라 블랙 리스트를 생성할 수 있다. 이때, 완화부(141)는 로그인 서버(120)의 로그를 분석하여 사용자 단말(110)이 보안 인증 시스템의 보안 정책에 위반한 시도를 하였는지 여부를 판단할 수 있다. 그리고, 완화부(141)는 판단 결과에 따라 사용자 단말(110)의 IP 주소를 블랙 리스트에 추가할 수 있다. 예를 들어, 완화부(141)는 사용자의 로그인 정보가 사용자 단말(110)에서 일정 기간 동안 일정 회수 이상으로 전송되거나 특정 식별자를 포함하고 있는 경우, 사용자 단말(110)의 IP 주소를 블랙 리스트에 추가할 수 있다.
즉, 동일 IP에서 단 시간 안에 대량의 로그인 정보를 전송하여 연속으로 로그인을 요청하거나, 로그인 정보에 기 설정된 특정 브라우저 식별자가 포함된 경우, 완화부(141)는 해커가 해당 IP에서 사용자의 식별 정보에 대한 해킹을 시도한 것으로 판단하고, 해당 IP를 블랙 리스트에 추가할 수 있다.
또한, 완화부(141)는 일정 기간을 변경하여 다양한 구간에 대한 로그인 시도를 식별하며, 식별 결과에 따라 사용자 단말(110)의 IP 주소를 블랙 리스트에 추가하고, 페널티를 부여할 수 있다. 예를 들어, 페널티는 일정 시간 동안 사용자 단말(110)의 IP 주소에 대한 완화부(141)의 접속 차단일 수 있다. 이때, 페널티가 적용되는 시간은 사용자 단말(110)의 IP 주소에 대한 해킹 위험이 높을수록 증가할 수 있다.
일정 기간의 초기 값이 10초인 경우, 완화부(141)는 일정 기간의 초기 값인 10초의 N배 동안 수신한 로그인 정보의 회수, 사용자의 식별 정보 개수 및 사용자 단말(110)이 사용한 브라우저 유형 중 적어도 하나에 따라 사용자 단말(110)의 IP 주소를 블랙 리스트에 추가할 수 있다.
예를 들어, 완화부(141)는 10초의 3배인 30초, 30배인 5분, 360배인 1시간, 2160배인 6시간 동안 사용자 단말(110)이 로그인을 시도한 회수가 각각의 시간 구간에 설정된 최대 회수 미만인지 여부를 확인할 수 있다. 그리고, 사용자 단말(110)의 로그인 시도 회수가 시간 구간들 중 적어도 하나에서 시간 구간들 각각에 설정된 최대 회수를 초과하는 경우, 사용자 단말(110)의 IP 주소를 블랙 리스트에 추가할 수 있다.
또한, 시간 구간의 길이에 따라 시간 구간 각각에 설정된 최대 회수는 다를 수 있다.
해킹은 일반적으로 단기간에 집중적으로 다양한 비밀 번호를 입력하여 로그인을 시도함으로써, 사용자의 식별 정보와 일치하는 비밀 번호를 검색한다. 따라서, 시간 구간에 설정된 최대 회수는 시간 구간이 짧을수록 최대 회수가 높게 설정될 수 있다. 예를 들어, 시간 구간 10초에 설정된 최대 회수가 10회인 경우, 완화부(141)는 10초의 3배인 시간 구간 30초에 10회의 2배인 20회를 최대 회수로 설정할 수 있다.
해커는 신분 노출을 방지하기 위해 회선을 우회하여 해외 IP로 해킹을 시도하는 경우가 많다. 또한, 인건비가 저렴한 중국이나 다른 나라에서 해킹을 시도하기도 한다. 따라서, 완화부(141)는 사용자 단말(110)의 IP 주소가 해외 IP인지 여부에 따라 IP 주소를 블랙 리스트에 추가하는 조건이 되는 로그인 정보 전송 회수를 결정할 수 있다. 즉, 완화부(141)는 국내 IP와 해외 IP에 서로 다른 최대 회수를 결정할 수 있다. 이때, 완화부(141)는 IP 데이터베이스를 이용하여 사용자 단말(110)의 IP 주소가 국내 IP인지, 또는 해외 IP인지를 확인할 수 있다.
예를 들어, 사용자 단말(110)의 IP 주소가 국내 IP인 경우, 완화부(141)는 시간 구간 30초에 대하여 20회의 로그인 시도를 최대 회수로 설정할 수 있다. 그러나, 사용자 단말(110)의 IP 주소가 해외 IP인 경우, 완화부(141)는 시간 구간 30초에 대하여 3회의 로그인 시도를 최대 회수로 설정할 수 있다. 즉, 완화부(141)는 동일한 시간 구간에서 국내 IP에 대하여 설정한 최대 회수보다 더 적은 회수를 해외 IP에 설정할 수 있다.
또한, 완화부(141)는 사용자 단말(110)의 IP 주소가 해외 IP인지 여부에 따라 사용자 단말(110)의 IP 주소에 부여한 페널티도 다르게 결정할 수 있다. 예를 들어, 로그인 실패로 블랙 리스트에 추가한 사용자 단말(110)의 IP 주소가 국내 IP인 경우, 완화부(141)는 사용자 단말(110)의 IP 주소에 대한 페널티로 30분 차단을 결정할 수 있다. 반면, 로그인 실패로 블랙 리스트에 추가한 사용자 단말(110)의 IP 주소가 해외 IP인 경우, 완화부(141)는 사용자 단말(110)의 IP 주소에 대한 페널티로 60분 차단을 결정할 수 있다.
그리고, 완화부(141)는 일정 시간 안에 일정 회수 이상의 로그인 시도에 대한 판단 기준으로 IP 주소가 아닌 C Class를 사용할 수도 있다. C Class는 특정 정보가 동일한 복수의 IP 주소들을 그룹화한 정보일 수 있다. 예를 들어, IP 주소가 192.186.100.10인 경우, 192.168.100까지가 동일하고 이후 주소가 다른 IP 주소들을 C Class로 그룹화할 수 있다.
이때, 완화부(141)는 하나의 C Class에 포함된 IP 주소들로부터 로그인 정보가 전송된 회수가 기 설정된 임계 회수 이상인 경우, 해당 C Class에 포함된 모든 IP 주소를 일정 시간 동안 차단하는 페널티를 부여할 수 있다. 또한, 완화부(141)는 C Class가 국내 C Class인지, 또는 해외 C Class인지 여부에 따라 각각의 C Class에 서로 다른 임계 회수를 설정할 수 있다. 그리고, 완화부(141)는 C Class가 국내 C Class인지, 또는 해외 C Class인지 여부에 따라 C Class에 부여하는 페널티의 시간도 다르게 결정할 수 있다.
그리고, 완화부(141)는 사용자 단말(110)의 IP 주소가 해외 IP인 경우, 캡차 서버에 사용자의 인증을 요청할 수 있다. 이때, 캡차 서버는 CAPTCHA를 이용하여 사용자가 인간인지를 확인할 수도 있다. CAPTCHA는 인간만이 통과할 수 있는 테스트로 사용자가 인간인지 프로그램인지를 구별하기 위하여 사용될 수 있다. 예를 들어, 인간의 눈으로는 인식할 수 있으나, 인식 프로그램으로는 인식이 어려울 정도로 변형시킨 문자, 또는 배경 이미지 속에 숨긴 문자를 표시하고, 동일한 문자를 입력하는지 여부에 따라 사용자가 인간인지 프로그램인지를 구별할 수 있다.
로그인 서버(120)가 사용자 단말(110)로부터 로그인 정보를 수신한 경우, 완화부(141)가 블랙 리스트를 이용하여 사용자 단말(110)을 인증할 수 있다.
구체적으로, 완화부(141)는 로그인 서버(120)로 로그인 정보를 전송한 사용자 단말(110)의 IP 주소가 해킹 위험이 있는 IP 주소인지 여부를 확인할 수 있다. 예를 들어, 블랙 리스트에서 사용자 단말(110)의 IP 주소와 동일한 IP 주소가 검색되는 경우, 완화부(141)는 사용자 단말(110)의 IP 주소가 해킹 위험이 있는 IP 주소인 것으로 판단할 수 있다.
완화부(141)가 사용자 단말(110)의 IP 주소를 해킹 위험이 있는 IP 주소로 판단한 경우, 로그인 서버(120)는 사용자 단말(110)의 로그인 정보에 포함된 비밀 번호를 확인하지 않고, 사용자 단말(110)의 로그인 시도를 거절할 수 있다. 예를 들어, 로그인 서버(120)는 서버 방화벽, 또는 애플리케이션 접근 제어를 이용하여 사용자 단말(110)의 로그인 정보를 차단함으로써, 사용자 단말(110)이 전송한 로그인 정보가 로그인 서버(120)의 애플리케이션에 전달되지 않도록 할 수 있다. 즉, 로그인 서버(120)는 해킹 위험이 있는 IP 주소에서 전송된 로그인 정보를 차단함으로써, 불필요한 연산에 소비되는 자원 낭비를 막을 수 있다.
또한, 사용자 단말(110)의 IP 주소가 블랙 리스트에 추가되는 경우, 완화부(141)는 사용자 단말(110)의 IP 주소가 해킹 위험이 있는 IP 주소인 것으로 판단할 수 있다. 그리고, 사용자 단말(110)의 IP 주소를 해킹 위험이 있는 IP 주소로 판단한 경우, 완화부(141)는 로그인 서버(120)에서 해당 IP 주소를 차단한다. 그리고, 완화부(141)는 로그인 서버(120)의 로그를 통해 해킹 공격의 지속성을 확인할 수 있으며, 해당 위험이 감소되었다고 생각되는 시점 또는 일정 기간 경과 후 블랙 리스트에서 해당 IP 주소를 제거할 수 있다.
그리고, 완화부(141)는 그레이 리스트(Gray List)를 이용하여 해킹을 시도한 사용자 단말(110)의 IP 주소를 관리할 수도 있다. 일정 시간 동안 블랙 리스트에 포함되었던 사용자 단말(110)의 IP 주소 또는 사용자의 식별 정보에 대한 해킹 시도가 없는 경우, 완화부(141)는 해당 IP 주소, 또는 식별 정보에 대한 해킹 위험이 감소했다고 판단하고, 해당 IP 주소, 또는 식별 정보를 블랙 리스트에서 그레이 리스트로 이동시킬 수 있다.
이때, 완화부(141)는 블랙 리스트에 포함된 사용자 단말(110)의 IP 주소에 블랙 포인트를 설정할 수 있다. 그리고, 블랙 포인트는 일정 시간마다 감소될 수 있다. 또한, 완화부(141)는 블랙 포인트가 0이 된 사용자 단말(110)의 IP 주소를 그레이 리스트로 이동시킬 수 있다.
그리고, 일정 시간 동안 그레이 리스트에 포함되었던 사용자 단말(110)의 IP 주소에서 보안 인증 시스템의 보안 정책에 위반한 시도를 하지 않거나, 사용자의 식별 정보에 대한 해킹 시도가 없는 경우, 완화부(141)는 해당 IP 주소, 또는 식별 정보에 대한 해킹 위험이 사라졌다고 판단하고, 해당 IP 주소를 그레이 리스트에서 삭제할 수 있다.
이때, 완화부(141)는 그레이 리스트에 포함된 사용자 단말(110)의 IP 주소에 그레이 포인트를 설정할 수 있다. 그리고, 그레이 포인트는 일정 시간마다 감소될 수 있다. 또한, 완화부(141)는 그레이 포인트가 0이 된 사용자 단말(110)의 IP 주소를 그레이 리스트에서 삭제할 수 있다.
다만, 그레이 리스트에 포함된 사용자 단말(110)의 IP 주소에서 해킹 위험이 있다고 판단되는 경우, 완화부(141)는 해당 사용자 단말(110)의 IP 주소를 블랙 리스트로 이동시킬 수 있다.
예를 들어, 로그인 정보에 포함된 특정 브라우저 정보, 또는 특정 패턴의 식별자를 가진 로그인 정보를 전송한 사용자 단말(110)의 IP 주소가 그레이 리스트에 포함된 경우, 완화부(141)는 사용자 단말(110)의 IP 주소가 해킹 위험이 있다고 판단하여, 그레이 리스트에서 블랙 리스트로 이동시킬 수 있다.
또한, 사용자 단말(110)의 IP 주소가 블랙 리스트에 포함되지 않거나, 블랙 리스트에 추가되지 않는 경우, 로그인 서버(120) 또는 SSO 서버(Single Sign On Server) (130)는 API 부(142)에 포함된 제1 인증부를 호출하여 사용자 단말(110)의 인증을 시도할 수 있다.
그리고, 제1 인증부가 일정 시간 안에 사용자 단말(110)을 인증하지 못한 경우, 로그인 서버(120) 또는 SSO 서버(130)는 API 부(142)에 포함된 제2 인증부를 호출하여 사용자 단말(110)의 인증을 시도할 수 있다. 이때, 제2 인증부는 제1 인증부 보다 정확도가 낮고, 인증 속도가 빠를 수 있다.
또한, 사용자 단말(110)이 제1 인증부, 또는 제2 인증부에서 인증된 경우, 로그인 서버(120) 또는 SSO 서버(130)는 로그인 정보에 포함된 식별 정보와 비밀 번호를 이용하여 로그인을 수행할 수 있다.
그리고, 제2 인증부가 일정 시간 안에 상기 사용자 단말을 인증하지 못한 경우, 로그인 서버(120) 또는 SSO 서버(130)는 일단 로그인 정보에 포함된 식별 정보와 비밀 번호를 이용하여 사용자의 계정에 대한 로그인을 수행하고, 보안 서버(140)에 사용자의 계정에 로그인 된 사용자 단말(110)에 대한 추가 분석을 요청할 수 있다. 이때, 보안 서버(140)는 인증 결과를 추가 분석해 로그인 된 사용자 단말(110)을 로그아웃 시킬 수 있다.
API 부(142)는 IP 주소와 인증 식별자(ID)에 대해 로그인 진행 여부를 판단할 수 있다. 이때, API 부(142)는 보안 인증 시스템(100)의 구조에 상관없이 단일 구조, 다중 구조에 모두 적용할 수 있다.
그리고, API 부(142)는 원격 API 서비스를 제공할 수 있으며, 제1 인증부(1st API), 제2 인증부(2nd API), 인덱서, 보호 모드 등급 API, 보호 모드 해제 API 및 보호 모드 적용 API로 구성될 수 있다.
API 부(142)는 제1 인증부와 제2 인증부, 및 인덱서를 이용하여 로그인 서버(120), SSO 서버(130)와 같은 외부 문의를 1차적으로 처리할 수 있다.
그리고, API 부(142)는 보호 모드 처리된 계정에 대해 해제하는 과정에서 보호 모드 등급 정보 API, 보호 모드 해제 API를 사용할 수 있다. 또한, API 부(142)는 자체적으로 보호 모드를 적용하거나 외부에서 임의의 계정을 보호 모드 처리할 경우, 보호 모드 적용 API를 사용할 수 있다.
제1 인증부는 로그인 서버, SSO 서버에서 인증을 처리할 때 호출하는 1차 API이며, 사용자 단말의 IP 주소 및 ID를 검증할 수 있다. 예를 들어, 로그인 서버(120), SSO 서버(130)는 제1 인증부로 1차 API(listcheck)를 호출할 수 있다.
제2 인증부는 제1 인증부가 정해진 시간 안에 응답을 하지 못했을 때 호출하는 2차 API일 수 있다. 이때, 제2 인증부는 제1 인증부에서 검증하는 다양한 리스트를 확인하지 않고, ID가 보호 모드 상태인지만을 검증할 수 있다. 예를 들어, 제2 인증부는 2차 API(user)일 수 있다.
로그인 서버(120), 또는 SSO 서버(130)는 제1 인증부와 제2 인증부의 피드백을 받은 이후 사용자 단말(110)에 대한 로그인 처리를 수행할 수 있다. 이때, 인덱서는 로그인 서버(120), 또는 SSO 서버(130)로부터 로그인 처리 결과를 수신하여 인덱스 데이터베이스에 저장할 수 있다.
또한, 제1 인증부 및 2 인증부가 모두 제 시간 이내에 응답을 하지 못해 API 부(142)가 우회된 상황에서 보호 모드 계정이 로그인 한 경우, 인덱서는 강제 로그아웃을 호출해 세션 서버(150)에서 사용자 단말(110)를 로그아웃 시킬 수 있다.
분석기는 인덱스 데이터베이스의 결과와 보안 정책, 화이트리스트, 블랙리스트 등을 함께 분석해 블랙리스트를 등록, 또는 해제할 수 있다.
또한, 분석기는 외부에서 제공하는 회원 등급을 참고해 보호 모드 계정의 등급도 분류할 수 있다. 이때, 회원 등급은 외부 API 호출을 통해서 결정될 수도 있고, 작업자의 수작업 분류를 통해서도 결정될 수도 있다.
분석기는 1일 동안 최대로 보호 모드를 적용할 계정의 수인 1일 최대 적용 개수를 서비스별, 등급별로 제한할 수 있다. 그리고, 1일 최대 적용 개수를 초과하는 개수의 계정이 보호 모드를 적용할 대상인 경우, 1일 최대 적용 개수를 적용한 이후에 보호 모드를 적용할 대상으로 판단되는 계정에 대하여 탐지 현황을 기록할 수 있다.
이때, 분석기는 부정 접속의 가능성이 낮다고 판단한 IP 주소, 또는 식별 정보가 포함된 화이트 리스트를 생성하고, 관리할 수 있다.
예를 들어, 분석기는 PC방의 IP주소를 화이트 리스트에 추가할 수 있다. PC방의 IP주소는 PC방 관리 서버가 매일 업데이트할 수 있다. 따라서, 분석기는 매일 PC방 관리 서버가 매일 업데이트한 PC방의 IP 주소를 확인하고, 확인된 IP주소를 이용하여 화이트 리스트에 포함된 PC방의 IP 주소를 갱신할 수 있다.
또한, 분석기는 특정 사용자의 식별 정보를 화이트 리스트에 추가할 수 있다. 예를 들어, 분석기는 OTP(One Time Password)와 같이 보안성이 일정 기준 이상인 기기를 이용하여 계정을 관리하는 사용자는 보안 유지가 잘되는 사용자이므로 해킹 위험이 낮다고 판단할 수 있다. 그리고, 분석기는 보안 유지가 잘되는 사용자의 식별 정보를 화이트 리스트에 추가할 수 있다.
또한, 분석기는 부정 접속의 가능성이 높다고 판단한 IP 주소, 또는 식별 정보가 포함된 블랙 리스트를 생성하고 관리할 수 있다.
이때, 분석기가 생성한 블랙 리스트와 완화부(141)가 생성한 블랙 리스트는 서로 다른 기준에 따라 생성될 수 있다. 따라서, 분석기가 생성한 블랙 리스트와 완화부(141)가 생성한 블랙 리스트에 공통으로 포함되는 IP 주소가 있고, 분석기가 생성한 블랙 리스트와 완화부(141)가 생성한 블랙 리스트 중 하나의 블랙 리스트에만 포함되는 IP 주소도 있다. 또한, 완화부(141)가 생성한 블랙 리스트에 IP 주소만 포함하고 있으며, 분석기가 생성한 블랙 리스트는 IP 주소와 식별 정보를 포함할 수 있다.
즉, 본 발명의 일실시예에 따른 보안 인증 시스템은 서로 다른 기준으로 각각 생성한 블랙 리스트들을 이용하여 사용자 단말(110)의 IP 주소, 또는 사용자의 식별 정보를 인증함으로써, 보안 성능을 향상시킬 수 있다.
분석기는 하나의 IP 주소를 통하여 수신한 식별 정보들을 기초로 해킹 위험성이 높은 IP 주소 및 식별 정보를 판단할 수 있다. 구체적으로, 분석기는 로그인 정보에 포함된 비밀 번호가 로그인 정보에 포함된 식별 정보와 일치하지 않는 회수를 식별 정보 별로 카운트할 수 있다. 즉, 분석기는 사용자의 계정 ID(identity)와 같은 식별 정보 별로, 틀린 비밀 번호가 입력된 회수를 카운트할 수 있다.
하나의 IP 주소를 통하여 수신한 모든 로그인 정보들 중에서 틀린 비밀 번호가 포함된 로그인 정보들의 개수가 기 설정된 임계 개수 이상인 경우, 분석기는 해당 IP 주소를 해킹 위험성이 높은 IP 주소로 판단할 수 있다.
즉, 분석기는 하나의 IP 주소에서 틀린 비밀 번호가 포함된 로그인 정보를 전송하는 회수가 일정 회수 이상 송부하는 경우, 비밀 번호를 모르는 해커가 사용자의 비밀 번호를 알기 위하여 무작위로 비밀 번호를 입력하고 있다고 판단할 수 있다. 따라서, 분석기는 해당 IP 주소를 해킹 위험성이 높은 IP 주소로 판단하여 블랙 리스트에 추가할 수 있다.
또한, 하나의 IP 주소를 통하여 복수의 식별 정보가 수신되는 경우, 분석기는 식별 정보 별로 틀린 비밀 번호가 입력된 회수를 카운트할 수 있다. 그리고, 틀린 비밀 번호가 입력된 회수가 기 설정된 임계 회수 이상 입력된 식별 정보의 개수가 임계 개수 이상인 경우, 분석기는 해당 IP 주소를 해킹 위험성이 높은 IP 주소로 판단할 수 있다.
예를 들어, 분석기는 임계 회수를 5회로 설정하고, 임계 개수를 5개로 설정할 수 있다. 그리고, 분석기는 하나의 IP 주소로부터 10개의 식별 정보 각각에 대한 로그인 정보를 10회씩 수신할 수 있다. 이때, 10개의 식별 정보들 중에서 4개의 식별 정보들은 각각 틀린 비밀 번호가 5회 입력되었고, 5개의 식별 정보들은 각각 틀린 비밀 번호가 1회 입력되었으며, 1개의 식별 정보는 틀린 비밀 번호가 9회 입력될 수 있다. 즉, 임계 회수인 5회 이상 틀린 비밀 번호가 입력된 식별 정보들의 개수가 임계 개수인 5개 이상이므로 분석기는 해당 IP 주소를 해킹 위험성이 높은 IP 주소로 판단할 수 있다.
또한, 분석기는 하나의 IP 주소로부터 수신한 로그인 정보에서 식별 정보와 비밀 번호가 일치한 회수, 비밀 번호가 틀린 회수, 로그인 정보에 식별 정보가 포함되지 않는 회수 중 적어도 하나를 카운트하고, 카운트한 결과들 간의 비율을 고려하여 해당 IP 주소가 해킹 위험성이 높은 IP 주소인지 여부를 판단할 수 있다.
그리고, 하나의 IP 주소로부터 수신한 로그인 정보들 중에서 식별 정보와 비밀 번호가 일치한 회수가 임계 회수 이상인 경우, 분석기는 해당 IP 주소를 해킹 위험성이 높은 IP 주소로 판단할 수 있다. 이때, 임계 회수는 일반적인 사용자가 하나의 IP 주소에서 시도하는 로그인 시도 회수보다 많을 수 있다. 예를 들어, 임계 회수가 50회라고 하면, 일반적인 사용자는 단기간에 동일 IP 주소에서 50회 이상 로그인을 시도하지 않을 수 있다. 즉, 분석기는 로그인 정보에서 식별 정보와 비밀 번호가 일치하더라도, 임계 회수 이상의 로그인 정보를 수신한 경우, 해당 IP 주소를 해커의 IP 주소로 판단할 수 있다.
이때, 인덱서는 일정 기간 동안 해당 IP 주소에서 로그인을 시도하는 적어도 하나의 식별 정보를 저장할 수 있다. 그리고, 분석기는 해당 IP 주소를 해킹 위험성이 높은 IP 주소로 판단한 시점에서 일정 기간이 경과하면, 해당 IP 주소 및 해당 IP 주소에서 로그인을 시도한 적어도 하나의 식별 정보를 블랙 리스트에 추가함으로써, 해커가 알고 있는 식별 정보들을 모두 블랙 리스트에 추가할 수 있다.
그리고, API 부(142)는 보호 모드 적용 API를 이용하여 블랙 리스트에 포함된 식별 정보에 대응하는 계정에 로그인이 거절되는 보호 모드를 적용시킬 수 있다. 보호 모드가 적용된 계정은 보호 모드가 해제될 때까지 식별 정보와 비밀 번호로 로그인하지 못하도록 설정될 수 있다.
보호 모드 적용 API는 분석기에서 노출이 의심되는 계정을 보호 모드로 전환하거나 사전에 허가된 서비스에 따른 계정의 보호 모드 적용을 위해 호출할 수 있는 API이다. 이때, 분석기에서 노출이 의심되는 계정, 또는 사전에 허가된 서비스에서 호출한 보호 모드 적용 API에 의하여 블랙 리스트에 추가되고, 보호 모드 계정으로 전환될 수 있다.
해커에서 사용자의 식별 정보와 비밀 번호가 유출된 경우, 해커는 사용자의 식별 정보와 비밀 번호를 이용하여 사용자의 계정에 로그인할 수 있다. 따라서, API 부(142)는 식별 정보, 또는 IP 주소에 해킹 위험이 있는 경우, 식별 정보, 또는 IP 주소에 대응하는 사용자의 계정에 식별 정보와 비밀 번호로 로그인하지 못하도록 설정하는 보호 모드를 적용함으로써, 해커가 사용자의 식별 정보와 비밀 번호를 이용하여 사용자의 계정에 로그인하지 못하도록 할 수 있다.
그리고, API 부(142)는 사용자 단말(110)로부터 계정의 보호 모드를 해제하기 위한 해제 정보가 입력되는 경우, 보호 모드 해제 API로 계정의 보호 모드를 해제하여 사용자가 로그인이 가능하도록 할 수 있다. 이때, 보호 모드 해제 API는 보호 모드 해제를 위해 계정에 대한 소유권이 확인된 유저가 신규 비밀번호로 변경한 경우 블랙리스트에서 보호 모드 계정 정보를 제거할 수 있다. 이때, 계정 소유권 확인과 비밀번호 변경에 대한 검증 기능은 외부의 개별 서비스에서 확인 및 처리되며, 정상적으로 처리된 경우에만 보호 모드 해제 API를 호출하도록 설정될 수 있다.
또한, 계정의 보호 모드를 해제하기 위한 해제 정보는 사용자의 등급에 따라 다르며, 사용자 본인임을 인증할 수 있는 정보일 수 있다. 이때, 보호 모드 등급 정보 API는 보호 모드 해제 API에게 보호 모드 적용된 계정의 등급을 제공할 수 있다.
그리고, 보호 모드 해제 API는 보호 모드의 등급에 따라서 계정 소유권을 확인하는 방식을 다양화 할 수 있다. 예를 들어, 계정 등급이 낮은 경우 휴대폰 본인 인증을 통해 계정의 소유권을 확인할 수 있으며, 계정 등급이 높은 경우 간단한 방식을 이용해 보호 모드를 해제할 수 있다.
제1 인증부는 로그인 서버(120)에 접속을 요청한 사용자 단말(110)의 IP 주소, 또는 로그인 정보에 포함된 사용자의 식별 정보가 부정 접속과 관련된 화이트 리스트에 포함되었는지 여부를 확인할 수 있다. 화이트 리스트에 사용자 단말(110)의 IP 주소, 또는 사용자의 식별 정보가 포함된 경우, 보안 서버(140)의 제1 인증부는 사용자 단말(110)을 인증할 수 있다.
그리고, 제1 인증부는 로그인 서버(120)에 접속을 요청한 사용자 단말(110)의 IP 주소, 또는 로그인 정보에 포함된 사용자의 식별 정보가 부정 접속과 관련된 블랙 리스트에 포함되었는지 여부를 확인할 수 있다.
블랙 리스트에 사용자 단말(110)의 IP 주소가 포함된 경우, API 부(142)의 제1 인증부는 사용자 단말(110)의 인증 및 로그인을 거절할 수 있다.
이때, 제1 인증부는 식별 정보 또는 비밀 번호의 일치 여부와 상관 없이 로그인 서버(120)를 통하여 사용자 단말(110)에게 식별 정보 또는 비밀 번호가 틀렸다는 메시지를 전송함으로써, 사용자 단말(110)을 사용하는 해커에게 식별 정보, 및 비밀 번호 중에서 어느 것이 틀린 정보인지에 대한 정보를 제공하지 않을 수 있다.
또한, 블랙 리스트에 사용자의 식별 정보가 포함된 경우, API 부(142)의 제1 인증부는 보호 모드 해제 API로 사용자 단말(110)을 보호 모드 안내 서버(160)에 접속시킬 수 있다. 이때, 보호 모드 안내 서버(160)의 보호 모드 해제 프로세스는 사용자 단말(110)에게 계정의 보호 모드를 해제하기 위한 해제 정보를 요청하고, 요청에 따라 수신한 해제 정보를 이용하여 계정의 보호 모드를 해제할 수 있다. 이때, 보호 모드 안내 서버(160)의 보호 모드 해제 프로세스는 사용자의 등급에 따라 사용자 단말(110)에게 요청하는 해제 정보를 달리할 수 있다.
또한, 사용자의 등급은 사용자의 영향력, 과금액, 및 최근 사용자의 활동 중 적어도 하나에 따라 S등급, 또는 N 등급으로 결정될 수 있다. 이때, 최근 사용자의 활동은 사용자의 컴플레인 유입 가능 척도를 판단할 수 있는 활동 정보일 수 있다.
이때, S등급은 N 등급보다 간편한 방법으로 보호 모드를 해제할 수 있는 등급이고, N 등급은 비밀 번호를 변경 및 별도의 사용자 인증을 수행해야 보호 모드를 해제할 수 있는 등급일 수 있다.
또한, 게임을 잘하는 헤비 유저인 경우, 보안 서버(140)는 해당 사용자의 등급을 S 등급으로 설정할 수 있다. 예를 들어, 사용자의 계정이 게임 계정이고, 사용자의 게임 스코어가 일정 점수 이상인 경우, 보안 서버(140)는 해당 사용자의 등급을 S 등급으로 설정할 수 있다.
그리고, 사용자가 일정 기간 동안, 일정 금액 이상을 결제하는 과금 유저인 경우, 보안 서버(140)는 해당 사용자의 등급을 S 등급으로 설정할 수 있다. 일정 금액 이상을 결제하는 과금 유저는 충성 사용자이므로 일반 유저보다 손쉬운 방법으로 취약한 상태를 벗어날 수 있도록 편의성을 제공할 필요가 있다. 따라서, 보안 서버(140)는 해당 사용자의 등급을 S 등급으로 설정함으로써, 해당 사용자가 보호 모드를 용이하게 해제하도록 배려할 수 있다.
또한, 최근 왕성한 활동을 하고 있는 유저의 경우, 보호 모드의 해제가 복잡하면 고객 센터에 지속적으로 컴플레인을 할 가능성이 있다. 따라서, 보안 서버(140)는 최근 사용자의 활동을 검토하고, 최근 활동이 활발했던 해당 사용자의 등급을 S 등급으로 설정하여 해당 사용자가 보호 모드를 용이하게 해제하도록 함으로써, 보호모드 적용으로 인한 서비스 부하가 고객 센터에 몰리는 것을 예방할 수 있다.
사용자의 등급이 S 등급인 경우, 보호 모드 안내 서버(160)는 사용자 단말(110)에게 요청하는 해제 정보를 현재 비밀 번호, 새로운 비밀 번호, 및 새로운 비밀 번호 확인으로 결정할 수 있다. 그리고, 제1 인증부는 사용자 단말(110)로부터 현재 비밀 번호, 새로운 비밀 번호를 입력받고, 새로운 비밀 번호를 확인하기 위하여 새로운 비밀 번호를 재입력 받으면, 사용자의 비밀 번호를 새로운 비밀 번호로 변경하고, 사용자의 계정에 대한 보호 모드를 해제할 수 있다.
사용자의 등급이 S 등급이 아닌 N등급인 경우, 보호 모드 안내 서버(160)는 사용자가 서비스 가입시 입력한 핸드폰으로 인증번호 전송하여 인증하는 핸드폰 인증, 사용자가 서비스 가입시 입력한 이메일로 인증 정보를 전송하여 인증하는 이메일 인증, 및 사용자가 서비스 가입시 사용한 IP 주소로 로그인 정보를 전송하는 IP 인증 중 적어도 하나를 이용하여 사용자를 인증할 수 있다. 이때, 사용자의 인증 및 비밀번호 변경에 대한 검증 기능은 외부의 개별 서비스에서 확인 및 처리되며, 정상적으로 처리된 경우에만 보호 모드 해제 API를 호출하도록 설정될 수 있다.
그리고, 보호 모드 안내 서버(160)는 상기와 같은 수단으로 사용자가 인증되면, 사용자에게 새로운 비밀 번호를 요청하며, 사용자의 비밀 번호를 요청에 따라 전달된 새로운 비밀 번호로 변경하고, 사용자의 계정에 대한 보호 모드를 해제할 수 있다.
또한, 일정 시간 동안 블랙 리스트에 포함되었던 사용자 단말(110)의 IP 주소에 대한 해킹 시도가 없는 경우, 보안 서버(140)는 해당 IP 주소에 대한 해킹 위험이 감소했다고 판단하고, 해당 IP 주소를 블랙 리스트에서 그레이 리스트로 이동시킬 수 있다.
이때, 그레이 리스트로 이동된 IP 주소에는 일정 시간마다 감소되는 그레이 포인트가 설정되며, 보안 서버(140)는 그레이 포인트가 0이 된 IP 주소를 그레이 리스트에서 삭제할 수 있다.
또한, 그레이 리스트로 이동된 IP 주소에서 보안과 관련된 문제가 발생하는 경우, 보안 서버(140)는 그레이 리스트로 이동된 IP 주소를 블랙 리스트로 이동시킬 수 있다. 예를 들어, 그레이 리스트로 이동된 IP 주소에서 식별 정보와 일치하지 않는 비밀 번호를 일정 개수 이상 전송하는 경우, 보안 서버(140)는 그레이 리스트로 이동된 IP 주소에서 보안과 관련된 문제가 발생한 것으로 판단할 수 있다.
제2 인증부는 빠른 사용자 인증을 위하여 로그인 정보에 포함된 식별 정보가 블랙 리스트에 포함되었는지 여부를 검색할 수 있다.
제2 인증부는 제1 인증부와 달리 화이트 리스트, 및 그레이 리스트를 사용하지 않고, 블랙 리스트에서도 IP 주소는 검색하지 않으므로, 정확도는 제1 인증부 보다 낮으나 검색해야 할 리스트가 적으므로, 인증 속도가 더 빠를 수 있다.
관리부(143)는 완화부(141)과 API 부(142)의 기능과 정책을 설정하며, 제재된 IP 주소와 인증 식별자에 대한 조회 및 예외로 설정된 상황을 처리할 수 있다.
또한, 보안 서버(140)는 로그인 서버(120)의 요청에 따라 로그인 서버(120)에서 로그인 된 사용자의 계정에 대한 추가 분석을 수행할 수 있다. 그리고, 추가 분석 결과에 따라 로그인 된 사용자의 계정을 로그아웃 시킬 수 있다.
이때, 보안 서버(140)는 로그인 서버(120), 또는 SSO 서버(130)로부터 사용자 단말(110)의 IP 주소, 또는 사용자의 식별 정보에 대한 인증 결과를 수신하고, 인증 결과 및 사용자의 계정의 로그를 추가 분석하여 사용자의 계정이 해킹 당하고 있는지 여부를 판단할 수 있다.
또한, 보안 서버(140)는 제1 인증부를 사용하여 로그인 된 사용자를 검증할 수 있다. 그리고, 로그인 된 사용자가 제1 인증부 및 제2 인증부를 우회하여 로그인되었으며, 제1 인증부를 사용하여 검증되지 않는 경우, 보안 서버(140)는 로그인 된 사용자의 계정을 로그아웃 시킬 수 있다.
또한, 보안 서버(140)는 사용자가 로그인에 사용한 IP 주소의 해킹 위험성을 판단할 수 있다. 그리고, 보안 서버(140)는 사용자가 로그인에 사용한 IP 주소를 해킹 위험성이 높은 IP 주소로 판단하는 경우, 보안 서버(140)는 해킹 위험성이 높은 IP 주소를 이용하여 로그인한 사용자의 계정을 로그아웃 시키고, 해당 계정에 보호 모드를 적용시킬 수 있다.
세션 서버(150)는 보안 서버(140)의 요청에 따라 로그인 서버(120)가 로그인한 계정을 강제 로그아웃 시킬 수 있다.
보호 모드 안내 서버(160)는 보안 서버(140)의 보호 모드 해제 API에 대응하여 사용자 단말(110)에게 보호 모드를 해제하기 위한 방법이 기재된 보호 모드 안내 페이지를 제공할 수 있다.
이때, 보호 모드 안내 서버(160)는 보호 모드 등급 정보 API로부터 사용자의 등급을 제공받고, 사용자 단말(110)에게 사용자의 등급에 따른 보호 모드 해제 방법이 기재된 페이지를 제공할 수 있다.
본 발명의 일실시예에 따른 보안 인증 시스템은 화이트 리스트, 블랙 리스트, 및 그레이 리스트를 이용한 제1 인증부로 사용자의 인증을 시도하고, 일정 기간 안에 사용자를 인증하지 못하는 경우, 블랙 리스트만 사용하여 인증 속도가 빠른 제2 인증부로 사용자의 인증을 재시도함으로써, 로그인을 요청한 사용자의 인증에 소요되는 시간을 일정 시간 이하로 제어할 수 있다.
또한, 본 발명의 일실시예에 따른 보안 인증 시스템은 완화부(141)와 API 부(142)가 서로 다른 기준으로 각각 생성한 블랙 리스트들을 이용하여 사용자 단말(110)의 IP 주소, 또는 사용자의 식별 정보를 인증함으로써, 보안 성능을 향상시킬 수 있다.
그리고, 본 발명의 일실시예에 따른 보안 인증 시스템은 해킹 위험이 있는 계정에 로그인이 불가능하도록 하는 보호 모드를 적용함으로써, 사용자의 비밀 번호가 해커에게 누출되더라고 해커가 사용자의 계정에 접속하는 것을 방지할 수 있다.
또한, 본 발명의 일실시예에 따른 보안 인증 시스템은 사용자의 등급에 따라 사용자의 계정의 보호 모드를 해제하기 위한 해제 정보를 결정함으로써, 중요 사용자들의 불만을 최소화할 수 있다.
도 2는 본 발명의 일실시예에 따른 완화부의 동작 일례이다.
완화부(141)는 모니터(221), 폴리시 체커(Policy Checker)(222), 폴리시 업데이터(Policy Updater)(223)로 구성된 완화 클라이언트 및 분석기(231), 프로세서(232), 폴리시 디스트리뷰터(Policy Distributor)(236)로 구성된 완화 서버를 포함할 수 있다.
이때, 완화 클라이언트는 도 2에 도시된 바와 같이 로그인 서버(120)에 설치되고, 완화 서버는 보안 서버(140)에 포함될 수 있다.
먼저, 완화 클라이언트의 모니터(221)는 어플리케이션(APP)(210), 웹 서버(212), OS(213)의 로그를 모니터링하여 완화 서버의 분석기(231)로 전송할 수 있다. 이때, 어플리케이션(APP)(210), 웹 서버(212), OS(213)의 로그는 사용자 단말(110)의 특성 세션키값, 브라우저 정보, 및 특정 GET 파라메터 중 적어도 하나가 포함된 정보일 수 있다.
다음으로, 완화 서버의 분석기(Analyzer)(231)는 모니터(221)로부터 수신한 로그를 분석하여 보안 인증 시스템의 보안 정책에 위반한 시도를 한 IP 주소를 식별할 수 있다. 그리고, 분석기(231)는 식별한 IP 주소를 프로세서(232)로 전달할 수 있다.
그 다음으로, 프로세서(232)는 화이트 리스트(233), 블랙 리스트(234), 및 그레이 리스트(235)를 이용하여 블랙 리스트를 갱신할 수 있다. 구체적으로, 프로세서(232)는 화이트 리스트(233), 블랙 리스트(234), 및 그레이 리스트(235)에서 분석기(231)로부터 수신한 IP 주소를 검색할 수 있다.
분석기(231)로부터 받은 블랙 리스트 IP 주소가 화이트 리스트(233)에 포함된 경우, 프로세서(232)는 해당 IP 주소를 차단에서 제외할 수 있다. 또한, 분석기(231)로부터 받은 블랙 리스트 IP 주소가 화이트 리스트에 포함되어 있지 않은 경우, 프로세서(232)는 해당 IP 주소를 블랙 리스트(234)에 추가해 블랙 리스트를 갱신할 수 있다.
그리고, 분석기(231)로부터 받은 IP 주소가 그레이 리스트(235)에 포함된 경우, 프로세서(232)는 해당 IP 주소를 그레이 리스트(235)에서 삭제하고, 블랙 리스트(234)에 추가하여 블랙 리스트를 갱신할 수 있다.
다음으로, 프로세서(232)는 갱신된 블랙 리스트를 폴리시 디스트리뷰터(236)에 게재할 수 있다.
이때, 완화 클라이언트의 폴리시 체커(222)는 주기적으로 폴리시 디스트리뷰터(236)에 개제된 블랙 리스트가 갱신되었는지 여부를 확인할 수 있다. 그리고, 폴리시 디스트리뷰터(236)에 개제된 블랙 리스트가 갱신된 경우, 폴리시 체커(222)는 폴리시 업데이터(223)에게 로그인 서버(120)의 블랙 리스트 업데이트를 요청할 수 있다.
폴리시 업데이터(223)는 폴리시 디스트리뷰터(236)에 개제된 블랙 리스트를 이용하여 로그인 서버(120)의 블랙 리스트를 업데이트할 수 있다. 이때, 업데이트된 로그인 서버(120)의 블랙 리스트에 포함된 IP 주소를 가진 사용자 단말(110)은 로그인 서버(120)에서 차단될 수 있다.
도 3은 본 발명의 일실시예에 따른 API부의 동작 일례이다.
사용자 단말(110)는 도 3에 도시된 바와 같이 웹 브라우저(310), 또는 게임 클라이언트(320)를 사용하여 로그인 서버(120)에 접속할 수 있다. 그리고, 보안 서버(140)에 포함된 제1 인증부(340)는 로그인 서버(120), 또는 SSO 서버(130)로부터 사용자의 인증 요청을 수신할 수 있다. 이때, 수신한 사용자의 인증 요청에는 웹 브라우저(310), 또는 게임 클라이언트(320)를 통한 로그인 서버(120)의 로그인에 사용한 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소 중 적어도 하나가 포함될 수 있다.
다음으로, 제1 인증부(340)는 화이트 리스트(341)에서 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소를 검색할 수 있다.
화이트 리스트(341)에서 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소가 검색되지 않은 경우, 제1 인증부(340)는 블랙 리스트(343)에서 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소를 검색할 수 있다.
그리고, 화이트 리스트(341) 및 블랙 리스트(343)에서 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소가 검색되지 않은 경우, 제1 인증부(340)는 그레이 리스트(342)에서 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소를 검색할 수 있다.
화이트 리스트(341)에서 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소가 검색된 경우, 제1 인증부(340)는 사용자를 인증해도 된다는 정보를 로그인 서버(120), 또는 SSO 서버(130)로 전송할 수 있다.
또한, 블랙 리스트(343)에서 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소가 검색된 경우, 제1 인증부(340)는 사용자를 인증할 수 없다는 정보를 로그인 서버(120), 또는 SSO 서버(130)로 전송할 수 있다.
그리고, 그레이 리스트(342)에서 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소가 검색된 경우, 제1 인증부(340)는 사용자를 인증할 수 없다는 정보를 로그인 서버(120), 또는 SSO 서버(130)로 전송하고, 검색된 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소를 그레이 리스트(342)에서 블랙 리스트(343)로 이동시킬 수 있다.
그리고, 제1 인증부(340)가 일정 시간 안에 화이트 리스트(341), 또는 블랙 리스트(343)에서 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소를 검색하지 못할 수 있다. 이때, 로그인 서버(120), 또는 SSO 서버(130)는 2차 API인 제2 인증부(350)에 사용자의 인증 요청을 전송할 수 있다.
이때, 제2 인증부(350)는 블랙 리스트(343)에서 사용자의 식별 정보를 검색할 수 있다. 그리고, 블랙 리스트(343)에서 사용자의 식별 정보가 검색된 경우, 제2 인증부(240)는 사용자를 인증할 수 없다는 정보를 로그인 서버(120), 또는 SSO 서버(130)로 전송할 수 있다. 또한, 블랙 리스트(343)에서 사용자의 식별 정보가 검색되지 않은 경우, 제2 인증부(240)는 사용자를 인증한다는 정보를 로그인 서버(120), 또는 SSO 서버(130)로 전송할 수 있다.
로그인 서버(120), SSO 서버(130)는 제1 인증부(340)와 제2 인증부(350)의 피드백을 받은 이후 사용자 단말에 대한 로그인을 처리하고, 처리 결과를 인증 데이터베이스(DB)(330) 및 인덱서(360)로 전송할 수 있다.
이때, 인덱서(360)는 수신한 처리 결과를 인덱스 데이터베이스(DB)(361)에 저장할 수 있다. 또한, 제1, 2 인증부가 모두 제 시간 이내에 응답을 하지 못한 상황에서 보호 모드 계정이 로그인 한 경우, 인덱서(360)는 강제 로그아웃을 호출해 세션 서버(150)에서 로그아웃 시킬 수 있다.
분석기(370)는 인덱스 DB(361)의 결과와 보안 정책, 화이트 리스트(341), 블랙 리스트(343)을 분석하여 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소를 블랙 리스트(343)에 등록할 수 있다.
이때, 분석기(370)는 일정 기간 동안 보호 모드를 설정할 수 있는 계정의 수를 서비스별, 등급별로 제한할 수 있다. 기 설정된 보호 모드를 설정할 수 있는 계정의 최대 개수 이상의 계정이 블랙 리스트(343)에 추가된 경우, 분석기(370)는 해당 계정에 보호 모드를 적용하지 않고, 탐지 현황만을 기록할 수 있다.
그리고, 보호 모드 적용 API(371)는 분석기(370)에서 노출이 의심되는 계정을 보호 모드로 전환하거나 사전에 허가된 서비스에 따른 계정에 보호 모드를 적용할 수 있다. 이때, 보호 보드가 적용된 계정은 블랙 리스트(343)에 추가될 수 있다.
보호 모드 등급정보 API(380)는 보호 모드 적용된 계정의 등급을 보호 모드 안내 서버(160)에 제공함으로써, 보호 모드 안내 서버(160)가 계정의 등급에 따른 보호 모드 안내 페이지(381)를 사용자 단말(110)에 제공하도록 할 수 있다.
보호 모드 해제 API(390)는 사용자가 보호 모드를 해제한 경우, 블랙 리스트(343)에서 사용자의 계정을 삭제할 수 있다.
도 4는 본 발명의 일실시예에 따른 리스트 확인 API의 일례이다.
도 4의 리스트 확인 API(410)은 도 3의 화이트 리스트(341), 또는 블랙 리스트(343)에서 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소를 검색하여 확인하기 위한 API의 일례이다. 예를 들어, 리스트 확인 API(410)는 의사 코드(420)와 같이 구성될 수 있다.
이때, captcha=1은 캡차를 입력하여 인증을 시도한 경우, 블랙 리스트의 캡차 상태를 무시하고, 사용자를 인증한다는 응답을 전송하기 위한 플래그일 수 있다.
그리고, 리스트 확인 API(410)은 수행 결과에 따라 사용자를 인증한다는 PASS, 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소를 차단하라는 BLOCK, 사용자의 계정에 보호 모드를 적용하라는 PROTECT, 및 사용자를 인증하기 위하여 캡차를 사용하라고 지시하는 CAPTCHA 중 하나를 출력할 수 있다.
도 5는 본 발명의 일실시예에 따른 인증 결과 수신 API의 일례이다.
도 5의 인증 결과 수신 API(510)는 도 4의 리스트 확인 API(410)가 PASS를 출력하는 경우 호출되는 API의 일례이다. 예를 들어, 인증 결과 수신 API(510)는 의사 코드(520)와 같이 구성될 수 있다.
이때, result_code는 식별 정보와 비밀 번호가 일치하는지 여부에 대한 인증 결과 코드일 수 있다.
도 6는 본 발명의 일실시예에 따른 보호 모드 해제 API의 일례이다.
도 6의 보호 모드 해제 API(610)는 보안 서버(140)가 사용자의 계정에 대한 보호 모드를 해제할 경우 수행되는 API의 일례이다. 예를 들어, 보호 모드 해제 API(610)는 의사 코드(620)와 같이 구성될 수 있다.
도 7은 본 발명의 일실시예에 따른 보호 모드 확인 2차 API의 일례이다.
도 7의 보호 모드 확인 2차 API(710)는 보호 모드 설정 API에서 오류가 발생한 경우, 보호 모드를 확인하는 API의 일례이다. 예를 들어, 보호 모드 확인 2차 API (710)는 의사 코드(720)와 같이 구성될 수 있다.
도 8은 본 발명의 일실시예에 따른 보호 모드 설정 API의 일례이다.
도 8의 보호 모드 설정 API(810)는 보안 서버(140)가 분석을 통해 사용자의 식별 정보를 검색한 경우, 사용자의 계정에 보호 모드를 적용하는 API의 일례이다. 예를 들어, 보호 모드 설정 API(810)는 의사 코드(820)와 같이 구성될 수 있다.
이때, 보호 모드 설정 API(810)는 사용자의 계정에 대한 보호 모드의 적용이 성공한 경우, 보호 사유를 출력할 수 있다.
도 9은 본 발명의 일실시예에 따른 보호 모드 고객 등급 확인 API의 일례이다.
도 9의 보호 모드 고객 등급 확인 API(910)는 보안 서버(140)가 사용자의 등급을 확인하기 위하여 사용하는 API의 일례이다. 예를 들어, 보호 모드 고객 등급 확인 API (910)는 의사 코드(920)와 같이 구성될 수 있다.
이때, 사용자의 등급이 S 등급인 경우, 보호 모드 고객 등급 확인 API(910)는 사용자의 식별 정보가 포함된 PROTECT_S를 출력할 수 있다.
또한, 사용자의 등급이 S 등급이 아닌 경우, 보호 모드 고객 등급 확인 API(910)는 사용자의 식별 정보 및 사용자 단말(110)의 IP 주소가 포함된 PROTECT 를 출력할 수 있다.
그리고, 사용자의 등급이 S 등급이지만, 사용자의 식별 정보 및 사용자 단말(110)의 IP 주소가 블랙 리스트, 또는 그레이 리스트에 포함된 경우, 보호 모드 고객 등급 확인 API(910)는 사용자의 식별 정보 및 사용자 단말(110)의 IP 주소가 포함된 PROTECT 를 출력할 수 있다.
도 10는 본 발명의 일실시예에 따른 보안 인증 방법을 도시한 플로우차트이다.
단계(1010)에서 로그인 서버(120)는 사용자 단말(110)로부터 사용자의 계정에 대한 로그인 정보를 수신할 수 있다.
단계(1020)에서 완화부(141)는 단계(1010)에서 수신한 로그인 정보에 포함된 사용자 단말(110)의 IP 주소가 블랙 리스트 추가 대상인지 여부를 확인할 수 있다.
예를 들어, 로그인 서버(120)가 사용자 단말(110)에서 일정 시간 동안 기 설정된 개수 이상의 로그인 요청을 수신한 경우, 완화부(141)는 사용자 단말(110)의 IP 주소를 블랙 리스트 추가 대상으로 판단하여 단계(1025)를 수행할 수 있다. 또한, 로그인 서버(120)가 수신한 로그인 정보에 부정한 패턴이 포함된 경우, 완화부(141)는 사용자 단말(110)의 IP 주소를 블랙 리스트 추가 대상으로 판단하여 단계(1025)를 수행할 수 있다.
그리고, 사용자 단말(110)의 IP 주소가 블랙 리스트 추가 대상이 아닌 경우, 완화부(141)는 단계(1030)을 수행할 수 있다.
단계(1025)에서 완화부(141)는 사용자 단말(110)의 IP 주소를 블랙 리스트에 등록하여 사용자 단말(110)이 로그인 서버(120)에 접속하지 못하도록 차단할 수 있다.
단계(1030)에서 로그인 서버(120)는 보안 서버(140)에 제1 인증부를 호출하여 사용자 단말(110)의 인증을 시도할 수 있다.
단계(1040)에서 로그인 서버(120)는 제1 인증부가 일정 시간 안에 사용자 단말(110)의 인증에 대한 응답을 하였는지 여부를 확인할 수 있다. 제1 인증부가 일정 시간 안에 사용자 단말(110)의 인증에 대한 응답을 하지 못한 경우, 로그인 서버(120)는 단계(1050)를 수행할 수 있다. 또한, 제1 인증부가 일정 시간 안에 사용자 단말(110)의 인증에 대한 응답을 한 경우, 로그인 서버(120)는 단계(1045)를 수행할 수 있다.
단계(1045)에서 로그인 서버(120)는 단계(1040), 또는 단계(1060)에서 받은 응답이 사용자 단말(110)의 인증 성공인지 여부를 확인할 수 있다. 응답이 사용자 단말(110)의 인증 성공인 경우, 로그인 서버(120)는 단계(1070)을 수행할 수 있다. 또한, 응답이 사용자 단말(110)의 인증 거부인 경우, 로그인 서버(120)는 사용자 단말(110)의 로그인을 거절하고 동작을 종료할 수 있다.
단계(1050)에서 로그인 서버(120)는 보안 서버(140)에 제2 인증부를 호출하여 사용자 단말(110)의 인증을 시도할 수 있다.
단계(1060)에서 로그인 서버(120)는 제2 인증부가 일정 시간 안에 사용자 단말(110)의 인증에 대한 응답을 하였는지 여부를 확인할 수 있다. 제2 인증부가 일정 시간 안에 사용자 단말(110)의 인증에 대한 응답을 하지 못한 경우, 로그인 서버(120)는 단계(1070)를 수행할 수 있다. 또한, 제2 인증부가 일정 시간 안에 사용자 단말(110)의 인증에 대한 응답을 한 경우, 로그인 서버(120)는 단계(1045)를 수행할 수 있다.
단계(1070)에서 로그인 서버(120)는 로그인 정보에 포함된 식별 정보와 비밀 번호를 이용하여 로그인을 수행할 수 있다.
단계(1080)에서 보안 서버(140)는 단계(1070)에서 로그인 된 사용자의 계정을 분석할 수 있다.
단계(1090)에서 보안 서버(140)는 단계(1080)의 분석 결과 사용자 단말(110)이 사용자의 계정에 우회 로그인을 하였는지 여부를 확인할 수 있다.
사용자 단말(110)이 사용자의 계정에 우회 로그인을 한 경우, 보안 서버(140)는 단계(1095)를 수행할 수 있다. 또한, 사용자 단말(110)이 사용자의 계정에 우회 로그인을 하지 않은 경우, 보안 서버(140)는 동작을 종료할 수 있다.
단계(1095)에서 보안 서버(140)는 세션 서버(150)를 이용하여 단계(1070)에서 로그인 된 사용자의 계정을 계정을 강제로 로그아웃 시킬 수 있다.
도 11은 본 발명의 일실시예에 따른 보안 인증 방법의 제1 인증부로 인증을 시도하는 과정을 도시한 플로우차트이다. 이때, 도 11의 단계(1110) 내지 단계(1180)는 도 10의 단계(1030)에 포함될 수 있다.
단계(1110)에서 제1 인증부는 로그인 서버(120)에 접속을 요청한 사용자 단말(110)의 사용자 식별 정보가 부정 접속과 관련된 화이트 리스트에 포함되었는지 여부를 확인할 수 있다. 화이트 리스트에 사용자 단말(110)의 사용자의 식별 정보가 포함된 경우, 제1 인증부는 단계(1160)를 수행할 수 있다. 또한, 화이트 리스트에 사용자 단말(110)의 사용자 식별정보가 포함되지 않은 경우, 제1 인증부는 단계(1120)를 수행할 수 있다.
단계(1120)에서 제1 인증부는 로그인 서버(120)에 접속을 요청한 사용자 단말(110)의 사용자의 식별정보가 블랙 리스트에 포함되었는지 여부를 확인할 수 있다. 블랙 리스트에 사용자 단말(110)의 사용자의 식별정보가 포함된 경우, 제1 인증부는 단계(1180)를 수행할 수 있다. 또한, 블랙 리스트에 사용자 단말(110)의 사용자의 식별정보가 포함되지 않은 경우, 제1 인증부는 단계(1130)를 수행할 수 있다.
단계(1130)에서 제1 인증부는 로그인 정보에 포함된 사용자 단말(110)의 IP 주소가 부정 접속과 관련된 화이트 리스트에 포함되었는지 여부를 확인할 수 있다. 화이트 리스트에 사용자 단말(110)의 IP 주소가 포함된 경우, 제1 인증부는 단계(1160)를 수행할 수 있다. 또한, 화이트 리스트에 사용자 단말(110)의 IP 주소가 포함되지 않은 경우, 제1 인증부는 단계(1140)를 수행할 수 있다.
단계(1140)에서 제1 인증부는 로그인 정보에 포함된 사용자 단말(110)의 IP 주소가 블랙 리스트에 포함되었는지 여부를 확인할 수 있다. 블랙 리스트에 사용자 단말(110)의 IP 주소가 포함된 경우, 제1 인증부는 단계(1170)를 수행할 수 있다. 또한, 블랙 리스트에 사용자 단말(110)의 IP 주소가 포함되지 않은 경우, 제1 인증부는 단계(110)를 수행할 수 있다.
단계(1150)에서 제1 인증부는 로그인 서버(120)에 접속을 요청한 사용자 단말(110)의 IP 주소가 접속 허용 지역의 IP인지 여부를 확인할 수 있다. 사용자 단말(110)의 IP 주소가 접속 허용 지역의 IP인 경우, 제1 인증부는 단계(1160)를 수행할 수 있다. 또한, 사용자 단말(110)의 IP 주소가 접속 허용 지역의 IP가 아닌 경우, 제1 인증부는 단계(1170)를 수행할 수 있다.
단계(1160)에서 제1 인증부는 사용자 단말(110)의 로그인 시도가 사용자에 의하여 정상적으로 수행되었다는 인증을 할 수 있다.
단계(1170)에서 제1 인증부는 사용자 단말(110)의 인증을 거절할 수 있다. 또한, 제1 인증부는 CAPTCH를 이용하여 사용자 단말(110)을 재인증하도록 요청할 수도 있다.
단계(1180)에서 제1 인증부는 사용자 단말(110)에게 계정의 보호 모드를 해제하기 위한 해제 정보를 요청하고, 요청에 따라 수신한 해제 정보를 이용하여 계정의 보호 모드를 해제할 수 있다. 이때, 제1 인증부는, 사용자의 등급에 따라 사용자 단말(110)에게 요청하는 해제 정보를 결정할 수 있다.
도 12는 도 11의 보호 모드 해제 과정을 도시한 플로우차트이다. 이때, 도 12의 단계(1210) 내지 단계(1280)는 도 11의 단계(1180)에 포함될 수 있다.
단계(1210)에서 제1 인증부는 사용자의 식별 정보(ID)가 보호 모드가 설정된 계정의 식별 정보인지 여부를 확인할 수 있다. 사용자의 식별 정보(ID)가 보호 모드가 설정된 계정의 식별 정보인 경우, 제1 인증부는 단계(1220)을 수행할 수 있다. 또한, 사용자의 식별 정보(ID)가 보호 모드가 설정된 계정의 식별 정보가 아닌 경우, 제1 인증부는 단계(1180)을 종료할 수 있다.
단계(1220)에서 제1 인증부는 사용자 단말(110)을 보호 모드 안내 서버(160)가 제공하는 보호 모드 해제 안내 페이지에 접속시킬 수 있다.
단계(1230)에서 제1 인증부는 보호 모드 등급 정보 API를 이용하여 사용자의 등급이 VIP인 S등급인지 여부를 확인할 수 있다. 사용자의 등급이 VIP인 S등급인 경우, 제1 인증부는 단계(1240)을 수행할 수 있다. 또한, 사용자의 등급이 VIP인 S등급이 아닌 경우, 제1 인증부는 단계(1250)을 수행할 수 있다.
단계(1240)에서 제1 인증부는 사용자 단말(110)의 IP 주소가 위험성이 있는 IP 주소인지 여부를 확인할 수 있다. 예를 들어, 위험성이 있는 IP 주소는 해킹 이력이 있는 IP 주소, 또는 해외 IP 주소일 수 있다.
사용자 단말(110)의 IP 주소가 위험성이 있는 IP 주소인 경우, 제1 인증부는 단계(1250)을 수행할 수 있다. 또한, 사용자 단말(110)의 IP 주소가 위험성이 있는 IP 주소가 아닌 경우, 보호모드 해제 프로세스(391)는 단계(1260)을 수행할 수 있다.
단계(1250)에서 보호모드 해제 프로세스(391)는 사용자의 계정 소유권을 확인할 수 있다. 구체적으로, 보호모드 해제 프로세스(391)는 핸드폰 인증, 이메일 인증, 및 비밀번호 인증 중 적어도 하나를 이용하여 로그인 정보를 전송한 대상이 계정을 소유하고 있는 사용자인 것을 인증할 수 있다.
단계(1260)에서 보호모드 해제 프로세스(391)는 사용자의 식별 정보에 대응하는 비밀 번호를 확인하고, 사용자에게 신규 비밀 번호를 요청할 수 있다. 그리고, 보호모드 해제 프로세스(391)는 사용자의 식별 정보에 대응하는 비밀 번호를 사용자로부터 수신한 신규 비밀 번호로 변경할 수 있다.
단계(1270)에서 보호모드 해제 프로세스(391)는 단계(1260)에서 변경한 신규 비밀 번호가 변경 전까지 사용하던 이전 비밀 번호와 동일한지 여부를 확인할 수 있다. 신규 비밀 번호가 이전 비밀 번호와 동일한 경우, 보호모드 해제 프로세스(391)는 단계(1260)을 수행하여 사용자에게 신규 비밀 번호를 다시 요청할 수 있다. 또한, 신규 비밀 번호가 이전 비밀 번호와 다른 경우, 보호모드 해제 프로세스(391)는 단계(1280)을 수행할 수 있다.
단계(1280)에서 보호모드 해제 프로세스(391)는 보호 모드 해제 API를 사용하여 사용자의 계정에 설정된 보호 모드를 해제할 수 있다.
도 13은 본 발명의 일실시예에 따른 보안 인증 방법의 로그인 결과 분석 과정을 도시한 플로우차트이다. 이때, 도 13의 단계(1310) 내지 단계(1340)는 도 10의 단계(1080)에 포함될 수 있다.
단계(1310)에서 보안 서버(140)는 로그인 서버(120)로부터 단계(1070)의 로그인 결과를 수신할 수 있다.
단계(1320)에서 보안 서버(140)는 단계(1310)에서 수신한 로그인 결과를 파싱할 수 있다.
단계(1330)에서 보안 서버(140)는 단계(1320)에서 파싱한 결과를 이용하여 사용자의 식별 정보가 차단 또는 보호 모드가 설정된 식별 정보(ID)인지 여부를 확인할 수 있다. 사용자의 식별 정보가 차단 또는 보호 모드가 설정된 식별 정보(ID)인지 경우, 보안 서버(140)는 단계(1340)를 수행할 수 있다. 또한, 사용자의 식별 정보가 차단 또는 보호 모드가 설정된 식별 정보(ID)가 아닌 경우, 보안 서버(140)는 단계(1350)을 수행할 수 있다.
단계(1340)에서 보안 서버(140)는 세션 서버(150)를 이용하여 단계(1070)에서 로그인 된 사용자의 계정을 계정을 강제로 로그아웃 시킬 수 있다.
단계(1350)에서 보안 서버(140)는 사용자의 식별 정보가 보안 인증 시스템(100)의 ID 정책을 위반하였는지 여부를 확인할 수 있다.
단계(1360)에서 보안 서버(140)는 사용자 단말(110)의 IP 주소가 보안 인증 시스템(100)의 IP 정책을 위반하였는지 여부를 확인할 수 있다.
단계(1370)에서 보안 서버(140)는 사용자 단말(110)의 IP 주소에서 일정 기간 동안 일정 회수 이상의 인증을 시도하였는지 여부를 확인할 수 있다.
단계(1380)에서 보안 서버(140)는 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소가 화이트 리스트에 포함된 경우, 단계(1350) 내지 단계(1370)의 확인 결과에서 사용자의 식별 정보, 또는 사용자 단말(110)의 IP주소를 예외로 설정할 수 있다.
단계(1390)에서 보안 서버(140)는 단계(1350) 내지 단계(1370)의 확인 결과에 따라 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소에 보안 인증 시스템(100)의 정책에 따른 제재를 할 수 있다. 다만, 단계(1380)에서 예외로 설정된 사용자의 식별 정보, 또는 사용자 단말(110)의 IP 주소는 제재를 하지 않을 수 있다.
단계(1395)에서 보안 서버(140)는 단계(1390)의 처리 결과를 로깅할 수 있다.
도 14는 본 발명의 일실시예에 따른 보안 인증 시스템에서 로그인 서버가 API를 호출하여 보안 인증을 수행하는 과정의 일례이다.
이때, 단계(1410) 내지 단계(1440)는 사용자 단말(110)의 인증이 성공한 경우의 동작이고, 단계(1450) 내지 단계(1470)는 사용자 단말(110)의 인증이 실패한 경우의 동작일 수 있다.
단계(1410)에서 사용자 단말(110)는 로그인 서버(120)에 로그인 정보를 전송하며 인증을 요청할 수 있다.
단계(1420)에서 로그인 서버(120)는 보안 서버(140)의 API인 제1 인증부를 호출하여 사용자 단말(110)의 인증을 요청할 수 있다. 이때, 제1 인증부는 화이트 리스트, 블랙 리스트, 그레이 리스트를 이용하여 사용자 단말(110)을 인증할 수 있다.
단계(1425)에서 제1 인증부는 사용자 단말(110)의 IP 주소, 또는 로그인 정보에 포함된 사용자의 식별 정보가 화이트 리스트에 포함되거나, 블랙 리스트, 그레이 리스트 중 하나에 포함되지 않는 경우, 사용자 단말(110)을 인증하고, 인증 결과를 응답으로 로그인 서버(120)에 전송할 수 있다.
단계(1430)에서 로그인 서버(120)는 SSO 서버(130)에 사용자 단말(110)에 대한 인증을 요청할 수 있다. 이때, 로그인 서버(120)는 사용자 단말(110)로부터 수신한 로그인 정보에 포함된 식별 정보 및 비밀 번호를 SSO 서버(130)로 전송하여 인증을 요청하는 인터페이스, 또는 사용자 단말(110)로부터 SSO 서버(130)에 전송하기 위한 식별 정보 및 비밀 번호를 입력받기 위한 FORM을 제공하는 서버일 수 있다.
그리고, SSO 서버(130)는 로그인 서버(120)로부터 수신한 식별 정보 및 비밀 번호가 기 저장된 사용자의 식별 정보 및 비밀 번호와 일치하는 경우, 사용자 단말(110)을 인증할 수 있다.
단계(1435)에서 로그인 서버(120)는 SSO 서버(130)로부터 사용자 단말(110)에 대한 인증 결과를 응답으로 수신할 수 있다.
단계(1440)에서 로그인 서버(120)는 SSO 서버(130)로부터 수신한 인증 결과를 SSO 서버(130)에 전송할 수 있다.
단계(1450)에서 사용자 단말(110)는 로그인 서버(120)에 로그인 정보를 전송하며 인증을 요청할 수 있다.
단계(1460)에서 로그인 서버(120)는 보안 서버(140)의 API인 제1 인증부를 호출하여 사용자 단말(110)의 인증을 요청할 수 있다.
단계(1465)에서 제1 인증부는 사용자 단말(110)의 IP 주소, 또는 로그인 정보에 포함된 사용자의 식별 정보가 블랙 리스트, 그레이 리스트 중 하나에 포함된 경우, 사용자 단말(110)의 인증을 거절하고, 인증 결과를 응답으로 로그인 서버(120)에 전송할 수 있다.
단계(1470)에서 로그인 서버(120)는 단계(1465)에서 수신한 인증 결과에 따라 사용자 단말(110)의 접속을 차단할 수 있다.
도 15은 본 발명의 일실시예에 따른 보안 인증 시스템에서 SSO 서버가 API를 호출하여 보안 인증을 수행하는 과정의 일례이다.
이때, 단계(1510) 내지 단계(1545)는 사용자 단말(110)의 인증이 성공한 경우의 동작이고, 단계(1550) 내지 단계(1575)는 사용자 단말(110)의 인증이 실패한 경우의 동작일 수 있다.
단계(1510)에서 사용자 단말(110)는 로그인 서버(120)에 로그인 정보를 전송하며 인증을 요청할 수 있다.
단계(1520)에서 로그인 서버(120)는 SSO 서버(130)에 사용자 단말(110)에 대한 인증을 요청할 수 있다.
단계(1530)에서 SSO 서버(130)는 보안 서버(140)의 API인 제1 인증부를 호출하여 사용자 단말(110)의 인증을 요청할 수 있다. 이때, 제1 인증부는 화이트 리스트, 블랙 리스트, 그레이 리스트를 이용하여 사용자 단말(110)을 인증할 수 있다.
단계(1535)에서 제1 인증부는 사용자 단말(110)의 IP 주소, 또는 로그인 정보에 포함된 사용자의 식별 정보가 화이트 리스트에 포함되거나, 블랙 리스트, 그레이 리스트 중 하나에 포함되지 않는 경우, 사용자 단말(110)을 인증하고, 인증 결과를 응답으로 SSO 서버(130)에 전송할 수 있다.
단계(1540)에서 로그인 서버(120)는 SSO 서버(130)로부터 사용자 단말(110)에 대한 인증 결과를 응답으로 수신할 수 있다.
단계(1545)에서 보안 서버(140)는 SSO 서버(130)로부터 사용자 단말(110)에 대한 인증 결과를 수신할 수 있다. 이때, 보안 서버(140)는 SSO 서버(130)로부터 수신한 인증 결과를 분석하여 블랙 리스트를 생성, 또는 갱신할 수 있다.
단계(1550)에서 사용자 단말(110)는 로그인 서버(120)에 로그인 정보를 전송하며 인증을 요청할 수 있다.
단계(1555)에서 로그인 서버(120)는 SSO 서버(130)에 사용자 단말(110)에 대한 인증을 요청할 수 있다.
단계(1560)에서 SSO 서버(130)는 보안 서버(140)의 API인 제1 인증부를 호출하여 사용자 단말(110)의 인증을 요청할 수 있다.
단계(1565)에서 제1 인증부는 사용자 단말(110)의 IP 주소, 또는 로그인 정보에 포함된 사용자의 식별 정보가 블랙 리스트, 그레이 리스트 중 하나에 포함된 경우, 사용자 단말(110)의 인증을 거절하고, 인증 결과를 응답으로 SSO 서버(130)에 전송할 수 있다.
단계(1570)에서 SSO 서버(130)는 단계(1565)에서 수신한 인증 결과를 로그인 서버(120)에 전송할 수 있다.
단계(1575)에서 로그인 서버(120)는 단계(1565)에서 수신한 인증 결과에 따라 사용자 단말(110)의 접속을 차단할 수 있다.
단계(1576)에서 보안 서버(140)는 SSO 서버(130)로부터 사용자 단말(110)에 대한 인증 결과를 수신할 수 있다.
도 16는 본 발명의 일실시예에 따른 보안 인증 시스템에서 캡차 서버를 이용하여 보안 인증을 수행하는 과정의 일례이다.
단계(1610)에서 사용자 단말(110)는 로그인 서버(120)에 로그인 정보를 전송하며 인증을 요청할 수 있다.
단계(1615)에서 로그인 서버(120)는 SSO 서버(130)에 사용자 단말(110)에 대한 인증을 요청할 수 있다.
단계(1620)에서 SSO 서버(130)는 보안 서버(140)의 API인 제1 인증부를 호출하여 사용자 단말(110)의 인증을 요청할 수 있다. 이때, 제1 인증부는 화이트 리스트, 블랙 리스트, 그레이 리스트를 이용하여 사용자 단말(110)을 인증할 수 있다.
단계(1625)에서 제1 인증부는 사용자 단말(110)의 IP 주소, 또는 로그인 정보에 포함된 사용자의 식별 정보가 화이트 리스트에 포함되거나, 블랙 리스트, 그레이 리스트 중 하나에 포함되지 않는 경우, 사용자 단말(110)을 인증하고, 인증 결과를 응답으로 SSO 서버(130)에 전송할 수 있다.
단계(1630)에서 로그인 서버(120)는 SSO 서버(130)로부터 사용자 단말(110)에 대한 인증 결과를 응답으로 수신할 수 있다.
단계(1635)에서 로그인 서버(120)는 캡차 서버(1600)에 캡차 정보를 요청할 수 있다.
단계(1640)에서 로그인 서버(120)는 캡차 서버(1600)로부터 요청에 따라 전송된 캡차 정보를 수신할 수 있다.
단계(1645)에서 로그인 서버(120)는 단계(1640)에서 수신한 캡차 정보를 사용자 단말(110)로 전송할 수 있다.
단계(1650)에서 사용자 단말(110)은 캡차 정보를 사용자에게 제공하고, 사용자로부터 캡차 정보에 대응하는 입력을 로그인 서버(120)를 통하여 캡차 서버(1600)에 전송함으로써, 캡차 서버(1600)로부터 인증을 받을 수 있다.
단계(1655)에서 로그인 서버(120)는 SSO 서버(130)에 인증 확인을 요청할 수 있다. 이때, 로그인 서버(120)는 블랙 리스트의 캡차 상태를 무시하고, 사용자를 인증하는 캡차 플래그를 설정하여 인증 확인을 요청할 수 있다.
단계(1660)에서 SSO 서버(130)는 캡차 플래그가 설정된 IP 주소와 식별 정보(ID)를 보안 서버(140)에 전송하여 사용자 단말(110)의 인증을 요청할 수 있다.
단계(1665)에서 보안 서버(140)는 블랙 리스트의 캡차 상태를 무시하고 캡차 플래그가 설정된 IP 주소와 식별 정보(ID)에 따라 사용자 단말(110)을 인증할 수 있다.
단계(1670)에서 보안 서버(140)는 SSO 서버(130)로부터 수신한 인증 결과를 확인할 수 있다.
단계(1680)에서 SSO 서버(130)는 단계(1670)에서 확인한 인증 결과를 로그인 서버(120)에 전송할 수 있다.
단계(1685)에서 SSO 서버(130)는 단계(1670)에서 확인한 인증 결과를 보안 서버(140)로 전송할 수 있다.
도 17는 본 발명의 일실시예에 따른 보안 인증 시스템에서 보호 모드를 해제하고 보안 인증을 수행하는 과정의 일례이다.
단계(1710)에서 로그인 서버(120)는 SSO 서버(130)에 사용자 단말(110)에 대한 인증을 요청할 수 있다.
단계(1720)에서 SSO 서버(130)는 보안 서버(140)의 1차 API인 제1 인증부를 호출하여 사용자 단말(110)의 인증을 요청할 수 있다. 이때, 제1 인증부는 화이트 리스트, 블랙 리스트, 그레이 리스트를 이용하여 사용자 단말(110)을 인증할 수 있다.
단계(1725)에서 제1 인증부는 일정 기간 안에 사용자 단말(110)의 IP 주소, 또는 로그인 정보에 포함된 사용자의 식별 정보를 화이트 리스트, 블랙 리스트, 및 그레이 리스트에서 검색하고, 검색 결과가 포함된 응답을 SSO 서버(140)로 전송할 수 있다. 일정 시간 안에 단계(1725)가 수행되지 않는 경우, SSO 서버(130)는 제1 인증부의 응답을 더 이상 대기하지 않고, 단계(1730)을 수행할 수 있다.
단계(1730)에서 SSO 서버(130)는 보안 서버(140)의 2차 API인 제2 인증부를 호출하여 사용자 단말(110)의 인증을 요청할 수 있다. 이때, 제2 인증부는 사용자의 식별 정보와 블랙 리스트를 이용하여 사용자 단말(110)을 인증하는 유저 API일 수 있다.
단계(1735)에서 제2 인증부는 블랙 리스트에 사용자의 식별 정보가 포함된 경우, 사용자의 계정이 보호 모드라는 응답을 SSO 서버(140)로 전송할 수 있다.
단계(1740)에서 SSO 서버(140)는 로그인 서버(120)에게 사용자의 계정이 보호 모드라는 응답을 전송할 수 있다.
단계(1745)에서 로그인 서버(120)는 사용자 단말(110)에게 보호 모드 안내 서버(160)에 접속하여 사용자 단말(110)의 화면을 보호 보드 안내 페이지로 이동할 것을 요청할 수 있다.
단계(1750)에서 사용자 단말(110)은 보호 모드 안내 서버(160)에 접속하여 보호 모드 안내 페이지로 이동할 수 있다.
단계(1760)에서 보호 모드 안내 서버(160)는 보안 서버(140)에 단계(1750)에서 접속한 사용자의 등급을 요청할 수 있다.
단계(1765)에서 보안 서버(140)는 API 부(142)의 보호 모드 등급 정보 API를 이용하여 사용자의 등급을 보호 모드 안내 서버(160)에 제공할 수 있다.
단계(1770)에서 보호 모드 안내 서버(160)는 단계(1765)에서 수신한 등급에 따라 사용자의 화면에 표시되는 페이지를 등급별 해제 페이지로 이동시킬 수 있다. 그리고, 보호 모드 안내 서버(160)는 계정 소유권 확인 서버(1800)에게 사용자의 계정 소유권 확인을 요청할 수 있다.
단계(1771)에서 계정 소유권 확인 서버(1800)는 사용자의 계정 소유권을 확인하고, 사용자의 계정 소유권이 확인된 경우, 보안 서버(140)에 계정의 보호 모드 해제를 요청할 수 있다.
단계(1772)에서 보안 서버(140)는 보호 모드 해제 API를 이용하여 계정의 보호 모드를 해제하고, 해제 결과를 계정 소유권 확인 서버(1800)에 전송할 수 있다.
단계(1780)에서 계정 소유권 확인 서버(1800)는 사용자 단말(110)에게 계정의 보호 모드가 해제되었다는 알람을 전송할 수 있다.
단계(1781)에서 사용자 단말(110)는 로그인 서버(120)에 로그인 정보를 전송하며 인증을 요청할 수 있다.
단계(1782)에서 로그인 서버(120)는 SSO 서버(130)에 사용자 단말(110)에 대한 인증을 요청할 수 있다.
단계(1783)에서 SSO 서버(130)는 보안 서버(140)의 API인 제1 인증부를 호출하여 사용자 단말(110)의 인증을 요청할 수 있다. 이때, 제1 인증부는 화이트 리스트, 블랙 리스트, 그레이 리스트를 이용하여 사용자 단말(110)을 인증할 수 있다.
단계(1784)에서 제1 인증부는 사용자 단말(110)의 IP 주소, 또는 로그인 정보에 포함된 사용자의 식별 정보가 화이트 리스트에 포함되거나, 블랙 리스트, 그레이 리스트 중 하나에 포함되지 않는 경우, 사용자 단말(110)을 인증하고, 인증 결과를 응답으로 SSO 서버(130)에 전송할 수 있다.
단계(1790)에서 로그인 서버(120)는 SSO 서버(130)로부터 사용자 단말(110)에 대한 인증 결과를 응답으로 수신할 수 있다.
단계(1795)에서 보안 서버(140)는 SSO 서버(130)로부터 사용자 단말(110)에 대한 인증 결과를 수신할 수 있다.
본 발명은 화이트 리스트, 블랙 리스트, 및 그레이 리스트를 이용한 제1 인증부로 사용자의 인증을 시도하고, 일정 기간 안에 사용자를 인증하지 못하는 경우, 블랙 리스트만 사용하여 인증 속도가 빠른 제2 인증부로 사용자의 인증을 재시도함으로써, 로그인을 요청한 사용자의 인증에 소요되는 시간을 일정 시간 이하로 제어할 수 있다.
그리고, 본 발명은 해킹 위험이 있는 계정에 로그인이 불가능하도록 하는 보호 모드를 적용함으로써, 사용자의 비밀 번호가 해커에게 누출되더라고 해커가 사용자의 계정에 접속하는 것을 방지할 수 있다.
또한, 본 발명은 사용자의 등급에 따라 사용자의 계정의 보호 모드를 해제하기 위한 해제 정보를 결정함으로써, 중요 사용자들의 불만을 최소화할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
110: 사용자 단말
120: 로그인 서버
130: SSO 서버
140: 보안 서버

Claims (16)

  1. 제1 인증부로 사용자 단말의 인증을 시도하는 단계;
    상기 제1 인증부가 일정 시간 안에 상기 사용자 단말을 인증하지 못한 경우, 상기 제1 인증부 보다 정확도가 낮고, 인증 속도가 빠른 제2 인증부로 상기 사용자 단말의 인증을 재시도하는 단계; 및
    상기 사용자 단말이 상기 제1 인증부, 또는 상기 제2 인증부에서 인증된 경우, 로그인 정보에 포함된 식별 정보와 비밀 번호를 이용하여 로그인을 수행하는 단계
    를 포함하는 보안 인증 방법.
  2. 제1항에 있어서,
    상기 제2 인증부가 일정 시간 안에 상기 사용자 단말을 인증하지 못한 경우, 상기 로그인 정보에 포함된 식별 정보와 비밀 번호를 이용하여 로그인을 수행하는 단계
    상기 로그인 된 사용자의 계정에 대한 추가 분석을 요청하는 단계; 및
    추가 분석 결과에 따라 상기 로그인 된 사용자의 계정을 로그아웃 시키는 단계
    를 더 포함하는 보안 인증 방법.
  3. 제1항에 있어서,
    상기 제1 인증부는,
    부정 접속과 관련된 화이트 리스트에 접속을 요청한 사용자 단말의 IP 주소, 또는 사용자의 식별 정보가 포함된 경우, 상기 사용자 단말을 인증하는 보안 인증 방법.
  4. 제1항에 있어서,
    상기 제1 인증부는,
    부정 접속과 관련된 블랙 리스트에 상기 사용자 단말의 IP 주소가 포함된 경우, 상기 사용자 단말의 인증 및 로그인을 거절하는 보안 인증 방법.
  5. 제1항에 있어서,
    부정 접속과 관련된 블랙 리스트에 포함된 식별 정보에 대응하는 계정에 로그인이 거절되는 보호 모드가 적용되고,
    상기 제1 인증부는,
    상기 블랙 리스트에 상기 사용자의 식별 정보가 포함된 경우, 상기 사용자 단말에게 상기 계정의 보호 모드를 해제하기 위한 해제 정보를 요청하여 상기 계정의 보호 모드를 해제하는 보안 인증 방법.
  6. 제5항에 있어서,
    상기 제1 인증부는,
    상기 사용자의 등급에 따라 상기 사용자 단말에게 요청하는 해제 정보를 결정하는 보안 인증 방법.
  7. 제6항에 있어서,
    상기 사용자의 등급은,
    상기 사용자의 영향력, 과금액, 및 사용자의 활동 중 적어도 하나에 따라 결정되는 보안 인증 방법.
  8. 제5항에 있어서,
    상기 블랙 리스트에 포함된 IP 주소, 또는 식별 정보는 상기 블랙 리스트에 포함된 시간을 기준으로 일정 시간이 경과하면 그레이 리스트로 이동하고, 그레이 리스트로 이동된 IP 주소, 또는 식별 정보는 일정 시간마다 감소되는 그레이 포인트가 설정되며, 그레이 포인트가 0이 되면 그레이 리스트에서 삭제되는 보안 인증 방법.
  9. 제8항에 있어서,
    상기 그레이 리스트로 이동된 IP 주소, 또는 식별 정보는 상기 그레이 리스트에서 삭제될 때까지 상기 보호 모드가 적용되는 보안 인증 방법.
  10. 제8항에 있어서,
    상기 그레이 리스트로 이동된 IP 주소, 또는 식별 정보에서 보안과 관련된 문제가 발생하는 경우, 상기 그레이 리스트로 이동된 IP 주소, 또는 식별 정보를 상기 블랙 리스트로 이동시키는 보안 인증 방법.
  11. 제1항에 있어서,
    상기 제2 인증부는,
    부정 접속과 관련된 블랙 리스트에 상기 사용자의 식별 정보가 포함된 경우, 상기 사용자 단말에게 계정의 보호 모드를 해제하기 위한 해제 정보를 요청하여 상기 계정의 보호 모드를 해제하는 보안 인증 방법.
  12. 제1항에 있어서,
    사용자 단말의 IP 주소가 해킹 위험이 있는 IP 주소인지 여부를 확인하는 단계;
    사용자 단말의 IP 주소가 해킹 위험이 있는 IP 주소인 경우, 일정 기간 동안 사용자 단말에서 로그인을 시도하는 적어도 하나의 식별 정보를 저장하는 단계; 및
    사용자 단말의 IP 주소를 해킹 위험이 있는 IP 주소로 판단한 시점에서 일정 기간이 경과하면, 사용자 단말의 IP 주소 및 사용자 단말에서 로그인을 시도하는 적어도 하나의 식별 정보를 블랙 리스트에 추가하는 단계
    를 더 포함하는 보안 인증 방법.
  13. 제1항에 있어서,
    상기 로그인 정보에 포함된 비밀 번호가 상기 식별 정보에 대응하는지 여부에 따라 상기 사용자 단말의 IP 주소를 블랙 리스트에 추가하는 단계;
    를 더 포함하고,
    상기 제1 인증부로 사용자 단말의 인증을 시도하는 단계는,
    상기 로그인 정보를 전송한 IP 주소가 블랙 리스트에 포함되지 않은 경우, 수행되는 보안 인증 방법.
  14. 제13항에 있어서,
    상기 블랙 리스트에 추가하는 단계는,
    식별 정보에 대응하지 않은 비밀 번호가 상기 사용자 단말에서 일정 기간 동안 일정 회수 이상으로 전송된 경우, 상기 사용자 단말의 IP 주소를 블랙 리스트에 추가하는 보안 인증 방법.
  15. 제14항에 있어서,
    상기 블랙 리스트에 추가하는 단계는,
    상기 IP 주소가 해외 IP인지 여부에 따라 상기 IP 주소를 블랙 리스트에 추가하는 조건이 되는 식별 정보에 대응하지 않은 비밀 번호의 전송 회수가 결정되는 보안 인증 방법.
  16. 제1 인증부 및 상기 제1 인증부 보다 정확도가 낮고, 인증 속도가 빠른 제2 인증부를 포함하는 보안 서버; 및
    상기 제1 인증부로 사용자 단말의 인증을 시도하고, 상기 제1 인증부가 일정 시간 안에 상기 사용자 단말을 인증하지 못한 경우, 상기 제2 인증부로 상기 사용자 단말의 인증을 재시도하며, 상기 사용자 단말이 상기 제1 인증부, 또는 상기 제2 인증부에서 인증된 경우, 로그인 정보에 포함된 식별 정보와 비밀 번호를 이용하여 로그인을 수행하는 로그인 서버
    를 포함하는 보안 인증 시스템.
KR1020150188494A 2015-11-17 2015-12-29 사용자 접속에 대한 보안 인증 시스템 및 그 방법 KR101768942B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150161258 2015-11-17
KR1020150161258 2015-11-17

Publications (2)

Publication Number Publication Date
KR20170057803A true KR20170057803A (ko) 2017-05-25
KR101768942B1 KR101768942B1 (ko) 2017-08-18

Family

ID=59050827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150188494A KR101768942B1 (ko) 2015-11-17 2015-12-29 사용자 접속에 대한 보안 인증 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101768942B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101997078B1 (ko) * 2019-02-21 2019-07-05 (주)지비엠 아이엔씨 데이터 기록 장치 및 그 동작 방법
WO2021020918A1 (ko) * 2019-07-30 2021-02-04 스콥정보통신 주식회사 논리적 내부 네트워크를 제공하는 방법, 이를 구현하는 모바일 단말 및 어플리케이션
KR102409683B1 (ko) * 2022-03-02 2022-06-16 주식회사 엑소스피어 랩스 백신프로그램을 이용한 계정 관리 방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102522584B1 (ko) * 2021-06-21 2023-04-17 주식회사 넥스트앤콤 해킹 차단 장치 및 그 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011054120A (ja) * 2009-09-04 2011-03-17 Konica Minolta Business Technologies Inc 画像処理装置、画像処理システムおよびユーザ認証方法
JP2013073416A (ja) * 2011-09-28 2013-04-22 Hitachi Ltd 認証中継装置、認証中継システム及び認証中継方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101997078B1 (ko) * 2019-02-21 2019-07-05 (주)지비엠 아이엔씨 데이터 기록 장치 및 그 동작 방법
WO2021020918A1 (ko) * 2019-07-30 2021-02-04 스콥정보통신 주식회사 논리적 내부 네트워크를 제공하는 방법, 이를 구현하는 모바일 단말 및 어플리케이션
KR102409683B1 (ko) * 2022-03-02 2022-06-16 주식회사 엑소스피어 랩스 백신프로그램을 이용한 계정 관리 방법 및 장치
KR102435307B1 (ko) * 2022-03-02 2022-08-23 주식회사 엑소스피어 랩스 백신프로그램에 의한 인증을 이용한 계정 관리 방법 및 장치

Also Published As

Publication number Publication date
KR101768942B1 (ko) 2017-08-18

Similar Documents

Publication Publication Date Title
US11604861B2 (en) Systems and methods for providing real time security and access monitoring of a removable media device
US10567438B2 (en) Providing privileged access to non-privileged accounts
CN108293050B (zh) 基于速度事件检测对于云应用的未授权访问的方法和系统
US10735433B2 (en) Discovering and evaluating privileged entities in a network environment
US9503477B2 (en) Network policy assignment based on user reputation score
CN112637214B (zh) 资源访问方法、装置及电子设备
RU2536663C2 (ru) Система и способ защиты от нелегального использования облачных инфраструктур
US20120151559A1 (en) Threat Detection in a Data Processing System
KR101768942B1 (ko) 사용자 접속에 대한 보안 인증 시스템 및 그 방법
CN110866243A (zh) 登录权限校验方法、装置、服务器及存储介质
US9635017B2 (en) Computer network security management system and method
CN114553540B (zh) 基于零信任的物联网系统、数据访问方法、装置及介质
CN116319024A (zh) 零信任系统的访问控制方法、装置及零信任系统
EP3407241B1 (en) User authentication and authorization system for a mobile application
CN111131273A (zh) 一种网络工程用互联网接入控制系统
JP6842951B2 (ja) 不正アクセス検出装置、プログラム及び方法
US11675920B2 (en) Call location based access control of query to database
CN116996238A (zh) 一种网络异常访问的处理方法以及相关装置
CN115021951B (zh) 一种业务应用管理方法及系统
JP2021082342A (ja) 不正アクセス検出装置、プログラム及び方法

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