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

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

▶ シーメンス アクチエンゲゼルシヤフトの特許一覧

特開2022-71033ファイルを誤り訂正符号化し暗号化するコンピュータとファイルを誤り訂正復号し解読するコンピュータとを含むデータ交信システム
<>
  • 特開-ファイルを誤り訂正符号化し暗号化するコンピュータとファイルを誤り訂正復号し解読するコンピュータとを含むデータ交信システム 図1
  • 特開-ファイルを誤り訂正符号化し暗号化するコンピュータとファイルを誤り訂正復号し解読するコンピュータとを含むデータ交信システム 図2
  • 特開-ファイルを誤り訂正符号化し暗号化するコンピュータとファイルを誤り訂正復号し解読するコンピュータとを含むデータ交信システム 図3
  • 特開-ファイルを誤り訂正符号化し暗号化するコンピュータとファイルを誤り訂正復号し解読するコンピュータとを含むデータ交信システム 図4
  • 特開-ファイルを誤り訂正符号化し暗号化するコンピュータとファイルを誤り訂正復号し解読するコンピュータとを含むデータ交信システム 図5
  • 特開-ファイルを誤り訂正符号化し暗号化するコンピュータとファイルを誤り訂正復号し解読するコンピュータとを含むデータ交信システム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022071033
(43)【公開日】2022-05-13
(54)【発明の名称】ファイルを誤り訂正符号化し暗号化するコンピュータとファイルを誤り訂正復号し解読するコンピュータとを含むデータ交信システム
(51)【国際特許分類】
   G09C 1/00 20060101AFI20220506BHJP
【FI】
G09C1/00 610A
【審査請求】有
【請求項の数】12
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022027591
(22)【出願日】2022-02-25
(62)【分割の表示】P 2019190388の分割
【原出願日】2019-10-17
(31)【優先権主張番号】18206677
(32)【優先日】2018-11-16
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】390039413
【氏名又は名称】シーメンス アクチエンゲゼルシヤフト
【氏名又は名称原語表記】Siemens Aktiengesellschaft
(74)【代理人】
【識別番号】110003317
【氏名又は名称】特許業務法人山口・竹本知的財産事務所
(74)【代理人】
【識別番号】100075166
【弁理士】
【氏名又は名称】山口 巖
(74)【代理人】
【識別番号】100133167
【弁理士】
【氏名又は名称】山本 浩
(74)【代理人】
【識別番号】100169627
【弁理士】
【氏名又は名称】竹本 美奈
(72)【発明者】
【氏名】ホルヘ クエリャル
(72)【発明者】
【氏名】チアゴ ガシバ
(72)【発明者】
【氏名】マルティン ヴィマー
(57)【要約】      (修正有)
【課題】メモリ容量が少ないか計算能力の低い又はその両方であるデバイス間の伝送において暗号保護したセキュアにファイルなファイルの伝送を可能にする。
【解決手段】方法は、ファイルを2つ以上のブロックC1、C2に分割する。第1のブロックC1は、所定の暗号化キーKを使用して暗号化する。第1の暗号化ブロックC1は、第1のブロックの第1及び第2前方誤り訂正符号FEC11、FEC12を使用して2回符号化する。後続ブロックCiはそれぞれ、代数演算を実行して暗号化する。暗号化ブロックCi*は、このブロックの第1及び第2前方誤り訂正符号を使用して2回符号化する。このときに暗号インデクシング関数が、第2前方誤り訂正符号により使用されたインデックスのセットを提供して第2符号化チャンクCi2’を生成する。各暗号化ブロックC1*,Ciの第1符号化チャンクC11’、Ci1’を出力する。
【選択図】図2
【特許請求の範囲】
【請求項1】
ファイルを誤り訂正符号化し暗号化するコンピュータ実行方法であって、
a)ファイルを少なくとも2つのブロック(C1,・・・,Cn)に分割し(S1)、
b)そのブロックの第1のブロック(C1)は、所定の暗号化キー(K)を用いて暗号化する(S2)ことで第1の暗号化ブロック(C1)とし、該第1の暗号化ブロック(C1)を、前記第1のブロックの第1前方誤り訂正符号(FEC11)及び第2前方誤り訂正符号(FEC12)を用いて2回符号化する(S3)ことで前記第1の暗号化ブロック(C1)の第1符号化チャンク(C11’)及び第2符号化チャンク(C12’)とし、
c)後続の前記ブロック(Ci)は、そのブロック(C2,・・・,Cn)ごとに、それぞれの前に処理された暗号化ブロックの第2符号化チャンクを用いて代数演算を実行することにより暗号化する(S4)ことで暗号化ブロック(Ci)とし、該後続の暗号化ブロック(Ci)のそれぞれを、当該ブロックの第1前方誤り訂正符号(FECi1)及び第2前方誤り訂正符号(FECi2)を用いて2回符号化する(S5)ことで該暗号化ブロック(Ci)の第1符号化チャンク(Ci1’)及び第2符号化チャンク(Ci2’)とし、このときに、前記暗号化キー(K)によりパラメータ化される暗号インデクシング関数(Fii)が、当該ブロックの前記第2前方誤り訂正符号(FECi2)により使用されるインデックスのセットを提供して当該ブロックの前記第2符号化チャンク(Ci2’)を生成し、
d)前記各暗号化ブロック(C1,・・・,Cn)の第1符号化チャンク(C11’,・・・,Cn1’)を出力する(S6)、ことを含むコンピュータ実行方法。
【請求項2】
前記暗号インデクシング関数(Fii)は、これを使用する前記ブロックの数によってパラメータ化する、請求項1に記載のコンピュータ実行方法。
【請求項3】
前記第1のブロック及び後続の前記ブロックのいずれか1つ以上の前記第1及び第2前方誤り訂正符号が同一か又は異なる、請求項1又は2に記載のコンピュータ実行方法。
【請求項4】
別々の前記暗号インデクシング関数を前記ブロックごとの前記前方誤り訂正符号で使用する、請求項1~3のいずれか1項に記載のコンピュータ実行方法。
【請求項5】
前記第1の暗号化チャンク(C1)のシンボルは、前記第1の暗号化チャンク(C1)を符号化する前にシャッフルする、請求項1~4のいずれか1項に記載のコンピュータ実行方法。
【請求項6】
前記シンボルのシャッフリングは、前記暗号化キー(K)によってパラメータ化する、請求項5に記載のコンピュータ実行方法。
【請求項7】
前記暗号インデクシング関数(Fi2)は、前記インデックスのセットをランダムな順序で提供するように構成する、請求項1~6のいずれか1項に記載のコンピュータ実行方法。
【請求項8】
前記ファイルのブロックが均等か又は不均等のサイズである、請求項1~7のいずれか1項に記載のコンピュータ実行方法。
【請求項9】
復号モジュールが前記各暗号化ブロックの第1符号化チャンク(C11’,C21’)を受信し、
a)該第1符号化チャンク(C11’,C21’)の第1の第1符号化チャンク(C11’)は、前方誤り訂正復号器を使用して復号した後に所定の解読キー(K’)を用いて解読し(S8)、
b)後続の前記第1符号化チャンク(Ci1’)はそれぞれ、
前方誤り訂正復号器を使用して復号し(S9)、
そして、それぞれの前に処理された前記ブロックの第2符号化チャンクを用いて代数演算を実行することによって解読し(S10)、これらは前方誤り訂正符号を用いて符号化されたものであって、このとき、前記解読キー(K’)によってパラメータ化される暗号インデクシング関数が、前記前方誤り訂正符号によって使用されたインデックスのセットを提供して、前に処理された前記チャンクから前記第2符号化チャンクを生成し、
c)解読済み符号化チャンクを出力する(S11)、コンピュータ実行方法。
【請求項10】
ファイルを誤り訂正符号化し暗号化する符号化モジュールであって、
a)ファイルを少なくとも2つのブロック(C1,・・・,Cn)に分割し、
b)所定の暗号化キー(K)を用いて前記ブロックの第1のブロック(C1)を暗号化することで第1の暗号化ブロック(C1)とし、当該第1のブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号を用いて前記第1の暗号化ブロック(C1)を2回符号化することで該第1の暗号化ブロック(C1)の第1符号化チャンク(C11’)及び第2符号化チャンク(C12’)を提供し、
c)後続の前記ブロック(C2,・・・,Cn)をそれぞれの前に処理された暗号化ブロックの第2符号化チャンクを用いて代数演算を実行することにより暗号化することで暗号化ブロック(Ci)とし、当該暗号化ブロック(Ci)のそれぞれを該暗号化ブロックの第1前方誤り訂正符号(FECi1)及び第2前方誤り訂正符号(FECi2)を用いて2回符号化することで当該暗号化ブロック(Ci)の第1符号化チャンク(Ci1’)及び第2符号化チャンク(Ci2’)とし、このときに、前記暗号化キー(K)によってパラメータ化される暗号インデクシング関数(Fii)が、当該ブロックの前記第2前方誤り訂正符号(FECi2)によって使用されるインデックスのセットを提供して当該ブロックの前記第2符号化チャンク(Ci2’)を生成し、
d)各前記暗号化ブロックの第1符号化チャンク(C11’,・・・,Cn1’)を出力する、ように構成された符号化モジュール。
【請求項11】
a)ファイルを入力するように構成された入力モジュール(101)と、
b)前記ファイルを少なくとも2つのブロックに分割するように構成された分割モジュール(102)と、
c)請求項10に記載の符号化モジュール(103)と、
d)第1符号化チャンク(C11’,C21’)を出力するように構成された出力モジュール(104)とを備えた送信器。
【請求項12】
請求項11に記載の符号化モジュールから受信されるファイルを誤り訂正復号し解読する復号モジュールであって、
前方誤り訂正復号器を使用して第1符号化チャンク(C11’,C21’)の第1の第1符号化チャンク(C11’)を復号した後に所定の解読キー(K’)を用いて解読し、
後続の前記第1符号化チャンク(Ci1’)はそれぞれ、復号した後にそれぞれの前に処理されたブロックの第2符号化チャンクを用いて代数演算を実行することによって解読し、これらは前方誤り訂正符号を用いて符号化されたものであって、このとき、前記解読キー(K’)によってパラメータ化される暗号インデクシング関数が、前記前方誤り訂正符号によって使用されたインデックスのセットを提供して、前に処理された前記チャンクから前記第2符号化チャンクを生成し、
解読済み符号化チャンク(C11,・・・,Cn2)を出力する、ように構成された復号モジュール。
【請求項13】
a)請求項11に記載の送信器から第1符号化チャンクを受信するように構成された受信モジュール(201)と、
b)請求項12に記載の復号モジュール(202)と、
c)解読済み符号化チャンクを出力するように構成された出力モジュール(203)とを備えた受信器。
【請求項14】
デジタルコンピュータの内部メモリに直接ロード可能なコンピュータプログラムであって、該プログラムがコンピュータで実行されると請求項1~9のいずれか1項に記載のステップを実行させるソフトウェアコード部分を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータが実行するファイルの前方誤り訂正符号化及び暗号化方法、符号化モジュール、送信器、復号モジュール、受信器、及びコンピュータプログラムに関する。
【背景技術】
【0002】
相互接続された装置がデータを交信し、通信ネットワークを介して相互に通信する場合、データ伝送はセキュアで信頼性があるものでなければならない。一般に、2つの方法論がデータ伝送のために使用可能である。TCP(Transmission Control Protocol)によるなどのフィードバックを伴うものか、又はフィードバックを伴わないものである。フィードバックが提供される場合、送信データは順番に到着することが保証され、欠落した又は誤りのある受信データブロックが繰り返されることによって送信エラーを防ぐことができる。ただし、フィードバックを使用すると、一般的に転送速度は遅くなる。フィードバックのない場合、例えばデータダイオードによる送信の場合など、送信情報が順番通りであることは保証されず、部分的に失われる可能性がある。伝送エラーからデータを保護するために、前方誤り訂正符号を適用することができる。さらに機密性を保証するために、対称又は非対称暗号化アルゴリズムを使用してデータを暗号化することができる。暗号化と前方誤り訂正の組み合わせは、一般に計算集約的で複雑なデータファイル全体に対して実行されるのが通例である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
小電力で計算能力が低くそしてメモリ容量の少ないデバイス、例えばモノのインターネット(IoT)デバイス等の場合には、伝送及び暗号化スキームが効率的で効果的であることが要求される。
本発明の目的は、特にメモリ容量が少ないか計算能力の低い又はその両方であるデバイス間の伝送に関し、暗号保護したセキュアなファイルの伝送を可能にすることにある。
【課題を解決するための手段】
【0004】
上記目的は、独立形式請求項の特徴によって解決される。引用形式の請求項は、本発明の発展態様を含む。
【0005】
本発明の第1の態様は、コンピュータが実行するファイルの誤り訂正符号化及び暗号化方法を対象とする。このコンピュータ実行方法は、
a)ファイルを少なくとも2つのブロックに分割し、
b)そのブロックの第1のブロックは、所定の暗号化キーを用いて暗号化することで第1の暗号化ブロックとし、該第1の暗号化ブロックを、この第1のブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号を用いて2回符号化することで該第1の暗号化ブロックの第1符号化チャンク及び第2符号化チャンクとし、
c)後続のブロックは、そのブロックごとに、それぞれの前に処理された暗号化ブロックの第2符号化チャンクを用いて代数演算を実行することにより暗号化することで暗号化ブロックとし、該後続の暗号化ブロックのそれぞれを、当該ブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号を用いて2回符号化することで該暗号化ブロックの第1符号化チャンク及び第2符号化チャンクとし、このときに、前記暗号化キーによりパラメータ化される暗号インデクシング関数が、当該ブロックの第2前方誤り訂正符号により使用されたインデックスのセットを提供して当該ブロックの第2符号化チャンクを生成し、
d)前記各暗号化ブロックの第1符号化チャンクを出力する、ことを含む。
【0006】
本発明によれば、暗号法の暗号化と前方誤り訂正符号化とを同時に実行でき、符号化器側と復号器側のメモリ消費を軽減できる利点がある。機密情報を、伝送エラーに対して保護し且つ機密性のために保護することができる。ファイル、すなわちデータファイル又は情報は、少なくとも2つのブロックに分割され、各ブロックは別々に処理することができる。2番目以降の後続する各ブロックは、同じ方法ステップを適用して暗号化され且つ前方誤り訂正符号化される。この方法では高度な暗号化/解読関数の集中的な使用を避けることができるので、同時の暗号化及び符号化は、計算時間かメモリあるいはその両方を節約し得る。通信の秘密を維持する一方、ファイルの第1の(最初の)ブロックのみ高度な暗号化を使用して暗号化する。この方法は、一般に電力と複雑性のどちらか又は両方の制約を受けるデバイスである送信器や受信器としてのモノのインターネットデバイスに有用である。本方法のメモリ消費は、ファイルそのものに前方誤り訂正と暗号化を実行する場合に比べて低いので好ましい。
【0007】
以下の説明において、別の意味の指定をしていなければ、「暗号化」は暗号法の暗号化アルゴリズムに関連し、「符号化」は前方誤り訂正アルゴリズムに関連する。
【0008】
本方法ステップの出力は、原ファイルの各ブロックそれぞれの第1符号化チャンクを含む。第1符号化チャンクには、暗号化及び符号化した、原ファイルの情報のビットが含まれる。第1符号化チャンクを、例えば受信器に送信する。このコンピュータ実行方法は、具体的には少なくともプロセッサで実行される。
【0009】
別の意味を指定しなければ、「計算」、「実行」、「コンピュータが実行」、「演算」、「決定(判定)」、「生成」、「構成」、「再構成」などの用語は、具体的には物理的データとして提示されるデータを変更するか生成する、あるいは変更して生成する、コンピュータ又はプロセッサによって実行されるアクション、プロセス、ステップのいずれか1つ以上に好ましくは関連している。「コンピュータ」は、広く解釈すべきで、パーソナルコンピュータ、サーバ、ポケットPCデバイス、モバイルコンピューティングデバイス、データ処理を行える通信デバイス、又はCPUやマイクロプロセッサなどのプロセッサであり得る。
【0010】
本コンピュータ実行方法で使用される各ブロック用の第1及び第2前方誤り訂正符号のいずれか又は両方は、好ましくは、噴水符号(fountain codes)又はレートレス消失訂正符号である。
【0011】
代数演算は、各暗号化ブロックを出力する排他的論理和関数(XOR関数)であることが好ましい。
【0012】
第1のブロックの暗号化は、所定の暗号化キーを使用して実行される。対称又は非対称暗号化アルゴリズムを適用できる。
【0013】
インデックス生成関数と呼ぶことができる暗号インデクシング関数は、暗号化キーによってパラメータ化され、2番目以降のブロックの符号化チャンクのインデックスシンボルにインデックスのセットを提供する。暗号インデクシング関数によって提供されるインデックスの順番は、好ましくは暗号化されるので、容易には解読できない。
【0014】
本コンピュータ実行方法の好ましい態様によれば、暗号インデクシング関数は、これを使用するブロックの数によってパラメータ化可能である。
【0015】
暗号インデクシング関数がブロックごとに違えば、より強力な符号化が提供される。暗号インデクシング関数は、受信側で、受信した符号化チャンクを復号するために知られているべきである。
【0016】
本コンピュータ実行方法の好ましい態様によれば、第1のブロック及び後続のブロックのいずれか1つ以上の第1及び第2前方誤り訂正符号は、同様のものであるか又は異なる。
【0017】
ブロックごとの第1及び第2前方誤り訂正符号は、同一の又は異なる符号かアルゴリズムに基づく。適用された前方誤り訂正符号は、復号のために受信側で知られているべきである。
【0018】
本コンピュータ実行方法の好ましい態様によれば、別々の暗号インデクシング関数がブロックごとの前方誤り訂正符号によって使用される。
【0019】
暗号インデクシング関数がブロックごとに違うことで、より強力な符号化が提供される。
【0020】
コンピュータが実行する本方法の好ましい態様によれば、第1暗号化チャンクのシンボルは、第1暗号化チャンクを符号化する前にシャッフルすることができる。
【0021】
より強力な暗号化を提供するために、原ファイルの第1のブロックのシンボルは、シャッフリングアルゴリズム(スキーム)を使用してシャッフルすることができる。そのシャッフリングスキームは、受信側で知られているべきである。これらの特性をもつ既製のシャッフリングアルゴリズムを使用できる。
【0022】
本コンピュータ実行方法の好ましい態様によれば、シンボルのシャッフリングは、暗号化キーによってパラメータ化することができる。
【0023】
シャッフリングスキームは、暗号化キーによって保護することもできる。
【0024】
本コンピュータ実行方法の好ましい態様によれば、暗号インデクシング関数は、ランダムな順序のインデックスのセットを提供するように構成することができる。
【0025】
本コンピュータ実行方法の好ましい態様によれば、ファイルのブロックは均等なサイズとするか又は不均等のサイズとすることができる。
【0026】
ブロックのサイズは、望むセキュリティレベルに基づいて決定すべきである。
【0027】
本コンピュータ実行方法の好ましい態様によれば、復号モジュールが各暗号化ブロックの第1符号化チャンクを受信し、
a)そのうちの第1の第1符号化チャンクは、前方誤り訂正復号器を使用して復号した後に所定の解読キーを使用して解読し、
b)後続の第1符号化チャンクはそれぞれ、
前方誤り訂正復号器を用いて復号し、
そして、それぞれの前に処理されたブロックの第2符号化チャンクを用いて代数演算を実行することによって解読し、これらは前方誤り訂正符号を用いて符号化されたものであって、このとき、前記解読キーによってパラメータ化される暗号インデクシング関数が、前方誤り訂正符号によって使用されたインデックスのセットを提供して、前に処理されたチャンクから第2符号化チャンクを生成し、
c)解読済み符号化チャンクを出力する。
【0028】
各ブロックの第1符号化チャンクは、例えば低電力デバイスに送られる。受信側で第1符号化チャンクを復号する。したがって、符号化器と復号器は関連しているのが好ましい。第1のブロックの第1符号化チャンクの解読は、暗号化方式に応じた適切な解読キーを使用して解読する。解読と復号のためにそれぞれ使用される代数演算と前方誤り訂正復号器のいずれか又は両方は、暗号化と符号化のためにそれぞれ使用される演算と符号に関連していることが好ましい。例えば、使用された演算及び符号に関する必要な情報が受信器に送信され、受信器側で適切に記憶することなどができる。
【0029】
本発明の別の態様は、ファイルを誤り訂正符号化し暗号化する符号化モジュールを対象とする。この符号化モジュールは、
a)ファイルを少なくとも2つのブロックに分割し、
b)所定の暗号化キーを使用して第1のブロックを暗号化することで第1の暗号化ブロックとし、当該第1のブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号を使用して第1の暗号化ブロックを2回符号化することで第1の暗号化ブロックの第1符号化チャンク及び第2符号化チャンクを提供し、
c)後続の各ブロックをそれぞれの前に処理された暗号化ブロックの第2符号化チャンクを用いて代数演算を行うことによって暗号化することで暗号化ブロックとし、これら暗号化ブロックを該暗号化ブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号を使用して2回符号化することで当該暗号化ブロックの第1符号化チャンク及び第2符号化チャンクとし、このときに、前記暗号化キーによってパラメータ化される暗号インデクシング関数が、当該ブロックの第2前方誤り訂正符号によって使用されたインデックスのセットを提供して当該ブロックの第2符号化チャンクを生成し、
d)各暗号化ブロックの第1符号化チャンクを出力する、ように構成される。
【0030】
この符号化モジュールは、例えば、送信器の一部であってもよいし、通信リンクを介して受信デバイスへファイル又はデータを送るように構成された伝送/送信デバイスに接続されたものでもよい。
【0031】
本発明の別の態様は送信器を対象とし、該送信器は、
a)ファイルを入力するように構成された入力モジュールと、
b)そのファイルを少なくとも2つのブロックに分割するように構成された分割モジュールと、
c)本発明に係る符号化モジュールと、
d)第1符号化チャンクを出力するように構成された出力モジュールとを備える。
【0032】
本発明の別の態様は、本発明に係る符号化モジュールから受信されるファイルを誤り訂正復号し解読する復号モジュールを対象とする。この復号モジュールは、
前方誤り訂正復号器を使用して第1の第1符号化チャンクを復号した後に所定の解読キーを使用して解読し、
後続の第1符号化チャンクはそれぞれ、復号した後にそれぞれの前に処理されたブロックの第2符号化チャンクを用いて代数演算を実行することによって解読し、これらは前方誤り訂正符号を用いて符号化されたものであって、このとき、前記解読キーによってパラメータ化される暗号インデクシング関数が、前方誤り訂正符号によって使用されたインデックスのセットを提供して、前に処理されたチャンクから第2符号化チャンクを生成し、
解読済み符号化チャンクを出力する、ように構成される。
【0033】
本発明の別の態様は受信器を対象とし、該受信器は、
a)本発明に係る送信器から第1符号化チャンクを受信するように構成された受信モジュールと、
b)本発明に係る復号モジュールと、
c)解読済み符号化ブロックを出力するように構成された出力モジュールとを備える。
【0034】
上記送信器及び受信器は、例えば、当該受信器及び送信器が好ましくは無線又は有線の通信リンクやネットワークを介して接続されるシステムを形成する。該システム、送信器、受信器のいずれか1つ以上の少なくとも一部は、ソフトウェアかハードウェア、又はこれらを組み合わせて実施することができる。
【0035】
さらに、本発明は、デジタルコンピュータの内部メモリに直接ロード可能なコンピュータプログラムに関する。このコンピュータプログラムは、当該プログラムを実行したコンピュータに本発明に係る上記方法のいずれかの各ステップを実行させるソフトウェアコード部分を含む。コンピュータプログラムは、例えば、USBスティックなどの記憶媒体か、ダウンロード可能なデータファイルであり得る。
【図面の簡単な説明】
【0036】
次の図面を参照して本発明をより詳細に説明する。
図1】本発明に係るコンピュータ実行方法のフローチャート。
図2】本発明に係るコンピュータ実行方法の概略説明図。
図3】本発明に係るコンピュータ実行方法の別の概略説明図。
図4】本発明に係る送信器の概略図。
図5】本発明に係る受信器の概略図。
図6】本発明に係る送信器及び受信器を含むシステムの概略図。
【発明を実施するための形態】
【0037】
各図面において、同等の部分には同じ参照符号が付されている。
【0038】
図1は、本発明に係る、コンピュータが実行する方法のフローチャートを示す。この方法は、例えば、その方法ステップの少なくとも一部を実行するための少なくとも1つのプロセッサを備えた送信器により実行され、この送信器は、その方法ステップの少なくとも一部を実行するための少なくとも1つのプロセッサを備えた受信器と接続される。
【0039】
当該セットアップは、セキュアでエラーのない方法でファイルFを送信することを目的とする。好ましくは送信(発信)側が本発明に係る符号化モジュールを含む。最初のステップS1において、データファイル又はデータパッケージである所定のファイルFが読み込まれ、多数のシンボルからなる少なくとも2つのブロックに分割される。ブロックのサイズは同じでも違っていてもかまわない。ブロックの数は、ファイルサイズ、ブロック長、伝送エラーや改ざんに対する保護のレベルのいずれか1つ以上に依存する。
【0040】
ブロック数が多いほど、よりセキュアな伝送を実現できる。ファイルのブロックは、通常、伝送損失又はエラーのために受信側で失われる可能性があるシンボルを含む。したがって、前方誤り訂正符号、好ましくは噴水符号(fountain code)が、伝送損失又はエラーからコンテンツを保護するために、以降において使用される。
【0041】
本例のコンピュータ実行方法の次のステップS2において、第1の(最初の)ブロックを、対称又は非対称暗号化アルゴリズムを用いた所定の暗号化キーにより暗号化することで、第1の暗号化ブロックとする。
【0042】
必要に応じて、第1の暗号化ブロックのシンボルを符号化前にシャッフルすることで、より強力な保護を提供できる。シャッフリングスキームは、暗号化キーによってパラメータ化することができる。
【0043】
次のステップS3において、第1の暗号化ブロックは、第1のブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号を使用して2回、前方誤り訂正符号化する。第1のブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号は、同一か又は異なる符号に基づく。言い換えると、前方誤り訂正は、第1の暗号化ブロックに対して2回実行される。
【0044】
このステップにより、第1の暗号化ブロックの第1符号化チャンクと第2符号化チャンクとが生成される。第1及び第2符号化チャンクは、受信側で第1のブロックの再構成を可能にするために、使用した前方誤り訂正符号に従う第1のブロックのエキストラシンボルを含む。第1の暗号化ブロックの第1符号化チャンクを出力する一方、第1の暗号化ブロックの第2符号化チャンクはさらに処理する。第1の暗号化ブロックの第1及び第2符号化チャンクは、受信側で第1のブロックの情報コンテンツを復元できるようにするための情報を含む。
【0045】
次のステップS4において、後続のブロックをそれぞれ暗号化し、後続の暗号化ブロックを生成する。この暗号化は、代数演算、好ましくは排他的論理和演算を、後続の各ブロックと、その前に処理したブロックの第2符号化チャンクに対して実行することに基づいている。第2の(2番目の)ブロックの場合、第1のブロックの第2符号化チャンクを使用して暗号化が実行されることで、第2の暗号化ブロックになる。
【0046】
次のステップS5において、処理した各後続ブロックの暗号化ブロックを、それぞれのブロックの第1及び第2前方誤り訂正符号を使用して、2回符号化する。第2前方誤り訂正符号は、所定の暗号インデクシング関数によって提供されるインデックスのセットに基づいて実行される。暗号インデクシング関数がインデックスを生成し、各ブロック数によってパラメータ化することもできる。さらに、ブロックサイズが異なる場合には、インデクシング関数をブロックサイズに適応させることができる。別々の暗号インデクシング関数を、異なるブロックの対応する前方誤り訂正符号で使用することができる。暗号インデクシング関数は、好ましくは、ランダムな順序でインデックスのセットを提供する。
【0047】
このステップS5の出力は、各暗号化ブロックの第1及び第2符号化チャンクである。第1符号化チャンクを出力する一方、原ファイルFの未処理のブロックが残っていれば第2符号化チャンクを処理する。このステップと前のステップは、ファイルの第1の(最初の)ブロックを除くすべてのブロックに対して実行される。
【0048】
ステップS6において、各暗号化ブロックの第1符号化チャンクを出力し、受信器へ送信する。この伝送は、例えば、データダイオードを介して、又はIoTデバイスなどの低電力低メモリ容量デバイスの間で、あるいはその両方で、行われる。
【0049】
受信器は、本発明に係る復号モジュールを含むべきである。第1符号化チャンクが受信器で受信され、ファイルFの原ソース情報を復元するために、ステップS7で復号モジュールの入力として提供される。
【0050】
次のステップS8において、第1の(最初の)第1符号化チャンクを前方誤り訂正復号器により復号し、その後、所定の解読キーを使用して解読する。第1の第1符号化チャンクは、原ファイルの第1のブロックに関連する。復号にあたり、第1のブロックに使用された第1前方誤り訂正符号に対応している前方誤り訂正復号器を使用する。解読キーは、暗号化方法に従って暗号化キーに結びつけられるべきである。前方誤り訂正符号及びその復号器に関する情報と暗号化方法に関する情報のどちらか又は両方が、受信側において少なくとも、提供されるか、構成されるか、又は知らされているべきである。
【0051】
次のステップS9において、後続のブロックそれぞれの第1符号化チャンクをそれぞれ、符号化に使用した第1前方誤り訂正符号に対応する前方誤り訂正復号器を使用して復号する。
【0052】
その後、次のステップS10において、復号チャンクを、好ましくは暗号化に使用したものと同じ代数演算を使用して、解読する。この代数演算は、各復号チャンクと、その前に処理したブロックの第2符号化チャンクとに対して実行する。したがって、前に処理したブロックの解読済み復号チャンクが、前方誤り訂正符号を使用してもう一度符号化される。このときに、解読キーによってパラメータ化される暗号インデクシング関数が、前方誤り訂正符号によって使用されたインデックスのセットを提供して、前に処理されたチャンクから第2符号化チャンクを生成する。前方誤り訂正符号及び暗号インデクシング関数は、好ましくはそれぞれの符号化スキームに対応する。前に処理されたブロックから生成されるこの第2符号化チャンクが、復号チャンクの解読に使用される。
【0053】
ステップS11において、すべての第1符号化チャンクの復号及び解読の出力が解読済み符号化チャンクであり、これらが結合されて、原ファイルFの送信バージョンが再現される。好ましくは、例えば処理したチャンクの追加の誤り訂正シンボルによって、ファイルFが損失なしで再構成される。
【0054】
送信器と受信器の両方で、それぞれ、高度な暗号化関数と復号関数に対する呼び出しが1回だけ実行される。さらに、このスキームは、固定又は可変ブロックサイズのいずれかで情報をストリーミングするために容易に使用することができ、このときの受信側は、ストリームを復号することができるように、最初から送信を受信する必要がある。その代わりに、説明したスキームは、それ自体がブロックのセットに適用されることで、1つのブロックのセットから新しいブロックのセットへ移るときに受信器が受信に加わることができる。
【0055】
図2は、コンピュータが実行する本発明に係る方法の概略図を示す。ファイルFは数個のブロックC1,C2,・・・,Ci,・・・,Cnに分割する。第1のブロックC1は、暗号化方法Eと所定の暗号化キーKを使用して暗号化することで、第1の暗号化ブロックC1とする。その後、第1の暗号化ブロックC1は、第1前方誤り訂正符号FEC11及び第2前方誤り訂正符号FEC12を使用して2回、符号化し、第1の暗号化ブロックC1の第1符号化チャンクC11’及び第2符号化チャンクC12’とする。第1符号化チャンクC11’は、第1前方誤り訂正符号FEC1と、好ましくは既知のインデックスのセットとを使用して計算する。第2符号化チャンクC12’は、第2前方誤り訂正符号FEC12と、暗号化キーKによってパラメータ化されるそれぞれのインデクシング関数Fi1とを使用して計算する。第1の暗号化ブロックC1の第1符号化チャンクC11’を出力する。第1の暗号化ブロックC1の第2符号化チャンクC12’は、さらに処理に付す。
【0056】
この例では、ブロックごとの第1前方誤り訂正符号FEC11,FEC21,FECi1は、所定の又は既知のインデックスを使用する。あるいは(示していないが)、第1前方誤り訂正符号は、インデックス生成関数によって提供されるインデックスを使用することもできる。例えば、各ブロックの第1及び第2前方誤り訂正符号に転送することができるインデックスのリストを生成するインデックス生成関数を提供することができる。この場合、インデックスのリストのインデックスの第1のセットを第1前方誤り訂正符号で、インデックスの次のセットを次の符号で、というように使うことができる。
【0057】
原ファイルFの第2のブロックC2は、第1の暗号化ブロックC1の第2符号化チャンクC12’と排他的論理和演算XORを実行することによって暗号化し、第2の暗号化ブロックC2とする。第2の暗号化ブロックC2は、第2のブロックC2の第1前方誤り訂正符号FEC21及び第2前方誤り訂正符号FEC22を用いて2回、符号化することで、第1符号化チャンクC21’及び第2符号化チャンクC22’とする。第2前方誤り訂正符号は、具体的には暗号インデクシング関数Fi2によって提供されるインデックスのセットを使用する。第2の暗号化ブロックC2の第1符号化チャンクC21’を出力する。第2の暗号化ブロックC2の第2符号化チャンクC22’は、さらに処理に付す。
【0058】
後続のブロック、すなわち、第3~第nのブロックCi,・・・,Cnのそれぞれについて、これらのブロックCi,・・・,Cnの暗号化及び符号化は、第2のブロックC2の暗号化及び符号化と同様である。したがって、原ファイルFのすべてのブロックを処理するまで、後続のすべてのブロックの暗号化と符号化を繰り返し実行する。
【0059】
最終的に、各ブロックC1,C2,・・・,Ci,・・・,Cnそれぞれの第1符号化チャンクC11’,C21’,・・・,Ci1’,・・・,Cn1’を出力する。
【0060】
図3は、受信側における復号と解読を示している。第1符号化チャンクC11’,C21’,・・・,Ci1’,・・・,Cn1’が、復号モジュールを含む受信器に送信される。
【0061】
第1の(最初の)第1符号化チャンクC11’は、原ファイルFの第1のブロックC1に該当する。第1符号化チャンクC11’は、第1のブロックC1の符号化に使用された第1前方誤り訂正符号に対応する前方誤り訂正復号器DEC1を使用して復号する。復号の結果、復号済みではあるが未だ暗号法で暗号化されている第1暗号化チャンクC11が生成される。この第1暗号化チャンクC11は、適切な解読アルゴリズムDE及び解読キーK’を使用して解読することで、解読及び復号済みの第1チャンクC11となり、これは第1のブロックC1と同等の情報を含んでいるはずであり、つまり、第1のブロックC1のすべてのシンボルが回復される。
【0062】
後続の第1符号化チャンクC21’,・・・,Ci2’,・・・,Cn2’の復号と解読は、次のように実行する。各符号化チャンクC21’,・・・,Ci2’,・・・,Cn2’は、それぞれ、適切な前方誤り訂正復号器DEC2,・・・,DECi,・・・,DECnを使用して復号する。これら前方誤り訂正復号器は、ブロックそれぞれの符号化に使用されたブロックごとの第1前方誤り訂正符号に対応する。この結果、復号済み第1暗号化チャンクC21,・・・,Ci1,・・・,・・・,Cn1が得られるが、これらは未だ暗号法で暗号化されている。その解読は、暗号化に使用されたものに対応する代数演算に基づいて実行し、前方誤り訂正符号FEC2,FEC22,・・・を用いて符号化してあるそれぞれの前に処理されたブロックの第2符号化チャンクを使用して実行する。各前方誤り訂正符号FEC2,FEC22,・・・は、解読キーK’によってパラメータ化された暗号インデクシング関数によって提供されるインデックスのセットを使用する。好ましくは、使用する前方誤り訂正符号FEC2,FEC22,・・・は、送信側において暗号化に使用した各符号に対応する。
【0063】
出力される復号及び解読済み第1チャンクC12,C1i、・・・は、原ファイルFの後続ブロックC2,Ci,・・・に相当する情報を含んでいるはずである。
【0064】
図4は、本発明に係る送信器100の概略的なブロック図を示す。送信器100は、例えば、通信リンクCを介して受信器に、暗号化した前方誤り訂正符号化データを送るように構成された低電力デバイスである。送信器100は、入力モジュール101、分割モジュール102、符号化モジュール103、及び出力モジュール104を含む。送信器100は、少なくとも1つのプロセッサとメモリ(図示せず)のいずれか又は両方をさらに含むことができる。送信器100は、コンピュータが実行する本発明に係る方法のステップを実行するように構成されている。
【0065】
図5は、本発明に係る受信器200の概略的なブロック図を示す。受信器200は、受信モジュール201、復号モジュール202、及び出力モジュール203を含む。受信器200は、少なくとも1つのプロセッサとメモリのいずれか又は両方をさらに含むことができる。受信器200は、通信リンクCを介して、前方誤り訂正符号化及び暗号化されたデータを受信する低電力デバイスである。
【0066】
図6は、本発明に係る送信器100及び受信器200からなるシステム300を示す。送信器100と受信器200は、通信ネットワークNWを介してデータを交信するべく接続される。送信器100と受信器200のいずれか又は両方がIoTデバイスであり得る。図4に示すようなモジュールを含む送信器100は、ファイルのブロックごとに第1符号化チャンクを提供するように構成される。第1符号化チャンクを暗号化し、前方誤り訂正符号化することで、ファイルコンテンツのセキュアな伝送を可能にする。図5に示すようなモジュールを含む受信器200は、受信した第1符号化チャンクを解読し復号するように構成されている。解読及び復号の後、好ましくは原ファイルのコンテンツが解読済み復号チャンクから再構築される。
【0067】
上述の方法及び方法ステップのすべては、各方法ステップを実行するべく構成した対応する手段によって実行され得る。具体的手段によって提供される機能のすべてが上記方法の方法ステップであり得る。
【0068】
本発明の保護範囲は特許請求の範囲によって与えられるべきであり、説明した特徴及び図示による説明によって制限されない。本発明は、説明した例に限定されるものではない。また、本発明は、説明し図示した特徴のいずれの組み合をもすべて含む。
図1
図2
図3
図4
図5
図6
【手続補正書】
【提出日】2022-03-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ファイルを誤り訂正符号化し暗号化する送信側コンピュータと、ファイルを誤り訂正復号し解読する受信側コンピュータとを含む、データ交信システムであって、
前記送信側コンピュータは、
a)ファイルを少なくとも2つのブロックに分割
b)そのブロックの第1のブロックは、所定の暗号化キーを用いて暗号化することで第1の暗号化ブロックとし、該第1の暗号化ブロックを、前記第1のブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号を用いて2回符号化することで前記第1の暗号化ブロック第1符号化チャンク及び第2符号化チャンクとし、
c)後続の前記ブロックは、そのブロックごとに、それぞれの前に処理された暗号化ブロックの第2符号化チャンクを用いて代数演算を実行することにより暗号化することで暗号化ブロックとし、該後続の暗号化ブロックのそれぞれを、当該ブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号を用いて2回符号化することで該暗号化ブロック第1符号化チャンク及び第2符号化チャンクとし、このときに、前記暗号化キーによりパラメータ化される暗号インデクシング関数が、当該ブロックの前記第2前方誤り訂正符号により使用されるインデックスのセットを提供して当該ブロックの前記第2符号化チャンクを生成し、
d)前記各暗号化ブロック第1符号化チャンクを出力するように構成され、
前記送信側コンピュータにより誤り訂正符号化し暗号化されたファイルを受信する前記受信側コンピュータは、
該ファイルを構成する前記各暗号化ブロックの前記第1符号化チャンクを受信し、
e)該第1符号化チャンクの第1の第1符号化チャンクは、前方誤り訂正復号器を使用して復号した後に所定の解読キーを用いて解読し、
f)後続の前記第1符号化チャンクはそれぞれ、前方誤り訂正復号器を使用して復号し、そして、それぞれの前に処理された前記ブロックの第2符号化チャンクを用いて代数演算を実行することによって解読し、これらは前方誤り訂正符号を用いて符号化されたものであって、このとき、前記解読キーによってパラメータ化される暗号インデクシング関数が、前記前方誤り訂正符号によって使用されたインデックスのセットを提供して、前に処理された前記チャンクから前記第2符号化チャンクを生成し、
g)解読済み符号化チャンクを出力する、ように構成される、
データ交信システム
【請求項2】
前記送信側コンピュータにおいて、前記暗号インデクシング関数は、これを使用する前記ブロックの数によってパラメータ化する、請求項1に記載のデータ交信システム
【請求項3】
前記送信側コンピュータにおいて、前記第1のブロック及び後続の前記ブロックのいずれか1つ以上の前記第1及び第2前方誤り訂正符号が同一か又は異なる、請求項1又は2に記載のデータ交信システム
【請求項4】
前記送信側コンピュータにおいて、別々の前記暗号インデクシング関数を前記ブロックごとの前記前方誤り訂正符号で使用する、請求項1~3のいずれか1項に記載のデータ交信システム
【請求項5】
前記送信側コンピュータにおいて、前記第1の暗号化ブロックのシンボルは、前記第1の暗号化ブロックを符号化する前にシャッフルする、請求項1~4のいずれか1項に記載のデータ交信システム
【請求項6】
前記送信側コンピュータにおいて、前記シンボルのシャッフリングは、前記暗号化キーによってパラメータ化する、請求項5に記載のデータ交信システム
【請求項7】
前記送信側コンピュータにおいて、前記暗号インデクシング関数は、前記インデックスのセットをランダムな順序で提供するように構成する、請求項1~6のいずれか1項に記載のデータ交信システム
【請求項8】
前記送信側コンピュータにおいて、前記ファイルのブロックが均等か又は不均等のサイズである、請求項1~7のいずれか1項に記載のデータ交信システム
【請求項9】
通信ネットワークを介して交信する送信器と受信器を含んだシステムであって、
前記送信器は、ファイルを誤り訂正符号化し暗号化する符号化モジュールを備え、該符号化モジュールは、
a)ファイルを少なくとも2つのブロックに分割し、
b)所定の暗号化キーを用いて前記ブロックの第1のブロックを暗号化することで第1の暗号化ブロックとし、当該第1のブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号を用いて前記第1の暗号化ブロックを2回符号化することで該第1の暗号化ブロック第1符号化チャンク及び第2符号化チャンクを提供し、
c)後続の前記ブロックをそれぞれの前に処理された暗号化ブロックの第2符号化チャンクを用いて代数演算を実行することにより暗号化することで暗号化ブロックとし、当該暗号化ブロックのそれぞれを該暗号化ブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号を用いて2回符号化することで当該暗号化ブロック第1符号化チャンク及び第2符号化チャンクとし、このときに、前記暗号化キーによってパラメータ化される暗号インデクシング関数が、当該ブロックの前記第2前方誤り訂正符号によって使用されるインデックスのセットを提供して当該ブロックの前記第2符号化チャンクを生成し、
d)各前記暗号化ブロックの第1符号化チャンクを出力する、ように構成され
前記受信器は、前記送信器から受信されるファイルを誤り訂正復号し解読する復号モジュールを備え、該復号モジュールは、そのファイルを構成する前記各暗号化ブロックの前記第1符号化チャンクを受信して、
e)前方誤り訂正復号器を使用して該第1符号化チャンクの第1の第1符号化チャンクを復号した後に所定の解読キーを用いて解読し、
f)後続の前記第1符号化チャンクはそれぞれ、復号した後にそれぞれの前に処理された前記ブロックの第2符号化チャンクを用いて代数演算を実行することによって解読し、これらは前方誤り訂正符号を用いて符号化されたものであって、このとき、前記解読キーによってパラメータ化される暗号インデクシング関数が、前記前方誤り訂正符号によって使用されたインデックスのセットを提供して、前に処理された前記チャンクから前記第2符号化チャンクを生成し、
g)解読済み符号化チャンクを出力する、ように構成される、
システム
【請求項10】
前記送信器は、
前記ファイルを入力するように構成された入力モジュールと、
ファイルを少なくとも2つのブロックに分割するように構成された分割モジュールと、
前記第1符号化チャンクを出力するように構成された出力モジュールとを、さらに備える、請求項9に記載のシステム
【請求項11】
前記受信器は、
前記第1符号化チャンクを受信するように構成された受信モジュールと、
前記解読済み符号化チャンクを出力するように構成された出力モジュールとを、さらに備える、請求項9又は10に記載のシステム
【請求項12】
デジタルコンピュータの内部メモリに直接ロード可能なコンピュータプログラムであって、該プログラムがコンピュータで実行されると、当該コンピュータを、請求項1~8のいずれか1項に記載のデータ交信システムの前記送信側コンピュータ又は前記受信側コンピュータとして動作させるソフトウェアコード部分を含む、コンピュータプログラム。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0005
【補正方法】変更
【補正の内容】
【0005】
本発明の第1の態様は、コンピュータが実行するファイルの誤り訂正符号化及び暗号化方法を対象とする。この方法を実行するコンピュータは、データ交信システムの送信側コンピュータとして、
a)ファイルを少なくとも2つのブロックに分割し、
b)そのブロックの第1のブロックは、所定の暗号化キーを用いて暗号化することで第1の暗号化ブロックとし、該第1の暗号化ブロックを、この第1のブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号を用いて2回符号化することで該第1の暗号化ブロックの第1符号化チャンク及び第2符号化チャンクとし、
c)後続のブロックは、そのブロックごとに、それぞれの前に処理された暗号化ブロックの第2符号化チャンクを用いて代数演算を実行することにより暗号化することで暗号化ブロックとし、該後続の暗号化ブロックのそれぞれを、当該ブロックの第1前方誤り訂正符号及び第2前方誤り訂正符号を用いて2回符号化することで該暗号化ブロックの第1符号化チャンク及び第2符号化チャンクとし、このときに、前記暗号化キーによりパラメータ化される暗号インデクシング関数が、当該ブロックの第2前方誤り訂正符号により使用されたインデックスのセットを提供して当該ブロックの第2符号化チャンクを生成し、
d)前記各暗号化ブロックの第1符号化チャンクを出力する、ように構成される
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0020
【補正方法】変更
【補正の内容】
【0020】
コンピュータが実行する本方法の好ましい態様によれば、第1の暗号化ブロックのシンボルは、第1の暗号化ブロックを符号化する前にシャッフルすることができる。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0027
【補正方法】変更
【補正の内容】
【0027】
本コンピュータ実行方法の好ましい態様によれば、上記送信側コンピュータにより誤り訂正符号化し暗号化されたファイルを受信する受信側コンピュータは、
ファイルを構成する各暗号化ブロックの第1符号化チャンクを受信し、
e)そのうちの第1の第1符号化チャンクは、前方誤り訂正復号器を使用して復号した後に所定の解読キーを使用して解読し、
f)後続の第1符号化チャンクはそれぞれ、
前方誤り訂正復号器を用いて復号し、
そして、それぞれの前に処理されたブロックの第2符号化チャンクを用いて代数演算を実行することによって解読し、これらは前方誤り訂正符号を用いて符号化されたものであって、このとき、前記解読キーによってパラメータ化される暗号インデクシング関数が、前方誤り訂正符号によって使用されたインデックスのセットを提供して、前に処理されたチャンクから第2符号化チャンクを生成し、
g)解読済み符号化チャンクを出力する、ように構成される
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0030
【補正方法】変更
【補正の内容】
【0030】
この符号化モジュールは、例えば、通信リンクを介して受信器(受信デバイス)へファイル(データ)を送るように構成された送信器の一部であってもよいし、送信器(送信デバイス)に接続されたものでもよい。
【外国語明細書】