KR100904489B1 - 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체 - Google Patents

보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체 Download PDF

Info

Publication number
KR100904489B1
KR100904489B1 KR1020080120984A KR20080120984A KR100904489B1 KR 100904489 B1 KR100904489 B1 KR 100904489B1 KR 1020080120984 A KR1020080120984 A KR 1020080120984A KR 20080120984 A KR20080120984 A KR 20080120984A KR 100904489 B1 KR100904489 B1 KR 100904489B1
Authority
KR
South Korea
Prior art keywords
layer
pdu
data
unit
header
Prior art date
Application number
KR1020080120984A
Other languages
English (en)
Inventor
배명산
김미경
정영수
Original Assignee
엠티에이치 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엠티에이치 주식회사 filed Critical 엠티에이치 주식회사
Priority to KR1020080120984A priority Critical patent/KR100904489B1/ko
Application granted granted Critical
Publication of KR100904489B1 publication Critical patent/KR100904489B1/ko
Priority to PCT/KR2009/005287 priority patent/WO2010064782A1/en

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
    • 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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management

Landscapes

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

Abstract

보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체가 개시된다. 송신 데이터의 암호화 방법은, 제어 계층으로부터 수신되는 하나 이상의 3계층 PDU을 저장한 후, 전송 인터럽트가 감지되면, 저장된 하나 이상의 3계층 PDU를 암호화하여 전송 단위 패킷을 생성하고 전송 단위 패킷에 2계층(Data Link Layer) 헤더를 부가한 전송 블록을 생성하여 출력한다. 본 발명에 의하여, 보안 블록이 모뎀으로의 데이터 송수신이 일어나기 직전의 위치에 구비되도록 함으로써 적용되는 표준에 관계없이 어떠한 통신 시스템에서든 일관되게 적용 가능할 수 있는 효과가 있다.
보안, 암호화, 통신

Description

보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체{Communication method and device with security function and recording medium for performing the method}
본 발명은 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체에 관한 것이다.
통신 기술의 발전으로 인해 유/무선 통신 장치의 사용이 보편화되면서, 통신 장치 사용자들은 언제 어디서든 안정적이고 안전한 데이터 송수신 서비스를 제공받고자 한다. 이하, 통신 장치간에 송수신될 데이터가 통신 계층에 따라 전송되는 과정을 간략히 설명한다.
통신 계층은 개방형 시스템간 상호 접속(Open Systems Interconnection; 이하, OSI) 참조 모델 중의 일부 계층을 나타낸 것으로 볼 수도 있다. OSI 참조 모델이란, 서로 다른 기종의 통신 장치간의 접속을 원활하게 하기 위해 제정된 통신 관련 표준 모델로서, 일반적으로 7계층으로 분류된다.
OSI 참조 모델에 따른 7계층에는, 1계층(Physical Layer, 물리 계층), 2계층(Data Link Layer, 데이터 링크 계층), 3계층(Network Layer, 네트워크 계층), 4계층(Transport Layer, 전송 계층), 5계층(Session Layer, 세션 계층), 6계층(Presentation Layer, 표현 계층), 7계층(Application Layer, 응용 계층)이 포함된다. 각 계층의 역할을 간략히 설명하면 다음과 같다.
1계층(Physical Layer, 물리 계층)은 상위 계층에서 내려온 비트열을 전송 매체를 통하여 어떤 전기적 신호로 전송할 것인가를 담당하고, 2계층(Data Link Layer, 데이터 링크 계층)은 신호 수준의 데이터 비트들로 형성된 데이터 블록의 전송을 담당하며, 상기 데이터 블록의 시작과 끝을 인식하는 동기화 문제와 오류를 검출하고 복원하는 오류 문제를 담당한다. 3계층(Network Layer, 네트워크 계층)은 송신측과 수신측 사이에 보이지 않는 논리적인 링크를 구성하며, 데이터를 패킷(packet) 단위로 분할하여 전송한 후 조립하며, 패킷 전송의 최적의 경로를 찾아주는 라우팅 기능을 제공하는 역할을 담당한다. 4계층(Transport Layer, 전송 계층)은 사용자와 사용자, 컴퓨터와 컴퓨터간에 연결을 확립하고 유지하며, 송수신 시스템간의 논리적인 안정과 균일한 서비스 제공을 담당하고, 5계층(Session Layer, 세션 계층)은 세션을 확립하여 순차적인 대화의 흐름이 원활하게 이루어지도록 동기화 기능을 제공하는 역할을 담당한다. 6계층(Presentation Layer, 표현 계층)은 데이터를 표현하는 방식을 다루는 계층으로서, 상이한 데이터 표현을 서로 가능하게 하는 표준 인터페이스를 제공하는 역할을 담당하며, 7계층(Application Layer, 응용 계층)은 최상위 계층으로서, 사용자의 응용 프로그램이 네트워크 환경 에 접근하는 창구 역할을 한다.
상술한 OSI 7계층간의 데이터 전송 과정을 간략히 설명하면, 7계층(응용 계층)에서 생성된 패킷은 6계층(표현 계층)과 5계층(세션 계층)을 거쳐 4계층(전송 계층)을 통과하면서 세션 계층에서 넘어온 데이터를 세그먼트 단위로 분할하고 번호를 붙이며, 오류 검출 코드를 추가하고 통신 흐름을 제어하게 되며, 3계층(네트워크 계층)을 통과하면서 목적지에 패킷 전달을 위한 최적의 경로를 찾아주는 라우팅 기능을 수행하게 된다. 2계층(데이터 링크 계층)을 통과하면서 동기화 문제와 오류 문제를 해결하여 다음 계층인 1계층으로 패킷이 전달되도록 하며, 1계층(물리 계층)을 통하여 유/무선으로 패킷이 목적지에 도달하도록 할 것이다.
상술한 과정을 통해 전송될 데이터는 보안의 목적을 위해 암호화 과정이 선행될 수 있다.
종래의 암호화 방법은 보안 블록의 입력의 단위가 되는 프로토콜 스택의 계층에서 보안 블록이 호출되어 암호화를 수행하는 방법이다. 이러한 암호화 방법은 표준에 충실하게 구현할 수 있어 타 개발자가 구현되어 있는 블록에 대한 이해가 용이한 장점은 있으나, 적용되는 표준에 따라 다른 형태의 구조가 제시되어야 하는 단점이 있다. 예를 들어, 통신 시스템에서 사용하는 보안 블록은 OSI 7계층 기준으로 2계층(데이터 링크 계층) PDU(Protocol Data Unit) 단위로 또는 3계층(네트워크 계층) PDU 단위로 암호화 절차가 수행될 수 있다.
그러나, 종래의 암호화 방법에 따르면, 계층마다 존재하는 상이한 요구사항 때문에 보안 블록이 해당 계층에 존재할 경우 보안 처리 이후 수행해야 할 작업이 상이해지고, 이에 따라 저장해야 하는 데이터의 종류 또한 상이해질 수 밖에 없다.
따라서, 최근 주로 요구되는 듀얼(dual) 또는 트리플(triple) 모드를 지원하는 통신 시스템의 경우에는 상술한 차이에 따라 각 모드에 맞도록 보안 블록이 별도로 구비되도록 제한되므로, 하나의 시스템에 같은 기능을 지원하는 구성 요소가 중복적으로 구비되어야 하며, 이는 자원 낭비의 원인이 된다.
또한, 종래의 암호화 방법에 따르면, 보안 블록이 사용될 경우 메모리를 줄이기 위해, 보안 블록으로 원본 입력 데이터 스트림을 전달하여 출력된 결과만이 메모리에 저장되도록 한다. 그러나 통신 링크의 불안정성 등의 이유로 재전송이 요구될 수 있으며, 이 경우 보안 블록의 입력 키 값이 변경되어 재 암호화를 수행해야 할 필요가 있다. 이를 위해, 암호화되어 저장된 데이터를 다시 복호화하여 원본을 복구한 후 재 암호화를 수행하여 데이터를 전송하게 된다.
그러나, 이러한 재 암호화 방법은 재전송을 위한 처리 시간 및 데이터 전달 속도가 두 배 이상 느려질 수 있고, 심한 경우 데이터를 받는 상대방의 입장에서 전송 오류로 판단하여 계속적으로 NACK 신호를 보냄으로써 핑퐁현상이 야기될 수도 있는 문제가 있다.
본 발명은 적용되는 표준에 관계없이 어떠한 통신 시스템에서든 일관되게 적용 가능한 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램을 제공하기 위한 것이다.
본 발명은 적은 메모리 사용량을 유지하면서 보안 블록의 속도를 향상시킬 수 있는 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램을 제공하기 위한 것이다. 즉, 본 발명은 데이터의 메모리 이동을 최소화하여 빠른 처리 속도를 유지할 수 있고, 원본 데이터의 보존에 의해 추후 정보의 변경에 대한 대응이 용이하여 메모리 사용을 최적화할 수 있는 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램을 제공하기 위한 것이다.
본 발명은 재전송 등의 이유로 이미 전송한 데이터를 다른 보안 키를 이용하여 다시 암호화하는 경우에도 통상의 전송 과정에 비해 속도나 처리 시간이 열악해지지 않도록 하는 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램을 제공하기 위한 것이다.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 송신 데이터의 암호화 방법, 수신 데이터의 복호화 방법, 2계층에서 수행되는 상위계층 PDU(Protocol Data Unit) 암호화 방법, 2계층에서 수행되는 상위계층 PDU(Protocol Data Unit) 복호화 방법 및 각 방법을 수행하기 위한 기록매체가 제공된다.
본 발명의 일 실시예에 따른 송신 데이터의 암호화 방법은, (a) 제어 계층으로부터 수신되는 하나 이상의 3계층 PDU(Protocol Data Unit)을 저장하는 단계; (b) 전송 인터럽트가 감지되면, 저장된 하나 이상의 3계층 PDU를 암호화하여 전송 단위 패킷을 생성하는 단계; 및 (c) 상기 전송 단위 패킷에 2계층 헤더를 부가한 전송 블록을 생성하여 출력하는 단계를 포함할 수 있다. 여기서, 2계층은 데이터 링크 계층(Data Link Layer)일 수 있다. 여기서, 미리 지정된 상기 전송 블록의 크기에 상응하는 상기 전송 단위 패킷이 생성되도록 하기 위해 하나 이상의 3계층 PDU를 분해 또는 조립하는 단계가 상기 단계 (b)에 선행할 수 있다.
본 발명의 다른 실시예에 따른 송신 데이터의 암호화 방법은, (a) 제어 계층으로부터 수신되는 하나 이상의 3계층 PDU(Protocol Data Unit) 각각을 상위 계층 헤더와 3계층 데이터로 분리하는 단계; (b) 전송 인터럽트가 감지되면, 분리되어 압축된 상기 상위 계층 헤더와 하나 이상의 3계층 데이터를 암호화하여 전송 단위 패킷을 생성하는 단계; 및 (c) 상기 전송 단위 패킷에 2계층 헤더를 부가한 전송 블록을 생성하여 출력하는 단계를 포함할 수 있다. 여기서, 2계층은 데이터 링크 계층(Data Link Layer)일 수 있다. 상기 분리된 3계층 데이터를 저장하는 단계; 및 미리 지정된 상기 전송 블록의 크기에 상응하는 상기 전송 단위 패킷이 생성되도록 하기 위해 하나 이상의 3계층 데이터를 분해 또는 조립하는 단계가 상기 단계 (b)에 선행하여 수행될 수 있다.
상술한 각 실시예에서, 상기 출력된 전송 블록은 데이터 전송부 내의 송신 메모리에 저장될 수 있다. 또한, 상기 전송 인터럽트는 데이터 전송부로부터 인가될 수 있다. 또한, 상기 2계층 헤더는 중복 확인을 위한 헤더, 재전송을 위한 헤더, 3계층 PDU의 분해 또는 조립에 대한 정보에 관한 헤더, 매체 접근 제어에 필요한 정보에 관한 헤더 중 하나 이상을 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 수신 데이터의 복호화 방법은, (a) 네트워크를 통해 수신한 전송 블록을 2계층 헤더와 전송 단위 패킷으로 분리하는 단계; (b) 상기 전송 단위 패킷을 하나 이상의 3계층 PDU로 복호화하는 단계; (c) 상기 복호화된 3계층 PDU에 대한 수신 보고를 제어 계층으로 통지하는 단계를 포함할 수 있다. 여기서, 2계층은 데이터 링크 계층(Data Link Layer)일 수 있다. 상기 단계 (b)는, (b1) 상기 전송 단위 패킷을 하나 이상의 3계층 PDU 및 하나 이상의 부분 3계층 PDU 중 하나 이상으로 복호화하는 단계; (b2)상기 부분 3계층 PDU를 포함하여 복호화된 경우, 네트워크를 통해 이후 수신되는 전송 블록에 대해 상기 단계 (a) 및 상기 단계 (b1)를 재수행하는 단계; 및 (b3) 상기 단계 (a), 상기 단계 (b1) 및 상기 단계 (b2)에 의해 복호화된 둘 이상의 부분 3계층 PDU를 이용하여 하나의 3계층 PDU를 생성하는 단계를 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 수신 데이터의 복호화 방법은, (a) 네트워크를 통해 수신한 전송 블록을 2계층 헤더와 전송 단위 패킷으로 분리하는 단계; (b) 상기 전송 단위 패킷을 복호화하는 단계; (c) 복호화된 상기 전송 단위 패킷을 하나 이상의 압축된 상위 계층 헤더와 하나 이상의 3계층 데이터로 분리하는 단계; (d) 3계층 데이터에 압축 복원된 상기 상위 계층 헤더를 부가하여 3계층 PDU로 복원하는 단계; 및 (e) 상기 3계층 PDU에 대한 수신 보고를 제어 계층으로 통지하는 단계를 포함할 수 있다. 여기서, 2계층은 데이터 링크 계층(Data Link Layer)일 수 있다. 상기 단계 (d)는, (d1) 상기 분리된 3계층 데이터를 저장하는 단계; (d2) 상기 단계 (c)에서 분리된 3계층 데이터가 3계층 PDU를 복원하기에 불완전한 부분 3계층 PDU가 존재하는지 판단하는 단계; (d3) 존재하는 경우, 네트워크를 통해 이후 수신되는 전송 블록에 대해 상기 단계 (a) 내지 상기 단계 (c) 및 상기 단계 (d1)를 재수행하는 단계; 및 (d4) 둘 이상의 부분 3계층 PDU를 이용하여 3계층 PDU를 복원하기 위한 3계층 데이터를 생성하는 단계를 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 단말 장치의 2계층에서 수행되는 상위계층 PDU(Protocol Data Unit) 암호화 방법은, (a) 수신되는 하나 이상의 3계층 PDU가 송신 데이터 저장부에 저장되면, 기능 처리부가 상기 저장된 하나 이상의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리를 수행하는 단계; (b) 암호화부가 제어 정보 처리부로부터 상기 3계층 PDU 내의 암호화될 입력 데이터의 범위를 지시하는 저장 위치 정보 및 키 값을 제공받는 단계; (c) 상기 암호화부가 상기 기능 처리부의 분해 및 조립 중 하나 이상의 처리에 의한 2계층 데이터 중 상기 저장 위치 정보에 해당되는 입력 데이터를 상기 키 값에 따라 암호화하는 단계; 및 (d) 2계층 헤더와 상기 암호화된 2계층 데이터가 결합된 2계층 PDU를 생성하는 단계를 포함할 수 있다. 여기서, 상기 2계층 헤더는 상기 제어 정보 처리부가 상기 기능 처리부의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리에 관한 정보를 포함하여 생성되고, 상기 제어 정보 처리부는 상기 기능 처리부의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리에 따른 저장 위치 정보 및 길이 정보를 위치 저장부에 저장할 수 있다.
상기 단계 (b) 내지 상기 단계 (d)는 상기 2계층 PDU의 전송 시점임을 통지하는 전송 인터럽트가 데이터 전송부에 의해 발생된 시점에서 수행될 수 있다. 상기 2계층 PDU는 상기 데이터 전송부 내의 송신 메모리에 저장될 수 있고, 상기 2계층 헤더는 중복 확인을 위한 헤더, 재전송을 위한 헤더, 매체 접근 제어에 필요한 정보에 관한 헤더 중 하나 이상을 더 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 단말 장치의 2계층에서 수행되는 상위계층 PDU(Protocol Data Unit) 복호화 방법은, (a) 네트워크를 통해 수신되는 하나 이상의 2계층 PDU가 수신 메모리에 저장되면, 전송블록 해체부가 상기 2계층 PDU 내의 2계층 헤더를 분리하는 단계; (b) 복호화부가 제어 정보 분리부로부터 3계층 PDU 내의 복호화될 입력 데이터의 범위를 지시하는 저장 위치 정보를 제공받는 단계; 및 (c) 상기 복호화부가 상기 2계층 PDU 중 2계층 헤더가 분리된 2계층 데이터에서 상기 저장 위치 정보에 해당되는 입력 데이터를 복호화키를 이용하여 복호화한 3계층 PDU를 수신 데이터 저장부에 저장하는 단계를 포함할 수 있다. 여기서, 상기 2계층 헤더는 상기 2계층 데이터를 구성하기 위하여 하나 이상의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리가 관한 정보가 포함되어 생성될 수 있다.
또한 상술한 상위계층 PDU 복호화 방법은 기능 처리부가 상기 수신 데이터 저장부에 저장된 3계층 데이터가 통지할 수 있는 완전한 3계층 PDU인지 판단하는 단계; 및 완전한 3계층 PDU인 경우, 상기 기능 처리부 또는 상위 계층 처리부가 상위 계층으로 3계층 PDU의 도착을 통지하는 단계를 더 포함할 수 있다. 여기서, 상기 3계층 PDU가 분해 처리에 의해 일부분의 조각만을 포함하거나 순차번호가 맞지 않는 경우 불완전한 3계층 PDU인 것으로 판단될 수 있다. 또한, 상술한 상위계층 PDU 복호화 방법은 상기 3계층 PDU가 일부분의 조각만을 포함하는 불완전한 3계층 PDU인 경우, 상기 단계 (a) 내지 상기 단계 (c)의 반복에 의해 모든 조각 부분이 상기 수신 데이터 저장부에 저장될 때까지 대기하는 단계; 및 상기 수신 데이터 저장부에 저장된 하나 이상의 3계층 PDU를 이용하여 완전한 3계층 PDU를 조립하는 단계를 더 포함할 수도 있다. 또한, 상기 3계층 PDU가 순차번호가 맞지 않는 불완전한 3계층 PDU인 경우, 상기 단계 (a) 내지 상기 단계 (c)의 반복에 의해 순차번호에 맞는 3계층 PDU가 상기 수신 데이터 저장부에 저장될 때까지 대기하는 단계가 더 포함될 수도 있다.
상술한 각 실시예에 따른 방법은 소프트웨어 프로그램의 형태로 구현될 수도 있다.
본 발명의 다른 측면에 따르면, 송신 데이터의 암호화 장치, 수신 데이터의 복호화 장치, 2계층에서 수행되는 상위계층 PDU(Protocol Data Unit) 암호화/복호화 방법을 수행하는 단말 장치가 제공된다.
본 발명의 일 실시예에 따른 송신 데이터의 암호화 장치는, 제어 계층으로부터 수신되는 하나 이상의 3계층 PDU(Protocol Data Unit)을 저장하는 송신 데이터 저장부; 전송 인터럽트가 감지되는지 여부를 판단하는 2계층 기능 처리부; 상기 2계층 기능 처리부의 전송 인터럽트 감지에 의해, 저장된 하나 이상의 3계층 PDU를 암호화하여 전송 단위 패킷을 생성하는 암호화부; 상기 전송 단위 패킷에 부가하기 위한 2계층 헤더를 생성하는 2계층 제어 정보 처리부; 및 상기 전송 단위 패킷에 상기 2계층 헤더를 부가한 전송 블록을 생성하여 출력하는 전송 블록 생성부를 포함할 수 있다. 여기서, 2계층은 데이터 링크 계층(Data Link Layer)일 수 있다. 상기 2계층 기능 처리부는 미리 지정된 상기 전송 블록의 크기에 상응하는 상기 전송 단위 패킷이 생성되도록 하기 위해 하나 이상의 3계층 PDU를 분해 또는 조립할 수 있다.
본 발명의 다른 실시예에 따른 송신 데이터의 암호화 장치는, 제어 계층으로부터 수신되는 하나 이상의 3계층 PDU(Protocol Data Unit) 각각을 상위 계층 헤더와 3계층 데이터로 분리하는 헤더 분리부; 분리된 상기 상위 계층 헤더를 압축하는 헤더 압축부; 전송 인터럽트가 감지되는지 여부를 판단하는 2계층 기능 처리부; 상기 2계층 기능 처리부의 전송 인터럽트 감지에 의해, 압축된 상기 상위 계층 헤더 및 하나 이상의 3계층 데이터를 암호화하여 전송 단위 패킷을 생성하는 암호화부; 상기 전송 단위 패킷에 부가하기 위한 2계층 헤더를 생성하는 2계층 제어 정보 처리부; 및 상기 전송 단위 패킷에 상기 2계층 헤더를 부가한 전송 블록을 생성하여 출력하는 전송 블록 생성부를 포함할 수 있다. 여기서, 2계층은 데이터 링크 계층(Data Link Layer)일 수 있다. 상기 송신 데이터의 암호화 장치는 상기 분리된 3계층 데이터를 저장하는 송신 데이터 저장부를 더 포함할 수 있다. 여기서, 상기 2계층 기능 처리부는 미리 지정된 상기 전송 블록의 크기에 상응하는 상기 전송 단위 패킷이 생성되도록 하기 위해 하나 이상의 3계층 데이터를 분해 또는 조립할 수 있다.
각 실시예에서, 상기 출력된 전송 블록은 데이터 전송부 내의 송신 메모리에 저장될 수 있다. 또한, 상기 전송 인터럽트는 데이터 전송부로부터 인가될 수 있다. 또한, 상기 2계층 헤더는 중복 확인을 위한 헤더, 재전송을 위한 헤더, 3계층 PDU의 분해 또는 조립에 대한 정보에 관한 헤더, 매체 접근 제어에 필요한 정보에 관한 헤더 중 하나 이상을 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 수신 데이터의 복호화 장치는, 네트워크를 통해 수신한 전송 블록을 2계층 헤더와 전송 단위 패킷으로 분리하는 전송 블록 해체부; 상기 전송 단위 패킷을 하나 이상의 3계층 PDU로 복호화하는 복호화부; 및 상기 복호화된 3계층 PDU에 대한 수신 보고를 제어 계층으로 통지하는 상위 계층 처리부를 포함할 수 있다. 여기서, 2계층은 데이터 링크 계층(Data Link Layer)일 수 있다. 수신 데이터의 복호화 장치는, 둘 이상의 부분 3계층 PDU를 이용하여 하나의 3계층 PDU를 생성하는 2계층 기능 처리부를 더 포함할 수 있다. 여기서, 상기 2계층 기능 처리부는 하나 이상의 부분 3계층 PDU가 존재하는 경우 네트워크를 통해 이후 수신되는 하나 이상의 전송 블록을 이용하여 복호화된 부분 3계층 PDU를 더 이용하여 완전한 3계층 PDU를 생성할 수 있다.
본 발명의 또 다른 실시예에 따른 수신 데이터의 복호화 장치는, 네트워크를 통해 수신한 전송 블록을 2계층 헤더와 전송 단위 패킷으로 분리하는 전송 블록 해체부; 상기 전송 단위 패킷을 복호화하여 하나 이상의 압축 헤더와 하나 이상의 3계층 데이터를 생성하는 복호화부; 상기 압축 헤더를 압축 복원하는 헤더 복원부; 3계층 데이터에 압축 복원된 압축 헤더를 부가하여 3계층 PDU로 복원하는 헤더 결합부; 및 상기 복원된 3계층 PDU에 대한 수신 보고를 제어 계층으로 통지하는 상위 계층 처리부를 포함할 수 있다. 여기서, 2계층은 데이터 링크 계층(Data Link Layer)일 수 있다. 수신 데이터의 복호화 장치는, 상기 분리된 3계층 데이터를 저장하는 수신 데이터 저장부; 및 둘 이상의 부분 3계층 데이터를 이용하여 하나의 3계층 데이터를 생성하는 2계층 기능 처리부를 더 포함할 수 있다. 여기서, 상기 2계층 기능 처리부는 하나 이상의 부분 3계층 데이터가 존재하는 경우 네트워크를 통해 이후 수신되는 하나 이상의 전송 블록을 이용하여 복호화된 부분 3계층 데이터를 더 이용하여 완전한 3계층 PDU를 생성하기 위한 3계층 데이터를 생성할 수 있다.
본 발명의 또 다른 실시예에 따른 2계층에서 상위계층 PDU(Protocol Data Unit) 암호화를 수행하는 단말 장치는, 수신되는 하나 이상의 3계층 PDU를 저장하는 송신 데이터 저장부; 상기 저장된 하나 이상의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리를 수행하는 기능 처리부; 상기 기능 처리부의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리에 따른 저장 위치 정보 및 길이 정보를 위치 저장부에 저장하는 제어 정보 처리부; 상기 제어 정보 처리부로부터 상기 3계층 PDU 내의 암호화될 입력 데이터의 범위를 지시하는 저장 위치 정보 및 키 값을 제공받아 상기 기능 처리부의 분해 및 조립 중 하나 이상의 처리에 의한 2계층 데이터 중 상기 저장 위치 정보에 해당되는 입력 데이터를 상기 키 값에 따라 암호화하는 암호화부; 및 2계층 헤더와 상기 암호화된 2계층 데이터가 결합된 2계층 PDU를 생성하는 전송블록 생성부를 포함할 수 있다. 여기서, 상기 2계층 헤더는 상기 제어 정보 처리부가 상기 기능 처리부의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리에 관한 정보를 포함하여 생성될 수 있다.
상기 단말 장치는 상기 암호화부 및 상기 전송 블록 생성부의 동작 개시를 위해, 상기 2계층 PDU의 전송 시점임을 통지하기 위한 전송 인터럽트를 발생하는 데이터 전송부를 더 포함할 수 있다. 상기 데이터 전송부는 상기 2계층 PDU를 저장하기 위한 송신 메모리를 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 2계층에서 상위계층 PDU(Protocol Data Unit) 복호화 방법을 수행하는 단말 장치는, 네트워크를 통해 수신되는 하나 이상의 2계층 PDU를 저장하는 수신 메모리; 상기 2계층 PDU 내의 2계층 헤더를 분리하는 전송블록 해체부; 제어 정보 분리부로부터 3계층 PDU 내의 복호화될 입력 데이터의 범위를 지시하는 저장 위치 정보를 제공받고, 상기 2계층 PDU 중 2계층 헤더가 분리된 2계층 데이터에서 상기 저장 위치 정보에 해당되는 입력 데이터를 복호화키를 이용하여 복호화한 3계층 PDU를 수신 데이터 저장부에 저장하는 복호화부를 포함할 수 있다. 여기서, 상기 2계층 헤더는 상기 2계층 데이터를 구성하기 위하여 하나 이상의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리가 관한 정보가 포함되어 생성된 것일 수 있다.
상기 단말 장치는 상기 수신 데이터 저장부에 저장된 3계층 데이터가 통지할 수 있는 완전한 3계층 PDU인지 판단하고, 완전한 3계층 PDU인 경우 상위 계층으로 3계층 PDU의 도착을 통지하는 기능 처리부를 더 포함할 수 있다. 여기서, 상기 3계층 PDU가 분해 처리에 의해 일부분의 조각만을 포함하거나 순차번호가 맞지 않는 경우 불완전한 3계층 PDU인 것으로 판단될 수 있다.
상기 기능 처리부는, 상기 3계층 PDU가 일부분의 조각만을 포함하는 불완전한 3계층 PDU인 경우 모든 조각 부분이 상기 수신 데이터 저장부에 저장될 때까지 대기한 후, 상기 수신 데이터 저장부에 저장된 하나 이상의 3계층 PDU를 이용하여 완전한 3계층 PDU를 조립할 수 있다. 또한, 상기 기능 처리부는 상기 3계층 PDU가 순차번호가 맞지 않는 불완전한 3계층 PDU인 경우 순차번호에 맞는 3계층 PDU가 상기 수신 데이터 저장부에 저장될 때까지 대기할 수 있다.
본 발명은 보안 블록(암호화부 또는/및 복호화부)이 모뎀으로의 데이터 송수신이 일어나기 직전의 위치에 구비되도록 함으로써 적용되는 표준에 관계없이 어떠한 통신 시스템에서든 일관되게 적용 가능할 수 있는 효과가 있다.
본 발명은 적은 메모리 사용량을 유지하면서 보안 블록의 속도를 향상시킬 수 있는 효과도 있다. 즉, 본 발명은 데이터의 메모리 이동을 최소화하여 빠른 처리 속도를 유지할 수 있고, 원본 데이터의 보존에 의해 추후 정보의 변경에 대한 대응이 용이하여 메모리 사용을 최적화할 수 있는 효과도 있다.
본 발명은 재전송 등의 이유로 이미 전송한 데이터를 다른 보안 키를 이용하여 다시 암호화하는 경우에도 통상의 전송 과정에 비해 속도나 처리 시간이 열악해지지 않도록 하여 통신 시스템의 안정화를 도모할 수 있는 효과도 있다.
본 발명은 송수신 직전에 보안 블록을 수행하기 때문에 원본 데이터 보존이 용이하고, 이로 인해 재전송을 위한 재 암호화의 경우 원본 데이터를 그대로 이용할 수 있어 처리 시간을 최소화할 수 있는 효과도 있다. 즉, 재전송 및 재 암호화 수행의 경우에도 원본 데이터를 획득하기 위한 1회의 메모리 억세스만으로 충분하다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시예에 대해 관련 도면들을 참조하여 상세히 설명하기로 한다. 각 계층의 명칭을 이용하여 본 발명의 실시예들을 설명함에 있어, 1계층은 OSI 7계층의 1계층(Physical Layer)과 대응되는 것으로 정의한다. 또한 2계층은 OSI 7계층의 2계층(Data Link Layer)과 대응되는 것으로 정의하되, 전송 블록에 맞게 분해/조립을 위한 기능을 더 수행하는 것으로 정의한다. 또한, 3계층은 OSI 7계층 중 3계층 이상(즉, 3계층(Network Layer), 4계층(Transport Layer), 5계층(Session Layer), 6계층(Presentation Layer) 및 7계층(Application Layer))에 대응되는 것으로 정의하되, 제어 계층 또는 상위 계층으로도 명명될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 통신 시스템을 개략적으로 나타낸 도면이고, 도 2는 본 발명의 일 실시예에 따른 송신 데이터 변환부의 구성을 나타낸 도면이며, 도 3은 본 발명의 일 실시예에 다른 송신 데이터 변환부의 암호화 과정을 나타낸 순서도이다.
도 1을 참조하면, 네트워크를 통해 데이터를 송수신하는 송신 단말(100)과 수신 단말(135)이 도시되어 있다.
송신 단말(100)은 데이터 출력부(110), 송신 데이터 변환부(120) 및 데이터 전송부(130)를 포함하고, 수신 단말(135)은 데이터 수신부(140), 수신 데이터 변환 부(150) 및 데이터 입력부(160)를 포함한다. 이외에도 송신 단말(100) 및 수신 단말(135)은 구비한 기능들에 따라 입력부, 표시부, 제어부 등의 구성 요소를 더 포함할 것이나, 이는 본 발명의 요지와 다소 거리감 있는 사항이므로 이에 대한 설명은 생략한다.
도시된 바와 같이, 송신 데이터 변환부(120)는 상위 계층(또는 상위 어플리케이션)에 대한 데이터 출력부(110)와 네트워크를 통해 데이터를 전송하는 데이터 전송부(130)의 사이에 위치된다. 마찬가지로, 수신 데이터 변환부(150)는 상위 계층(또는 상위 어플리케이션)에 대한 데이터 입력부(160)와 네트워크를 통해 데이터를 수신하는 데이터 수신부(140)의 사이에 위치된다. 여기서, 데이터 전송부(130) 및/또는 데이터 수신부(140)는 예를 들어 모뎀(modem)일 수 있다.
이하, 도 2 및 도 3을 참조하여 송신 데이터 변환부(120)의 구성 및 처리 동작에 대해 설명한다. 이하에서 설명되는 바와 같이, 본 실시예에서 보안 블록(암호화부 및 복호화부)은 송신 데이터 변환부(120) 및 수신 데이터 변환부(150)에 각각 포함되어 2계층 데이터의 송수신 과정에서 이용되도록 위치된다. 송신 데이터 변환부(120)는 2계층에 위치하며, 3계층(또는 제어계층 또는 상위 계층으로 명명될 수 있으며, 이하 동일함)으로부터 데이터를 전달받아 데이터 전송부(130)를 통해 전송될 수 있도록 변환한다. 또한, 수신 데이터 변환부(150) 역시 2계층에 위치하며, 데이터 수신부(140)를 통해 수신된 데이터를 변환하여 3계층(또는 상위계층 또는 제어계층으로 명명될 수 있으며, 이하 동일함)으로 전달한다.
즉, 본 발명에 따른 송신 데이터 변환부(120)는 3계층 PDU를 암호화하는 경 우이건 이미 분할, 조립이 끝나 헤더까지 부가된 2계층 PDU를 암호화하는 경우이건 동일하게 2계층에서 1계층으로 넘어가기 바로 전 단계에 암호화가 필요한 부분만 암호화를 수행하여 출력하는 특징을 가진다. 다만, 이하에서는 3계층 PDU를 암호화하여 출력하는 경우만을 중심으로 설명한다.
도 2를 참조하면, 송신 데이터 변환부(120)는 송신 데이터 저장부(210), 위치 저장부(220), 상위 계층 처리부(230), 2계층 기능 처리부(240), 2계층 제어 정보 처리부(250), 암호화부(260) 및 전송 블록 생성부(270)를 포함하여 구성될 수 있다. 도시된 구성 요소들 중 일부는 생략되거나, 복수의 구성 요소들이 하나의 구성 요소로 통합 구현될 수 있으며, 각 구성 요소들 중 하나 이상은 소프트웨어 프로그램의 형태로 구현될 수 있을 것이다. 예를 들어, 단순하지만 수행 시간이 상대적으로 많이 소요되는 동작을 처리하기 위한 구성 요소는 하드웨어로 구현하고, 로직이 많고 변경 사항이 많은 구성 요소에 대해서는 소프트웨어로 구현할 수도 있다. 일 예로, 송신 데이터 저장부(210), 암호화부(260), 전송 블록 생성부(270)는 하드웨어 로직으로 구현될 수 있으며, 상위 계층 처리부(230), 2계층 기능 처리부(240), 2계층 제어 정보 처리부(250), 위치 저장부(220)는 소프트웨어 프로그램으로 구현될 수 있다.
송신 데이터 저장부(210)는 상위 계층으로부터 받거나 전달될 3계층 PDU(Protocol Data Unit)(또는 3계층 PDU 또는 제어계층 PDU 또는 상위계층 PDU 또는 패킷)가 저장되는 저장 공간이다. 송신 데이터 저장부(210)는 DRAM (Dynamic Random Access Memory), SRAM (Static Random Access Memory) 등의 물리적인 메모 리일 수 있다. 3계층 PDU는 예를 들어 IP(Internet Protocol) 포맷에 따른 데이터일 수 있다. 3계층 PDU에서 헤더(header) 정보는 분리되어 별도의 압축 과정이 수행될 수도 있으며, 이에 대해서는 이후 도 6 등을 참조하여 설명하기로 한다.
송신 데이터 저장부(210)는 2계층 내에서 저장된 3계층 PDU(또는 도 6의 3계층 데이터)에 대한 저장 상태를 유지함으로써 재전송 등의 경우에 대응이 용이하도록 한다. 다만, 저장된 3계층 PDU(3계층 데이터)는 필요한 경우(예를 들어, 수신 단말(135)로부터의 수신 응답이 수신된 경우 등) 삭제되도록 함으로써 저장 공간이 활용 가능한 상태로 관리되도록 할 수도 있다. 또한, 암호화부(260) 등의 처리를 위해 송신 데이터 저장부(210)에 저장된 3계층 PDU(또는 도 6의 3계층 데이터)가 다른 저장부 또는 메모리로 이동 저장 또는 복사 처리될 필요 없이, 처리를 수행할 구성 요소 스스로 제공받은 주소 정보로 접속하여 해당 데이터를 이용하도록 함으로써 빠른 속도의 데이터 처리가 가능한 특징도 가진다.
위치 저장부(220)는 송신 데이터 저장부(210)의 어떤 주소 위치에 전송할 데이터가 저장되었는지에 관한 위치 정보가 저장되는 저장 공간이다. 위치 저장부(220)에 저장되는 위치 정보는 상위 계층 처리부(230)에 의해 해석된 정보일 수 있다.
상위 계층 처리부(230)는 3계층(또는 상위 계층 또는 제어 계층)에서 지원하는 기능 즉, 이동성 관리, 전송 제어, 세션 관리 등을 지원하고, 또한 2계층 이하를 제어하기 위한 다양한 파라미터 관리를 수행한다. 예를 들어, 상위 계층 처리부(230)는 현재 사용되는 암호화 알고리즘, 키 값 유지 관리 및 2계층에서 지원하 는 여러 가지 기능들에 대한 제어 관리 기능을 수행할 수 있다.
2계층 기능 처리부(240)는 2계층에서 담당하는 데이터 PDU의 분해/조립, ARQ (Automatic Retransmission Request), HARQ (Hybrid ARQ) 등을 이용한 재전송 제어, 물리 계층 자원 관리를 위한 매체 접근 제어 기능 등을 수행한다.
2계층 기능 처리부(240)의 PDU의 분해/조립에 관해 설명하면 다음과 같다. 2계층은 상위 계층인 3계층으로부터 전송 가능한 자원(예를 들어, 통신을 위한 통로)을 할당 받지만 송신 데이터 저장부(210)에 도착한 IP 데이터의 크기는 할당된 자원의 양과 상이할 수 있다. 따라서 2계층 기능 처리부(240)는 할당된 자원을 이용하여 최대 크기의 데이터를 송신하기 위해 송신 데이터 저장부(210)에 저장된 데이터를 적정한 크기로 분해 및/또는 조립하여 전송할 수 있다. 이후 관련 도면을 참조하여 설명되지만, 수신 단말(135)의 수신 데이터 변환부(150)에 포함된 2계층 기능 처리부(440)는 수신된 데이터를 원래의 IP 데이터 크기로 환원시키기 위한 분해 및/또는 조립 과정을 수행한다.
2계층 기능 처리부(240)의 재전송 제어에 관해 설명하면 다음과 같다. 2계층에서 데이터를 전송하는 방법으로는 제어를 받지 않는 모드, 제어만 받는 모드 및 제어와 전송 확인을 받는 모드의 3가지 형태로 구분할 수 있다. ARQ는 제어와 전송 확인을 받는 모드에서 사용하는 전송 확인 방법을 규정하는 알고리즘으로, 송신 단말(100)에서 특정 데이터를 전송하면 이 데이터를 수신한 수신 단말(135)이 데이터를 디코딩한 후 이를 확인하는 ACK 메시지를 송신 단말(100)로 회신하여 전송 확인되도록 하는 방법이다. 이 때 전송 후 일정 시간이 경과하여도 ACK 메시지 가 수신되지 않거나, 데이터 수신 에러 메시지(NACK)가 수신되면 재전송하도록 한다. 이에 비해, HARQ는 ARQ의 단점을 보완하기 위한 알고리즘으로 재전송되는 데이터들을 버리지 않고 저장하여 추후 다시 재전송된 데이터를 복원하는 데 도움을 주도록 하는 방법을 의미한다.
2계층 기능 처리부(240)의 물리계층 자원 관리를 위한 매체 접근 제어란 할당된 자원을 효율적으로 사용하기 위한 스케줄링 (scheduling) 및 다중화 (multiplexing)의 기능을 의미한다. 이는 2계층의 궁극적인 목적인 할당된 물리 자원에 최대 크기의 데이터를 송수신할 수 있도록 하기 위함이다.
2계층 제어 정보 처리부(250)는 2계층에서 생성되는 헤더 정보를 생성한다. 여기서, 헤더 정보는 전송 단위 패킷에 대한 헤더 정보로서 전송 크기에 부합하도록 데이터 PDU들이 조립 또는 분해되어 암호화된 전송 단위 패킷을 한번에 전송하도록 하여 자원의 효율적 이용을 가능하도록 하기 위한 것이며, 이하에서는 묶음 헤더라 칭해질 수도 있다. 묶음 헤더(즉, 2계층 헤더)는 2계층 내에서 자체적으로 2계층의 기능 수행에 필요한 정보들을 모아 생성될 수 있으며, 예를 들어 중복 확인을 위한 헤더(예를 들어, 시퀀스 넘버 등을 이용하여 중복 도착 여부를 확인을 위함), 재전송을 위한 헤더(예를 들어, 재전송 번호, ACK/NACK 등의 수신 확인 메시지 등), 3계층 PDU의 분해/조립에 대한 정보에 관한 헤더, 매체 접근 제어에 필요한 정보에 관한 헤더 등 중 하나 이상을 포함할 수 있다.
암호화부(260)는 입력 데이터 스트림, 암호화에 사용되는 키(key) 값 및 시퀀스 넘버 등을 입력으로 받아 들여 출력 데이터 스트림을 생성한다. 키 값 및 시 퀀스 넘버는 상위 계층 처리부(230), 2계층 기능 처리부(240) 및 2계층 제어 정보 처리부(250) 중 하나 이상에 의해 관리되며, 암호화부(260)가 데이터 PDU 또는 전송 크기에 부합하도록 데이터 PDU들이 조립 또는 분해된 전송 단위 패킷을 암호화할 때 입력 변수로서 암호화부(260)에 제공될 수 있다. 키 값은 암호화가 수행되기 전에 미리 상위계층의 시그널링을 통해 전달받아 저장될 수 있고, 시퀀스 넘버는 각 입력 데이터마다 새로운 값으로 바뀔 수 있다. 송신 단말(100)과 수신 단말(135)간에 키 값 등은 공유될 수 있으며, 공유되지 않는 경우 키 값은 별도의 데이터로서 상호간에 송수신될 수도 있을 것이다.
전송 블록 생성부(270)는 2계층 제어 정보 처리부(250)에 의해 생성된 묶음 헤더와 암호화부(260)에 의해 암호화된 데이터 PDU 또는 전송 단위 패킷을 조합하여 전송 블록을 생성한다. 전송 블록의 생성이 암호화부(260)에 의해 완료되는 경우라면 전송 블록 생성부(270)는 생략될 수 있다. 생성된 전송 블록은 송신 메모리(280)에 저장되어 데이터 전송부(130)에 의한 데이터 전송이 가능하도록 한다. 송신 메모리(280)는 송신 데이터 변환부(120)의 일 구성 요소로 포함되거나, 데이터 전송부(130)의 일 구성 요소로 포함될 수 있다. 또한, 전송 블록 생성부(270)도 데이터 전송부(130)의 일 구성 요소로 포함될 수 있다.
이하 도 3을 참조하여 송신 데이터 변환부(120)의 처리 동작을 설명한다.
도 3을 참조하면, 단계 310에서 3계층 PDU가 상위 계층에서 생성되어 송신 데이터 저장부(210)에 저장된다.
단계 320에서 2계층 기능 처리부(240)는 송신 데이터 저장부(210)에 저장된 3계층 PDU를 전송 크기에 부합하도록 조립 또는 분해한다. 3계층 PDU에 대한 정보는 위치 저장부(220)에 저장되며, 2계층 기능 처리부(240)는 위치 저장부(220)에 접근하여 해당 정보를 인식하거나 상위 계층 처리부(230)로부터 해당 정보를 제공받을 수 있다.
단계 330에서 2계층 제어 정보 처리부(250)는 2계층 헤더를 생성한다. 2계층 헤더를 생성하는 2계층 제어 정보 처리부(250)는 2계층 기능 처리부(240)에 의해 그 동작이 제어될 수도 있다.
단계 340에서 2계층 기능 처리부(240)가 데이터 전송부(130)로부터 데이터 PDU 또는 전송 단위 패킷의 전송 가능 시점임을 통지하는 전송 인터럽트가 발생되었는지 판단한다.
만일 전송 인터럽트가 발생되지 않았다면, 단계 310으로 진행하여 상위 계층에서 생성되어 수신되는 3계층 PDU들에 대한 처리가 반복된다.
그러나 만일 전송 인터럽트가 발생되었다면, 단계 350으로 진행하여 2계층 제어 정보 처리부(250)는 암호화 될 입력 데이터 스트림이 3계층 PDU인지 2계층 PDU인지에 따른 입력 데이터의 저장 위치 및 암호화된 출력 데이터의 저장 위치에 대한 정보와 암호화에 사용될 키 값을 암호화부(260)으로 전달한다. 만일, 3계층 PDU에 대한 암호화가 요구된 경우라면 2계층 제어 정보 처리부(250)는 2계층 헤더 정보(즉, 묶음 헤더)를 생성하여 암호화부(260) 또는 전송 블록 생성부(270)로 제공할 수 있다.
단계 360에서 암호화부(260)는 전달받은 위치 정보의 입력 데이터 및 키 값 등을 이용하여 입력 데이터 스트림의 암호화를 수행하여 암호화된 출력 데이터를 지정된 저장 위치로 출력한다. 여기서, 출력 데이터의 저장 위치는 송신 메모리(280)의 특정 주소 위치를 나타내는 정보일 수 있다. 만일 암호화부(260)에서 암호화만 수행하여 전송 블록으로의 생성이 더 필요한 경우라면 출력 데이터의 저장 위치는 전송 블록 생성부(270)로 제공되어, 전송 블록 생성부(270)가 생성한 전송 블록을 송신 메모리의 특정 주소 위치에 저장하도록 할 수도 있다. 이후, 데이터 전송부(130)는 송신 메모리(280)에 저장된 전송 블록(또는 데이터)를 네트워크를 통해 수신 단말(135)로 전송한다.
도 4는 본 발명의 일 실시예에 따른 수신 데이터 변환부의 구성을 나타낸 도면이며, 도 5는 본 발명의 일 실시예에 다른 수신 데이터 변환부의 복호화 과정을 나타낸 순서도이다.
도 4를 참조하면, 수신 데이터 변환부(150)는 전송 블록 해체부(410), 복호화부(420), 2계층 제어 정보 분리부(430), 2계층 기능 처리부(440), 상위 계층 처리부(450), 위치 저장부(460) 및 수신 데이터 저장부(470)를 포함하여 구성될 수 있다. 도시된 구성 요소들 중 일부는 생략되거나, 복수의 구성 요소들이 하나의 구성 요소로 통합 구현될 수 있으며, 각 구성 요소들 중 하나 이상은 소프트웨어 프로그램의 형태로 구현될 수 있을 것이다. 후술되는 바와 같이, 수신 데이터 변환부(150)의 각 구성 요소의 기능은 앞서 설명한 송신 데이터 변환부(120)의 구성 요소의 기능과 일치하거나 반대되는 기능을 수행한다. 따라서, 수신 데이터 변 환부(150)와 송신 데이터 변환부(120)가 하나의 데이터 변환부로 통합 구현될 수도 있음은 당연하다.
전송 블록 해체부(410)는 수신된 전송 블록에서 묶음 헤더를 분리한다. 상술한 바와 같이, 묶음 헤더에는 송신 데이터 PDU별로 재전송을 위한 재전송 헤더가 포함되며, 재전송 헤더에는 전송 단위 패킷에 포함된 하나 이상의 송신 데이터 PDU에 대한 정보(예를 들어, 위치, 크기, 형태 등 중 하나 이상)가 포함될 수 있다.
복호화부(420)는 전송 블록 해체부(410)에 의해 묶음 헤더가 분리된 암호화된 전송 단위 패킷을 미리 지정된 또는 송신 단말(100)로부터 수신된 키 값 등을 이용하여 복호화한다. 복호화된 3계층 PDU는 수신 데이터 저장부(470)에 저장된다.
2계층 제어 정보 분리부(430)는 데이터 수신부(140)로부터 데이터 수신을 통지받고, 전송 블록 해체부(410)에 의해 분리된 묶음 헤더와 재전송 헤더를 참조하여 수신 메모리(480)에서 제어 정보와 데이터를 분리한다. 여기서, 데이터 수신 통지는 수신된 전송 블록이 저장된 수신 메모리(480) 내의 저장 위치 정보(주소 정보)를 포함할 수 있다.
또한, 2계층 제어 정보 분리부(430)는 암호화된 전송 단위 패킷이 복호화부(420)에 의해 복호화되도록 하기 위해, 암호화된 전송 단위 패킷이 저장된 주소 정보를 위치 저장부(460)에서 독출하여 복호화부(420)로 제공한다. 이 경우, 복호화부(420)에 의해 복호화된 데이터가 저장될 수신 데이터 저장부(470) 내의 주소 정보를 함께 제공할 수 있다.
2계층 기능 처리부(440)는 하나의 암호화된 전송 단위 패킷에 포함된 데이 터로서 복호화된 데이터들에 의해 데이터 PDU가 구성되지 않는 경우, 이후의 전송 단위 패킷에 포함된 데이터로서 복호화된 데이터를 이용하여 하나의 데이터 PDU를 조립할 수 있다. 이는, 송신 단말(100)에서 데이터 PDU를 분해/조립하여 전송 단위 패킷을 구성할 수 있기 때문에 야기되며, 수신 단말(135)에서 데이터 PDU를 구성함에 있어 조각 부분들은 묶음 헤더에 포함된 3계층 PDU의 분해/조립에 대한 정보에 관한 헤더를 이용하여 인식할 수 있다.
상위 계층 처리부(450)는 3계층(또는 상위 계층 또는 제어 계층)에서 지원하는 기능 즉, 이동성 관리, 전송 제어, 세션 관리 등을 지원하고, 또한 2계층 이하를 제어하기 위한 다양한 파라미터 관리를 수행한다. 예를 들어, 상위 계층 처리부(450)는 현재 사용되는 복호화 알고리즘, 키 값 유지 관리 및 2계층에서 지원하는 여러 가지 기능들에 대한 제어 관리 기능을 수행할 수 있다.
위치 저장부(460)는 수신 메모리(480)에 저장된 전송 단위 패킷의 저장 위치에 대한 주소 정보 및/또는 크기 정보를 저장한다.
이하, 도 5를 참조하여 수신 데이터 변환부(150)의 동작 과정을 설명한다. 수신 데이터 변환부(150)는 앞서 설명한 송신 데이터 변환부(120)의 동작 순서와 반대 방향으로 동작을 수행할 것이다.
단계 510에서, 수신 메모리(480)에 송신 단말(100)에 의해 전송된 전송 블록이 저장된다. 전송 블록이 수신되어 저장되면 데이터 수신부(140)는 2계층 제어 정보 분리부(430)로 전송 블록의 수신을 통지한다. 이때, 데이터 수신부(140)는 전송 블록이 저장된 수신 메모리(480) 내의 주소 정보를 함께 통지할 수 있다.
단계 520에서, 전송 블록 해체부(410)는 전송 블록에서 묶음 헤더(2계층 헤더)를 분리한다.
단계 530에서 2계층 제어 정보 분리부(430)는 위치 저장부(460)에서 독출한 전송 단위 패킷의 저장 위치 정보 및 복호화된 3계층 PDU가 저장될 수신 데이터 저장부(470)의 저장 위치 정보를 복호화부(420)로 통지한다. 분리된 묶음 헤더는 2계층 제어 정보 분리부(430)로 제공될 수 있다.
단계 540에서 복호화부(420)는 미리 지정된 또는 송신 단말(100)로부터 수신한 키 값 등을 이용하여 수신 메모리(480)에 저장된 전송 단위 패킷을 복호화하고, 복호화된 3계층 PDU를 수신 데이터 저장부(470)에 저장한다. 수신 데이터 저장부(470)는 DRAM (Dynamic Random Access Memory), SRAM (Static Random Access Memory) 등의 물리적인 메모리일 수 있다.
단계 550에서 2계층 기능 처리부(440)는 수신 데이터 저장부(470)에 저장된 데이터가 완전한 3계층 PDU인지 여부를 판단한다. 이는 상위 계층으로 전달하는 3계층 PDU가 전송 순서에 맞는지 완전한 것인지를 확인하기 위한 것으로, 2계층 제어 정보 분리부(430)로 제공된 묶음 헤더가 이용될 수 있다. 예를 들어, 조각난 3계층 PDU로서 아직 나머지 조각 부분이 수신되지 않은 경우, 순차번호가 맞지 않는 경우 등에 완전한 3계층 PDU가 아닌 것으로 판단할 수 있다. 조각난 3계층 PDU가 수신될 수 있는 이유는 송신 단말(100)에서 전송 단위 패킷을 구성함에 있어 하나의 3계층 PDU의 일부만이 포함되도록 분해할 수도 있기 때문이다.
만일, 완전한 3계층 PDU가 아닌 것으로 판단되면, 단계 560으로 진행하여 2 계층 기능 처리부는 요구되는 조각 부분이 수신 데이터 저장부(470)에 이미 저장되어 있어 조립이 가능한지 여부를 판단한다.
만일 조립이 가능하다면 단계 565로 진행하여 조각 부분들을 이용하여 하나의 데이터 PDU를 구성한다. 도면상 단계 565 수행 이후 단계 570으로 진행하도록 도시되었으나, 단계 565 수행 이후에 다시 단계 550으로 진행할 수도 있다.
그러나, 조각 부분이 아직 수신 데이터 저장부(470)에 저장되지 않았다면 후속하는 전송 블록에 대한 처리가 선행되어야 하기 때문에 단계 510으로 다시 진행한다.
단계 550의 판단 결과로 완전한 3계층 PDU인 것으로 판단되면, 단계 570으로 진행하여 3계층 PDU가 도착되었음을 상위 계층으로 통지한다. 여기서, 통지는 상위 계층 처리부(450), 2계층 기능 처리부(440) 등 중 하나 이상에 의해 수행될 수 있을 것이다.
도 6은 본 발명의 다른 실시예에 따른 송신 데이터 변환부의 구성을 나타낸 도면이며, 도 7은 본 발명의 다른 실시예에 다른 송신 데이터 변환부의 암호화 과정을 나타낸 순서도이다.
도 6을 참조하면, 송신 데이터 변환부(120)는 송신 데이터 저장부(210), 위치 저장부(220), 상위 계층 처리부(230), 2계층 기능 처리부(240), 2계층 제어 정보 처리부(250), 암호화부(260), 전송 블록 생성부(270), 헤더 분리부(610) 및 헤더 압축부(620)를 포함하여 구성될 수 있다. 도시된 구성 요소들 중 일부는 생략되 거나, 복수의 구성 요소들이 하나의 구성 요소로 통합 구현될 수 있으며, 각 구성 요소들 중 하나 이상은 소프트웨어 프로그램의 형태로 구현될 수 있을 것이다.
도 6에 도시된 송신 데이터 변환부(120)의 각 구성 요소들 중 앞서 도 2를 참조하여 설명한 송신 데이터 변환부(120)의 구성 요소들의 기능 및/또는 동작 설명과 일치하는 구성 요소에 대한 설명은 간단히 언급하거나 생략하기로 한다.
헤더 분리부(610)은 상위 계층으로부터 IP 데이터(또는 3계층 PDU)를 수신하여 헤더(또는 제어 정보)와 3계층 데이터로 분리하고, 분리한 3계층 데이터는 송신 데이터 저장부(210)에 저장되도록 하며 분리한 헤더는 헤더 압축부(620)로 제공한다.
헤더 압축부(620)는 헤더 분리부(610)에 의해 분리된 헤더를 압축한 후 암호화부(260)로 제공한다. 이는 IP 데이터 중 많은 양을 차지하는 IP 헤더를 압축한 후 암호화가 수행되도록 하여 전송 단위 패킷에 상대적으로 많은 양의 데이터가 포함될 수 있도록 하기 위함이며, 이를 통해 더 빠른 무선 환경의 구축이 가능해질 수 있다. 헤더 압축부(620)는 헤더 압축을 위해 예를 들어 ROHC(Robust Header Compression) 방식을 이용할 수 있다. 이외에도, 다양한 압축 방식에 의한 헤더 압축이 가능하며, 추후 개발되는 압축 기술에 의한 헤더 압축도 본 발명에 적용 가능하다.
암호화부(260)는 압축된 하나 이상의 IP 헤더 및 송신 데이터 저장부(210)에 저장된 하나 이상의 3계층 데이터를 암호화하여 전송 단위 패킷을 생성하며, 전송 블록 생성부(270)는 암호화부(260)에 의해 생성된 전송 단위 패킷과 2계층 제어 정보 처리부(250)에 의해 생성된 묶음 헤더를 이용하여 전송 블록을 생성한 후 송신 메모리(280)로 출력한다.
이하, 도 7을 참조하여 송신 데이터 변환부(150)의 동작 과정을 설명한다.
도 7을 참조하면, 단계 710에서 헤더 분리부(610)는 상위 계층에서 생성되어 수신된 3계층 PDU를 헤더와 3계층 데이터로 분리한다.
단계 720에서 헤더 압축부(620)는 헤더 분리부(610)에 의해 분리된 헤더를 미리 지정된 압축 방식으로 압축하고, 헤더 분리부(610)는 분리한 3계층 데이터를 송신 데이터 저장부(210)에 저장된다. 헤더 압축부(620)의 헤더 압축과 헤더 분리부(610)의 3계층 데이터 저장은 동시에 수행될 수도 있으나, 선후 관계에 따라 수행될 수도 있다.
단계 730에서 2계층 기능 처리부(240)는 송신 데이터 저장부(210)에 저장된 3계층 PDU를 전송 크기에 부합하도록 조립 또는 분해한다. 3계층 PDU에 대한 정보는 위치 저장부(220)에 저장되며, 2계층 기능 처리부(240)는 위치 저장부(220)에 접근하여 해당 정보를 인식하거나 상위 계층 처리부(230)로부터 해당 정보를 제공받을 수 있다.
단계 740에서 2계층 제어 정보 처리부(250)는 2계층 헤더를 생성한다. 2계층 제어 정보 처리부(250)의 동작은 2계층 기능 처리부(240)에 의해 제어될 수도 있다.
단계 750에서 2계층 기능 처리부(240)는 데이터 전송부(130)로부터 데이터 PDU 또는 전송 단위 패킷의 전송 가능 시점임을 통지하는 전송 인터럽트가 발생되 었는지 판단한다.
만일 전송 인터럽트가 발생되지 않았다면, 단계 710으로 진행하여 상위 계층에서 생성되어 수신되는 3계층 PDU들에 대한 처리가 반복된다.
그러나 만일 전송 인터럽트가 발생되었다면, 단계 760으로 진행하여 2계층 제어 정보 처리부(250)는 암호화될 입력 데이터 스트림이 3계층 PDU인지 2계층 PDU인지에 따른 입력 데이터의 저장 위치 및 암호화된 출력 데이터의 저장 위치에 대한 정보와 암호화에 사용될 키 값을 암호화부(260)으로 전달한다. 이때, 헤더 압축부(620)에 의해 압축된 헤더도 2계층 기능 처리부(240), 2계층 제어 정보 처리부(250) 등 중 하나 이상의 제어에 의해 암호화부(260)로 제공될 수 있다. 만일, 3계층 PDU에 대한 암호화가 요구된 경우라면 2계층 제어 정보 처리부(250)는 2계층 헤더 정보(즉, 묶음 헤더)를 생성하여 암호화부(260) 또는 전송 블록 생성부(270)로 제공할 수 있다.
단계 770에서 암호화부(260)는 전달받은 위치 정보의 입력 데이터, 헤더 압축부(620)로부터 제공된 압축된 헤더 및 키 값 등을 이용하여 입력 데이터 스트림의 암호화를 수행하여 암호화된 출력 데이터를 지정된 저장 위치로 출력한다. 여기서, 출력 데이터의 저장 위치는 송신 메모리(280)의 특정 주소 위치를 나타내는 정보일 수 있다. 만일 암호화부(260)에서 암호화만 수행하여 전송 블록으로의 생성이 더 필요한 경우라면 출력 데이터의 저장 위치는 전송 블록 생성부(270)로 제공되어, 전송 블록 생성부(270)가 생성한 전송 블록을 송신 메모리의 특정 주소 위치에 저장하도록 할 수도 있다. 이후, 데이터 전송부(130)는 송신 메모리(280)에 저장된 전송 블록(또는 데이터)를 네트워크를 통해 수신 단말(135)로 전송한다.
도 8은 본 발명의 다른 실시예에 따른 수신 데이터 변환부의 구성을 나타낸 도면이다.
도 8을 참조하면, 수신 데이터 변환부(150)는 전송 블록 해체부(410), 복호화부(420), 2계층 제어 정보 분리부(430), 2계층 기능 처리부(440), 상위 계층 처리부(450), 위치 저장부(460), 수신 데이터 저장부(470), 헤더 결합부(810) 및 헤더 복원부(820)를 포함하여 구성될 수 있다. 도시된 구성 요소들 중 일부는 생략되거나, 복수의 구성 요소들이 하나의 구성 요소로 통합 구현될 수 있으며, 각 구성 요소들 중 하나 이상은 소프트웨어 프로그램의 형태로 구현될 수 있을 것이다. 후술되는 바와 같이, 수신 데이터 변환부(150)의 각 구성 요소의 기능은 앞서 설명한 송신 데이터 변환부(120)의 구성 요소의 기능과 일치하거나 반대되는 기능을 수행한다. 따라서, 수신 데이터 변환부(150)와 송신 데이터 변환부(120)가 하나의 데이터 변환부로 통합 구현될 수도 있음은 당연하다.
도 8에 도시된 수신 데이터 변환부(150)의 각 구성 요소들 중 앞서 도 4를 참조하여 설명한 수신 데이터 변환부(150)의 구성 요소들의 기능 및/또는 동작 설명과 일치하는 구성 요소에 대한 설명은 간단히 언급하거나 생략하기로 한다.
복호화부(420)는 전송 블록 해체부(410)에 의해 묶음 헤더가 분리된 암호화된 전송 단위 패킷을 미리 지정된 또는 송신 단말(100)로부터 수신된 키 값 등을 이용하여 복호화한다. 복호화된 데이터에서 3계층 데이터는 수신 데이터 저장부(470)에 저장되고, 압축된 헤더는 헤더 복원부(820)로 제공된다.
2계층 기능 처리부(440)는 하나의 암호화된 전송 단위 패킷에 포함된 데이터로서 복호화된 데이터들에 의해 3계층 데이터가 구성되지 않는 경우, 이후의 전송 단위 패킷에 포함된 데이터로서 복호화된 데이터를 이용하여 하나의 3계층 데이터를 조립할 수 있다. 이는, 송신 단말(100)에서 3계층 데이터를 조합/분해하여 전송 단위 패킷을 구성할 수 있기 때문에 야기되며, 3계층 데이터를 구성함에 있어 조각 부분들은 묶음 헤더에 포함된 3계층 데이터의 분해/조립에 대한 정보에 관한 헤더를 이용하여 인식할 수 있다.
헤더 복원부(820)는 송신 데이터 변환부(120)의 헤더 압축부(620)에 의해 압축된 헤더를 복원하여 헤더 결합부(810)로 제공한다. 헤더 압축 및 복원을 위해 예를 들어 ROHC(Robust Header Compression) 방식이 이용될 수 있다.
헤더 결합부(810)는 헤더 복원부(820)에 의해 복원된 헤더와 수신 데이터 저장부(470)에 저장된 3계층 데이터를 각각 조립하여 3계층 PDU를 생성한다.
이하, 도 9를 참조하여 수신 데이터 변환부(150)의 동작 과정을 설명한다. 수신 데이터 변환부(150)는 앞서 설명한 송신 데이터 변환부(120)의 동작 순서와 반대 방향으로 동작을 수행할 것이다.
단계 910에서, 수신 메모리(480)에 송신 단말(100)에 의해 전송된 전송 블록이 저장된다. 전송 블록이 수신되어 저장되면 데이터 수신부(140)는 2계층 제어 정보 분리부(430)로 전송 블록의 수신을 통지한다. 이때, 데이터 수신부(140)는 전송 블록이 저장된 수신 메모리(480) 내의 주소 정보를 함께 통지할 수 있다.
단계 920에서, 전송 블록 해체부(410)는 전송 블록에서 묶음 헤더(2계층 헤더)를 분리한다.
단계 930에서 2계층 제어 정보 분리부(430)는 위치 저장부(460)에서 독출한 전송 단위 패킷의 저장 위치 정보 및 복호화된 3계층 데이터가 저장될 수신 데이터 저장부(470)의 저장 위치 정보를 복호화부(420)로 통지한다. 분리된 묶음 헤더는 2계층 제어 정보 분리부(430)로 제공될 수 있다.
단계 940에서 복호화부(420)는 미리 지정된 또는 송신 단말(100)로부터 수신한 키 값 등을 이용하여 수신 메모리(480)에 저장된 전송 단위 패킷을 복호화하고, 복호화된 압축 헤더는 헤더 복원부(820)로 제공하여 복원되도록 하고, 복호화된 3계층 데이터는 수신 데이터 저장부(470)에 저장되도록 한다.
단계 950에서 2계층 기능 처리부(440)는 수신 데이터 저장부(470)에 저장된 데이터가 완전한 3계층 데이터인지 여부를 판단한다. 이는 상위 계층으로 전달할 3계층 PDU가 전송 순서에 맞게 완전한 형태로 제공될 수 있는지를 확인하기 위한 것으로, 2계층 제어 정보 분리부(430)로 제공된 묶음 헤더가 이용될 수 있다. 예를 들어, 조각난 3계층 데이터로서 아직 나머지 조각 부분이 수신되지 않은 경우, 순차번호가 맞지 않는 경우, 압축된 헤더가 오류 등의 이유로 복원되지 못한 경우 등에 완전한 3계층 데이터가 아닌 것으로 판단할 수 있다. 조각난 3계층 PDU가 수신될 수 있는 이유는 송신 단말(100)에서 전송 단위 패킷을 구성함에 있어 하나의 3계층 데이터를 분해하여 그 일부만이 포함되도록 할 수도 있기 때문이다.
만일, 완전한 3계층 데이터가 아닌 것으로 판단되면, 단계 960으로 진행하 여 2계층 기능 처리부는 요구되는 조각 부분이 수신 데이터 저장부(470)에 이미 저장되어 있어 조립이 가능한지 여부를 판단한다.
만일 조립이 가능하다면 단계 970으로 진행하여 조각 부분들을 이용하여 하나의 3계층 데이터를 구성한다. 도면상 단계 970 수행 이후 단계 980으로 진행하도록 도시되었으나, 단계 970 수행 이후에 다시 단계 950으로 진행할 수도 있다.
그러나, 조각 부분이 아직 수신 데이터 저장부(470)에 저장되지 않았다면 후속하는 전송 블록에 대한 처리가 선행되어야 하기 때문에 단계 910으로 다시 진행한다.
단계 950의 판단 결과로 완전한 3계층 데이터인 것으로 판단되면, 단계 980으로 진행하여 헤더 결합부(810)는 헤더 복원부(820)에 의해 복원된 헤더와 수신 데이터 저장부(470)에 저장된 3계층 데이터를 결합하여 3계층 PDU를 생성한다.
이어서, 단계 990에서 3계층 PDU가 도착되었음을 상위 계층으로 통지한다. 여기서, 통지는 상위 계층 처리부(450), 2계층 기능 처리부(440) 등 중 하나 이상에 의해 수행될 수 있을 것이다.
이제까지, 3계층 PDU를 암호화하여 출력하고, 입력된 전송 단위 패킷을 복호화하여 3계층 PDU를 복원하는 경우를 중심으로 설명하였다. 그러나, 본 발명에 따른 송신 데이터 변환부(120)가 3계층 PDU를 암호화하는 경우이건 이미 분할, 조립이 끝나 헤더까지 부가된 2계층 PDU를 암호화하는 경우이건 동일하게 2계층에서 1계층으로 넘어가기 바로 전 단계에 암호화가 필요한 부분만 암호화를 수행하여 출 력하는 특징을 가짐은 본 명세서에 기재된 실시예들을 참조하여 쉽게 이해될 수 있을 것이다. 마찬가지로, 수신 데이터 변환부(150)도 이에 대응되는 구성으로 대응되는 기능을 수행할 것임도 쉽게 이해될 수 있을 것이다.
상술한 보안 기능을 포함하는 통신 방법은 단말 장치에 내장된 소프트웨어 프로그램 등에 의해 시계열적 순서에 따른 자동화된 절차로 수행될 수도 있음은 자명하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 상기 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.
상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 통신 시스템을 개략적으로 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 송신 데이터 변환부의 구성을 나타낸 도면.
도 3은 본 발명의 일 실시예에 다른 송신 데이터 변환부의 암호화 과정을 나타낸 순서도.
도 4는 본 발명의 일 실시예에 따른 수신 데이터 변환부의 구성을 나타낸 도면.
도 5는 본 발명의 일 실시예에 다른 수신 데이터 변환부의 복호화 과정을 나타낸 순서도.
도 6은 본 발명의 다른 실시예에 따른 송신 데이터 변환부의 구성을 나타낸 도면.
도 7은 본 발명의 다른 실시예에 다른 송신 데이터 변환부의 암호화 과정을 나타낸 순서도.
도 8은 본 발명의 다른 실시예에 따른 수신 데이터 변환부의 구성을 나타낸 도면.

Claims (25)

  1. 단말 장치의 2계층에서 수행되는 상위계층 PDU(Protocol Data Unit) 암호화 방법으로서,
    (a) 수신되는 하나 이상의 3계층 PDU가 송신 데이터 저장부에 저장되면, 기능 처리부가 상기 저장된 하나 이상의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리를 수행하는 단계;
    (b) 암호화부가 제어 정보 처리부로부터 상기 3계층 PDU 내의 암호화될 입력 데이터의 범위를 지시하는 저장 위치 정보 및 키 값을 제공받는 단계;
    (c) 상기 암호화부가 상기 기능 처리부의 분해 및 조립 중 하나 이상의 처리에 의한 2계층 데이터 중 상기 저장 위치 정보에 해당되는 입력 데이터를 상기 키 값에 따라 암호화하는 단계; 및
    (d) 2계층 헤더와 상기 암호화된 2계층 데이터가 결합된 2계층 PDU를 생성하는 단계를 포함하되,
    상기 2계층 헤더는 상기 제어 정보 처리부가 상기 기능 처리부의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리에 관한 정보를 포함하여 생성되고, 상기 제어 정보 처리부는 상기 기능 처리부의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리에 따른 저장 위치 정보 및 길이 정보를 위치 저장부에 저장하는 것을 특징으로 하는 2계층에서 수행되는 상위계층 PDU 암호화 방법.
  2. 제1항에 있어서,
    상기 단계 (b) 내지 상기 단계 (d)는 상기 2계층 PDU의 전송 시점임을 통지하는 전송 인터럽트가 데이터 전송부에 의해 발생된 시점에서 수행되는 것을 특징으로 하는 상위계층 PDU 암호화 방법.
  3. 제2항에 있어서,
    상기 2계층 PDU는 상기 데이터 전송부 내의 송신 메모리에 저장되는 것을 특징으로 하는 상위계층 PDU 암호화 방법.
  4. 제1항에 있어서,
    상기 2계층 헤더는 중복 확인을 위한 헤더, 재전송을 위한 헤더, 매체 접근 제어에 필요한 정보에 관한 헤더 중 하나 이상을 더 포함하는 것을 특징으로 하는 상위계층 PDU 암호화 방법.
  5. 2계층에서 상위계층 PDU(Protocol Data Unit) 암호화를 수행하는 단말 장치로서,
    수신되는 하나 이상의 3계층 PDU를 저장하는 송신 데이터 저장부;
    상기 저장된 하나 이상의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리를 수행하는 기능 처리부;
    상기 기능 처리부의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리에 따른 저장 위치 정보 및 길이 정보를 위치 저장부에 저장하는 제어 정보 처리부;
    상기 제어 정보 처리부로부터 상기 3계층 PDU 내의 암호화될 입력 데이터의 범위를 지시하는 저장 위치 정보 및 키 값을 제공받아 상기 기능 처리부의 분해 및 조립 중 하나 이상의 처리에 의한 2계층 데이터 중 상기 저장 위치 정보에 해당되는 입력 데이터를 상기 키 값에 따라 암호화하는 암호화부; 및
    2계층 헤더와 상기 암호화된 2계층 데이터가 결합된 2계층 PDU를 생성하는 전송블록 생성부를 포함하되,
    상기 2계층 헤더는 상기 제어 정보 처리부가 상기 기능 처리부의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리에 관한 정보를 포함하여 생성되는 것을 특징으로 하는 단말 장치.
  6. 제5항에 있어서,
    상기 암호화부 및 상기 전송 블록 생성부의 동작 개시를 위해, 상기 2계층 PDU의 전송 시점임을 통지하기 위한 전송 인터럽트를 발생하는 데이터 전송부를 더 포함하는 단말 장치.
  7. 제6항에 있어서,
    상기 데이터 전송부는 상기 2계층 PDU를 저장하기 위한 송신 메모리를 포함하는 것을 특징으로 하는 단말 장치.
  8. 2계층에서 수행되는 상위계층 PDU(Protocol Data Unit) 암호화 방법을 수행하기 위해 단말 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현된 프로그램을 기록한 기록매체에 있어서,
    (a) 수신되어 저장된 하나 이상의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리를 수행하는 단계;
    (b) 상기 3계층 PDU 내의 암호화될 입력 데이터의 범위를 지시하는 저장 위치 정보 및 키 값을 제공받아 상기 단계 (a)의 처리에 의한 2계층 데이터 중 상기 저장 위치 정보에 해당되는 입력 데이터를 상기 키 값에 따라 암호화하는 단계; 및
    (c) 2계층 헤더와 상기 암호화된 2계층 데이터가 결합된 2계층 PDU를 생성하는 단계를 실행하되,
    상기 2계층 헤더는 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리에 관한 정보를 포함하여 생성되고, 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리에 따른 저장 위치 정보 및 길이 정보가 위치 저장부에 저장되는 것을 특징으로 하는 프로그램이 기록된 기록매체.
  9. 제8항에 있어서,
    상기 단계 (b) 내지 상기 단계 (c)는 상기 2계층 PDU의 전송 시점임을 통지하는 전송 인터럽트의 발생이 감지된 시점에서 수행되는 것을 특징으로 하는 프로그램이 기록된 기록매체.
  10. 단말 장치의 2계층에서 수행되는 상위계층 PDU(Protocol Data Unit) 복호화 방법으로서,
    (a) 네트워크를 통해 수신되는 하나 이상의 2계층 PDU가 수신 메모리에 저장되면, 전송블록 해체부가 상기 2계층 PDU 내의 2계층 헤더를 분리하는 단계;
    (b) 복호화부가 제어 정보 분리부로부터 3계층 PDU 내의 복호화될 입력 데이터의 범위를 지시하는 저장 위치 정보를 제공받는 단계; 및
    (c) 상기 복호화부가 상기 2계층 PDU 중 2계층 헤더가 분리된 2계층 데이터에서 상기 저장 위치 정보에 해당되는 입력 데이터를 복호화키를 이용하여 복호화한 3계층 PDU를 수신 데이터 저장부에 저장하는 단계를 포함하되,
    상기 2계층 헤더는 상기 2계층 데이터를 구성하기 위하여 하나 이상의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리가 관한 정보가 포함되어 생성된 것을 특징으로 하는 2계층에서 수행되는 상위계층 PDU 복호화 방법.
  11. 제10항에 있어서,
    기능 처리부가 상기 수신 데이터 저장부에 저장된 3계층 데이터가 통지할 수 있는 완전한 3계층 PDU인지 판단하는 단계; 및
    완전한 3계층 PDU인 경우, 상기 기능 처리부 또는 상위 계층 처리부가 상위 계층으로 3계층 PDU의 도착을 통지하는 단계를 더 포함하되,
    상기 3계층 PDU가 분해 처리에 의해 일부분의 조각만을 포함하거나 순차번호가 맞지 않는 경우 불완전한 3계층 PDU인 것으로 판단되는 것을 특징으로 하는 2계층에서 수행되는 상위계층 PDU 복호화 방법.
  12. 제11항에 있어서,
    상기 3계층 PDU가 일부분의 조각만을 포함하는 불완전한 3계층 PDU인 경우, 상기 단계 (a) 내지 상기 단계 (c)의 반복에 의해 모든 조각 부분이 상기 수신 데이터 저장부에 저장될 때까지 대기하는 단계; 및
    상기 수신 데이터 저장부에 저장된 하나 이상의 3계층 PDU를 이용하여 완전한 3계층 PDU를 조립하는 단계를 더 포함하는 2계층에서 수행되는 상위계층 PDU 복호화 방법.
  13. 제11항에 있어서,
    상기 3계층 PDU가 순차번호가 맞지 않는 불완전한 3계층 PDU인 경우, 상기 단계 (a) 내지 상기 단계 (c)의 반복에 의해 순차번호에 맞는 3계층 PDU가 상기 수신 데이터 저장부에 저장될 때까지 대기하는 단계를 더 포함하는 2계층에서 수행되는 상위계층 PDU 복호화 방법.
  14. 제10항에 있어서,
    상기 2계층 헤더는 중복 확인을 위한 헤더, 재전송을 위한 헤더, 매체 접근 제어에 필요한 정보에 관한 헤더 중 하나 이상을 더 포함하는 것을 특징으로 하는 상위계층 PDU 복호화 방법.
  15. 2계층에서 상위계층 PDU(Protocol Data Unit) 복호화 방법을 수행하는 단말 장치로서,
    네트워크를 통해 수신되는 하나 이상의 2계층 PDU를 저장하는 수신 메모리;
    상기 2계층 PDU 내의 2계층 헤더를 분리하는 전송블록 해체부;
    제어 정보 분리부로부터 3계층 PDU 내의 복호화될 입력 데이터의 범위를 지시하는 저장 위치 정보를 제공받고, 상기 2계층 PDU 중 2계층 헤더가 분리된 2계층 데이터에서 상기 저장 위치 정보에 해당되는 입력 데이터를 복호화키를 이용하여 복호화한 3계층 PDU를 수신 데이터 저장부에 저장하는 복호화부를 포함하되,
    상기 2계층 헤더는 상기 2계층 데이터를 구성하기 위하여 하나 이상의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리가 관한 정보가 포함되어 생성된 것을 특징으로 하는 단말 장치.
  16. 제15항에 있어서,
    상기 수신 데이터 저장부에 저장된 3계층 데이터가 통지할 수 있는 완전한 3계층 PDU인지 판단하고, 완전한 3계층 PDU인 경우 상위 계층으로 3계층 PDU의 도착을 통지하는 기능 처리부를 더 포함하되,
    상기 3계층 PDU가 분해 처리에 의해 일부분의 조각만을 포함하거나 순차번호가 맞지 않는 경우 불완전한 3계층 PDU인 것으로 판단되는 것을 특징으로 하는 단말 장치.
  17. 제16항에 있어서,
    상기 기능 처리부는, 상기 3계층 PDU가 일부분의 조각만을 포함하는 불완전한 3계층 PDU인 경우 모든 조각 부분이 상기 수신 데이터 저장부에 저장될 때까지 대기한 후, 상기 수신 데이터 저장부에 저장된 하나 이상의 3계층 PDU를 이용하여 완전한 3계층 PDU를 조립하는 것을 특징으로 하는 단말 장치.
  18. 제16항에 있어서,
    상기 기능 처리부는 상기 3계층 PDU가 순차번호가 맞지 않는 불완전한 3계층 PDU인 경우 순차번호에 맞는 3계층 PDU가 상기 수신 데이터 저장부에 저장될 때까지 대기하는 것을 특징으로 하는 단말 장치.
  19. 2계층에서 수행되는 상위계층 PDU(Protocol Data Unit) 복호화 방법을 수행하기 위해 단말 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현된 프로그램을 기록한 기록매체에 있어서,
    (a) 네트워크를 통해 수신되는 하나 이상의 2계층 PDU에서 2계층 헤더를 분리하는 단계;
    (b) 상기 2계층 PDU 중 2계층 헤더가 분리된 2계층 데이터에 포함된 3계층 PDU 내의 복호화될 입력 데이터의 범위를 지시하는 저장 위치 정보를 제공받아 상기 2계층 데이터에서 상기 저장 위치 정보에 해당되는 입력 데이터를 복호화키를 이용하여 복호화하는 단계;
    (c) 상기 복호화한 3계층 PDU를 수신 데이터 저장부에 저장하는 단계를 실행하되,
    상기 2계층 헤더는 상기 2계층 데이터를 구성하기 위하여 하나 이상의 3계층 PDU에 대한 분해 및 조립 중 하나 이상의 처리가 관한 정보가 포함되어 생성된 것을 특징으로 하는 프로그램이 기록된 기록매체.
  20. 제19항에 있어서,
    상기 수신 데이터 저장부에 저장된 3계층 데이터가 통지할 수 있는 완전한 3계층 PDU인지 판단하는 단계; 및
    완전한 3계층 PDU인 경우에만 상위 계층으로 3계층 PDU의 도착을 통지하는 단계를 더 실행하되,
    상기 3계층 PDU가 분해 처리에 의해 일부분의 조각만을 포함하거나 순차번호가 맞지 않는 경우 불완전한 3계층 PDU인 것으로 판단되는 것을 특징으로 하는 프로그램이 기록된 기록매체.
  21. 제20항에 있어서,
    상기 3계층 PDU가 일부분의 조각만을 포함하는 불완전한 3계층 PDU인 경우, 상기 단계 (a) 내지 상기 단계 (c)의 반복에 의해 모든 조각 부분이 상기 수신 데이터 저장부에 저장될 때까지 대기하는 단계; 및
    상기 수신 데이터 저장부에 저장된 하나 이상의 3계층 PDU를 이용하여 완전한 3계층 PDU를 조립하는 단계를 더 실행하는 프로그램이 기록된 기록매체.
  22. 제20항에 있어서,
    상기 3계층 PDU가 순차번호가 맞지 않는 불완전한 3계층 PDU인 경우, 상기 단계 (a) 내지 상기 단계 (c)의 반복에 의해 순차번호에 맞는 3계층 PDU가 상기 수신 데이터 저장부에 저장될 때까지 대기하는 단계를 더 실행하는 프로그램이 기록된 기록매체.
  23. 삭제
  24. 삭제
  25. 삭제
KR1020080120984A 2008-12-02 2008-12-02 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체 KR100904489B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080120984A KR100904489B1 (ko) 2008-12-02 2008-12-02 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체
PCT/KR2009/005287 WO2010064782A1 (en) 2008-12-02 2009-09-17 Communication method and device with security function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080120984A KR100904489B1 (ko) 2008-12-02 2008-12-02 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020090034608A Division KR20100062864A (ko) 2009-04-21 2009-04-21 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체

Publications (1)

Publication Number Publication Date
KR100904489B1 true KR100904489B1 (ko) 2009-06-23

Family

ID=40983122

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080120984A KR100904489B1 (ko) 2008-12-02 2008-12-02 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체

Country Status (2)

Country Link
KR (1) KR100904489B1 (ko)
WO (1) WO2010064782A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020028096A (ko) * 2000-10-07 2002-04-16 구자홍 래디오 링크 콘트롤(rlc)의 인식 모드(am)에서데이터 송수신 처리방법
KR20020028097A (ko) * 2000-10-07 2002-04-16 구자홍 래디오 링크 콘트롤(rlc)의 비인식 모드(um)에서데이터 송수신 처리방법
KR20050073904A (ko) * 2004-01-12 2005-07-18 삼성전자주식회사 무선 네트워크 시스템의 무선링크제어 계층에서 데이터암호화방법 및 암호해제방법
KR20080018055A (ko) * 2006-08-23 2008-02-27 삼성전자주식회사 패킷 데이터 송수신 방법 및 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100749849B1 (ko) * 2005-12-10 2007-08-16 한국전자통신연구원 무선 인터넷 시스템의 하위 매체 접근 계층 장치 및 그를이용한 데이터 처리 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020028096A (ko) * 2000-10-07 2002-04-16 구자홍 래디오 링크 콘트롤(rlc)의 인식 모드(am)에서데이터 송수신 처리방법
KR20020028097A (ko) * 2000-10-07 2002-04-16 구자홍 래디오 링크 콘트롤(rlc)의 비인식 모드(um)에서데이터 송수신 처리방법
KR20050073904A (ko) * 2004-01-12 2005-07-18 삼성전자주식회사 무선 네트워크 시스템의 무선링크제어 계층에서 데이터암호화방법 및 암호해제방법
KR20080018055A (ko) * 2006-08-23 2008-02-27 삼성전자주식회사 패킷 데이터 송수신 방법 및 장치

Also Published As

Publication number Publication date
WO2010064782A1 (en) 2010-06-10

Similar Documents

Publication Publication Date Title
JP5851470B2 (ja) マルチメディアコンテンツの適合通知の生成および伝達
US8064599B2 (en) Secure message transport using message segmentation
TWI388170B (zh) 網路中串流資料內容之方法及裝置
EP2556613B1 (en) Processing transport packets
CN102300256B (zh) 一种头压缩反馈信息的反馈方法和设备
EP1173948B1 (en) Apparatus for transmitting/receiving bitstream in network and method thereof
US20020129243A1 (en) System for selective encryption of data packets
JP2004511037A (ja) 安全なコード変換を通してネットワーク情報を配布のための方法及び装置
US20080123560A1 (en) Methods and devices for the dynamic management of transmission errors by network points of interconnections
JP5344541B2 (ja) データ送信装置、送信方法及びプログラム
WO2012011473A1 (ja) 送信装置、送信方法、受信装置、受信方法、通信システム、データ構造、プログラム、及び、記憶媒体
CN113726895A (zh) 文件传输方法、装置及网络ktv系统
JPH11345182A (ja) 電子メ―ル送受信システム、電子メ―ル送受信方法および電子メ―ル送受信プログラムを記録した記録媒体
KR20100062864A (ko) 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체
KR100904489B1 (ko) 보안 기능을 포함하는 통신 방법, 장치 및 그 방법을 수행하기 위한 프로그램이 기록된 기록매체
CN114513418B (zh) 一种数据处理方法及相关设备
KR100906098B1 (ko) 통신 시스템에서의 통신 방법, 장치 및 그 방법을 수행하기위한 프로그램이 기록된 기록매체
JP5376855B2 (ja) データ送信装置及びデータ送信方法
CA2587815A1 (en) In-memory compression and encryption
JP2006304138A (ja) 選択再送型通信装置
JPH10341217A (ja) マルチメディア多重化通信システム
JP3291451B2 (ja) データ処理システム及び処理方法
JPH07245606A (ja) インタフェース変換装置
Andersson et al. Very Low Bandwidth (Marine) Web Surfing A Fault-Tolerant Content Streaming Web Browsing Solution
KR101416901B1 (ko) 손실된 영상 패킷을 복구하는 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130516

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140516

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150610

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160615

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170619

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee