KR101501508B1 - 데이터 암호화를 통한 인증방법 및 시스템 - Google Patents

데이터 암호화를 통한 인증방법 및 시스템 Download PDF

Info

Publication number
KR101501508B1
KR101501508B1 KR20130111458A KR20130111458A KR101501508B1 KR 101501508 B1 KR101501508 B1 KR 101501508B1 KR 20130111458 A KR20130111458 A KR 20130111458A KR 20130111458 A KR20130111458 A KR 20130111458A KR 101501508 B1 KR101501508 B1 KR 101501508B1
Authority
KR
South Korea
Prior art keywords
carry
data
bit
password
point
Prior art date
Application number
KR20130111458A
Other languages
English (en)
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 KR20130111458A priority Critical patent/KR101501508B1/ko
Application granted granted Critical
Publication of KR101501508B1 publication Critical patent/KR101501508B1/ko

Links

Images

Classifications

    • 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
    • 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

Landscapes

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

Abstract

본 발명은 중앙서버가 더미데이터를 생성하여 사용자 단말로 전송하는 단계; 사용자단말이 사용자로부터 제 1 패스워드를 입력받는 단계; 상기 사용자단말이 상기 제 1 패스워드를 이용하여 상기 더미데이터를 암호화하여 암호화데이터를 생성하는 단계; 상기 사용자단말이 상기 중앙서버에 상기 암호화데이터를 전송하는 단계; 및 상기 중앙서버가 미리 저장된 제 2 패스워드를 이용하여 상기 암호화데이터를 복호화하여 인증을 수행하는 단계를 포함하는 것을 특징으로 하는, 데이터 암호화를 통한 인증방법에 관한 것이다.

Description

