JP4392672B2 - ソフトウェア無線通信装置、及びソフトウェア更新方法、並びに、ソフトウェア無線通信システム - Google Patents

ソフトウェア無線通信装置、及びソフトウェア更新方法、並びに、ソフトウェア無線通信システム Download PDF

Info

Publication number
JP4392672B2
JP4392672B2 JP2007201272A JP2007201272A JP4392672B2 JP 4392672 B2 JP4392672 B2 JP 4392672B2 JP 2007201272 A JP2007201272 A JP 2007201272A JP 2007201272 A JP2007201272 A JP 2007201272A JP 4392672 B2 JP4392672 B2 JP 4392672B2
Authority
JP
Japan
Prior art keywords
data
common key
software
download
defined radio
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2007201272A
Other languages
English (en)
Other versions
JP2009038603A (ja
Inventor
三恵 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC System Technologies Ltd
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 NEC System Technologies Ltd filed Critical NEC System Technologies Ltd
Priority to JP2007201272A priority Critical patent/JP4392672B2/ja
Priority to FI20085758A priority patent/FI125736B/fi
Priority to US12/184,807 priority patent/US8433069B2/en
Priority to KR1020080075760A priority patent/KR100995559B1/ko
Publication of JP2009038603A publication Critical patent/JP2009038603A/ja
Application granted granted Critical
Publication of JP4392672B2 publication Critical patent/JP4392672B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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)

Description

本発明は、ソフトウェアの変更により機能の変更が可能なソフトウェア無線通信装置、及び、ソフトウェアをダウンロードしてソフトウェア無線通信装置の機能を更新するソフトウェア更新方法、並びに、ソフトウェア無線通信装置へソフトウェアをダウンロードさせるソフトウェア無線通信システムに関する。
ソフトウェア無線通信装置(SDR:Software Defined Radio)は、FPGA(Field Programmable Gate Array)のような再構成可能ロジックや、DSP(Digital Signal Processor)等の信号処理プロセッサを備え、ダウンロードするソフトウェアを変えることによって種々の通信方式に対応した無線通信機能を実現できるように構成されている。ソフトウェア無線通信装置は、その装置又はその所有者に対して許可されていない不正なソフトウェア、または改ざんされたソフトウェアがダウンロードされると、違法電波を送信する等の不正使用、電波干渉等の障害の発生、または装置の故障等の可能性があり、その防止策が必要である。
従って、改ざんされていないソフトウェアを、正当な供給元から許可されたソフトウェア無線通信装置のみにダウンロードさせる必要がある。さらに、そのソフトウェアの内容を第3者に秘密に保持する必要がある。すなわち、完全性(通信系路上で改ざんされていない事の確認)、正当性(送信者が正当であることの確認)、機密性(盗聴されても中身を読めないこと)を保証する必要がある。
ソフトウェア無線通信装置のソフトウェアを正しくダウンロードする技術には、例えば、「ソフトウェア無線機及びその制御方法」(特許文献1参照)や、「無線通信装置、およびプログラム・ダウンロード方法、並びにコンピュータ・プログラム」(特許文献2参照)がある。
これらの技術では、ソフトウェアの正当性を示す為に、配信側で公開鍵暗号方式の電子署名をソフトウェアに付与して配信し、ソフトウェア無線通信装置内で電子署名を検証して、ソフトウェアの正当性を確認する。また、特許文献2は、ソフトウェアの正当性や秘匿性を高める目的で、ハッシュ関数、鍵、暗号化法等を切り替えて用いる技術が記載されている。
通信の秘密を保持する技術として、例えば、特許文献3には、複数の共通鍵のなかから、通信のつど1つの共通鍵を選択してそのインデックスのみを通知して、通信データを暗号化および復号することが記載されている。特許文献3の技術は、さらに、ハッシュ値を用いて改ざんされていないことを確認する。
そのほか、計算機間で暗号通信する際に、中継装置で一旦暗号を復号して、別の共通鍵で暗号化して通信する技術がある(特許文献4参照)。特許文献4の技術は、さらに、いずれかの通信区間で公開鍵と秘密鍵の組を用いることが記載されている。
特開2004−213339号公報 特開2003−304235号公報 特開2005−269128号公報 特開平10−341223号公報
ソフトウェア無線通信装置の通信方式を切り替える為に、ソフトウェアをダウンロードする場合、ソフトウェア無線通信装置での正当性検証処理は、演算量を小さくして短時間で行えることが好ましい。
上述の関連する技術では、公開鍵暗号方式の電子署名を用いて正当性を検証しているが、一般に公開鍵暗号方式の処理は共通鍵暗号方式の処理に比べ処理量が多い。携帯型無線機や組み込み機器のように処理能力に制約がある場合は、処理時間とダウンロードの安全性のトレードオフの問題となる。
また、メモリ容量の限られたソフトウェア無線通信装置では、対応する全ての通信方式のソフトウェアデータをソフトウェア無線通信装置内に保持しておくことができない。そのような場合は頻繁にソフトウェアデータを入れ替える必要が発生する。そのため、ダウンロードしたソフトウェアの正当性を高速に検証できる仕組みが求められている。しかし、単純に公開鍵暗号方式を共通鍵暗号方式に置き換えただけでは、一旦共通鍵が流出すると安全性が守れないという問題があった。
そこで、本発明は、ソフトウェア無線通信装置において、ソフトウェアダウンロードの安全性を維持しながら、ダウンロードしたソフトウェアの正当性を検証する処理量を削減し、高速に検証できるソフトウェア無線通信装置、及びソフトウェア更新方法、並びに、ソフトウェア無線通信システムを提供することを目的とする。
本発明の第1の観点にかかるソフトウェア無線通信装置は、
その装置自身の識別符号と、通信相手との間でデータを暗号化して相互に通信するための複数の共通鍵とを記憶する記憶手段と、
任意に選択したデータを前記通信相手に送信するダウンロード起動手段と、
前記通信相手から受信したデータに基づいて、前記複数の共通鍵のなかから1つの共通鍵を特定する共通鍵特定手段と、
前記任意に選択したデータを前記共通鍵特定手段で特定した共通鍵で暗号化したデータから、ハッシュ関数によってハッシュ値を演算する検証手段と、
前記検証手段で演算したハッシュ値が、前記通信相手から受信したデータに含まれるハッシュ値に一致する場合に、前記識別符号を含むデータを前記共通鍵特定手段で特定した共通鍵で暗号化して前記通信相手に送信するダウンロード要求手段と、
前記通信相手から受信したダウンロードデータを、前記共通鍵特定手段で特定した共通鍵で復号する復号手段と、
前記復号手段で復号したデータの中の識別符号と、前記記憶手段が記憶する前記識別符号とが一致する場合に、前記復号したデータからハッシュ関数によってハッシュ値を演算する確認手段と、
前記復号したデータに含まれるハッシュ値と、前記確認手段で演算したハッシュ値とが一致する場合に、前記復号したデータに含まれるソフトウェアデータを用いて通信機能を変更する変更手段と、
を備えることを特徴とする。
さらに、前記記憶手段は、前記複数の共通鍵とは別に第2の共通鍵を記憶し、
前記ダウンロード要求手段は、前記識別符号を含むデータを前記第2の共通鍵で暗号化したのちに、前記共通鍵特定手段で特定した共通鍵で暗号化して前記通信相手に送信し、
前記復号手段は、前記ダウンロードデータを、前記共通鍵特定手段で特定した共通鍵で復号したのちに、前記第2の共通鍵でさらに復号する、構成としてもよい。
本発明の第2の観点にかかるソフトウェア無線通信装置のソフトウェア更新方法は、
ソフトウェア無線通信装置が、任意に選択したデータを含む起動データをダウンロードサーバに送信するダウンロード起動ステップを備え、
前記起動データを受信した前記ダウンロードサーバは、
データを暗号化して相互に通信するための複数の共通鍵のなかから1つの共通鍵を選択する選択ステップと、
前記ソフトウェア無線通信装置から受信した前記起動データに含まれる前記任意に選択したデータを、前記選択した共通鍵で暗号化したデータからさらにハッシュ関数によって演算したハッシュ値と、前記選択ステップで選択した共通鍵を特定するデータと、を前記起動データを送信した前記ソフトウェア無線通信装置に送信する共通鍵指定ステップと、
を備え、
前記ソフトウェア無線通信装置は、
前記ダウンロードサーバから受信したデータに基づいて、前記複数の共通鍵のなかから1つの共通鍵を特定する共通鍵特定ステップと、
前記任意に選択したデータを前記共通鍵特定ステップで特定した共通鍵で暗号化したデータから、ハッシュ関数によってハッシュ値を演算する認証ステップと、
前記認証ステップで演算したハッシュ値が、前記ダウンロードサーバから受信したデータに含まれるハッシュ値に一致する場合に、前記ソフトウェア無線通信装置自身の識別符号を含むデータを前記共通鍵特定ステップで特定した共通鍵で暗号化した識別データを、前記ダウンロードサーバに送信するダウンロード要求ステップと、
を備え、
前記ダウンロードサーバは、前記ソフトウェア無線通信装置から受信した識別データを、前記選択した共通鍵で復号した識別符号が、予め登録された識別符号の1つに一致する場合に、前記ソフトウェア無線通信装置から要求されたソフトウェアデータと、前記ソフトウェアデータからハッシュ関数によって演算したハッシュ値と、前記識別符号と、を前記選択した共通鍵で暗号化したダウンロードデータを、前記ソフトウェア無線通信装置に送信するダウンロードステップ、を備え、
前記ソフトウェア無線通信装置は、
前記ダウンロードサーバから受信した前記ダウンロードデータを、前記共通鍵特定ステップで特定した共通鍵で復号する復号ステップと、
前記復号ステップで復号したデータの中の識別符号と、該ソフトウェア無線通信装置の前記識別符号とが一致する場合に、前記復号したデータからハッシュ関数によってハッシュ値を演算する確認ステップと、
前記復号したデータに含まれるハッシュ値と、前記確認ステップで演算したハッシュ値とが一致する場合に、前記復号したデータに含まれるソフトウェアデータを用いて通信機能を変更する変更ステップと、
を備えることを特徴とする。
本発明の第3の観点にかかるソフトウェア無線通信装置のソフトウェア更新方法は、
ソフトウェア無線通信装置が、任意に選択したデータを含む起動データを端末装置に送信するダウンロード起動ステップを備え、
前記起動データを受信した前記端末装置は、
データを暗号化して相互に通信するための複数の共通鍵のなかから1つの共通鍵を選択する選択ステップと、
前記ソフトウェア無線通信装置から受信した前記起動データに含まれる前記任意に選択したデータを、前記選択した共通鍵で暗号化したデータからさらにハッシュ関数によって演算したハッシュ値と、前記選択ステップで選択した共通鍵を特定するデータと、を前記起動データを送信した前記ソフトウェア無線通信装置に送信する共通鍵指定ステップと、
を備え、
前記ソフトウェア無線通信装置は、
前記端末装置から受信したデータに基づいて、前記複数の共通鍵のなかから1つの共通鍵を特定する共通鍵特定ステップと、
前記任意に選択したデータを前記共通鍵特定ステップで特定した共通鍵で暗号化したデータから、ハッシュ関数によってハッシュ値を演算する検証ステップと、
前記検証ステップで演算したハッシュ値が、前記端末装置から受信したデータに含まれるハッシュ値に一致する場合に、前記ソフトウェア無線通信装置自身の識別符号を含むデータを、前記複数の共通鍵とは別の第2の共通鍵で暗号化し、さらに前記共通鍵特定ステップで特定した共通鍵で暗号化した識別データを、前記端末装置に送信するダウンロード要求ステップと、
を備え、
前記端末装置は、前記ソフトウェア無線通信装置から受信した識別データを前記選択した共通鍵で復号したデータを、前記ソフトウェア無線通信装置のソフトウェアデータを格納するダウンロードサーバの公開鍵で暗号化した識別中継データを、前記ダウンロードサーバへ送信するダウンロード要求中継ステップ、を備え、
前記ダウンロードサーバは、前記端末装置から受信した識別中継データを秘密鍵で復号し、さらに前記第2の共通鍵で復号した識別符号が、予め登録された識別符号の1つに一致する場合に、前記ソフトウェア無線通信装置から要求されたソフトウェアデータと、前記ソフトウェアデータからハッシュ関数によって演算したハッシュ値と、前記識別符号と、を前記第2の共通鍵で暗号化したダウンロード元データに、前記秘密鍵で電子署名を付与したデータを、前記端末装置に送信する中継ダウンロードステップ、を備え、
前記端末装置は、前記ダウンロードサーバから受信したデータに含まれる電子署名を、前記ダウンロードサーバの公開鍵で検証して、前記ダウンロードサーバから受信したデータが正しいと判断される場合に、前記ダウンロード元データを前記選択した共通鍵で暗号化したダウンロードデータを、前記ソフトウェア無線通信装置へ送信するダウンロードステップ、を備え、
前記ソフトウェア無線通信装置は、
前記端末装置から受信した前記ダウンロードデータを、前記共通鍵特定ステップで特定した共通鍵で復号し、さらに前記第2の共通鍵で復号する復号ステップと、
前記復号ステップで復号したデータの中の識別符号と、該ソフトウェア無線通信装置の前記識別符号とが一致する場合に、前記復号したデータからハッシュ関数によってハッシュ値を演算する確認ステップと、
前記復号したデータに含まれるハッシュ値と、前記確認ステップで演算したハッシュ値とが一致する場合に、前記復号したデータに含まれるソフトウェアデータを用いて通信機能を変更する変更ステップと、
を備える、
ことを特徴とする。
本発明の第4の観点に係るソフトウェア無線通信システムは、
ソフトウェアの変更により通信機能の変更が可能なソフトウェア無線通信装置と、前記ソフトウェア無線通信装置のソフトウェアデータを格納するダウンロードサーバとを備えたソフトウェア無線通信システムであって、
前記ソフトウェア無線通信装置は、
その装置自身の識別符号と、前記ダウンロードサーバとの間でデータを暗号化して相互に通信するための複数の共通鍵とを記憶する記憶手段と、
任意に選択したデータを含む起動データを前記ダウンロードサーバに送信するダウンロード起動手段と、
前記ダウンロードサーバから受信したデータに基づいて、前記複数の共通鍵のなかから1つの共通鍵を特定する共通鍵特定手段と、
前記任意に選択したデータを前記共通鍵特定手段で特定した共通鍵で暗号化したデータから、ハッシュ関数によってハッシュ値を演算する検証手段と、
前記検証手段で演算したハッシュ値が、前記ダウンロードサーバから受信したデータに含まれるハッシュ値に一致する場合に、前記識別符号を含むデータを前記共通鍵特定手段で特定した共通鍵で暗号化した識別データを前記ダウンロードサーバに送信するダウンロード要求手段と、
前記ダウンロードサーバから受信したダウンロードデータを、前記共通鍵特定手段で特定した共通鍵で復号する復号手段と、
前記復号手段で復号したデータの中の識別符号と、前記記憶手段が記憶する前記識別符号とが一致する場合に、前記復号したデータからハッシュ関数によってハッシュ値を演算する確認手段と、
前記復号したデータに含まれるハッシュ値と、前記確認手段で演算したハッシュ値とが一致する場合に、前記復号したデータに含まれるソフトウェアデータを用いて通信機能を変更する変更手段と、
を備え、
前記ダウンロードサーバは、
前記ソフトウェア無線通信装置との間でデータを暗号化して相互に通信するための前記複数の共通鍵のなかから1つの共通鍵を選択する選択手段と、
前記ソフトウェア無線通信装置から受信した、前記ソフトウェア無線通信装置が前記任意に選択したデータを、前記選択した共通鍵で暗号化したデータからさらにハッシュ関数によって演算したハッシュ値と、前記選択手段で選択した共通鍵を特定するデータと、を前記起動データを送信した前記ソフトウェア無線通信装置に送信する共通鍵指定手段と、
前記ソフトウェア無線通信装置から受信した識別データを、前記選択した共通鍵で復号した識別符号が、予め登録された識別符号の1つに一致する場合に、前記ソフトウェア無線通信装置から要求されたソフトウェアデータと、前記ソフトウェアデータからハッシュ関数によって演算したハッシュ値と、前記識別符号と、を前記選択した共通鍵で暗号化したダウンロードデータを、前記ソフトウェア無線通信装置に送信するダウンロード手段と、
を備える、
ことを特徴とする。
本発明の第5の観点に係るソフトウェア無線通信システムは、
ソフトウェアの変更により通信機能の変更が可能なソフトウェア無線通信装置と、前記ソフトウェア無線通信装置のソフトウェアデータを格納するダウンロードサーバと、前記ソフトウェア無線通信装置と前記ダウンロードサーバとの間の通信を中継する端末装置を備えたソフトウェア無線通信システムであって、
前記ソフトウェア無線通信装置は、
その装置自身の識別符号と、前記ダウンロードサーバとの間でデータを暗号化して相互に通信するための複数の共通鍵とを記憶する記憶手段と、
任意に選択したデータを含む起動データを前記端末装置に送信するダウンロード起動手段と、
を備え、
前記端末装置は、
前記ソフトウェア無線通信装置との間でデータを暗号化して相互に通信するための前記複数の共通鍵のなかから1つの共通鍵を選択する選択手段と、
前記ソフトウェア無線通信装置から受信した、前記ソフトウェア無線通信装置が前記任意に選択したデータを、前記選択した共通鍵で暗号化したデータからさらにハッシュ関数によって演算したハッシュ値と、前記選択手段で選択した共通鍵を特定するデータと、を前記起動データを送信した前記ソフトウェア無線通信装置に送信する共通鍵指定手段と、
を備え、
前記ソフトウェア無線通信装置は、
前記端末装置から受信したデータに基づいて、前記複数の共通鍵のなかから1つの共通鍵を特定する共通鍵特定手段と、
前記任意に選択したデータを前記共通鍵特定手段で特定した共通鍵で暗号化したデータから、ハッシュ関数によってハッシュ値を演算する検証手段と、
前記検証手段で演算したハッシュ値が、前記端末装置から受信したデータに含まれるハッシュ値に一致する場合に、前記識別符号を含むデータを、前記複数の共通鍵とは別の第2の共通鍵で暗号化し、さらに前記共通鍵特定手段で特定した共通鍵で暗号化した識別データを前記端末装置に送信するダウンロード要求手段と、
を備え、
前記端末装置は、前記ソフトウェア無線通信装置から受信した識別データを前記選択した共通鍵で復号したデータを前記ダウンロードサーバの公開鍵で暗号化した識別中継データを、前記ダウンロードサーバへ送信するダウンロード要求中継手段、を備え、
前記ダウンロードサーバは、前記端末装置から受信した識別中継データを秘密鍵で復号し、さらに前記複数の共通鍵とは別の第2の共通鍵で復号した識別符号が、予め登録された識別符号の1つに一致する場合に、前記ソフトウェア無線通信装置から要求されたソフトウェアデータと、前記ソフトウェアデータからハッシュ関数によって演算したハッシュ値と、前記識別符号と、を前記第2の共通鍵で暗号化したダウンロード元データに、前記秘密鍵で電子署名を付与したデータを、前記端末装置に送信する中継ダウンロード手段、を備え、
前記端末装置は、さらに、前記ダウンロードサーバから受信したデータに含まれる電子署名を、前記ダウンロードサーバの公開鍵で検証して、前記ダウンロードサーバから受信したデータが正しいと判断される場合に、前記ダウンロード元データを前記選択した共通鍵で暗号化したダウンロードデータを、前記ソフトウェア無線通信装置へ送信するダウンロード手段、を備え、
前記ソフトウェア無線通信装置は、さらに、
前記端末装置から受信した前記ダウンロードデータを、前記共通鍵特定手段で特定した共通鍵で復号し、さらに前記第2の共通鍵で復号する復号手段と、
前記復号手段で復号したデータの中の識別符号と、該ソフトウェア無線通信装置の前記識別符号とが一致する場合に、前記復号したデータからハッシュ関数によってハッシュ値を演算する確認手段と、
前記復号したデータに含まれるハッシュ値と、前記確認手段で演算したハッシュ値とが一致する場合に、前記復号したデータに含まれるソフトウェアデータを用いて通信機能を変更する変更手段と、
を備える、
ことを特徴とする。
本発明の第6の観点に係る端末装置は、
ソフトウェアの変更により通信機能の変更が可能なソフトウェア無線通信装置と、前記ソフトウェア無線通信装置のソフトウェアデータを格納するダウンロードサーバと、の間の通信を中継する端末装置であって、
前記ソフトウェア無線通信装置からそのソフトウェアデータのダウンロードを起動する起動データを受信したときに、前記ソフトウェア無線通信装置との間でデータを暗号化して相互に通信するための複数の共通鍵のなかから1つの共通鍵を選択する選択手段と、
前記ソフトウェア無線通信装置から受信した起動データの所定の一部を前記選択した共通鍵で暗号化したデータから、さらにハッシュ関数によって演算したハッシュ値と、前記選択手段で選択した共通鍵を特定するデータと、を前記ソフトウェア無線通信装置に送信する共通鍵指定手段と、
前記ソフトウェア無線通信装置からダウンロードを要求するデータを受信したときに、前記ソフトウェア無線通信装置から受信したデータに含まれる識別データを前記選択した共通鍵で復号したデータを前記ダウンロードサーバの公開鍵で暗号化して、前記ダウンロードサーバへ送信するダウンロード要求中継手段と、
前記ダウンロードサーバからダウンロードするデータを受信したときに、前記ダウンロードサーバから受信したデータに含まれる電子署名を、前記ダウンロードサーバの公開鍵で検証して、前記ダウンロードサーバから受信したデータが正しいと判断される場合に、前記ダウンロードするデータを前記選択した共通鍵で暗号化したダウンロードデータを、前記ソフトウェア無線通信装置へ送信するダウンロード手段と、
を備えることを特徴とする。
好ましくは、前記ダウンロードサーバから、前記複数の共通鍵のうちのいずれかの使用を禁止する指令を受信した場合に、前記使用を禁止する指令の対象の共通鍵を前記複数の共通鍵のなかで前記選択する対象から除外する共通鍵除外手段を備え、
前記選択手段は、前記複数の共通鍵から前記使用を禁止する指令の対象の共通鍵を除外して、前記1つの共通鍵を選択する。
本発明のソフトウェア無線通信装置、ソフトウェア更新方法およびソフトウェア無線通信システムによれば、ダウンロードサーバの正当性の検証と、ソフトウェアの機密性および完全性の保証を、公開鍵暗号化方式よりも処理量の少ない共通鍵暗号化方式により実現可能である。
本発明の実施の形態について図面を参照して詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
(実施の形態1)
図1は、本発明の実施の形態1に係るソフトウェア無線通信システムの構成例を示すブロック図である。図1に示すソフトウェア無線通信システム10は、ソフトウェアの変更により通信機能の変更が可能なソフトウェア無線通信装置(以下、通信装置ともいう)1と、このソフトウェア無線通信装置1に対してソフトウェアの供給を行うダウンロードサーバ2とから構成されている。図1では、通信装置1を代表して1台記載している。ソフトウェア無線通信システム10には、同構成の通信装置1が複数台あり得る。
ソフトウェア無線通信装置1は、制御回路11、信号処理回路16、無線回路17、および記憶部5から構成される。制御回路11は、CPU、主記憶装置および入出力装置などから構成され、主記憶装置にロードしたプログラムを実行することにより、無線通信機能を実現するソフトウェアデータのダウンロード処理を行う。
信号処理回路16は、再構成可能なロジックを持つFPGA(Field Programmable Gate Array)やDSP(Digital Signal Processor)等で構成される。ダウンロードしたソフトウェアデータによってFPGAを設定し、または、ソフトウェアデータをDSPにロードして実行することによって、無線通信機能を実現する。ソフトウェアデータを変えて、信号処理回路16の機能を変更することができる。
無線回路17は、アンテナやRF回路、AD/DA変換器等から構成される。無線回路17から変調した電波を放射し、また、電波を捉えて復調して、通信相手との送受信を行う。図1では理解を容易にするために、ネットワークを省略しているが、例えば、無線の基地局および基地局を接続する通信網などを含むネットワークを介して、ダウンロードサーバ2と通信する。
記憶部5は、耐タンパデバイス(不正アクセスや改ざんに備えるための機能を有するデバイス)や、SDメモリカードに代表されるフラッシュメモリ等のメモリから構成される。記憶部5には、装置の識別符号(装置ID51)と、共通鍵データ52と、ソフトウェアデータ53が記憶される。装置ID51は、ソフトウェア無線通信システム10で通信装置1に固有に割り当てられたユニークな符号である。なお、装置ID51は、共通鍵データ52に含まれる複数の共通鍵のそれぞれで、予め暗号化したものを記憶しておいてもよい。
共通鍵データ52は、ダウンロードサーバ2との認証と暗号通信に用いる予め定められた複数の共通鍵と、それぞれの共通鍵を特定して指定するための番号または符号から構成される。図2は、共通鍵データ52の例を示す。共通鍵データ52は、例えば、複数の共通鍵Ka、Kb、Kc...と、それらに対応して、共通鍵を特定できる番号で構成される。
ソフトウェアデータ53は、上述の信号処理回路16の機能を設定して無線通信機能を実現するためのダウンロードしたソフトウェアデータである。ソフトウェアデータ53は、出荷直後などにおいて格納されていない場合もある。
制御回路11は、認証部12、ダウンロード処理部13、ソフトウェア検証部14およびソフトウェア実行部15を含む。それらは、制御回路11のCPU、主記憶装置および入出力装置等と、それらの上で実行されるプログラムで実現される。制御回路11は、汎用または専用の論理回路を含んで構成されてもよい。例えば、後述する暗号化および復号の処理、またはハッシュ関数によるハッシュ値の演算などが、論理回路で実現されてもよい。
認証部12は、任意のデータ、例えば乱数を発生して、その任意のデータを含む起動データをダウンロードサーバ2へ送信し、ダウンロードサーバ2から後述する認証データを受信する。認証データに含まれる鍵パラメータにより、記憶部5に記憶している共通鍵データ52の中から使用する共通鍵Aを特定する。ダウンロードサーバ2に送信した任意のデータを、特定した共通鍵Aで暗号化したものから、所定のハッシュ関数でハッシュ値を求め、認証データに含まれるハッシュ値と比較する。両者のハッシュ値が一致した場合は、認証データを送信した通信相手を正当なダウンロードサーバ2と判断する。
ダウンロード処理部13は、ダウンロードサーバ2が正当である場合に、共通鍵Aで暗号化した装置IDを含むダウンロード要求を、ダウンロードサーバ2へ送信する。ダウンロード要求には、装置IDの情報に加えて、ダウンロードするソフトウェアデータを特定する情報を含んでいてもよい。そして、ダウンロードサーバ2から要求したソフトウェアデータを含むダウンロードデータを受信する。
ソフトウェア検証部14は、ダウンロードデータを共通鍵Aで復号する。復号したデータから取り出した装置IDが、記憶部5に記憶している装置ID51と一致すれば、ダウンロードデータに含まれるソフトウェアデータを、要求したソフトウェアデータであると判断する。そして、復号したソフトウェアデータから所定のハッシュ関数でハッシュ値を求め、復号したデータに含まれるハッシュ値と比較する。両者のハッシュ値が一致した場合に、ソフトウェアデータは改ざん等されていない完全なものであると判断する。
ソフトウェア実行部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)等の不揮発性メモリから構成され、登録装置ID61、共通鍵データ62およびソフトウェアDB(データベース)63を格納する。
登録装置ID61は、ソフトウェア無線通信システム10に登録されたソフトウェア無線通信装置1の識別符号を格納する。登録装置ID61に装置IDが登録されたソフトウェア無線通信装置1は、ソフトウェア無線通信システム10でソフトウェアデータをダウンロードすることが許可される。登録装置ID61に装置IDが登録されていなければ、ソフトウェアデータのダウンロードが許可されない。
共通鍵データ62は、ソフトウェア無線通信装置1との認証と暗号通信に用いる、予め定めた複数の共通鍵と、それぞれの共通鍵を特定して指定するための番号または符号から構成される。共通鍵データ62は、ソフトウェア無線通信装置1の共通鍵データ52と同じか、または、その部分集合である。ダウンロードサーバ2の共通鍵データ62は、ソフトウェア無線通信装置1ごと、またはソフトウェア無線通信装置1の群ごとに、異なるセットであってもよい。
ソフトウェアDB63は、ソフトウェア無線通信装置1の無線通信機能を実現する1または2以上のソフトウェアデータを格納する。ソフトウェア無線通信装置1ごと、またはソフトウェア無線通信装置1の群ごとに、装置IDごとにダウンロード可能なソフトウェアの対応情報を記憶しておく。これにより、ソフトウェア無線通信装置1用のソフトウェアデータを送ることが可能となる。また、ソフトウェアデータからハッシュ関数で求めたハッシュ値を、ソフトウェアデータと一緒に記憶しておいてもよい。ソフトウェアDB63は、登録装置ID61を兼ねてもよい。ダウンロード可能なソフトウェアデータの対応情報は、各ソフトウェアに対する支払い情報が確認できるようになっていてもよい。
制御部21は、ソフトウェア無線通信装置認証部22と、ダウンロード処理部23を含む。ソフトウェア無線通信装置認証部22およびダウンロード処理部23は、制御部21のCPU、主記憶装置および入出力装置等と、それらの上で実行されるプログラムで実現される。
ソフトウェア無線通信装置認証部(以下、装置認証部ともいう)22は、ソフトウェア無線通信装置1からダウンロードを起動する起動データを受信すると、例えば乱数を発生してその乱数で任意に、ソフトウェア無線通信装置1とのダウンロード通信を暗号化する共通鍵Aを選択し、共通鍵Aに対応する鍵パラメータ(番号)を決定する。装置認証部22は、起動データに含まれる任意のデータを選択した共通鍵Aで暗号化したデータから、所定のハッシュ関数でハッシュ値を演算する。そのハッシュ値と、共通鍵Aに対応する鍵パラメータとを含む認証データを、起動データを送信したソフトウェア無線通信装置1に送信する。
ダウンロード処理部23は、ソフトウェア無線通信装置1からダウンロード要求を受信すると、ソフトウェア無線通信装置認証部22で選択した共通鍵Aで復号する。復号したダウンロード要求に含まれる装置IDが、記憶部6の登録装置ID61に記憶されている装置IDのいずれかに一致する場合、ダウンロード要求を送信したソフトウェア無線通信装置1を登録された有効な装置と判断する。次に、要求されたソフトウェア無線通信装置1がダウンロード可能なソフトウェアデータからハッシュ関数でハッシュ値を演算する。そして、ダウンロードするソフトウェアデータと、そのハッシュ値と、ダウンロード要求に含まれる装置IDとを、共通鍵Aで暗号化してダウンロードデータとしたものを、ソフトウェア無線通信装置1へ送信する。
次に、本実施の形態1に係るソフトウェア無線通信システム10の動作について説明する。図3は、実施の形態1に係るソフトウェア無線通信システム10によるソフトウェアダウンロードの動作の一例を示すフローチャートである。図3の右側のソフトウェア変更は、ソフトウェア無線通信装置1の動作を示す。左側のダウンロード処理は、ダウンロードサーバ2の動作を示す。
ソフトウェア無線通信装置1でソフトウェア変更処理を開始すると、まず、制御回路11の認証部12が任意のデータとしてランダム数を発生させ(ステップT1)、ランダム数を含む起動データをダウンロードサーバ2へ送信する(ステップT2)。
ダウンロードサーバ2の装置認証部22は、通信装置1が送信した起動データを受信すると(ステップS1)、認証データを生成する(ステップS2)。図4Aは、認証データ生成処理の動作の一例を示すフローチャートである。
装置認証部22は、複数の共通鍵の中から通信装置1とのダウンロード通信を暗号化するための、任意の一つの共通鍵(共通鍵Aとする)を選択し、共通鍵Aに対応する鍵パラメータ(番号)を決定する(ステップA1)。装置認証部22は、起動データに含まれるランダム数を、選択した共通鍵Aで暗号化する(ステップA2)。そして、暗号化したデータから、所定のハッシュ関数でハッシュ値を演算する(ステップA3)。そのハッシュ値と、共通鍵Aに対応する鍵パラメータとを認証データとする。
図3のフローチャートに戻って、装置認証部22は、認証データを通信装置1へ送信する(ステップS3)。
通信装置1は、認証データを受信すると(ステップT3)、認証処理を行う(ステップT4)。図4Bは、認証処理の動作の一例を示す。制御回路11の認証部12は、認証データに含まれる鍵パラメータに基づいて、記憶部5に記憶されているダウンロードサーバ2との複数の共通鍵の中から一つ(共通鍵Aである)を特定する(ステップB1)。通信装置1自身がステップT2でダウンロードサーバ2へ送信したランダム数を、その共通鍵Aで暗号化する(ステップB2)。暗号化したデータから、ダウンロードサーバ2と同じハッシュ関数によりハッシュ値を計算する(ステップB3)。
図3のフローチャートに戻って、認証部12は、認証処理(ステップT4)で演算したハッシュ値と、認証データに含まれているハッシュ値とを比較し(ステップT5)、異なっていれば(ステップT5;異なる)、ソフトウェアダウンロード処理を終了する。ハッシュ値が同じであれば(ステップT5;等しい)、前記ダウンロードサーバ2は正しいとみなし、ダウンロード処理部13が、装置ID51を共通鍵Aで暗号化したデータをダウンロード要求としてダウンロードサーバ2へ送信する(ステップT6)。この場合、ソフトウェア無線通信装置1がダウンロード可能なソフトウェアデータの一覧を、予めダウンロードサーバ2からソフトウェア無線通信装置1に送信しておいてもよい。ソフトウェア無線通信装置1は、その一覧の中からダウンロードしたいソフトウェアデータを特定する情報に装置ID51を加えたものを、共通鍵Aで暗号化したデータを、ダウンロード要求としてダウンロードサーバ2へ送信してもよい。
ダウンロードサーバ2は、ダウンロード要求を受信すると(ステップS4)、ダウンロード処理部23は、ダウンロード要求に含まれる暗号化された装置IDを、装置認証部22で選択した共通鍵Aで復号する(ステップS5)。復号した装置IDが記憶部6に記憶している有効な装置IDであるかを確認し(ステップS6)、装置IDがダウンロード可能なソフトウェアの対応情報に登録されていなければ(ステップS6;NO)、エラー通知データを生成する(ステップS8)。
装置IDが登録されていれば(ステップS6;YES)、ダウンロードデータを生成する(ステップS7)。図4Cは、ダウンロードデータ生成処理の動作の一例を示す。ダウンロード処理部23は、通信装置1がダウンロード可能な要求されたソフトウェアデータからハッシュ関数でハッシュ値を演算する(ステップC1)。ダウンロードするソフトウェアデータとそのハッシュ値に、ダウンロード要求に含まれる装置IDを付加する(ステップC2)。そして、共通鍵Aで暗号化してダウンロードデータとする(ステップC3)。
図3に戻って、ダウンロード処理部23は、生成されたダウンロードデータ(ステップS7)、またはエラー通知データ(ステップS8)を、通信装置1に送信する(ステップS9)。通信装置1は、データを受信すると(ステップT7)、ソフトウェアの正当性を検証する(ステップT8)。
図4Dは、ソフトウェア正当性検証の動作の一例を示す。まず、受信したデータがダウンロードデータか否かを判断する(ステップD1)。ダウンロードデータでない場合(エラー通知データの場合)(ステップD1;NO)、エラー通知を受信したことをセットして(ステップD2)リターンする。
受信したデータがダウンロードデータの場合は(ステップD1;YES)、ダウンロードデータを共通鍵Aで復号する(ステップD3)。復号結果から取り出した装置IDを記憶部5に記憶している装置ID51と比較する(ステップD4)。装置IDが一致しなければ(ステップD4;異なる)、ダウンロードデータが正当でない(非正当)ことをセットして(ステップD7)リターンする。
装置IDが一致すれば(ステップD4;等しい)、ソフトウェアデータからダウンロードサーバ2と同じハッシュ関数でハッシュ値を演算する(ステップD5)。ダウンロードデータに含まれるハッシュ値と、演算したハッシュ値が異なる場合は(ステップD6;異なる)、非正当をセットして(ステップD7)リターンする。ハッシュ値が同じであれば(ステップD6;等しい)、改ざんされていないソフトウェアとみなし、ダウンロードデータが正当であることをセットして(ステップD8)リターンする。
図3に戻って、ソフトウェア正当性検証の結果が正当ならば(ステップT9;YES)、復号したソフトウェアデータを記憶部5のソフトウェアデータ53に格納する。そして、ソフトウェア実行部15がソフトウェアデータを実行し、信号処理回路16を設定して通信方式を変更する(ステップT10)。ソフトウェア正当性検証の結果が正当以外の場合(ステップT9;NO)、ソフトウェアデータを実行することなく終了する。
以上のように、本実施の形態1によれば、ソフトウェア無線通信装置1とダウンロードサーバ2の双方で複数の共通鍵を保持し、ダウンロードごとに共通鍵をランダムに選択して、その番号のみを通知して共通鍵を使用するので、共通鍵の流出する可能性が小さくなる。そして、共通の知識を保持していなければ、ダウンロードサーバ2とソフトウェア無線通信装置1いずれにもなりすましができないし、通信相手の正当性を確認できない。
たとえ共通鍵の1つが流出した場合でも、ダウンロードサーバ2で流出した共通鍵を使用禁止にすれば、ソフトウェアデータが盗聴または改ざんされることを防止できる。ソフトウェア無線通信システム10では、共通鍵を用いて暗号化および復号するので、ソフトウェア無線通信装置1において、ダウンロードサーバ2の正当性の検証と、ソフトウェアの機密性、完全性の保証を、公開鍵暗号方式よりも少ない処理量で安全に実現することができる。
また、本実施の形態1によれば、ソフトウェア無線通信装置1では処理量の少ない共通鍵暗号方式しか用いなくとも、ダウンロードサーバ2の正当性が検証でき、且つ、ソフトウェアの機密性・完全性を保証でき、ソフトウェア無線通信装置1におけるソフトウェア検証処理量を削減できるため、処理能力の低いソフトウェア無線通信装置1であっても、高速にソフトウェアを切り替える事が可能であり、すなわち通信方式の切り替えを高速に行うことができる。
これにより、ソフトウェア無線通信装置1は、正当性を確認したダウンロードサーバ2が発信した、ソフトウェア無線通信装置1向けの完全性を確認したソフトウェアを、機密性を保持してダウンロードできる。そして、公開鍵暗号方式よりも処理量の少ない共通鍵暗号化方式によって行うことができ、ソフトウェア無線通信装置1の処理量を削減することができる。
(実施の形態2)
次に、ソフトウェア無線通信装置の処理量は少ないが、公開鍵暗号方式を用いてより安全性を高め、ダウンロードサーバの正当性を検証したい場合のシステムの一例を説明する。
図5は、本発明の実施の形態2に係るソフトウェア無線通信システムの構成例を示すブロック図である。図5に示すソフトウェア無線通信システム20は、ソフトウェア無線通信装置1とダウンロードサーバ3との間に、ダウンロード通信を中継する端末装置4を備える。図5では、ソフトウェア無線通信装置1と端末装置4を代表してそれぞれ1台ずつ記載している。ソフトウェア無線通信システム20において、同構成のソフトウェア無線通信装置1と端末装置4が複数台あり得る。図5において、図1と同等の部分には同じ番号を付与している。
ソフトウェア無線通信装置1は、実施の形態1のソフトウェア無線通信装置1の構成に加えて、ローカル通信部18を備える。ローカル通信部18は、シリアル通信やUSB(Universal Serial Bus)、LAN(Local Area Network)、または無線LAN等の通信インタフェースを備えて、それらのネットワークを経由して端末装置4と通信する。認証部12およびダウンロード処理部13における通信は、ローカル通信部18を介して端末装置4と行う。
記憶部5は、装置ID51、共通鍵データ52、ソフトウェアデータ53に加えて、ダウンロードサーバ3との認証と暗号通信に用いる共通鍵であるサーバ共通鍵54を記憶している。共通鍵データ52は実施の形態1と同様の構成であるが、複数の共通鍵は、端末装置4と通信するデータの暗号化と復号に用いる。装置ID51は予めサーバ共通鍵54で暗号化したものを記憶しておいてもよい。
実施の形態2では、認証部12は実施の形態1と同様の処理を行うが、端末装置4と通信して、端末装置4の認証と共通鍵(共通鍵Bとする)の特定を行う。
ダウンロード処理部13は、サーバ共通鍵54で暗号化した装置IDを、認証部12で実施の形態1と同様の方法で特定した端末装置4との共通鍵Bでさらに暗号化したデータを、ダウンロード要求としてローカル通信部18を介して端末装置4へ送信する。そして、端末装置4からダウンロードデータを受信する。
ソフトウェア検証部14は、ダウンロードデータを共通鍵Bで復号した後、サーバ共通鍵54で復号する。復号したデータから取り出した装置IDが、記憶部5に記憶している装置ID51と一致すれば、ダウンロードデータに含まれるソフトウェアデータを、要求したソフトウェアデータであると判断する。そして、復号したソフトウェアデータから所定のハッシュ関数でハッシュ値を求め、復号したデータに含まれるハッシュ値と比較する。両者のハッシュ値が一致した場合に、ソフトウェアデータは改ざん等されていない完全なものであると判断する。ソフトウェア実行部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が通信データに付けた署名を、公開鍵81で復号して、ダウンロードサーバ3の正当性を確認する。
共通鍵データ82は、ソフトウェア無線通信装置1との認証と暗号通信に用いる、予め定めた複数の共通鍵と、それぞれの共通鍵を特定して指定するための番号または符号から構成される。共通鍵データ82は、実施の形態1のダウンロードサーバ2が記憶する共通鍵データ62と同様のものである。
ローカル通信部45は、シリアル通信やUSB(Universal Serial Bus)、LAN(Local Area Network)、または無線LAN等の通信インタフェースを備えて、それらのネットワークを経由してソフトウェア無線通信装置1と通信する。ローカル通信部45は通信部44を兼ねていてもよい。
制御部41は、ソフトウェア無線通信装置認証部42と、ダウンロード中継処理部43を含む。ソフトウェア無線通信装置認証部42およびダウンロード中継処理部43は、制御部41のCPU、主記憶装置および入出力装置等と、それらの上で実行されるプログラムで実現される。
ソフトウェア無線通信装置認証部(以下、装置認証部ともいう)42は、ソフトウェア無線通信装置1からダウンロードを起動する起動データを受信すると、例えば乱数を発生してその乱数で任意に、ソフトウェア無線通信装置1とのダウンロード通信を暗号化する共通鍵Bを選択し、共通鍵Bに対応する鍵パラメータ(番号)を決定する。装置認証部42は、起動データに含まれる任意のデータを選択した共通鍵Bで暗号化したデータから、所定のハッシュ関数でハッシュ値を演算する。そのハッシュ値と、共通鍵Bに対応する鍵パラメータとを含む認証データを、ダウンロード起動信号を送信したソフトウェア無線通信装置1に送信する。
ダウンロード中継処理部(以下、中継処理部ともいう)43は、ソフトウェア無線通信装置1からダウンロード要求を受信すると、ソフトウェア無線通信装置認証部42で選択した共通鍵Bで復号する。復号したデータを、記憶部8の公開鍵81で暗号化した識別中継データを、通信部44を介してダウンロードサーバ3へ送信する。
中継処理部43は、ダウンロードサーバ3から受信したデータに含まれる電子署名を、記憶部8の公開鍵81で検証する。そして、ダウンロードサーバ3から受信したデータが正しいと判断される場合に、ダウンロード元データを選択した共通鍵Bで暗号化したダウンロードデータを、ローカル通信部45を介してソフトウェア無線通信装置1へ送信する。
ダウンロードサーバ3は、制御部31と、通信部34と、記憶部7とから構成される。制御部31は、CPU、主記憶装置および入出力装置などから構成され、主記憶装置にロードしたプログラムを実行することにより、ソフトウェア無線通信装置1にソフトウェアデータをダウンロードするための処理を行う。通信部34は、インターネットまたは専用線網などのネットワークを介して、端末装置4の通信部44と通信し、データの送受信を行う。
記憶部7は、フラッシュメモリ、ハードディスク、DVD−RAM(Digital Versatile Disc Random-Access Memory)、DVD−RW(Digital Versatile Disc ReWritable)等の不揮発性メモリから構成され、登録装置ID71、秘密鍵72、サーバ共通鍵73およびソフトウェアDB(データベース)74を格納する。
登録装置ID71は、ソフトウェア無線通信システム20に登録されたソフトウェア無線通信装置1の識別符号を格納する。登録装置ID71に装置IDが登録されたソフトウェア無線通信装置1は、ソフトウェア無線通信システム20でソフトウェアデータをダウンロードすることが許可される。登録装置ID71に装置IDが登録されていなければ、ソフトウェアデータのダウンロードが許可されない。
秘密鍵72は、端末装置4から受信したデータを復号するのに用いる。また、ダウンロード元データに電子署名を付与するのに秘密鍵72を用いる。サーバ共通鍵73は、ソフトウェア無線通信装置1との認証と暗号通信に用いる。
ソフトウェアDB74は、実施の形態1と同様であって、ソフトウェア無線通信装置1の無線通信機能を実現する1または2以上のソフトウェアデータを格納する。ソフトウェア無線通信装置1ごと、またはソフトウェア無線通信装置1の群ごとに、装置IDごとにダウンロード可能なソフトウェアの対応情報を記憶しておく。これにより、ソフトウェア無線通信装置1用のソフトウェアデータを送ることが可能となる。また、ソフトウェアデータからハッシュ関数で求めたハッシュ値を、ソフトウェアデータと一緒に記憶してもよい。ソフトウェアDB74は、登録装置ID71を兼ねてもよい。なお、ダウンロード可能なソフトウェアデータの対応情報は、各ソフトウェアに対する支払い情報が確認できるようになっていてもよい。
制御部31は、ソフトウェア無線通信装置認証部32と、ダウンロード処理部33を含む。ソフトウェア無線通信装置認証部32およびダウンロード処理部33は、制御部31のCPU、主記憶装置および入出力装置等と、それらの上で実行されるプログラムで実現される。
ソフトウェア無線通信装置認証部(以下、装置認証部ともいう)32は、端末装置4から受信した識別中継データを秘密鍵72で復号し、さらにサーバ共通鍵73で復号する。復号した装置IDが、登録されている場合、例えば、予め登録された装置IDの1つに一致する場合に、ソフトウェア無線通信装置1から要求されたソフトウェアデータのダウンロード処理を行う。
ダウンロード処理部33は、ソフトウェア無線通信装置1が登録されている場合、ソフトウェアDB74からダウンロードするソフトウェアデータを読み出して、所定のハッシュ関数によってハッシュ値を演算する。そして、ソフトウェアデータと、演算したハッシュ値と、装置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と同様である。通信装置1は、ダウンロードサーバ2への代わりに、端末装置4に起動データを送信し、端末装置4から認証データを受信する。端末装置4の起動データ受信(ステップR1)から認証データ送信(ステップR3)は、実施の形態1のダウンロードサーバ2のステップS1〜S3の動作と同じである。ここでは、通信装置1と端末装置4とで選択した共通鍵を共通鍵Bとして説明する。
通信装置1の認証部12は、認証処理(ステップT4)で演算したハッシュ値と、認証データに含まれているハッシュ値とを比較し(ステップT5)、異なっていれば(ステップT5;異なる)、ソフトウェアダウンロード処理を終了する。ハッシュ値が同じであれば(ステップT5;等しい)、端末装置4は正しいとみなし、ダウンロード処理部13が、装置ID51をサーバ共通鍵54で暗号化し、さらに共通鍵Bで暗号化したデータをダウンロード要求として端末装置4へ送信する(ステップT6a)。
端末装置4は、ダウンロード要求を受信するとダウンロード要求中継処理を行う(ステップR4)。図8Aは、ダウンロード要求中継処理の動作の一例を示す。端末装置4のダウンロード中継処理部43は、ダウンロード要求を受信すると(ステップA11)、選択した共通鍵Bで復号する(ステップA12)。復号したデータ(装置IDがサーバ共通鍵54で暗号化されたもの)と、復号データからダウンロードサーバ3と同じハッシュ関数で演算したハッシュ値を、記憶部8の公開鍵81で暗号化して識別中継データを生成する(ステップA14)。そして、識別中継データをダウンロードサーバ3へ送信する(ステップA15)。この場合、ソフトウェア無線通信装置1がダウンロード可能なソフトウェアデータの一覧を、予めダウンロードサーバ3から端末装置4へ送信しておいてもよい。端末装置4はその一覧の中からダウンロードしたいソフトウェアデータを特定する情報を、復元したデータ(装置IDがサーバ共通鍵54で暗号化されたもの)に加えて、それをダウンロードサーバ3と同じハッシュ関数で求めたハッシュ値をさらに追加し、共通鍵Bで暗号化したデータを中継識別データとしてダウンロードサーバ3へ送信してもよい。
図6のステップR4から、図7に移る。ダウンロードサーバ3のソフトウェア無線通信装置認証部(以下、装置認証部という)32は、ダウンロード要求として中継識別データを受信すると(ステップS11)、受信したデータを秘密鍵72で復号する(ステップS12)。復号したデータに含まれる(サーバ共通鍵54で暗号化された)装置IDから、端末装置4と同じハッシュ関数でハッシュ値を演算する(ステップS13)。
演算したハッシュ値と、復号したデータに含まれるハッシュ値が異なる場合は(ステップS14;異なる)、不正なデータと判断して、エラー通知データを生成する(ステップS18)。両者のハッシュ値が等しい場合は(ステップS14;等しい)、装置IDをサーバ共通鍵73で復号する(ステップS15)。復号した装置IDが記憶部7に記憶している有効な装置IDであるかを確認し(ステップS16)、装置IDがダウンロード可能なソフトウェアの対応情報に登録されていなければ(ステップS16;NO)、エラー通知データを生成する(ステップS18)。
装置IDが登録されていれば(ステップS16;YES)、ダウンロード処理部33は、通信装置1がダウンロード可能な要求されたソフトウェアデータから、ソフトウェア無線通信装置1と同じハッシュ関数でハッシュ値を演算する(ステップS17)。ダウンロードするソフトウェアデータとそのハッシュ値に、ダウンロード要求に含まれる装置IDを付加する(ステップS19)。そして、サーバ共通鍵73で暗号化する(ステップS20)。さらに、秘密鍵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)、ダウンロード元データを選択した共通鍵Bで暗号化してダウンロードデータを生成する(ステップB13)。電子署名を検証した結果、ダウンロードサーバ3が正当でないと判断された場合は(ステップB12;NG)、エラー通知データを生成する(ステップB14)。
図6に戻って、ダウンロード中継処理部43は、生成したダウンロードデータ(ステップB13)、またはエラー通知データ(ステップR8またはステップB14)を、ソフトウェア無線通信装置1へ送信する(ステップR9)。
通信装置1は、端末装置4からデータを受信すると(ステップT7a)、ソフトウェアの正当性を検証する(ステップT8a)。
図8Cは、ソフトウェア正当性検証の動作の一例を示す。まず、受信したデータがダウンロードデータか否かを判断する(ステップC11)。ダウンロードデータでない場合(エラー通知データの場合)(ステップC11;NO)、エラー通知を受信したことをセットして(ステップC12)リターンする。
受信したデータがダウンロードデータの場合は(ステップC11;YES)、ダウンロードデータを共通鍵Bで復号し(ステップC13)、さらにサーバ共通鍵54で復号する(ステップC14)。復号結果から取り出した装置IDを記憶部5に記憶している装置ID51と比較する(ステップC15)。装置IDが一致しなければ(ステップC15;異なる)、ダウンロードデータが正当でない(非正当)ことをセットして(ステップC18)リターンする。
装置IDが一致すれば(ステップC15;等しい)、ソフトウェアデータからダウンロードサーバ3と同じハッシュ関数でハッシュ値を演算する(ステップC16)。ダウンロードデータに含まれるハッシュ値と、演算したハッシュ値が異なる場合は(ステップC17;異なる)、非正当をセットして(ステップC18)リターンする。ハッシュ値が同じであれば(ステップC17;等しい)、改ざんされていないソフトウェアとみなし、ダウンロードデータが正当であることをセットして(ステップC19)リターンする。
図6に戻って、ソフトウェア正当性検証の結果が正当ならば(ステップT9;YES)、復号したソフトウェアデータを記憶部5のソフトウェアデータに格納する。そして、ソフトウェア実行部15がソフトウェアデータを実行し、信号処理回路16を設定して通信方式を変更する(ステップT10)。ソフトウェア正当性検証の結果が正当以外の場合(ステップT9;NO)、ソフトウェアデータを実行することなく終了する。
以上のように、本実施の形態2によれば、共通鍵の流出を困難にした本認証方式により、正当性を確認した端末装置4が、ソフトウェア無線通信装置1に代わって、公開鍵暗号方式を用いてダウンロードサーバ3の正当性を確認するため、オープンなネットワークで接続される部分はセキュリティ強度の高い公開鍵暗号方式によって正当性を検証しながら、ソフトウェア無線通信装置1では共通鍵暗号方式を用いて、処理量を抑えることができる。
(実施の形態2の変形例)
複数の共通鍵のうち、ある共通鍵の流出が判明した場合の処置について説明する。この変形例では、ダウンロードサーバ3から端末装置4へ、ある共通鍵の使用を禁止する指令を送信する。
図9は、端末装置4の共通鍵データ82の例を示す。端末装置4の共通鍵データ82に、共通鍵ごとに使用許可/禁止を示すデータを付与する。例えば、図9の右欄の×印はその行の共通鍵が使用禁止であることを表す。
図10は、共通鍵使用禁止処理の動作の一例を示す。ダウンロードサーバ3からデータを受信すると(ステップR11)、ソフトウェア無線通信装置認証部42は、そのデータが共通鍵使用禁止情報か否かを判断する(ステップR12)。使用禁止情報の場合は(ステップR12;YES)、その情報で指定された共通鍵を使用禁止に設定する。使用禁止情報でなければ(ステップR12;NO)、ここでは、何もしない。
ダウンロード中継処理の、認証データ生成処理では、共通鍵データ82のうち、使用禁止でない共通鍵から選択する。これにより、ある共通鍵が流出した場合でも、正しいソフトウェアを安全にダウンロードすることができる。
本発明による第1の効果は、ソフトウェア無線通信装置1において、ダウンロードサーバ3の正当性の検証と、ソフトウェアの機密性、完全性の保証を、公開鍵暗号化方式よりも処理量の少ない共通鍵暗号化方式を用いながら安全に実現可能である。
その理由は、ソフトウェア無線通信装置1とダウンロードサーバ3の双方で、複数の共通鍵を保持し、ダウンロードごとにランダムに使用することで、共通の知識を保持していなければ処理できないようにし、共通鍵の流出を困難にしているからである。また、たとえ鍵が流出した場合でも、使用禁止にできるからである。
本発明による第2の効果は、オープンなネットワークで接続される部分はセキュリティ強度の高い公開鍵暗号方式により正当性を検証しながらも、ソフトウェア無線通信装置1では共通鍵暗号方式を用いて、処理量を抑えることができる。
その理由は、上述の複数の共通鍵をランダムに用いる認証方式により、正当性を確認した端末装置4が、ソフトウェア無線通信装置1に代わって、公開鍵暗号方式を用いてダウンロードサーバ3の正当性を確認するからである。
本発明による第3の効果は、ソフトウェア無線通信装置1における、ソフトウェア検証処理量を削減できるため、低能力のソフトウェア無線通信装置1であっても、高速にソフトウェアを切り替える事が可能であり、すなわち通信方式の切り替えを高速に行うことができる。
その理由は、ソフトウェア無線通信装置1では処理量の少ない共通鍵暗号方式しか用いなくとも、ダウンロードサーバ3の正当性が検証でき、且つ、ソフトウェアの完全性・機密性を保証できるシステムであるからである。
その他、前記のハードウエア構成やフローチャートは一例であり、任意に変更及び修正が可能である。
制御回路11、制御部21、31、41、記憶部5、6、7、8、ローカル通信部18、45、通信部34、44などから構成されるダウンロード処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読みとり可能な記録媒体(フレキシブルディスク、CD−ROM、DVD−ROM等)に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行するソフトウェア無線通信装置1、ダウンロードサーバ2、3、および端末装置4を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することでソフトウェア無線通信装置1、ダウンロードサーバ2、3、および端末装置4を構成してもよい。
また、ソフトウェア無線通信装置1、ダウンロードサーバ2、3、および端末装置4の機能を、OS(オペレーティングシステム)とアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
[産業上の利用可能性]
本発明は、ソフトウェアの変更により通信方式の変更が可能なソフトウェア無線通信装置に有用であり、ソフトウェアを正しくダウンロードする際に適用可能である。
本発明の実施の形態1に係るソフトウェア無線通信システムの構成例を示すブロック図である。 共通鍵データの例を示す図である。 本発明の実施の形態1に係るソフトウェア無線通信システムの動作一例を示すフローチャートである。 認証データ生成処理の動作の一例を示すフローチャートである。 認証処理の動作の一例を示すフローチャートである。 ダウンロードデータ生成処理の動作の一例を示すフローチャートである。 ソフトウェア正当性検証の動作の一例を示すフローチャートである。 本発明の実施の形態2に係るソフトウェア無線通信システムの構成例を示すブロック図である。 本発明の実施の形態2に係るソフトウェア無線通信装置および端末装置の動作の一例を示すフローチャートである。 本発明の実施の形態2に係るダウンロードサーバの動作の一例を示すフローチャートである。 ダウンロード要求中継処理の動作の一例を示すフローチャートである。 ダウンロードデータ生成処理の動作の一例を示すフローチャートである。 ソフトウェア正当性検証の動作の一例を示すフローチャートである。 端末装置の共通鍵データの例を示す図である。 共通鍵使用禁止処理の動作の一例を示すフローチャートである。
符号の説明
1 ソフトウェア無線通信装置
2 ダウンロードサーバ
3 ダウンロードサーバ
4 端末装置
5 記憶部
6 記憶部(ダウンロードサーバ)
7 記憶部(ダウンロードサーバ)
8 記憶部(端末装置)
12 認証部
13 ダウンロード処理部
14 ソフトウェア検証部
15 ソフトウェア実行部
16 信号処理回路
17 無線回路
18 ローカル通信部
22 ソフトウェア無線通信装置認証部
23 ダウンロード処理部
24 通信部
32 ソフトウェア無線通信装置認証部
33 ダウンロード処理部
34 通信部
42 ソフトウェア無線通信装置認証部
43 ダウンロード中継処理部
44 通信部
45 ローカル通信部
51 装置ID
52 共通鍵データ
53 ソフトウェアデータ
54 サーバ共通鍵
61 登録装置ID
62 共通鍵データ
63 ソフトウェアDB
71 登録装置ID
72 秘密鍵
73 サーバ共通鍵(ダウンロードサーバ)
74 ソフトウェアDB
81 公開鍵
82 共通鍵データ

Claims (8)

  1. 装置自身の識別符号と、通信相手との間でデータを暗号化して相互に通信するための複数の共通鍵とを記憶する記憶手段と、
    任意に選択したデータを前記通信相手に送信するダウンロード起動手段と、
    前記通信相手から受信したデータに基づいて、前記複数の共通鍵のなかから1つの共通鍵を特定する共通鍵特定手段と、
    前記任意に選択したデータを前記共通鍵特定手段で特定した共通鍵で暗号化したデータから、ハッシュ関数によってハッシュ値を演算する検証手段と、
    前記検証手段で演算したハッシュ値が、前記通信相手から受信したデータに含まれるハッシュ値に一致する場合に、前記識別符号を含むデータを前記共通鍵特定手段で特定した共通鍵で暗号化して前記通信相手に送信するダウンロード要求手段と、
    前記通信相手から受信したダウンロードデータを、前記共通鍵特定手段で特定した共通鍵で復号する復号手段と、
    前記復号手段で復号したデータの中の識別符号と、前記記憶手段が記憶する前記識別符号とが一致する場合に、前記復号したデータからハッシュ関数によってハッシュ値を演算する確認手段と、
    前記復号したデータに含まれるハッシュ値と、前記確認手段で演算したハッシュ値とが一致する場合に、前記復号したデータに含まれるソフトウェアデータを用いて通信機能を変更する変更手段と、
    を備えることを特徴とするソフトウェア無線通信装置。
  2. 前記記憶手段は、前記複数の共通鍵とは別に第2の共通鍵を記憶し、
    前記ダウンロード要求手段は、前記識別符号を含むデータを前記第2の共通鍵で暗号化したのちに、前記共通鍵特定手段で特定した共通鍵で暗号化して前記通信相手に送信し、
    前記復号手段は、前記ダウンロードデータを、前記共通鍵特定手段で特定した共通鍵で復号したのちに、前記第2の共通鍵でさらに復号する、
    ことを特徴とする請求項1に記載のソフトウェア無線通信装置。
  3. ソフトウェア無線通信装置が、任意に選択したデータを含む起動データをダウンロードサーバに送信するダウンロード起動ステップを備え、
    前記起動データを受信した前記ダウンロードサーバは、
    データを暗号化して相互に通信するための複数の共通鍵のなかから1つの共通鍵を選択する選択ステップと、
    前記ソフトウェア無線通信装置から受信した前記起動データに含まれる前記任意に選択したデータを、前記選択した共通鍵で暗号化したデータからさらにハッシュ関数によって演算したハッシュ値と、前記選択ステップで選択した共通鍵を特定するデータと、を前記起動データを送信した前記ソフトウェア無線通信装置に送信する共通鍵指定ステップと、
    を備え、
    前記ソフトウェア無線通信装置は、
    前記ダウンロードサーバから受信したデータに基づいて、前記複数の共通鍵のなかから1つの共通鍵を特定する共通鍵特定ステップと、
    前記任意に選択したデータを前記共通鍵特定ステップで特定した共通鍵で暗号化したデータから、ハッシュ関数によってハッシュ値を演算する認証ステップと、
    前記認証ステップで演算したハッシュ値が、前記ダウンロードサーバから受信したデータに含まれるハッシュ値に一致する場合に、前記ソフトウェア無線通信装置自身の識別符号を含むデータを前記共通鍵特定ステップで特定した共通鍵で暗号化した識別データを、前記ダウンロードサーバに送信するダウンロード要求ステップと、
    を備え、
    前記ダウンロードサーバは、前記ソフトウェア無線通信装置から受信した識別データを、前記選択した共通鍵で復号した識別符号が、予め登録された識別符号の1つに一致する場合に、前記ソフトウェア無線通信装置から要求されたソフトウェアデータと、前記ソフトウェアデータからハッシュ関数によって演算したハッシュ値と、前記識別符号と、を前記選択した共通鍵で暗号化したダウンロードデータを、前記ソフトウェア無線通信装置に送信するダウンロードステップ、を備え、
    前記ソフトウェア無線通信装置は、
    前記ダウンロードサーバから受信した前記ダウンロードデータを、前記共通鍵特定ステップで特定した共通鍵で復号する復号ステップと、
    前記復号ステップで復号したデータの中の識別符号と、該ソフトウェア無線通信装置の前記識別符号とが一致する場合に、前記復号したデータからハッシュ関数によってハッシュ値を演算する確認ステップと、
    前記復号したデータに含まれるハッシュ値と、前記確認ステップで演算したハッシュ値とが一致する場合に、前記復号したデータに含まれるソフトウェアデータを用いて通信機能を変更する変更ステップと、
    を備えることを特徴とするソフトウェア無線通信装置のソフトウェア更新方法。
  4. ソフトウェア無線通信装置が、任意に選択したデータを含む起動データを端末装置に送信するダウンロード起動ステップを備え、
    前記起動データを受信した前記端末装置は、
    データを暗号化して相互に通信するための複数の共通鍵のなかから1つの共通鍵を選択する選択ステップと、
    前記ソフトウェア無線通信装置から受信した前記起動データに含まれる前記任意に選択したデータを、前記選択した共通鍵で暗号化したデータからさらにハッシュ関数によって演算したハッシュ値と、前記選択ステップで選択した共通鍵を特定するデータと、を前記起動データを送信した前記ソフトウェア無線通信装置に送信する共通鍵指定ステップと、
    を備え、
    前記ソフトウェア無線通信装置は、
    前記端末装置から受信したデータに基づいて、前記複数の共通鍵のなかから1つの共通鍵を特定する共通鍵特定ステップと、
    前記任意に選択したデータを前記共通鍵特定ステップで特定した共通鍵で暗号化したデータから、ハッシュ関数によってハッシュ値を演算する検証ステップと、
    前記検証ステップで演算したハッシュ値が、前記端末装置から受信したデータに含まれるハッシュ値に一致する場合に、前記ソフトウェア無線通信装置自身の識別符号を含むデータを、前記複数の共通鍵とは別の第2の共通鍵で暗号化し、さらに前記共通鍵特定ステップで特定した共通鍵で暗号化した識別データを、前記端末装置に送信するダウンロード要求ステップと、
    を備え、
    前記端末装置は、前記ソフトウェア無線通信装置から受信した識別データを前記選択した共通鍵で復号したデータを、前記ソフトウェア無線通信装置のソフトウェアデータを格納するダウンロードサーバの公開鍵で暗号化した識別中継データを、前記ダウンロードサーバへ送信するダウンロード要求中継ステップ、を備え、
    前記ダウンロードサーバは、前記端末装置から受信した識別中継データを秘密鍵で復号し、さらに前記第2の共通鍵で復号した識別符号が、予め登録された識別符号の1つに一致する場合に、前記ソフトウェア無線通信装置から要求されたソフトウェアデータと、前記ソフトウェアデータからハッシュ関数によって演算したハッシュ値と、前記識別符号と、を前記第2の共通鍵で暗号化したダウンロード元データに、前記秘密鍵で電子署名を付与したデータを、前記端末装置に送信する中継ダウンロードステップ、を備え、
    前記端末装置は、前記ダウンロードサーバから受信したデータに含まれる電子署名を、前記ダウンロードサーバの公開鍵で検証して、前記ダウンロードサーバから受信したデータが正しいと判断される場合に、前記ダウンロード元データを前記選択した共通鍵で暗号化したダウンロードデータを、前記ソフトウェア無線通信装置へ送信するダウンロードステップ、を備え、
    前記ソフトウェア無線通信装置は、
    前記端末装置から受信した前記ダウンロードデータを、前記共通鍵特定ステップで特定した共通鍵で復号し、さらに前記第2の共通鍵で復号する復号ステップと、
    前記復号ステップで復号したデータの中の識別符号と、該ソフトウェア無線通信装置の前記識別符号とが一致する場合に、前記復号したデータからハッシュ関数によってハッシュ値を演算する確認ステップと、
    前記復号したデータに含まれるハッシュ値と、前記確認ステップで演算したハッシュ値とが一致する場合に、前記復号したデータに含まれるソフトウェアデータを用いて通信機能を変更する変更ステップと、
    を備える、
    ことを特徴とするソフトウェア無線通信装置のソフトウェア更新方法。
  5. ソフトウェアの変更により通信機能の変更が可能なソフトウェア無線通信装置と、前記ソフトウェア無線通信装置のソフトウェアデータを格納するダウンロードサーバとを備えたソフトウェア無線通信システムであって、
    前記ソフトウェア無線通信装置は、
    その装置自身の識別符号と、前記ダウンロードサーバとの間でデータを暗号化して相互に通信するための複数の共通鍵とを記憶する記憶手段と、
    任意に選択したデータを含む起動データを前記ダウンロードサーバに送信するダウンロード起動手段と、
    前記ダウンロードサーバから受信したデータに基づいて、前記複数の共通鍵のなかから1つの共通鍵を特定する共通鍵特定手段と、
    前記任意に選択したデータを前記共通鍵特定手段で特定した共通鍵で暗号化したデータから、ハッシュ関数によってハッシュ値を演算する検証手段と、
    前記検証手段で演算したハッシュ値が、前記ダウンロードサーバから受信したデータに含まれるハッシュ値に一致する場合に、前記識別符号を含むデータを前記共通鍵特定手段で特定した共通鍵で暗号化した識別データを前記ダウンロードサーバに送信するダウンロード要求手段と、
    前記ダウンロードサーバから受信したダウンロードデータを、前記共通鍵特定手段で特定した共通鍵で復号する復号手段と、
    前記復号手段で復号したデータの中の識別符号と、前記記憶手段が記憶する前記識別符号とが一致する場合に、前記復号したデータからハッシュ関数によってハッシュ値を演算する確認手段と、
    前記復号したデータに含まれるハッシュ値と、前記確認手段で演算したハッシュ値とが一致する場合に、前記復号したデータに含まれるソフトウェアデータを用いて通信機能を変更する変更手段と、
    を備え、
    前記ダウンロードサーバは、
    前記ソフトウェア無線通信装置との間でデータを暗号化して相互に通信するための前記複数の共通鍵のなかから1つの共通鍵を選択する選択手段と、
    前記ソフトウェア無線通信装置から受信した、前記ソフトウェア無線通信装置が前記任意に選択したデータを、前記選択した共通鍵で暗号化したデータからさらにハッシュ関数によって演算したハッシュ値と、前記選択手段で選択した共通鍵を特定するデータと、を前記起動データを送信した前記ソフトウェア無線通信装置に送信する共通鍵指定手段と、
    前記ソフトウェア無線通信装置から受信した識別データを、前記選択した共通鍵で復号した識別符号が、予め登録された識別符号の1つに一致する場合に、前記ソフトウェア無線通信装置から要求されたソフトウェアデータと、前記ソフトウェアデータからハッシュ関数によって演算したハッシュ値と、前記識別符号と、を前記選択した共通鍵で暗号化したダウンロードデータを、前記ソフトウェア無線通信装置に送信するダウンロード手段と、
    を備える、
    ことを特徴とするソフトウェア無線通信システム。
  6. ソフトウェアの変更により通信機能の変更が可能なソフトウェア無線通信装置と、前記ソフトウェア無線通信装置のソフトウェアデータを格納するダウンロードサーバと、前記ソフトウェア無線通信装置と前記ダウンロードサーバとの間の通信を中継する端末装置を備えたソフトウェア無線通信システムであって、
    前記ソフトウェア無線通信装置は、
    その装置自身の識別符号と、前記ダウンロードサーバとの間でデータを暗号化して相互に通信するための複数の共通鍵とを記憶する記憶手段と、
    任意に選択したデータを含む起動データを前記端末装置に送信するダウンロード起動手段と、
    を備え、
    前記端末装置は、
    前記ソフトウェア無線通信装置との間でデータを暗号化して相互に通信するための前記複数の共通鍵のなかから1つの共通鍵を選択する選択手段と、
    前記ソフトウェア無線通信装置から受信した、前記ソフトウェア無線通信装置が前記任意に選択したデータを、前記選択した共通鍵で暗号化したデータからさらにハッシュ関数によって演算したハッシュ値と、前記選択手段で選択した共通鍵を特定するデータと、を前記起動データを送信した前記ソフトウェア無線通信装置に送信する共通鍵指定手段と、
    を備え、
    前記ソフトウェア無線通信装置は、
    前記端末装置から受信したデータに基づいて、前記複数の共通鍵のなかから1つの共通鍵を特定する共通鍵特定手段と、
    前記任意に選択したデータを前記共通鍵特定手段で特定した共通鍵で暗号化したデータから、ハッシュ関数によってハッシュ値を演算する検証手段と、
    前記検証手段で演算したハッシュ値が、前記端末装置から受信したデータに含まれるハッシュ値に一致する場合に、前記識別符号を含むデータを、前記複数の共通鍵とは別の第2の共通鍵で暗号化し、さらに前記共通鍵特定手段で特定した共通鍵で暗号化した識別データを前記端末装置に送信するダウンロード要求手段と、
    を備え、
    前記端末装置は、前記ソフトウェア無線通信装置から受信した識別データを前記選択した共通鍵で復号したデータを前記ダウンロードサーバの公開鍵で暗号化した識別中継データを、前記ダウンロードサーバへ送信するダウンロード要求中継手段、を備え、
    前記ダウンロードサーバは、前記端末装置から受信した識別中継データを秘密鍵で復号し、さらに前記複数の共通鍵とは別の第2の共通鍵で復号した識別符号が、予め登録された識別符号の1つに一致する場合に、前記ソフトウェア無線通信装置から要求されたソフトウェアデータと、前記ソフトウェアデータからハッシュ関数によって演算したハッシュ値と、前記識別符号と、を前記第2の共通鍵で暗号化したダウンロード元データに、前記秘密鍵で電子署名を付与したデータを、前記端末装置に送信する中継ダウンロード手段、を備え、
    前記端末装置は、さらに、前記ダウンロードサーバから受信したデータに含まれる電子署名を、前記ダウンロードサーバの公開鍵で検証して、前記ダウンロードサーバから受信したデータが正しいと判断される場合に、前記ダウンロード元データを前記選択した共通鍵で暗号化したダウンロードデータを、前記ソフトウェア無線通信装置へ送信するダウンロード手段、を備え、
    前記ソフトウェア無線通信装置は、さらに、
    前記端末装置から受信した前記ダウンロードデータを、前記共通鍵特定手段で特定した共通鍵で復号し、さらに前記第2の共通鍵で復号する復号手段と、
    前記復号手段で復号したデータの中の識別符号と、該ソフトウェア無線通信装置の前記識別符号とが一致する場合に、前記復号したデータからハッシュ関数によってハッシュ値を演算する確認手段と、
    前記復号したデータに含まれるハッシュ値と、前記確認手段で演算したハッシュ値とが一致する場合に、前記復号したデータに含まれるソフトウェアデータを用いて通信機能を変更する変更手段と、
    を備える、
    ことを特徴とするソフトウェア無線通信システム。
  7. ソフトウェアの変更により通信機能の変更が可能なソフトウェア無線通信装置と、前記ソフトウェア無線通信装置のソフトウェアデータを格納するダウンロードサーバと、の間の通信を中継する端末装置であって、
    前記ソフトウェア無線通信装置からそのソフトウェアデータのダウンロードを起動する起動データを受信したときに、前記ソフトウェア無線通信装置との間でデータを暗号化して相互に通信するための複数の共通鍵のなかから1つの共通鍵を選択する選択手段と、
    前記ソフトウェア無線通信装置から受信した起動データの所定の一部を前記選択した共通鍵で暗号化したデータから、さらにハッシュ関数によって演算したハッシュ値と、前記選択手段で選択した共通鍵を特定するデータと、を前記ソフトウェア無線通信装置に送信する共通鍵指定手段と、
    前記ソフトウェア無線通信装置からダウンロードを要求するデータを受信したときに、前記ソフトウェア無線通信装置から受信したデータに含まれる識別データを前記選択した共通鍵で復号したデータを前記ダウンロードサーバの公開鍵で暗号化して、前記ダウンロードサーバへ送信するダウンロード要求中継手段と、
    前記ダウンロードサーバからダウンロードするデータを受信したときに、前記ダウンロードサーバから受信したデータに含まれる電子署名を、前記ダウンロードサーバの公開鍵で検証して、前記ダウンロードサーバから受信したデータが正しいと判断される場合に、前記ダウンロードするデータを前記選択した共通鍵で暗号化したダウンロードデータを、前記ソフトウェア無線通信装置へ送信するダウンロード手段と、
    を備えることを特徴とする端末装置。
  8. 前記ダウンロードサーバから、前記複数の共通鍵のうちのいずれかの使用を禁止する指令を受信した場合に、前記使用を禁止する指令の対象の共通鍵を前記複数の共通鍵のなかで前記選択する対象から除外する共通鍵除外手段を備え、
    前記選択手段は、前記複数の共通鍵から前記使用を禁止する指令の対象の共通鍵を除外して、前記1つの共通鍵を選択する、
    ことを特徴とする請求項7に記載の端末装置。
JP2007201272A 2007-08-01 2007-08-01 ソフトウェア無線通信装置、及びソフトウェア更新方法、並びに、ソフトウェア無線通信システム Expired - Fee Related JP4392672B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007201272A JP4392672B2 (ja) 2007-08-01 2007-08-01 ソフトウェア無線通信装置、及びソフトウェア更新方法、並びに、ソフトウェア無線通信システム
FI20085758A FI125736B (fi) 2007-08-01 2008-08-01 Ohjelmistolla määritetty radiolaite, ja menetelmä ohjelmiston uudistamiseksi, ja ohjelmistolla määritetty radiojärjestelmä
US12/184,807 US8433069B2 (en) 2007-08-01 2008-08-01 Software defined radio device, and method for renewing software, and software defined radio system
KR1020080075760A KR100995559B1 (ko) 2007-08-01 2008-08-01 소프트웨어 정의 무선장치, 및 소프트웨어 갱신 방법, 및소프트웨어 정의 무선시스템

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2009038603A JP2009038603A (ja) 2009-02-19
JP4392672B2 true JP4392672B2 (ja) 2010-01-06

Family

ID=39735625

Family Applications (1)

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

Country Status (4)

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

Families Citing this family (24)

* 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 华为终端有限公司 基于固件空中传输技术的固件处理方法、装置及系统
KR20120052858A (ko) * 2010-10-06 2012-05-24 한양대학교 산학협력단 스마트안테나 소프트웨어 정의 라디오 단말 장치 및 소프트웨어 정의 라디오 단말 어플리케이션의 배포 및 설치 방법
KR101785116B1 (ko) * 2010-12-24 2017-10-17 한양대학교 산학협력단 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치
CN102685931A (zh) * 2011-03-17 2012-09-19 中兴通讯股份有限公司 一种基于软件无线电的无线通讯传输系统及方法
KR101836509B1 (ko) 2011-05-09 2018-03-12 한양대학교 산학협력단 소프트웨어 정의 라디오 단말 장치 및 라디오 어플리케이션의 배포 및 설치 방법
KR101368483B1 (ko) * 2012-05-30 2014-02-28 한국철도기술연구원 Sdr 기반 철도 통합무선통신 장치 및 그 운영방법
US9131289B2 (en) * 2012-06-21 2015-09-08 NEC Laboratores America, Inc. Software-defined optical network
KR101373574B1 (ko) * 2012-08-31 2014-03-12 고려대학교 산학협력단 무인증서 기반 서명을 이용한 디바이스의 펌웨어 관리 장치 및 방법
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株式会社 管理装置、管理方法、及びプログラム
WO2017187632A1 (ja) * 2016-04-28 2017-11-02 三菱電機株式会社 車上装置、地上データ管理装置、地車間通信セキュリティシステム及び地車間通信方法
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)
KR102149819B1 (ko) * 2018-10-05 2020-08-31 (주)티엔젠 영상데이터를 전송하는 다중 송신원 인증방법
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 暗号、復号化の方法および装置
US20080212771A1 (en) * 2005-10-05 2008-09-04 Privasphere Ag Method and Devices For User Authentication
JP4667236B2 (ja) * 2005-12-28 2011-04-06 日本電信電話株式会社 データの配信・受信システム、データの再配信装置、データの受信装置およびそれらの方法

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4392672B2 (ja) ソフトウェア無線通信装置、及びソフトウェア更新方法、並びに、ソフトウェア無線通信システム
US9281949B2 (en) Device using secure processing zone to establish trust for digital rights management
US7502941B2 (en) Wireless data communication method and apparatus for software download system
US9270466B2 (en) System and method for temporary secure boot of an electronic device
CN101145906B (zh) 对单向网络中的接收终端进行合法性认证的方法及系统
JP4763368B2 (ja) 通信カード、機密情報処理システム、機密情報転送方法およびプログラム
CN101573936B (zh) 使用可信处理技术的数字版权管理
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
KR100451012B1 (ko) 디지털저작물의저작권보호를위한복수의암호기술이용프로토콜로부터하나를선택하여사용하는정보기기
CN113268715A (zh) 软件加密方法、装置、设备及存储介质
JP2006505041A (ja) 機器固有の機密保護データの安全な組み込みと利用
CN110611569A (zh) 一种认证方法及相关设备
JP6146476B2 (ja) 情報処理装置及び情報処理方法
JP6888122B2 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
CN109302442B (zh) 一种数据存储证明方法及相关设备
KR20070059891A (ko) 어플리케이션 인증 보안 시스템 및 그 인증 보안 방법
CN117436043A (zh) 待执行文件的来源验证方法、设备以及可读存储介质
CN113326499A (zh) 电子设备的正版验证方法、服务端、设备端和用户端
JP2005303370A (ja) 半導体チップ、起動プログラム、半導体チッププログラム、記憶媒体、端末装置、及び情報処理方法
EP3270310B1 (en) Mobile device applications security protection based on personalization and secured code domains pairing
JP4593207B2 (ja) ソフトウェア無線システム
JP2008233965A (ja) 携帯端末装置とそのプログラム、及び、改竄防止システムと改竄防止方法
JP2007215154A (ja) 電子機器、機器認証管理方法および機器認証管理プログラム
CN111246480A (zh) 基于sim卡的应用通信方法、系统、设备及存储介质
CN113766344B (zh) 一种基于高安机顶盒的构建动态信任根的方法和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090821

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090915

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091001

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121023

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131023

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees