KR100585135B1 - 불법 복제 방지 기능을 갖는 aes 엔진 장치 및 이의암호화/복호화 방법 - Google Patents

불법 복제 방지 기능을 갖는 aes 엔진 장치 및 이의암호화/복호화 방법 Download PDF

Info

Publication number
KR100585135B1
KR100585135B1 KR1020040013780A KR20040013780A KR100585135B1 KR 100585135 B1 KR100585135 B1 KR 100585135B1 KR 1020040013780 A KR1020040013780 A KR 1020040013780A KR 20040013780 A KR20040013780 A KR 20040013780A KR 100585135 B1 KR100585135 B1 KR 100585135B1
Authority
KR
South Korea
Prior art keywords
key
encrypted
aes engine
storage medium
field
Prior art date
Application number
KR1020040013780A
Other languages
English (en)
Other versions
KR20050087989A (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 KR1020040013780A priority Critical patent/KR100585135B1/ko
Priority to US11/033,838 priority patent/US7630498B2/en
Priority to DE102005010783A priority patent/DE102005010783B4/de
Publication of KR20050087989A publication Critical patent/KR20050087989A/ko
Application granted granted Critical
Publication of KR100585135B1 publication Critical patent/KR100585135B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01CCONSTRUCTION OF, OR SURFACES FOR, ROADS, SPORTS GROUNDS, OR THE LIKE; MACHINES OR AUXILIARY TOOLS FOR CONSTRUCTION OR REPAIR
    • E01C15/00Pavings specially adapted for footpaths, sidewalks or cycle tracks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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)
    • H04L9/0822Key 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) using key encryption key
    • 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
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01CCONSTRUCTION OF, OR SURFACES FOR, ROADS, SPORTS GROUNDS, OR THE LIKE; MACHINES OR AUXILIARY TOOLS FOR CONSTRUCTION OR REPAIR
    • E01C11/00Details of pavings
    • E01C11/22Gutters; Kerbs ; Surface drainage of streets, roads or like traffic areas
    • E01C11/224Surface drainage of streets
    • E01C11/225Paving specially adapted for through-the-surfacing drainage, e.g. perforated, porous; Preformed paving elements comprising, or adapted to form, passageways for carrying off drainage
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01CCONSTRUCTION OF, OR SURFACES FOR, ROADS, SPORTS GROUNDS, OR THE LIKE; MACHINES OR AUXILIARY TOOLS FOR CONSTRUCTION OR REPAIR
    • E01C2201/00Paving elements
    • E01C2201/12Paving elements vertically interlocking
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01CCONSTRUCTION OF, OR SURFACES FOR, ROADS, SPORTS GROUNDS, OR THE LIKE; MACHINES OR AUXILIARY TOOLS FOR CONSTRUCTION OR REPAIR
    • E01C2201/00Paving elements
    • E01C2201/20Drainage details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/605Copy protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Structural Engineering (AREA)
  • Civil Engineering (AREA)
  • Architecture (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

불법 복제 방지(copy protection) 기능을 갖는 AES(Advanced Encryption Standards) 엔진 장치 및 이의 암호화(encryption)/복호화(decryption) 방법이 개시된다. 상기 AES 엔진 장치는, AES 엔진 코아(engine core), 키 관리 레지스터(key managemnet register), 및 제어회로를 구비한다. 상기 AES 엔진 코아는, 키를 이용하여 데이터를 암호화하는 기능, 상기 키를 암호화하는 기능, 저장매체로부터 암호화된 데이터를 받아 복호화하는 기능, 및 상기 저장매체로부터 암호화된 키를 받아 복호화하는 기능을 수행한다. 상기 키 관리 레지스터는 다수의 필드(field)들을 포함하고, 상기 필드들을 이용하여 상기 키 및 상기 암호화된 키를 관리한다. 상기 제어회로는 상기 AES 엔진 코아 및 상기 키 관리 레지스터를 제어한다. 그리고 상기 AES 엔진 코아에 의해 복호화된 키는 키 테이블(key table)에 저장된다.

Description

불법 복제 방지 기능을 갖는 AES 엔진 장치 및 이의 암호화/복호화 방법{Advanced Encryption Standards engine apparatus having copy protection function and encryption/decryption method thereof}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1a는 본 발명의 일실시예에 따른 AES 엔진 장치를 나타내는 블록도이다.
도 1b는 도 1a에 도시된 AES 엔진 장치 내의 AES 엔진 코아에서 구현되는 기능들을 나타내는 도면이다.
도 2a는 도 1a의 본 발명에 따른 AES 엔진 장치에서의 암호화 과정을 개략적으로 나타내는 도면이다.
도 2b는 도 1a의 본 발명에 따른 AES 엔진 장치에서의 복호화 과정을 개략적으로 나타내는 도면이다.
도 3은 도 1a에 도시된 제어회로의 제어 스킴을 나타내는 흐름도이다.
도 4는 도 1a에 도시된 키 관리 레지스터의 구성을 나타내는 도면이다.
도 5는 AES 엔진 코아에 의한 키 암호화 동작을 상세히 나타내는 흐름도이다.
도 6은 AES 엔진 코아에 의한 키 복호화 동작을 상세히 나타내는 흐름도이다.
삭제
삭제
본 발명은 AES(Advanced Encryption Standards) 엔진 장치에 관한 것으로서, 특히 불법 복제 방지(copy protection) 기능을 구현한 AES 엔진 장치 및 이의 데이터 및 키 암호화(encryption)/복호화(decryption) 방법에 관한 것이다.
디지털 시대의 도래와 함께 거의 모든 시스템 기기들이 디지털화 되어 가고 있으며 또한 디지털 TV의 대중화도 얼마 남지 않았다. 그런데 방송의 콘텐츠(contents)가 모두 디지털화 되어감에 따라 방송 콘텐츠에 대한 보호 또한 큰 이슈가 되고 있다.
종래의 디지털 TV에는 불법 복제 방지 기능이 구현되어 있지 않거나 혹은 구현되어 있더라도 보안수준이 낮아 쉽게 접근하여 무한히 복제 가능하다는 위험성을 가지고 있다. 따라서 인가된 시청자만이 방송사가 송신하는 방송 데이터를 수신할 수 있다 하더라도 시청자가 그 방송 데이터를 녹화하였다면 녹화된 방송 데이터를 어떠한 경로로든 무한히 복제 가능하다. 따라서 디지털 방송 콘텐츠를 보호하기 위해서는 즉 방송 데이터를 복제하는 것을 방지하기 위해서는, 수신된 방송 데이터를 저장할 때에는 데이터를 암호화하여 저장하고 이때 사용된 키 또한 암호화하여 저장하며, 저장된 데이터를 다시 시청하고자 할 때에는 저장된 암호화된 키를 먼저 복호화하고 그 복호화된 키를 사용하여 암호화된 데이터를 복호화할 수 있는 불법 복제 방지 장치가 필수적이다.
일반적으로 종래의 불법 복제 방지 장치는 DES(Data Encryption Standards) 암호화 알고리즘을 이용하여 구현되는 데 이 DES 알고리즘은 불안정하다는 단점이 있다. 따라서 근래에 AES(Advanced Encryption Standards) 암호화 알고리즘이 표준화되고 있으며 AES 알고리즘을 구현하는 회로 및 방법의 일예가 미국 특허출원 공개번호 US2002/0191784 A1에 개시되어 있다.그런데 종래의 AES 알고리즘을 이용하는 불법 복제 방지 장치는 보안레벨이 낮은 단점이 있다.
따라서 본 발명이 이루고자하는 기술적 과제는 보안레벨이 높은 불법 복제 방지(copy protection) 기능을 갖는 AES 엔진 장치를 제공하는 데 있다.
본 발명이 이루고자하는 다른 기술적 과제는 상기 AES 엔진 장치의 암호화/복호화 방법을 제공하는 데 있다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 AES 엔진 장치는, 키를 이용하여 데이터를 암호화하는 기능, 상기 키를 암호화하는 기능, 저장매체로부터 암호화된 데이터를 받아 복호화하는 기능, 및 상기 저장매체로부터 암호화된 키를 받아 복호화하는 기능을 수행하는 AES(Advanced Encryption Standards) 엔진 코아(engine core); 다수의 필드(field)들을 포함하고, 상기 필드들을 이용하여 상기 키 및 상기 암호화된 키를 관리하는 키 관리 레지스터(key managemnet register); 및 상기 AES 엔진 코아 및 상기 키 관리 레지스터를 제어하는 제어회로를 구비하고, 상기 AES 엔진 코아에 의해 복호화된 키는 키 테이블(key table)에 저장되는 것을 특징으로 한다.
상기 AES 엔진 코아에 의해 암호화된 데이터와 상기 AES 엔진 코아에 의해 암호화된 키는 PVR(Personal Video Recoder) 기입 인터페이스(write interface)를 통해 상기 저장매체에 저장된다. 상기 AES 엔진 코아에 의해 복호화된 키는 키 테이블(key table)에 저장된다.
삭제
바람직한 실시예에 따르면 상기 키 관리 레지스터는, 복제방지(copy protection)에 필요한 키를 정하는 메모리 영역의 오프셋을 나타내는 키 인덱스 필드(field), 상기 키를 저장하는 상기 키 테이블이 제1테이블 및 제2테이블로 분리되어 구성될 때 상기 제1테이블 및 상기 제2테이블을 지정하는 테이블 인덱스 필드, 상기 저장매체에 동시에 몇개의 프로그램 데이터를 저장할 수 있는 가를 나타내는 프로그램 수 필드, 상기 키를 암호화할 것인가 상기 암호화된 키를 복호화할 것인가를 분류하는 스크램블/디스크램블 필드, 및 상기 키를 암호화하거나 상기 암호화된 키를 복호화하라는 명령을 나타내는 인에이블 필드를 구비한다.
바람직한 실시예에 따르면 상기 AES 엔진 코아는 상기 인에이블 필드가 "온"되고 상기 스크램블/디스크램블 필드가 "오프"될 때, 상기 테이블 인덱스 필드 및 상기 키 인덱스 필드에 저장된 인덱스들을 기초로 하여 스크램블할 키를 상기 키 테이블에 요청하고, 상기 스크램블할 키를 상기 키 테이블에서 수신하고, 수신한 키를 내부의 하드웨어적으로 구성된 키(hardwired embedded key)를 이용하여 암호화한다.
바람직한 실시예에 따르면 상기 AES 엔진 코아는 상기 인에이블 필드가 "온"되고 상기 스크램블/디스크램블 필드가 "온"될 때, 상기 암호화된 키를 하드웨어적으로 구성된 키(hardwired embedded key)를 이용하여 복호화하고, 상기 테이블 인덱스 필드 및 상기 키 인덱스 필드에 저장된 인덱스들을 기초로 하여 상기 복호화된 키를 상기 키 테이블에 저장한다.
상기 다른 기술적 과제를 달성하기 위한 본 발명에 따른 AES 엔진 장치에서의 암호화/복호화 방법은, 키를 암호화하여 암호화된 키를 저장매체에 저장하는 단계; 상기 키를 이용하여, 데이터를 암호화하여 암호화된 데이터를 상기 저장매체에 저장하는 단계; 상기 저장매체로부터 상기 암호화된 키를 받아 복호화하여 복호화된 키를 키 테이블에 저장하는 단계; 및 상기 키 테이블에 저장되어 있는 상기 복호화된 키를 이용하여, 상기 저장매체로부터 상기 암호화된 데이터를 받아 복호화하는 단계를 구비하고, 상기 키 및 상기 암호화된 키는 다수의 필드(field)들을 포함하는 키 관리 레지스터(key managemnet register)에 의해 관리되는 것을 특징으로 한다.
바람직한 실시예에 따르면 상기 키를 암호화하여 암호화된 키를 저장매체에 저장하는 단계는, 상기 키 관리 레지스터 내의 인에이블 필드가 "온"되고 스크램블/디스크램블 필드가 "오프"될 때 수행된다. 상기 인에이블 필드는 상기 키를 암호화하거나 상기 암호화된 키를 복호화하라는 명령을 나타내는 필드이다. 상기 스크램블/디스크램블 필드는 상기 키를 암호화할 것인가 상기 암호화된 키를 복호화할 것인가를 분류하는 필드이다. 바람직한 실시예에 따르면 상기 키를 암호화하여 암호화된 키를 저장매체에 저장하는 단계는, 상기 키 관리 레지스터 내의 테이블 인덱스 필드 및 키 인덱스 필드에 저장된 인덱스들을 기초로 하여 스크램블할 키를 상기 키 테이블에 요청하는 단계, 상기 스크램블할 키를 상기 키 테이블에서 수신하는 단계, 수신한 키를 내부의 하드웨어적으로 구성된 키(hardwired embedded key)를 이용하여 암호화하는 단계, 이 암호화된 키를 소정의 키 레지스터에 저장하는 단계, 및 상기 키 레지스터에 저장되어 있는 암호화된 키를 상기 저장매체에 저장시키는 단계를 구비한다.
삭제
바람직한 실시예에 따르면 상기 암호화된 키를 복호화하여 복호화된 키를 키 테이블에 저장하는 단계는, 상기 인에이블 필드가 "온"되고 상기 스크램블/디스크램블 필드가 "온"될 때 수행된다.
바람직한 실시예에 따르면 상기 암호화된 키를 복호화하여 복호화된 키를 키 테이블에 저장하는 단계는, 상기 암호화된 키를 소정의 키 레지스터에 셋팅하는 단계, 상기 키 레지스터에 셋팅되어 있는 암호화된 키를 하드웨어적으로 구성된 키(hardwired embedded key)를 이용하여 복호화하는 단계, 및 상기 테이블 인덱스 필드 및 상기 키 인덱스 필드에 저장된 인덱스들을 기초로 하여 상기 복호화된 키를 상기 키 테이블에 저장하는 단계를 구비한다.
본 발명과 본 발명의 동작 상의 잇점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
본 발명의 실시예에 따른 AES 장치는 대표적으로 두가지 기능을 수행한다. 하나는 수신된 방송 프로그램, 즉 방송 데이터를 저장할 때 불법 복제 방지를 위해 암호화하는 것이며, 다른 하나는 이미 저장매체에 저장된 암호화된 방송 데이터를 시청자가 시청할 수 있도록 복호화하는 것이다.
또한 저장매체에 방송 데이터를 어떻게 암호화해서 저장할 것인가도 중요한 이슈이지만 암호화시 사용한 키(key)를 관리(manage)하는 것도 중요한 이슈이다. 왜냐하면 키 관리에 따라 보안수준이 결정되기 때문이다. 따라서 본 발명의 실시예에 따른 AES 장치는 키도 역시 암호화하여 저장매체에 저장해 두었다가 해당하는 방송 데이터를 플레이(play)할 때 저장매체에 저장되어 있는 키를 찾아 그 키를 복호화하여 복호화된 키를 셋팅한 후에 해당하는 방송 데이터를 복호화한다.
도 1A는 본 발명의 일실시예에 따른 AES 엔진 장치(100)를 나타내는 블록도이다. 여기에서는 설명의 편의를 위하여 저장매체(110), PVR(Personal Video Recorder) 기입 인터페이스(write interface)(120), 및 키 테이블(key table)(130)이 함께 도시되었다. 도 1B는 도 1A에 도시된 AES 엔진 장치(100) 내의 AES 엔진 코아(core)(101)에서 구현되는 기능들을 나타내는 도면이다.
도 1A를 참조하면, 본 발명의 일실시예에 따른 AES 엔진 장치(100)는, AES 엔진 코아(101), 제어회로(102), 및 키 관리(key management) 레지스터(103)를 구비한다.
AES 엔진 코아(101)는 하나의 하드웨어 장치로서 도 1B에 도시된 바와 같이 이 하나의 하드웨어 장치에 의해 데이터 암호화 수단(11), 키 암호화 수단(12), 데이터 복호화 수단(13), 및 키 복호화 수단(14)이 구현된다. 여기에서 수단의 의미는 하드웨어를 의미하는 것이 아니고 기능을 의미한다. 다시말해 하나의 AES 엔진 코아(101)가 제어회로(102)의 제어에 따라 데이터 암호화 기능, 키 암호화 기능, 데이터 복호화 기능, 및 키 복호화 기능을 선택적으로 수행한다.
좀더 상세하게는, 저장매체(110)에 프로그램을 저장하고자 할 때에는, AES 엔진 코아(101)는 수신된 방송 데이터(P)를 키(key)(K)를 이용하여 암호화하고 암호화된 데이터(E(P))를 PVR 기입 인터페이스(write interface)(120)로 전송한다. 또한 AES 엔진 코아(101)는 키(K)를 암호화하고 암호화된 키(E(K))를 PVR 기입 인터페이스(write interface)(120)로 전송한다. 이 전송받은 암호화된 키(E(K))는 PVR 기입 인터페이스(120) 내의 키 레지스터에 저장된다. PVR 기입 인터페이스(120)는 AES 엔진 장치(100)와 저장매체(110)를 연결하는 인터페이스이다.
삭제
삭제
한편 중앙처리장치(CPU)(미도시)는 PVR 기입 인터페이스(120) 내의 키 레지스터에 저장되어 있는 암호화된 키(E(K))를 암호화된 데이터(E(P))와 함께 저장매체(110)에 저장시킨다.
그리고 저장매체(110)에 저장된 프로그램을 플레이(play)하고자 할 때에는, AES 엔진 코아(101)는 저장매체(110)로부터 암호화된 데이터(E(P))를 받아 키(K)를 이용하여 복호화한다. 또한 AES 엔진 코아(101)는 저장매체(110)로부터 암호화된 키(E(K))를 받아 복호화하고 복호화된 키(K)를 키 테이블(130)에 저장시킨다.
제어회로(102)는 AES 엔진 코아(101)를 제어하고 또한 키 관리 레지스터(103)를 제어한다. 상술한 바와 같이 AES 엔진 코아(101)는 오직 하나 존재하므로, 제어회로(102)는 키(K)와 데이터(P)의 암호화/복호화가 하나의 엔진 코아(101)를 이용하여 구현될 수 있도록 Finite State Engine을 포함한다.
키 관리(key management) 레지스터(103)는 다수의 필드(field)들을 포함하고, 상기 필드들을 이용하여 키(K) 및 암호화된 키(E(K))를 관리한다. 키 관리 레지스터(103)의 구성은 도 4를 참조하여 상세히 후술된다.
삭제
삭제
도 2A는 도 1A의 본 발명에 따른 AES 엔진 장치(100)에서의 암호화 과정을 개략적으로 나타내는 도면이고, 도 2B는 도 1A의 본 발명에 따른 AES 엔진 장치(100)에서의 복호화 과정을 개략적으로 나타내는 도면이다.
도 2A를 참조하면, 수신된 방송 데이터(P)를 저장매체(110)에 저장할 때에는, 먼저 AES 엔진 코아(101)에 의해 키(K)를 암호화하여 암호화된 키(E(K))를 PVR 기입 인터페이스(120)를 통해 저장매체(110)에 저장한다(S21 단계). 그 다음에 AES 엔진 코아(101)에 의해 키(K)를 이용하여 방송 데이터(P)를 암호화하고 암호화된 데이터(E(P))를 PVR 기입 인터페이스(120)를 통해 저장매체(110)에 저장한다(S22 단계).
도 2B를 참조하면, 저장매체(110)에 저장되어 있는 방송 데이터를 플레이할 때에는, 먼저 AES 엔진 코아(101)에 의해 저장매체(110)로부터 암호화된 키(E(K))를 받아 복호화하고 복호화된 키(K)를 키 테이블(130)에 저장한다(S23 단계). 그 다음에 AES 엔진 코아(101)에 의해 저장매체(110)로부터 암호화된 데이터(E(P))를 받아 키 테이블(130)에 저장되어 있던 키(K)를 이용하여 복호화한다(S24 단계).
AES 엔진 장치(100)에서의 키 암호화 과정 및 키 복호화 과정은 도 5 및 도 6을 참조하여 더 상세히 후술된다.
도 3은 도 1A에 도시된 제어회로(102)의 제어 스킴을 나타내는 흐름도이다.
도 3을 참조하면, 제어회로(102)는 상기 AES 엔진 코아(101)가 아이들(idle) 상태에 있을 때(S31 단계) 키(K)를 스크램블(scramble)하라는 명령이 인가되면 키 스크램블 동작이 수행되도록 상기 AES 엔진 코아(101)를 비지(busy) 상태로 천이시킨다(S32 단계). 제어회로(102)는 상기 AES 엔진 코아(101)가 아이들(idle) 상태에 있을 때 암호화된 키(E(K))를 디스크램블(descramble)하라는 명령이 인가되면 키 디스크램블 동작이 수행되도록 상기 AES 엔진 코아(101)를 비지(busy) 상태로 천이시킨다(S33 단계). 또한 제어회로(102)는 상기 AES 엔진 코아(101)가 아이들(idle) 상태에 있을 때 방송 데이터(P)가 입력되어 내부의 입력 FIFO가 풀(full)되면 데이터 스크램블 동작이 수행되도록 상기 AES 엔진 코아(101)를 비지(busy) 상태로 천이시킨다(S34 단계). 제어회로(102)는 상기 AES 엔진 코아(101)가 아이들(idle) 상태에 있을 때 저장매체(110)에 저장된 데이터(E(P))를 플레이하기 위해 데이터(E(P))가 입력되어 입력 FIFO가 풀(full)되면 데이터 디스크램블 동작이 수행되도록 상기 AES 엔진 코아(101)를 비지(busy) 상태로 천이시킨다(S35 단계).
상기 AES 엔진 코아(101)의 비지 상태에서(S36 단계) 키 스크램블 동작, 키 디스크램블 동작, 데이터 스크램블 동작, 또는 데이터 디스크램블 동작이 완료되면 상기 AES 엔진 코아(101)를 다시 아이들(idle) 상태로 천이시킨다(S37 단계).
도 4는 도 1A에 도시된 키 관리 레지스터(103)의 구성을 나타내는 도면이다.
도 4를 참조하면, 키 관리 레지스터(103)는 키 인덱스 필드(field)(41), 테이블 인덱스 필드(42), 프로그램 수(number) 필드(43), 스크램블/디스크램블 필드(44), 및 인에이블 필드(45)를 구비한다. 키 인덱스 필드(41)는 복제방지(copy protection)에 필요한 키를 정하는 메모리 영역의 오프셋(offset)을 나타내는 필드이다.
테이블 인덱스 필드(42)는 키를 저장하는 키 테이블(130)이 제1테이블 및 제2테이블로 분리되어 구성될 때 제1테이블 및 제2테이블을 지정하는 필드이다. 제1테이블은 중앙처리장치(CPU)에 의해 액세스 가능하며 보안레벨이 제2테이블보다 낮으나 융통성이 있다(flexible)는 장점이 있다. 제2테이블은 디지털 TV내의 개별 불법 복제 방지 기능과 관련있으며 하드웨어적으로 랜덤 발생기(random generator)를 이용하여 생성된 키를 저장하는 공간 및 방송사에서 제공하는 스마트 카드를 통해 얻어지는 키를 저장하는 공간으로 분리 사용될 수 있으며 이에 따라 보안레벨을 높일 수 있다. 테이블 인덱스 필드(42)의 이러한 구조는 융통성(flexibility)을 높이고 보안레벨을 높이는 역할을 하며 사용자가 목적에 따라 제1테이블 또는 제2테이블을 선택하여 키를 저장할 수 있는 장점이 있다.
프로그램 수 필드(43)는 상기 저장매체에 동시에 몇개의 프로그램 데이터를 저장할 수 있는 가를 나타내는 필드이다. 저장매체에 동시에 두개의 프로그램 데이터가 저장될 수 있는 경우, 프로그램 수 필드(43)는 제1프로그램 데이터와 제2프로그램 데이터를 구분하는 필드에 해당한다.
스크램블/디스크램블 필드(44)는 키(K)를 암호화할 것인가 암호화된 키(E(K))를 복호화할 것인가를 분류하는 필드이다. 인에이블 필드(45)는 키(K)를 암호화하거나 암호화된 키(E(K))를 복호화하라는 명령을 나타내는 필드이다. 따라서 제어회로(102)는 키 관리 레지스터(103)의 인에이블 필드(45)를 모니터링(monitoring)하고 있다가 인에이블 필드(45)가 온(on)되면 키 암호화 수단(12)에 의한 키 암호화 동작을 진행시키거나 키 복호화 수단(14)에 의한 키 복호화 동작을 진행시킨다. 키 암호화 동작 또는 키 복호화 동작이 완료되면 인에이블 필드(45)를 오프(off)시킨다. 키 암호화 수단(12)이 키(K)를 암호화할 때나 키 복호화 수단(14)이 암호화된 키(E(K))를 복호화할 때는 내부의 하드웨어적으로 구성된 키(hardwired embedded key)(KE)가 사용된다.
도 5는 AES 엔진 코아(101)에 의한 키 암호화 동작을 상세히 나타내는 흐름도이다. AES 엔진 코아(101)에 의한 키 암호화 동작은 도 2A에서 S21 단계에 해당한다.
AES 엔진 코아(101)에 의한 키 암호화 동작은 키 관리 레지스터(103)의 인에이블 필드(45)가 "온"되고 스크램블/디스크램블 필드(44)가 "오프"될 때 수행된다(S51 단계). 먼저 키 관리 레지스터(103)의 테이블 인덱스 필드(42) 및 키 인덱스 필드(41)에 저장된 인덱스들을 기초로 하여 스크램블할 키(K)를 키 테이블(130)에 요청한다(S52 단계). 다음에 스크램블할 키(K)를 키 테이블(130) 내의 제1 및 제2테이블들중 하나에서 수신한다(S53 단계).
삭제
삭제
다음에 수신한 키(K)를 내부의 하드웨어적으로 구성된 키(hardwired embedded key)(KE)를 이용하여 암호화한다(S54 단계). 다음에 이 암호화된 키(E(K))를 PVR 기입 인터페이스(write interface)(120) 내의 키 레지스터에 저장한다(S55 단계). 다음에 중앙처리장치(CPU)가 PVR 기입 인터페이스(120) 내의 키 레지스터에 저장되어 있는 암호화된 키(E(K))를 저장매체(110)에 저장시킨다(S56 단계).
도 6은 AES 엔진 코아(101)에 의한 키 복호화 동작을 상세히 나타내는 흐름도이다. AES 엔진 코아(101)에 의한 키 복호화 동작은 도 2B에서 S23 단계에 해당한다.
먼저 중앙처리장치가 복호화할 암호화된 키(E(K))를 AES 엔진 장치(100) 내부의 키 레지스터에 셋팅한다(S61 단계). 키 복호화 동작은 키 관리 레지스터(103)의 인에이블 필드(45)가 "온"되고 스크램블/디스크램블 필드(44)가 "온"될 때 수행된다(S62 단계).
다음에 AES 엔진 장치(100) 내의 키 레지스터에 셋팅되어 있는 암호화된 키(E(K))를 상기 하드웨어적으로 구성된 키(hardwired embedded key)(KE)를 이용하여 복호화한다(S63 단계). 다음에 키 관리 레지스터(103)의 테이블 인덱스 필드(42) 및 키 인덱스 필드(41)에 저장된 인덱스들을 기초로 하여 복호화된 키(K)를 키 테이블(130)에 저장한다(S64 단계). 키 테이블(130)에 저장된 복호화된 키(K)는 AES 엔진 코아(101)가 저장매체(110)로부터 암호화된 데이터(E(P))를 받아 복호화할 때 사용된다.
이상 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 AES 엔진 장치는 수신된 방송 데이터를 저장매체에 저장할 때 방송 데이터를 암호화하여 저장함으로써 방송 데이터가 불법 복제되는 것을 방지할 수 있다. 또한 본 발명에 따른 AES 엔진 장치는 저장매체에 저장된 암호화된 방송 데이터를 실시간으로 복호화할 수 있다. 특히 본 발명에 따른 AES 엔진 장치는 방송 데이터를 암호화할 때 사용되는 키를 별도로 암호화하여 저장매체에 저장함으로써 보안레벨을 높일 수 있다.

Claims (19)

  1. 키를 이용하여 데이터를 암호화하는 기능, 상기 키를 암호화하는 기능, 저장매체로부터 암호화된 데이터를 받아 복호화하는 기능, 및 상기 저장매체로부터 암호화된 키를 받아 복호화하는 기능을 수행하는 AES(Advanced Encryption Standards) 엔진 코아(engine core);
    다수의 필드(field)들을 포함하고, 상기 필드들을 이용하여 상기 키 및 상기 암호화된 키를 관리하는 키 관리 레지스터(key managemnet register); 및
    상기 AES 엔진 코아 및 상기 키 관리 레지스터를 제어하는 제어회로를 구비하고,
    상기 AES 엔진 코아에 의해 복호화된 키는 키 테이블(key table)에 저장되는 것을 특징으로 하는 AES 엔진 장치.
  2. 제1항에 있어서, 상기 암호화된 데이터와 상기 암호화된 키는 기입 인터페이스(write interface)를 통해 상기 저장매체에 저장되는 것을 특징으로 하는 AES 엔진 장치.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서, 상기 제어회로는,
    상기 AES 엔진 코아가 아이들(idle) 상태에 있을 때 상기 키를 스크램블(scramble)하라는 명령이 인가되면 상기 AES 엔진 코아를 비지(busy) 상태로 천이시키는 것을 특징으로 하는 AES 엔진 장치.
  6. 제5항에 있어서, 상기 제어회로는,
    상기 AES 엔진 코아가 아이들(idle) 상태에 있을 때 상기 암호화된 키를 디스크램블(descramble)하라는 명령이 인가되면 상기 AES 엔진 코아를 비지(busy) 상태로 천이시키는 것을 특징으로 하는 AES 엔진 장치.
  7. 제6항에 있어서, 상기 제어회로는,
    상기 AES 엔진 코아가 아이들(idle) 상태에 있을 때 상기 데이터가 입력되어 입력 FIFO가 풀(full)되면 상기 AES 엔진 코아를 비지(busy) 상태로 천이시키는 것을 특징으로 하는 AES 엔진 장치.
  8. 제7항에 있어서, 상기 제어회로는,
    상기 AES 엔진 코아가 아이들(idle) 상태에 있을 때 상기 저장매체로부터 상기 암호화된 데이터가 입력되어 입력 FIFO가 풀(full)되면 상기 AES 엔진 코아를 비지(busy) 상태로 천이시키는 것을 특징으로 하는 AES 엔진 장치.
  9. 제8항에 있어서, 상기 제어회로는,
    상기 비지 상태에서 스크램블 동작 또는 디스크램블 동작이 완료되면 상기 AES 엔진 코아를 다시 아이들(idle) 상태로 천이시키는 것을 특징으로 하는 AES 엔진 장치.
  10. 제1항에 있어서, 상기 키 관리 레지스터는,
    복제방지(copy protection)에 필요한 키를 정하는 메모리 영역의 오프셋을 나타내는 키 인덱스 필드(field);
    상기 키를 저장하는 상기 키 테이블이 제1테이블 및 제2테이블로 분리되어 구성될 때 상기 제1테이블 및 상기 제2테이블을 지정하는 테이블 인덱스 필드;
    상기 저장매체에 동시에 몇개의 프로그램 데이터를 저장할 수 있는 가를 나타내는 프로그램 수 필드;
    상기 키를 암호화할 것인가 상기 암호화된 키를 복호화할 것인가를 분류하는 스크램블/디스크램블 필드; 및
    상기 키를 암호화하거나 상기 암호화된 키를 복호화하라는 명령을 나타내는 인에이블 필드를 구비하는 것을 특징으로 하는 AES 엔진 장치.
  11. 제10항에 있어서, 상기 제1테이블은,
    중앙처리장치(CPU)에 의해 액세스 가능한 것을 특징으로 하는 AES 엔진 장치.
  12. 제10항에 있어서, 상기 제2테이블은,
    상기 제1테이블보다 보안레벨이 높으며, 하드웨어적으로 랜덤 발생기(random generator)를 이용하여 생성된 키를 저장하는 공간 및 방송사에서 제공하는 스마트 카드를 통해 얻어지는 키를 저장하는 공간으로 분리 사용되는 것을 특징으로 하는 AES 엔진 장치.
  13. 제10항에 있어서, 상기 AES 엔진 코아는, 상기 인에이블 필드가 "온"되고 상기 스크램블/디스크램블 필드가 "오프"될 때,
    상기 테이블 인덱스 필드 및 상기 키 인덱스 필드에 저장된 인덱스들을 기초로 하여 스크램블할 키를 상기 키 테이블에 요청하고, 상기 스크램블할 키를 상기 키 테이블에서 수신하고, 수신한 키를 내부의 하드웨어적으로 구성된 키(hardwired embedded key)를 이용하여 암호화하는 것을 특징으로 하는 AES 엔진 장치.
  14. 제10항에 있어서, 상기 AES 엔진 코아는, 상기 인에이블 필드가 "온"되고 상기 스크램블/디스크램블 필드가 "온"될 때,
    상기 저장매체로부터 받은 상기 암호화된 키를 하드웨어적으로 구성된 키(hardwired embedded key)를 이용하여 복호화하고, 상기 테이블 인덱스 필드 및 상기 키 인덱스 필드에 저장된 인덱스들을 기초로 하여 상기 복호화된 키를 상기 키 테이블에 저장하는 것을 특징으로 하는 AES 엔진 장치.
  15. AES 엔진 장치에서의 암호화/복호화 방법에 있어서,
    키를 암호화하여 암호화된 키를 저장매체에 저장하는 단계;
    상기 키를 이용하여, 데이터를 암호화하여 암호화된 데이터를 상기 저장매체에 저장하는 단계;
    상기 저장매체로부터 상기 암호화된 키를 받아 복호화하여 복호화된 키를 키 테이블에 저장하는 단계; 및
    상기 키 테이블에 저장되어 있는 상기 복호화된 키를 이용하여, 상기 저장매체로부터 상기 암호화된 데이터를 받아 복호화하는 단계를 구비하고,
    상기 키 및 상기 암호화된 키는 다수의 필드(field)들을 포함하는 키 관리 레지스터(key managemnet register)에 의해 관리되는 것을 특징으로 하는 AES 엔진 장치의 암호화/복호화 방법.
  16. 제15항에 있어서, 상기 키 관리 레지스터는 상기 AES 엔진 장치 내에 구비되고,
    상기 키 관리 레지스터는, 복제방지(copy protection)에 필요한 키를 정하는 메모리 영역의 오프셋을 나타내는 키 인덱스 필드, 상기 키 테이블이 제1테이블 및 제2테이블로 분리되어 구성될 때 상기 제1테이블 및 상기 제2테이블을 지정하는 테이블 인덱스 필드, 상기 저장매체에 동시에 몇개의 프로그램 데이터를 저장할 수 있는 가를 나타내는 프로그램 수 필드, 상기 키를 암호화할 것인가 상기 암호화된 키를 복호화할 것인가를 분류하는 스크램블/디스크램블 필드, 및 상기 키를 암호화하거나 상기 암호화된 키를 복호화하라는 명령을 나타내는 인에이블 필드를 구비하며,
    상기 키를 암호화하여 암호화된 키를 저장매체에 저장하는 단계는 상기 인에이블 필드가 "온"되고 상기 스크램블/디스크램블 필드가 "오프"될 때 수행되는 것을 특징으로 하는 AES 엔진 장치의 암호화/복호화 방법.
  17. 제16항에 있어서, 상기 키를 암호화하여 암호화된 키를 저장매체에 저장하는 단계는,
    상기 테이블 인덱스 필드 및 상기 키 인덱스 필드에 저장된 인덱스들을 기초로 하여 스크램블할 키를 상기 키 테이블에 요청하는 단계;
    상기 스크램블할 키를 상기 키 테이블에서 수신하는 단계;
    수신한 키를 내부의 하드웨어적으로 구성된 키(hardwired embedded key)를 이용하여 암호화하는 단계;
    이 암호화된 키를 소정의 키 레지스터에 저장하는 단계; 및
    상기 키 레지스터에 저장되어 있는 암호화된 키를 상기 저장매체에 저장시키는 단계를 구비하는 것을 특징으로 하는 AES 엔진 장치의 암호화/복호화 방법.
  18. 제16항에 있어서, 상기 암호화된 키를 복호화하여 복호화된 키를 키 테이블에 저장하는 단계는 상기 인에이블 필드가 "온"되고 상기 스크램블/디스크램블 필드가 "온"될 때 수행되는 것을 특징으로 하는 AES 엔진 장치의 암호화/복호화 방법.
  19. 제18항에 있어서, 상기 암호화된 키를 복호화하여 복호화된 키를 키 테이블에 저장하는 단계는,
    상기 암호화된 키를 소정의 키 레지스터에 셋팅하는 단계;
    상기 키 레지스터에 셋팅되어 있는 암호화된 키를 하드웨어적으로 구성된 키(hardwired embedded key)를 이용하여 복호화하는 단계; 및
    상기 테이블 인덱스 필드 및 상기 키 인덱스 필드에 저장된 인덱스들을 기초로 하여 상기 복호화된 키를 상기 키 테이블에 저장하는 단계를 구비하는 것을 특징으로 하는 AES 엔진 장치의 암호화/복호화 방법.
KR1020040013780A 2004-02-28 2004-02-28 불법 복제 방지 기능을 갖는 aes 엔진 장치 및 이의암호화/복호화 방법 KR100585135B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020040013780A KR100585135B1 (ko) 2004-02-28 2004-02-28 불법 복제 방지 기능을 갖는 aes 엔진 장치 및 이의암호화/복호화 방법
US11/033,838 US7630498B2 (en) 2004-02-28 2005-01-13 Engine, register and methods for the same
DE102005010783A DE102005010783B4 (de) 2004-02-28 2005-02-28 Vorrichtung und Verfahren zur Ver-/Entschlüsselung und Speicherregister hierfür

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040013780A KR100585135B1 (ko) 2004-02-28 2004-02-28 불법 복제 방지 기능을 갖는 aes 엔진 장치 및 이의암호화/복호화 방법

Publications (2)

Publication Number Publication Date
KR20050087989A KR20050087989A (ko) 2005-09-01
KR100585135B1 true KR100585135B1 (ko) 2006-06-01

Family

ID=34880336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040013780A KR100585135B1 (ko) 2004-02-28 2004-02-28 불법 복제 방지 기능을 갖는 aes 엔진 장치 및 이의암호화/복호화 방법

Country Status (3)

Country Link
US (1) US7630498B2 (ko)
KR (1) KR100585135B1 (ko)
DE (1) DE102005010783B4 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101740277B1 (ko) 2015-11-23 2017-06-09 도원정보시스템(주) 영상 가공과 영상 암호화 기능을 구비한 영상 처리 시스템

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8165302B2 (en) * 2005-06-07 2012-04-24 Sony Corporation Key table and authorization table management
DE102009052456A1 (de) * 2009-11-09 2011-05-19 Siemens Aktiengesellschaft Verfahren und System zur beschleunigten Entschlüsselung von kryptographisch geschützten Nutzdateneinheiten
US9576116B2 (en) * 2013-12-26 2017-02-21 Nxp B.V. Secure software components anti-reverse-engineering by table interleaving

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481610A (en) * 1994-02-28 1996-01-02 Ericsson Inc. Digital radio transceiver with encrypted key storage
US6078888A (en) * 1997-07-16 2000-06-20 Gilbarco Inc. Cryptography security for remote dispenser transactions
US7181629B1 (en) 1999-08-27 2007-02-20 Fujitsu Limited Data distribution system as well as data supply device terminal device and recording device for the same
US7362863B2 (en) * 2000-05-01 2008-04-22 International Business Machines Corporation DES hardware throughput for short operations
US20030021417A1 (en) * 2000-10-20 2003-01-30 Ognjen Vasic Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US7509682B2 (en) 2001-02-05 2009-03-24 Lg Electronics Inc. Copy protection method and system for digital media
FR2824212A1 (fr) * 2001-04-25 2002-10-31 Thomson Licensing Sa Procede de gestion d'une cle symetrique dans un reseau de communication et dispositifs pour la mise en oeuvre
US6937727B2 (en) * 2001-06-08 2005-08-30 Corrent Corporation Circuit and method for implementing the advanced encryption standard block cipher algorithm in a system having a plurality of channels
KR100445406B1 (ko) * 2001-11-30 2004-08-25 주식회사 하이닉스반도체 데이터 암호화 장치 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101740277B1 (ko) 2015-11-23 2017-06-09 도원정보시스템(주) 영상 가공과 영상 암호화 기능을 구비한 영상 처리 시스템

Also Published As

Publication number Publication date
KR20050087989A (ko) 2005-09-01
US20050193214A1 (en) 2005-09-01
DE102005010783B4 (de) 2009-02-05
US7630498B2 (en) 2009-12-08
DE102005010783A1 (de) 2005-09-22

Similar Documents

Publication Publication Date Title
JP4794443B2 (ja) 反復暗号化ブロックのための装置及び方法
US7493662B2 (en) Data nullification device for nullifying digital content recorded on a recording medium, after the digital content has been reproduced, a predetermined time period has passed since the recording of the digital content, or the digital content has been moved to another recording medium
EP1211898B1 (en) Content protection scheme for a digital recording device
US20030226029A1 (en) System for protecting security registers and method thereof
US7620813B2 (en) Method to authenticate a data processing apparatus having a recording device and apparatuses therefor
JP2006524007A (ja) セキュア装置上で閲覧可能なコンテンツを安全に提供するシステム、方法、および装置
JP2008521306A (ja) デジタルオーディオ/ビデオデータの処理ユニット及び前記データへのアクセスの制御方法
MX2009000389A (es) Metodo y aparato para mover y regresar en forma segura contenido digital.
KR100636150B1 (ko) 암호화 모듈을 포함하는 멀티미디어 장치
RU2315440C2 (ru) Способ защищенного хранения зашифрованных данных на персональном цифровом регистраторе
CA2586172A1 (en) System and method for providing authorized access to digital content
US20070192628A1 (en) Method and apparatus for storing and retrieving encrypted programming content such that it is accessible to authorized users from multiple set top boxes
US7987361B2 (en) Method of copying and decrypting encrypted digital data and apparatus therefor
KR100891112B1 (ko) Drm이 적용된 콘텐츠의 공유 방법
KR100585135B1 (ko) 불법 복제 방지 기능을 갖는 aes 엔진 장치 및 이의암호화/복호화 방법
US8433926B2 (en) Method and apparatus for storing and retrieving encrypted programming content using an asymmetric key arrangement
US7076666B2 (en) Hard disk drive authentication for personal video recorder
KR100456076B1 (ko) 디지털 콘텐츠의 보호 장치 및 보호 방법
KR20040034076A (ko) 엠피쓰리 플레이어 및 엠피쓰리 제공 서버 및 엠피쓰리파일 재생방법
Kim Design of a secure digital recording protection system with network connected devices
JP2007325087A (ja) コンテンツ視聴管理方法

Legal Events

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

Payment date: 20130430

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160429

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180430

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 14