KR20100042457A - 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치 - Google Patents

데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치 Download PDF

Info

Publication number
KR20100042457A
KR20100042457A KR1020080101612A KR20080101612A KR20100042457A KR 20100042457 A KR20100042457 A KR 20100042457A KR 1020080101612 A KR1020080101612 A KR 1020080101612A KR 20080101612 A KR20080101612 A KR 20080101612A KR 20100042457 A KR20100042457 A KR 20100042457A
Authority
KR
South Korea
Prior art keywords
encryption key
counter value
current time
information
data
Prior art date
Application number
KR1020080101612A
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 KR1020080101612A priority Critical patent/KR20100042457A/ko
Priority to US12/472,462 priority patent/US20100098249A1/en
Publication of KR20100042457A publication Critical patent/KR20100042457A/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • 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

Abstract

현재 시간을 나타내는 현재 시간 정보를 이용하여, 암호화 키를 생성하고, 생성된 암호화키를 이용하여 데이터를 암호화하며, 암호화된 데이터를 전송하는 데이터 암호화 방법 및 장치와 복호화 방법 및 장치가 개시된다.
암호화, 복호화, CAS

Description

데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치{Method and apparatus for data encryption, and method and apparatus for data decryption}
본 발명은 데이터를 암호화하는 방법 및 장치와 데이터를 복호화하는 방법 및 장치에 관한 것이다.
오늘날 정보 통신 기술의 발달과 함께 정보의 전송이 빈번히 발생하고 있다. 정보를 전송하는 정보 제공자는 정보가 다른 사람에 의하여 인터셉트되지 않도록 하기 위하여 전송할 필요성이 존재한다. 암호화(encryption)는 정보가 다른 사람에 의하여 인터셉트 되지 않도록 하기 위한 방법이다.
암호화는 의도된 사용자만이 의미를 해석할 수 있도록 평문을 특정 코드로 대체하는 것을 의미한다. 교환키 또는 공용/개인 키 시스템를 사용하는 암호화 기술인 DES 및 RSA가 이러한 방식의 일종이다.
본 발명의 일 실시예는 효과적으로 데이터를 암호화하는 방법 및 장치와 데이터를 복호화하는 방법 및 장치를 제공하는 것을 목적으로 한다.
상기의 목적을 달성하기 위한 본 발명의 일실시예에 따른 하나의 특징은, 현재 시간을 나타내는 현재 시간 정보를 이용하여, 암호화 키를 생성하는 단계; 상기 생성된 암호화키를 이용하여 데이터를 암호화하는 단계; 및 상기 암호화된 데이터를 전송하는 단계를 포함하는 것이다.
상기 암호화키를 생성하는 단계는, 상기 현재 시간 정보가 나타내는 현재 시간과 기준 시간간의 시간 간격을 나타내는 카운터 값을 계산하는 단계; 및 소정의 해쉬 함수를 이용하여 상기 카운터 값에 대응하는 함수 값을 획득하는 단계를 포함할 수 있다.
클라이언트로부터 상기 현재 시간 정보의 전송을 요청하는 요청 신호를 수신하는 단계; 및 상기 요청 신호에 응답하여, 상기 현재 시간 정보를 상기 클라이언트로 전송하는 단계를 더 포함할 수 있다.
상기 카운터 값에 기초하여, 상기 암호화 키의 타입을 나타내는 암호화 키 타입 정보를 생성하는 단계를 더 포함하고, 상기 전송하는 단계는, 상기 암호화 키 타입 정보를 더 전송할 수 있다.
상기 암호화 키는, CA 시스템(Conditional Access System)을 구현하는데 사용되는 제어 단어(Control Word)를 포함하며, 상기 전송하는 단계는, 클라이언트의 수신 자격에 관한 정보를 포함하는 자격 관리 메시지(Entitlement Management Message)를 더 전송할 수 있다.
본 발명의 다른 실시예에 따른 특징은, 암호화된 데이터를 전송하는 서버로부터, 상기 서버에서의 현재 시간을 나타내는 현재 시간 정보를 수신하는 단계; 상기 현재 시간 정보에 기초하여 상기 암호화된 데이터를 복호화하는데 사용될 복호화 키를 생성하는 단계; 및 상기 생성된 복호화 키를 이용하여 상기 암호화된 데이터를 복호화하는 단계를 포함하는 것이다.
상기 복호화 키를 생성하는 단계는, 상기 현재 시간 정보가 나타내는 현재 시간과 기준 시간간의 시간 간격을 나타내는 카운터 값을 계산하는 단계; 및 소정의 해쉬 함수를 이용하여 상기 카운터 값에 대응하는 함수 값을 획득하는 단계를 포함할 수 있다.
상기 수신하는 단계는, 상기 암호화된 데이터 및 상기 암호화에 사용된 암호화 키의 타입을 나타내는 암호화 키 타입 정보를 더 수신하고, 상기 복호화 키를 생성하는 단계는, 상기 카운터 값이 상기 암호화 키 타입 정보에 대응하는지를 판단하는 단계; 및 상기 판단 결과에 기초하여 상기 카운터 값을 보정하는 단계를 포함할 수 있다.
상기 복호화 키는, CA 시스템(Conditional Access System)을 구현하는데 사용되는 제어 단어(Control Word)를 포함하며, 상기 수신하는 단계는, 클라이언트의 수신 자격에 관한 정보를 포함하는 자격 관리 메시지(Entitlement Management Message)를 더 수신할 수 있다.
상기 수신 자격에 관한 정보는, 상기 클라이언트의 수신 자격이 변경되는 시 점에 관한 정보가 포함되며, 상기 방법은, 상기 수신 자격이 변경되는 시점에 관한 정보에 기초하여 EMM의 재 전송을 요청하는 단계를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 특징은, 현재 시간을 나타내는 현재 시간 정보를 이용하여 암호화 키를 생성하는 암호화키 생성부; 상기 생성된 암호화키를 이용하여 데이터를 암호화하는 암호화부; 및 상기 암호화된 데이터를 전송하는 전송부를 포함하는 것이다.
본 발명의 다른 실시예에 따른 특징은, 암호화된 데이터를 전송하는 서버로부터 상기 서버에서의 현재 시간을 나타내는 현재 시간 정보를 수신하는 수신부; 상기 현재 시간 정보에 기초하여 상기 암호화된 데이터를 복호화하는데 사용될 복호화 키를 생성하는 복호화키 생성부; 및 상기 복호화 키를 이용하여 상기 암호화된 데이터를 복호화하는 복호화부를 포함하는 것이다.
이하에서는 첨부된 도면을 참고하여 본 발명의 바람직한 실시예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 데이터 암호화 장치(100)에 관한 블록도를 나타낸다. 본 발명의 일 실시예에 따른 데이터 암호화 장치(100)는 암호화키 생성부(110), 암호화부(120) 및 전송부(130)를 포함한다.
암호화키 생성부(110)는 현재 시간 정보를 이용하여 암호화키를 생성한다. 본 명세서에서 현재 시간 정보는 데이터 암호화 장치(100)에서의 현재 시간을 나타내는 정보이다. 현재 시간 정보의 형식은 제한이 없으며 시, 분, 초로 나타내거나, 초 단위로 환산된 값일 수도 있다.
암호화키 생성부(110)는 카운터값 계산부(112) 및 함수값 획득부(114)를 포함할 수 있다.
카운터 값 계산부(112)는 기준 시간과 현재 시간간의 시간 간격을 나타내는 카운터 값을 계산한다. 기준 시간은 카운터 값을 산정하는 기준이 되는 시간이다. 이하에서는 설명의 편의를 위하여 오전 0시 0분을 기준 시간으로 설정하였다고 가정한다. 따라서, 현재 시간이 13시 00분 00초인 경우 현재 시간과 기준 시간간의 시간 간격은 13*60*60초(즉 46800초)이다.
카운터 값의 단위는 실시 예에 따라서 1초 단위, 10초 단위 등으로 다양하게 설정할 수 있다. 상술한 예에서 카운터 값의 단위를 1초로 하면 카운터 값은 46800(초)가 될 것이며, 카운터 값의 단위를 10초로 하면 카운터 값은 4680(10초)가 될 것이다. 후자의 경우 10초 동안 카운터 값이 동일하게 될 것이며, 본 발명은 카운터 값에 기초하여 암호화 키를 생성하므로 암호화 키도 10초동안 동일하게 될 것이다. 이와 같이, 카운터 값의 단위에 따라서 암호화 키의 변경 주기가 결정되므로, 실시 예에 맞추어 카운터 값의 단위를 결정한다.
함수 값 획득부(120)는 소정의 함수를 이용하여 카운터 값에 대응하는 함수 값을 획득한다. 즉, 카운터 값을 소정의 함수에 입력함으로써 함수 값을 획득한다.
함수 값 획득부(120)에서 사용되는 함수의 종류에는 제한이 없다. 일 예로, 함수 값 획득부(120)는 동일한 입력 값에 대하여 동일한 출력 값을 생성하며, 상이한 출력 값에 대하여 상이한 출력 값을 생성하는 해쉬 함수를 사용할 수 있다. 다 른 예로는 KDF가 사용될 수 있다.
다만, 암호화된 데이터를 복호화하고자 하는 클라이언트는 데이터 암호화 장치(100)가 사용하는 함수와 동일한 함수를 사용하여 복호화키를 생성하는 것이 바람직하다. 따라서, 데이터 암호화 장치(100)는 클라이언트와 사전에 협의한 해쉬 함수(또는 KDF)를 사용하거나 자신이 사용하는 해쉬 함수(또는 KDF)에 관한 정보를 클라이언트에 제공하여야 한다.
함수 값 획득부(120)가 획득한 함수 값은 그 자체로써 암호화 키로 사용될 수도 있으며, 함수 값을 재 처리하여 암호화 키를 생성할 수도 있다.
암호화키 생성부(110)는 타입 정보 생성부(미도시)를 더 포함할 수 있다.
타입 정보 생성부(미도시)에서는 암호화 키의 타입을 나타내는 정보인 암호화 키 타입 정보를 생성한다. 암호화 키의 타입을 구분하는 기준은 실시예에 따라서 다양하게 설정할 수 있다. 일 예로, 카운터 값이 짝수인지 홀수인지에 기초하여 암호화키를 'even key'와 'odd key'로 분류할 수 있다. 암호화 키 타입 정보는 클라이언트에서 정확한 복호화 키를 생성하는데 도움을 주는 정보이다. 따라서, 암호화 키의 타입을 다양하게 분류하면 클라이언트에서는 정확한 복호화 키를 생성할 수 있으나, 복잡도가 증가하게 된다. 암호화 키 타입 정보를 이용하는 실시예에 관해서는 도 5에서 후술한다.
암호화부(120)는 생성된 암호화키를 이용하여 데이터를 암호화한다.
전송부(130)는 암호화된 데이터를 전송한다.
본 발명의 일 실시예에 따른 데이터 암호화 장치(100)에서는 높은 수준의 보 안을 제공하기 위하여 함수 값 획득부(114) 또는 암호화부(120)에서는 부가 파라미터를 더 이용할 수 있다. 카운터 값 만으로 암호화키를 생성하면, 현재 시간 정보를 획득한 어느 누구도 암호화키를 쉽게 유추할 수 있게 된다.
일 예로, 함수 값 획득부(114)에서 카운터 값과 함께 부가 파라미터를 소정의 함수의 입력 값으로 하여 함수 값을 획득함으로써 암호화키를 생성하거나, 암호화부(120)에서 암호화 키 및 부가 파라미터를 이용하여 데이터를 암호화할 수 있다. 즉, 부가 파라미터는 카운터 값과 함께 암호화키를 생성하는데 사용되거나, 암호화키와 함께 데이터를 암호화하는데 사용될 수 있다. 부가 파라미터는 형식에 제한이 없으며, 랜덤 넘버도 가능하다.
만일, 암호화 키와 함께 부가 파라미터들을 사용하여 데이터를 암호화하였다면 전송부(130)는 부가 파라미터들을 클라이언트에 전송한다.
전송부(130)는 암호화키 타입 정보를 더 전송할 수 있다. 특히, 데이터가 TS 패킷 형식으로 전달되면 암호화키 타입 정보는 TS 패킷의 해더에 포함된 특정 필드에 기록되어 전달될 수 있다. 암호화키 타입 정보가 기록된 TS 패킷에 관한 일 예는 도 3에서 자세히 후술한다.
데이터 암호화 장치(100)는 신호 수신부(미도시) 및 정보 전송부(미도시)를 더 포함할 수 있다.
신호 수신부(미도시)는 현재 시간 정보의 전송을 요청하는 요청 신호를 클라이언트로부터 수신한다.
정보 전송부(미도시)는 요청 신호에 대응하여 현재 시간 정보를 전송한다. 이 때, 정보 전송부(미도시)는 현재 시간 정보를 요청하는 클라이언트가 인증된 클라이언트인지를 판단하고, 인증된 클라이언트인 경우에만 현재 시간 정보를 전송할 수 있다.
본 발명의 일 실시예에 따른 데이터 암호화 장치(100)는 CA 시스템(Conditional Access System)을 통한 방송 서비스를 제공할 수 있다. CA 시스템은 가입자별로 시청 권한을 조정하기 위한 시스템으로써, 데이터의 일부 또는 전부를 인증된 가입자만 시청할 수 있도록 암호화하여 전송한다.
종래의 CA 시스템에서는 제어 단어(Control Word)를 이용하여 데이터를 스크램블링 한다. 제어 단어는 서비스 키에 의하여 암호화되어 자격 제어 메시지Entitlement Control Message, 이하 ECM)에 포함되어 전송된다. 서비스 키는 다시 개인키로 암호화되어 자격 관리 메시지(Entitlement Management Message)에 포함되어 전송된다. 인증된 클라이언트는 개인키를 소유하고 있기 때문에, EMM을 처리하여 서비스 키를 획득한다. 이 후, 서비스 키와 ECM을 이용하여 제어 단어를 획득함으로써 데이터를 복호화할 수 있게 된다. 인증된 클라이언트는 서비스를 제공받기로 약정된 클라이언트로써, 대응하는 개인키를 소유하고 있다.
본 발명의 일 실시예에 따른 데이터 암호화 장치(100)를 이용하여 CA 시스템을 구현하는 경우 현재 시간 정보에 기초하여 생성된 암호화 키에는 제어 단어가 포함될 수 있다. 데이터 암호화 장치(100)는 암호화 키를 서비스 키와 같은 다른 키에 의하여 재차 암호화하여 전송하지 않고, 현재 시간 정보를 인증된 클라이언트에 제공함으로써 클라이언트 측에서 암호화 키에 대응하는 복호화 키를 생성할 수 있도록 한다. 따라서 본 발명의 일 실시예에 따른 데이터 암호화 장치(100)에서는 ECM을 전송하지 않을 수 있다.
다만, 실시 예에 따라서는 EMM은 별도로 전송될 수 있다. 전송되는 EMM에는 클라이언트의 시청 자격에 관한 정보가 포함될 수 있다. 클라이언트의 시청 자격에 관한 정보는 시청 자격이 변경되는 시점(일 예로 인증이 만료되는 시점)이 표시될 수 있으며 사용자는 EMM을 분석하여 시청 자격이 변경되는 시점에 EMM의 재 전송을 요청할 수 있다. 이 때, 시청 자격이 변경되는 시점은 카운터 값으로 표시될 수 있다.
EMM에는 복호화에 필요한 부가 정보가 포함될 수 있다. 상술한바데로, 암호화키를 생성함에 있어서 카운터 값과 부가 파라미터를 함께 이용하거나, 데이터를 암호화함에 있어서 암호화 키를 부가 파라미터와 함께 이용할 수 있다. 이 때, 사용된 부가 파라미터가 EMM에 포함되어 전송될 수 있다.
종래에는 CA 시스템을 구현하기 위하여 데이터와 함께 ECM 또는 EMM을 전송하여야 하기 때문에 채널이 낭비되었다. 또한, ECM, EMM을 암호화 된 데이터와 함께 전송하는 경우 별도의 멀티플렉싱 작업이 필요하므로 복잡도 및 비용이 증가하였다. 그러나, 본 발명은 현재 시간 정보를 이용하여 암호화 키를 생성하므로 채널이 낭비되지 않고, 별도의 멀티플렉싱 작업이 불필요하므로 시스템을 단순하게 구성할 수 있으며 비용면에서도 효과적이다.
도 2는 본 발명의 일 실시예에 따른 데이터 암호화 장치(100)를 이용하여 데이터를 암호화하는 일 예를 나타낸다.
도 2를 참고하면, 데이터 암호화 장치(100)에서 카운터 값의 단위는 '10초'이며, 카운터 값 및 암호화 키는 10초 단위로 변경된다.
제 1 구간(210)은 데이터 암호화 장치(100)의 현재 시간이 13시 24분 30초부터 13시 24분 40초까지의 구간이다. 도 2에서 기준 시간은 0시 0분 0초로 가정한다. 따라서, 0시 0분 0초로부터 13시 24분 40초까지의 시간 간격을 10초 단위로 나타낸 값이 제 1 구간(210)에서의 카운터 값이 된다. 다음의 수학식 1을 참고하면, 제 1 구간(210)에서의 카운터 값인 제 1 카운터 값은 '4827'로 결정된다.
[수학식 1]
count value=(시*3600+분*60+초)
함수값 획득부(120)는 제 1 카운터 값을 해쉬 함수의 입력 값으로 사용하여 함수 값을 획득한다. 본 명세서에서는 설명의 편의를 위하여 함수값 획득부(120)가 사용하는 함수를 해쉬 함수로 가정한다. 그러나, 함수값 획득부(120)는 해쉬 함수 외에도 KDF와 같이 다양한 함수를 사용할 수 있다. 함수값 획득부(120)는 제 1 카운터 값만을 이용하여 함수 값을 획득할 수도 있으며, 보안은 강화하기 위하여 부가 파라미터를 더 이용할 수도 있다. 이 경우 데이터를 복호화하고자 하는 클라이언트가 부가 파라미터를 공유하여야 하므로, 데이터 암호화 장치(100)는 별도의 채널을 통하여 부가 파라미터를 전송할 수 있다. 획득된 함수 값은 그 자체로써 암호화 키로 사용되거나, 함수 값을 처리하여 제 1 암호화키를 생성한다.
데이터 암호화 장치(100)는 제 1 암호화 키를 이용하여 데이터를 암호화하여클라이언트에 전송한다.
제 2 구간(220)은 데이터 암호화 장치(100)의 현재 시간이 13시 24분 40초부터 13시 24분 50초까지의 구간이다.
현재 시간이 13시 24분 41초인 경우 수학식 1에 따라 제 2 카운터 값은 (13*3600+24*60+41)%10=48281%10=4828로 계산된다. 따라서, 제 2 구간(220)내에서는 카운터 값이 '4828'이 된다.
함수값 획득부(120)는 제 2 암호화 키 및 부가 파라미터를 이용하여 데이터를 암호화한 후 전송한다.
상술한 바와 같이 데이터 암호화 장치(100)는 현재 시간 정보를 이용하여 암호화키를 생성하고, 생성된 암호화키를 이용하여 데이터를 암호화하여 전송한다. 클리어언트는 데이터 암호화 장치(100)에서의 현재 시간 정보를 획득하여 시간을 동기화한다. 이 후, 동기화 된 현재 시간 정보를 이용하여 암호화키에 대응하는 복호화키를 생성함으로써 데이터를 복호화한다. 그러나, 클라이언트가 데이터 암호화 장치(100)에서의 현재 시간 정보를 요청하고 이를 획득함에 있어서 지연이 발생하면 클라이언트가 획득한 현재 시간 정보와 데이터 암호화 장치(100)에서 실제로 사용하는 현재 시간 정보가 일치하지 않을 수 있다. 즉, 시간이 제대로 동기화되지 않을 수 있으며, 이 경우 클라이언트에서는 복호화키를 제대로 생성할 수 없게 된다.
데이터 암호화 장치(100)는 클라이언트가 복호화키를 제대로 생성하지 못하는 경우를 위하여 카운터 값 또는 복호화키를 보정하는데 필요한 정보로써 암호화 키 타입 정보를 더 전송할 수 있다. 클라이언트는 암호화키의 타입 정보를 이용하 여 복호화 키 또는 카운터 값에 오류가 존재하는지를 판단하고 오류를 수정할 수 있다. 이에 관한 자세한 설명은 도 5에서 후술한다.
암호화키는 암호화키를 생성하는데 사용된 카운터 값이 짝수인지 홀수인지에 따라서 분류될 수 있다. 도 2에서 제 1 카운터 값은 '4827'로써 홀수이므로 제 1 카운터 값에 의하여 생성된 제 1 암호화키는 'odd key'로 결정된다. 반면 제 2 카운터 값은 '4828'로써 짝수이므로, 제 2 카운터 값에 의하여 생성된 제 2 암호화키는 'even key'로 결정된다.
전송부(130)는 암호화된 데이터를 전송함에 있어서 암호화 키 타입 정보를 함께 전송한다. 암호화 키 타입 정보는 암호화된 데이터 패킷의 해더 부분에 삽입될 수도 있다. 암호화 키 타입 정보가 삽입된 패킷의 해더 구조에 관한 일 예는 다음의 도 3에서 후술한다.
도 3은 본 발명의 일 실시예에 따른 암호화 키 타입 정보가 삽입된 패킷 구조에 관한 일 예이다.
본 발명의 일 실시예에 따른 패킷은 MPEG-2 TS 패킷일 수 있으며, 해더, 적응 필드(adaptation field) 및 페이로드를 포함할 수 있다.
적응 필드에는 페이로드 데이터에 대한 부가 정보 또는 패딩 데이터가 포함된다. 적응 필드는 실시예에 따라서 존재하지 않을 수도 있으며, 적응 필드가 존재하는지 여부는 해더내의 적응 필드 플래그에 의하여 표현될 수 있다.
페이로드에는 메인 데이터가 포함된다. 본 발명의 일 실시예에 따른 패킷의 페이로드에는 암호화된 데이터가 포함된다.
패킷의 해더는 패킷의 시작을 식별하는데 사용되는 동기 필드(Sync), 패킷을 식별하는데 사용되는 PID 필드 및 암호화 키 타입 정보가 전송되는 'transport_srambling_control' 필드가 포함된다.
'transport_srambling_control' 필드는 '2'비트로 구성될 수 있으며 암호화 키가 'odd key'인지 'even key'인지를 나타내는 정보가 포함될 수 있다. 이 때, 첫 번째 비트는 페이로드를 통하여 전송되는 데이터가 암호화되었는지를 나타내며, 두 번째 비트는 어떤 타입의 암호화 키에 의하여 암호화 되었는지를 나타낼 수 있다.
일 예로, 필드 값이 '00'이면 페이로드 데이터가 암호화 되지 않았음을 나타내고, 필드 값이 '10'이면 페이로드 데이터가 'even key'에 의하여 암호화 되었음을 나타낼 수 있다. 또한, 필드 값이 '11'이면 페이로드 데이터가 'odd key'에 의하여 암호화 되었음을 나타내고, 필드 값이 '01'인 경우는 나중에 사용될 수 있도록 별도의 기능이 부여되지 않을 수 있다. 다음의 표 1은 'transport_srambling_control' 필드 값에 따른 기능을 나타낸다.
[표 1]
transport_srambling_control flag Function
00 페이로드 데이터가 암호화되지 않음
01 reserved
10 데이터가 even key에 의하여 암호화
11 데이터가 odd key에 의하여 암호화
도 4는 본 발명의 일 실시예에 따른 데이터 복호화 장치(400)에 관한 블록도를 나타낸다.
본 발명의 일 실시예에 따른 데이터 복호화 장치(400)는 수신부(410), 복호화키 생성부(420) 및 복호화부(430)를 포함한다.
수신부(410)는 암호화된 데이터를 전송하는 서버로부터 서버에서의 현재 시간을 나타내는 현재 시간 정보를 수신하여 시간을 동기화한다. 수신부(410)는 암호화된 데이터를 수신하는 경로와 다른 경로를 통하여 현재 시간 정보를 수신할 수 있다.
복호화키 생성부(420)는 현재 시간 정보에 기초하여 암호화된 데이터를 복호화하는데 사용될 복호화키를 생성한다. 복호화 키 생성부(420)는 카운터 값 계산부(422) 및 함수 값 획득부(424)를 포함할 수 있다.
카운터 값 계산부(422)는 기준 시간과 현재 시간 정보가 나타내는 현지 시간사이의 시간 간격을 나타내는 카운터 값을 계산한다. 시간 간격의 단위는 암호화키의 변경 주기에 따라서 달라질 수 있다. 일 예로, 초 단위 또는 10초 단위로 기준 시간과 현재 시간 사이의 시간 간격을 나타낼 수 있다.
데이터 복호화 장치(400)는 계산된 카운터 값에 오류가 존재하는지를 판단하기 위하여 판단부(미도시) 및 보정부(미도시)를 더 포함할 수 있다.
판단부(미도시)는 카운터 값에 오류가 존재하는지를 판단한다. 일 예로, 수신부(410)가 암호화에 사용된 암호화 키의 타입을 나타내는 암호화 키 타입 정보를 서버로부터 수신하면, 판단부(미도시)는 계산된 카운터 값이 암호화 키 타입 정보에 대응하는지를 판단한다. 카운터 값이 홀수인지 짝수인지에 따라서 암호화 키가 'even key'와 'odd key'로 분류된다고 가정해보자. 암호화 키 타입 정보가 'even key'임에도 불구하고 계산된 카운터 값이 홀수이면 카운터 값에 오류가 존재하는 것이다.
보정부(미도시)는 카운터 값에 오류가 존재하는 경우 카운터 값을 보정한다. 오류가 발생한 카운터 값을 보정하는 일 예는 도 5에서 자세히 후술한다.
함수 값 획득부(424)는 계산된 카운터 값(또는 보정된 카운터 값)을 소정의 해쉬 함수에 입력함으로써, 카운터 값에 대응하는 함수 값을 획득한다. 함수값 획득부(미도시)는 암호화 키를 생성하는데 사용된 해쉬 함수와 동일한 해쉬 함수를 사용하는 것이 바람직하다. 따라서, 서버와 통신하여 사전에 사용할 해쉬 함수를 지정해 두거나 서버로부터 해쉬 함수에 관한 정보를 수신하여야 한다.
서버는 보안을 강화하기 위하여 암호화 키를 생성함에 있어서 카운터 값과 함께 부가 파라미터를 이용할 수 있다. 이 경우 함수 값 획득부(미도시) 역시 부가 파라미터를 이용하여야 하므로, 부가 파라미터에 관한 정보를 수신한다. 서버가 CA 시스템을 구현하여 방송 서비스를 제공할 경우, 부가 파라미터는 EMM에 포함되어 수신부(410)로 전송될 수 있다.
복호화부(430)는 복호화키를 이용하여 암호화된 데이터를 복호화한다.
상술한 복호화 키는 CA 시스템을 구현하기 위한 제어 단어를 포함할 수 있다. CA 시스템은 가입자에 따라 시청 자격을 제한하기 위한 시스템으로 가입자와 비 가입자, 유료 가입자와 무료 가입자, 유료 가입자내의 고급 가입자와 비 고급 가입자가 시청할 수 있는 서비스가 상이하다. 이와 같이 가입자에 따라 시청 자격을 제한하기 위하여 서버는 시청 자격에 관한 정보를 전송한다. 시청 자격에 관한 정보는 EMM을 통하여 전송되며 일정한 주기로 그 내용이 변경된다.
시청 자격에 관한 정보는 클라이언트의 시청 자격이 변경되는 시점에 관한 정보가 포함될 수 있으며, 시점에 관한 정보는 카운터 값으로써 표시될 수 있다. 따라서 데이터 복호화 장치(400)는 카운터 값에 기초하여 시청 자격에 관한 정보가 되는 시점으로부터 소정 시간 전 또는 후에 EMM의 재 전송을 서버에 요청할 수 있다.
도 5는 본 발명의 일 실시예에 따른 데이터 복호화 장치(400)에서 카운터 값을 보정하는 일 예를 나타낸다.
도 5에서 데이터 암호화 장치(100)는 10초 단위로 카운터 값 및 암호화 키를 변경한다. 도 5에서는 설명의 편의를 위하여 암호화된 데이터는 데이터 암호화 장치(100)로부터 지연 없이 실시간으로 전송되며, 현재 시간 정보는 1초가 지연되어 도착한다고 가정한다. 이러한 차이는 데이터가 전송되는 채널과 현재 시간 정보가 전송되는 채널이 다르거나, 동일한 채널을 사용하는 경우라 하더라도 현재 시간 정보가 전송 요구가 많은 시점에 전송되는 경우 발생할 수 있다.
데이터 암호화 장치(100)는 현재 시간 정보에 기초하여 카운터 값을 생성하고, 카운터 값으로부터 암호화 키를 생성함으로써 데이터를 암호화한다. 제 1 구간(521)은 13시 24분 30초부터 13시 24분 40초까지의 구간이다. 수학식 1을 참고하면, 제 1 구간(521)에서의 카운터 값은 '4827'로 계산된다. 따라서, 데이터 암호화 장치(100)는 '4827'을 소정의 해쉬 함수에 입력하여 암호화 키를 생성하여 데이터(511)를 암호화한다.
도 5에서 암호화 키 타입은 암호화 키를 생성하는데 사용된 카운터 값이 홀수인지 짝수인지에 따라서 분류된다. 즉, 홀수인 카운터 값에 의하여 생성된 암호 화 키는 'odd key'로 분류되고, 짝수인 카운터 값에 의하여 생성된 암호화 키는 'even key'로 분류된다. 따라서, 데이터(511)를 암호화하는데 사용되는 암호화키는 'odd key'이다.
암호화 키 타입 정보는 데이터(511)와 함께 전송될 수 있으며, 특히 데이터(511)가 패킷 형식인 경우 패킷 해더내의 특정 필드에 기록되어 전달될 수 있다.
제 1 시점(501)에서 데이터 복호화 장치(400)가 현재 시간 정보를 요청하였다고 가정해보자. 제 1 시점(501)에서의 현재 시간은 13시 24분 31초이다. 데이터 복호화 장치(400)가 현재 시간 정보를 요청한 후, 현재 시간 정보를 수신할 때까지 '1'초가 소요되므로, 데이터 복호화 장치(400)에서의 현재 시간과 데이터 암호화 장치(100)에서의 현재 시간간은 '1초'의 오차가 발생한다.
도 5에서 위에 도시된 시간 축은 데이터 암호화 장치(100)에서의 현재 시간을 나타내며, 아래에 도시된 시간 축은 현재 시간 정보에 기초하여 데이터 복호화 장치(400)가 설정한 현재 시간을 나타낸다. 제 2 시점(502)은, 데이터 암호화 장치(100)에서는 13시 24분 40초이지만 데이터 복호화 장치(400)에서는 13시 24분 39초가 된다.
따라서, 데이터 암호화 장치(100)에서는 카운터 값이 '4828'로 변경된다. 데이터 암호화 장치(100)는 카운터 값 '4828'를 소정의 해쉬 함수로 입력하여 암호화 키를 생성하고, 암호화 키를 이용하여 데이터(512)를 암호화한다.
그러나, 데이터 복호화 장치(400)에서는 여전히 카운터 값이 '4827'이다. 데이터 복호화 장치(400)는 카운터 값 '4827'을 소정의 해쉬 함수로 입력하여 복호화 키를 생성한다. 결과적으로, 데이터 암호화 장치(100)는 카운터 값 '4828'을 이용하여 암호화키를 생성하였고, 데이터 복호화 장치(400)는 카운터 값 '4827'을 이용하여 복호화 키를 생성하였으므로 데이터 복호화 장치(400)는 데이터(512)를 복호화할 수 없게 된다.
이와 같이 현재 시간이 정확하게 동기화되지 아니함으로 인하여 발생하는 카운터 값의 오류를 해결하기 위하여 데이터 암호화 장치(100)는 암호화 키 타입 정보를 전송한다. 암호화 키 타입 정보는 데이터(512)의 해더내의 특정 필드에 기록될 수 있으며, 데이터 복호화 장치(400)는 해더로부터 암호화 키 타입 정보를 추출한다. 데이터(512)는 카운터 값 '4828'로부터 생성된 암호화 키를 이용하여 암호화 되었기때문에 암호화 키 타입 정보에는 암호화 키가 'even key'라는 정보가 포함되어 있다.
제 2 시점(502)에서 계산된 카운터 값이 '4827'로써 홀수이나, 암호화 키 타입이 'even key'이므로, 데이터 복호화 장치(400)는 계산된 카운터 값에 오류가 존재함을 인식하게 된다. 계산된 카운터 값에 오류가 존재하면 데이터 복호화 장치(400)는 계산된 카운터 값에 '1'을 더함으로써 오류 값을 수정한다. 따라서, 데이터 복호화 장치(400)는 카운터 값을 '4828'로 보정하고 보정된 카운터 값을 이용하여 복호화 키를 생성한다.
본 실시예에서는 설명의 편의를 위하여 암호화 키의 타입을 두가지로 구분하였으나, 암호화 키의 타입을 보다 세분화 함으로써(일 예로, 3으로 나눈 나머지 또는 4로 나눈 나머지) 보다 정밀하게 카운터 값을 보정할 수 있게 된다.
본 발명은 이와 같이 암호화 키 타입 정보를 데이터와 함께 전송함으로써 시간이 정확하게 동기화되지 않은 경우에도 효과적으로 데이터를 복호화할 수 있다.
도 6은 본 발명의 일 실시예에 따른 데이터 암호화 방법에 관한 흐름도를 나타낸다.
단계 s610에서는, 현재 시간 정보를 이용하여 암호화 키를 생성한다. 암호화 키는 기준 시간과 현재 시간간의 시간 간격을 나타내는 카운터 값을 계산한 후 계산된 카운터 값을 해쉬 함수에 입력시킴으로써 획득할 수 있다. 이 때, 암호화 키의 타입을 나타내는 타입 정보를 더 생성할 수 있다.
단계 s620에서는, 암호화 키를 이용하여 데이터를 암호화한다.
단계 s610에서 카운터 값과 부가 파라미터를 함께 이용하여 암호화 키를 생성하거나, 단계 s620에서 암호화 키와 부가 파라미터를 함께 이용하여 데이터를 암호화할 수 있다. 이 때, 클라이언트는 어떠한 부가 파라미터가 사용되었는지를 알고 있는 것이 바람직하다.
단계 s630에서는, 암호화 된 데이터를 전송한다. 암호화 된 데이터는 TS 패킷 형태로 전송될 수 있으며, 패킷의 해더에는 암호화 키 타입 정보가 포함될 수 있다. 암호화 키는 CA 시스템을 구현하기 위한 제어 단어일 수 있으며, 이 때 클라이언트의 수신 자격에 관한 정보가 포함된 EMM 데이터가 암호화된 데이터와 함께 전송될 수 있다. 단계 s620 또는 단계 s620에서 부가 파라미터가 이용된 경우, 부가 파라미터에 관한 정보를 EMM 데이터에 포함시켜 전송할 수도 있다. 그 밖에도 EMM 데이터에는 클라이언트의 수신 자격이 변경되는 시점에 관한 정보와 같은 다양 한 부가 정보가 포함되어 전송될 수 있다.
도 7은 본 발명의 일 실시예에 따른 데이터 복호화 방법에 관한 흐름도를 나타낸다.
단계 s710에서는, 암호화된 데이터를 전송하는 서버로부터, 서버에서의 현재 시간을 나타내는 현재 시간 정보를 수신한다. 이 때, 데이터의 암호화에 사용된 암호화키의 타입을 나타내는 암호화 키 타입 정보를 수신할 수 있다.
단계 s720에서는, 현재 시간 정보에 기초하여 암호화된 데이터를 복호화하는데 사용될 복호화 키를 생성한다. 복호화 키는 기준 시간과 현재 시간간의 시간 간격을 나타내는 카운터 값을 계산한 후 카운터 값을 해쉬 함수에 입력시킴으로써 획득할 수 있다. 이 때, 카운터 값에 오류가 존재하는지를 판단하기 위하여 암호화키 타입 정보를 참고한다. 만일, 계산된 카운터 값이 암호화 키 타입 정보에 대응하면 계산된 카운터 값을 이용하여 복호화 키를 생성한다. 그러나, 계산된 카운터 값이 암호화 키 타입 정보에 대응하지 않으면 카운터 값을 보정한 후 보정된 카운터 값을 이용하여 복호화 키를 생성한다.
단계 s730에서는 복호화 키를 이용하여 암호화된 데이터를 복호화한다.
도 8은 본 발명에 따른 데이터 암호화 장치 및 데이터 복호화 장치가 포함된 시스템간의 데이터 흐름을 나타내는 흐름도이다.
데이터 복호화 장치(400)는 데이터 암호화 장치(100)의 현재 시간을 나타내는 현재 시간 정보를 요청한다. (s810)
데이터 암호화 장치(100)는 현재 시간 정보를 데이터 복호화 장치(400)에 전 송한다.(s820) 이 때, 데이터 암호화 장치(100)는 데이터 복호화 장치(400)가 인증된 장치인지 여부를 판단하여 인증된 장치인 경우에만 현재 시간 정보를 전달할 수 있다. 현재 시간 정보가 수신되면, 데이터 복호화 장치(400)는 수신된 현재 시간 정보를 이용하여 데이터 암호화 장치(100)와 시간을 동기화한다.
데이터 암호화 장치(100)는 현재 시간 정보를 이용하여 암호화 키를 생성하고, 암호화 키를 이용하여 데이터를 암호화한다. (s830)
데이터 암호화 장치(100)는 암호화된 데이터를 데이터 복호화 장치(400)에 전송한다.(s840) 이 때, 데이터가 전송되는 경로와 현재 시간 정보가 전송되는 경로는 상이할 수 있다. 암호화된 데이터는 패킷 형태일 수 있으며, 패킷의 해더에 암호화 키의 타입을 나타내는 암호화 키 타입 정보가 포함될 수 있다.
데이터 복호화 장치(400)는 암호화된 데이터를 복호화하여 사용자에게 서비스를 제공한다. (s850)
데이터 복호화 장치(400)가 데이터를 복호화하는 순서는 다음과 같다.
먼저, 데이터 복호화 장치(400)는 현재 시간 정보에 기초하여 기준 시간과 현재 시간간의 시간 간격을 나타내는 카운터 값을 계산한다.
다음으로, 계산된 카운터 값이 암호화 키 타입 정보에 대응하는지를 판단한다. 일 예로, 카운터 값이 홀수임에도 암호화 키가 'even key'인 경우 카운터 값과 암호화 키 타입 정보는 서로 대응하지 않는다. 이러한 현상은 데이터 복호화 장치(400)와 데이터 암호화 장치(100)간의 시간이 정확하게 동기화되지 않은 경우에 발생할 수 있다. 계산된 카운터 값이 암호화 키 타입 정보에 대응하지 않는 경우, 카운터 값을 보정하여 정확한 카운터 값을 획득한다.
정확한 카운터 값이 획득되면 카운터 값을 해쉬 함수의 입력으로 인가하여 복호화 키를 생성하고, 생성된 복호화 키를 이용하여 암호화된 데이터를 복호화한다.
데이터 복호화 장치(400)는 EMM의 재 전송을 요청한다.(s860) EMM은 데이터 복호화 장치(400)의 수신 자격에 관한 정보를 포함하며, 수신 자격이 변경되는 시점을 나타내는 정보가 포함되어 있을 수 있다. 수신 자격이 변경되는 시점은 카운터 값으로 표현될 수 있으며, 데이터 복호화 장치(400)는 현재 시점에 계산된 카운터 값과 EMM 데이터를 참고하여, EMM의 재 전송을 요청한다.
데이터 암호화 장치(100)가 새로운 EMM 데이터를 데이터 복호화 장치(400)에 전송한다. (s870)
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본 질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 데이터 암호화 장치(100)에 관한 블록도를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 데이터 암호화 장치(100)를 이용하여 데이터를 암호화하는 일 예를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 암호화 키 타입 정보가 삽입된 패킷 구조에 관한 일 예를 나타낸다.
도 4는 본 발명의 일 실시예에 따른 데이터 복호화 장치(400)에 관한 블록도를 나타낸다.
도 5는 본 발명의 일 실시예에 따른 데이터 복호화 장치(400)에서 카운터 값을 보정하는 일 예를 나타낸다.
도 6은 본 발명의 일 실시예에 따른 데이터 암호화 방법에 관한 흐름도를 나타낸다.
도 7은 본 발명의 일 실시예에 따른 데이터 복호화 방법에 관한 흐름도를 나타낸다.
도 8은 본 발명에 따른 데이터 암호화 장치 및 데이터 복호화 장치가 포함된 시스템간의 데이터 흐름을 나타낸다.

Claims (21)

  1. 현재 시간을 나타내는 현재 시간 정보를 이용하여, 암호화 키를 생성하는 단계;
    상기 생성된 암호화키를 이용하여 데이터를 암호화하는 단계; 및
    상기 암호화된 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 암호화 방법.
  2. 제 1항에 있어서, 상기 암호화키를 생성하는 단계는,
    상기 현재 시간 정보가 나타내는 현재 시간과 기준 시간간의 시간 간격을 나타내는 카운터 값을 계산하는 단계; 및
    소정의 해쉬 함수를 이용하여 상기 카운터 값에 대응하는 함수 값을 획득하는 단계를 포함하는 것을 특징으로 하는 데이터 암호화 방법.
  3. 제 1항에 있어서,
    클라이언트로부터 상기 현재 시간 정보의 전송을 요청하는 요청 신호를 수신하는 단계; 및
    상기 요청 신호에 응답하여, 상기 현재 시간 정보를 상기 클라이언트로 전송하는 단계를 더 포함하는 것을 특징으로 하는 데이터 암호화 방법.
  4. 제 3항에 있어서,
    상기 카운터 값에 기초하여, 상기 암호화 키의 타입을 나타내는 암호화 키 타입 정보를 생성하는 단계를 더 포함하고,
    상기 전송하는 단계는, 상기 암호화 키 타입 정보를 더 전송하는 것을 특징으로 하는 데이터 암호화 방법.
  5. 제 1항에 있어서,
    상기 암호화 키는, CA 시스템(Conditional Access System)을 구현하는데 사용되는 제어 단어(Control Word)를 포함하며,
    상기 전송하는 단계는, 클라이언트의 수신 자격에 관한 정보를 포함하는 자격 관리 메시지(Entitlement Management Message)를 더 전송하는 것을 특징으로 하는 데이터 암호화 방법.
  6. 암호화된 데이터를 전송하는 서버로부터, 상기 서버에서의 현재 시간을 나타내는 현재 시간 정보를 수신하는 단계;
    상기 현재 시간 정보에 기초하여 상기 암호화된 데이터를 복호화하는데 사용될 복호화 키를 생성하는 단계; 및
    상기 생성된 복호화 키를 이용하여 상기 암호화된 데이터를 복호화하는 단계를 포함하는 것을 특징으로 하는 데이터 복호화 방법.
  7. 제 6항에 있어서, 상기 복호화 키를 생성하는 단계는,
    상기 현재 시간 정보가 나타내는 현재 시간과 기준 시간간의 시간 간격을 나타내는 카운터 값을 계산하는 단계; 및
    소정의 해쉬 함수를 이용하여 상기 카운터 값에 대응하는 함수 값을 획득하는 단계를 포함하는 것을 특징으로 하는 데이터 복호화 방법.
  8. 제 7 항에 있어서,
    상기 수신하는 단계는, 상기 암호화된 데이터 및 상기 암호화에 사용된 암호화 키의 타입을 나타내는 암호화 키 타입 정보를 더 수신하고,
    상기 복호화 키를 생성하는 단계는,
    상기 카운터 값이 상기 암호화 키 타입 정보에 대응하는지를 판단하는 단계; 및
    상기 판단 결과에 기초하여 상기 카운터 값을 보정하는 단계를 포함하는 것을 특징으로 하는 데이터 복호화 방법.
  9. 제 6항에 있어서,
    상기 복호화 키는, CA 시스템(Conditional Access System)을 구현하는데 사용되는 제어 단어(Control Word)를 포함하며,
    상기 수신하는 단계는, 클라이언트의 수신 자격에 관한 정보를 포함하는 자격 관리 메시지(Entitlement Management Message)를 더 수신하는 것을 특징으로 하 는 데이터 복호화 방법.
  10. 제 9항에 있어서,
    상기 수신 자격에 관한 정보는, 상기 클라이언트의 수신 자격이 변경되는 시점에 관한 정보가 포함되며,
    상기 방법은, 상기 수신 자격이 변경되는 시점에 관한 정보에 기초하여 EMM의 재 전송을 요청하는 단계를 더 포함하는 것을 특징으로 하는 데이터 복호화 방법.
  11. 현재 시간을 나타내는 현재 시간 정보를 이용하여 암호화 키를 생성하는 암호화키 생성부;
    상기 생성된 암호화키를 이용하여 데이터를 암호화하는 암호화부; 및
    상기 암호화된 데이터를 전송하는 전송부를 포함하는 것을 특징으로 하는 데이터 암호화 장치.
  12. 제 11항에 있어서, 상기 암호화키 생성부는,
    기준 시간과 상기 현재 시간간의 시간 간격을 나타내는 카운터 값을 계산하는 카운터 값 계산부; 및
    소정의 해쉬 함수를 이용하여 상기 카운터 값에 대응하는 함수 값을 함수 값 획득부를 포함하는 것을 특징으로 하는 데이터 암호화 장치.
  13. 제 11항에 있어서, 상기 암호화키 생성부는,
    클라이언트로부터 상기 현재 시간 정보의 전송을 요청하는 요청 신호를 수신하는 신호 수신부; 및
    상기 요청 신호에 대응하여, 상기 현재 시간 정보를 상기 클라이언트로 전송하는 정보 전송부를 더 포함하는 것을 특징으로 하는 데이터 암호화 장치.
  14. 제 13항에 있어서,
    상기 카운터 값에 기초하여 상기 암호화 키의 타입을 나타내는 암호화 키 타입 정보를 생성하는 타입 정보 생성부를 더 포함하고,
    상기 전송부는, 상기 암호화 키 타입 정보를 더 전송하는 것을 특징으로 하는 데이터 암호화 장치.
  15. 제 11항에 있어서,
    상기 암호화 키는, CA 시스템(Conditional Access System)을 구현하는데 사용되는 제어 단어(Control Word)를 포함하며,
    상기 전송부는, 클라이언트의 수신 자격에 관한 정보를 포함하는 자격 관리 메시지(Entitlement Management Message)를 더 전송하는 것을 특징으로 하는 데이터 암호화 장치.
  16. 암호화된 데이터를 전송하는 서버로부터 상기 서버에서의 현재 시간을 나타내는 현재 시간 정보를 수신하는 수신부;
    상기 현재 시간 정보에 기초하여 상기 암호화된 데이터를 복호화하는데 사용될 복호화 키를 생성하는 복호화키 생성부; 및
    상기 복호화 키를 이용하여 상기 암호화된 데이터를 복호화하는 복호화부를 포함하는 것을 특징으로 하는 데이터 복호화 장치.
  17. 제 16항에 있어서, 상기 복호화키 생성부는,
    기준 시간과 상기 현재 시간 간의 시간 간격을 나타내는 카운터 값을 카운터 값 계산부; 및
    소정의 해쉬 함수를 이용하여 상기 카운터 값에 대응하는 함수 값을 획득하는 함수 값 획득부를 포함하는 것을 특징으로 하는 데이터 복호화 장치.
  18. 제 17 항에 있어서,
    상기 수신부는, 상기 암호화된 데이터 및 상기 암호화에 사용된 암호화 키의 타입을 나타내는 암호화 키 타입 정보를 더 수신하고,
    상기 복호화키 생성부는,
    상기 카운터 값이 상기 암호화 키 타입 정보에 대응하는지를 판단하는 판단부; 및
    상기 판단 결과에 기초하여 상기 카운터 값을 보정하는 보정부를 포함하는 것을 특징으로 하는 데이터 복호화 자치.
  19. 제 16항에 있어서,
    상기 복호화 키는, CA 시스템(Conditional Access System)을 구현하는데 사용되는 제어 단어(Control Word)를 포함하며,
    상기 수신부는, 클라이언트의 수신 자격에 관한 정보를 포함하는 자격 관리 메시지(Entitlement Management Message)를 더 수신하는 것을 특징으로 하는 데이터 복호화 장치.
  20. 제 19항에 있어서,
    상기 수신 자격에 관한 정보는, 상기 클라이언트의 수신 자격이 변경되는 시점에 관한 정보를 포함하며,
    상기 장치는, 상기 수신 자격이 변경되는 시점에 관한 정보에 기초하여 EMM의 재 전송을 요청하는 단계를 더 포함하는 것을 특징으로 하는 데이터 복호화 장치.
  21. 제 1항 내지 제 10항 중 어느 한 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
KR1020080101612A 2008-10-16 2008-10-16 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치 KR20100042457A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080101612A KR20100042457A (ko) 2008-10-16 2008-10-16 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치
US12/472,462 US20100098249A1 (en) 2008-10-16 2009-05-27 Method and apparatus for encrypting data and method and apparatus for decrypting data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080101612A KR20100042457A (ko) 2008-10-16 2008-10-16 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20100042457A true KR20100042457A (ko) 2010-04-26

Family

ID=42108688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080101612A KR20100042457A (ko) 2008-10-16 2008-10-16 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치

Country Status (2)

Country Link
US (1) US20100098249A1 (ko)
KR (1) KR20100042457A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101894566B1 (ko) * 2017-11-22 2018-09-04 동국대학교 산학협력단 인증 및 오류 정정이 통합된 부호화가 가능한 데이터 전송 장치 및 방법
CN109388975A (zh) * 2017-08-03 2019-02-26 Arm有限公司 针对安全性和可靠性的存储器组织
KR20200002985A (ko) * 2017-11-02 2020-01-08 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9268779B2 (en) * 2009-01-28 2016-02-23 Mckesson Financial Holdings Methods, computer program products, and apparatuses for dispersing content items
KR101080596B1 (ko) * 2009-11-04 2011-11-04 삼성에스디에스 주식회사 무선 네트워크에서의 비대화형 키 생성 장치 및 방법과 이를 이용한 통신 보안방법
US8788842B2 (en) * 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
US8510552B2 (en) 2010-04-07 2013-08-13 Apple Inc. System and method for file-level data protection
DE102010062469A1 (de) * 2010-12-06 2012-06-06 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur verschlüsselten Funk-Übertragung von Daten
US8588416B2 (en) 2012-01-12 2013-11-19 The Boeing Company System and method for secure communication
US20130291080A1 (en) * 2012-04-26 2013-10-31 Appsense Limited Systems and methods for data access protection
KR20150006131A (ko) * 2013-07-08 2015-01-16 삼성전자주식회사 단말 간 통신에서 암호화 적용 방법 및 장치
US9923719B2 (en) * 2014-12-09 2018-03-20 Cryptography Research, Inc. Location aware cryptography
CN106487763B (zh) * 2015-08-31 2020-01-10 腾讯科技(深圳)有限公司 一种基于云计算平台的数据访问方法及用户终端
FR3058604B1 (fr) * 2016-11-09 2022-12-16 Sigfox Procede et dispositif d’emission de donnees chiffrees, procede et dispositif d’extraction de donnees
WO2018212978A1 (en) * 2017-05-17 2018-11-22 Kwourz Research Llc Time-based encryption key derivation
US11171955B2 (en) * 2019-03-11 2021-11-09 Intel Corporation Link protection for trusted input/output devices
WO2020251929A1 (en) * 2019-06-10 2020-12-17 Alan Gous Remote authorization of gateway device
CN110650016B (zh) * 2019-09-02 2022-09-23 南京南瑞继保电气有限公司 一种实现交直流控制保护系统网络数据安全的方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157723A (en) * 1997-03-03 2000-12-05 Motorola, Inc. Method and apparatus for secure communications with encryption key scheduling
US6938019B1 (en) * 2000-08-29 2005-08-30 Uzo Chijioke Chukwuemeka Method and apparatus for making secure electronic payments
DE10136608B4 (de) * 2001-07-16 2005-12-08 Francotyp-Postalia Ag & Co. Kg Verfahren und System zur Echtzeitaufzeichnung mit Sicherheitsmodul
GB0208858D0 (en) * 2002-04-18 2002-05-29 Hewlett Packard Co Method and apparatus for encrypting/decrypting data
US7822688B2 (en) * 2002-08-08 2010-10-26 Fujitsu Limited Wireless wallet
GB2399724B (en) * 2003-03-15 2005-04-27 Hewlett Packard Development Co Method and system for regulating access to a service
US20060159260A1 (en) * 2005-01-14 2006-07-20 Eaton Corporation Method and communication system employing secure key exchange for encoding and decoding messages between nodes of a communication network
US9094206B2 (en) * 2007-10-26 2015-07-28 Telcordia Technologies, Inc. Method and system for secure session establishment using identity-based encryption (VDTLS)
TWI375447B (en) * 2008-06-27 2012-10-21 Ind Tech Res Inst Multi-layer encryption and decryption system and method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388975A (zh) * 2017-08-03 2019-02-26 Arm有限公司 针对安全性和可靠性的存储器组织
CN109388975B (zh) * 2017-08-03 2024-01-30 Arm有限公司 针对安全性和可靠性的存储器组织
KR20200002985A (ko) * 2017-11-02 2020-01-08 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체
KR101894566B1 (ko) * 2017-11-22 2018-09-04 동국대학교 산학협력단 인증 및 오류 정정이 통합된 부호화가 가능한 데이터 전송 장치 및 방법

Also Published As

Publication number Publication date
US20100098249A1 (en) 2010-04-22

Similar Documents

Publication Publication Date Title
KR20100042457A (ko) 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치
KR100924106B1 (ko) 디지털 데이터를 소스로부터 수신기로 안전하게 송신하는방법
KR100917720B1 (ko) 디지털 멀티미디어 콘텐트 데이터를 안전하게 배포하는 방법
US8675872B2 (en) Secure content distribution apparatus, systems, and methods
JP2008514123A (ja) デジタルコンテンツへの認可されたアクセスを提供するためのシステム及び方法
US20130276019A1 (en) Method and authentication server for verifying access identity of set-top box
JP4519935B2 (ja) 情報通信方法、通信端末装置および情報通信システム
KR20100089228A (ko) 멀티미디어 컨텐트의 전송 스트림 암호화 방법 및 그 장치,복호화 방법 및 그 장치
GB2489672A (en) Authentication certificate distribution to set top boxes
CN103535044A (zh) 保护记录的多媒体内容的方法
RU2541190C2 (ru) Способы дешифрования, передачи и приема контрольных слов, наситель записи и сервер контрольных слов для осуществления этих способов
US20080298580A1 (en) Content delivery server and content delivery system
JP2007124055A (ja) コンテンツ配信装置、ライセンス発行装置、課金装置およびコンテンツ視聴端末、ならびに、ライセンス要求生成プログラム、ライセンス生成プログラムおよび課金プログラム
KR101360354B1 (ko) 인증 방법 및 그 장치
JP4098348B2 (ja) 端末装置、サーバ装置及びコンテンツ配信システム
CN107919958B (zh) 一种数据加密的处理方法、装置及设备
JP2020178185A (ja) コンテンツ配信装置、携帯端末、受信装置およびそれらのプログラム
JP4383195B2 (ja) 鍵管理装置及びそのプログラム、ライセンス配信装置及びそのプログラム、並びに、コンテンツ利用端末及びそのプログラム
JP7174633B2 (ja) コンテンツ配信装置、携帯端末、受信装置およびそれらのプログラム
KR101609095B1 (ko) 콘텐츠 전송 네트워크에서의 데이터 보안 장치 및 그 방법
KR20040050561A (ko) 공개키 기반 구조의 제한 수신 시스템에서의 자격관리메시지 변환 방법
JP2005020218A (ja) ライセンス情報送信装置、ライセンス情報送信プログラム、ライセンス情報送信方法およびライセンス情報受信装置、ライセンス情報受信プログラム、ライセンス情報受信方法
JP5143186B2 (ja) 情報通信方法およびサーバ
JP2022114882A (ja) 特典取得用データ発行装置、特典取得装置、特典発行装置およびそれらのプログラム
JP2008118708A (ja) 端末装置及びサーバ装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid