KR101281574B1 - 광학코드 암호화 방법 - Google Patents

광학코드 암호화 방법 Download PDF

Info

Publication number
KR101281574B1
KR101281574B1 KR1020110071311A KR20110071311A KR101281574B1 KR 101281574 B1 KR101281574 B1 KR 101281574B1 KR 1020110071311 A KR1020110071311 A KR 1020110071311A KR 20110071311 A KR20110071311 A KR 20110071311A KR 101281574 B1 KR101281574 B1 KR 101281574B1
Authority
KR
South Korea
Prior art keywords
code
encrypted
password
optical code
smartphone
Prior art date
Application number
KR1020110071311A
Other languages
English (en)
Other versions
KR20130010593A (ko
Inventor
박강현
Original Assignee
박강현
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 박강현 filed Critical 박강현
Priority to KR1020110071311A priority Critical patent/KR101281574B1/ko
Publication of KR20130010593A publication Critical patent/KR20130010593A/ko
Application granted granted Critical
Publication of KR101281574B1 publication Critical patent/KR101281574B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3239Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06112Constructional details the marking being simulated using a light source, e.g. a barcode shown on a display or a laser beam with time-varying intensity profile

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Optics & Photonics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)

Abstract

광학코드 암호화 방법이 개시된다. 광학코드 암호화 방법은, 광학코드 발행인의 조작에 따른 평문 및 패스워드를 암호화하여 암호문과 비밀키를 생성하는 단계와, 코드 매트릭스를 근거로 비밀키와 암호문에 대해 암호화된 광학코드를 생성하는 단계를 포함한다. 이에 따라, 개인정보나 비밀이 요구되는 각종 정보가 광학코드로 변환되더라도 정당하지 않은 수취인이 개인정보나 비밀이 요구되는 각종 정보를 열람하는 것을 방지할 수 있다.

Description

광학코드 암호화 방법{METHOD OF ENCRYPTING AN OPTICAL CODE}
본 발명은 광학코드의 암호화에 관한 것으로, 보다 상세하게는 광학코드 암호화 방법에 관한 것이다.
일반적으로, 광학코드의 일종인 바코드는 굵기가 다른 바(black bar)와 그 사이에 있는 공백(white bar)의 조합을 통해 문자, 숫자, 기호 등을 광학적으로 판독하기 쉽게 부호화한 것인데, 데이터의 입력이 간편하고 자료 처리 시스템의 구성이 가능하여 여러 분야에서 폭넓게 사용되고 있다.
그러나, 상기와 같은 1차원 바코드로 인코딩된 정보는 단일의 차원으로 연장되는 바와 공백의 폭에 의해서만 표현된다. 모든 바 및 공백은 그 수직 방향으로 균일한 높이를 갖고 있으므로, 정보는 오직 1차원 바코드의 수평 방향으로 저장된다. 따라서, 일정 폭 이내에 데이터를 기록해야 하므로, 제한된 양의 데이터만을 기록할 수 있다.
최근에는, 정보 기술에 대한 요구가 증가함에 따라, 연관된 데이터베이스를 제거하고 부호 자체에 더 많은 정보를 저장하는 것에 대한 요구가 증가하고 있다. 이러한 요구의 결과로서, 1980년대 중반 이후 1차원 바코드의 확장으로서, 2차원 바코드가 등장하였다. 이러한 2차원 코드는 양 축(X축 방향, Y축 방향)으로 데이터를 배열하여 평면화시킨 것으로서, 1차원 바코드가 갖고 있는 문제점, 즉 데이터 표현의 제한성을 확대하였다. 이러한 2차원 바코드는 일반적으로 2가지 카테고리로 분류될 수 있다. 즉, 하나는 스택형 바코드로서, 1차원 바코드의 상부에 다른 1차원 바코드가 중첩하여 제공되는 것이고, 다른 하나는 매트릭스 바코드로서, 진정한 2차원 매트릭스로 설계되는 것이다.
매트릭스 바코드인 QR코드는 정사각형 모양이고, 부호의 세 코너에 위치한 어둡고 밝은 정사각형(파인더 패턴; 인식자)에 의해 인식될 수 있다. 인식자 때문에, QR코드 부호는 CCD 어레이 카메라로 빠르게 판독될 수 있다.
또한, 기존의 2차원 바코드는 한 개의 이미지로 정보를 표시하고 있어서, 종이와 같이 복사 등의 방법으로 복제가 가능하다는 문제점이 있다. 이를 방지하기 위해 바코드를 표시할 때 암호를 입력하게 할 수 있으나, 암호를 입력해야 하는 불편함이 수반되고 암호 관리에 대한 부담이 추가적으로 발생하게 된다.
한편, 최근 이동통신을 비롯한 정보 기술이 발전함에 따라, 이동통신 단말기와 2차원 바코드를 결합하여 다양한 서비스가 이루어지고 있다. 예컨대, SMS나 MMS를 활용하여 소정의 정보(데이터)를 담고 있는 2차원 바코드를 사용자의 이동통신 단말기에 전송하여, 그 바코드에 기록된 각종 정보를 활용하여, 신분 확인을 위한 ID 카드, 상품권의 진위를 확인하는 수단 등으로서 활용하고 있다. 하지만, 개인정보를 2차원 바코드(예를들어, QR코드)로 변환하여 사용하는 경우, 개인정보가 허가되지 않은 제3의 사람에게 유출되는 문제점이 있다.
예를들어, 택배 주소를 수기 방식이 아닌 QR코드 형태로 인쇄하여 사용되는 경우, QR코드를 인식할 수 있는 전자장치(예를들어, 스마트폰)가 있다면, QR코드로 인쇄된 택배 주소라 할지라도 누구나 주소지 정보와 같은 개인정보를 용이하게 획득할 수 있다. 이에 따라, 개인 정보가 외부로 유출되는 문제점이 있다.
이에 본 발명의 기술적 과제는 이러한 종래의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 2차원 바코드가 갖고 있는 문제점을 해결하기 위해, 광학코드를 암호화하여 암호화된 광학코드를 생성하기 위한 광학코드 암호화 방법을 제공하는 것이다.
삭제
삭제
삭제
삭제
상기한 본 발명의 목적을 실현하기 위하여 일 실시예에 따르면, 광학코드 암호화 방법에서, 광학코드 발행인의 조작에 의해 광학코드의 암호화 모드가 스마트폰에 설정됨에 따라, 상기 광학코드 발행인의 조작에 의해 상기 스마트폰을 통해 입력되는 평문 및 패스워드를 암호화하여 암호문과 비밀키를 생성하는 단계; 및 코드 매트릭스를 근거로 상기 비밀키와 상기 암호문에 대해 암호화된 광학코드를 생성하는 단계를 포함한다. 상기 암호문과 비밀키를 생성하는 단계는, 광학코드 유형 선택 화면을 상기 스마트폰의 화면에 표시하는 단계; 상기 광학코드 유형 선택 화면에서 상기 광학코드 발행인에 의해 특정 평문 유형이 선택됨에 따라, 선택된 평문 유형에 따른 평문을 수신하는 단계; 상기 광학코드 발행인에 의해 패스워드가 상기 스마트폰의 화면을 통해 입력됨에 따라, 상기 입력된 패스워드를 암호화하여 상기 비밀키를 생성하는 단계; 상기 패스워드를 근거로 상기 평문을 암호화하여 상기 암호문을 생성하는 단계; 및 상기 암호문과 상기 비밀키를 결합하는 단계를 포함한다. 상기 암호화된 광학코드는 광학코드 수취인의 스마트폰에 의해 촬영되어 상기 광학코드 수취인이 입력하는 패스워드를 근거로 복호화되되, 상기 광학코드 수취인이 입력하는 패스워드는 암호화되고, 상기 촬영을 통해 획득된 패스워드와 암호화된 패스워드가 서로 일치하면 상기 암호문이 복호화된다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
이러한 광학코드 암호화 방법에 의하면, 암호화하여 광학코드를 생성하고, 암호화된 광학코드의 촬영을 통해 독출된 비밀키와 광학코드 수취인이 입력한 패스워드의 비교를 통해 복호화하므로써, 개인정보나 비밀이 요구되는 각종 정보가 광학코드로 변환되더라도 정당하지 않은 수취인이 개인정보나 비밀이 요구되는 각종 정보를 열람하는 것을 방지할 수 있다.
도 1은 본 발명의 일 실시예에 따른 스마트폰을 이용한 광학코드 암복호화 시스템을 개략적으로 설명하기 위한 구성도이다.
도 2는 도 1에 도시된 스마트폰을 개략적으로 설명하기 위한 블록도이다.
도 3은 도 2에 도시된 메모리부에 저장되는 광학코드 암복호화 알고리즘을 논리적으로 설명하기 위한 블록도이다.
도 4는 도 2에 도시된 메모리부에 저장된 스마트폰 어플리케이션 프로그램(이하, 어플)을 구현하기 위한 아이폰 오에스 계층구조를 설명하기 위한 개념도이다.
도 5는 본 발명의 일 실시예에 따른 스마트폰을 이용한 광학코드 암호화 방법을 개략적으로 설명하기 위한 흐름도이다.
도 6a는 본 발명에 따른 광학코드 암복호화 어플의 메인화면이고, 도 6b는 광학코드 암복호화 어플의 QR코드 생성 화면이며, 도 6c는 도 6d는 광학코드 암복호화 어플의 QR코드 색상 선택을 위한 화면이고, 도 6f는 암호화된 QR코드의 배포를 위한 화면이다.
도 7은 도 5에 도시된 평문 및 비밀키 암호화 단계를 설명하기 위한 흐름도이다.
도 8a는 광학코드 암복호화 어플의 QR코드 유형 선택 화면이다. 도 8b는 광학코드 암복호화 어플의 QR코드의 비밀키를 입력하기 위한 화면이다.
도 9는 본 발명의 일 실시예에 따른 스마트폰을 이용한 광학코드 복호화 방법을 개략적으로 설명하기 위한 흐름도이다.
도 10은 비밀키에 의해 암호화된 QR코드의 내용을 설명하기 위한 개념도이다.
도 11a는 QR코드 카메라 스캔을 위한 화면이고, 도 11b는 QR코드 화면 스캔에 의해 촬영된 화면이고, 도 11c는 패스워드를 입력받기 위한 화면이고, 도 11d는 패스워드에 의해 복호화된 QR코드 스캔 결과를 나타낸 화면이다.
도 12a는 QR코드 스캔 히스토리 관리를 위해 표시되는 화면이고, 도 12b는 QR코드 결과 상세보기에 대응하여 표시되는 화면이며, 도 12c는 히스토리 보관함에 대응하여 표시되는 화면이다.
도 13은 본 발명의 다른 실시예에 따른 스마트폰을 이용한 광학코드 암복호화 시스템을 개략적으로 설명하기 위한 구성도이다.
도 14는 도 13에 도시된 스마트폰의 메모리부에 저장된 광학코드 암복호화 알고리즘을 논리적으로 설명하기 위한 블록도이다.
도 15는 도 13에 도시된 공개키 처리 시스템을 개념적으로 설명하기 위한 블록도이다.
도 16은 본 발명의 다른 실시예에 따른 스마트폰을 이용한 광학코드 암호화 방법을 개략적으로 설명하기 위한 흐름도이다.
도 17은 암호화된 QR코드의 암호화키 방식을 문의하는 사용자인터페이스 화면이다.
도 18은 공개키에 의해 암호화된 QR코드를 설명하기 위한 개념도이다.
도 19는 본 발명의 다른 실시예에 따른 공개키 관리 서버의 동작을 설명하기 위한 흐름도이다.
도 20은 본 발명의 다른 실시예에 따른 스마트폰을 이용한 광학코드 복호화 방법을 개략적으로 설명하기 위한 흐름도이다.
도 21은 도 20에 도시된 비밀키를 근거로 암호문을 복호화하는 단계를 설명하기 위한 흐름도이다.
도 22는 도 20에 도시된 공개키를 근거로 암호문을 복호화하는 단계를 설명하기 위한 흐름도이다.
이하, 첨부한 도면들을 참조하여, 본 발명을 보다 상세하게 설명하고자 한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하여 도시한 것이다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 스마트폰을 이용한 광학코드 암복호화 시스템을 개략적으로 설명하기 위한 구성도이다. 이하, 상세한 설명에서는 광학코드의 일례로 QR코드를 암복호화하는 것을 설명한다. 하지만, 당업자하면, QR코드뿐만 아니라, 1차원 바코드, 스택형 바코드 등과 같이 다양한 광학코드를 암호화하는 것도 가능하다. 본 실시예에서는 휴대전화 기능과 컴퓨팅 기능을 갖는 스마트폰을 전자장치의 일례로 설명하지만, 다양한 전자장치를 통해 광학코드 암복호화 기능이 구현될 수 있음은 자명하다.
도 1을 참조하면, QR코드 발행인측 스마트폰(100)은 비밀키를 이용하여 평문을 암호화하여 암호화된 QR코드를 생성한다. 암호화된 QR코드는 프린트되어 인쇄물에 출력될 수도 있고, 블로그나 인터넷 카페와 같은 온라인상에 개재될 수도 있고, 메일 전송 등을 통해 다른 사람의 메일 등에 전송될 수도 있다. 상기한 평문은 문자, 명함정보, 단문메시지(SMS), 장문메시지(MMS), 위치정보, 유알엘(URL), 전화번호, 각종 정보문자열중 어느 하나일 수 있다.
QR코드 수취인측 스마트폰(200)은 비밀키를 이용하여 암호화된 QR코드를 복호화하여 평문을 획득하고, 획득된 평문을 표시한다.
이상에서 설명된 바와 같이, 본 발명의 일 실시예에 따르면, 스마트폰에서 비밀키의 선택에 따라 암호화된 QR코드가 발행되고, 스마트폰에서 암호화된 QR코드가 촬영되는 동시에 패스워드 확인 과정을 통해 암호화된 QR코드를 복호화하여 스마트폰 브라우저에 표시하거나 특정 기능을 수행되도록 하므로써, 정보의 보호가 필요한 분야에서 정보를 확인하고 안전하게 보호할 수 있다.
도 2는 도 1에 도시된 스마트폰을 개략적으로 설명하기 위한 블록도이다.
도 2를 참조하면, 스마트폰(100)는 제어부(110), 터치인식부(120), 디스플레이부(130), 메모리부(140), 무선회로부(150), 근거리 통신부(160), 오디오처리부(170) 및 촬영부(180)를 포함한다. 본 실시예에서는 QR코드 발행인측 스마트폰(100)을 개략적으로 설명하지만, 상기한 구성은 QR코드 수취인측 스마트폰(200)에도 동일하게 적용될 수 있음은 자명하다.
상기 제어부(110)는 상기 터치인식부(120), 상기 디스플레이부(130), 상기 메모리부(140), 상기 무선회로부(150), 상기 근거리 통신부(160), 상기 오디오처리부(170) 및 상기 촬영부(180)와 같은 구성요소들과의 신호 및/또는 데이터를 수신하거나 송신하는 과정을 통해 스마트폰의 모든 기능을 통제하고 제어한다.
상기 제어부(110)는 메모리부(140)에 탑재된 QR코드 암복호 어플리케이션 프로그램을 기동시켜, QR코드를 암호화하는 동작, 암호화된 QR코드를 복호화하는 동작을 수행한다.
상기 터치인식부(120)는 사용자의 터치동작에 따른 명령을 인식하여 상기 제어부(110)에 제공한다.
상기 디스플레이부(130)는 상기 제어부(110)의 제어에 따라, 스마트폰의 정보를 알려주는 정보 화면, 여러 가지 기능을 보여주는 메뉴 화면, 문자나 숫자를 입력하도록 하는 입력 화면, 이에 따른 결과 화면 등을 표시한다. 따라서, 스마트폰 사용자는 이를 보고 자기가 원하는 기능을 수행할 수 있게 된다.
상기 메모리부(140)는 상기 제어부(110)에 의해 처리된 기능을 구동하는 프로그램, 사용자의 편리성과 기본적인 여러 기능을 구현하는 소정의 프로그램 등을 저장한다. 상기 메모리부(140)는 보통 플래쉬 메모리(flash memory), 램(RAM; Random Access Memory) 및 롬(ROM; Read Only Memory)을 포함한다. 이중에서 플래쉬 메모리에는 기본적인 실시간(real time) 처리운영시스템(OS; operating system)과 스마트폰의 호처리 소프트웨어(software)가 저장되며, 이들 프로그램의 변수 및 상태는 상기 램으로부터 읽어들여 동작시킨다. 상기 롬은 EEPROM(Electrically Erasable Programmable Read Only Memory)으로 구성되고, 전기적으로 지우거나 다시 저장할 수 있는 비휘발성 데이터가 저장되며, 상기 제어부(100)의 명령에 따른 입/출력을 수행한다. 상기 롬에 저장되는 데이터로서는 지워지지 않고 반영구적으로 사용할 수 있는 NAM 파라메터(number assignment module parameter), 기타 저장용 데이터(전화번호 및 이름, 문자메시지, 동영상 등) 등이다.
또한, 상기 플래쉬 메모리는 처리속도가 빠르고 데이터가 보존되는 비휘발성(non-volatile) 메모리로서, 스마트폰의 소프트웨어를 업그레이드할 경우 업그레이드된 소프트웨어가 저장된다.
예를들어, 본 발명에 따른 동작을 수행하는 QR코드 암복호 어플리케이션 프로그램은 상기 플래쉬 메모리에 저장될 수 있다. 상기 QR코드 암복호 어플리케이션 프로그램은 QR코드 발행인의 조작에 의해 광학코드의 암호화 모드가 설정됨에 따라, QR코드 발행인의 조작에 따른 평문 및 패스워드를 암호화하여 암호문과 비밀키를 생성하는 동작과, 코드 매트릭스를 근거로 상기 비밀키와 상기 암호문에 대해 암호화된 QR코드를 생성하여 출력하는 동작을 수행할 수 있다.
부가적으로, 상기 QR코드 암복호 어플리케이션 프로그램은 QR코드 수취인의 조작에 의해 광학코드의 복호화 모드가 설정됨에 따라, 암호화된 QR코드를 촬영하는 동작과, 촬영된 QR코드로부터 암호문과 비밀키를 독출하는 동작과, 수취인으로부터 입력되는 패스워드를 암호화하는 동작과, 암호화된 패스워드와 독출된 비밀키가 일치하는 지의 여부를 체크하는 동작과, 상기 암호화된 패스워드와 상기 독출된 패스워드가 불일치하는 것으로 체크되면, 패스워드 불일치 메시지를 출력하는 동작과, 상기 암호화된 패스워드와 상기 독출된 패스워드가 일치하는 것으로 체크되면, 상기 암호문을 복호화하는 동작을 더 수행할 수 있다.
상기 무선회로부(150)는 이동통신망과 통신채널을 설정하여, 외부의 전화기가 발송하는 전화통화나 문자메시지, 또는 음성데이터를 안테나를 통하여 수신하고, 이를 상기 제어부(110)에 전송하거나, 상기 메모리부(140)에 저장되어 있는 데이터를 안테나를 통해 송신측의 전화기에게 전송하는 기능을 수행한다.
상기 근거리 통신부(160)는 근거리 전자장치간에 설정된 근거리무선통신채널을 통해 근거리 전자장치로부터 제공되는 정보를 수신하거나, 정보를 근거리 전자장치에 제공하는 기능을 수행할 수 있다.
상기 오디오처리부(170)는 스마트폰의 사용자가 마이크를 통하여 녹음하는 아날로그 음성을 디지털 데이터로 처리하여 이를 제어부(110)에 전송하거나, 외부로부터 수신된 데이터를 처리하여 스피커를 통하여 아날로그음성을 출력하는 역할을 담당한다.
상기 촬영부(180)는 상기 제어부(110)의 제어에 응답하여 영상을 촬영하는 기능을 수행한다. 본 실시예에서, 상기 촬영부(180)는 QR코드를 촬영하는 기능을 수행할 수 있다.
도 3은 도 2에 도시된 메모리부(140)에 저장되는 광학코드 암복호화 알고리즘(300)을 논리적으로 설명하기 위한 블록도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 광학코드 암복호화 알고리즘(300)은 QR코드 암호화부(310), 브라우저 기능부(320), 기억부(330), QR코드 독출부(340) 및 QR코드 복호화부(350)를 포함한다. 상기한 QR코드 암호화부(310), 브라우저 기능부(320), 기억부(330), QR코드 독출부(340) 및 QR코드 복호화부(350)는 설명의 편의를 위해 논리적으로 구분하였을 뿐 하드웨어적으로 구분한 것은 아니다.
QR코드 암호화부(310)는 QR코드 발행인의 조작에 따라 QR코드를 암호화한다. 이러한 QR코드의 암호화는 비밀키를 근거로 암호화될 수도 있다. 상기 비밀키는 QR코드 발행인이 입력하는 패스워드를 단방향 암호화 알고리즘을 이용하여 암호화된 것이다.
브라우저 기능부(320)는 QR코드 발행인에 의한 QR코드의 암호화 또는 복호화를 위한 각종 사용자인터페이스 화면들을 제공한다. 상기한 각종 사용자인터페이스 화면들은 후술되는 도면들에서 예시된다.
기억부(330)는 암호화된 QR코드를 저장하거나 복호화된 QR코드를 저장한다. 부가적으로, QR코드로 변환하기 위한 코드 매트릭스를 저장할 수도 있다.
QR코드 독출부(340)는 카메라에 의해 촬영된 QR코드에서 비밀키와 암호화된 평문(이하, 암호문)을 독출한다.
QR코드 복호화부(350)는 QR코드 수취인의 조작에 따라 QR코드를 복호화한다. 예를들어, QR코드가 비밀키로 암호화된 경우, 해당 비밀키를 이용하여 QR코드를 복호화한다. 본 실시예에서, 상기 비밀키는 QR코드 발행인에 의해 입력된 패스워드를 단방향 암호화 알고리즘을 이용하여 암호화된 것이다. 따라서, QR코드 수취인이 입력하는 패스워드는 해당 단방향 알고리즘으로 암호화된 후, QR코드 독출부에 의해 독출된 비밀키와 동일 여부를 비교한 후, 동일한 것으로 체크되면 QR코드를 복호화한다.
이하에서, 스마트폰중 애플사에서 제공되는 아이폰(iPhone)의 OS 계층 구조에 대해 간략히 설명한다.
도 4는 도 2에 도시된 메모리부에 저장된 스마트폰 어플리케이션 프로그램(이하, 어플)을 구현하기 위한 아이폰 오에스 계층구조를 설명하기 위한 개념도이다.
도 4를 참조하면, 아이폰(iPhone)의 OS 계층 구조는 코아 오에스(Core OS) 계층, 코어 서비시스(Core Services) 계층, 미디어(Media) 계층 및 코코아 터치(Cocoa Touch) 계층으로 이루어진다.
상기 코아 오에스 계층은 메모리/프로세서 관리, 파일 시스템, 네트워크, 각종 하드웨어 드라이버 등, 운영체제 하단의 커널 레벨에서 제공하는 커널 API이다.
상기 코어 서비시스 계층은 코어 파운데이션(Core Foundation) 모듈, 씨에프네트워크(CFNetwork) 모듈, 코어 로케이션(Core Location) 모듈, 에스큐라이트(SQLite) 모듈 및 엑스엠엘(XML) 모듈을 포함하고, Core Foundation, CFNetwork, SQLite, POSIX threads와 같은 파일의 입/출력, 낮은 수준의 데이터 타입, 소켓 등에 관련된 서비스이다. 상기 코어 서비시스 계층은 코아 오에스(Core OS) 레벨에 비교적 쉽게 접근할 수 있는 API를 제공하며 대부분 C-언어로 된 프레임워크를 제공한다. 여기서 제공하는 많은 기능들은 코코아터치의 파운데이션 프레임 워크(Foundation Framework)에서 오브젝티브-씨(Objective-C) 프레임워크로 제공된다.
상기 코어 파운데이션 모듈은 배열, 스트링, 날짜, URL, 로우레벨 데이터 등 아이폰 어플리케이션 프로그램을 위한 기본적인 C-언어 API를 제공하고, 상기 씨에프네트워크 모듈은 BSD 소켓 및 HTTP, FTP 프로토콜 등 네트워크에 쉽게 접근할 수 있는 API를 제공하는 프레임워크이다.
상기 코어 로케이션 모듈은 GPS, 주변검색 등에 사용할 수 있는 사용자의 현재 위치(위도, 경도) 정보와 관련된 API를 제공하는 프레임워크이다. 본 실시예에 따른 QR코드 암복호 어플리케이션 프로그램은 상기한 코어 로케이션 모듈을 이용하여 사용자의 현재 위치 정보를 본사 서버에 제공한다.
상기 에스큐라이트 모듈은 아이폰 어플리케이션 프로그램에서 쉽게 사용할 수 있는 파일기반의 경량 데이터베이스이고, 상기 엑스엠엘 모듈은 XML 파싱을 위한 libXML2 라이브러리를 제공한다. 이외에도 상기 코어 서비시스 계층은 보안, 주소록 등에 관련된 서비스를 제공한다.
상기 미디어 계층은 쿼츠(Quartz) 모듈, 코어 애니메이션(Core Animation) 모듈, 오픈지엘 이에스(OpenGL ES) 모듈, 코어 오디오(Core Audio) 모듈, 오픈에이엘(OpenAL) 모듈 및 비디오(Video) 모듈을 포함하고, 비디오, 오디오, 2D/3D 그래픽, 애니메이션을 구현할 수 있는 API를 제공한다.
상기 쿼츠 모듈은 OS X의 벡터를 기반으로 한 그래픽 엔진이다. 선과 도형을 그리고 이미지, 비트맵, PDF를 출력하고 색상, 위치에 관련된 C-언어로 된 API를 Core Graphic 프레임워크를 통해 제공한다. 상기 코어 애니메이션 모듈은 각종 애니메이션과 시각효과를 제공하는 Objective-C로 된 프레임워크이다.
상기 오픈지엘 이에스 모듈은 게임 등과 같은 고성능의 2D/3D 그래픽 출력을 위한 OpenGL ES 1.1에 개발한 C 프레임워크이다. OpenGL ES를 사용한 게임은 이를 지원하는 다양한 모바일 플랫폼에서의 포팅을 쉽게 할 수 있다. 상기 코어 오디어 모듈은 마이크를 통해 녹음하고 음악파일을 출력하고 각종 음향효과를 제공하는 C로된 오디오 관련 프레임워크이고, 상기 오픈에이엘 모듈은 OpenGL ES와 유사한 개념의 크로스 플랫폼을 지원하는 게임 등을 위한 고성능 3D 오디오 라이브러리이다. 상기 비디오 모듈은 mov, mp4, 3gp와 같은 각종 동영상 파일의 출력을 지원한다. 이는 Objective-C를 기반으로 한 미디어 플레이어 프레임워크(Media Player framework)를 이용하여 손쉽게 접근할 수 있다.
상기 코코아 터치 계층은 파운데이션 프레임워크(Foundation Framework) 모듈 및 유아이키트 프레임워크(UIKit Framework) 모듈을 포함하고, iPhone 개발의 기본이 되는 계층으로 Objective-C를 기반으로 한 핵심적인 두개의 프레임워크들을 가지고 있다. 사용자 인터페이스, 이벤트 처리 등과 함께 이상에서 언급한 로우레벨의 기술들을 보다 쉽게 사용할 수 있는 프레임워크를 제공한다.
상기 파운데이션 프레임워크 모듈은 배열, 스트링, 날짜 로우레벨 데이터 등에 관련된 클래스를 제공하는 기본적인 프레임워크이다. 위의 코어 파운데이션(Core Foundation)에서 제공하는 기본 API들의 Objective-C 레퍼 클래스를 제공한다.
상기 유아이키트 프레임워크 모듈은 각종 컨트롤, 윈도우등의 UI, 이벤트 처리 등 iPhone 어플리케이션 프로그램의 사용자 인터페이스와 관련된 API를 제공하는 프레임워크이다.
도 5는 본 발명의 일 실시예에 따른 스마트폰을 이용한 광학코드 암호화 방법을 개략적으로 설명하기 위한 흐름도이다. 도 6a는 본 발명에 따른 광학코드 암복호화 어플의 메인화면이다. 도 6b는 광학코드 암복호화 어플의 QR코드 생성 화면이다. 도 6c는 도 6d는 광학코드 암복호화 어플의 QR코드 색상 선택을 위한 화면이다. 도 6f는 암호화된 QR코드의 배포를 위한 화면이다.
도 5를 참조하면, QR코드 발행인으로부터 암호화된 QR코드의 생성이 요청되는지의 여부를 체크한다(단계 S100). QR코드 발행인은 암호화된 QR코드를 생성하기 위해 도 6a에 도시된 바와 같이 어플을 기동시킨다. 어플이 기동됨에 따라, QR코드 생성을 위한 버튼, QR코드 스캔을 위한 버튼, 스캔된 QR코드가 저장된 앨범 확인을 위한 버튼 등이 표시될 수 있다.
단계 S100에서, 암호화된 QR코드의 생성이 요청되는 체크되면, 평문 및 상기 평문에 대응하는 패스워드를 암호화하여 비밀키와 암호화된 평문(이하, 암호문)을 생성한다(단계 S110). 예를들어, QR코드 발행인은 도 6b에 도시된 바와 같은 화면상에 평문을 기입하고, 기입한 평문에 대해 암호화를 설정할지 여부를 확인하는 과정을 통해 암호화된 QR코드의 생성을 요청할 수 있다. 부가적으로, 도 6c에 도시된 바와 같이, QR코드 발행인은 QR코드의 색상을 별도로 선택할 수도 있다.
도 7은 도 5에 도시된 평문 및 비밀키 암호화 단계를 설명하기 위한 흐름도이다. 도 8a는 광학코드 암복호화 어플의 QR코드 유형 선택 화면이다. 도 8b는 광학코드 암복호화 어플의 QR코드의 비밀키를 입력하기 위한 화면이다.
도 7을 참조하면, 평문 유형이 선택되는지의 여부를 체크한다(단계 S111). 예를들어, 광학코드 암복호화 어플은 암호화하고자 하는 평문을 선택받기 위해 도 8a에 도시된 바와 같은 QR코드 유형 선택 화면을 표시한다. 상기 QR코드 유형에는 명함, 이메일, 좌표, SMS, MMS, 문자, 전화번호, URL, 유투브 등일 수 있다. QR코드 발행인은 상기한 QR코드 유형 선택 화면에서 원하는 유형을 선택할 수 있다.
단계 S111에서 평문 유형이 선택됨에 따라, 선택된 평문 유형에 따른 평문을 QR코드 발행인으로부터 수신한다(단계 S112).
이어, QR코드 발행인의 조작에 따른 패스워드의 입력 여부를 체크한다(단계 S113). 예를들어, QR코드 발행인은 도 8b에 도시된 바와 같이 표시되는 화면에 패스워드를 기입하는 방식으로 패스워드를 입력할 수 있다.
단계 S113에서 패스워드가 입력됨에 따라, 입력된 패스워드를 암호화하여 비밀키(즉, 암호화된 패스워드)를 생성한다(단계 S114). 본 실시예에서, 패스워드를 암호화하는 기법은 MD5(Message Digest, Version5)와 같은 단방향 암호화 기술을 활용한다. MD5는 512비트의 블록을 입력하여 128비트의 압축된 메시지를 출력한다.
예를들어, <myKey>라는 패스워드로 <Hello SecretQR!> 이라는 평문을 암호화하는 경우, 패스워드인 <myKey>가 노출되면 안되므로 MD5를 이용하여 아래의 xml 코드와 같이 단방향 암호화한다. 이때, <myKey>라는 문자열은 복호가 불가능하다.
Figure 112011055443276-pat00001
상기한 MD5에 의해 암호화에 의해 생성된 xml 코드는 아래와 같다.
Figure 112011055443276-pat00002
이어, QR코드 발행인의 조작에 따라 입력된 패스워드를 근거로 평문을 암호화하여 암호문을 생성한다(단계 S115). 예를들어, 평문은 < Hello SecretQR!>이므로 아래의 xml 코드와 같이 대칭키 암호화 알고리즘을 이용하여 암호화한다.
Figure 112011055443276-pat00003
상기한 암호화에 의해 생성된 xml 코드는 아래와 같다.
Figure 112011055443276-pat00004
이어, 암호문과 비밀키(즉, 암호화된 패스워드)를 결합한다(단계 S116). 예를들어, 암호문이
<C7%0A%C7W%EB%B8%DBJCU%21%E3%8F%A9%02%C3%FC>이고, 비밀키(또는 암호화된 패스워드)가
<DF658A103F07DC012AB905014C32D4>이므로, 암호문과 비밀키는 아래와 같은 xml 코드로서 결합된다.
Figure 112011055443276-pat00005
도 5를 다시 참조하면, 단계 S110에 이어, 스마트폰의 메모리내에 코드 매트릭스가 존재하는지의 여부를 체크한다(단계 S120). 본 실시예에서 코드 매트릭스는 암호문과 비밀키를 <0>이나 <1>과 같은 숫자열로 변환하는 알고리즘을 칭한다.
스마트폰의 메모리내에 코드 매트릭스가 존재하지 않은 것으로 체크되면, 도 7의 단계 S116에서 결합된 암호문과 암호화된 패스워드를 서버에 전송하여 코드 매트릭스의 발행을 요청한다(단계 S130). 이에 따라, 서버에서는 결합된 암호문과 암호화된 패스워드에 대응하는 코드 매트릭스를 생성한다.
이어, 서버로부터 상기 암호문과 비밀키에 대응하는 코드 매트릭스를 수신한다(단계 S140). 예를들어, QR코드 발행인측 스마트폰은 아래와 같은 xml 코드 형태로 코드 매트릭스를 수신한다.
Figure 112011055443276-pat00006
한편, 단계 S120에서 스마트폰의 메모리내에 코드 매트릭스가 존재하는 것으로 체크되거나 단계 S140에서 서버로부터 코드 매트릭스가 수신됨에 따라, 코드 매트릭스를 근거로 암호화된 QR코드를 생성한다(단계 S150).
이어, 암호화된 QR코드를 출력한다(단계 S160). 예를들어, 암호화된 QR코드는, 도 6d에 도시된 바와 같이, 이메일 보내기 버튼을 터치 또는 클릭하여 암호화된 QR코드를 다른 사람에게 발송할 수도 있고, 내 앨범에 저장 버튼을 터치 또는 클릭하여 암호화된 QR코드를 일차적으로 스마트폰내에 저장할 수도 있다. 상기한 암호화된 QR코드의 출력은 프린트물에 인쇄될 수도 있고, 유무선 출력될 수도 있다. 유선 출력되는 경우, 스마트폰에 별도의 케이블을 통해 해당 암호화된 QR코드가 다른 전자장치에 출력될 수 있다. 무선 출력되는 경우, 이동통신망이나 인터넷망을 통해 다른 전자장치에 해당 암호화된 QR코드가 전송될 수 있다.
한편, 단계 S100에서, 암호화된 QR코드의 생성이 요청되지 않은 것으로 체크되면, 암호화되지 않은 QR코드를 생성한다(단계 S170). 상기한 암호화되지 않은 QR코드의 생성은, 예를들어, 사용자가 평문을 입력함에 따라 스마트폰의 메모리내에 코드 매트릭스가 존재하면, 해당 코드 매트릭스를 근거로 평문을 QR코드로 변환하는 과정을 통해 QR코드를 생성한다. 한편, 스마트폰의 메모리내에 코드 매트릭스가 존재하지 않는다면, 서버에 평문을 전송하여 코드 매트릭스의 변환을 요청한다. 이어, 서버로부터 코드 매트릭스를 제공받아 QR코드를 생성한다.
도 9는 본 발명의 일 실시예에 따른 스마트폰을 이용한 광학코드 복호화 방법을 개략적으로 설명하기 위한 흐름도이다. 도 10은 비밀키에 의해 암호화된 QR코드를 설명하기 위한 개념도이다. 도 11a 내지 도 11g는 본 발명에 일 실시예에 따른 스마트폰을 이용한 광학코드 복호화 과정을 개략적으로 설명하기 위한 화면들이다. 특히, 도 11a는 QR코드 카메라 스캔을 위한 화면이고, 도 11b는 QR코드 화면 스캔에 의해 촬영된 화면이고, 도 11c는 패스워드를 입력받기 위한 화면이고, 도 11d는 패스워드에 의해 복호화된 QR코드 스캔 결과를 나타낸 화면이다.
도 9을 참조하면, 암호화된 QR코드를 카메라를 이용하여 촬영한다(단계 S200). 본 실시예에서, 암호화된 QR코드는 평문이 암호화된 부분과 패스워드가 암호화된 부분을 포함한다. 여기서, 평문은 단방향 암호화 기술, 예를들어, MD5에 의해 암호화되고, 패스워드는 대칭키 암호화 기술에 의해 암호화된다. 본 실시예에서, 도 11a와 같은 QR코드 카메라 스캔을 위한 화면을 대상물에 맞추는 방식으로 암호화된 QR코드를 촬영한다.
이어, QR코드로부터 비밀키 및 암호문을 독출한다(단계 S210). 예를들어, 단계 S210에 의해 독출되는 암호화된 패스워드는 < DF658A103F07DC012AB905014C32D4>이고, 독출되는 암호문은 < C7%0A%C7W%EB%B8%DBJCU%21%E3%8F%A9%02%C3%FC>이다. 본 실시예에서, 암호화된 패스워드는 단방향 암호기술에 의해 암호화된 것이고, 암호문은 대칭키 암호 기술에 의해 암호화된 것이다.
단계 S210에 이어, QR코드 수취인으로부터 패스워드가 입력되는지의 여부를 체크한다(단계 S220). 예를들어, 도 11c와 같은 패스워드 입력을 위한 화면을 표시하여 QR코드 수취인으로부터 패스워드를 입력받을 수 있다. 부가적으로 패스워드를 잊었을 때, QR코드 수취인은 별도의 패스워드 힌트를 터치 또는 클릭하는 방식으로 패스워드의 힌트를 제공받을 수도 있다.
단계 S220에서 QR코드 수취인으로부터 패스워드가 입력됨에 따라, QR코드 수취인에 의해 입력된 패스워드를 암호화한다(단계 S230). 예를들어, QR코드 수취인이 패스워드로서 <myKey>이라는 문자열을 기입하면, 암호화된 패스워드는 <DF658A103F07DC012AB905014C32D4>이다. QR코드를 생성할 때 적용된 패스워드는 단방향 암호화 알고리즘에 의해 암호화된 것으로서, 복호화가 불가능하다. 따라서, QR코드 발행인에 의해 입력된 패스워드가 암호화된 비밀키와 QR코드 수취인에 의해 입력된 패스워드를 서로 비교할 수 없다. 이러한 이유로 QR코드 수취인에 의해 입력된 패스워드를 단방향 암호화 알고리즘을 이용하여 암호화한다.
이어, 암호화된 패스워드와 비밀키가 일치하는 지의 여부를 체크한다(단계 S240). 본 실시예에서, 비밀키는 MD5에 의해 암호화되었고, 암호화된 패스워드 역시 MD5에 의해 암호화되었으므로, 암호화된 패스워드와 비밀키는 서로 비교될 수 있다.
단계 S240에서 암호화된 패스워드와 비밀키가 일치하지 않은 것으로 체크되면, 패스워드가 일치하지 않다는 패스워드 불일치 메시지를 출력한 후(단계 S250), 단계 S220으로 피드백한다.
단계 S240에서 암호화된 패스워드와 비밀키가 일치하는 것으로 체크되면, 암호문을 복호화한다(단계 S260).
복호화된 평문을 화면에 표시하고, 특정 기능을 수행한다(단계 S270). 예를들어, 도 11d에 도시된 바와 같이, 복호화된 평문은 화면상에 표시된다. 즉, QR코드의 생성시 입력된 패스워드가 암호화된 비밀키와 QR코드를 복호화하기 위해 QR코드 수취인에 의해 입력되어 암호화된 패스워드가 동일하다면, 패스워드는 <myKey>이. 따라서, <myKey>라는 패스워드를 이용하여 암호문을 복호화하는 과정을 통해 복호화된 평문인 <Hello SecretQR!>를 화면에 표시한다.
본 실시예에서, 특정 기능이 복호화된 평문이 URL이라면, 인터넷 브라우져 실행 웹 화면으로 자동 이동되어 해당 URL에 대응하는 웹 화면을 표시한다. 한편, 특정 기능이 전화번호라면, 전화걸기를 실행한다. 한편, 특정 기능이 SMS 또는 MMS라면, 문자보내기를 실행한다. 한편, 특정 기능이 좌표라면, 예를들어, 구글지도위에 좌표를 표시한다. 한편 특정 기능이 이메일이라면, 이메일 보내기를 실행하며, 특정 기능이 명함이라면, 해당 명함 정보를 화면에 표시한 후 해당 명함에 상응하는 각종 정보(이름, 폰번호, 회사명, 회사 전화번호, 회사 팩스번호, 이메일 등)를 스마트폰에 저장하기 위한 화면을 표시한다.
이상에서는 QR코드를 암호화하는 일련의 과정과 QR코드를 복호화하는 일련의 과정을 설명하였다. 이러한 QR코드를 암복호화하는 광학코드 암복호화 어플은 사용자, 예를들어, QR코드 발행인 또는 QR코드 수취인에게 QR코드의 암호화나 복호화에 대응하는 다양한 사용자인터페이스 화면들을 더 제공할 수 있다.
도 12a 내지 도 12c는 본 발명에 따른 광학코드 암복호화 어플에 의해 암복호화된 QR코드 확인 과정을 개략적으로 설명하기 위한 화면들이다. 특히, 도 12a는 QR코드 스캔 히스토리 관리를 위해 표시되는 화면이다. 도 12b는 QR코드 결과 상세보기에 대응하여 표시되는 화면이다. 도 12c는 히스토리 보관함에 대응하여 표시되는 화면이다.
예를들어, QR코드 수취인은 히스토리 버튼을 터치 또는 클릭하므로써, 도 12a에 도시된 바와 같이, 자신이 복호화한 QR코드들을 확인할 수 있다.
한편, 도 12a에 나타나는 QR코드들중 어느 하나를 터치 또는 클릭하면, 도 12b에 도시된 바와 같이, 해당 QR코드의 복호화된 상세 정보를 확인할 수 있다. 본 실시예에서, 표시되는 복호화된 상세 정보는 특정 웹 페이지의 URL이다.
한편, QR코드 수취인은 보관함 버튼을 터치 또는 클릭하므로써, 도 12c에 도시된 바와 같이, 자신이 복호화한 QR코드들이 저장된 보관함을 확인할 수 있다.
도 13은 본 발명의 다른 실시예에 따른 스마트폰을 이용한 광학코드 암복호화 시스템을 개략적으로 설명하기 위한 구성도이다.
도 13을 참조하면, QR코드 발행인측 스마트폰(500)은 공개키를 이용하여 암호화된 QR코드를 생성하고, 상기 공개키, 관리코드, 사용기간 등을 공개키 처리 시스템(600)에 전송한다. 본 실시예에서는 암호화된 QR코드를 스마트폰을 이용하여 생성하는 것을 설명하였으나, 컴퓨터, 개인휴대단말기(PDA), 태플릿 등과 같이 다양한 전자기기를 통해 생성할 수도 있다. 본 실시예에서는 공개키를 이용하여 암호화된 QR코드를 생성하는 것을 도시하였으나, 공개키를 이용하지 않고 비밀키를 이용하여 암호화된 QR코드를 생성할 수도 있다. 상기한 비밀키를 이용하여 암호화된 QR코드를 생성하는 일련의 과정은 본 발명의 일 실시예에서 설명되었으므로, 상세한 설명은 설명은 생략한다.
공개키 처리 시스템(600)은 QR코드 발행인측 스마트폰(500)으로부터 제공되는 공개키, 관리코드, 사용기간 등을 등록한다. QR코드 수취인측 스마트폰(700)으로부터 공개키의 전송이 요청되면, 해당 QR코드 수취인의 권한을 확인하고, 정당한 권한을 갖는 것으로 체크되면 해당 공개키를 QR코드 수취인측 스마트폰(700)에 전송한다.
QR코드 수취인측 스마트폰(700)은 공개키 처리 시스템(600)에 공개키를 요청하고, 공개키 처리 시스템(600)으로부터 전송된 공개키를 이용하여 QR코드를 복호화한다. 본 실시예에서, 암호화된 QR코드를 스마트폰을 이용하여 복호화하는 것을 설명하였으나, 컴퓨터에 연결된 각종 스캐너, 개인휴대단말기(PDA), 탬플릿 컴퓨터 등과 같이 다양한 전자기기를 통해 생성할 수도 있다.
이상에서 설명된 바와 같이, 본 발명의 다른 실시예에 따르면, QR코드 발행인측 스마트폰에서 비밀키 또는 공개키의 선택에 따라 비밀키에 의해 암호화된 QR코드 또는 공개키에 의해 암호화된 QR코드가 발행된다. QR코드 수취인측 스마트폰에서 암호화된 QR코드가 촬영되는 동시에 비밀키의 경우 패스워드 확인 과정을 거치거나 공개키의 경우 공개키 관리서버에서 전송받은 비밀키로 복호화된 정보를 스마트폰 브라우저에 표시하거나 특정 기능을 수행되도록 한다. 이에 따라, 정보의 보호가 필요한 분야에서 해당 정보를 확인하고 안전하게 보호할 수 있다.
도 14는 도 13에 도시된 스마트폰의 메모리부에 저장된 광학코드 암복호화 알고리즘을 논리적으로 설명하기 위한 블록도이다.
도 14를 참조하면, 본 발명의 다른 실시예에 따른 광학코드 암복호화 알고리즘(800)은 QR코드 암호화부(810), 브라우저 기능부(820), 기억부(830), QR코드 독출부(840), QR코드 복호화부(850) 및 URL 링크부(860)를 포함한다. 상기한 QR코드 암호화부(810), 브라우저 기능부(820), 기억부(830), QR코드 독출부(840), QR코드 복호화부(850) 및 URL 링크부(860)는 설명의 편의를 위해 논리적으로 구분하였을 뿐 하드웨어적으로 구분한 것은 아니다.
QR코드 암호화부(810)는 QR코드 발행인의 조작에 따라 QR코드를 암호화한다. 이러한 QR코드의 암호화는 비밀키를 근거로 암호화될 수도 있고, 공개키를 근거로 암호화될 수도 있다. 상기 비밀키는 QR코드 발행인이 입력하는 패스워드를 단방향 암호화 알고리즘을 이용하여 암호화된 것이다. 상기 공개키는 QR코드 발행인이 입력하는 패스워드다.
브라우저 기능부(820)는 QR코드 발행인에 의한 QR코드의 암호화 또는 복호화를 위한 각종 사용자인터페이스 화면들을 제공한다. 상기한 각종 사용자인터페이스 화면들은 후술되는 도면들에서 예시된다.
기억부(830)는 암호화된 QR코드를 저장하거나 복호화된 QR코드를 저장한다. 부가적으로, QR코드로 변환하기 위한 코드 매트릭스를 저장할 수도 있다.
QR코드 독출부(840)는 카메라에 의해 촬영된 QR코드에서 암호문과 비밀키를 독출한다.
QR코드 복호화부(850)는 QR코드 수취인의 조작에 따라 QR코드를 복호화한다. 예를들어, QR코드가 비밀키로 암호화된 경우, 해당 비밀키를 이용하여 QR코드를 복호화한다. 본 실시예에서, 상기 비밀키는 QR코드 발행인에 의해 입력된 패스워드를 단방향 암호화 알고리즘을 이용하여 암호화된 것이다. 따라서, QR코드 수취인이 입력하는 패스워드는 해당 단방향 알고리즘으로 암호화된 후, QR코드 독출부에 의해 독출된 비밀키와 동일 여부를 비교한 후, 동일한 것으로 체크되면 QR코드를 복호화한다.
한편, QR코드가 공개키로 암호화된 경우, 해당 공개키를 이용하여 QR코드를 복호화한다. 본 실시예에서, 상기 공개키는 별도의 암호화 처리되지 않고, 외부의 서버로부터 제공받는다. 따라서, QR코드 수취인은 별도로 구비되는 서버로부터 공개키를 전송받고, 전송받은 공개키를 이용하여 QR코드를 복호화한다.
URL 링크부(860)는 공개키 관리시스템의 URL에 접속하는 기능을 수행한다. 만일, 스마트폰이 QR코드 암호화 기능을 수행하는 경우, 해당 스마트폰은 URL 링크부(860)를 통해 공개키 관리시스템에 접속되어 관리코드나 공개키, QR코드 복호를 위한 사용자별 권한, 사용기간 등을 제공한다.
한편, 스마트폰이 QR코드 복호화 기능을 수행하는 경우, 해당 스마트폰은 URL 링크부(860)를 통해 공개키 관리시스템에 접속하여 공개키를 수신한다.
도 15는 도 13에 도시된 공개키 처리 시스템을 개념적으로 설명하기 위한 블록도이다.
도 15를 참조하면, 본 발명의 일 실시예에 따른 공개키 처리 시스템(600)은 데이터베이스부(610), 회원 인증 서버(620), 공개키 등록 서버(630), 공개키 관리 서버(640) 및 코드 매트릭스 발행 서버(650)를 포함한다. 본 실시예에서는 설명의 편의를 위해, 공개키 처리 시스템(600)이 데이터베이스부(610), 회원 인증 서버(620), 공개키 등록 서버(630), 공개키 관리 서버(640) 및 코드 매트릭스 발행 서버(650)로 구성된 것을 도시하였으나, 이는 논리적으로 구분한 것이지 하드웨어적으로 구분한 것은 아니다.
데이터베이스부(610)는 회원 DB(611), 단말기 인증서 DB(612), 공개키 DB(613), 관리코드 DB(614), QR코드 사용기간 DB(615), QR코드 사용자별 권한 DB(616) 및 코드 매트릭스 저장 DB(617)를 포함한다. 본 실시예에서는 설명의 편의를 위해, 데이터베이스부(610)가 회원 DB(611), 단말기 인증서 DB(612), 공개키 DB(613), 관리코드 DB(614), QR코드 사용기간 DB(615), QR코드 사용자별 권한 DB(616) 및 코드 매트릭스 저장 DB(617)로 구성된 것을 도시하였으나, 이는 논리적으로 구분한 것이지 하드웨어적으로 구분한 것은 아니다.
회원 인증 서버(620)는 QR코드 발행인의 회원 가입 및 QR코드 수취인의 회원 가입 절차를 수행한다. 이러한 회원 가입 절차를 통해 회원 DB에는 QR코드 발행인의 정보나 QR코드 수취인의 정보가 저장된다. 부가적으로, QR코드 발행인에 대응하는 단말기의 인증서 정보와 QR코드 수취인에 대응하는 단말기의 인정서 정보가 단말기 인증서 DB(612)에 저장될 수도 있다.
공개키 등록 서버(630)는 회원으로 가입된 QR코드 발행인으로부터 제공되는 공개키 및 관리코드를 등록한다. 상기 공개키는 공개키 DB(613)에 저장될 수 있고, 상기 관리코드는 관리코드 DB(614)에 저장될 수 있다.
공개키 관리 서버(640)는 QR코드 수취인이 공개키를 요청함에 따라, QR코드 사용자별 권한 DB(616)에 저장된 정보를 근거로 해당 QR코드 수취인의 권한을 체크하고, 해당 QR코드 수취인이 정당한 권한자로 체크되면, 공개키 DB(613)에 저장된 해당 공개키를 해당 QR코드 수취인에게 전송한다.
코드 매트릭스 발행 서버(650)는 코드 매트릭스 저장 DB(617)에 저장된 코드 매트릭스를 QR코드 발행인측에 전송한다.
도 16은 본 발명의 다른 실시예에 따른 스마트폰을 이용한 광학코드 암호화 방법을 개략적으로 설명하기 위한 흐름도이다. 도 17은 암호화된 QR코드의 암호화키 방식을 문의하는 사용자인터페이스 화면이다. 도 18은 공개키에 의해 암호화된 QR코드를 설명하기 위한 개념도이다.
도 16을 참조하면, 암호화된 QR코드의 발행을 원하는 QR코드 발행인으로부터 암호화키의 선택 여부를 체크한다(단계 S300). 예를들어, 도 17에 도시된 바와 같이, 암호화된 QR코드를 공개키 방식으로 생성할 것인지 비밀키 방식으로 생성할 지를 문의하는 사용자 화면을 표시한다. QR코드 발행인은 공개키 버튼을 터치하거나 비밀키 버튼을 터치하는 방식으로 QR코드의 암호화키를 선택한다.
단계 S300에서 암호화키로서 비밀키가 선택되면, 사용자, 즉 QR코드 발행인에 의해 입력된 평문과 패스워드를 각각 암호화하여 암호문과 비밀키를 생성한다(단계 S110). 상기한 암호문과 비밀키를 생성하는 단계는 도 7에서 설명되었으므로 상세한 설명은 생략한다.
단계 S110에 이어, QR코드를 발행하는 스마트폰의 메모리내에 코드 매트릭스가 존재하는 지의 여부를 체크한다(단계 S320).
단계 S320에서 메모리내에 코드 매트릭스가 존재하지 않은 것으로 체크되면, 암호문과 비밀키를 서버에 전송한다(단계 S322).
서버로부터 코드 매트릭스를 수신하여 메모리에 저장한다(단계 S324).
단계 S320에서 메모리내에 코드 매트릭스가 존재하는 것으로 체크되거나, 단계 S324에서 서버로부터 코드 매트릭스가 수신되는 것으로 체크되면, 메모리에 저장된 또는 수신된 코드 매트릭스를 근거로 암호화된 QR코드를 생성한다(단계 S330). 상기한 암호화된 QR코드는 비밀키 방식으로 생성될 수도 있고, 공개키 방식으로 생성할 수도 있다. 예를들어, 공개키 방식으로 생성되는 암호화된 QR코드는, 도 18에 도시된 바와 같이, 평문이 암호화된 부분과 식별할 수 있는 관리번호 부분을 포함한다. 여기서, 암호문은 서버로부터 받은 공개키에 의해 복호화된다. 상기 관리번호는 서버에 공개키를 요청하기 위한 식별번호이다. QR코드 수취인측에서는 상기 관리번호를 서버에 전송하는 방식으로 공개키를 요청하고 전송받은 공개키를 이용하여 암호문을 복호화한다.
이어, 생성된 암호화된 QR코드를 프린트 방식이나, 유선 전송 방식, 무선 전송 방식 등을 통해 출력한다(단계 S340).
한편, 단계 S300에서 암호화키로서 공개키가 선택되면, QR코드 발행인의 조작에 따른 평문 및 관리코드를 수신한다(단계 S350). 본 실시예에서, 평문은 QR코드 발행인의 키보드 입력 또는 터치 동작 등에 따라 수신될 수도 있고, QR코드 발행인의 조작에 따라 저장된 평문을 수신할 수도 있다. 또한, 관리코드는 암호문에 대응하는 코드일 수 있다. 즉, 관리코드는 해당 암호문의 인덱스(index) 기능을 가질 수 있다. 예를들어, QR코드 발행인이 공개키 버튼을 터치하면, 패스워드, 관리번호 및 유효기간 입력을 위한 창이 표시된다.
이어, QR코드 발행인의 조작에 따라 입력되는 공개키를 근거로 관리코드별 평문을 암호화한다(단계 S352).
이어, 공개키, 관리코드 및 사용기간을 서버에 등록한다(단계 S354). 예를들어, QR코드 발행인이 공개키 관리 서버에 제공하는 권한관리에 대응하는 xml 코드의 일례는 아래와 같다.
Figure 112011055443276-pat00007
상기한 xml 코드에 따르면, <박길영>에게 발행된 공개키는 <fdfg21DEWQFFDG32nbRERET76767>이고, 해당 공개키는 QR코드 발행인 이름, QR코드 발행인 아이디, 장치 번호에 대응하여, 언제부터 언제까지 발행된 공개키를 제공하는 것을 확인할 수 있다.
예를들어, <이청란>이라는 수취인에게는 2011년 1월 8일 9시 7분 23초부터 2012년 1월 8일 23시 59분 59초까지 공개키를 제공하고, <홍상영>이라는 수취인에는 2011년 1월 8일 9시 7분 23초부터 2012년 1월 8월 23시 59분 59초까지 공개키를 제공하는 것을 확인할 수 있다.
이처럼, QR코드 발행인은 자신이 발행한 공개키가 서로 다른 수취인에게 서로 다른 시간대에 제공되도록 요청하므로써, QR코드를 복호화하는 수취인 권한을 원활하게 관리할 수 있다.
이어, 암호문을 서버에 전송한 후(단계 S356), 단계 S324로 피드백한다. 본 실시예에서는 공개키, 관리코드 및 사용기간을 서버에 등록한 후 암호문을 서버에 전송하는 것을 설명하였으나, 암호문을 서버에 전송한 후 공개키, 관리코드 및 사용기간을 서버에 등록할 수도 있다. 또한, 공개키, 관리코드 및 사용기간을 서버에 등록하는 단계와 암호문을 서버에 전송하는 단계가 동시에 수행될 수도 있다.
본 실시예에서는 암호문을 서버에 전송하고, 이에 대응하는 코드 매트릭스를 수신하는 것을 설명하였다. 하지만, 코드 매트릭스가 QR코드 발행인측의 스마트폰에 탑재되어 있다면, 암호문을 서버에 전송하는 단계나 코드 매트릭스를 수신하는 단계는 생략될 수 있다.
도 19는 본 발명의 다른 실시예에 따른 공개키 관리 서버의 동작을 설명하기 위한 흐름도이다.
도 19를 참조하면, QR코드 발행인으로부터 공개키 등록이 요청되는지의 여부를 체크한다(단계 S400). 예를들어, QR코드 발행인측 스마트폰에서 서버에 제공되는 공개키 등록 요청에 대응하는 xml 코드의 일례는 아래와 같다.
Figure 112011055443276-pat00008
상기한 xml 코드에 따르면, <박길영>이라는 QR코드 발행인은 <honggil007>이라는 아이디를 사용하고, 비밀키로 <SecretQR20110808>을 발행하되, 발행된 공개키는 2008년 1월 8일 9시 7분 23초부터 2008년 1월 8일 23시 59분 59초까지 사용되고, 공개키는 <fdfg21DEWQFFDG32nbRERET76767>라는 것을 확인할 수 있다.
단계 S400에서 QR코드 발행인으로부터 공개키 등록 요청으로 체크되면, QR코드 발행인이 공개키 등록 서비스 가입자인지의 여부를 체크한다(단계 S410).
단계 S410에서 QR코드 발행인이 공개키 등록 서비스 가입자로 체크되지 않으면, QR코드 발행인의 회원 가입 절차를 진행한다(단계 S412).
단계 S410에서 공개키 등록 서비스 가입자로 체크되거나 단계 S412를 진행한 후, QR코드 발행인으로부터 제공되는 공개키를 등록한다(단계 S414). 이때, 공개키의 등록시, 관리코드, QR코드 수취인의 권한 허용시간이 포함될 수 있다.
이어, QR코드 발행인으로부터 코드 매트릭스 전송이 요청되는지의 여부를 체크한다(단계 S416).
단계 S416에서, QR코드 발행인으로부터 코드 매트릭스 전송이 요청되는 것으로 체크되면, 암호문에 대응하는 코드 매트릭스를 QR코드 발행인에게 전송한 후(단계 S418), 단계 S400으로 피드백한다.
한편, 단계 S400에서, QR코드 발행인으로부터 공개키 등록이 요청되지 않은 것으로 체크되면, QR코드 수취인으로부터 공개키 전송이 요청되는지의 여부를 체크한다(단계 S420). 예를들어, QR코드 수취인은 공개키 권한 요청에 대응하는 xml 코드를 전송하므로써, 공개키 전송을 요청할 수 있다. 이때, QR코드 수취인으로부터 제공되는 공개키 권한 요청에 대응하는 xml 코드의 일례는 아래와 같다.
Figure 112011055443276-pat00009
즉, <request08043>이라는 아이디를 사용하는 <홍상영>이라는 사람은 <23332-56656-878788878887878>이라는 고유번호를 갖는 전자장치를 이용하여 2011년 2월 16일 15시 17분 23초에 공개키 권한을 요청한다.
단계 S420에서, QR코드 수취인으로부터 공개키 전송이 요청되지 않은 것으로 체크되면 종료하고, QR코드 수취인으로부터 공개키 전송이 요청되는 것으로 체크되면, 해당 QR코드 수취인인 공개키 요청자의 권한을 체크한다(단계 S422).
단계 S422에서 공개키 요청자의 권한이 정당한 것으로 체크되지 않으면, 공개키 권한 없음 메시지를 해당 QR코드 수취인, 즉 공개키 요청자에게 출력한다(단계 S424).
단계 S422에서 공개키 요청자의 권한이 정당한 것으로 체크되면, 공개키 요청자, 즉 해당 QR코드 수취인에게 공개키를 전송한 후(단계 S426), 단계 S400으로 피드백한다.
도 20은 본 발명의 다른 실시예에 따른 스마트폰을 이용한 광학코드 복호화 방법을 개략적으로 설명하기 위한 흐름도이다. 즉, QR코드 수취인의 전자장치, 예를들어, 스마트폰에서 이루어지는 광학코드 복호화 방법이 설명된다.
도 20을 참조하면, 카메라를 이용하여 암호화된 QR코드를 촬영한다(단계 S500).
이어, 촬영된 QR코드로부터 암호화키 및 암호문을 독출한다(단계 S510).
독출된 QR코드의 암호화키가 비밀키인지 또는 공개키인지의 여부를 체크한다(단계 S520).
단계 S520에서 독출된 QR코드의 암호화키가 비밀키로 체크되면, 비밀키를 근거로 암호문을 복호화한다(단계 S530). 단계 S530는 후술되는 도 20에서 상세히 설명한다.
단계 S520에서 독출된 QR코드의 암호화키가 공개키로 체크되면, 공개키를 근거로 암호문을 복호화한다(단계 S540). 단계 S540는 후술되는 도 21에서 상세히 설명한다.
이어, 복호화된 평문을 화면에 표시하고, 특정 기능을 수행한다(단계 S560). 본 실시예에서, 특정 기능이 복호화된 평문이 URL이라면 인터넷 브라우져 실행 웹 화면으로 자동 이동되어 해당 URL에 대응하는 웹 화면을 표시한다. 한편, 특정 기능이 전화번호라면, 전화걸기를 실행하고, 특정 기능이 SMS 또는 MMS라면, 문자보내기를 실행한다. 한편, 특정 기능이 좌표라면, 예를들어, 구글지도위에 좌표를 표시한다. 한편 특정 기능이 이메일이라면, 이메일 보내기를 실행하며, 특정 기능이 명함이라면, 해당 명함 정보를 화면에 표시한 후 해당 명함에 상응하는 각종 정보(이름, 폰번호, 회사명, 회사 전화번호, 회사 팩스번호, 이메일 등)를 스마트폰에 저장하기 위한 화면을 표시한다.
도 21은 도 20에 도시된 비밀키를 근거로 암호문을 복호화하는 단계를 설명하기 위한 흐름도이다.
도 20 및 도 21을 참조하면, 단계 S520에서 독출된 QR코드의 암호화키가 비밀키로 체크되면, 패스워드의 입력을 위한 창을 표시부를 통해 표시한 후, 해당 패스워드 입력창을 통해 수취인으로부터 패스워드의 입력 여부를 체크한다(단계 S531).
수취인에 의해 패스워드가 입력됨에 따라, 입력된 수취인의 패스워드를 암호화한다(단계 S532).
이어, 암호화된 패스워드와 비밀키가 일치하는지의 여부를 체크한다(단계 S533).
단계 S533에서 암호화된 패스워드와 비밀키가 서로 불일치한 것으로 체크되면, 패스워드 불일치 메시지를 출력한 후, 단계 S531으로 피드백한다.
단계 S522에서 암호화된 패스워드와 비밀키가 서로 일치한 것으로 체크되면, 비밀키를 근거로 암호문을 복호화한 후(단계 S535), 단계 S550으로 피드백한다.
도 22는 도 20에 도시된 공개키를 근거로 암호문을 복호화하는 단계를 설명하기 위한 흐름도이다.
도 20 및 도 22를 참조하면, 단계 S520에서 독출된 QR코드의 암호화키가 공개키로 체크되면, 공개키 서비스 가입자인지의 여부를 체크한다(단계 S541).
단계 S541에서 공개키 서비스 가입자가 아닌 것으로 체크되면, 회원 가입 절차를 진행한다(단계 S542).
단계 S541에서 공개키 서비스 가입자인 것으로 체크되거나, 단계 S542를 수행한 후, 스마트폰 식별번호를 포함하는 본인정보를 서버에 전송한다(단계 S543).
이어, 서버로부터 공개키가 수신되는지의 여부를 체크한다(단계 S544).
공개키가 서버로부터 수신된 것으로 체크되면, 수신된 공개키를 근거로 암호문을 복호화한다(단계 S545).
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이, 본 발명에 따르면, 암호화하여 광학코드를 생성하고, 생성된 암호화된 광학코드를 복호화키를 이용하여 복호화하므로써, 개인정보나 비밀이 요구되는 각종 정보가 광학코드로 변환되더라도 정당하지 않은 수취인이 개인정보나 비밀이 요구되는 각종 정보를 열람하는 것을 방지할 수 있다.
100 : QR코드 발행인측 스마트폰 200 : QR코드 수취인측 스마트폰
110 : 제어부 120 : 터치인식부
130 : 디스플레이부 140 : 메모리부
150 : 무선회로부 160 : 근거리 통신부
170 : 오디오처리부 180 : 촬영부
300, 800 : 암복호화 알고리즘 310, 810 : QR코드 암호화부
320, 820 : 브라우저 기능부 330, 830 : 기억부
340, 840 : QR코드 독출부 350, 850 : QR코드 복호화부
860 : URL 링크부 600 : 공개키 처리 시스템
610 : 데이터베이스부 620 : 회원 인증 서버
630 : 공개키 등록 서버 640 : 공개키 관리 서버
650 : 코드 매트릭스 발행 서버 611 : 회원 DB
612 : 단말기 인증서 DB 613 : 공개키 DB
614 : 관리코드 DB 615 : QR코드 사용기간 DB
616 : QR코드 사용자별 권한 DB 617 : 코드 매트릭스 저장 DB

Claims (20)

  1. 광학코드 발행인의 조작에 의해 광학코드의 암호화 모드가 스마트폰에 설정됨에 따라, 상기 광학코드 발행인의 조작에 의해 상기 스마트폰을 통해 입력되는 평문 및 패스워드를 암호화하여 암호문과 비밀키를 생성하는 단계; 및
    코드 매트릭스를 근거로 상기 비밀키와 상기 암호문에 대해 암호화된 광학코드를 생성하는 단계를 포함하되, 상기 암호문과 비밀키를 생성하는 단계는,
    광학코드 유형 선택 화면을 상기 스마트폰의 화면에 표시하는 단계;
    상기 광학코드 유형 선택 화면에서 상기 광학코드 발행인에 의해 특정 평문 유형이 선택됨에 따라, 선택된 평문 유형에 따른 평문을 수신하는 단계;
    상기 광학코드 발행인에 의해 패스워드가 상기 스마트폰의 화면을 통해 입력됨에 따라, 상기 입력된 패스워드를 암호화하여 상기 비밀키를 생성하는 단계;
    상기 패스워드를 근거로 상기 평문을 암호화하여 상기 암호문을 생성하는 단계; 및
    상기 암호문과 상기 비밀키를 결합하는 단계를 포함하고,
    상기 암호화된 광학코드는 광학코드 수취인의 스마트폰에 의해 촬영되어 상기 광학코드 수취인이 입력하는 패스워드를 근거로 복호화되되, 상기 광학코드 수취인이 입력하는 패스워드는 암호화되고, 상기 촬영을 통해 획득된 패스워드와 암호화된 패스워드가 서로 일치하면 상기 암호문이 복호화되는 것을 특징으로 하는 광학코드 암호화 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 스마트폰의 메모리내에 상기 코드 매트릭스가 존재하는 경우, 상기 코드 매트릭스를 근거로 암호화된 광학코드를 생성하는 단계를 더 포함하는 것을 특징으로 하는 광학코드 암호화 방법.
  4. 제1항에 있어서,
    상기 스마트폰의 메모리내에 상기 코드 매트릭스가 존재하지 않는 경우, 결합된 암호문과 비밀키를 서버에 전송하는 단계;
    상기 서버로부터 코드 매트릭스를 수신하는 단계; 및
    수신된 코드 매트릭스를 근거로 암호화된 광학코드를 생성하는 단계를 더 포함하는 것을 특징으로 하는 광학코드 암호화 방법.
  5. 제1항에 있어서, 상기 평문은 문자, 명함정보, 단문메시지, 장문메시지, 위치정보, 유알엘, 전화번호, 정보문자열중 적어도 어느 하나인 것을 특징으로 하는 광학코드 암호화 방법.
  6. 제1항에 있어서, 상기 평문은 대칭키 암호화 방식에 의해 암호화되고, 상기 패스워드는 단방향 암호화 방식에 의해 암호화된 것을 특징으로 하는 광학코드 암호화 방법.
  7. 제6항에 있어서, 상기 단방향 암호화 방식은 MD5인 것을 특징으로 하는 광학코드 암호화 방법.
  8. 제1항에 있어서, 상기 광학코드는 QR코드인 것을 특징으로 하는 광학코드 암호화 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020110071311A 2011-07-19 2011-07-19 광학코드 암호화 방법 KR101281574B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110071311A KR101281574B1 (ko) 2011-07-19 2011-07-19 광학코드 암호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110071311A KR101281574B1 (ko) 2011-07-19 2011-07-19 광학코드 암호화 방법

Publications (2)

Publication Number Publication Date
KR20130010593A KR20130010593A (ko) 2013-01-29
KR101281574B1 true KR101281574B1 (ko) 2013-07-08

Family

ID=47839772

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110071311A KR101281574B1 (ko) 2011-07-19 2011-07-19 광학코드 암호화 방법

Country Status (1)

Country Link
KR (1) KR101281574B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127274A (zh) * 2016-06-08 2016-11-16 郝迎喜 一种改进的动态二维码生成认证系统及其生成认证方法
WO2020173569A1 (en) * 2019-02-28 2020-09-03 Vestel Elektronik Sanayi Ve Ticaret A.S. Transferring, obtaining, storing and using telephone numbers
US11438326B2 (en) 2018-01-29 2022-09-06 Samsung Electronics Co., Ltd. Electronic device, external electronic device and system comprising same
KR20230026043A (ko) 2021-08-17 2023-02-24 (주)에이텍티앤 암호화 qr코드 생성장치 및 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102289150B1 (ko) * 2019-07-17 2021-08-11 주식회사 넵튠 개인정보 보호 기능이 강화된 명함 전달 시스템
KR102414910B1 (ko) * 2019-10-17 2022-07-04 한국전자통신연구원 문서 정보 보안 장치 및 방법
US20230109544A1 (en) * 2021-10-05 2023-04-06 Capital One Services, Llc Systems and methods for conducting remote attestation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070018242A (ko) * 2005-08-09 2007-02-14 진용직 2차원바코드를 이용한 웹상의 데이타 암호화 및 복호화시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070018242A (ko) * 2005-08-09 2007-02-14 진용직 2차원바코드를 이용한 웹상의 데이타 암호화 및 복호화시스템 및 그 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127274A (zh) * 2016-06-08 2016-11-16 郝迎喜 一种改进的动态二维码生成认证系统及其生成认证方法
US11438326B2 (en) 2018-01-29 2022-09-06 Samsung Electronics Co., Ltd. Electronic device, external electronic device and system comprising same
WO2020173569A1 (en) * 2019-02-28 2020-09-03 Vestel Elektronik Sanayi Ve Ticaret A.S. Transferring, obtaining, storing and using telephone numbers
KR20230026043A (ko) 2021-08-17 2023-02-24 (주)에이텍티앤 암호화 qr코드 생성장치 및 방법

Also Published As

Publication number Publication date
KR20130010593A (ko) 2013-01-29

Similar Documents

Publication Publication Date Title
KR101281574B1 (ko) 광학코드 암호화 방법
US11720879B2 (en) Method, device and system for the transfer of data
US9959532B2 (en) Secure element authentication for remote deposit capture compatible check image generation
US20140222695A1 (en) Integrated authentication system using electronic contract
US11282071B2 (en) Digital identity management device
WO2008030184A1 (en) Improved authentication system
US9195974B2 (en) Remote deposit capture compatible check image generation
US9240982B2 (en) Method for associating an image-forming device, a mobile device, and a user
US9177310B2 (en) Mobile device and application for remote deposit of check images received from payors
US20150286843A1 (en) Method and system for modular digital watermarking of electronic files
US20220188395A1 (en) Digital identity management device
KR101072227B1 (ko) 광학코드 암복호화 처리 방법, 이를 수행하기 위한 전자장치 및 이러한 기능을 갖는 프로그램을 기억한 컴퓨터가 판독 가능한 기록매체
US20140143858A1 (en) Processing arrangement and a method for processing information in a machine-to-human communications interface
JP5363134B2 (ja) 携帯無線通信端末、認証システム、携帯無線通信端末の認証方法、携帯無線通信端末の認証プログラム
JP2008312001A (ja) 秘匿データ生成読取システム及び秘匿データ生成読取方法
CN103701603A (zh) 利用网银进行抽奖的方法、终端、方法及系统
EP3486828B1 (en) Electronic device including display and method of encrypting information
US20140279481A1 (en) Mobile device and application for remote deposit of check images securely received from payors
US20240078302A1 (en) Secure access token device with biometric authentication and related methods
US20140279480A1 (en) Remote deposit capture compatible check image generation in response to motion of a mobile device
US20140279482A1 (en) Remote deposit capture system with check image storage
KR20060093155A (ko) 이동통신서비스 온라인 가입 시스템 및 이의 운용 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee