KR20090013734A - 소프트웨어 정의 무선장치, 및 소프트웨어 갱신 방법, 및소프트웨어 정의 무선시스템 - Google Patents

소프트웨어 정의 무선장치, 및 소프트웨어 갱신 방법, 및소프트웨어 정의 무선시스템 Download PDF

Info

Publication number
KR20090013734A
KR20090013734A KR1020080075760A KR20080075760A KR20090013734A KR 20090013734 A KR20090013734 A KR 20090013734A KR 1020080075760 A KR1020080075760 A KR 1020080075760A KR 20080075760 A KR20080075760 A KR 20080075760A KR 20090013734 A KR20090013734 A KR 20090013734A
Authority
KR
South Korea
Prior art keywords
data
software
common key
download
defined radio
Prior art date
Application number
KR1020080075760A
Other languages
English (en)
Other versions
KR100995559B1 (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 엔이씨 시스템 테크놀로지 가부시키가이샤
Publication of KR20090013734A publication Critical patent/KR20090013734A/ko
Application granted granted Critical
Publication of KR100995559B1 publication Critical patent/KR100995559B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/0003Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L9/3236Cryptographic 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 using cryptographic hash functions
    • 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/80Wireless

Landscapes

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

Abstract

소프트웨어 정의 무선장치와 다운로드 서버는 복수의 공통키를 공통키 데이터에 기억한다. 다운로드 서버는 공통키 데이터로부터 임의로 공통키를 결정하고, 사용되는 공통키를 특정하는 정보를 소프트웨어 정의 무선장치에 전달한다. 상기 소프트웨어 정의 무선장치의 인증부는 상기 공통키를 특정하는 정보를 사용하여 상기 공통키 데이터로부터 공통키를 특정하고, 상기 공통키를 사용하여 인증을 행하며, 차후의 통신은 상기 공통키를 사용하여 수행한다. 소프트웨어를 송신할 경우에는, 해시값(hash value)을 부여하여 안전성을 확인한다. 또한, 소프트웨어 정의 무선장치의 장치 ID를 데이터에 부여하여, 어떤 소프트웨어 정의 무선장치가 상기 소프트웨어를 수신하는지를 확인한다. 공개키 암호화 방식보다도 더 적은 처리량을 갖는 공통키 암호화 방식에 의해, 소프트웨어를 안전하게 다운로드한다.
소프트웨어, 무선장치, 통신, 다운로드

Description

소프트웨어 정의 무선장치, 및 소프트웨어 갱신 방법, 및 소프트웨어 정의 무선시스템{SOFTWARE DEFINED RADIO DEVICE, AND METHOD FOR RENEWING SOFTWARE, AND SOFTWARE DEFINED RADIO SYSTEM}
본 발명은 소프트웨어 변경에 의하여 변경 가능한 기능을 갖는 소프트웨어 정의 무선장치, 및 소프트웨어를 다운로드하고 소프트웨어 정의 무선장치의 기능을 갱신하는 소프트웨어 갱신 방법, 및 소프트웨어 정의 무선장치에 소프트웨어를 제공하는 소프트웨어 정의 무선시스템에 관한 것이다.
소프트웨어 정의 무선장치(SDR: Software Defined radio)는 FPGA(Field Programmable Gate Array)와 DSP(Digital Signal Processor) 등의 신호 처리기를 포함하고, 설치된 소프트웨어를 변경함에 의하여 다양한 통신 방법들에 대응하는 무선 통신 기능을 실현하도록 구성된다. 소프트웨어 정의 무선장치들은 장치 또는 그 소유자에 의하여 허가되지 않은 부정한 소프트웨어 또는 변경된 소프트웨어가 설치된 경우에, 위법 무선 전파의 송신 등의 부정 사용, 무선 전파 간섭 등의 장해, 및 장치의 고장 등의 위험성 때문에 방지책을 필요로 한다.
따라서, 소프트웨어 공급원에 의해 허가된 소프트웨어 정의 무선장치에 의해 서만 변경되지 않은 소프트웨어의 다운로드를 가능하게 하는 것이 필요하다. 또한, 제3자로부터 소프트웨어의 내용의 비밀을 유지하는 것이 필요하다. 즉, 완전성(변경되지 않은 통신 채널을 경유한 확인), 유효성(송신자가 유효한지의 확인), 및 기밀성(도청된 경우에도 판독 불가능한가)을 제공하는 것이 필요하다.
지금까지 개시된 소프트웨어 정의 무선장치에 의하여 정확하게 소프트웨어를 다운로드하는 기술은 예를 들어, "소프트웨어 무선기 및 그 제어 방법"(일본공개특허공보 제2004-213339호 참조)과 "무선 통신 장치, 및 프로그램 다운로드 방법, 및 컴퓨터 프로그램"(일본공개특허공보 제2003-304235호)을 포함한다.
이 기술들에 의한 소프트웨어의 유효성의 보증에 의하면, 배포자는 공개키 암호화에 의하여 소프트웨어에 첨부된 전자 서명을 배포하고, 수신측의 소프트웨어 정의 무선장치는 전자 서명을 검증하고, 그에 의해 소프트웨어의 유효성이 확인된다. 또한, 일본공개특허공보 제2003-304235호는 소프트웨어의 유효성과 비밀 은닉성을 향상시키도록 해시 함수, 키, 암호화 방법 등을 전환하여 사용하는 기술을 논의한다.
통신의 비밀을 유지하는 기술의 한 예로서, 일본공개특허공보 제2005-269128호는 복수의 공통키들로부터 통신할 때마다 하나의 공통키를 선택하고, 그 인덱스만을 통신하고, 데이터 전송을 암호화하고, 데이터 전송을 복호화하는 기술을 논의한다. 또한, 일본공개특허공보 제2005-269128호에서 논의된 기술은 해시값을 사용하여 데이터가 변경되지 않았는지를 확인한다.
그 외, 암호화된 통신이 장치들 사이에서 수행되는 경우, 지금까지의 기술은 암호화된 데이터를 복호화한 뒤 별도의 공통키로 암호화한 후 전송하는 중계 장치를 포함한다(일본공개특허공보 평10-341223호 참조). 또한, 이 특허문헌은 통신 구간들 중 하나에서 공개키와 비밀키의 조합의 사용을 논의한다.
그러나, 소프트웨어 정의 무선장치의 통신 방법이 변경되므로, 소프트웨어 다운로드 중에는, 소프트웨어 정의 무선장치가 적은 연산량을 사용하고 단시간 내에 유효성의 검증을 실행하는 것이 바람직하다.
상술한 특허 문헌에서 논의된 기술들은 공개키 암호화의 전자 서명을 사용하여 유효성을 검증하지만, 일반적으로 공개키 암호화에 의하여 요구되는 처리는 공통키 암호화의 경우보다 많다. 휴대형 무선기, 임베디드 기기 등의 제약된 처리 용량 때문에, 처리 시간과 다운로드의 안전성 사이에 불행히도 트레이드오프가 발생한다.
또한, 소프트웨어 정의 무선장치의 제한된 메모리 용량의 관점에서, 대응하는 모든 통신 방식의 소프트웨어 데이터를 소프트웨어 정의 무선장치에 저장할 수 없다. 그러한 경우, 소프트웨어 데이터를 빈번히 교환할 필요가 있다. 따라서, 다운로드된 소프트웨어의 유효성의 고속 검증을 제공하는 설정이 요구된다. 그러나, 단순히 공통키 암호화로 공개키 암호화를 치환하는 것은 불행히도 일단 공통키가 유출되면 안전성을 보호하기에 불충분하다.
상술한 문제의 관점에서, 본 발명은 다운로드된 소프트웨어의 유효성을 검증하기 위해 필요한 처리량을 삭감시키고 고속으로 검증을 수행하면서 소프트웨어 다운로드의 안전성을 유지하는 소프트웨어 정의 무선장치; 소프트웨어 정의 무선장치의 소프트웨어 갱신 방법; 및 소프트웨어 정의 무선시스템을 제공하는 것을 목적으 로 한다.
상술한 목적을 달성하기 위하여, 본 발명의 제 1 태양에 의한 소프트웨어 정의 무선장치는,
장치 자체의 식별 부호 및 통신 상대와 함께 데이터를 암호화하고 상호 통신을 수행하는 복수의 공통키를 기억하는 기억수단;
임의로 선택된 데이터를 상기 통신 상대로 송신하는 다운로드 개시수단;
상기 통신 상대로부터 수신된 데이터에 의거하여, 상기 복수의 공통키로부터 하나의 공통키를 특정하는 공통키 특정수단;
상기 임의로 선택된 데이터를 상기 공통키 특정수단에 의해 특정된 공통키로 암호화하여 생성된 데이터로부터, 해시 함수로 해시값을 연산하는 검증수단;
상기 검증수단에 의해 연산된 해시값이 상기 통신 상대로부터 수신된 데이터 내에 포함된 해시값과 일치(match)하는 경우, 상기 식별 부호를 포함한 데이터를 상기 공통키 특정수단에 의해 특정된 상기 공통키로 암호화하고 상기 암호화된 데이터를 상기 통신 상대로 송신하는 다운로드 요구수단;
상기 통신 상대로부터 수신된 다운로드 데이터를, 상기 공통키 특정수단에 의해 특정된 공통키로 복호하는 복호수단;
상기 복호수단에 의해 복호된 데이터에 포함된 식별 부호가 상기 기억수단에 의해 기억된 상기 식별 부호와 일치하는 경우, 상기 복호된 다운로드 데이터에 포함된 데이터로부터 해시 함수로 해시값을 연산하는 확인수단; 및
상기 복호된 데이터에 포함된 해시값과 상기 확인수단에 의해 연산된 해시값이 일치하는 경우, 상기 복호된 데이터에 포함된 소프트웨어 데이터를 이용하여 통신 기능을 변경하는 변경수단을 구비하는 것을 특징으로 한다.
본 발명의 제 2 태양에 의한 소프트웨어 정의 무선장치의 소프트웨어 갱신 방법에서,
소프트웨어 정의 무선장치는 임의로 선택된 데이터를 포함하는 개시 데이터를 통신 상대로 송신하는 다운로드 개시 단계를 포함하고,
상기 개시 데이터를 수신하는 상기 통신 상대는,
데이터를 암호화하고 상호 통신을 수행하기 위해서 복수의 공통키로부터 하나의 공통키를 선택하는 선택 단계와,
상기 소프트웨어 정의 무선장치로부터 수신된 상기 개시 데이터에 포함된 상기 임의로 선택된 데이터를 상기 선택된 공통키로 암호화한 데이터로부터 해시 함수로 연산된 해시값과, 상기 선택 단계에서 선택된 공통키를 특정하는 데이터를, 상기 개시 데이터를 송신한 상기 소프트웨어 정의 무선장치로 송신하는 공통키 지정 단계를 포함하며,
상기 소프트웨어 정의 무선장치는,
상기 통신 상대로부터 수신된 데이터에 의거하여 상기 복수의 공통키로부터 하나의 공통키를 특정하는 공통키 특정 단계,
상기 임의로 선택된 데이터를 상기 공통키 특정 단계에서 특정된 공통키로 암호화한 데이터로부터, 해시 함수로 해시값을 연산하는 인증 단계, 및
상기 인증 단계에서 연산된 해시값이 상기 통신 상대로부터 수신된 데이터에 포함된 해시값과 일치하는 경우, 상기 소프트웨어 정의 무선장치 자체의 식별 부호를 포함하는 데이터를 상기 공통키 특정 단계에서 특정된 공통키로 암호화한 식별 데이터를, 상기 통신 상대에 송신하는 다운로드 요구 단계를 포함하고,
상기 통신 상대는, 상기 소프트웨어 정의 무선장치로부터 수신된 식별 데이터를 상기 선택된 공통키로 복호한 식별 부호가 미리 등록된 복수의 식별 부호 중 하나와 일치하는 경우, 상기 소프트웨어 정의 무선장치에 의해 요구된 소프트웨어 데이터, 상기 소프트웨어 데이터로부터 해시 함수로 연산된 해시값 및 상기 식별 부호를 상기 선택된 공통키로 암호화한 다운로드 데이터를, 상기 소프트웨어 정의 무선장치에 송신하는 다운로드 단계를 포함하고,
상기 소프트웨어 정의 무선장치는,
상기 통신 상대로부터 수신된 상기 다운로드 데이터를 상기 공통키 특정 단계에서 특정된 공통키로 복호하는 복호 단계,
상기 복호된 데이터에 포함된 식별 부호가 상기 소프트웨어 정의 무선장치의 상기 식별 부호와 일치하는 경우, 상기 복호 단계에서 복호된 데이터로부터 해시 함수로 해시값을 연산하는 확인 단계, 및
상기 복호된 데이터에 포함된 해시값이 상기 확인 단계에서 연산된 해시값과 일치하는 경우, 상기 복호된 데이터에 포함된 소프트웨어 데이터를 이용하여 통신 기능을 변경하는 변경 단계를 포함하는 것을 특징으로 한다.
본 발명의 제 3 태양에 의한 소프트웨어 정의 무선장치의 소프트웨어 갱신 방법에서,
소프트웨어 정의 무선장치는 임의로 선택된 데이터를 포함한 개시 데이터를 통신 상대로 송신하는 다운로드 개시 단계를 포함하고,
상기 개시 데이터를 수신하는 상기 통신 상대는,
데이터를 암호화하고 상호 통신을 수행하기 위해서 복수의 공통키로부터 하나의 공통키를 선택하는 선택 단계와,
상기 소프트웨어 정의 무선장치로부터 수신된 상기 개시 데이터에 포함된 상기 임의로 선택된 데이터를 상기 선택된 공통키로 암호화한 데이터로부터 해시 함수로 연산된 해시값과, 상기 선택 단계에서 선택된 공통키를 특정하는 데이터를, 상기 개시 데이터를 송신한 상기 소프트웨어 정의 무선장치로 송신하는 공통키 지정 단계를 포함하며,
상기 소프트웨어 정의 무선장치는,
상기 통신 상대로부터 수신된 데이터에 의거하여 상기 복수의 공통키로부터 하나의 공통키를 특정하는 공통키 특정 단계,
상기 임의로 선택된 데이터를 상기 공통키 특정 단계에서 특정된 공통키로 암호화한 데이터로부터, 해시 함수로 해시값을 연산하는 검증 단계, 및
상기 검증 단계에서 연산된 해시값이 상기 통신 상대로부터 수신된 데이타에 포함된 해시값과 일치하는 경우, 상기 소프트웨어 정의 무선장치 자체의 식별 부호 를 포함하는 데이터를 상기 복수의 공통키와 상이한 제 2 공통키로 암호화한 데이터를, 상기 공통키 특정 단계에서 특정된 공통키로 암호화한 식별 데이터를 상기 통신 상대로 송신하는 다운로드 요구 단계를 포함하고,
상기 통신 상대는, 상기 소프트웨어 정의 무선장치로부터 수신된 식별 데이터를 상기 선택된 공통키로 복호한 데이터를, 상기 소프트웨어 정의 무선장치의 소프트웨어 데이터를 기억하는 다운로드 서버의 공개키로 복호한 식별 중계 데이터를 상기 다운로드 서버에 송신하는 다운로드 요구 중계 단계를 포함하고,
상기 다운로드 서버는, 상기 통신 상대로부터 수신된 식별 중계 데이터를 비밀키로 복호한 데이터를 상기 제 2 공통키로 복호한 식별 부호가 미리 등록된 복수의 식별 부호 중 하나와 일치하는 경우, 상기 소프트웨어 정의 무선장치에 의해 요구된 소프트웨어 데이터와 상기 소프트웨어 데이터로부터 해시 함수로 연산된 해시값 및 상기 식별 부호를, 상기 제 2 공통키로 암호화한 다운로드 소스 데이터에 비밀키로 전자 서명을 부여한 데이터를 상기 통신 상대로 송신하는 중계 다운로드 단계를 포함하고,
상기 통신 상대는, 상기 다운로드 서버로부터 수신된 데이터에 포함된 전자 서명을 상기 다운로드 서버의 공개키로 검증하고, 상기 검증이 상기 다운로드 서버로부터 수신된 데이터가 정확하다고 판단한 경우, 상기 다운로드 소스 데이터를 상기 선택된 공통키로 복호한 다운로드 데이터를 상기 소프트웨어 정의 무선장치에 송신하는 다운로드 단계를 포함하고,
상기 소프트웨어 정의 무선장치는,
상기 통신 상대로부터 수신된 상기 다운로드 데이터를 상기 공통키 특정 단계에서 특정된 공통키로 복호한 데이터를, 상기 제 2 공통키로 복호하는 복호 단계,
상기 복호 단계에서 복호된 데이터에 포함된 식별 부호가 상기 소프트웨어 정의 무선장치의 상기 식별 부호와 일치하는 경우, 상기 복호된 데이터로부터 해시 함수로 해시값을 연산하는 확인 단계, 및
상기 복호된 데이터에 포함된 해시값이 상기 확인 단계에서 연산된 해시값과 일치하는 경우, 상기 복호된 데이터에 포함된 소프트웨어 데이터를 이용하여 통신 기능을 변경하는 변경 단계를 포함하는 것을 특징으로 한다.
본 발명의 제 4 태양에 의한 소프트웨어 정의 무선시스템은 소프트웨어 변경에 의해 변경 가능한 통신 기능을 갖는 소프트웨어 정의 무선장치 및 상기 소프트웨어 정의 무선장치의 소프트웨어 데이터를 기억하는 다운로드 서버를 구비하고,
상기 소프트웨어 정의 무선장치는,
장치 자체의 식별 부호 및 상기 다운로드 서버와 함께 데이터를 암호화하고 상호 통신을 수행하는 복수의 공통키를 기억하는 기억수단,
임의로 선택된 데이터를 포함한 개시 데이터를 상기 다운로드 서버에 송신하는 다운로드 개시수단,
상기 다운로드 서버로부터 수신된 데이터에 의거하여, 상기 복수의 공통키로부터 하나의 공통키를 특정하는 공통키 특정수단,
상기 임의로 선택된 데이터를, 상기 공통키 특정수단에 의해 특정된 공통키로 암호화하여 생성한 데이터로부터 해시 함수로 해시값을 연산하는 검증수단,
상기 검증수단에 의해 연산된 해시값이 상기 다운로드 서버로부터 수신된 데이터에 포함된 해시값과 일치하는 경우, 상기 식별 부호를 포함하는 데이터를 상기 공통키 특정수단에 의해 특정된 공통키로 암호화한 식별 데이터를 상기 다운로드 서버에 송신하는 다운로드 요구수단,
상기 다운로드 서버로부터 수신된 다운로드 데이터를, 상기 공통키 특정수단에 의해 특정된 공통키로 복호하는 복호수단,
상기 복호수단에 의해 복호된 데이터에 포함된 식별 부호가 상기 기억수단에 의해 기억된 상기 식별 부호와 일치하는 경우, 상기 복호된 데이터로부터 해시 함수로 해시값을 연산하는 확인수단, 및
상기 복호된 데이터에 포함된 해시값과 상기 확인수단에 의해 연산된 해시값이 일치하는 경우, 상기 복호된 데이터에 포함된 소프트웨어 데이터를 이용하여 통신 기능을 변경하는 변경수단을 포함하고,
상기 다운로드 서버는,
상기 소프트웨어 정의 무선장치와 데이터를 암호화하고 상호 통신을 수행하기 위해서 복수의 공통키로부터 하나의 공통키를 선택하는 선택수단,
상기 소프트웨어 정의 무선장치로부터 수신되고 상기 소프트웨어 정의 무선장치에 의해 임의로 선택된 데이터를 상기 선택된 공통키로 암호화한 데이터로부터 해시 함수로 연산된 해시값 및 상기 선택수단에 의해 선택된 공통키를 특정하는 데 이터를, 상기 개시 데이터를 송신한 상기 소프트웨어 정의 무선장치로 송신하는 공통키 지정수단, 및
상기 소프트웨어 정의 무선장치로부터 수신된 식별 데이터를 상기 선택된 공통키로 복호한 식별 부호가 미리 등록된 복수의 식별 부호 중 하나와 일치하는 경우, 상기 소프트웨어 정의 무선장치에 의해 요구된 소프트웨어 데이터와 상기 소프트웨어 데이터로부터 해시 함수로 연산된 해시값 및 상기 식별 부호를, 상기 선택된 공통키로 암호화한 다운로드 데이터를 상기 소프트웨어 장치 무선장치로 송신하는 다운로드 수단을 포함하는 것을 특징으로 한다.
본 발명의 제 5 태양에 의한 소프트웨어 정의 무선시스템은 소프트웨어 변경에 의해 변경 가능한 통신 기능을 갖는 소프트웨어 정의 무선장치, 상기 소프트웨어 정의 무선장치의 소프트웨어 데이터를 기억하는 다운로드 서버 및 상기 소프트웨어 정의 무선장치와 상기 다운로드 서버 사이의 통신을 중계하는 단말장치를 포함하고,
상기 소프트웨어 정의 무선장치는,
상기 장치 자체의 식별 부호 및 상기 다운로드 서버와 함께 데이터를 암호화하고 상호 통신을 수행하는 복수의 공통키를 기억하는 기억수단과,
임의로 선택된 데이터를 포함한 개시 데이터를 상기 다운로드 서버에 송신하는 다운로드 개시수단을 포함하고,
상기 단말장치는,
상기 소프트웨어 정의 무선장치와 데이터를 암호화하고 상호 통신을 수행하기 위해서 복수의 공통키로부터 하나의 공통키를 선택하는 선택수단과,
상기 소프트웨어 정의 무선장치로부터 수신되고 상기 소프트웨어 정의 무선장치에 의해 임의로 선택된 데이터를 상기 선택된 공통키로 암호화한 데이터로부터 해시 함수로 연산된 해시값 및 상기 선택수단에 의해 선택된 공통키를 특정하는 데이터를, 상기 개시 데이터를 송신한 상기 소프트웨어 정의 무선장치로 송신하는 공통키 지정수단을 포함하고,
상기 소프트웨어 정의 무선장치는,
상기 단말장치로부터 수신된 데이터에 의거하여, 상기 복수의 공통키로부터 하나의 공통키를 특정하는 공통키 특정수단,
상기 임의로 선택된 데이터를, 상기 공통키 특정수단에 의해 특정된 공통키로 암호화하여 생성한 데이터로부터 해시 함수로 해시값을 연산하는 검증수단, 및
상기 검증수단에 의해 연산된 해시값이 상기 단말장치로부터 수신된 데이터에 포함된 해시값과 일치하는 경우, 상기 식별 부호를 포함하는 데이터를 상기 복수의 공통키로부터 분리된 제 2 공통키로 암호화한 데이터를 상기 공통키 특정수단에 의해 특정된 공통키로 암호화한 식별 데이터를, 상기 단말장치로 송신하는 다운로드 요구수단을 포함하고,
상기 단말장치는, 상기 소프트웨어 정의 무선장치로부터 수신된 식별 데이터를 상기 선택된 공통키로 복호한 데이터를, 상기 다운로드 서버의 공개키로 복호한 식별 중계 데이터를 상기 다운로드 서버로 송신하는 다운로드 요구 중계 수단을 포 함하고,
상기 다운로드 서버는, 상기 단말장치로부터 수신된 식별 중계 데이터를 비밀키로 복호한 데이터를 상기 복수의 공통키로부터 분리된 제 2 공통키로 복호한 식별 부호가 미리 등록된 복수의 식별 부호 중 하나와 일치하는 경우, 상기 소프트웨어 정의 무선장치에 의해 요구된 소프트웨어 데이터와 상기 소프트웨어 데이터로부터 해시 함수로 연산된 해시값 및 상기 식별 부호를, 상기 제 2 공통키로 암호화한 다운로드 소스 데이터에, 비밀키로 전자 서명을 부여한 데이터를 상기 통신 상대로 송신하는 중계 다운로드 수단을 포함하고,
상기 단말장치는, 상기 다운로드 서버로부터 수신된 데이터에 포함된 전자 서명을 상기 다운로드 서버의 공개키로 검증하고, 상기 검증이 상기 다운로드 서버로부터 수신된 데이터가 정확하다고 판단된 경우 상기 다운로드 소스 데이터를 상기 선택된 공통키로 암호화한 다운로드 데이터를 상기 소프트웨어 정의 무선장치에 송신하는 다운로드 수단을 더 포함하고,
상기 소프트웨어 정의 무선장치는,
상기 단말장치로부터 수신된 다운로드 데이터를 상기 공통키 특정수단에 의해 특정된 공통키로 복호한 데이터를 상기 제 2 공통키로 복호하는 복호수단,
상기 복호수단에 의해 복호된 데이터에 포함된 식별 부호가 상기 소프트웨어 정의 무선장치의 상기 식별 부호와 일치하는 경우, 상기 복호된 데이터로부터 해시 함수로 해시값을 연산하는 확인수단, 및
상기 복호된 데이터에 포함된 해시값과 상기 확인수단에 의해 연산된 해시값 이 일치하는 경우, 상기 복호된 데이터에 포함된 소프트웨어 데이터를 이용하여 통신 기능을 변경하는 변경수단을 더 포함하는 것을 특징으로 한다.
본 발명의 이러한 목적 및 다른 목적과 이점은 다음의 상세한 설명 및 첨부된 도면을 판독시 더욱 분명해진다.
[제 1 실시예]
이하에서는, 도면을 참조하여 본 발명의 예시적인 제 1 실시예를 상세하게 설명한다. 도면 중에서, 동일하거나 대응하는 구성 부분에는 동일한 참조 부호를 사용한다.
도 1은 본 발명의 예시적인 제 1 실시예에 따른 소프트웨어 정의 무선시스템의 구성 예를 나타내는 블록도이다. 도 1에 나타낸 소프트웨어 정의 무선시스템(10)은 다른 소프트웨어를 인스톨함으로써 통신 기능을 변경할 수 있는 소프트웨어 정의 무선장치(1) 및 이 소프트웨어 정의 무선장치(1)에 소프트웨어를 공급하는 다운로드 서버(2)를 포함한다. 소프트웨어 정의 무선시스템(10)은 동일한 구성을 가지는 다수의 소프트웨어 정의 무선장치(1)를 포함할 수 있다. 도시의 명확화를 위해서, 도 1에는 하나의 소프트웨어 정의 무선장치(1)만을 나타낸다.
소프트웨어 정의 무선장치(1)는 제어 회로(11), 신호 처리 회로(16), 무선 회로(17), 및 기억부(5)를 포함한다. 제어 회로(11)는 CPU, 주기억장치, 및 입력/출력 장치 등을 포함하고, 주기억장치에 로드된 프로그램을 실행하고 무선 통신 기능을 실현하기 위한 소프트웨어 데이터를 다운로드한다.
신호 처리 회로(16)는 FPGA(Field Programmable Gate Array) 및 DSP(Digital Signal Processor) 등의 변경 가능한 논리 구성을 가지는 장치를 포함할 수 있다. 신호 처리 회로(16)는 소프트웨어 정의 무선장치(1)에 의해 다운로드되어 FPGA 내로 프로그래밍되거나 DSP 내로 로드된 소프트웨어 데이터를 실행함으로써, 무선 통신 기능을 실현할 수 있다.
무선 회로(17)는 안테나, RF(radio frequency) 회로, AD/DA 변환기 등을 포함할 수 있다. 무선 회로(17)는 전파로서 변조된 데이터를 방사하고 전파로서 획득한 데이터를 복조함으로써 통신 상대와 송수신한다. 도 1에는 이해의 편의상 네트워크가 생략되었지만, 소프트웨어 정의 무선장치(1)는, 예를 들면 무선 기지국을 통해 통신 네트워크에 접속함으로써, 다운로드 서버(2)와 통신할 수 있다.
기억부(5)는 내탬퍼성 장치(tamper resistant device)(부정 액세스 및 교체를 방지하기 위한 기능을 가지는 장치) 및 SD 메모리 카드로 대표되는 플래시 메모리 등의 기억 장치를 포함한다. 기억부(5)는, 예를 들면 장치 ID(51), 공통키 데이터(52), 및 소프트웨어 데이터(53)를 저장한다. 장치 ID(51)는 소프트웨어 정의 무선시스템(10)의 소프트웨어 정의 무선장치(1)에 할당된 고유 식별 부호이다. 장치 ID(51)는 공통키 데이터(52)에 포함된 공통키를 이용하여 미리 암호화될 수 있다.
공통키 데이터(52)는 다운로드 서버(2)의 인증 및 암호 통신을 수행하기 위해 미리 정해진 복수의 공통키, 및 식별을 위해 각각의 공통키와 연결될 번호 또는 참조 부호를 포함하는 데이터베이스이다. 도 2는 공통키 데이터(52)의 예를 나타 낸다. 공통키 데이터(52)는, 예를 들면 공통키 Ka, Kb, Kc 등과 각각의 공통키를 식별하기 위한 참조 부호를 포함할 수 있다.
소프트웨어 데이터(53)는 상술한 바와 같은 신호 처리 회로(16)를 프로그래밍하여 무선 통신 기능을 실현하는데 이용된다. 소프트웨어 데이터(53)는, 예를 들면 장치 출하 시에 항상 기억부(5)에 저장되어 있지 않을 수도 있다.
제어 회로(11)는 인증부(12), 다운로드 처리부(13), 소프트웨어 검증부(14), 및 소프트웨어 실행부(15)를 포함한다. 제어 회로(11)는 범용의 또는 전용의 논리 회로를 포함할 수 있다. 예를 들면, 논리 회로는 암호화 및 복호화 또는 해시 함수로 해시값의 연산 등의 처리를 실현할 수 있다.
인증부(12)는 생성된 난수(random number) 등의 임의의 데이터를 포함하는 기동 데이터를 다운로드 서버(2)에 송신하고 다운로드 서버(2)로부터 인증 데이터를 수신한다. 인증부(12)는 인증 데이터에 포함된 키 파라미터로 기억부(5)에 저장된 공통키 데이터(52)를 검색함으로써, 공통키(A)를 식별한다. 다음으로, 인증부(12)는 식별된 공통키로 다운로드 서버(2)에 송신되는 임의의 데이터를 암호화하고, 암호화된 임의의 데이터로부터 소정의 해시 함수로 해시값을 연산하고, 연산된 해시값을 인증 데이터에 포함된 해시값과 비교한다. 두 개의 해시값이 일치하는 경우에, 소프트웨어 정의 무선장치(1)는 인증 데이터를 송신할 유효한 다운로드 서버(2)가 되는 통신 상대를 판단한다.
다운로드 서버(2)가 유효한 통신 상대로 판단되는 경우에, 다운로드 처리부(13)는 공통키(A)로 암호화된 장치 ID를 포함하는 다운로드 요구를 다운로드 서 버(2)에 송신한다. 다운로드 요구는 장치 ID 등의 정보 및 다운로드 서버(2)로부터 다운로드될 소프트웨어 데이터를 식별하기 위한 정보를 포함한다. 다음으로, 다운로드 처리부(13)는 다운로드 서버(2)로부터 소프트웨어 데이터를 포함하는 다운로드 데이터를 수신한다.
소프트웨어 검증부(14)는 공통키(A)로 다운로드 데이터를 복호화한다. 소프트웨어 검증부(14)는 복호화된 데이터에 포함된 장치 ID가 기억부(5)에 저장된 장치 ID(51)와 일치하는 경우에, 정확한 소프트웨어가 되는 다운로드 데이터에 포함되는 소프트웨어를 판단한다. 다음으로, 소프트웨어 검증부(14)는 복호화된 소프트웨어로부터 미리 정해진 해시 함수로 해시값을 연산하고, 연산된 해시값과 복호화된 데이터에 포함된 해시값을 비교한다. 두 개의 해시값이 일치되는 경우에, 소프트웨어 검증부(14)는 소프트웨어가 교체 또는 다른 손상 없이 완전하다고 판단한다.
다운로드된 소프트웨어가 교체 또는 다른 손상 없이 완전하다고 판단되는 경우에, 소프트웨어 실행부(15)는 소프트웨어를 실행함으로써, 신호 처리 회로(16)의 구성을 변경한다.
한편, 다운로드 서버(2)는 제어부(21), 통신부(24), 및 기억부(6)를 포함한다. 제어부(21)는 CPU, 주기억장치, 및 입력/출력 장치를 포함하고, 주기억장치에 로드된 프로그램을 실행하고, 소프트웨어 정의 무선장치(1)에 소프트웨어를 송신하기 위한 다양한 처리를 수행한다. 통신부(24)는 소프트웨어 정의 무선장치(1)의 무선 회로(17)와 통신하고 데이터를 송수신한다.
기억부(6)는 플래시 메모리, 하드디스크 드라이브 매체, DVD-RAM(Digital Versatile Disc-Random Access Memory), 및 DVD-RW(Digital Versatile Disc-Rewritable) 등의 비휘발성 메모리를 포함하고, 등록 장치 ID(61), 공통키 데이터(62), 및 소프트웨어 DB(Database)(63)를 저장한다.
소프트웨어 정의 무선시스템(10)에 대해, 적법한 장치라 인정된 소프트웨어 정의 무선장치(1)의 장치 ID는 등록 장치 ID(61)에 저장된다. 소프트웨어 정의 무선시스템(10)을 대해, 등록 장치 ID(61)에 저장된 해당 장치 ID(61)를 가지는 소프트웨어 정의 무선장치(1)에 대해 소프트웨어 다운로드가 허용된다. 등록 장치 ID(61)에 저장된 해당 장치 ID가 없는 소프트웨어 정의 무선장치(1)는 소프트웨어 다운로드가 허용되지 않는다.
공통키 데이터(62)는 소프트웨어 정의 무선장치(1)의 인증 및 암호 통신을 수행하기 위한 미리 정해진 복수의 공통키, 및 각각의 공통키와 연결된 식별을 위한 번호 또는 참조 부호를 포함하는 데이터 베이스이다. 공통키 데이터(62)는 소프트웨어 정의 무선장치(1)의 공통키 데이터(52)와 동일하거나 또는 그와 동일한 하나 이상의 부분을 가질 수 있다. 다운로드 서버(2)의 공통키 데이터(62)는 각각의 소프트웨어 정의 무선장치(1) 또는 다수의 소프트웨어 정의 무선장치(1)의 각각의 그룹에 대해 다른 조합을 포함할 수 있다.
소프트웨어 정의 무선장치(1)의 무선 통신 기능을 실현하기 위해서, 하나 이상의 소프트웨어 구성 요소가 소프트웨어 DB(63)에 저장될 수 있다. 다운로드 가능한 소프트웨어가 장치 ID와 연결되어 각각의 소프트웨어 정의 무선장치(1) 또는 다수의 소프트웨어 정의 무선장치(1)의 각각의 그룹을 위한 소프트웨어 DB(63)에 저장된다. 또한, 소프트웨어의 데이터로부터 해시 함수로 연산된 해시값은 소프트웨어와 함께 저장될 수 있다. 소프트웨어 DB(63)에 저장된 내용은 등록 장치 ID(61)의 내용과 동일할 수 있다. 다운로드 가능한 소프트웨어와 연결된 정보는 소프트웨어 자체의 정보와 동등하거나 그 이상의 가치를 가지는 정보를 포함할 수 있다.
제어부(21)는 장치 인증부(22) 및 다운로드 처리부(23)를 포함한다. 장치 인증부(22) 및 다운로드 처리부(23)는 CPU, 주기억장치, 및 입력/출력 장치 등의 제어부(21)의 장치에 의해 실현될 수 있다.
장치 인증부(22)는 소프트웨어 정의 무선장치(1)로부터 기동 데이터를 수신하고, 예를 들면 난수를 생성하고, 이 난수를 사용하여 데이터를 암호화하는 임의의 공통키(A)를 선택하고, 공통키(A)에 대응하는 키 파라미터(번호)를 판단한다. 장치 인증부(22)는 선택된 공통키(A)로 기동 데이터에 포함된 임의의 데이터를 암호화하고 상기 암호화된 데이터로부터 소정의 해시 함수로 해시값을 연산한다. 해시값 및 공통키(A)에 대응하는 키 파라미터를 포함하는 인증 데이터는 기동 데이터를 송신한 소프트웨어 정의 무선장치(1)에 송신된다.
다운로드 처리부(23)는 소프트웨어 정의 무선장치(1)로부터 다운로드 요구를 수신하여서, 다운로드 처리부(23)는 장치 인증부(22)에 의해 선택된 공통키(A)로 다운로드 요구를 복호화한다. 복호화된 다운로드 요구에 포함된 장치 ID가 기억부(6)의 등록 장치 ID(61)에 저장된 장치 ID와 일치하는 경우에, 다운로드 처리 부(23)는 다운로드 요구를 송신한 소프트웨어 정의 무선장치(1)를 인증된 장치로서 판단한다. 다음으로, 다운로드 처리부(23)는 소프트웨어 정의 무선장치(1)에 의해 요구된 소프트웨어 데이터로부터 해시 함수로 해시값을 연산한다. 다음으로, 다운로드 처리부(23)는 요구된 소프트웨어 데이터, 연산된 해시값, 및 다운로드 요구에 포함된 장치 ID를 공통키(A)로 암호화하여 다운로드 데이터를 생성하고, 생성된 다운로드 데이터를 소프트웨어 정의 무선장치(1)에 송신한다.
다음으로, 본 발명의 제 1 실시예에 따른 소프트웨어 정의 무선시스템(10)의 동작을 설명한다. 도 3은 제 1 실시예에 따른 소프트웨어 정의 무선시스템(10)을 위한 소프트웨어 다운로드의 동작의 예를 설명하는 플로차트이다. 도 3의 우측 열의 소프트웨어 변경은 소프트웨어 정의 무선장치(1)의 동작을 설명한다. 도 3의 좌측 열의 다운로드 처리는 다운로드 서버(2)의 동작을 설명한다.
소프트웨어 정의 무선장치(1)는 소프트웨어 변경 처리를 개시하여서, 제어 회로(11)의 인증부(12)가 이 예에서는 난수인 임의의 데이터를 생성하고(단계 T1), 난수를 포함하는 기동 데이터를 다운로드 서버(2)에 송신한다(단계 T2).
다운로드 서버(2)의 장치 인증부(22)는 소프트웨어 정의 무선장치(1)에 의해 송신된 기동 데이터를 수신하고(단계 S1), 인증 데이터를 생성한다(단계 S2). 도 4a는 인증 데이터 생성 처리의 동작의 예를 나타내는 플로차트이다.
장치 인증부(22)는 소프트웨어 정의 무선장치(1)와의 통신을 위한 데이터를 암호화하기 위한 공통키 데이터(62)로부터 임의의 공통키(이 예에서 "공통키(A)"라 함)를 임의적으로 선택하고, 공통키(A)에 대응하는 키 파라미터(번호)를 판단한다 (단계 A1). 장치 인증부(22)는 기동 데이터에 포함된 난수를 공통키(A)로 암호화한다(단계 A2). 다음으로, 암호화된 데이터로부터 소정의 해시 함수로 해시값을 연산한다(단계 A3). 그러므로, 인증 데이터는 해시값 및 공통키(A)에 대응하는 키 파라미터를 포함한다.
도 3의 플로차트로 돌아가서, 장치 인증부(22)는 인증 데이터를 소프트웨어 정의 무선장치(1)에 송신한다(단계 S3).
소프트웨어 정의 무선장치(1)는 인증 데이터를 수신하고(단계 T3) 인증 처리를 수행한다(단계 T4). 도 4b는 인증 처리의 동작의 예를 나타낸다. 제어 회로(11)의 인증부(12)는 인증 데이터에 포함된 키 파라미터에 기초하여, 기억부(5)에 저장된 공통키 데이터(52)로부터 공통키(A)를 식별한다(단계 B1). 다음으로, 소프트웨어 정의 무선장치(1)는 단계 T2에서 소프트웨어 정의 무선장치가 다운로드 서버(2)에 송신한 난수를 공통키(A)로 암호화한다(단계 B2). 인증부(12)는 암호화된 난수로부터 다운로드 서버(2)와 동일한 해시 함수로 해시값을 연산한다(단계 B3).
도 3의 플로차트에 돌아가서, 인증부(12)는 인증 처리(단계 T4)에서 연산된 해시값을 인증 데이터에 포함된 해시값과 비교한다(단계 T5). 두 개의 해시값이 상이한 경우에(단계 T5: 상이함), 소프트웨어 다운로드 처리는 종료된다. 두 개의 해시값이 동일한 경우에(단계 T5: 동일함), 다운로드 처리부(13)는 공통키(A)로 장치 ID(51)를 암호화하고, 요구되는 소프트웨어를 지시하는 정보를 및 암호화된 장치 ID(51)를 포함하는 다운로드 요구를 다운로드 서버(2)에 송신한다(단계 T6). 이 경우에, 소프트웨어 정의 무선장치(1)에 의해 다운 가능한 소프트웨어의 목록이 다운로드 서버(2)에 의해 소프트웨어 정의 무선장치(1)에 미리 송신될 수 있다. 소프트웨어 정의 무선장치(1)는 목록으로부터 다운로드될 소프트웨어를 선택하고, 장치 ID(51)를 정보에 추가하고, 정보를 공통키(A)로 암호화하고, 암호화된 데이터를 다운로드 요구에 따라 다운로드 서버(2)에 송신할 수 있다.
다운로드 서버(2)는 다운로드 요구를 수신한다(단계 S4). 다음으로, 다운로드 처리부(23)는 다운로드 요구에 포함된 암호화된 장치 ID를 장치 인증부(22)에 의해 선택된 공통키(A)로 복호화한다(단계 S5). 다운로드 처리부(23)는 복호화된 장치 ID가 기억부(6)에 저장된 등록 장치 ID(61)에 포함되는지의 여부를 판단한다(단계 S6). 복호화된 장치 ID가 포함되지 않는 경우에(단계 S6: NO), 에러 통지 데이터가 생성된다(단계 S8).
복호화된 장치 ID가 등록 장치 ID(61)에 포함되는 경우에(단계 S6: YES), 다운로드 처리부(23)는 다운로드 데이터를 생성한다(단계 S7). 도 4c는 다운로드 데이터 생성 처리의 동작의 예를 나타낸다. 다운로드 처리부(23)는 소프트웨어 DB(63)로부터 소프트웨어 정의 무선장치(1)에 의해 요구된 소프트웨어를 판독하고 판독된 소프트웨어 데이터로부터 해시 함수로 해시값을 연산한다(단계 C1). 다운로드 처리부(23)는 다운로드 요구에 포함된 장치 ID(51)를 요구된 소프트웨어 및 연산된 해시값에 부가한다(단계 C2). 다음으로, 다운로드 처리부(23)는 공통키(A)로 요구된 소프트웨어, 연산된 해시값, 및 장치 ID(51)를 암호화하여, 다운로드 데이터를 생성한다(단계 C3).
도 3으로 돌아가서, 다운로드 처리부(23)는 생성된 다운로드 데이터(단계 S7) 또는 에러 통지 데이터(단계 S8) 중 어느 하나를 소프트웨어 정의 무선장치(1)에 송신한다(단계 S9). 소프트웨어 정의 무선장치(1)는 데이터를 수신하고(단계 T7), 이어서 소프트웨어의 유효성을 검증한다(단계 T8).
도 4d는 소프트웨어 유효성 검증의 동작 예를 나타낸다.
우선, 소프트웨어 검증부(14)는 수신 데이터가 다운로드 데이터인가의 여부를 결정한다(단계 D1). 수신 데이터가 다운로드 데이터가 아닌 경우(단계 D1: NO), 즉 에러 통지 데이터가 수신된 경우, 소프트웨어 검증부(14)는 에러 통지가 수신되었다고 지시자를 설정하고(단계 D2), 소프트웨어의 유효성의 검증은 종료된다. 최신 데이터가 다운로드 데이터인 경우(단계 D1: YES), 소프트웨어 검증부(14)는 공통키(A)로 다운로드 데이터를 복호화한다(단계 D3). 소프트웨어 검증부(14)는 복호화된 장치 ID를 기억부(5)에 저장된 장치 ID(51)와 비교한다(단계 D4). 2개의 장치 ID가 일치하지 않는 경우(단계 D4: 상이함), 지시자는 다운로드 데이터가 유효하지 않다고, 즉 비유효하다고 설정되고(단계 D7), 소프트웨어의 유효성의 검증은 종료된다.
장치 ID가 일치하는 경우(단계 D4: 동일함), 소프트웨어 검증부(14)는 소프트웨어 데이터로부터 다운로드 서버(2)의 것과 같은 동일한 해시 함수로 해시값을 연산한다(단계 D5). 다운로드 데이터에 포함된 해시값이 연산된 해시값과 상이한 경우(단계 D6: 상이함), 소프트웨어 검증부(14)는 비유효함을 표시하는 지시자를 설정하고, 소프트웨어의 유효성의 검증은 종료된다. 2개의 해시값이 동일한 경우 (단계 D6: 동일함), 소프트웨어 검증부(14)는 변경되지 않은 소프트웨어로 간주하여, 다운로드 데이터의 유효성의 지시자를 설정하고(단계 D8), 소프트웨어의 유효성의 검증은 종료된다.
도 3으로 돌아가서, 소프트웨어 유효성 검증의 결과로서, 소프트웨어 검증부(14)가 다운로드 데이터가 유효하다는 지시자를 설정하는 경우(단계 T9: YES), 제어 회로(11)는 기억부(5)의 소프트웨어 데이터(53)에서 복호화된 소프트웨어를 저장한다. 다음, 소프트웨어 실행부(15)는 저장된 소프트웨어를 실행하고, 신호 처리 회로(16)를 프로그래밍함으로써, 소프트웨어 정의 무선장치(1)의 통신방법을 변경한다(단계 T10). 소프트웨어 유효성 검증의 결과가 유효하지 않는 경우(단계 T9: NO), 소프트웨어 데이터는 실행되지 않고, 소프트웨어 변경 처리는 종료된다.
따라서, 제 1 실시예에 따르면, 소프트웨어 정의 무선장치(1)와 다운로드 서버(2) 양쪽은 복수의 공통키를 유지한다. 또한, 각각의 다운로드 요구시, 다운로드 서버(2)는 공통키를 랜덤하게 선택하고, 소프트웨어 정의 무선장치(1)에 그 번호만을 통지함으로써, 유출되는 공통키의 위험성을 감소시킨다. 그러한 구성에 따르면, 제3자는 소프트웨어 정의 무선장치(1)와 다운로드 서버(2) 양쪽의 지식을 소유하지 않고는 소프트웨어 정의 무선장치(1)와 다운로드 서버(2) 중 어느 하나를 모방할 수 없다.
예를 들면, 공통키 중 하나가 유출되는 경우에도, 다운로드 서버(2)는 유출된 공통키의 사용을 금지함으로써 소프트웨어의 도청 또는 변경되는 것을 방지할 수 있다. 소프트웨어 정의 무선시스템(10)에서는, 공통키를 사용함으로써 데이터 의 암호화 및 복호화가 수행되고, 소프트웨어 정의 무선장치(1)는 공개키 암호화의 처리량보다 적은 처리량으로 다운로드 서버(2)의 유효성의 검증과, 소프트웨어의 기밀성 및 완전성의 보증을 안전하게 실현할 수 있다.
또한, 제 1 실시예에 따르면, 오직 처리량이 적은 필요 조건을 갖는 공통키 암호화를 사용함으로써, 소프트웨어 정의 무선장치(1)는 다운로드 서버(2)의 유효성의 검증을 수행할 수 있고, 소프트웨어의 기밀성 및 완전성을 보증할 수 있으며, 소프트웨어 정의 무선장치(1)가 적은 처리량을 갖는 경우에도, 통신 방법의 고속 변경이 가능하다.
이러한 구성에 의해, 소프트웨어 정의 무선장치(1)는 기밀성을 유지하는 동시에 유효성이 확인된 다운로드 서버(2)에 의해 송신되는 소프트웨어를 다운로드 할 수 있다. 더욱이, 공개키 암호화의 방식보다 적은 처리량의 필요 조건을 갖는 공통키 암호화 방식은 소프트웨어 정의 무선장치(1)에 의해 처리량을 감소시킬 수 있다.
[제 2 실시예]
다음, 다운로드 서버의 유효성 검증용 시스템의 예는 소프트웨어 정의 무선장치에 의해 적은 처리량을 필요로 하지만, 공개키 암호화 방식을 사용함으로써 안정성을 향상시키는 제 2 실시예가 기술된다.
도 5는 본 발명의 제 2 실시예에 따른 소프트웨어 정의 무선시스템(20)의 구성의 예를 도시하는 블록도이다. 도 5에 도시된 소프트웨어 정의 무선시스템(20)은 소프트웨어 정의 무선장치(1)와 다운로드 서버(3) 사이에 다운로드 통신을 중계 하는 단말장치(4)를 포함한다. 오직 하나의 소프트웨어 정의 무선장치(1)와 오직 하나의 단말장치(4)가 장치들을 대표하여 도 5에 도시되어 있다. 소프트웨어 정의 무선시스템(20)은 각각 유사한 구성을 갖는 복수의 소프트웨어 정의 무선장치(1)와 복수의 단말장치(4)를 포함할 수도 있다. 도 5에서, 도 1과 유사한 구성 요소에는 동일한 참조 번호가 부여된다.
제 1 실시예에 따른 소프트웨어 정의 무선장치(1)의 구성에 부가하여, 제 2 실시예의 소프트웨어 정의 무선장치(1)는 로컬 통신부(18)를 포함한다. 로컬 통신부(18)는 직렬 통신(serial communication), USB(Universal Serial Bus), LAN(Local Area Network), 또는 무선 LAN 등의 통신 인터페이스 성능을 포함하고, 그것들을 단말장치(4)와 통신한다. 인증부(12)와 다운로드 처리부(13)의 통신은 로컬 통신부(18)를 통하여 단말장치(4)로 이루어진다.
기억부(5)는 다운로드 서버(3)의 인증과 암호화된 통신이 가능하도록, 복수의 서버의 공통키를 저장하기 위해 장치 ID(51), 공통키 데이터(52), 소프트웨어 데이터(53), 및 서버 공통키(54)를 저장한다. 공통키 데이터(52)는 제 1 실시예의 것과 유사한 구성을 갖지만, 공통키 데이터(52)는 단말장치(4)와 통신하는 데이터의 암호화와 복호화에 사용될 수 있다. 장치 ID(51)는 미리 서버 공통키(54)로 암호화된 데이터일 수도 있다.
제 2 실시예에 따른 인증부(12)는 제 1 실시예의 것과 같은 유사한 처리를 실행하고, 추가로 단말장치(4)와 통신하며, 단말장치(4)의 인증을 실행하고, 공통키(본 실시예에서는 "공통키(B)"로서 참조됨)를 특정한다.
다운로드 처리부(13)는 서버 공통키(54)로 암호화된 장치 ID(51)를, 제 1 실시예의 것과 유사한 방법에 의해, 인증부(12)로 특정된 공통키(B)로 또한 암호화함으로써 다운로드 요구를 생성하고, 로컬 통신부(18)를 통해 단말장치(4)에 다운로드 요구를 송신한다. 또한, 다운로드 처리부(13)는 단말장치(4)로부터 다운로드 데이터를 수신한다.
소프트웨어 검증부(14)는 공통키(B)로 다운로드 데이터를 복호화하고, 서버 공통키(54)로 복호화된 다운로드 데이터 결과를 복호화한다. 복호된 데이터에 포함된 장치 ID가 기억부(5)에 저장된 장치 ID(51)와 일치하는 경우, 소프트웨어 검증부(14)는 다운로드 데이터에 포함된 소프트웨어를 요구된 소프트웨어로서 판단한다. 다음, 소프트웨어 검증부(14)는 소프트웨어의 복호화된 데이터로부터 소정의 해시 함수로 해시값을 연산하고, 연산된 해시값을 복호화된 데이터에 포함된 해시값과 비교한다. 2개의 해시값이 일치하는 경우, 소프트웨어 검증부(14)는 변경되지 않았거나, 또는 오류가 있는 부적당한 데이터로 판단한다. 소프트웨어 실행부(15)는 제 1 실시예의 것과 유사하다.
단말장치(4)는 제어부(41), 통신부(44), 기억부(8), 및 로컬 통신부(45)를 포함한다. 제어부(41)는 CPU, 주 기억 장치, 및 주 기억 장치에 로딩된 프로그램을 실행하는 입력/출력 장치 등의 장치를 포함하고, 소프트웨어 정의 무선장치(1)와 다운로드 서버(3) 사이에서 다운로드 통신을 중계하는 처리를 실행한다. 통신부(44)는 인터넷 또는 사설 네트워크 등의 네크워크를 통해 다운로드 서버(3)의 통신부(34)와 통신함으로써, 데이터를 송수신한다.
기억부(8)는 플래시 메모리부, 하드 디스크 드라이브 미디어, DVD-RAM(Digital Versatile Disc-Random Access Memory), 및 DVD-RW(Digital Versatile Disc-Rewritable) 등의 비휘발성 기억부를 포함하고, 공개키(81)와 공통키 데이터(82)를 저장한다.
공개키(81)는 다운로드 서버(3)에 송신되는 데이터를 암호화하는데 사용된다. 부가적으로, 다운로드 서버(3)의 유효성은 다운로드 서버(3)에 의해 송신된 데이터에 부착된 전자 서명을 공개키(81)로 복호화함으로써 검증된다.
공통키(82)는 소프트웨어 정의 무선장치(1)와의 인증을 수행하기 위해 사용되고, 각각의 공통키를 특정하기 위해, 번호 또는 부호뿐만 아니라 암호화된 복수의 공통키를 포함한다. 공통키 데이터(82)는 제 1 실시예에 따른 다운로드 서버(2)의 기억부(6)에 저장된 공통키 데이터(62)와 유사하다.
로컬 통신부(45)는 직렬 통신, USB(Universal Serial Bus), LAN(Local area network), 및 무선 LAN 등의 통신 인터페이스 성능을 포함하고, 그것들을 통신 네트워크를 통해 소프트웨어 정의 무선장치(1)와 통신한다. 통신부(44)는 로컬 통신부(45)의 부분으로서 포함될 수 있다.
제어부(41)는 장치 인증부(42)와 다운로드 중계 처리부(43)를 포함한다. 장치 인증부(42)와 다운로드 중계 처리부(43)는 CPU, 주 기억 장치, 및 입력/출력 장치 등의 제어부(41)의 장치에 의해 실현된다.
장치 인증부(42)는 소프트웨어 정의 무선장치(1)로부터 개시 데이터를 수신하고, 난수 등의 임의 데이터를 생성하며, 공통키 데이터(82)로부터 임의의 공통 키(B)를 선택하도록 난수를 사용하여, 공통키(B)에 대응하는 키 파라미터(번호)를 결정한다. 장치 인증부(42)는 개시 데이터에 포함된 임의 데이터를 선택된 공통키(B)로 암호화하고, 암호화된 임의 데이터로부터 소정의 해시 함수로 해시값을 연산한다. 장치 인증부(42)는 연산된 해시값과 공통키(B)에 대응하는 키 파라미터를 포함하는 인증 데이터를 생성하고, 인증 데이터를 개시 데이터가 송신된 소프트웨어 정의 무선장치(1)에 송신한다.
다운로드 중계 처리부(43)가 소프트웨어 정의 무선장치(1)로부터 다운로드 요구를 수신하는 경우, 다운로드 중계 처리부(43)는 다운로드 요구를 장치 인증부(42)로부터 선택된 공통키(B)로 복호화한다. 식별 중계 데이터는 기억부(8)에 저장된 공개키(81)로 복호화된 데이터를 암호화함으로써 생성된다. 식별 중계 데이터는 통신부(44)를 통해 다운로드 서버(3)에 송신된다.
다운로드 중계 처리부(43)가 첨부된 전자 서명을 갖는 다운로드 소스 데이터가 포함되는 데이터를 다운로드 서버(3)로부터 수신하는 경우, 다운로드 중계 처리부(43)는 다운로드 서버(3)로부터 수신된 데이터에 포함된 전자 서명을, 기억부(8)에 저장된 공개키(81)로 검증한다. 다음, 다운로드 서버(3)로부터 수신된 데이터가 정확한 것으로 판단될 경우, 다운로드 소스 데이터는 선택된 공통 키(B)로 암호화되고, 최종 다운로드 데이터는 로컬 통신부(45)를 통해 소프트웨어 정의 무선장치(1)에 송신된다.
다운로드 서버(3)는 제어부(31), 통신부(34), 및 기억부(7)를 포함한다. 제어부(31)는 CPU, 주 기억 장치, 입력/출력 장치 등의 장치를 포함하고, 주 기억 장 치에 로딩된 프로그램을 실행함으로써, 소프트웨어 정의 무선장치(1)에 소프트웨어 데이터를 송신하는 처리가 수행된다. 통신부(34)는 통신 네트워크를 통해 단말장치(4)의 통신부(44)와 통신하고, 데이터를 송수신한다.
기억부(7)는 플래시 메모리부, 하드 디스크 드라이브 미디어, DVD-RAM(Digital Versatile Disk-Random Access Memory), 및 DVD-RW(Digital Versatile Disc-Rewritable) 등의 비휘발성 메모리부를 포함할 수 있고, 등록 장치 ID(71), 비밀키(72), 서버 공통키(73), 및 소프트웨어 DB(데이터 베이스)(74)를 저장한다.
소프트웨어 정의 무선시스템(20)의 소프트웨어 정의 무선장치(1)의 식별 부호는 등록 장치 ID(71)에 저장된다. 소프트웨어 정의 무선시스템(20)에서는, 등록 장치 ID(71)에 저장된 장치 ID를 갖는 소프트웨어 정의 무선장치(1)가 다운로드 서버(3)로부터 소프트웨어를 다운로드 하는 것이 허용된다. 등록 장치 ID(71)에 등록된 어떠한 장치 ID도 갖지 않는 소프트웨어 정의 무선장치(1)는 다운로드 서버(3)로부터 소프트웨어를 다운로드 하는 것이 허용되지 않는다.
비밀키(72)는 단말장치(4)로부터 수신된 데이터를 복호화하는데 사용된다. 또한, 비밀키(72)는 다운로드 데이터에 전자 서명을 첨부하도록 사용된다. 서버 공통키(73)는 소프트웨어 정의 무선장치(1)와의 인증과 암호화된 통신을 수행하는데 사용된다.
제 1 실시예와 유사하게, 하나 이상의 소프트웨어 구성 요소는 소프트웨어 정의 무선장치(1)의 무선 통신 기능을 실현하기 위해 소프트웨어 DB(74)에 저장될 수 있다. 다운로드 가능 소프트웨어는 장치 ID에 결합되고, 소프트웨어 정의 무선 장치(1)의 각각 또는 복수의 소프트웨어 정의 무선장치(1)의 각 그룹에서 소프트웨어 DB(74)에 저장된다. 또한, 소프트웨어의 데이터로부터 해시 함수로 연산된 해시값은 소프트웨어 DB(74)에서 소프트웨어와 함께 저장될 수 있다. 등록 장치 ID(71)는 소프트웨어 DB(78)의 일부로서 포함될 수 있다. 다운로드 가능 소프트웨어에 관한 정보는 소프트웨어 자체와 동등한 또는 그를 초과하는 가치를 갖는 정보를 포함할 수 있다.
제어부(31)는 장치 인증부(32)와 다운로드 처리부(33)를 포함한다. 장치 인증부(32)와 다운로드 처리부(33)는 CPU, 주 기억 장치, 입력/출력 장치 등의 제어부(31)에 포함된 장치와, 그것들에 의해 제어되는 프로그램에 의해 실현될 수 있다.
장치 인증부(32)는 단말장치(4)로부터 수신된 식별 중계 데이터를 비밀키(72)로 복호화하고, 또한 서버 공통키(72)로 복호화를 수행한다. 복호된 장치 ID가 등록 장치 ID(71)에 저장되는 경우, 다운로드 처리부(33)는 소프트웨어 정의 무선장치(1)에 의해 요구된 소프트웨어의 다운로드 처리를 수행한다.
소프트웨어 정의 무선장치(1)의 장치 ID(51)가 등록 장치 ID(71)에 저장되는 경우, 다운로드 처리부(33)는 소프트웨어 DB(74)로부터 소프트웨어 정의 무선장치(1)로 송신되는 소프트웨어를 판독하고, 소프트웨어의 데이터로부터 소정의 해시 함수로 해시값을 연산한다. 다음, 다운로드 데이터는 소프트웨어와, 연산된 해시값과, 장치 ID를 서버 공통키(73)로 암호화함으로써 생성되고, 전자 서명은 비밀키(72)로 다운로드 데이터에 첨부되며, 첨부된 전자 서명을 갖는 다운로드 데이터 는 통신부(34)를 통해 단말장치(4)에 송신된다.
다음, 제 2 실시예에 따른 소프트웨어 정의 무선시스템(20)의 동작이 기술된다. 도 6 내지 도 8c는 제 2 실시예에 따른 소프트웨어 정의 무선시스템(20)의 소프트웨어 다운로드의 동작의 예를 도시하는 플로차트이다. 도 6은 소프트웨어 정의 무선장치(1)와 단말장치(4)의 동작의 예를 도시한다. 도 7은 다운로드 서버(3)의 동작의 예를 도시한다.
도 6에 도시된 우측 열의 소프트웨어 변경은 소프트웨어 정의 무선장치(1)의 동작을 도시한다. 좌측 열의 다운로드 중계 처리는 단말장치(4)의 동작을 도시한다. 도 6 및 도 7에서, 도 3의 플로차트의 것과 유사한 단계는 동일한 참조 번호가 부여된다. 소프트웨어의 다운로드 처리의 시작(단계 T1)하는 단계부터 소프트웨어 정의 무선장치(1)에 의한 인증 처리(단계 T4)의 해시값의 비교(단계 T5)를 실시할 때까지는 제 1 실시예의 것과 유사하다. 제 2 실시예에 따른 소프트웨어 정의 무선장치(1)는 개시 데이터를 단말장치(4)에 송신하고, 인증 데이터를 단말장치(4)로부터 수신한다. 단말장치(4)의 개시 데이터를 수신하는 단계(단계 R1)부터 인증 데이터의 송신(단계 R3)은 제 1 실시예에 따른 다운로드 서버(2)의 단계 S1 내지 단계 S3의 동작과 유사하다. 여기에서는, 소프트웨어 정의 무선장치(1)와 단말장치(4)에 의해 선택된 공통키를 "공통키(B)"로 참조하여 기술된다.
소프트웨어 정의 무선장치(1)의 인증부(12)는 인증 처리에서 연산된 해시값(단계 T4)을 인증 데이터에 포함된 해시값(단계 T5)과 비교한다. 2개의 해시값이 상이한 경우(단계 T5: 상이함), 소프트웨어 다운로드 처리는 종료된다. 2개의 해 시값이 동일한 경우(단계 T5: 동일함), 인증부(12)는 올바른 통신 상대가 되도록 단말장치(4)를 결정하고, 다운로드 처리부(13)는 장치 ID(51)를 서버 공통키(54)로 암호화하고, 상기 암호화된 데이터를 공통키(B)로 더 암호화함으로써 다운로드 요구를 생성하고, 상기 다운로드 요구를 단말장치(4)에 송신한다(단계 T6a).
단말장치(4)는 다운로드 요구를 수신하고, 다운로드 요구 중계 처리를 수행한다(단계 R4). 도 8a는 다운로드 요구 중계 처리의 동작의 예를 도시한다. 단말장치(4)의 다운로드 중계 처리부(43)는 다운로드 요구(단계 A11)를 수신하고, 다운로드 요구를 공통키(B)로 복호화한다(단계 A12). 다운로드 중계 처리부(43)는 복호화된 데이터(서버 공통키(54)로 암호화된 장치 ID(51))와, 복호화된 데이터로부터 다운로드 서버(3)의 것과 동일한 해시 함수로 연산된 해시값을, 기억부(8)에 저장된 공개키(81)로 암호화함으로써, 식별 중계 데이터를 생성한다. 다음, 다운로드 중계 처리부(43)는 식별 중계 데이터를 다운로드 서버(3)에 송신한다(단계 A15). 이 경우, 소프트웨어 정의 무선장치(1)에 의해 다운로드 가능한 소프트웨어의 목록은 상기 다운로드 서버(3)에 의해 미리 상기 단말장치(4)로 송신될 수 있다. 단말장치(4)는 목록으로부터 다운로드하고자 하는 소프트웨어를 특정하는 정보, 복호된 데이터(서버 공통키(54)로 암호화된 장치 ID(51))와 다운로드 서버(3)의 것과 동일한 해시 함수로 연산된 해시값을 결합시키고, 공통키(B)로 결합된 데이터를 암호화하여 식별 중계 데이터를 생성한 다음, 식별 중계 데이터를 다운로드 서버(3)에 송신해도 좋다.
도 7은 도 6에 나타낸 다운로드 요구 중계 처리(단계 R4)의 플로차트를 나타 낸다. 다운로드 서버(3)의 장치 인증부(32)는 식별 중계 데이터로서 다운로드 요구를 수신하고(단계 S11) 그 후 수신된 데이터를 비밀키(72)로 복호한다(단계 S12). 해시값은 장치 ID(서버 공통키(54)로 암호화됨)로부터 단말장치(4)의 것과 동일한 해시 함수로 연산되고, 복호된 데이터에 포함된다(단계 S13).
연산된 해시값이 복호된 데이터에 포함된 해시값과 상이한 경우(단계 S14: 상이함), 장치 인증부(32)는 데이터가 부정한 데이터라고 판단하므로, 에러 통지 데이터를 생성한다(단계 S18). 두 해시값이 동일한 경우(단계 S14: 동일함), 장치 ID는 서버 공통키(73)로 복호된다(단계 S15). 장치 인증부(32)는 복호된 장치 ID가 기억부(7)의 등록된 장치 ID(71)에 기억되어 있는지 여부를 확인한다(단계 S16). 장치 ID가 등록된 장치 ID(71)에 기억되어 있지 않은 경우(단계 S16: NO), 에러 통지 데이터가 생성된다(단계 S18).
장치 ID가 등록된 장치 ID(71)에 기억되어 있는 경우(단계 S16: YES), 다운로드 처리부(33)는 소프트웨어 정의 무선장치(1)에 의하여 요구된 소프트웨어 데이터로부터 소프트웨어 정의 무선장치(1)의 것과 동일한 해시 함수로 해시값을 연산한다(단계 S17). 그 후, 다운로드 요구에 포함된 장치 ID가 소프트웨어와 해시값에 부가된다(단계 S19). 다음, 다운로드 처리부(33)는 소프트웨어, 해시값, 및 장치 ID를 서버 공통키(73)로 암호화한다(단계 S20). 또한, 다운로드 처리부(33)는 비밀키(72)로 전자 서명을 부여하여 다운로드 데이터를 완성한다(단계 S21).
다운로드 처리부(33)는 단계 S21로부터 생성된 다운로드 데이터 또는 에러 통지 데이터(단계 S18)를 단말장치(4)에 송신한다(단계 S22).
도 6으로 복귀하여, 단말장치(4)는 다운로드 서버(3)로부터 데이터를 수신하고(단계 R5) 그 뒤 수신된 데이터가 소프트웨어를 포함하는지 여부를 판단한다(단계 R6). 데이터가 소프트웨어를 포함하지 않는 경우, 예를 들어, 에러 통지 데이터인 경우(단계 R6: NO), 에러 통지 데이터가 생성된다(단계 R8). 수신된 데이터가 소프트웨어를 포함하는 경우(단계 R6: YES), 다운로드 중계 처리부(43)는 소프트웨어 정의 무선장치(1)에 송신하는 다운로드 데이터를 생성한다(단계 R7).
도 8b는 다운로드 데이터 생성 처리의 동작의 일례를 나타내는 플로차트이다. 다운로드 중계 처리부(43)는 기억부(8)에 저장된 공개키(81)로 수신된 데이터에 포함된 전자 서명의 유효성을 검증한다(단계 B11). 다운로드 서버(3)가 유효한 것으로 판단된 경우(단계 B12: OK), 다운로드 중계 처리부(43)는 공통키(B)로 암호화하여 다운로드 데이터를 생성한다(단계 B13). 전자 서명의 유효성의 검증 결과가 다운로드 서버(3)가 유효하지 않다고 판단하는 경우(단계 B12: NG), 다운로드 중계 처리부(43)는 에러 통지 데이터를 생성한다(단계 B14).
도 6으로 복귀하여, 다운로드 중계 처리부(43)는 생성된 다운로드 데이터(단계 B13) 또는 에러 통지 데이터(단계 R8 또는 단계 B14)를 소프트웨어 정의 무선장치(1)에 송신한다(단계 R9).
소프트웨어 정의 무선장치(1)는 단말장치(4)로부터 데이터를 수신한 후(단계 T7a) 소프트웨어의 유효성을 검증한다(단계 T8a).
도 8c는 소프트웨어 유효성 검증의 동작의 일례를 나타낸다. 먼저, 소프트웨어 검증부(14)는 수신된 데이터가 다운로드 데이터인지 여부를 판단한다(단계 C11). 수신된 데이터가 다운로드 데이터가 아닌 경우(단계 C11: NO), 예를 들어 데이터가 에러 통지 데이터인 경우, 소프트웨어 검증부(14)는 지시자가 에러 통지가 수신되었다고 지시하도록 설정하고(단계 C12), 소프트웨어 유효성 검증이 종료한다.
수신된 데이터가 다운로드 데이터인 경우(단계 C11: YES), 소프트웨어 검증부(4)는 다운로드 데이터를 공통키(B)로 복호하고(단계 C13), 서버 공통키(54)로 더 복호한다(단계 C14). 그 후, 소프트웨어 검증부(14)는 복호된 장치 ID와 기억부(5)에 기억된 장치 ID(51)를 비교한다(단계 C15). 두 장치 ID가 상이한 경우(단계 C15: 상이함), 소프트웨어 검증부(14)는 지시자를 다운로드 데이터가 유효하지 않다고, 예를 들어, 비유효라고 설정하고(단계 C18), 소프트웨어 유효성 검증이 종료한다.
두 장치 ID가 일치하는 경우(단계 C15: 동일함), 소프트웨어 검증부(14)는 소프트웨어 데이터로부터 다운로드 서버(3)의 것과 동일한 해시 함수로 해시값을 연산한다(단계 C16). 다운로드 데이터에 포함된 해시값과 연산된 해시값이 상이한 경우(단계 C17: 상이함), 지시자는 비유효를 지시하도록 설정되고(단계 C18), 소프트웨어 유효성 검증이 종료한다. 두 해시값이 동일한 경우(단계 C17: 동일함), 소프트웨어 검증부(14)는 소프트웨어를 변경되지 않은 소프트웨어로 판별하고, 지시자를 다운로드 데이터가 유효하다고 설정하고(단계 C19), 소프트웨어 유효성 검증이 종료한다.
도 6으로 복귀하여, 소프트웨어 유효성 검증의 결과가 유효한 경우(단계 T9: YES), 소프트웨어 실행부(15)는 복호된 소프트웨어를 기억부(5)의 소프트웨어 데이터(53)에 격납한다. 그 후, 소프트웨어 실행부(15)는 소프트웨어를 실행하고, 그에 의하여, 신호 처리 회로(16)를 설정하고, 통신 방식을 변경한다(단계 T10). 소프트웨어 유효성 검증의 결과가 유효하지 않은 경우(단계 T9: NO), 플로우는 소프트웨어 데이터를 실행하지 않고 종료한다.
따라서, 본 발명의 제 2 실시예에 의하면, 본 인증 방식은 공통키의 유출을 방지하고, 소프트웨어 정의 무선장치(1)에 의한 유사한 처리를 대신하여 공개키 암호화를 사용하여 다운로드 서버(3)의 유효성의 확인을 수행하는 확인된 유효성을 갖는 단말장치(4)를 포함하므로, 유효성의 검증이 오픈 네트워크에 접속하는 부분에 대하여 매우 안전한 공개키 암호화로 수행되는 동시에, 소프트웨어 정의 무선장치(1)는 처리량을 최소화하도록 공통키 암호화를 사용한다.
[제 2 실시예의 변형례]
복수의 공통키 중 어느 한 공통키가 유출된 것이 판명된 경우의 처리를 설명한다. 이 변형례에서는, 다운로드 서버(3)가 단말장치(4)에 공통키의 사용을 금지하는 지령을 송신한다.
도 9는 단말장치(4)의 공통키 데이터(82)의 예를 나타낸다. 각각의 공통키에 부여된 사용 허가와 금지 중 하나를 지시하는 데이터가 단말장치(4)의 공통키 데이터(82)에 저장된다. 예를 들어, 도 9의 가장 우측 열에 있는 "x" 기호는 대응하는 공통키의 사용이 금지된다는 것을 표시한다.
도 10은 공통키 사용 금지 처리의 동작의 일례를 나타낸다. 장치 인증부(42)가 다운로드 서버(3)로부터 데이터를 수신한 후(단계 R11), 공통키 데이터(82)를 참조하여 데이터가 공통키 사용 금지 정보인지 여부를 판단한다(단계 R12). 데이터가 사용 금지 정보인 경우(단계 R12: YES), 장치 인증부(42)는 대응하는 공통키를 사용 금지로 설정한다. 데이터가 사용 금지 정보가 아닌 경우(단계 R12: NO), 아무런 변화가 없다.
다운로드 중계 처리의 인증 데이터 생성 처리에서, 공통키의 선택은 공통키 데이터(82)의 사용 금지되지 않은 공통키들로부터 이루어진다. 따라서, 공통키가 유출된 경우일지라도, 정확한 소프트웨어가 안전하게 다운로드될 수 있다.
본 발명의 제 1 효과로서, 소프트웨어 정의 무선장치(1)는 공개키 암호화 방식보다 적은 처리 요구를 갖는 공통키 암호화를 사용함에 의하여 다운로드 서버(3)의 유효성의 검증과 소프트웨어의 기밀성과 완전성의 보증을 안전하게 실현한다.
제 1 효과의 이유는 소프트웨어 정의 무선장치(1)와 다운로드 서버(3)가 모두 복수의 공통키를 유지하고, 공통키는 각각의 다운로드마다 무작위로 선택되고, 악의의 제3자가 그에 대한 공통의 지식을 갖지 않는다면 그 제3자가 처리를 실행하는 것이 방지되고, 따라서 공통키가 유출되는 것이 어렵기 때문이다. 또한, 예를 들어, 키가 유출된 경우라 하더라도, 키는 사용 금지로서 지정될 수 있다.
본 발명의 제 2 효과로서, 오픈 네트워크에 접속된 부분에 매우 안전한 공개키 암호화가 유효성의 검증에 사용되고, 처리량을 최소화하기 위해 공통키 암호화가 소프트웨어 정의 무선장치(1)에 의하여 사용된다.
제 2 효과의 이유는 상술한 인증 방법은 복수의 공통키로부터 무작위로 선택된 공통키를 사용하고, 소프트웨어 정의 무선장치(1)에 의한 유사한 처리를 대신하여 공개키 암호화를 사용하여 다운로드 서버(3)의 유효성을 확인하는 확인된 유효성을 갖는 단말장치(4)를 포함하기 때문이다.
본 발명의 제 3 효과로서, 소프트웨어 정의 무선장치(1)에 있어서 소프트웨어 검증 처리량이 삭감될 수 있고, 따라서, 소프트웨어 정의 무선장치(1)가 적은 용량을 갖는 경우일지라도, 그 소프트웨어는 빠르게 변경될 수 있다. 즉, 통신 방식이 빠르게 변경될 수 있다.
제 3 효과의 이유는 낮은 처리 요구를 갖는 공통키 암호 방식만이 소프트웨어 정의 무선장치(1)에 의하여 사용될 수 있는 경우일지라도, 시스템은 다운로드 서버(3)의 유효성의 검증과 소프트웨어의 완전성과 기밀성의 보증이 가능하기 때문이다.
또한, 상술한 하드웨어의 구성과 플로차트는 하나의 예일 뿐이며, 임의의 변경이나 수정이 이루어질 수도 있다.
제어 회로(11), 제어부(21, 31, 41), 기억부(5, 6, 7, 8), 로컬 통신부(18, 45), 및, 통신부(34, 44) 등의 장치들을 포함하는 다운로드 처리를 수행하기 위하여 중심이 되는 부분은 전용 시스템일 필요는 없으며, 보통의 컴퓨터 시스템을 사용하여 실현되어도 좋다. 예를 들어, 상술한 동작들을 실행하는 컴퓨터 프로그램이 컴퓨터 판독 가능한 기록 매체(플로피 디스크(flexible disk) 매체, CD-ROM, DVD-ROM 등) 내에 저장되고, 배포되고, 컴퓨터에 인스톨되어, 그에 의하여 상술한 처리 를 실행하는 소프트웨어 정의 무선장치(1), 다운로드 서버(2, 3), 및, 단말장치(4)를 구성해도 좋다. 다른 대안으로, 컴퓨터 프로그램이 인터넷 등의 통신 네트워크의 서버 장치의 기억 장치에 저장되어, 소프트웨어 정의 무선장치(1), 다운로드 서버(2, 3), 및, 단말장치(4)가 통상의 컴퓨터 시스템이나 그러한 종류로의 다운로드 또는 유사한 전송에 의하여 구성되어도 좋다.
또한, 소프트웨어 정의 무선장치(1), 다운로드 서버(2, 3), 및, 단말장치(4)의 기능들이 OS(오퍼레이팅 시스템)과 어플리케이션 프로그램 사이에 분담되거나, OS와 어플리케이션 프로그램 사이의 협동에 의하여 실현되는 경우 등의 설정에 있어서, 어플리케이션 프로그램 부분만이 기록 매체 또는 기억 장치에 저장되어도 좋다.
또한, 컴퓨터 프로그램은 반송파에 중첩시켜 통신 네트워크를 경유하여 배포되어도 좋다. 예를 들어, 컴퓨터 프로그램은 통신 네트워크의 게시판(BBS, Bulletin Board System)에 게시되고, 네트워크를 통하여 배포되어도 좋다. 또한, 컴퓨터 프로그램은 OS의 제어 하에 다른 어플리케이션 프로그램들과 유사하게 기동되고 실행되어, 그에 의해, 상술한 처리를 실행해도 좋다.
본 발명은 소프트웨어 변경에 의하여 변경 가능한 통신 방식을 갖는 소프트웨어 정의 무선장치에 유용하며, 올바르게 소프트웨어를 다운로드하는 응용에 의하여, 산업상 적용가능하다.
본 발명의 주요한 정신과 범위를 벗어나지 않으면서 다양한 실시예들과 변형이 이루어질 수 있다. 상술한 실시예들은 본 발명을 설명하기 위하여 의도되었으 며, 본 발명의 범위를 제한하기 위한 것이 아니다. 본 발명의 범위는 실시예보다 첨부된 특허청구범위에 의하여 나타나 있다. 본 발명의 특허청구범위와 균등한 의미 내와 특허청구범위 내에서 이루어지는 다양한 변형들은 본 발명의 범위 내에 있는 것으로 간주한다.
본 출원은 2007년 8월 1일에 제출되고, 명세서, 청구범위, 도면, 및 요약서를 포함하는 일본특허출원 제2007-201272호에 기초한 것이다. 상기 일본특허출원의 개시는 여기에 전체 그대로 참조하여 통합되어 있다.
도 1은 본 발명의 예시적인 제 1 실시예에 따른 소프트웨어 정의 무선시스템의 구성의 예를 나타내는 블록도.
도 2는 공통키 데이터의 예를 나타내는 도면.
도 3은 본 발명의 예시적인 제 1 실시예에 따른 소프트웨어 정의 무선시스템의 동작의 예를 나타내는 플로차트.
도 4a는 인증 데이터 생성 처리의 동작의 예를 나타내는 플로차트.
도 4b는 인증 처리의 동작의 예를 나타내는 플로차트.
도 4c는 다운로드 데이터 생성 처리의 동작의 예를 나타내는 플로차트.
도 4d는 소프트웨어 유효성 검증의 동작의 예를 나타내는 플로차트.
도 5는 본 발명의 예시적인 제 2 실시예에 따른 소프트웨어 정의 무선시스템의 구성의 예를 나타내는 블록도.
도 6은 본 발명의 예시적인 제 2 실시예에 따른 소프트웨어 정의 무선장치 및 단말장치의 동작의 예를 나타내는 플로차트.
도 7은 본 발명의 예시적인 제 2 실시예에 따른 다운로드 서버의 동작의 예를 나타내는 플로차트.
도 8a는 다운로드 요구 중계 처리의 동작의 예를 나타내는 플로차트.
도 8b는 다운로드 데이터 생성 처리의 동작의 예를 나타내는 플로차트.
도 8c는 소프트웨어 유효성 검증의 동작의 예를 나타내는 플로차트.
도 9는 단말장치의 공통키 데이터의 예를 나타내는 도면.
도 10은 공통키 사용 금지 처리의 예를 나타내는 플로차트.
< 도면의 주요 부분에 대한 부호의 설명 >
1: 소프트웨어 정의 무선장치 2: 다운로드 서버
5, 6: 기억부 11: 제어 회로
12: 인증부 13: 다운로드 처리부
14: 소프트웨어 검증부 15: 소프트웨어 실행부
21: 제어부 22: 장치 인증부
23: 다운로드 처리부 24: 통신부
51: 장치 ID 52: 공통키 데이터
53: 소프트웨어 데이터 61: 등록 장치 ID
62: 공통키 데이터 63: 소프트웨어 DB

Claims (8)

  1. 장치 자체의 식별 부호 및 통신 상대(communication entity)와 함께 데이터를 암호화하고 상호 통신을 수행하는 복수의 공통키를 기억하는 기억수단;
    데이터를 상기 통신 상대로 송신하는 다운로드 개시수단;
    상기 데이터를 수신한 상기 통신 상대로부터 수신된 데이터에 의거하여, 상기 복수의 공통키로부터 하나의 공통키를 특정하는 공통키 특정수단;
    상기 데이터를 상기 공통키 특정수단에 의해 특정된 공통키로 암호화하고 상기 암호화된 데이터로부터 해시 함수로 해시값을 연산하는 검증수단;
    상기 검증수단에 의해 연산된 해시값이 상기 통신 상대로부터 수신된 데이터 내에 포함된 해시값과 일치(match)하는 경우, 상기 식별 부호를 포함한 데이터를 상기 공통키 특정수단에 의해 특정된 상기 공통키로 암호화하고 상기 암호화된 데이터를 상기 통신 상대로 송신하는 다운로드 요구수단;
    상기 통신 상대로부터 수신된 다운로드 데이터를, 상기 공통키 특정수단에 의해 특정된 공통키로 복호하는 복호수단;
    상기 복호수단에 의해 복호된 다운로드 데이터에 포함된 식별 부호가 상기 기억수단에 의해 기억된 상기 식별 부호와 일치하는 경우, 상기 복호된 다운로드 데이터로부터 해시 함수로 해시값을 연산하는 확인수단; 및
    상기 복호된 다운로드 데이터에 포함된 해시값과 상기 확인수단에 의해 연산된 해시값이 일치하는 경우, 상기 복호된 다운로드 데이터에 포함된 소프트웨어 데 이터를 이용하여 통신 기능을 변경하는 변경수단을 포함하는 것을 특징으로 하는 소프트웨어 정의 무선장치.
  2. 제 1 항에 있어서,
    상기 기억수단은 상기 복수의 공통키와 상이한 제 2 공통키를 기억하고,
    상기 다운로드 요구수단은 상기 제 2 공통키를 사용하여 상기 식별 부호를 포함한 데이터를 암호화하고, 상기 공통키 특정수단에 의해 특정된 상기 공통키를 사용하여 상기 암호화된 데이터를 연속적으로 암호화하고, 상기 연속적으로 암호화된 데이터를 상기 통신 상대로 송신하며,
    상기 복호수단은 상기 공통키 특정수단에 의해 특정된 상기 공통키를 사용하여 상기 다운로드 데이터를 복호하고, 상기 제 2 공통키를 사용하여 상기 복호된 다운로드 데이터를 연속적으로 더 복호하는 것을 특징으로 하는 소프트웨어 정의 무선장치.
  3. 소프트웨어 정의 무선장치가 데이터를 포함하는 개시 데이터를 통신 상대로 송신하는 다운로드 개시 단계를 포함하고,
    상기 개시 데이터를 수신하는 상기 통신 상대는,
    데이터를 암호화하고 상호 통신을 수행하기 위해서 복수의 공통키로부터 하나의 공통키를 선택하는 선택 단계와
    상기 소프트웨어 정의 무선장치로부터 수신된 상기 개시 데이터에 포함된 상 기 데이터를 상기 선택된 공통키로 암호화한 데이터로부터 해시 함수로 연산된 해시값과, 상기 선택 단계에서 선택된 상기 공통키를 특정하는 데이터를, 상기 개시 데이터를 송신한 상기 소프트웨어 정의 무선장치로 송신하는 공통키 지정 단계를 포함하며,
    상기 소프트웨어 정의 무선장치는,
    상기 통신 상대로부터 수신된 데이터에 의거하여 상기 복수의 공통키로부터 하나의 공통키를 특정하는 공통키 특정 단계,
    상기 데이터를 상기 공통키 특정 단계에서 특정된 상기 공통키로 암호화한 데이터로부터 해시 함수로 해시값을 연산하는 인증 단계, 및
    상기 인증 단계에서 연산된 해시값이 상기 통신 상대로부터 수신된 데이터에 포함된 해시값과 일치하는 경우, 상기 소프트웨어 정의 무선장치 자체의 식별 부호를 포함하는 데이터를 상기 공통키 특정 단계에서 특정된 공통키로 암호화한 식별 데이터를, 상기 통신 상대에 송신하는 다운로드 요구 단계를 포함하고,
    상기 통신 상대는, 상기 소프트웨어 정의 무선장치로부터 수신된 식별 데이터를 상기 선택된 공통키로 복호한 식별 부호가, 미리 등록된 복수의 식별 부호 중 하나와 일치하는 경우, 상기 소프트웨어 정의 무선장치에 의해 요구된 소프트웨어 데이터, 상기 소프트웨어 데이터로부터 해시 함수로 연산된 해시값 및 상기 식별 부호를 상기 선택된 공통키로 암호화한 다운로드 데이터를, 상기 소프트웨어 정의 무선장치로 송신하는 다운로드 단계를 포함하고,
    상기 소프트웨어 정의 무선장치는,
    상기 통신 상대로부터 수신된 상기 다운로드 데이터를 상기 공통키 특정 단계에서 특정된 상기 공통키로 복호하는 복호 단계,
    상기 복호된 데이터에 포함된 식별 부호가 상기 소프트웨어 정의 무선장치의 상기 식별 부호와 일치하는 경우, 상기 복호 단계에서 복호된 데이터로부터 해시 함수로 해시값을 연산하는 확인 단계, 및
    상기 복호된 데이터에 포함된 해시값이 상기 확인 단계에서 연산된 해시값과 일치하는 경우, 상기 복호된 데이터에 포함된 소프트웨어 데이터를 이용하여 통신 기능을 변경하는 변경 단계를 포함하는 것을 특징으로 하는 소프트웨어 정의 무선장치의 소프트웨어 갱신 방법.
  4. 소프트웨어 정의 무선장치가 데이터를 포함한 개시 데이터를 통신 상대로 송신하는 다운로드 개시 단계를 포함하고,
    상기 개시 데이터를 수신하는 상기 통신 상대는,
    데이터를 암호화하고 상호 통신을 수행하기 위해서 복수의 공통키로부터 하나의 공통키를 선택하는 선택 단계와,
    상기 소프트웨어 정의 무선장치로부터 수신된 상기 개시 데이터에 포함된 상기 데이터를 상기 선택된 공통키로 암호화한 데이터로부터 해시 함수로 연산된 해시값과, 상기 선택 단계에서 선택된 상기 공통키를 특정하는 데이터를, 상기 개시 데이터를 송신한 상기 소프트웨어 정의 무선장치로 송신하는 공통키 지정 단계를 포함하며,
    상기 소프트웨어 정의 무선장치는,
    상기 통신 상대로부터 수신된 데이터에 의거하여 상기 복수의 공통키로부터 하나의 공통키를 특정하는 공통키 특정 단계,
    상기 데이터를 상기 공통키 특정 단계에서 특정된 상기 공통키로 암호화한 데이터로부터 해시 함수로 해시값을 연산하는 검증 단계, 및
    상기 검증 단계에서 연산된 해시값이 상기 통신 상대로부터 수신된 데이타에 포함된 해시값과 일치하는 경우, 상기 소프트웨어 정의 무선장치 자체의 식별 부호를 포함하는 데이터를 상기 복수의 공통키와 상이한 제 2 공통키로 암호화한 데이터를, 상기 공통키 특정 단계에서 특정된 상기 공통키로 암호화한 식별 데이터를 상기 통신 상대로 송신하는 다운로드 요구 단계를 포함하고,
    상기 통신 상대는, 상기 소프트웨어 정의 무선장치로부터 수신된 식별 데이터를 상기 선택된 공통키로 복호한 데이터를, 상기 소프트웨어 정의 무선장치의 소프트웨어 데이터를 기억하는 다운로드 서버의 공개키로 암호화한 식별 중계 데이터를 상기 다운로드 서버에 송신하는 다운로드 요구 중계 단계를 포함하고,
    상기 다운로드 서버는, 상기 통신 상대로부터 수신된 식별 중계 데이터를 비밀키로 복호한 데이터를 상기 제 2 공통키로 복호한 식별 부호가 미리 등록된 복수의 식별 부호 중 하나와 일치하는 경우, 상기 소프트웨어 정의 무선장치에 의해 요구된 소프트웨어 데이터와 상기 소프트웨어 데이터로부터 해시 함수로 연산된 해시값 및 상기 식별 부호를, 상기 제 2 공통키로 암호화한 다운로드 소스 데이터에 비밀키로 전자 서명을 부여한 데이터를 상기 통신 상대로 송신하는 중계 다운로드 단 계를 포함하고,
    상기 통신 상대는, 상기 다운로드 서버로부터 수신된 데이터에 포함된 전자 서명을 상기 다운로드 서버의 상기 공개키로 검증하고, 상기 검증이 상기 다운로드 서버로부터 수신된 데이터가 정확하다고 판단한 경우, 상기 다운로드 소스 데이터를 상기 선택된 공통키로 복호한 다운로드 데이터를 상기 소프트웨어 정의 무선장치로 송신하는 다운로드 단계를 포함하고,
    상기 소프트웨어 정의 무선장치는,
    상기 통신 상대로부터 수신된 상기 다운로드 데이터를 상기 공통키 특정 단계에서 특정된 상기 공통키로 복호한 데이터를, 상기 제 2 공통키로 복호하는 복호 단계,
    상기 복호 단계에서 복호된 데이터에 포함된 식별 부호가 상기 소프트웨어 정의 무선장치의 상기 식별 부호와 일치하는 경우, 상기 복호된 데이터로부터 해시 함수로 해시값을 연산하는 확인 단계, 및
    상기 복호된 데이터에 포함된 해시값이 상기 확인 단계에서 연산된 해시값과 일치하는 경우, 상기 복호된 데이터에 포함된 소프트웨어 데이터를 이용하여 통신 기능을 변경하는 변경 단계를 포함하는 것을 특징으로 하는 소프트웨어 정의 무선장치의 소프트웨어 갱신 방법.
  5. 소프트웨어 변경에 의해 변경 가능한 통신 기능을 갖는 소프트웨어 정의 무선장치 및 상기 소프트웨어 정의 무선장치의 소프트웨어 데이터를 기억하는 다운로 드 서버를 포함하는 소프트웨어 정의 무선시스템으로서,
    상기 소프트웨어 정의 무선장치는,
    상기 장치 자체의 식별 부호 및 상기 다운로드 서버와 함께 데이터를 암호화하고 상호 통신을 수행하는 복수의 공통키를 기억하는 기억수단,
    데이터를 포함한 개시 데이터를 상기 다운로드 서버로 송신하는 다운로드 개시수단,
    상기 다운로드 서버로부터 수신된 데이터에 의거하여, 상기 복수의 공통키로부터 하나의 공통키를 특정하는 공통키 특정수단,
    상기 데이터를, 상기 공통키 특정수단에 의해 특정된 공통키로 암호화하여 생성한 데이터로부터 해시 함수로 해시값을 연산하는 검증수단,
    상기 검증수단에 의해 연산된 해시값이 상기 다운로드 서버로부터 수신된 데이터에 포함된 해시값과 일치하는 경우, 상기 식별 부호를 포함하는 데이터를 상기 공통키 특정수단에 의해 특정된 공통키로 암호화한 식별 데이터를 상기 다운로드 서버에 송신하는 다운로드 요구수단,
    상기 다운로드 서버로부터 수신된 다운로드 데이터를, 상기 공통키 특정수단에 의해 특정된 상기 공통키로 복호하는 복호수단,
    상기 복호수단에 의해 복호된 데이터에 포함된 식별 부호가 상기 기억수단에 의해 기억된 상기 식별 부호와 일치하는 경우, 상기 복호된 데이터로부터 해시 함수로 해시값을 연산하는 확인수단, 및
    상기 복호된 데이터에 포함된 해시값과 상기 확인수단에 의해 연산된 해시값 이 일치하는 경우, 상기 복호된 데이터에 포함된 소프트웨어 데이터를 이용하여 통신 기능을 변경하는 변경수단을 포함하고,
    상기 다운로드 서버는,
    상기 소프트웨어 정의 무선장치와 데이터를 암호화하고 상호 통신을 수행하기 위해서 상기 복수의 공통키로부터 하나의 공통키를 선택하는 선택수단,
    상기 소프트웨어 정의 무선장치로부터 수신되고 상기 소프트웨어 정의 무선장치에 의해 선택되고 데이터를 상기 선택된 공통키로 암호화한 데이터로부터 해시 함수로 연산된 해시값 및 상기 선택수단에 의해 선택된 공통키를 특정하는 데이터를, 상기 개시 데이터를 송신한 상기 소프트웨어 정의 무선장치로 송신하는 공통키 지정수단, 및
    상기 소프트웨어 정의 무선장치로부터 수신된 식별 데이터를 상기 선택된 공통키로 복호한 식별 부호가 미리 등록된 복수의 식별 부호 중 하나와 일치하는 경우, 상기 소프트웨어 정의 무선장치에 의해 요구된 소프트웨어 데이터와 상기 소프트웨어 데이터로부터 해시 함수로 연산된 해시값 및 상기 식별 부호를, 상기 선택된 공통키로 암호화한 다운로드 데이터를 상기 소프트웨어 장치 무선장치로 송신하는 다운로드 수단을 포함하는 것을 특징으로 하는 소프트웨어 정의 무선시스템.
  6. 소프트웨어 변경에 의해 변경 가능한 통신 기능을 갖는 소프트웨어 정의 무선장치, 상기 소프트웨어 정의 무선장치의 소프트웨어 데이터를 기억하는 다운로드 서버 및 상기 소프트웨어 정의 무선장치와 상기 다운로드 서버 사이의 통신을 중계 하는 단말장치를 포함하는 소프트웨어 정의 무선시스템으로서,
    상기 소프트웨어 정의 무선장치는,
    상기 장치 자체의 식별 부호 및 상기 다운로드 서버와 함께 데이터를 암호화하고 상호 통신을 수행하는 복수의 공통키를 기억하는 기억수단과,
    데이터를 포함한 개시 데이터를 상기 다운로드 서버로 송신하는 다운로드 개시수단을 포함하고,
    상기 단말장치는,
    상기 소프트웨어 정의 무선장치와 데이터를 암호화하고 상호 통신을 수행하기 위해서 복수의 공통키로부터 하나의 공통키를 선택하는 선택수단과,
    상기 소프트웨어 정의 무선장치로부터 수신되고 상기 소프트웨어 정의 무선장치에 의해 선택된 데이터를 상기 선택된 공통키로 암호화한 데이터로부터 해시 함수로 연산된 해시값 및 상기 선택수단에 의해 선택된 공통키를 특정하는 데이터를, 상기 개시 데이터를 송신한 상기 소프트웨어 정의 무선장치로 송신하는 공통키 지정수단을 포함하고,
    상기 소프트웨어 정의 무선장치는,
    상기 단말장치로부터 수신된 데이터에 의거하여, 상기 복수의 공통키로부터 하나의 공통키를 특정하는 공통키 특정수단,
    상기 선택된 데이터를, 상기 공통키 특정수단에 의해 특정된 공통키로 암호화하여 생성한 데이터로부터 해시 함수로 해시값을 연산하는 검증수단, 및
    상기 검증수단에 의해 연산된 해시값이 상기 단말장치로부터 수신된 데이터 에 포함된 해시값과 일치하는 경우, 상기 식별 부호를 포함하는 데이터를 상기 복수의 공통키로부터 분리된 제 2 공통키로 암호화한 데이터를 상기 공통키 특정수단에 의해 특정된 공통키로 암호화한 식별 데이터를, 상기 단말장치로 송신하는 다운로드 요구수단을 포함하고,
    상기 단말장치는, 상기 소프트웨어 정의 무선장치로부터 수신된 식별 데이터를 상기 선택된 공통키로 복호한 데이터를, 상기 다운로드 서버의 공개키로 복호한 식별 중계 데이터를 상기 다운로드 서버로 송신하는 다운로드 요구 중계 수단을 포함하고,
    상기 다운로드 서버는, 상기 단말장치로부터 수신된 식별 중계 데이터를 비밀키로 복호한 데이터를 상기 복수의 공통키로부터 분리된 제 2 공통키로 복호한 식별 부호가 미리 등록된 복수의 식별 부호 중 하나와 일치하는 경우, 상기 소프트웨어 정의 무선장치에 의해 요구된 소프트웨어 데이터와 상기 소프트웨어 데이터로부터 해시 함수로 연산된 해시값 및 상기 식별 부호를, 상기 제 2 공통키로 암호화한 다운로드 소스 데이터에, 비밀키로 전자 서명을 부여한 데이터를 상기 통신 상대로 송신하는 중계 다운로드 수단을 포함하고,
    상기 단말장치는, 상기 다운로드 서버로부터 수신된 데이터에 포함된 전자 서명을 상기 다운로드 서버의 공개키로 검증하고, 상기 검증이 상기 다운로드 서버로부터 수신된 데이터가 정확하다고 판단된 경우 상기 다운로드 소스 데이터를 상기 선택된 공통키로 암호화한 다운로드 데이터를 상기 소프트웨어 정의 무선장치에 송신하는 다운로드 수단을 더 포함하고,
    상기 소프트웨어 정의 무선장치는,
    상기 단말장치로부터 수신된 다운로드 데이터를 상기 공통키 특정수단에 의해 특정된 공통키로 복호한 데이터를 상기 제 2 공통키로 복호하는 복호수단,
    상기 복호수단에 의해 복호된 데이터에 포함된 식별 부호가 상기 소프트웨어 정의 무선장치의 상기 식별 부호와 일치하는 경우, 상기 복호된 데이터로부터 해시 함수로 해시값을 연산하는 확인수단, 및
    상기 복호된 데이터에 포함된 해시값과 상기 확인수단에 의해 연산된 해시값이 일치하는 경우, 상기 복호된 데이터에 포함된 소프트웨어 데이터를 이용하여 통신 기능을 변경하는 변경수단을 더 포함하는 것을 특징으로 하는 소프트웨어 정의 무선시스템.
  7. 소프트웨어 변경에 의해 변경 가능한 통신 기능을 갖는 소프트웨어 정의 무선장치와 상기 소프트웨어 정의 무선장치의 소프트웨어 데이터를 기억하는 다운로드 서버 사이의 통신을 중계하는 단말장치로서,
    상기 소프트웨어 정의 무선장치로부터 상기 소프트웨어 데이터의 다운로드를 개시하는 개시 데이터를 수신한 때에, 상기 소프트웨어 정의 무선장치와 데이터를 암호화하고 상호 통신을 수행하기 위해서 복수의 공통키로부터 하나의 공통키를 선택하는 선택수단;
    상기 소프트웨어 정의 무선장치로부터 수신된 개시 데이터의 소정의 일부를 상기 선택된 공통키로 암호화한 데이터로부터 해시 함수로 연산된 해시값 및 상기 선택수단에 의해 선택된 공통키를 특정하는 데이터를, 상기 소프트웨어 정의 무선장치로 송신하는 공통키 지정수단;
    상기 소프트웨어 정의 무선장치로부터 다운로드를 요구하는 데이터를 수신한 때에, 상기 소프트웨어 정의 무선장치로부터 수신되는 데이터에 포함된 식별 데이터를 상기 선택된 공통키로 복호한 데이터를, 상기 다운로드 서버의 공개키로 암호화한 데이터를 상기 다운로드 서버로 송신하는 다운로드 요구 중계 수단; 및
    상기 다운로드 서버로부터 다운로드되는 데이터를 수신한 때에, 상기 다운로드 서버로부터 수신된 데이터에 포함된 전자 서명을 상기 다운로드 서버의 상기 공개키로 검증하고, 상기 검증이 상기 다운로드 서버로부터 수신된 데이터가 정확하다고 판단한 경우 상기 다운로드되는 데이터를 상기 선택된 공통키로 암호화한 다운로드 데이터를 상기 소프트웨어 정의 무선장치에 송신하는 다운로드 수단을 포함하는 것을 특징으로 하는 단말장치.
  8. 제 7 항에 있어서,
    상기 다운로드 서버로부터 상기 복수의 공통키 중 하나의 사용을 금지하는 명령이 수신된 경우, 상기 사용을 금지하는 명령 범위의 공통키를 상기 복수의 공통키로부터의 상기 선택의 범위로부터 제외하는 공통키 제외수단을 더 포함하며,
    상기 선택수단은, 상기 복수의 공통키로부터, 상기 사용을 금지하는 명령 범위의 공통키를 제외하고 하나의 공통키를 선택하는 것을 특징으로 하는 단말장치.
KR1020080075760A 2007-08-01 2008-08-01 소프트웨어 정의 무선장치, 및 소프트웨어 갱신 방법, 및소프트웨어 정의 무선시스템 KR100995559B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2007-00201272 2007-08-01
JP2007201272A JP4392672B2 (ja) 2007-08-01 2007-08-01 ソフトウェア無線通信装置、及びソフトウェア更新方法、並びに、ソフトウェア無線通信システム

Publications (2)

Publication Number Publication Date
KR20090013734A true KR20090013734A (ko) 2009-02-05
KR100995559B1 KR100995559B1 (ko) 2010-11-22

Family

ID=39735625

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080075760A KR100995559B1 (ko) 2007-08-01 2008-08-01 소프트웨어 정의 무선장치, 및 소프트웨어 갱신 방법, 및소프트웨어 정의 무선시스템

Country Status (4)

Country Link
US (1) US8433069B2 (ko)
JP (1) JP4392672B2 (ko)
KR (1) KR100995559B1 (ko)
FI (1) FI125736B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101368483B1 (ko) * 2012-05-30 2014-02-28 한국철도기술연구원 Sdr 기반 철도 통합무선통신 장치 및 그 운영방법
KR101373574B1 (ko) * 2012-08-31 2014-03-12 고려대학교 산학협력단 무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법
KR20200039190A (ko) * 2018-10-05 2020-04-16 (주)티엔젠 영상데이터를 전송하는 다중 송신원 인증방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219797B2 (en) * 2008-12-31 2012-07-10 Intel Corporation Method and system to facilitate configuration of a hardware device in a platform
JP2011253511A (ja) * 2010-06-02 2011-12-15 Minoru Yoshida 情報生成システム及びその方法
CN101924607B (zh) * 2010-08-27 2013-01-23 华为终端有限公司 基于固件空中传输技术的固件处理方法、装置及系统
WO2012047050A2 (ko) * 2010-10-06 2012-04-12 한양대학교 산학협력단 스마트안테나 소프트웨어 정의 라디오 단말 장치 및 소프트웨어 정의 라디오 단말 어플리케이션의 배포 및 설치 방법
KR101785116B1 (ko) * 2010-12-24 2017-10-17 한양대학교 산학협력단 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치
CN102685931A (zh) * 2011-03-17 2012-09-19 中兴通讯股份有限公司 一种基于软件无线电的无线通讯传输系统及方法
US9166631B2 (en) 2011-05-09 2015-10-20 Industry-University Cooperation Foundation Hanyang University Software-defined radio terminal apparatus, and method for distributing and installing radio applications
US9131289B2 (en) * 2012-06-21 2015-09-08 NEC Laboratores America, Inc. Software-defined optical network
DE102014011687B3 (de) * 2014-08-04 2016-02-04 Giesecke & Devrient Gmbh Kommunikationssystem mit PKI-Schlüsselpaar für mobiles Endgerät
US9667628B2 (en) * 2014-11-06 2017-05-30 Intel Corporation System for establishing ownership of a secure workspace
US10135871B2 (en) 2015-06-12 2018-11-20 Accenture Global Solutions Limited Service oriented software-defined security framework
US9740531B2 (en) * 2015-06-29 2017-08-22 Lookout, Inc. Coordinating multiple components
CN106817346B (zh) * 2015-11-30 2020-06-12 珠海豹趣科技有限公司 一种数据传输方法、装置及电子设备
JP6560604B2 (ja) * 2015-12-08 2019-08-14 Kddi株式会社 管理装置、管理方法、及びプログラム
DE112016006810T5 (de) * 2016-04-28 2019-01-24 Mitsubishi Electric Corporation Fahrzeugbordeinrichtung, Bodendaten-Managementeinrichtung, Boden-zu-Fahrzeug-Kommunikationssicherheitssystem und Boden-zu-Fahrzeugkommunikationsverfahren
CN106201352B (zh) * 2016-07-07 2019-11-29 广东高云半导体科技股份有限公司 非易失性fpga片上数据流文件的保密系统及解密方法
CN107608713A (zh) * 2017-08-22 2018-01-19 维沃移动通信有限公司 一种应用程序转移方法及移动终端
US20190112148A1 (en) * 2017-10-13 2019-04-18 Otis Elevator Company Commissioning and upgrading remote software/firmware using augmented reality
US10764036B1 (en) * 2018-03-06 2020-09-01 Wells Fargo Bank, N.A. Derived unique key per raindrop (DUKPR)
WO2021133074A2 (ko) * 2019-12-27 2021-07-01 주식회사 제이에스전자 경량 기기 전용 개체 또는 메시지 인증 방법 및 이를 수행하는 장치들
KR102321879B1 (ko) * 2020-03-02 2021-11-03 한화정밀기계 주식회사 복수의 장비에 소프트웨어를 설치하는 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10341223A (ja) 1997-06-09 1998-12-22 Hitachi Ltd 暗号通信システムおよび暗号通信中継装置
US6141756A (en) * 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
JP3570327B2 (ja) * 2000-02-22 2004-09-29 日本電気株式会社 プロキシ暗号通信システム及び方法並びにプログラムを記録した記録媒体
JP4145118B2 (ja) * 2001-11-26 2008-09-03 松下電器産業株式会社 アプリケーション認証システム
JP2003304235A (ja) 2002-04-10 2003-10-24 Sony Corp 無線通信装置、およびプログラム・ダウンロード方法、並びにコンピュータ・プログラム
JP2004213339A (ja) 2002-12-27 2004-07-29 Toshiba Corp ソフトウェア無線機及びその制御方法
JP2005269128A (ja) 2004-03-18 2005-09-29 Dainippon Printing Co Ltd Icカードにおける共通鍵暗号データ通信方法
US7502946B2 (en) * 2005-01-20 2009-03-10 Panasonic Corporation Using hardware to secure areas of long term storage in CE devices
JP2006238307A (ja) * 2005-02-28 2006-09-07 Fujitsu Ltd 暗号、復号化の方法および装置
ATE527797T1 (de) * 2005-10-05 2011-10-15 Privasphere Ag Verfahren und einrichtungen zur benutzerauthentifikation
JP4667236B2 (ja) * 2005-12-28 2011-04-06 日本電信電話株式会社 データの配信・受信システム、データの再配信装置、データの受信装置およびそれらの方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101368483B1 (ko) * 2012-05-30 2014-02-28 한국철도기술연구원 Sdr 기반 철도 통합무선통신 장치 및 그 운영방법
KR101373574B1 (ko) * 2012-08-31 2014-03-12 고려대학교 산학협력단 무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법
KR20200039190A (ko) * 2018-10-05 2020-04-16 (주)티엔젠 영상데이터를 전송하는 다중 송신원 인증방법

Also Published As

Publication number Publication date
JP4392672B2 (ja) 2010-01-06
US8433069B2 (en) 2013-04-30
US20090279699A1 (en) 2009-11-12
FI20085758A (fi) 2009-02-02
KR100995559B1 (ko) 2010-11-22
JP2009038603A (ja) 2009-02-19
FI125736B (fi) 2016-01-29
FI20085758A0 (fi) 2008-08-01

Similar Documents

Publication Publication Date Title
KR100995559B1 (ko) 소프트웨어 정의 무선장치, 및 소프트웨어 갱신 방법, 및소프트웨어 정의 무선시스템
US9866376B2 (en) Method, system, and device of provisioning cryptographic data to electronic devices
US10454674B1 (en) System, method, and device of authenticated encryption of messages
US7506381B2 (en) Method for securing an electronic device, a security system and an electronic device
US7886355B2 (en) Subsidy lock enabled handset device with asymmetric verification unlocking control and method thereof
JP4814083B2 (ja) 暗号を使ってソフトウェアをハードウェアに関連付けること
KR100451012B1 (ko) 디지털저작물의저작권보호를위한복수의암호기술이용프로토콜로부터하나를선택하여사용하는정보기기
US20060059547A1 (en) Method of verifying downloaded software and corresponding device
US20120023329A1 (en) Information processing device, controller, key issuing authority, method for judging revocation list validity, and key issuing method
US9165148B2 (en) Generating secure device secret key
US20100255813A1 (en) Security in a telecommunications network
CN104868998A (zh) 一种向电子设备供应加密数据的系统、设备和方法
KR20070059891A (ko) 어플리케이션 인증 보안 시스템 및 그 인증 보안 방법
CN117436043A (zh) 待执行文件的来源验证方法、设备以及可读存储介质
CN109302442B (zh) 一种数据存储证明方法及相关设备
KR20130100032A (ko) 코드 서명 기법을 이용한 스마트폰 어플리케이션 배포 방법
JP2008233965A (ja) 携帯端末装置とそのプログラム、及び、改竄防止システムと改竄防止方法
EP2958265B1 (en) Revocation of a root certificate stored in a device
CN102301372A (zh) 用于代表存储卡接收用于内容的权利对象的方法和终端

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: 20131022

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141022

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161020

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee