KR20130080523A - 이동 단말기의 암호 및 복호 방법 - Google Patents

이동 단말기의 암호 및 복호 방법 Download PDF

Info

Publication number
KR20130080523A
KR20130080523A KR1020120001361A KR20120001361A KR20130080523A KR 20130080523 A KR20130080523 A KR 20130080523A KR 1020120001361 A KR1020120001361 A KR 1020120001361A KR 20120001361 A KR20120001361 A KR 20120001361A KR 20130080523 A KR20130080523 A KR 20130080523A
Authority
KR
South Korea
Prior art keywords
character
value
mobile terminal
data
authentication key
Prior art date
Application number
KR1020120001361A
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 KR1020120001361A priority Critical patent/KR20130080523A/ko
Publication of KR20130080523A publication Critical patent/KR20130080523A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)

Abstract

비 보안 통신을 수행하는 이동 단말기에 있어서, 특정 정보에 대한 보안 통신을 위해 네트워크를 통해 서비스 제공자로부터 비밀 키를 획득하는 단계, 비밀 키를 이용하여 특정 정보의 암호화 및 복호화에 사용되는 인증키를 생성하는 단계 및 인증키를 이용하여 특정 정보를 암호화 또는 복호화하는 단계를 포함하는 이동 단말기의 암호 및 복호 방법을 개시한다.

Description

이동 단말기의 암호 및 복호 방법{METHOD FOR ENCORDING/DECODING SECURITY INFOMATION}
본 발명은 이동 단말기의 암호 및 복호 방법에 관한 것으로, 비보안 통신을 수행하는 이동 단말기에 있어서 특정 정보의 통신 보안을 위해 해당 정보를 암호 및 복호화하는 방법에 관한 것이다.
최근 인터넷과 같은 통신망을 통해 각종 정보를 주고받음에 따라 통신 보안문제가 대두 되고 있다.
특히 최근에는 개인용 컴퓨터, 노트북, 휴대폰 등과 같은 단말기(terminal)에 있어서도 셀룰러 통신망을 통한 본연의 음성 통화 기능 외에 와이브로와 같은 무선 통신망 또는 데이터 통신망을 통한 인터넷 연결 등의 각종 통신 서비스를 제공하고 있다.
이와 같이 각종 통신망을 이용한 정보 교환이 활발해짐에 따라 통신 보안 문제는 더더욱 중요한 이슈가 되고 있다.
송수신되는 정보 보안을 위해 보안 프로토콜을 별도로 이용할 수 있으나 보안 프로토콜을 이용하면 통신을 위해 시간을 포함한 통신 자원의 과도한 소모가 발생할 뿐만 아니라 보안을 필요로 하지 않는 정보까지 보안 채널을 통해 전송되어 자원 낭비의 문제가 발생한다.
그러나 이러한 문제로 비 보안 프로토콜을 이용하는 경우에는 개인 정보와 같은 보안이 필요한 정보의 송수신이 제한되는 문제점이 있다.
이에 따라 각종 통신망에서 비 보안 프로토콜의 이용하는 경우에도 비교적 간단하게 이용할 수 있는 암호 및 복호 방법이 요청되고 있다.
본 발명의 과제는 비보안 통신망에서 보안이 필요한 특정 정보의 송수신을 위해 빠르고 효율적으로 사용할 수 있는 암호 및 복호 방법을 제공하는 것이다.
상기한 과제를 실현하기 위한 본 발명의 일 실시예에 따른 비 보안 통신을 수행하는 이동 단말기의 암호 및 복호 방법은, 특정 정보에 대한 보안 통신을 위해 네트워크를 통해 서비스 제공자로부터 비밀 키를 획득하는 단계; 상기 비밀 키를 이용하여 상기 특정 정보의 암호화 및 복호화에 사용되는 인증키를 생성하는 단계; 및 상기 인증키를 이용하여 상기 특정 정보를 암호화 또는 복호화하는 단계;를 포함한다.
여기서, 상기 인증키 생성단계는, 상기 비밀 키를 구성하는 각 문자 중 중복하여 나타난 문자에 대해, 영문자 및 숫자를 포함하도록 구성된 대표 문자열로부터 특정 문자를 추출하여 상기 중복하여 나타난 문자를 대체함으로써 인증키를 생성할 수 있다.
그리고, 상기 대표 문자열의 특정 문자는, 상기 비밀키 중 상기 중복하여 나타난 문자의 자리 값과 그 최초 나타난 자리 값에 해당하는 숫자를 합산한 값에 대응하는 위치의 문자로서 결정될 수 있다.
또한 상기 비밀키 중 상기 중복하여 나타난 문자의 자리 값과 그 최초 나타난 자리 값의 합산 값이 상기 대표 문자열의 총 문자수보다 큰 경우에는, 상기 특정 문자는 상기 대표 문자열 중 상기 합산 값을 상기 총 문자수로 나눈 나머지 값에 대응하는 위치의 문자로서 결정될 수 있다.
그리고 상기 대표 문자열로부터 추출되어 대체된 상기 특정 문자가 상기 비밀키 내에서 중복하여 나타난 경우, 상기 특정 문자로 대체 전의 문자의 자리 값과 상기 특정 문자가 상기 비밀키에서 최초 나타난 자리 값의 합산 값에 대응하는 위치의 문자를 상기 대표 문자열로부터 다시 추출하여 상기 특정 문자를 대체하는 과정을 수행할 수 있다.
여기서 상기 암호화 단계는, 암호화 대상 데이터가 숫자인 경우 상기 인증키의 앞 부분으로부터 계수하여 상기 숫자에 해당하는 자리의 문자와 뒷부분으로부터 계수하여 상기 숫자에 해당하는 자리의 문자들로 변환할 수 있다.
그리고 상기 암호화 단계는, 암호화 대상 데이터가 영문자인 경우 상기 영문자가 상기 대표 문자열에서 위치하는 자리 값의 숫자로 변환한 후 상기 인증키의 앞부분으로부터 계수하거나 뒤부분으로부터 계수하여 상기 숫자에 해당하는 자리에 위치한 문자로 변환할 수 있다.
또한 상기 암호화 대상 데이터가 영문인 경우 상기 각 문자로부터 최종적으로 변환된 문자들 사이에 구분자를 표시하여 서로 다른 문자로부터 변환되었음을 표시할 수 있다.
그리고 상기 변환된 숫자가 복수 자리의 숫자인 경우, 상기 복수 자리 숫자의 각 자리를 나타내는 숫자 각각에 대해 상기 인증키의 해당 위치에 대응하는 문자로 변환할 수 있다.
본 발명에 따른 이동 단말기의 암호 및 복호 방법에 따르면 비보안 통신을 수행하는 이동 단말기에서 보안 송수신이 필요한 특정 정보에 대해 선별적으로 보안 통신을 수행할 수 있어, 일반적인 데이터에 대해서는 비보안 통신망을 사용함으로써 보안이 불필요한 정보 송수신에 있어서 시간 지연을 회피하고, 보안이 필요한 특정 정보의 송수신을 위해서는 빠르고 효율적으로 정보를 보호할 수 있다.
따라서 전체 통신 효율이 뛰어나면서도 보안이 필요한 특정 정보에 대해서는 정보 보안 방법을 제공할 수 있게 된다.
도 1은 본 발명의 일 실시예와 관련된 이동 단말기의 블록 구성도(block diagram)이다.
도 2는 본 발명의 일 실시예에 따른 데이터 송신 동작을 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 수신 동작을 도시한 흐름도이다.
도 4는 도 2의 비밀 키 획득 단계를 상세히 도시한 흐름도이다.
도 5는 도 2의 인증 키 생성 단계를 상세히 도시한 흐름도이다.
도 6은 도 2의 암호화 단계를 상세히 도시한 흐름도이다.
도 7은 도 3의 복호화 단계를 상세히 도시한 흐름도이다.
본 발명의 상술한 목적, 특징들 및 장점은 첨부된 도면과 관련된 다음의 상세한 설명을 통해 보다 분명해질 것이다. 다만, 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예들을 가질 수 있는 바, 이하에서는 특정 실시예들을 도면에 예시하고 이를 상세히 설명하고자 한다. 명세서 전체에 걸쳐서 동일한 참조번호들은 원칙적으로 동일한 구성요소들을 나타낸다. 또한, 본 발명과 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다
이하, 본 발명이 적용되는 이동 단말기에 대하여 도면을 참조하여 보다 상세하게 설명한다. 본 발명은 이동 단말기에 적용되는 경우를 주로 예를 들어 설명하나 본 발명은 이에 제한되지는 않으며 각종 단말기에서 비 보안 통신 프로토콜을 사용하면서도 특정 정보에 대해서는 보안 통신을 필요로 하는 경우에 적용될 수 있다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
본 명세서에서 설명되는 이동 단말기에는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션 등이 포함될 수 있다. 그러나, 본 명세서에 기재된 실시예에 따른 구성은 이동 단말기에만 적용 가능한 경우를 제외하면, 디지털 TV, 데스크탑 컴퓨터 등과 같은 고정 단말기에도 적용될 수도 있음을 본 기술분야의 당업자라면 쉽게 알 수 있을 것이다.
도 1은 본 발명의 일 실시예와 관련된 이동 단말기의 블록 구성도(block diagram)이다.
상기 이동 단말기(100)는 무선 통신부(110), A/V(Audio/Video) 입력부(120), 사용자 입력부(130), 센싱부(140), 출력부(150), 메모리부(160), 인터페이스부(170), 제어부(180) 및 전원 공급부(190) 등을 포함할 수 있다. 도 1에 도시된 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 이동 단말기를 구현될 수도 있다.
이하, 상기 구성요소들에 대해 차례로 살펴본다.
무선 통신부(110)는 이동 단말기(100)와 무선 통신 시스템 사이 또는 이동 단말기(100)와 이동 단말기(100)가 위치한 네트워크 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 무선 통신부(110)는 방송 수신 모듈(111), 이동통신 모듈(112), 무선 인터넷 모듈(113), 근거리 통신 모듈(114) 및 위치정보 모듈(115) 등을 포함할 수 있다.
방송 수신 모듈(111)은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다.
상기 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 상기 방송 관리 서버는, 방송 신호 및/또는 방송 관련 정보를 생성하여 송신하는 서버 또는 기 생성된 방송 신호 및/또는 방송 관련 정보를 제공받아 단말기에 송신하는 서버를 의미할 수 있다. 상기 방송 신호는, TV 방송 신호, 라디오 방송 신호, 데이터 방송 신호를 포함할 뿐만 아니라, TV 방송 신호 또는 라디오 방송 신호에 데이터 방송 신호가 결합한 형태의 방송 신호도 포함할 수 있다.
상기 방송 관련 정보는, 방송 채널, 방송 프로그램 또는 방송 서비스 제공자에 관련한 정보를 의미할 수 있다. 상기 방송 관련 정보는, 이동통신망을 통하여도 제공될 수 있다. 이러한 경우에는 상기 이동통신 모듈(112)에 의해 수신될 수 있다.
상기 방송 관련 정보는 다양한 형태로 존재할 수 있다. 예를 들어, DMB(Digital Multimedia Broadcasting)의 EPG(Electronic Program Guide) 또는 DVBH(Digital Video BroadcastHandheld)의 ESG(Electronic Service Guide) 등의 형태로 존재할 수 있다.
상기 방송 수신 모듈(111)은, 각종 방송 시스템을 이용하여 방송 신호를 수신하는데, 특히, DMBT(Digital Multimedia BroadcastingTerrestrial), DMBS(Digital Multimedia BroadcastingSatellite), MediaFLO(Media Forward Link Only), DVBH(Digital Video BroadcastHandheld), ISDBT(Integrated Services Digital BroadcastTerrestrial) 등의 디지털 방송 시스템을 이용하여 디지털 방송 신호를 수신할 수 있다. 물론, 상기 방송 수신 모듈(111)은, 상술한 디지털 방송 시스템뿐만 아니라 방송 신호를 제공하는 다른 방송 시스템에 적합하도록 구성될 수도 있다.
방송 수신 모듈(111)을 통해 수신된 방송 신호 및/또는 방송 관련 정보는 메모리부(160)에 저장될 수 있다.
이동통신 모듈(112)은, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 상기 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈(113)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 무선 인터넷 모듈(113)은 이동 단말기(100)에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(WiFi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다.
근거리 통신 모듈(114)은 근거리 통신을 위한 모듈을 말한다. 근거리 통신 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
위치정보 모듈(115)은 이동 단말기의 위치를 확인하거나 얻기 위한 모듈이다. 상기 위치정보 모듈의 대표적인 예로는 GPS(Global Position System) 모듈이 있다. 현재 기술에 의하면, 상기 GPS모듈(115)은, 일 지점(개체)이 3개 이상의 위성으로부터 떨어진 거리에 관한 정보와, 상기 거리 정보가 측정된 시간에 관한 정보를 산출한 다음 상기 산출된 거리 정보에 삼각법을 적용함으로써, 일 시간에 일 지점(개체)에 대한 위도, 경도, 및 고도에 따른 3차원의 위치 정보를 산출할 수 있다. 나아가, 3개의 위성을 이용하여 위치 및 시간 정보를 산출하고, 또 다른 1개의 위성을 이용하여 상기 산출된 위치 및 시간 정보의 오차를 수정하는 방법 또한 사용되고 있다. GPS 모듈(115)은 현 위치를 실시간으로 계속 산출하고 그를 이용하여 속도 정보를 산출하기도 한다.
도 1을 참조하면, A/V(Audio/Video) 입력부(120)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(121)와 마이크(122) 등이 포함될 수 있다. 카메라(121)는 화상 통화모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이 모듈(151)에 표시될 수 있다.
카메라(121)에서 처리된 화상 프레임은 메모리부(160)에 저장되거나 무선 통신부(110)를 통하여 외부로 전송될 수 있다. 카메라(121)는 단말기의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
마이크(122)는 통화모드 또는 녹음모드, 음성인식 모드 등에서 마이크로폰(Microphone)에 의해 외부의 음향 신호를 입력받아 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는 통화 모드인 경우 이동통신 모듈(112)을 통하여 이동통신 기지국으로 송신 가능한 형태로 변환되어 출력될 수 있다. 마이크(122)에는 외부의 음향 신호를 입력받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 구현될 수 있다.
사용자 입력부(130)는 사용자가 단말기의 동작 제어를 위한 입력 데이터를 발생시킨다. 사용자 입력부(130)는 키 패드(key pad) 돔 스위치 (dome switch), 터치 패드(정압/정전), 조그 휠, 조그 스위치 등으로 구성될 수 있다.
센싱부(140)는 이동 단말기(100)의 개폐 상태, 이동 단말기(100)의 위치, 사용자 접촉 유무, 이동 단말기의 방위, 이동 단말기의 가속/감속 등과 같이 이동 단말기(100)의 현 상태를 감지하여 이동 단말기(100)의 동작을 제어하기 위한 센싱 신호를 발생시킨다. 예를 들어 이동 단말기(100)가 슬라이드 폰 형태인 경우 슬라이드 폰의 개폐 여부를 센싱할 수 있다. 또한, 전원 공급부(190)의 전원 공급 여부, 인터페이스부(170)의 외부 기기 결합 여부 등과 관련된 센싱 기능을 담당할 수도 있다. 한편, 상기 센싱부(140)는 자세감지센서(141) 및/또는 근접센서를 포함할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 이에는 디스플레이 모듈(151), 음향 출력 모듈(152), 알람부(153), 및 햅틱 모듈(154) 등이 포함될 수 있다.
디스플레이 모듈(151)는 이동 단말기(100)에서 처리되는 정보를 표시 출력한다. 예를 들어, 이동 단말기가 통화 모드인 경우 통화와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시한다. 이동 단말기(100)가 화상 통화 모드 또는 촬영 모드인 경우에는 촬영 또는/및 수신된 영상 또는 UI, GUI를 표시한다.
디스플레이 모듈(151)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistorliquid crystal display), 유기 발광 다이오드(organic lightemitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.
이들 중 일부 디스플레이는 그를 통해 외부를 볼 수 있도록 투명형 또는 광투과형으로 구성될 수 있다. 이는 투명 디스플레이라 호칭될 수 있는데, 상기 투명 디스플레이의 대표적인 예로는 투명 LCD 등이 있다. 디스플레이 모듈(151)의 후방 구조 또한 광 투과형 구조로 구성될 수 있다. 이러한 구조에 의하여, 사용자는 단말기 바디의 디스플레이 모듈(151)가 차지하는 영역을 통해 단말기 바디의 후방에 위치한 사물을 볼 수 있다.
이동 단말기(100)의 구현 형태에 따라 디스플레이 모듈(151)이 2개 이상 존재할 수 있다. 예를 들어, 이동 단말기(100)에는 복수의 디스플레이 모듈들이 하나의 면에 이격되거나 일체로 배치될 수 있고, 또한 서로 다른 면에 각각 배치될 수도 있다.
디스플레이 모듈(151)와 터치 동작을 감지하는 센서(이하, '터치 센서'라 함)가 상호 레이어 구조를 이루는 경우(이하, '터치 스크린'이라 약칭함)에, 디스플레이 모듈(151)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 터치 센서는, 예를 들어, 터치 필름, 터치 시트, 터치 패드 등의 형태를 가질 수 있다.
터치 센서는 디스플레이 모듈(151)의 특정 부위에 가해진 압력 또는 디스플레이 모듈(151)의 특정 부위에 발생하는 정전 용량 등의 변화를 전기적인 입력신호로 변환하도록 구성될 수 있다. 터치 센서는 터치 되는 위치 및 면적뿐만 아니라, 터치 시의 압력까지도 검출할 수 있도록 구성될 수 있다.
터치 센서에 대한 터치 입력이 있는 경우, 그에 대응하는 신호(들)는 터치 제어기로 보내진다. 터치 제어기는 그 신호(들)를 처리한 다음 대응하는 데이터를 제어부(180)로 전송한다. 이로써, 제어부(180)는 디스플레이 모듈(151)의 어느 영역이 터치 되었는지 여부 등을 알 수 있게 된다.
도 1을 참조하면, 상기 터치스크린에 의해 감싸지는 이동 단말기의 내부 영역 또는 상기 터치 스크린의 근처에 근접센서가 배치될 수 있다. 상기 근접센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접센서는 접촉식 센서보다는 그 수명이 길며 그 활용도 또한 높다.
상기 근접센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접센서, 정전용량형 근접센서, 자기형 근접센서, 적외선 근접센서 등이 있다.
상기 터치스크린이 정전식인 경우에는 상기 포인터의 근접에 따른 전계의 변화로 상기 포인터의 근접을 검출하도록 구성된다. 이 경우 상기 터치 스크린(터치 센서)은 근접센서로 분류될 수도 있다.
이하에서는 설명의 편의를 위해, 상기 터치스크린 상에 포인터가 접촉되지 않으면서 근접되어 상기 포인터가 상기 터치스크린 상에 위치함이 인식되도록 하는 행위를 "근접 터치(proximity touch)"라고 칭하고, 상기 터치스크린 상에 포인터가 실제로 접촉되는 행위를 "접촉 터치(contact touch)"라고 칭한다. 상기 터치스크린 상에서 포인터로 근접 터치가 되는 위치라 함은, 상기 포인터가 근접 터치될 때 상기 포인터가 상기 터치스크린에 대해 수직으로 대응되는 위치를 의미한다.
상기 근접센서는, 근접 터치 및 근접 터치 패턴(예를 들어, 근접 터치 거리, 근접 터치 방향, 근접 터치 속도, 근접 터치 시간, 근접 터치 위치, 근접 터치 이동 상태 등)을 감지한다. 상기 감지된 근접 터치 동작 및 근접 터치 패턴에 상응하는 정보는 터치 스크린상에 출력될 수 있다.
음향 출력 모듈(152)은 호신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 무선 통신부(110)로부터 수신되거나 메모리부(160)에 저장된 오디오 데이터를 출력할 수도 있다. 음향 출력 모듈(152)은 이동 단말기(100)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력한다. 이러한 음향 출력 모듈(152)에는 리시버(Receiver), 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
알람부(153)는 이동 단말기(100)의 이벤트 발생을 알리기 위한 신호를 출력한다. 이동 단말기에서 발생 되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 터치 입력 등이 있다. 알람부(153)는 비디오 신호나 오디오 신호 이외에 다른 형태, 예를 들어 진동으로 이벤트 발생을 알리기 위한 신호를 출력할 수도 있다. 비디오 신호나 오디오 신호는 디스플레이 모듈(151)이나 음성 출력 모듈(152)을 통해서도 출력될 수 있다.
햅틱 모듈(haptic module)(154)은 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(154)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 있다. 햅택 모듈(154)이 발생하는 진동의 세기와 패턴 등은 제어가능하다. 예를 들어, 서로 다른 진동을 합성하여 출력하거나 순차적으로 출력할 수도 있다.
햅틱 모듈(154)은, 진동 외에도, 접촉 피부면에 대해 수직 운동하는 핀 배열에 의한 자극에 의한 효과, 분사구나 흡입구를 통한 공기의 분사력이나 흡입력을 통한 자극에 의한 효과, 피부 표면을 스치는 자극에 의한 효과, 전극(eletrode)의 접촉을 통한 자극에 의한 효과, 정전기력을 이용한 자극에 의한 효과, 흡열이나 발열 가능한 소자를 이용한 냉온감 재현에 의한 효과 등 다양한 촉각 효과를 발생시킬 수 있다.
햅틱 모듈(154)은 직접적인 접촉을 통해 촉각 효과의 전달할 수 있을 뿐만 아니라, 사용자의 손가락이나 팔 등의 근 감각을 통해 촉각 효과를 느낄 수 있도록 구현할 수도 있다. 햅틱 모듈(154)은 휴대 단말기(100)의 구성 태양에 따라 2개 이상이 구비될 수 있다.
메모리부(160)는 제어부(180)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 폰북, 메시지, 정지영상, 동영상 등)을 임시 저장할 수도 있다. 상기 메모리부(160)는 상기 터치스크린 상의 터치 입력시 출력되는 다양한 패턴의 진동 및 음향에 관한 데이터를 저장할 수 있다.
메모리부(160)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(ReadOnly Memory, ROM), EEPROM(Electrically Erasable Programmable ReadOnly Memory), PROM(Programmable ReadOnly Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 이동 단말기(100)는 인터넷(internet)상에서 상기 메모리부(160)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다.
인터페이스부(170)는 이동 단말기(100)에 연결되는 모든 외부기기와의 통로 역할을 한다. 인터페이스부(170)는 외부 기기로부터 데이터를 전송받거나 전원을 공급받아 이동 단말기(100) 내부의 각 구성 요소에 전달하거나 이동 단말기(100) 내부의 데이터가 외부 기기로 전송되도록 한다. 예를 들어, 유/무선 헤드셋 포트, 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트, 오디오 I/O(Input/Output) 포트, 비디오 I/O(Input/Output) 포트, 이어폰 포트 등이 인터페이스부(170)에 포함될 수 있다.
식별 모듈은 이동 단말기(100)의 사용 권한을 인증하기 위한 각종 정보를 저장한 칩으로서, 사용자 인증 모듈(User Identify Module, UIM), 가입자 인증 모듈(Subscriber Identify Module, SIM), 범용 사용자 인증 모듈(Universal Subscriber Identity Module, USIM) 등을 포함할 수 있다. 식별 모듈이 구비된 장치(이하 '식별 장치')는, 스마트 카드(smart card) 형식으로 제작될 수 있다. 따라서 식별 장치는 포트를 통하여 단말기(100)와 연결될 수 있다.
상기 인터페이스부는 이동 단말기(100)가 외부 크래들(cradle)과 연결될 때 상기 크래들로부터의 전원이 상기 이동 단말기(100)에 공급되는 통로가 되거나, 사용자에 의해 상기 크래들에서 입력되는 각종 명령 신호가 상기 이동 단말기로 전달되는 통로가 될 수 있다. 상기 크래들로부터 입력되는 각종 명령 신호 또는 상기 전원은 상기 이동 단말기가 상기 크래들에 정확히 장착되었음을 인지하기 위한 신호로 동작될 수도 있다.
제어부(180)는 통상적으로 이동 단말기의 전반적인 동작을 제어한다. 예를 들어 음성 통화, 데이터 통신, 화상 통화 등을 위한 관련된 제어 및 처리를 수행한다. 제어부(180)는 멀티 미디어 재생을 위한 멀티미디어 모듈(181)을 구비할 수도 있다. 멀티미디어 모듈(181)은 제어부(180) 내에 구현될 수도 있고, 제어부(180)와 별도로 구현될 수도 있다.
상기 제어부(180)는 상기 터치스크린 상에서 행해지는 필기 입력 또는 그림 그리기 입력을 각각 문자 및 이미지로 인식할 수 있는 패턴 인식 처리를 행할 수 있다.
전원 공급부(190)는 제어부(180)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.
여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(microcontrollers), 마이크로 프로세서(microprocessors), 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 그러한 실시예들이 제어부(180)에 의해 구현될 수 있다.
소프트웨어적인 구현에 의하면, 절차나 기능과 같은 실시예들은 적어도 하나의 기능 또는 작동을 수행하게 하는 별개의 소프트웨어 모듈과 함께 구현될 수 있다. 소프트웨어 코드는 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션에 의해 구현될 수 있다. 또한, 소프트웨어 코드는 메모리부(160)에 저장되고, 제어부(180)에 의해 실행될 수 있다.
도 2는 도 1 이동 단말기의 동작을 도시한 흐름도이다.
도시한 바와 같이, 본 발명의 일 실시 예에 따른 이동 단말기(100)의 제어부(180)는 상술한 이동 단말기(100)의 각 구성요소를 제어하여, 특정 정보의 보안 통신을 위해 필요한 각종 동작을 수행한다.
일반적으로 HTTPS와 같은 보안 통신 프로토콜은 개인 정보를 보호할 수 있다는 장점이 있는 반면 HTTP와 같은 비 보안 통신 프로토콜에 비해 통신시 대략 2 내지 3배의 시간으로 데이터 전송 속도가 느려진다.
따라서 본 발명에서는 HTTP와 같은 비 보안 통신 프로토콜을 이용하면서 데이터의 중요도에 따라 보안 통신을 선별적으로 수행하기 위해 예를 들면 데이터의 등급이 사용자 정의 또는 시스템 정의에 따라 미리 구별되는 것이 바람직하다.
예를 들어 사용자의 프로필과 같은 개인 정보는 시스템 상에서 기본적으로 보안 데이터로 구분하도록 하고, 사용자가 자신이 작성한 문서를 보안 데이터로 취급하고자 하는 경우에는 해당 문서에 직접 보안을 표시하는 탭을 다는 등의 동작을 수행하여 보안 데이터로 표시하면, 본 실시예에 따른 데이터 전송시 해당 문서를 보안 데이터로 구분하여 보안 통신을 수행할 대상으로 선정할 수 있다.
도 2를 참조하면, 우선 이동 단말기(100)의 제어부(180)는 본 발명에 따른 데이터 전송 과정을 개시할 것인지 여부를 판단한다.
예를 들면 제어부(180)는 사용자 입력부(130)를 통해 입력된 명령이 사용자 입력부(130) 또는 메모리(160)로부터 전달된 데이터에 대한 전송 명령인지 여부를 확인한다(S200).
데이터 전송 명령이 입력된 것으로 판단되면, 제어부(180)는 해당 데이터가 보안 통신 채널을 통해 전송되어야 할 보안 데이터인지 여부를 확인한다(S300).
이러한 상황은 예를 들어 채팅(chat) 또는 피딩(feed)을 읽는 도중에 대화 상대의 개인 정보를 확인하려 할 때, 또는 친구 리스트 등을 통해 대상자의 개인정보를 확인하고자 할 때, 또는 사용자 자신의 개인 정보를 서버로부터 가져오려 할 때 등의 상황에서 발생할 수 있다.
보안 데이터인지 여부는 해당 데이터 파일의 헤더에 보안 데이터임을 나타내는 인식 정보를 삽입하거나 해당 데이터 파일에 대해 태그 정보를 부가하는 방식으로 나타낼 수 있다.
이에 따라 이동 단말기(100)의 제어부(100)는 무선 통신부(110)를 통해 인증 서버와 같은 서비스 제공자로부터 비밀 키를 획득한다(S400).
이러한 비밀 키 획득 단계는 본 실시 예에서와 같이 보안 통신이 필요할 때 수행될 수도 있으나 보안 통신 채널을 제공하는 단말기에서는 비 보안 통신을 위해 통신 프로토콜을 이용하여 통신망에 접속하면서 특정 정보에 대한 보안 통신을 위해 비밀 키 획득과 후술하는 인증키 생성 단계를 미리 수행하고 해당 비밀 키와 인증 키를 메모리(160) 등에 저장해 놓을 수도 있다.
도 4는 도 2의 비밀 키 획득 단계를 보다 상세하게 도시한 흐름도이다.
비밀 키를 제공받기 위한 인증 프로세스로는 예를 들어 OAuth 프로세스와 같은 표준 인증 방식을 사용하여 수행될 수 있다.
OAuth 프로세스는 OpenAPI로 개발된 표준 인증 방식으로, 각종 애플리케이션에서 사용자 인증을 수행할 때 활용할 수 있다.
OAuth 프로세스에서 사용자(user) 또는 애플리케이션은, OAuth를 통해 접근을 지원하는 웹 애플리케이션인 서비스 제공자(service provider)와, 서비스 제공자에게 접근하는 웹 사이트 또는 애플리케이션인 소비자(consumer)의 3자 간 또는 소비자와 서비스 제공자의 2자간 인증 프로세스를 수행하여 서비스 제공자로부터 비밀 키를 획득한다.
도 4를 참조하면, 사용자는 소비자에게 서비스 사용을 요청한다(S410).
사용자로부터 서비스 사용을 요청받은 소비자는 서비스 제공자에게 리퀘스트 토큰을 요청한다(S420).
소비자의 토큰 요청에 따라 서비스 제공자는 소비자에게 리퀘스트 토큰(request token)을 부여한다(S430).
이에 따라 소비자는 인증 페이지로 리디렉션하여(S440), 사용자가 아이디와 패스워드를 입력하여 리퀘스트 토큰을 인증하도록(S450) 한다.
리퀘스트 토큰이 인증되면 서비스 제공자는 사용자에게 엑세스 토큰(access tokken)과 비밀 키(secret)를 부여하여 인증을 확인한다(S460).
사용자는 이에 따라 소비자에게로 페이지를 리디렉션하고(S470), 소비자는 서비스 제공자에게 엑세스 토큰과 비밀키를 요청하며(S480), 서비스 제공자는 소비자에게 엑세스 토큰과 비밀키를 부여한다(S490).
비밀 키를 획득하면 제어부(180)는 비밀키를 사용하여 인증키를 생성한다(S500).
도 5는 도 2의 인증키 생성 단계를 보다 상세히 도시한 흐름도이다.
도 5를 참조하면, 제어부(180)는 획득한 비밀키로부터 그 길이 정보(LEN)를 취득한다(S510).
길이 값(LEN)은 비밀키를 구성하는 문자들의 총 자리수를 말한다. 예를 들어 획득된 비밀키가 "1MWLrAqHC0tWV6DBvwmHxL9h1RwXC603"인 경우 길이(LEN) 값은 "32" 이다.
이어서 "i" 값은 "0" 부터 시작하며, "i" 값을 길이(LEN) 값과 비교하여(S515), "i" 값이 길이(LEN) 값보다 작을 경우에는 S520 단계로 진행한다.
비교(MV: Matched View) 값에는 "0"을 대입하고(S520), 비밀키의 길이(LEN) 값에서 "i" 값을 뺀 차이 "LEN-i" 값에 따라, 비밀키로부터 이 차이 "LEN-i" 값에 대응하는 자리에 위치한 문자 하나를 "CH" 값으로 획득한다(S530).
"i" 값이 현재 "0" 인 상태에서는 "LEN-i" 값은 "32" 이며 이에 따라 비밀키의 32 자리수에 위치한 문자는 "3" 이므로 "CH" 값은 "3"이다.
그리고 인증키 생성(RAW) 값 중 해당 "CH"가 해당 비밀키 내에 중복되어 나타나는 경우에 있어서, 비밀키의 뒷 자리부터 시작하여 첫 번째 나타나는 위치(PST) 값을 확인하여 존재하지 않으면 해당 "CH"는 인증키 생성(RAW) 값의 "i" 번째 자리 값 "RAW[i]"으로 추가된다.
즉 비밀키의 32번째 자리 값인 "3"은 첫 번째 나타나는 값으로서 중복되어 나타나지 않았으므로 "RAW[0]" 값으로서, 즉 인증키 생성(RAW) 값의 첫 번째 자리 값으로서 추가된다.
이에 따라 중복하여 나타나는 문자가 나타나지 않을 때까지, 즉 비밀키의 뒷자리부터 시작하여 "LEN-i=18" 이전 자리, 즉 "RAW[13]"까지는 S535 단계에서 S570 단계로 바로 진행하여 "RAW" 값은 비밀키 자리 값 그대로 "306CXwR1h9LxHm"이 된다.
그리고 다음 "i"가 "14"가 되면 "LEN-i" 값은 "18"로서 "w"의 "PST" 값은 "w"가 인증키 생성(RAW) 값에서 처음으로 나타난 자리 값 즉 "5"가 된다.
S535 단계에서는 "CH"의 "RAW" 내에 "PST"가 존재하는지 확인한다(S535).
예를 들어 비밀키의 "LEN-14" 즉 "18" 자리에 해당하는 "CH"는 앞서 설명한 대로 "w"이며 "w"는 인증키 생성(RAW) 값을 보면 "5" 자리에 "w"가 나타나므로 "CH=w"의 "PST" 값은 "5" 이다.
"PST" 값이 존재하면, 즉 해당 "CH"가 비밀키의 뒷자리로부터 시작하여 중복되어 나타난 경우에는 우선, 비교(MV) 값에 1을 더하고(S540), 비교(MV) 값이 3보다 크지 않을 경우에는 대표 문자열(CDD: Candidates)에서 "i+PST" 번째 자리에 위치한 문자 하나를 "CH" 값으로 채택한다(S550).
비교(MV) 값은 인증키 생성 단계가 무한 루프로 진행되는 것을 막기 위한 것으로 3번까지 반복하여 채택된 "CH" 값이 비밀키에서 여전히 중복되어 나타나는 경우 즉 여전히 "PST"가 존재하는 경우에는 더이상 새로 "CH" 값을 채택하는 과정을 생략하고 "CH" 값을 확정하려고 도입된 개념이다.
여기서 대표 문자열(CDD)은 예를 들면 대문자와 숫자 그리고 소문자를 열거한 "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890abcdefghijklmnopqrstuvwxyz"의 총 62 문자로 설정할 수 있다.
위 예에서 비교 "MV=1" 이므로 S550 단계로 진행하여 "i+PST" "14+5=19"가 되므로 대표 문자열(CDD)의 19번째 자리에 위치한 문자인 "T"가 "CH"로 채택된다.
한편 S550 단계가 완료되면 S535 단계로 다시 진행하여 새로 채택된 "CH" 값이 인증키 생성(RAW) 값에 중복되어 나타나는 값인지 여부를 확인하고 중복되어 나타나지 않은 경우에는 S570 단계로 다시 진행하여 해당 "CH"를 인증키 생성(RAW) 값에 추가한다.
따라서 "CH"가 "T"인 값은 인증키 생성(RAW) 값에 중복되어 나타나지 않으므로 여기까지 진행된 인증키 생성(RAW) 값은 "306CXwR1h9LxHmT"가 된다.
한편 상술한 S545 단계에서 비교(MV) 값이 "3" 보다 큰 경우에는 S560 단계롤 진행하여 대표 문자열(CDD)의 "[i+PST+MV]" 자리의 문자가 "CH" 값으로 채택되고 S535 단계로 진행한다.
위의 예에서 인증키 생성(RAW) 값이 22 자리 번째에 이르러 "306CXwR1h9LxHmTvBDUVWt"가 되면, 다음 번 자리수 "i=22" 이고 "LEN-i=10"이며, 비밀키의 10번 자리에는 "0"이 위치한다.
이에 따라 "0"의 "PST"를 살펴보면 "0"이 인증키 생성(RAW) 값에서 처음 나타난 자리는 "1" 번 자리이므로 "PST=1"이고 "i+PST=22+1=23"이다. 따라서 비교(MV) 값은 "1"이 되고 S550 단계로 진행하여 "CDD[23]"을 보면 "X"가 위치하나 S535 단계에서 "X" 또한 인증 생성(RAW) 값 내에 이미 나타난 바 있으며 그 "PST" 값은 "4"이다. 따라서 비교(MV) 값은 다시 S540 단계로 진행하여 "2"가 되고, "i+PST=22+4=26"으로서 대표 문자열(CDD)의 26번째 자리(CDD[26])에는 "1"이 위치한다.
다시 S535 단계로 진행하여 "1"에 대한 "PST" 값을 살펴보면 "7"에 해당하며 따라서 다시 S540 단계에서 비교(MV) 값은 "3"이 되고 "i+PST=22+7=29"가 되어 S550 단계에서 "CDD[29]" 값은 "4"가 된다.
만약 "4"의 "PST" 값이 존재하면 이번에는 "MV" 값이 "4"가 되어 "CDD[i+PST+MV]" 값이 "CH" 값으로 채택되겠지만 "4"는 인증키 생성(RAW) 값에서 중복되는 문자가 아니므로 루프는 종료하여 S570 단계로 진행한다. 따라서 현재 "i=22" 까지 진행된 인증키 생성(RAW) 값은 "306CXwR1h9LxHmTvBDUVWt4"가 된다.
이와 같이 i가 31이 되기까지 루프를 돌며 인증키 생성(RAW) 값이 총 32 자리수까지 생성되고 나면 루프는 종료된다.
즉, 인증키는 비밀 키를 구성하는 각 문자 중 중복하여 나타난 문자를, 상기 영문자 및 숫자를 포함하여 구성된 대표 문자열의 특정 문자로 대체하여 중복되는 문자가 없도록 재구성하여 생성되는 것이다.
여기서 대표 문자열로부터 추출되는 특정 문자는, 비밀키에서 중복하여 나타난 문자의 자리 값과 그 문자가 최초 나타난 자리 값에 해당하는 숫자를 합산한 값에 대응하는 위치의 문자로서 결정된다.
또한 비밀키에서 중복하여 나타난 문자의 자리 값과 그 최초 나타난 자리 값의 합산 값이 대표 문자열의 총 문자수보다 큰 경우에는, 대표 문자열 중 상기 합산 값을 그 총 문자수로 나눈 나머지 값에 대응하는 위치의 문자를 대표 문자열로부터 추출하여 인증키의 문자로 결정한다.
그러나 대표 문자열로부터 추출되어 대체된 특정 문자가 비밀키 내에서 또다시 중복하여 나타난 문자로 판명되는 경우에는, 비밀키에서 중복하여 나타난 문자의 자리 값과 대표 문자열에서 추출된 특정 문자가 비밀키에서 최초 나타난 자리 값을 합산하고, 이 합산 값에 대응하는 문자를 다시 대표 문자열로부터 추출하여 인증키의 문자로서 결정하는 과정을 반복하게 된다.
다시 도 2로 돌아가서, 인증키가 생성되고 나면 암호화 단계가 시작되고(S600), 암호화된 데이터는 무선 통신부(110)를 통해 전송된다(S700).
도 6은 도 2의 암호화 단계를 보다 상세히 도시한 흐름도이다.
도 6을 참조하면, 우선 암호화하고자 하는 대상 데이터(TARGET)로부터 그 길이(LEN) 정보를 추출한다(S610).
이어서 대상 데이터의 0번째 자리부터 끝자리 문자까지 (i가 0에서 LEN-1까지) 후술하는 단계를 반복 수행하도록 한다(S615).
암호화하고자 하는 대상 데이터(TARGET)는 길이(LEN)에 해당하는 개수의 문자로 구성된 데이터로서 이들 문자는 예를 들어 숫자와 영문자로 구성된다.
우선 암호화할 대상 데이터의 "i" 번째 문자("TARGET[i])를 암호화 대상 문자("CH")로 택하고(S620), 암호화할 대상 문자 "CH"가 숫자인지 여부를 판단하여(S625), 숫자인 경우에는 S630 단계로 진행한다.
숫자의 경우 한 개의 숫자 당 두 번의 암호화 단계를 수행한다.
즉, S630 단계에서는 인증키의 "CH" 번째 문자 "ENK[CH]"를 암호화 문자 "CH2"로 채택하고, S640 단계에서는 인증키의 "length-CH" 번째 문자, 즉 인증키의 뒤에서 "CH" 번째 문자 "ENK[length-CH]"를 암호화 문자 "CH3"로 채택한다.
이어서 S680 단계에서 "CH2" 와 "CH3"은 모두 암호화 데이터(ENINF)로 추가된다.
한편 암호화할 대상 문자 "CH"가 숫자가 아닌 경우에는, S650 단계로 진행하여 암호화 대상 문자인 "i" 번째 문자 "TGT[i]"가 대표 문자열(CDD)에서 차지하는 위치의 자리수("PST")를 찾는다.
그리고 자리수 "PST"가 10보다 큰지 여부를 확인하여(S655), 10보다 크지 않으면 S670 단계로 진행하여 인증키의 "PST"번 자리에 위치한 문자인 "ENK[PST]"를 "CH2" 값으로 채택하고, "?"의 문자값을 "CH4"로 채택한다.
또한 자리수 "PST"가 10보다 큰 경우에는 S660 단계로 진행하여 "PST"를 10으로 나눈 몫에 해당하는 자리수의 인증키 값("ENK[PST/10]")을 "CH2"로 채택하고, 그 나머지에 해당하는 자리수이 인증키 값("ENK[PST%10]")을 "CH3"으로 채택하며 "?"의 문자값을 "CH4"로 채택한다.
예를 들어 비밀키가 "WZtXypfoTxYSsSJyexvAzJcWnyyY219e"인 경우, 인증키 생성 단계에 의해 생성된 인증키는 "e912YyLnWcJzAvxPVUSs4ZaTofp7Xtud" 이다.
이에 따라 전화번호 "+340020212021"가 암호화된 데이터는 "JZ2XY7ededltedltultedltu"가 된다.
즉 "+"에 대해 인증키 앞에서부터 10 자리수와 뒤에서부터 10 자리수인 "J"와 "Z"가 대응되며, "3"에 대해 앞에서 3 자리수와 뒤에서부터 3 자리수인 "2"와 "X"가 대응된다. 즉 하나의 숫자당 각각 인증키의 두개의 자리수의 문자로 암호화된다.
또한 이메일 주소 "vtnr-9NyuCtw@lge.com"는 일단 숫자 "57?55?49?53?-?34?13?60?56?2?55?58?@?47?42?40?.?38?50?48?"로 변환된 후 최종 암호화된 데이터는 "ynPyyPYcPy2PxP2YP92PLePyLPlPyyPyWPzPYnPYlPYePAP2WPyePYWP"가 된다.
즉, "v"의 경우 대표 문자열에서 57번 자리수에 해당하며, "t"의 경우에는 대표 문자열에서 55번 자리수에 해당하므로 각각 그 자리수에 해당하는 숫자로 일차적으로 변환된다. 그리고 변환된 각 자리수에 해당하는 숫자 사이에는 구별을 위한 "?" 문자가 위치하고 이어서 해당 숫자 57은 상술한 암호화 방식에 따라 "yn"으로 변환되고 "?"는 "P"로 변환되며 숫자 55는 "yy"로 암호화된다.
상술한 바와 같이 문자로 구성된 데이터의 경우 일단 문자열을 숫자열로 변환하고 각 문자마다 구분자로 "?"를 사용하였으나 이는 일 예로서 다른 구분자로 사용할 수도 있다. 그리고 이때 문자열을 숫자열로 변경할 때는 전술한 바와 같이 대표 문자열(CDD)의 자리 번째에 따른다.
또한 숫자로 구성된 데이터의 경우에는 각각의 숫자를 인증키의 자리수로 대응시켜 해당 자리수에 위치하는 인증키의 해당 문자로 치환한다.
또한 "+", "-", "_", "@", ",", "." 등의 문자는 예를 들어 "+"에 대해서는 인증키의 "10"번째 자리수로 치환하는 등 각각 인증키의 특별한 자리수를 미리 지정하여 치환한다.
즉, 암호화 대상 데이터가 숫자인 경우에는 인증키의 앞 부분으로부터 계수하여 상기 숫자에 해당하는 자리의 문자와 뒷부분으로부터 계수하여 상기 숫자에 해당하는 자리의 문자로 구성된 두 개의 문자를 상기 숫자로부터 암호화된 문자로 결정한다.
그리고 암호화 대상 데이터가 영문자인 경우에는, 일단 영문자가 대표 문자열에서 위치하는 자리 값의 숫자로 변환한 후, 인증키의 앞부분으로부터 계수하거나 뒤부분으로부터 계수하여 상기 숫자에 해당하는 자리에 위치한 문자로 다시 변환하여 암호화한다.
그리고 암호화 대상 데이터가 영문인 경우 각 문자로부터 최종적으로 변환된 문자들 사이에 구분자를 표시하여 서로 다른 문자로부터 변환된 문자들을 구분하도록 한다.
또한, 암호화 단계에서 영문자로부터 변환된 숫자가 두 자리 숫자인 경우, 두 자리 숫자의 각 자리를 나타내는 숫자에 대해 각각 따로 암호화 단계를 수행한다. 즉, 각각의 숫자에 대해 인증키의 해당 위치에 대응하는 문자로 각각 변환하여 변환된 두 개의 문자를 암호화 데이터로 결정한다.
도 3은 데이터 수신에 따른 데이터 복호화과정을 도시한 흐름도이다.
도 3을 참조하면, 우선 이동 단말기(100)의 제어부(180)는 무선 통신부(110)를 통해 데이터가 수신되면(S800), 제어부(180)는 수신된 데이터가 보안 통신 채널을 통해 전송되어야 할 보안 데이터를 포함하는지 여부를 확인한다(S900).
보안 데이터인지 여부는 해당 데이터 파일의 헤더에 보안 데이터임을 나타내는 인식 정보가 삽입되어 있는지를 확인하거나 해당 데이터 파일에 대해 보안 데이터임을 나타내는 태그 정보가 부가되어 있는지를 확인하는 방식으로 수행할 수 있다.
보안 데이터가 포함되어 있으면 이동 단말기(100)의 제어부(100)는 보안 데이터를 복호화하기 위해 무선 통신부(110)를 통해 인증 서버와 같은 서비스 제공자로부터 비밀 키를 획득하고(S1100), 획득된 비밀키를 이용하여 인증키를 생성한다(S1200). 이 두 단계는 보안 데이터를 수신한 이후에도 수행할 수 있으나 그 이전에 미리 수행하여 획득된 비밀 키와 생성된 인증키를 메모리(160)에 저장해둘 수도 있다.
한편, 비밀키 획득 단계와 인증키 생성 단계는 도 2의 비밀키 획득 단계 ㅁ및 인증키 생성 단계와 각각 동일하므로 그 설명을 생략한다.
비밀키를 획득하고 이를 이용하여 인증키를 생성하고 나면, 이동 단말기(100)의 제어부(180)는 인증키를 이용하여 수신된 암호 데이터를 복호화한다(S1300).
도 7은 도 3의 복호화 과정을 더욱 상세히 도시한 흐름도이다.
도 7을 참조하면, 이동 단말기(100)의 제어부(180)는 우선 복호화하고자 하는 대상 데이터(TARGET)로부터 그 길이(LEN) 정보를 추출한다(S1310).
이어서 대상 데이터의 0번째 자리부터 끝자리 문자까지 (i가 0에서 LEN-1까지) 후술하는 단계를 반복 수행하도록 한다(S1315).
복호화하고자 하는 대상 데이터(TARGET)는 길이(LEN)에 해당하는 개수의 문자로 구성된 데이터로서 이들 문자는 예를 들어 숫자와 영문자로 구성된다.
우선 복호화할 대상 데이터의 "i" 번째 문자("TARGET[i])를 복호화 대상 문자("CH")로 택하고(S1320), 복호화할 대상 문자 "CH"가 "?"인지 여부를 판단하여(S1325), "?" 인 경우에는 S1330 단계로 진행한다.
그리고 S1330 단계에서 복호화된 정보(DNINF)로부터 "?" 이전의 숫자(NUM)를획득한다.
그리고 획득된 복호화된 정보(DNINF)로부터 "?" 이전의 숫자(NUM)를 삭제한다(S1340).
이어서 대표 문자열(CDD)로부터 숫자(NUM)에 대응하는 자리의 문자(CDD[NUM])를 복호화할 대상 문자(CH)로서 획득하고(S1350), 획득된 복호화할 대상 문자(CH)를 복호화된 정보(DNINF)에 추가한다(S1370).
한편, S1325 단계에서 복호화할 대상 문자(CH)가 "?"이 아닌 경우 S1360 단계로 진행하여 인증키(ENK)의 대상 문자(CH)에 해당하는 자리수 값(ENK[CH])의 위치값 "PST"를 획득하고, S1370 단계로 진행하여, 획득된 위치값 "PST"를 복호화된 정보(DNINF)에 추가한다.
상술한 반복 단계들이 모두 종료하여 "i" 값이 "LEN" 값보다 작지 않게 되면, 최종적으로 S1380 단계로 진행하여 복호화된 정보(DNINF)에 포함된 "?" 값을 모두 삭제한다.
본 발명은 기재된 실시예들에 한정되는 것이 아니고, 본 발명의 사상 및 범위를 벗어나지 않고 다양하게 수정 및 변형할 수 있음은 이 기술의 분야에서 통상의 지식을 가진 자에게 자명하다. 따라서, 그러한 수정예 또는 변형예들은 본 발명의 특허청구범위에 속한다 하여야 할 것이다.
100 : 이동 단말기 110 : 무선 통신부
140 : 센싱부 151 : 디스플레이 모듈
180 : 제어부

Claims (9)

  1. 비 보안 통신을 수행하는 이동 단말기에 있어서,
    특정 정보에 대한 보안 통신을 위해 네트워크를 통해 서비스 제공자로부터 비밀 키를 획득하는 단계;
    상기 비밀 키를 이용하여 상기 특정 정보의 암호화 및 복호화에 사용되는 인증키를 생성하는 단계; 및
    상기 인증키를 이용하여 상기 특정 정보를 암호화 또는 복호화하는 단계;를 포함하는 것을 특징으로 하는 이동 단말기의 암호 및 복호 방법.
  2. 제1 항에 있어서,
    상기 인증키 생성단계는, 상기 비밀 키를 구성하는 각 문자 중 중복하여 나타난 문자에 대해, 영문자 및 숫자를 포함하도록 구성된 대표 문자열로부터 특정 문자를 추출하여 상기 중복하여 나타난 문자를 대체함으로써 인증키를 생성하는 것을 특징으로 하는 이동 단말기의 암호 및 복호 방법.
  3. 제2 항에 있어서,
    상기 대표 문자열의 특정 문자는, 상기 비밀키 중 상기 중복하여 나타난 문자의 자리 값과 그 최초 나타난 자리 값에 해당하는 숫자를 합산한 값에 대응하는 위치의 문자로서 결정되는 것을 특징으로 하는 이동 단말기의 암호 및 복호 방법.
  4. 제3 항에 있어서,
    상기 비밀키 중 상기 중복하여 나타난 문자의 자리 값과 그 최초 나타난 자리 값의 합산 값이 상기 대표 문자열의 총 문자수보다 큰 경우에는, 상기 특정 문자는 상기 대표 문자열 중 상기 합산 값을 상기 총 문자수로 나눈 나머지 값에 대응하는 위치의 문자로서 결정되는 것을 특징으로 하는 이동 단말기의 암호 및 복호 방법.
  5. 제3 항에 있어서,
    상기 대표 문자열로부터 추출되어 대체된 상기 특정 문자가 상기 비밀키 내에서 중복하여 나타난 경우, 상기 특정 문자로 대체 전의 문자의 자리 값과 상기 특정 문자가 상기 비밀키에서 최초 나타난 자리 값의 합산 값에 대응하는 위치의 문자를 상기 대표 문자열로부터 다시 추출하여 상기 특정 문자를 대체하는 과정을 수행하는 것을 특징으로 하는 이동 단말기의 암호 및 복호 방법.
  6. 제2 항에 있어서,
    상기 암호화에 있어서, 암호화 대상 데이터가 숫자인 경우 상기 인증키의 앞 부분으로부터 계수하여 상기 숫자에 해당하는 자리의 문자와 뒷부분으로부터 계수하여 상기 숫자에 해당하는 자리의 문자들로 변환하는 것을 특징으로 하는 이동 단말기의 암호 및 복호 방법.
  7. 제2 항에 있어서,
    상기 암호화에 있어서, 암호화 대상 데이터가 영문자인 경우 상기 영문자가 상기 대표 문자열에서 위치하는 자리 값의 숫자로 변환한 후 상기 인증키의 앞부분으로부터 계수하거나 뒤부분으로부터 계수하여 상기 숫자에 해당하는 자리에 위치한 문자로 변환하는 것을 특징으로 하는 이동 단말기의 암호 및 복호 방법.
  8. 제7 항에 있어서,
    상기 암호화 대상 데이터가 영문인 경우 상기 각 문자로부터 최종적으로 변환된 문자들 사이에 구분자를 표시하여 서로 다른 문자로부터 변환되었음을 표시하는 것을 특징으로 하는 이동 단말기 암호 및 복호 방법.
  9. 제7 항에 있어서,
    상기 암호화에 따라 상기 변환된 숫자가 복수 자리의 숫자인 경우, 상기 복수 자리 숫자의 각 자리를 나타내는 숫자 각각에 대해 상기 인증키의 해당 위치에 대응하는 문자로 변환하는 것을 특징으로 하는 이동 단말기의 암호 및 복호 방법.
KR1020120001361A 2012-01-05 2012-01-05 이동 단말기의 암호 및 복호 방법 KR20130080523A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120001361A KR20130080523A (ko) 2012-01-05 2012-01-05 이동 단말기의 암호 및 복호 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120001361A KR20130080523A (ko) 2012-01-05 2012-01-05 이동 단말기의 암호 및 복호 방법

Publications (1)

Publication Number Publication Date
KR20130080523A true KR20130080523A (ko) 2013-07-15

Family

ID=48992591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120001361A KR20130080523A (ko) 2012-01-05 2012-01-05 이동 단말기의 암호 및 복호 방법

Country Status (1)

Country Link
KR (1) KR20130080523A (ko)

Similar Documents

Publication Publication Date Title
US11057378B2 (en) Device and method of setting or removing security on content
CN106255976B (zh) 机密数据管理方法及装置以及安全认证方法及系统
CN104852911B (zh) 安全验证方法、装置及系统
CN108886469B (zh) 用于提供临时账户信息的方法、装置和系统
EP2937802A1 (en) Mobile device and method of sharing content
CN105981398B (zh) 用于提供内容安全功能的内容安全方法和电子设备
US10003964B1 (en) Method for sending secret messages between mobile devices
CN113259301B (zh) 一种账号数据共享方法及电子设备
US20140094141A1 (en) Apparatus and Methods for Preventing Information Disclosure
EP3203680B1 (en) Method and apparatus for providing securities to electronic devices
KR20130017507A (ko) 이동 단말기 및 이동 단말기의 결제 방법
US11405193B2 (en) Encrypted photographing method and system based on fingerprint recognition
US20170090603A1 (en) Mobile terminal and method for controlling the same
US10439995B2 (en) Method and system for secure private communications
CN105184183A (zh) 一种聊天记录加密方法及移动终端
US10009834B2 (en) Apparatus and method for accessing electronic device having hot spot function
WO2017193645A1 (zh) 一种显示数据的方法、装置和终端
CN106548081A (zh) 一种终端信息显示方法及装置
CN109800583B (zh) 包括显示器的电子设备以及加密信息的方法
KR102657388B1 (ko) 암호화될 데이터의 정보량에 기반하여 암호화에 사용될 키를 선택하는 전자 장치 및 전자 장치의 동작 방법
KR20150000286A (ko) 보안 환경 전환 장치 및 방법
KR20140105681A (ko) 보안 모드에서 데이터 암호화 장치 및 방법
KR20130080523A (ko) 이동 단말기의 암호 및 복호 방법
CN107580001B (zh) 应用登录及鉴权信息设置方法、装置、计算机装置及存储介质
KR20100110955A (ko) 이동 단말기 및 이를 이용한 콘텐츠 송수신 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid