WO2012165901A2 - 단말기간 보안채널화 방법 - Google Patents

단말기간 보안채널화 방법 Download PDF

Info

Publication number
WO2012165901A2
WO2012165901A2 PCT/KR2012/004347 KR2012004347W WO2012165901A2 WO 2012165901 A2 WO2012165901 A2 WO 2012165901A2 KR 2012004347 W KR2012004347 W KR 2012004347W WO 2012165901 A2 WO2012165901 A2 WO 2012165901A2
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
encryption
data
communication
security key
Prior art date
Application number
PCT/KR2012/004347
Other languages
English (en)
French (fr)
Other versions
WO2012165901A3 (ko
Inventor
백기영
Original Assignee
Beak Gyyoung
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 Beak Gyyoung filed Critical Beak Gyyoung
Publication of WO2012165901A2 publication Critical patent/WO2012165901A2/ko
Publication of WO2012165901A3 publication Critical patent/WO2012165901A3/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Definitions

  • the present invention verifies that a member at the start of communication between terminals registered as a member, while sharing the security key that can be used only from the start of the communication to the end of the communication between the terminals, the shared security key during data communication
  • verify the communication status by verifying the terminals during data transmission, and convert the original data in sequence form to matrix data when decrypting and decrypting the matrix.
  • a security key composed of a factor for determining the conversion pattern into a matrix, a factor for determining the shape of a submatrix, and a factor for determining the conversion pattern of a submatrix position by encrypting and decrypting the sequence type after conversion.
  • the present invention relates to a method for secure channelization between terminals to increase security.
  • the member authentication code of the terminal which transmits the encrypted data is received, and the member authentication code is verified so that the encrypted data is transmitted to the counterpart terminal only when the verification passes.
  • the member verification step may determine the location of the first terminal requesting communication, and reject the communication request if it is out of the preset area.
  • FIG. 4 is a flowchart of a method for secure channelization between terminals according to an embodiment of the present invention.
  • the member authentication unit 21 connects through a communication network, gives a member authentication code to a terminal requesting membership registration, registers as a member, and transmits the member authentication code and the encryption / decryption processor to the registered terminal. Store and manage the member authentication code in the registered member terminal and programmatically embed the encryption / decryption processor. In addition, the member authentication unit 21 verifies the member authentication code when receiving a request to start communication with another member registered terminal while receiving a member authentication code from the member registered terminal. In addition, it is verified whether the member authentication code included in the data transmitted between the communication initiated terminals is a member authentication code of the member registered terminal.
  • the encryption / decryption processor uses the divided data obtained by dividing data transmitted and streamed in real time into a predetermined size or time interval as original data.
  • the preset size or time interval may be a criterion for determining a unit of bundle of data when the data is streamed in real time, and the criterion may use information generally used in a streaming technique.
  • the encryption / decryption processor is installed in the terminal and configured to interwork with an application for data communication between the terminals, and is installed in the terminal as the encryption / decryption processor in the member registration step (S10).
  • the communication start step (S20) and the communication step (S30, S40) is made through the application, in the communication step (S30, S40) to encrypt or decrypt data exchanged in the chat room through the application.
  • the chat room verification step (S22-1, S22-2, S22-3) is performed between the member verification step (S22) and the security key generation step (S23) as shown in FIG.
  • a communication request with the second terminal is received by the execution of the application from the first terminal and the security key generation step S23 is performed after the member verification step S22 is performed.
  • the chat room verification step (S22-1, S22-2, S22-3) is performed.
  • the method of confirming the number of terminals in the access check step (S22-2) may be made of a method of confirming the number of access channels of the terminal connected to the chat room.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은, 통신 개시 시점부터 통신 종료 시점까지만 사용할 수 있는 보안키를 단말기간에 공유하게 하는 단말기간 보안채널화 방법에 관한 것으로서, 이를 위해, 회원 가입을 요청하는 단말기들에게 회원 인증코드와 암복호화 프로세서를 통신망을 통해 전송하여 단말기에서 암복호화 프로세서를 실행할 수 있게 하는 회원 등록단계; 회원 등록된 제1 단말기로부터 회원 인증코드를 전송받으며 회원 등록된 제2 단말기와의 통신을 요청받는 단말기간 통신 요청단계; 전송받은 회원 인증코드를 검증하는 회원 검증단계; 암호화 패턴을 결정짓는 보안키를 랜덤하게 생성하는 보안키 생성단계; 생성한 보안키를 상기 제1,2 단말기에게 전송하는 보안키 전송단계; 상기 제1,2 단말기에서 보안키에 대응되는 암호화 패턴을 이용하여 전송할 원본 데이터를 암호화 데이터로 전송하고 암호화 데이터를 수신하여 원본 데이터로 복호화하며 데이터 통신을 하게 하는 통신단계;를 포함하여 이루어진다.

Description

단말기간 보안채널화 방법
본 발명은, 회원 등록되는 단말기간의 통신을 개시할 시에 회원임을 검증하는 한편, 통신 개시 시점부터 통신 종료 시점까지만 사용할 수 있는 보안키를 단말기간에 공유하게 하여, 데이터 통신을 하는 중에 공유된 보안키를 사용하여 보안채널을 유지하게 하며, 데이터를 전송하는 중에 단말기들을 검증하여 통신 상황을 보증하고, 암복호할 시에 시퀀스 형태의 원본 데이터를 행렬 형태의 데이터로 변환하고 소행렬들의 위치 변경으로 행렬 변환한 후에 시퀀스 형태의 변환하는 방식으로 암복호화하게 하여서 행렬로의 변환 패턴을 결정짓는 인자, 소행렬의 형태를 결정짓는 인자, 및 소행렬 위치의 변환 패턴을 결정짓는 인자로 이루어지는 보안키에 의해 보안성을 높이게 한 단말기간 보안채널화 방법에 관한 것이다.
최근 인터넷을 기반으로 하는 통신기술 분야에서 음성 통신은 물론이고 클라우드/그리드(Cloud/Grid) 컴퓨팅, P2P(Person-to-Person), M2M(Machine-to-Machine) 등과 같은 새로운 통신기술들이 등장하고 있으며, 이러한 새로운 통신기술들은 데이터 전송 속도뿐만 아니라 특히 단말기(Terminal) 간에 형성되는 통신채널에 대한 보안성에 중점을 두고 개발되어 왔다.
일반적으로 통신채널을 통해 전송되는 데이터는 보안성을 위해서 암호화되어서 불특정인에게 데이터가 유출되더라도 원본 데이터로의 변환을 어렵게 한다. 이러한 데이터의 암호화 방법은 원본 데이터를 지정된 함수를 이용한 알고리즘에 의해 재분배하거나, 미리 정해진 순열을 원본 데이터에 부가하는 형태로 수행하며, 대표적인 것으로 블록 암호화 방식의 DES(Data Encryption Standard), FEAL(Fast Data Encipherment Algorithm) 및 AES(Advanced Encryption Standard)와 의사난수 부가형 암호화(Pseudo Random Number Add Type Cryptofraphy)와 같은 표준 및 방법을 예로 들 수 있다.
또한, 암호 알고리즘은 원본 데이터를 암호화 및 복호화할 시에 보안키(key)를 사용하게 되므로, 통신채널로 연결되는 단말기들은 보안키를 공유하여야만 한다. 일례로, 공개키(PKI:Public Key Infrastructure)를 이용하는 방식이 있다.
하지만, 종래 방식은 보안키를 공유하는 과정이 복잡하므로, 보다 단순하게 보안키를 공유하게 하며, 그러면서도 보안을 유지하도록 하는 것이 요구된다.
또한, 이와 같이 암호화되어 전송되는 데이터는 여러가지 환경에 노출되며, 이 중 의도적인 해커에 의해 이용될 소지가 있었다. 이러한 해커들은 전송되는 데이터를 습득하고, 이들을 비교하여 원본 데이터를 유추하는 형태를 비롯하여 다양한 방법으로 암호화 방법을 알아내고, 알아낸 방법에 의해 원본 데이터들을 습득하였다.
일례로, 블록암호화 방식의 경우 일정한 크기의 바이트(Byte) 내지 비트 단위로 데이터를 블록화하여 처리하는 경우가 빈번하다. 그런데, 이렇게 암호화된 블록에 대해 억지기법(Brute Force Technique)과 같은 해킹방법을 적용하면, 매 해킹 시도의 경우마다 원본 데이터의 원본블록을 유추하여 비교를 당함으로써 결과적으로 원본 데이터가 해커에게 노출되는 문제점이 있다. 특히, 이러한 보안상의 취약점은 일정한 암호화에 있어서 일정한 알고리즘을 적용하며, 일정한 크기의 블록 단위로 암호화를 진행함으로써 발생하는 경향이 크다.
또한, 이러한 문제를 해결하기 위해 타원 곡선 함수를 이용하는 방법이나, 양자 암호 기술을 이용하여 보안성을 높이는 방법도 고려될 수 있으나, 이러한 경우 암호화 및 복호화를 수행하는 장치의 부하가 커지는 문제점이 있다.
따라서 본 발명의 목적은 서로 통신하려는 단말기간에 보안키를 공유함에 있어 보안키의 공유과정을 단순하게 하고, 그러면서도, 보안키에 대한 보안성을 높이며, 일률적인 블록 단위의 암호화가 아닌 다양한 방식으로 암호화할 수 있어서, 암호화된 데이터의 유출이 발생하더라도 유출된 데이터를 복호화하지 못하게 하는 단말기간 보안채널화 방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은, 보안키별로 서로 다른 암호화 패턴을 생성하는 동작, 원본 데이터를 암호화 패턴에 따라 암호화하는 동작, 및 암호화 데이터를 암호화 패턴에 따라 복호화하는 동작을 수행하는 암복호화 프로세서를 이용하며, 단말기들간 통신채널을 중계하는 통신보안서버로 이루어지는 단말기간 보안채널화 방법에 있어서, 회원 가입을 요청하는 단말기들에게 회원 인증코드를 부여하고 부여한 회원 인증코드와 상기 암복호화 프로세서를 통신망을 통해 전송하여 단말기에서 상기 암복호화 프로세서를 실행할 수 있도록 장착되게 하고 상기 회원 인증코드를 저장하게 하는 회원 등록단계; 회원 등록된 제1 단말기로부터 회원 인증코드를 전송받으며 회원 등록된 제2 단말기와의 통신을 요청받는 단말기간 통신 요청단계; 전송받은 회원 인증코드를 검증하는 회원 검증단계; 암호화 패턴을 결정짓는 보안키를 랜덤하게 생성하는 보안키 생성단계; 생성한 보안키를 상기 제1,2 단말기에게 전송하는 보안키 전송단계; 상기 제1,2 단말기에서 보안키에 대응되는 암호화 패턴을 이용하여 전송할 원본 데이터를 암호화 데이터로 전송하고 암호화 데이터를 수신하여 원본 데이터로 복호화하며 데이터 통신을 하게 하는 통신단계;를 포함하여 이루어짐을 특징으로 한다.
상기 통신단계는, 상기 통신 요청단계, 회원 검증단계, 보안키 생성단계 및 보안키 전송단계를 거쳐 새로 생성하는 보안키로만 사용되게 함을 특징으로 한다.
상기 암복호화 프로세서로 이루어지는 암호화 과정은, 비트단위, 바이트단위 아니면 미리 지정된 바이트수로 이루어지는 워드단위의 단위값들을 시퀀스 형태로 나열한 데이터를 원본 데이터로 하여 원본 데이터를 지정된 길이의 단위시퀀스로 분할하는 단계; 분할한 단위시퀀스들을 나열 순서에 따라 열방향으로 나열하여 단위값들로 이루어진 행렬 데이터를 형성하는 단계; 행렬 데이터를 지정된 블록 크기의 소행렬들로 분할하는 단계; 소행렬들의 위치 변경을 나타내는 암호화 패턴에 따라 소행렬들을 배치하여 암호화 행렬 데이터를 생성하는 단계; 암호화 행렬 데이터의 행의 순서에 따라 이어지게 한 암호화 데이터를 생성하는 단계; 로 이루어지고, 상기 보안키는 암호화 패턴을 결정짓는 암복호화키, 단위시퀀스의 길이 및 소행렬의 크기를 포함하는 정보로 이루어짐을 특징으로 한다.
복호화 과정은, 상기 보안키에 근거하여 암호화 데이터에 대한 단위시퀀스들로 분할하는 단계; 행렬 데이터를 형성하는 단계; 소행렬들로 분할하는 단계; 암호화 패턴의 역패턴에 따라 원본 데이터에 대응되는 행렬 데이터로 재배치하는 단계; 행의 순서에 따라 이어지게 한 원본 데이터를 얻는 단계;로 이루어짐을 특징으로 한다.
상기 보안키 생성단계에서 생성되는 보안키는, 순서가 정해지는 복수의 암복호화키와, 각각의 암복호화키에 대해 지정되는 소행렬의 크기 값을 갖게 생성되고, 상기 통신단계는, 원본 데이터의 암호화 과정 중에 암복호화키에 대응되는 암호화 패턴 및 암복호화키에 대해 지정된 소행렬의 크기에 근거하여 이루어지는 소행렬들로 분할하는 단계; 및 행렬 데이터를 생성하는 단계;를 암복호화키의 순서에 따라 순차적으로 수행하고, 암호화 데이터의 복호화 과정 중에 암복호화키의 역순에 따라 소행렬들로 분할하는 단계; 및 행렬 데이터를 생성하는 단계;를 순차적으로 수행함을 특징으로 한다.
상기 원본 데이터는 이미지 데이터로 이루어지고, 상기 단위값을 이미지의 화소값으로 하고, 단위시퀀스의 길이를 이미지의 폭방향에 대한 화소들의 시퀀스 길이로 하고, 이미지 상의 화소값 위치를 행렬 데이터의 화소값 위치로 하여서, 행렬 데이터를 얻음을 특징으로 한다.
상기 원본 데이터는 실시간 스트리밍되는 음성 데이터, 문자 데이터 또는 동영상 데이터를 미리 설정된 크기 또는 시간 간격으로 분할하여 얻어지는 분할된 데이터임을 특징으로 한다.
상기 단말기간 통신 요청단계는, 상기 보안키를 이루는 상기 암복호화키, 소행렬의 크기 및 단위시퀀스의 길이 중에 어느 하나 이상을 제1 단말기에서 지정하도록 허용하고, 제1 단말기에 의해 지정된 보안키를 제2 단말기에 전송하되, 지정되지 않는 것을 통신보안서버(20)에서 랜덤하게 생성하여 제1,2 단말기에게 전송함을 특징으로 한다.
상기 암복호화키는, 소행렬들의 순번을 정한 후에 순번들 중에 선택되는 어느 하나의 순번으로 이루어지고, 순번을 시드값(seed) 값으로 암호화 패턴을 형성하게 함을 특징으로 한다.
상기 회원 등록단계는, 통신보안서버에서 단말기 전용의 보안키를 생성하여서, 단말기에 내장되는 암복호화 프로세서에서 저장관리하게 하고, 상기 단말기간 통신 요청단계에서 전송하는 회원 인증코드 또는 상기 보안키 전송단계에서 전송하는 보안키를 상기 단말기 전용의 보안키에 따라 암호화하여 전송하여 단말기에서 복호화하게 함을 특징으로 한다.
상기 통신단계는, 암호화 데이터를 전송하는 단말기의 회원 인증코드를 전송받아 회원 인증코드를 검증하여 검증을 통과할 경우에만 암호화 데이터를 상대측 단말기에 전송하도록 중계함을 특징으로 한다.
상기 회원 검증단계는, 통신을 요청하는 제1 단말기의 위치를 판단하여 미리 설정된 지역에서 벗어나면 통신 요청을 거절함을 특징으로 한다.
상기와 같이 구성되는 본 발명은, 회원 등록제를 적용하여 통신시에 회원을 검증하므로 검증된 회원간에 안전하게 통신하게 함과 아울러, 통신의 개시시점부터 종료시점까지만 사용되는 보안키를 공유하게 하고 그 보안키를 램덤하게 생성하여서 보안키의 공유과정이 단순하면서 안정된 보안 통신채널을 유지할 수 있다.
또한, 본 발명은 단말기에서 이루어지는 암호화 과정에서 원본 데이터를 단위시퀀스들로 분할하고, 행렬 데이터로 변화하고, 행렬 데이터를 소행렬로 분할하여 위치 변동으로 암호화하고, 암호화된 행렬 데이터를 시퀀스 형태의 암호화 데이터로 변경하여 전송하므로, 랜덤하게 지정하는 단위시퀀스의 길이, 소행렬의 크기, 및 위치 변동 패턴 모두를 알지 못하면 복호화하지 못하게 하는 높은 보안성을 갖추고, 아울러, 소블록을 형성하는 소행렬 내에서 열 간의 연관성을 낮출 수 있으므로, 같은 크기의 블록을 사용하는 조건에서 종래 시퀀스 형태의 소블록을 사용할 때보다 보안성을 높이고, 암호화과정에 소요되는 시간도 단축할 수 실시간 통신에도 유리하다.
도 1은 본 발명의 실시예에 따른 단말기간 보안채널화 방법을 구현하기 위한 시스템의 블록 예시도.
도 2는 본 발명의 실시예에 따른 단말기간 보안채널화 방법에 있어서, 원본 데이터의 암호화 과정을 보여주는 순서도.
도 3은 원본 데이터의 암호화 과정에 있어서 행렬 데이터를 형성하는 단계를 설명하기 위한 도면.
도 4는 본 발명의 실시예에 따른 단말기간 보안채널화 방법의 순서도.
도 5는 본 발명의 실시예에 따른 단말기간 보안채널화 방법의 세부 흐름도.
도 6은 본 발명의 실시예에 따른 단말기간 보안채널화 방법을 인스턴트 메신저와 연동되게 하였을 때에, 대화방 검증 단계를 추가할 수 있음을 보여주는 대화방 검증 단계의 순서도.
이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야에 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명한다. 첨부된 도면들에서 구성 또는 작용에 표기된 참조번호는, 다른 도면에서도 동일한 구성 또는 작용을 표기할 때에 가능한 한 동일한 참조번호를 사용하고 있음에 유의하여야 한다. 또한, 하기에서 본 발명을 설명함에 있어, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 1은 본 발명의 실시예에 따른 단말기간 보안채널화 방법을 구현하기 위한 단말기간 보안채널화 시스템의 블록 예시도이다.
본 발명의 실시예에 있어서 단말기간 보안채널화 시스템은, 암복호화 프로세서가 내장되는 통신망(30)에 접속 가능한 단말기들(10:10-1,10-2), 및 단말기들(10:10-1,10-2) 간의 보안채널을 형성하는 통신망(30)에 접속 가능한 통신보안서버(20)를 포함하여 구성된다.
상기 단말기들(10:10-1,10-2)은, 서로 간에 통신하는 단말기들로서, 예를 들면 휴대전화, 스마트폰, PDA, 테블릿, 컴퓨터, 고정 가입자 유닛, 이동 가입자 유닛, 또는 통신망을 통해 통신하는 사무기기(또는 전산장비)로 이루어질 수 있지만, 이들만으로 한정하는 것은 아니고, 통신망(30)에 접속하여 상호 통신할 수 있는 단말기이면 된다. 한편, 본 발명의 실시예를 설명함에 있어서 첨부된 도면에는 2대의 단말기만을 도시하였으나, 서로 간에 통신할 수 있는 3대 이상의 단말기들이라도 상기 통신보안서버(20)에 회원 등록하여 상기 암복호화 프로세서를 내장한다면 본 발명에 따른 단말기간 보안채널화 방법에 의해서 임의의 단말기들 간에 통신채널을 형성하게 할 수 있음에 유의해야 한다.
상기 암복호화 프로세서는 상기 통신보안서버(20)에 회원으로 등록되는 단말기마다 내장되는 것으로서, 하드웨어, 소프트웨어, 아니면 하드웨어와 소프트웨어의 결합 형태로 내장될 수 있다. 최근, 다양한 어플리케이션을 다운받아 설치하여 사용할 수 있는 스마트폰의 열풍을 감안하면, 상기 암복호화 프로세서는 소프트웨어인 어플리케이션 형태로 구현되어서 임의의 단말기 사용자가 상기 통신보안서버(20)로부터 다운받고 회원등록하면 사용할 수 있게 하는 것이 바람직하며, 이에, 본 발명의 실시예를 설명함에 있어 이와 같은 형태로 단말기에 내장되는 것으로 설명한다.
상기 암복호화 프로세서는 상기 통신보안서버(20)에서 지정한 보안키에 대응되는 암호화 패턴을 생성하는 동작, 원본 데이터를 암호화 패턴에 따라 암호화하는 동작, 및 암호화 데이터를 암호화 패턴에 따라 복호화하는 동작을 단말기(10)에서 수행하도록 이루어진다.
그리고, 데이터의 암복호화에 필요한 암호화 패턴은 보안키별로 서로 다르게 생성되고, 통신하는 단말기들이 상기 통신보안서버(20)에서 지정한 보안키를 공유하면, 암호화 데이터로 전송하고 전송받는 데이터를 복호화할 수 있으며, 암호화 데이터가 단말기 간의 전송 중에 유출되더라도 보안키를 알지 못하거나 보안키를 알더라도 암호화 패턴의 생성방식을 알지 못하면 암호화 데이터로부터 원본 데이터를 얻을 수 없다.
또한,상기 암복호화 프로세서는 상기 통신보안서버(20)에 의해 부여되는 하기의 회원 인증코드를 저장관리하여서, 다른 회원 등록 단말기와 통신할 시에 검증 정보로서 사용한다.
상기 암복호화 프로세서에서 이루어지는 원본 데이터의 암호화 과정과, 암호화 데이터의 복호화 과정에 대해서는 도 2,3을 참조하여 후술한다.
상기 통신보안서버(20)는, 단말기들 중에 상기 암복호화 프로세서의 다운로드와 회원 등록을 요청하는 단말기들(10)에게 각각 상기 암복호화 프로세서를 통신망(30)을 통해 전송하여 단말기 내에서 실행 가능하게 하고 회원 등록을 요청한 회원을 관리하며 통신 개시의 요청이 이루어지는 대상 단말기들 간에 보안채널을 형성한다. 이를 위해서, 상기 통신보안서버(20)는 회원 등록을 관리하고 단말기들을 검증하는 회원 인증부(21)와, 통신 요청에 따른 검증된 단말기들 간에 보안채널을 형성하기 위해 필요한 보안키를 생성하는 보안키 생성부(22)를 구비한다.
상기 회원 인증부(21)는, 통신망을 통해 접속하여 회원 가입을 요청하는 단말기에게 회원 인증코드를 부여하여 회원으로 등록하고, 회원 등록된 단말기에게 상기 회원 인증코드 및 상기 암복호화 프로세서를 전송하여서, 회원 등록된 단말기에 상기 회원 인증코드를 저장 관리하게 하고 상기 암복호화 프로세서를 프로그램적으로 실행가능하게 내장되게 한다. 또한, 상기 회원 인증부(21)는 회원 등록된 단말기로부터 회원 인증코드를 전송받으면서 다른 회원 등록된 단말기와의 통신 개시를 요청받으면 회원 인증코드를 검증한다. 또한, 상기 통신 개시된 단말기들 간에 전송되는 데이터에 포함된 회원 인증코드가 회원 등록된 단말기의 회원 인증코드인지를 검증한다.
여기서, 상기 회원 인증코드는 회원 등록 단말기에게 부여되어 통신보안서버(20)와의 접속 시에 단말기를 구분하는 식별자로서 활용할 수 있는 회원코드, 및 회원 등록 단말기에 지정되는 비밀번호를 포함할 수 있으며, 회원 등록 단말기의 전화번호도 포함할 수 있다. 한편, 상기 비밀번호는 회원 가입 시에 단말기에서 지정되어 전송받는 것으로 할 수 있다. 그리고, 상기 회원 인증코드는 암호화된 코드로 이루어지는 것이 바람직하다.
상기 보안키 생성부(22)는, 암복호화 프로세서에서 데이터의 암복호화할 시에 필요한 암호화 패턴을 지정할 수 있는 보안키를 생성하는 구성요소로서, 지정된 포맷의 코드값을 갖되 단말기 간 통신 개시의 요청을 받을 때마다 임의의 코드값을 갖도록 랜덤(random)하게 생성한다. 그리고, 생성된 보안키는 상호간에 통신 개시하려는 단말기들에게 각각 전송되며, 이에 따라 상호간에 통신하려는 단말기들은 전송받은 동일한 보안키를 이용하여 암복호화 프로세서를 가동함으로서, 데이터 통신을 할 수 있다. 즉, 동일한 보안키를 사용하므로 어느 일측 단말기에서 암호화하여 전송한 암호화 데이터를 타측 단말기에서 복호화할 수 있다.
도 2는 본 발명의 실시예에 따른 단말기간 보안채널화 방법에 있어서, 원본 데이터의 암호화 과정을 보여주는 순서도이고, 도 3은 원본 데이터의 암호화 과정에 있어서 행렬 데이터를 형성하는 단계를 설명하기 위한 도면으로서 도 3의 a는 원본 데이터(1), 도 3의 b는 행렬 데이터(4), 도 3의 c는 암호화 행렬 데이터(6)를 보여준다.
먼저, 암복호화 프로세서는 통신보안서버(20)로부터 전송받는 보안키에 근거하여 암호화 패턴을 형성한 후에(S1) 원본 데이터(1)의 암호화 과정을 수행한다. 여기서, 상기 보안키는 암호화 패턴을 결정짓는 암복호화키를 포함하여 이루어지며, 후술하는 단위시퀀스의 길이(S) 및 소행렬(5)의 크기에 대한 정보를 포함할 수 있다.
또한, 암호화 패턴이란 후술하는 행렬 데이터(4)를 분할하여 얻는 소행렬(5)들의 위치를 변경하는 패턴을 의미하며, 보안키에 포함된 암복호화키에 따라 암호화 패턴을 생성할 시에 서로 다른 암복호화키에 대해 서로 다르게 암호화 패턴이 생성된다.
상기 원본 데이터(1)의 암호화 과정은, 단위값들이 시퀀스 형태로 나열된 원본 데이터(1)를 지정된 길이(S)의 단위시퀀스(3)로 분할하는 단계(S2); 분할한 단위시퀀스(3)들을 원본 데이터(1)에서의 나열 순서에 따라 열방향으로 나열하여 단위값(2)들로 이루어진 행렬 데이터(4)를 형성하는 단계(S3); 형성한 행렬 데이터(4)를 지정된 블록 크기의 소행렬(5)들로 분할하는 단계(S4); 소행렬(5)들의 위치 변경을 나타내는 암호화 패턴에 따라 소행렬(5)들을 배치하여 암호화 행렬 데이터(6) 생성하는 단계(S5); 암호화 행렬 데이터(6)의 행들을 순서에 따라 이어지게 한 암호화 데이터를 생성하는 단계(S6);를 포함하여 이루어진다.
상기 원본 데이터(1)는 비트단위, 복수의 비트단위로 이루어지는 바이트단위 아니면 미리 지정된 바이트수로 이루어지는 워드단위의 단위값들을 시퀀스 형태로 나열한 것이며, 예를 들면 디지털 데이터인 문서, 문자, 숫자, 음성(또는 음향) 데이터 또는 동영상일 수 있다. 여기서, 상기 워드단위의 단위값들은 미리 지정된 수의 바이트들로 하나의 의미있는 정보를 표현하는 방식에서 사용되는 단위값들이다.
상기 행렬 데이터(4)는 단위값(2)들로 나열된 시퀀스 형태의 원본 데이터(1)를 단위값(2)의 행렬 형태로 변환한 데이터로서, 상기 단위시퀀스의 길이로 분할된 순서에 따라 열의 방향으로 나열하여 얻어지며, 상기 단위시퀀스(3)의 길이에 의해 행의 길이가 결정되고 원본 데이터(1)의 길이에 따라 열의 길이가 결정된다. 이와 같은 행렬 데이터(4)는 행렬 데이터(4)보다 작은 사이즈의 소행렬(5)들로 분할되며, 상기 도 3의 예시도면에서는 소행렬(5)의 크기를 3X3으로 하여서 행 방향으로 3개의 단위값이 나열되고 열 방향으로 3개의 단위값이 나열된다.
이때, 원본 데이터(1)의 길이는 특정한 길이로 한정되지 아니하여 상기 행렬 데이터(4)의 열의 길이도 가변될 수 있으므로, 소행렬(5)의 크기를 동일하게 할 경우에 행렬 데이터(4)를 분할하여 얻는 소행렬(5)의 개수도 가변될 수 있다. 따라서, 분할되는 소행렬(5)의 개수를 일정한 값으로 하고 소행렬(5)의 크기를 다양한 크기로 정하거나, 아니면, 동일한 소행렬의 크기로 분할하고 소행렬의 배치를 결정하는 암호화 패턴을 소행렬의 개수에 맞게 생성하는 것이 바람직하다. 한편, 행렬 데이터(4)의 마지막 열은 다 채워지지 않을 수 있으므로, 이때에는 암복호화 프로세서에서 식별할 수 있는 널(NULL)로 처리하는 것이 좋다. 그리고, 이러한 소행렬(5)의 분할 규칙은 사전에 암복호화 프로세서(11)에 정의하여 두면 된다.
상술한 바와 같이 얻는 암호화 데이터는 소행렬(5)의 위치를 암호화 패턴에 따라 변경한 암호화 행렬 데이터에서 행들을 열의 순서에 따라 순차적으로 이어지게 한 형태로 이루어지므로, 단위시퀀스의 길이를 알지 못하면 암호화 행렬 데이터를 구하지 못하고, 임의의 단위시퀀스의 길이를 사용하다가 우연히 암호화 행렬 데이터를 맞추었다 해도 소행렬(5)의 위치 변화 패턴인 암호화 패턴을 알지 못하면 원본 데이터에 해당되는 행렬 데이터(4)로 복원하지 못하고, 더욱이, 소행렬의 크기도 알기 어려우므로, 원본 데이터(1)로 복원하기 더욱 어렵다. 즉, 암호화 데이터를 통신망을 통해 전송하는 중에 타인에게 유출되더라도 암호화 패턴, 소행렬의 크기 및 단위시퀀스의 길이 모두를 알지 못하면 원본 데이터(1)의 정보를 얻지 못하게 한다.
더욱이, 본 발명의 실시예에서 행렬 데이터(4)를 암호화 패턴으로 암호화할 시에, 지정된 소행렬의 크기로 분할한 소행렬(5)들의 위치를 바꾸므로, 종래 기술에서와 같이 시퀀스 형태의 원본 데이터에서 단위값의 위치를 바꿀 때보다는 암호화 과정이 단순하면서, 아울러, 소행렬(5)에 포함된 열이 다른 단위값 간에 연관성이 떨어져 유추하여 해독하기도 어려워 암호화 성능을 높일 수 있다. 또한, 원본 데이터를 일정 길이를 갖는 시퀀스로 분할한 후에 시퀀스들을 블록으로 하여 순서를 바꾸는 방식에 비해서도 단순하면서, 블록에 포함된 단위값의 개수와 상기 소행렬에 포함된 단위값의 개수가 서로 같은 조건에서 단위값들 간의 연관성이 상기 블록에 비해 상기 소행렬 내에서 낮게 되므로 보안성도 우수하다.
다음으로 암호화 데이터를 복호화하는 과정은, 암호화 데이터를 상기 단위시퀀스의 길이로 분할하는 단계; 단위시퀀스들을 배열 순서에 따라 열로 배치하여 암호화 데이터에 대응되는 암호화 행렬 데이터를 형성하는 단계; 암호화 행렬 데이터를 상기 소행렬의 크기로 분할하는 단계; 상기 암호화 패턴의 역으로 소행렬들을 재배치하여 원본 데이터에 대응되는 행렬 데이터를 생성하는 단계; 생성한 행렬 데이터에서 행들을 열의 순서에 따라 순차적으로 이어지게 하여 원본 데이터를 얻는 단계;로 이루어진다. 즉, 복호화하는 과정은 암호화하는 과정과 동일하나 소행렬의 위치 변경에 대한 패턴을 상기 암호화 패턴의 역으로 한다는 점에서 차이 난다.
그리고, 암호화하는 과정 및 복호화하는 과정에서 필요한 암복호화키, 소행렬의 크기 및 단위시퀀스의 길이는 통신보안서버(20)에서 랜덤(random)하게 생성되는 데, 이때 소행렬의 크기 및 단위시퀀스의 길이를 랜덤하게 생성할 경우에 생성될 수 있는 범위를 한정하고 한정된 범위 내에서 랜덤하게 생성하는 것이 바람직하다. 이는 소행렬의 크기나 단위시퀀스의 길이를 너무 크게 하면 보안성이 낮아지고 너무 작게 하면 암호화 또는 복호화 과정에 소요되는 시간이 길어지기 때문이다.
본 발명에 있어서 상기 암복호화키는, 소행렬들의 순번을 정한 후에 순번들 중에 선택되는 어느 하나의 순번으로 정해지게 할 수 있다. 이때에, 암복호화 프로세서는 소행렬의 순번으로 정해진 암복호화키를 시드(seed)값으로 하여 암호화 패턴을 생성하게 되어서, 시드값이 동일하면 동일한 암호화 패턴을 생성하고 시드값이 서로 다르면 서로 다른 암호화 패턴을 생성하게 된다.
다음으로 원본 데이터가 이미지 데이터일 경우에 대해서 설명한다. 이미지는 가로폭과 세로폭이 주어지고 내부에 복수의 화소들이 행렬식으로 배치되어 이미지를 형성하므로, 가로폭에 해당되는 단위시퀀스의 길이가 정해진다. 그리고, 화소를 나타내는 화소값(즉 화소 정보를 나타내는 워드)을 상기 단위값으로 정하면 화소값으로 이루어진 단위값들의 행렬 데이터로 볼 수 있다. 따라서, 단위시퀀스로 분할하는 단계(S2)에서 이미지의 사이즈 정보 중에 가로폭을 감지하면 되고, 행렬 데이터를 형성하는 단계(S3)에서 이미지의 사이즈 정보 중에 세로폭을 감지하면 행렬 데이터의 형태를 알 수 있다. 다음으로 진행되는 소행렬들로 분할하는 단계(S4), 암호화 행렬 데이터를 생성하는 단계(S5), 및 암호화 데이터를 생성하는 단계(S6)는 동일하다. 그리고, 복호화하는 과정에서도 이미지의 사이즈 정보를 이용하면 된다. 여기서, 이미지에 대한 데이터는 사이즈 정보도 포함되므로 이를 이용하면 된다.
한편, 상술한 바와 같이 이미지 데이터를 원본 데이터로 할 경우에는 행렬 데이터(4)에서 분할되는 소행렬(5)이 전체 이미지를 쪼갠 부분 이미지의 데이터에 해단하므로, 소행렬의 크기를 크게 지정하면 소행렬들의 위치를 바꾼다 해도 소행렬의 이미지만을 보고 알 수 있으므로, 소행렬의 크기를 작게 지정하는 것이 바람직하며, 다른 방편으로 단위시퀀스 내에 있는 단위값들의 순서를 변경하는 방식도 가능하고, 또 다른 방편으로 후술하는 바와 같이, 복수의 암복호화키 및 암복호화키마다 지정되는 서로 다른 소행렬의 크기를 이용하여 소행렬의 위치 변경을 반복하는 것이 바람직하다.
또한, 이미지 데이터를 원본 데이터로 할 경우에는, 상기 암호화 데이터를 생성하는 단계에서 암호화 행렬 데이터를 이미지 압축 프로그램으로 압출하여 암호화 데이터를 생성하게 할 수 있다. 하지만, 원본 데이터가 이미지 압축 프로그램으로 압축된 상태라면 화소값들로 표현되지 아니하므로 시쿼스 형태에서 지정된 단위시퀀스로 분할하여 행렬 데이터를 형성하여야 한다.
다음으로 원본 데이터가 단말기들간에 실시간 스트리밍(streaming)되어 전송되는 음성 데이터, 문자 데이터 또는 동영상 데이터일 경우에 대해서 설명한다. 문자 데이터의 경우는 최근 이동 단말기를 이용하여 통신을 개시한 후에 연속적으로 문자를 주고 받는 애플리케이션이 사용되는데, 이런 경우에 유용하게 활용될 것이다.
본 발명에 따른 암복호화 프로세서는 실시간 스트리밍되어 전송되는 데이터를 미리 설정된 크기 또는 시간 간격으로 분할하여 얻어지는 분할된 데이터를 원본 데이터로 한다. 여기서, 상기 미리 설정된 크기 또는 시간 간격은 데이터를 실시간 스트리밍할 시에 데이터의 묶음 단위를 결정짓는 기준이 되며, 이러한 기준은 통상 스트리밍 기법에서 사용되는 정보를 이용할 수도 있다.
본 발명은 원본 데이터에 대응되는 행렬 데이터(4)를 암호화 데이터에 대응되는 암호화 행렬 데이터로 변환할 시에, 암호화 행렬 데이터의 보안성을 높이기 위해서 소행렬들의 위치를 변경하는 단계를 연속하여 반복 실행되도록 할 수 있다.
이를 위해서, 상기 통신보안서버(20)는 암복호화키를 생성할 시에 순서가 정해지는 복수의 암복호화키를 생성하고, 소행렬의 크기를 정할 시에 각각의 암복호화키에 대해 지정되는 소행렬의 크기 값을 정하여 보안키를 생성한다.
그리고, 보안키를 전송받는 단말기는 원본 데이터를 암호화하는 과정에서 각각의 암복호화키에 대응되는 암호화 패턴을 생성한 후에, 암호화 패턴 및 소행렬의 크기에 근거하여 이루어지는 상기 소행렬들로 분할하는 단계(S4) 및 암호화 행렬 데이터를 형성하는 단계(S5)를 암복호화키들의 순서에 따라 순차적으로 반복 수행한다. 즉, 하나의 암복호화키 및 그에 대응되는 소행렬의 크기에 따라 소행렬들의 위치를 변경하고 소행렬들의 위치를 변경하여 얻는 행렬 데이터에 대해서 다음 순번의 암복호화키 및 그에 대응된 소행렬의 크기에 따라 소행렬들의 위치를 변경하는 방식으로 반복하는 것이다.
복호화하는 과정은, 암복호화키의 역순에 따라 소행렬들로 분할하는 단계; 및 행렬 데이터를 생성하는 단계;를 순차적으로 수행하면 되며, 암호화하는 과정과의 차이는 순차적으로 행렬 데이터의 소행렬들의 위치를 변경할 시에 적용되는 암복호화키 및 소행렬의 크기 값을 암복호화키의 역순으로 한다는 것이다.
여기서, 암호화 데이터의 보안성을 더욱 높이기 위해서 각각의 암복호화키에 대해 지정되는 소행렬의 크기를 서로 다르게 하는 것이 좋다. 이는 소행렬의 크기를 다르게 지정함에 따라 전 순서에서 위치 변경된 소행렬들이 다음 순서에서 소행렬들의 위치 변경할 시에 분리되어 서로 다른 소행렬들로 나뉘기 때문이다.
이하, 상기 회원 인증부(21) 및 보안키 생성부(22)를 구비한 통신보안서버(20)에 의해 이루어지는 단말기간 보안채널화 방법에 대해 도 4 및 도 5를 참조하여 상세히 설명한다.
도 4는 본 발명의 실시예에 따른 단말기간 보안채널화 방법의 순서도이고, 도 5는 본 발명의 실시예에 따른 단말기간 보안채널화 방법의 세부 흐름도이다.
상기 도 4를 참조하면, 본 발명의 실시예에 따른 단말기간 보안채널화 방법은 회원 등록 단계(S10), 통신 개시 단계(S20), 통신 단계(S30, S40) 및 통신 종료 단계(S50)를 포함하여 이루어진다. 그리고, 상기 도 5를 참조하여 상세히 설명하면 다음과 같다.
상기 회원 등록 단계(S10)는, 상기 회원 인증부(20)를 통해 이루어지는 단계로서, 통신망(30)에 접속하여 회원 가입을 요청하는(S11, S12) 단말기들(10 : 10-1, 10-2)에게 각각 서로 다른 회원 인증코드를 부여하고, 회원 가입 요청한 단말기들(10 : 10-1, 10-2)에 부여된 회원 인증코드를 단말기에 맞게 전송하는 한편, 메모리(미도시)에 저장하여 회원으로 등록한다. 아울러, 회원 가입을 요청한 단말기들에게 각각 상술한 암복호화 프로세서를 전송하여 단말기 내에서 실행 가능하도록 내장되게 한다. 이에 따라, 등록된 단말기(10)에게는 각각 고유의 회원 인증코드가 저장되고 동일한 암복호화 프로세서가 실행가능하게 되며, 서로 통신하려는 단말기들이 보안키를 공유한다면 암호화 데이터로 송수신하더라도 수신측에서 원본 데이터로 복호화할 수 있다.
이하의 설명에서는 회원 등록된 단말기(10)들 중에서 2대의 단말기(10-1, 10-2) 간에 통신이 이루어지는 과정을 설명한다. 구체적으로는, 제1 단말기(10-1)가 제2 단말기(10-2)에게 통신할 것을 요청하여 통신보안서버(20)의 중계로 통신이 이루어지게 된다.
상기 통신 개시 단계(S20)는, 제1 단말기(10-1)가 제2 단말기(10-2)와의 통신을 요구함에 따라 이루어지는 단계로서, 회원 등록된 제1 단말기(10-1)로부터 회원 인증코드를 전송받음과 동시에 제2 단말기(10-2)와의 통신을 요청받는 단말기간 통신 요청단계(S21); 제1 단말기(10-1)로부터 전송받은 회원 인증코드가 등록된 회원 단말기에게 부여된 회원 인증코드인가를 검증하고 제2 단말기(10-2)가 등록된 회원 단말기인지도 확인하는 회원 검증단계(S22); 제1 단말기(10-1)에 대해 검증되고 제2 단말기(10-2)가 회원 등록된 단말기이면 보안키 생성부(22)를 이용하여 보안키를 랜덤(random)하게 생성하는 보안키 생성단계(S23); 생성한 보안키를 제1 단말기(10-1) 및 제2 단말기(10-2)에게 전송하는 단계(S24, S25);를 포함하여 이루어진다.
이에 따라, 제1 단말기(10-1) 및 제2 단말기(10-2)는 동일한 보안키를 서로 공유하게 된다. 그리고, 상기 보안키 생성단계(S23)에서 생성되는 보안키는 통신 개시 단계(S20)가 수행될 때마다 서로 다른 값을 갖도록 랜덤하게 생성된다.
여기서, 상기 통신보안서버(20)가 제1 단말기(10-1) 및 제2 단말기(10-2)에서 동일한 보안키를 공유하도록 전송할 시에, 보안키에 대한 데이터를 암호화하여 전송하는 것이 바람직하다. 이러한 보안키의 데이터에 대한 보안통신 방법은 단말기의 회원 등록 시에 통신보안서버(20)와 단말기 간에 설정할 수 있는 공지된 기술을 사용할 수도 있으나, 본 발명의 암복호화 프로세서에서 복호화하는 방식을 이용할 수 있다. 즉, 통신보안서버(20)는 암복호화 프로세서를 기본적으로 내장한 상태에서, 단말기를 회원 등록할 시에 단말기 전용의 보안키를 회원 등록되는 단말기에게 전송하여 저장시키는 것이며 상기 보안키 생성단계(S23)에서 생성한 보안키를 단말기에게 전송할 시에 상기 단말기 전용의 보안키에 대응되는 암호화 패턴에 따라 암호화하여 단말기에게 전송하는 것이고, 단말기의 암복호화 프로세서는 저장한 단말기 전용의 보안키를 이용해 복호화하여 원본인 보안키를 얻는 것이다. 이때, 상기 단말기 전용의 보안키는 암호화된 보안키를 복호화하기 위해 단말기마다 고유값으로 부여되는 것으로서, 회원 등록된 단말기마다 서로 다른 값을 갖게 부여하는 것이 좋다. 또한, 상술한 회원 인증코드의 전송시에도 단말기 전용의 보안키를 이용하여 암호화하는 것도 좋으며, 이를 위해서는 통신보안서버(20)의 회원 인증부(21)는 회원 등록된 단말기별로 부여된 단말기 전용의 보안키를 저장관리하여야 한다.
한편, 상기 단말기간 통신 요청단계(S21)는 제2 단말기(10-2)의 식별정보로서 예를 들면 제2 단말기(10-2)의 전화번호를 통신보안서버(20)에 전송하여야 하므로, 전화번호와 같은 단말기의 식별정보에 대한 노출을 방지하려면 상기 암복호화 프로세서(11)에서 단말기의 식별정보를 암호화하게 하는 것이 바람직하다. 이때, 식별정보의 암호화도 상기 단말기 전용의 보안키를 이용할 수 있다. 아울러, 상기 암복호화 프로세서(11)는 단말기의 식별정보를 저장관리하되 암호화된 상태로 저장관리되게 구성할 수도 있다.
또한, 상기 회원 검증단계(S22)는, 제1 단말기의 위치를 판단하여 제1 단말기에 대해 미리 설정된 지역에서 벗어나면 통신 요청을 거절하는 것이 바람직하다. 또한, 제2 단말기의 위치도 판단하여 제2 단말기에 대해 미리 설정된 지역에서 벗어나면 제2 단말기와 통신 요청을 거절하는 것이 바람직하다. 여기서, 상기 미리 설정된 지역은 상기 회원 등록 단계(S10)에서 회원 등록시에 단말기의 요청에 따라 정해지는 것으로서 단말기별로 설정되어 회원 인증부(21)에서 검증할 수 있도록 데이터베이스(미도시)에 저장하면 된다. 이러한 단말기의 지역적 통신 제한은 예를 들면 관공서나 회사 내에서만 사용되도록 하는 단말기를 위해서 유용하게 활용될 수 있다. 단말기의 위치를 얻는 방법은 종래 기술을 채용하면 되므로 상세한 설명을 생략한다.
상기 통신 단계(S30, S40)는, 공유한 보안키를 이용하여 제1 단말기(10-1)와 제2 단말기(10-2) 간에 데이터 통신이 이루어지는 단계로서, 먼저, 제1 단말기(10-1)에서 제2 단말기(10-2)에게 데이터를 전송하는 단계(S30)는, 통신을 요청한 제1 단말기(10-1)에서 암복호화 프로세서를 이용해 원본 데이터를 암호화 데이터로 암호화하는 단계(S31); 암호화 데이터를 통신보안서버(20)로 전송하는 단계(S32); 전송받는 암호화 데이터를 제2 단말기(10-2)에게 전송하는 단계(S34); 제2 단말기(10-2)에서 암복호화 프로세서를 이용하여 암호화 데이터를 원본 데이터로 복호화하는 단계(S35)로 이루어지고, 제2 단말기(10-2)에서 제1 단말기(10-1)로 전송하는 단계(S40)는 원본 데이터를 전송하는 단말기와 전송받는 단말기가 바뀐 것일 뿐이므로, 제1 단말기(10-1)에서 제2 단말기(10-2)로 데이터를 전송 단계(S30)와 동일하게 이루어진다(S41, S42, S44, S45).
본 발명의 실시예를 설명하기 위해 참조한 상기 도 5에서는, 제1 단말기와 제2 단말기 간에 상호 데이터를 전송하는 것으로 하였으나, 제2 단말기에서 제1 단말기로 데이터를 전송하는 단계(S40)는 생략되고 통신이 종료될 수 있으며, 예를 들면 제1 단말기에서 메일을 보내는 경우이다.
한편, 통신보안서버(20)는 일측 단말기에서 타측 단말기로 전송되는 암호화 데이터를 중계함에 있어서, 암호화 데이터를 전송하는 단말기의 회원 인증코드를 전송받아 회원 인증코드를 검증하여 검증을 통과할 경우에만 암호화 데이터를 상대측 단말기에 전송하도록 중계하는 것이 바람직하다. 이는 보안 채널이 형성된 제1,2 단말기간의 통신 중에 제3의 단말기에서 도청에 의한 접속으로 데이터를 보낼 시에 이를 차단하기 위함이다. 여기서, 회원 인증코드의 전송시에 상술한 바와 같이 단말기 전용의 보안키를 이용한 암호화하여 전송함으로써 회원 인증코드의 유출도 방지하는 것이 바람직하며, 보다 구체적으로 설명하면, 회원 등록된 단말기에서 단말기 전용의 보안키에 대응되는 암호화 패턴으로 암호화하여 전송되고 통신보안서버(20)는 통신 채널을 형성된 단말기 전용의 보안키를 회원 등록시에 저장관리하므로 암호화된 회원 인증코드를 복호화하여 검증할 수 있게 한다.
상기 통신 요청단계, 회원 검증단계, 보안키 생성단계 및 보안키 전송단계를 거쳐 새로 생성하는 보안키로만 사용되게 제한한다. 이에 따라, 상기 통신 종료 단계(S50)는, 제1 단말기(10-1)와 제2 단말기(10-2)의 통신이 종료되어 접속이 끊기는 단계로서, 제1 단말기(10-1)와 제2 단말기(10-2)에서 각각 실행되는 암복호화 프로세서는 보안키 및 보안키에 대응되는 암호화 패턴을 메모리에서 삭제한다. 즉, 상기 통신 단계(S30, S40)에서 사용하였던 보안키 및 보안키에 대응되는 암호화 패턴은 동일한 제1,2 단말기 간에 다시 통신을 개시한다 해도 사용하지 못하므로 삭제되는 것이며, 이는 단말기 간에 통신을 개시할 시에 새로 부여받는 보안키로만 이어는 통신 단계(S30, S40)가 이루어지기 때문이다.
상술한 본 발명의 실시예에 있어서, 상기 단말기간 통신 요청단계(S20)는 보안키를 통신보안서버(20)에서 생성하여 단말기에 전송하지만, 본 발명의 다른 실시예로서 상기 보안키를 이루는 상기 암복화키, 소행렬의 크기 및 단위시퀀스의 길이 중에 어느 하나 이상을 제1 단말기에서 지정하도록 허용하게 할 수 있다. 일례로 이미지를 원본 데이터로 하는 경우에, 이미지의 상태에 따라 소행렬의 크기를 적절하게 지정하는 것이 바람직하지만, 통신보안서버(20)는 상기 단말기간 통신 요청단계(S20)에서 이미지의 상태를 확인할 수 없다. 여기서 이미지의 상태라고 한 것은 이미지로 표시되는 대상이 얼마나 세밀하게 표시되느냐의 정도를 의미할 수 있으며, 만약 분할된 하나의 소행렬만으로도 대상을 유추할 수 있다면 보안성이 낮아지기 때문에 이미지의 상태에 따라 소행렬의 크기를 지정하는 것이 바람직하다 하겠다.
이를 위해서, 단말기에 내장되어 실행되는 암복호화 프로세서는 상기 보안키를 이루는 상기 암복화키, 소행렬의 크기 및 단위시퀀스의 길이 중에 어느 하나 이상을 단말기 사용자가 직접 입력할 수 있게 하고, 입력된 값을 상기 단말기간 통신 요청단계(S20)에서 통신보안서버(20)에 전송한다. 그리고, 통신보안서버(20)는 상기 암복화키, 소행렬의 크기 및 단위시퀀스의 길이 중에 단말기에서 입력되지 아니한 값만을 랜덤하게 생성하여 보안키를 완성한 후에 통신하려는 단말기들에게 전송한다. 이때, 통신을 요청한 단말기에는 통신보안서버(20)에서 랜덤하게 생성한 것만 별도로 분리하여 전송하여도 된다.
한편, 본 발명에 따른 단말기간 보안채널화 방법은 최근 활성되고 있는 인스턴트 메신저(instant messenger)와 연동하게 할 수 있다. 인스턴트 메신저는 네트워크를 이용해 실시간 메시지를 중계하는 것으로서, 일반적으로 제1 단말기의 요청에 따라 대화방을 개설하고 제1 단말기가 요청하는 제2 단말기를 대화방에 초대하여 제1,2 단말기간에 메시지를 실시간 주고 받게 한다.
이러한 인스턴트 메신저와 연동하기 위한 본 발명에서, 상기 암복호화 프로세서는 단말기에 설치되어 단말기간 데이터통신을 하게 하는 어플리케이션과 연동되게 구성되어 상기 회원 등록단계(S10)에서 암복호화 프로세서와 같이 단말기에 설치된다. 그리고, 상기 통신 개시 단계(S20) 및 통신 단계(S30,S40)는 상기 어플리케이션을 통해서 이루어지며, 통신 단계(S30,S40)에서 어플리케이션을 통해 대화방에서 상호 주고 받는 데이터를 암호화 또는 복호화한다.
또한, 상기 통신보안서버는 상기 어플리케이션에 의한 데이터통신을 중계하는 대화방(채팅방, chat romm)을 개설하도록 구성된다.
한편, 본 발명의 실시예에 따르면, 최근 휴대통신단말기에서 문제가 되는 복제폰(clone cellular phone)에 의한 불법 도청을 차단하기 위해서, 상기 통신 개시 단계(S20)는 대화방 검증 단계(S22-1, S22-2, S22-3)를 더욱 포함하여 구성된다.
상기 대화방 검증 단계(S22-1, S22-2, S22-3)는 도 6에 도시된 바와 같이 회원 검증단계(S22)와 보안키 생성단계(S23) 사이에서 수행된다. 부연하면, 상기 단말기간 통신 요청단계에서 제1 단말기로부터 어플리케이션의 실행으로 제2 단말기와의 통신을 요청받고, 상기 회원 검증단계(S22)를 수행한 이후에 보안키 생성단계(S23)를 수행하기에 앞서서, 대화방 검증 단계(S22-1, S22-2, S22-3)를 수행한다.
그리고, 상기 대화방 검증 단계(S22-1, S22-2, S22-3)는, 제2 단말기에게 대화방으로 초대하는 초대단계(S22-1); 초대에 응하여 대화방에 접속하는 단말기의 개수를 확인하는 접속확인단계(S22-2); 초대에 응하여 대화방에 접속하는 단말기의 개수가 1개이면 상기 보안키 생성단계(S23)로 넘어가 이후의 과정을 수행하여 정상적으로 통신하게 하고, 개수가 2개 이상이면 대화방을 닫아 통신을 차단하며 통신 차단 사실을 제1 단말기 또는 제2 단말기에게 안내하는 검증단계(S22-3);를 포함하여 이루어진다.
따라서, 상기 대화방 검증 단계는, 제1 단말기의 초대에 응하여 동일 전화번호로 대화방에 접속하는 단말기가 2대 이상이면, 복제폰이 접속된 것으로 판단하고 이후에 대화방을 닫아 데이터통신을 차단함으로써, 도청에 의한 사고를 방지할 수 있다.
한편, 상기 접속확인단계(S22-2)에서 단말기의 개수를 확인하는 방법은 대화방에 접속한 단말기의 접속채널의 개수를 확인하는 방법으로 이루어질 수 있다.
[부호의 설명]
10,10-1,10-2 : 단말기 11 : 암복호화 프로세서
20 : 통신보안서버 21 : 회원 인증부
22 : 보안키 생성부 30 : 통신망

Claims (13)

  1. 보안키별로 서로 다른 암호화 패턴을 생성하는 동작, 원본 데이터를 암호화 패턴에 따라 암호화하는 동작, 및 암호화 데이터를 암호화 패턴에 따라 복호화하는 동작을 수행하는 암복호화 프로세서를 이용하며, 단말기들간 통신채널을 중계하는 통신보안서버로 이루어지는 단말기간 보안채널화 방법에 있어서,
    회원 가입을 요청하는 단말기들에게 회원 인증코드를 부여하고 부여한 회원 인증코드와 상기 암복호화 프로세서를 통신망을 통해 전송하여 단말기에서 상기 암복호화 프로세서를 실행할 수 있도록 장착되게 하고 상기 회원 인증코드를 저장하게 하는 회원 등록단계;
    회원 등록된 제1 단말기로부터 회원 인증코드를 전송받으며 회원 등록된 제2 단말기와의 통신을 요청받는 단말기간 통신 요청단계;
    전송받은 회원 인증코드를 검증하는 회원 검증단계;
    암호화 패턴을 결정짓는 보안키를 랜덤하게 생성하는 보안키 생성단계;
    생성한 보안키를 상기 제1,2 단말기에게 전송하는 보안키 전송단계;
    상기 제1,2 단말기에서 보안키에 대응되는 암호화 패턴을 이용하여 전송할 원본 데이터를 암호화 데이터로 전송하고 암호화 데이터를 수신하여 원본 데이터로 복호화하며 데이터 통신을 하게 하는 통신단계;
    를 포함하여 이루어짐을 특징으로 하는 단말기간 보안채널화 방법.
  2. 제 1항에 있어서,
    상기 통신단계는,
    상기 통신 요청단계, 회원 검증단계, 보안키 생성단계 및 보안키 전송단계를 거쳐 새로 생성하는 보안키로만 사용되게 함을 특징으로 하는 단말기간 보안채널화 방법.
  3. 제 1항 또는 제 2항에 있어서,
    상기 암복호화 프로세서로 이루어지는 암호화 과정은
    비트단위, 바이트단위 아니면 미리 지정된 바이트수로 이루어지는 워드단위의 단위값들을 시퀀스 형태로 나열한 데이터를 원본 데이터로 하여 원본 데이터를 지정된 길이의 단위시퀀스로 분할하는 단계; 분할한 단위시퀀스들을 나열 순서에 따라 열방향으로 나열하여 단위값들로 이루어진 행렬 데이터를 형성하는 단계; 행렬 데이터를 지정된 블록 크기의 소행렬들로 분할하는 단계; 소행렬들의 위치 변경을 나타내는 암호화 패턴에 따라 소행렬들을 배치하여 암호화 행렬 데이터를 생성하는 단계; 암호화 행렬 데이터의 행의 순서에 따라 이어지게 한 암호화 데이터를 생성하는 단계; 로 이루어지고,
    상기 보안키는 암호화 패턴을 결정짓는 암복호화키, 단위시퀀스의 길이 및 소행렬의 크기를 포함하는 정보로 이루어지고,
    복호화 과정은,
    상기 보안키에 근거하여 암호화 데이터에 대한 단위시퀀스들로 분할하는 단계; 행렬 데이터를 형성하는 단계; 소행렬들로 분할하는 단계; 암호화 패턴의 역패턴에 따라 원본 데이터에 대응되는 행렬 데이터로 재배치하는 단계; 행의 순서에 따라 이어지게 한 원본 데이터를 얻는 단계;로 이루어짐을 특징으로 하는 단말기간 보안채널화 방법.
  4. 제 3항에 있어서,
    상기 보안키 생성단계에서 생성되는 보안키는,
    순서가 정해지는 복수의 암복호화키와, 각각의 암복호화키에 대해 지정되는 소행렬의 크기 값을 갖게 생성되고,
    상기 통신단계는,
    원본 데이터의 암호화 과정 중에 암복호화키에 대응되는 암호화 패턴 및 암복호화키에 대해 지정된 소행렬의 크기에 근거하여 이루어지는 소행렬들로 분할하는 단계; 및 행렬 데이터를 생성하는 단계;를 암복호화키의 순서에 따라 순차적으로 수행하고,
    암호화 데이터의 복호화 과정 중에 암복호화키의 역순에 따라 소행렬들로 분할하는 단계; 및 행렬 데이터를 생성하는 단계;를 순차적으로 수행함을 특징으로 하는 단말기간 보안채널화 방법.
  5. 제 3항에 있어서,
    상기 원본 데이터는 이미지 데이터로 이루어지고,
    상기 단위값을 이미지의 화소값으로 하고, 단위시퀀스의 길이를 이미지의 폭방향에 대한 화소들의 시퀀스 길이로 하고, 이미지 상의 화소값 위치를 행렬 데이터의 화소값 위치로 하여서, 행렬 데이터를 얻음을 특징으로 하는 단말기간 보안채널화 방법.
  6. 제 3항에 있어서,
    상기 원본 데이터는 실시간 스트리밍되는 음성 데이터, 문자 데이터 또는 동영상 데이터를 미리 설정된 크기 또는 시간 간격으로 분할하여 얻어지는 분할된 데이터임을 특징으로 하는 단말기간 보안채널화 방법.
  7. 제 3항에 있어서,
    상기 단말기간 통신 요청단계는,
    상기 보안키를 이루는 상기 암복호화키, 소행렬의 크기 및 단위시퀀스의 길이 중에 어느 하나 이상을 제1 단말기에서 지정하도록 허용하고, 제1 단말기에 의해 지정된 보안키를 제2 단말기에 전송하되, 지정되지 않는 것을 통신보안서버(20)에서 랜덤하게 생성하여 제1,2 단말기에게 전송함을 특징으로 하는 단말기간 보안채널화 방법.
  8. 제 7항에 있어서,
    상기 암복호화키는, 소행렬들의 순번을 정한 후에 순번들 중에 선택되는 어느 하나의 순번으로 이루어지고, 순번을 시드값(seed) 값으로 암호화 패턴을 형성하게 함을 특징으로 하는 단말기간 보안채널화 방법.
  9. 제 3항에 있어서,
    상기 회원 등록단계는,
    통신보안서버에서 단말기 전용의 보안키를 생성하여서, 단말기에 내장되는 암복호화 프로세서에서 저장관리하게 하고,
    상기 단말기간 통신 요청단계에서 전송하는 회원 인증코드 또는 상기 보안키 전송단계에서 전송하는 보안키를 상기 단말기 전용의 보안키에 따라 암호화하여 전송하여 단말기에서 복호화하게 함을 특징으로 하는 단말기간 보안채널화 방법.
  10. 제 4항에 있어서,
    상기 통신단계는,
    암호화 데이터를 전송하는 단말기의 회원 인증코드를 전송받아 회원 인증코드를 검증하여 검증을 통과할 경우에만 암호화 데이터를 상대측 단말기에 전송하도록 중계함을 특징으로 하는 단말기간 보안채널화 방법.
  11. 제 10항에 있어서,
    상기 회원 검증단계는,
    통신을 요청하는 제1 단말기의 위치를 판단하여 미리 설정된 지역에서 벗어나면 통신 요청을 거절함을 특징으로 하는 단말기간 보안채널화 방법.
  12. 제 3항에 있어서,
    상기 암복호화 프로세서는, 단말기에 설치되어 단말기간 데이터통신을 하게 하는 어플리케이션에 연동되게 구성되고,
    상기 통신보안서버는, 상기 어플리케이션에 의한 데이터통신을 중계하는 대화방을 개설하게 구성되며,
    상기 단말기간 통신 요청단계에서 제1 단말기로부터 어플리케이션의 실행으로 제2 단말기와의 통신을 요청받고, 상기 회원 검증단계를 수행한 이후에 보안키 생성단계를 수행하기에 앞서서, 대화방 검증 단계를 수행하되,
    상기 대화방 검증 단계는,
    제2 단말기에게 대화방으로 초대하는 초대단계;
    초대에 응하여 대화방에 접속하는 단말기의 개수를 확인하는 접속확인단계;
    초대에 응하여 대화방에 접속하는 단말기의 개수가 1개이면 상기 보안키 생성단계로 넘어가고, 2개 이상이면 대화방을 닫고 제1 단말기 또는 제2 단말기에게 이를 안내하는 검증단계;
    를 포함하여 이루어짐을 특징으로 하는 단말기간 보안채널화 방법.
  13. 제 12항에 있어서,
    상기 대화방 검증 단계의 접속확인단계는,
    초대에 응하여 대화방에 접속하는 단말기의 접속채널로 확인함을 특징으로 하는 단말기간 보안채널화 방법.
PCT/KR2012/004347 2011-06-02 2012-06-01 단말기간 보안채널화 방법 WO2012165901A2 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0053058 2011-06-02
KR20110053058 2011-06-02

Publications (2)

Publication Number Publication Date
WO2012165901A2 true WO2012165901A2 (ko) 2012-12-06
WO2012165901A3 WO2012165901A3 (ko) 2013-03-28

Family

ID=47260110

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/004347 WO2012165901A2 (ko) 2011-06-02 2012-06-01 단말기간 보안채널화 방법

Country Status (1)

Country Link
WO (1) WO2012165901A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019103289A1 (ko) * 2017-11-24 2019-05-31 모비두 주식회사 음파 통신 플랫폼, 음파 신호를 이용한 통신 방법 및 그 장치
KR20190060343A (ko) * 2017-11-24 2019-06-03 모비두 주식회사 음파 통신 플랫폼
CN112399408A (zh) * 2020-11-20 2021-02-23 张威 一种防监听通讯方法以及相应通讯设备和通讯系统
CN115085922A (zh) * 2022-07-28 2022-09-20 南京曦光信息科技研究院有限公司 一种信道保密编码方法及解码方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040075191A (ko) * 2003-02-20 2004-08-27 오현규 휴대용 단말기를 이용한 웹서비스 접속 인증시스템
JP2007295162A (ja) * 2006-04-24 2007-11-08 Mitsubishi Electric Corp 情報通信装置及び情報通信システム及び情報通信方法及び情報通信プログラム及びコンピュータ読み取り可能な記録媒体
KR20110055950A (ko) * 2009-11-20 2011-05-26 (주)아이티네이드 유비쿼터스 컴퓨팅 네트워크 환경에서의 비밀 키 전달/생성 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040075191A (ko) * 2003-02-20 2004-08-27 오현규 휴대용 단말기를 이용한 웹서비스 접속 인증시스템
JP2007295162A (ja) * 2006-04-24 2007-11-08 Mitsubishi Electric Corp 情報通信装置及び情報通信システム及び情報通信方法及び情報通信プログラム及びコンピュータ読み取り可能な記録媒体
KR20110055950A (ko) * 2009-11-20 2011-05-26 (주)아이티네이드 유비쿼터스 컴퓨팅 네트워크 환경에서의 비밀 키 전달/생성 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019103289A1 (ko) * 2017-11-24 2019-05-31 모비두 주식회사 음파 통신 플랫폼, 음파 신호를 이용한 통신 방법 및 그 장치
KR20190060343A (ko) * 2017-11-24 2019-06-03 모비두 주식회사 음파 통신 플랫폼
KR102025524B1 (ko) * 2017-11-24 2019-09-26 모비두 주식회사 음파 통신 플랫폼
CN112399408A (zh) * 2020-11-20 2021-02-23 张威 一种防监听通讯方法以及相应通讯设备和通讯系统
CN115085922A (zh) * 2022-07-28 2022-09-20 南京曦光信息科技研究院有限公司 一种信道保密编码方法及解码方法
CN115085922B (zh) * 2022-07-28 2022-12-13 南京曦光信息科技研究院有限公司 一种信道保密编码方法及解码方法

Also Published As

Publication number Publication date
WO2012165901A3 (ko) 2013-03-28

Similar Documents

Publication Publication Date Title
EP2416524A2 (en) System and method for secure transaction of data between wireless communication device and server
CN106850603B (zh) 一种白盒密码双向身份认证方法、终端、服务端及系统
WO2012148096A2 (ko) 가변길이 인증코드를 사용하는 무선 통신 단말간 세션키 공유 방법
CN100579010C (zh) 密钥生成及传输方法和系统
JPH06188877A (ja) 暗号化システム
CN1347605A (zh) 保护cta之间信号传递和呼叫分组的电话呼叫用密钥管理
CN103560879A (zh) 一种轻量级认证与密钥协商的实现方法
CN102202299A (zh) 一种基于3g/b3g的端到端语音加密系统的实现方法
CN108964897B (zh) 基于群组通信的身份认证系统和方法
US8230218B2 (en) Mobile station authentication in tetra networks
CN110427762B (zh) 一种实现电力监控系统视频安全传输的加密和解密方法
CN1925681A (zh) 基于移动通信网络的端到端加密方法和加密系统
CN113612608B (zh) 一种双模对讲机基于公网实现集群加密的方法及系统
CN101964805B (zh) 一种数据安全发送与接收的方法、设备及系统
CN105208005A (zh) 一种指纹认证方法、连接设备和终端设备
CN109194701B (zh) 一种数据处理方法及装置
CN111835997B (zh) 基于量子密钥加密的云视频会议系统及其加解密方法
WO2019182377A1 (ko) 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체
CN108880799B (zh) 基于群组密钥池的多次身份认证系统和方法
CN114338618A (zh) 多方通话的方法、系统、会议服务器以及电子设备
WO2012165901A2 (ko) 단말기간 보안채널화 방법
WO2018186543A1 (ko) 장치 인증키를 이용한 데이터 암호화 방법 및 시스템
CN111385088B (zh) 一种高效的卫星量子密钥配对生成方法
CN108260125B (zh) 一种基于d2d通信的内容分发应用的密钥分发方法
CN107483197B (zh) 一种vpn网络终端密钥分发方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12792122

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12792122

Country of ref document: EP

Kind code of ref document: A2