KR101594481B1 - 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 및 그 운용방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체 - Google Patents

수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 및 그 운용방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체 Download PDF

Info

Publication number
KR101594481B1
KR101594481B1 KR1020140124205A KR20140124205A KR101594481B1 KR 101594481 B1 KR101594481 B1 KR 101594481B1 KR 1020140124205 A KR1020140124205 A KR 1020140124205A KR 20140124205 A KR20140124205 A KR 20140124205A KR 101594481 B1 KR101594481 B1 KR 101594481B1
Authority
KR
South Korea
Prior art keywords
key
hardware
stage
cipher
cpu
Prior art date
Application number
KR1020140124205A
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 KR1020140124205A priority Critical patent/KR101594481B1/ko
Application granted granted Critical
Publication of KR101594481B1 publication Critical patent/KR101594481B1/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4623Processing of entitlement messages, e.g. ECM [Entitlement Control Message] or EMM [Entitlement Management Message]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 일반적으로 수신제한 시스템(Conditional Access System; CAS)에서 복호화 키 값을 생성하기 위한 키 래더(Key ladder)의 효과적인 하드웨어 설계 기술에 관한 것이다. 더욱 상세하게는, 본 발명은 수신제한 시스템에서 트랜스포트 스트림(Transport Stream)의 복호화에 사용되는 키를 생성함에 있어서 하드웨어 키 래더를 채택함으로써 보안성을 확보하면서도 종래 하드웨어 방식의 문제점인 유연성(flexibility)를 개선하여 다양한 방식의 수신제한 시스템에 적용 가능하도록 한 설계 기술에 관한 것이다.

Description

수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 및 그 운용방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체{Flexible Hardware Key Ladder for Conditional Access System, Operation Method for the same, and Computer-Readable Recording Meidum for the same}
본 발명은 일반적으로 수신제한 시스템(Conditional Access System; CAS)에서 복호화 키 값을 생성하기 위한 키 래더(Key ladder)의 효과적인 하드웨어 설계 기술에 관한 것이다. 더욱 상세하게는, 본 발명은 수신제한 시스템에서 트랜스포트 스트림(Transport Stream)의 복호화에 사용되는 키를 생성함에 있어서 하드웨어 키 래더를 채택함으로써 보안성을 확보하면서도 종래 하드웨어 방식의 문제점인 유연성(flexibility)를 개선하여 다양한 방식의 수신제한 시스템에 적용 가능하도록 한 설계 기술에 관한 것이다.
키 래더(Key ladder)란 방송스트림의 수신단에서 트랜스포트 스트림(TS)에서 전송받은 정보를 이용하여 암호화/복호화에 사용되는 키를 생성해내는 일반적인 구조를 말한다.
일반적인 키 래더의 과정은 [도 1]과 같다. 기본적으로 루트 키(Root Key)는 수신단(예: 셋톱박스)에서 가지고 있는 값이다. 또한, 각 스테이지 별로 EK_k (EK: Encrypted Key, k : 현재 스테이지)가 암호화된 상태로 트랜스포트 스트림에 삽입되어 전송되는데, 수신단은 루트 키와 이들 EK_k를 이용하여 트랜스포트 스트림의 복호화에 사용되는 키 값을 생성해낸다.
키 래더를 구성하는 스테이지의 갯수(Stage number) 및 각 스테이지에 사용되는 복호화 알고리즘은 수신제한 시스템마다 상이하게 설계된다. 스테이지 수(N)는 3~5이고 복호화 알고리즘은 TDES(Tripple Des)와 AES(Advanced Encryption Standard)가 사용되는 것이 일반적이다.
한편, 키 래더 시스템은 설계 방식에 있어서 일반적으로 CPU가 모든 과정에 참여하는 소프트웨어(SW) 방식, 그리고 CPU가 최소한의 참여만 하는 하드웨어(HW) 방식으로 구분된다.
SW 방식은 CPU가 모든 과정에 참여하기 때문에 각 스테이지 수, 복호화 알고리즘을 수신제한 시스템에 맞게 유연성있게 변경 가능하다는 장점이 있다. 반면, CPU가 Root Key, EK_k, 그리고 최종 결과물인 키 값까지 알 수 있기 때문에 보안이 취약하다는 단점이 있다.
HW 방식은 하드웨어 회로의 형태로 구현된 복호화 매커니즘(HW decryption)을 사용하여 동작하고 CPU는 복호화 매커니즘을 운영하기 위한 최소한의 정보만을 알 수 있기 때문에 보안성을 확보할 수 있다는 장점이 있다. 반면, 스테이지 수나 복호화 알고리즘 등이 미리 고정되어 있어서 유연성이 낮아 다양한 수신제한 시스템에 적용하기 힘들다는 단점이 있다.
SW 방식과 HW 방식은 각자의 장단점을 가지고 있기 때문에 이들 양자의 장점을 고르게 취하는 것이 바람직하다. 그에 따라, 수신제한 시스템에서 가장 중요한 요구사항인 불법복제를 방지하기 위한 보안성을 극대화하면서도 어느 정도의 유연성을 제공할 수 있는 기술이 요망된다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
KR 10-2002-0079937 A KR 10-2005-0021979 A KR 10-2005-0034206 A KR 10-2005-0119619 A KR 10-2007-0098638 A KR 10-2008-0128040 A KR 10-2009-0097355 A KR 10-2009-0117322 A KR 10-2012-0095915 A
본 발명의 목적은 일반적으로 수신제한 시스템(CAS)에서 복호화 키 값을 생성하기 위한 키 래더의 효과적인 하드웨어 설계 기술을 제공하는 것이다. 특히, 본 발명의 목적은 수신제한 시스템에서 트랜스포트 스트림(TS)의 복호화에 사용되는 키를 생성함에 있어서 하드웨어 키 래더를 채택함으로써 보안성을 확보하면서도 종래 하드웨어 방식의 문제점인 유연성를 개선하여 다양한 방식의 수신제한 시스템에 적용 가능하도록 한 설계 기술을 제공하는 것이다.
이상의 과제를 달성하기 위한 본 발명에 따른 플렉서블 하드웨어 키 래더는, 하드웨어 키 래더를 운영하기 위한 각 스테이지별 EK_k 값 및 Key_k 값을 저장하기 위한 스토리지 공간을 제공하는 하드웨어 보안 키 테이블(120); k번째 스테이지에 대해 Data 입력으로 하드웨어 보안 키 테이블로부터 읽어온 EK_k 값을 입력받고 Key 입력으로 Root_Key 또는 하드웨어 보안 키 테이블로부터 읽어온 이전 스테이지의 Key_(k-1) 값을 입력받고 특정의 디크립션 알고리즘에 따른 디크립션을 수행하여 Result 출력으로 키 값 Key_k를 출력하여 하드웨어 보안 키 테이블에 저장하는 하드웨어 사이퍼(130); 하드웨어 사이퍼에 대해 N번의 스테이지를 반복 수행함으로써 복호화 키를 생성하는 N-스테이지 키 래더를 구현하며, k번째 스테이지에 대해 트랜스포트 스트림으로부터 획득한 암호화된 키 값인 EK_k를 하드웨어 보안 키 테이블로 저장하면서 그 주소를 하드웨어 사이퍼의 Data 입력에 설정하고 이전 스테이지에서 생성된 키 값인 Key_(k-1)이 하드웨어 보안 키 테이블에 저장된 주소를 하드웨어 사이퍼의 Key 입력에 설정하고 k번째 스테이지에서 생성될 키 값인 Key_k를 저장할 하드웨어 보안 키 테이블의 주소를 하드웨어 사이퍼의 Result 출력에 설정하는 CPU(110);를 포함하여 구성된다.
이때, CPU(110)는 하드웨어 보안 키 테이블에 Write Only 속성을 가지고, 하드웨어 사이퍼(130)는 하드웨어 보안 키 테이블(120)에 Read 및 Write 속성을 갖는 것이 바람직하다. 또한, CPU(110)는 하드웨어 사이퍼(130)의 디크립션 알고리즘을 설정하는 것이 바람직하다.
이상의 과제를 달성하기 위한 본 발명에 따른 플렉서블 하드웨어 키 래더 운용 방법은, Root Key를 하드웨어 사이퍼의 Key 입력에 설정하고 스테이지 인덱스 k를 초기화하는 제 1 단계; 트랜스포트 스트림으로부터 암호화된 키 값인 EK_k를 획득하면 CPU가 EK_k를 하드웨어 보안 키 테이블에 저장하고 그 주소를 하드웨어 사이퍼의 Data 입력에 설정하는 제 2 단계; CPU가 이번 스테이지에서 생성될 키 값인 Key_k를 저장할 하드웨어 보안 키 테이블의 주소를 하드웨어 사이퍼의 Result 출력에 설정하는 제 3 단계; 하드웨어 사이퍼가 디크립션을 수행하는 제 4 단계; 하드웨어 사이퍼가 디크립션을 수행하여 Result 출력인 Key_k를 제 b 단계에서 설정된 주소에 대응하여 하드웨어 보안 키 테이블에 저장하는 제 5 단계; 스테이지 인덱스 k가 키 래더의 스테이지 넘버 N과 비교하는 제 6 단계; 그 비교 결과 k와 N이 동일하지 않은 경우, Result 출력인 Key_k가 저장된 주소를 하드웨어 사이퍼를 위한 다음 스테이지의 Key 입력에 설정하고 스테이지 인덱스 k를 증가시켜 다음 스테이지에 대해 제 2 단계로 진행하는 제 7 단계; 그 비교 결과 k와 N이 동일하다면 Result 출력인 Key_N을 하드웨어 키 래더의 복호화 키 값으로 출력하는 제 8 단계;를 포함하여 구성된다.
이때, 제 1 단계는 CPU가 하드웨어 사이퍼의 디크립션 알고리즘을 설정하는 단계를 포함하여 구성되는 것이 바람직하다. 또한, 제 5 단계와 제 6 단계 사이에 수행되는, 하드웨어 사이퍼가 CPU에 대해 인터럽트를 요구하는 단계;를 더 포함하여 구성되는 것이 바람직하다.
한편, 본 발명에 따른 컴퓨터로 판독가능한 기록매체는 컴퓨터에 이상과 같은 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 운용 방법을 실행시키기 위한 프로그램을 기록한 것이다.
본 발명에 따르면 수신제한 시스템에서 하드웨어 방식의 키 래더를 채택함으로써 보안성을 극대화하면서도 종래 하드웨어 방식의 문제점인 키 래더의 유연성를 개선하여 하나의 키 래더 설계를 다양한 방식의 수신제한 시스템에 적용 가능하도록 할 수 있는 장점이 있다.
[도 1]은 종래기술에 따른 키 래더의 구조를 나타내는 도면,
[도 2]는 본 발명에 따른 하드웨어 키 래더의 전체 구조를 나타내는 도면,
[도 3]은 본 발명에서 기본적인 스테이지 프로세스를 나타내는 도면,
[도 4]는 본 발명에서 하드웨어 보안 키 테이블의 Read 포트와 Write 포트의 구조를 나타내는 도면,
[도 5]는 본 발명에 따른 하드웨어 키 래더의 처리 프로세스를 나타내는 순서도.
이하에서는 도면을 참조하여 본 발명을 상세하게 설명한다.
본 발명은 하드웨어로 이루어진 키 래더(HW Key Ladder)를 소프트웨어 방식으로 제어하는 구조이다. 구체적으로는, 실제 키 정보가 저장되는 키 테이블은 하드웨어로 구성하고, 이를 바탕으로 각 스테이지에서의 연산 제어는 소프트웨어로 처리한다. 이를 통해 CPU는 키 정보의 흐름과 위치는 알 수 있지만 중요한 정보는 얻어낼 수 없는 구조이다.
본 발명은 IRQ(Interrupt Request) 기반으로 스테이지마다 CPU가 다음 스테이지를 구동하는 방식을 사용하였으며 최종 결과물인 키 값(KEY)도 하드웨어 사이퍼(HW Cipher)만이 읽을 수 있는 보안 방식이다.
[도 2]는 본 발명에 따른 하드웨어 키 래더(100)의 전체 구조를 나타내는 도면이다. 본 발명의 하드웨어 키 래더(100)는 CPU(110), 하드웨어 보안 키 테이블(HW Secure Key Table; 120), 하드웨어 사이퍼(HW Cipher Engine; 130)을 포함하여 구성된다.
먼저, 하드웨어 보안 키 테이블(120)은 하드웨어 키 래더(100)를 운영하기 위한 정보인 각 스테이지 별 EK_k 값 및 Key_k 값 등을 저장하기 위한 스토리지 공간을 제공한다. 구체적으로는, 레지스터(register) 또는 메모리(memory)로 구현될 수 있다.
본 발명에서 하드웨어 보안 키 테이블(120)은 CPU(110)와 하드웨어 사이퍼(130)가 액세스 가능하다. CPU(110)는 하드웨어 보안 키 테이블(120)에 Write Only 속성을 가지며(Read 불가), 하드웨어 사이퍼(130)는 하드웨어 보안 키 테이블(120)에 Write, Read가 가능하다. CPU(110)는 하드웨어 보안 키 테이블(120)을 Read 불가능한 이유는 보안성을 고려한 것이다.
CPU(110)는 하드웨어 키 래더(100)에서 프로세싱 기능을 수행하는 하드웨어 모듈로서 일반적으로는 모바일 AP(Application Processor)로 구현된다. CPU(110)는 하드웨어 키 래더(100)의 각 모듈이 하드웨어 보안 키 테이블(120)에서 액세스하는 주소를 제어할 수 있으나, 각 모듈이 하드웨어 보안 키 테이블(120)에 읽고 쓰는 값은 알 수 없다.
하드웨어 사이퍼(130)는 디크립션 알고리즘을 수행하는 회로 부분이다. 일반적으로는 범용 프로세서로 구현되는데, 본 발명에서 하드웨어 사이퍼(130)가 수행하는 디크립션 알고리즘은 CPU(110)가 초기화 단계에서 설정할 수 있도록 하는 것이 범용성 측면에서 바람직하다.
본 발명의 하드웨어 키 래더(100)를 구성하는 개별 스테이지는 동일한 메커니즘으로 구성되는데, [도 3]은 본 발명에 양호하게 적용 가능한 기본적인 스테이지 프로세스의 일 예를 나타내는 도면이다. 하나의 스테이지(k번째 스테이지)를 살펴보면, EK_k가 하드웨어 사이퍼(130)의 데이터 입력으로 들어가고 Root Key 또는 이전 스테이지에서 생성된 키 값인 Key_(k-1)가 하드웨어 사이퍼(130)의 Key 입력으로 제공된다. 그리고, 디크립션을 수행하면 하드웨어 사이퍼(130)는 다음 스테이지에 사용될 키 값인 Key_k를 출력한다.
이와 같은 스테이지를 N개 누적시켜 N-스테이지의 키 래더를 구성하며, N개의 스테이지를 모두 수행한 결과물인 Key_N이 수신제한 시스템의 복호화 키로 사용된다.
이하에서는 [도 2]에 도시된 본 발명에 따른 하드웨어 키 래더(100)를 구성하는 개별 구성요소에 대해 좀더 구체적으로 살펴본다.
먼저, 하드웨어 보안 키 테이블(120)은 k번째 스테이지(k는 1 내지 N-1)에서의 중간 결과물 Key_k와 입력값 EK_k, 그리고 키 래더(100)의 최종 결과물인 복호화 키(Key_N)가 저장되는 공간으로서 레지스터(register) 또는 메모리(memory)로 구현될 수 있다.
하드웨어 보안 키 테이블(120)은 본 발명에 따른 하드웨어 키 래더(100) 의 핵심 정보를 담고 있으므로 CPU(110)는 Write Only로만 액세스할 수 있고 읽는 것은 허용되지 않는다. CPU(110)는 하드웨어 보안 키 테이블(120)에 EK 값을 기록할 수 있다. 하드웨어 보안 키 테이블(120)은 복수의 키 값을 저장할 수 있으므로 용도에 따라 여러가지 수신제한 시스템에 대응할 수 있다.
[도 4]는 본 발명에서 하드웨어 보안 키 테이블(120)의 Read 포트와 Write 포트의 구조를 나타내는 도면이다. 본 발명에서는 Read 포트와 Write 포트를 독립적으로 구성하여, Read 포트는 하드웨어 사이퍼(130)만 액세스하도록 하고 Write 포트는 하드웨어 사이퍼(130)와 CPU(110)가 액세스 가능하도록 아비터(arbiter)를 거친다.
CPU(110)에 대해서 살펴본다. 종래기술에서의 소프트웨어 방식과는 달리 본 발명에서 CPU(110)는 Key_k 및 EK_k 값을 알 수 없다. 대신, CPU(110)는 하드웨어 보안 키 테이블(120) 내에서 타겟 데이터의 위치를 지정하는 역할(addressing)을 수행하여 하드웨어 사이퍼(130)가 하드웨어 보안 키 테이블(120)에서 그 지정된 어드레스로부터 이들 키 값을 읽고 트랜스포트 스트림을 복호화할 수 있도록 컨트롤해준다.
현재 여러가지 종류의 수신제어 시스템이 사용되고 있는데, 이들 수신제어 시스템은 키 래더의 스테이지 넘버(N)가 상이하다. 그에 따라, CPU(110)는 현재 스테이지 값 k와 수신제어 시스템의 스테이지 넘버 N을 비교하여 올바른 암호화 키 결과물이 나오도록 한다.
하드웨어 사이퍼(130)는 복호화를 수행하는 하드웨어 모듈로서 [도 3]을 참조하면 Data 입력, Key 입력, Result 출력으로 이루어진다. [도 3]과 같이 EK_k가 Data 입력이 되고, Root Key 또는 이전 스테이지의 Key_k가 Key 입력이 되며, Result 출력은 하드웨어 보안 키 테이블(120)에 저장되어 다음 스테이지에서 하드웨어 사이퍼(130)의 Key 입력으로 사용된다.
[도 5]는 본 발명에 따른 하드웨어 키 래더(100)의 처리 프로세스를 나타내는 순서도이다.
단계 (S110) : 하드웨어 키 래더(100)의 초기화 단계이다. 트랜스포트 스트림을 입력받기 전에 CPU(110)는 하드웨어 사이퍼(130)의 디크립션 알고리즘을 설정하고 Root key를 하드웨어 사이퍼(130)의 Key 입력으로 설정한다. 초기 스테이지임에 따라 스테이지 인덱스 k를 1로 설정한다.
단계 (S120) : 수신단이 트랜스포트 스트림을 받으면서 파싱을 시작한다.
단계 (S130) : 트랜스포트 스트림으로부터 암호화된 키 값인 EK_k를 획득하면 CPU(110)는 그 획득한 EK_k를 하드웨어 보안 키 테이블(120)에 저장한다.
단계 (S140) : 하드웨어 사이퍼(130)를 동작시키기 위해 CPU(110)는 Data 입력에 해당하는 EK_k가 하드웨어 보안 키 테이블(120)에 저장된 주소를 하드웨어 사이퍼(130)에 설정한다. 또한, CPU(110)는 해당 스테이지가 디크립션 결과로 출력할 키 값인 Key_k가 하드웨어 보안 키 테이블(120)에 저장될 주소를 하드웨어 사이퍼(130)에 설정한다.
단계 (S150, S160) : [도 3]을 참조하여 전술한 바와 같이 하드웨어 사이퍼(130)을 이용하여 해당 스테이지에 대한 디크립션을 수행한다. 하드웨어 사이퍼(130)는 디크립션의 결과물인 Key_k를 앞서 (S140)에 설정된 주소를 참조하여 하드웨어 보안 키 테이블(120)에 저장한다. 그리고 나서, CPU(110)로 인터럽트를 요구한다.
단계 (S170 내지 S190) : CPU(110)는 스테이지 인덱스 k가 스테이지 넘버 N과 비교함으로써 하드웨어 키 래더(100)의 마지막 스테이지까지 도달하였는지 체크한다. 아직 마지막 스테이지까지 도달하지 않았다면, CPU(110)는 (S140)에서 설정한 Key_k의 주소를 하드웨어 사이퍼(130)의 Key 입력으로 설정하고 스테이지 인덱스 k를 증가시켜 다음 스테이지로 진행한다.
단계 (S200) : 만일 마지막 스테이지에 도달하였다면 이번 스테이지에서 획득한 Key_N은 수신제한 시스템의 복호화 키에 해당하며, 그에 따라 하드웨어 키 래더(100)의 프로세스를 완료된다.
본 발명은 하드웨어 키 래더의 구조를 개선하는 기술에 관한 것으로서, 수신제한 시스템(CAS)의 가장 핵심이자 중요한 정보인 복호화 키의 보안은 하드웨어적으로 달성하고 키 래더의 구조는 CPU(110)가 관리하여 유연하도록 설계한 데에 중점을 두었다.
소프트웨어 해킹이 발전함에 따라 키 래더 시스템은 하드웨어를 통한 보안성 확보가 필수적인 것으로 인식되고 있다. 하지만 하드웨어적인 보안 방식의 경우에는 유연성이 떨어져서 개별 수신제한 시스템마다 다른 버전의 하드웨어를 사용해야 하고, 보안방식이 새롭게 업데이트될 경우 하드웨어의 전면적인 수정이 필요하게 되는 문제점이 있다.
하지만 본 발명의 키 래더는 하드웨어의 보안성을 가져옴과 동시에 CPU(110)로 키 데이터의 흐름을 관리할 수 있으므로 소프트웨어 방식과 하드웨어 방식의 장점을 모두 얻을 수 있는 구조이다. 또한 트랜스포트 스트림의 수신단에서 소프트웨어 해킹에 의해 컨텐츠 보안이 깨지는 경우가 발생하더라도 복호화 키에 관한 정보는 누설되지 않으므로 수신제한 시스템의 비밀은 유지된다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드의 형태로 구현하는 것이 가능하다. 이때, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 캐리어웨이브(예: 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산된 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인 프로그램, 코드, 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예가 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명하다.
100 : 하드웨어 키 래더
110 : CPU
120 : 하드웨어 보안 키 테이블
130 : 하드웨어 사이퍼

Claims (7)

  1. 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더로서,
    하드웨어 키 래더를 운영하기 위한 각 스테이지별 EK_k 값 및 Key_k 값을 저장하기 위한 스토리지 공간을 제공하는 하드웨어 보안 키 테이블(120);
    k번째 스테이지에 대해 Data 입력으로 상기 하드웨어 보안 키 테이블로부터 읽어온 EK_k 값을 입력받고 Key 입력으로 Root_Key 또는 상기 하드웨어 보안 키 테이블로부터 읽어온 이전 스테이지의 Key_(k-1) 값을 입력받고 특정의 디크립션 알고리즘에 따른 디크립션을 수행하여 Result 출력으로 키 값 Key_k를 출력하여 상기 하드웨어 보안 키 테이블에 저장하는 하드웨어 사이퍼(130); 그리고
    상기 하드웨어 사이퍼에 대해 N번의 스테이지를 반복 수행함으로써 복호화 키를 생성하는 N-스테이지 키 래더를 구현하며, k번째 스테이지에 대해 트랜스포트 스트림으로부터 획득한 암호화된 키 값인 EK_k를 상기 하드웨어 보안 키 테이블로 저장하면서 그 주소를 상기 하드웨어 사이퍼의 Data 입력에 설정하고 이전 스테이지에서 생성된 키 값인 Key_(k-1)이 상기 하드웨어 보안 키 테이블에 저장된 주소를 상기 하드웨어 사이퍼의 Key 입력에 설정하고 k번째 스테이지에서 생성될 키 값인 Key_k를 저장할 상기 하드웨어 보안 키 테이블의 주소를 상기 하드웨어 사이퍼의 Result 출력에 설정하는 CPU(110);
    를 포함하고,
    상기 CPU(110)는 상기 하드웨어 보안 키 테이블에 Write Only 속성을 가지고,
    상기 하드웨어 사이퍼(130)는 상기 하드웨어 보안 키 테이블(120)에 Read 및 Write 속성을 갖는 것을 특징으로 하는 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 CPU(110)는 상기 하드웨어 사이퍼(130)의 디크립션 알고리즘을 설정하는 것을 특징으로 하는 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더.
  4. 수신제한 시스템을 위하여 CPU와 하드웨어 사이퍼와 하드웨어 보안 키 테이블를 구비한 N-스테이지의 하드웨어 키 래더를 운용하는 방법으로서,
    Root Key를 하드웨어 사이퍼의 Key 입력에 설정하고 스테이지 인덱스 k를 초기화하는 제 1 단계;
    트랜스포트 스트림으로부터 암호화된 키 값인 EK_k를 획득하면 상기 CPU가 상기 EK_k를 상기 하드웨어 보안 키 테이블에 저장하고 그 주소를 상기 하드웨어 사이퍼의 Data 입력에 설정하는 제 2 단계;
    상기 CPU가 이번 스테이지에서 생성될 키 값인 Key_k를 저장할 상기 하드웨어 보안 키 테이블의 주소를 상기 하드웨어 사이퍼의 Result 출력에 설정하는 제 3 단계;
    상기 하드웨어 사이퍼가 디크립션을 수행하는 제 4 단계;
    상기 하드웨어 사이퍼가 디크립션을 수행하여 Result 출력인 Key_k를 상기 제 3 단계에서 설정된 주소에 대응하여 상기 하드웨어 보안 키 테이블에 저장하는 제 5 단계;
    상기 스테이지 인덱스 k가 상기 키 래더의 스테이지 넘버 N과 비교하는 제 6 단계;
    상기 비교 결과 상기 k와 상기 N이 동일하지 않은 경우, 상기 Result 출력인 Key_k가 저장된 주소를 상기 하드웨어 사이퍼를 위한 다음 스테이지의 Key 입력에 설정하고 상기 스테이지 인덱스 k를 증가시켜 다음 스테이지에 대해 상기 제 2 단계로 진행하는 제 7 단계;
    상기 비교 결과 상기 k와 상기 N이 동일하다면 상기 Result 출력인 Key_N을 상기 하드웨어 키 래더의 복호화 키 값으로 출력하는 제 8 단계;
    를 포함하여 구성되는 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 운용 방법.
  5. 청구항 4에 있어서,
    상기 제 1 단계는 상기 CPU가 상기 하드웨어 사이퍼의 디크립션 알고리즘을 설정하는 단계를 포함하여 구성되는 것을 특징으로 하는 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 운용 방법.
  6. 청구항 5에 있어서,
    상기 제 5 단계와 상기 제 6 단계 사이에 수행되는,
    상기 하드웨어 사이퍼가 상기 CPU에 대해 인터럽트를 요구하는 단계;
    를 더 포함하여 구성되는 것을 특징으로 하는 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 운용 방법.
  7. 컴퓨터에 청구항 4 내지 청구항 6 중 어느 하나의 항에 따른 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 운용 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
KR1020140124205A 2014-09-18 2014-09-18 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 및 그 운용방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체 KR101594481B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140124205A KR101594481B1 (ko) 2014-09-18 2014-09-18 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 및 그 운용방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140124205A KR101594481B1 (ko) 2014-09-18 2014-09-18 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 및 그 운용방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체

Publications (1)

Publication Number Publication Date
KR101594481B1 true KR101594481B1 (ko) 2016-02-15

Family

ID=55357558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140124205A KR101594481B1 (ko) 2014-09-18 2014-09-18 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 및 그 운용방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체

Country Status (1)

Country Link
KR (1) KR101594481B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004241980A (ja) 2003-02-05 2004-08-26 Victor Co Of Japan Ltd 秘密鍵管理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004241980A (ja) 2003-02-05 2004-08-26 Victor Co Of Japan Ltd 秘密鍵管理装置

Similar Documents

Publication Publication Date Title
US10594474B2 (en) Architecture and instruction set for implementing advanced encryption standard (AES)
CN110650010B (zh) 一种非对称密钥中的私钥生成和使用方法、装置和设备
US8036379B2 (en) Cryptographic processing
US7929692B2 (en) Firmware encrypting and decrypting method and an apparatus using the same
CN109564553B (zh) 多阶段存储器完整性方法和装置
US10121392B2 (en) Masking and unmasking methods and devices
WO2019109967A1 (en) Storage apparatus and method for address scrambling
US9898623B2 (en) Method for performing an encryption with look-up tables, and corresponding encryption apparatus and computer program product
US10027640B2 (en) Secure data re-encryption
JP6109441B1 (ja) ラウンド削減型暗号を採用するxts暗号化システムとともに使用するための動的暗号化鍵
US20170244677A1 (en) Operation method based on white-box cryptography and secure terminal for performing the method
US20090319801A1 (en) Security-Enhanced Storage Devices Using Media Location Factor in Encryption of Hidden and Non-Hidden Partitions
JP2006085676A (ja) 暗号化命令処理装置
US10841090B2 (en) Plaintexts encrypted with pluralities of keys
US20170046280A1 (en) Data processing device and method for protecting a data processing device against attacks
US10102386B2 (en) Decrypting content protected with initialization vector manipulation
US10742400B2 (en) Datastream block encryption
US20100064125A1 (en) Programmable device and booting method
KR101594481B1 (ko) 수신제한 시스템을 위한 플렉서블 하드웨어 키 래더 및 그 운용방법, 그리고 이를 위한 컴퓨터로 판독가능한 기록매체
KR20180059217A (ko) 메모리 데이터 보안 처리 장치 및 방법
US20210143978A1 (en) Method to secure a software code performing accesses to look-up tables
CN109902492B (zh) 集成电路外部存储器中写加密信息集合的方法和集成电路
US9735956B2 (en) Key ladder apparatus and method
US11677541B2 (en) Method and device for secure code execution from external memory
CN116126516A (zh) 视频数据处理方法、装置、计算机设备及可读存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190115

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 5