KR20150069982A - 보안 통신방법 및 장치와 이를 채용하는 멀티미디어 기기 - Google Patents

보안 통신방법 및 장치와 이를 채용하는 멀티미디어 기기 Download PDF

Info

Publication number
KR20150069982A
KR20150069982A KR1020140005328A KR20140005328A KR20150069982A KR 20150069982 A KR20150069982 A KR 20150069982A KR 1020140005328 A KR1020140005328 A KR 1020140005328A KR 20140005328 A KR20140005328 A KR 20140005328A KR 20150069982 A KR20150069982 A KR 20150069982A
Authority
KR
South Korea
Prior art keywords
key
bitstream
encryption
terminal
encrypted
Prior art date
Application number
KR1020140005328A
Other languages
English (en)
Other versions
KR102295661B1 (ko
Inventor
문한길
김현욱
황선호
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP22165658.0A priority Critical patent/EP4075719A1/en
Priority to PCT/KR2014/012365 priority patent/WO2015088296A1/ko
Priority to CN201480075556.5A priority patent/CN105981327B/zh
Priority to US15/104,629 priority patent/US10530571B2/en
Priority to EP14870633.6A priority patent/EP3082291B1/en
Publication of KR20150069982A publication Critical patent/KR20150069982A/ko
Application granted granted Critical
Publication of KR102295661B1 publication Critical patent/KR102295661B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D51/00Closures not otherwise provided for
    • B65D51/24Closures not otherwise provided for combined or co-operating with auxiliary devices for non-closing purposes
    • B65D51/28Closures not otherwise provided for combined or co-operating with auxiliary devices for non-closing purposes with auxiliary containers for additional articles or materials
    • B65D51/2807Closures not otherwise provided for combined or co-operating with auxiliary devices for non-closing purposes with auxiliary containers for additional articles or materials the closure presenting means for placing the additional articles or materials in contact with the main contents by acting on a part of the closure without removing the closure, e.g. by pushing down, pulling up, rotating or turning a part of the closure, or upon initial opening of the container
    • B65D51/2814Closures not otherwise provided for combined or co-operating with auxiliary devices for non-closing purposes with auxiliary containers for additional articles or materials the closure presenting means for placing the additional articles or materials in contact with the main contents by acting on a part of the closure without removing the closure, e.g. by pushing down, pulling up, rotating or turning a part of the closure, or upon initial opening of the container the additional article or materials being released by piercing, cutting or tearing an element enclosing it
    • B65D51/2828Closures not otherwise provided for combined or co-operating with auxiliary devices for non-closing purposes with auxiliary containers for additional articles or materials the closure presenting means for placing the additional articles or materials in contact with the main contents by acting on a part of the closure without removing the closure, e.g. by pushing down, pulling up, rotating or turning a part of the closure, or upon initial opening of the container the additional article or materials being released by piercing, cutting or tearing an element enclosing it said element being a film or a foil
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D41/00Caps, e.g. crown caps or crown seals, i.e. members having parts arranged for engagement with the external periphery of a neck or wall defining a pouring opening or discharge aperture; Protective cap-like covers for closure members, e.g. decorative covers of metal foil or paper
    • B65D41/02Caps or cap-like covers without lines of weakness, tearing strips, tags, or like opening or removal devices
    • B65D41/04Threaded or like caps or cap-like covers secured by rotation
    • B65D41/0407Threaded or like caps or cap-like covers secured by rotation with integral sealing means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D85/00Containers, packaging elements or packages, specially adapted for particular articles or materials
    • B65D85/70Containers, packaging elements or packages, specially adapted for particular articles or materials for materials not otherwise provided for
    • B65D85/72Containers, packaging elements or packages, specially adapted for particular articles or materials for materials not otherwise provided for for edible or potable liquids, semiliquids, or plastic or pasty materials
    • 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/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D2217/00Details of mixing containers or closures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • 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
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic

Landscapes

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

Abstract

보안 통신 장치는 보안모드시, 비트스트림을 구성하는 데이터 중 적어도 일부를 암호화하고, 암호화에 사용된 적어도 일부의 키 정보를 상기 비트스트림에 삽입하여 암호화된 비트스트림을 생성하고, 수신되는 암호화된 비트스트림으로부터 복호화를 위한 적어도 일부의 키 정보를 획득하여 암호화된 데이터를 복호화하는 보안모듈, 및 상기 암호화된 비트스트림을 송신 및 수신하는 통신모듈을 포함할 수 있다.

Description

보안 통신방법 및 장치와 이를 채용하는 멀티미디어 기기 {Method and apparatus for secured communication and multimedia device adopting the same}
개시된 실시예들은 미디어의 보안 통신방법 및 장치와 이를 채용하는 멀티미디어 기기에 관한 것이다.
스마트폰의 보급 등에 힘입어 WCDMA(Wide-band Code Division Multiple Access) 3G 및 LTE(Long Term Evolution) 4G 이동통신 사용자가 급증하는 추세이다. 일반 사용자들은 언제나 보안과 프라이버시에 대해 불안감을 가지고 있다. 최근 통신 도청 혹은 감청과 같은 사회적 이슈로 인해 이러한 우려는 더욱 커지고 있으며, 안전한 통신에 대한 사용자들의 요구가 증가하고 있는 실정이다. 이에 보안 통신 관련 시장은 공공부문은 물론 민간부문에서 크게 성장하고 있다.
그런데, 현존하는 보안 관련 제품 및 서비스의 경우 암호화에 사용되는 키 분배 혹은 키 관리를 위한 별도의 서버를 둠으로써 서버에 사용자 정보가 남게 되고, 그 결과 공공 혹은 민간기관의 요청으로 인한 유출의 위험이 상존하여 사용자로 하여금 거부감을 가지게 한다. 따라서, 보안 통신을 위하여 서버를 사용하지 않거나, 서버를 사용하더라도 서버에 기록될 사용자 정보를 최소화시키거나 사용자 정보에 대한 접근 권한을 제한할 필요성이 대두되고 있다.
또한, 단말간 보안 통신시 통화 패킷 전체를 암호화하여 송수신하게 됨으로써 기존 통신 네트워크이나 기존 코덱 알고리즘과 호환하여 사용하기가 어렵다. 이에 기존 통신 네트워크 및 기존 코덱 알고리즘과 호환성을 유지하면서, 암호화 알고리즘을 내장한 단말간 보안 통신에 대한 필요성 또한 대두되고 있다.
일 측면에 따른 과제는 비트스트림의 페이로드 영역을 암호화하고, 암호화에 사용된 키 정보를 비트스트림의 보조영역에 삽입하여 전송하는 보안통신방법 및 장치와 이를 채용한 멀티미디어 기기를 제공하는데 있다.
다른 측면에 따른 과제는 비트스트림의 페이로드 영역을 암호화하고, 암호화에 사용된 키 정보를 비트스트림의 페이로드 영역에 삽입하여 전송하는 보안통신방법 및 장치와 이를 채용한 멀티미디어 기기를 제공하는데 있다.
다른 측면에 따른 과제는 비트스트림을 포함하는 패킷과 비트스트림의 암호화를 위한 키 정보를 포함하는 패킷을 서로 동일한 통신 채널을 통하여 전송하는 보안통신방법 및 장치와 이를 채용한 멀티미디어 기기를 제공하는데 있다.
다른 측면에 따른 과제는 비트스트림을 포함하는 패킷과 비트스트림의 암호화에 사용된 키 정보를 포함하는 패킷을 서로 다른 통신 채널을 통하여 전송하는 보안통신방법 및 장치와 이를 채용한 멀티미디어 기기를 제공하는데 있다.
다른 측면에 따른 과제는 비트스트림의 다중 암호화에 사용된 키 정보를 서로 다른 통신 채널로 분산시켜 전송하는 보안통신방법 및 장치와 이를 채용한 멀티미디어 기기를 제공하는데 있다.
일 측면에 따른 보안 통신 장치는 보안모드시, 비트스트림을 구성하는 데이터 중 적어도 일부를 암호화하고, 암호화에 사용된 적어도 일부의 키 정보를 상기 비트스트림에 삽입하여 암호화된 비트스트림을 생성하고, 수신되는 암호화된 비트스트림으로부터 복호화를 위한 적어도 일부의 키 정보를 획득하여 암호화된 데이터를 복호화하는 보안모듈; 및 상기 암호화된 비트스트림을 송신 및 수신하는 통신모듈을 포함할 수 있다.
상기 보안모듈은 상기 비트스트림의 페이로드 영역을 암호화할 수 있다.
상기 보안모듈은 상기 키 정보를 상기 비트스트림의 보조 영역에 삽입할 수 있다.
상기 보안모듈은 상기 키 정보를 상기 비트스트림의 페이로드 영역에 삽입할 수 있다.
상기 보안모듈은 엔코딩 과정 혹은 엔코딩이 완료된 이후 암호화 처리를 수행할 수 있다.
상기 키 정보는 키 데이터, 상기 키 데이터의 인덱스, 상기 키 데이터의 포인터값 중 하나를 포함할 수 있다.
상기 키 데이터가 분할되어 상기 키 데이터에 대한 분할정보와 함께 상기 비트스트림에 포함될 수 있다.
상기 암호화된 비트스트림은 암호화가 수행되었는지를 나타내는 동기 비트를 더 포함할 수 있다.
상기 보안모듈은 상기 동기 비트가 검출되면 미리 설정된 개수의 프레임만큼 복호화를 수행할 수 있다.
상기 암호화된 비트스트림은 암호화가 수행된 영역을 나타내는 암호화 시작 비트와 암호화 종료 비트를 더 포함할 수 있다.
상기 암호화된 비트스트림에 일부의 키 정보가 포함되는 경우, 나머지 키 정보는 상기 암호화된 비트스트림과 관련된 제1 패킷과는 다른 제2 패킷을 통하여 송수신될 수 있다.
상기 제2 패킷은 상기 제1 패킷과 동일한 통신 네트워크로 송수신될 수 있다.
상기 제2 패킷은 상기 제1 패킷과 서로 다른 통신 네트워크로 송수신될 수 있다.
일반모드시 상기 보안모듈은 엔코딩을 통한 비트스트림의 생성과 비트스트림의 디코딩을 수행하고, 상기 통신모듈은 상기 비트스트림의 송수신을 수행할 수 있다.
다른 측면에 따른 보안통신방법은 제1 단말에서 보안 모드가 설정된 경우, 비트스트림을 구성하는 데이터 중 적어도 일부를 암호화하고, 암호화에 사용된 적어도 일부의 키 정보를 상기 비트스트림에 삽입하여 암호화된 비트스트림을 생성하여 상기 제1 단말로부터 제2 단말로 송신하는 단계; 및 상기 제2 단말로부터 수신되는 비트스트림이 암호화된 경우 상기 제1 단말에서 상기 비트스트림으로부터 복호화를 위한 적어도 일부의 키 정보를 획득하여 암호화된 데이터를 복호화하는 단계를 포함할 수 있다.
다른 측면에 따른 보안통신기능을 갖는 멀티미디어 기기는 통신부; 보안모드를 설정하는 보안모드 설정부; 및 상기 보안모드가 설정되면, 비트스트림을 구성하는 데이터 중 적어도 일부를 암호화하고, 암호화에 사용된 적어도 일부의 키 정보를 상기 비트스트림에 삽입하여 암호화된 비트스트림을 생성하고, 수신되는 암호화된 비트스트림으로부터 복호화를 위한 적어도 일부의 키 정보를 획득하여 암호화된 데이터를 복호화하는 프로세서를 포함할 수 있다.
일 측면에 따르면, 미디어 비트스트림의 적어도 일부, 예를 들면 페이로드 영역을 암호화하고, 암호화에 사용된 키 정보를 미디어 비트스트림의 보조 영역에 삽입하여 전송함으로써, 단말간 키 정보의 사전 공유를 필요로 하지 않으므로 키 분배 혹은 관리를 위한 서버없이도 동일한 암호화 알고리즘을 탑재한 단말간에는 기존의 통신 네트워크 및 기존 코덱 알고리즘을 그대로 이용하여 보안 통신을 수행할 수 있다.
다른 측면에 따르면, 미디어 비트스트림의 적어도 일부, 예를 들면 페이로드 영역을 암호화하고, 암호화에 사용된 키 정보를 미디어 비트스트림의 페이로드 영역에 삽입하여 전송함으로써, 송신 단말과 수신 단말간 서로 다른 코덱 알고리즘을 사용하더라도 키 손상을 방지할 수 있어 안정된 보안 통신을 수행할 수 있다.
다른 측면에 따르면, 동일한 암호화 알고리즘을 탑재한 송신 단말과 수신 단말간에 동일한 통신 채널을 통하여 미디어 비트스트림과 관련된 패킷 이외의 별도의 패킷을 이용하여 보안 통신을 위한 키 정보를 전송함으로써, 비트 사이즈에 제한없이 보안 통신을 위한 키 정보를 생성할 수 있어 보안성을 증대시킬 수 있다.
다른 측면에 따르면, 동일한 암호화 알고리즘을 탑재한 송신 단말에서부터 수신 단말로 미디어 비트스트림과 관련된 패킷과는 다른 통신 채널을 통하여 키 패킷을 전송함으로써, 비트 사이즈에 제한없이 보안성이 높은 키 정보를 생성하거나, 보안성이 높은 채널을 키 패킷 전송 채널로 이용할 수 있다.
다른 측면에 따르면, 미디어 비트스트림의 적어도 일부, 예를 들면 페이로드 영역을 제1 키로 암호화하고, 제1 키는 제2 키로 암호화하는 경우, 암호화된 제1 키는 미디어 비트스트림에 삽입하는 한편, 제2 키는 미디어 비트스트림과 관련된 패킷과는 다른 통신 채널을 통하여 전송함으로써, 이중 암호화 및 키 분산 전송을 통하여 보안성을 증대시킬 수 있다.
도 1a 내지 도 1c는 실시예에 따른 보안 통신 방법의 개념을 설명하는 도면이다.
도 2는 보안 통신 장치의 일실시예에 따른 구성을 나타낸 블록도이다.
도 3은 도 2에 도시된 보안 모듈의 일실시예에 따른 구성을 나타낸 블록도이다.
도 4는 도 2에 도시된 보안 모듈의 다른 실시예에 따른 구성을 나타낸 블록도이다.
도 5는 일실시예에 따른 엔코딩 및 암호화 처리방법의 동작을 설명하는 도면이다.
도 6은 다른 실시예에 따른 엔코딩 및 암호화 처리방법의 동작을 설명하는 도면이다.
도 7은 일실시예에 따른 디코딩 및 복호화 처리방법의 동작을 설명하는 도면이다.
도 8은 다른 실시예에 따른 디코딩 및 복호화 처리방법의 동작을 설명하는 도면이다.
도 9은 도 3에 도시된 암호화부의 실시예를 나타낸 블록도이다.
도 10는 도 9에 도시된 제1 키 생성부의 실시예를 나타낸 블록도이다.
도 11은 도 10에 도시된 제1 기본키 생성부의 실시예를 나타낸 블록도이다.
도 12는 도 10에 도시된 제1 강화키 생성부의 실시예를 나타낸 블록도이다.
도 13은 도 3에 도시된 복호화부의 실시예를 나타낸 블록도이다.
도 14는 도 13에 도시된 제2 키 생성부의 실시예를 나타낸 블록도이다.
도 15는 도 14에 도시된 제2 기본키 생성부의 실시예를 나타낸 블록도이다.
도 16a 내지 도 16c는 다른 실시예에 따른 보안 통신 방법의 개념을 설명하는 도면이다.
도 17a 및 도 17b는 비트스트림에서 암호화 처리되거나 암호화 키가 삽입되는 페이로드 영역의 예와 서로 다른 코덱 알고리즘에 따른 프레임 구조를 보여주는 도면이다.
도 18a 및 도 18b는 다른 실시예에 따른 보안 통신 방법의 개념을 설명하는 도면이다.
도 19a 및 도 19b는 다른 실시예에 따른 보안 통신 방법의 개념을 설명하는 도면이다.
도 20a 및 도 20b는 다른 실시예에 따른 보안 통신 방법의 개념을 설명하는 도면이다.
도 21은 다른 실시예에 따른 단말간 보안 통신 시스템의 구성을 나타낸 블록도이다.
도 22는 실시예에 따른 보안통신기능을 갖는 멀티미디어 기기의 구성을 나타낸 블록도이다.
실시예들은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 알 수 있다. 예를 들어, 이하의 상세한 설명에서 통신채널이 3G 혹은 4G 네트워크인 경우, 3G 혹은 4G 네트워크의 특유한 사항을 제외하고는 다른 임의의 통신 채널에서 적용가능하다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
실시예에 있어서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 실시예에 있어서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
실시예에 있어서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
실시예에 있어서 단말은 UE(User Equipment), MS(Mobile Station), AMS(Advanced Mobile Station), 디바이스, 멀티미디어 기기, 자동차(Vehicle) 등 이동 혹은 고정형의 사용자단 기기 혹은 장비를 통칭하는 것으로 가정한다. 또한, 기지국은 Node B, eNode B, BS(Base Station), AP(Access Point) 등 단말과 통신하는 네트워크단의 임의의 노드 혹은 통신 네트워크 서버를 통칭하는 것으로 가정한다.
실시예에 있어서 단말은 하나의 통신모드를 지원하면서 다른 하나의 통신 모드는 수동 혹은 자동으로 지원될 수 있다. 또한, 단말은 하나의 통신모드를 지원하면서 다른 복수개의 통신방식 서비스를 수동 혹은 자동으로 지원할 수 있다. 또한, 단말은 하나 이상의 통신모드에서 데이터 동시 송수신이 가능할 수 있다.
이하, 실시예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 설명의 편의를 위하여 셀룰러 통신을 위한 단말과 기지국간에 선행되어야 하는 프로세스, 예를 들면 네트워크 접속을 위한 인증처리 등에 대해서는 생략되었으며, 단말내 암호화/복호화 처리와, 단말간 신호, 데이터 혹은 패킷 송수신 관계를 중심으로 설명된 것이다.
도 1a 내지 도 1c는 실시예에 따른 보안 통신 방법의 개념을 설명하는 도면이다.
도 1a 및 도 1b에 도시된 보안 통신 방법에 따르면, 송신측인 제1 단말(110)과 수신측인 제2 단말(130)간 보안 통신 모드(이하, 보안모드라 약함)가 설정되면, 제1 단말(110)에서는 키 정보를 생성하여 비트스트림을 구성하는 적어도 일부의 데이터에 대하여 암호화 처리를 수행한다. 제1 단말(110)에서는 비트스트림에 암호화키를 포함하는 암호화 정보를 임베딩시키고, 키 임베디드 통화 패킷을 생성하여 통신 채널을 통하여 수신측인 제2 단말(130)로 전송한다. 일실시예에 따르면, 암호화 정보는 비트스트림의 보조 영역에 포함될 수 있다. 제2 단말(130)에서는 키 임베디드 통화 패킷을 수신하여 키 정보를 생성하고, 이를 이용하여 복호화를 수행한다. 제1 및 제2 단말(110,130)은 유선 혹은 무선 통신기능을 탑재한 임의의 멀티미디어 기기일 수 있다. 여기서, 암호화된 비트스트림에 포함되거나 암호화된 비트스트림으로부터 획득되는 키 정보는 전체 암호화키이거나, 일부 암호화키일 수 있다.
도 1c는 실시예에 적용되는 비트스트림의 구조를 나타내는 것으로서, 헤더 영역(150), 페이로드 영역(170)과 보조(AUX) 영역(190)을 포함할 수 있다. 한편, 보조(AUX) 영역(190)에 대응되는 영역이 헤더 영역(150)과 페이로드 영역(170)의 특정 위치에 할당될 수도 있다. 헤더 영역(150)은 페이로드 영역(170)과 관련된 정보를 포함할 수 있고, 페이로드 영역(170)은 부호화된 데이터와 부호화를 위하여 사용된 파라미터가 배치되는 필드를 포함할 수 있고, 보조 영역(190)은 미래 사용을 위한 예비 필드(reserved field)를 포함할 수 있다. 헤더 영역(150) 혹은 페이로드 영역(170)의 특정 위치에 배치되는 보조 영역 또한 미래 사용을 위한 예비 필드를 포함할 수 있다. 각 영역의 배치 순서는 특정되거나 특정되지 않을 수 있다. 또한, 각 영역은 복수개 포함될 수 있고, 코덱 알고리즘의 업데이트되는 버전에 따라서 다른 영역이 비트스트림에 추가되거나 비트스트림의 구조가 변형될 수 있다.
헤더 영역(150)은 페이로드 영역(170)에 포함되는 데이터가 비디오 혹은 오디오인지를 나타내는 정보 혹은 코덱 알고리즘 타입을 나타내는 정보 중 적어도 하나를 포함할 수 있다. 실시예에 따르면, 헤더 영역(150) 혹은 페이로드 영역(170) 중 적어도 하나가 암호화 처리되며, 보조 영역(190)에 암호화키를 포함하는 암호화 정보가 임베딩될 수 있다.
한편, 제1 및 제2 단말(110, 130)은 예를 들어 LTE 모뎀, CDMA 모뎀 혹은 WCDMA 모뎀과 같은 통신모뎀을 포함할 수 있다. 실시예에 따른 보안 통신 방법을 구현하기 위해서는 통신모뎀이 아니라 다른 프로그래머블 프로세서에서의 디코딩 처리를 필요로 한다.  이를 위하여, 제1 단말(110)에서 암호화된 비트스트림의 헤더 영역(150)은 음성 코덱 알고리즘 타입과 통신모뎀에서 디코딩을 수행할지 여부를 나타내는 식별자를 포함할 수 있다.  제2 단말(130)에서는 헤더 영역(150)에 포함된 식별자를 체크하여, 수신된 암호화된 비트스트림에 대하여 통신모뎀에서 디코딩하지 않고 다른 프로세서, 예를 들면 어플리케이션 프로세서 혹은 디지털 신호 프로세서(DSP)에서 디코딩처리가 가능하게 되어, 음성 보안 통신이 달성될 수 있다.
상기한 실시예에 따르면, 암호화 정보 중 암호화키를 비트스트림의 보조영역에 임베딩시켜 전송함으로써, 제1 및 제2 단말(110, 130)간 암호화키에 대한 사전공유를 필요로 하지 않으므로, 키 교환과 관련된 별도의 서버없이도 보안 통신을 가능케한다.
도 2는 보안 통신 장치의 일실시예에 따른 구성을 나타낸 블록도로서, 도 1a에 도시된 제1 단말(110)과 제2 단말(130)에 각각 내장될 수 있다. 하기의 보안 통신 장치는 보안모듈(210)이 정상모드와 보안모드를 모두 지원하는 경우를 예로 들어 설명하기로 한다. 한편, 보안모듈(210)이 보안모드만 지원하는 경우 정상모드를 지원하는 별도의 처리모듈, 예를 들면 코덱모듈을 별도로 구비할 수 있다.
도 2에 도시된 보안 통신 장치는 보안모듈(210), 통신모듈(230), 제어모듈(250)과 모드 설정모듈(270)을 포함할 수 있다. 여기서, 제어모듈(250)에서 수행되는 다양한 기능은 분리되어 다른 모듈, 예를 들어 보안모듈(210) 및 통신모듈(230)에 포함될 수 있다. 한편, 모드 설정모듈(270)은 보안모듈(210) 및 통신모듈(230)에 대하여 직접적으로 동작 모드를 설정할 수 있다. 보안 통신과 관련하여 사용자 입력을 필요로 하지 않는 경우, 모드 설정모듈(270)은 구비되지 않을 수 있다.
도 2를 참조하면, 보안모듈(210)은 보안모드(security mode)시, 비트스트림을 구성하는 데이터 중 적어도 일부를 암호화하고, 암호화 처리와 관련된 정보를 비트스트림에 삽입하여 암호화된 비트스트림을 생성할 수 있다. 보안모듈(210)은 통신모듈(230)을 통하여 수신되는 패킷이 암호화된 비트스트림을 포함하는 경우, 암호화된 비트스트림을 복호화하기 위하여 암호화된 비트스트림으로부터 암호화 정보를 획득할 수 있다. 여기서, 비트스트림에서 페이로드 영역 혹은 헤더 영역 중 적어도 하나에 포함되는 데이터가 암호화될 수 있다. 한편, 암호화 정보는 암호화 키와 관련된 키정보를 포함할 수 있다. 또한, 암호화 정보는 암호화된 영역의 위치와 암호화 알고리즘 타입 중 적어도 하나를 더 포함할 수 있다. 암호화키는 키 데이터 자체이거나, 키 데이터의 인덱스 혹은 키 데이터의 포인터값일 수 있다. 암호화키가 분할되어 비트스트림에 삽입되는 경우, 분할 정보가 포함될 수 있다. 암호화 정보 중 암호화키는 비트스트림의 보조 영역에 삽입될 수 있다.
보안모듈(210)은 정상모드(normal mode)시, 입력신호에 대한 암호화 처리없이 입력신호로부터 비트스트림을 생성하여 통신모듈(230)로 제공할 수 있다. 보안모듈(210)은 통신모듈(230)을 통하여 수신되는 패킷이 암호화된 비트스트림을 포함하지 않는 경우, 비트스트림에 대한 복호화처리없이 비트스트림으로부터 원래의 신호를 복원할 수 있다.
보안모듈(210)은 내장되거나 기기에 탈부착가능한 하드웨어에 저장되거나 네트워크로부터 다운로드되는 코덱 알고리즘을 사용하여 비트스트림을 생성할 수 있다. 보안모듈(210)은 내장되거나 기기에 탈부착가능한 하드웨어에 저장되거나 네트워크로부터 다운로드되는 암호화 알고리즘을 사용하여 암호화 혹은 복호화 처리를 수행할 수 있다. 보안모듈(210)에 암호화키와 관련된 정보는 기기에 탈부착가능한 하드웨어에 저장되어 기기와는 별도로 관리될 수 있다. 암호화 알고리즘은 암호화키를 이용한 데이터의 치환 혹은 다양한 연산을 포함할 수 있다.
보안모듈(210)은 적어도 하나 이상의 동작모드로 데이터를 처리할 수 있다.
통신모듈(230)은 적어도 하나의 안테나를 구비하며, 보안모듈(210)로부터 제공되는 비트스트림 혹은 암호화된 비트스트림으로부터 소정의 통신 프로토콜에 대응되는 패킷을 생성하고, 유무선으로 패킷을 송신할 수 있다. 통신모듈(230)은 유무선으로 수신된 패킷으로부터 비트스트림 혹은 암호화된 비트스트림을 파싱하고, 비트스트림 혹은 암호화된 비트스트림을 보안모듈(210)로 제공할 수 있다. 통신모듈(230)은 암호화된 비트스트림에 삽입되지 않은 키에 대해서는 미디어 패킷 예를 들면 통화 패킷이 아닌 별도의 패킷을 생성하여 삽입할 수 있다.
통신모듈(230)은 복수의 키 전송모드 중 하나로 동작할 수 있다. 일예로서, 전송모드에 따라서 패킷은 통화 패킷과 별도의 키 패킷을 포함하여 구성될 수 있다. 다른 예로서, 키 패킷은 통화 패킷과 동시에 전송되거나, 통화 패킷에 앞서 전송될 수 있다. 여기서, 통신 채널은 2G 네트워크, 3G 네트워크, 4G 네트워크, B4G(Beyond 4G) 네트워크, 5G 네트워크, Wi-Fi 네트워크, IP 네트워크, 단말간 직접통신 네트워크 등이 해당될 수 있으며, 다른 차세대 네트워크 혹은 이종 네트워크도 해당될 수 있다. 한편, 통신 채널은 음성 네트워크 혹은 데이터 네트워크로 칭할 수도 있고, 회선 교환(Circuit Switching) 네트워크, 패킷 교환(Packet Switching) 네트워크, 혹은 IMS(IP Multimedia Subsystem) 네트워크와 같이 칭할 수도 있다.
제어모듈(250)은 보안모듈(210) 및 통신모듈(230)을 포함하여 보안통신장치의 동작을 전반적으로 제어할 수 있다. 제어모듈(250)은 사용자 설정에 따른 동작모드로 보안모듈(210) 혹은 통신모듈(230)이 동작되도록 제어하거나, 미리 설정된 동작모드로 보안모듈(210) 혹은 통신모듈(230)이 동작되도록 제어할 수 있다. 제어모듈(250)은 단말간 보안모드가 설정되었는지 혹은 정상모드를 유지하는지에 대응하여 보안모듈(210) 및 통신모듈(230)을 제어할 수 있다.
모드 설정모듈(270)은 보안 통신과 관련된 동작 모드를 설정할 수 있다. 모드 설정모듈(270)은 UI(User Interface), GUI(Graphic User Interface), 혹은 단말에 설치된 적어도 하나의 버튼을 포함할 수 있다. 동작 모드는 보안모드 설정, 암호화 강도, 보안통신대상 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다.
보안모드는 수신인을 호출하기 이전 혹은 수신인을 호출한 이후 사용자에게 보안모드 설정여부를 확인하여 설정될 수 있다. 일실시예에 따르면, 보안모드 설정은 보안 통신 개시 시점 혹은 종료 시점 설정을 포함할 수 있다. 보안 통신 개시 혹은 종료 시점은 통화 개시 혹은 종료 시점과 동일하거나, 통화 도중에라도 설정될 수 있다. 일차적으로 설정된 보안모드는 네트워크 상황에 따라서 자동으로 해제되거나 재설정될 수 있다.
암호화 강도는 수신인별로 혹은 수신인 그룹별로 다르게 설정하거나, 네트워크 상황에 따라 다르게 설정할 수 있으며, 단일 암호화 모드, 이중 혹은 삼중과 같은 다중 암호화 모드를 포함할 수 있다. 암호화 강도는 단말이 복수의 암호화 알고리즘 혹은 복수의 키 생성방식을 내장하는 경우, 암호화 알고리즘 혹은 키 생성방식별로 다르게 설정할 수 있다. 암호화 강도는 암호화 키의 길이를 조절함으로써 서로 다르게 설정할 수 있다.
보안 통신 대상은 수신인 별로 사용자에게 보안모드 설정에 대한 확인을 요청하거나, 별도로 지정된 수신인 그룹에 대해서는 자동으로 보안모드가 설정될 수 있다. 또는 이전에 보안 통신이 행해진 수신인에 대해서는 자동으로 보안모드가 설정되거나, 재차 사용자에게 보안모드 설정에 대한 확인을 요청할 수 있다. 이때, 암호화 강도와 보안 통신 대상을 서로 연동시켜 설정하는 것도 가능하다. 예를 들어, 특수한 수신인 혹은 수신인 그룹에 대해서는 보다 높은 암호화 강도에 대응하는 암호화 키를 할당할 수 있다.
일실시예에 따르면, 보안모드는 사용자 동작, 제스쳐, 혹은 음성을 인식하여 설정될 수 있다. 사용자 동작의 예로는 단말을 수회 두드리거나 단말의 특정 부분을 마찰하는 등의 단말에 대한 특정 행위를 들 수 있다. 제스쳐의 예로는 사용자가 단말을 쥐고 행하는 특정 행위를 들 수 있다. 다른 실시예에 따르면, 보안모드는 보안모드와 관련된 사용자의 지시 내용을 담은 생체 정보를 인식하여 설정될 수 있다. 생체정보는 예를 들면 BCI(Brain-Computer Interface) 혹은 BMI(Brain-Machine Interface)를 통하여 인식될 수 있다. 보안모드의 내용과 인식되는 행위는 서로 매핑되어 단말에 미리 저장될 수 있다.
일실시예에 따르면, 암호화된 비트스트림에 포함되는 암호화 키가 일부 암호화 키인 경우 보안모듈(210)은 나머지 암호화 키를 위하여 암호화된 비트스트림과 관련된 제1 패킷과는 다른 제2 패킷을 생성하고, 생성된 제2 패킷은 통신모듈(230)로 제공될 수 있다. 암호화된 비트스트림에 포함되는 암호화 키가 일부 암호화 키인 경우, 통신모듈(230)은 암호화된 비트스트림과 관련된 제1 패킷과는 다른 제2 패킷을 수신하고, 보안모듈(210)은 제2 패킷으로부터 나머지 암호화 키를 획득할 수 있다. 여기서, 제2 패킷은 제1 패킷과 동일한 통신 네트워크로 송수신되거나, 서로 다른 통신 네트워크로 송수신될 수 있다. 제2 패킷은 제1 패킷과 동기화되어 송수신되거나, 동시에 송수신되거나, 제1 패킷에 앞서 송수신될 수 있다.
한편, 제1 단말과 제2 단말이 도 2에 도시된 보안 통신 장치를 채용하고, 제1 및 제2 단말간 보안 통신이 이루어지는 경우, 제1 단말과 제2 단말은 서로 다른 암호화키로 암호화된 비트스트림을 생성할 수 있다. 즉, 제1 단말은 제1 암호화 키를 이용하는 한편, 제2 단말은 제1 암호화 키와는 다른 제2 암호화 키를 이용할 수 있다. 다른 실시예에 따르면, 제1 및 제2 단말은 보안 통신 개시전에 약속된 동일한 암호화 키를 이용하여 암호화된 비트스트림을 생성할 수 있다. 다른 실시예에 따르면, 보안 통신 개시후, 제2 단말이 제1 단말로부터 수신된 암호화된 비트스트림으로부터 암호화 키를 획득하고, 획득된 암호화 키를 이용하여 암호화된 비트스트림을 생성하여 제1 단말로 송신할 수 있다.
도 3은 도 2에 도시된 보안 모듈(210)의 일실시예에 따른 구성을 나타낸 블록도이다.
도 3에 도시된 보안 모듈(210)은 엔코딩부(310), 암호화부(320), 암호화 정보 삽입부(330), 암호화 정보 추출부(340), 복호화부(350)와 디코딩부(360)를 포함할 수 있다. 여기서, 암호화부(320) 혹은 복호화부(350)의 전체 기능 혹은 일부 기능은 별도의 하드웨어, 예를 들면 단말에 삽입가능한 USIM(Universal Subscriber Identity Module)이나 USB(Universal Serial Bus) 메모리 혹은 근거리 통신가능한 마이크로 칩에 구현될 수 있다.
도 3을 참조하면, 엔코딩부(310)는 입력신호를 소정의 코덱 알고리즘을 이용하여 엔코딩하여 비트스트림을 생성한다. 코덱 알고리즘의 예로는, ISO/IEC에서 권고한 MPEG-오디오 등과 같은 표준 코덱 알고리즘, ITU-T에서 권고한 G.722 등과 같은 G 시리즈의 표준 코덱 알고리즘, 표준 코덱 알고리즘 이외의 독자 혹은 사유의 코덱 알고리즘(proprietary codec algorithm)을 들 수 있다. 비트스트림은 엔코딩에 사용된 파라미터와 엔코딩된 데이터를 포함할 수 있으며, 그 세부 포맷은 코덱 알고리즘에 따라서 달라질 수 있다. 비트스트림은 헤더 영역과 페이로드 영역을 포함하거나, 추가로 보조(AUX) 영역을 포함할 수 있다. 여기서, 보조 영역(AUX)은 헤더 영역 혹은 페이로드 영역에도 존재할 수 있다.
암호화부(320)는 엔코딩부(310)에서 엔코딩 결과 생성된 비트스트림의 적어도 일부의 데이터를 암호화한다. 암호화 처리는 비트스트림에서 헤더 영역 혹은 페이로드 영역에 포함되는 적어도 일부의 데이터를 암호화 처리하거나, 두 영역의 적어도 일부의 데이터를 함께 암호화 처리할 수 있다. 다른 실시예에 따르면, 보조 영역에 포함되는 적어도 일부의 데이터에 대해서도 암호화 처리 가능하다. 다른 실시예에 따르면, 복원신호의 품질에 끼치는 영향이 적은 데이터에 대하여 암호호화 처리될 수 있다.
암호화 처리에는 키 기반 암호화 알고리즘이 사용될 수 있다. 암호화 알고리즘의 예로는 대칭키 혹은 비밀키를 사용하는 알고리즘, 비대칭키 혹은 공개키를 사용하는 알고리즘, 대칭키와 비대칭키를 혼합하여 사용하는 알고리즘, 혹은 양자 암호 알고리즘을 들 수 있으나 이에 한정되는 아니다. 대칭키 혹은 비밀키를 사용하는 알고리즘은 RC4와 같은 스트림 암호화 키를 사용하거나, RC5, IDEA, DES(Data Encryption Standard), AES(Advanced Encryption Standard), ARIA, SEED, 3DES(Triple DES) 등과 같은 블록 암호화 키를 사용할 수 있으나, 이에 한정되는 것은 아니다. 비대칭키 혹은 공개키를 사용하는 알고리즘은 RSA(Rivest, Shamir, ?dleman) 공개키를 사용할 수 있으나, 이에 한정되는 것은 아니다.
암호화 정보 삽입부(330)는 암호화부(320)에서 수행된 암호화 처리와 관련된 암호화 정보를 비트스트림에 삽입하여 암호화된 비트스트림을 생성한다. 암호화 정보 삽입부(330)에서 생성된 암호화된 비트스트림은 통신모듈(도 2의 230)으로 제공될 수 있다. 암호화 정보는 비트스트림의 보조 영역에 포함될 수 있다. 다른 실시예에 따르면, 암호화 정보는 비트스트림에서 복원신호의 품질에 끼치는 영향이 적은 영역에 포함할 수 있다. 암호화 정보는 암호화키와 관련된 정보를 포함할 수 있다. 암호화키가 분할되어 비트스트림에 삽입되는 경우에는 암호화 키의 분할 정보를 더 포함할 수 있다. 암호화 정보는 비트스트림의 암호화 여부를 나타내는 암호화 플래그를 더 포함할 수 있다. 암호화 플래그는 특정한 동기 비트를 사용할 수 있다. 암호화 플래그는 다른 암호화 정보와 함께 동일한 영역에 삽입되거나, 헤더 영역에 따로 삽입될 수 있다. 또한, 암호화 플래그는 암호화되는 영역이 시작되는 위치에 삽입될 수 있다. 암호화 정보는 암호화된 영역의 위치 정보를 더 포함할 수 있다. 위치 정보는 암호화된 영역의 시작 위치와 종료 위치를 포함할 수 있다. 또한, 암호화된 영역의 시작 위치와 종료 위치에 특정한 동기 비트를 삽입할 수 있다. 즉, 암호화 플래그와 함께 암호화 위치 즉, 암호화된 영역 혹은 프레임에 대한 정보를 삽입할 수 있다. 한편, 보안 모드 설정을 통하여 암호화가 개시된 것을 송수신 단말이 미리 인지하고 있는 경우 별도의 암호화 플래그를 필요로 하지 않을 수 있다. 또한, 암호화 플래그가 검출된 이후 소정 개수의 프레임, 예를 들면 64개 프레임에 대하여 선택적으로 암호화가 수행될 수 있다. 또는 소정 영역에 대한 암호화가 수행되는 것을 송수신 단말이 미리 인지하고 있는 경우 별도의 위치 정보를 필요로 하지 않을 수 있다. 암호화 정보는 비트스트림에서 하나의 영역, 예를 들면 보조영역에 포함되거나, 복수의 영역에 분산되어 삽입될 수 있다. 한편, 디코더 측면에서 살펴보면, 암호화 시작 비트가 검출된 이후 암호화 종료 비트가 검출될 때까지 그 사이에 존재하는 프레임에 대하여 암호화 처리가 수행된 것으로 판단할 수 있다. 또는, 비트스트림에서 동기 비트가 검출될 때마다 예를 들어 64개의 프레임까지 암호화 처리가 수행된 것으로 판단할 수 있다.
암호화 정보 추출부(340)는 통신모듈(도 2의 230)로부터 제공되는 암호화된 비트스트림으로부터 암호화 정보를 추출한다.
복호화부(350)는 암호화 정보 추출부(340)에서 추출된 암호화 정보를 이용하여 암호화된 비트스트림에 대한 복호화를 수행한다. 구체적으로, 암호화 정보에 포함된 암호화 키를 이용하여 복호화를 수행할 수 있다. 복호화부(350)는 암호화부(320)에서 사용된 것과 동일한 암호화 알고리즘에 의해 동작될 수 있다.
디코딩부(360)는 복호화부(350)에서 복호화된 비트스트림에 대한 디코딩을 수행할 수 있다. 디코딩부(360)는 엔코딩부(310)에서 사용된 것과 동일한 코덱 알고리즘에 의해 동작될 수 있다.
다른 실시예에 따르면, 암호화부(320)와 암호화 정보 삽입부(330)는 하나의 프로세서로 구현되어 암호화와 암호화 정보 삽입이 함께 수행될 수 있다. 또한, 암호화 정보 추출부(340)와 복호화부(350) 역시 하나의 프로세서로 구현되어 암호화 정보 추출과 복호화가 함께 수행될 수 있다.
도 4는 도 2에 도시된 보안 모듈(210)의 다른 실시예에 따른 구성을 나타낸 블록도이다.
도 4에 도시된 보안 모듈(210)은 엔코딩 및 암호화부(410), 암호화 정보 삽입부(420), 암호화 정보 추출부(430)와 복호화 및 디코딩부(440)를 포함할 수 있다.
도 4를 참조하면, 엔코딩 및 암호화부(410)는 입력신호에 대하여 엔코딩과 함께 암호화를 수행한다. 엔코딩 및 암호화처리에는 도 3의 엔코딩부(310)과 암호화부(320)에서와 동일하거나 유사한 코덱 알고리즘 및 암호화 알고리즘이 적용될 수 있다. 암호화 처리는 엔코딩 과정 중 미리 설정된 단계에서 수행될 수 있다. 미리 설정된 단계는 적용되는 코덱 알고리즘에 따라서 다를 수 있고, 예를 들면 선형예측 부호화단계나 양자화단계일 수 있다. 이때, 각 단계에서 해당 프로세스 수행 이후 암호화가 수행되거나, 암호화 이후 해당 프로세스가 수행될 수 있다.
암호화 정보 삽입부(420)는 암호화 처리와 관련된 암호화 정보를 비트스트림에 삽입하여 암호화된 비트스트림을 생성한다. 암호화 정보 삽입부(420)에서 생성된 암호화된 비트스트림은 통신모듈(도 2의 230)으로 제공될 수 있다. 암호화 정보는 비트스트림의 보조영역에 삽입되는 암호화키를 포함할 수 있다. 다른 실시예에 따르면, 암호화 정보는 엔코딩 과정 중 암호화 처리가 수행되는 단계에서 암호화 처리된 데이터와 함께 페이로드 영역에 삽입되는 암호화 키를 포함할 수 있다. 각각의 경우, 암호화 키가 분할되어 비트스트림에 삽입되는 경우에는 암호화 키의 분할 정보를 더 포함할 수 있다. 암호화 정보는 암호화 플래그 혹은 암호화된 영역의 위치 정보를 더 포함할 수 있다. 암호화 정보는 엔코딩 과정 중 암호화 처리가 수행된 단계를 나타내는 정보를 더 포함할 수 있다.
암호화 정보 추출부(430)는 통신모듈(도 2의 230)로부터 제공되는 암호화된 비트스트림으로부터 암호화 정보를 추출한다.
복호화 및 디코딩부(440)는 암호화 정보 추출부(430)에서 추출된 암호화 정보를 이용하여 암호화된 비트스트림에 대한 복호화와 함께 디코딩을 수행한다. 구체적으로, 암호화 정보에 포함된 암호화키를 이용하여 복호화 및 디코딩을 수행할 수 있다. 복호화 및 디코딩처리에는 도 3의 복호화부(350)과 디코딩부(360)에서와 동일하거나 유사한 코덱 알고리즘 및 암호화 알고리즘이 적용될 수 있다. 복호화 처리는 디코딩 과정 중 미리 설정된 단계에서 수행될 수 있다. 미리 설정된 단계는 적용되는 코덱 알고리즘에 따라서 다를 수 있고, 예를 들면 선형예측복호화단계나 역양자화단계일 수 있다. 이때, 각 단계에서 복호화 이후 해당 프로세스가 수행되거나, 해당 프로세스 수행 이후 복호화가 수행될 수 있다.
상기 실시예에 있어서, 암호화 정보는 보조 영역뿐 아니라, 헤더 영역에서 예를 들면 미래 사용을 위한 예비 필드(reserved field) 혹은 미사용 필드(not used field)에 삽입될 수도 있다.
한편, 엔코딩 및 암호화부(410)와 암호화 정보 삽입부(420)는 하나의 프로세서로 구현되어 엔코딩, 암호화와 암호화 정보 삽입이 함께 수행될 수 있다. 또한, 암호화 정보 추출부(430)와 복호화 및 디코딩부(440) 역시 하나의 프로세서로 구현되어 암호화 정보 추출, 복호화와 디코딩이 함께 수행될 수 있다.
도 5는 일실시예에 따른 엔코딩 및 암호화 처리방법의 동작을 설명하는 도면이다.
도 5를 참조하면, 510 단계에서는 비트스트림에서 암호화되는 영역을 설정한다. 암호화되는 영역은 헤더 영역, 페이로드 영역과 보조 영역 중 적어도 하나가 될 수 있다.
520 단계에서는 입력신호에 대하여 엔코딩을 수행하여 비트스트림을 생성한다.
530 단계에서는 비트스트림에서 510 단계에서 설정된 영역을 암호화키를 이용하여 암호화처리한다.
540 단계에서는 암호화키를 포함하는 암호화 정보를 비트스트림에 삽입한다. 암호화 정보는 헤더 영역, 페이로드 영역과 보조 영역 중 적어도 하나에 삽입될 수 있다. 다른 실시예에 따르면, 암호화 정보는 헤더 영역, 페이로드 영역과 보조 영역 중 적어도 하나 이상에 분산하여 삽입될 수 있다.
도 6은 다른 실시예에 따른 엔코딩 및 암호화 처리방법의 동작을 설명하는 도면이다.
도 6을 참조하면, 610 단계에서는 엔코딩 과정 중 암호화되는 단계를 설정한다. 암호화되는 단계는 사용되는 코덱 알고리즘에 따라서 달라질 수 있으며, 예를 들면 선형예측부호화 단계와 양자화 단계 중 적어도 하나가 될 수 있다.
620 단계에서는 입력신호에 대하여 엔코딩을 개시한다. 630 단계에서는 엔코딩 과정 중 610 단계에서 설정된 단계에 해당하면 엔코딩 및 암호화를 수행한다. 이때, 엔코딩과 암호화는 그 순서를 바꾸어 수행할 수 있다. 640 단계에서는 엔코딩 과정 중 나머지 단계를 수행하여 엔코딩 과정을 종료한다.
650 단계에는 비트스트림에서 암호화된 단계에 해당하는 데이터가 위치하는 영역인 페이로드 영역에 암호화키를 삽입하거나, 보조 영역에 삽입한다. 650 단계는 630 단계와 연동하여 수행될 수 있다. 다른 실시예에 따르면, 암호화키는 헤더 영역, 페이로드 영역과 보조 영역 중 적어도 하나 이상에 분산되거나, 하나의 영역내에 분산되어 삽입될 수 있다. 한편, 제1 및 제2 단말(110, 130) 간에 암호화된 단계를 미리 인지하고 있지 않은 경우, 암호화된 단계를 나타내는 정보 또한 비트스트림에 삽입될 수 있다.
도 7은 일실시예에 따른 디코딩 및 복호화 처리방법의 동작을 설명하는 도면이다.
도 7을 참조하면, 710 단계에서는 수신되는 비트스트림에서 암호화키를 포함하는 암호화 정보를 획득한다.
720 단계에서는 암호화 정보에 근거하여 비트스트림에서 암호화된 영역에 대한 복호화를 수행한다.
730 단계에서는 720 단계에서 복호화된 비트스트림에 대하여 디코딩을 수행한다.
도 8은 다른 실시예에 따른 디코딩 및 복호화 처리방법의 동작을 설명하는 도면이다.
도 8을 참조하면, 810 단계에서는 수신되는 비트스트림에서 암호화키를 획득한다. 제1 및 제2 단말(110, 130) 간에 암호화된 단계를 미리 인지하고 있지 않은 경우, 비트스트림으로부터 암호화된 단계를 나타내는 정보를 더 획득할 수 있다. 예를 들면, 엔코딩과정 중 암호화된 단계가 선형예측부호화 단계 혹은 양자화 단계 중 적어도 하나인 경우, 디코딩과정에서는 역양자화 단계와 선형예측복호화 단계 중 적어도 하나에 대하여 복호화가 수행될 수 있다. 암호화키는 비트스트림에서 암호화된 단계에 해당하는 데이터가 위치하는 영역인 페이로드 영역으로 획득하거나, 보조영역으로부터 획득할 수 있다. 다른 실시예에 따르면, 암호화키는 암호화 정보에 근거하여, 각 영역에 분산되거나, 하나의 영역내에서 분산된 데이터를 합성하여 얻을 수 있다.
820 단계에서는 수신되는 비트스트림에 대하여 디코딩을 개시한다. 830 단계에서는 디코딩 과정 중 현재 단계가 암호화된 단계에 해당하면 암호화키를 이용하여 복호화 및 디코딩을 수행한다. 이때, 복호화 및 디코딩은 그 순서를 바꾸어 수행할 수 있다. 840 단계에서는 디코딩 과정 중 나머지 단계를 수행하여 디코딩 과정을 종료한다.
도 9은 도 3에 도시된 암호화부(320)의 실시예를 나타낸 블록도로서, 제1 키 생성부(910)와 비트스트림 암호화부(930)를 포함할 수 있다.
도 9를 참조하면, 제1 키 생성부(910)는 비트스트림에 대한 암호화키를 생성할 수 있다. 여기서, 암호화키는 비트스트림의 일부 영역을 암호화하는 기본키 혹은 기본키와 강화키로 구성될 수 있다. 기본키는 복수의 키를 포함할 수 있다. 강화키는 기본키를 암호화하는 키 혹은 특정 수신 단말을 확인하기 위한 키일 수 있다. 예를 들어, DES 알고리즘의 경우 56 비트의 키, AES 알고리즘의 경우 128 비트, 192 비트 혹은 256 비트의 키를 기본키 혹은 강화키로 생성할 수 있다. 여기서, 기본키 혹은 강화키의 비트수 즉 길이는 암호화 강도에 대응하여 설정될 수 있다. 키는 세션 단위로 생성될 수 있다. 세션은 통화 개시 시점부터 통화 종료 시점까지로 정의되거나, 통화 개시 시점부터 소정의 시간 단위로 정의되거나 통화중 소정 시간 단위로 정의될 수 있다. 키는 비트스트림 혹은 패킷 단위, 혹은 프레임 단위로 생성될 수 있다. 한편, 키는 세션 단위, 비트스트림 혹은 패킷 단위, 혹은 프레임 단위로 갱신될 수 있다. 키는 비트스트림 암호화부(930)와 암호화정보 삽입부(도 3의 330)로 제공될 수 있다.
비트스트림 암호화부(930)는 생성된 키를 이용하여 비트스트림의 적어도 일부를 암호화할 수 있다. 구체적으로 기본키를 이용하여 비트스트림의 헤더영역 혹은 페이로드 영역을 암호화할 수 있다. 일실시예에 따르면, 하나의 세션에 대하여 동일한 기본키를 이용하여 헤더영역 혹은 페이로드 영역의 적어도 일부를 암호화할 수 있다. 다른 실시예에 따르면, 프레임마다 갱신되거나, 프레임마다 데이터베이스로부터 추출되는 서로 다른 기본키를 이용하여 암호화 처리를 수행할 수 있다. 다른 실시예에 따르면, 미리 설정된 개수의 프레임에 대하여 동일한 기본키를 이용하여 암호화하거나 선택된 프레임별로 서로 다른 기본키를 이용하여 암호화 처리를 수행할 수 있다. 페이로드 영역의 특정 필드 혹은 특정 프레임이 선택적으로 암호화되는 경우, 암호화되는 필드 혹은 프레임의 위치 정보가 비트스트림에 포함될 수 있다. 또는, 암호화 처리된 프레임들을 나타내기 위하여 암호화 시작 비트와 암호화 종료 비트가 비트스트림의 페이로드 영역에 포함될 수 있다. 또는, 미리 설정한 소정 개수의 프레임이 암호화 처리되었음을 나타내는 암호화 플래그 예를 들면 동기 비트가 비트스트림에 포함될 수 있다.
비트스트림에 삽입되는 키 정보는 키 데이터 자체이거나, 내장된 데이터베이스의 매핑관계로부터 얻어지는 키를 나타내는 인덱스 혹은 키가 저장된 위치를 나타내는 포인터값일 수 있다. 비트스트림에 키 정보를 삽입할 충분한 영역이 존재하는 경우에는 키 데이터 자체를 삽입할 수 있다. 비트스트림에 키 정보를 삽입할 충분한 영역이 존재하지 않는 경우에는 키를 나타내는 인덱스 혹은 포인터값을 삽입하거나 키 데이터를 분할하여 삽입할 수 있다. 키 데이터가 분할되어 삽입되는 경우 분할 정보가 비트스트림에 포함될 수 있다.
도 10는 도 9에 도시된 제1 키 생성부(910)의 실시예를 나타낸 블록도 로서, 제1 기본키 생성부(1010)와 제1 강화키 생성부(1030)를 포함할 수 있으며, 여기서 제1 강화키 생성부(1030)은 옵션으로 구비될 수 있다.
도 10을 참조하면, 제1 기본키 생성부(1010)는 비트스트림의 적어도 일부를 암호화하기 위한 기본키를 생성할 수 있다. 기본키는 대칭키, 비대칭키 혹은 혼합키일 수 있다.
제1 강화키 생성부(1030)는 암호화 강도를 높이기 위한 강화키를 생성할 수 있다. 강화키는 기본키를 암호화하는 키, 기본키로 암호화한 영역을 재차 암호화하기 위한 키 혹은 특정의 수신 단말에서 복호화가 가능하도록 하는 정보일 수 있다. 강화키의 예로서, 기본키와 유사한 키, 수신인 식별자 혹은 수신 단말 식별자를 포함할 수 있다. 수신인 식별자의 예로는 수신인의 전화번호를 들 수 있고, 수신 단말 식별자의 예로는 수신 단말의 USIM(Universal Subscriber Identity Module) 정보를 들 수 있으나, 이에 한정되지는 않는다.
도 11은 도 10에 도시된 제1 기본키 생성부(1010)의 실시예를 나타낸 블록도로서, 제1 데이터베이스(1110), 제1 기본키 추출부(1130) 및 제1 갱신부(1150)를 포함할 수 있다. 여기서, 제1 갱신부(1150)는 옵션으로 구비될 수 있다.
도 11을 참조하면, 제1 데이터베이스(1110)는 복수개의 카운트 번호와 복수개의 키 데이터를 서로 매핑시켜 저장할 수 있다. 여기서, 카운트 번호는 포인터값에 대응될 수 있다. 또한, 키 데이터에 대응하는 인덱스를 키 데이터와 추가로 매핑시켜 저장할 수 있다. 인덱스의 비트수는 키 데이터의 비트수보다 작을 수 있다. 키 데이터는 암호화 처리에 사용되는 알고리즘에 따라서 서로 다른 비트수와 값을 가질 수 있다. 여기서, 제1 데이터베이스(1110)는 암호화 알고리즘 혹은 암호화 강도별로 구비될 수 있다.
제1 기본키 추출부(1130)는 제1 데이터베이스(1110)로부터 기본키를 추출할 수 있다. 여기서, 기본키는 1씩 증가 혹은 감소하거나 소정 단위로 증가 혹은 감소하는 카운터 번호에 대응하여 추출할 수 있다. 구체적으로, 카운트 번호는 키 생성단위 혹은 키 갱신단위에 대응하여 1씩 증가 혹은 감소하거나 소정 단위로 증가 혹은 감소하도록 설정할 수 있다. 추출된 기본키는 비트스트림 암호화부(930)로 제공될 수 있다.
제1 갱신부(1150)는 소정의 주기로 기본키를 갱신하여 제1 데이터베이스(1110)에 저장할 수 있다.
실시예에 따르면, 기본키를 여러 단계로 매핑함으로써 기본키를 생성하기 위한 정보를 복수개의 제1 데이터베이스(1110), 예를 들면 단말과 단말 이외의 디바이스에 분산하여 저장될 수 있다. 단말 이외의 디바이스로는 단말에 삽입가능한 USIM(Universal Subscriber Identity Module)이나 USB(Universal Serial Bus) 메모리 혹은 근거리 통신가능한 마이크로 칩 혹은 스마트 워치를 예로 들 수 있다.
도 12는 도 10에 도시된 제1 강화키 생성부(1030)의 실시예를 나타낸 블록도로서, 제2 데이터베이스(1210), 제1 강화키 추출부(1230) 및 제2 갱신부(1250)를 포함할 수 있다. 여기서, 제2 갱신부(1250)는 옵션으로 구비될 수 있다.
도 12를 참조하면, 제2 데이터베이스(1210)는 수신인 식별자 예를 들면 수신인 전화번호와 수신 단말 식별자가 매핑되어 저장될 수 있다. 여기서, 제2 데이터베이스(1210)는 수신인 그룹별로 구비될 수 있다.
제1 강화키 추출부(1230)는 단말간 통화를 위한 호가 설정된 다음 보안 모드가 설정되거나, 보안 모드가 설정된 다음 단말간 통화를 위한 호가 설정되는 경우, 수신인 전화번호를 강화키로 생성할 수 있다. 또한, 제1 강화키 추출부(1230)는 제2 데이터 베이스(1210)로부터 수신인 전화번호에 매핑된 수신 단말 식별자를 추출하여 강화키로 생성할 수 있다.
제2 갱신부(1250)는 사용자 인터페이스를 통하여, 보안 통신을 하고자 하는 수신인과 수신 단말에 대한 정보를 사용자가 제2 데이터베이스(1210)에 추가하거나, 제2 데이터베이스(1210)에 저장된 정보를 삭제 혹은 변경할 수 있다.
한편, 강화키가 기본키를 암호화하기 위한 키 혹은 기본키로 암호화한 영역을 재차 암호화하기 위한 키인 경우, 제1 강화키 생성부(1030)는 도 11에 도시된 제1 기본키 생성부(1300)와 동일하게 구성될 수 있다.
도 10 내지 도 12에 도시된 제1 키 생성부(910)의 구성은 도 4에 도시된 엔코딩 및 암호화부(410)에도 적용될 수 있다.
도 13은 도 3에 도시된 복호화부(350)의 실시예를 나타낸 블록도로서, 제2 키 생성부(1310)와 비트스트림 복호화부(1330)를 포함할 수 있다.
도 13을 참조하면, 제2 키 생성부(1310)는 암호화정보 추출부(330)로부터 암호화정보로부터 소정 암호화 알고리즘에서 사용되는 키를 생성할 수 있다. 여기서, 키는 기본키로 구성되거나, 기본키와 강화키로 구성될 수 있다. 예를 들어, DES 알고리즘이 사용되는 경우 비트스트림으로부터 56 비트의 기본키를 얻을 수 있고, AES 알고리즘이 사용되는 경우 128 비트, 192 비트, 혹은 256 비트의 기본키를 얻을 수 있다. 한편, DES 알고리즘이 사용되는 경우 비트스트림으로부터 56 비트의 기본키를 나타내는 인덱스 혹은 포인터를 얻을 수 있고, AES 알고리즘이 사용되는 경우 128 비트, 192 비트, 혹은 256 비트의 기본키를 나타내는 인덱스 혹은 포인터값을 얻을 수 있다. 여기서, 세션 단위로 비트스트림에 임베딩된 기본키 혹은 기본키를 나타내는 인덱스 혹은 포인터값을 얻을 수 있다. 또는, 비트스트림 혹은 패킷 단위, 혹은 프레임 단위로 비트스트림에 임베딩된 기본키 혹은 기본키를 나타내는 인덱스 혹은 포인터값을 얻을 수 있다. 기본키를 나타내는 인덱스 혹은 포인터값을 얻은 경우, 단말에 내장된 데이터베이스의 매핑관계를 참조하여 인덱스 혹은 포인터값에 대응하는 기본키를 생성할 수 있다. 제2 키 생성부(1310)에서 생성된 기본키는 비트스트림 복호화부(1330)로 제공될 수 있다. 한편, 비트스트림의 페이로드 영역 혹은 보조영역으로부터 보안성을 높이기 위한 강화키가 추가적으로 추출되어 비트스트림 복호화부(1330)로 제공될 수 있다.
비트스트림 복호화부(1330)는 암호화된 비트스트림, 예를 들면 페이로드 영역을 제2 키 생성부(1310)로부터 제공되는 키를 이용하여 복호화할 수 있다. 일실시예에 따르면, 하나의 세션에 대하여 동일한 기본키를 이용하여 복호화를 수행할 수 있다. 다른 실시예에 따르면, 암호화된 비트스트림을 프레임마다 서로 다른 기본키를 이용하여 복호화를 수행할 수 있다. 다른 실시예에 따르면, 페이로드 영역의 특정 필드 혹은 특정 프레임이 선택적으로 암호화된 경우, 키 정보로부터 암호화된 필드 혹은 프레임의 위치 정보를 얻을 수 있고, 위치 정보에 근거하여 동일한 기본키를 이용하여 특정 필드 혹은 프레임을 복호화하거나 서로 다른 기본키를 이용하여 특정 필드 혹은 프레임을 복호화할 수 있다. 만약, 헤더 영역 중 일부가 암호화된 경우, 하나의 세션에 대하여 동일한 기본키를 이용하여 복호화할 수 있다. 키가 기본키와 강화키로 구성되는 경우, 먼저 수신 단말이 강화키가 나타내는 해당되는 특정한 단말인가를 판단하고, 특정한 단말에 해당하는 경우 암호화된 비트스트림을 기본키에 근거하여 복호화할 수 있다. 한편, 수신단말이 강화키가 나타내는 특정한 단말이 아닌 경우, 암호화된 비트스트림에 대한 복호화를 수행하지 않을 수 있다. 한편, 강화키가 기본키를 암호화한 키인 경우, 강화키를 이용하여 기본키를 복호화하고, 암호화된 비트스트림을 복호화된 기본키를 이용하여 복호화할 수 있다. 한편, 강화키가 기본키로 암호화한 영역을 재차 암호화한 키인 경우, 암호화된 비트스트림에 대하여 강화키와 기본키를 순차적으로 적용하여 복호화할 수 있다.
도 14는 도 13에 도시된 제2 키 생성부(1310)의 실시예를 나타낸 블록도 도로서, 제2 기본키 생성부(1410)와 제2 강화키 생성부(1430)를 포함할 수 있으며, 여기서 제2 강화키 생성부(1430)은 옵션으로 구비될 수 있다.
도 14를 참조하면, 제2 기본키 생성부(1410)는 암호화정보 추출부(330)로부터 제공되는 암호화정보로부터 암호화된 비트스트림을 복호화하기 위한 기본키를 생성할 수 있다. 기본키는 대칭키, 비대칭키 혹은 혼합키일 수 있다. 제2 기본키 생성부(1410)는 암호화정보 추출부(330)로부터 제공되는 암호화 정보에 키가 포함되는지 혹은 키를 나타내는 인덱스 혹은 포인터값 혹은 키의 분할(fragmentation) 정보가 포함되는지에 따라서 서로 다른 방법으로 기본키를 생성할 수 있다. 제2 기본키 생성부(1410)는 암호화정보 추출부(330)로부터 제공되는 암호화 정보에 키 데이터 자체가 포함되는 경우, 키 데이터를 그대로 기본키로 생성할 수 있다. 제2 기본키 생성부(1410)는 암호화정보 추출부(330)로부터 제공되는 암호화 정보에 키를 나타내는 인덱스 혹은 포인터값이 포함되는 경우 내장된 데이터베이스로부터 인덱스 혹은 포인터값에 매핑된 키 데이터를 검색하여 기본키로 생성할 수 있다. 또한, 제2 기본키 생성부(1410)는 암호화정보 추출부(330)로부터 제공되는 암호화 정보에 키의 분할 정보가 포함되는 경우, 키의 분할 정보에 근거하여 분할되어 삽입된 키를 합성하여 기본키를 생성할 수 있다.
제2 강화키 생성부(1430)는 암호화정보 추출부(330)로부터 제공되는 암호화 정보로부터 강화키를 생성할 수 있다. 강화키는 기본키의 암호화에서 사용된 키, 기본키로 암호화한 영역을 재차 암호화하는데 사용된 키 혹은 특정한 단말에서 복호화가 가능하도록 하는 정보일 수 있다. 강화키의 예로서, 기본키와 유사한 키, 수신인 식별자 혹은 수신 단말 식별자를 포함할 수 있다. 수신인 식별자의 예로는 수신인의 전화번호를 들 수 있고, 수신 단말 식별자의 예로는 수신 단말의 USIM(Universal Subscriber Identity Module) 정보를 들 수 있다.
도 15는 도 14에 도시된 제2 기본키 생성부(1410)의 실시예를 나타낸 블록도로서, 제3 데이터베이스(1510), 제2 기본키 추출부(1530)와 제3 갱신부(1550)를 포함할 수 있다. 여기서, 제3 갱신부(1550)는 옵션으로 구비될 수 있고, 도 1의 제1 갱신부(1050)와 동일하게 혹은 유사하게 구현될 수 있다.
도 15를 참조하면, 제3 데이터베이스(1510)는 복수개의 포인터 번호와 복수개의 키 데이터를 서로 매핑시켜 저장할 수 있다. 또한, 키 데이터에 대응하는 인덱스를 키 데이터와 추가로 매핑시켜 저장할 수 있다. 제3 데이터베이스(1510)는 도 10의 제1 데이터베이스(1010)와 동일하게 혹은 유사하게 구현될 수 있다.
제2 기본키 추출부(1530)는 암호화정보 추출부(330)로부터 기본키의 인덱스 혹은 포인터값이 제공되면, 제3 데이터베이스(1510)로부터 인덱스 혹은 포인터값에 매핑된 기본키를 추출할 수 있다. 추출된 기본키는 비트스트림 복호화부(1330)로 제공될 수 있다.
한편, 강화키가 기본키를 암호화하는데 사용된 키 혹은 기본키로 암호화한 영역을 재차 암호화하는데 사용된 키인 경우, 제2 강화키 추출부(1430)는 도 15에 도시된 제2 기본키 추출부(1410)와 동일하게 구성될 수 있다.
도 14 및 도 15에 도시된 제2 키 생성부(1310)의 구성은 도 4에 도시된 복호화 및 디코딩부(440)에도 적용될 수 있다.
이와 같이 비트스트림 전체를 암호화하는 것이 아니라, 비트스트림의 일부 영역을 암호화함으로써, 통신 프로토콜을 변형시킬 필요가 없으므로 기존의 통신 네트워크 및 기존 코덱 알고리즘을 그대로 이용할 수 있다.
또한, 암호화 처리에 사용된 키 정보를 비트스트림에 삽입하여 전송함으로써, 사전에 키 공유 등의 과정을 거칠 필요가 없으므로 키 분배 혹은 관리를 위한 서버를 이용하지 않고서도 단말간 보안 통신이 가능하게 한다. 그 결과, 보안 통신시 서버에 남게 되는 사용자 정보로 인한 사용자의 거부감을 없앨 수 있어, 보안 통신 단말의 마켓 쉐어를 증대시킬 수 있다.
도 16a 내지 도 16c는 다른 실시예에 따른 보안 통신 방법의 개념을 설명하는 도면으로서, 송신 단말과 수신 단말이 서로 다른 코덱 알고리즘을 사용하는 경우 보다 신뢰성있고 안정성있는 보안 통신을 위하여 적용할 수 있다.
서로 다른 코덱 알고리즘에 의해 생성되는 비트스트림의 경우 보조 영역의 포맷이 상이할 수 있다. 이를 위하여, 도 16a 내지 도 16c에 도시된 보안 통신 방법에 따르면, 제1 단말(1610)에서는 암호화 정보 중 암호화키를 비트스트림의 보조 영역 대신 페이로드 영역에 삽입하여 제2 단말(1630)로 전송할 수 있다. 제1 단말(1610)에서는 암호화 키를 생성하여 비트스트림을 구성하는 적어도 일부의 데이터에 대하여 암호화 처리를 수행한다. 제1 단말(1610)에서는 비트스트림에 암호화키를 포함하는 암호화 정보를 임베딩시키고, 키 임베디드 통화 패킷을 생성하여 통신 채널을 통하여 제2 단말(1630) 혹은 서버(1650)로 전송한다. 일실시예에 따르면, 암호화 정보는 비트스트림의 페이로드 영역에 포함될 수 있다. 제2 단말(1630) 혹은 서버(1650)에서는 키 임베디드 통화 패킷을 수신하고 비트스트림에 대하여 서로 다른 코덱 알고리즘에 따른 추가적인 처리를 수행한다. 제2 단말(1630)에서는 처리된 비트스트림으로부터 암호화 정보를 획득하고, 이로부터 얻어지는 암호화키를 이용하여 복호화를 수행한다.
도 16b는 서로 다른 코덱 알고리즘에 따른 추가적인 처리를 서버(1650)에서 수행하는 예를 나타낸 도면으로서, 각 단말(1610, 1630)이 내장하고 있는 코덱 알고리즘에 대한 정보를 가지고 있으며 트랜스코딩 알고리즘을 탑재하고 있다. 서버(1650)는 통화 패킷에 포함된 제1 단말(1610)의 제1 코덱 알고리즘의 타입과 제2 단말(1630)의 제2 코덱 알고리즘의 타입을 비교할 수 있다. 서버(1650)는 제1 및 제2 코덱 알고리즘의 타입이 동일한 경우에는 통화 패킷을 그대로 제2 단말(1630)로 제공하는 한편, 제1 단말(1610)의 제1 코덱 알고리즘의 타입과 제2 단말(1630)에 내장된 제2 코덱 알고리즘의 타입이 다른 경우 트랜스코딩을 수행하여 트랜스코딩된 통화 패킷을 제2 단말(1630)로 제공할 수 있다. 제1 단말(1610)과 제2 단말(1630)이 사용하는 제1 및 제2 코덱 알고리즘의 예로서 AMR-WB와 AMR-NB일 수 있다. 제1 단말(1610)과 제2 단말(1630)이 사용하는 제1 및 제2 코덱 알고리즘의 다른 예로서 서로 다른 CELP 포맷의 알고리즘일 수 있다. 제1 단말(1610)과 제2 단말(1630)이 사용하는 제1 및 제2 코덱 알고리즘은 다른 예로서, G.711, G.723.1, G.726, G.729 중 서로 다른 알고리즘일 수 있다. 트랜스코딩 처리의 일예로는 유사한 특성을 갖는 제1 및 제2 코덱 알고리즘으로 생성되는 비트스트림에 대한 영역 매핑을 들 수 있다. 구체적으로, 서버(1650)는 제1 단말(1610)의 제1 코덱 알고리즘의 비트스트림에 대하여 트랜스코딩 처리를 수행하여 제2 단말(1630)에 내장된 제2 코덱 알고리즘에 대응되는 비트스트림을 생성할 수 있다.
한편, 제1 단말(1610)과 제2 단말(1630)이 서로 다른 코덱 알고리즘을 사용하는 경우, 비트스트림의 포맷 혹은 비트스트림을 구성하는 각 영역 혹은 필드의 포맷이 달라질 수 있으며, 특히 보조 영역의 경우 그 포맷이 특정되어 있지 않을 가능성이 크기 때문에 서버(1650)에서의 트랜스코딩 과정을 통하여 보조 영역의 데이터가 유실될 가능성이 높다. 따라서, 도 3에 도시된 암호화정보 삽입부(330) 혹은 도 4에 도시된 암호화정보 삽입부(420)에서, 페이로드 영역에 암호화 키를 삽입하여 전송할 수 있다.
도 16c는 서로 다른 코덱 알고리즘에 따른 추가적인 처리를 제2 단말 (1630)에서 수행하는 예를 나타낸 도면이다. 제2 단말(1630)는 통화 패킷에 포함된 제1 단말(1610)의 제1 코덱 알고리즘의 타입과 제2 단말(1630)의 제2 코덱 알고리즘의 타입을 비교할 수 있다. 제2 단말(1630)는 제1 및 제2 코덱 알고리즘의 타입이 동일한 경우에는 통화 패킷에 대하여 통상적인 디코딩 혹은 복호화 및 디코딩을 수행하는 한편, 제1 단말(1610)의 제1 코덱 알고리즘의 타입과 제2 단말(1630)에 내장된 제2 코덱 알고리즘의 타입이 다른 경우 영역 매핑을 수행한 다음, 복호화 및 디코딩을 수행할 수 있다.
도 17a는 비트스트림에서 암호화 처리되거나 암호화 키가 삽입되는 페이로드 영역(170)의 예를 보여주는 도면으로서, 12.65 kb/s 비트레이트의 AMR-WB 코덱 알고리즘을 사용한 경우이다.
도 17a를 참조하면, 비트스트림은 헤더 영역(150), 페이로드 영역(170)과 보조 영역(190)을 포함한다. 페이로드 영역(170)은 VAD-flag 필드(1710), ISP 필드(1720), LTP(Long Term Prediction)-필터링 필드(1730), 피치 딜레이 필드(1740), 대수코드 필드(1750) 및 게인 필드(1760)를 포함할 수 있다.
암호화는 예를 들면, ISP 필드(1720), 피치 딜레이 필드(1740)와 대수코드 필드(1750) 중 적어도 하나에 대하여 수행될 수 있고, 암호화가 수행된 필드에 암호화키가 임베딩될 수 있다. 이때, 엔코딩과정 중 각 필드에 포함되는 데이터가 생성되는 시점에 암호화키가 삽입되거나, 엔코딩 이후 각 필드에 삽입될 수 있다. 다른 실시예에 따르면, 페이로드 영역(170)에 포함되는 필드들 중에 복원된 음성신호의 품질에 미치는 영향을 최소화할 수 있는 위치에 암호화 키가 삽입될 수 있다.
상기한 실시예에 따르면, 코덱 알고리즘별로 포맷 혹은 위치가 규정되어 있어 보존되는 페이로드 영역(170)에 암호화키를 임베딩시켜 전송함으로써, 제1 및 제2 단말(1610, 1630)간 암호화키에 대한 사전공유를 필요로 하지 않을 뿐 아니라, 제1 및 제2 단말(1610,1630)이 서로 다른 코덱 알고리즘을 사용함에 따라서 제2 단말(1630) 혹은 통신 네트워크 서버(1650)에서 트랜스코딩 처리, 예를 들면 영역 매핑 처리가 수행되더라도 암호화키가 손상되는 것을 방지할 수 있다.
도 17b 비트스트림에서 예비 필드 혹은 스킵 필드의 예를 보여주는 도면으로서, 참조부호 1700은 AMR-NB IF2 프레임의 구조를 나타내며, 참조부호 1780은 AMR-WB IF2 프레임의 구조를 나타낸다.
AMR-NB 프레임(1770)은 프레임 타입 필드(1771), AMR-NB 코어 프레임 필드(1773), 비트 스터핑(bit-stuffing) 필드(1775)를 포함할 수 있다. 프레임 타입 필드(1771)는 헤더 영역에 포함될 수 있고, AMR-NB 코어 프레임 필드(1773)는 음성 데이터 혹은 컴포트 노이즈 데이터를 포함하며 페이로드 영역에 포함될 수 있고, 비트 스터핑 필드(1775)는 보조 영역에 해당될 수 있다. AMR-WB 프레임(1780)은 프레임 타입 필드(1781), 프레임 품질 지시자(1783), AMR-WB 코어 프레임 필드(1785), 비트 스터핑 필드(1787)를 포함할 수 있다. 프레임 타입 필드(1781)와 프레임 품질 지시자(1783)는 헤더 영역에 포함될 수 있고, AMR-WB 코어 프레임 필드(1785)는 음성 데이터 혹은 컴포트 노이즈 데이터를 포함하며 페이로드 영역에 포함될 수 있고, 비트 스터핑 필드(1787)는 보조 영역에 해당될 수 있다.
AMR-NB 프레임(1770) 및 AMR-WB 프레임(1780)에 있어서 비트 스터핑 필드(1775) 및 비트 스터핑 필드(1787)는 옥텟 얼라인먼트(Octet alignment)를 위하여 구비되는 영역이다. 송신단말과 수신단말이 동일한 코덱 알고리즘을 사용하는 경우, 비트 스터핑 필드(1775, 1787)와 같은 보조 영역에 키 데이터 혹은 키의 인덱스나 포인터값을 포함하는 키 정보 혹은 분할된 키 데이터와 키 분할정보를 삽입할 수 있다. 한편, 송신단말과 수신단말이 서로 상이한 코덱 알고리즘을 사용하는 경우, AMR-NB 코어 프레임 필드(1773) 혹은 AMR-WB 코어 프레임 필드(1785)과 같은 페이로드 영역에 키 데이터 혹은 키의 인덱스나 포인터값을 포함하는 키 정보 혹은 분할된 키 데이터와 키 분할정보를 삽입할 수 있다.
도 18a 및 도 18b는 다른 실시예에 따른 보안 통신 방법의 개념을 설명하는 도면이다.
도 18a 및 도 18b에 도시된 보안 통신 방법은 제1 단말(1810)에서 비트스트림을 포함하는 통화 패킷을 형성하고, 통화 패킷이 수신되기 전에 제2 단말(1830)이 수신하는 파일럿 패킷에 암호화 키 정보를 임베딩시켜 통신 채널을 통하여 전송하는 것이다. 통신 채널은 직접 통신채널로서, B2B(Board-to-Board), M2M(Machine-to-Machine) 혹은 D2D(Device-to-Device)를 위한 통신채널을 사용할 수 있다.
도 18a 및 도 18b에 도시된 제1 단말(1810)과 제2 단말(1830)은 모두 도 2 내지 도 5의 보안통신장치를 포함하는 보안 통신 단말로 구현될 수 있으나, 이에 한정되는 것은 아니다. 또한, 제1 단말(1810)과 제2 단말(1830)은 단말간 직접통신 애플리케이션을 탑재하거나, 직접통신이 가능한 단말일 수 있다. 도 18a 및 도 18b에 도시된 보안 통신 방법은 별도의 네트워크 장비를 사용하지 않고, 일정한 반경 내에 있는 단말간 직접통신 혹은 일정한 반경을 벗어난 단말간 릴레이 통신을 적용하는 경우, 보안 통신을 위한 키 정보를 전송하는 방안을 제공하기 위한 것이다.
단말간 직접통신 혹은 단말간 릴레이 통신은 셀룰러 통신을 위하여 설정한 주파수 대역내에서 지원되거나, 단말간 직접통신 혹은 단말간 릴레이 통신을 위하여 별도로 설정한 주파수 대역내에서 지원될 수 있다. 즉, 단말간 직접 통신을 위하여 단말이 별도로 셀룰러 네트워크에 진입할 필요가 없는 경우 혹은 셀룰러 네트워크 진입이 선행되어야 하는 경우 모두를 지원할 수 있다. 각각의 경우, 직접통신 링크가 형성되면 기지국과의 통신 혹은 피코셀/펨토셀 등의 초소형 기지국의 중계없이 단말간 데이터 전송이 수행될 수 있다.
단말간 직접통신의 동작 프레임워크는 크게 3가지 단계로 이루어질 수 있다. 제1 단계는 임의의 제1 단말(1810)이 주변의 직접통신이 가능한 제2 단말들(1830)을 찾는 피어 탐색(peer discovery) 단계, 제2 단계는 원하는 제2 단말(1830)을 찾아 해당 단말과의 직접통신을 요청하는 페이징 단계, 제 3 단계는 해당 단말(1810, 1980)간 설정된 직접통신채널을 통하여 통화 패킷 송수신을 수행하는 데이터 전송단계이다.
제1 단계 혹은 제2 단계는 기지국이 신호를 전송할 단말들을 선택하고 단말들로부터 발견 정보를 수집하여 단말 발견을 결정하는 중앙제어방식 혹은 기지국의 특별한 개입없이 단말들이 자발적으로 신호를 전송하고 수신하면서 발견하는 분산제어방식으로 수행될 수 있다. 이하에서 각 단말은 직접통신 활성상태에 놓여 있음을 전제로 한다. 직접통신 활성상태라 함은 단말간 직접통신을 수행하거나 수행할 수 있는 단말이 기지국으로부터 단말간 직접통신을 위해 필요한 제어정보를 수신하고, 이를 기반으로 단말간 직접통신 동작 프레임워크에 따라서 직접통신을 수행할 수 있는 단말 상태를 의미한다. 또는 직접통신 활성상태라 함은 단말에서 직접통신 애플리케이션을 실행한 결과, 단말간 직접통신 동작 프레임워크에 따라서 직접통신을 수행할 수 있는 단말 상태를 의미할 수 있다. 임의의 단말이 직접통신을 수행하기 위해서는 직접통신 활성상태에 있을 필요가 있고, 직접통신 활성상태에 있는 단말은 직접통신을 위한 피어 탐색 패킷에 대한 송수신을 수행할 수 있다.
일 실시예에 따르면 제1 단말(1810)은 직접통신이 가능한 단말을 발견하기 위하여 셀룰러 통신채널 혹은 직접통신채널을 통하여 피어 탐색 패킷(peer discovery packet)을 송신할 수 있다. 피어 탐색 패킷은 제1 단말(1810)의 ID, 탐색 메시지 및 보안 통신을 위한 키 정보를 포함할 수 있다. 제1 단말(1810)과의 직접통신이 가능한 반경내에 위치한 제2 단말(1830)은 피어 탐색 패킷을 수신하여 직접통신을 승인하는 승인 메시지를 제1 단말(1810)로 송신하는 한편, 피어 탐색 패킷에 포함된 키 정보를 추출하여 저장할 수 있다. 여기서, 키 정보는 키 데이터 자체 혹은 키 데이터의 인덱스 혹은 키 데이터가 저장된 데이터베이스의 포인터값이 될 수 있다. 이후, 제1 단말(1810)과 제2 단말(1830)간에는 직접통신 채널을 통하여 일반 모드 혹은 보안 모드로 통화 패킷이 송수신될 수 있다.
다른 실시예에 따르면 기지국의 제어하에 혹은 제1 단말(1810)에 의해 직접통신이 가능한 제2 단말(1830)이 발견되면, 양 단말(1810, 1830)간 통화 패킷의 송수신에 앞서 제1 단말(1810)은 제2 단말(1830)로 직접통신을 위한 동기화 패킷을 송신할 수 있다. 이때, 동기화 패킷은 보안 통신을 위한 키 정보를 포함할 수 있다. 제2 단말(1830)은 동기화 패킷을 수신하여 보안 통신을 위한 키 정보를 추출하여 저장할 수 있다. 이후, 제1 단말(1810)과 제2 단말(1830)간에는 직접통신채널을 통하여 일반모드 혹은 보안 모드로 통화 패킷이 송수신될 수 있다.
다른 실시예에 따르면 제1 단말(1810)은 기지국을 경유하거나 기지국 경유없이, 제2 단말(1830)을 호출하기 위하여 직접통신 요청 패킷을 송신할 수 있다. 직접통신 요청 패킷에는 제1 단말(1810)의 ID, 제2 단말(1830)의 ID, 직접통신 요청 메시지 및 보안 통신을 위한 키 정보를 포함할 수 있다. 직접통신 요청 패킷에 포함된 제2 단말(1830)의 ID에 해당하는 제2 단말(1830)이 직접통신이 가능한 거리내에 위치한 경우에는 직접통신 링크를 통하여 직접통신 요청 패킷을 수신하여 직접통신 승인 메시지를 송신단말로 송신하는 한편, 직접통신 요청 패킷에 포함된 키 정보를 추출하여 저장할 수 있다. 이후, 제1 단말(1810)과 제2 단말(1830)간에 직접통신 링크 혹은 릴레이 통신 링크를 통하여 일반 모드 혹은 보안 모드로 통화 패킷이 송수신될 수 있다. 한편, 직접통신 요청 패킷에 포함된 제2 단말(1830)의 ID에 해당하는 제2 단말(1830)이 직접통신이 가능한 거리를 벗어나서 위치한 경우에는 릴레이 통신링크를 통하여 직접통신 요청 패킷을 전달할 수 있다. 제2 단말(1830)이 릴레이 통신채널을 통하여 직접통신 요청 패킷을 수신하면, 직접통신 승인 메시지를 릴레이 통신채널을 통하여 제1 단말(1810)로 송신하는 한편, 직접통신 요청 패킷에 포함된 키 정보를 추출하여 저장할 수 있다.
여기서, 제1 단말(1810)과 제2 단말(1830)은 단말간 직접통신 혹은 단말간 릴레이 통신을 지원하는 디바이스로서 동일한 단말간 직접통신 혹은 릴레이 통신 기술이나 표준을 사용하며 동일한 암호화 알고리즘을 내장할 수 있고, 모두 피어 탐색 기능, 혹은 직접통신 요청 및 승인 기능, 혹은 동기화 요청 및 승인 기능을 수행할 수 있다. 여기서, 단말간 직접통신에 적용될 수 있는 기술의 예로는 Wi-Fi Direct 기술, FlashLinQ 기술, D2D(Device-to-Device), B2B(Board-to-Board) 혹은 M2M(Machine-to-Machine) 기술을 들 수 있으나 이에 한정되지 않는다. 즉, 직접통신채널을 통하여 전송되는 통화 패킷이 아니라, 통화와 직접적인 관련이 없는 별도의 패킷에 키 관련 정보를 포함시켜 전송함으로써 송신 단말과 수신 단말이 키 관련 정보를 공유하도록 할 수 있다. 이와 같은 별도의 패킷은 통화 패킷에 앞서 전송되는 파일럿 패킷, 예를 들면 피어 탐색 패킷, 동기화 패킷 혹은 직접통신 요청 패킷일 수 있다.
이와 같이 제1 단말(1810)과 제2 단말(1830)간에 통화 패킷 이외의 별도의 패킷을 이용하여 보안 통신을 위한 키 관련 정보를 미리 공유함으로써, 비트 사이즈에 제한없이 보안 통신을 위한 키 정보를 생성하여 전송할 수 있게 되어 직접통신 링크를 통하여 송수신되는 통화패킷에 대한 보안성을 증대시킬 수 있다.
도 19a 및 도 19b는 다른 실시예에 따른 보안 통신 방법의 개념을 설명하는 도면이다. 도 19a 및 도 19b에 도시된 제1 단말(1910)과 제2 단말(1930)은 모두 도 2 내지 도 5의 보안통신장치를 포함하는 보안 통신 단말로 구현될 수 있으나, 이에 한정되는 것은 아니다.
도 19a 및 도 19b에 따른 보안 통신 방법에 따르면, 제1 단말(1910)에서 비트스트림을 포함하는 통화 패킷과 암호화 키 정보를 포함하는 키 패킷을 별도로 형성하여, 서로 다른 통신 채널을 통하여 제2 단말(1930)로 전송한다. 예를 들어, 제1 단말(1910)과 제2 단말(1930)간 통화 패킷은 음성 네트워크를 사용하는 한편, 키 패킷은 데이터 네트워크를 사용할 수 있다. 음성 네트워크의 예로는 회선교환(Circuit Switching) 네트워크를 들 수 있고, 데이터 네트워크의 예로는 패킷교환(Packet Switching) 네트워크, IP(Internet Protocol) 네트워크, Wi-Fi 네트워크 혹은 IMS 네트워크를 들 수 있다. 구체적으로, 제1 단말(1910)과 제2 단말(1930)이 WCDMA 방식을 사용하는 경우, 통화 패킷은 회선교환 네트워크로, 키 패킷은 패킷교환 네트워크로 전송될 수 있다. 한편, 제1 단말(1910)과 제2 단말(1930)이 CDMA 방식과 LTE 방식을 사용하는 경우, 통화 패킷은 회선교환 네트워크로, 키 패킷은 LTE 네트워크로 전송될 수 있다.
여기서, 통화 패킷이 아니라 미디어 패킷인 경우, 미디어 패킷은 각 미디어에 최적인 네트워크를 통하여 전송하는 한편, 키 패킷은 이와는 다른 네트워크를 통하여 전송할 수 있다.
한편, 3G 통신시스템에서 다른 무선 네트워크와의 연동시 다른 네트워크가 신뢰성이 있는가의 여부에 따라 상이한 연동구조를 가질 수 있다. 신뢰성이 있는 네트워크란 사용자가 서비스 접속시 제공되는 네트워크 접속 보안, 무선 액세스 네트워크들의 유선 구간에서의 네트워크 도메인 보안, 비 3G 액세스 네트워크내에서의 비 3G 도메인 보안, 사용자와 운용자간 응용 프로그램간의 응용 도메인 보안 혹은 이동 단말 내부에서 이루어지는 사용자 도메인 보안이 보장되는 네트워크로 정의하거나, 네트워크 운용자들의 결정에 따라서 신뢰성이 있는지에 대한 여부가 분류될 수 있다. 통상 Wi-Fi 네트워크와 같은 무선랜은 신뢰성이 없는 네트워크로 분류하며 3G 통신시스템에서는 키 패킷 전송시 무선랜과의 접속을 위하여 PDG(Packet Data Gateway)혹은 ePDG(evolved Packet Data Gateway)와 같은 서버를 두어 신뢰성을 보장할 수 있다
서로 다른 통신 채널을 통한 키 패킷 전송과 통화 패킷 전송간의 동기화는 일반적인 방법을 사용할 수 있다.
도 20a 및 도 20b는 다른 실시예에 따른 보안 통신 방법의 개념을 설명하는 도면이다. 도 20a 및 도 20b에 도시된 제1 단말(2010)과 제2 단말(2030)은 모두 도 2 내지 도 5의 보안통신장치를 포함하는 보안 통신 단말로 구현될 수 있으나, 이에 한정되는 것은 아니다.
도 20a 및 도 20b에 따른 보안 통신 방법에 따르면, 제1 단말(2010)에서 비트스트림을 포함하는 통화 패킷에 다중 암호화에 사용된 키 정보 중 일부를 임베딩시키는 한편, 나머지를 추가키 패킷에 포함시켜 서로 다른 통신 채널로 분산시켜 제2 단말(2030)로 전송한다. 다중 암호화에 사용된 키 정보 중 일부는 비트스트림의 보조영역 혹은 페이로드 영역에 임베딩될 수 있다.
도 20a 및 도 20b을 참조하면, 제1 단말(2010)에서 1차적인 키 정보는 통화 패킷 즉, 비트스트림에 삽입하여 음성 네트워크를 통하여, 2차적인 키 정보는 음성 네트워크와는 다른 네트워크, 예를 들면 데이터 네트워크를 통하여 제2 단말(2030)으로 전송할 수 있다. 다른 예로서, 1차적인 키 정보는 통화 패킷 즉, 비트스트림 내부에 삽입하여 전송하는 한편, 2차적인 키 정보는 통화 패킷을 구성하는 비트스트림이 아닌 다른 키 패킷을 통하여 전송할 수 있다. 여기서, 1차적인 키 정보는 비트스트림의 암호화에 사용된 제1 키를, 2차적인 키 정보는 제1 키의 암호화에 사용된 제2 키를 예로 들 수 있다. 다른 예로서, 비트스트림의 암호화에 사용된 적어도 두가지 제1 키를 분산하여 서로 다른 통신 네트워크 혹은 통화 패킷과 별도의 키 패킷으로 분산하여 전송할 수 있다. 이와 같이 복수의 키 정보를 분산하여 전송함으로써, 보안성을 향상시킬 수 있다.
도 21은 다른 실시예에 따른 단말간 보안 통신 시스템의 구성을 나타낸 블록도로서, 제1 단말(2110)과 제2 단말(2130)은 모두 도 2 내지 도 5의 보안통신장치를 포함하는 보안 통신 단말로 구현될 수 있으나, 이에 한정되는 것은 아니다.
도 21의 보안 통신 시스템은 키분배센터 역할을 하는 서버(2150)를 포함할 수 있다. 서버(2150)는 인증 및 키 교환을 수행할 수 있다. 서버(2150)에서 수행되는 키 교환에는 RSA 암호화 알고리즘, Diffie-Hellman 혹은 그 변형 알고리즘을 사용할 수 있다. 또한, 서버(2150)는 일정 단위로 제1 단말(2110)과 제2 단말(2130)간 보안 통신에 사용되는 키 갱신을 수행할 수 있다. 또한, 서버(2150)는 SHA-2, SHA-3, MD-5 등과 같은 해쉬함수를 이용하여 키 관련정보의 무결성 체크를 수행할 수 있다.
도 21를 참조하면, 기존의 통신 시스템과의 호환성이 반드시 필요한 경우가 아니거나, 추가적으로 암호화 강도를 더 강화할 필요가 있거나, 혹은 통신사업자와의 연계를 필요로 하는 경우, 서버(2150)를 포함시켜 보안 통신 서비스를 제공할 수 있다.
구체적으로, 제1 단말(1210)에서 복수의 키 정보 예를 들면 기본키와 강화키를 이용하여 암호화를 수행하는 경우, 기본키는 제1 단말(2110)에서 생성하는 한편, 강화키는 서버(2150)에서 생성하여 제1 단말(2110)과 제2 단말(2130)로 전송할 수 있다. 한편, 강화키를 제1 단말(2110)에서 생성하고, 기본키를 서버(2150)에서 생성하는 것도 가능하다. 제1 단말(2110)에서는 비트스트림 중 일부 영역을 내부에서 생성된 기본키를 이용하여 암호화하고, 기본키를 암호화된 비트스트림에 삽입하여 키 임베디드 통화 패킷을 구성하여 제2 단말(2130)로 전송할 수 있다. 한편, 제1 단말(2110)에서는 비트스트림 중 일부 영역을 서버(2150)에서 제공된 기본키를 이용하여 암호화하고, 강화키를 암호화된 비트스트림에 삽입하여 키 임베디드 통화 패킷을 구성하여 제2 단말(2130)로 전송할 수 있다.
한편, 제1 단말(2110)에서 비트스트림 중 일부 영역을 제1 키를 이용하여 암호화하고, 제1 키를 제2 키를 이용하여 암호화하는 이중 암호화의 경우, 제1 키는 제1 단말(2110)에서 생성하는 한편, 제2 키는 서버(2150)에서 생성하여 제1 단말(2110)과 제2 단말(2130)로 전송할 수 있다. 한편, 제2 키를 제1 단말(2110)에서 생성하고, 제1 키를 서버(2150)에서 생성하는 것도 가능하다. 제1 단말(2110)에서는 비트스트림 중 일부 영역을 내부에서 생성된 제1 키를 이용하여 암호화하고, 제1 키를 서버(2150)로부터 제공된 제2 키를 이용하여 암호화하고, 암호화된 제1 키를 암호화된 비트스트림에 삽입하여 키 임베디드 통화 패킷을 구성하여 제2 단말(2130)로 전송할 수 있다.
키 임베디드 통화 패킷에서 키 정보가 삽입되는 영역은 헤더 영역, 페이로드 영역 혹은 보조 영역일 수 있다.
제2 단말(2130)에서는 기본키와 강화키를 이용하는 경우, 키 임베디드 통화 패킷에 포함된 기본키와 서버(2150)를 통해서 전송되는 키 패킷에 포함된 강화키를 종합하여 완전한 키를 생성하거나, 키 임베디드 통화 패킷에 포함된 강화키와 서버(2150)를 통해서 전송되는 키 패킷에 포함된 기본키를 종합하여 완전한 키를 생성하고, 암호화된 비트스트림 복호화에 사용할 수 있다.
한편, 제2 단말(2130)에서는 제1 키와 제1 키의 암호화에 사용된 제2 키에 근거한 이중 암호화를 채용하는 경우, 키 임베디드 통화 패킷에 포함된 암호화된 제1 키를 서버(2150)를 통해서 공유된 키 패킷에 포함된 제2 키를 이용하여 복호화하고, 복호화된 제1 키를 이용하여 암호화된 비트스트림을 복호화할 수 있다.
상기한 실시예에 따르면, 서버(2150)를 포함하여 보안 통신이 수행되더라도, 서버(2150)에 저장 혹은 기록되는 사용자 정보 혹은 키 관련 정보를 최소화할 수 있고, 서버(2150)에서 유출되는 정보만으로는 암호화된 비트스트림의 복호화가 어렵기 때문에 보안 통신에 대한 안정성을 보장할 수 있다.
한편, 보안 통신에 대한 좀 더 높은 안정성을 보장하기 위해서는, 서버(2150)에 저장 혹은 기록되는 사용자 정보 혹은 단말간 보안 통신에 사용된 키 관련 정보가 일정 시간 경과시 자동 삭제되도록 설정하거나, 이들 정보에 대하여 접근권한을 부여하여 허락된 자에 한하여 액세스하도록 설정할 수 있다.
한편, 서버에 좀 더 다양한 역할을 부여하여 보안 통신 서비스를 제공할 수도 있다. 일예를 들면, 특정한 트러스트 그룹(trust group)에 속하는 송신 단말과 수신 단말은 트러스트 칩(trust-chip)을 탑재하고 있으며, 트러스트 칩(trust-chip)은 소정의 암호화 알고리즘에 근거하여 보안 통신을 위한 랜덤 키를 생성할 수 있다. 송신 단말에서는 랜덤 키를 이용하여 비트스트림의 일부 영역을 암호화할 수 있다. 서버는 특정한 트러스트 그룹에 속하는 송신 단말에서 암호화된 비트스트림을 포함하는 패킷을 인증하여 해당 트러스트 그룹의 수신 단말로 전달할 수 있다. 이때, 서버는 보안 통신의 개시 혹은 종료를 실시간으로 제어할 수 있다.
또한, VoIP에 기반하여 보안 통신 서비스를 제공할 수도 있다. 트러스트 그룹에 속하는 송신 단말과 수신 단말에 보안 통신 소프트웨어가 인스톨될 때 각각 유니크한 개인키가 생성될 수 있고, 공개키는 트러스트 그룹에 속하는 단말들은 공유할 수 있다. 이와 같은 개인키와 공개키를 이용하여 이중 암호화를 수행할 수 있다. 예를 들어, RC4 256 비트와 AES 256 비트의 키를 이용하여 이중 암호화 수행이 가능하다. 서버는 송신 단말과 수신 단말간 암호화 패킷의 라우팅을 수행하거나, 보안 통신 소프트웨어를 관리할 수 있다.
도 22는 일실시예에 따른 보안통신기능을 갖는 멀티미디어 기기의 구성을 나타낸 블록도이다.
도 22에 도시된 멀티미디어 기기(2200)는 통신부(2210), 제어부(2220), 사용자 입력부(2230), A/V 입력부(2240), 센싱부(2250), 출력부(2260) 및 저장부(2270)를 포함할 수 있다. 여기서, 모든 구성요소가 멀티미디어 기기(2200)의 필수구성요소는 아니며, 예를 들면 통신부(2210)와 제어부(2220)로 구현될 수도 있고, 도시된 구성요소보다 더 많은 구성요소를 포함할 수도 있다. 제어부(2220)는 도 2에 있어서 보안모듈(210)과 제어모듈(250)의 기능을 포함하도록 구현될 수 있다.
도 22를 참조하면, 통신부(2210)는 멀티미디어 기기간 즉, 단말간 또는 단말과 서버간 또는 단말과 외부 네트워크간의 통신을 수행하기 위한 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(2210)는, 근거리 통신모듈, 이동 통신모듈, 방송 수신모듈 중 적어도 하나 이상을 포함할 수 있다.
근거리 통신모듈은, 블루투스 통신 모듈, BLE(Bluetooth Low Energy) 통신 모듈, 근거리 무선 통신 모듈(NFC/RFID 모듈), WLAN(와이파이) 통신 모듈, 지그비(Zigbee) 통신 모듈, 적외선(IrDA, infrared Data Association) 통신 모듈, WFD(Wi-Fi Direct) 통신 모듈, UWB(ultra wideband) 통신 모듈, Ant+ 통신 모듈 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 이동 통신 모듈은, 이동 통신 네트워크에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신할 수 있다. 여기서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다. 방송 수신 모듈은 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신할 수 있고, 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다.
통신부(2210)는, 통화 패킷을 CS 네트워크로 송수신하는 제1 통신 모듈과 키 패킷을 PS 네트워크로 송수신하는 제2 통신 모듈을 포함할 수 있다. 일예를 들어, 제1 통신 모듈은 보안성 및 이동성이 높은 고속 네트워크인 3G 혹은 4G LTE 통신 모듈이고, 제2 통신 모듈은 Wi-Fi 통신 모듈 또는 블루투스 통신 모듈일 수 있다.
한편, 통신부(2210)는, 셀룰러 통신을 위한 제1 통신 모듈과 단말간 직접통신을 위한 제2 통신 모듈을 포함할 수 있다. 일예를 들어, 제1 통신 모듈은 보안성 및 이동성이 높은 고속 네트워크인 3G 혹은 4G LTE 통신 모듈이고, 제2 통신 모듈은 Wi-Fi Direct 통신 모듈일 수 있다. 제 1 통신 모듈은 셀룰러 통신방식을 이용하여 직접통신 가능한 단말을 발견하기 위한 피어 탐색 패킷을 브로드캐스트할 수 있다. 제2 통신모듈은 직접통신 방식을 이용하여 직접통신 가능한 단말을 발견하기 위한 피어 탐색 패킷을 브로드캐스트하거나, 직접통신 가능한 단말을 발견한 이후 동기화 패킷 혹은 직접통신 요청패킷을 송신할 수 있다.
제어부(2220)는 통상적으로 단말(2200)의 전반적인 동작을 제어할 수 있다. 예를 들어, 제어부(2220)는 저장부(2270)에 저장된 프로그램들을 실행함으로써, 통신부(2210), 사용자 입력부(2230), A/V 입력부(2240), 센싱부(2250), 출력부(2260) 등을 전반적으로 제어할 수 있다. 제어부(2220)는 SSP(Seamless Sensing Platform)의 센서 허브를 포함할 수 있다. 센서 허브는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 예를 들어, 센서 허브는 MCU(Micro Controller Unit)를 포함할 수 있다. 일 실시예에 따른 센서 허브는 센싱부(2250)와 연결될 수 있으며, 센싱부(2250)로부터 센싱 정보를 수집할 수 있다. 제어부(2220)는 도 3 혹은 도 4의 각 구성요소의 기능을 수행할 수 있다.
사용자 입력부(2230)는, 사용자가 단말(2200)을 제어하기 위한 데이터를 입력하는 수단을 의미할 수 있다. 예를 들어, 사용자 입력부(2230)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
A/V(Audio/Video) 입력부(2240)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라와 마이크로폰 등이 포함될 수 있다. 카메라는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 제어부(2220) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. 카메라에서 처리된 화상 프레임은 저장부(2270)에 저장되거나 통신부(2210)를 통하여 외부로 전송될 수 있다. 카메라는 단말(2200)의 구현 형태에 따라 2개 이상이 구비될 수도 있다. 마이크로폰은 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리할 수 있다. 예를 들어, 마이크로폰은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰은 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
센싱부(2250)는 단말(2200)의 상태 또는 단말(2200) 주변의 상태를 감지하고, 감지된 정보를 제어부(2220)로 전달할 수 있다. 센싱부(2250)는 지자기 센서(Magnetic sensor), 가속도 센서(Acceleration sensor), 온/습도 센서, 적외선 센서, 자이로스코프 센서, 위치 센서(예컨대, GPS), 기압 센서, 근접 센서, 및 RGB 센서(illuminance sensor) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
출력부(2260)는 오디오 신호 또는 비디오 신호 또는 진동 신호의 출력을 위한 것으로, 디스플레이 패널, 스피커, 혹은 진동 모터 등이 포함될 수 있다. 디스플레이 패널은 단말(2200)에서 처리되는 정보를 표시 출력한다. 예를 들어, 디스플레이 패널은 일반 통화 모드인 경우 통화와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시하거나, 직접통신가능한 단말 발견에 실패한 경우, 연결(또는 검색) 실패 알림을 화면에 표시할 수 있다. 디스플레이 패널은 직접통신가능한 단말과의 연결 상태 정보를 화면에 표시할 수 있다. 한편, 디스플레이부 패널과 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이 패널은 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부 패널은 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 단말(2200)의 구현 형태에 따라 단말(2200)은 2개 이상의 디스플레이 패널을 포함할 수도 있다.
스피커는 통신부(2210)로부터 수신되거나 저장부(2270)에 저장된 오디오 데이터를 출력하거나, 단말(2200)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력할 수 있다. 진동 모터는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다. 또한, 진동 모터는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
저장부(2270)는, 제어부(2220)의 처리 및 제어를 위한 프로그램을 저장할 수도 있고, 입/출력되는 데이터들(제 2 통신 방식에 관한 통신 연결 정보 등)을 저장할 수도 있다. 저장부(2270)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 단말(2200)은 인터넷(internet)상에서 저장부(2270)의 저장 기능을 수행하는 웹 스토리지(web storage) 또는 클라우드 서버를 운영할 수도 있다. 저장부(2270)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어 UI 모듈, 터치 스크린 모듈, 알람 모듈 등으로 분류될 수 있다.
UI 모듈은 애플리케이션 별로 단말(2200)과 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 제어부(2320)로 전달할 수 있다. 실시예에 따른 터치 스크린 모듈은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다. 터치스크린의 터치 또는 근접 터치를 감지하기 위해 터치스크린의 내부 또는 근처에 다양한 센서가 구비될 수 있다. 터치스크린의 터치를 감지하기 위한 센서의 일례로 촉각 센서가 있다. 촉각 센서는 사람이 느끼는 정도로 또는 그 이상으로 특정 물체의 접촉을 감지하는 센서를 말한다. 촉각 센서는 접촉면의 거칠기, 접촉 물체의 단단함, 접촉 지점의 온도 등의 다양한 정보를 감지할 수 있다. 또한, 터치스크린의 터치를 감지하기 위한 센서의 일례로 근접 센서가 있다. 근접 센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다. 사용자의 터치 제스처에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭, 스와이프 등이 있을 수 있다. 저장부(2270)는 음성 인식 엔진을 이용하여 사용자의 음성을 인식하고, 인식된 음성을 제어부(2220)로 전달하기 위한 음성 인식 모듈(미도시)을 포함할 수도 있다.
알람 모듈은 보안통신모듈의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 보안통신모듈(2300)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알람 모듈은 디스플레이 패널을 통해 비디오 신호 형태로 알람 신호를 출력할 수도 있고, 스피커를 통해 오디오 신호 형태로 알람 신호를 출력할 수도 있고, 진동 모터를 통해 진동 신호 형태로 알람 신호를 출력할 수도 있다.
실시예에 따른 멀티미디어 기기는 보안통신과 관련된 모듈을 추가로 구비하거나, 기존의 구성요소, 예를 들면 코덱모듈에 보안통신과 관련된 기능이 부가되도록 구현될 수 있다.
상기한 실시예에서 보안 통신을 위한 암호화 처리 대상은 단말간, 단말과 서버간, 단말과 중계기간에서 통신가능한 미디어로서, 비트스트림을 구성하는 모든 종류의 미디어 데이터가 해당될 수 있다. 예를 들면, 미디어 데이터는 사진, 이미지, 동영상 등과 같은 비디오 컨텐츠, 음성, 음악 등과 같은 오디오 컨텐츠, 이메일 메시지, SMS(Short Messaging Service) 혹은 MMS(Multimedia Messaging Service) 메시지, 채팅 메시지 등과 같은 메시징 컨텐츠 중 어느 하나가 되거나, 적어도 두가지 이상의 혼합된 컨텐츠를 포함할 수 있으나, 이에 한정되는 것은 아니다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 상태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 실시예를 구성하는 것도 가능하다. 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성요소나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성요소 또는 특징과 교체될 수 있다. 이에 따라서 특허청구범위에서 명시적인 인용관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
상기 실시예들은 다양한 수단, 예를 들어 하드웨어, 펌웨어, 소프트웨어 또는 그것들의 결합에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 실시예들은 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
펌웨어나 소프트웨어에 의한 구현의 경우, 실시예들은 이상에서 설명된 기능 혹은 동작들을 수행하는 모듈, 절차, 함수 등의 형태를 사용하여 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 이상에서 설명된 실시예들에서 사용될 수 있는 데이터 구조, 프로그램 명령, 혹은 데이터 파일은 컴퓨터로 읽을 수 있는 기록매체에 다양한 수단을 통하여 기록될 수 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함하며, 프로세서 내부 혹은 외부에 위치할 수 있다. 컴퓨터로 읽을 수 있는 기록매체의 예로는 자기 매체(magnetic media), 광기록 매체(optical media), 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 컴퓨터로 읽을 수 있는 기록매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 전송 매체일 수도 있다. 프로그램 명령의 예로는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 또한, 본 실시예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 실시예에서 설명하는 특정 실행들은 예시들로서, 어떠한 방법으로도 기술적 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다.
본 명세서(특히 특허청구범위)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
310 ... 엔코딩부 320 ... 암호화부
330,420 ... 암호화정보 삽입부 340,430 ... 암호화정보 추출부
350 ... 복호화부 360 ... 디코딩부
410 ... 엔코딩 및 암호화부 440 ... 복호화 및 디코딩부

Claims (16)

  1. 보안모드시, 비트스트림을 구성하는 데이터 중 적어도 일부를 암호화하고, 암호화에 사용된 적어도 일부의 키 정보를 상기 비트스트림에 삽입하여 암호화된 비트스트림을 생성하고, 수신되는 암호화된 비트스트림으로부터 복호화를 위한 적어도 일부의 키 정보를 획득하여 암호화된 데이터를 복호화하는 보안모듈; 및
    상기 암호화된 비트스트림을 송신 및 수신하는 통신모듈을 포함하는 보안 통신 장치.
  2. 제1 항에 있어서, 상기 보안모듈은 상기 비트스트림의 페이로드 영역을 암호화하는 보안 통신 장치.
  3. 제1 항에 있어서, 상기 보안모듈은 상기 키 정보를 상기 비트스트림의 보조 영역에 삽입하는 보안 통신 장치.
  4. 제1 항에 있어서, 상기 보안모듈은 상기 키 정보를 상기 비트스트림의 페이로드 영역에 삽입하는 보안 통신 장치.
  5. 제1 항에 있어서, 상기 보안모듈은 엔코딩 과정 혹은 엔코딩이 완료된 이후 암호화 처리를 수행하는 보안 통신 장치.
  6. 제1 항에 있어서, 상기 키 정보는 키 데이터, 상기 키 데이터의 인덱스, 상기 키 데이터의 포인터값 중 하나를 포함하는 보안 통신 장치.
  7. 제6 항에 있어서, 상기 키 데이터가 분할되어 상기 키 데이터에 대한 분할정보와 함께 상기 비트스트림에 포함되는 보안 통신 장치.
  8. 제1 항에 있어서, 상기 암호화된 비트스트림은 암호화가 수행되었는지를 나타내는 동기 비트를 더 포함하는 보안 통신 장치.
  9. 제8 항에 있어서, 상기 보안모듈은 상기 동기 비트가 검출되면 미리 설정된 개수의 프레임만큼 복호화를 수행하는 보안 통신 장치.
  10. 제1 항에 있어서, 상기 암호화된 비트스트림은 암호화가 수행된 영역을 나타내는 암호화 시작 비트와 암호화 종료 비트를 더 포함하는 보안 통신 장치.
  11. 제1 항에 있어서, 상기 암호화된 비트스트림에 일부의 키 정보가 포함되는 경우, 나머지 키 정보는 상기 암호화된 비트스트림과 관련된 제1 패킷과는 다른 제2 패킷을 통하여 송수신되는 보안 통신 장치.
  12. 제11 항에 있어서, 상기 제2 패킷은 상기 제1 패킷과 동일한 통신 네트워크로 송수신되는 보안 통신 장치.
  13. 제11 항에 있어서, 상기 제2 패킷은 상기 제1 패킷과 서로 다른 통신 네트워크로 송수신되는 보안 통신 장치.
  14. 제1 항에 있어서, 일반모드시 상기 보안모듈은 엔코딩을 통한 비트스트림의 생성과 비트스트림의 디코딩을 수행하고, 상기 통신모듈은 상기 비트스트림의 송수신을 수행하는 보안 통신 장치.
  15. 제1 단말에서 보안 모드가 설정되었는지 판단하는 단계;
    상기 보안 모드가 설정된 경우, 비트스트림을 구성하는 데이터 중 적어도 일부를 암호화하고, 암호화에 사용된 적어도 일부의 키 정보를 상기 비트스트림에 삽입하여 암호화된 비트스트림을 생성하여 상기 제1 단말로부터 제2 단말로 송신하는 단계; 및
    상기 제2 단말로부터 수신되는 비트스트림이 암호화된 경우 상기 제1 단말에서 상기 비트스트림으로부터 복호화를 위한 적어도 일부의 키 정보를 획득하여 암호화된 데이터를 복호화하는 단계를 포함하는 보안 통신 방법.
  16. 통신부;
    보안모드를 설정하는 보안모드 설정부; 및
    상기 보안모드가 설정되면, 비트스트림을 구성하는 데이터 중 적어도 일부를 암호화하고, 암호화에 사용된 적어도 일부의 키 정보를 상기 비트스트림에 삽입하여 암호화된 비트스트림을 생성하고, 수신되는 암호화된 비트스트림으로부터 복호화를 위한 적어도 일부의 키 정보를 획득하여 암호화된 데이터를 복호화하는 프로세서를 포함하는 보안 통신 기능을 갖는 멀티미디어 기기.
KR1020140005328A 2013-12-15 2014-01-15 보안 통신방법 및 장치와 이를 채용하는 멀티미디어 기기 KR102295661B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP22165658.0A EP4075719A1 (en) 2013-12-15 2014-12-15 Secure communication method and apparatus and multimedia device employing same
PCT/KR2014/012365 WO2015088296A1 (ko) 2013-12-15 2014-12-15 보안 통신방법 및 장치와 이를 채용하는 멀티미디어 기기
CN201480075556.5A CN105981327B (zh) 2013-12-15 2014-12-15 安全通信方法和设备以及采用该方法和设备的多媒体装置
US15/104,629 US10530571B2 (en) 2013-12-15 2014-12-15 Secure communication method and apparatus and multimedia device employing the same
EP14870633.6A EP3082291B1 (en) 2013-12-15 2014-12-15 Secure communication method and apparatus and multimedia device employing same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361916238P 2013-12-15 2013-12-15
US61/916,238 2013-12-15

Publications (2)

Publication Number Publication Date
KR20150069982A true KR20150069982A (ko) 2015-06-24
KR102295661B1 KR102295661B1 (ko) 2021-08-30

Family

ID=53516958

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140005328A KR102295661B1 (ko) 2013-12-15 2014-01-15 보안 통신방법 및 장치와 이를 채용하는 멀티미디어 기기

Country Status (3)

Country Link
US (1) US10530571B2 (ko)
KR (1) KR102295661B1 (ko)
CN (1) CN105981327B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3313108A4 (en) * 2015-08-27 2018-08-15 Huawei Technologies Co., Ltd. Method for encrypted call and terminal
KR20190021879A (ko) * 2017-08-24 2019-03-06 주식회사 엘지유플러스 컨텐츠 출력 방법 및 장치
US10516677B2 (en) 2014-12-08 2019-12-24 Samsung Electronics Co., Ltd. Method and apparatus for providing integrity check data

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10608815B2 (en) * 2014-07-28 2020-03-31 The Boeing Company Content encryption and decryption using a custom key
KR102077239B1 (ko) 2015-07-02 2020-02-13 삼성전자주식회사 멀티미디어 데이터를 암호화하는 방법 및 장치, 복호화하는 방법 및 장치
US10230678B2 (en) 2015-08-20 2019-03-12 International Business Machines Corporation Storing messages of a message queue
US11575524B2 (en) 2015-10-12 2023-02-07 Servicenow, Inc. Selective encryption delineation
US10601781B2 (en) * 2015-10-12 2020-03-24 Servicenow, Inc. Selective encryption delineation
US11457809B1 (en) * 2015-12-08 2022-10-04 Verily Life Sciences Llc NFC beacons for bidirectional communication between an electrochemical sensor and a reader device
TWI602076B (zh) * 2016-05-13 2017-10-11 矽統科技股份有限公司 音訊處理編碼鎖定方法與收音裝置
JP6721832B2 (ja) * 2016-08-24 2020-07-15 富士通株式会社 データ変換プログラム、データ変換装置及びデータ変換方法
CN106598882B (zh) * 2016-12-09 2019-09-20 武汉斗鱼网络科技有限公司 一种安全的内存数据保护方法及装置
US10951591B1 (en) * 2016-12-20 2021-03-16 Wells Fargo Bank, N.A. SSL encryption with reduced bandwidth
CN106647664A (zh) * 2016-12-23 2017-05-10 广西芮芽科技有限公司 可远程操控的高低压开关柜
CN109417504A (zh) * 2017-04-07 2019-03-01 微软技术许可有限责任公司 自动聊天中的语音转发
CN107181587A (zh) * 2017-07-17 2017-09-19 合肥左成传媒科技有限公司 一种信息加密系统
US10469272B2 (en) * 2017-07-28 2019-11-05 Netapp, Inc. Methods for facilitating secure cloud compute environments and devices thereof
DE102017213010A1 (de) * 2017-07-28 2019-01-31 Audi Ag Gesamtvorrichtung mit einer Authentifizierungsanordnung und Verfahren zur Authentifizierung
CN107483275A (zh) * 2017-09-25 2017-12-15 深圳市斑点猫信息技术有限公司 配置无线路由的方法、装置及系统
CN108111492B (zh) * 2017-12-11 2021-03-19 广州三星通信技术研究有限公司 用于电子终端的保护通话语音的方法及其电子终端
JP7106964B2 (ja) * 2018-04-24 2022-07-27 京セラドキュメントソリューションズ株式会社 パスワード認証装置、パスワード認証プログラム及びパスワード認証方法
US11082411B2 (en) * 2019-08-06 2021-08-03 Advanced New Technologies Co., Ltd. RDMA-based data transmission method, network interface card, server and medium
DE102019127335A1 (de) 2019-10-10 2021-04-15 Infineon Technologies Ag Erzeugen von Hash-Werten
CN112769547A (zh) * 2019-11-05 2021-05-07 成都鼎桥通信技术有限公司 密钥分片传输方法和装置、及对应的接收方法和装置
WO2021167336A1 (ko) * 2020-02-17 2021-08-26 주식회사 이와이엘 양자난수 기반의 양자암호화칩이 탑재된 비화기기 및 이를 이용한 비화통신 서비스 제공방법
US20200327454A1 (en) * 2020-06-26 2020-10-15 Intel Corporation Secured deployment of machine learning models
US11900927B2 (en) 2020-12-23 2024-02-13 Optum Technology, Inc. Cybersecurity for sensitive-information utterances in interactive voice sessions using risk profiles
US11854553B2 (en) 2020-12-23 2023-12-26 Optum Technology, Inc. Cybersecurity for sensitive-information utterances in interactive voice sessions
JP2023010322A (ja) * 2021-07-09 2023-01-20 キオクシア株式会社 情報処理装置、情報処理方法及びストレージシステム。
KR20230023359A (ko) * 2021-08-10 2023-02-17 한화테크윈 주식회사 감시카메라 시스템
US12041162B2 (en) 2021-10-26 2024-07-16 Juniper Networks, Inc. Inline security key exchange
US20230133922A1 (en) * 2021-11-02 2023-05-04 SK Hynix Inc. Electroinc devices and electroinc systems for transmitting bit stream including programming data
US12003575B2 (en) 2022-02-22 2024-06-04 Optum, Inc. Routing of sensitive-information utterances through secure channels in interactive voice sessions
CN114615354B (zh) * 2022-04-12 2024-09-13 支付宝(杭州)信息技术有限公司 处理报文的方法及装置
CN115102721B (zh) * 2022-06-01 2024-02-02 宁波迦南智能电气股份有限公司 一种智能物联表远程通讯的加密方法
US20240106813A1 (en) * 2022-09-28 2024-03-28 Advanced Micro Devices, Inc. Method and system for distributing keys

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000055721A (ko) * 1999-02-09 2000-09-15 구자홍 디지탈 데이터 파일 암호화 방법
US20050254645A1 (en) * 2000-09-29 2005-11-17 Keith Shippy System and method for safeguarding data between a device driver and a device
KR20100089228A (ko) * 2009-02-03 2010-08-12 삼성전자주식회사 멀티미디어 컨텐트의 전송 스트림 암호화 방법 및 그 장치,복호화 방법 및 그 장치

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592556A (en) * 1994-08-09 1997-01-07 Ericsson Ge Mobile Communications Inc. Digital radio with vocoding encrypting codec
FI102936B (fi) 1996-03-04 1999-03-15 Nokia Telecommunications Oy Pakettimuotoisen lähetyksen turvallisuuden parantaminen matkaviestinjä rjestelmässä
US7958376B2 (en) * 2000-11-02 2011-06-07 Ati Technologies Ulc Write once system and method for facilitating digital encrypted transmissions
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
AU2002232807A1 (en) * 2000-12-19 2002-07-01 At And T Wireless Services, Inc. Synchronization of encryption in a wireless communication system
KR100413682B1 (ko) 2001-03-26 2003-12-31 삼성전자주식회사 암호화된 데이터를 포함한 데이터의 전송 및 수신 제어 방법
US7295673B2 (en) 2002-10-23 2007-11-13 Divx, Inc. Method and system for securing compressed digital video
US7747021B2 (en) * 2005-05-18 2010-06-29 General Dynamics C4 Systems, Inc. Method and apparatus for fast secure session establishment on half-duplex point-to-point voice cellular network channels
US7643817B2 (en) 2005-05-18 2010-01-05 General Dynamics C4 Systems, Inc. Method and apparatus for rapid secure session establishment on half-duplex AD-hoc group voice cellular network channels
US8503621B2 (en) 2006-03-02 2013-08-06 Cisco Technology, Inc. Secure voice communication channel for confidential messaging
KR100750171B1 (ko) 2006-03-14 2007-08-21 삼성전자주식회사 Plc 망에서의 그룹 아이디 배분 방법, 그룹 아이디 수신방법, 인증 장치, 및 plc 장치
JP2007311842A (ja) 2006-05-16 2007-11-29 Sony Corp データストリーム無線送信装置、データストリーム無線受信装置、無線伝送システム、撮像装置、再生装置、データストリーム無線送信方法及びプログラム
US20080267403A1 (en) * 2006-11-09 2008-10-30 Regents Of The Univeristy Of Colorado System and method for privacy enhancement via adaptive cryptographic embedding
KR20100064585A (ko) * 2008-12-05 2010-06-15 삼성전자주식회사 데이터송수신장치 및 그 방법
WO2011068668A1 (en) 2009-12-04 2011-06-09 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US8681981B2 (en) * 2010-12-03 2014-03-25 Motorola Solutions, Inc. Method and apparatus for transmitting voice communications related to a multimedia session
JP6111427B2 (ja) * 2013-03-07 2017-04-12 パナソニックIpマネジメント株式会社 携帯型記録媒体、携帯型記録媒体を含むシステム、携帯型記録媒体のデータ復旧方法
US10291399B2 (en) * 2013-09-30 2019-05-14 Traid National Security, LLC Quantum-secured communications overlay for optical fiber communications networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000055721A (ko) * 1999-02-09 2000-09-15 구자홍 디지탈 데이터 파일 암호화 방법
US20050254645A1 (en) * 2000-09-29 2005-11-17 Keith Shippy System and method for safeguarding data between a device driver and a device
KR20100089228A (ko) * 2009-02-03 2010-08-12 삼성전자주식회사 멀티미디어 컨텐트의 전송 스트림 암호화 방법 및 그 장치,복호화 방법 및 그 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10516677B2 (en) 2014-12-08 2019-12-24 Samsung Electronics Co., Ltd. Method and apparatus for providing integrity check data
EP3313108A4 (en) * 2015-08-27 2018-08-15 Huawei Technologies Co., Ltd. Method for encrypted call and terminal
US10972438B2 (en) 2015-08-27 2021-04-06 Huawei Technologies Co., Ltd. Method for encrypted call and terminal
KR20190021879A (ko) * 2017-08-24 2019-03-06 주식회사 엘지유플러스 컨텐츠 출력 방법 및 장치

Also Published As

Publication number Publication date
CN105981327B (zh) 2019-07-09
US20160315762A1 (en) 2016-10-27
CN105981327A (zh) 2016-09-28
KR102295661B1 (ko) 2021-08-30
US10530571B2 (en) 2020-01-07

Similar Documents

Publication Publication Date Title
KR102295661B1 (ko) 보안 통신방법 및 장치와 이를 채용하는 멀티미디어 기기
EP3082291B1 (en) Secure communication method and apparatus and multimedia device employing same
CN104869612B (zh) 接入网络的方法及装置
US10880736B2 (en) Method and apparatus for transmitting and receiving encrypted message between terminals
US10038676B2 (en) Call encryption systems and methods
US20140032756A1 (en) Device communication
CN105634737B (zh) 一种数据传输方法、终端及其系统
KR102507113B1 (ko) 암호화된 통신 세션의 모니터링 방법, 장치 및 시스템
CN112533202B (zh) 身份鉴别方法及装置
US11863974B2 (en) Method for hearing system communication and related devices
CN109246110B (zh) 数据共享方法、装置及计算机可读存储介质
US10673611B2 (en) Data transmission method, device, and system
CN112182624A (zh) 加密方法、加密装置、存储介质与电子设备
KR20150018024A (ko) 데이터 공유 방법 및 이를 이용한 데이터 공유 시스템
CN114189950A (zh) 信息交互方法、信息交互装置、服务器及存储介质
CN108924136B (zh) 授权认证方法、装置及存储介质
KR101434736B1 (ko) Pc에서 스마트 기기로의 안전한 공인인증서 복사 방법
CN110996088B (zh) 视频处理方法及相关装置
WO2024164202A1 (zh) 信息处理方法以及装置、通信设备及存储介质
CN107318148B (zh) 无线局域网接入信息存储方法及装置
CN115426638A (zh) 蓝牙设备配对方法及装置
CN117204001A (zh) 信息处理方法及装置、通信设备及存储介质
CN113961645A (zh) 数据共享方法、装置、存储介质及电子设备
CN115801250A (zh) 数据处理方法、装置和设备
CN112422487A (zh) 数据传输方法、装置、系统及计算机可读存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant