KR20180081469A - 경량암호 알고리즘 기반의 스마트 기기 내의 개인정보 및 콘텐츠 암복호화를 통한 정보 보안 시스템, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 - Google Patents

경량암호 알고리즘 기반의 스마트 기기 내의 개인정보 및 콘텐츠 암복호화를 통한 정보 보안 시스템, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 Download PDF

Info

Publication number
KR20180081469A
KR20180081469A KR1020180001886A KR20180001886A KR20180081469A KR 20180081469 A KR20180081469 A KR 20180081469A KR 1020180001886 A KR1020180001886 A KR 1020180001886A KR 20180001886 A KR20180001886 A KR 20180001886A KR 20180081469 A KR20180081469 A KR 20180081469A
Authority
KR
South Korea
Prior art keywords
secret key
user device
content
key
data
Prior art date
Application number
KR1020180001886A
Other languages
English (en)
Other versions
KR102038217B1 (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 경일대학교산학협력단
Publication of KR20180081469A publication Critical patent/KR20180081469A/ko
Application granted granted Critical
Publication of KR102038217B1 publication Critical patent/KR102038217B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 경량암호 알고리즘(LEA: Lightweight Encryption Algorithm) 기반의 스마트 기기 내의 개인정보 및 콘텐츠 암복호화를 통한 정보 보안 시스템, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체에 관한 것이다. 이러한 본 발명은 제1 형식의 데이터가 입력되면, 이미지 파일 형식인 제2 형식으로 데이터를 인코딩하는 단계와, 경량암호 알고리즘을 통해 상기 변환된 데이터를 스크램블링하여 암호화하는 단계와, 복호화 요청이 있으면, 상기 경량암호 알고리즘을 통해 상기 암호화된 데이터를 디스크램블링하여 제2 형식의 데이터로 복호화하는 단계와, 복호화된 제2 형식의 데이터를 제1 형식의 데이터로 디코딩하는 단계를 포함하는 것을 특징으로 하는 정보 보안 시스템의 정보 보안 방법을 제공한다.

Description

경량암호 알고리즘 기반의 스마트 기기 내의 개인정보 및 콘텐츠 암복호화를 통한 정보 보안 시스템, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체{Information security system through encrypting and decrypting personal data and contents in smart device based on Lightweight Encryption Algorithm, method thereof and computer recordable medium storing program to perform the method}
본 발명은 저작권 보호 기술에 관한 것으로, 보다 상세하게는, 경량암호 알고리즘(LEA: Lightweight Encryption Algorithm) 기반의 스마트 기기 내의 개인정보 및 콘텐츠 암복호화를 통한 정보 보안 시스템, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체에 관한 것이다.
ICT(Information and Communications Technologies) 기술의 발전과 개인용 PC(Personal Computer), 휴대전화 그리고 PDA(Personal Digital Assistants)등의 휴대형 장비들의 사용의 증가로 인한 사물인터넷(IoT: Internet of Things), 클라우드 등 경량 환경을 기반으로 하는 다양한 서비스가 확대되고 있다. 이러한 서비스는 다양한 분야에서 이용되고 있으며, 예를 들면 스마트한 교육 시스템을 구축하기 위해서 교육 사업 분야에서 경량 환경 기반의 휴대형 장비와 네트워크 서비스들을 이용하고 있다. 스마트한 교육 시스템과 같은 저작권 보호가 필요한 시스템에서는 경량 환경 기반의 휴대형 장비와 네트워크를 기반으로 해서 대용량의 멀티미디어 컨텐츠들을 송수신 하고 있기 때문에, 이러한 컨텐츠들은 네트워크의 개방성으로 인해 악의적인 공격자들에게 탈취 및 도용 될 수 있다. 그러므로 경량 환경 기반에서 송수신되는 컨텐츠들에 대해서 개인이나 단체의 지적 재산권 침해를 방지하기 위한 저작권 보호 기술의 제공이 반드시 필요하다. 하지만 기존의 암호 알고리즘들은 계산능력의 한계와 네트워크의 대역폭과 같은 문제들로 인해서 경량 환경 기반의 장비들에는 보안성을 제공하기가 어려움이 있었다.
한국공개특허 제2007-0060955호 2007년 06월 13일 공개 (명칭: 저작권 보호를 위한 디지털 콘텐츠 송수신 장치 및 그 방법)
본 발명의 목적은 경량암호 알고리즘 기반의 스마트 기기 내의 개인정보 및 콘텐츠 암복호화를 통한 정보 보안 시스템, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체를 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 정보 보안 시스템은 물리적으로 구분된 복수의 인증장치와, 논리적으로 구분되어 인증장치의 기능을 수행하는 복수의 가상머신을 포함하는 클라우드서버와, 비밀키를 생성하고, k가 자연수일 때, 상기 비밀키를 k개의 비밀키 조각으로 분할하고, 상기 k개의 비밀키 조각을 상기 복수의 인증장치 및 상기 복수의 가상머신 중 k개의 장치에 분배하여 전송하고, 상기 비밀키를 이용하여 암호키를 생성하고, 상기 암호키와 라운드 함수를 이용하여 컨텐츠를 암호화하며, 암호화된 컨텐츠를 제2 사용자장치로 전송하는 제1 사용자장치를 포함한다.
상기 시스템은 n이 k 보다 작은 자연수일 때, 상기 k개의 장치 중 적어도 n개의 장치로부터 비밀키 조각을 수집하고, 라그랑지 보간법을 통해 수집된 비밀키 조각으로부터 상기 비밀키를 복원하고, 상기 비밀키를 이용하여 복호키를 생성하고, 상기 복호키와 라운드 함수를 이용하여 컨텐츠를 복원하는 상기 제2 사용자장치를 더 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 정보 보안 시스템의 정보 보안 방법은 제1 사용자장치가 문서 파일 형식의 컨텐츠가 입력되면, 이미지 파일 형식으로 컨텐츠를 변환하는 단계와, 상기 제1 사용자장치가 비밀키를 생성하는 단계와, 상기 제1 사용자장치가 상기 비밀키를 이용하여 암호키를 생성하는 단계와, 상기 제1 사용자장치가 상기 암호키와 라운드 함수를 이용하여 컨텐츠를 암호화하는 단계와, 상기 제1 사용자장치가 상기 컨텐츠를 제2 사용자장치로 전송하는 단계를 포함한다.
상기 제1 사용자장치가 비밀키를 생성하는 단계 후, k가 자연수일 때, 상기 제1 사용자장치가 수학식
Figure pat00001
에 따라 상기 비밀키를 k개의 비밀키 조각으로 분할하는 단계와, 상기 제1 사용자장치가 상기 k개의 비밀키 조각을 물리적으로 구분된 복수의 인증장치 및 논리적으로 구분되어 인증장치의 기능을 수행하는 클라우드서버의 복수의 가상머신 중 k개의 장치에 분배하여 전송하는 단계를 더 포함한다.
상기 컨텐츠를 제2 사용자장치로 전송하는 단계 후, n이 k 보다 작은 자연수일 때, 상기 제2 사용자장치가 상기 k개의 장치 중 적어도 n개의 장치로부터 비밀키 조각을 수집하는 단계와, 라그랑지 보간법을 통해 수집된 비밀키 조각으로부터 상기 비밀키를 복원하는 단계와, 상기 비밀키를 이용하여 복호키를 생성하는 단계와, 상기 복호키와 라운드 함수를 이용하여 컨텐츠를 복원하는 단계를 더 포함한다.
또한, 상술한 바와 같은 목적을 달성하기 위해 전술한 본 발명의 실시예에 따른 정보 보안 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체를 제공한다.
본 발명의 실시예에 따른 방법은 경량암호 알고리즘인 LEA(Lightweight Encryption Algorithm)는 클라우드, 사물인터넷 등의 경량 환경에서 보안성을 제공하며, 국제 표준암호인 AES(Advanced Encryption Standard)에 비해서 최대 2배로 빠른 속도를 제공한다. 무엇보다도 본 발명의 실시예에 따른 방법은 저전력의 보안 환경을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 정보 보안 시스템의 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 클라우드서버의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 사용자장치의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 인증장치의 구성을 설명하기 위한 블록도이다.
도 5는 본 발명의 실시예에 따른 암복호부의 구성을 설명하기 위한 블록도이다.
도 6은 본 발명의 실시예에 따른 정보 보안을 위한 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 콘텐츠에 저작권 정보를 삽입하는 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 실시예에 따른 비밀키 조각을 분배하여 저장하는 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 실시예에 따른 생세 신호를 이용한 암호화 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 실시예에 따른 정보 보안을 위한 방법을 설명하기 위한 흐름도이다.
도 11은 본 발명의 실시예에 따른 생세 신호를 이용한 암호화 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 대안적인 실시예에 따른 비밀키 조각을 수집하는 방법을 설명하기 위한 흐름도이다.
도 13은 본 발명의 실시예에 따른 콘텐츠에서 저작권 정보를 추출하는 방법을 설명하기 위한 흐름도이다.
도 14 내지 도 17은 본 발명의 실시예에 따른 정보 보안 방법을 설명하기 위한 도면이다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
먼저, 본 발명의 실시예에 따른 정보 보안 시스템의 구성에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 정보 보안 시스템의 구성을 설명하기 위한 도면이다. 도 1을 참조하면, 본 발명의 실시예에 따른 정보 보안 시스템(10)은 클라우드서버(100), 복수의 사용자장치(200) 및 복수의 인증장치(300)를 포함한다.
클라우드서버(100)는 사용자장치(200)의 요청에 따라 복수의 가상머신을 소정 시간 동안 생성하고, 소정 시간이 경과된 후 소멸시킨다. 즉, 복수의 가상머신 각각은 설정된 시간 동안 동작한다. 복수의 가상머신 각각은 논리적으로 구분되며, 소정 시간 동안 본 발명의 실시예에 따른 비밀키 조각을 저장하거나, 본 발명의 실시예에 따른 생체 데이터를 저장한다.
본 발명의 실시예에서 사용자장치(200)는 제1 사용자장치(201) 및 제2 사용자장치(202)를 포함한다. 본 발명은 제1 사용자장치(201)가 컨텐츠(원본 컨텐츠)를 암호화하여 전송하면, 제2 사용자장치(202)는 암호화된 컨텐츠를 복호화하여 컨텐츠 원본을 복원하는 상황을 상정한다. 이러한 암호화 및 복화화를 위하여 비밀키 조각 및 생체 데이터 중 적어도 하나를 이용할 수 있다.
그러면, 전술한 클라우드서버(100), 사용자장치(200) 및 인증장치(300) 각각의 구성에 대해서 설명하기로 한다. 먼저, 본 발명의 실시예에 따른 클라우드서버(100)의 구성에 대해서 설명하기로 한다. 도 2는 본 발명의 실시예에 따른 클라우드서버의 구성을 설명하기 위한 블록도이다. 도 2를 참조하면, 본 발명의 실시예에 따른 클라우드서버(100)는 통신모듈(110), 저장모듈(120) 및 제어모듈(130)을 포함한다. 특히, 제어모듈(130)은 복수의 가상머신을 포함한다.
통신모듈(110)은 네트워크를 통해 사용자장치(200)와 통신하기 위한 것이다. 통신모듈(110)은 제어모듈(130)의 제어에 따라 사용자장치(200)로부터 데이터, 예컨대, 비밀키 조각을 수신하거나, 사용자장치(200)로 데이터, 예컨대, 비밀키 조각을 전송할 수 있다. 통신모듈(110)은 네트워크를 통해 데이터를 송수신하기 위해 송신되는 신호를 변조하고, 수신되는 신호를 복조하는 모뎀(modem)을 포함할 수 있다. 이러한 통신모듈(110)은 제어모듈(130)로부터 전달 받은 데이터를 네트워크를 통해 사용자장치(200)로 전송할 수 있다. 또한, 통신모듈(110)은 수신되는 데이터를 제어모듈(130)로 전달할 수 있다.
저장모듈(120)은 클라우드서버(100)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 예컨대, 저장모듈(120)은 제어모듈(130)의 복수의 가상 머신 각각에 대응하여 데이터, 예컨대, 비밀키 조각을 저장할 수 있다.
제어모듈(130)은 클라우드서버(100)의 전반적인 동작 및 클라우드서버(100)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 제어모듈(130)은 중앙처리장치(central processing unit), 디지털신호처리기(digital signal processor) 등이 될 수 있다. 특히, 제어모듈(130)은 본 발명의 실시예에 따른 인증 장치와 동일한 기능을 수행할 수 있도록 논리적으로 구분되는 복수의 프로세스인 가상 머신을 생성할 수 있다. 이러한 제어모듈(130)의 동작은 아래에서 더 상세하게 설명될 것이다.
다음으로, 본 발명의 실시예에 따른 사용자장치(200)에 대해서 설명하기로 한다. 도 3은 본 발명의 실시예에 따른 사용자장치의 구성을 설명하기 위한 블록도이다. 도 3을 참조하면, 본 발명의 실시예에 따른 사용자장치(200)는 통신부(210), 입력부(220), 표시부(230), 저장부(240) 및 제어부(250)를 포함한다.
통신부(210)는 클라우드서버(100), 다른 사용자장치(200) 혹은 인증장치(300)와 통신하기 위한 것이다. 이러한 통신부(210)는 BS(Base Station), NodeB, eNodeB 등과 같은 기지국, AP 등을 포함하는 네트워크를 통해 클라우드서버(100), 다른 사용자장치(200) 혹은 인증장치(300)와 통신할 수 있다. 또한, 통신부(210)는 예컨대, NFC(Near Field Communication), 블루투스(Bluetooth), 지그비(ZigBee), IrDA(Infrared Data Association) 등의 통신 방식을 이용하여 다른 사용자장치(200) 혹은 인증장치(300)와 통신할 수 있다. 이러한 통신부(210)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 통신부(210)는 제어부(250)로부터 각종 메시지, 정보, 데이터 등을 수신하면, 이를 다른 장치로 전송할 수 있다. 또한, 통신부(210)는 다른 장치로부터 각종 메시지, 정보, 데이터 등을 수신하면, 제어부(250)에 전달할 수 있다.
입력부(220)는 사용자장치(200)의 각 종 기능, 동작 등을 제어하기 위한 사용자의 키 조작을 입력받고 입력 신호를 생성하여 제어부(250)에 전달한다. 입력부(220)는 전원 on/off를 위한 전원 키, 문자 키, 숫자 키, 방향키 중 적어도 하나를 포함할 수 있다. 입력부(220)의 기능은 표시부(230)가 터치스크린으로 구현된 경우, 표시부(230)에서 이루어질 수 있으며, 표시부(230)만으로 모든 기능을 수행할 수 있는 경우, 입력부(220)는 생략될 수도 있다.
표시부(230)는 제어부(250)로부터 화면 표시를 위한 데이터를 수신하여 수신된 데이터를 화면으로 표시할 수 있다. 또한, 표시부(230)는 사용자장치(200)의 메뉴, 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공할 수 있다. 표시부(230)가 터치스크린으로 형성되는 경우, 입력부(220)의 기능의 일부 또는 전부를 대신 수행할 수 있다. 표시부(230)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있다.
저장부(240)는 사용자장치(200)의 동작에 필요한 각 종 데이터, 어플리케이션, 사용자장치(200)의 동작에 따라 발생된 각 종 데이터를 저장하는 역할을 수행한다. 이러한 저장부(240)는 스토리지, 메모리 등이 될 수 있다. 이러한 저장부(240)는 사용자장치(200)의 부팅(booting) 및 운영(operation)을 위한 운영체제(OS, Operating System), 본 발명의 실시예에 따른 각 종 애플리케이션을 저장할 수 있다. 저장부(240)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다.
제어부(250)는 사용자장치(200)의 전반적인 동작 및 사용자장치(200)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어부(250)는 중앙 처리 장치(Central Processing Unit : CPU), 어플리케이션 프로세서(Application Processor), GPU(Graphic Processing Unit) 등이 될 수 있다. 특히, 제어부(250)는 암복호부(400)를 포함한다. 이러한 암복호부(400)는 경량 암호 알고리즘(LEA: Lightweight Encryption Algorithm)에 따라 암호화 혹은 복호화를 수행한다. 이러한 암복호부(400)를 포함하는 제어부(250)의 동작은 아래에서 보다 상세하게 설명될 것이다. 또한, 도시되진 않았으나, 본 발명의 실시예에 따른 사용자장치(200)는 메모리 카드와 같은 외부 저장 매체를 삽입하여 데이터 저장을 가능토록 하는 저장매체 삽입부, 외부 디지털 기기와의 데이터 교환을 위한 연결 단자, 충전용 단자를 구비할 수 있다. 또한, 사용자장치(200)는 마이크 및 스피커를 통해 오디오 신호, 음성 신호 등을 입력 혹은 출력하는 오디오 처리부, 디지털 음원 재생을 위한 MP3 모듈 등의 부가 기능을 갖는 기능 부속들을 선택적으로 더 포함하여 구성될 수 있다. 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 사용자장치(200)에 추가로 더 포함되어 구성될 수 있다는 것은 본 기술분야의 통상의 지식을 가진 자라면 쉽게 이해할 수 있을 것이다.
다음으로, 본 발명의 실시예에 따른 인증장치(300)에 대해서 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 인증장치의 구성을 설명하기 위한 블록도이다. 도 4를 참조하면, 본 발명의 실시예에 따른 인증장치(300)는 통신유닛(310), 입력유닛(320), 표시유닛(330), 저장유닛(340) 및 제어유닛(350)을 포함한다.
통신유닛(310)은 네트워크를 통해 사용자장치(200)와 통신하기 위한 것이다. 이러한 통신을 통해 데이터 등을 수신하거나, 전달할 수 있다. 통신유닛(310)은 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다.
입력유닛(320)은 사용자의 명령, 선택, 데이터, 정보 중에서 적어도 하나를 입력 받기 위한 수단으로서, 숫자 또는 문자 정보를 입력 받고 다양한 기능을 설정하기 위한 다수의 입력키 및 기능키를 포함할 수 있다. 그리고 입력유닛(320)은 사용자의 키 입력을 감지하여, 감지된 키 입력에 따른 입력 신호를 제어유닛(350)으로 전달할 수 있다.
표시유닛(330)은 제어유닛(350)으로부터 화면 표시를 위한 데이터를 수신하여 수신된 데이터를 화면으로 표시할 수 있다. 또한, 표시유닛(330)은 인증장치(300)의 메뉴, 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공할 수 있다. 표시유닛(330)이 터치스크린으로 형성되는 경우, 입력유닛(320)의 기능의 일부 또는 전부를 대신 수행할 수 있다. 표시유닛(330)은 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있다.
저장유닛(340)은 인증장치(300)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 인증장치(300)의 전반적인 동작을 제어하는 프로그램 및 인증장치(300)를 부팅시키는 운영체제(OS, Operating System), 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 인증장치(300)의 사용에 따라 발생하는 사용자 데이터가 저장되는 영역이다. 또한, 저장유닛(340)은 인증장치(300) 사용에 따라 발생되는 각 종 데이터를 저장할 수 있다. 저장유닛(340)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다.
제어유닛(350)은 인증장치(300)의 전반적인 동작 및 인증장치(300)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어유닛(350)은 중앙 처리 장치(Central Processing Unit : CPU), 어플리케이션 프로세서(Application Processor) 등이 될 수 있다. 제어유닛(350)은 저장유닛(340)에 저장된 어플리케이션을 로드시켜 실행시키고, 필요한 경우, 임시 저장 공간으로 버퍼를 할당할 수 있다. 이러한 제어유닛(350)의 동작은 아래에서 보다 상세하게 설명될 것이다.
전술한 바와 같이, 사용자장치(200)는 암복호부(400)를 포함하며, 이러한 암복호부(400)에 대해서 상세하게 설명하기로 한다. 도 5는 본 발명의 실시예에 따른 암복호부의 구성을 설명하기 위한 블록도이다.
암복호부(400)에서 예컨대, 블록 암호 LEA의 평문과 암호문은 각각 128비트 길이의 비트열이며, 비밀키는 128, 192, 또는 256비트 길이의 비트열이다. LEA의 비밀키, 평문, 암호문은 바이트 배열이며, 암호화, 복호화 및 키스케줄 과정에 사용되는 내부 상태 변수 및 라운드키는 워드 배열이다.
암복호부(400)는 비밀키모듈(410), 키스케줄모듈(420), 암호모듈(430) 및 복호모듈(440)을 포함한다. 비밀키모듈(410)은 암호화를 위하여, 비밀키를 생성하고, 생성한 비밀키를 다음의 수학식 1에 따라 복수의 비밀키 조각, 예컨대, k가 자연수일 때, 다음과 같이, k개의 비밀키 조각으로 분할할 수 있다.
Figure pat00002
Figure pat00003
여기서 p는 k+1 보다 같거나 큰 소수, x는 k개의 비밀키 조각, a는 다항식의 계수이며, 임의로 선택된다. 즉, 비밀키모듈(410)은 수학식 1에 따라 복수의 비밀키 조각
Figure pat00004
을 생성할 수 있다.
복수의 비밀키 조각을 생성한 후, 비밀키모듈(410)은 생성된 복수의 비밀키 조각을 통신부(210)를 통해 클라우드서버(100)의 복수의 가상머신 혹은 복수의 인증장치(300)로 분배하여 전송할 수 있다.
또한, 비밀키모듈(410)은 복호화를 위하여, 통신부(210)를 통해 클라우드서버(100)의 복수의 가상머신 혹은 복수의 인증장치(300)로부터 복수의 비밀키 조각의 일부를 수집한다. 그런 다음, 비밀키모듈(410)은 라그랑지 보간법을 통해 수집된 비밀키 조각으로부터 비밀키를 복원할 수 있다.
키스케줄모듈(420)은 암호화를 위한 키 스케줄 기능 및 복화화를 위한 키 스케줄 기능을 수행한다. 키스케줄모듈(420)은 비밀키모듈(410)이 생성한 비밀키가 입력되면, 비밀키로부터 복수개의 라운드키를 생성한다. 예를 들면, 키스케줄부(310)는 암호화를 위한 키 스케줄을 위해, 암호화 키스케줄 함수
Figure pat00005
를 이용하여 k 비트의 비밀키 K로부터 Nr개의 192비트 암호화용 라운드키
Figure pat00006
(0 ≤ i ≤ Nr-1)를 생성할 수 있다. 또한, 키스케줄부(310)는 복호화를 위한 키 스케줄을 위해, 복호화 키스케줄 함수
Figure pat00007
를 이용하여 k 비트의 비밀키 K로부터 Nr개의 192비트 복호화용 라운드키
Figure pat00008
(0 ≤ i ≤ Nr-1)를 생성할 수 있다.
암호모듈(430)은 복수개의 라운드키를 라운드 함수
Figure pat00009
에 입력하여 평문을 암호문으로 변환하는 암호화를 수행한다. 예를 들면, 암호모듈(430)은 라운드 함수
Figure pat00010
를 이용하여 128비트 평문 P를 128비트 암호문 C로 변환하는 암호화를 수행한다.
복호모듈(440)은 복수개의 라운드키를 라운드 함수
Figure pat00011
에 입력하여 암호문을 평문으로 변환하는 복호화를 수행한다. 예를 들면, 복호모듈(440)은 라운드 함수
Figure pat00012
를 이용하여 128비트 암호문 P를 128비트 평문 C로 변환하는 암호화를 수행한다.
그러면, 본 발명의 실시예에 따른 정보 보안을 위한 방법에 대해서 설명하기로 한다. 전술한 바와 같이, 사용자장치(200)는 제1 사용자장치(201) 및 제2 사용자장치(202)를 포함한다. 특히, 제1 사용자장치(201)는 저작권 보호를 위한 컨텐츠(원본 컨텐츠)를 암호화하여 전송하는 사용자장치(200)이며, 제2 사용자장치(202)는 암호화된 컨텐츠를 복호화하여 컨텐츠 원본을 복원하는 사용자장치(200)라고 가정한다. 먼저, 제1 사용자장치(201)가 저작권 보호를 위한 컨텐츠(원본 컨텐츠)를 암호화하여 제2 사용자장치(202)로 전송하는 방법에 대해서 설명하기로 한다. 도 6은 본 발명의 실시예에 따른 정보 보안을 위한 방법을 설명하기 위한 흐름도이다.
제1 사용자장치(201)의 제어부(250)는 S110 단계 제1 형식의 컨텐츠를 입력받는다. 본 발명의 실시예에 따른 제1 형식의 컨텐츠는 이미지 파일 형식 이외의 형식의 파일을 의미한다. 제1 형식의 컨텐츠는 PPT 파일, HWP 파일, PDF 파일 등의 문서 형식의 파일을 예시할 수 있다. 그러면, 제어부(250)는 S120 단계에서 문서 파일 형식의 컨텐츠를 제2 형식인 이미지 파일 형식으로 변환한다. 이미지 파일 형식은 JPG, PNG, BMP 등을 예시할 수 있다.
다음으로, 제어부(250)는 S130 단계에서 콘텐츠에 저작권 정보를 삽입한다. 도 7은 본 발명의 실시예에 따른 콘텐츠에 저작권 정보를 삽입하는 방법을 설명하기 위한 흐름도이다. 이러한 도 7은 S130 단계를 보다 자세하게 설명하기 위한 것이다. 다음의 표 1 및 표 2는 본 발명의 실시예에 따른 저작권 정보를 삽입하는 알고리즘을 구현한 소스 코드이다. 도 7, 표 1 및 표 2를 참조로 본 발명의 실시예에 따른 저작권 정보를 삽입하는 방법에 대해서 보다 상세하게 설명하기로 한다.
T <- 125
for x <- 0 to Watermark_Width
for y <- 0 to Watermark_Height
Average <- (R + G + B) / 3
if Average <= T then
Bin_Watermark<- Color.Black
else
Bin_Watermark<- Color.White
end if
next y
next x
procedure Chaotic(Image)
WC[Image_Width * Image_Height]
WC2[Image_Width, Image_Height]
initial_x <- 0.5
initial_m <- 3.7
WC[0] <- initial_x
for i <- 0 to Image_Width * Image_Height
?? 1
WC[i + 1] <- initial_m * WC[i] *
(1 ?? WC[i])
next I
count <- 0
for i <- 0 to Image_Height
for j <- 0 to Image_Width
WC2[i, j] <- Floor(WC[count] + 0.5)
count++
next j
next I
return WC2
end procedure

Chaotic(Resize_Image)
for y <- 0 to Image_Height
for x <- 0 to Image_Width
if Resize_Watermark(y, x) == 255 then
bin[7] <- 1 ^ Chaotic[y, x]
else
bin[7] <- 0 ^ Chaotic[y, x]
end if
next x
next y
S131: 제어부(250)는 저작권 정보를 삽입하기 전, 먼저 저작권 정보를 마련한다. 본 발명의 실시예에 따른 저작권 정보는 이미지 파일이 될 수 있다. 저작권 정보가 예컨대, 텍스트 파일 등의 이미지 파일이 아닌 경우, 그 저작권 정보의 파일 형식을 이미지 파일 형식으로 변환한다.
S132: 제어부(250)는 카오틱 시퀀스를 생성한다. 생성 과정에서 카오틱 맵이 사용되며, 초기 값 2개를 키로써 사용한다. 카오틱 시퀀스는 다음의 수학식 2를 이용하여 생성한다.
Figure pat00013
여기서, 초기 값은 Chaotic[i]에 들어가며, 파라미터 값은 initial_m에 들어간다.
S133: 제어부(250)는 이미지 파일인 저작권 정보를 다음의 표 1의 소스 코드에 따라 바이너리 이미지로 변환한다. 이때, 제어부(250)는 표 1에 보인 바와 같이, RGB 이미지의 평균 픽셀 값을 계산하여 평균값보다 작을 경우 흑색, 높을 경우 백색으로 이미지를 변환한다.
S134: 제어부(250)는 바이너리 이미지를 콘텐츠(원본 콘텐츠)의 이미지 크기로 리사이즈(Re-size)한다.
S135: 제어부(250)는 바이너리 이미지의 픽셀 값을 2진수로 변환한다.
S136: 제어부(250)는 콘텐츠인 원본 이미지의 픽셀값의 LSB에 2진수로 변환된 바이너리 이미지의 콘텐츠와 동일한 픽셀 좌표의 픽셀과 카오틱 시퀀스를 XOR한 값을 삽입한다. 즉, 바이너리 이미지는 콘텐츠와 동일한 크기로 리사이징되었기 때문에 콘텐츠의 모든 픽셀 각각과 대응하는 픽셀을 가진다. 따라서 대응하는 픽셀을 이진수로 변환하고, 변환된 이진수와 카오틱 시퀀스를 XOR 연산하여 콘텐츠의 대응하는 픽셀에 삽입한다. 예를 들면, 이미지 픽셀값이 255라면, 변환된 2진수 픽셀 값의 LSB에 1과 카오틱 시퀀스를 XOR한 값을 넣는다. 이러한 S136 단계는 콘텐츠 원본 이미지의 모든 픽셀 값의 LSB에 저작권 정보가 모두 삽입될 때까지 반복한다.
다음으로, 제어부(250)의 암복호화부(400)의 비밀키모듈(410)은 S140 단계에서 암호화를 위하여, 비밀키를 생성한다. 여기서, 비밀키는 생체 신호를 이용하여 생성될 수 있다. 사용자장치(200)는 생체 신호를 수집하기 위한 생체 신호 센서를 더 포함할 수 있다. 예를 들면, 생체 신호는 얼굴 특징, 음성, 지문, 홍채, 망막, 손 기하학, 서명 역학, 키입력 역학, 입술 움직임, 열 얼굴 이미지, 열 손 이미지, 걸음걸이, 체취 등을 포함하며, 사용자장치(200)는 이러한 생체 신호의 종류에 맞는 생체 신호 센서를 더 포함할 수 있다. 이러한 생체 신호 센서는 카메라 센서, 적외선 센서, 적외선 카메라 센서, 관성 센서, 터치 센서, 오디오 센서, 햅틱 센서 등을 예시할 수 있다. 비밀키모듈(410)은 생체 신호 센서를 통해 수집된 생체 신호는 이미지이며, 이러한 이미지를 비트열로 변환하고, 생체 신호의 비트열 중 소정 길이의 비트열을 비밀키로 이용할 수 있다.
그런 다음, 암복호화부(400)의 비밀키모듈(410)은 S150 단계에서 앞서 생성한 비밀키를 전술한 수학식 1에 따라 복수의 비밀키 조각으로 분할하고, 복수의 비밀키 조각을 통신부(210)를 통해 클라우드서버(100)의 복수의 가상머신 혹은 복수의 인증장치(300) 중 k개의 장치에 분배하여 저장한다. 또한, 필요한 경우, k개의 장치의 접속 주소를 제2 사용자장치(202)에 제공한다. 이에 대해 보다 자세히 설명하기로 한다. 도 8은 본 발명의 실시예에 따른 비밀키 조각을 분배하여 저장하는 방법을 설명하기 위한 흐름도이다. 이러한 도 8은 S150 단계를 보다 상세하게 설명하기 위한 것이다.
도 8을 참조하면, 제어부(250)는 S151 단계에서 비밀키로부터 k개의 비밀키 조각을 생성한 후, S152 단계에서 통신부(210)를 통해 클라우드서버(100) 및 복수의 인증장치(300) 중 소정 수의 장치에 비밀키 조각을 포함하는 비밀키 조각 보관 요청 메시지를 전송한다. 본 발명의 실시예에 따르면, 클라우드서버(100)는 가상머신을 통해 복수의 비밀키 조각을 수용한다. 따라서 제어부(250)는 복수의 비밀키 조각을 포함하는 비밀키 조각 보관 요청 메시지를 클라우드서버(100)로 전송할 수 있다. 또한, 복수의 인증장치(300) 각각은 인증장치(300) 당 하나의 비밀키 조각을 수용하며, 제어부(250)는 어느 하나의 인증장치(300)에 하나의 비밀키 조각을 포함하는 비밀키 조각 보관 요청 메시지를 전송할 수 있다.
인증장치(300)가 비밀키 조각 보관 요청 메시지를 수신한 경우, 인증장치(300)의 제어유닛(350)은 저장유닛(340)에 소정 시간 동안 하나의 비밀키 조각을 저장할 수 있는 저장 공간을 할당하고, 할당된 저장 공간에 비밀키 조각을 저장한다. 그런 다음, 제어유닛(350)은 S153 단계에서 통신모듈(110)을 통해 저장모듈(340)에 저장된 비밀키 조각에 접근할 수 있는 접속 주소를 제1 사용자장치(201)로 전송한다. 이때, 제어유닛(350)은 접속 주소와 더불어 비밀키 조각의 저장 만료 시간을 더 포함시켜 제1 사용자장치(201)로 전송한다.
클라우드서버(100)가 비밀키 조각 보관 요청 메시지를 수신한 경우, 클라우드서버(100)의 제어모듈(130)은 메시지에 포함된 비밀키 조각의 수에 대응하는 수의 가상머신을 생성한다. 이때, 제어모듈(130)은 가상머신에 접근할 수 있는 접속 주소를 할당하여 가상머신을 생성한다. 생성된 가상머신 각각은 저장모듈(130)에 비밀키 조각을 저장할 수 있는 저장 공간을 할당한 후, 할당된 저장 공간에 비밀키 조각을 저장한다. 그런 다음, 제어모듈(130)의 가상머신 각각은 S153 단계에서 통신모듈(110)을 통해 가상 머신 각각이 저장한 비밀키 조각에 접근할 수 있는 접속 주소를 제1 사용자장치(201)로 전송한다. 이때, 제어모듈(130)이 가상머신을 소정 시간 동안 생성시켰다가 소멸시키기 때문에 제어모듈(130)의 가상머신 각각은 접속 주소와 더불어 해당 가상머신의 동작 만료 시간, 즉, 비밀키 조각의 저장 만료 시간을 더 포함시켜 제1 사용자장치(201)로 전송한다. 이와 같이, 하나의 가상머신은 하나의 인증장치(300)와 동일하게 동작한다. 이는 하나의 가상머신이 개별적인 접속 주소를 가지고 개별적인 프로세스로 동작하고, 개별적인 저장 공간을 할당하여 제공하는 네트워크 상의 개별 장치로 동작하는 것을 의미한다.
이와 같이, 복수의 가상 머신 및 복수의 인증 장치(300) 각각으로부터 복수(예컨대, k개)의 비밀키 조각 각각에 대한 접속 주소 및 저장 만료 시간을 수신할 때마다, 제1 사용자장치(201)의 제어부(250)는 S155 단계에서 통신부(210)를 통해 복수(예컨대, k개)의 비밀키 조각 중 해당하는 비밀키 조각에 대한 접속 주소 및 저장 만료 시간을 개별적인 채널 및 세션을 할당하여 제2 사용자장치(202)로 전송한다. 즉, 복수의 비밀키 조각 각각의 접속 주소 및 저장 만료 시간은 따로 구분하여 개별적인 채널 및 세션을 통해 전송한다.
한편, 암복호화부(400)의 키스케줄모듈(420)은 S160 단계에서 비밀키모듈(410)이 생성한 비밀키로부터 복수개의 라운드키를 생성한다. 그리고 암복호화부(400)의 암호모듈(430)은 S170 단계에서 복수개의 라운드키를 라운드 함수에 입력하여 평문인 콘텐츠를 암호문으로 변환하는 암호화를 수행한다.
다음으로, 제어부(250)는 S180 단계에서 생체 신호를 이용하여 추가적인 암호화를 수행한다. 이러한 S180 단계는 선택적으로 수행될 수 있다. 도 9는 본 발명의 실시예에 따른 생세 신호를 이용한 암호화 방법을 설명하기 위한 흐름도이다. 이러한 도 9는 S180 단계를 보다 상세하게 설명하기 위한 것이다.
제어부(250)는 S181 단계에서 생체 신호를 입력받는다. 이를 위하여, 도시되지는 않았지만, 사용자장치(200)는 생체 신호를 수집하기 위한 생체 신호 센서를 더 포함할 수 있다. 예를 들면, 생체 신호는 얼굴 특징, 음성, 지문, 홍채, 망막, 손 기하학, 서명 역학, 키입력 역학, 입술 움직임, 열 얼굴 이미지, 열 손 이미지, 걸음걸이, 체취 등을 포함하며, 사용자장치(200)는 이러한 생체 신호의 종류에 맞는 생체 신호 센서를 더 포함할 수 있다.
생체 신호가 입력되면, 제어부(250)는 S182 단계에서 생체 신호를 이진화하고, S183 단계에서 이진화된 생체 신호를 생체 데이터로 변환한다. 이때, 제어부(250)는 생체인식 데이터 교환 포맷(CBEFF: (Common Biometric Exchange File Format))의 BIR(Biometric Identification Record) 구조에 따라 생체 데이터로 변환할 수 있다. 이러한 생체 데이터는 다음의 표 3과 같은 구조를 가진다.
SBH(헤더) BDB(이진화된 생체 신호) SB(서명)
즉, 제어부(250)는 이진화된 생체 신호에 그 생체 신호를 분류하는 헤더를 생성하고, 서명을 추가하여 생체 데이터를 생성한다.
다음으로, 제어부(250)는 S183 단계에서 타임스탬프를 생성한다. 여기서, 타임스탬프는 제1 및 제2 사용자장치(201, 202) 양자 간에 미리 협의된 방식에 의해 생성된다.
이어서, 제어부(250)는 S184 단계에서 컨텐츠, 생체 데이터 및 타임스탬프를 인자로 해시 함수 입력하여 암호화를 수행한다. 전술한 암호화가 이루어진 후, 제어부(250)는 S185 단계에서 생체 데이터를 클라우드서버(100)에 저장할 수 있다.
S185 단계의 일실시예에 따르면, 제어부(250)는 클라우드서버(100)에 생체 데이터를 저장할 것을 요청할 수 있다. 그러면, 클라우드서버(100)의 제어모듈(130)은 가상머신을 생성하고, 생성된 가상머신은 저장모듈(120)에 생체 데이터를 저장할 수 있는 저장 공간을 할당하고, 할당된 공간에 저장한다. 그런 다음, 제어모듈(130)은 통신모듈(110)을 통해 생체 데이터에 접근할 수 있는 접속 주소를 제1 사용자장치(201)에 전송한다. 이때, 생체 데이터를 소정 기간 동안만 저장하는 경우, 생체 데이터의 저장 만료 시간을 더 포함하여 전송할 수 있다.
S185 단계의 대안적인 실시예에 따르면, 이때, 제어부(250)는 전술한 수학식 1을 이용하여 생체 데이터를 복수의 생체 데이터 조각으로 분할한다. 그런 다음, 클라우드서버(100)에 복수의 생체 데이터 조각을 저장할 것을 요청할 수 있다. 제1 사용자장치(201)로부터 복수의 생체 데이터 조각을 수신한 경우, 클라우드서버(100)의 제어모듈(130)은 메시지에 포함된 생체 데이터 조각의 수에 대응하는 수의 가상머신을 생성한다. 이때, 제어모듈(130)은 가상머신에 접근할 수 있는 접속 주소를 할당하여 가상머신을 생성한다. 생성된 가상머신 각각은 저장모듈(130)에 생체 데이터 조각을 저장할 수 있는 저장 공간을 할당한 후, 할당된 저장 공간에 생체 데이터 조각을 저장한다. 그런 다음, 제어모듈(130)의 가상머신 각각은 통신모듈(110)을 통해 가상 머신 각각이 저장한 생체 데이터 조각에 접근할 수 있는 접속 주소를 제1 사용자장치(201)로 전송한다. 이때, 제어모듈(130)이 가상머신을 소정 시간 동안 생성시켰다가 소멸시키기 때문에 제어모듈(130)의 가상머신 각각은 접속 주소와 더불어 해당 가상머신의 동작 만료 시간, 즉, 생체 데이터 조각의 저장 만료 시간을 더 포함시켜 제1 사용자장치(201)로 전송한다. 이는 하나의 가상머신이 개별적인 접속 주소를 가지고 개별적인 프로세스로 동작하고, 개별적인 저장 공간을 할당하여 제공하는 네트워크 상의 개별 장치로 동작하는 것을 의미한다.
전술한 바와 같이, 콘텐츠에 대한 암호화가 완료되면, 제어부(250)는 S190 단계에서 콘텐츠를 통신부(210)를 통해 제2 사용자 장치(202)로 전송한다. 만약, S180 단계가 수행된 경우, 제어부(250)는 콘텐츠와 더불어 타임스탬프를 같이 전송할 수 있다. 더욱이, 클라우드서버(100)에 저장된 생체 데이터 혹은 생체 데이터 조각에 접근할 수 있는 접속 주소와 생체 데이터 혹은 생체 데이터 조각의 저장 만료 시간을 더 포함하여 전송할 수 있다. 이와 같이, 제1 사용자장치(201)의 제어부(250)는 통신부(210)를 통해 생체 데이터 혹은 복수의 생체 데이터 조각 각각의 접속 주소 및 저장 만료 시간을 개별적인 채널 및 세션을 할당하여 제2 사용자장치(202)로 전송한다. 즉, 생체 데이터 혹은 복수의 생체 데이터 조각 각각의 접속 주소 및 저장 만료 시간은 따로 구분하여 개별적인 채널 및 세션을 통해 전송한다.
다음으로, 제2 사용자장치(202)가 제1 사용자장치(201)가 전송한 암호화된 컨텐츠(원본 컨텐츠)를 복호화하는 방법에 대해서 설명하기로 한다. 도 10은 본 발명의 실시예에 따른 정보 보안을 위한 방법을 설명하기 위한 흐름도이다.
제2 사용자장치(202)의 제어부(250)는 S190 단계에서 통신부(210)를 통해 컨텐츠를 수신한다. 이러한 콘텐츠에 대해 생체 신호를 이용하여 암호화가 이루어진 경우, 제어부(250)는 S210 단계에서 생체 신호를 이용하여 복호화를 수행한다. 도 11은 본 발명의 실시예에 따른 생세 신호를 이용한 암호화 방법을 설명하기 위한 흐름도이다. 이러한 도 11은 S210 단계를 보다 상세하게 설명하기 위한 것이다. 도 11을 참조하면, 생체 신호를 이용하여 암호화가 이루어진 경우, 제2 사용자장치(202)의 제어부(250)는 통신부(210)를 통해 암호화된 컨텐츠와 더불어, 생체 데이터(혹은 생체 데이터 조각)에 접근할 수 있는 접속 주소 및 타임스탬프를 수신할 수 있다. 이에 따라, 제어부(250)는 S211 단계에서 수신된 타임스탬프를 검증한다. 이때, 타임스탬프가 검증에 성공하여 타임스탬프가 유효한 타임스탬프인 것으로 가정한다. 다음으로, 제어부(250)는 S212 단계에서 접속 정보를 이용하여 클라우드서버(100)의 가상머신에 접근하여 생체 데이터(혹은 생체 데이터 조각)를 요청하면, 가상머신은 해당 생체 데이터(혹은 생체 데이터 조각)를 제2 사용자장치(202)로 전송한다. 이로써, 제어부(250)는 생체 데이터(혹은 생체 데이터 조각)를 수신할 수 있다. 이때, 필요한 경우, 즉, 복수의 생체 데이터 조각이 존재하는 경우, 제어부(250)는 라그랑지 보간법을 이용하여 복수의 생체 데이터 조각으로부터 생체 데이터를 복원할 수 있다.
이와 같이, 타임스탬프를 검증하고, 생체 데이터를 수신한 후, 제어부(250)는 S213 단계에서 타임스탬프 및 생체 데이터를 해시 함수에 입력하여 컨텐츠를 복호화한다.
또한, 선택적으로, 제1 사용자장치(201)가 전송한 경우, 제2 사용자장치(202)의 제어부(250)는 앞서 S155 단계에서 복수의 비밀키 조각이 분배된 복수의 가상머신 혹은 복수의 인증장치(300) 중 k개의 장치 중 적어도 n개의 장치의 접속 정보를 수신할 수 있다. 제어부(250)는 S220 단계에서 통신부(210)를 통해 복수의 비밀키 조각이 분배된 복수의 가상머신 혹은 복수의 인증장치(300) 중 k개의 장치 중 적어도 n개의 장치로부터 비밀키 조각을 수집한다. 여기서, 일 실시예에 따르면, n개의 장치의 접속 정보는 제1 사용자장치(201)와 제2 사용자장치(202)가 미리 공유할 수 있다. 또는 대안적인 실시예에 따르면, 제2 사용자장치(202)는 앞서 S155 단계에서 n개의 장치의 접속 정보를 제1 사용자장치(201)로부터 수신할 수 있다. 도 12는 본 발명의 대안적인 실시예에 따른 비밀키 조각을 수집하는 방법을 설명하기 위한 흐름도이다. 도 12를 참조하는 실시예에 따르면, 제2 사용자장치(202)의 제어부(250)는 S221 단계에서 앞서(S155) 수신된 접속 정보를 통해 클라우드서버(100)의 가상머신 혹은 인증장치(300)에 비밀키 조각을 요청하는 요청 메시지를 전송한다. 이에 따라, 아직 비밀키 조각 저장 만료 시점이 도과되지 않은 경우, 제2 사용자장치(202)의 제어부(250)는 S222 단계에서 통신부(210)를 통해 클라우드서버(100)의 가상머신 혹은 인증장치(300)로부터 비밀키 조각을 수신할 수 있다.
n이 k 보다 작은 자연수일 때, n개의 비밀키 조각이 수집되면, 제2 사용자장치(202)의 제어부(250)는 S230 단계에서 라그랑지 보간법을 통해 수집된 비밀키 조각으로부터 비밀키를 복원한다.
그런 다음, 제어부(250)의 암복호화부(400)의 키스케줄모듈(420)은 S240 단계에서 비밀키모듈(410)이 생성한 비밀키로부터 복수개의 라운드키를 생성한다. 그리고 암복호화부(400)의 복호모듈(440)은 S250 단계에서 복수개의 라운드키를 라운드 함수에 입력하여 암호문인 컨텐츠를 평문으로 변환하는 복호화를 수행한다.
다음으로, 제어부(250)는 S260 단계에서 콘텐츠에서 저작권 정보를 추출한다. 도 13은 본 발명의 실시예에 따른 콘텐츠에서 저작권 정보를 추출하는 방법을 설명하기 위한 흐름도이다. 이러한 도 13은 S260 단계를 보다 자세하게 설명하기 위한 것이다. 다음의 표 4는 본 발명의 실시예에 따른 저작권 정보를 추출하는 알고리즘을 구현한 소스 코드이다. 도 13 및 표 4를 참조로 본 발명의 실시예에 따른 저작권 정보를 추출하는 방법에 대해서 보다 상세하게 설명하기로 한다.
Chaotic(Image)
for y <- 0 to Image_Height
for x <- 0 to Image_Width
lsb <- lsb ^ WC2[y, x]
if lsb == 1 then
Image(y, x) <- 255
else
Image(y, x) <- 0
end if
next x
next y
S261: 제어부(250)는 전술한 수학식 2와 같이 카오틱 시퀀스를 생성한다.
S262: 제어부(250)는 저작권 정보가 삽입된 콘텐츠에서 각 픽셀의 LSB와 카오틱 시퀀스와 XOR 연산을 수행한다.
S263: 제어부(250)는 연산 결과 LSB가 1인 경우에는 바이너리 이미지의 픽셀 값을 255로, 0인 경우 바이너리 이미지의 픽셀값을 0으로 생성하여 저작권 정보인 바이너리 이미지를 복원한다.
다음으로, 제어부(250)는 S270 단계에서 JPG, PNG, BMP와 같은 이미지 파일 형식인 콘텐츠를 PPT, HWP, PDF와 같은 문서 파일 형식으로 변환한다. 이로써, 제2 사용자장치(202)의 제어부(250)는 S280 단계에서 문서 파일 형식으로 변환된 콘텐츠를 사용할 수 있다.
도 14 내지 도 17은 본 발명의 실시예에 따른 정보 보안 방법을 설명하기 위한 도면이다. 도 14 및 도 15는 비밀키를 이용한 암호화 기법을 설명하기 위한 도면이고, 도 16은 저작권 정보를 삽입하는 방법을 설명하기 위한 도면이며, 도 17은 본 발명의 실시예에 따른 생체 데이터를 설명하기 위한 도면이다.
본 발명의 실시예에 따른 카오틱맵을 활용한 이미지 형태의 저작권 정보 삽입 및 추출 기법은 저작권 정보 이미지를 원본 이미지와 크기를 맞추고, 바이너리 이미지로 변환한 후에 카오틱맵을 활용하여 암호화 한 뒤 삽입이 이루어지므로 안전한 저작권 정보 삽입이 가능하다. 그리고 본 발명에 따르면, 원본 이미지의 LSB에 저작권 정보를 삽입하기 때문에 원본 이미지 왜곡을 최소화 할 수 있다.
한편, 앞서 설명된 본 발명의 실시예로 설명된 방법들은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
100: 클라우드서버 110: 통신모듈
120: 저장모듈 130: 제어모듈
200: 사용자장치 210: 통신부
220: 입력부 230: 표시부
240: 저장부 250: 제어부
300: 인증장치 310: 통신유닛
320: 입력유닛 330: 표시유닛
340: 저장유닛 350: 제어유닛
400: 암복호부 410: 비밀키모듈
420: 키스케줄모듈 430: 암호모듈
440: 복호모듈

Claims (6)

  1. 정보 보안 시스템에 있어서,
    물리적으로 구분된 복수의 인증장치;
    논리적으로 구분되어 인증장치의 기능을 수행하는 복수의 가상머신을 포함하는 클라우드서버; 및
    비밀키를 생성하고, k가 자연수일 때, 상기 비밀키를 k개의 비밀키 조각으로 분할하고, 상기 k개의 비밀키 조각을 상기 복수의 인증장치 및 상기 복수의 가상머신 중 k개의 장치에 분배하여 전송하고, 상기 비밀키를 이용하여 암호키를 생성하고, 상기 암호키와 라운드 함수를 이용하여 컨텐츠를 암호화하며, 암호화된 컨텐츠를 제2 사용자장치로 전송하는 제1 사용자장치;를 포함하는 것을 특징으로 하는 정보 보안 시스템.
  2. 제1항에 있어서,
    n은 k 보다 작은 자연수일 때, 상기 k개의 장치 중 적어도 n개의 장치로부터 비밀키 조각을 수집하고, 라그랑지 보간법을 통해 수집된 비밀키 조각으로부터 상기 비밀키를 복원하고, 상기 비밀키를 이용하여 복호키를 생성하고, 상기 복호키와 라운드 함수를 이용하여 컨텐츠를 복원하는 상기 제2 사용자장치;를 더 포함하는 것을 특징으로 하는 정보 보안 시스템.
  3. 정보 보안 시스템의 정보 보안 방법에 있어서,
    제1 사용자장치가 문서 파일 형식의 컨텐츠가 입력되면, 이미지 파일 형식으로 컨텐츠를 변환하는 단계;
    상기 제1 사용자장치가 비밀키를 생성하는 단계;
    상기 제1 사용자장치가 상기 비밀키를 이용하여 암호키를 생성하는 단계;
    상기 제1 사용자장치가 상기 암호키와 라운드 함수를 이용하여 컨텐츠를 암호화하는 단계; 및
    상기 제1 사용자장치가 상기 컨텐츠를 제2 사용자장치로 전송하는 단계;를 포함하는 것을 특징으로 하는 정보 보안 방법.
  4. 제3항에 있어서,
    상기 제1 사용자장치가 비밀키를 생성하는 단계 후,
    k가 자연수일 때,
    상기 제1 사용자장치가
    수학식
    Figure pat00014
    에 따라 상기 비밀키를 k개의 비밀키 조각으로 분할하는 단계; 및
    상기 제1 사용자장치가 상기 k개의 비밀키 조각을 물리적으로 구분된 복수의 인증장치 및 논리적으로 구분되어 인증장치의 기능을 수행하는 클라우드서버의 복수의 가상머신 중 k개의 장치에 분배하여 전송하는 단계;를 더 포함하는 것을 특징으로 하는 정보 보안 방법.
  5. 제4항에 있어서,
    상기 컨텐츠를 제2 사용자장치로 전송하는 단계 후,
    n이 k 보다 작은 자연수일 때,
    상기 제2 사용자장치가 상기 k개의 장치 중 적어도 n개의 장치로부터 비밀키 조각을 수집하는 단계;
    라그랑지 보간법을 통해 수집된 비밀키 조각으로부터 상기 비밀키를 복원하는 단계;
    상기 비밀키를 이용하여 복호키를 생성하는 단계; 및
    상기 복호키와 라운드 함수를 이용하여 컨텐츠를 복원하는 단계;를 더 포함하는 것을 특징으로 하는 정보 보안 방법.
  6. 제3항 내지 제5항 중 어느 한 항에 따른 정보 보안 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
KR1020180001886A 2017-01-06 2018-01-05 경량암호 알고리즘 기반의 스마트 기기 내의 개인정보 및 콘텐츠 암복호화를 통한 정보 보안 시스템, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 KR102038217B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170002187 2017-01-06
KR20170002187 2017-01-06

Publications (2)

Publication Number Publication Date
KR20180081469A true KR20180081469A (ko) 2018-07-16
KR102038217B1 KR102038217B1 (ko) 2019-10-29

Family

ID=63048189

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180001886A KR102038217B1 (ko) 2017-01-06 2018-01-05 경량암호 알고리즘 기반의 스마트 기기 내의 개인정보 및 콘텐츠 암복호화를 통한 정보 보안 시스템, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체

Country Status (1)

Country Link
KR (1) KR102038217B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102050882B1 (ko) * 2018-11-30 2019-12-02 주식회사우경정보기술 스트림 암호 기반의 제로-워터마킹을 이용한 영상 보안 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010102684A (ko) * 2000-05-04 2001-11-16 오길록 라운드 키 생성 및 암호처리용 암호화장치
KR101363290B1 (ko) * 2012-08-30 2014-02-18 고려대학교 산학협력단 단말간 경량화된 인증된 키 공유방법
KR20150124087A (ko) * 2014-04-28 2015-11-05 주식회사 나눔기술 모바일 암호화 적용 문서변환시스템 및 그 방법
KR101615137B1 (ko) * 2015-03-27 2016-05-12 순천향대학교 산학협력단 속성 기반의 데이터 접근 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010102684A (ko) * 2000-05-04 2001-11-16 오길록 라운드 키 생성 및 암호처리용 암호화장치
KR101363290B1 (ko) * 2012-08-30 2014-02-18 고려대학교 산학협력단 단말간 경량화된 인증된 키 공유방법
KR20150124087A (ko) * 2014-04-28 2015-11-05 주식회사 나눔기술 모바일 암호화 적용 문서변환시스템 및 그 방법
KR101615137B1 (ko) * 2015-03-27 2016-05-12 순천향대학교 산학협력단 속성 기반의 데이터 접근 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
한국공개특허 제2007-0060955호 2007년 06월 13일 공개 (명칭: 저작권 보호를 위한 디지털 콘텐츠 송수신 장치 및 그 방법)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102050882B1 (ko) * 2018-11-30 2019-12-02 주식회사우경정보기술 스트림 암호 기반의 제로-워터마킹을 이용한 영상 보안 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
WO2020111403A1 (ko) * 2018-11-30 2020-06-04 주식회사우경정보기술 스트림 암호 기반의 제로-워터마킹을 이용한 영상 보안 방법, 서버, 및 컴퓨터 판독 가능한 기록 매체
US11838402B2 (en) 2019-03-13 2023-12-05 The Research Foundation For The State University Of New York Ultra low power core for lightweight encryption

Also Published As

Publication number Publication date
KR102038217B1 (ko) 2019-10-29

Similar Documents

Publication Publication Date Title
KR102079626B1 (ko) 모바일 환경에서 생체 인증 기반 경량 상호 인증 프로토콜을 이용한 정보 은닉 시스템, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
WO2021057073A1 (zh) 一种非对称密钥中的私钥生成和使用方法、装置和设备
US10979221B2 (en) Generation of keys of variable length from cryptographic tables
US10341094B2 (en) Multiple encrypting method and system for encrypting a file and/or a protocol
US11880831B2 (en) Encryption system, encryption key wallet and method
Abdullah et al. New approaches to encrypt and decrypt data in image using cryptography and steganography algorithm
JP2016523391A (ja) 平文データを暗号化するための方法および装置
US9621521B2 (en) Rapid data encryption and decryption for secure communication over open channels with plausible deniability
CN107491317A (zh) 一种基于异构加速平台的aes对称加解密方法及系统
Yahaya et al. Cryptosystem for secure data transmission using Advance Encryption Standard (AES) and Steganography
KR102038217B1 (ko) 경량암호 알고리즘 기반의 스마트 기기 내의 개인정보 및 콘텐츠 암복호화를 통한 정보 보안 시스템, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
KR20080099631A (ko) 모바일 카드를 이용한 컨텐츠 사용 방법, 호스트 장치, 및모바일 카드
Debnath et al. An advanced image encryption standard providing dual security: Encryption using hill cipher & RGB image steganography
CN116455572B (zh) 数据加密方法、装置及设备
CN111277605B (zh) 数据分享方法、装置、计算机设备以及存储介质
Patel et al. A survey of information hiding techniques
KR102038218B1 (ko) 모바일 환경에서 저전력 및 저연산 기반 스마트 콘텐츠 및 개인정보를 보호하기 위한 보안 시스템, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
KR20230139647A (ko) 데이터 암호화 및 복호화 시스템, 방법
JP2000305849A (ja) 送信装置とその方法、受信装置とその方法および通信システム
KR101757768B1 (ko) 데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템
US20230299940A1 (en) Single stream one time pad with encryption with expanded entropy
US11438136B2 (en) Encryption apparatus and method for encrypting encryption target data in data based on homomorphic encryption algorithm
US20240305458A1 (en) Systems and Methods for Non-Custodial Key Storage and Digital Signatures
KR101613565B1 (ko) 블록 암호를 이용한 일방향 보안 통신 시스템 및 방법
Prakash et al. I/O Steganography for Audio and Images in Secure Data Transmission

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