데이터 암호화를 통한 인증방법 및 시스템{METHOD AND SYSTEM FOR AUTHENTICATION BY DATA ENCRYPTION}
본 발명은 데이터 암호화를 통한 인증방법 및 시스템에 관한 것으로, 더 구체적으로는 미리 약속된 패스워드를 통하여 더미데이터에 대해 암호화 및 복호화를 수행하여 사용자 인증을 수행할 수 있도록 하는, 데이터 암호화를 통한 인증방법 및 시스템에 관한 것이다.
전자서명이란 자료메시지에 부착되거나 논리적으로 결합된 전자적 형태의 자료로, 서명자의 신원을 확인하고 자료메시지의 내용에 대한 그 사람의 승인을 나타낼 목적으로 사용되는 것이다.
전자서명은 송신자가 작성한 전자문서 자체를 암호화하는 것이 아니므로 제 3자가 문서내용을 열람하는 데에는 아무런 장애가 없다. 다만 그 전자서명에 작성자로 기재된 자가 그 전자문서를 작성하였다는 사실과 작성내용이 송·수신과정에서 위조·변조되지 않았다는 사실을 증명하고, 작성자가 그 전자문서 작성사실을 나중에 부인할 수 없게 하는 역할을 한다.
전자서명의 대표적인 용도는 인터넷뱅킹 등의 금융거래, 인터넷 민원서비스, 인터넷쇼핑 등이 있으며, 앞으로 국제간 전자상거래, 전자투표 등으로 확대될 수 있다. 인터넷뱅킹이나 온라인 주식거래에 필요한 공인인증서는 국가가 지정한 공인인증기관에서 발행하고 공개키를 관리하는 대표적인 전자서명이라고 할 수 있다.
공개키 기반구조(PKI, Public Key Infrastructure)는 암호화와 복호화키로 구성된 공개키를 이용하여 송수신 데이터를 암호화하고, 인터넷 사용자가 보유한 암호를 이용하여 거래자 신원을 확인하는 방식의 사용자 인증 시스템이다. 공개키 알고리즘을 통한 암호화 및 전자서명을 제공하는 복합적인 보안시스템 환경이다. 즉, 암호화와 복호화키로 구성된 공개키를 이용하여 송수신 데이터를 암호화하고 디지털인증서를 통해 사용자를 인증하는 시스템이다.
그런데, 이러한 종래의 공인인증 시스템에서는, 컴퓨터나 사용자 단말에 악성 코드나 바이러스가 깔려 있는 경우 사용자가 입력하는 공인인증서의 암호가 쉽게 해커 등에게 노출될 수 있어 이러한 암호 노출에 의해 금융사고가 발생할 개연성이 높다는 문제점이 있다.
본 발명의 배경기술은 대한민국 공개특허공보 제 2013-0022321호(2013. 3. 6 공개)에 개시되어 있다.
본 발명이 이루고자하는 기술적 과제는, 인증기관과 사용자 간에 약속된 패스워드를 통해 데이터를 암호화 및 복호화함으로써, 보다 안전하고 신뢰성 있고 보완성이 강화된 사용자 인증이 가능하게 하는, 데이터 암호화를 통한 인증방법 및 시스템을 제공하는 데에 있다. 또한, 본 발명은 공인인증기관을 거치지 않고도, 직접 이해 당사자 간에 안전하게 인증을 수행할 수 있도록 하되, 공인인증서가 없더라도 인증이 수행될 수 있도록 하는 것을 목적으로 한다.
본 발명의 일 측면에 따르면, 본 발명은 중앙서버가 더미데이터를 생성하여 사용자 단말로 전송하는 단계; 사용자단말이 사용자로부터 제 1 패스워드를 입력받는 단계; 상기 사용자단말이 상기 제 1 패스워드를 이용하여 상기 더미데이터를 암호화하여 암호화데이터를 생성하는 단계; 상기 사용자단말이 상기 중앙서버에 상기 암호화데이터를 전송하는 단계; 및 상기 중앙서버가 미리 저장된 제 2 패스워드를 이용하여 상기 암호화데이터를 복호화하여 인증을 수행하는 단계를 포함하는 것을 특징으로 하는, 데이터 암호화를 통한 인증방법을 제공한다.
본 발명에서, 상기 암호화데이터를 생성하는 단계는, a) 상기 더미데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 1 캐리포인트를 이동시키면서 캐리업 연산을 수행하는 단계; b) 상기 캐리업 연산이 수행된 데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 상기 제 1 캐리포인트를 이동시키면서 캐리업 연산을 수행하는 단계; 및 c) 상기 제 1 패스워드에 포함된 비트 데이터가 모두 적용될 때까지 상기 단계 b)를 반복수행하는 단계를 포함하되, 상기 캐리업 연산은 상기 제 1 캐리포인트를 기준으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 가산하는 것에 의해 수행되는 것을 특징으로 한다.
본 발명에서, 상기 단계 a) 내지 c)에서, 상기 캐리업 연산 수행시, 상기 제 1 캐리포인트는 각 캐리업 연산의 수행에 의해 값이 변경되는 적어도 하나의 비트에 대해 상위 비트방향으로 바로 다음 비트자리로 이동하는 것을 특징으로 한다.
본 발명에서, 상기 단계 a) 내지 c) 중 각각의 단계에서, 각각의 상기 캐리업 연산의 수행 결과 상기 제 1 캐리포인트를 기준으로 상위 비트 방향으로 하나 이상의 1만 남는 경우, 상기 제 1 패스워드에 포함된 각 비트 데이터를 순차적으로 적용하여 상기 남은 하나 이상의 1에 대한 추가적인 캐리업 연산 수행여부를 결정하는 것을 특징으로 한다.
본 발명에서, 상기 제 1 패스워드 적용시, 상위비트방향 또는 하위비트방향으로 상기 제 1 패스워드의 각 비트 데이터의 값에 근거하여 상기 추가적인 캐리업 연산 수행여부를 결정하는 것을 특징으로 한다.
본 발명에서, 상기 암호화데이터를 복호화하여 인증을 수행하는 단계에서, 상기 중앙서버는 상기 복호화된 데이터를 상기 더미데이터와 비교하는 것에 의해 인증을 수행하는 것을 특징으로 한다.
본 발명에서, 상기 암호화데이터를 복호화하여 인증을 수행하는 단계는, d) 상기 암호화데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 2 캐리포인트를 이동시키면서 캐리다운 연산을 수행하는 단계; e) 상기 캐리다운 연산이 수행된 데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 2 캐리포인트를 이동시키면서 캐리업 연산을 수행하는 단계; 및 f) 상기 제 2 패스워드에 포함된 비트 데이터가 모두 적용될 때까지 또는 상기 더미데이터와 동일한 비트수의 데이터가 생성될 때까지 상기 단계 e)를 반복수행하는 단계를 포함하되, 상기 캐리다운 연산은 상기 제 2 캐리포인트를 기준으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 감산하는 것에 의해 수행되는 것을 특징으로 한다.
본 발명에서, 상기 단계 d) 내지 f)에서, 상기 캐리다운 연산 수행시, 상기 제 2 캐리포인트는 각 캐리다운 연산의 수행에 의해 값이 변경되는 적어도 하나의 비트에 대해 상위 비트방향으로 바로 다음 비트자리로 이동하는 것을 특징으로 한다.
본 발명에서, 상기 단계 d) 내지 f) 중 각각의 단계에서, 각각의 상기 캐리다운 연산의 수행 결과 상기 제 2 캐리포인트를 기준으로 상위 비트 방향으로 최상위비트의 1 및 적어도 하나의 0만으로 구성된 잔여데이터가 남는 경우, 상기 제 2 패스워드에 포함된 각 비트 데이터를 순차적으로 적용하여 상기 잔여데이터에 대한 추가적인 캐리다운 연산 수행여부를 결정하는 것을 특징으로 한다.
본 발명에서, 상기 제 2 패스워드 적용시, 상위비트방향 또는 하위비트방향으로 상기 제 2 패스워드의 각 비트 데이터의 값에 근거하여 상기 추가적인 캐리다운 연산 수행여부를 결정하는 것을 특징으로 한다.
본 발명의 다른 측면에 따르면, 본 발명은 더미데이터를 생성하여 사용자 단말로 전송하는 중앙서버; 및 사용자로부터 입력받은 제 1 패스워드를 이용하여 상기 더미데이터를 암호화하여 암호화데이터를 생성하고, 생성된 상기 암호화데이터를 상기 중앙서버에 전송하는 사용자 단말을 포함하되, 상기 중앙서버는 미리 저장된 제 2 패스워드를 이용하여 상기 암호화데이터를 복호화하여 인증을 수행하는 것을 특징으로 하는, 데이터 암호화를 통한 인증시스템을 제공한다.
본 발명에서, 상기 암호화데이터의 생성시 상기 사용자 단말은, 상기 더미데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 1 캐리포인트를 이동시키면서 캐리업 연산을 수행하고, 상기 캐리업 연산이 수행된 데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 상기 제 1 캐리포인트를 이동시키면서 캐리업 연산을 수행하되, 상기 제 1 패스워드에 포함된 비트 데이터가 모두 적용될 때까지 상기 일련의 연산을 반복수행하며, 상기 캐리업 연산은 상기 제 1 캐리포인트를 기준으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 가산하는 것에 의해 수행되는 것을 특징으로 한다.
본 발명에서, 상기 캐리업 연산 수행시, 상기 제 1 캐리포인트는 각 캐리업 연산의 수행에 의해 값이 변경되는 적어도 하나의 비트에 대해 상위 비트방향으로 바로 다음 비트자리로 이동하는 것을 특징으로 한다.
본 발명에서, 상기 사용자단말은, 각각의 상기 캐리업 연산의 수행 결과 상기 제 1 캐리포인트를 기준으로 상위 비트 방향으로 하나 이상의 1만 남는 경우, 상기 제 1 패스워드에 포함된 각 비트 데이터를 순차적으로 적용하여 상기 남은 하나 이상의 1에 대한 추가적인 캐리업 연산 수행여부를 결정하는 것을 특징으로 한다.
본 발명에서, 상기 사용자단말은, 상기 제 1 패스워드 적용시, 상위비트방향 또는 하위비트방향으로 상기 제 1 패스워드의 각 비트 데이터의 값에 근거하여 상기 추가적인 캐리업 연산 수행여부를 결정하는 것을 특징으로 한다.
본 발명에서, 인증 수행시, 상기 중앙서버는 상기 복호화된 데이터를 상기 더미데이터와 비교하는 것에 의해 인증을 수행하는 것을 특징으로 한다.
본 발명에서, 상기 인증 수행시 상기 중앙서버는, 상기 암호화데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 2 캐리포인트를 이동시키면서 캐리다운 연산을 수행하고, 상기 캐리다운 연산이 수행된 데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 2 캐리포인트를 이동시키면서 캐리다운 연산을 수행하되, 상기 제 2 패스워드에 포함된 비트 데이터가 모두 적용될 때까지 또는 상기 더미데이터와 동일한 비트수의 데이터가 생성될 때까지 상기 일련의 연산을 반복수행하며, 상기 캐리다운 연산은 상기 제 2 캐리포인트를 기준으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 감산하는 것에 의해 수행되는 것을 특징으로 한다.
본 발명에서, 상기 캐리다운 연산 수행시, 상기 제 2 캐리포인트는 각 캐리다운 연산의 수행에 의해 값이 변경되는 적어도 하나의 비트에 대해 상위 비트방향으로 바로 다음 비트자리로 이동하는 것을 특징으로 한다.
본 발명에서, 상기 중앙서버는, 각각의 상기 캐리다운 연산의 수행 결과 상기 제 2 캐리포인트를 기준으로 상위 비트 방향으로 최상위비트의 1 및 적어도 하나의 0만으로 구성된 잔여데이터가 남는 경우, 상기 제 2 패스워드에 포함된 각 비트 데이터를 순차적으로 적용하여 상기 잔여데이터에 대한 추가적인 캐리다운 연산 수행여부를 결정하는 것을 특징으로 한다.
본 발명에서, 상기 중앙서버는, 상기 제 2 패스워드 적용시, 상위비트방향 또는 하위비트방향으로 상기 제 2 패스워드의 각 비트 데이터의 값에 근거하여 상기 추가적인 캐리다운 연산 수행여부를 결정하는 것을 특징으로 한다.
본 발명에 따른 데이터 암호화를 통한 인증방법 및 시스템은, 사용자가 입력하는 패스워드를 이용하여 서버로부터 제공된 더미데이터에 대해 암호화를 수행하고 상기 암호화된 데이터를 미리 등록된 패스워드에 의해 복호화하여 사용자 인증을 수행함으로써, 공인인증서나 공인인증기관을 거치지 않고도 사용자 인증 업무를 보다 안전하고 신뢰성 있게 수행할 수 있도록 하고 보안성도 강화할 수 있다.
도 1은 본 발명에 의한 일실시예에 따른 데이터 암호화를 통한 인증시스템의 구성을 도시한 블럭도이다.
도 2는 본 발명에 의한 일 실시예에 따른 데이터 암호화를 통한 인증방법을 설명하기 위한 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명에 의한 일실시예에 따른 데이터 암호화를 통한 인증시스템의 구성을 도시한 블럭도이고, 도 2는 본 발명에 의한 일 실시예에 따른 데이터 암호화를 통한 인증방법을 설명하기 위한 흐름도로서, 이를 참조하여 본 발명을 설명하면 다음과 같다.
도 1에 도시된 바와 같이, 본 실시예에 따른 데이터 암호화를 통한 인증시스템은 더미데이터를 생성하여 사용자 단말(200)로 전송하는 중앙서버(100); 및 사용자로부터 입력받은 제 1 패스워드를 이용하여 상기 더미데이터를 암호화하여 암호화데이터를 생성하고, 생성된 상기 암호화데이터를 중앙서버(100)에 전송하는 사용자 단말(200)을 포함한다. 중앙서버(100)는 미리 저장된 제 2 패스워드를 이용하여 상기 암호화데이터를 복호화하여 인증을 수행한다.
도 1에 도시된 바와 같이, 중앙서버(100)는 관리자 단말(10)로부터 입력되는 제 2 패스워드에 대한 등록업무를 수행하는 등록부(110); 상기 제 2 패스워드를 저장하는 데이터 베이스부(120); 임의의 더미데이터를 생성하고, 이후 사용자단말(200)로부터 전송되는 암호화데이터를 상기 제 2 패스워드를 이용하여 복호화하여 인증을 수행하는 인증부(130); 및 상기 더미 데이터를 사용자 단말(200)에 전송하고 상기 암호화데이터를 수신하는 통신부(140)를 포함하여 구성된다.
사용자 단말(200)은 상기 더미데이터를 수신하고 상기 암호화데이터를 상기 중앙서버(100)에 전송하는 통신부(210); 사용자로부터 제 1 패스워드를 입력받는 입력부(23 0); 및 사용자로부터 입력받은 상기 제 1 패스워드를 이용하여 상기 더미데이터를 암호화하여 암호화데이터를 생성하는 암호화부(220)를 포함하여 구성된다.
상기 암호화데이터의 생성시, 사용자 단말(200)은, 상기 더미데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 1 캐리포인트를 이동시키면서 캐리업 연산을 수행하고, 상기 캐리업 연산이 수행된 데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 상기 제 1 캐리포인트를 이동시키면서 캐리업 연산을 수행하되, 상기 제 1 패스워드에 포함된 비트 데이터가 모두 적용될 때까지 상기 일련의 연산을 반복수행한다. 이 때, 상기 캐리업 연산은 상기 제 1 캐리포인트를 기준으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 가산하는 것에 의해 수행되는 것을 특징한다. 상기 캐리업 연산 수행시, 상기 제 1 캐리포인트는 각 캐리업 연산의 수행에 의해 값이 변경되는 적어도 하나의 비트에 대해 상위 비트방향으로 바로 다음 비트자리로 이동하는 것을 특징으로 한다.
인증 수행시, 중앙서버(100)는 상기 복호화된 데이터를 상기 더미데이터와 비교하는 것에 의해 인증을 수행한다. 또한, 인증 수행시 중앙서버(100)는, 상기 암호화데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 2 캐리포인트를 이동시키면서 캐리다운 연산을 수행하고, 상기 캐리다운 연산이 수행된 데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 2 캐리포인트를 이동시키면서 캐리업 연산을 수행하되, 상기 제 2 패스워드에 포함된 비트 데이터가 모두 적용될 때까지 상기 일련의 연산을 반복수행한다. 이 때, 상기 캐리다운 연산은 상기 제 2 캐리포인트를 기준으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 감산하는 것에 의해 수행되는 것을 특징으로 한다. 상기 캐리다운 연산 수행시, 상기 제 2 캐리포인트는 각 캐리다운 연산의 수행에 의해 값이 변경되는 적어도 하나의 비트에 대해 상위 비트방향으로 바로 다음 비트자리로 이동하는 것을 특징으로 한다.
이와 같이 구성된 본 실시예의 동작 및 작용을 도 1 및 도 2를 참조하여 구체적으로 설명한다.
본 발명은 은행에서의 사용자 인증시스템 뿐만 아니라 사용자 인증이 필요한 다양한 분야와 시스템에 적용될 수 있으며, 본 실시예에서는 은행을 예를 들어 설명하되 본 발명은 이에 한정되지는 않는다.
우선, 사용자는 본 실시예에 따른 인증서비스를 이용하기 위하여 먼저 은행에 방문하여 자신이 사용하고자 하는 패스워드를 등록한다. 그러면, 은행 관리자는 관리자단말(10)을 통하여 중앙서버(100)에 상기 패스워드를 등록한다. 구체적으로, 중앙서버(100)의 등록부(110)는 관리자 단말(10)로부터 입력되는 상기 패스워드를 데이터베이스부(120)에 저장하여 등록한다.
이후, 사용자가 사용자 단말(200)을 통해 해당 서비스에 접속하게 되면, 중앙서버(100)는 먼저 임의의 더미데이터를 생성하여 사용자 단말(200)로 전송한다(S201, S202). 구체적으로는, 중앙서버(100)의 인증부(130)가 임의의 더미데이터를 생성하여 통신부(140)를 통해 네트워크를 연계하여 사용자단말(200)에 상기 더미데이터를 전송한다. 여기서, 더미데이터는 인증부(130)가 생성하는 임의의 데이터로서, 데이터의 크기(비트수)나 값이 결정되지 않은 임의의 데이터이며 본 실시예에서는 설명의 간소화와 편의를 위해 사용자가 2비트 크기의 "10"이라는 패스워드를 등록한 것을 예로 들어 설명한다.
이후, 사용자단말(200)은 통신부(210)를 통하여 상기 더미데이터를 수신하고, 입력부(230)를 통하여 사용자로부터 패스워드를 입력받는다(S203). 여기서는 중앙서버(100)가 사용자단말(200)에 더미데이터를 먼저 전송한 후 사용자단말(200)이 패스워드를 입력받는 것으로 기재하였으나, 실시예에 따라서는 사용자단말(200)이 사용자로부터 패스워드를 먼저 입력받으면 이에 응답하여 중앙서버(100)가 사용자단말(200)에 더미데이터를 전송하도록 구성할 수도 있을 것이다.
이어서, 사용자단말(200)의 암호화부(220)는 사용자가 입력한 상기 패스워드를 이용하여 상기 더미데이터를 암호화하여 암호화데이터를 생성한다(S204). 이를 구체적인 예를 들어 설명하면 다음과 같다.
만약, 중앙서버(100)가 사용자단말(200)에 더미데이터로서 예를 들어 3비트 크기의 "110"이라는 데이터를 생성하여 전송하였고 사용자가 입력부(230)를 통하여 "10"이라는 패스워드를 입력하였다면, 사용자단말(200)의 암호화부(220)는 먼저 더미데이터 "110"의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 1 캐리포인트를 이동시키면서 캐리업 연산을 수행한다.
이 때, 상기 캐리업 연산의 수행 결과 상기 이동된 제 1 캐리포인트를 기준으로 상위 비트 방향으로 하나 이상의 1만 남게 되는 경우, 상기 패스워드 "10"에 포함된 각 비트 데이터를 순차적으로 적용하여 상기 남은 하나 이상의 1에 대한 추가적인 캐리업 연산 수행여부를 결정한다. 예를 들어, 상기 이동된 제 1 캐리포인트를 기준으로 상위 비트 방향으로 "11"이 남았다면 패스워드 "10"의 맨 앞자리에 있는 "1"에 따라 상기 "11"에 1을 가산하여 캐리업 연산을 추가적으로 수행하는 것이다. 만약 이 때 적용된 패스워드의 맨 앞의 숫자가 0이었다면 추가적인 캐리업 연산을 수행하지 않는다. 물론, 1과 0 중 어느 값일 경우 추가적인 캐리업 연산을 수행할지는 설계자의 의도에 따라 달리 설정될 수 있으며 또한 패스워드의 최상위비트값부터 적용할지 아니면 최하위비트값부터 순차적으로 적용할지도 설계자의 의도에 따라 달리 설정될 수 있다. 본 실시예에서는, 패스워드의 최상위비트부터 값을 순차적으로 적용하되, 그 값이 1인 경우에는 추가적인 캐리업 연산을 수행하고 0인 경우에는 추가적인 캐리업 연산을 수행하지 않는 것으로 하여 설명한다.
한편, 상기에서 캐리업 연산이라 함은 캐리업 이벤트를 일으키도록 하는 연산을 의미하는 것으로서, "캐리업 이벤트"란 복수의 자리(비트수)로 이루어진 제 1 이진수에서 다른 제 2 이진수를 가산할 때, 상기 제 1 이진수의 어떤 자리에서의 덧셈 결과 그 자리에서 숫자가 넘쳐서 그 윗자리로의 자리올림 현상이 발생하는 것을 의미한다. 예를 들어, 이진수 100에서 이진수 1을 더하면 그 결과는 101이 되는데, 이 경우 덧셈 후의 101은 덧셈 전의 100과 비교하여 자리올림 현상이 발생하지 않는다. 즉, 덧셈을 위하여 윗자리로 숫자를 올려주는 현상인 캐리업 이벤트가 발생하지 않는다. 반면, 이진수 10에 이진수 11을 더하면 그 결과는 101이 되는데, 이 경우 덧셈 후의 101은 덧셈 전의 10과 비교하여 자리올림 현상, 즉 캐리업 이벤트가 발생한 것이다. 이를 통해 10으로부터 자리올림하여 101이라는 결과가 얻어진다. 이 캐리업 이벤트는 원래 숫자의 비트수 자체가 커지는 경우뿐만 아니라, 내부에서 일어나는 최초의 자리올림 현상까지 포함하는 개념으로 사용된다. 즉, 이진수 101에 이진수 1을 더하면 110이 되는 경우와 같이, 첫번째 자리에서 자리올림이 발생한 것도 101에 1이라는 캐리키를 이용하여 자리올림인 캐리업 이벤트가 발생한 것으로 본다.
또한, 원래 이진수에 대하여 캐리업 이벤트를 일으키도록 하기 위하여 덧셈을 하는 이진수는 상기 제 1 캐리포인트의 위치를 시점으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수(예를 들어, 1, 11, 111, 1111,...)를 말하며, 이를 "캐리키"라고 한다. 예를 들어 이진수 11의 경우에는 1을 더하면 100로 캐리업 이벤트가 발생하여 이 때에는 캐리키가 1이 된다. 하지만, 110의 경우에는 1을 더하더라도 캐리업 이벤트가 발생하지 않고 11을 더해야만 1001이 되어 캐리업 이벤트가 발생하므로 이 때 캐리키는 11이 된다.
그리고, 상기에서 "제 1 캐리포인트"는 상기 캐리업 이벤트를 일으키기 위한 캐리키의 가장 낮은 자리의 비트가 위치하는 자리를 의미하며, 이 제 1 캐리포인트는 처음에는 더미데이터 등의 해당 데이터의 최하위비트로부터 시작하여 이동한다. 그리고, 캐리업 연산이 계속 수행됨에 따라, 상기 제 1 캐리포인트는 각 캐리업 연산의 수행에 의해 값이 변경되는 비트들에 대해 상위 비트방향으로 바로 다음 비트자리로 이동하도록 한다. 표 1과 같이, "10011"이라는 데이터를 예로 들면, 먼저 제 1 캐리포인트의 위치는 최하위 비트 자리가 되고 이 때 1을 더하면 캐리업 이벤트가 일어나므로, 1차 캐리업 연산 결과 "10100"이라는 데이터가 생긴다. 그리고, 제 1 캐리포인트는 상기 1차 캐리업 연산의 수행에 의해 값이 변경되는 비트들(제 0-2비트자리)에 대해 상위 비트방향으로 바로 다음 비트자리인 제 3 비트자리로 이동한다. 그리고, 이 이동한 제 1 캐리포인트의 자리인 제 3 비트자리를 기준으로 하여 캐리업 이벤트를 일으키도록 하는 캐리키로 11이 선택되어 캐리업 연산이 수행되면 2차 캐리업 연산 결과 "101100"이라는 데이터가 생성된다.
자리수 5 4 3 2 1 0
원본데이터 1 0 0 1 1
(+) 캐리키 1
1차캐리업데이터 1 0 1 0 0
(+) 캐리키 1 1
2차캐리업데이터 1 0 1 1 0 0
상기 예로 든 더미데이터 "110"에 대하여 캐리업 연산을 수행하면 다음 표 2와 같이 되며 "1001"이라는 데이터가 생성된다. 이 때에는 1차 캐리업 연산결과 더이상 캐리키가 이동될 자리가 없으므로 추가적인 캐리업 연산이 이루어지지 않으며, 또한 상기 캐리업 연산의 수행 결과 이동된 제 1 캐리포인트를 기준으로 상위 비트 방향으로 1이 하나도 남지 않았으므로, 아직은 패스워드 "10"을 적용하지 않고 캐리업 연산을 추가적으로 수행할지 여부를 판단하지 않는다.
자리수 5 4 3 2 1 0
더미데이터 1 1 0
(+) 캐리키 1 1
1차캐리업데이터 1 0 0 1
암호화부(220)는 패스워드 "10"이 모두 적용될 때까지 상술한 일련의 캐리업 연산을 반복하여 수행한다. 즉, 상기에서 연산된 "1001"이라는 데이터에 대하여 표 3과 같이 상술한 일련의 캐리업 연산을 반복하여 수행한다. 먼저, 캐리키 1을 제 1 캐리포인트의 위치인 최하위비트에서 가산하여 "1010"이라는 1차캐리업 데이터를 생성한다. 이 때, 잔여 데이터가 "10"이므로 적어도 1개 이상의 1과 이어서 적어도 1 개 이상의 0이 있는 경우이므로 아직 패스워드를 고려하지 않고, 제 1 캐리포인트를 제 2 비트자리로 이동시켜 자동적으로 캐리키 11을 가산하여 "10110"이라는 2차 캐리업데이터를 생성한다. 물론, 이 때에도 아직 2차 캐리업 연산결과 이동된 제 1 캐리포인트를 기준으로 상위 비트 방향으로 1만으로 된 데이터가 남아 있지 않으므로, 여전히 패스워드 "10"을 적용하지 않는다.
자리수 5 4 3 2 1 0
데이터 1 0 0 1
(+) 캐리키 1
1차캐리업데이터 1 0 1 0
(+) 캐리키 1 1
2차캐리업데이터 1 0 1 1 0
이어서, 암호화부(220)는 상기에서 연산된 "10110"이라는 데이터에 대하여 표 4와 같이 상술한 일련의 캐리업 연산을 반복하여 수행한다. 먼저, 캐리키 11을 제 1 캐리포인트의 위치인 최하위비트에서 가산하여 "11001"이라는 1차캐리업 데이터를 생성하고, 제 1 캐리포인트를 제 4 비트자리로 이동시키는데, 이 때에는 이동된 제 4비트자리를 기준으로 상위 비트 방향으로 1로만 이루어져 있으므로 패스워드 "10"을 적용한다. 즉, 패스워드 "10"의 최상위 비트값이 1이므로, 추가적인 캐리업 연산을 수행하며, 그 결과 2차 캐리업 데이터인 "101001"이 생성된다. 이 때 이동된 4비트 기준으로 상위비트 방향으로 적어도 한 개의 1 및 적어도 연속된 0 으로만 이루어진 경우에는(10,100,1000,11000,110000,...) 패스워드를 적용치 않고, 무조건 캐리업 연산을 수행하면 된다. 또한, 부연하면 암호화시에는, 1 및 적어도 하나의 연속된 0, 그리고 이어서 적어도 하나의 연속된 1이 나타나는 것과 같은 경우는 최상위 캐리포인트에서는 나타날 수 없다( 예를들어, 101 의 경우라면, 캐리업하면 110 이되고 최상위 캐리포인트에서는 1만 남는것과 같다).
자리수 5 4 3 2 1 0
데이터 1 0 1 1 0
(+) 캐리키 1 1
1차캐리업데이터 1 1 0 0 1
(+) 캐리키 1
2차캐리업데이터 1 0 1 0 0 1
다음으로, 암호화부(220)는 상기에서 연산된 "101001"이라는 데이터에 대하여 표 5와 같이 상술한 일련의 캐리업 연산을 반복하여 수행한다. 먼저, 캐리키 1을 제 1 캐리포인트의 위치인 최하위비트에서 가산하여 "101010"이라는 1차캐리업 데이터를 생성하고, 제 1 캐리포인트를 제 2 비트자리로 이동시켜 캐리키 11을 가산하여 "110110"이라는 2차캐리업 데이터를 생성한다. 이어서, 제 1 캐리포인트를 제 5 비트자리로 이동시키는데, 이 때에는 이동된 제 5비트자리를 기준으로 상위 비트 방향으로 1로만 이루어져 있으므로, 패스워드 "10"을 적용한다. 즉, 패스워드 "10"의 최상위 비트 다음값이 0이므로, 이 때에는 이 0에 따라 추가적인 캐리업 연산을 수행하지 않고, 그 결과 2차 캐리업 데이터인 "110110"이 암호화데이터로서 최종 생성된다.
자리수 5 4 3 2 1 0
데이터 1 0 1 0 0 1
(+) 캐리키 1
1차캐리업데이터 1 0 1 0 1 0
(+) 캐리키 1 1
2차캐리업데이터 1 1 0 1 1 0
이와 같이, 암호화부(220)는 "110110"이라는 암호화데이터를 생성하여 통신부(210)를 통하여 네트워크를 연계하여 중앙서버(100)에 전송한다(S205).
이어서, 중앙서버(100)는 데이터베이스부(120)에 미리 저장된 패스워드, 즉 사용자가 미리 등록한 패스워드를 이용하여 상기 암호화데이터를 복호화한다(S206). 즉, 인증부(130)는 통신부(140)를 통하여 상기 암호화데이터를 수신하고, 이를 데이터베이스부(120)에 미리 저장되어 있는 상기 패스워드를 이용하여 복호화한다. 여기서 이러한 복호화과정은 사용자단말(220)에서 이루어진 암호화과정에 대하여 반대적인 개념의 복호화과정을 의미하며, 사용자단말(200)로부터 전송받은 상기 "110110"이라는 암호화데이터를 예로 들어 설명한다.
중앙서버(100)는 사용자단말(200)로부터 전송받은 상기 암호화데이터 "110110"의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 2 캐리포인트를 이동시키면서 캐리다운 연산을 수행하되, 사용자가 미리 등록하여 데이터베이스부(120)에 저장되어 있는 패스워드 "10"을 이용한다.
이 때, 중앙서버(100)는, 상기 캐리다운 연산의 수행 결과 상기 이동된 제 2 캐리포인트를 기준으로 상위 비트 방향으로 ["1"만 남는지] 또는 [최상위비트의 1 및 적어도 하나의 0만으로 구성된 숫자가 남는지] 등의 경우에는, 상기 암호화데이터 그 자체에 대해서는 상기 패스워드 "10"에 포함된 각 비트 데이터를 순차적으로 적용하여 상기 남아 있는 숫자에 대하여 추가적인 캐리다운 연산을 수행할지 여부를 결정한다. 다만, 10011,101,10001과 같이 최상위 비트의 1 및 적어도 하나의 연속된 0, 그리고 이어서 연속된 하나의 1이 남는 경우에는, 상기 암호화 데이터 그자체에 대해서는 상기 패스워드를 적용하지 않고 무조건 캐리다운 연산을 수행한다.
예를 들어, 상기 이동된 제 2 캐리포인트를 기준으로 상위 비트 방향으로 "1"이 남았다면 패스워드 "10"의 최하위비트자리에 있는 "0"에 따라 더 이상 캐리다운 연산을 수행하지 않는다. 반면, 만약 이 때 적용된 패스워드의 최하위비트 숫자가 1이었다면 추가적인 캐리다운 연산을 수행하는 것이다. 물론, 이 경우에도 1과 0 중 어느 값일 경우 추가적인 캐리다운 연산을 수행할지는 설계자의 의도에 따라 달리 설정될 수 있으며 또한 패스워드의 최상위비트값부터 적용할지 아니면 최하위비트값부터 순차적으로 적용할지도 설계자의 의도에 따라 달리 설정될 수 있다. 본 실시예에서는, 암호화과정에서와는 반대로 패스워드의 최하위비트부터 값을 순차적으로 적용하되, 그 값이 1인 경우에는 추가적인 캐리다운 연산을 수행하고 0인 경우에는 추가적인 캐리다운 연산을 수행하지 않는 것으로 하여 설명한다.
한편, 상기에서 캐리다운 연산이라 함은 캐리다운 이벤트를 일으키도록 하는 연산을 의미하는 것으로서, "캐리다운 이벤트"란 복수의 자리(비트수)로 이루어진 제 1 이진수에서 다른 제 2 이진수를 뺄 때, 상기 제 1 이진수의 어떤 자리에서의 뺄셈을 위하여 그 윗자리로부터 숫자를 빌려오면서 자리내림 현상이 발생하는 것을 의미한다. 예를 들어, 이진수 101에서 이진수 1을 빼면 그 결과는 100이 되는데, 이 경우 뺄셈 후의 100은 뺄셈 전의 101과 비교하여 자리내림 현상이 발생하지 않는다. 즉, 뺄셈을 위하여 윗자리로부터 숫자를 빌려오는 현상인 캐리다운 이벤트가 발생하지 않는다. 반면, 이진수 101에서 이진수 11을 빼면 그 결과는 10이 되는데, 이 경우 뺄셈 후의 10은 뺄셈 전의 101과 비교하여 자리내림 현상이 발생한 것이다. 즉, 2번째자리에서의 뺄셈을 위하여 그 윗자리인 세번째자리로부터 숫자 1을 빌려와서 2번째자리에서의 뺄셈을 수행하는 "캐리다운 이벤트"가 발생하며, 이를 통해 101로부터 자리내림하여 10이라는 결과가 얻어진다. 이 캐리다운 이벤트는 원래 숫자의 비트수 자체가 작아지는 경우뿐만 아니라, 내부에서 일어나는 최초의 자리내림 현상까지 포함하는 개념으로 사용된다. 즉, 이진수 110에서 이진수 1을 빼면 101이 되는 경우와 같이, 두번째 자리에서 자리내림이 발생한 것도 110에서 1이라는 캐리키를 이용하여 자리내림인 캐리다운 이벤트가 발생한 것으로 본다.
또한, 원래 이진수에 대하여 캐리다운 이벤트를 일으키도록 하기 위하여 뺄셈을 하는 이진수는 상기 제 1 캐리포인트의 위치를 시점으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수(예를 들어, 1, 11, 111, 1111,...)를 말하며, 이 또한 "캐리키"라고 할 수 있다. 예를 들어 이진수 100의 경우에는 1을 빼면 11로 캐리다운 이벤트가 발생하여 이 때에는 캐리키가 1이 된다. 하지만, 101의 경우에는 1을 빼더라도 캐리다운 이벤트가 발생하지 않고 11을 빼야만 10이 되어 캐리다운 이벤트가 발생하므로 이 때 캐리키는 11이 된다.
그리고, 상기에서 "제 2 캐리포인트"는 상기 캐리다운 이벤트를 일으키기 위한 캐리키의 가장 낮은 자리의 비트가 위치하는 자리를 의미하며, 이 제 2 캐리포인트는 처음에는 암호화데이터 등의 해당 데이터의 최하위비트로부터 시작하여 이동한다. 그리고, 캐리다운 연산이 계속 수행됨에 따라, 상기 제 2 캐리포인트는 각 캐리다운 연산의 수행에 의해 값이 변경되는 비트들에 대해 상위 비트방향으로 바로 다음 비트자리로 이동하도록 한다.
표 6과 같이, "110110"이라는 암호화 데이터를 예로 들면, 먼저 제 1 캐리포인트의 위치는 최하위 비트 자리가 되고 이 때 1을 빼면 캐리다운 이벤트가 일어나므로, 1차 캐리다운 연산 결과 "110101"이라는 데이터가 생긴다. 그리고, 제 2 캐리포인트는 상기 1차 캐리다운 연산의 수행에 의해 값이 변경되는 비트들(제 0-1비트자리)에 대해 상위 비트방향으로 바로 다음 비트자리인 제 2 비트자리로 이동한다. 그리고, 이 이동한 제 2 캐리포인트의 자리인 제 2 비트자리를 기준으로 하여 캐리다운 이벤트를 일으키도록 하는 캐리키로 11이 선택되어 캐리다운 연산이 수행되면 2차 캐리업 연산 결과 "101001"이라는 데이터가 생성된다. 그리고, 이 때 제 2 캐리포인트를 제 5 비트자리로 이동시키는데, 이 때에는 이동된 제 5비트자리를 기준으로 상위 비트 방향으로 남아있는 1에 대하여 패스워드 "10"을 적용한다. 즉, 패스워드 "10"의 최하위 비트값이 0이므로, 추가적인 캐리다운 연산을 수행하지 않고, 그 결과 2차 캐리다운 데이터인 "101001"이 생성된다.
자리수 5 4 3 2 1 0
암호화데이터 1 1 0 1 1 0
(-) 캐리키 1
1차캐리다운데이터 1 1 0 1 0 1
(-) 캐리키 1 1
2차캐리다운데이터 1 0 1 0 0 1
인증부(130)는 패스워드 "10"이 모두 적용될 때까지 또는 상기 더미데이터와 동일한 비트수의 데이터가 생성될 때까지 상술한 일련의 캐리다운 연산을 반복하여 수행한다. 즉, 상기에서 연산된 "101001"이라는 데이터에 대하여 표 7과 같이 상술한 일련의 캐리다운 연산을 반복하여 수행한다. 먼저, 캐리키 11을 제 2 캐리포인트의 위치인 최하위비트에서 감산하여 "100110"이라는 1차 캐리다운 데이터를 생성하고, 제 2 캐리포인트를 제 4 비트자리로 이동시킨다. 이 때, 인증부(130)는, 상기 캐리다운 연산의 수행 결과 상기 이동된 제 2 캐리포인트를 기준으로 상위 비트 방향으로 최상위비트의 1 및 적어도 하나의 연속된 0만으로 구성된 숫자가 남는 경우 또는 최상위 비트에 1만 남는 경우에는, 추가적인 캐리다운 연산을 수행할지 여부를 패스워드를 참조하여 결정한다. 다만, 제 2캐리포인트를 기준으로 만약에 101, 1011, 100011, 1000111 등과 같이, 최상위 비트의 1 및 적어도 하나의 연속된 0 그리고 적어도 하나의 연속된 1로 끝나는 경우로 숫자가 남을때에는, 패스워드를 참조하지 않고, 무조건 carry down 연산을 시행한다.
본 실시예에서는, 이동된 제 2 캐리포인트의 자리인 제 4비트자리를 기준으로 "10"이 남았으므로 패스워드 "10"을 적용하되, 최하위비트로부터 2번째 자리의 숫자가 "1"이므로 추가적인 캐리다운 연산을 실시한다. 따라서, 추가적인 캐리다운 연산 결과 표 7과 같이 "10110" 이라는 데이터가 생성된다.
자리수 5 4 3 2 1 0
데이터 1 0 1 0 0 1
(-) 캐리키 1 1
1차캐리다운데이터 1 0 0 1 1 0
(-) 캐리키 1
2차캐리다운데이터 1 0 1 1 0
이어서, 인증부(130)는 상기에서 연산된 "10110"이라는 데이터에 대하여 표 8과 같이 상술한 일련의 캐리다운 연산을 반복하여 수행한다. 즉, 캐리키 1을 제 2 캐리포인트의 위치인 최하위비트에서 감산한 후, 제 2 캐리포인트를 제 2 비트자리로 이동시켜서 캐리키 11을 감산하여 표 8과 같이 "1001" 이라는 데이터를 생성한다.
자리수 5 4 3 2 1 0
데이터 1 0 1 1 0
(-) 캐리키 1
1차캐리다운데이터 1 0 1 0 1
(-) 캐리키 1 1
2차캐리다운데이터 1 0 0 1
또한, 인증부(130)는 상기에서 연산된 "1001"이라는 데이터에 대하여 표 9와 같이 상술한 일련의 캐리다운 연산을 반복하여 수행한다. 즉, 캐리키 11을 제 2 캐리포인트의 위치인 최하위비트에서 감산하여 표 9와 같이 "110" 이라는 데이터를 생성한다.
자리수 5 4 3 2 1 0
데이터 1 0 0 1
(-) 캐리키 1 1
1차캐리다운데이터 1 1 0
이어서, 인증부(130)는 상기 캐리다운 연산에 의해 생성된 데이터에 근거하여 사용자 인증을 수행한다(S207). 즉, 인증부(130)는 표 7과 같이 패스워드 "10"이 모두 적용될 때까지, 또는 표 9와 같이 상기 더미데이터와 동일한 비트수의 데이터인 "110"이 생성될 때까지 상술한 일련의 캐리다운 연산을 반복하여 수행한다. 이에 따라, 인증부(130)는 표 9와 같이 애초에 생성했던 더미데이터와 동일한 비트수의 데이터가 생성되면, 이를 상기 더미데이터와 비교하여 일치하면 정당한 사용자인 것으로 인증하되, 만약 일치하지 않으면 정당사용자가 아닌 것으로 판단하여 그 결과를 출력한다. 또한, 인증부(130)는 표 7과 같이 패스워드 "10"이 모두 적용된 후의 데이터에 근거하여 사용자 인증을 수행할 수도 있는 바, 이 때에는 애초에 전송했던 더미데이터를 기등록된 패스워드에 의해 암호화하는 과정에서 생성될 수 있는 데이터를 인증부(130)가 연산하고, 그 연산결과를 상기 표 7에서 생기는 데이터와 비교하여 일치하게 되면 정당한 패스워드 사용자인 것으로 판단하여 사용자 인증을 수행할 수도 있다.
이상 살펴 본 바와 같이, 본 실시예에 따른 데이터 암호화를 통한 인증방법 및 시스템은, 사용자가 입력하는 패스워드를 이용하여 서버로부터 제공된 더미데이터에 대해 암호화를 수행하고 상기 암호화된 데이터를 미리 등록된 패스워드에 의해 복호화하여 사용자 인증을 수행함으로써, 사용자 인증 업무를 보다 안전하고 신뢰성 있게 수행할 수 있도록 하고 보안성도 강화할 수 있다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100 : 중앙서버
110 : 등록부 120 : 데이터베이스부
130 : 인증부 140 : 통신부
200 : 사용자 단말
210 : 통신부 220 : 암호화부
230 : 입력부
10 : 관리자 단말

Claims (20)

  1. 중앙서버가 더미데이터를 생성하여 사용자 단말로 전송하는 단계;
    사용자단말이 사용자로부터 제 1 패스워드를 입력받는 단계;
    상기 사용자단말이 상기 제 1 패스워드를 이용하여 상기 더미데이터를 암호화하여 암호화데이터를 생성하는 단계;
    상기 사용자단말이 상기 중앙서버에 상기 암호화데이터를 전송하는 단계; 및
    상기 중앙서버가 미리 저장된 제 2 패스워드를 이용하여 상기 암호화데이터를 복호화하여 인증을 수행하는 단계를 포함하되,
    상기 암호화데이터를 생성하는 단계는,
    a) 상기 더미데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 1 캐리포인트를 이동시키면서 캐리업 연산을 수행하는 단계;
    b) 상기 캐리업 연산이 수행된 데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 상기 제 1 캐리포인트를 이동시키면서 캐리업 연산을 수행하는 단계; 및
    c) 상기 제 1 패스워드에 포함된 비트 데이터가 모두 적용될 때까지 상기 단계 b)를 반복수행하는 단계를 포함하되,
    상기 캐리업 연산은 상기 제 1 캐리포인트를 기준으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 가산하는 것에 의해 수행되는 것을 특징으로 하는, 데이터 암호화를 통한 인증방법.
  2. 삭제
  3. 제 1항에 있어서,
    상기 단계 a) 내지 c)에서, 상기 캐리업 연산 수행시, 상기 제 1 캐리포인트는 각 캐리업 연산의 수행에 의해 값이 변경되는 적어도 하나의 비트에 대해 상위 비트방향으로 바로 다음 비트자리로 이동하는 것을 특징으로 하는, 데이터 암호화를 통한 인증방법.
  4. 제 3항에 있어서,
    상기 단계 a) 내지 c) 중 각각의 단계에서, 각각의 상기 캐리업 연산의 수행 결과 상기 제 1 캐리포인트를 기준으로 상위 비트 방향으로 하나 이상의 1만 남는 경우, 상기 제 1 패스워드에 포함된 각 비트 데이터를 순차적으로 적용하여 상기 남은 하나 이상의 1에 대한 추가적인 캐리업 연산 수행여부를 결정하는 것을 특징으로 하는, 데이터 암호화를 통한 인증방법.
  5. 제 4항에 있어서,
    상기 제 1 패스워드 적용시, 상위비트방향 또는 하위비트방향으로 상기 제 1 패스워드의 각 비트 데이터의 값에 근거하여 상기 추가적인 캐리업 연산 수행여부를 결정하는 것을 특징으로 하는, 데이터 암호화를 통한 인증방법.
  6. 제 1항에 있어서,
    상기 암호화데이터를 복호화하여 인증을 수행하는 단계에서,
    상기 중앙서버는 상기 복호화된 데이터를 상기 더미데이터와 비교하는 것에 의해 인증을 수행하는 것을 특징으로 하는, 데이터 암호화를 통한 인증방법.
  7. 제 6항에 있어서,
    상기 암호화데이터를 복호화하여 인증을 수행하는 단계는,
    d) 상기 암호화데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 2 캐리포인트를 이동시키면서 캐리다운 연산을 수행하는 단계;
    e) 상기 캐리다운 연산이 수행된 데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 2 캐리포인트를 이동시키면서 캐리다운 연산을 수행하는 단계; 및
    f) 상기 제 2 패스워드에 포함된 비트 데이터가 모두 적용될 때까지 또는 상기 더미데이터와 동일한 비트수의 데이터가 생성될 때까지 상기 단계 e)를 반복수행하는 단계를 포함하되,
    상기 캐리다운 연산은 상기 제 2 캐리포인트를 기준으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 감산하는 것에 의해 수행되는 것을 특징으로 하는, 데이터 암호화를 통한 인증방법.
  8. 제 7항에 있어서,
    상기 단계 d) 내지 f)에서, 상기 캐리다운 연산 수행시, 상기 제 2 캐리포인트는 각 캐리다운 연산의 수행에 의해 값이 변경되는 적어도 하나의 비트에 대해 상위 비트방향으로 바로 다음 비트자리로 이동하는 것을 특징으로 하는, 데이터 암호화를 통한 인증방법.
  9. 제 8항에 있어서,
    상기 단계 d) 내지 f) 중 각각의 단계에서, 각각의 상기 캐리다운 연산의 수행 결과 상기 제 2 캐리포인트를 기준으로 상위 비트 방향으로 최상위비트의 1 및 적어도 하나의 0만으로 구성된 잔여데이터가 남는 경우, 상기 제 2 패스워드에 포함된 각 비트 데이터를 순차적으로 적용하여 상기 잔여데이터에 대한 추가적인 캐리다운 연산 수행여부를 결정하는 것을 특징으로 하는, 데이터 암호화를 통한 인증방법.
  10. 제 9항에 있어서,
    상기 제 2 패스워드 적용시, 상위비트방향 또는 하위비트방향으로 상기 제 2 패스워드의 각 비트 데이터의 값에 근거하여 상기 추가적인 캐리다운 연산 수행여부를 결정하는 것을 특징으로 하는, 데이터 암호화를 통한 인증방법.
  11. 더미데이터를 생성하여 사용자 단말로 전송하는 중앙서버; 및
    사용자로부터 입력받은 제 1 패스워드를 이용하여 상기 더미데이터를 암호화하여 암호화데이터를 생성하고, 생성된 상기 암호화데이터를 상기 중앙서버에 전송하는 사용자 단말을 포함하되,
    상기 중앙서버는 미리 저장된 제 2 패스워드를 이용하여 상기 암호화데이터를 복호화하여 인증을 수행하고,
    상기 암호화데이터의 생성시 상기 사용자 단말은,
    상기 더미데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 1 캐리포인트를 이동시키면서 캐리업 연산을 수행하고, 상기 캐리업 연산이 수행된 데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 상기 제 1 캐리포인트를 이동시키면서 캐리업 연산을 수행하되, 상기 제 1 패스워드에 포함된 비트 데이터가 모두 적용될 때까지 상기 일련의 연산을 반복수행하며,
    상기 캐리업 연산은 상기 제 1 캐리포인트를 기준으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 가산하는 것에 의해 수행되는 것을 특징으로 하는, 데이터 암호화를 통한 인증시스템.
  12. 삭제
  13. 제 11항에 있어서,
    상기 캐리업 연산 수행시, 상기 제 1 캐리포인트는 각 캐리업 연산의 수행에 의해 값이 변경되는 적어도 하나의 비트에 대해 상위 비트방향으로 바로 다음 비트자리로 이동하는 것을 특징으로 하는, 데이터 암호화를 통한 인증시스템.
  14. 제 13항에 있어서,
    상기 사용자단말은, 각각의 상기 캐리업 연산의 수행 결과 상기 제 1 캐리포인트를 기준으로 상위 비트 방향으로 하나 이상의 1만 남는 경우, 상기 제 1 패스워드에 포함된 각 비트 데이터를 순차적으로 적용하여 상기 남은 하나 이상의 1에 대한 추가적인 캐리업 연산 수행여부를 결정하는 것을 특징으로 하는, 데이터 암호화를 통한 인증시스템.
  15. 제 14항에 있어서,
    상기 사용자단말은, 상기 제 1 패스워드 적용시, 상위비트방향 또는 하위비트방향으로 상기 제 1 패스워드의 각 비트 데이터의 값에 근거하여 상기 추가적인 캐리업 연산 수행여부를 결정하는 것을 특징으로 하는, 데이터 암호화를 통한 인증시스템.
  16. 제 11항에 있어서,
    인증 수행시, 상기 중앙서버는 상기 복호화된 데이터를 상기 더미데이터와 비교하는 것에 의해 인증을 수행하는 것을 특징으로 하는, 데이터 암호화를 통한 인증시스템.
  17. 제 16항에 있어서,
    상기 인증 수행시 상기 중앙서버는,
    상기 암호화데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 2 캐리포인트를 이동시키면서 캐리다운 연산을 수행하고, 상기 캐리다운 연산이 수행된 데이터의 최하위비트를 시점으로 하여 상위 비트 방향으로 제 2 캐리포인트를 이동시키면서 캐리다운 연산을 수행하되, 상기 제 2 패스워드에 포함된 비트 데이터가 모두 적용될 때까지 또는 상기 더미데이터와 동일한 비트수의 데이터가 생성될 때까지 상기 일련의 연산을 반복수행하며,
    상기 캐리다운 연산은 상기 제 2 캐리포인트를 기준으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 감산하는 것에 의해 수행되는 것을 특징으로 하는, 데이터 암호화를 통한 인증시스템.
  18. 제 17항에 있어서,
    상기 캐리다운 연산 수행시, 상기 제 2 캐리포인트는 각 캐리다운 연산의 수행에 의해 값이 변경되는 적어도 하나의 비트에 대해 상위 비트방향으로 바로 다음 비트자리로 이동하는 것을 특징으로 하는, 데이터 암호화를 통한 인증시스템.
  19. 제 18항에 있어서,
    상기 중앙서버는, 각각의 상기 캐리다운 연산의 수행 결과 상기 제 2 캐리포인트를 기준으로 상위 비트 방향으로 최상위비트의 1 및 적어도 하나의 0만으로 구성된 잔여데이터가 남는 경우, 상기 제 2 패스워드에 포함된 각 비트 데이터를 순차적으로 적용하여 상기 잔여데이터에 대한 추가적인 캐리다운 연산 수행여부를 결정하는 것을 특징으로 하는, 데이터 암호화를 통한 인증시스템.
  20. 제 19항에 있어서,
    상기 중앙서버는, 상기 제 2 패스워드 적용시, 상위비트방향 또는 하위비트방향으로 상기 제 2 패스워드의 각 비트 데이터의 값에 근거하여 상기 추가적인 캐리다운 연산 수행여부를 결정하는 것을 특징으로 하는, 데이터 암호화를 통한 인증시스템.
KR20130111458A 2013-09-16 2013-09-16 데이터 암호화를 통한 인증방법 및 시스템 KR101501508B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130111458A KR101501508B1 (ko) 2013-09-16 2013-09-16 데이터 암호화를 통한 인증방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130111458A KR101501508B1 (ko) 2013-09-16 2013-09-16 데이터 암호화를 통한 인증방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101501508B1 true KR101501508B1 (ko) 2015-03-12

Family

ID=53027214

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130111458A KR101501508B1 (ko) 2013-09-16 2013-09-16 데이터 암호화를 통한 인증방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101501508B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101760069B1 (ko) * 2015-10-23 2017-07-21 바이너리랩(주) 데이터 암호화를 통한 인증방법 및 시스템
KR20210043906A (ko) 2019-10-14 2021-04-22 삼성에스디에스 주식회사 데이터 암호화 방법 및 장치, 데이터 복호화 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040050428A (ko) * 2002-12-10 2004-06-16 한국전자통신연구원 무선망에서의 사용자 인증 처리 시스템 및 그 방법
KR20100024605A (ko) * 2008-08-26 2010-03-08 충남대학교산학협력단 Rsa기반 패스워드 인증을 통한 세션키 분배방법
KR101117680B1 (ko) * 2004-03-02 2012-04-02 프랑스 텔레콤 암호화 연산을 수행하는 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040050428A (ko) * 2002-12-10 2004-06-16 한국전자통신연구원 무선망에서의 사용자 인증 처리 시스템 및 그 방법
KR101117680B1 (ko) * 2004-03-02 2012-04-02 프랑스 텔레콤 암호화 연산을 수행하는 방법 및 장치
KR20100024605A (ko) * 2008-08-26 2010-03-08 충남대학교산학협력단 Rsa기반 패스워드 인증을 통한 세션키 분배방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101760069B1 (ko) * 2015-10-23 2017-07-21 바이너리랩(주) 데이터 암호화를 통한 인증방법 및 시스템
KR20210043906A (ko) 2019-10-14 2021-04-22 삼성에스디에스 주식회사 데이터 암호화 방법 및 장치, 데이터 복호화 방법 및 장치
US11429735B2 (en) 2019-10-14 2022-08-30 Samsung Sds Co., Ltd. Method and apparatus for data encryption, method and apparatus for data decryption

Similar Documents

Publication Publication Date Title
US20230020193A1 (en) Quantum-safe networking
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
US10623181B2 (en) Security system utilizing vaultless tokenization and encryption
JP6448668B2 (ja) パスワードベース認証
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
CN107426235B (zh) 基于设备指纹的权限认证方法、装置及系统
JP4892478B2 (ja) 認証システム、認証装置、端末装置及び検証装置
Lee et al. Two factor authentication for cloud computing
US9509665B2 (en) Protecting against malicious modification in cryptographic operations
KR102157695B1 (ko) 익명 디지털 아이덴티티 수립 방법
CN111355591A (zh) 一种基于实名认证技术的区块链账号安全的管理方法
Chidambaram et al. Enhancing the security of customer data in cloud environments using a novel digital fingerprinting technique
EP3455763B1 (en) Digital rights management for anonymous digital content sharing
KR101501508B1 (ko) 데이터 암호화를 통한 인증방법 및 시스템
KR101616795B1 (ko) Pki 기반의 개인키 파일 관리 방법 및 그 시스템
CN110708155A (zh) 版权信息保护方法、系统、确权方法、装置、设备和介质
CN112311534A (zh) 产生非对称算法密钥对的方法
KR102053993B1 (ko) 인증서를 이용한 사용자 인증 방법
KR20130100032A (ko) 코드 서명 기법을 이용한 스마트폰 어플리케이션 배포 방법
KR101708880B1 (ko) 통합 로그인 장치 및 통합 로그인 방법
CN114641788B (zh) 用于防止对区块链系统的拒绝服务攻击的方法和设备
CN111294315B (zh) 基于区块链的安全认证方法、装置、设备及存储介质
KR101760069B1 (ko) 데이터 암호화를 통한 인증방법 및 시스템
KR101026647B1 (ko) 통신 보안 시스템 및 그 방법과 이에 적용되는 키 유도 암호알고리즘
GB2601926A (en) Quantum-safe networking

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant