KR100915589B1 - 보안 인증 시스템 및 방법 - Google Patents

보안 인증 시스템 및 방법 Download PDF

Info

Publication number
KR100915589B1
KR100915589B1 KR1020070069968A KR20070069968A KR100915589B1 KR 100915589 B1 KR100915589 B1 KR 100915589B1 KR 1020070069968 A KR1020070069968 A KR 1020070069968A KR 20070069968 A KR20070069968 A KR 20070069968A KR 100915589 B1 KR100915589 B1 KR 100915589B1
Authority
KR
South Korea
Prior art keywords
security
user terminal
user
authentication
security module
Prior art date
Application number
KR1020070069968A
Other languages
English (en)
Other versions
KR20090006538A (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 KR1020070069968A priority Critical patent/KR100915589B1/ko
Priority to JP2007264229A priority patent/JP4659806B2/ja
Priority to CN2008100858661A priority patent/CN101345617B/zh
Priority to US12/098,642 priority patent/US8024559B2/en
Publication of KR20090006538A publication Critical patent/KR20090006538A/ko
Application granted granted Critical
Publication of KR100915589B1 publication Critical patent/KR100915589B1/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/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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
    • 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/3271Cryptographic 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 challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 보안 인증 시스템 및 방법에 관한 것으로, 이 시스템은, 적어도 두 개의 보안 레벨을 제공하고 사용자 단말기 환경에 기초하여 적어도 두 개의 보안 레벨에 각각 대응하는 적어도 두 개의 보안 모듈 중 어느 하나를 사용자 단말기에 전송하는 웹 서버, 그리고 사용자 단말기로부터 사용자 인증 요청을 받아 사용자 인증을 수행하는 인증 서버를 포함한다. 본 발명에 의하면, 다양한 방식의 해킹을 방지할 수 있을 뿐만 아니라 사용자에게 편의성과 안정성을 제공하면서 사용자 인증을 수행할 수 있다.
보안 인증, 보안 모듈, 브라우저, 웹 서버, 인증 서버, 사용자 정보

Description

보안 인증 시스템 및 방법 {SECURITY AUTHENTICATION SYSTEM AND METHOD}
본 발명은 보안 인증 시스템 및 방법에 관한 것으로, 보다 상세하게는 사용자 정보의 유출을 방지하며 사용자 인증을 수행할 수 있는 보안 인증 시스템 및 방법에 관한 것이다.
인터넷은 현대 생활에 없어서는 안 될 필수품이 되고 있으며, 전자 상거래, 인터넷 뱅킹, 온라인 게임 등과 같은 인터넷 서비스의 이용도 일반화되고 있다. 이러한 인터넷 서비스를 이용하려면 일반적으로 사용자는 해당 서비스의 회원으로 가입하여야 하고, 사용자 인증을 거쳐 해당 서비스를 이용할 수 있다. 사용자 인증은 사용자가 사용자 단말기의 웹 브라우저에 아이디(identification) 및 비밀번호를 입력하여 서버로 전송한 후 서버가 이를 확인하는 과정으로 이루어진다.
타인의 사용자 단말기에 해킹 툴을 몰래 설치한 후, 아이디 및 비밀번호를 추출하여 도용하는 범죄가 증가하고 있다. 해킹 툴의 한 예로서, 브라우저 헬퍼 오브젝트(browser helper object, 이하 BHO라 함)가 있다. 이것은 원래 웹 브라우저의 기능을 확장시켜 주기 위하여 개발된 것으로서, 웹 브라우저가 자체적으로 제공하지 못하는 기능을 지원한다. 그런데 원래 목적과 달리 스파이웨어나 애드웨어 또는 해킹 등에 이용되는 경우가 많으며, 특히 사용자 인증 과정에서 사용자 단말기에서 서버로 전송되는 사용자 인증 정보를 가로채는 방법으로 해킹에 이용된다. 해킹 툴의 다른 예로서, 키 로거(Key Logger)가 있다. 키 로거는 사용자가 입력한 키보드 정보를 가로채 외부로 유출시킨다.
이러한 해킹 툴에 의한 해킹을 방지하기 위하여 여러 가지 보안 프로그램이 개발되고 있다. 일반적으로 보안 프로그램은 해킹 툴을 사용자 단말기에서 찾아내어 삭제하거나 사용자 인증 정보를 암호화하는 등의 방식으로 해킹을 방지한다. 다양한 보안 프로그램 중에서 사용자가 자신에게 적합한 또는 자신이 원하는 보안 프로그램을 찾아서 설치하는 것은 쉽지 않다.
따라서 본 발명이 이루고자 하는 기술적 과제는 다양한 방식의 해킹을 방지하고 사용자에게 편의성과 안정성을 제공하면서 사용자 인증을 수행할 수 있는 보안 인증 시스템 및 방법을 제공하는 것이다.
이러한 기술적 과제를 이루기 위한 본 발명의 한 태양에 따른 보안 인증 시스템은, 적어도 두 개의 보안 레벨을 제공하고, 사용자 단말기 환경에 기초하여 상기 적어도 두 개의 보안 레벨에 각각 대응하는 적어도 두 개의 보안 모듈 중 어느 하나를 상기 사용자 단말기에 전송하는 웹 서버, 그리고 상기 사용자 단말기로부터 사용자 인증 요청을 받아 사용자 인증을 수행하는 인증 서버를 포함한다.
상기 웹 서버는 상기 사용자 단말기에 제1 프로그램이 설치되어 있는지 여부에 따라 상기 적어도 두 개의 보안 모듈 중 어느 하나를 상기 사용자 단말기에 전송할 수 있다.
사용자의 선택에 따라 상기 적어도 두 개의 보안 레벨 중 어느 하나가 선택되면 상기 웹 서버는 상기 선택된 보안 레벨에 대응하는 보안 모듈을 상기 사용자 단말기에 전송할 수 있다.
상기 인증 서버는 공개 키 및 세션 키를 상기 사용자 단말기로 전송하고, 상기 공개 키 및 세션 키에 의해 암호화된 암호문을 상기 사용자 단말기로부터 수신할 수 있다.
상기 적어도 두 개의 보안 모듈은 사용자에 의하여 입력된 아이디 및 비밀번호를 암호화하여 상기 인증 서버로 전송할 수 있다.
상기 적어도 두 개의 보안 모듈은, 스크립트 언어로 생성되며 브라우저 내에서 실행되는 제1 보안 모듈, 제1 프로그램에 의하여 실행되고 로그인 창을 생성하여 상기 로그인 창에 입력되는 아이디 및 비밀번호를 상기 브라우저가 인식하지 못하도록 하는 제2 보안 모듈, 그리고 액티브엑스 형태로 상기 사용자 단말기에 설치되고, 상기 사용자 단말기의 입력 장치로부터 입력 신호를 받아 허위 신호를 생성하여 상기 브라우저에 전달하는 제3 보안 모듈을 포함할 수 있다.
상기 웹 서버는 상기 제1 프로그램이 상기 사용자 단말기에 설치되어 있으면 상기 제2 보안 모듈을 상기 사용자 단말기에 전송하고, 상기 제1 프로그램이 상기 사용자 단말기에 설치되어 있지 않으면 상기 제1 보안 모듈을 상기 사용자 단말기 에 전송할 수 있다.
상기 적어도 두 개의 보안 레벨은 상기 제1 내지 제3 보안 모듈에 각각 대응하는 제1 내지 제3 보안 레벨을 포함하고, 상기 웹 서버는 사용자가 상기 제1 내지 제3 보안 레벨 중 어느 하나를 선택하면 선택된 보안 레벨에 대응하는 보안 모듈을 상기 사용자 단말기에 전송할 수 있다.
상기 제1 프로그램은 플래시 플레이어일 수 있다.
본 발명의 다른 태양에 따른 보안 인증 방법은, 적어도 두 개의 보안 레벨을 제공하는 단계, 사용자 단말기 환경에 기초하여 상기 적어도 두 개의 보안 레벨에 각각 대응하는 적어도 두 개의 보안 모듈 중 어느 하나를 상기 사용자 단말기에 전송하는 단계, 그리고 상기 사용자 단말기로부터 사용자 인증 요청을 받아 사용자 인증을 수행하는 단계를 포함한다.
상기 보안 모듈 전송 단계는 상기 사용자 단말기에 제1 프로그램이 설치되어 있는지 판단하고 상기 판단 결과에 따라 상기 적어도 두 개의 보안 모듈 중 어느 하나를 상기 사용자 단말기에 전송하는 단계를 포함할 수 있다.
상기 보안 모듈 전송 단계는 사용자의 선택에 따라 상기 적어도 두 개의 보안 레벨 중 어느 하나가 선택되면 상기 선택된 보안 레벨에 대응하는 보안 모듈을 상기 사용자 단말기에 전송하는 단계를 포함할 수 있다.
공개 키 및 세션 키를 상기 사용자 단말기로 전송하는 단계를 더 포함하고, 상기 사용자 인증 수행 단계는 상기 공개 키 및 세션 키에 의해 암호화된 암호문을 상기 사용자 단말기로부터 수신하는 단계를 포함할 수 있다.
상기 적어도 두 개의 보안 모듈은 사용자에 의하여 입력된 아이디 및 비밀번호를 암호화할 수 있다.
상기 적어도 두 개의 보안 모듈은, 스크립트 언어로 생성되며 브라우저 내에서 실행되는 제1 보안 모듈, 제1 프로그램에 의하여 실행되고 로그인 창을 생성하여 상기 로그인 창에 입력되는 아이디 및 비밀번호를 상기 브라우저가 인식하지 못하도록 하는 제2 보안 모듈, 그리고 액티브엑스 형태로 상기 사용자 단말기에 설치되고, 상기 사용자 단말기의 입력 장치로부터 입력 신호를 받아 허위 신호를 생성하여 상기 브라우저에 전달하는 제3 보안 모듈을 포함할 수 있다.
상기 보안 모듈 전송 단계는 상기 제1 프로그램이 상기 사용자 단말기에 설치되어 있으면 상기 제2 보안 모듈을 상기 사용자 단말기에 전송하고, 상기 제1 프로그램이 상기 사용자 단말기에 설치되어 있지 않으면 상기 제1 보안 모듈을 상기 사용자 단말기에 전송하는 단계를 포함할 수 있다.
상기 적어도 두 개의 보안 레벨은 상기 제1 내지 제3 보안 모듈에 각각 대응하는 제1 내지 제3 보안 레벨을 포함하고, 상기 보안 모듈 전송 단계는 사용자가 상기 제1 내지 제3 보안 레벨 중 어느 하나를 선택하면 선택된 보안 레벨에 대응하는 보안 모듈을 상기 사용자 단말기에 전송하는 단계를 포함할 수 있다.
본 발명의 다른 태양에 따른 컴퓨터로 읽을 수 있는 매체는 상기한 방법 중 어느 하나를 컴퓨터에 실행시키기 위한 프로그램을 기록한다.
이와 같이 본 발명에 의하면, 사용자 단말기의 환경에 기초하여 웹 서버가 사용자 단말기에 적합한 보안 모듈을 제공할 수 있으며, 이러한 보안 모듈을 통하여 해킹으로부터 사용자 정보를 보호할 수 있다.
또한 사용자가 자신의 웹 페이지 접속 용도에 따라 보안 레벨을 선택하거나 사용자 자신이 원하는 보안 레벨을 임의로 선택하여 로그인할 수 있으므로 사용자 편의성과 안정성이 한층 강화될 수 있다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
먼저, 도 1을 참고하여 본 발명의 실시예에 따른 보안 인증 시스템에 대하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 보안 인증 시스템을 설명하기 위한 블록도이다.
도 1을 참고하면, 본 발명의 실시예에 따른 보안 인증 시스템은 웹 서버(100), 사용자 정보 데이터베이스(120) 및 인증 서버(140)를 포함하며, 통신망(200)을 통하여 복수의 사용자 단말기(300)와 연결되어 있다.
사용자 단말기(300)는 인터넷 서비스를 제공하는 인터넷 서비스 시스템(도시하지 않음), 웹 서버(100) 및 인증 서버(140)와 교신하는 장치로서, 통신망(200)을 통하여 이들에 접속하여 정보를 주고받는다. 사용자 단말기(300)는 데스크톱 컴퓨터뿐만 아니라 노트북 컴퓨터, 워크스테이션, 팜톱(palmtop) 컴퓨터, 개인 휴대 정 보 단말기(personal digital assistant, PDA), 웹 패드 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 단말기로 이루어질 수 있다.
한편 인터넷 서비스를 제공받고자 하는 사용자는 자신의 이름, 주민등록번호, 아이디(또는 사용자 식별 부호), 비밀번호 등의 개인 정보를 사용자 단말기(300)에 입력하여 인터넷 서비스 제공자에게 제출하고 소정 절차를 거쳐서 회원이 되며, 회원이 되면 인터넷 서비스를 이용할 수 있게 된다.
사용자 단말기(300)는 브라우저(310) 및 보안 모듈(320)을 포함한다.
브라우저(310)는 사용자 단말기(300)에 설치되며, 사용자의 조작에 따라 통신망(200)을 통하여 서비스 시스템, 웹 서버(100) 및 인증 서버(140)에 접속하여 다양한 기능을 수행할 수 있다. 브라우저(310)의 예로서, 마이크로소프트(Microsoft)사의 인터넷 익스플로러(Internet Explorer), 넷스케이프(Netscape), 모질라(Mozilla), 파이어폭스(Firefox) 등을 들 수 있으나 이에 한정되지 않으며 인터넷 서비스 시스템, 웹 서버(100) 및 인증 서버(140)와 통신을 수행할 수 있는 것이라면 어느 것이든지 상관없다.
브라우저(310)는 웹 서버(100)로부터 전송된 웹 페이지 정보에 기초하여 로그인 창이 포함되어 있는 웹 페이지를 표시한다. 사용자는 로그인 창에 아이디 및 비밀번호를 입력하여 사용자 인증을 요청하고, 브라우저(310)는 인증 서버(140)로부터 인증 성공 메시지 또는 인증 실패 메시지를 받아 이를 사용자 단말기(300)에 표시한다.
보안 모듈(320)은 인증 서버(140)로부터 수신한 세션 키(session key) 및 공개 키(public key)를 이용하여 사용자가 사용자 단말기(300)에 입력한 아이디 및 비밀번호 등의 사용자 정보를 암호화한다. 보안 모듈(320)은 여러 가지 암호화 방식을 사용하여 사용자 정보를 암호화할 수 있으며, 그 일례로서 공개 키 암호 방식 중 대표적인 RSA(Rivest-Shamir-Adleman) 방식을 사용할 수 있으나 이에 한정되지 않는다. 또한 보안 모듈(320)은 공개 키 방식과 대칭 키 방식이 혼합된 방식을 사용하여 사용자 정보를 암호화할 수도 있다. 사용자 정보를 암호화하는 로직은 자바스크립트(Javascript), 플래시(Flash), C, C++, 자바(Java) 등 모든 언어로 구현될 수 있다. 보안 모듈(320)에 의하여 암호화된 인증 데이터가 전달될 때 암호화된 인증 데이터가 해킹 툴에 의하여 추출되더라도 이로부터 사용자 정보를 추출하는 것은 불가능하다.
보안 모듈(320)은 제1 보안 모듈(321), 제2 보안 모듈(322), 제3 보안 모듈(323) 중 어느 하나로 이루어질 수 있으며, 이들은 각각 제1 보안 레벨, 제2 보안 레벨, 그리고 제3 보안 레벨에 대응된다. 사용자가 제1 보안 레벨, 제2 보안 레벨, 그리고 제3 보안 레벨 중 어느 하나를 선택하면, 사용자가 선택한 보안 레벨에 대응하는 보안 모듈(320)이 웹 서버(100)로부터 전송되어 사용자 단말기(300)에서 동작한다.
제1 보안 레벨은 보통 수준의 보안 레벨을 나타내고, 플래시 플레이어가 설치되어 있지 않은 사용자 단말기(300)에 적용될 수 있다. 제1 보안 레벨에서는 제1 보안 모듈(321)에 의하여 사용자 정보가 보호된다. 제2 보안 레벨은 일정 수준 이상의 보안 레벨(권장 수준)을 나타내고, 플래시 플레이어가 설치되어 있는 사용자 단말기(300)에 적용될 수 있다. 제2 보안 레벨에서는 제2 보안 모듈(322)에 의하여 사용자 정보가 보호되며, 제1 보안 레벨 효과가 포함된다. 제3 보안 레벨은 최상의 보안 레벨을 나타내고, 완벽한 수준의 보안이 요구되는 사용자 단말기(300)에 적용된다. 제3 보안 레벨에서는 제3 보안 모듈(323)에 의하여 사용자 정보가 보호되며, 제1 및 제2 보안 레벨 효과가 포함된다.
제1 보안 모듈(321)은 스크립트(script) 언어로 생성된 명령문의 집합일 수 있으며, HTML(hypertext markup language) 문서와 유기적으로 결합되어 브라우저(310) 내에서 해석되고 실행된다. 예를 들면 제1 보안 모듈(321)은 자바스크립트(javascript) 또는 비주얼 베이직 스크립트(visual basic script)로 생성될 수 있으나 이에 한정되지 않는다. 제1 보안 모듈(321)은 로그인 창에 입력된 아이디 및 비밀번호를 암호화하여 브라우저(310)에 전달하고 브라우저(310)가 암호화된 인증 데이터를 인증 서버(140)에 전달하도록 한다. 따라서 브라우저(310) 내에서 해킹 툴인 BHO가 페이지 이동 및 이전 화면 등의 브라우저 이벤트에 접근하여 인증 데이터를 추출[BHO 브라우저 이벤트 후킹(hooking)]하더라도 인증 데이터가 암호화되어 있으므로 사용자 인증 정보가 노출되지 않는다.
제2 보안 모듈(322)은 사용자 단말기(300)에 설치된 플래시 플레이어(flash player)에 의하여 동작하는 플래시 파일로 이루어질 수 있으며, HTML로 이루어진 로그인 창 대신 플래시로 이루어진 로그인 창을 웹 페이지에 표시한다. 제2 보안 모듈(322)은 로그인 창에 입력되는 아이디 및 비밀번호를 암호화하여 브라우 저(310)에 전달하고 브라우저(310)가 암호화된 인증 데이터를 인증 서버(140)에 전달하도록 한다. 브라우저(310)는 로그인 창에 입력된 아이디 및 비밀번호를 인식하지 못하며, 따라서 BHO에 의한 HTML 요소 접근(element access)을 통한 해킹이나 HTML 요소 위변조에 의한 해킹을 방지할 수 있다. 물론 제2 보안 모듈(322)에 의하면 앞서 설명한 BHO 브라우저 이벤트 후킹에 의한 해킹을 방지할 수 있다. 한편 제2 보안 모듈(321)은 플래시 대신 자바 애플릿(Java Applet)으로 이루어질 수도 있다.
제3 보안 모듈(323)은 사용자가 키보드 등의 입력 장치(도시하지 않음)에 입력하는 아이디 및 비밀번호 등의 사용자 정보를 입력 장치로부터 직접 받아 독점하고, 사용자 정보가 사용자 단말기의 운영 체계(operating system, OS)에 노출되지 않도록 하며 사용자 정보에 대한 허위 신호를 생성하여 브라우저(310)에 전달한다. 제3 보안 모듈(323)은 입력 장치로부터의 사용자 정보를 독점하기 위하여 키보드 보안 솔루션의 일종인 키 디펜스(Key Defense) 프로그램을 포함할 수 있고 이는 액티브엑스(ActiveX)에 의해 설치될 수 있으나 이에 한정되지 않는다.
허위 신호는 임의의 텍스트로 이루어질 수 있으며, 브라우저(310)는 허위 신호에 의한 비밀번호를 로그인 창에 표시한다. 제3 보안 모듈(323)은 입력 장치로부터 받은 아이디 및 비밀번호를 암호화하여 브라우저(310)에 전달하고 브라우저(310)가 암호화된 인증 데이터를 인증 서버(140)에 전달하도록 한다. 따라서 BHO가 HTML 요소 접근(element access)을 통하여 사용자 정보 등을 해킹하더라도 이는 허위 신호에 의한 것이므로 실제의 사용자 정보는 노출되지 않으며, BHO 브라 우저 이벤트 후킹에 의한 해킹에 의하여도 사용자 정보는 노출되지 않는다. 이에 더하여 사용자가 입력한 사용자 정보가 사용자 단말기(300)의 운영 체계에 노출되지 않으므로 운영 체계 수준에서 발생하는 키 로거나 악성 코드 등에 의한 키보드 스트로크 후킹 등의 해킹에 의하여 사용자 정보가 유출되는 것을 근본적으로 차단할 수 있다. 즉, 사용자 정보가 입력 장치로부터 브라우저(310)에 전달되기 위해서는 다양한 경로를 거치게 되고, 각 경로마다 악성 코드 등이 사용자 정보를 가로챌 수가 있다. 그런데 제3 보안 모듈(323)이 사용자 정보를 독점하여 가지고 있다가 브라우저(310)가 필요할 때 허위 신호 및 암호화된 인증 정보를 전달함으로써 악성 코드 등에 의한 해킹을 방지할 수 있다.
통신망(200)은 구내 정보 통신망(local area network, LAN), 도시권 통신망(metropolitan area network, MAN), 광역 통신망(wide area network, WAN), 인터넷 등을 포함하는 데이터 통신망뿐만 아니라 전화망 등을 포함할 수 있고, 유선과 무선을 가리지 않으며, 어떠한 통신 방식을 사용하더라도 상관없다.
웹 서버(100)는 사용자 단말기(300)의 요청에 따라 로그인 페이지를 포함하는 인터넷 서비스 관련 웹 페이지를 사용자 단말기(300)에 제공하여 사용자 단말기(300)가 로그인 창을 포함하는 인터넷 서비스 관련 페이지를 표시하도록 한다. 또한 웹 서버(100)는 사용자 단말기(300)에 보안 모듈(320)을 전송하여 사용자가 보안 모듈(320)을 통하여 사용자 단말기(300)에서 보안 로그인을 수행할 수 있도록 한다.
웹 서버(100)는 사용자 단말기(300)의 환경을 참고하여 제1 내지 제3 보안 모듈(321, 322, 323) 중 어느 하나를 전송하거나 사용자에 의하여 설정된 보안 레벨 정보를 사용자 단말기(300)로부터 받아 이에 기초하여 해당 보안 모듈(320)을 전송한다. 웹 서버(100)는 사용자 단말기(300)가 접속할 때마다 해당 보안 모듈(320)을 전송할 수 있으나 한번 전송하여 사용자 단말기(300)에 설치되면 업데이트 등의 경우를 제외하고 다시 전송하지 않을 수도 있다.
사용자 정보 데이터베이스(120)는 웹 서버(100) 및 인증 서버(140)에 연결되어 있으며, 아이디, 암호화된 비밀번호, 사용자 이름, 주민등록번호, 주소 전자우편 주소 등의 사용자 정보를 기억한다. 여기서 사용자 정보 데이터베이스(120)는 보안을 위하여 비밀번호를 직접 기억하지 않으며, 예를 들면 MD5(message digest 5)와 같은 해시 알고리즘을 이용하여 암호화된 비밀번호를 기억한다. 사용자 정보 데이터베이스(120)는 웹 서버(100) 및 인증 서버(140)로부터의 요청에 따라 사용자 정보를 웹 서버(100) 및 인증 서버(140)에 제공한다.
인증 서버(140)는 사용자 단말기(300)로부터 사용자 인증 요청, 즉 로그인 요청을 받으면 사용자 인증을 수행한다. 인증 서버(140)는 사용자 단말기(300)로 공개 키 및 세션 키를 전송하고, 사용자 단말기(300)로부터 암호화된 인증 데이터를 받으면 보유하고 있는 비밀 키(private key)를 가지고 암호화된 인증 데이터를 복호화하며, 복호화된 세션 키가 유효한지 판단하고 사용자 정보 데이터베이스(120)에 저장되어 있는 사용자 정보와 복호화된 아이디와 비밀번호가 일치하는지 판단한다. 이때 인증 서버(140)는 복호화된 비밀번호를 MD5 등의 해시 알고리즘을 이용하여 암호화한 후 사용자 정보 데이터베이스(120)에 저장되어 있는 암호화된 비밀번호와 일치하는지 판단한다. 인증 서버(140)는 인증 수행에 따른 결과로서 인증 메시지를 사용자 단말기(300)에 전송한다. 인증 메시지는 인증 성공 메시지 및 인증 실패 메시지 중 어느 하나가 된다. 인증 서버(140)는 사용자 단말기(300)로부터 요청을 받아 공개 키 및 세션 키를 전송할 수 있으나, 요청과 무관하게 전송할 수도 있다.
한편, 인증 서버(140)와 사용자 단말기(300)가 직접 공개 키, 세션 키 인증 데이터 및 인증 메시지 등을 송수신하는 것으로 설명하였으나 이들 또는 이들 중 일부는 웹 서버(100)를 경유하여 송수신될 수 있다. 또한 인증 서버(140)가 웹 서버(100)와 분리되어 있는 것으로 설명하였으나, 이들은 하나의 서버로 구현될 수도 있다.
그러면, 사용자 단말기(300)에서 사용자 인증을 수행할 수 있도록 웹 서버(100)가 사용자 단말기(300)에 보안 모듈(320)을 전송하는 것에 대하여 도 2 및 도 3을 참고하여 상세하게 설명한다.
도 2는 및 도 3은 본 발명의 실시예에 따라 보안 모듈을 사용자 단말기에 전송하는 방식의 일례를 도시한 흐름도이다.
먼저, 사용자 단말기(300)가 웹 서버(100)에 처음 접속하는 경우 또는 이전에 접속하였더라도 로그인을 한번도 하지 않은 경우에 웹 서버(100)가 사용자 단말기(300)에 보안 모듈(320)을 전송하는 과정에 대하여 도 2를 참고하여 설명한다.
사용자 단말기(300)가 웹 서버(100)에 접속하면(S500), 웹 서버(100)는 사용자 단말기(300)에 플래시 플레이어가 설치되어 있는지 판단한다(S510). 플래시 플 레이어가 사용자 단말기(300)에 설치되어 있는지에 대한 정보는 사용자 단말기(300)로부터 전송 받을 수 있다. 단계(S510)에서 판단 결과 플래시 플레이어가 사용자 단말기(300)에 설치되어 있지 않으면 웹 서버(100)는 웹 페이지 정보 및 제1 보안 모듈(321)을 사용자 단말기(300)에 전송하고(S520), 설치되어 있으면 웹 서버(100)는 웹 페이지 정보 및 제2 보안 모듈(322)을 사용자 단말기(300)에 전송한다(S530). 사용자 단말기(300)는 전송된 웹 페이지를 표시한다(S540).
물론 웹 서버(100)는 사용자 단말기(300)가 접속하자마자 웹 페이지 정보를 전송할 수 있고, 웹 페이지를 전송하면서 또는 전송 후에 단계(S510)를 수행할 수도 있다. 이 경우 단계(S520, S530)에서 웹 페이지 정보를 중복해서 전송할 필요는 없다.
이와 같이, 사용자 단말기(300)가 처음 접속하거나 로그인한 이력이 없는 경우에 웹 서버(100)는 사용자 단말기(300)의 환경을 고려하여 제1 또는 제2 보안 모듈(321, 322)을 전송한다. 즉, 우선적으로 웹 서버(100)는 사용자 단말기(300)에 플래시 플레이어가 설치되어 있으면 제2 보안 모듈(322)을 전송하여 사용자 단말기(300)가 높은 보안 수준인 제2 보안 레벨에서 로그인을 수행할 수 있도록 한다. 그러나 사용자 단말기(300)에 플래시 플레이어가 설치되어 있지 않으면 자동으로 제1 보안 모듈(321)을 전송하여 제1 보안 레벨에서 로그인을 수행할 수 있도록 한다. 그러나 제3 보안 모듈(323)은 액티브엑스에 의하여 설치되어야 하므로 사용자가 선택하는 경우에 한하여 제3 보안 모듈(323)을 전송할 수 있으나 필요에 따라 강제적으로 사용자 단말기(300)에 설치하도록 할 수도 있다.
다음으로, 사용자가 사용자 단말기(300)에서 로그인을 수행하였거나 보안 레벨을 변경하여 그 이력이 로그인 쿠키에 남아있는 경우에 웹 서버(100)가 사용자 단말기(300)에 보안 모듈(320)을 전송하는 과정에 대하여 도 3을 참고하여 설명한다.
사용자 단말기(300)가 웹 서버(100)에 접속하면(S550), 웹 서버(100)는 사용자 단말기(300)에 설정되어 있는 보안 레벨을 판단한다(S560). 즉, 사용자 단말기(300)의 보안 레벨은 사용자 단말기(300)의 로그인 쿠키에 기록될 수 있으며, 사용자 단말기(300)가 웹 서버(100)에 접속하면 웹 서버(100)는 로그인 쿠키 정보를 읽어 사용자 단말기(300)의 보안 레벨을 검사할 수 있다. 단계(S560)에서 판단 결과 사용자 단말기(300)의 보안 레벨이 제1 레벨이면 웹 서버(100)는 웹 페이지 정보 및 제1 보안 모듈(321)을 사용자 단말기(300)에 전송하고(S570), 제2 레벨이면 웹 페이지 정보 및 제2 보안 모듈(322)을 사용자 단말기(300)에 전송하며(S580), 제3 레벨이면 웹 페이지 정보를 전송한다(S590). 사용자 단말기(300)의 보안 레벨이 제3 레벨이면 제3 보안 모듈(323)이 액티브엑스에 의하여 사용자 단말기(300)에 이미 설치되어 있는 상태이므로 업데이트 등의 경우를 제외하고 제3 보안 모듈(323)을 재전송할 필요가 없다. 그러나 웹 서버(100)는 필요에 따라 웹 페이지 정보와 함께 제3 보안 모듈 활성화 정보를 사용자 단말기(300)에 전송할 수 있다. 사용자 단말기(300)는 전송된 웹 페이지를 표시한다(S595).
앞서 도 2에서 설명한 것과 마찬가지로 웹 서버(100)는 사용자 단말기(300)가 접속하자마자 웹 페이지 정보를 전송할 수 있고, 웹 페이지를 전송하면서 또는 전송 후에 단계(S560)를 수행할 수도 있다. 이 경우 단계(S570, S580, S590)에서 웹 페이지 정보를 중복해서 전송할 필요는 없다.
그러면 사용자 단말기(300)에서 보안 레벨을 변경하는 과정에 대하여 도 4 및 도 5를 참고하여 상세하게 설명한다.
도 4는 본 발명의 실시예에 따라 사용자 단말기에 표시되는 로그인 창의 개략도이고, 도 5는 본 발명의 실시예에 따라 보안 레벨을 변경하는 방식의 일례를 도시한 흐름도이다.
도 4를 참고하면, 웹 페이지 내에 표시되는 로그인 창(400)은 보안 레벨 조절 바(410), 아이디 입력창(420), 비밀번호 입력창(430), ID 저장 체크박스(440), 그리고 로그인 버튼(450)을 포함한다. 이외에도 로그인 창(400)은 '회원가입', '아이디/비밀번호 찾기' 등의 메뉴를 더 포함할 수 있다.
사용자는 마우스 드래그 등으로 보안 레벨 조절 바(410)를 이동시킴으로써 제1 내지 제3 보안 레벨 중 자신이 원하는 보안 레벨을 선택할 수 있다. 이와 달리 보안 레벨 조절 바(410) 대신 3개의 보안 레벨 버튼을 구비하고 특정 버튼을 클릭함으로써 해당 보안 레벨을 선택할 수도 있다.
또한 사용자는 아이디 입력창(420) 및 비밀번호 입력창(430)에 아이디 및 비밀번호를 각각 입력하고 로그인 버튼(450)을 클릭하거나 엔터 키를 누름으로써 로그인 요청을 할 수 있다. 아이디는 아이디 입력창(420)에 입력한 그대로 표시되나, 비밀번호는 비밀번호 입력창(430)에 검정 동그라미로 표시된다. ID 저장 체크박스(440)에 체크가 되어 있는 상태에서 로그인이 성공적으로 수행되면 아이디 입 력창(420)에 아이디가 지속적으로 표시된다.
제2 보안 레벨인 경우 로그인 창(400)은 플래시에 의하여 표시되나 외관 상 다른 보안 레벨인 경우의 로그인 창(400)과 실질적으로 동일하게 표시된다.
도 5를 참고하면, 사용자 단말기(300)는 로그인 창(400)이 포함되어 있는 웹 페이지를 표시한다(S600). 로그인 창(400)의 보안 레벨 조절 바(410)는 사용자 단말기(300)의 현재 보안 레벨 위치에 놓이게 된다. 사용자에 의하여 보안 레벨 조절 바(410)가 이동되면 이동된 보안 레벨 정보를 웹 서버(100)로 전송한다(S605). 웹 서버(100)는 이동된 보안 레벨 정보에 기초하여 해당 보안 모듈을 전송하는 등의 동작을 수행한다.
사용자 단말기(300)의 보안 레벨이 제1 보안 레벨로 이동되었다면(S610), 웹 서버(100)는 제1 보안 모듈(321)을 사용자 단말기(300)로 전송한다(S615). 그 후 사용자가 아이디와 비밀번호를 입력한 후 로그인을 요청하면 제1 보안 레벨로 로그인이 수행되고(S675), 로그인 쿠키에 제1 보안 레벨이 저장된다(S680). 따라서 이후에도 사용자 단말기(300)의 보안 레벨은 다른 보안 레벨로 변동되기 전까지 제1 보안 레벨로 유지된다.
사용자 단말기(300)의 보안 레벨이 제2 보안 레벨로 이동되었다면(S610), 웹 서버(100)는 사용자 단말기(300)에 플래시 플레이어가 설치되어 있는지 판단하고(S620), 설치되어 있다고 판단하면 제2 보안 모듈(322)을 사용자 단말기(300)에 전송한다(S625). 그 후 사용자가 아이디와 비밀번호를 입력한 후 로그인을 요청하면 제2 보안 레벨로 로그인이 수행되고(S675), 로그인 쿠키에 제2 보안 레벨이 저 장된다(S680). 따라서 이후에도 사용자 단말기(300)의 보안 레벨은 다른 보안 레벨로 이동하기 전까지 제2 보안 레벨로 유지된다.
그러나 단계(S620)에서 플래시 플레이어가 설치되어 있지 않다고 판단하면 플래시 플레이어에 대한 설치 정보를 사용자 단말기(300)에 전송한다(S630). 이에 따라 사용자 단말기(300)는 플래시 플레이어를 설치한 후 이용할 수 있다는 안내창을 표시하고 플래시 플레이어를 설치할 수 있도록 'Flash Player 설치하기'라는 별도의 아이콘을 표시한다. 사용자가 플래시 플레이어 설치를 선택하면(S635) 플래시 플레이어가 사용자 단말기(300)에 설치되고 사용자 단말기(300)는 이전 보안 레벨 상태로 되돌아간다. 플래시 플레이어는 웹 서버(100)가 제공할 수 있으나 별도의 외부 서버(도시하지 않음)가 제공할 수도 있다. 사용자가 다시 로그인 창(400)에서 보안 레벨 조절 바(410)를 제2 레벨로 조정하면 단계(S625, S675, S680)를 거쳐 사용자 단말기(300)의 보안 레벨은 제2 보안 레벨로 설정된다.
사용자 단말기(300)의 보안 레벨이 제3 보안 레벨로 이동되었다면(S610), 웹 서버(100)는 사용자 단말기(300)에 제3 보안 모듈(323)이 설치되어 있는지 판단하고(S645), 설치되어 있다고 판단하면 제3 보안 모듈 활성화 정보를 전송하여 사용자 단말기(300)의 제3 보안 모듈(323)을 활성화시킨다(S650). 물론 이 경우 제3 보안 레벨이 선택되면 웹 서버(100)로부터 활성화 정보를 받지 않고 사용자 단말기(300)가 직접 제3 보안 모듈(323)을 활성화시킬 수도 있다. 제3 보안 모듈(323)이 활성화된 후 사용자가 아이디와 비밀번호를 입력하여 로그인을 요청하면 제3 보안 레벨로 로그인이 수행되고(S675), 로그인 쿠키에 제3 보안 레벨이 저장된 다(S680). 따라서 이후에도 사용자 단말기(300)의 보안 레벨은 다른 보안 레벨로 이동하기 전까지 제3 보안 레벨로 유지된다.
그러나 단계(S645)에서 제3 보안 모듈(323)이 설치되어 있지 않다고 판단하면 제3 보안 모듈(323)에 대한 설치 정보를 사용자 단말기(300)에 전송한다(S655). 이에 따라 사용자 단말기(300)는 제3 보안 모듈(323)을 설치한 후 이용할 수 있다는 안내창을 표시하고 제3 보안 모듈(323)을 설치할 수 있도록 'Active X 설치하기'라는 별도의 아이콘을 표시한다. 사용자가 'Active X 설치하기'를 선택하면(S660) 웹 서버(100)는 제3 보안 모듈(323)을 사용자 단말기(300)에 전송하고(S665), 제3 보안 모듈(323)이 사용자 단말기(300)에 설치된다. 그 후 사용자가 아이디와 비밀번호를 입력하여 로그인을 요청하면 제3 보안 레벨로 로그인이 수행되고(S675), 로그인 쿠키에 제3 보안 레벨이 저장되고(S680), 제3 보안 레벨로 유지된다.
한편, 사용자 단말기(300)의 보안 레벨이 제3 보안 레벨로 설정되어 제3 보안 모듈(323)이 활성화되면 예를 들어 윈도우의 작업 표시줄의 알림 영역에 제3 보안 모듈(323)을 가리키는 아이콘을 표시하여 키 디펜스에 의한 보안이 수행되고 있다는 것을 알릴 수 있다.
이와 같이 사용자가 보안 레벨 조절 바(410)를 이동시킨 후 해당 보안 레벨에서 로그인을 수행하여야 해당 보안 레벨로 변동이 완료되고, 로그인 창(400)의 보안 레벨 조절 바(410)가 변동된 보안 레벨에 위치하게 된다.
한편, 단계(S635)에서 플래시 플레이어의 설치를 선택하지 않거나, 단 계(S660)에서 제3 보안 모듈(323)의 설치를 선택하지 않거나, 단계(S675)에서 해당 보안 로그인을 수행하지 않으면 사용자 단말기(300)의 보안 레벨은 변동되지 않고 이전에 설정되어 있는 보안 레벨이 유지된다.
그러면 도 6 내지 도 8을 참고하여 각 보안 레벨에서 사용자 인증을 수행하는 과정에 대하여 상세하게 설명한다.
도 6 내지 도 8은 각각 본 발명의 실시예에 따라 제1 내지 제3 보안 레벨에서 사용자 인증을 수행하는 과정을 도시한 흐름도이다.
각 보안 레벨에서 사용자 인증을 수행하는 경우 각 보안 레벨에 대응하는 보안 모듈(320)이 사용자 단말기(300)에 이미 전송되어 있거나 설치되어 있는 상태라고 가정한다.
먼저 도 6을 참고하면, 제1 보안 레벨에서 브라우저(310)는 HTML로 이루어진 로그인 창(400)을 사용자 단말기(300)에 표시하고(S702), 사용자가 아이디 및 비밀번호를 로그인 창(400)에 입력하면 해당 신호를 수신한다(S704). 그 후 사용자가 로그인 버튼(450)을 클릭하거나 엔터 키를 입력하면 해당 신호를 수신하고(S706), 인증 서버(140)로 공개 키 및 세션 키를 요청한다(S708).
그러면 인증 서버(140)는 공개 키 및 세션 키를 브라우저(310)로 전송하고(S710), 브라우저(310)는 인증 서버(140)로부터의 공개 키 및 세션 키를 제1 보안 모듈(321)로 전달한다(S712). 제1 보안 모듈(321)은 공개 키를 이용하여 아이디, 비밀번호 및 세션 키를 암호화한 후(S714), 암호문을 브라우저(310)에 전송한다(S716). 이때 브라우저(310)는 공개 키 및 세션 키와 함께 아이디 및 비밀번호 를 제1 보안 모듈(321)에 전달할 수 있고, 사전에 제1 보안 모듈(321)이 브라우저(310)로부터 아이디 및 비밀번호를 가져올 수도 있다. 브라우저(310)는 제1 보안 모듈(321)로부터의 암호문을 인증 서버(140)로 전달한다(S718).
인증 서버(140)는 전달받은 암호문을 비밀 키를 가지고 복호화하고(S720), 인증 처리를 수행한다(S722). 인증 서버(140)는 복호화된 세션 키가 유효한지 판단하여 유효하다면 복호화된 아이디 및 복호화된 후 다시 MD5 등에 의하여 암호화된 비밀번호가 사용자 정보 데이터베이스(120)에 저장되어 있는 것과 일치하는지 판단한다. 그러고 판단 결과에 따라 인증 성공 메시지 또는 인증 실패 메시지를 사용자 단말기(300)에 전송한다. 인증 서버(140)는 한번 사용한 세션 키는 폐기한다. 브라우저(310)는 인증 서버(140)로부터 인증 메시지를 받아 사용자 단말기(300)에 표시한다(S726). 한편 암호문을 복호화하는 데 실패하거나 세션 키가 유효하지 않다면 인증 실패 메시지를 사용자 단말기(300)에 전송하여 브라우저(310)가 인증 실패 메시지를 표시하도록 한다(S726).
다음으로, 도 7을 참고하면, 제2 보안 레벨에서 제2 보안 모듈(322)은 플래시로 이루어진 로그인 창 정보를 브라우저(310)에 전송하여(S730) 브라우저(310)가 웹 페이지에 로그인 창(400)을 표시하도록 한다(S732). 그 후 사용자가 아이디 및 비밀번호를 로그인 창(400)에 입력하면 제2 보안 모듈(322)은 해당 신호를 수신하고(S734), 사용자가 로그인 버튼(450)을 클릭하거나 엔터 키를 입력하면 해당 신호를 수신한다(S736). 그런 후 제2 보안 모듈(322)은 브라우저(310)를 통하여 인증 서버(140)로 공개 키 및 세션 키를 요청한다(S738).
그러면 인증 서버(140)는 공개 키 및 세션 키를 브라우저(310)로 전송하고(S740), 브라우저(310)는 인증 서버(140)로부터의 공개 키 및 세션 키를 제2 보안 모듈(322)로 전달한다(S742). 제2 보안 모듈(322)은 공개 키를 이용하여 아이디, 비밀번호 및 세션 키를 암호화한 후(S744), 암호문을 브라우저(310)에 전송한다(S746). 브라우저(310)는 제2 보안 모듈(322)로부터의 암호문을 인증 서버(140)로 전달한다(S748).
단계(S750) 내지 단계(S756)의 인증 절차는 제1 보안 레벨에서의 단계(S720) 내지 단계(S726)의 인증 절차와 실질적으로 동일하므로 이에 대한 설명을 생략한다.
다음으로, 도 8을 참고하면, 제3 보안 레벨에서 브라우저(310)는 HTML로 이루어진 로그인 창(400)을 사용자 단말기(300)에 표시하고(S760), 제3 보안 모듈(323)은 사용자가 입력 장치를 통하여 아이디 및 비밀번호를 입력하면 해당 신호를 수신하고(S762), 허위 신호를 브라우저(310)에 전달하여(S764) 브라우저(310)가 로그인 창(400)에 허위 신호를 표시하도록 한다(S766). 그 후 사용자가 로그인 버튼(450)을 클릭하거나 엔터 키를 입력하면 브라우저(310)는 해당 신호를 수신하고(S768), 인증 서버(140)로 공개 키 및 세션 키를 요청한다(S770).
그러면 인증 서버(140)는 공개 키 및 세션 키를 브라우저(310)로 전송하고(S772), 브라우저(310)는 인증 서버(140)로부터의 공개 키 및 세션 키를 제3 보안 모듈(323)로 전달한다(S774). 제3 보안 모듈(323)은 공개 키를 이용하여 아이디, 비밀번호 및 세션 키를 암호화한 후(S776), 암호문을 브라우저(310)에 전송한 다(S778). 브라우저(310)는 제3 보안 모듈(323)로부터의 암호문을 인증 서버(140)로 전달한다(S780).
단계(S782) 내지 단계(S788)의 인증 절차는 제1 보안 레벨에서의 단계(S720) 내지 단계(S726)의 인증 절차와 실질적으로 동일하므로 이에 대한 설명을 생략한다.
한편, 단계(S708, S738, S770)에서 공개 키 및 세션 키의 요청 절차는 필수적이지 않으며 생략될 수 있다. 이 경우 인증 서버(140)는 로그인 버튼이 클릭되기 전에 공개 키 및 세션 키를 사용자 단말기(300)로 전송할 수 있으며, 각 보안 모듈(321, 322, 323)은 로그인 버튼이 클릭되면 이미 수신된 공개 키 및 세션 키를 이용하여 암호문을 생성할 수 있다.
지금까지 사용자 단말기(300)의 보안 레벨을 3개의 레벨로 나누고 각 보안 레벨에 대응하는 보안 모듈(320)을 이용하여 보안 로그인을 수행하는 것으로 설명하였으나, 보안 레벨을 2개로 나누고 이에 대응하는 보안 모듈(320)을 이용하여 보안 로그인을 수행할 수도 있다. 즉, 제1 및 제2 보안 모듈(321, 322), 제1 및 제3 보안 모듈(321, 323), 또는 제2 및 제3 보안 모듈(322, 323)을 이용하여 2개 레벨의 보안 로그인을 수행하도록 할 수도 있다. 또한 해킹 수준에 따라 보안 레벨을 4개 이상으로 나눌 수도 있으며, 각 보안 레벨에 대응하는 보안 모듈을 이용하여 보안 로그인을 수행할 수도 있다.
본 발명의 실시예는 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터로 읽을 수 있는 매체를 포함한다. 이 매체는 앞서 설명한 보안 모듈 또는 보안 인증 방법을 실행시키기 위한 프로그램 또는 파일을 기록한다. 이 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이러한 매체의 예에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기 매체, CD 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 자기-광 매체, 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치 등이 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 본 발명의 실시예에 따른 보안 인증 시스템을 설명하기 위한 블록도이다.
도 2는 및 도 3은 본 발명의 실시예에 따라 보안 모듈을 사용자 단말기에 전송하는 방식의 일례를 도시한 흐름도이다.
도 4는 본 발명의 실시예에 따라 사용자 단말기에 표시되는 로그인 창의 개략도이다.
도 5는 본 발명의 실시예에 따라 보안 레벨을 변경하는 방식의 일례를 도시한 흐름도이다.
도 6은 본 발명의 실시예에 따라 제1 보안 레벨에서 사용자 인증을 수행하는 과정을 도시한 흐름도이다.
도 7은 본 발명의 실시예에 따라 제2 보안 레벨에서 사용자 인증을 수행하는 과정을 도시한 흐름도이다.
도 8은 본 발명의 실시예에 따라 제3 보안 레벨에서 사용자 인증을 수행하는 과정을 도시한 흐름도이다.

Claims (19)

  1. 적어도 두 개의 보안 레벨을 제공하고, 사용자 단말기 환경에 기초하여 상기 적어도 두 개의 보안 레벨에 각각 대응하는 적어도 두 개의 보안 모듈 중 어느 하나를 상기 사용자 단말기에 전송하는 웹 서버, 그리고
    상기 사용자 단말기로부터 사용자 인증 요청을 받아 사용자 인증을 수행하는 인증 서버
    를 포함하는 보안 인증 시스템.
  2. 제1항에서,
    상기 웹 서버는 상기 사용자 단말기에 제1 프로그램이 설치되어 있는지 여부에 따라 상기 적어도 두 개의 보안 모듈 중 어느 하나를 상기 사용자 단말기에 전송하는 보안 인증 시스템.
  3. 제1항에서,
    사용자의 선택에 따라 상기 적어도 두 개의 보안 레벨 중 어느 하나가 선택되면 상기 웹 서버는 상기 선택된 보안 레벨에 대응하는 보안 모듈을 상기 사용자 단말기에 전송하는 보안 인증 시스템.
  4. 제1항에서,
    상기 인증 서버는 공개 키 및 세션 키를 상기 사용자 단말기로 전송하고, 상기 공개 키 및 세션 키에 의해 암호화된 암호문을 상기 사용자 단말기로부터 수신하는 보안 인증 시스템.
  5. 제1항에서,
    상기 적어도 두 개의 보안 모듈은 사용자에 의하여 입력된 아이디 및 비밀번호를 암호화하여 상기 인증 서버로 전송하는 보안 인증 시스템.
  6. 제1항에서,
    상기 적어도 두 개의 보안 모듈이 세 개의 보안 모듈을 포함하는 경우 상기 세 개의 보안 모듈은,
    스크립트 언어로 생성되며 브라우저 내에서 실행되는 제1 보안 모듈,
    제1 프로그램에 의하여 실행되고 로그인 창을 생성하여 상기 로그인 창에 입력되는 아이디 및 비밀번호를 상기 브라우저가 인식하지 못하도록 하는 제2 보안 모듈, 그리고
    액티브엑스 형태로 상기 사용자 단말기에 설치되고, 상기 사용자 단말기의 입력 장치로부터 입력 신호를 받아 허위 신호를 생성하여 상기 브라우저에 전달하는 제3 보안 모듈인
    보안 인증 시스템.
  7. 제6항에서,
    상기 웹 서버는 상기 제1 프로그램이 상기 사용자 단말기에 설치되어 있으면 상기 제2 보안 모듈을 상기 사용자 단말기에 전송하고, 상기 제1 프로그램이 상기 사용자 단말기에 설치되어 있지 않으면 상기 제1 보안 모듈을 상기 사용자 단말기에 전송하는 보안 인증 시스템.
  8. 제6항에서,
    상기 적어도 두 개의 보안 레벨이 세 개의 보안 레벨을 포함하는 경우 상기 세 개의 보안 레벨은 상기 제1 내지 제3 보안 모듈에 각각 대응하는 제1 내지 제3 보안 레벨이고,
    상기 웹 서버는 사용자가 상기 제1 내지 제3 보안 레벨 중 어느 하나를 선택하면 선택된 보안 레벨에 대응하는 보안 모듈을 상기 사용자 단말기에 전송하는
    보안 인증 시스템.
  9. 제6항에서,
    상기 제1 프로그램은 플래시 플레이어인 보안 인증 시스템.
  10. 적어도 두 개의 보안 레벨을 제공하는 단계,
    사용자 단말기 환경에 기초하여 상기 적어도 두 개의 보안 레벨에 각각 대응하는 적어도 두 개의 보안 모듈 중 어느 하나를 상기 사용자 단말기에 전송하는 단계, 그리고
    상기 사용자 단말기로부터 사용자 인증 요청을 받아 사용자 인증을 수행하는 단계
    를 포함하는 보안 인증 방법.
  11. 제10항에서,
    상기 보안 모듈 전송 단계는 상기 사용자 단말기에 제1 프로그램이 설치되어 있는지 판단하고 상기 판단 결과에 따라 상기 적어도 두 개의 보안 모듈 중 어느 하나를 상기 사용자 단말기에 전송하는 단계를 포함하는 보안 인증 방법.
  12. 제10항에서,
    상기 보안 모듈 전송 단계는 사용자의 선택에 따라 상기 적어도 두 개의 보안 레벨 중 어느 하나가 선택되면 상기 선택된 보안 레벨에 대응하는 보안 모듈을 상기 사용자 단말기에 전송하는 단계를 포함하는 보안 인증 방법.
  13. 제10항에서,
    공개 키 및 세션 키를 상기 사용자 단말기로 전송하는 단계를 더 포함하고,
    상기 사용자 인증 수행 단계는 상기 공개 키 및 세션 키에 의해 암호화된 암호문을 상기 사용자 단말기로부터 수신하는 단계를 포함하는
    보안 인증 방법.
  14. 제10항에서,
    상기 적어도 두 개의 보안 모듈은 사용자에 의하여 입력된 아이디 및 비밀번 호를 암호화하는 보안 인증 방법.
  15. 제10항에서,
    상기 적어도 두 개의 보안 모듈이 세 개의 보안 모듈을 포함하는 경우 상기 세 개의 보안 모듈은,
    스크립트 언어로 생성되며 브라우저 내에서 실행되는 제1 보안 모듈,
    제1 프로그램에 의하여 실행되고 로그인 창을 생성하여 상기 로그인 창에 입력되는 아이디 및 비밀번호를 상기 브라우저가 인식하지 못하도록 하는 제2 보안 모듈, 그리고
    액티브엑스 형태로 상기 사용자 단말기에 설치되고, 상기 사용자 단말기의 입력 장치로부터 입력 신호를 받아 허위 신호를 생성하여 상기 브라우저에 전달하는 제3 보안 모듈인
    보안 인증 방법.
  16. 제15항에서,
    상기 보안 모듈 전송 단계는 상기 제1 프로그램이 상기 사용자 단말기에 설치되어 있으면 상기 제2 보안 모듈을 상기 사용자 단말기에 전송하고, 상기 제1 프로그램이 상기 사용자 단말기에 설치되어 있지 않으면 상기 제1 보안 모듈을 상기 사용자 단말기에 전송하는 단계를 포함하는 보안 인증 방법.
  17. 제15항에서,
    상기 적어도 두 개의 보안 레벨이 세 개의 보안 레벨을 포함하는 경우 상기 세 개의 보안 레벨은 상기 제1 내지 제3 보안 모듈에 각각 대응하는 제1 내지 제3 보안 레벨이고,
    상기 보안 모듈 전송 단계는 사용자가 상기 제1 내지 제3 보안 레벨 중 어느 하나를 선택하면 선택된 보안 레벨에 대응하는 보안 모듈을 상기 사용자 단말기에 전송하는 단계를 포함하는
    보안 인증 방법.
  18. 제15항에서,
    상기 제1 프로그램은 플래시 플레이어인 보안 인증 방법.
  19. 컴퓨터에 제10항 내지 제18항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 매체.
KR1020070069968A 2007-07-12 2007-07-12 보안 인증 시스템 및 방법 KR100915589B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070069968A KR100915589B1 (ko) 2007-07-12 2007-07-12 보안 인증 시스템 및 방법
JP2007264229A JP4659806B2 (ja) 2007-07-12 2007-10-10 セキュリティー認証システム及びその方法
CN2008100858661A CN101345617B (zh) 2007-07-12 2008-03-21 安全认证系统及方法
US12/098,642 US8024559B2 (en) 2007-07-12 2008-04-07 Security authentication system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070069968A KR100915589B1 (ko) 2007-07-12 2007-07-12 보안 인증 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20090006538A KR20090006538A (ko) 2009-01-15
KR100915589B1 true KR100915589B1 (ko) 2009-09-07

Family

ID=40247514

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070069968A KR100915589B1 (ko) 2007-07-12 2007-07-12 보안 인증 시스템 및 방법

Country Status (4)

Country Link
US (1) US8024559B2 (ko)
JP (1) JP4659806B2 (ko)
KR (1) KR100915589B1 (ko)
CN (1) CN101345617B (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850544B1 (en) * 2008-04-23 2014-09-30 Ravi Ganesan User centered privacy built on MashSSL
KR101074624B1 (ko) * 2008-11-03 2011-10-17 엔에이치엔비즈니스플랫폼 주식회사 브라우저 기반 어뷰징 방지 방법 및 시스템
US20100153708A1 (en) * 2008-12-11 2010-06-17 Lior Eli Malka Server Assisted Portable Device
US8739252B2 (en) 2009-02-03 2014-05-27 Inbay Technologies Inc. System and method for secure remote access
US9736149B2 (en) 2009-02-03 2017-08-15 Inbay Technologies Inc. Method and system for establishing trusted communication using a security device
US9485254B2 (en) 2009-02-03 2016-11-01 Inbay Technologies Inc. Method and system for authenticating a security device
US8973111B2 (en) * 2009-02-03 2015-03-03 Inbay Technologies Inc. Method and system for securing electronic transactions
US9608988B2 (en) 2009-02-03 2017-03-28 Inbay Technologies Inc. Method and system for authorizing secure electronic transactions using a security device having a quick response code scanner
US9521142B2 (en) 2009-02-03 2016-12-13 Inbay Technologies Inc. System and method for generating passwords using key inputs and contextual inputs
US9548978B2 (en) 2009-02-03 2017-01-17 Inbay Technologies Inc. Method and system for authorizing secure electronic transactions using a security device
US8468582B2 (en) * 2009-02-03 2013-06-18 Inbay Technologies Inc. Method and system for securing electronic transactions
US9166975B2 (en) 2012-02-16 2015-10-20 Inbay Technologies Inc. System and method for secure remote access to a service on a server computer
JP5320561B2 (ja) * 2009-03-19 2013-10-23 株式会社日立製作所 真正性を保証する端末システム、端末及び端末管理サーバ
JP5409110B2 (ja) * 2009-05-15 2014-02-05 キヤノン株式会社 通信装置及び通信装置の制御方法、プログラム
IT1398518B1 (it) * 2009-09-25 2013-03-01 Colombo Safe milano
US8601600B1 (en) * 2010-05-18 2013-12-03 Google Inc. Storing encrypted objects
CN102402820B (zh) * 2010-09-13 2014-06-11 中国移动通信有限公司 电子交易方法及终端设备
CN102595390B (zh) * 2011-01-18 2019-04-05 中兴通讯股份有限公司 一种安全模式的配置方法和终端
US11132672B2 (en) * 2011-11-29 2021-09-28 Cardlogix Layered security for age verification and transaction authorization
US20150113602A1 (en) * 2012-05-08 2015-04-23 Serentic Ltd. Method and system for authentication of communication and operation
KR101372090B1 (ko) * 2012-07-03 2014-03-12 한국과학기술원 로그인 시스템 및 방법
CN102970139B (zh) * 2012-11-09 2016-08-10 中兴通讯股份有限公司 数据安全验证方法和装置
CN103067466B (zh) * 2012-12-20 2015-12-09 北京奇虎科技有限公司 一种实现文件同步存储的客户端和方法
CN103002048B (zh) * 2012-12-20 2016-09-28 北京奇虎科技有限公司 实现文件同步存储的系统和方法
KR101328118B1 (ko) * 2013-07-25 2013-11-13 주식회사 베이스인 네트웍스 비밀 데이터 기반 로그인 서비스 제공 방법
US10708273B2 (en) * 2014-09-12 2020-07-07 Anthony Tan Pervasive intermediate network attached storage application with asynchronously rendered content
CN104202341B (zh) * 2014-09-22 2018-01-19 英华达(南京)科技有限公司 进行智能终端设备信息传输的方法、系统及智能终端设备
CN104378255B (zh) * 2014-10-29 2018-02-06 深信服网络科技(深圳)有限公司 web恶意用户的检测方法及装置
US9706401B2 (en) * 2014-11-25 2017-07-11 Microsoft Technology Licensing, Llc User-authentication-based approval of a first device via communication with a second device
US10491391B1 (en) * 2016-09-23 2019-11-26 Amazon Technologies, Inc. Feedback-based data security
CN106453855A (zh) * 2016-09-23 2017-02-22 北京数码视讯支付技术有限公司 一种基于Html5的数字密码软键盘获取方法和装置
CN110061849A (zh) * 2019-04-29 2019-07-26 中兴新能源汽车有限责任公司 车载设备的验证方法、服务器、车载设备及存储介质
JP7000484B2 (ja) * 2020-03-19 2022-01-19 本田技研工業株式会社 ユーザ端末、その制御方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030047148A (ko) * 2001-12-08 2003-06-18 학교법인대우학원 Rsa를 이용한 클라이언트/서버 기반의 메신저 보안 방법
KR20030087874A (ko) * 2002-05-10 2003-11-15 주식회사 마이엔진 컴퓨팅 장치의 등급별 데이터 보안 방법
KR100587100B1 (ko) 2005-11-17 2006-06-08 주식회사 미래로테크놀러지 멀티모달 방식의 보안인증 방법, 보안인증 시스템 그리고암호화/복호화 방법
KR20080010003A (ko) * 2006-07-25 2008-01-30 에스케이 텔레콤주식회사 통합 인터넷 보안 시스템 및 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11224236A (ja) * 1998-02-05 1999-08-17 Mitsubishi Electric Corp 遠隔認証システム
US6912653B2 (en) 2001-01-23 2005-06-28 Erika Monika Gohl Authenticating communications
US20030033524A1 (en) * 2001-08-13 2003-02-13 Luu Tran Client aware authentication in a wireless portal system
JP2003162339A (ja) * 2001-09-14 2003-06-06 Sony Computer Entertainment Inc 認証プログラム,認証プログラムを記憶した記憶媒体,認証サーバ装置,クライアント端末装置,認証システム及び認証方法
JP3983035B2 (ja) * 2001-11-19 2007-09-26 富士通株式会社 ユーザ端末認証プログラム
EP1316907A2 (fr) * 2001-11-30 2003-06-04 Koninklijke Philips Electronics N.V. Système pour l'apprentissage d'un appareil muni d'une pluralité de fonctionnalités, appareil impliqué dans un tel sytème et procédé mis en oeuvre dans un tel système
US7139918B2 (en) * 2002-01-31 2006-11-21 International Business Machines Corporation Multiple secure socket layer keyfiles for client login support
US7421732B2 (en) * 2003-05-05 2008-09-02 Nokia Corporation System, apparatus, and method for providing generic internet protocol authentication
US20050015474A1 (en) * 2003-07-16 2005-01-20 Kavacheri Sathyanarayanan N. Extensible customizable structured and managed client data storage
US7644272B2 (en) * 2004-10-22 2010-01-05 Broadcom Corporation Systems and methods for providing security to different functions
US7502928B2 (en) * 2004-11-12 2009-03-10 Sony Computer Entertainment Inc. Methods and apparatus for secure data processing and transmission
JP2006251932A (ja) * 2005-03-08 2006-09-21 Canon Inc セキュリティ管理方法、装置およびセキュリティ管理用プログラム
US7908645B2 (en) * 2005-04-29 2011-03-15 Oracle International Corporation System and method for fraud monitoring, detection, and tiered user authentication
CN1913701A (zh) * 2005-08-08 2007-02-14 北京三星通信技术研究有限公司 移动通信系统中为不同用户提供不同安全等级业务的方法
JP2007164661A (ja) * 2005-12-16 2007-06-28 Fuji Xerox Co Ltd ユーザ認証プログラム、ユーザ認証装置、ユーザ認証方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030047148A (ko) * 2001-12-08 2003-06-18 학교법인대우학원 Rsa를 이용한 클라이언트/서버 기반의 메신저 보안 방법
KR20030087874A (ko) * 2002-05-10 2003-11-15 주식회사 마이엔진 컴퓨팅 장치의 등급별 데이터 보안 방법
KR100587100B1 (ko) 2005-11-17 2006-06-08 주식회사 미래로테크놀러지 멀티모달 방식의 보안인증 방법, 보안인증 시스템 그리고암호화/복호화 방법
KR20080010003A (ko) * 2006-07-25 2008-01-30 에스케이 텔레콤주식회사 통합 인터넷 보안 시스템 및 방법

Also Published As

Publication number Publication date
CN101345617B (zh) 2012-12-12
JP2009020853A (ja) 2009-01-29
CN101345617A (zh) 2009-01-14
US20090259839A1 (en) 2009-10-15
US8024559B2 (en) 2011-09-20
KR20090006538A (ko) 2009-01-15
JP4659806B2 (ja) 2011-03-30

Similar Documents

Publication Publication Date Title
KR100915589B1 (ko) 보안 인증 시스템 및 방법
CN108322461B (zh) 应用程序自动登录的方法、系统、装置、设备和介质
KR101878149B1 (ko) 패스워드의 보안 입력 및 처리 장치, 시스템 및 방법
US6678821B1 (en) Method and system for restricting access to the private key of a user in a public key infrastructure
US7996682B2 (en) Secure prompting
US8726369B1 (en) Trusted path, authentication and data security
US8448226B2 (en) Coordinate based computer authentication system and methods
CN112425114B (zh) 受公钥-私钥对保护的密码管理器
US8356345B2 (en) Constructing a secure internet transaction
KR20080101333A (ko) 가상키보드를 이용한 보안방법
CN103067399A (zh) 无线发射/接收单元
US20100257359A1 (en) Method of and apparatus for protecting private data entry within secure web sessions
JP2017507552A (ja) クライアント側のスコアベース認証を与える方法及び装置
KR100996955B1 (ko) 가상키보드를 이용한 보안방법
JP2005535026A (ja) ネットワークを介したユニバーサルユーザーの情報登録の方法及びシステム
EP3756332B1 (en) Automated account recovery using trusted devices
KR20110014177A (ko) 맨 인 더 미들 컴퓨터 해킹 기술을 무력화하는 방법 및 시스템
KR20050010430A (ko) 일회용 비밀번호를 이용한 사용자 인증 방법 및 그 시스템
JP2004140715A (ja) 電子文書管理方法及びシステム
KR101006720B1 (ko) 웹 페이지에서의 비밀번호 보안방법 및 이를 실행하기 위한프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
KR101608529B1 (ko) 온라인 거래 보안시스템 및 이를 이용한 보안방법
WO2001095074A2 (en) A method and system for securely displaying and confirming request to perform operation on host
KR102542840B1 (ko) 오픈 api 기반의 금융 인증 서비스 제공 방법 및 시스템
KR20080032810A (ko) 보안 인증 시스템 및 방법
JP2004220213A (ja) パスワードシステム、パスワードプログラム、およびパスワード表示制御方法

Legal Events

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

Payment date: 20130626

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150817

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160726

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170711

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180702

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190708

Year of fee payment: 11