首页 / 专利库 / 人工智能 / 语言代码 / 멀티미디어 시스템 온 칩 내에 워터마크를 삽입하는 방법및 시스템

멀티미디어 시스템 온 칩 내에 워터마크를 삽입하는 방법및 시스템

阅读:1012发布:2020-10-02

专利汇可以提供멀티미디어 시스템 온 칩 내에 워터마크를 삽입하는 방법및 시스템专利检索,专利查询,专利分析的服务。并且A method and a system for embedding a watermark in a multimedia SOC(System-On-Chip) are provided to prevent non-authorized media or a pirated version of media from being used. A cable input(101) communicates multimedia signals including audio, video data and voice. An STB(Set Top Box)(103) includes a logical algorithm, a circuitry and a command language code for receiving multimedia input signals and generating output signals to be displayed on a television(109). A storage unit(107) stores multimedia data that may have been received from the cable input and processed by a watermark SoC(105). The watermark SoC receives multimedia data from the cable input, generates a digital watermark, and inserts it into the data. The digital watermark includes a source of the multimedia data and encrypted data related to recording privileges regarding the STB.,下面是멀티미디어 시스템 온 칩 내에 워터마크를 삽입하는 방법및 시스템专利的具体信息内容。

  • 시스템 온 칩(system-on-chip) 내에서, 그 시스템 온 칩 내에 집적되어 있는 보안 프로세서를 이용하여 암호화 및 서명된 워터마킹 신호를 해독하는 단계; 및
    상기 시스템 온 칩 내에서, 상기 해독된 워터마킹 데이터를 이용하여, 멀티미디어 신호 내에 워터마크를 삽입(embed)하는 단계를 포함하는 데이터 처리 방법.
  • 청구항 1에 있어서, 상기 암호화 및 서명된 워터마킹 신호는 삽입 키(embedding key), 삽입될 메시지 및 이러한 삽입을 정의하는 파라미터들을 포함하는 것을 특징으로 하는 데이터 처리 방법.
  • 청구항 2에 있어서, 상기 삽입 키는 상기 워터마크의 삽입을 위해 이용되는 것을 특징으로 하는 데이터 처리 방법.
  • 청구항 1에 있어서,
    상기 시스템 온 칩 내에 있는 호스트 CPU를 통해 외부 메모리로부터 상기 암호화 및 서명된 워터마킹 신호를 수신하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 방법.
  • 청구항 1에 있어서, 보안 서버로부터 상기 암호화 및 서명된 워터마킹 신호 를 수신하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 방법.
  • 데이터를 처리하는 시스템에 있어서, 상기 시스템은
    시스템 온 칩 내에 암호화 및 서명된 워터마킹 신호를 해독하기 위한 보안 프로세서를 포함하는 하나 또는 다수의 회로들을 포함하며,
    상기 하나 또는 다수의 회로들은 상기 하나의 시스템 온 칩 내에서 상기 해독된 워터마킹 데이터를 이용하여, 멀티미디어 신호 내에 워터마크를 삽입(embed)하는 것을 특징으로 하는 데이터 처리 시스템.
  • 청구항 6에 있어서, 상기 암호화 및 서명된 워터마킹 신호는 삽입 키(embedding key), 삽입될 메시지 및 이러한 삽입을 정의하는 파라미터들을 포함하는 것을 특징으로 하는 데이터 처리 시스템.
  • 청구항 7에 있어서, 상기 삽입 키는 상기 워터마크의 삽입을 위해 이용되는 것을 특징으로 하는 데이터 처리 시스템.
  • 청구항 6에 있어서, 상기 하나 또는 다수의 회로들은 상기 시스템 온 칩 내에 있는 호스트 CPU를 통해 외부 메모리로부터 상기 암호화 및 서명된 워터마킹 신호를 수신하는 것을 특징으로 하는 데이터 처리 시스템.
  • 청구항 6에 있어서, 상기 하나 또는 다수의 회로들은 보안 서버로부터 상기 암호화 및 서명된 워터마킹 신호를 수신하는 것을 특징으로 하는 데이터 처리 시스템.
  • 说明书全文

    멀티미디어 시스템 온 칩 내에 워터마크를 삽입하는 방법 및 시스템{METHOD AND SYSTEM FOR WATERMARK EMBEDDING IN A MULTIMEDIA SYSTEM-ON-CHIP}

    본 발명의 일부 실시예들은 디지털 미디어 프로세싱에 관련된 것이다. 더 상세하게는, 본 발명의 일부 실시예들은 멀티미디어 시스템 온 칩 내에 워터마크를 삽입하는 방법 및 시스템에 관련된 것이다.

    워터마킹 기법(watermarking)은 예를 들어 저작물(copyrighted material)과 같은 데이터를 포함하는 디지털 미디어에 대해 인가받지 않은 사용 또는 불법 복제를 방지하는 데에 이용되는 기술이다. 디지털 미디어의 워터마킹은 두 가지 카테고리로 모아 질 수 있는데, 이는 가시성(visible) 타입과 비가시성(invisible) 타입이다. 가시성 워터마크(visible watermarks)는 통상적으로 소유권을 명시하고 그 이미지에 대한 비인가 사용을 거부할 수 있도록 디지털 이미지에 부가된다. 이러한 워터마크는 예를 들어 소유권자의 신원 내지 저작권 기호 및 날짜를 포함할 수 있다. 이러한 타입의 워터마크는 그러한 워터마크 데이터가 이미지 내에 공간적으로 삽입되며, 그러한 워터마크 신호가 원래의 이미지 데이터와 구별된다는 점에서 일종의 공간형 워터마크(spatial watermark)라고 간주될 수 있다. 공간형 워터마크는 그러한 워터마크 데이터를 필터링하거나, 제거 내지 크롭핑할 수 있기 때문에, 공격에 대해 강하지 않을 수 있다.

    비가시성 워터마크는 이미지를 인지할 수 있는 수준까지 변화시키지 않는다. 이는 원래 데이터의 가장 덜 중요한 비트들에 사소한 변화를 줌으로써 달성될 수 있다. 최종 사용자에게 알려지지 않은 워터마크들은 은닉정보형(steganographic)이라고 할 수 있다.

    워터마킹 프로세스는 주파수 도메인에서 워터마크 데이터를 삽입시킬 수 있는데, 이로써 워터마킹을 공격에 대해 더욱 강인하게 할 수 있다. 이러한 기술은 통신 기술에서 확산 스펙트럼 인코딩과 유사한데, 삽입될 데이터가 원본 데이터에 추가되기에 앞서, 그 워터마크 신호를 의사 잡음 신호로 변조시킴으로써 다중의 주파수들에 걸쳐 확산될 수 있다. 워터마크가 비가시성이라는 점으로 인한 작은 신호크기, 원본 데이터(예를 들어 이미지 또는 비디오)의 넓은 대역폭, 그리고 워터마크 메시지 자체의 짧은 길이와 같은 요인들은 모두 확산 스펙트럼 인코딩이 논리적인 선택이라는 점을 알려주는 요인들이다.

    디지털 멀티미디어 데이터 내에 워터마크를 삽입하는 데에 추가하여, 워터마크가 존재하는지 여부를 검출하는 것도 또한 멀티미디어 데이터의 보호에 중요할 수 있다. 멀티미디어 재생장치들은 비인가 미디어 또는 해적판 미디어의 사용을 배제할 수 있도록 워터마크 감지 전자회로들을 포함할 수 있다.

    기존의 전통적인 접근법에 따른 다른 한계점들 및 단점들은 당해 기술 분야의 숙련된 자에게, 본 출원의 나머지 부분들에서 도면들을 참조하여 설명되는 본 발명의 몇몇 측면들과 종래의 시스템들의 비교를 통해 명백해질 것이다.

    청구범위에서 더욱 완전하게 설명될, 도면 중의 적어도 하나와 함께 나타내지거나 또는 설명되는 바와 본질적으로 같은, 멀티미디어 시스템 온 칩 내에 워터 마크를 삽입하는 방법 및 시스템이 제공된다.

    본 발명의 일 측면에 따르면, 데이터를 처리하는 방법은, 하나의 시스템 온 칩(system-on-chip) 내에서, 그 시스템 온 칩 내에 집적되어 있는 보안 프로세서를 이용하여 소정의 암호화 및 서명된 워터마킹 신호를 해독하는 단계; 및

    상기 시스템 온 칩 내에서, 상기 해독된 워터마킹 데이터를 이용하여, 멀티미디어 신호 내에 소정의 워터마크를 삽입하는 단계를 포함한다.

    바람직하게는, 상기 암호화 및 서명된 워터마킹 신호는 삽입 키, 삽입될 메시지 및 이러한 삽입을 정의하는 파라미터들을 포함한다.

    바람직하게는, 상기 삽입 키는 상기 워터마크의 삽입을 위해 이용된다.

    바람직하게는, 상기 방법은 상기 시스템 온 칩 내에 있는 호스트 CPU를 통해 외부 메모리로부터 상기 암호화 및 서명된 워터마킹 신호를 수신하는 단계를 더 포함한다.

    바람직하게는, 상기 방법은 보안 서버로부터 상기 암호화 및 서명된 워터마킹 신호를 수신하는 단계를 더 포함한다.

    바람직하게는, 상기 방법은 상기 시스템 온 칩 내에서, 공개 키를 이용하여, 상기 해독된 워터마킹 신호의 서명을 검증하는 단계를 더 포함한다.

    바람직하게는, 상기 공개 키는 상기 시스템 온 칩 내에 저장된다.

    바람직하게는, 상기 검증 단계는 상기 시스템 온 칩 내에 있는 상기 보안 프로세서에 의해 생성된 난수(random number)를 이용한다.

    바람직하게는, 상기 방법은 상기 검증된 워터마킹 신호를 상기 시스템 온 칩 내에 있는 비휘발성 메모리 내에 저장하는 단계를 더 포함한다.

    바람직하게는, 상기 방법은 상기 검증된 워터마킹 신호를, 상기 시스템 온 칩의 바깥에 있는 비휘발성 메모리 상에 저장되게 하기에 앞서, 재암호화(re-encrypting)하는 단계를 더 포함한다.

    바람직하게는, 상기 방법은 상기 재암호화된 워터마킹 신호를 재서명(re-signing)하는 단계를 더 포함한다.

    바람직하게는, 상기 방법은 상기 외부 비휘발성 메모리로부터 상기 재암호화된 워터마킹 신호를 검색 및 추출(retrieving)하는 단계를 더 포함한다.

    바람직하게는, 상기 방법은 상기 시스템 온 칩 내에서, 상기 검색 및 추출된 암호화된 워터마킹 신호를 재해독(re-decryping)하는 단계를 더 포함한다.

    바람직하게는, 상기 방법은 상기 시스템 온 칩 내에서, 상기 재해독된 워터마킹 신호를 재검증(re-verifying)하는 단계를 더 포함한다.

    본 발명의 일 측면에 따라, 데이터를 처리하는 시스템은,

    하나의 시스템 온 칩 내에 소정의 암호화 및 서명된 워터마킹 신호를 해독하기 위한 보안 프로세서를 포함하는 하나 또는 다수의 회로들을 포함하도록 제공되며,

    상기 하나 또는 다수의 회로들은 상기 하나의 시스템 온 칩 내에서 상기 해독된 워터마킹 데이터를 이용하여, 멀티미디어 신호 내에 소정의 워터마크를 삽입한다.

    바람직하게는, 상기 암호화 및 서명된 워터마킹 신호는 삽입 키, 삽입될 메 시지 및 이러한 삽입을 정의하는 파라미터들을 포함한다.

    바람직하게는, 상기 삽입 키는 상기 워터마크의 삽입을 위해 이용된다.

    바람직하게는, 상기 하나 또는 다수의 회로들은 상기 시스템 온 칩 내에 있는 호스트 CPU를 통해 외부 메모리로부터 상기 암호화 및 서명된 워터마킹 신호를 수신한다.

    바람직하게는, 상기 하나 또는 다수의 회로들은 보안 서버로부터 상기 암호화 및 서명된 워터마킹 신호를 수신한다.

    바람직하게는, 상기 하나 또는 다수의 회로들은 상기 시스템 온 칩 내에서, 공개 키를 이용하여, 상기 해독된 워터마킹 신호의 서명을 검증한다.

    바람직하게는, 상기 공개 키는 상기 시스템 온 칩 내에 저장된다.

    바람직하게는, 상기 하나 또는 다수의 회로들은 상기 검증을 위해, 상기 시스템 온 칩 내에 있는 상기 보안 프로세서에 의해 생성된 난수(random number)를 이용한다.

    바람직하게는, 상기 하나 또는 다수의 회로들은 상기 검증된 워터마킹 신호를 상기 시스템 온 칩 내에 있는 비휘발성 메모리 내에 저장한다.

    바람직하게는, 상기 하나 또는 다수의 회로들은 상기 검증된 워터마킹 신호를, 상기 시스템 온 칩의 바깥에 있는 비휘발성 메모리 상에 저장되게 하기에 앞서, 재암호화(re-encrypting)한다.

    바람직하게는, 상기 하나 또는 다수의 회로들은 상기 재암호화된 워터마킹 신호를 재서명(re-signing)한다.

    바람직하게는, 상기 하나 또는 다수의 회로들은 상기 외부 비휘발성 메모리로부터 상기 재암호화된 워터마킹 신호를 검색 및 추출(retrieving)한다.

    바람직하게는, 상기 하나 또는 다수의 회로들은 상기 시스템 온 칩 내에서, 상기 검색 및 추출된 암호화된 워터마킹 신호를 재해독(re-decryping)한다.

    바람직하게는, 상기 하나 또는 다수의 회로들은 상기 시스템 온 칩 내에서, 상기 재해독된 워터마킹 신호를 재검증(re-verifying)한다.

    본 발명에 관한 이러한 장점들 그리고 그 밖의 장점들, 측면들 및 신규한 특징들은 이와 관련하여 예시된 실시예들의 세부사항들과 더불어, 다음의 상세한 설명 및 도면들로부터 더 완벽하게 이해될 수 있을 것이다.

    본 발명은 암호화 및 서명된 워터마크 신호를 시스템 온 칩 내에 집적되어 있는 보안 프로세서를 이용하여 해독하고, 이 해독된 워터마킹 신호를 이용하여 멀티미디어 신호 내에 워터마크를 삽입함으로써, 최종적으로 비인가 미디어 또는 해적판 미디어의 사용을 배제할 수 있다.

    본 발명의 일부 측면들은 멀티미디어 시스템 온 칩(multimedia system-on-chip) 내에 워터마크 삽입(embedding)을 위한 방법 및 시스템에 관한 것일 수 있다. 본 발명의 예시적인 측면들은 시스템 온 칩 내에 집적된 보안 프로세서를 이용하여, 암호화되고 서명된 워터마킹 신호를 해독하는 단계와, 해독된 워터마킹 신호를 이용하여 멀티미디어 신호 내에 워터마크를 삽입하는 단계를 포함한다. 상기 워 터마킹 신호는 삽입 키(embedding key), 삽입될 메시지 및 삽입 파라미터들을 포함할 수 있다. 상기 암호화되고 서명된 워터마킹 신호는 상기 시스템 온 칩 내의 호스트 CPU 또는 보안 서버를 통해 외부 메모리로부터 수신될 수 있다. 상기 해독된 워터마킹 신호는 서명(signature), 공개 키(public key) 및 국부적으로 생성된 난수(random number)를 이용하여 검증될 수 있다. 상기 검증된 워터마킹 신호는 상기 시스템 온 칩 내의 비휘발성 메모리에 저장될 수도 있고, 또는 상기 시스템 온 칩의 외부에 연결되는 비휘발성 메모리 내에 저장되기에 앞서 재암호화(re-encrypted) 및 재서명(re-signed) 될 수 있다. 상기 워터마킹 신호는 상기 외부 비휘발성 메모리로부터 가져올(retrieved) 수 있고, 시스템 온 칩 내에서 재해독(re-decrypted) 및 재검증(re-verified) 될 수 있다.

    도 1은 본 발명의 일 실시예에 따른 시스템 온 칩 디지털 워터마킹의 예시적인 응용예이다. 도 1을 참조하면, 워터마킹 어플리케이션(100)이 나타나 있으며, 이는 케이블 입력(101), 텔레비전(109)과, 워터마크 시스템 온 칩(systme-on-chip, SoC)(105) 및 저장 장치(storage)(107)를 포함하는 셋톱 박스(set top box)(103)를 포함한다. 상기 케이블 입력(101)은 예를 들어 오디오, 비디오, 데이터 내지 음성을 포함하는 멀티미디어 신호들을 통신할 수 있다. 상기 셋톱 박스(103)는 멀티미디어 입력 신호들을 수신하고 상기 텔레비전(109) 상에 표시될 수 있는 출력 신호를 생성하기에 적절한 논리 알고리즘(logic), 회로 조직(circuitry), 명령어 코드(code) 등을 포함할 수 있다. 상기 저장 장치(107)는 상기 케이블 입력(101)으로부터 수신되어, 상기 워터마크 SoC(105)에 의해 처리되었을 수 있는 멀티미디어 데 이터를 저장하기에 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 비록 케이블 입력(101)이 제시되어 있지만, 본 발명은 그에 한정되지 않는다. 따라서, 예를 들어 위성 신호 입력(feed)과 같은 다른 미디어 입력 신호들이 상기 셋톱 박스(103)에 대한 입력으로서 제공될 수 있다.

    상기 워터마크 SoC(105)는 예를 들어 케이블 입력(101)으로부터 멀티미디어 데이터를 수신하고, 디지털 워터마크를 생성하여 그 데이터 내에 삽입시키기에 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 디지털 워터마크는 예를 들어 상기 멀티미디어 데이터의 소스(source) 내지 상기 셋톱 박스(103)에 관한 녹화 권한(recording privileges)에 관련된 암호화 데이터(encrypted data)를 포함한다. 상기 데이터 내의 암호화 메시지(encrypted message)는 오직 적절한 워터마크 검출 회로부를 가지고서만 검출될 수 있다.

    동작을 살피면, 멀티미디어 데이터가 케이블 입력(101)을 통해 상기 셋톱 박스(103)에 전달될 수 있다. 상기 멀티미디어 데이터가 예를 들어 저작권 보호된 저작물을 포함하여, 불법 복제 또는 불법 이용으로부터 보호되는 것이 바람직할 경우에 있어서, 상기 워터마크 SoC(105)는, 상기 저장 장치(107)에 저장하는 동작 내지 상기 텔레비전(109)에 전달하는 동작에 앞서서, 워터마크를 생성하여 상기 멀티미디어 데이터 내에 삽입시킬 수 있다.

    워터마크(watermark)의 삽입 동작(embedding)은, 원본 미디어(컨텐츠) 데이터

    , 삽입 키(embedding key) , 삽입 절차/알고리즘을 제어하는 파라미터 셋 , 그리고 상기 비디오 내지 오디오 내에 삽입될 메시지 를 수반하는 일종의 함수(function)로 간주될 수 있다. 상기 메시지 데이터 는 일종의 비트 시퀀스로 볼 수 있다. 파라미터 셋 은 여러 가지 중에서도, 이른바 워터마크 삽입 인자(watermark embedding factor), 즉 상기 워터마크에 의해 원본 미디어 데이터에 가해질 수 있는 품질 저하의 크기를 제어하는 파라미터를 포함할 수 있다. 상기 워터마크 삽입 함수의 출력은 워터마크화된 데이터 를 포함한다. 따라서, 상기 워터마크 삽입 함수는 다음과 같은 형태로 될 수 있다.

    워터마크 삽입의 보안 구현을 확실하게 할 수 있도록,

    및 양자 모두가 상기 워터마크 SoC(105) 내에서 보호받게 할 수 있다.

    도 2는 본 발명의 일 실시예에 따른 예시적인 워터마크 시스템 온 칩을 설명하는 블록도이다. 도 2를 참조하면, 워터마크 SoC(201), DRAM(211) 및 플래시 메모리(flash memory)(219)를 포함하는 워터마크 SoC 구현예(200)가 나타나 있다. 상기 워터마크 SoC(201)는 워터마크 삽입 기능 모듈(WEFM, watermark embedding functional module)(203), 보안 프로세서(security processor)(213), 메모리 버스(215) 및 호스트 CPU(217)를 포함할 수 있다. 상기 WEFM(203)는 워터마크 삽입 블록(watermark embedding block)(205), 메시지 생성 블록(message generation block)(207) 및 워터마크 생성 블록(209)을 포함할 수 있다. 상기 호스트 CPU(217)는 워터마크 프로세스 중에 상기 보안 프로세서(213)가 필요로 하는 정보를 가져오기하는(fetching) 데에 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 호스트 CPU(217)는 예를 들어 MIPS 프로세서를 포함할 수 있으며, 상기 메모리 버스(215)를 통해 상기 DRAM(211)과 연결될 수 있으며, 또한 상기 플래시 메모리(219)와 연결될 수 있다. 상기 메모리 버스(215)는 상기 워터마크 SoC(201) 내에 있는 여러 구성 요소들 중에서 상기 DRAM(211) 상에 저장되어 있는 데이터에 대해 액세스를 요구할 수 있는 상기 호스트 CPU(217), 상기 DRAM(211) 내지 기타 구성 요소들 사이에서 데이터를 전달할 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다.

    상기 DRAM(211)은 상기 메모리 버스(215)를 통해 상기 호스트 CPU(217)에서 액세스될 수 있는 디지털 데이터를 저장하기에 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 예를 들어, 상기 DRAM(211)은 상기 호스트 CPU(217) 내지 상기 보안 프로세서(213)에 의해 생성된 처리 데이터(processed data)를 저장하는 데에 이용될 수 있다. 상기 DRAM(211)은 또한 예를 들어 설정 정보(configuration information)와 같이, 상기 워터마크 SoC(201) 내의 적어도 하나의 블록에 관한 동작을 제어하는 데에 이용될 수 있는 정보를 저장하는 데에 이용될 수 있다. 상기 플래시 메모리는 상기 호스트 CPU(217)로부터 액세스될 수 있는 디지털 데이터를 저장하기에 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 DRAM(211) 내지 상기 플래시 메모리(219) 내에 저장된 데이 터는 도 1에 관하여 설명되었듯이, 메시지

    및 파라미터들 을 포함하며, 또한 워터마크 프로세스 중에 상기 보안 프로세서(213)에 의해 활용되기도 하는 암호화된 메시지를 포함할 수 있다.

    상기 보안 프로세서(213)는, 도 1에 관하여 설명된 워터마크(111)와 같이, 상기 WEFM(203)를 가지고 어떤 워터마크를 생성하고 삽입할 수 있도록 출력 데이터를 생성하기에 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 본 발명의 일 측면에 따르면, 상기 보안 프로세서(213)는 칩 내, 즉 워터마크 SoC(201)에 집적되어 있어서, 하드웨어 조작을 통해 외부 프로세서 또는 예를 들어 호스트 CPU(217)와 같은 어떤 호스트 CPU에 대해 가해지는 공격들에 대해 취약하지 않을 수 있다. 이는 실질적으로 보안성을 향상시킨다.

    상기 메시지 생성 블록(207)은 워터마크 생성을 위한 메시지

    을 생성하기에 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 암호화 메시지는 인입 신호로부터 수신되거나, 또는 상기 DRAM(211) 내지 상기 플래시 메모리(219)로부터 상기 호스트 CPU(217)에 의해 검색될 수 있다. 상기 워터마크 생성 블록(209)은 상기 보안 프로세서(213) 및 상기 메시지 생성 블록(207)으로부터 수신된 입력들로부터, 워터마크 M

    W 를 생성할 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다.

    동작을 보면, 상기 호스트 CPU(217)는 상기 DRAM(211) 또는 플래시 메모리(219)에 저장되어 있을 수 있는 암호화 서명 메시지(encrypted signed message) 를 검색하여 가져오고(retrieve), 상기 암호화 서명 메시지를 상기 보안 프로세서(213)에 전달할 수 있다. 상기 보안 프로세서(213)는 상기 메시지를 해독하고, 상기 메시지 M'를 추출하기에 앞서 그 서명(signature)을 검증할 수 있다. 이때, 상기 메시지 M'는 상기 메시지 생성 블록(207)으로 전달될 수 있다. 상기 보안 프로세서(213)는 키

    , 파라미터 셋 를 생성할 수 있으며, 이들은 워터마크 신호 M

    W 를 생성할 때에 상기 워터마크 생성 블록(209)에 의해 이용될 수 있다. 상기 키 는 워터마크 생성 프로세스를 활성화하는 데에 이용될 수 있으며, 상기 파라미터 셋 은 상기 워터마크 생성 블록(209)에서 어떤 알고리즘이 사용될 수 있을 것인지를 결정하는 데에 이용될 수 있다. 상기 메시지 생성 블록(209)은 상기 보안 프로세서(213)에 의해 생성되었던 상기 수신 메시지 M'이나, 또는 원본 미디어 데이터 에서 추출된 메시지 데이터로부터 메시지 을 생성할 수 있으며, 그러한 메시지 를 상기 워터마크 생성 블록(209)에 전달할 수 있다. 상기 워터마크 생성 블록(209)은 입력 신호들 M', 및 를 이용하여 상기 워터마크 신호를 생성할 수 있다. 상기 워터마크 신호 M

    W 및 파라미터 셋 은 상기 워터마크 삽입 블록(205)에 전달될 수 있다. 상기 워터마크 삽입 블록(205)은 상기 워 터마크 신호 M

    W 를 상기 파라미터 셋 을 이용하여 상기 원본 미디어 데이터 에 적용시킬 수 있으며, 데이터 내에 삽입된 워터마크 M

    W 를 가지는 출력 신호 를 생성할 수 있다.

    상기 보안 프로세서(213)는 상기 키

    , 상기 메시지들 M' 및 , 상기 워터마크 신호 M

    W 및 파라미터 셋 을 안전하게 생성하고 전달함으로써, 상기 호스트 CPU(217) 또는 그 밖에 다른 프로세서가 어떤 경우라도 이들 파라미터들에 직접적으로 접근할 수 없게 할 수 있다. 워터마킹 프로세스 동안에 연관되는 파라미터들의 안전한 생성 및 전달은 예를 들어 워터마킹 강인성 규칙(watermarking robustness rules)의 한가지 필수 조건이기도 하다.

    도 3은 본 발명의 일 실시예에 따라, 보안 프로세서(secure processor)를 이용하는 예시적인 워터마킹 시스템을 설명하는 블록도이다. 도 3을 참조하면, 미디어 프로세싱 유닛(301) 및 보안 프로세서(307)를 포함하는 워터마킹 시스템(300)이 나타나 있다. 또한 암호화된 입력 신호(encrypted input signal)(325), 고유 칩 비밀 키(unique per chip secret key)(323), 공개 키(333) 및 서명(335)이 나타나 있다. 상기 암호화 입력 신호(325)는 도 2에 관하여 설명된 바와 같이, 키

    , 해독 대상인 메시지 M' 및 파라미터 셋 을 포함할 수 있다. 상기 보안 프로세서 는 레지스터(309), 온칩 비휘발성 메모리(NVM)(313), 난수 생성(RNG, random number generation) 엔진(315), NVM1(319) 및 NVM2(321), 해독 엔진(decryption engine)(327), 게이트(gate)(329) 및 서명 검증 블록(signature verification block)(331)을 포함할 수 있다. 상기 미디어 프로세싱 유닛은 워터마킹 생성 및 삽입 블록(311)을 포함할 수 있다.

    상기 온칩 NVM(313)은 데이터를 저장하기에 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 여기서 저장되는 데이터에는 칩 ID(317)이 포함될 수 있는데, 이는 워터마크 프로세스 중에 이용될 개별 칩을 식별하는 데에 이용될 수 있고, 그럼으로써 그 칩에 의해 생성된 워터마크화 데이터를 가지고 그 데이터의 생성 소스를 식별하는 데에 이용될 수 있다. 상기 칩 ID(317)는 또한 상기 미디어 프로세싱 유닛(301)에 의해 생성되어 삽입된 워터마크 데이터 내에 포함된 상태로 NVM(319)에도 저장될 수 있다. 상기 온칩 NVM(313) 내에 저장된 데이터는 또한 고유 칩 비밀 키(323)를 포함할 수 있는데, 이는 상기 해독 엔진(327)이 적절한 서명(335)을 생성하는 데에 이용될 수 있다.

    상기 RNG 엔진(315)은 난수(random number)를 생성하기에 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 난수와 칩 ID(317)를 유일하게 조합한 값은 오직 한 번만 사용된다고 볼 수 있기 때문에, 이러한 난수는 추가적인 보안성을 제공하는 데에 이용될 수 있다. 상기 레지스터(309)는 데이터를 저장하기에 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 저장되는 데이터에는 상기 칩 ID(317)와 상기 RNG 엔진(315)에서 생성된 난수가 포함 될 수 있다. 상기 온칩 NVM(313), NVM1(319) 및 NVM2(321)는 데이터를 저장하기에 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 NVM1(319) 상에 저장되는 데이터는 상기 미디어 프로세싱 유닛(301)에 의해 이용되는 워터마킹 키 및 알고리즘 정보를 포함할 수 있다. 상기 NVM2(321)에 저장되는 데이터는 상기 RNG 엔진(315)이 생성하는 난수를 포함할 수 있으며, 이 NVM2(321)는 상기 서명 검증 블록(331)에 의해 액세스될 수 있다.

    상기 해독 엔진(327)은 상기 온칩 NVM(313)으로부터 수신한 고유 칩 비밀 키(323)를 이용하여,

    , M' 및 를 포함하는 상기 암호화 입력 신호(325)를 해독해 낼 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 해독 엔진(317)의 출력은 상기 서명 검증 블록(331)의 입력 및 상기 게이트(329)에 연결될 수 있다. 상기 서명 검증 블록(331)은 입력으로써 수신된 서명들의 유효 여부를 검증할 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 서명 검증 블록(331)의 출력은 상기 게이트(329)의 입력에 연결될 수 있다. 상기 서명 검증 블록(331)은 상기 공개 키(333), 상기 서명(335)과, 상기 RNG 엔진(315)에 의해 생성되어 NVM2(321)에 저장되는 상기 난수를 입력으로서 수신할 수 있다. 상기 게이트(329)는 상기 서명 검증 블록(331) 내에서 상기 공개 키(333) 및 상기 서명(335)의 검증 결과에 따라, 워터마킹 프로세스를 계속 진행시키거나 또는 중단시킬 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다.

    동작을 살피면, 상기 암호화 입력 신호(325)는 상기 키

    , 해독의 대상이 되는 메시지 M' 및 상기 미디어 프로세싱 유닛(301)에서 이용될 삽입 프로세스 및 알고리즘을 정의하는 파라미터 를 포함할 수 있으며, 상기 해독 엔진(327)의 입력에 전달될 수 있다. 상기 고유 칩 비밀 키(323)는 상기 해독 엔진(327)의 또 다른 입력을 통해 전달되며, 이로부터 상기 해독 엔진(327)은 서명(335)을 생성할 수 있고, 이 서명(335)은 상기 서명 검증 블록(331)에 전달될 수 있다. 상기 서명 검증 블록(331)은 수신된 서명, 그리고 상기 보안 프로세서(307) 내에 저장된 공개 키(333) 및 상기 NVM2(321) 내에 저장된 난수를 검증할 수 있으며, 만약 검증이 이뤄지면, 또는 통과되면, 해독된 메시지 및 파라미터 셋을 상기 NVM1(319)에 저장하도록 하는 신호를 상기 게이트(329)에 전송할 수 있다. 만약 검증에 실패하면, 이러한 절차는 중단될 수 있다.

    상기 미디어 프로세싱 유닛(301)은 상기 NVM1(319)에 저장되어 있는 데이터에 액세스할 수 있으며, 프로세스 중에 이용된 상기 워터마크 생성 및 삽입 블록(311)의 파라미터들과 삽입된 데이터를 결정할 수 있으며, 이때 이들 데이터는 예를 들어 알고리즘, 워터마킹 키, 워터마크 M W 및 칩 ID을 포함할 수 있다. 상기 워터마크 생성 및 삽입 블록(311)은 상기 워터마크 M W 를 원본 미디어 데이터

    (303)에 삽입하여, 출력 신호 (305)를 생성할 수 있다.

    상기 보안 프로세서(307)는 상기 키

    , 메시지 M' 및 , 상기 워터마크 신호 M

    W 및 상기 파라미터 를 안전하게 생성하고 전송함으로써, 호스트 CPU 또는 그 밖의 다른 프로세서가 어떤 시점에서도 이들 파라미터들에 직접적으로 액세스하지 못하게 할 수 있다. 워터마킹 프로세스 중에 수반되는 파라미터들에 대한 이러한 보안이 확보된 생성 및 전송은 예를 들어, 워터마킹 강인성 규칙의 필수 조건일 수 있다.

    도 4a는 본 발명의 일 실시예에 따라, 외부 플래시 워터마킹 및 알고리즘 정보 저장 장치(storage)에 대한 블록도이다. 도 4a를 참조하면, 외부 플래시 저장 시스템(400)이 나타나 있고, 이는 검증 블록(401), 해독 블록(403), 플래시 메모리(405), 서명 블록(407) 및 암호화 블록(409)을 포함한다. 또한 칩 비밀 키(411), 검증 키(413) 및 서명 키(signing key)(415)가 나타나 있다. 상기 외부 플래시 저장 시스템(400)은 비휘발성 메모리를 이용할 수 없을 경우에 도 3에 관하여 설명된 NVM1(319)를 대신하려고 이용되는 것일 수 있으며, 도 3에 관하여 설명된 상기 워터마킹 생성 및 삽입 블록(311)에 의해 요구되는 워터마킹 키 및 알고리즘 정보를 저장할 수 있다.

    상기 검증 블록(401), 상기 해독 블록(403), 상기 서명 블록(407) 및 상기 암호화 블록(409)은 도 3에 관하여 설명한 바와 같이, 상기 보안 프로세서(307) 내에 위치할 수 있으며, 상기 플래시 메모리(405)는 도 2에 관하여 설명된 바와 같이, 상기 보안 프로세서(307) 외부이기는 하나 그래도 상기 SoC(201)의 내부인 곳 에 위치할 수 있다. 상기 플래시 메모리(405)는 실질적으로 도 2에 관하여 설명된바와 같이, 상기 플래시 메모리(219)와 동일할 수 있다.

    상기 서명 블록(407)은 도 3에 관하여 설명된 바와 같이, 상기 게이트(329)로부터 입력을 수신할 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있으며, 이때 상기 입력은 도 3에 관하여 설명된 바와 같이, 해독 엔진(327)에 의해 생성되는 해독 데이터를 포함할 수 있다. 상기 서명 블록(407)은 또한 입력으로서 상기 서명 키(415)를 수신할 수 있는데, 상기 서명 키는 상기 암호화 블록(409)에 전송되는 데이터 내에 포함되거나 또는 서명됨으로써, 상기 플래시 메모리(405)로부터 데이터를 요청하는 것이 보안이 확보된 소스(secure source), 즉 도 3에 관하여 설명된 바와 같은 보안 프로세서(307)로부터 오는 것임을 명시할 수 있다. 상기 암호화 블록(409)은 데이터를 암호화하고 상기 플래시 메모리(405) 내에 저장시킬 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 암호화 블록(409)은 입력으로서 상기 서명 블록(407)에서 생성된 신호 및 상기 칩 비밀 키(411)를 수신하는데, 상기 칩 비밀 키(411)는 도 3에 관하여 설명되었던 고유 칩 비밀 키(323)와 실질적으로 동일할 수 있다.

    상기 해독 블록(403)은 상기 플래시 메모리(405)에 저장되어 있는 암호화된 데이터를 해독하고, 출력 신호를 생성할 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있으며, 이때 상기 출력 신호는 상기 검증 블록(401)으로 전달될 수 있다. 상기 해독 블록(403)은 입력으로서 상기 플래시 메모리(405)에 저장되어 있는 암호화된 데이터와 상기 칩 비밀 키(411)를 수신할 수 있 다. 상기 검증 블록(401)은 상기 해독 블록(403)으로부터 수신된 입력을 상기 검증 키(413)에 비교함으로써, 도 3에 관하여 설명되었던 바와 같이, 데이터가 상기 미디어 프로세싱 유닛(301)에 전달되어도 될지 여부에 관하여 결정할 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다.

    동작을 살피면, 상기 외부 플래시 저장 시스템(400)은, 도 3에 관하여 설명되었던 상기 보안 프로세서(307) 내에 비휘발성 메모리가 이용가능하지 않을 경우에, 외부 플래시 메모리(405)에 암호화된 데이터를 안전하게 저장하는 데에 이용될 수 있다. 도 3에 관하여 설명되었던 바와 같이 상기 게이트(329)에 의해 생성되는 입력 신호는 상기 서명 블록(407)에 의해 수신될 수 있다. 상기 서명 키(415)는 상기 입력 신호로부터 얻은 데이터 내에 삽입될 수 있다. 상기 암호화 블록(409)은 상기 칩 비밀 키(411)를 삽입할 수 있고, 상기 외부 플래시 메모리(405)에 저장할 수 있도록 상기 데이터를 암호화할 수 있다. 이러한 방법을 통해, 데이터는 외부 저장 공간에 저장될 수 있으면서도, 도 3에 관하여 설명되었던 바와 같이 상기 보안 프로세서(307)의 보안성을 유지할 수 있다.

    상기 플래시 메모리(405)에 저장된 암호화 데이터는, 만약 적합한 칩 비밀 키(411)가 함께 입력으로 수신된 경우에는, 상기 해독 블록에 의해 해독될 수 있다. 그렇게 해독된 데이터는 이어서 상기 검증 블록(401)으로 전달될 수 있다. 상기 해독 데이터가 상기 검증 키(413)에 의해 검증된 경우에는, 상기 데이터는 도 3에 관하여 설명된 바와 같이, 미디어 프로세싱 유닛(301)에 전송될 수 있다.

    도 4b는 본 발명의 일 실시예에 따라, 예시적인 난수 저장 공간(random number storage)에 대한 블록도이다. 도 4b를 참조하면, 외부 플래시 난수 저장 시스템(420)이 나타나 있으며, 이는 서명 블록(421), 플래시 메모리(423), 검증 블록(425), 서명 키(427) 및 검증 키(429)를 포함한다. 상기 서명 블록(421), 상기 검증 블록(425), 상기 서명 키(427) 및 상기 검증 키(429)는 도 3에 관하여 설명되었던 상기 보안 프로세서(307) 내부에 있을 수 있으며, 상기 플래시 메모리(423)는 상기 보안 프로세서(397)의 외부에 위치할 수 있지만, 도 2에 관하여 설명되었듯이 상기 워터마크 SoC(201) 내의 어떤 위치에 있을 수 있다. 상기 서명 블록(421), 상기 검증 블록(425), 상기 플래시 메모리(423), 상기 서명 키(427) 및 상기 검증 키(429)는 도 4a에 관하여 설명되었던 서명 블록(407), 검증 블록(401), 플래시 메모리(405), 서명 키(415) 및 검증 키(413)에 실질적으로 동일할 수 있다. 상기 플래시 메모리(423)는 도 3에 관하여 설명되었듯이, 상기 RNG 엔진(315)에 의해 생성된 난수를 저장할 수 있다. 상기 플래시 메모리(423)는 또한 도 3에 관하여 설명되었듯이 상기 레지스터(309)에 저장되어 있던 칩 ID를 저장할 수 있다.

    동작을 살피면, 상기 RNG 엔진(315)에 의해 생성된 신호를 상기 서명 블록(421)이 수신할 수 있다. 상기 서명 블록은 또한 입력으로서 상기 서명 키(427)를 수신할 수 있다. 상기 RNG 엔진(315)에 의해 생성된 난수 및 상기 서명 키(427)에서 추출한 서명 정보를 포함하는 데이터는 상기 플래시 메모리(423)에 저장될 수 있다. 상기 플래시 메모리(423)에 저장된 데이터는 상기 검증 블록(425)에 전달될 수 있다. 만약 상기 검증 블록(425)으로부터 전송된 데이터가 상기 검증 키(429)에 의해 검증되는 경우에는, 상기 데이터는 도 3에 관하여 설명된 바와 같이, 상기 서 명 검증 블록(331)에 전달될 수 있다.

    도 5는 본 발명의 일 실시예에 따라, 예시적인 서버 측의 암호화 메시지 생성에 대한 블록도이다. 도 5를 참조하면, 보안 서버(secure server)(503) 및 레지스터(501)를 포함하는 암호화 메시지 생성부(500)가 나타나 있다. 상기 보안 서버(503)는 보안 데이터베이스(secure database)(505), 워터마킹 정보 블록(507), 암호화 및 서명 블록(509), 개인 키(private key)(511) 및 암호화 키(513)를 포함할 수 있다. 상기 레지스터(501)는 도 3에 관하여 설명된 레지스터(309)와 실질적으로 동일할 수 있으며, 역시 도 3에 관하여 설명된 것과 같이, 상기 RNG 엔진(315)에 의해 생성된 난수와 칩 ID(317)를 저장할 수 있다.

    상기 보안 데이터베이스(505)는, 상기 보안 서버(503)의 바깥에서 읽기 액세스를 허용하지 않으면서 데이터를 저장할 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 보안 데이터베이스(505) 내에 저장된 데이터는, 도 2에 관하여 설명되었던 워터마크 SoC(201)과 같은 복수의 워터마크 SoC들에 상응하는 복수의 칩 ID들에 관해 정의된, 상기 암호화 키(513)와 같은, 복수의 비밀 암호화 키들을 포함할 수 있다. 상기 워터마크 정보 블록(507)은 도 1에 관하여 설명된 바와 같이, 삽입되는 키

    , 메시지 M' 및 파라미터 셋 을 포함할 수 있다. 상기 메시지 M'은 또한 상기 레지스터(501)에 저장되어 상기 보안 서버(503)가 읽어들이는 칩 ID(317)을 포함할 수 있다. 상기 암호화 및 서명 블록(509)은 데이터를 암호화하고, 상기 암호화된 데이터에 서명을 제공할 수 있는 적절한 논리 알고리즘, 회로 조직, 명령어 코드 등을 포함할 수 있다. 상기 암호화 및 서명 블록(509)은 입력으로서, 암호화 키(513), 개인 키(511)와, 삽입 키 , 메시지 M' 및 파라미터 셋 을 포함하는 워터마크 정보를 수신할 수 있으며, 암호화되고 서명이 된 워터마킹 키 , 메시지 M' 및 파라미터 셋 를 포함하는 출력을 생성할 수 있다.

    동작을 살피면, 도 3에 관하여 설명된 칩 ID(317)과 같은 어떤 칩 ID 정보는 상기 보안 데이터베이스(505)로부터 암호화 키(513)를 검색하여 추출하는 데에 이용될 수 있다. 상기 암호화 키(513) 및 상기 개인 키(511)는 상기 암호화 및 서명 블록(509)에 의해, 상기 워터마크 정보 블록(507)에서 제공된 삽입 키

    , 메시지 M' 및 파라미터 셋 를 포함하는 워터마크 정보를 암호화하고 또한 서명할 수 있다. 상기 암호화 및 서명 블록(509)에 의해 생성된 출력은 네트워크를 통해 원격의 호스트 장치에 전달될 수 있으며, 또는 도 2에 관하여 설명되었던 워터마크 SoC(201)와 같은 어떤 워터마크 SoC가 사용할 수 있도록 외부적으로 저장될 수도 있다.

    도 6은 본 발명의 일 실시예에 따라, 워터마킹 생성 프로세스 중 서버 측에서 일어날 수 있는 예시적인 단계들을 설명하는 순서도이다. 도 6을 참조하면, 시작 단계(601) 이후에 단계(603)에서, RNG 엔진(315)에 의해 생성된 난수와 상기 칩 ID(317)은 상기 보안 서버(503)에 의해 검색 및 추출될 수 있다. 단계(605)에서는, 상기 칩 ID(317)은 상응하는 암호화 키(513)를 검색 및 추출하는 데에 이용된다. 단계(607)에서는, 워터마킹 정보가 생성될 수 있으며, 여기에는 또한 상기 칩 ID(317)가 포함될 수 있다. 단계(609)에서는, 상기 워터마킹 정보는 상기 개인 키(511)를 이용하여, 상기 RNG 엔진(315)으로부터 제공된 난수를 가지고 서명될 수 있으며, 이어서 상기 암호화 및 서명 블록(509)에 의해 상기 암호화 키(513)를 이용하여 암호화될 수 있다. 단계(611)에서는, 상기 암호화 및 서명 블록(509)의 출력은 암호화되고 서명된 삽입 키

    , 메시지 M' 및 파라미터 셋 를 포함한 상태로 상기 SoC(201)로 보내진다.

    도 7은 본 발명의 일 실시예에 따라, 워터마킹 생성 프로세스 중 시스템 온 칩 측에서 일어날 수 있는 예시적인 단계들을 설명하는 순서도이다. 도 7을 참조하면, 시작 단계(701) 이후의 단계(703)에서, 상기 칩 ID(317)는 상기 온칩 NVM(313)으로부터 읽혀져서 레지스터(309)에 저장될 수 있다. 단계(705)에서는, 상기 RNG 엔진(315)에서 생성된 난수가 상기 레지스터(309)에 저장될 수 있다. 단계(707)에서는, NVM2(321)과 같은 온칩의 기록 가능 비휘발성 메모리가 이용가능한 경우에는, 상기 난수는 상기 NVM2(321)에 저장될 수 있으며, 종료 단계(713)가 뒤이어 수행된다. 만약 온칩 기록 가능 비휘발성 메모리가 제공되지 않은 경우에는, 상기 난수는 상기 서명 키(427)에 의해 서명되어, 상기 플래시 메모리(423)와 같은 외부 메모리에 저장될 수 있으며, 종료 단계(713)가 이어진다.

    도 8은 본 발명의 일 실시예에 따라, 워터마킹 생성 프로세스 중 시스템 온 칩 측에서 일어날 수 있는 예시적인 단계들을 설명하는 순서도이다. 도 8을 참조하면, 시작 단계(801) 이후의 단계(803)에서, 암호화된 입력 신호(325)는 고유 칩 비밀 키(323)를 이용하여 상기 해독 엔진(327)에 의해 해독될 수 있다. 단계(805)에서, 만약 기록 가능 내부 비휘발성 메모리, 예를 들어 NVM2(3221)가 존재하는 경우에는, 상기 RNG 엔진(315)에 의해 생성된 난수는 상기 NVM2(321)에서 읽어들일 수 있다. 단계(815)에서, 서명(335)은 공개 키(333) 및 상기 RNG 엔진(315)에서 생성된 난수를 이용하여, 상기 서명 검증 블록(331)에 의해 검증될 수 있다. 만약 단계(805)에서, 기록 가능한 내부 비휘발성 메모리가 존재하지 않을 경우에는, 플래시 메모리(423)에 저장된 난수가 읽혀져서, 상기 서명 검증 블록(331)에 의해 공개 키(333)를 이용하여 상기 서명(335)을 검증하는 데에 이용될 수 있다. 단계(811)에서, 만약 상기 서명(335)의 검증이 통과된 경우에는, 절차는 단계(815)로 진행할 수 있지만, 만약 검증이 실패한다면, 절차는 단계(813)에서 멈춘다. 단계(817)에서, 상기 암호화된 삽입 키

    , 메시지 M' 및 파라미터 셋 는 상기 NVM1(319)에 저장될 수 있으며, 상기 워터마킹 생성 및 삽입 블록(311)에 전송될 수 있다. 단계(819)에서는, 상기 워터마킹 생성 및 삽입 블록(311)은 워터마크 M

    W 를 생성하여 원본 미디어 데이터 (303)에 삽입함으로써, 출력 신호 (305)를 생성할 수 있으며, 종료 단계(821)가 뒤를 잇는다.

    본 발명의 실시예에서, 시스템 온 칩(201) 내에 집적된 보안 프로세서(307) 는 암호화 및 서명된 워터마킹 신호를 해독할 수 있으며, 이는 삽입 키

    , 삽입될 메시지 M' 및 삽입 파라미터의 셋 을 포함할 수 있는 해독된 워터마킹 신호 M

    W 를 이용하여 멀티미디어 신호에 워터마크를 삽입하기 위함이다. 상기 암호화 및 서명 워터마킹 신호는 상기 시스템 온 칩(201) 내의 호스트 CPU(217)을 통해 외부 메모리(219)로부터 수신되거나 또는 보안 서버(503)로부터 수신될 수 있다. 해독된 워터마킹 신호는 서명(335), 공개 키(333) 및 국부적으로 생성된 난수를 이용하여 검증될 수 있다. 검증된 워터마킹 신호는 시스템 온 칩(201) 내의 비휘발성 메모리(319)에 저장될 수도 있지만, 만약 상기 시스템 온 칩(201) 바깥에 있는 비휘발성 메모리(405)에 저장될 경우에는 저장에 앞서 재암호화 및 재서명될 수 있다. 상기 워터마킹 신호는 외부 비휘발성 메모리(405)로부터 검색 및 추출되어, 상기 시스템 온 칩(201) 내에서 재해독 및 재검증될 수 있다.

    본 발명의 몇몇 실시예들은 기계적 판독가능한 스토리지(machine-readable storage)를 포함할 수 있으며, 여기에는 네트워크 내에서 정보를 전달하기 위한 적어도 하나의 코드부(code section)를 갖는 컴퓨터 프로그램이 저장되어 있는데, 그 적어도 하나의 코드부는 기계 장치에 의해 실행될 수 있어서, 그 기계 장치로 하여금 상술한 바와 같은 하나 또는 그 이상의 단계들을 수행하도록 한다.

    각각의 경우에 따라서, 본 발명은 하드웨어나 소프트웨어, 펌웨어(firmware), 또는 이들을 조합한 형태로 실현될 수 있다. 본 발명은 적어도 하나의 컴퓨터 시스템 안에 중앙 집중된 방식으로 구현될 수도 있고, 서로 다른 요소들 이 여러 개의 상호 연결된 컴퓨터 시스템들에 걸쳐 퍼져있는 분산된 방식으로 구현될 수도 있다. 여기에 설명된 방법들을 수행할 수 있도록 설계된 어떠한 형태의 컴퓨터 시스템 또는 기타 장치도 적합하다. 통상적으로 하드웨어와 소프트웨어, 펌웨어의 조합은 컴퓨터 프로그램이 탑재된 범용 컴퓨터 시스템이 될 수 있으며, 이때 상기 컴퓨터 프로그램은 로딩되어 실행될 경우에 상기 컴퓨터 시스템을 제어하여, 이 컴퓨터 시스템이 여기에서 설명한 방법들을 수행할 수 있게 한다.

    본 발명의 일 실시예는 기판 수준의 제품으로서 구현될 수 있고, 단일 칩 즉 주문형 반도체 칩(application specific integrated chip, ASIC)으로서 구현될 수도 있으며, 해당 시스템의 다른 부분들을 개별적인 컴포넌트들로 구성하는 단일 칩 상에 다양한 수준을 가지고 집적될 수도 있다. 그러한 시스템의 집적의 정도는 기본적으로 처리 속도 및 비용 관점에 의해 결정될 수 있다. 최신 프로세서들의 고도로 정교한 특성 때문에, 상업적으로 구매 가능한 프로세서들을 이용하는 것이 가능하며, 이러한 프로세서들은 현 시스템의 ASIC 장치에 대해 외부적으로 구현될 수 있다. 다른 방법으로는, 만약 그러한 프로세서가 ASIC 코어 내지 로직 블록으로 구매가능하다면, 그러한 상업 구매 프로세서는 ASIC 장치의 일부로서 펌웨어로 구현되는 다양한 기능을 가지고 구현될 수 있다.

    본 발명은 또한 컴퓨터 프로그램 제품(computer program product)에 내장될 수 있다. 이때, 상기 컴퓨터 프로그램 제품은 여기서 설명한 방법들의 구현을 가능하게 하는 모든 특징들을 모두 포함하며, 컴퓨터 시스템에 탑재될 경우에는 그러한 방법들을 수행할 수 있다. 본 발명의 문맥에서 컴퓨터 프로그램이란, 어떠한 종류 의 언어, 코드 또는 표기법으로 나타낸, 일단의 명령에 관한 어떠한 종류의 표현을 뜻한다. 이때, 상기 일단의 명령들이란, 정보 처리 능력을 가진 시스템이 어떤 특정한 기능을 직접적으로, 또는 다음의 (a) 다른 프로그램 언어, 코드나 표기법으로 컨버젼(conversion)되거나, (b) 상이한 물질적인 형태로 재생산을 각각 거치거나 또는 두 가지 모두를 거친 후에, 수행하도록 의도된 것들을 말한다.

    본 발명이 특정한 실시예들에 관하여 설명되었지만, 본 발명의 사상에서 벗어남이 없이, 다양한 변경이 이뤄질 수 있고 또한 균등물들이 치환될 수 있다는 점은 당해 기술 분야에 숙련된 자들에게 이해될 것이다. 추가적으로, 본 발명의 사상에서 벗어남이 없이, 특정한 상황이나 물적 요건을 본 발명의 지침에 맞게 조절할 수 있도록 다양한 개조가 이뤄질 수 있다. 따라서, 본 발명은 개시된 특정한 실시예에 한정되는 것이 아니며, 본 발명은 첨부된 청구 범위의 사상 내에 들어오는 모든 실시예들을 포함한다.

    도 1은 본 발명의 일 실시예에 따른 시스템 온 칩 디지털 워터마킹의 예시적인 응용예이다.

    도 2는 본 발명의 일 실시예에 따른 예시적인 워터마크 시스템 온 칩을 설명하는 블록도이다.

    도 3은 본 발명의 일 실시예에 따라, 보안 프로세서(secure processor)를 이용하는 예시적인 워터마킹 시스템을 설명하는 블록도이다.

    도 4a는 본 발명의 일 실시예에 따라, 외부 플래시 워터마킹 및 알고리즘 정보 저장 장치(storage)에 대한 블록도이다.

    도 4b는 본 발명의 일 실시예에 따라, 예시적인 난수 저장 공간에 대한 블록도이다.

    도 5는 본 발명의 일 실시예에 따라, 예시적인 서버 측의 암호화 메시지 생성에 대한 블록도이다.

    도 6은 본 발명의 일 실시예에 따라, 워터마킹 생성 프로세스 중 서버 측에서 일어날 수 있는 예시적인 단계들을 설명하는 순서도이다.

    도 7은 본 발명의 일 실시예에 따라, 워터마킹 생성 프로세스 중 시스템 온 칩 측에서 일어날 수 있는 예시적인 단계들을 설명하는 순서도이다.

    도 8은 본 발명의 일 실시예에 따라, 워터마킹 생성 프로세스 중 시스템 온 칩 측에서 일어날 수 있는 예시적인 단계들을 설명하는 순서도이다.

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