KR102039316B1 - 동적 패스워드들을 사용하는 인증을 위한 방법 및 디바이스 - Google Patents

동적 패스워드들을 사용하는 인증을 위한 방법 및 디바이스 Download PDF

Info

Publication number
KR102039316B1
KR102039316B1 KR1020177036868A KR20177036868A KR102039316B1 KR 102039316 B1 KR102039316 B1 KR 102039316B1 KR 1020177036868 A KR1020177036868 A KR 1020177036868A KR 20177036868 A KR20177036868 A KR 20177036868A KR 102039316 B1 KR102039316 B1 KR 102039316B1
Authority
KR
South Korea
Prior art keywords
terminal
dynamic password
server
equipment code
generating
Prior art date
Application number
KR1020177036868A
Other languages
English (en)
Other versions
KR20180011226A (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 claimed from PCT/US2016/040997 external-priority patent/WO2017007767A1/en
Publication of KR20180011226A publication Critical patent/KR20180011226A/ko
Application granted granted Critical
Publication of KR102039316B1 publication Critical patent/KR102039316B1/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
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • 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/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • 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
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/71Hardware identity

Abstract

본 발명의 실시예들은 인증 처리를 위한 방법 및 디바이스에 관한 것이다. 상기 방법은 단말을 고유하게 식별하는 장비 코드를 획득하는 단계, 장비 코드 및 카운터의 출력값에 적어도 부분적으로 기초하여 동적 패스워드를 생성하는 단계로서, 상기 동적 코드는 서버에 의해 단말의 인증의 기준(basis)인, 상기 동적 패스워드를 생성하는 단계, 및 동적 패스워드를 서버로 전송하는 단계로서, 상기 서버는 동적 패스워드를 인증하는, 상기 전송 단계를 포함한다.

Description

동적 패스워드들을 사용하는 인증을 위한 방법 및 디바이스
본 출원은 모든 목적을 위해 참조로서 여기에 통합된 2015년 7월 8일에 출원된 발명의 명칭이 "단말 인증 처리, 인증 방법들 및 디바이스, 시스템"인 중화 인민 공화국 출원 번호 제 201510397391.X 호에 대한 우선권을 주장한다.
본 발명은 인증의 분야에 관한 것이다. 특히, 본 출원은 동적 패스워드를 사용하는 인증을 위한 방법, 디바이스, 및 시스템에 관한 것이다.
동적 패스워드들은 전용 알고리즘에 기초하여 고정된 간격들로 생성된 시간에 관련된, 예측 가능하지 않은 난수들의 조합들이다. 일반적으로, 각각의 패스워드는 동적 패스워드들을 사용하여 인증을 수행하는 시스템에서 단지 한번만 사용될 수 있다. 트랜잭션의 보안 및 로그-온 인증을 효과적으로 보호하기 위한 능력에 의해, 인증 시스템과 관련하여 동적 패스워드들의 사용은 패스워드들을 정기적으로 변경할 필요를 불필요하게 하여, 그에 의해 보안 불안들을 감소시킨다. 동적 패스워드들의 사용은 사내 환경들에서 특히 효과적이다. 동적 패스워드들은 전용 하드웨어상 및/또는 소프트웨어에 의해 실현될 수 있다.
동적 패스워드들을 사용하는 종래 인증 시스템들에 따라, 사용자가 로그 인할 때, 사용자는 로그-온 인증을 완료하기 위해 사용자 인터페이스에 동적 패스워드를 입력할 것을 요청받는다. 그러나, 이러한 종래 동적 패스워드 인증 방법들은 몇몇 결점들을 갖고, 즉, 이러한 방법들은 비교적 값비싸고 쉽게 잃어버리는 추가의 하드웨어 디바이스들이 수반되는 것을 요구한다; 동적 패스워드들이 수동으로 입력되어야 하고, 그에 의해 입력 에러들의 가능성이 생성되고; 소프트웨어 버전 시스템 시간이 업데이트될 때, 업데이트는 검증 장애를 초래할 수 있다.
따라서, 인증을 위해 동적 패스워드를 사용하는 더 효과적인 인증 방법, 디바이스, 및 시스템에 대한 요구가 존재한다.
본 발명은 장치; 시스템; 물질의 조성; 컴퓨터 판독 가능한 저장 매체상에 구현된 컴퓨터 프로그램 제품; 및/또는 프로세서에 연결된 메모리상에 저장되고 및/또는 그에 의해 제공된 명령들을 실행하도록 구성된 프로세서와 같은, 프로세서를 프로세스로서 포함하는 다수의 방식들로 구현될 수 있다. 본 명세서에서, 이들 구현들, 또는 본 발명이 취할 수 있는 임의의 다른 형태는 기술들이라고 칭해질 수 있다. 일반적으로, 개시된 프로세스들의 단계들의 순서는 본 발명의 범위 내에서 변경될 수 있다. 달리 언급되지 않으면, 태스크를 수행하도록 구성되는 것으로 설명되는 프로세서 또는 메모리와 같은 구성 요소는 태스크를 수행하도록 제작되는 특정한 구성 요소 또는 주어진 시간에 태스크를 수행하도록 시간적으로 구성되는 일반적인 구성 요소로서 구현될 수 있다. 여기에서 사용된 바와 같은, 용어 '프로세서'는 컴퓨터 프로그램 명령들과 같은 데이터를 처리하도록 구성된 하나 이상의 디바이스들, 회로들, 및/또는 처리 코어들을 지칭한다.
본 발명의 하나 이상의 실시예들의 상세한 설명은 본 발명의 원리들을 예시하는 첨부하는 도면들과 함께 이하에 제공된다. 본 발명은 이러한 실시예와 관련하여 설명되지만, 본 발명은 임의의 실시예로 한정되지 않는다. 본 발명의 범위는 청구항들에 의해서만 한정되고, 본 발명은 다수의 대안들, 변경들, 및 동등물들을 포함한다. 다수의 상세한 설명들은 본 발명의 완전한 이해를 제공하기 위해 다음의 상세한 설명에서 설명된다. 이들 상세들은 예시의 목적들을 위해 제공되고 본 발명은 이들 특정한 상세들의 일부 또는 전부 없이 청구항들에 따라 실시될 수 있다. 명확성의 목적을 위해, 본 발명에 관련된 기술 분야들에서 알려진 기술적인 자료는 본 발명이 불필요하게 모호해지지 않도록 상세하게 설명되지 않는다.
여기에 사용되는, 단말은 일반적으로 네트워크 시스템 내에 (예를 들면, 사용자에 의해) 사용되고 하나 이상의 서버들과 통신하기 위해 사용되는 디바이스를 지칭한다. 본 개시의 다양한 실시예들에 따라, 단말은 통신 기능을 지원하는 구성 요소들을 포함한다. 예를 들면, 단말은 스마트 폰, 태블릿 디바이스, 이동 전화, 영상 전화, 전자책 판독기, 데스크톱 컴퓨터, 랩탑 컴퓨터, 넷북 컴퓨터, 개인용 휴대 정보 단말(PDA), 휴대용 멀티미디어 플레이어(PMP), mp3 플레이어, 모바일 의료 디바이스, 카메라, 웨어러블 디바이스(예를 들면, 헤드-장착 디바이스(HMD), 전자 의류들, 전자 팔찌들, 전자 목걸이, 전자 액세서리, 전자 타투, 또는 스마트 시계), 스마트 가정용 기기 등일 수 있다. 일부 실시예들에서, 웹 브라우저 및/또는 독립형 애플리케이션은 각각의 단말에 설치되어, 사용자가 하나 이상의 서버들에 의해 호스트된 서비스(예를 들면, 전자 상거래 웹사이트)에 액세스 하게 한다.
인증 처리가 설명된다. 인증 처리는, 예를 들면, 컴퓨터-실행 가능한 명령들의 세트를 사용하여 컴퓨터 시스템상에 실행될 수 있고, 논리적 시퀀스는 특정 환경들하에서 도 2의 프로세스(200), 도 3a의 프로세스(300), 도 3b의 프로세스(350), 도 6의 프로세스(600)에서 보여지지만, 도시 또는 설명된 이러한 방법들의 요소들은 도 2, 도 3a, 도 3b, 및 도 6에 도시된 시퀀스와 상이한 시퀀스로 실행될 수 있다.
본 발명의 다양한 실시예들이 다음의 상세한 설명 및 첨부하는 도면들에서 개시된다.
여기에 설명된 도면들은 본 발명의 이해를 촉진하고 본 출원의 부분을 형성하도록 의도된다. 본 발명의 예시적인 실시예들 및 그의 설명들은 본 발명을 설명하도록 의도되고 본 발명의 부적절한 제한을 구성하지 않는다.
도 1은 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 디바이스의 블록도.
도 2는 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 방법의 플로차트.
도 3a는 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 방법의 플로차트.
도 3b는 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 방법의 플로차트.
도 4는 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 디바이스의 블록도.
도 5는 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 디바이스의 블록도.
도 6은 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 방법의 플로차트.
도 7은 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 디바이스의 블록도.
도 8은 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 디바이스의 블록도.
도 9는 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 시스템의 구조적인 개략도.
도 10은 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 시스템의 구조적인 개략도.
도 11은 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 컴퓨터 단말의 블록도.
도 12는 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 컴퓨터 시스템의 기능도.
도면들에서 동일하거나 유사한 표시들은 동일하거나 유사한 구성 요소들을 나타낸다.
도 1은 본 개시의 다양한 실시예들에 따른 인증 처리를 위한 디바이스의 블록도이다.
도 1을 참조하면, 디바이스(100)는 도 2의 프로세스(200) 또는 도 3a의 프로세스(300)와 관련하여 구현될 수 있다. 디바이스(100)는 도 10의 시스템(1000), 도 11의 컴퓨터 단말(1100), 또는 도 12의 컴퓨터 시스템(1200)과 관련하여 구현될 수 있다. 디바이스(100)는 이동 단말, 컴퓨터 단말, 또는 유사한 동작 디바이스에 포함될 수 있거나, 그렇지 않으면 그에 대응할 수 있다.
도 1에 도시된 바와 같이, 디바이스(100)는 프로세서(110), 메모리(120), 및 통신 인터페이스(130)를 포함할 수 있다.
프로세서(110)는 하나 이상의 프로세서들을 포함할 수 있다. 프로세서(110)는 이러한 처리 디바이스들을 중앙 처리 장치들(CPUs), 마이크로프로세서들(MCUs), 필드 프로그램 가능한 로직 디바이스들(FPGAs), 주문형 집적 회로들(ASICs) 등으로서 포함할 수 있지만, 그로 제한되지 않는다.
메모리(120)는 데이터를 저장하도록 구성된다. 일부 실시예들에서, 메모리(120)는, 예를 들면, 다양한 실시예들에 따라 인증 처리 방법들에 대응하는 프로그램 명령들/모듈들에 대해 애플리케이션 소프트웨어의 소프트웨어 프로그램들 및 모듈들을 저장할 수 있다. 예를 들면, 메모리(120)는 도 2의 프로세스(200), 도 3의 프로세스(300), 또는 도 3b의 프로세스(350)를 포함하는 소프트웨어 프로그램들 또는 명령들을 저장할 수 있다. 프로세서(110)는 동작 동안 메모리(120)의 소프트웨어 코드 및 모듈들을 저장할 수 있고, 따라서 다양한 기능적인 애플리케이션들 및 데이터 처리를 실행할 수 있어서, 전술된 애플리케이션 프로그램의 취약성 검출을 실현한다. 메모리(120)는 랜덤 액세스 메모리를 포함할 수 있다. 메모리(120)는 또한 비휘발성 메모리, 예컨대 하나 이상의 자기 저장 디바이스들, 플래시 메모리, 또는 다른 비휘발성 고체 상태 메모리를 포함할 수 있다. 일부 실시예들에서, 메모리(120)는 메모리일 수 있거나, 그렇지 않으면 프로세서(110)에 비해 멀리에 배치된 메모리를 포함할 수 있다. 예를 들면, 이러한 원격 메모리는 네트워크를 통해 프로세서(110)(예를 들면, 디바이스(100))에 접속될 수 있다. 전술된 네트워크의 예들은 인터넷, 기업 인트라넷들, 근거리 네트워크들, 광역 네트워크들, 이동 통신 네트워크들, 및 그의 조합들을 포함하지만 그로 제한되지 않는다.
통신 인터페이스(130)는 네트워크를 거쳐 데이터를 전달(예를 들면, 데이터를 수신 및/또는 송신)하기 위해 사용된다. 상술된 네트워크의 특정 예들은 디바이스(100)에 대한 통신 제공자들에 의해 제공된 무선 네트워크들을 포함할 수 있다. 일부 실시예들에서, 통신 인터페이스(130)는 기지국을 통해 다른 네트워크 장비에 링크할 수 있고, 그에 의해 인터넷과 통신할 수 있는, 네트워크 인터페이스 제어기(NIC)를 포함한다. 일부 실시예들에서, 통신 인터페이스(130)는 하나 이상의 다른 디바이스들, 인터넷 등과 무선으로 통신할 수 있는 무선 주파수(RF) 모듈이다.
도 2는 본 개시의 다양한 실시예들에 따라 인증 처리를 위한 방법의 플로차트이다.
도 2를 참조하면, 인증 처리를 위한 프로세스(200)가 제공된다. 프로세스(200)는 예를 들면, 도 1의 디바이스(100), 도 9의 시스템(900), 도 10의 시스템(1000), 또는 도 12의 컴퓨터 시스템(1200)에 의해 구현될 수 있다.
210에서, 장비 코드가 획득된다. 장비 코드는 디바이스 또는 단말을 고유하게 식별할 수 있다. 일부 실시예들에서, 단말은 단말을 고유하게 식별하기 위해 사용되는 장비 코드를 검색한다. 일부 실시예들에서, 디바이스(100)는 그와 연관된 장비 코드를 획득할 수 있다. 장비 코드는 제작자에 의해 설정되고 메모리(예를 들면, 메모리(120))에 저장될 수 있고, 특수 애플리케이션 프로그래밍 인터페이스(API) 호 또는 다른 적절한 기능 호를 사용하여 검색될 수 있다. 일부 실시예들에서, 장비 코드는 사전 설정된 장비 코드 결정 프로세스에 따라 장비 자체의 일부 특징 파라미터들을 사용함으로써 생성될 수 있다. 일부 실시예들에서, 장비 코드는, 예를 들면, 장비의 메모리 또는 저장 장치에 저장될 수 있다.
장비 코드는 단말 일련 번호, 국제 모바일 장비 아이덴티티(IMEI), 국제 모바일 가입자 아이덴티티(IMSI), 미디어 액세스 제어(MAC) 어드레스, 또는 운영 시스템 ID 중 하나 이상에 적어도 부분적으로 대응하거나, 그에 기초하여 생성될 수 있다. 일부 실시예들에서, 장비 코드는 미리 규정된 프로세스에 따라 단말의 특징 파라미터들에 적어도 부분적으로 기초하여 생성될 수 있다. 예를 들면, 장비 코드가 적어도 부분적으로 기초하여 생성될 수 있는 특징 파라미터들은 단말의 브랜드, 단말의 모델 번호, 단말 일련 번호, 국제 모바일 장비 아이덴티티(IMEI), 국제 모바일 가입자 아이덴티티(IMSI), 미디어 액세스 제어(MAC) 어드레스, 운영 시스템 식별자(ID) 등 중 하나 이상을 포함할 수 있다.
일부 실시예들에서, 단말의 특징 파라미터들에 적어도 부분적으로 기초하여 장비 코드를 생성하는 것과 관련하여 사용되는 미리 규정된 기술은 관련 기술에서 알려진 기술들을 포함할 수 있다. 예를 들면, 단말을 고유하게 식별하기 위해 사용된 장비 코드가 단말 자체의 특정한 특징 파라미터들 또는 특징 필드들에 기초하여 생성될 수 있는 한, 임의의 기술들이 사용될 수 있다. 예를 들면, 단말의 브랜드, 단말의 모델 번호, 단말 일련 번호, IMEI, IMSI, MAC 어드레스, 및 운영 시스템 ID를 포함하는 특징 파라미터들이 장비 코드를 생성하기 위해 기술에 의해 사용될 때, 상기 기술은 deviceId = Hash(C0+C1+C2+C3+C4+C5+C6)이 되는 해시 함수에 대응할 수 있고, deviceId는 장비 코드를 나타내고, C0는 브랜드를 나타내고, C1은 모델 번호를 나타내고, C2는 IMEI를 나타내고, C3는 IMSI를 나타내고, C4는 MAC 어드레스(mac_address)를 나타내고, C5는 단말 일련 번호(serial_num)를 나타내고, C6은 운영 시스템 ID를 나타낸다. 다양한 다른 기술들이 장비 코드를 생성하기 위해 사용될 수 있다. C0 내지 C6은 숫자값들, 문자열들, 또는 해시 함수에 의해 요구되는 다른 적절한 포맷들일 수 있다. Hash()는 SHA, MD5 등과 같은 암호 해시 함수일 수 있다.
220에서, 패스워드는 장비 코드 및 카운터로부터의 출력값에 적어도 부분적으로 기초하여 생성된다. 예를 들면, 단말은 장비 코드 및 로컬 카운터의 출력값에 기초하여 동적 패스워드를 생성한다. 일부 실시예들에서, 동적 패스워드는 단말 및 단말과 연관된 사용자의 검증의 기준(basis)으로서 서버에 의해 사용된다. 일부 실시예들에서, 특정 파라미터의 값 또는 입력으로서 로컬로 송신된 지정된 이벤트의 주파수를 사용하는 로컬 카운터이다. 일부 실시예들에서, 지정된 이벤트의 주파수는 기간 내 하나 이상의 웹사이트들에 대한 액세스 요청들의 송신 시간들에 대응할 수 있다. 예를 들면, 단말 시간은 로컬 카운터에 대한 입력으로서 사용될 수 있다. 예를 들면, 단말 시간 2016-06-01-10:05:30은 20160601100530의 카운터 값을 초래할 것이다. 일부 실시예들에서, 카운터는 단말이 장비 코드를 카운터(예를 들면, 카운터 또는 카운터 값과 연관된 서비스를 호스팅하는 서버)로 전달하도록 단말에 대해 멀리 있고, 단말로부터의 통신에 응답하여, 카운터는 출력값 또는 동적 패스워드를 리턴한다.
일부 실시예들에서, 시드 키(seed key)는 장비 코드(예를 들면, 장비 코드 자체로서, 장비 코드의 해시 값으로서, 등)에 적어도 부분적으로 기초하여 생성될 수 있고, 동적 패스워드는 시드 키 및 카운터의 출력값에 적어도 부분적으로 기초하여 생성될 수 있다. 예를 들면, 대칭 키는 키 생성 프로세스(예를 들면, 전송자 및 수신자가 평문으로서 포맷팅되는 입력들에 대한 암호화 및 복호화 동작들을 수행하기 위해 동일 키를 사용하는)에 따라 장비 코드, 단말의 인증과 연관된 서버에 의해 단말에 할당된 세션 ID, 및 서버에 의해 단말(또는 단말과 연관된 사용자)에 할당된 사용자 식별자(UID)에 기초하여 생성될 수 있고, 단말은 패스워드 생성 프로세스에 따라 대칭 키 및 출력 값에 기초하여 동적 패스워드를 생성할 수 있다. 일부 실시예들에서, 세션 ID 및/또는 UID는 서버에 의해 연관될 수 있다. 세션 ID 및/또는 UID는 세션 ID 및/또는 UID가 세션 및 사용자 각각을 고유하게 식별하기 위해 사용될 수 있는 것을 보장하기 위해 난수들로 생성될 수 있다. 일부 실시예들에서, 세션 ID 및/또는 UID는 사용자 계정들에 대한 식별자들의 맵핑시 저장될 수 있다. 일부 실시예들에서, 세션 ID 및/또는 UID는 동적으로 생성될 수 있다(예를 들면, 대응하는 식별자가 요청되거나 필요할 때에 기초하여).
일부 실시예들에서, 제 1 사전 설정된 키 생성 프로세스(예를 들면, 대칭 키를 생성하기 위해)는 장비 코드, 세션 ID 및 UID를 조합하는 것, 또는 암호화를 수행하고 키를 생성하기 위해 관련 기술에서 미리 규정된 기술을 사용하는 것으로서 표현될 수 있다. 예를 들면, 데이터 암호화 표준(DES), 트리플 DES(예를 들면, 3DES) 또는 트리플 데이터 암호화 알고리즘(TDEA), 국제 데이터 암호화 알고리즘(IDEA) 등과 같은 기술들이 사용될 수 있다.
다양한 실시예들에 따라, 동적 패스워드는 다양한 방법들을 사용하여 생성될 수 있다. 예를 들면, 패스워드 생성 프로세스에 대한 표현의 다양한 형태들이 존재할 수 있다. 일 예로서, 동적 패스워드는 다음의 기술을 사용하여 생성될 수 있다: code=HMAC_SHA1(K,C), 코드는 동적 패스워드를 나타내고, HMAC_SHA1()는 키와 관련된 해시 함수이고, HMAC은 키와 관련된 해시 기반 메시지 인증 코드를 나타내고, SHA1(보안 해시 알고리즘 1)은 보안 해싱 함수를 나타내고, K는 대칭 키를 나타내고, C는 출력값을 나타낸다. 다른 동적 패스워드 생성 프로세스들이 사용될 수 있다.
일부 실시예들에서, HMAC_SHA1()는 또한 HMAC-SHA1() 또는 HMAC(SHA1)()로서 기술될 수 있다; 이는 해시-기반 메시지 인증 코드(HMAC)로서 사용되는 키 제어 해시 함수이다. HMAC 프로세스는 키를 메시지 데이터와 블렌딩하고, 블렌딩된 결과들에 대해 해싱 산출들을 수행하기 위해 해시 함수를 사용하고, 이후 해시 함수를 재적용한다. HMAC_SHA1()는 임의의 크기의 키를 수신하고, 길이에서 해시 시리즈 160 개 숫자들을 생성한다. 메시지 데이터는 출력값을 포함할 수 있거나, 그렇지 않으면 그에 대응할 수 있다. HMAC_SHA1()의 구현은 일반적으로 이용 가능하다(예를 들면, 라이브러리 코드로서).
230에서, 동적 패스워드가 서버로 전송된다. 서버는 단말 또는 그와 연관된 사용자의 인증과 관련하여 동적 패스워드를 사용할 수 있다. 동적 패스워드는 하나 이상의 다른 증명서들(예를 들면, 사용자 ID 등)의 전달과 관련하여 서버에 전송될 수 있다. 일부 실시예들에서, 단말은 동적 패스워드를 서버로 송신한다. 서버는 동적 패스워드에 적어도 부분적으로 기초하여 단말의 인증을 수행할 수 있다. 동적 패스워드는 단말을 인증할지의 여부를 결정하기 위해 인증 프로세스와 연관된 서버에 의해 생성될 수 있다. 예를 들면, 서버는 동적 패스워드를 생성하고, 생성된 동적 패스워드를 단말로부터 송신된 수신된 동적 패스워드에 대해 비교하기 위해 단말과 동일한 동작을 실행할 수 있다. 동적 패스워드는 시드 키 및 서버에 로컬인 카운터에 적어도 부분적으로 기초하여 생성될 수 있다. 일부 실시예들에서, 로컬 카운터의 출력값은 단말로부터 서버로 전달될 수 있다. 서버가 단말로부터 수신하는 동적 패스워드가 서버에 의해 생성된 동적 패스워드와 일치하는 경우(단말로부터 로그인 또는 인증 요청에 응답하는 것과 같이 단말의 인증과 관련하여), 단말은 인증이 통과되었다고 결정된다. 반대로, 서버가 단말로부터 수신한 동적 패스워드가 서버에 의해 생성된 동적 패스워드와 일치하지 않는 경우, 단말은 인증이 실패되었다고 결정된다.
다양한 실시예들은 동적 패스워드의 수동 입력을 요구하지 않는다. 예를 들면, 동적 패스워드는 인증 프로세스에 걸쳐 사용자에게 보여지지 않을 수 있다. 다양한 실시예들이 동적 패스워드의 수동 입력을 요구하지 않기 때문에, 수동 입력으로부터 기인하는 에러들의 문제가 회피될 수 있다. 더욱이, 단말의 특징 파라미터들이 동적 패스워드를 생성하기 위해 사용될 수 있기 때문에, 그에 따라 추가의 하드웨어 장비는 불필요하고, 이는 비용을 줄인다. 또한, 다양한 실시예들은 시스템 시간의 업데이트로부터 기인하는 검증 실패의 소프트웨어 실현된 동적 패스워드들에서 문제를 회피한다. 더욱이, 단말 식별자(예를 들면, 단말이 이동 전화일 때, 단말 식별자는 이동 전화 번호이다)는 사용자 ID로서 사용될 수 있고, 사용자는 패스워드를 암기할 필요가 없다; 단말의 장비 코드 및 단말 식별자(예를 들면, 단말이 이동 전화인 경우, 단말 식별자는 이동 전화 번호이다)는 하나의 디바이스상에 고유하게 위치되고, 이는 클라이언트-종단 애플리케이션의 로그온 및 재설치시 변하지 않는다. 더욱이, 로그온된 로그 분석 동안, 이동 전화 장비는 상기 시간에서 현재 키에 기초하여 위치될 수 있다.
도 3a는 본 개시의 다양한 실시예들에 따라 인증 처리를 위한 방법의 플로차트이다.
도 3a를 참조하면, 인증 처리에 대한 프로세스(300)가 제공된다. 프로세스(300)는 예를 들면, 도 1의 디바이스(100), 도 9의 시스템(900), 도 10의 시스템(1000), 또는 도 12의 컴퓨터 시스템(1200)에 의해 구현될 수 있다.
305에서, 등록 요청이 수신된다. 등록 요청은 단말에 의해 서버로 전송된다. 일부 실시예들에서, 등록 요청은 검증 코드, 장비 코드, 및 통신 번호를 포함한다. 일부 실시예들에서, 통신 번호는 전화 번호, 사용자 식별자, 계정 식별자 등에 대응할 수 있다. 일부 실시예들에서, 단말은 등록 요청을 서버로 전송할 수 있다. 예를 들면, 등록 요청에 포함된 통신 번호는 단말과 연관된 통신 번호일 수 있다. 통신 번호는 서버에 의해 요청된 번호일 수 있다(예를 들면, 로그인 요청과 관련하여). 일부 실시예들에서, 서버는 등록 요청이 수신되기 전에 통신 번호를 요청할 수 있다(또는 그렇지 않으면 통신번호를 얻을 수 있다).
이동 전화의 예에서, 사용자는 이동 전화 번호를 사용하여 서버에 로그 온하고, 서버는 이동 전화 번호에 대한 텍스트 메시지 또는 단문 메시지 서비스(SMS)(예를 들면, 검증 요청과 동등한)를 통해 검증 코드를 송신하고, 사용자는 이동 전화를 사용하여 검증 코드, 장비 코드, 및 이동 전화 번호를 서버로 제출한다(예를 들면, 집합적으로 등록 요청). 일부 실시예들에서, 장비 코드는 미리 규정된 프로세스를 따라 단말의 특징 파라미터들에 적어도 부분적으로 기초하여 생성될 수 있다. 장비 코드는 이동 전화상에 사용자에게 디스플레이될 수 있다. 일부 실시에들에서, 애플리케이션은 검증 코드, 장비 코드, 및 이동 전화 번호(예를 들면, 집합적으로 등록 요청)을 획득하고 사용자가 제출 명령에 대응하는 입력을 입력하는 것에 응답하여 검증 코드, 장비 코드, 및 이동 전화 번호를 서버에 제출하도록 구성될 수 있다. 일부 실시예들에서, 검증 코드, 장비 코드, 및 이동 전화 번호는 사용자의 계획에서 사용자에 의해 제출될 수 있거나, 사용자는 서버로부터 수신된 메시지에 응답하여 검증 코드, 장비 코드, 및 이동 전화 번호를 제출할 수 있다.
310에서, 등록 요청이 검증되었는지의 여부가 결정된다. 예를 들면, 서버는 등록 요청에 전달된 검증 코드, 장비 코드, 및 통신 번호가 단말 또는 단말과 연관된 사용자에 대한 검증 코드, 장비 코드, 및 통신 번호의 맵핑을 저장하는 검증 데이터베이스에 저장된 정보에 적어도 부분적으로 기초하여 검증되는지의 여부를 결정한다.
등록 요청이 검증되지 않는 경우, 프로세스(300)는 인증이 실패하면 315로 진행한다. 일부 실시예들에서, 인증이 실패한 것으로 생각될 때, 단말에 의한 로그인이 거부될 수 있고 및/또는 인증의 실패의 표시는 서버에 의해 단말로 전달될 수 있다.
등록 요청이 검증되는 경우, 프로세스(300)는 세션 ID 및 UID가 획득될 때 320으로 진행한다. 세션 ID 및/또는 UID는 인증 프로세스와 관련하여 서버에 의해 할당될 수 있다. 단말은 서버에 의해 단말에 할당된 세션 ID 및 UID를 수신한다. 일부 실시예들에서, 단말은 서버와의 통신 링크를 유지한다. 통신 링크는 긴 접속 또는 짧은 접속으로서 표현될 수 있지만, 이들 표현의 형태들로 제한되지 않는다. 일부 실시예들에서, 짧은 접속은 전송 측과 수신 측 사이의 링크가 데이터가 이러한 전송 측과 수신 측 사이에 전송 및 수신된 후 접속 해제되는 접속에 대응한다. 일부 실시예들에서, 긴 접속은 전송 측과 수신 측 사이의 링크는 데이터가 전송 및 수신된 후에 유지되는 접속에 대응한다(예를 들면, 링크는 데이터가 이러한 전송 측 및 수신 측에 의해 전송 및 수신되면 접속해제 되지 않는다).
이동 전화의 예를 사용하여, 서버 검증이 통과된 후, 세션(세션 ID로서 표현됨) 및 UID는 단말에 할당되고 로컬로 저장된다; 세션 및 UID의 수신시, 단말은 후속 사용을 가능하게 하기 위해 세션 ID 및 UID를 로컬로 또한 저장한다. 세션 ID 및 UID는 난수들로서 생성될 수 있다.
325에서, 인증 요청이 전달된다. 예를 들면, 서버는 인증 요청을 단말로 전송할 수 있다. 예를 들면, 서버는 로그인 요청에 응답하여 또는 그렇지 않으면 인증 프로세스와 관련하여 인증 요청을 단말로 전달할 수 있다. 단말은 인증 요청의 검증을 수행할 수 있다. 예를 들면, 인증 요청은 서버에 저장된 파라미터(예를 들면, 사용자 ID, 세션 ID 등) 및 인증 요청에서 전달된 파라미터(예를 들면, 사용자 ID, 세션 ID 등)의 비교에 기초하여 검증된다. 비교 결과가 파라미터들이 일치한다는 것을 나타내는 경우, 인증 요청이 검증된다. 동적 패스워드는 인증 요청이 검증된 것을 결정하는 것에 응답하여 생성될 수 있다.
이동 전화의 예를 사용하여, 사용자가 특정 네트워크들 또는 시스템들에 로그 온할 필요가 있을 때, 등록 요청의 성공적인 검증시, 서버는 인증 요청을 이동 전화상으로 클라이언트에게 송신한다(예를 들면, 단말은 서버에 의해 송신된 검증 요청을 수신한다). 일부 실시예들에서, 인증 요청은 HTTP 요청이다. 일부 실시예들에서, 인증 요청은 HTTP 요청이다.
330에서, 동적 패스워드가 전달된다. 예를 들면, 서버는 단말로부터 동적 패스워드를 수신할 수 있다. 서버는 단말의 인증에 관련하여 동적 패스워드를 사용할 수 있다. 동적 패스워드를 단말로부터 수신하는 것에 응답하여, 서버는 동적 패스워드를 생성하고 서버로부터 수신된 동적 패스워드에 대해 생성된 동적 패스워드를 비교하고, 이러한 비교에 기초하여, 단말이 인증되는지의 여부를 결정할 수 있다.
도 3b는 본 개시의 다양한 실시예들에 따라 인증 처리를 위한 방법의 플로차트이다.
도 3b를 참조하면, 인증 처리를 위한 프로세스(350)가 제공된다. 프로세스(350)는, 예를 들면, 도 4의 디바이스(400), 도 5의 디바이스(500), 도 9의 시스템(900), 도 10의 시스템(1000), 또는 도 12의 컴퓨터 시스템(1200)에 의해 구현될 수 있다. 프로세스(350)는 도 3a의 프로세서(300)와 관련하여 수행될 수 있다.
355에서, 등록 요청이 전송된다. 예를 들면, 단말은 등록 요청을 서버로 전송할 수 있다(예를 들면, 인증 프로세스와 관련하여). 등록 요청은 검증 코드, 장비 코드, 및 통신 번호를 포함한다. 통신 코드는 전화 번호, 계정 식별자, 사용자 식별자 등일 수 있다. 예를 들면, 등록 요청에 포함된 통신 번호는 단말과 연관된 통신 번호일 수 있다. 통신 번호는 서버에 의해 요청되는 번호일 수 있다(예를 들면, 로그인 요청과 관련하여).
이동 전화의 예에서, 사용자는 이동 전화 번호를 사용하여 서버상에 로그 온하고, 서버는 텍스트 메시지 또는 단문 메시지 서비스(SMS)(예를 들면, 검증 요청과 동등한)를 통해 검증 코드를 이동 전화 번호로 송신하고, 사용자는 검증 코드, 장비 코드, 및 이동 전호 번호를 서버에 제출하기 위해(예를 들면, 집합적으로 등록 요청) 이동 전화를 사용한다.
360에서, 세션 ID 및 UID가 수신된다. 단말은 서버로부터 세션 ID 및 UID를 수신할 수 있다. 세션 ID 및 UID를 수신하는 것에 응답하여, 단말은 서버와 접속을 확립 또는 유지할 수 있고, 그렇지 않으면 서버와 통신하는 것과 관련하여 세션 ID 및 UID를 사용할 수 있다. 세션 ID 및 UID의 수신시, 단말은 또한 후속 사용을 가능하게 하기 위해 세션 ID 및 UID를 저장한다. 세션 ID 및 UID는 난수들로서 생성될 수 있다. 일부 실시예들에서, 단말은 서버와 통신 링크를 유지한다. 통신 링크는 긴 접속 또는 짧은 접속으로 표현될 수 있지만, 이러한 표현의 형태들로 제한되지 않는다.
365에서, 인증 요청이 수신된다. 단말은 인증 프로세스와 관련하여 서버로부터 인증 요청을 수신할 수 있다. 인증 요청을 수신하는 것에 응답하여, 단말은 인증 요청의 검증을 수행할 수 있다. 예를 들면, 일부 실시예들에서, 단말은 인증 요청의 검증을 수행할 수 있고, 인증 요청이 검증을 통과한 경우 370으로 진행할 수 있다.
370에서, 장비 코드가 획득된다. 단말은 인증 요청을 수신하는 것에 응답하여 또는 인증 요청을 검증하는 것에 응답하여 장비 코드를 검색할 수 있다. 장비 코드는 그와 연관된 단말을 고유하게 식별하는 번호 또는 다른 식별자에 대응할 수 있다. 단말은 저장 장치(예를 들면, 로컬 저장 장치 또는 원격 저장 장치)로부터 장비 코드를 획득할 수 있다. 일부 실시예들에서, 단말은 단말과 연관된, 또는 그렇지 않으면 단말에 대응하는 정보로부터 장비 코드를 도출할 수 있다. 예를 들면, 단말은 장비 코드를 도출하기 위해 미리 규정된 프로세스 또는 기술을 사용할 수 있다.
375에서, 동적 패스워드가 생성된다. 단말은 동적 패스워드를 생성할 수 있다. 예를 들면, 단말은 장비 코드에 적어도 부분적으로 기초하여 동적 패스워드를 생성할 수 있다. 예를 들면, 인증 요청을 수신하는 것에 응답하여, 단말은 동적 패스워드를 생성할 수 있다. 일부 실시예들에서, 단말은 인증 요청이 검증되는 것을 결정하는 것에 응답하여 동적 패스워드를 생성한다. 일부 실시예들에서, 동적 패스워드는 전술한 장비 코드 및 로컬 카운터의 출력값에 적어도 부분적으로 기초하여 생성된다. 동적 패스워드는 서버에 의해 단말의 검증을 위한 기준으로서 사용될 수 있다.
이동 전화의 예를 사용하여, 사용자(예를 들면, 단말)에 의해 서버로 송신된 인증 요청이 검증을 통과한 후, 이동 전화에 대한 클라이언트는 미리 규정된 기술(예를 들면, 추가)에 따라 대칭 키(K)를 생성하기 위해 장비 코드, 세션 ID, 및 UID를 사용하고, 동적 패스워드를 생성하기 위해 추가 카운터의 출력값(C)으로서 클라이언트 시간(즉, 단말 시간)을 사용한다.
380에서, 동적 패스워드가 전달된다. 단말은 동적 패스워드를 서버로 전송할 수 있다. 예를 들면, 단말은 인증 프로세스와 관련하여 동적 패스워드를 서버로 전송할 수 있다. 일부 실시예들에서, 서버는 단말(또는 그의 사용자)을 인증하는 것과 관련하여 동적 패스워드를 사용할 수 있다. 단말은 다른 정보와 함께 동적 패스워드를 전송할 수 있다. 예를 들면, 단말은 (단말과 연관된 카운터의) 출력값과 함께 동적 패스워드를 서버로 전송할 수 있다.
일부 실시예들에서, 도 3b의 프로세스(350)의 370, 375, 및/또는 380은 도 2의 프로세스(200)의 210, 220, 및/또는 230을 포함할 수 있다.
상기에 설명된 방법 실시예들 모두는 설명을 간략화하기 위해 동작들의 일련의 조합들로서 제시되는 것을 주의하라. 그러나, 당업자들은 본 발명이 설명되는 동작 시퀀스들에 의해 제한되지 않고, 단계들 중 일부에 대하여 본 발명에 따라 동시에 구현되거나 다른 시퀀스를 사용할 수 있다는 것을 알아야 한다. 또한, 당업자들은 또한 여기에 설명된 실시예들이 실시예들이고 여기에 포함된 동작들 및 모듈들이 다양한 다른 실시예들에 의해 반드시 필요한 것이 아님을 알아야 한다.
도 4는 본 개시의 다양한 실시예들에 따라 인증 처리를 위한 디바이스의 블록도이다.
도 4를 참조하면, 디바이스(400)는 도 2의 프로세스(200), 도 3a의 프로세스(300), 도 3b의 프로세스(350), 또는 도 6의 프로세스(600)과 관련하여 구현될 수 있다. 디바이스(400)는 도 10의 시스템(1000), 도 11의 컴퓨터 단말(1100), 또는 도 12의 컴퓨터 시스템(1200)과 관련하여 구현될 수 있다. 디바이스(400)는 이동 단말, 컴퓨터 단말, 또는 유사한 동작 디바이스에 포함될 수 있거나 그렇지 않으면 그에 대응할 수 있다. 일부 실시예들에서, 디바이스(400)는 단말로서 구현된다. 일부 실시예들에서, 디바이스(400)는 서버로서 구현된다.
도 4에 도시된 바와 같이, 디바이스(400)는 검색 모듈(410), 생성 모듈(420), 및 통신 인터페이스(430)를 포함할 수 있다.
일부 실시예들에서, 검색 모듈(410)은 단말을 고유하게 식별하기 위해 사용된 장비 코드를 검색하도록 구성된다. 검색 모듈(410)은 저장 장치로부터 장비 코드를 획득할 수 있다. 장비 코드가 획득되는 저장 장치는 단말(예를 들면, 디바이스(400))에 관하여 로컬이거나 원격일 수 있다. 일부 실시예들에서, 장비 코드는 도 1의 110과 관련하여 설명되는 단말의 특징 파라미터들에 적어도 부분적으로 기초하여 계산된다. 장비 코드는 검색 모듈(410)에 의해 계산될 수 있거나(예를 들면, 검색 모듈(410)이 대응하는 특징 파라미터들을 검색한 후), 또는 장비 코드는 장비 코드를 검색하는 검색 모듈(410)보다 앞에 계산 및 저장될 수 있다.
다양한 실시예들에 따라, 검색 모듈(410)은 장비 코드를 생성하도록 구성된다. 검색 모듈(410)은 단말의 특징 파라미터들에 적어도 부분적으로 기초하여 장비 코드를 생성할 수 있다. 특징 파라미터들은 다음의 파라미터들: 단말의 브랜드, 단말의 모델 번호, 단말 일련 번호, IMEI, IMSI, MAC 어드레스, 운영 시스템 ID 등 중 하나 이상을 포함한다.
생성 모듈(420)은 장비 코드 및 로컬 카운터의 출력값에 기초하여 동적 패스워드를 생성하도록 구성될 수 있다. 일부 실시예들에서, 동적 패스워드는 단말(예를 들면, 디바이스(400))의 검증을 위한 기준으로서 서버에 의해 사용될 수 있다.
통신 인터페이스(430)는 동적 패스워드를 서버로 전송하도록 구성된다. 통신 인터페이스는 생성 모듈(420)에 연결될 수 있다. 일부 실시예들에서, 통신 인터페이스(430)는 통신 링크 또는 채널을 통해 동적 패스워드를 서버로 전달하도록 구성된다(예를 들면, 세션 동안).
도 5는 본 개시의 다양한 실시예들에 따라 인증 처리를 위한 디바이스의 블록도이다.
도 5를 참조하면, 디바이스(500)는 도 2의 프로세스(200), 도 3a의 프로세스(300), 도 3b의 프로세스(350), 또는 도 6의 프로세스(600)와 관련하여 구현될 수 있다. 디바이스(500)는 도 10의 시스템(1000), 도 11의 컴퓨터 단말(1100), 또는 도 12의 컴퓨터 시스템(1200)과 관련하여 구현될 수 있다. 디바이스(500)는 이동 단말, 컴퓨터 단말, 또는 유사한 운영 디바이스에 포함될 수 있거나, 그렇지 않으면 그에 대응할 수 있다. 일부 실시예들에서, 디바이스(500)는 단말로서 구현된다. 일부 실시예들에서, 디바이스(500)는 서버로서 구현된다.
도 5에 도시된 바와 같이, 디바이스(500)는 검색 모듈(510), 생성 모듈(520), 및 통신 모듈(530)을 포함할 수 있다.
검색 모듈(510)은 단말을 고유하게 식별하기 위해 사용된 장비 코드를 검색하도록 구성된다. 검색 모듈(510)은 도 4의 디바이스(400)의 검색 모듈(410)에 대응할 수 있다.
생성 모듈(520)은 장비 코드 및 로컬 카운터의 출력 값에 기초하여 동적 패스워드를 생성하도록 구성된다. 일 예로서, 생성 모듈(520)은 도 4의 디바이스(400)의 생성 모듈(420)에 대응할 수 있다. 또한, 생성 모듈(520)은 제 1 생성 서브-모듈(522) 및 제 2 생성 서브-모듈(524)을 포함할 수 있다.
생성 모듈(520)은 동적 패스워드를 생성하도록 구성될 수 있다. 제 1 생성 서브-모듈(522)은 사전 설정된 식별자 할당 프로세스에 따라 장비 코드, 서버에 의해 전술한 단말에 할당된 전술한 세션 ID, 및 서버에 의해 단말에 할당된 UID에 기초하여 대칭 키를 생성하도록 구성된다. 제 2 생성 서브-모듈(524)은 제 1 생성 서브-모듈(522)에 접속되고 패스워드 생성 프로세스에 따라 대칭 키 및 출력값에 적어도 부분적으로 기초하여 동적 패스워드를 생성하도록 구성될 수 있다. 일부 실시예들에서, 사전 설정된 식별자 할당 프로세스는 장비 코드, 세션 ID, 및 UID를 조합하는 것, 또는 암호화를 수행하고 키를 생성하기 위해 관련 기술에서 알려진 기술을 사용하는 것으로 표현될 수 있다. 예를 들면, DES, 3DES(TDEA), IDEA 등과 같은 기술들은 암호화를 수행하고 키를 생성하기 위한 기술로서 사용될 수 있다. 다양한 다른 기술들은 대칭 키를 생성하기 위해 사용될 수 있다. 동적 패스워드는 다양한 방법들로 생성될 수 있다(예를 들면, 패스워드 생성 프로세스에 대하여 다양한 형태들의 표현이 존재할 수 있다). 예를 들면, 동적 패스워드는 다음의 함수, Code=HMAC_SHA1(K,C)를 사용하여 생성될 수 있고, 코드는 전술한 동적 패스워드를 나타내고, HMAC_SHA1()는 키와 관련된 해시 함수이고, HMAC은 키와 관련된 해시 기반 메시지 인증 코드를 나타내고, SHA1는 보안 해시 함수를 나타내고, K는 대칭 키를 나타내고, C는 출력값을 나타낸다.
다양한 실시예들에 따라, 모듈들 또는 서브-모듈들은 소프트웨어 또는 하드웨어의 형태로 구현될 수 있다. 일부 실시예들에서, 검색 모듈(510), 생성 모듈(520), 및 통신 모듈(530)은 동일한 프로세서상에 위치된다. 일부 실시예들에서, 검색 모듈(510), 생성 모듈(520), 및 통신 모듈(530)은 상이한 프로세서들상에 각각 위치될 수 있다; 또는 검색 모듈(510), 생성 모듈(520), 및 통신 모듈(530) 중 임의의 두 개는 동일한 프로세서상에 위치되고, 다른 모듈은 다른 프로세서상에 위치된다.
다양한 실시예들에 따라, 추가 장비에 대한 비의존 및 수동 입력 및 시스템 시간들에 대한 비의존이 실현될 수 있다. 예를 들면, 동적 패스워드는 단말의 자체 특징 파라미터들에 기초하여 생성되고, 따라서 일반적으로 더 높은 비용들을 초래하는 추가의 장비를 요구하는 종래 기술에서 존재하는 기술적 문제들을 해결한다. 다른 예로서, 단말의 자체 특징 파라미터들에 기초하여 생성된 동적 패스워드는 그와 달리 입력 에러들의 더 큰 가능성을 초래하는 동적 패스워드의 수동 입력 또는 검증 실패를 더 가능성 있게 하는 소프트웨어 시스템 시간 업데이트들을 요구하는 것과 연관된 기술적 문제들을 해결한다.
도 6은 본 개시의 다양한 실시예들에 따라 인증 처리를 위한 방법의 플로차트이다.
도 6을 참조하면, 인증 처리를 위한 프로세스(600)가 제공된다. 프로세스(600)는 예를 들면, 도 7의 디바이스(700), 도 8의 디바이스(800), 도 9의 시스템(900), 도 10의 시스템(1000), 또는 도 12의 컴퓨터 시스템(1200)에 의해 구현될 수 있다.
다양한 실시예들에 따라, 인증 프로세스는 서버상에 구동될 수 있다. 일 예로서, 서버의 구조는 도 1의 디바이스(100)의 구조를 사용하여 구현될 수 있다.
610에서, 제 1 동적 패스워드가 수신된다. 서버는 단말에 의해 송신된 제 1 동적 패스워드를 수신할 수 있다. 제 1 동적 패스워드는 단말에 의해 생성된 동적 패스워드에 대응할 수 있다. 단말은 로컬 카운터(예를 들면, 단말 내 카운터)의 출력값 및 단말을 고유하게 식별하기 위한 장비 코드에 기초하여 제 1 동적 패스워드를 생성할 수 있다. 서버는 인증 프로세서와 연관된 다른 정보를 수신할 수 있다. 예를 들면, 서버는 제 1 동적 패스워드와 함께 단말에 의해 전달된 출력값을 수신할 수 있다.
다양한 방법들이 장비 코드를 생성하기 위해 사용될 수 있다. 일부 실시예들에서, 단말은 사전 규정된 기술을 사용하여 단말의 특징 파라미터들 중 하나 이상에 적어도 부분적으로 기초하여 전술한 장비 코드를 생성한다. 하나 이상의 특징 파라미터들은 다음의 파라미터들 중 하나 이상을 포함할 수 있다: 단말의 브랜드, 단말의 모델 번호, 단말 일련 번호, IMEI, IMSI, MAC 어드레스, 운영 시스템 ID 등.
620에서, 제 2 동적 패스워드가 생성된다. 일부 실시예들에서, 서버는 제 2 동적 패스워드를 생성한다. 서버는 먼저 검색된 장비 코드에 적어도 부분적으로 기초하여 제 2 동적 패스워드를 생성할 수 있다. 예를 들면, 서버는 단말들 또는 사용자들에 대한 장비 코드들의 맵핑을 저장하는 저장 장치(예를 들면, 데이터베이스)로부터 단말과 연관된 장비 코드를 검색할 수 있다. 서버는 단말로부터 또는 단말들에 대한 정보의 맵핑들을 저장하는 저장 장치로부터 획득된 다른 정보와 같은 제 2 동적 패스워드를 생성하는 것과 관련하여 다른 정보를 사용할 수 있다. 예를 들면, 서버는 단말로부터 출력값을 수신할 수 있고, 제 2 동적 패스워드의 생성시 이러한 출력값을 사용할 수 있다. 서버는 단말을 인증하기 위해 제 2 동적 패스워드와 제 1 동적 패스워드를 비교할 수 있다. 예를 들면, 서버는 제 1 동적 패스워드 및 제 2 동적 패스워드가 일치하는지의 여부를 결정할 수 있다. 일부 실시예들에서, 단말 또는 서버는 사전 설정된 식별자 할당 프로세스에 따라 장비 코드, 서버에 의해 단말에 할당된 세션 ID, 및 서버에 의해 단말에 할당된 UID에 기초하여 대칭 키를 생성하고; 단말 또는 서버는 대칭 키 및 출력값에 기초하여 제 1 동적 패스워드 또는 제 2 동적 패스워드를 생성한다.
일부 실시예들에서, 단계(620) 전에, 서버는 미리 장비 코드를 검색하고 후속 인증 프로세스에 대해 미리 준비하기 위해 장비 코드를 저장할 수 있다. 예를 들면, 서버가 미리 검색된 장비 코드에 기초하여 제 2 동적 패스워드를 생성하기 전에, 서버는 전술한 단말로 검증 요청을 송신할 수 있고; 서버는 검증 요청에 적어도 부분적으로 기초하여 상술한 단말에 의해 송신된 전술한 장비 코드 및 검증 코드를 수신한다.
630에서, 단말은 제 1 동적 패스워드 및 제 2 동적 패스워드에 적어도 부분적으로 기초하여 인증된다. 일부 실시예들에서, 서버는 제 1 동적 패스워드 및 제 2 동적 패스워드의 비교의 결과들에 기초하여 전술한 단말의 인증을 수행한다. 비교의 결과들이 제 1 동적 패스워드 및 제 2 동적 패스워드가 일치하는 것을 나타낼 경우, 단말은 인증을 통과했다고 결정된다. 반대로, 비교의 결과들이 제 1 동적 패스워드 및 제 2 동적 패스워드가 일치하지 않는 것을 나타내는 경우, 단말은 인증을 실패했다고 결정된다. 단말이 인증된 후, 사용자는 서버에 의해 제공된 서비스들에 액세스하기 위해 단말을 사용하도록 진행할 수 있다.
제 1 동적 패스워드 및 제 2 동적 패스워드는 동일한 방법을 사용하여 생성될 수 있다. 예를 들면, 제 1 동적 패스워드 및 제 2 동적 패스워드는 다음의 방법을 사용하여 생성될 수 있다: 단말 또는 서버는, 사전 설정된 식별자 할당 프로세스에 따라, 전술한 장비 코드, 서버에 의해 단말에 할당된 세션 ID, 및 서버에 의해 단말에 할당된 UID에 기초하여 대칭 키를 생성하고; 단말 또는 서버는 전술한 대칭 키 및 출력값에 기초하여 전술한 제 1 동적 패스워드 또는 전술한 제 2 동적 패스워드를 생성한다.
도 7은 본 개시의 다양한 실시예들에 따라 인증 처리를 위한 디바이스의 블륵도이다.
도 7을 참조하면, 디바이스(700)는 도 2의 프로세스(200), 도 3a의 프로세스(300), 도 3b의 프로세스(350), 또는 도 6의 프로세스(600)과 관련하여 구현될 수 있다. 디바이스(700)는 도 10의 시스템(1000), 도 11의 컴퓨터 단말(1100), 또는 도 12의 컴퓨터 시스템(1200)과 관련하여 구현될 수 있다. 디바이스(700)는 컴퓨터 단말, 서버, 또는 유사한 동작 디바이스에 포함되거나, 또는 그렇지 않으면 그에 대응할 수 있다.
도 7에 도시된 바와 같이, 디바이스(700)는 제 1 수신 모듈(710), 생성 모듈(720), 및 인증 모듈(730)을 포함할 수 있다.
제 1 수신 모듈(710)은 단말에 의해 송신된 제 1 동적 패스워드를 수신하도록 구성될 수 있다. 제 1 동적 패스워드는 단말을 고유하게 식별하기 위해 사용된 장비 코드 및 로컬 카운터의 출력값에 기초하여 단말에 의해 생성된 동적 패스워드이다. 제 1 수신 모듈(710)은 인터넷 등과 같은 네트워크를 거쳐 단말로부터 제 1 동적 패스워드를 수신할 수 있다. 제 1 수신 모듈(710)은 도 6의 프로세스(600)의 610을 구현할 수 있다.
생성 모듈(720)은 제 1 수신 모듈(710)에 접속될 수 있다. 생성 모듈(720)은 단말과 연관된 장비 코드에 적어도 부분적으로 기초하여 제 2 동적 패스워드를 생성하도록 구성될 수 있다. 단말과 연관된 장비 코드가 먼저 검색된다. 생성 모듈(720)은 제 1 동적 패스워드 및 제 2 동적 패스워드가 일치하는지의 여부를 결정하는 것과 관련하여 제 2 동적 패스워드에 대해 제 1 동적 패스워드를 비교하도록 또한 구성될 수 있다. 생성 모듈(720)은 도 6의 프로세스(600)의 620을 구현할 수 있다.
인증 모듈(730)은 생성 모듈(720)에 연결될 수 있다. 인증 모듈(730)은 제 1 동적 패스워드 및 제 2 동적 패스워드에 적어도 부분적으로 기초하여 단말의 인증을 수행하도록 구성될 수 있다. 예를 들면, 인증 모듈은 단말이 인증되었는지의 여부를 결정하기 위해 제 1 동적 패스워드 및 제 2 동적 패스워드의 비교의 결과들을 사용할 수 있다. 비교의 결과들이 제 1 동적 패스워드 및 제 2 동적 패스워드가 일치한다는 것을 나타내는 경우, 단말은 인증이 통과됐다고 결정된다. 반대로, 비교의 결과들이 제 1 동적 패스워드 및 제 2 동적 패스워드가 일치하지 않는다는 것을 나타낼 경우, 단말은 인증이 실패되었다고 결정된다. 인증 모듈(730)은 도 6의 프로세스(600)의 630를 구현할 수 있다.
도 8은 본 개시의 다양한 실시예들에 따라 인증 처리를 위한 디바이스의 블록도이다.
도 8을 참조하면, 디바이스(800)는 도 2의 프로세스(200), 도 3a의 프로세스(300), 도 3b의 프로세스(350), 또는 도 6의 프로세스(600)와 관련하여 구현될 수 있다. 디바이스(800)는 도 10의 시스템(1000), 도 11의 컴퓨터 단말(1100), 또는 도 12의 컴퓨터 시스템(1200)과 관련하여 구현될 수 있다. 디바이스(800)는 컴퓨터 단말, 서버, 또는 유사한 동작 디바이스에 포함될 수 있거나, 그렇지 않은 경우 그에 대응할 수 있다.
도 8에 도시된 바와 같이, 디바이스(800)는 제 1 수신 모듈(810), 생성 모듈(820), 인증 모듈(830), 송신 모듈(840), 및 제 2 수신 모듈(850)을 포함할 수 있다.
일부 실시예들에서, 제 1 수신 모듈(810)은 도 7의 디바이스(700)의 제 1 수신 모듈(710)에 의해 구현될 수 있다.
일부 실시예들에서, 생성 모듈(820)은 도 7의 디바이스(700)의 생성 모듈(720)에 의해 구현될 수 있다.
일부 실시예들에서, 인증 모듈(830)은 도 7의 디바이스(700)의 인증 모듈(730)에 의해 구현될 수 있다.
송신 모듈(840)은 전술한 단말로 검증 요청을 송신하도록 구성될 수 있다. 송신 모듈은 미리 검색된 장비 코드에 기초하여 제 2 동적 패스워드의 생성 전에 검증 요청을 송신할 수 있다.
제 2 수신 모듈(850)은 송신 모듈(840)에 연결될 수 있다. 제 2 수신 모듈(850)은 검증 요청(예를 들면, 그에 응답하여)에 적어도 부분적으로 기초하여 단말에 의해 송신된 장비 코드 및 검증 코드를 수신하도록 구성될 수 있다.
일부 실시예들에서, 장비 코드는 다음에 의해 적어도 부분적으로 기초하여 결정될 수 있다: 단말은 미리 규정된 기술에 따라 단말의 특징 파라미터들 중 하나 이상에 기초하여 장비 코드를 생성한다. 특징 파라미터들은 다음의 파라미터들 중 하나 이상을 포함할 수 있다: 단말의 브랜드, 단말의 모델 번호, 단말 일련 번호, IMEI, IMSI, MAC 어드레스, 운영 시스템 ID 등. 일부 실시예들에서, 미리 규정된 기술은 해시 함수에 대응하거나, 또는 그렇지 않으면 해시 함수를 포함한다.
생성 모듈(820)은 사전 설정된 식별자 할당 프로세스에 따라 전술한 장비 코드, 서버에 의해 단말에 할당된 세션 ID, 및 서버에 의해 단말로 할당된 UID에 적어도 부분적으로 기초하여 대칭 키를 생성하는 것; 및 패스워드 생성 프로세스에 따라 대칭 키 및 출력값에 적어도 부분적으로 기초하여 제 2 동적 패스워드를 생성하는 것에 의해 제 2 동적 패스워드를 생성하도록 구성될 수 있다. 제 1 사전 설정된 식별자 할당 프로세스는 다음을 포함할 수 있지만 그로 제한되지 않는다: 장비 코드, 세션 ID, 및 UID를 조합하는 것. 패스워드 생성 프로세스는 다음의 함수: Code=HMAC_SHA1(K,C)에 따라 제 2 동적 패스워드의 생성을 포함할 수 있지만 그로 제한되지 않고, 코드는 제 2 동적 패스워드를 나타내고, HMAC_SHA1()는 키와 관련된 해시 함수이고, HMAC은 키와 관련된 해시-기반 메시지 인증 코드를 나타내고, 전술한 SHA1은 보안 해시 함수를 나타내고, K는 대칭 키를 나타내고, C는 출력값을 나타낸다.
도 9는 본 개시의 다양한 실시예들에 따라 인증 처리를 위한 시스템의 구조적인 개략도이다.
도 9를 참조하면, 시스템(900)은 도 2의 프로세스(200), 도 3a의 프로세스(300), 도 3b의 프로세스(350), 또는 도 6의 프로세스(600)와 관련하여 구현될 수 있다. 시스템(900)은 도 1의 디바이스(100), 도 5의 디바이스(500), 및/또는 도 7의 디바이스(700)를 구현할 수 있다. 시스템(900)은 도 10의 시스템(1000), 도 11의 컴퓨터 단말(1100), 또는 도 12의 컴퓨터 시스템(1200)과 관련하여 구현될 수 있다.
도 9에 도시된 바와 같이, 시스템(900)은 단말(910) 및 서버(920)를 포함할 수 있다. 시스템(900)은 단말(910) 및 서버(920)가 통신하는 네트워크(930)를 더 포함할 수 있다.
단말(910)은 단말(910)을 인증하는 서버(920)에 연결하여 서버(920)에 의해 사용된 동적 패스워드를 생성할 수 있다. 예를 들면, 서버(920)는 서버(920)가 단말(910)로부터 수신한 동적 패스워드를 서버(920)에 의해 생성된 동적 패스워드와 비교할 수 있다. 서버(920)는 단말(910)에 의해 생성된 동적 패스워드(예를 들면, 제 1 동적 패스워드)와 서버(920)에 의해 생성된 동적 패스워드(예를 들면, 제 2 동적 패스워드)와의 비교에 적어도 부분적으로 기초하여 단말(910)을 인증할 수 있다.
단말(910)은 도 1의 디바이스(100)를 포함할 수 있다. 서버(920)는 도 4의 디바이스(400)를 포함할 수 있다.
도 10은 본 개시의 다양한 실시예들에 따라 인증 처리를 위한 시스템의 구조적인 개략도이다.
도 10을 참조하면, 시스템(1000)은 도 2의 프로세스(200), 도 3a의 프로세스(300), 도 3b의 프로세스(350), 또는 도 6의 프로세스(600)와 관련하여 구현될 수 있다. 시스템(1000)은 도 1의 디바이스(100), 도 5의 디바이스(500), 및/또는 도 7의 디바이스(700)를 구현할 수 있다. 시스템(1000)은 도 9의 시스템(900), 도 11의 컴퓨터 단말(1100), 또는 도 12의 컴퓨터 시스템(1200)과 관련하여 구현될 수 있다.
도 10에 도시된 바와 같이, 시스템(1000)은 단말(1010)(예를 들면, 이동 전화) 및 서버(1020)를 포함할 수 있다. 단말(1010) 및 서버(1020)는 서버(1020)에 의해 단말(1010)의 인증과 관련하여 서로 통신할 수 있다.
1030에서, 사용자는 단말(1010)의 이동 전화 번호를 사용하여 서버(1020)에 로그 온한다. 서버(1020)는 검증 메시지(예를 들면, SMS 메시지, 텍스트 메시지 등)를 단말(1010)과 연관된 이동 전화 번호로 송신하고, 사용자는 이동 전화(1010)를 통해 검증 코드, 디바이스 ID, 및 이동 전화 번호를 서버(1020)로 제출한다. 일부 실시예들에서, 사용자는 단말(1010)에 의해 제공된 인터페이스를 통해 검증 코드, 디바이스 ID, 및 이동 전화 번호를 제출할 수 있다. 일부 실시예들에서, 검증 코드, 디바이스 ID, 및 이동 전화 번호는 디바이스상에 저장될 수 있고, 사용자는 단말(1010)상에 사용자에게 디스플레이된 인터페이스상에 제공된 제출/전송 버튼을 선택함으로써 검증 코드, 디바이스 ID, 및 이동 전화 번호를 서버(1020)로 제출하도록 선택할 수 있다. 사용자에게 디스플레이된 인터페이스는 독립형 소프트웨어 애플리케이션, 브라우저-기반 애플리케이션 등과 관련하여 디스플레이될 수 있다. 예를 들면, 독립형 소프트웨어 애플리케이션은 인증 프로세스와 관련하여 단말에 의해 설치 및 실행될 수 있다. 다른 예로서, 인증 프로세스는 인터페이스를 사용자에게 디스플레이하기 위해 브라우저-기반 애플리케이션을 사용할 수 있다. 서버(1020)는 검증 코드, 디바이스 ID, 및 이동 전화 번호의 검증을 수행할 수 있다. 검증 코드, 디바이스 ID, 및 이동 전화 번호가 검증을 통과한 것을 결정한 것에 응답하여, 서버(1020)는 세션 ID 및 UID를 저장 및 할당하고, 후속 사용을 위해 세션 ID 및 UID를 저장한다. 서버(1020)는 세션 ID 및 UID를 단말(1010)로 전송하고, 단말(1010)은 후속 사용을 위해 세션 ID 및 UID를 저장한다.
1040에서, 단말(1010) 및 서버(1020)는 서로 통신 세션을 유지한다(예를 들면, HTTP 세션).
1050에서, 사용자가 특정 시스템들 또는 네트워크들에 로그 온할 때, 서버(1020)는 인증 요청을 단말(1010)로(예를 들면, 이동 전화상의 클라이언트로) 송신한다. 사용자(또는 단말)는 인증 요청을 검증한다. 단말(1010)상의 클라이언트는 대칭 키(K)를 형성하기 위해 디바이스 ID, 세션 ID, 및 UID를 조합하고, 클라이언트 시간을 추가 카운터(C)로서 사용하고, 동적 패스워드 코드를 생성한다. 단말(1010)상의 클라이언트는 동적 패스워드를 서버(1020)로 송신하고, 서버(1020)는 동적 패스워드 코드를 생성하는 동일한 동작을 수행하고, 서버(1020)는 동적 패스워드들을 비교하고, 인증 동작은 이후 동적 패스워드들의 비교의 결과들에 기초하여 완료된다(예를 들면, 서버(1020)로 단말(1010)에 의해 전달된 동적 패스워드, 및 서버측상에 생성된 동적 패스워드).
일부 실시예들에서, 단말은 컴퓨터 단말일 수 있고, 컴퓨터 네트워크에서 네트워크 장비의 다수의 부분들 중에서 네트워크 장비의 적어도 하나의 부분상에 위치될 수 있다.
컴퓨터 단말은 단말 인증 처리 방법에서 단계들에 대해 프로그램 코드를 실행할 수 있다. 예를 들면, 컴퓨터 단말은 단말을 고유하게 식별하기 위해 사용된 장비 코드를 검색하는 단말과 연관된 프로그램 코드를 실행할 수 있고, 단말은 장비 코드 및 로컬 카운터의 출력값에 기초하여 동적 패스워드를 실행하고, 동적 패스워드는 서버에 의해 단말의 검증을 위한 기준이고, 단말은 동적 패스워드를 서버로 송신한다.
도 11은 본 개시의 다양한 실시예들에 따라 인증 처리를 위한 컴퓨터 단말의 블록도이다.
도 11을 참조하면, 컴퓨터 단말(1100)은 도 2의 프로세스(200), 도 3a의 프로세스(300), 도 3b의 프로세스(350), 또는 도 6의 프로세스(600)와 관련하여 구현될 수 있다. 컴퓨터 단말(1100)은 도 1의 디바이스(100), 도 5의 디바이스(500), 및/또는 도 7의 디바이스(700)를 구현할 수 있다. 컴퓨터 단말(1100)은 도 9의 시스템(900), 도 10의 시스템(1000), 또는 도 12의 컴퓨터 시스템(1200)과 관련하여 구현될 수 있다.
도 11에 도시된 바와 같이, 컴퓨터 단말(1100)은 하나 이상의 프로세서들(1110), 메모리(1120), 및 통신 인터페이스(1130)를 포함할 수 있다.
메모리(1120)는 다양한 실시예들에 따라 단말 인증 처리 방법 또는 디바이스에 대응하는 프로그램 명령들/모듈들과 같은 소프트웨어 프로그램들 및 모듈들을 저장하기 위해 사용될 수 있다. 메모리(1120)에 저장된 소프트웨어 프로그램들 및 모듈들을 구동함으로써, 그에 의해 프로세서(1110)는 다양한 기능 애플리케이션들 및 데이터 처리를 실행해서, 전술한 시스템의 취약성 검출의 방법을 달성한다. 메모리(1120)는 고속 랜덤 메모리를 포함할 수 있고, 하나 이상의 자기 저장 디바이스들 또는 다른 비휘발성 고체 상태 메모리 디바이스들과 같은 비휘발성 메모리를 또한 포함할 수 있다. 일부 실시예들에서, 메모리(1120)는 프로세서(1110)에 관하여 멀리에 배치된 메모리 디바이스들을 더 포함할 수 있고; 이러한 원격 메모리 디바이스들은 네트워크를 통해 컴퓨터 단말(1100)에 연결할 수 있다. 전술한 네트워크의 예들은 인터넷, 기업 인트라넷, 근거리 네트워크들, 광역 네트워크들, 이동 통신 네트워크들, 및 그의 조합들을 포함하지만 그로 제한되지 않는다.
통신 인터페이스(1130)는 네트워크를 통해 데이터를 수신 또는 송신하기 위해 사용될 수 있다. 전술한 네트워크의 특정 예들은 케이블 네트워크들 및 무선 네트워크들을 포함할 수 있다. 일 예에서, 통신 인터페이스(1130)는 케이블 및 다른 네트워크 장비를 통해 라우터에 연결될 수 있고 그에 의해 인터넷 또는 근거리 네트워크와 통신할 수 있는 네트워크 인터페이스 제어기(NIC)를 포함한다. 일 예에서, 통신 인터페이스(1130)는 인터넷과 무선으로 통신하기 위해 사용되는 무선 주파수(RF) 모듈이다.
일부 실시예들에서, 메모리(1120)는 사전 설정된 동작 상태들 및 사전 설정된 권한 부여된 사용자 정보, 뿐만 아니라 애플리케이션 프로그램들을 저장하기 위해 사용된다.
프로세서(1110)는 다음 단계들을 실행하기 위해 메모리(1120)에 저장된 정보 및 애플리케이션 프로그램들을 불러올(invoke) 수 있다: 컴퓨터 단말(1100)은 컴퓨터 단말(1100)을 고유하게 식별하기 위해 사용된 장비 코드를 검색한다; 컴퓨터 단말(1100)은 장비 코드 및 로컬 카운터의 출력값에 기초하여 동적 패스워드를 생성하고, 동적 패스워드는 서버에 의해 컴퓨터 단말(1100)의 검증을 위한 기준이고; 컴퓨터 단말(1100)은 전술한 동적 패스워드를 서버로 송신한다.
일부 실시예들에서, 프로세서(1110)는 다음 단계들에 대해 프로그램 코드를 실행할 수 있다: 사전 설정된 기술에 따라 컴퓨터 단말(1100)의 특징 파라미터들에 기초하여 장비 코드를 생성하고, 특징 파라미터들은 다음 파라미터들 중 하나 이상을 포함한다: 컴퓨터 단말(1100)의 브랜드, 컴퓨터 단말(1100)의 모델 번호, 단말 일련 번호, IMEI, IMS, MAC 어드레스, 운영 시스템 ID 등.
일부 실시예들에서, 프로세서(1110)는 다음 단계들에 대하여 프로그램 코드를 실행할 수 있다: 컴퓨터 단말(1100)은 제 1 사전 설정된 식별자 할당 프로세스에 따라 전술한 장비 코드, 서버에 의해 컴퓨터 단말(1100)에 할당된 세션 ID, 및 서버에 의해 컴퓨터 단말(1100)에 할당된 UID에 기초하여 대칭 키를 생성한다; 컴퓨터 단말(1100)은 제 2 사전 설정된 패스워드 생성 프로세스에 따라 대칭 키 및 출력값에 기초하여 동적 패스워드를 생성한다.
일부 실시예들에서, 프로세서(1110)는 다음 단계들에 대하여 프로그램 코드를 실행할 수 있다: 컴퓨터 단말(1100)은 등록 요청을 서버로 송신하고, 등록 요청은 서버에 의해 컴퓨터 단말(1100)로부터 요청된 검증 코드, 장비 코드, 및 단말의 통신 번호를 포함하고; 등록 요청이 검증을 통과한 후, 컴퓨터 단말(1100)은 서버에 의해 컴퓨터 단말(1100)에 할당된 전술한 세션 ID 및 전술한 UID를 수신하고, 서버와 통신 링크를 유지한다.
일부 실시예들에서, 프로세서(1110)는 다음 단계들에 대해 프로그램 코드를 실행할 수 있다: 컴퓨터 단말(1100)은 서버로부터 인증 요청을 수신하고; 인증 요청이 검증을 통과할 때, 컴퓨터 단말(1100)은 전술한 동적 패스워드를 생성하는 것이 야기된다.
다양한 실시예들에서 제공된 전술한 기술 방식을 사용하는 것은 종래 기술의 다음의 기술적인 문제들을 해결한다: 추가의 하드웨어 장비에 대한 필요로부터 기인한 더 큰 비용; 수동 입력에 대한 필요로부터 기인한 입력 에러들; 소프트웨어 버전 시스템 업데이트들로부터 기인한 검증 실패들.
도 11에 도시된 구조들은 단순히 예시적이다. 컴퓨터 단말(1100)은 또한 스마트 전화(예컨대 안드로이드 전화, iOS 전화 등), 태블릿, 핸드헬드 컴퓨터, 또는 모바일 인터넷 디바이스(MID), PAD, 또는 다른 단말 장비일 수 있다. 도 11은 전술한 전자 디바이스의 구조의 제한으로 생각되지 않는다. 예를 들면, 컴퓨터 단말(1100)은 도 11에 도시되는 더 많거나 더 적은 구성 요소들(예컨대 네트워크 인터페이스들, 디스플레이 디바이스들 등)을 또한 포함하거나, 도 11에 도시되는 것과 상이한 구성을 가질 수 있다.
당업자들은 전술한 실시예들에서 다양한 방법들의 단계들의 모두 또는 일부가 단말 장비에 관련된 하드웨어에 명령하는 프로그램들을 사용하여 달성될 수 있다는 것을 이해할 수 있고, 이러한 프로그램들은 하나의 컴퓨터 판독 가능한 저장 매체상에 저장될 수 있고, 저장 매체는: 플래시 드라이브, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크, 또는 광 디스크를 포함할 수 있다.
다양한 실시예들은 저장 매체를 포함한다. 저장 매체는 도 2의 프로세스(200) 또는 도 1의 디바이스(100)의 단말 인증 처리 방법에 의해 실행된 프로그램 코드를 저장하기 위해 사용될 수 있다.
일부 실시예들에서, 저장 매체는 컴퓨터 네트워크의 컴퓨터 단말 그룹 내 임의의 컴퓨터 단말에 위치되거나 이동 단말 그룹의 임의의 이동 단말에 위치된다.
일부 실시예들에서, 저장 매체는 다음의 단계들을 실행하기 위해 사용된 프로그램 코드를 저장하도록 구성된다: 단말은 장비 코드 및 로컬 카운터의 출력값에 기초하여 동적 패스워드를 생성하고, 동적 패스워드는 서버에 의한 단말의 검증에 대한 기준이고; 단말은 동적 패스워드를 서버로 송신한다. 저장 매체는 또한 도 2의 프로세스(200)의 요소들을 실행하기 위해 사용된 프로그램 코드를 저장하도록 구성될 수 있다.
전술한 컴퓨터 단말 그룹에서 컴퓨터들 중 어느 하나는 네트워크 서버 및 스캐너와 통신 관계를 확립할 수 있고, 스캐너는 컴퓨터 단말상에 php 또는 스크립트에 의해 실행된 웹 애플리케이션들의 값 명령어들을 스캔할 수 있다는 것이 여기에서 주의되어야 한다.
다양한 실시예들에 따라, 컴퓨터 단말이 제공될 수 있고, 이러한 컴퓨터 단말은 도 6의 프로세스(600)를 구현한다.
다양한 실시예들에 따라, 컴퓨터 단말은 컴퓨터 네트워크에서 네트워크 장비의 다수의 부분들 중에서 네트워크 장비의 적어도 하나의 부분상에 위치될 수 있다.
일부 실시예들에서, 컴퓨터 단말은 단말 인증 방법에서 다음의 단계들에 대하여 프로그램 코드를 실행할 수 있다: 서버는 단말에 의해 송신된 제 1 동적 패스워드를 수신하고, 제 1 동적 패스워드는 단말을 고유하게 식별하기 위해 사용된 출력값 및 장비 코드에 기초하여 생성된 동적 패스워드이고; 서버는 미리 검색된 장비 코드에 기초하여 제 2 동적 패스워드를 생성하고, 제 1 동적 패스워드 및 제 2 동적 패스워드가 일치하는지의 여부를 결정하기 위해 제 2 동적 패스워드에 대하여 제 1 동적 패스워드를 비교하고; 서버는 비교 결과들에 기초하여 단말의 인증을 수행하고, 비교 결과들이 일치를 나타내는 경우, 단말은 인증을 통과했다고 결정되고; 그렇지 않으면, 단말은 인증을 실패했다고 결정된다.
프로세서(1110)는 다음의 단계들을 실행하기 위해 메모리(1120)상에 저장된 정보 및 애플리케이션들을 불러오기 위해 통신 인터페이스(1130)를 사용할 수 있다: 서버는 전술한 단말에 의해 송신된 제 1 동적 패스워드를 수신하고, 제 1 동적 패스워드는 단말을 고유하게 식별하기 위해 사용된 전술한 출력값 및 장비 코드에 기초하여 단말에 의해 생성된 동적 패스워드이고; 서버는 미리 검색된 장비 코드에 기초하여 제 2 동적 패스워드를 생성하고, 제 1 동적 패스워드 및 제 2 동적 패스워드가 일치하는지의 여부를 결정하기 위해 제 2 동적 패스워드에 대하여 제 1 동적 패스워드를 비교하고; 서버는 비교 결과들에 기초하여 단말의 인증을 수행하고, 비교 결과들이 일치를 나타낼 때, 단말은 인증을 통과했다고 결정되고; 그렇지 않은 경우, 단말은 인증을 실패했다고 결정된다.
일부 실시예들에서, 프로세서(1110)는 또한 다음 단계들에 대하여 프로그램 코드를 실행할 수 있다: 서버는 검증 요청을 단말로 송신하고; 서버는 검증 요청에 기초하여 단말에 의해 송신된 장비 코드 및 검증 코드를 수신한다.
다양한 실시예들에 따라, 저장 매체가 제공될 수 있고, 저장 매체는 도 6의 프로세스(600)에 의해 실행된 프로그램 코드를 저장하기 위해 사용된다.
저장 매체는 컴퓨터 네트워크 내 컴퓨터 단말 그룹의 임의의 컴퓨터 단말 에 위치될 수 있거나 이동 단말 그룹의 임의의 이동 단말에 위치될 수 있다.
일부 실시예들에서, 저장 매체는 다음의 단계들을 실행하기 위해 사용된 프로그램 코드를 저장하도록 설정된다: 서버는 단말에 의해 송신된 제 1 동적 패스워드를 수신하고, 제 1 동적 패스워드는 단말을 고유하게 식별하기 위해 사용된 장비 코드 및 출력값에 기초하여 단말에 의해 생성된 동적 패스워드이고; 서버는 미리 검색된 장비 코드에 기초하여 제 2 동적 패스워드를 생성하고, 제 1 동적 패스워드 및 제 2 동적 패스워드가 일치하는지의 여부를 결정하기 위해 제 2 동적 패스워드에 대하여 제 1 동적 패스워드를 비교하고; 서버는 비교 결과들에 기초하여 단말의 인증을 수행하고, 비교 결과들이 일치를 나타내는 경우, 단말은 인증을 통과했다고 결정되고; 그렇지 않으면, 단말이 인증을 실패했다고 결정된다. 저장 매체는 또한 도 6의 프로세스(600)를 실행하기 위해 사용된 단계들을 저장하도록 구성될 수 있다.
도 12는 본 개시의 다양한 실시예들에 따라 인증 처리를 위한 컴퓨터 시스템의 기능도이다.
도 12를 참조하면, 인증 처리를 위한 컴퓨터 시스템(1200)이 도시된다. 컴퓨터 시스템(1200)은 도 2의 프로세스(200), 도 3a의 프로세스(300), 도 3b의 프로세스(350), 또는 도 6의 프로세스(600)를 구현할 수 있다. 컴퓨터 시스템(1200)은 도 1의 디바이스(100), 도 4의 디바이스(400), 도 5의 디바이스(500), 도 7의 디바이스(700), 또는 도 8의 디바이스(800)를 구현할 수 있다. 명백한 바와 같이, 다른 컴퓨터 시스템 아키텍처들 및 구성들은 디스플레이 인터페이스를 구현하기 위해 사용될 수 있다. 이하에 설명되는 다양한 서브시스템들을 포함하는 컴퓨터 시스템(1200)은 적어도 하나의 마이크로프로세서 서브시스템(또한 프로세서 또는 중앙 처리 장치(CPU)라고도 불림)(1202)를 포함한다. 예를 들면, 프로세서(1202)는 단일-칩 프로세서에 의해 또는 다수의 프로세서들에 의해 구현될 수 있다. 일부 실시예들에서, 프로세서(1202)는 컴퓨터 시스템(1200)의 동작을 제어하는 범용 디지털 프로세서이다. 메모리(1210)로부터 검색된 명령들을 사용하여, 프로세서(1202)는 입력 데이터의 수신 및 조작, 및 출력 디바이스들(예를 들면, 디스플레이(1218))상에 데이터의 출력 및 디스플레이를 제어한다.
프로세서(1202)는 메모리(1210)와 양방향으로 결합되고, 메모리(1210)는 제 1 주기억 장치, 일반적으로 랜덤 액세스 메모리(RAM), 및 제 2 주기억 장치 영역, 일반적으로 판독 전용 메모리(ROM)를 포함할 수 있다. 본 기술에서 잘 알려진 바와 같이, 주기억 장치는 범용 기억 장치 영역으로서 및 스크래치-패드 메모리로서 사용될 수 있고, 입력 데이터 및 처리된 데이터를 저장하기 위해 또한 사용될 수 있다. 주기억 장치는 또한 프로세서(1202)상에 동작하는 프로세스들에 대하여 다른 데이터 및 명령들 외에 데이터 객체들 및 텍스트 객체들의 형태로 프로그래밍 명령들 및 데이터를 저장할 수 있다. 또한 본 기술에서 잘 알려진 바와 같이, 주기억 장치는 일반적으로 그의 기능들(예를 들면, 프로그램된 명령들)을 수행하기 위해 프로세서(1202)에 의해 사용된 기본 동작 명령들, 프로그램 코드, 데이터 및 객체들을 포함한다. 예를 들면, 메모리(1210)는, 예를 들면, 데이터 액세스가 양방향 또는 단방향일 필요가 있는지에 따라, 이하에 설명된 임의의 적절한 컴퓨터 판독 가능한 저장 매체들을 포함할 수 있다. 예를 들면, 프로세서(1202)는 또한 직접 및 매우 빠르게 검색할 수 있고, 캐시 메모리(도시되지 않음)에 자주 필요한 데이터를 저장할 수 있다. 메모리는 비일시적 컴퓨터 판독 가능한 저장 매체일 수 있다.
제거 가능한 대용량 저장 디바이스(1212)는 컴퓨터 시스템(1200)을 위한 추가의 데이터 저장 용량을 제공하고, 프로세서(1202)에 양방향(판독/기록) 또는 단방향(판독 전용)으로 결합된다. 예를 들면, 저장 장치(1212)는 또한 자기 테이프, 플래시 메모리, PC-CARDS, 이동식 대용량 저장 디바이스들, 홀로그래픽 저장 디바이스들, 및 다른 저장 디바이스들과 같은 컴퓨터 판독 가능한 매체들을 포함할 수 있다. 고정식 대용량 저장 장치(1220)는 또한, 예를 들면, 추가의 데이터 저장 용량을 제공할 수 있다. 대용량 저장 장치(1220)의 가장 일반적인 예는 하드 디스크 드라이브이다. 대용량 저장 디바이스(1212) 및 고정식 대용량 저장 장치(1220)는 일반적으로, 저장 장치(1220)에 의해 통상 활성 사용 중이 아닌 추가의 프로그래밍 명령들, 데이터 등을 저장한다. 대용량 저장 디바이스(1212) 및 고정식 대용량 저장 장치(1220) 내에 보유된 정보가, 필요한 경우, 메모리(1210)(예를 들면, RAM)의 일부로서 표준 방식으로 가상 메모리로서 통합될 수 있다는 것이 이해될 것이다.
저장 서브 시스템들에 대한 액세스를 프로세서(1202)에 제공하는 것 외에, 버스(121)는 또한 다른 서브시스템들 및 디바이스들에 대한 액세스를 제공하기 위해 사용될 수 있다. 도시된 바와 같이, 이들은 디스플레이 모니터(1218), 네트워크 인터페이스(1216), 키보드(1204), 및 포인팅 디바이스(1206), 뿐만 아니라 보조 입/출력 디바이스 인터페이스, 사운드 카드, 스피커들, 및 필요한 다른 서브시스템들을 포함할 수 있다. 예를 들면, 포인팅 디바이스(1206)는 마우스, 스타일러스, 트랙 볼, 또는 태블릿일 수 있고, 그래픽 사용자 인터페이스와 상호 작용하기에 유용하다.
네트워크 인터페이스(1216)는 프로세서(1202)가 도시되는 네트워크 접속을 사용하여, 다른 컴퓨터, 컴퓨터 네트워크, 또는 원격 통신 네트워크에 결합되게 한다. 예를 들면, 네트워크 인터페이스(1216)를 통해, 프로세서(1202)는 방법/프로세스 단계들을 수행하는 동안 다른 네트워크로부터 정보(예를 들면, 데이터 객체들 또는 프로그램 명령들)를 수신하거나 정보를 다른 네트워크로 출력할 수 있다. 프로세서상에 실행될 명령들의 시퀀스로서 종종 나타내진 정보는 다른 네트워크로부터 수신되고 다른 네트워크로 출력될 수 있다. 인터페이스 카드 또는 유사한 디바이스 및 프로세서(1202)에 의해 구현된(예를 들면, 실행된/수행된) 적절한 소프트웨어는 컴퓨터 시스템(1200)을 외부 네트워크에 연결하고 표준 프로토콜들에 따라 데이터를 전달하기 위해 사용될 수 있다. 예를 들면, 여기에 개시된 다양한 프로세스 실시예들은 프로세서(1202)상에서 실행될 수 있거나, 처리의 일부를 공유하는 원격 프로세서와 함께 인터넷, 인트라넷 네트워크들, 또는 근거리 네트워크들과 같은 네트워크를 거쳐 수행될 수 있다. 추가의 대용량 저장 디바이스들(도시되지 않음)은 또한 네트워크 인터페이스(1216)를 통해 프로세서(1202)에 연결될 수 있다.
보조 I/O 디바이스 인터페이스(도시되지 않음)는 컴퓨터 시스템(1200)과 함께 사용될 수 있다. 보조 I/O 디바이스 인터페이스는 프로세서(1202)가 마이크로폰들, 터치 감응형 디스플레이들, 트랜스듀서 카드 판독기들, 테이프 판독기들, 음성 또는 필기 인식기들, 생체 측정 판독기들, 카메라들, 이동식 대용량 저장 디바이스들, 및 다른 컴퓨터들과 같은 다른 디바이스들로부터 데이터를 전송 및 더 일반적으로 수신하게 하는 범용 및 맞춤식 인터페이스들을 포함할 수 있다.
도 12에 도시된 컴퓨터 시스템은 여기에 개시된 다양한 시스템들과 함께 사용에 적합한 컴퓨터 시스템의 일 예이다. 이러한 사용에 적합한 다른 컴퓨터 시스템들은 추가의 또는 더 적은 서브시스템들을 포함할 수 있다. 또한, 버스(1214)는 서브시스템들에 링크하기 위해 서빙하는 임의의 상호 접속 방식의 예이다. 서브시스템들의 상이한 구성들을 갖는 다른 컴퓨터 아키텍처들이 또한 이용될 수 있다.
여러 실시예들에 개시되는 디바이스들 및 방법들이 다른 방식들로 실현될 수 있다는 것이 이해되어야 한다. 예를 들면, 상기에 설명된 디바이스 실시예들은 단순히 예시적이다. 예를 들면, 유닛들의 도시는 단순히 로컬 기능에 따른 도시이다. 상기 도시는 실제 구현 동안 상이한 형태를 취할 수 있다.
개별적인 구성 요소들로서 설명된 모듈들은 물리적으로 별개일 수 있거나 또는 그렇지 않을 수 있고, 모듈들로서 디스플레이된 구성 요소들은 물리적 모듈들일 수 있거나 그렇지 않을 수 있다. 그들은 하나의 장소에 위치될 수 있거나, 그들은 다수의 네트워크 모듈들을 거쳐 분배될 수 있다. 본 실시예들의 실시예 방식들은 실제 필요에 따라 모듈들 중 일부 또는 모두를 선택함으로서 실현될 수 있다.
또한, 본 발명의 다양한 실시예들에서 기능 모듈들은 하나의 프로세서로 통합될 수 있거나, 각각의 모듈은 독립적인 물리적 존재를 가질 수 있거나, 두 개 이상의 모듈들이 단일 모듈로 통합될 수 있다. 상술한 집적 모듈들은 하드웨어의 형태를 취할 수 있거나, 그들은 소프트웨어 기능 모듈들과 조합된 하드웨어의 형태를 취할 수 있다.
소프트웨어 기능 모듈들이 통합되는 상기에 설명된 모듈들은 컴퓨터 판독 가능한 저장 매체에 저장될 수 있다. 상기에 설명된 소프트웨어 기능 모듈들은 저장 매체에 저장되고, 컴퓨터 장비(개인용 컴퓨터, 서버, 또는 네트워크 컴퓨터일 수 있는) 또는 프로세서가 본 발명의 다양한 실시예들에서 설명된 방법의 단계들 중 일부를 실행하게 하는 다수의 명령들을 포함한다. 상기에 설명된 저장 매체는: USB 플래시 드라이브, 모바일 하드 드라이브, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크, 또는 광 디스크, 또는 프로그램 코드를 저장할 수 있는 다양한 다른 매체들을 포함한다.
본 출원에서 제안된 수 개의 실시예들에서, 개시된 단말이 다른 방법들에 의해 실현될 수 있다는 것이 이해되어야 한다. 상기에 설명된 디바이스 실시예들은 단순히 예시적이다; 예를 들면, 상기 유닛들 또는 모듈들의 분할은 단순히 그의 하나의 논리 함수 분할이고, 그들은 실제 구현에서 다른 방식으로 분할될 수 있다. 예를 들면, 다수의 유닛들 또는 모듈들이 조합될 수 있거나, 그들은 다른 시스템으로 통합될 수 있거나, 또는 일부 특징들은 생략되거나 실행되지 않을 수 있다. 또한, 디스플레이되거나 논의되는 개재된 결합들 또는 직접 결합들 또는 통신 접속들이 일부 인터페이스들, 유닛들, 또는 모듈들을 통과하는 간접 결합들 또는 통신 링크들일 수 있다. 그들은 전기일 수 있거나 또는 다른 형태일 수 있다.
상기에 개별적인 구성 요소들로서 설명된 유닛들 또는 모듈들은 물리적으로 개별적일 수 있거나 그렇지 않을 수 있고, 유닛들 또는 모듈들로서 도시된 구성 요소들은 물리적 유닛들 또는 물리적 모듈들일 수 있거나 그렇지 않을 수 있고; 그들은 한 장소에 위치될 수 있거나, 그들은 다수의 네트워크 유닛들에 거쳐 분배될 수 있다. 본 실시예들의 실시예 방식들의 목적들은 실제 필요에 따라 유닛들 또는 모듈들의 일부 또는 모두를 선택함으로써 실현될 수 있다.
또한, 본 발명의 다양한 실시예들에서 기능적인 유닛들 또는 모듈들은 하나의 처리 유닛 또는 모듈로 통합될 수 있거나, 각각의 유닛 또는 모듈은 독립적인 물리적 존재를 가질 수 있거나, 두 개 이상의 유닛들 또는 모듈들은 단일 유닛 또는 모듈로 통합될 수 있다. 전술한 집적 유닛들 또는 모듈들은 또한 하드웨어의 형태를 취할 수 있고, 그들은 소프트웨어 기능 유닛들 또는 모듈들의 형태를 취할 수 있다.
상술한 집적 유닛들 또는 모듈들이 소프트웨어 기능 유닛들 또는 모듈들의 형태로 실현되고 독립적인 제품들로서 판매 또는 사용되는 경우, 그들은 컴퓨터 판독 가능한 저장 매체상에 저장될 수 있다. 이러한 이해에 기초하여, 본 발명의 기술적 방식의 필요 또는 종래 기술에 기여하는 부분, 또는 본 기술 방식의 전부 또는 일부는 소프트웨어 제품의 형태로 명시될 수 있다; 이러한 컴퓨터 소프트웨어 제품은 저장 매체상에 저장되고, 단말 장비(개인용 컴퓨터, 서버, 네트워크 장비 등일 수 있는)의 하나의 세트가 본 발명의 실시예들의 각각에서 전술한 방법들의 단계들 모두 또는 일부를 실행하게 하기 위해 다수의 명령들을 포함한다. 상기 설명된 저장 매체는 U 디스크들, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 이동식 하드 드라이브들, 자기 디스크들 또는 광 디스크들, 또는 프로그램 코드를 저장할 수 있는 다양한 다른 매체들을 포함한다.
상기 설명은 단지 본 발명의 바람직한 구현이다. 당업자들에 대해, 개선들 및 미장들은 또한 본 발명의 원리들로부터 벗어나지 않고 행해질 수 있고, 이러한 개선들 및 미장들은 또한 본 발명의 보호의 범위 내에 있는 것으로 생각되어야 한다는 것이 주의되어야 한다.
전술한 실시예들은 이해의 명확성을 위해 일부 상세들에서 설명되었지만, 본 발명은 제공된 상세들로 제한되지 않는다. 본 발명을 구현하는 많은 대안적인 방식들이 존재한다. 개시된 실시예들은 예시적이고 제한적이 아니다.

Claims (21)

  1. 방법에 있어서,
    단말에 의해, 상기 단말을 고유하게 식별하는 장비 코드를 획득하는 단계;
    상기 단말에 의해, 상기 장비 코드에 적어도 부분적으로 기초하여 시드 키(seed key)를 생성하는 단계로서, 상기 시드 키를 생성하는 단계는 적어도 상기 장비 코드에 해시 함수를 수행하는 단계를 포함하고, 상기 시드 키는 적어도 상기 장비 코드에 대해 수행된 상기 해시 함수에 적어도 부분적으로 기초하여 획득된 해시 값을 포함하는, 상기 시드 키를 생성하는 단계;
    상기 단말에 의해, 상기 시드 키 및 카운터의 출력값에 적어도 부분적으로 기초하여 동적 패스워드를 생성하는 단계로서, 상기 동적 패스워드는 서버에 의해 상기 단말의 인증의 기준(basis)인, 상기 동적 패스워드를 생성하는 단계; 및
    상기 단말에 의해, 상기 동적 패스워드를 상기 서버에 전송하는 단계로서, 상기 서버는 상기 동적 패스워드를 인증하는, 상기 동적 패스워드를 전송하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 장비 코드를 획득하는 단계는:
    상기 단말에 의해, 상기 단말의 하나 이상의 특징 파라미터들에 적어도 부분적으로 기초하여 상기 장비 코드를 생성하는 단계를 포함하는, 방법.
  3. 제 2 항에 있어서,
    상기 하나 이상의 특징 파라미터들은: 상기 단말의 브랜드, 상기 단말의 모델 번호, 상기 단말의 일련 번호, 상기 단말의 국제 모바일 장비 아이덴티티(IMEI), 상기 단말의 국제 모바일 가입자 아이덴티티(IMSI), 상기 단말의 미디어 액세스 제어(MAC) 어드레스, 및/또는 상기 단말상에 로딩된 운영 체계의 운영 체계 식별자(ID) 중 하나 이상을 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 시드 키를 생성하는 단계는:
    키 생성 프로세스에 따라 대칭 키를 생성하는 단계로서, 상기 대칭 키는 상기 장비 코드, 상기 서버에 의해 상기 단말에 할당된 세션 식별자(ID), 및 상기 서버에 의해 상기 단말에 할당된 사용자 ID(UID)에 적어도 부분적으로 기초하여 생성되는, 상기 대칭 키를 생성하는 단계를 포함하고,
    상기 동적 패스워드를 생성하는 단계는:
    패스워드 생성 프로세스에 따라 상기 대칭 키 및 상기 카운터의 상기 출력값에 적어도 부분적으로 기초하여 상기 동적 패스워드를 생성하는 단계를 포함하는, 방법
  5. 제 1 항에 있어서,
    상기 시드 키를 생성하는 단계는:
    키 생성 프로세스에 따라 대칭 키를 생성하는 단계로서, 상기 대칭 키는 상기 장비 코드, 상기 서버에 의해 상기 단말에 할당된 세션 식별자(ID), 및 상기 서버에 의해 상기 단말에 할당된 사용자 ID(UID)에 적어도 부분적으로 기초하여 생성되고, 상기 키 생성 프로세스는: 상기 장비 코드, 상기 세션 ID, 및 상기 UID를 조합하는 것을 포함하는, 상기 대칭 키를 생성하는 단계를 포함하고,
    상기 동적 패스워드를 생성하는 단계는:
    패스워드 생성 프로세스에 따라 상기 대칭 키 및 상기 카운터의 상기 출력값에 적어도 부분적으로 기초하여 상기 동적 패스워드를 생성하는 단계를 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 시드 키를 생성하는 단계는:
    키 생성 프로세스에 따라 대칭 키를 생성하는 단계로서, 상기 대칭 키는 상기 장비 코드, 상기 서버에 의해 상기 단말에 할당된 세션 식별자(ID), 및 상기 서버에 의해 상기 단말에 할당된 사용자 ID(UID)에 적어도 부분적으로 기초하여 생성되는, 상기 대칭 키를 생성하는 단계를 포함하고,
    상기 동적 패스워드를 생성하는 단계는:
    패스워드 생성 프로세스에 따라 상기 대칭 키 및 상기 카운터의 상기 출력값에 적어도 부분적으로 기초하여 상기 동적 패스워드를 생성하는 단계로서, 상기 패스워드 생성 프로세스는: 상기 동적 패스워드를 HMAC_SHA1(K, C)로 설정하는 단계로서, HMAC_SHA1()는 상기 대칭 키에 관련된 해시 함수이고, K는 상기 대칭 키를 나타내고, C는 상기 출력값을 나타내는, 상기 동적 패스워드를 생성하는 단계를 포함하는, 방법.
  7. 제 1 항에 있어서,
    상기 단말에 의해, 상기 서버에 등록 요청을 송신하는 단계로서, 상기 등록 요청은 상기 서버에 의해 전송된 검증 코드, 상기 장비 코드 및 상기 단말과 연관된 통신 코드를 포함하고, 상기 등록 요청은 인증 요청 전에 수신되고, 상기 단말은 상기 등록 요청에 적어도 부분적으로 응답하여 상기 동적 패스워드를 상기 서버에 전송하는, 상기 등록 요청을 송신하는 단계;
    상기 등록 요청이 검증을 통과한 후,
    상기 서버에 의해 상기 단말에 할당된 세션 식별자(ID), 및 상기 서버에 의해 상기 단말에 할당된 사용자 ID(UID)를 상기 단말에 의해 수신하는 단계로서, 상기 동적 패스워드는 상기 세션 ID 및 상기 UID에 적어도 부분적으로 기초하여 생성되는, 상기 세션 식별자(ID) 및 상기 사용자 ID(UID)를 수신하는 단계; 및
    상기 단말의 인증과 관련하여 상기 서버와 통신 링크를 유지하는 단계를 더 포함하는, 방법.
  8. 제 1 항에 있어서,
    상기 단말에 의해, 상기 서버로부터 인증 요청을 수신하는 단계로서, 상기 단말은 상기 동적 패스워드를 생성하기 전에 상기 인증 요청을 수신하고, 상기 단말은 상기 인증 요청이 검증을 통과했다는 결정에 응답하여 상기 동적 패스워드를 생성하는, 상기 인증 요청을 수신하는 단계를 더 포함하는, 방법.
  9. 제 1 항에 있어서,
    상기 카운터의 상기 출력값은 상기 단말의 시간에 대응하는, 방법.
  10. 방법에 있어서,
    서버에 의해, 단말로부터 제 1 동적 패스워드를 수신하는 단계로서, 상기 제 1 동적 패스워드는 상기 단말의 카운터의 출력값, 및 상기 단말을 고유하게 식별하는 장비 코드에 적어도 부분적으로 기초하여 생성된 시드 키에 적어도 부분적으로 기초하여 상기 단말에 의해 생성된 패스워드에 대응하고, 상기 시드 키는 적어도 상기 장비 코드에 수행되는 해시 함수에 적어도 부분적으로 기초하여 생성되고, 상기 시드 키는 적어도 상기 장비 코드에 대해 수행된 해시 함수에 적어도 부분적으로 기초하여 획득된 해시 값을 포함하는, 상기 제 1 동적 패스워드를 수신하는 단계;
    상기 서버에 의해, 검색된 장비 코드에 적어도 부분적으로 기초하여 제 2 동적 패스워드를 생성하는 단계;
    상기 제 1 동적 패스워드가 상기 제 2 동적 패스워드와 일치하는지의 여부를 결정하는 단계; 및
    상기 서버에 의해, 상기 제 1 동적 패스워드 및 상기 제 2 동적 패스워드가 일치하는지의 여부에 적어도 부분적으로 기초하여 상기 단말의 인증을 수행하는 단계를 포함하는, 방법.
  11. 제 10 항에 있어서,
    상기 서버에 의해, 검증 요청을 상기 단말로 송신하는 단계로서, 상기 서버가 상기 제 2 동적 패스워드를 생성하기 전에 상기 서버가 상기 검증 요청을 상기 단말로 송신하는, 상기 검증 요청을 송신하는 단계; 및
    검증 코드 및 상기 검증 요청에 적어도 부분적으로 기초하여 상기 단말에 의해 송신된 상기 장비 코드를 상기 서버에 의해 수신하는 단계를 더 포함하는, 방법.
  12. 제 10 항에 있어서,
    상기 장비 코드는 사전 설정 알고리즘(preset algorithm)에 따라 상기 단말의 하나 이상의 특징 파라미터들에 적어도 부분적으로 기초하여 결정되는, 방법.
  13. 제 12 항에 있어서,
    상기 하나 이상의 특징 파라미터들은 상기 단말의 브랜드, 상기 단말의 모델 번호, 상기 단말의 일련 번호, 상기 단말의 국제 모바일 장비 아이덴티티(IMEI), 상기 단말의 국제 모바일 가입자 아이덴티티(IMSI), 상기 단말의 미디어 액세스 제어(MAC) 어드레스, 및 상기 단말상에 로딩된 운영 체계의 운영 체계 식별자(ID) 중 하나 이상을 포함하는, 방법.
  14. 제 10 항에 있어서,
    상기 시드 키를 생성하는 단계 또는 상기 제 2 동적 패스워드를 생성하는 단계는:
    키 생성 프로세스에 따라, 상기 장비 코드, 상기 서버에 의해 상기 단말에 할당된 세션 식별자(ID), 및 상기 서버에 의해 상기 단말에 할당된 사용자 ID(UID)에 적어도 부분적으로 기초하여 대칭 키를 생성하는 단계를 포함하고,
    상기 제 1 동적 패스워드를 생성하는 단계 또는 상기 제 2 동적 패스워드를 생성하는 단계는:
    패스워드 생성 프로세스에 따라, 상기 대칭 키 및 상기 출력값에 적어도 부분적으로 기초하여 상기 제 1 동적 패스워드 및 상기 제 2 동적 패스워드 중 적어도 하나를 생성하는 단계를 포함하는, 방법.
  15. 디바이스에 있어서,
    하나 이상의 프로세서들로서:
    상기 디바이스를 고유하게 식별하는 장비 코드를 획득하고;
    상기 장비 코드에 적어도 부분적으로 기초하여 시드 키를 생성하고, 상기 시드 키를 생성하는 것은 적어도 상기 장비 코드에 해시 함수를 수행하는 것을 포함하고, 상기 시드 키는 적어도 상기 장비 코드에 대해 수행된 상기 해시 함수에 적어도 부분적으로 기초하여 획득된 해시 값을 포함하고;
    상기 시드 키 및 카운터의 출력값에 적어도 부분적으로 기초하여 동적 패스워드를 생성하고, 상기 동적 패스워드는 서버에 의해 상기 디바이스의 인증의 기준이고;
    상기 동적 패스워드를 상기 서버에 전송하고, 상기 서버는 상기 동적 패스워드를 인증하도록 구성되는, 상기 하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 결합되고 상기 하나 이상의 프로세서들에 명령들을 제공하도록 구성된 메모리를 포함하는, 디바이스.
  16. 제 15 항에 있어서,
    상기 하나 이상의 프로세서들은 또한 상기 디바이스의 하나 이상의 특징 파라미터들에 적어도 부분적으로 기초하여 상기 장비 코드를 생성하도록 구성되는, 디바이스.
  17. 디바이스에 있어서,
    하나 이상의 프로세서들로서:
    단말로부터 제 1 동적 패스워드를 수신하고, 상기 제 1 동적 패스워드는 상기 단말의 카운터의 출력값, 및 상기 단말을 고유하게 식별하는 장비 코드에 적어도 부분적으로 기초하여 생성된 시드 키에 적어도 부분적으로 기초하여 상기 단말에 의해 생성된 패스워드에 대응하고, 상기 시드 키는 적어도 상기 장비 코드에 수행되는 해시 함수에 적어도 부분적으로 기초하여 생성되고, 상기 시드 키는 적어도 상기 장비 코드에 대해 수행된 해시 함수에 적어도 부분적으로 기초하여 획득된 해시 값을 포함하고;
    검색된 장비 코드에 적어도 부분적으로 기초하여 제 2 동적 패스워드를 생성하고;
    상기 제 1 동적 패스워드가 상기 제 2 동적 패스워드에 일치하는지의 여부를 결정하고;
    상기 제 1 동적 패스워드 및 상기 제 2 동적 패스워드가 일치하는지의 여부에 적어도 부분적으로 기초하여 상기 단말의 인증을 수행하도록 구성되는, 상기 하나 이상의 프로세서들; 및
    상기 하나 이상의 프로세서들에 결합되고 상기 하나 이상의 프로세서들에 명령들을 제공하도록 구성된 메모리를 포함하는, 디바이스.
  18. 제 17 항에 있어서,
    상기 장비 코드는 상기 단말의 하나 이상의 특징 파라미터들에 적어도 부분적으로 기초하여 생성되는, 디바이스.
  19. 컴퓨터 명령들을 포함하는 컴퓨터 프로그램이 저장된 비-일시적 컴퓨터 판독가능 저장 매체에 있어서,
    상기 컴퓨터 명령들은:
    단말을 고유하게 식별하는 장비 코드를 획득하고;
    상기 장비 코드에 적어도 부분적으로 기초하여 시드 키를 생성하고, 상기 시드 키를 생성하는 것은 적어도 상기 장비 코드에 해시 함수를 수행하는 것을 포함하고, 상기 시드 키는 적어도 상기 장비 코드에 대해 수행된 상기 해시 함수에 적어도 부분적으로 기초하여 획득된 해시 값을 포함하고;
    상기 시드 키 및 카운터의 출력값에 적어도 부분적으로 기초하여 동적 패스워드를 생성하고, 상기 동적 패스워드는 서버에 의한 상기 단말의 인증을 위한 기준이고;
    상기 동적 패스워드를 상기 서버로 전송하고, 상기 서버는 상기 동적 패스워드를 인증하기 위한 것인, 비-일시적 컴퓨터 판독가능 저장 매체.
  20. 컴퓨터 명령들을 포함하는 컴퓨터 프로그램이 저장된 비-일시적 컴퓨터 판독가능 저장 매체에 있어서,
    상기 컴퓨터 명령들은:
    단말로부터 제 1 동적 패스워드를 서버에 의해 수신하고, 상기 제 1 동적 패스워드는 상기 단말의 카운터의 출력값, 및 상기 단말을 고유하게 식별하는 장비 코드에 적어도 부분적으로 기초하여 생성된 시드 키에 적어도 부분적으로 기초하여 상기 단말에 의해 생성된 패스워드에 대응하고, 상기 시드 키는 적어도 상기 장비 코드에 수행되는 해시 함수에 적어도 부분적으로 기초하여 생성되고, 상기 시드 키는 적어도 상기 장비 코드에 대해 수행된 해시 함수에 적어도 부분적으로 기초하여 획득된 해시 값을 포함하고;
    검색된 장비 코드에 적어도 부분적으로 기초하여 상기 서버에 의해 제 2 동적 패스워드를 생성하고;
    상기 제 1 동적 패스워드가 상기 제 2 동적 패스워드에 일치하는지의 여부를 결정하고;
    상기 제 1 동적 패스워드 및 상기 제 2 동적 패스워드가 일치하는지의 여부에 적어도 부분적으로 기초하여 상기 단말의 인증을 상기 서버에 의해 수행하기 위한 것인, 비-일시적 컴퓨터 판독가능 저장 매체.
  21. 제 1 항에 있어서,
    상기 장비 코드는 상기 단말의 하나 이상의 특징 파라미터들에 적어도 부분적으로 기초하는, 방법.
KR1020177036868A 2015-07-08 2016-07-05 동적 패스워드들을 사용하는 인증을 위한 방법 및 디바이스 KR102039316B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201510397391.X 2015-07-08
CN201510397391.XA CN106341372A (zh) 2015-07-08 2015-07-08 终端的认证处理、认证方法及装置、系统
US15/201,084 US10523664B2 (en) 2015-07-08 2016-07-01 Method and device for authentication using dynamic passwords
US15/201,084 2016-07-01
PCT/US2016/040997 WO2017007767A1 (en) 2015-07-08 2016-07-05 Method and device for authentication using dynamic passwords

Publications (2)

Publication Number Publication Date
KR20180011226A KR20180011226A (ko) 2018-01-31
KR102039316B1 true KR102039316B1 (ko) 2019-11-01

Family

ID=57731500

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177036868A KR102039316B1 (ko) 2015-07-08 2016-07-05 동적 패스워드들을 사용하는 인증을 위한 방법 및 디바이스

Country Status (6)

Country Link
US (1) US10523664B2 (ko)
EP (1) EP3320523B1 (ko)
JP (1) JP2018528504A (ko)
KR (1) KR102039316B1 (ko)
CN (1) CN106341372A (ko)
TW (1) TWI705349B (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10333923B2 (en) 2012-08-19 2019-06-25 Rajul Johri Authentication based on visual memory
US9769157B2 (en) * 2015-09-21 2017-09-19 American Express Travel Related Services Company, Inc. Systems and methods for secure one-time password validation
SE540668C2 (en) * 2016-08-30 2018-10-09 No Common Payment Ab Generation and verification of a temporary card security code for use in card based transactions
US20180145957A1 (en) * 2016-11-22 2018-05-24 Ca, Inc. User-defined dynamic password
US10333913B2 (en) * 2017-05-15 2019-06-25 International Business Machines Corporation Dynamic object passwords
CN107360132B (zh) * 2017-06-02 2021-03-09 台州市吉吉知识产权运营有限公司 一种防止会话重演的方法及系统
US10681037B2 (en) * 2017-06-29 2020-06-09 Amadeus S.A.S. Terminal authentication
CN109286932B (zh) * 2017-07-20 2021-10-19 阿里巴巴集团控股有限公司 入网认证方法、装置及系统
US11240240B1 (en) 2017-08-09 2022-02-01 Sailpoint Technologies, Inc. Identity defined secure connect
US11303633B1 (en) 2017-08-09 2022-04-12 Sailpoint Technologies, Inc. Identity security gateway agent
CN108023873B (zh) * 2017-11-08 2020-12-11 深圳市文鼎创数据科技有限公司 信道建立方法及终端设备
CN107888383B (zh) * 2017-11-27 2020-10-09 新华三技术有限公司 登录认证方法及装置
CN108024249B (zh) * 2017-11-30 2021-08-06 郑州云海信息技术有限公司 一种防止wifi暴力破解的方法及系统
CN109962878B (zh) * 2017-12-14 2021-04-16 大唐移动通信设备有限公司 一种ims用户的注册方法及装置
US11463426B1 (en) * 2018-01-25 2022-10-04 Sailpoint Technologies, Inc. Vaultless authentication
CN108306883A (zh) * 2018-01-31 2018-07-20 苏州锦佰安信息技术有限公司 一种身份验证方法和装置
CN107995229A (zh) * 2018-01-31 2018-05-04 苏州锦佰安信息技术有限公司 一种身份验证方法和装置
RU2697953C2 (ru) 2018-02-06 2019-08-21 Акционерное общество "Лаборатория Касперского" Система и способ вынесения решения о компрометации данных
TWI753102B (zh) * 2018-02-09 2022-01-21 劉根田 實名認證服務系統及實名認證服務方法
CN108446400A (zh) * 2018-03-29 2018-08-24 京东方科技集团股份有限公司 增强现实装置、服务器、增强现实系统和共享方法
CN109684799B (zh) * 2018-08-21 2023-12-26 Tcl金融科技(深圳)有限公司 账户登录方法、登录装置、账户登录设备及存储介质
CN110932858B (zh) * 2018-09-19 2023-05-02 阿里巴巴集团控股有限公司 认证方法和系统
CN109510702B (zh) * 2018-10-27 2023-05-16 福建福诺移动通信技术有限公司 一种基于计算机特征码的密钥存储及使用的方法
CN109547217B (zh) * 2019-01-11 2021-10-22 北京中实信达科技有限公司 基于动态口令的一对多身份认证系统和方法
CN110048834A (zh) * 2019-03-12 2019-07-23 深圳壹账通智能科技有限公司 动态密码发送方法、装置及计算机可读存储介质
CN109920114B (zh) * 2019-03-13 2021-08-03 深圳市利成兴科技有限公司 一种基于地理位置的门锁控制方法及系统
CN111723362B (zh) * 2019-03-22 2023-09-08 倪晓 一种权限密码生成方法、系统、装置及终端设备
CN110099065A (zh) 2019-05-10 2019-08-06 北京百度网讯科技有限公司 物联网设备及认证方法、云服务器、处理设备、可读介质
US10541995B1 (en) * 2019-07-23 2020-01-21 Capital One Services, Llc First factor contactless card authentication system and method
CN110659522B (zh) * 2019-09-04 2020-11-10 广西电网有限责任公司防城港供电局 存储介质安全认证方法、装置、计算机设备和存储介质
SE545872C2 (en) 2019-09-27 2024-02-27 No Common Payment Ab Generation and verification of a temporary authentication value for use in a secure transmission
CN114503147A (zh) * 2019-09-30 2022-05-13 积水医疗株式会社 正品自动认证方法
CN111432405A (zh) * 2020-03-31 2020-07-17 中电四川数据服务有限公司 一种用于电子病历的授权认证方法及系统
CN111953481A (zh) * 2020-07-28 2020-11-17 麒麟软件有限公司 一种基于pam的动态密码认证方法
US10965665B1 (en) 2020-09-16 2021-03-30 Sailpoint Technologies, Inc Passwordless privilege access
CN112217632B (zh) * 2020-10-12 2023-09-08 国网数字科技控股有限公司 一种基于智能合约和哈希链的身份认证方法及装置
CN113256910A (zh) * 2020-12-31 2021-08-13 深圳怡化电脑股份有限公司 金融自助终端的验证方法、装置、计算机设备及存储介质
US20220343004A1 (en) * 2021-04-27 2022-10-27 Spotify Ab Access control for on-device machine learning models
CN113507368A (zh) * 2021-06-17 2021-10-15 北京惠而特科技有限公司 基于动态口令的工业控制设备身份认证方法及装置
US11570180B1 (en) * 2021-12-23 2023-01-31 Eque Corporation Systems configured for validation with a dynamic cryptographic code and methods thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070186115A1 (en) * 2005-10-20 2007-08-09 Beijing Watch Data System Co., Ltd. Dynamic Password Authentication System and Method thereof
US20090045253A1 (en) * 2006-03-10 2009-02-19 Min Gyu Han System and method for providing virtual discernment information
US20090313687A1 (en) * 2004-10-15 2009-12-17 Nicolas Popp One time password
US20120142329A1 (en) * 2004-07-07 2012-06-07 Cardina Donald M System and Method for IMEI Detection and Alerting

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067320A (ja) 1999-08-25 2001-03-16 Railway Technical Res Inst 情報提供支援方法及びその手順を記録した記録媒体
CN1142653C (zh) 2000-04-28 2004-03-17 杨宏伟 动态口令认证系统及方法
US6591098B1 (en) 2000-11-07 2003-07-08 At&T Wireless Services, Inc. System and method for using a temporary electronic serial number for over-the-air activation of a mobile device
JP2002297547A (ja) 2001-04-03 2002-10-11 Sony Corp 情報処理装置および方法、情報処理システム、記録媒体、並びにプログラム
WO2003069489A1 (fr) 2002-02-14 2003-08-21 Tanaka, Yoshiki Procede d'authentification
WO2003077572A1 (en) * 2002-03-13 2003-09-18 Adjungo Networks Ltd. Accessing cellular networks from non-native local networks
US20030204732A1 (en) 2002-04-30 2003-10-30 Yves Audebert System and method for storage and retrieval of a cryptographic secret from a plurality of network enabled clients
US7502933B2 (en) 2002-11-27 2009-03-10 Rsa Security Inc. Identity authentication system and method
US20040181696A1 (en) 2003-03-11 2004-09-16 Walker William T. Temporary password login
CN100505927C (zh) * 2004-10-22 2009-06-24 北京握奇数据系统有限公司 动态口令认证方法
WO2006119184A2 (en) * 2005-05-04 2006-11-09 Tricipher, Inc. Protecting one-time-passwords against man-in-the-middle attacks
US20070260556A1 (en) * 2005-06-06 2007-11-08 Michael Pousti System and method for verification of identity for transactions
US7757275B2 (en) * 2005-06-15 2010-07-13 Microsoft Corporation One time password integration with Kerberos
CN101495956B (zh) 2005-08-11 2012-03-07 晟碟以色列有限公司 扩展一次性密码方法和装置
US20070165582A1 (en) * 2006-01-18 2007-07-19 Puneet Batta System and method for authenticating a wireless computing device
DK3457307T3 (da) * 2006-04-24 2019-09-23 Yubico Ab Anordning til identificering og autentificering
US9002018B2 (en) 2006-05-09 2015-04-07 Sync Up Technologies Corporation Encryption key exchange system and method
US8117458B2 (en) 2006-05-24 2012-02-14 Vidoop Llc Methods and systems for graphical image authentication
ATE552685T1 (de) * 2006-11-15 2012-04-15 Research In Motion Ltd Sicheres, auf kundenberechtigungsnachweis basierendes sitzungsauthentifizierungsverfahren und vorrichtung
SG170074A1 (en) * 2007-10-22 2011-04-29 Microlatch Pty Ltd A transmitter for transmitting a secure access signal
US8756661B2 (en) 2009-08-24 2014-06-17 Ufp Identity, Inc. Dynamic user authentication for access to online services
WO2011032263A1 (en) 2009-09-17 2011-03-24 Meir Weis Mobile payment system with two-point authentication
US8549594B2 (en) 2009-09-18 2013-10-01 Chung-Yu Lin Method of identity authentication and fraudulent phone call verification that utilizes an identification code of a communication device and a dynamic password
CN101778381B (zh) 2009-12-31 2012-07-04 卓望数码技术(深圳)有限公司 数字证书生成方法、用户密钥获取方法、移动终端及设备
KR101198120B1 (ko) * 2010-05-28 2012-11-12 남궁종 홍채정보를 이용한 양방향 상호 인증 전자금융거래시스템과 이에 따른 운영방법
US8312519B1 (en) * 2010-09-30 2012-11-13 Daniel V Bailey Agile OTP generation
US20140156531A1 (en) * 2010-12-14 2014-06-05 Salt Technology Inc. System and Method for Authenticating Transactions Through a Mobile Device
US8838973B1 (en) * 2011-02-28 2014-09-16 Google Inc. User authentication method
TWI465094B (zh) 2011-04-26 2014-12-11 Telepaq Technology Inc User identification methods and systems for Internet transactions
JP6248329B2 (ja) * 2011-12-27 2017-12-20 インテル・コーポレーション デバイス固有のワンタイムパスワードによるネットワークからの認証
US9292670B2 (en) 2012-02-29 2016-03-22 Infosys Limited Systems and methods for generating and authenticating one time dynamic password based on context information
CN102684878A (zh) * 2012-04-05 2012-09-19 苏州佳世达电通有限公司 一种基于imei和定位技术的认证系统及方法
TW201349824A (zh) * 2012-05-17 2013-12-01 Gamania Digital Entertainment Co Ltd 使用裝置識別碼的身份驗證方法及其系統
US9654466B1 (en) * 2012-05-29 2017-05-16 Citigroup Technology, Inc. Methods and systems for electronic transactions using dynamic password authentication
DK2885904T3 (en) * 2012-08-03 2018-08-06 Onespan Int Gmbh PROCEDURE FOR USER-EASY AUTHENTICATION AND DEVICE USING A MOBILE APPLICATION FOR AUTHENTICATION
JP5993285B2 (ja) 2012-11-12 2016-09-14 株式会社三菱東京Ufj銀行 ユーザ認証装置及びユーザ認証プログラム
CN103023876B (zh) * 2012-11-22 2016-05-04 中国科学院声学研究所 一种网络终端及其安全认证、注册激活方法,服务器
CN103888938A (zh) * 2012-12-19 2014-06-25 深圳市华营数字商业有限公司 一种基于参数的动态生成密钥的pki私钥保护方法
GB2510120A (en) 2013-01-24 2014-07-30 Ibm User authentication based on dynamically selected service authentication levels
US9208335B2 (en) * 2013-09-17 2015-12-08 Auburn University Space-time separated and jointly evolving relationship-based network access and data protection system
JP5555799B1 (ja) 2013-10-01 2014-07-23 さくら情報システム株式会社 ワンタイムパスワード装置、方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120142329A1 (en) * 2004-07-07 2012-06-07 Cardina Donald M System and Method for IMEI Detection and Alerting
US20090313687A1 (en) * 2004-10-15 2009-12-17 Nicolas Popp One time password
US20070186115A1 (en) * 2005-10-20 2007-08-09 Beijing Watch Data System Co., Ltd. Dynamic Password Authentication System and Method thereof
US20090045253A1 (en) * 2006-03-10 2009-02-19 Min Gyu Han System and method for providing virtual discernment information

Also Published As

Publication number Publication date
US20170012969A1 (en) 2017-01-12
TWI705349B (zh) 2020-09-21
TW201706900A (zh) 2017-02-16
EP3320523A1 (en) 2018-05-16
CN106341372A (zh) 2017-01-18
EP3320523A4 (en) 2019-02-27
KR20180011226A (ko) 2018-01-31
JP2018528504A (ja) 2018-09-27
EP3320523B1 (en) 2021-09-01
US10523664B2 (en) 2019-12-31

Similar Documents

Publication Publication Date Title
KR102039316B1 (ko) 동적 패스워드들을 사용하는 인증을 위한 방법 및 디바이스
US10897455B2 (en) System and method for identity authentication
US10412061B2 (en) Method and system for encrypted communications
JP7352008B2 (ja) 第1の要素非接触カード認証システムおよび方法
CN107251035B (zh) 账户恢复协议
US20180285555A1 (en) Authentication method, device and system
US9491155B1 (en) Account generation based on external credentials
US8606234B2 (en) Methods and apparatus for provisioning devices with secrets
EP3164793B1 (en) Dual channel identity authentication
US9747434B1 (en) Authenticating with an external device by providing a message having message fields arranged in a particular message field order
WO2020041747A1 (en) Methods, apparatuses, and computer program products for frictionless electronic signature management
US9374360B2 (en) System and method for single-sign-on in virtual desktop infrastructure environment
GB2579990A (en) Automatic upgrade from one step authentication to two step authentication via application programming interface
KR20160123069A (ko) 단말의 통합 인증 방법 및 그 장치
US20150244695A1 (en) Network authentication method for secure user identity verification
WO2017007767A1 (en) Method and device for authentication using dynamic passwords
US20220377064A1 (en) Method and system for managing a web security protocol
CN111901303A (zh) 设备认证方法和装置、存储介质及电子装置
US9917694B1 (en) Key provisioning method and apparatus for authentication tokens
EP3304390B1 (en) Automatic provisioning of a device to access an account
KR101651607B1 (ko) 익명 아이디를 사용하는 원클릭 사용자 인증 방법 및 시스템
TWI656781B (zh) 離線狀態避免二次驗證的系統及其方法
AU2014101079A4 (en) Secure communication method
KR101576038B1 (ko) 사용자 신원 인증을 안전하게 보장하기 위한 네트워크 인증 방법
CN116089927A (zh) 一种密码保护方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant