IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特許7582437ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステム
<>
  • 特許-ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステム 図1
  • 特許-ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステム 図2
  • 特許-ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステム 図3
  • 特許-ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステム 図4
  • 特許-ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステム 図5
  • 特許-ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステム 図6
  • 特許-ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステム 図7
  • 特許-ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステム 図8
  • 特許-ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステム
(51)【国際特許分類】
   G06F 21/64 20130101AFI20241106BHJP
   G06F 21/60 20130101ALI20241106BHJP
   G06F 8/65 20180101ALI20241106BHJP
【FI】
G06F21/64
G06F21/60 360
G06F8/65
【請求項の数】 7
(21)【出願番号】P 2023501171
(86)(22)【出願日】2021-07-22
(65)【公表番号】
(43)【公表日】2023-08-02
(86)【国際出願番号】 CN2021107843
(87)【国際公開番号】W WO2022017457
(87)【国際公開日】2022-01-27
【審査請求日】2023-01-06
(31)【優先権主張番号】202010722761.3
(32)【優先日】2020-07-24
(33)【優先権主張国・地域又は機関】CN
【前置審査】
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100189555
【弁理士】
【氏名又は名称】徳山 英浩
(72)【発明者】
【氏名】汪 宇涛
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2004-102951(JP,A)
【文献】国際公開第2019/087295(WO,A1)
【文献】特開2010-097502(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/64
G06F 21/60
G06F 8/65
(57)【特許請求の範囲】
【請求項1】
データ生成装置によって送信された第1のファームウェアデータであって、前記データ生成装置によって暗号化された第2のファームウェアデータと、前記第2のファームウェアデータに従って前記データ生成装置によって生成されたディジタル署名とを含む第1のファームウェアデータを受信するように構成された受信部と、
前記第1のファームウェアデータにおける前記ディジタル署名を検証することで、前記ディジタル署名が検証に合格したか否かを決定するように構成された検証部と、
前記ディジタル署名が検証に合格した場合、前記第1のファームウェアデータから前記ディジタル署名を除去して前記第2のファームウェアデータを取得し、前記第2のファームウェアデータを分割して複数の暗号化されたデータパケットを生成するように構成されたパケット生成部と、
ファームウェア更新装置が複数のデータパケットを復号してファームウェア更新を実行するように、前記複数の暗号化されたデータパケットを前記ファームウェア更新装置に送信するように構成された送信部とを備え、
通信回線を介して前記データ生成装置及び前記ファームウェア更新装置に接続された、前記データ生成装置及び前記ファームウェア更新装置とは別個の装置であることを特徴とする、
ファームウェアデータ検証装置。
【請求項2】
前記複数の暗号化されたデータパケットは、データストリームの形式で逐次に送信されることを特徴とする
請求項1に記載の装置。
【請求項3】
前記検証部は、
復号アルゴリズムを用いて、前記第1のファームウェアデータにおける前記ディジタル署名を第1のダイジェスト情報に復号し、
ダイジェストアルゴリズムを用いて、前記第2のファームウェアデータの第2のダイジェスト情報を生成し、
前記第1のダイジェスト情報及び前記第2のダイジェスト情報が一致するか否かを比較し、
前記第1のダイジェスト情報及び前記第2のダイジェスト情報が一致する場合に、前記ディジタル署名が検証に合格したと決定するために使用されることを特徴とする、
請求項1に記載の装置。
【請求項4】
前記複数の暗号化されたデータパケットは、専用通信回線を介して送信されることを特徴とする、
請求項1に記載の装置。
【請求項5】
前記専用通信回線は、ローカルケーブル接続、ワイヤレス・フィデリティ接続、Bluetooth(登録商標)接続、又は近距離通信接続、又は、遠隔の仮想プライベートネットワーク接続を含むことを特徴とする、
請求項4に記載の装置。
【請求項6】
通信回線を介してデータ生成装置及びファームウェア更新装置に接続された、前記データ生成装置及び前記ファームウェア更新装置とは別個の装置により実行されるファームウェアデータ検証方法であって、
前記データ生成装置によって送信された第1のファームウェアデータであって、前記データ生成装置によって暗号化された第2のファームウェアデータと、前記第2のファームウェアデータに従って前記データ生成装置によって生成されたディジタル署名とを含む第1のファームウェアデータを受信することと、
前記第1のファームウェアデータにおける前記ディジタル署名を検証することで、前記ディジタル署名が検証に合格したか否かを決定することと、
前記ディジタル署名が検証に合格した場合、前記第1のファームウェアデータから前記ディジタル署名を除去して前記第2のファームウェアデータを取得し、前記第2のファームウェアデータを分割して複数の暗号化されたデータパケットを生成することと、
前記ファームウェア更新装置が複数のデータパケットを復号してファームウェア更新を実行するように、前記複数の暗号化されたデータパケットを前記ファームウェア更新装置に送信することとを含むことを特徴とする、
ファームウェアデータ検証方法。
【請求項7】
データ生成装置、検証装置、及びファームウェア更新装置を備えたファームウェア更新システムであって、
前記データ生成装置は、前記データ生成装置によって暗号化された第2のファームウェアデータと、前記第2のファームウェアデータに従って前記データ生成装置によって生成されたディジタル署名とを含む第1のファームウェアデータを生成するように構成され、
前記検証装置は、前記データ生成装置によって送信された前記第1のファームウェアデータを受信し、前記第1のファームウェアデータにおける前記ディジタル署名を検証することで、前記ディジタル署名が検証に合格したか否かを決定し、前記ディジタル署名が検証に合格した場合、前記第1のファームウェアデータから前記ディジタル署名を除去して前記第2のファームウェアデータを取得し、前記第2のファームウェアデータを分割して複数の暗号化されたデータパケットを生成するように構成され、
前記ファームウェア更新装置は、前記検証装置によって送信された前記複数の暗号化されたデータパケットを受信し、前記データパケットを復号し、前記復号されたデータパケットに従ってファームウェア更新を実行するように構成され、
前記データ生成装置及び、前記検証装置、及び前記ファームウェア更新装置は、通信回線を介して接続された別個の装置であることを特徴とする、
ファームウェア更新システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機器安全性の技術分野に関し、特に、ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステムに関する。
【背景技術】
【0002】
ファームウェアは、作業の最も低いレベルを引き受けるデバイス又はチップに格納されたプログラムであり、特定のリフレッシュプログラムによってアップグレード又は更新されることが可能である。通常のファームウェアアップグレード又は更新処理において、ファームウェアデータは、データ生成器によってファームウェアアップデータ(すなわち、アップグレードされる装置)に送信される。ファームウェアアップデータは、通常、システム更新プログラムを有し、システム更新プログラムは、ファームウェア更新動作を実行する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
セキュリティの理由で、ファームウェアデータ自体は機密性要件を有し、従って、ファームウェアデータ自体は、通常、データ機密性を保証するために暗号化及び復号の技術を使用する。一方、違法の供給元からのファームウェアデータは、いくつかの悪意のある動作を引き起こす可能性があり、従って、供給元の信頼性が保証されなければならない。上述したデータ機密性要件及び供給元信頼性要件を考慮して、システム更新プログラムは、受信されたファームウェアデータのデータ復号及び供給元検証を実行する必要がある。
【0004】
上述した背景技術の説明が、単に、本開示の技術的解決方法の明確かつ完全な説明を容易にし、当業者の理解を容易にするように詳述されていることに注意すべきである。これらの解決方法が本開示の背景に詳述されているだけで、上述した技術的解決方法が当業者に知られているとみなすことができない。
【0005】
しかしながら、本発明者は、データ復号及び供給元検証を同時に実行する場合、システム更新プログラムの複雑性がより高くなり、プログラム自体がより大きな記憶空間を占有し、リソース制約を受けるいくつかの装置(例えば組み込み装置)のために追加ハードウェアコストが追加され、更新モードが十分な柔軟性をもたないことを発見した。
【0006】
上述した問題のうちの少なくとも1つを解決するために、本開示の実施形態は、ファームウェア更新装置のハードウェアコストの低減と、ファームウェア更新モードの向上された柔軟性とを期待して、ファームウェアデータ検証装置及び方法、並びにファームウェア更新装置、方法、及びシステムを提供する。
【課題を解決するための手段】
【0007】
本開示の実施形態の1つの態様によれば、
データ生成装置によって送信された第1のファームウェアデータであって、データ生成装置によって暗号化された第2のファームウェアデータと、第2のファームウェアデータに従ってデータ生成装置によって生成されたディジタル署名とを含む第1のファームウェアデータを受信するように構成された受信部と、
第1のファームウェアデータにおけるディジタル署名を検証することで、ディジタル署名が検証に合格したか否かを決定するように構成された検証部と、
ディジタル署名が検証に合格した場合、第1のファームウェアデータからディジタル署名を除去して第2のファームウェアデータを取得し、第2のファームウェアデータを分割して複数の暗号化されたデータパケットを生成するように構成されたパケット生成部と、
ファームウェア更新装置が複数のデータパケットを復号してファームウェア更新を実行するように、複数の暗号化されたデータパケットをファームウェア更新装置に送信するように構成された送信部とを含む、
ファームウェアデータ検証装置が提供される。
【0008】
それによって、ファームウェア更新装置とは異なる検証装置によってディジタル署名検証が実行されることで、供給元信頼性要件を満たし、また、ファームウェア更新装置によってデータ復号が実行されることで、データ機密性要件を満たす。従って、システム更新プログラムの複雑性を低減することができ、プログラム自体によって占有される記憶空間を低減することができ、ファームウェア更新装置のハードウェアコストを低減することもできる。検証装置によってディジタル署名の検証が実行され、これにより、ファームウェア更新モードの柔軟性を改善することができる。
【0009】
また、ファームウェア更新装置は、分割されたデータパケットを受信することで部分的にアップグレード可能である。従って、完全なファームウェアデータを格納することで占有されるメモリ空間を減少させ、さらに、ファームウェア更新装置のハードウェアコストを低減し、更新効率を改善し、更新モードの柔軟性をさらに向上させる。
【0010】
いくつかの実施形態では、複数の暗号化されたデータパケットは、データストリームの形式で逐次に送信される。
【0011】
それによって、ファームウェア更新装置は、データパケットを受信しながら、受信されたデータパケットを復号し、復号されたデータパケットに基づいてファームウェア更新を実行することができる。従って、データ伝送中に部分的にアップグレードすることを実現可能である。このことは、ファームウェアデータによって占有されるメモリ空間を削減するだけでなく、更新処理を高速化して更新効率を改善することもできる。
【0012】
いくつかの実施形態では、検証部は、
復号アルゴリズムを用いて、第1のファームウェアデータにおけるディジタル署名を第1のダイジェスト情報に復号し、
ダイジェストアルゴリズムを用いて、第2のファームウェアデータの第2のダイジェスト情報を生成し、
第1のダイジェスト情報及び第2のダイジェスト情報が一致するか否かを比較し、
第1のダイジェスト情報及び第2のダイジェスト情報が一致する場合に、ディジタル署名が検証に合格したと決定する
ために使用される。
【0013】
それによって、ディジタル署名はデータ生成装置によって実行され、ディジタル署名検証は検証装置によって実行され、クラッキング耐性を改善するために署名アルゴリズム及びダイジェストアルゴリズム自体を更新する必要がある場合に、ファームウェア更新装置をアップグレードすることなく、ファームウェア更新モードの柔軟性をさらに改善することが可能である。
【0014】
いくつかの実施形態では、複数の暗号化されたデータパケットは、専用通信回線を介して送信される。
【0015】
例えば、専用通信回線は、ローカルケーブル接続、ワイヤレス・フィデリティ(WIFI(登録商標))接続、Bluetooth(登録商標)接続、又は近距離通信(NFC)接続、又は、遠隔の仮想プライベートネットワーク(VPN)接続を含む。
【0016】
それによって、専用通信回線を介して、データセキュリティを保証することができる。さらに、ファームウェア更新は、複数のインターフェースを介してローカル及び遠隔のいずれかで実行可能である。それにより、ファームウェア更新モードの柔軟性をさらに向上させることができる。
【0017】
本開示の実施形態のもう1つの態様によれば
ファームウェアデータのディジタル署名が検証に合格した場合に検証装置によって生成及び送信された複数の暗号化されたデータパケットを受信するように構成された受信部と、
データパケットを復号するように構成された復号部と、
復号されたデータパケットに従ってファームウェア更新を実行するように構成された更新部とを含む、
ファームウェア更新装置が提供される。
【0018】
それによって、ファームウェア更新装置とは異なる検証装置によってディジタル署名検証が実行されることで、供給元信頼性要件を満たす。また、ファームウェア更新装置によってデータ復号が実行されることで、データ機密性要件を満たす。従って、システム更新プログラムの複雑性を低減することができ、プログラム自体によって占有される記憶空間を低減することができる。従って、ファームウェア更新装置のハードウェアコストを低減することもできる。検証装置によってディジタル署名の検証が実行され、これにより、ファームウェア更新モードの柔軟性を改善することができる。
【0019】
また、ファームウェア更新装置は、分割されたデータパケットを受信することで部分的にアップグレード可能であり、従って、完全なファームウェアデータを格納することで占有されるメモリ空間を減少させ、さらに、ファームウェア更新装置のハードウェアコストを低減し、更新効率を改善し、更新モードの柔軟性をさらに向上させる。
【0020】
いくつかの実施形態では、
受信部は、データパケットを受信し、
復号部は、受信されたデータパケットを復号し、
更新部は、復号されたデータパケットに従ってファームウェア更新を実行する。
【0021】
それによって、データ伝送中に部分的にアップグレードすることを実現可能である。このことは、ファームウェアデータによって占有されるメモリ空間を削減するだけでなく、更新処理を高速化して更新効率を改善することもできる。
【0022】
本開示の実施形態のもう1つの態様によれば、
データ生成装置によって送信された第1のファームウェアデータであって、データ生成装置によって暗号化された第2のファームウェアデータと、第2のファームウェアデータに従ってデータ生成装置によって生成されたディジタル署名とを含む第1のファームウェアデータを受信することと、
第1のファームウェアデータにおけるディジタル署名を検証することで、ディジタル署名が検証に合格したか否かを決定することと、
ディジタル署名が検証に合格した場合、第1のファームウェアデータからディジタル署名を除去して第2のファームウェアデータを取得し、第2のファームウェアデータを分割して複数の暗号化されたデータパケットを生成することと、
ファームウェア更新装置が複数のデータパケットを復号してファームウェア更新を実行するように、複数の暗号化されたデータパケットをファームウェア更新装置に送信することとを含む、
ファームウェアデータ検証方法が提供される。
【0023】
本開示の実施形態のもう1つの態様によれば、
ファームウェアデータのディジタル署名が検証に合格した場合に検証装置によって生成及び送信された複数の暗号化されたデータパケットを受信することと、
データパケットを復号することと、
復号されたデータパケットに従ってファームウェア更新を実行することとを含む、
ファームウェア更新方法が提供される。
【0024】
本開示の実施形態のもう1つの態様によれば、
データ生成装置、検証装置、及びファームウェア更新装置を含むファームウェア更新システムが提供され、
データ生成装置は、データ生成装置によって暗号化された第2のファームウェアデータと、第2のファームウェアデータに従ってデータ生成装置によって生成されたディジタル署名とを含む第1のファームウェアデータを生成するように構成され、
検証装置は、データ生成装置によって送信された第1のファームウェアデータを受信し、第1のファームウェアデータにおけるディジタル署名を検証することで、ディジタル署名が検証に合格したか否かを決定し、ディジタル署名が検証に合格した場合、第1のファームウェアデータからディジタル署名を除去して第2のファームウェアデータを取得し、第2のファームウェアデータを分割して複数の暗号化されたデータパケットを生成するように構成され、
ファームウェア更新装置は、検証装置によって送信された複数の暗号化されたデータパケットを受信し、データパケットを復号し、復号されたデータパケットに従ってファームウェア更新を実行するように構成される。
【0025】
本開示の実施形態に係る有利な効果のうちの1つは、下記のことにある。ファームウェア更新装置とは異なる検証装置によってディジタル署名検証が実行されることで、供給元信頼性要件を満たし、また、ファームウェア更新装置によってデータ復号が実行されることで、データ機密性要件を満たす。従って、システム更新プログラムの複雑性を低減することができ、プログラム自体によって占有される記憶空間を低減することができ、従って、ファームウェア更新装置のハードウェアコストを低減することもできる。検証装置によってディジタル署名の検証が実行され、これにより、ファームウェア更新モードの柔軟性を改善することができる。
【0026】
また、ファームウェア更新装置は、分割されたデータパケットを受信することで部分的にアップグレード可能であり、従って、完全なファームウェアデータを格納することで占有されるメモリ空間を減少させ、さらに、ファームウェア更新装置のハードウェアコストを低減し、更新効率を改善し、更新モードの柔軟性をさらに向上させる。
【図面の簡単な説明】
【0027】
図1】本開示の実施形態に係るファームウェアデータ検証装置の概略図である。
図2】本開示の実施形態に係るファームウェア更新装置の概略図である。
図3】本開示の実施形態に係るデータ生成装置、検証装置、及びファームウェア更新装置の概略図である。
図4】本開示の実施形態に係るデータ生成装置の概略図である。
図5】本開示の実施形態に係る検証装置の概略図である。
図6】本開示の実施形態に係るファームウェア更新装置の概略図である。
図7】本開示の実施形態に係るファームウェアデータ検証方法の概略図である。
図8】本開示の実施形態に係るファームウェア更新方法の概略図である。
図9】本開示の実施形態に係るファームウェア更新システムの概略図である。
【発明を実施するための形態】
【0028】
下記の説明及び図面を参照して、本開示の特定の実施例について詳述し、本開示の原理を採用可能な方法を示す。本開示の実施例は範囲に関して限定しないと理解されるべきである。添付した請求項の精神及び用語の範囲内で、本開示の実施例は、多数の変更、変形、及び等価物を含む。
【0029】
添付の図面は、本開示の実施形態に関するさらなる理解を提供するために使用され、説明の一部を構成し、本開示の実施例を示すために使用され、文章の説明とともに本開示の原理を解釈する。明らかに、下記の説明における図面は、本開示のいくつかの実施形態にすぎない。当業者は、創造性を伴う労力を要しない前提下で、これらの図面に基づいて他の図面を取得することもできる。
【0030】
図面を参照し、下記の説明により、本開示の上述した特徴及び他の特徴が明らかになるであろう。説明及び図面は、本開示の特定の実施例を具体的に開示し、本開示の原理を採用しうる部分的な実施例を示す。本開示は、説明した実施例に限定されず、逆に、添付した請求項の範囲内にあるすべての変更、変形、及び等価物を含むことが理解されるべきである。
【0031】
本開示の実施形態では、用語「第1」及び「第2」などは、名称に関して異なる構成要素を区別するために使用されるが、これらの構成要素の空間的配置、時系列などを表すわけではなく、これらの構成要素はこれらの用語によって限定されるべきではない。用語「及び/又は」は、関連付けられた列挙された用語のうちの1つ又は複数に係る任意及びすべての組み合わせを含む。用語「含む」、「備える」、及び「有する」などは、述べられた特徴、要素、部材、又は構成要素の存在を示すが、1つ又は複数の他の特徴、要素、部材、又は構成要素の存在又は追加を除外しない。
【0032】
本開示の実施形態では、単数形「ある」及び「前記」などは複数形を含み、「ある種の」又は「あるタイプの」のように広義に理解されるべきであるが、「1つ」の意味としては定義されない。さらに、用語「前記」は、文脈が明示していない限り、単数形及び複数形の両方を含むように理解されるべきである。さらに、文脈が明示していない限り、用語「に従って」は、「少なくとも部分的に…に従って」として理解されるべきであり、用語「に基づいて」は、「少なくとも部分的に…に基づいて」として理解されるべきでる。
【0033】
1つの実施例に関して説明及び/又は図示される特徴は、1つ又は複数の他の実施例において同じ方法又は同様の方法で使用されてもよく、他の実施例における特徴と組み合わされても置き換えられてもよい。本願において使用される場合、用語「備える/含む」は、特徴、全体物、ステップ、又は構成要素の存在を示すが、1つ又は複数の他の特徴、全体物、ステップ、又は構成要素の存在又は追加を除外しないことを強調すべきである。
【0034】
図面を参照して、本開示の実施例を下記に説明する。本開示の実施形態では、図示のために一例として組み込み装置が参照され、例えば、ファームウェア更新装置(アップグレードされる装置)はプログラマブルロジックコントローラ(Programmable Logic Controller:PLC)装置であるが、本開示は、組み込み装置に限定されず、リソース制約を受ける装置に限定されず、無制限のリソースを備えた装置に適用されてもよい。
【0035】
第1の態様の実施形態.
本開示の実施形態は、ファームウェアデータ検証装置を提供する。図1は、本開示の実施形態に係るファームウェアデータ検証装置の概略図である。図1に示すように、ファームウェアデータ検証装置100は、
データ生成装置によって送信された第1のファームウェアデータであって、データ生成装置によって暗号化された第2のファームウェアデータと、第2のファームウェアデータに従ってデータ生成装置によって生成されたディジタル署名とを含む第1のファームウェアデータを受信するように構成された受信部101と、
第1のファームウェアデータにおけるディジタル署名を検証することで、ディジタル署名が検証に合格したか否かを決定するように構成された検証部102と、
ディジタル署名が検証に合格した場合、第1のファームウェアデータからディジタル署名を除去して第2のファームウェアデータを取得し、第2のファームウェアデータを分割して複数の暗号化されたデータパケットを生成するように構成されたパケット生成部103と、
ファームウェア更新装置が複数のデータパケットを復号してファームウェア更新を実行するように、複数の暗号化されたデータパケットをファームウェア更新装置に送信するように構成された送信部104と
を含む。
【0036】
本開示の実施形態はさらに、ファームウェア更新装置を提供する。図2は、本開示の実施形態に係るファームウェア更新装置の概略図である。図2に示すように、ファームウェア更新装置200は、
ファームウェアデータのディジタル署名が検証に合格した場合に検証装置によって生成及び送信された複数の暗号化されたデータパケットを受信するように構成された受信部201と、
データパケットを復号するように構成された復号部202と、
復号されたデータパケットに従ってファームウェア更新を実行するように構成された更新部203と
を含む。
【0037】
上述した図1及び図2は、本開示の実施形態の単なる概略説明であることに注意する価値があるが、本開示はこれに限定されない。例えば、他の構成要素又は装置がさらに提供されてもよく、詳細については関連技術が参照され、本願では説明を省略する。図1及び図2には特に示していない構成要素又は要素については、関連技術が参照されてもよく、本開示は限定しない。
【0038】
それによって、ファームウェア更新装置とは異なる検証装置によってディジタル署名検証が実行されることで、供給元信頼性要件を満たし、また、ファームウェア更新装置によってデータ復号が実行されることで、データ機密性要件を満たす。従って、システム更新プログラムの複雑性を低減することができ、プログラム自体によって占有される記憶空間を低減することができ、従って、ファームウェア更新装置のハードウェアコストを低減することもできる。検証装置によってディジタル署名の検証が実行され、これにより、ファームウェア更新モードの柔軟性を改善することができる。
【0039】
また、ファームウェア更新装置は、分割された複数のデータパケットを受信することで部分的にアップグレード可能であり、従って、完全なファームウェアデータを格納することで占有されるメモリ空間を減少させ、さらに、ファームウェア更新装置のハードウェアコストを低減し、更新効率を改善し、更新モードの柔軟性をさらに向上させる。
【0040】
図3は、本開示の実施形態に係るデータ生成装置、検証装置、及びファームウェア更新装置の概略図である。図3に示すように、ファームウェア更新装置(アップグレードされる装置)の場合、データ生成装置はローカルではない可能性があり、従って、データは遠隔に送信される必要があり、供給元信頼性及びデータ機密性の問題が引き起こされる。
【0041】
図3に示すように、本開示の実施形態において、ファームウェアデータの二次送信が実行される。検証装置は、ローカルに設けられ、アップグレードされる装置とのポイントツーポイント接続を実行可能であり、従って、検証装置及びアップグレードされる装置の間で行われる第2の送信(暗号文送信)では、供給元信頼性を検証する必要はないが、データ機密性だけを保証する必要がある。検証装置及びアップグレードされる装置の間の供給元信頼性が、ハードウェア検証、安全なハンドシェイクなどのような、他のいくつかの技術によって保証される場合、検証装置は、ローカルでなくてもよく、この場合、第2の送信は遠隔の送信であってもよい。
【0042】
図3に示すように、第1の送信(ディジタル署名+暗号文送信)はディジタル署名を含み、一方、第2のファームウェアデータ自体は、暗号化された暗号文であり、従って、遠隔の送信であっても、供給元信頼性及びデータ機密性の両方を保証することができる。第1の送信及び第2の送信の特定の内容については、関連技術は参照され、本願では説明を省略する。
【0043】
いくつかの実施形態では、データ生成装置はファームウェアデータ開発装置であり、元のファームウェアデータの平文をコンパイル及び生成した後に、データ生成装置は、暗号化、ディジタル署名などのような、一連の動作を実行し、それによって、供給元信頼性及びデータ機密性を保証する。
【0044】
図4は、本開示の実施形態に係るデータ生成装置の概略図である。図4に示すように、データ生成装置によって生成される元のファームウェアデータは平文であり、次いで、元のファームウェアデータ(平文)は、暗号化部を介して第1の鍵を用いて第2のファームウェアデータ(暗号文)に暗号化され、次いで、署名部を介して専用のディジタル署名が追加された後で第1のファームウェアデータ(暗号文+ディジタル署名)が生成され、最後に、第1の送信を介して外部に送信される。
【0045】
図4に示すように、ディジタル署名処理は下記の通りであってもよい。まず、ダイジェストアルゴリズムを介して第2のファームウェアデータの第2のダイジェスト情報を生成し、次いで、秘密鍵(第2の秘密鍵)を用いて第2のダイジェスト情報をディジタル署名に暗号化し、最後に、ディジタル署名及び第2のファームウェアデータを第1のファームウェアデータに組み合わせる。図4は、ディジタル署名及び暗号化を例示的に説明するが、本開示はこれに限定されず、他の暗号化及びディジタル署名モードも可能である。
【0046】
いくつかの実施形態では、暗号化及びディジタル署名は、対称暗号化アルゴリズムを使用してもよく、非対称暗号化アルゴリズムを使用してもよい。対称暗号化の場合には、暗号化部は、アップグレードされる装置の内部の復号部と同じ鍵を使用する。非対称暗号化の場合には、暗号化部は、暗号化のために公開鍵を使用し、アップグレードされる装置の内部の復号部は、復号のために秘密鍵を使用する。一般的なアルゴリズムは、MD5、SHA-1、SM3などを含む。暗号化及び復号、ディジタル署名などに係る特定の内容については、関連技術が参照され、本願ではより詳細な説明を記載しない。
【0047】
いくつかの実施形態では、検証装置は、ソフトウェアを介して検証アルゴリズムを実施するローカルの補助ツールであってもよく、ハードウェアを介して検証処理を実施する別個のセキュリティモジュールであってもよく、遠隔のサーバに設けられたサービスプログラムであってもよい。本開示は、特定形式の検証装置を定義しない。
【0048】
図5は、本開示の実施形態に係る検証装置の概略図である。図5に示すように、検証装置は、第1の送信から受信された第1のファームウェアデータ(暗号文+ディジタル署名)のディジタル署名が信頼できるか否かを検証するように構成され、それによって、ファームウェアデータの供給元が信頼できるか否かを検証する。検証に合格した(すなわち、ディジタル署名検証に合格した)ファームウェアデータのみが、第2の送信を介して外部に送信可能にされてもよい。検証に失敗した場合、検証装置は、第2のファームウェアデータを送信しない。
【0049】
いくつかの実施形態では、検証部は、
復号アルゴリズムを用いて、第1のファームウェアデータにおけるディジタル署名を第1のダイジェスト情報に復号し、
ダイジェストアルゴリズムを用いて、第2のファームウェアデータの第2のダイジェスト情報を生成し、
第1のダイジェスト情報及び第2のダイジェスト情報が一致するか否かを比較し、
第1のダイジェスト情報及び第2のダイジェスト情報が一致する場合に、ディジタル署名が検証に合格したと決定する
ために使用される。
【0050】
例えば、図5に示すように、検証処理は下記の通りである。まず、送信者の公開鍵(第2の公開鍵)を用いてディジタル署名を第1のダイジェスト情報に復号し、次いで、データ生成装置における署名部と同じダイジェストアルゴリズムを介して第2のファームウェアデータ(暗号文)の第2のダイジェスト情報を生成し、次いで、第1のダイジェスト情報及び第2のダイジェスト情報が一致するか否かを比較する。第1のダイジェスト情報及び第2のダイジェスト情報が一致した場合、検証に合格し、そうでなかれば、検証に失敗する。図5は、ディジタル署名検証を例示的に説明するが、本開示はこれに限定されず、他のディジタル署名検証モードも可能である。
【0051】
それによって、ディジタル署名検証は検証装置によって実行され、クラッキング耐性を改善するために署名アルゴリズム及びダイジェストアルゴリズム自体を更新する必要がある場合に、ファームウェア更新装置をアップグレードすることなく、ファームウェア更新モードの柔軟性をさらに改善することが可能である。
【0052】
例えば、ディジタル署名検証処理は外部検証装置によって実行され、従って、アップグレードされる装置の内部において、ダイジェストアルゴリズム及び署名アルゴリズムのような一連の複雑なアルゴリズムを実施する必要はない。最も簡単な場合において、アップグレードされる装置自体は、簡単な対称暗号化アルゴリズムの復号部をサポートすることのみを必要とし、占有される記憶空間は小さく、更新モードは柔軟である。
【0053】
さらに、検証装置が暗号化された第2のファームウェアデータをいくつかの暗号化されたパケットに分割する特定の分割モードは、関連技術を参照することで実装されてもよく、従って、本願では詳述しない。
【0054】
いくつかの実施形態では、ファームウェア更新装置(アップグレードされる装置)は、ファームウェアアップグレードを必要とするローカル装置であり、PLC装置、産業オートメーション製品、医療用装置、家電機器、又はディジタル製品などであってもよい。本開示の実施形態は、これに限定されない。
【0055】
図6は、本開示の実施形態に係るファームウェア更新装置の概略図である。図6に示すように、検証装置は、第2のファームウェアデータ(暗号文)をファームウェア更新装置(アップグレードされる装置)に送信する。アップグレードされる装置において、ファームウェア更新動作は、内部システム更新プログラムによって実行されてもよい。
【0056】
いくつかの実施形態では、複数の暗号化されたデータパケットは、データストリームの形式で逐次に送信される。
【0057】
例えば、アップグレードされる装置が、リソース制約を受け、完全なファームウェアデータを格納するのに十分な空間を持たない可能性があるので、検証装置は、暗号化された第2のファームウェアデータをいくつかの暗号化されたパケット(サブパケット1…n)へ分割し、それらをアップグレードされる装置に1つずつ送信してもよい。
【0058】
図6に示すように、ファームウェア更新装置のシステム更新プログラムによって、第2の送信から、完全なサブパケット(例えば、サブパケットi、iは1以上かつn以下である)が受信されるごとに、サブパケットiは、復号部によって、第1の鍵を用いて平文サブパケットiへ復号され、次いで、部分的なアップグレードのために更新部にわたされる。第2のファームウェアデータのすべてのサブパケットが送信された後、更新部は、すべてのサブパケットのアップグレードを完了する、すなわち、ファームウェア更新処理全体を完了する。この処理は、更新部がアップグレードのために完全なファームウェアデータの平文を使用する処理に等価である。
【0059】
それによって、ファームウェア更新装置は、データパケットを受信しながら、受信されたデータパケットを復号し、復号されたデータパケットに基づいてファームウェア更新を実行してもよく、従って、データ伝送中に部分的にアップグレードすることを実現可能であり、このことは、ファームウェアデータによって占有されるメモリ空間を削減するだけでなく、更新処理を高速化して更新効率を改善することもできる。
【0060】
例えば、アップグレードされる装置は、アップグレード前にすべての暗号化されたファームウェアデータを受信することを待機する必要はなく、それは、ファームウェアデータを受信しながら復号して部分的にアップグレードしてもよい。従って、それは、完全な特定のデータパケットを受信するとすぐに、復号及びファームウェア更新を開始してもよく、完全なファームウェアデータを格納するために余分なメモリ空間を必要とせず、すべてのデータパケットが受信された直後にアップグレードが完了する可能性がある。このことは、すべての暗号化されたファームウェアデータ局受信された後で復号及び検証を行う更新モードより、リソースを節約し、効率的である。
【0061】
いくつかの実施形態では、複数の暗号化されたデータパケットは、専用通信回線を介して送信される。
【0062】
例えば、専用通信回線は、ローカルケーブル接続、ワイヤレス・フィデリティ(WIFI)接続、Bluetooth接続、又は近距離通信(NFC)接続、又は、遠隔の仮想プライベートネットワーク(VPN)接続を含む。本開示はこれに限定されず、他の特定の通信回線も可能である。
【0063】
それによって、専用通信回線を介して、データセキュリティを保証することができる。さらに、ファームウェア更新は、複数のインターフェースを介してローカル及び遠隔のいずれかで実行可能であり、それにより、ファームウェア更新モードの柔軟性をさらに向上させることができる。
【0064】
例えば、現在、情報セキュリティは、ますます多くの注目を集めるようになり、計算能力の増大により、暗号化及び復号アルゴリズム自体が常に更新及びアップグレードされている。本開示の実施形態において、システムアップグレードプログラム自体を頻繁に更新する必要はなく、暗号化部、署名部、及び検証部のみが更新される必要がある。暗号化部、署名部、及び検証部は、アップグレードされる装置の外部に設けられ、通常、上位のコンピュータソフトウェア又は専用ハードウェアによって実装され、従って、この更新モードは、アップグレードされる装置に設けられる組み込みソフトウェアよりも便利である。
【0065】
上述した内容は、各装置又は構成要素の概略説明のみであるが、本開示はこれに限定されず、各装置又は構成要素の特定の内容について、関連技術が参照されてもよい。また、図1図6に示していない装置又は構成要素を追加してもよく、又は、図1図6における1つ又は複数の装置又は構成要素を削減してもよい。
【0066】
上述した実施形態から下記のことがわかる。ファームウェア更新装置とは異なる検証装置によってディジタル署名検証が実行されることで、供給元信頼性要件を満たし、また、ファームウェア更新装置によってデータ復号が実行されることで、データ機密性要件を満たす。従って、システム更新プログラムの複雑性を低減することができ、プログラム自体によって占有される記憶空間を低減することができ、ファームウェア更新装置のコストを低減することができる。検証装置によってディジタル署名の検証が実行され、これにより、ファームウェア更新モードの柔軟性を改善することができる。
【0067】
また、ファームウェア更新装置は、分割された複数のデータパケットを受信することで部分的にアップグレード可能であり、従って、完全なファームウェアデータを格納することで占有されるメモリ空間を減少させ、さらに、ファームウェア更新装置のハードウェアコストを低減し、更新効率を改善し、更新モードの柔軟性をさらに向上させる。
【0068】
第2の態様の実施形態.
本開示の実施形態は、ファームウェアデータ検証方法及びファームウェア更新方法を提供し、第1の態様の実施形態と同じ内容は繰り返さない。
【0069】
図7は、ファームウェアデータ検証装置によって実行される、本開示の実施形態に係るファームウェアデータ検証方法の概略図である。図7に示すように、検証方法は。
701:データ生成装置によって送信された第1のファームウェアデータであって、データ生成装置によって暗号化された第2のファームウェアデータと、第2のファームウェアデータに従ってデータ生成装置によって生成されたディジタル署名とを含む第1のファームウェアデータを受信することと、
702:第1のファームウェアデータにおけるディジタル署名を検証することで、ディジタル署名が検証に合格したか否かを決定することと、
703:ディジタル署名が検証に合格した場合、第1のファームウェアデータからディジタル署名を除去して第2のファームウェアデータを取得し、第2のファームウェアデータを分割して複数の暗号化されたデータパケットを生成することと、
704:ファームウェア更新装置が複数のデータパケットを復号してファームウェア更新を実行するように、複数の暗号化されたデータパケットをファームウェア更新装置に送信することと
を含む。
【0070】
いくつかの実施形態では、複数の暗号化されたデータパケットは、データストリームの形式で逐次に送信される、
【0071】
いくつかの実施形態では、
復号アルゴリズムを用いて、第1のファームウェアデータにおけるディジタル署名を第1のダイジェスト情報に復号し、
ダイジェストアルゴリズムを用いて、第2のファームウェアデータの第2のダイジェスト情報を生成し、
第1のダイジェスト情報及び第2のダイジェスト情報が一致するか否かを比較し、
第1のダイジェスト情報及び第2のダイジェスト情報が一致する場合に、ディジタル署名が検証に合格したと決定する。
【0072】
いくつかの実施形態では、複数の暗号化されたデータパケットは、専用通信回線を介して送信される。
【0073】
例えば、専用通信回線は、ローカルケーブル接続、ワイヤレス・フィデリティ(WIFI)接続、Bluetooth接続、又は近距離通信(NFC)接続、又は、遠隔の仮想プライベートネットワーク(VPN)接続を含む。
【0074】
図8は、ファームウェア更新装置によって実行される、本開示の実施形態に係るファームウェア更新方法の概略図である。図8に示すように、ファームウェア更新方法は、
801:ファームウェアデータのディジタル署名が検証に合格した場合に検証装置によって生成及び送信された複数の暗号化されたデータパケットを受信することと、
802:データパケットを復号することと、
803:復号されたデータパケットに従ってファームウェア更新を実行することと
を含む。
【0075】
いくつかの実施形態では、ファームウェア更新装置は、データパケットを受信しながら、受信されたデータパケットを復号し、復号されたデータパケットに基づいてファームウェア更新を実行することができる。従って、データ伝送中に部分的にアップグレードすることを実現可能である。このことは、ファームウェアデータによって占有されるメモリ空間を削減するだけでなく、更新処理を高速化して更新効率を改善することもできる。
【0076】
上述した図7及び図8は、本開示の実施形態の単なる概略説明であることに注意する価値があるが、本開示はこれに限定されない。例えば、各ステップの実行順序が適切に調整されてもよく、また、他のいくつかのステップが増大又は削減されてもよい。当業者は、上述した図7及び図8の記載に限らず、上述した内容に従って適切な変更を行うことができる。
【0077】
上述した実施形態から下記のことがわかる。ファームウェア更新装置とは異なる検証装置によってディジタル署名検証が実行されることで、供給元信頼性要件を満たし、また、ファームウェア更新装置によってデータ復号が実行されることで、データ機密性要件を満たす。従って、システム更新プログラムの複雑性を低減することができ、プログラム自体によって占有される記憶空間を低減することができ、ファームウェア更新装置のハードウェアコストを低減することができる。検証装置によってディジタル署名の検証が実行され、これにより、ファームウェア更新モードの柔軟性を改善することができる。
【0078】
また、ファームウェア更新装置は、分割された複数のデータパケットを受信することで部分的にアップグレード可能であり、従って、完全なファームウェアデータを格納することで占有されるメモリ空間を減少させ、さらに、ファームウェア更新装置のハードウェアコストを低減し、更新効率を改善し、更新モードの柔軟性をさらに向上させる。
【0079】
第3の態様の実施形態.
本開示の実施形態は、ファームウェア更新システムを提供し、第1及び第2の態様の実施形態と同じ内容は繰り返さない。
【0080】
図9は、本開示の実施形態に係るファームウェア更新システムの概略図である。図9に示すように、ファームウェア更新システム900は、データ生成装置901、検証装置902、及びファームウェア更新装置903を含み、
データ生成装置901は、データ生成装置901によって暗号化された第2のファームウェアデータと、第2のファームウェアデータに従ってデータ生成装置901によって生成されたディジタル署名とを含む第1のファームウェアデータを生成するように構成され、
検証装置902は、データ生成装置によって送信された第1のファームウェアデータを受信し、第1のファームウェアデータにおけるディジタル署名を検証することで、ディジタル署名が検証に合格したか否かを決定し、ディジタル署名が検証に合格した場合、第1のファームウェアデータからディジタル署名を除去して第2のファームウェアデータを取得し、第2のファームウェアデータを分割して複数の暗号化されたデータパケットを生成するように構成され、
ファームウェア更新装置903は、検証装置によって送信された複数の暗号化されたデータパケットを受信し、データパケットを復号し、復号されたデータパケットに従ってファームウェア更新を実行するように構成される。
【0081】
上述した実施形態から下記のことがわかる。ファームウェア更新装置とは異なる検証装置によってディジタル署名検証が実行されることで、供給元信頼性要件を満たし、また、ファームウェア更新装置によってデータ復号が実行されることで、データ機密性要件を満たす。従って、システム更新プログラムの複雑性を低減することができ、プログラム自体によって占有される記憶空間を低減することができ、ファームウェア更新装置のハードウェアコストを低減することができる。検証装置によってディジタル署名の検証が実行され、これにより、ファームウェア更新モードの柔軟性を改善することができる。
【0082】
また、ファームウェア更新装置は、分割された複数のデータパケットを受信することで部分的にアップグレード可能であり、従って、完全なファームウェアデータを格納することで占有されるメモリ空間を減少させ、さらに、ファームウェア更新装置のハードウェアコストを低減し、更新効率を改善し、更新モードの柔軟性をさらに向上させる。
【0083】
本開示は、特定の実施例と組み合わせて説明されたが、当業者は、これらの説明が例示であり、本開示の保護範囲を制限しないことを明らかに認識すべきである。当業者は、本開示の精神及び原理に基づいて、本開示に対して様々な変形及び変更を行ってもよく、これらの変形及び変更もまた、本開示の範囲内である。
【0084】
図面を参照して、本開示の好ましい実施例を下記に説明する。これらの実施例の多数の特徴及び利点が、詳細な説明から明らかになり、従って、添付の特許請求の範囲は、真の精神及び範囲に含まれるこれらの実施例のこれらの特徴及び利点すべてを包含することを目的とする。さらに、当業者は、多数の変更及び変形を容易に想像することができ、従って、本開示の実施例を、例示及び説明した正確な構造及び動作に限定することは意図せず、それらの範囲に含まれるすべての適切な変更、変形、及び等価物を包含することができる。
【0085】
上述した実施形態を含む実装に関して、下記の補足も開示される。
【0086】
補足1.
データ生成装置によって送信された第1のファームウェアデータであって、前記データ生成装置によって暗号化された第2のファームウェアデータと、前記第2のファームウェアデータに従って前記データ生成装置によって生成されたディジタル署名とを含む第1のファームウェアデータを受信することと、
前記第1のファームウェアデータにおける前記ディジタル署名を検証することで、前記ディジタル署名が検証に合格したか否かを決定することと、
前記ディジタル署名が検証に合格した場合、前記第1のファームウェアデータから前記ディジタル署名を除去して前記第2のファームウェアデータを取得し、前記第2のファームウェアデータを分割して複数の暗号化されたデータパケットを生成することと、
ファームウェア更新装置が複数のデータパケットを復号してファームウェア更新を実行するように、前記複数の暗号化されたデータパケットを前記ファームウェア更新装置に送信することとを含む、
ファームウェアデータ検証方法。
【0087】
補足2.
前記複数の暗号化されたデータパケットは、データストリームの形式で逐次に送信される、
補足1記載の方法。
【0088】
補足3.
前記第1のファームウェアデータのディジタル署名を検証することは、
復号アルゴリズムを用いて、前記第1のファームウェアデータにおける前記ディジタル署名を第1のダイジェスト情報に復号することと、
ダイジェストアルゴリズムを用いて、前記第2のファームウェアデータの第2のダイジェスト情報を生成することと、
前記第1のダイジェスト情報及び前記第2のダイジェスト情報が一致するか否かを比較することと、
前記第1のダイジェスト情報及び前記第2のダイジェスト情報が一致する場合に、前記ディジタル署名が検証に合格したと決定することとを含む、
補足1記載の方法。
【0089】
補足4.
前記複数の暗号化されたデータパケットは、専用通信回線を介して前記ファームウェア更新装置に逐次に送信される、
補足1記載の方法。
【0090】
補足5.
前記専用通信回線は、ローカルケーブル接続、ワイヤレス・フィデリティ(WIFI)接続、Bluetooth接続、又は近距離通信(NFC)接続、又は、遠隔の仮想プライベートネットワーク(VPN)接続を含む、
補足4記載の方法。
【0091】
補足6.
ファームウェアデータのディジタル署名が検証に合格した場合に検証装置によって生成及び送信された複数の暗号化されたデータパケットを受信することと、
前記データパケットを復号することと、
前記復号されたデータパケットに従ってファームウェア更新を実行することとを含む、
ファームウェア更新方法。
【0092】
補足7.
前記複数の暗号化されたデータパケットは、データストリームの形式で逐次に受信される、
補足6記載の方法。
【0093】
補足8.
前記ファームウェア更新装置は、
前記データパケットを受信し、
前記受信されたデータパケットを復号し、
前記復号されたデータパケットに従ってファームウェア更新を実行する、
補足7記載の方法。
【0094】
補足9.
複数の暗号化されたデータパケットは、専用通信回線を介して逐次に受信される、
補足6記載の方法。
【0095】
補足10.
専用通信回線は、ローカルケーブル接続、ワイヤレス・フィデリティ(WIFI)接続、Bluetooth接続、又は近距離通信(NFC)接続、又は、遠隔の仮想プライベートネットワーク(VPN)接続を含む、
補足6記載の方法。
【0096】
補足11.
コンピュータプログラムを格納する記憶装置と、前記コンピュータプログラムを実行することで補足1~5のうちの1つに記載のファームウェアデータ検証方法又は補足6~10のうちの1つに記載のファームウェア更新方法を実施するように構成されたプロセッサとを含む電子装置。
【0097】
補足12.
電子装置において、補足1~5のうちの1つに記載のファームウェアデータ検証方法又は補足6~10のうちの1つに記載のファームウェア更新方法をコンピュータに実行させるコンピュータ可読プログラムを格納する記憶媒体。
図1
図2
図3
図4
図5
図6
図7
図8
図9