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

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

▶ ナグラヴィジョン エス.アー.の特許一覧

特表2024-507773センサデータへのアクセスを制御するための方法およびシステム
<>
  • 特表-センサデータへのアクセスを制御するための方法およびシステム 図1
  • 特表-センサデータへのアクセスを制御するための方法およびシステム 図2
  • 特表-センサデータへのアクセスを制御するための方法およびシステム 図3
  • 特表-センサデータへのアクセスを制御するための方法およびシステム 図4
  • 特表-センサデータへのアクセスを制御するための方法およびシステム 図5
  • 特表-センサデータへのアクセスを制御するための方法およびシステム 図6
  • 特表-センサデータへのアクセスを制御するための方法およびシステム 図7
  • 特表-センサデータへのアクセスを制御するための方法およびシステム 図8A
  • 特表-センサデータへのアクセスを制御するための方法およびシステム 図8B
  • 特表-センサデータへのアクセスを制御するための方法およびシステム 図9
  • 特表-センサデータへのアクセスを制御するための方法およびシステム 図10
  • 特表-センサデータへのアクセスを制御するための方法およびシステム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-21
(54)【発明の名称】センサデータへのアクセスを制御するための方法およびシステム
(51)【国際特許分類】
   G06F 21/62 20130101AFI20240214BHJP
   G06F 21/60 20130101ALI20240214BHJP
【FI】
G06F21/62
G06F21/60 320
G06F21/60
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023548703
(86)(22)【出願日】2022-02-18
(85)【翻訳文提出日】2023-10-10
(86)【国際出願番号】 EP2022054149
(87)【国際公開番号】W WO2022175490
(87)【国際公開日】2022-08-25
(31)【優先権主張番号】21158265.5
(32)【優先日】2021-02-19
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】521080358
【氏名又は名称】ナグラヴィジョン エスアーエールエル
【住所又は居所原語表記】Route de Geneve 22-24, 1033 Cheseaux-sur-Lausanne (CH)
(74)【代理人】
【識別番号】110001461
【氏名又は名称】弁理士法人きさ特許商標事務所
(72)【発明者】
【氏名】グレモー ファビアン
(57)【要約】
センサデータへのアクセスを制御する方法は、センサデータを生成し、保護し、保護されたセンサデータを生成するステップ、保護されたセンサデータを記憶のためデバイスに送信するステップ、センサによりデバイスが保護されたセンサデータに対し実行することを許可される1つ以上の動作を定義するアクセス制御データを受信するステップ、センサによりアクセス制御データに基づいて、デバイスが保護されたセンサデータに対し実行することを許可される動作を判定するステップ、デバイスが保護されたセンサデータに対して許可される動作を実行できるようにするステップを含む。デバイスにより保護されたセンサデータにアクセスする方法であって、デバイスにはデバイスが保護されたセンサデータに対し実行することを許可される1つ以上の動作を定義するアクセス制御データが記憶されている方法は、センサから保護されたセンサデータを受信するステップ、受信されたセンサデータを記憶するステップ、センサに承認アクセス制御データを送るステップ、センサからデバイスが保護されたセンサデータに対し許可される動作を実行できるようにする信号を受信するステップを含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
センサデータへのアクセスを制御する方法であって、
センサデータを生成し、前記センサデータを保護して、保護されたセンサデータを生成するステップと、
前記保護されたセンサデータを記憶のためにデバイスに送信するステップと、
センサによって、
前記デバイスが前記保護されたセンサデータに対して実行することを許可される1つ以上の動作を定義するアクセス制御データ
を受信するステップと、
前記センサによって、前記アクセス制御データに基づいて、前記デバイスが前記保護されたセンサデータに対して実行することを許可される動作を判定するステップと、
前記デバイスが前記保護されたセンサデータに対して前記許可される動作を実行できるようにするステップと
を含む方法。
【請求項2】
センサデータを保護するステップは、秘密鍵を使用して前記センサデータを保護するステップを含む、
請求項1に記載の方法。
【請求項3】
前記センサによってアクセス制御データを受信するステップは、前記アクセス制御データを含む承認トークンを受信するステップを含む、
請求項1または請求項2に記載の方法。
【請求項4】
前記デバイスが前記保護されたセンサデータに対して前記許可される動作を実行できるようにするステップは、
前記デバイスに、前記センサデータに対して前記許可される動作を実行するために前記デバイスによって使用されることができる1つ以上の鍵を提供するステップ
を含む、
請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記方法は、前記センサデータおよび/または前記保護されたセンサデータを前記デバイスに送信するステップの後に削除するステップをさらに含む、
請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記センサデータを保護するステップは、
前記センサデータに第1の秘密鍵を適用して、前記保護されたセンサデータを生成するステップ
を含み、
前記アクセス制御データが、前記デバイスが前記保護されたセンサデータに対して第1の動作を実行することを許可されると定義する場合には、前記提供するステップは、
前記デバイスに、前記第1の動作を実行するために前記デバイスによって使用されることができる第1の補完鍵を提供するステップであって、前記第1の補完鍵は、前記第1の秘密鍵に対して補完的である、ステップ
を含む、
請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記第1の秘密鍵は暗号化鍵であり、
前記第1の保護されたセンサデータは暗号化されたセンサデータであり、
前記第1の動作は、復号化または読み取り動作であり、
前記提供するステップは、
前記デバイスに復号化鍵の形の補完鍵を提供するステップ
を含む、
請求項6に記載の方法。
【請求項8】
前記センサデータを保護するステップは、
前記第1の保護されたセンサデータに第2の秘密鍵を適用して、第2の保護されたセンサデータを生成するステップ
を含み、
(i)前記アクセス制御データが、前記デバイスが前記第2の保護されたデータに対して第2の動作を実行することを許可されると定義する場合には、前記提供するステップは、
前記デバイスに、前記第2の保護されたセンサデータに対して前記第2の動作を実行するために前記デバイスによって使用されることができる第2の補完鍵を提供するステップ
を含み、または、
(ii)前記アクセス制御データが、前記デバイスが前記第1の動作および前記第2の動作の両方を実行することを許可されると定義する場合には、前記提供するステップは、
前記デバイスに前記第1の補完鍵および前記第2の補完鍵を提供するステップであって、前記第2の補完鍵は、前記第2の保護されたセンサデータに対して前記第2の動作を実行して、前記第1の保護されたセンサデータを取得するために前記デバイスによって使用されることができ、それから、前記第1の補完鍵は、前記第1の保護されたセンサデータに対して前記第1の動作を実行するために前記デバイスによって使用されることができる、ステップ
を含み、
(iii)前記アクセス制御データが、前記デバイスが前記第2の保護されたデータに対して第3の動作を実行することを許可されると定義する場合には、前記提供するステップは、
前記デバイスに前記第1の補完鍵と前記第2の補完鍵とを提供するステップであって、前記第1の補完鍵と前記第2の補完鍵とは、前記第2の保護されたセンサデータに対して前記第3の動作を実行するために組み合わせて使用できる、ステップ
を含む、
請求項7に記載の方法。
【請求項9】
前記第1の秘密鍵は第1の認証鍵であり、
前記第2の秘密鍵は暗号化鍵であり、
前記センサデータを保護するステップは、
前記第1の認証鍵を前記センサデータに適用して、認証コードを生成するステップであって、前記第1の保護されたセンサデータは、前記センサデータと前記認証コードとの組み合わせである、ステップと、
前記暗号化鍵を前記第1の保護されたセンサデータに適用して、暗号化されたセンサデータを生成するステップと
を含む、
請求項8に記載の方法。
【請求項10】
前記アクセス制御データが、前記デバイスが前記暗号化されたセンサデータを復号化することを許可されると定義する場合には、前記提供するステップは、前記デバイスに、前記暗号化されたセンサデータを復号化するために前記デバイスによって使用されることができる復号化鍵を提供するステップを含んでもよく、
前記アクセス制御データが、前記デバイスが前記暗号化されたセンサデータを復号化および再認証すること、または前記センサデータを変更することを許可されると定義する場合には、前記提供するステップは、
前記デバイスに前記第1の認証鍵と前記復号化鍵とを提供するステップであって、前記第1の認証鍵と前記暗号化鍵とは、前記センサデータを変更するために組み合わせて使用できる、ステップ、または
前記デバイスに前記第1の認証鍵と前記復号化鍵とを提供するステップであって、前記復号化鍵は、前記暗号化されたセンサデータを復号化して、前記センサデータと前記認証コードとの組み合わせを取得するために前記デバイスによって使用されることができ、それによって前記デバイスが前記センサデータを変更して、変更されたセンサデータを生成できるようにし、前記第1の認証鍵は、第2の認証コードを生成するために前記変更されたセンサデータに対して前記デバイスによって使用されることができる、ステップ
のいずれかを含む、
請求項9に記載の方法。
【請求項11】
前記センサデータは、センサデータの第1のサブセットと、センサデータの第2のサブセットとを含み、
前記センサデータを保護するステップは、
センサデータの前記第1のサブセットを保護して、保護されたセンサデータの第1のサブセットを生成するステップと、
センサデータの前記第2のサブセットを保護して、保護されたセンサデータの第2のサブセットを生成するステップと
を含み、
前記アクセス制御データは、
保護されたセンサデータの前記第1のサブセットに対して前記デバイスが実行することを許可される第1の動作および/または
保護されたセンサデータの前記第2のサブセットに対して前記デバイスが実行することを許可される第2の動作
を定義し、
前記判定するステップは、前記アクセス制御データに基づいて、
保護されたセンサデータの前記第1のサブセットに対して前記デバイスが実行することを許可される第1の動作および/または
保護されたデータの前記第2のサブセットに対して前記デバイスが実行することを許可される第2の動作
を判定するステップを含み、
前記提供するステップは、
前記デバイスが前記第1の動作を実行することを許可されると判定される場合にのみ、前記保護されたセンサデータの前記第1のサブセットに対して前記第1の動作を実行するために前記デバイスによって使用されることができる1つ以上の鍵を提供するステップ、および、
前記デバイスが前記第2の動作を実行することを許可されると判定される場合にのみ、保護されたセンサデータの前記第2のサブセットに対して前記第2の動作を実行するために前記デバイスによって使用されることができる1つ以上の鍵を提供するステップ
を含む、
請求項1~10のいずれか1項に記載の方法。
【請求項12】
デバイスによって保護されたセンサデータにアクセスする方法であって、前記デバイスには、保護されたセンサデータに対して前記デバイスが実行することを許可される1つ以上の動作を定義するアクセス制御データが記憶されており、前記方法は、
センサから保護されたセンサデータを受信するステップと、
前記受信された保護されたセンサデータを記憶するステップと、
前記センサに前記アクセス制御データを送るステップと、
前記センサから、前記デバイスが前記保護されたセンサデータに対して許可される動作を実行できるようにする信号を受信するステップと
を含む方法。
【請求項13】
前記デバイスには、前記アクセス制御データを含む承認トークンが記憶されており、
前記センサに前記アクセス制御データを送るステップは、前記デバイスに前記承認トークンを送るステップを含む、
請求項12に記載の方法。
【請求項14】
前記デバイスが前記保護されたセンサデータに対して前記許可される動作を実行できるようにする信号を受信するステップは、前記保護されたセンサデータに対して前記許可される動作を実行するために前記デバイスによって使用されることができる1つ以上の鍵を受信するステップを含む、
請求項12または請求項13に記載の方法。
【請求項15】
前記センサにアクセス要求を送るステップであって、前記アクセス要求は、前記保護されたセンサデータに対して実行される要求される動作を指定する、ステップ
をさらに含む、請求項12~14のいずれか1項に記載の方法。
【請求項16】
前記保護されたセンサデータは、保護されたセンサデータの第1のサブセットと、保護されたセンサデータの第2のサブセットとを含み、
前記アクセス制御データは、保護されたセンサデータの前記第1のサブセットに対して前記デバイスが実行することを許可される第1の動作および/または保護されたセンサデータの前記第2のサブセットに対して前記デバイスが実行することを許可される第2の動作を定義し、
前記受信するステップは、
前記アクセス制御データにおいて前記デバイスが前記第1の動作を実行することを許可されると定義される場合にのみ、前記保護されたセンサデータの前記第1のサブセットに対して前記第1の動作を実行するために前記デバイスによって使用されることができる1つ以上の鍵を受信するステップ、および、
前記アクセス制御データにおいて前記デバイスが前記第2の動作を実行することを許可されると定義される場合にのみ、前記保護されたセンサデータの前記第2のサブセットに対して前記第2の動作を実行するために前記デバイスによって使用されることができる1つ以上の鍵を受信するステップ
を含む、
請求項12~15のいずれか1項に記載の方法。
【請求項17】
前記センサにアクセス要求を送るステップであって、前記アクセス要求は、暗号化されたセンサデータの前記第1のサブセットに対して実行される前記第1の動作、および暗号化されたセンサデータの前記第2のサブセットに対して実行される前記第2の動作のうちの1つ以上を指定する、ステップ
を含む、請求項16に記載の方法。
【請求項18】
前記承認トークンは、前記承認トークンが有効であるために満たされねばならない条件の形で1つ以上の有効性条件を定義し、前記有効性条件は、
前記承認トークンが有効である単数または複数の期間に対する制限、
前記承認トークンが使用され得る回数に対する制限、
前記承認トークンに関連して使用され得るユーザクレデンシャルまたはユーザクレデンシャルのセットに対する制限、および
前記承認トークンを送るデバイスに対する制限
のうちの1つ以上を含む、
請求項12~17のいずれか1項に記載の方法。
【請求項19】
センサデータを生成し、前記センサデータへのアクセスを制御するように構成されるセンサであって、請求項1~11のいずれか1項に記載の方法を行うように構成される、センサ。
【請求項20】
保護されたセンサデータを処理するためのデバイスであって、請求項12~18のいずれか1項に記載の方法を行うように構成されるデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、センサデータへのアクセスの制御に関する。より具体的には、本発明は、センサでのローカル鍵ベースの暗号化に依存する方法およびシステム、ならびにデバイスがアクセスを許可されるデータにしかアクセスできないようにするための承認トークンの使用に関する。本発明の様々な態様は、システムの異なる部分、およびそれらの異なる部分によって行われる方法に関する。
【背景技術】
【0002】
センサは日常生活のいたるところにあり、私たちが見たり使用したりするほとんど全てのデバイスの機能および維持に不可欠である。所与のセンサによって得られるデータが他のいかなるデバイスによってもアクセスまたは変更できないようにする必要がある。例えば、産業機械類の摩耗を検出するセンサによって収集されたデータには、それらの機械の保守の責任を負うエンジニアに属するデバイスしかアクセスできないことが所望され得る。同様に、承認された当事者以外がセンサデータを操作できないようにすることも重要である。従来、デバイスのアクセス許可はセキュリティプラットフォームによって制御されている。しかし、データ処理が集中的に行われるのではなくネットワークのノードのデバイスで生じるエッジコンピューティングの出現により、エッジデバイスがいわゆる「エアギャップ」によってセキュリティプラットフォームから大きく分離され得る。これらの場合には、エッジデバイスとセキュリティプラットフォームとの間に安全な接続または安全なネットワークがなくなり得る。したがって、デバイスおよびセンサがアクセス許可を制御するセキュリティプラットフォームから遠隔であっても、デバイスによるセンサデータへのアクセスが安全に制御され得るシステムが必要である。この必要は、本出願が対象とする本発明によって対処される。
【発明の概要】
【課題を解決するための手段】
【0003】
一般的に、本発明は、例えば遠隔セキュリティプラットフォームによって生成され得る承認トークンに含まれるアクセス制御データがエッジデバイスなどのデバイスにデプロイされるシステムであって、例えば承認トークンのアクセス制御データは、デバイスがアクセスできるセンサデータおよびデバイスがそのセンサデータに対して実行することを許可される動作を定義する、システムを提供する。センサがセンサデータを生成し、保護し、それから記憶のためにデバイスに送信する。そのため、センサデータがデバイスに記憶されても保護されているため、デバイスはそれを使用できない可能性がある。デバイスがセンサデータにアクセスすることを望む場合には、デバイスは、例えば承認トークンのアクセス制御データとともに、センサに要求を送り得る。それからセンサが、例えばデバイスに、許可される動作を実行するためだけに使用できる鍵を返すことによって、デバイスがある許可される動作だけを実行できるようにする。デバイスに承認トークンをデプロイすることによって、デバイスはセキュリティプラットフォームと物理的に接続される必要がない。また、デバイスに記憶されたデータは保護され、適切な許可をもってしかアクセスできないため、データセキュリティは損なわれない。本発明には多数の構成要素があり、それらの各々が達成される技術的利点に寄与することが注目されるであろう。したがって、本発明には多数の態様がある。
【0004】
本発明の1つの態様は、センサデータへのアクセスを制御する方法であって、センサデータを生成し、センサを保護して、保護されたセンサデータを生成するステップと、保護されたセンサデータを記憶のためにデバイスに送信するステップと、センサによって、デバイスが保護されたセンサデータに対して実行することを許可される1つ以上の動作を定義するアクセス制御データを受信するステップと、センサによって、アクセス制御データに基づいて、デバイスが保護されたセンサデータに対して実行することを許可される動作を判定するステップと、デバイスが保護されたセンサデータに対して許可される動作を実行できるようにするステップとを含む方法を提供する。本明細書において、センサデータは、暗号化鍵などの秘密鍵を使用して保護され得る。さらに、上で論じたように、センサは、アクセス制御データを含む承認トークンを受信し得る。デバイスが許可される動作を実行できるようにするステップは、デバイスに、保護されたセンサデータに対して許可される動作を実行するためにデバイスによって使用されることができる1つ以上の鍵などのデータを提供することによって達成され得る。具体的には、デバイスが許可される動作を実行できるようにするステップは、1つ以上の鍵を含む信号、または1つ以上の鍵を符号化するデータをデバイスに送信するステップであって、1つ以上の鍵は、保護されたセンサデータに対して許可される動作を実行するためにデバイスによって使用されることができる、ステップを含み得る。本発明の別の態様は、本発明の先の態様の方法を行うように構成されたセンサを提供する。センサデータへのアクセスが制御され得る2つの重要なやり方がある:第一に、許可される動作に応じて異なる鍵がデバイスに提供され得る。代わりにまたは加えて、センサデータは、それぞれ個別に保護されたセンサデータの複数の(異なり得る)サブセットを含み得る。その場合には、センサはデバイスに、センサデータの許可されるサブセットにアクセスするために使用できる鍵だけを提供し得る。
【0005】
本発明の別の補足的態様は、センサではなくデバイスによって行われる方法、具体的にはデバイスによって保護されたセンサデータにアクセスする方法であって、デバイスには、デバイスが保護されたセンサデータに対して実行することを許可される1つ以上の動作を定義するアクセス制御データが記憶されており、本方法は、センサから保護されたセンサデータを受信するステップと、受信された保護されたセンサデータを記憶するステップと、センサにアクセス制御データを送るステップと、センサから、デバイスが保護されたセンサデータに対して許可される動作を実行できるようにする信号を受信するステップとを含む方法である。いくつかの場合には、デバイスには、アクセス制御データを含む承認トークンが記憶されていてもよい。さらに、いくつかの場合には、デバイスが保護されたデータに対して許可される動作を実行できるようにする信号を受信するステップは、保護されたセンサデータに対して許可される動作を実行するためにデバイスによって使用されることができる1つ以上の鍵を受信するステップを含み得る。本発明のさらなる態様は、本発明の先の態様の方法を行うように構成されたデバイスを提供する。
【0006】
本発明のさらなる態様は、センサとデバイスとを含むシステムを提供する。
【0007】
本発明の実装は、悪意の行為者による干渉のリスクを低減しながら、「エッジ」で行われる処理および計算量を増加することができる。結果として、本発明は、スマート車両およびスマート建物などの様々なユースケースに有利に応用され得る。本発明との関連では、「スマート」という用語は、例えば車両または建物全体にわたって、センサによってデータが収集され、そのデータが車両または建物に関係する制御プロセスを知らせるために使用される技術の領域を指すために一般に使用され得る。いわゆる「モノのインターネット」の出現により、センサ自体で行われる計算および処理量も増加している。本発明のさらなる態様によれば、ネットワークによって相互接続された複数のセンサを備える建物であって、複数のセンサのうちの少なくとも1つのセンサは、本発明の先の態様によるセンサである、建物が提供される。複数のセンサのうちの各センサは、本発明の先の態様によるセンサであるのが好ましい。本発明の等価の態様は、建物ではなく車両を提供する。
【0008】
本発明の全ての態様によるセンサは、カメラ、近接センサ、COセンサ、煙センサ、圧力センサ、湿度センサ、加速度計、位置センサ、運動センサ、LiDARベースのセンサ、温度センサ、力センサ、振動センサ、圧電センサ、流体特性センサ、光学センサ、光強度センサのいずれかまたは全てを含み得る。しかし、これは非網羅的リストであり、本発明はこれらのタイプのセンサに決して限定されないことが認識されるであろう。
【0009】
車両との関連では、本発明の「センサ」は、車両内の特定の条件を感知するように構成され得る。そして、保守判断を知らせるために承認された保守担当者しかセンサデータにアクセスできないようにデータが保護され得る。スマート車両(単数または複数)との関連で得られ得る特定の型のセンサデータまたは他の情報には、より一般的には次のものが含まれる。
‐車両の識別についての情報(コードまたはQRコード(登録商標)などの他の識別子に符号化されるかまたはそれから得られることもでき、センサがコードまたは他の識別子から識別情報を得るために使用されるデバイスであってもよい)。これは、例えば自動ナンバープレート認識システムに応用可能であり得る。同様に、例えばイメージセンサから、または車両の識別と同様にコードをスキャンすることによって得られることもできる、車両の乗員または運転者の識別についての情報も存在し得る。
‐ナビゲーションに有用であり得る情報、例えば車両の位置、車両の移動を示すベクトル、ならびに車両の方向の変化または車両の加速もしくは減速を示し得るベクトルの変化。これは、車内に位置するGPSトラッカー(または他の衛星ナビゲーションシステム)によって感知され得る。この場合には、車両所有者のプライバシーのためにセンサデータを保護することが特に重要であり得る。このような情報は保険会社および法執行機関によって使用されることが多いため、得られたデータを改ざんしようとする試みが防止可能または検出可能であることも非常に重要である。同様に、センサデータは、車両の走行距離、または車両が使用された時間量を含み得る。
‐センサは、車両の様々な部品が保守を要するとき、または損傷したときに検出するように構成され得る。この情報は、保守担当者に特に関係がある。同様に、センサは、例えば車両内のオイル、燃料、バッテリ電力の消費を検出し得る。バッテリ電力の検出は、電気自動車との関連で特に重要である。
‐前述の種類の環境センサが車両内に存在し得る。
【0010】
この種の情報を得るセンサが特に有用であり得る商業的状況には、保険、フリート管理、通商/商取引、車両整備/保守、車両間通信、自律車両、スマートパーキング、交通管理が含まれる。
【0011】
センサを含む建物にも同様の考慮事項が当てはまり、承認された保守担当者しかセンサデータにアクセスできないようにすることが重要である。
【0012】
本発明は、記載された態様および好ましい特徴の組み合わせを含むが、そのような組み合わせが明らかに許されないかまたは明示的に回避される場合はその限りではない。
【0013】
次に、本発明の実施形態を、以下の図面を参照して説明する。
【図面の簡単な説明】
【0014】
図1】センサ10とデバイス20とを含むシステムを示す。
図2】センサ10によって行われ得る方法の例を示す。
図3】デバイス20によって行われ得る方法の例を示す。
図4】センサ100の代替例を示す。
図5】デバイス200の代替例を示す。
図6】センサデータがサブセットに分割され得るやり方を示す。
図7】所与のデータのピースのための暗号化鍵を取得または生成するプロセスを示す。
図8A】例示的な暗号化鍵データテーブルのレイアウトを示す。
図8B】例示的な暗号化鍵データテーブルのレイアウトを示す。
図9】暗号化鍵生成の方法を示す。
図10】認証方法を示す。
図11】センサと、デバイスと動作構成要素とを含むシステムを示す。
【発明を実施するための形態】
【0015】
次に、本発明の態様および実施形態を、添付の図面を参照して説明する。さらなる態様および実施形態は、当業者に明らかであろう。本明細書で言及される全ての文献は、参照により本明細書に組み込まれる。
【0016】
本発明は、様々な方法およびデバイスに関する。特に、本発明は、センサによって行われる方法、エッジデバイスまたはサーバなどのデバイスによって行われる方法、およびこれら2つを含むシステムによって行われる方法に関する。本発明は、センサ、デバイス、およびシステム自体にも関する。図1は、センサ10とデバイス20とを含むシステム1を示す。図2および3は、センサ10およびデバイス20によって行われ得る本発明による方法の具体例をそれぞれ示す。
【0017】
論じたように、図1のシステム1は、センサ10とデバイス20とを含む。センサ10とデバイス20とは、接続Cを介して接続される。接続Cは、2つの間でデータおよび/または情報を伝達することができる任意の形態の接続であり得る。好ましくは、接続Cは電気的接続であり、Wi‐Fiまたはセルラネットワークなどの無線ネットワークを介した接続などの有線接続または無線接続であり得る。あるいは、無線接続は、Bluetooth接続または近距離無線通信接続の形であってもよい。接続Cは、ここで明示的に記す必要のないいくつかの異なる形態をとり得ることが理解されるであろう。
【0018】
センサ10は、暗号化モジュール12とアクセス判定モジュール13とを含むプロセッサ11を含む。図1および本出願の残部の両方に関して、「モジュール」という用語は、所与の機能を行うように構成された任意の機能ユニットを指すことに留意しなければならない。モジュールは、専用のハードウェア、適合または変更されたハードウェアのいずれかにより実装されてもよく、あるいはソフトウェアモジュールの形態、例えばコードのセクションの形で実装されてもよい。
【0019】
センサ10は、送信器14と受信器15とをさらに含む。ここで、「送信器」という用語は、データを送信するかまたはデータの送信をもたらすことができる任意の構成要素をカバーするために広く使用される。例えば、送信器14は、データを符号化した無線信号を生成し、送るように構成され得る。あるいは、送信器14は、接続Cなどの有線接続を介してデータの送信をもたらすように構成され得る。「受信器」という用語は、データを受信することができる任意の構成要素として同様に広く扱われねばならない。例えば、受信器15は、無線信号を受信するように構成されてもよく、または接続Cなどの有線接続を介してデータを受信するように構成されてもよい。センサ10、プロセッサ11、暗号化モジュール12、アクセス判定モジュール13、送信器14、および受信器15の機能は、本出願の後の方で図2および3を参照してより詳細に説明される。
【0020】
デバイス20は、受信器21と、メモリ22と、プロセッサ25と、送信器26とを含む。「送信器」および「受信器」という用語は、前の段落に記されるように解釈されねばならない。デバイス20のメモリ22は、承認トークン23と、暗号化されたセンサデータ24とを含むかまたはそれらが記憶される。これらの性質については後述する。
【0021】
本発明の具体的な実施形態を説明する前に、まず本発明の第1の態様および本発明の第2の態様の任意の特徴を一般的に記す。以下の開示では参照番号が使用されるが、本方法は図1に示されるシステム以外のシステムを用いて実装されてもよいことが明示的に想定されることに留意しなければならない。
【0022】
先に論じたように、本発明の第1の態様は、センサデータへのアクセスを制御する方法であって、センサデータを生成し、1つ以上の秘密鍵を使用してセンサデータを保護して、保護されたセンサデータ24を生成するステップと、保護されたセンサデータ24を記憶のためにデバイス20に送信するステップと、センサ10によって、デバイス20が保護されたセンサデータ24に対して実行することを許可される1つ以上の動作を定義するアクセス制御データを含む承認トークン23を受信するステップと、センサ10によって、アクセス制御データに基づいて、デバイス20が保護されたセンサデータ24に対して実行することを許可される動作を判定するステップと、デバイス20に、保護されたセンサデータ24に対して許可される動作を実行するためにデバイス20によって使用されることができる1つ以上の鍵を提供するステップとを含む方法を提供する。好ましい場合には、センサ10の記憶要件(具体的にはそのメモリ)を低減するために、本方法は、センサデータをデバイス20に送信するステップの後にセンサデータを消去するステップをさらに含み得る。本発明の核心は、センサ10が、承認トークン23内のアクセス制御データに基づいて、デバイス20に、実行することを許可される動作を実行するためにデバイス10によって使用されることができる鍵(単数または複数)だけを提供するという考えである。許可される動作とそれに関連する鍵の性質についてはより後でより詳しく論じるが、その前に、保護されたセンサデータの生成の間に様々な鍵が適用され得、保護されたセンサデータに対して様々な動作を実行するためにそれらの鍵の組み合わせを使用できる一般的な場合を説明する。様々な鍵は「スタック」様式で次々に適用され得ることに留意しなければならない。
【0023】
いくつかの場合には、センサデータを保護するステップは、センサデータに第1の秘密鍵を適用して、第1の保護されたセンサデータを生成するステップを含む。そして、アクセス制御データが、デバイスが第1の保護されたセンサデータに対して第1の動作を実行することを許可されると定義する場合には、提供するステップは、デバイスに、第1の動作を実行するためにデバイスによって使用されることができる第1の補完鍵を提供するステップを含み得る。ここで、第1の動作は、センサデータへの第1の秘密鍵の適用、例えば暗号化/復号化に対して補完的であり得る(この具体例は本出願のより後である程度詳細に論じられる)。本明細書において、「補完」という用語は、その鍵が秘密鍵に対して補完的な作用を行えることを意味すると理解されねばならない。例えば、秘密鍵が暗号化鍵である場合には、補完鍵は対応する復号化鍵であり得る。認証コードを生成するために秘密鍵が使用される場合には、補完鍵は秘密鍵と同じであり、それによって保護されたセンサデータを認証するためにデバイスが同じ認証コードを生成することを可能にし得る。補完鍵は秘密鍵と同じであり得ることに留意することが重要である。
【0024】
好ましい場合には、第1の秘密鍵は暗号化鍵であり、第1の保護されたセンサデータは暗号化されたセンサデータである。そして、第1の動作は復号化または読み取り動作であり得る。その場合には、提供するステップは、デバイスに復号化鍵の形の補完鍵を提供するステップを含み得る。いくつかの実施形態では、暗号化鍵は対称暗号化鍵であってもよく、その場合には、暗号化鍵と復号化鍵とは同じであり得る。この例では、センサがセンサデータを暗号化し、デバイスは、アクセス制御データが許可されると指定する場合にのみそれを復号化する鍵を受信し得る。
【0025】
他の場合には、センサデータを保護するステップは、第1の保護されたセンサデータに第2の秘密鍵を適用して、第2の保護されたセンサデータを生成するステップを含み得る。そして、2つの結果が考えられる。
1.アクセス制御データが、デバイスが第2の保護されたデータに対して第2のアクションを実行することを許可されると定義する場合には、提供するステップは、デバイスに、第2の保護されたセンサデータに対して第2の動作を実行するためにデバイスによって使用されることができる第2の補完鍵を提供するステップを含み得る。ここで、第2の動作は、上述のように、第1の保護されたセンサデータへの第2の秘密鍵の適用に対して補完的であり得る。
2.アクセス制御データが、デバイスが第1および第2の動作の両方、または第3の動作(これは任意に第1および第2の動作の組み合わせであるか、またはそれを実行するために両方が実行されることを要し得る)を実行することを許可されると定義する場合には、提供するステップは、デバイスに第1の補完鍵と第2の補完鍵とを提供するステップであって、第1の補完鍵と第2の補完鍵とは、第2の保護されたセンサデータに対して第3の動作を実行するために組み合わせて使用できる、ステップを含み得る。または、提供するステップは、デバイスに第1の補完鍵および第2の補完鍵を提供するステップであって、第2の補完鍵は、第2の保護されたセンサデータに対して第2の動作を実行して、第1の保護されたセンサデータを取得するためにデバイスによって使用されることができ、それから、第1の補完鍵は、第1の保護されたセンサデータに対して第1の動作を実行するためにデバイスによって使用されることができる、ステップを含み得る。
【0026】
以下で、2つの鍵が使用され得る2つのシナリオ例を説明する。
【0027】
1つ目は、センサデータに最初に認証鍵が適用されて、認証コードが生成される場合である。そして、センサデータと認証コードとの組み合わせに暗号化鍵が適用されて、暗号化されたセンサデータが生成される。この場合には、第1の秘密鍵は認証鍵であり、第1の保護されたデータは、センサデータと認証コードとの組み合わせであり、第2の秘密鍵は暗号化鍵であり、第2の保護されたセンサデータは、暗号化されたセンサデータである。そして、上記の1および2の場合を考える。
1.第2の動作は復号化であり得る。換言すれば、アクセス制御データが、デバイスが暗号化されたセンサデータを復号化することを許可されると定義する場合には、提供するステップは、デバイスに、暗号化されたセンサデータを復号化するためにデバイスによって使用されることができる(暗号化鍵に対して補完的な)復号化鍵を提供するステップを含み得る。対称暗号化鍵が使用される場合には、暗号化鍵と復号化鍵とは同一であり得る。
2.第1の動作は認証であり得、第2の動作は(なお)復号化であり得る。別の言い方をすると、第3の動作は、例えばセンサデータの変更、具体的には認証され得るやり方でのセンサデータの変更を含み得る。デバイスがセンサデータを変更するためには、デバイスは最初にセンサデータを復号化できなければならず、その時点でデバイスはセンサデータを変更できるようになる。承認されていないデバイスがこれを行った場合には、(認証鍵がないと)そのようなデバイスは変更されたセンサデータに対応する認証コードを生成できないため、それは検出可能となる。したがって、承認されたデバイスは、センサデータを復号化(すなわち読み取り)することも、それを変更した後に変更されたセンサデータが認証され得るように再認証することもできなければならない。したがって、アクセス制御データが、デバイスが暗号化されたセンサデータを復号化および再認証すること、またはセンサデータを変更することを許可されると定義する場合には、提供するステップは、
a.デバイスに第1の認証鍵と復号化鍵とを提供するステップであって、第1の認証鍵と暗号化鍵とは、センサデータを変更するために組み合わせて使用できる、ステップ、または
b.デバイスに第1の認証鍵と復号化鍵とを提供するステップであって、復号化鍵は、暗号化されたセンサデータを復号化して、センサデータと認証コードとの組み合わせを取得するためにデバイスによって使用されることができ、それによってデバイスがセンサデータを変更して、変更されたセンサデータを生成できるようにし、第1の認証鍵は、第2の認証コードを生成するために変更されたセンサデータに対してデバイスによって使用されることができる、ステップ
を含み得る。いくつかの場合には、論じたように、暗号化鍵は対称であり、したがって復号化鍵と同一である。そのような場合には、デバイスはそれから鍵を使用して、変更されたセンサデータと第2の認証コードとの組み合わせを再暗号化して、例えばデバイスのメモリへの記憶のために変更された暗号化されたセンサデータを生成し得る。
【0028】
第2の例では、第1の秘密鍵は暗号化鍵であってもよく、第1の保護されたセンサデータは暗号化されたセンサデータであってもよい。そして、第2の秘密鍵は、(前出の例の一部をなした第1の認証鍵とは無関係の)第2の認証鍵であってもよく、第2の保護されたセンサデータは、認証コード、または好ましくは暗号化されたセンサデータと認証コードとの組み合わせの形をとってもよい。第1の動作は復号化動作であってもよく、第2の動作は認証動作であってもよい。これは前出の例とは逆であることに留意されたい。
この場合:
1.第2の動作は認証であり得る。その場合、アクセス制御データが、デバイスが暗号化されたセンサデータを認証することを許可されると定義する場合には、提供するステップは、デバイスに、暗号化されたセンサデータを認証するためにデバイスによって使用されることができる認証鍵を提供するステップを含み得る。ここで認証するステップは、暗号化されたセンサデータに対して認証鍵を使用して、認証コードを生成し、生成された認証コードを第2の保護されたセンサデータに含まれる認証コードと比較するステップを含み得る。2つが同じである場合には、暗号化されたセンサデータが改ざんされていないと結論され得る。2つが一致しない場合には、暗号化されたセンサデータが不正な様式で改ざんされている可能性がある。
2.第1の動作は暗号化であり得る。その場合、アクセス制御データが、デバイスが暗号化されたセンサデータを復号化することを許可されると定義する場合には、暗号化されたセンサデータを復号化し、それによってセンサデータを取得するためにデバイスによって使用されることができる復号化鍵をデバイスに提供するステップ。この場合には、認証なしで復号化が行われ得ることに留意しなければならない。しかし、最初に暗号化されたセンサデータが真正であることを確認することが有益である。したがって、アクセス制御データが、デバイスが暗号化されたセンサデータを認証および復号化することの両方を許可されると定義する場合には、デバイスは復号化ステップの前に認証ステップを実行することが好ましい。
【0029】
上記の例は、第1の秘密鍵および第2の秘密鍵の適用だけを(明示的に)要する。しかし、本方法は、一般的な複数の秘密鍵の適用に一般化され得ることが認識されるであろう。そのような場合には、センサデータを保護するステップは、センサデータに複数の秘密鍵を適用して、保護されたセンサデータを生成するステップを含み得る。そして、提供するステップは、複数の秘密鍵のうちのそれぞれの秘密鍵に対してそれぞれ補完的な複数の補完鍵をデバイスに提供するステップであって、複数の補完鍵の組み合わせは、許可される動作を実行するためにデバイスによって使用されることができる、ステップを含み得る。
【0030】
上で論じた具体例の延長の場合には、3つの鍵が使用される。
1.第1の秘密鍵は第1の認証鍵である。
2.第2の秘密鍵は暗号化鍵である。
3.第3の秘密鍵は第2の認証鍵である。
【0031】
この場合、センサデータを保護するステップは、第1の認証鍵を適用して、センサデータと第1の認証コードとを含む第1の保護されたセンサデータを生成するステップと、第1の保護されたセンサデータに暗号化鍵を適用して、暗号化されたセンサデータ(センサデータおよび第1の認証コードの両方の暗号化)の形の第2の保護されたセンサデータを生成するステップと、第2の保護されたセンサデータの第2の認証鍵を適用して、暗号化されたセンサデータと第2の認証コードとを含む第3の保護されたセンサデータを生成するステップとを含む。
【0032】
この例は、上記の2つの例を有効に組み合わせる。この場合には、
1.第1の動作はセンサデータの認証である。
2.第2の動作は復号化動作である。
3.第3の動作は暗号化されたセンサデータの認証である。
【0033】
アクセス制御データが、デバイスが暗号化されたセンサデータを認証することを許可されると定義する場合には、提供するステップは、デバイスに、暗号化されたセンサデータを認証するためにデバイスによって使用されることができる第2の認証鍵を提供するステップを含み得る。
【0034】
アクセス制御データが、デバイスが暗号化されたセンサデータを復号化することを許可されると定義する場合には、提供するステップは、デバイスに、暗号化されたセンサデータを復号化するためにデバイスによって使用されることができる(暗号化鍵に対して補完的な)復号化鍵を提供するステップを含み得る。対称暗号化鍵が使用される場合には、暗号化鍵と復号化鍵とは同一であり得る。アクセス制御データが、デバイスが暗号化されたセンサデータを認証および復号化することを許可されると定義するときには、デバイスが両方の動作を実行できるようにするために両方の鍵が提供され得る。
【0035】
アクセス制御データが、デバイスが暗号化されたセンサデータを復号化および再認証すること、またはセンサデータを変更することを許可されると定義する場合には、提供するステップは、
デバイスに第1の認証鍵と復号化鍵とを提供するステップであって、第1の認証鍵と暗号化鍵とは、センサデータを変更するために組み合わせて使用できる、ステップ、または
デバイスに第1の認証鍵と復号化鍵とを提供するステップであって、復号化鍵は、暗号化されたセンサデータを復号化して、センサデータと第1の認証コードとの組み合わせを取得するためにデバイスによって使用されることができ、それによってデバイスがセンサデータを変更して、変更されたセンサデータを生成できるようにし、第1の認証鍵は、第3の認証コードを生成するために変更されたセンサデータに対してデバイスによって使用されることができる、ステップ
を含み得る。いくつかの場合には、論じたように、暗号化鍵は対称であり、したがって復号化鍵と同一である。そのような場合には、デバイスはそれから鍵を使用して、変更されたセンサデータと第3の認証コードとの組み合わせを再暗号化して、例えばデバイスのメモリへの記憶のために変更された暗号化されたセンサデータを生成し得る。
【0036】
場合によっては、複数の秘密鍵が適用される順序が重要であり、それに対応して複数の補完鍵が適用される順序も重要であり得る。これらの場合(上に概説した前出の場合のサブセットを形成してもしなくてもよい)には、センサデータを保護するステップは、センサデータに連続してN個の秘密鍵を適用して、第Nの保護されたセンサデータを生成するステップであって、センサデータへの第1の鍵の適用により、第1の保護されたセンサデータが生成され、k>1につき、第(k-1)の保護されたセンサデータに第kの鍵を適用することにより、第kの保護されたセンサデータが生成され、1<k≦Nである、ステップを含み得る。そして、アクセス制御データが、デバイスが第Nの保護されたセンサデータに対して第Mの動作を実行することを許可されると定義し、1≦M≦Nである場合には、提供するステップは、M≦k≦Nである複数の秘密鍵の鍵のサブセットに対する(N+1-M)個の補完鍵をデバイスに提供するステップであって、M個の鍵は、第Mの動作を実行するかまたはその実行を容易にするために第Nの補完鍵から第Mの補完鍵まで連続して使用できる、ステップを含む。具体的には、デバイスはそれから、第Nの保護されたセンサにNからMまで連続して複数の補完鍵を適用し得、k>1につき第kの保護されたセンサデータへの第kの補完鍵の適用により第(k-1)の保護されたセンサデータが取得され、第1の保護されたセンサデータへの第1の補完鍵の適用によりセンサデータが取得される。
【0037】
ある実装によれば、本方法は、センサによって生成される一つ一つのデータのピースごとに秘密鍵を生成するステップをさらに含み得る。このような秘密鍵の生成および記憶については、本出願のより後で、暗号化鍵との関連でより詳しく解説する。しかし、本開示は、センサデータを保護するために使用される汎用秘密鍵の場合にも等しく良好に当てはまることに留意しなければならない。
【0038】
いくつかの場合には、デバイスは、データの異なるサブセットに対して異なる動作を実行することを許可され得る。例えば、所与のデバイスが、データのあるサブセットを変更および再認証できてもよいが、別のサブセットは復号化しかできなくてもよい。このような許可は、承認トークンに含まれるアクセス制御データにおいて定義されることが好ましい。具体的には、センサデータは、センサデータの第1のサブセットと、センサデータの第2のサブセットとを含み得る。したがって、保護されたセンサデータを生成するステップは、センサデータの第1のサブセットを保護して、保護されたセンサデータの第1のサブセットを生成するステップと、センサデータの第2のサブセットを保護して、保護されたセンサデータの第2のサブセットを生成するステップとを含み得る。センサデータがサブセットに分割され得るやり方は、本出願のより後で詳しく記される。以前と同様に、保護されたセンサデータの第1のサブセットを生成するステップは、センサデータの第1のサブセットに第1の秘密鍵を適用するステップを含み得、保護されたセンサデータの第2のサブセットを生成するステップは、センサデータの第2のサブセットに第2の秘密鍵を適用するステップを含み得る。
【0039】
これらの場合には、アクセス制御データは、デバイスが保護されたセンサデータの第1のサブセットに対して実行することを許可される第1の動作および/またはデバイスが保護されたセンサデータの第2のサブセットに対して実行することを許可される第2の動作を定義し得る。
【0040】
そして、判定するステップは、アクセス制御データに基づいて、デバイスが保護されたセンサデータの第1のサブセットに対して実行することを許可される第1の動作および/またはデバイスが保護されたセンサデータの第2のサブセットに対して実行することを許可される第2の動作を判定するステップを含み得る。デバイスは、第1のサブセットおよび第2のサブセットの両方に対して動作を実行することを許可されなくてもよい。したがって、提供するステップは、デバイスが第1の動作を実行することを許可されると判定される場合にのみ、保護されたセンサデータの第1のサブセットに対して第1の動作を実行するためにデバイスによって使用されることができる1つ以上の鍵を提供するステップ、および、デバイスが第2の動作を実行することを許可されると判定される場合にのみ、保護されたセンサデータの第2のサブセットに対して第2の動作を実行するためにデバイスによって使用されることができる1つ以上の鍵を提供するステップを含み得る。換言すれば、第1および第2の動作は、アクセス制御データが、デバイスが第1および第2の動作を実行することを許可されると規定しない限り、実行されることができない。
【0041】
より一般的な場合には、センサデータは、センサデータの複数のサブセットを含み得る。そして、センサデータを暗号化するステップは、センサデータの複数のサブセットの各々をそれぞれの鍵で保護して、保護されたセンサデータのそれぞれの複数のサブセットを生成するステップを含み得る。したがってそれから、アクセス制御データは、デバイスが保護されたセンサデータのそれぞれのサブセットに対して実行することを許可される1つ以上の動作を定義し得る。例えば、データのサブセットごとに、そのうちの1つだけについて、またはそのうちのいくつかについて、動作が定義され得る。そして、判定するステップは、デバイスが保護されたセンサデータのそれぞれのサブセットに対して実行することを許可される1つ以上の動作を判定するステップを含み得る。この判定が行われると、本方法は、デバイスに1つ以上の鍵を提供するステップであって、各鍵は、保護されたセンサデータのそれぞれのサブセットに対して許可される動作を実行するためにデバイスによって使用されることができる、ステップを含み得る。
【0042】
上記の例では、センサによって承認トークンが受信されることのみが指定される。判定するステップは、承認トークンを受信したことに応答して行われることが理解されねばならない。上記の場合には、判定するステップに応答して、センサは、アクセス制御データに基づいて、デバイスに、許可される全ての動作を実行するためにデバイスによって使用されることができる単数または複数の鍵を提供することが理解されねばならない。しかし、いくつかの場合には、デバイスは全ての可能な動作を実行することを望まないかもしれない。そのような場合には、本方法は、デバイスからアクセス要求を受信するステップであって、アクセス要求は、保護されたセンサデータの第1のサブセットに対して実行される第1の動作、および保護されたセンサデータの第2のサブセットに対して実行される第2の動作のうちの1つ以上を指定する、ステップをさらに含み得る。そして、判定するステップは、デバイスが保護されたセンサデータの第1のサブセットに対して第1の動作を実行することを許可されるか否かを判定するステップ、および/またはデバイスが保護されたセンサデータの第2のサブセットに対して第2の動作を実行することを許可されるか否かを判定するステップを含み得る。そして、既に論じたように、肯定的判定が行われたときにのみ関連する鍵が提供される。
【0043】
上記では、所与のデバイスの許可に応じて保護されたセンサデータに対して複数の動作が実行され得る実装を記した。また、デバイスがセンサデータの異なるサブセットに対して異なる動作を行い得る実装も記した。本発明は、保護されたセンサデータの複数のサブセットの各々が複数の秘密鍵によって保護され、アクセス制御データが保護されたセンサデータの各サブセットにつき実行され得る個別の動作を定義する実装も包含することに留意しなければならない。このような実装は、上に記した任意の特徴を組み合わせることによって得ることができ、本出願において明示的に開示されたものと考えられねばならない。
【0044】
センサ10は、承認トークン23を受信すると、承認トークン23を認証するステップを行い得る。例えば、生成時に、承認トークン23は例えば楕円曲線デジタル署名アルゴリズムおよびプライベート鍵を使用して署名されていてもよい。プライベート鍵はPKIに組み込まれ得、したがって証明機関(CA:certification authority)によって証明書の形で署名される。ルートCA公開鍵は、センサ10、例えばそのセンサセキュア要素内にハードコードされ得、それから承認トークン23を認証するために使用され得る。デバイス20がデータへのアクセスを要求すると、センサ10とデバイス20との間に安全なチャネルがセットアップされ得る。この場合には、センサ10および/またはデバイス20は、例えば事前共有対称鍵または非対称PKIのいずれかを使用して、相互認証プロセスを行い得る。
【0045】
本発明の好ましい実装では、本方法は、センサデータを少なくとも暗号化し、それによって暗号化されたセンサデータを生成することによって保護するために使用される。そのような場合には、本方法は、センサデータを生成し、暗号化鍵を使用してセンサデータを暗号化して、暗号化されたセンサデータ24を生成するステップと、暗号化されたセンサデータ24を記憶のためにデバイス20に送信するステップと、センサ10によって、デバイス20が暗号化されたセンサデータ24に対して実行することを許可される1つ以上の動作を定義するアクセス制御データを含む承認トークン23を受信するステップと、センサ10によって、アクセス制御データに基づいて、デバイス20が保護されたセンサデータ24に対して実行することを許可される動作を判定するステップと、デバイス20に、暗号化されたセンサデータ24に対して許可される動作を実行するためにデバイス20によって使用されることができる1つ以上の鍵を提供するステップとを含む。本発明の追加の任意の特徴は、以下に記される。以下に記される特徴は、上述の例の言い換えを表し得ることに留意しなければならない。矛盾しない場合には、本出願に開示される本発明のいずれの任意の特徴も、本開示の意図された範囲を逸脱せずにいずれかの他の特徴と組み合わされ得る。特に、暗号化または暗号化鍵に関して以下に記されるいかなる任意の特徴も、秘密鍵を使用した一般的保護または秘密鍵自体、およびそれらの補完物にも等しく良好に当てはまり得ることに留意しなければならない。
【0046】
本発明の重要な目的は、センサデータが安全なままであり、特定の指定の当事者しか読み取りおよび/または変更できないようにすることである。したがって、動作は、暗号化されたセンサデータ24を復号化するステップと、センサデータを変更および再認証するステップとを含み得る。後者の場合には、暗号化されたセンサデータ24は、対応する(すなわち暗号化されていない)センサデータが変更され得る前に最初に復号化されなければならないことが認識されるであろう。
【0047】
まず、アクセス制御データが、デバイス20が暗号化されたセンサデータ24を復号化することを許可されると定義する場合を考える。この場合には、本方法は、デバイス20に、暗号化されたセンサデータを復号化するためにデバイス20によって使用されることができる復号化鍵を提供するステップを含み得る。換言すれば、アクセス制御データが、デバイスが暗号化されたセンサデータ24を復号化することを許可されると定義するため、(それに基づいて)デバイスが暗号化されたセンサデータ24を復号化することを許可されると判定される。いくつかの場合には、暗号化鍵は対称鍵であってもよく、その場合には、復号化鍵は、最初にセンサデータを暗号化するために使用された暗号化鍵と同じであり得る。
【0048】
他の場合には、デバイス20は、さらに一歩進んで、センサデータを変更することを許可され得る。復号化鍵を持ついかなる当事者もデータを復号化および変更できるであろうことが注目されるであろう。しかし、データの不正な変更は無視され得るように識別可能であることが極めて重要である。そうであるようにするために、暗号化するステップは、暗号化鍵を使用する前にデータに第1の認証鍵を適用するステップを含み得る。このようにして、承認されていない当事者がセンサデータを変更し、それから再暗号化しようとしても、第1の認証鍵なしではデータを認証できず、承認されない改ざんが行われたことを簡単に検出できるであろう。ここで、デバイス20がデータを変更することを許可される場合を考える。アクセス制御データが、デバイス20がセンサデータを変更することを許可される場合には、本方法は、デバイス20に、暗号化されたセンサデータを復号化し、それによってセンサデータを出力するために使用できる復号化鍵を提供するステップと、デバイス20に、変更されたセンサデータを再認証するためにデバイス20によって使用されることができる第1の認証鍵を提供するステップとを含み得る。したがって、デバイス20は、データを復号化し、それを変更し、変更されたセンサデータを認証するために認証鍵を再適用するように構成され得る。それからデバイス20は、データを再暗号化し得る。
【0049】
いくつかの他の場合には、動作は、暗号化されたセンサデータを認証するステップだけを含み得る。換言すれば、いくつかの場合には、デバイス20は、暗号化されたセンサデータ24が、その生成とデバイスへの送信および記憶との間に改ざんされていないことを確認することを望み得る。これを達成するために、暗号化するステップは、暗号化されたセンサデータ24に後で第2の認証鍵を適用するステップを含み得る。そして、提供するステップは、デバイス20に、暗号化されたセンサデータを認証するためにデバイス20によって使用されることができる第2の認証鍵を提供するステップを含み得る。デバイス20がセンサデータを復号化および/または変更することを許可される場合には、上述のように、第2の認証鍵もデバイス20に提供され得ることに留意しなければならない。
【0050】
本出願との関連では、認証鍵は、メッセージ認証コード(MAC:message authentication code)を出力する(暗号化されたまたは暗号化されていない)何らかのデータに適用され得る鍵であることに留意しなければならない。そして、MACが元のデータ(すなわち「メッセージ」)に付けられ得る。具体的には、認証鍵をデータに適用するステップは、出力が入力データおよび鍵に依存するアルゴリズムである鍵に基づくアルゴリズムをデータに適用するステップを含み得る。換言すれば、入力データおよび鍵の両方が同じ場合にのみ同じ結果が得られる。異なる鍵は、異なる結果を生じる。好ましい例では、センサデータ(または暗号化されたセンサデータ)に認証鍵を適用するステップは、センサデータ(または暗号化されたセンサデータ)に対して認証鍵を用いた鍵付きハッシュアルゴリズムまたはHMAC方式を使用して、HMACを生成するステップを含み得る。他の鍵付き認証方式も想定される。
【0051】
本出願全体を通して暗号化鍵に関して説明される任意のアクションは、第1および/または第2の認証鍵(特にそれらの鍵の生成および/または取得に関係するアクション)に関しても行われ得ることに留意しなければならない。
【0052】
いくつかの場合には、センサデータの異なるサブセットで異なる動作が許可され得る。例えば、センサ10は、2つの異なる型のデータを得てもよく、所与のデバイス20は、一方の型のデータを読み取ること、しかし他方の型は変更することだけを許可され得る。あるいは、デバイス20は、特定の時間枠内に記録されたデータを見ることだけを許可され得る。本発明のいくつかの実装は、センサデータの異なるサブセットに異なるルールが当てはまることができるようにする。具体的には、センサデータは、センサデータの第1のサブセットと、センサデータの第2のサブセットとを含み得る。もちろん、センサデータは、センサデータの一般的な複数のサブセットに分割され得る。ここで、第1のサブセットおよび第2のサブセットへの分割は、例示のためのものである。一般的な場合については後述する。
【0053】
センサデータがサブセットに分割され得る多数のやり方がある。例えば、本方法は、生成された各センサデータのピースに対してヘッダを生成し付加するステップを含み得、ヘッダは、そのセンサデータのピースについての情報を含むメタデータを含み、メタデータは、そのセンサデータのピースが収集/生成された時刻および/または日付を示すタイムスタンプ、データを収集したセンサを識別するセンサID、データの型を示すデータ型、およびデータにアクセスすることを許可されるデバイス20を識別する1つ以上のデバイスIDのうちの1つ以上を含む。このような場合には、それぞれのセンサデータが属するサブセットは、そのセンサデータのピースのヘッダ内のメタデータに基づく。
【0054】
暗号化するステップは、センサデータの第1のサブセットを第1の暗号化鍵で暗号化して、暗号化されたセンサデータ24の第1のサブセットを生成するステップと、センサデータの第2のサブセットを第1の暗号化鍵とは異なる第2の暗号化鍵で暗号化して、暗号化されたセンサデータ24の第2のサブセットを生成するステップとを含み得る。そのような場合には、アクセス制御データは、デバイス20が暗号化されたセンサデータ24の第1のサブセットに対して実行することを許可される第1の動作および/またはデバイス20が暗号化されたセンサデータ24の第2のサブセットに対して実行することを許可される第2の動作を定義し得る。したがって、判定するステップは、アクセス制御データに基づいて、デバイス20が暗号化されたセンサデータ24の第1のサブセットに対して実行することを許可される第1の動作および/またはデバイス20が暗号化されたセンサデータ24の第2のサブセットに対して実行することを許可される第2の動作を判定するステップを含み得る。デバイス20は、第1のサブセットおよび第2のサブセットの両方に対して動作を実行することを許可されなくてもよい。したがって、提供するステップは、デバイス20が第1の動作を実行することを許可されると判定される場合にのみ、暗号化されたセンサデータ24の第1のサブセットに対して第1の動作を実行するためにデバイス20によって使用されることができる1つ以上の鍵を提供するステップ、および、デバイス20が第2の動作を実行することを許可されると判定される場合にのみ、暗号化されたセンサデータ24の第2のサブセットに対して第2の動作を実行するためにデバイス20によって使用されることができる1つ以上の鍵を提供するステップを含み得る。換言すれば、第1および第2の動作は、アクセス制御データが、デバイス20が第1および第2の動作を実行することを許可されると規定しない限り、実行されることができない。
【0055】
より一般的な場合には、センサデータは、センサデータの複数のサブセットを含み得る。そして、センサデータ24を暗号化するステップは、センサデータの複数のサブセットの各々をそれぞれの鍵で暗号化して、暗号化されたセンサデータ24のそれぞれの複数のサブセットを生成するステップを含み得る。したがってそれから、アクセス制御データは、デバイス20が暗号化されたセンサデータ24のそれぞれのサブセットに対して実行することを許可される1つ以上の動作を定義し得る。例えば、データのサブセットごとに、そのうちの1つだけについて、またはそのうちのいくつかについて、動作が定義され得る。そして、判定するステップは、デバイス20が暗号化されたセンサデータ24のそれぞれのサブセットに対して実行することを許可される1つ以上の動作を判定するステップを含み得る。この判定が行われると、本方法は、デバイス20に1つ以上の鍵を提供するステップであって、各鍵は、暗号化されたセンサデータ24のそれぞれのサブセットに対して許可される動作を実行するためにデバイス20によって使用されることができる、ステップを含み得る。
【0056】
上記の例では、センサ10によって承認トークン23が受信されることのみが指定される。判定するステップは、承認トークン23を受信したことに応答して行われることが理解されねばならない。上記の場合には、判定するステップに応答して、センサ10は、アクセス制御データに基づいて、デバイス20に、許可される全ての動作を実行するためにデバイス20によって使用されることができる単数または複数の鍵を提供することが理解されねばならない。しかし、いくつかの場合には、デバイス20は全ての可能な動作を実行することを望まないかもしれない。そのような場合には、本方法は、デバイス20からアクセス要求を受信するステップであって、アクセス要求は、暗号化されたセンサデータ24の第1のサブセットに対して実行される第1の動作、および暗号化されたセンサデータ24の第2のサブセットに対して実行される第2の動作のうちの1つ以上を指定する、ステップをさらに含み得る。そして、判定するステップは、デバイス20が暗号化されたセンサデータ24の第1のサブセットに対して第1の動作を実行することを許可されるか否かを判定するステップ、および/またはデバイス20が暗号化されたセンサデータ24の第2のサブセットに対して第2の動作を実行することを許可されるか否かを判定するステップを含み得る。そして、既に論じたように、肯定的判定が行われたときにのみ関連する鍵が提供される。
【0057】
以前と同様に、これはセンサデータの複数のサブセットがある場合に一般化され得る。この場合には、アクセス要求は、センサデータのそれぞれのサブセットに対して実行される1つ以上の動作を指定してもよく、判定するステップは、デバイス20が暗号化されたセンサデータ24のそれぞれの指定されたサブセットに対して指定された各動作を実行することを許可されるか否かを判定するステップを含む。
【0058】
上に提示された任意の特徴は、主に本発明の第1の態様、すなわちセンサ10によって実行される方法に関する。しかし、矛盾しない場合には、これらの特徴は、本発明の第2の態様、すなわちデバイス20によって実行される方法に等しく良好に当てはまることが認識されるであろう。以下に、本発明の第2の態様に当てはまり得るいくつかの追加の任意の特徴を一般的に記す。本発明の第2の態様は、デバイス20によって保護されたセンサデータにアクセスする方法であって、デバイス20には、デバイス20が暗号化されたセンサデータ24に対して実行することを許可される1つ以上の動作を定義するアクセス制御データを含む承認トークン23が記憶されており、本方法は、センサから暗号化されたセンサデータ24を受信するステップであって、暗号化されたセンサデータは、暗号化鍵を使用して暗号化されている、ステップと、受信されたセンサデータを記憶するステップと、センサに承認トークン23を送るステップと、暗号化されたセンサデータ24に対して許可される動作を実行するためにデバイス20によって使用されることができる鍵を受信するステップとを含む、方法を提供する。先に論じたように、動作は、暗号化されたセンサデータ24を復号化するステップと、センサデータを変更および再認証するステップとを含み得る。
【0059】
本発明を大まかに定義したときには、上記のように、デバイス20はセンサ10に承認トークン23だけを送る。これらの場合には、デバイス20は、承認トークン23のアクセス制御データによって許可される全ての動作を実行するために使用できる鍵を受信し得る。しかし、これが望ましくないいくつかの場合には、デバイス20は、センサ10にアクセス要求を送り得るものであり、アクセス要求は、暗号化されたセンサデータ24に対して実行される要求される動作を指定する。
【0060】
本発明の第1の態様を参照して上で解説したように、センサデータは、第1のサブセットおよび第2のサブセットを含み得、デバイス20は、異なるサブセットに対して異なる動作を実行することを許可され得る。以前と同様に、暗号化されたセンサデータ24は、暗号化されたセンサデータ24の第1のサブセットと、暗号化されたセンサデータ24の第2のサブセットとを含み得る。そして、アクセス制御データは、デバイスが暗号化されたセンサデータ24の第1のサブセットに対して実行することを許可される第1の動作および/またはデバイスが暗号化されたセンサデータ24の第2のサブセットに対して実行することを許可される第2の動作を定義し得る。そのような場合には、センサ10で行われる判定ステップの結果として、受信するステップは、アクセス制御データにおいてデバイスが第1の動作を実行することを許可されると定義される場合にのみ、暗号化されたセンサデータ24の第1のサブセットに対して第1の動作を実行するためにデバイス20によって使用されることができる1つ以上の鍵を受信するステップ、および、アクセス制御データにおいてデバイス20が第2の動作を実行することを許可されると定義される場合にのみ、暗号化されたセンサデータ24の第2のサブセットに対して第2の動作を実行するためにデバイス20によって使用されることができる1つ以上の鍵を受信するステップを含み得る。もちろん、センサデータが含み得るのは、第1および第2のサブセットだけにとどまらない。本段落で説明される任意の特徴は、センサデータの一般的な複数のサブセットに一般化され得る。具体的には、デバイス20は、暗号化されたセンサデータ24の複数のサブセットを受信し得、アクセス制御データは、デバイス20が暗号化されたセンサデータ24のそれぞれのサブセットに対して実行することを許可される1つ以上の動作を定義し得る。例えば、データのサブセットごとに、そのうちの1つだけについて、またはそのうちのいくつかについて、動作が定義され得る。そして、本方法は、センサ10から1つ以上の鍵を受信するステップであって、各鍵は、暗号化されたセンサデータ24のそれぞれのサブセットに対して許可される動作を実行するためにデバイス20によって使用されることができる、ステップを含む。
【0061】
デバイス20がアクセス要求を送る場合には、アクセス要求は、暗号化されたセンサデータ24の第1のサブセットに対して実行される第1の動作、および暗号化されたセンサデータ24の第2のサブセットに対して実行される第2の動作のうちの1つ以上を指定し得る。
【0062】
セキュリティ強化のために、センサ10は、単数または複数の鍵をデバイスに提供する前に暗号化し得る。好ましい実装では、センサ10は公開鍵がプリロードされてもよく、デバイス20はプライベート鍵がプリロードされてもよく、本方法は公開鍵を使用して単数または複数の鍵を暗号化するステップを含んでもよい。単数または複数の鍵が送られるデバイス20だけが暗号化された鍵を復号化できるプライベート鍵を有するため、他の外部当事者は単数または複数の鍵、ひいてはセンサデータにアクセスすることを阻止される。本発明の第2の態様の方法は、単数または複数の鍵を、好ましくはプライベート鍵を使用して復号化する対応するステップを含み得る。
【0063】
本発明の第2の態様の方法は、許可される動作、例えば第1の動作および/または第2の動作を実行するために、センサから受信された単数または複数の鍵を使用するステップをさらに含み得る。
【0064】
図2および図3は、本発明の第1および第2の態様の方法の具体例を、図1のシステム1によって行われ得る一連のステップS1~S12の形で提示する。好ましい場合には、ステップS1~S12はその順序で行われるが、当業者は、いくつかのステップの順序を変えることが可能であり得ることを認識するであろう。図2は、センサ10によって行われるステップを示し、図3は、デバイス20によって行われるステップを示す。
【0065】
ステップS1で、センサ10は、センサデータを生成する。この時点で、本発明の想定される用途のいくつかを特定したほうがよいだろう。例えば、デバイス20は、異なる特定のアクセスが必要ないくつかのセンサを管理するエッジゲートウェイまたは制御ユニットであり得る。1つの例は、特定の動作(例えば飛行機着陸検出)を誘導するために生成された加速度計データを使用し、輸送品質および非改ざんを保証するためにクラウドで報告される温度センサまたはドア状態センサによって生成された暗号化されたデータも記憶するコンテナに接続されたトラッキング制御ユニットであり得る。温度およびドア状態トラッキングデータの整合性およびプライバシーは、センサとシステムとの間でエンドツーエンドで保護される。別の例では、センサによって生成されたデータへの異なる特定のアクセスを必要とする異なる制御ユニットが存在するローカルネットワークにいずれも接続された複数のセンサを備えた車両(車、ボート、電車など)。1つのセンサが異なる制御ユニットに異なる型のデータを提供してもよく、制御ユニットはいずれも生産時に、保守段階にまたは現場で要求に応じて接続時にシステムセットアップによって管理および承認される。
【0066】
センサデータがセンサ10によって生成されると、ステップS2で、センサデータは、プロセッサ11の暗号化モジュール12によって暗号化される。そして、ステップS3で、送信器14が、暗号化されたセンサデータ24をデバイス20に送り、このデータは図3のステップS4でデバイス20の受信器21によって受信される。好ましい場合には、本方法は、センサデータをメモリ22への記憶のためにデバイス20に送信した後にセンサデータを消去するステップをさらに含む。別の言い方をすると、センサ10は、センサデータをメモリ22への記憶のためにデバイス20に送信した後に消去するように構成され得る。
【0067】
そして、ステップS5で、暗号化されたセンサデータ24がデバイス20のメモリ22に記憶される。この時点で、デバイス20のユーザが暗号化されたセンサデータ24の一部または全部にアクセスすることを望むときには、ステップS6で、デバイス20のプロセッサ25は、デバイス20のユーザがアクセスすることを望む暗号化されたセンサデータ24のサブセットを任意に指定してもよいアクセス要求を生成し得る。アクセス要求は、暗号化されたセンサデータに対して何らかの種類の動作を実行するデバイス20からの要求であり、本出願のより後で詳しく論じる。ステップS7で、デバイス20の送信器26は、要求を承認トークン23またはそのコピーとともにセンサ10に送信する。いくつかの場合には、送信器26は、承認トークン23のみを送信し得ることに留意しなければならない。そのような場合には、センサ10はデバイス10に、全ての許可される動作を実行できるようにする鍵を送り得る。
【0068】
承認トークン23は、デバイス20がアクセスすることを許可されるセンサデータ24を定義するアクセス制御データを含む。例えば、アクセス制御データは、デバイス20がアクセスすることを許可されるセンサデータ24の1つ以上のサブセットを定義し得る。加えて、アクセス制御データは、デバイス20が暗号化されたセンサデータに対して実行し得る動作を定義し得る。
【0069】
承認トークン23の特徴については、本出願のより後でより詳しく説明する。図2に戻ると、ステップS8で、センサ10の受信器15は、デバイス20の送信器26からアクセス要求および承認トークン23を受信する。そして、ステップS9で、センサ10のプロセッサ11のアクセス判定モジュール13が、承認トークン23のアクセス制御データに基づいて、デバイス20が暗号化されたセンサデータ24にアクセスすることを許可されるか否かを判定する。いくつかの場合には、アクセス判定モジュール13は、デバイス20がいずれの暗号化されたセンサデータ24にアクセスすることを許可されるか、またはデバイス20がいずれの動作を実行することを許可されるかを判定する。このアクセス判定プロセスは本発明の中核をなし、より後でより詳しく説明する。ステップS10で、センサ10、具体的にはその送信器14は、デバイス10に1つ以上のアクセス鍵を送り、この鍵(単数または複数)は許可される動作を実行するために使用できるものである。最後に図3に戻ると、デバイス20の受信器21はステップS11でアクセス鍵を受信し、デバイス20のプロセッサ25は、単数または複数のアクセス鍵を使用して、暗号化されたセンサデータ24に対して許可される動作を実行する。
【0070】
図4は、本発明のシステムの一部を形成し得る、または本発明の方法(例えば図2に示されるステップS1、S2、S3、S8、S9、およびS10)を行い得るセンサモジュール100の代替例を示す。図4のセンサモジュール100の基本構造は、図1のセンサ10の構造と類似するが、多数の任意の特徴を示す。
【0071】
図4の任意の特徴は1つの図に示されるが、それらのまさに任意の特徴としての性質上、この全ての特徴が正確に図4に示すとおりに組み合わせて存在する必要はないことを強調しておかなければならない。これらは例示の目的で1つのセンサ100内に示されており、図4の代替的センサ100内に示される特徴のいずれか、一部、または全部は、結果として生じる装置が本開示の範囲を外れることなく例から除外され得ることが理解されねばならない。
【0072】
図1と同様に、まずセンサ100の構造を説明し、それから様々な任意のモジュールの機能を解説する。センサ100は、センサデータの制御された記憶および使用を実装するセンサ100のサブシステムとして定義され得るセンサセキュア環境(SSE:sensor secure environment)101を含む。SSE101などのセキュア環境の1つの目的は、データ損失が発生したときにセキュア/機密データを保護することである。SSE101は、情報を保護する方法として、ハッシュ化などの暗号手段を使用し得る。図4において、SSE101は、プロセッサ102、メモリ104、データ収集モジュール103、およびデバイスインタフェースモジュール106を含む。プロセッサ102およびメモリ104はSSE101内に位置することが好ましいが、デバイスインタフェースモジュール106はセンサ100の中には位置するがSSE101の外に位置し得る。デバイスインタフェースモジュール106は、外部信号およびデバイス(例えばデバイス20またはデバイス200)とセンサ100との間のインタフェースとして働く。図4のデバイスインタフェースモジュール106は、送信器124および受信器126を含む。あるいは、他の場合には、デバイスインタフェースモジュール106は、インタフェースとしてのみ働き、送信器124に信号を伝達し、受信器126から信号を受信するように構成されてもよく、そのような例もなお本発明の範囲内に入る。
【0073】
図4のプロセッサ102は、暗号化モジュール108、アクセス判定モジュール110、および承認モジュール112のうちの1つ以上を含み得る。同様に、メモリ104は、永続メモリ114およびバッファ116を含み得る。バッファの容量は100KB~10MBであり得る。ここで、「永続メモリ」という用語は、長期メモリ、または永久メモリを指すものと理解されねばならない。本例ではメタデータ118および暗号化鍵データ120など、長期記憶を要するデータだけが永続メモリ114に記憶されねばならない。このデータの性質については、より後でより詳しく説明する。バッファ116は短期メモリであり、センサデータ122が生成された後に、例えば送信器124によってデバイス(例えば20または200)に送信される前にセンサデータ122を記憶するために使用され得る。
【0074】
次に、図4に示す構成要素の機能を、さらなる任意の特徴を記しながら図2および3の高レベル方法との関連でより詳しく説明する。
【0075】
データ収集モジュール103は、感知そのものを行うセンサ100のモジュールであり、したがって何らかの外部パラメータを感知、検出、および/または測定するように構成された感知要素105を含み得る。感知要素105は、温度センサ、光センサ、音センサ、水分センサ、COセンサ、煙センサ、圧力センサ、湿度センサ、近接検出器またはカメラのうちの1つ以上を含み得る。感知要素105は、電圧、電流、抵抗、磁界強度、磁束密度、静電容量、インダクタンス、周波数および波長のうちの1つ以上を測定するように構成された単数または複数のデバイスも含み得る。感知要素105は、加速度計も含み得る。感知要素105は、任意の形の外部の物理的刺激または環境刺激を感知、検出、または測定するように構成されたデバイスを含み得ることが認識されるであろう。物理的刺激または環境刺激を検出するだけでなく、感知要素105は、コンピュータデバイス(コンピュータ、タブレット、またはスマートフォンなど)における所定のプロセスの発生を検出するように構成されたソフトウェアモジュールの形で実装され得る。例えば、感知要素105は、所定のデータ処理動作を検出するように、またはデータ処理動作の特定の結果を検出するように構成され得る。感知要素105は、特定の事象が起こる回数をカウントするように構成されたカウンタを含み得る。データ収集モジュール103は、感知デバイス105によって収集された生データをプロセッサ102によって処理できる形に変換するように構成された、それ自体のプロセッサを任意に含み得る。あるいは、生データはプロセッサ102に直接送られ、それからより適切な形に変換されてもよい。センサ100は、2つ以上のデータ収集モジュール103を含み得ることが認識されねばならない。各データ収集モジュール103は、本段落で説明されたタイプの1つ以上の感知要素105も含み得る。
【0076】
図2のステップS2で、センサデータが暗号化される。暗号化プロセスについて論じる前に、得られるセンサデータの考えられる性質と、暗号化される前にそれに対して実施され得る任意のプロセスについて、もう少し詳しく説明することが有用である。
【0077】
センサデータのピースが最初に収集されるとき、プロセッサ102は、ヘッダを生成し、そのヘッダをデータのピースに付加するように構成され得る。データの収集とヘッダの付加との間に、センサデータのピースは、処理のためにセンサ100のメモリ104のバッファ116に記憶され得る。バッファ116は、短期記憶のみであるためこの記憶に適する。ヘッダは、そのセンサデータのピースについての情報を含むメタデータを含むのが好ましく、該メタデータは、データが収集された時刻および/または日付を示すタイムスタンプ、データを収集したセンサ100または感知要素105の識別を示すセンサID、データの型を示すデータ型(例えばデータが関連する物理的パラメータ、または検出されるアクティビティのタイプ)、ノンス材料、ならびに必要な鍵を生成するために使用され得る鍵生成データ、ハードウェアおよびファームウェア参照(例えばIDおよびバージョン)などのセンサ情報のうちの1つ以上を含むのが好ましい。これらは「メタデータの型」と呼ばれる。センサデータは、複数のサブセットに分割され得る。これらは排他的サブセットであり得る、すなわち各センサデータのピースが1つのサブセットのみに属し得る。あるいは、各センサデータのピースが1つ以上のサブセットに属してもよい。サブセットは、1つのセンサデータのピースだけを含み得る。
【0078】
センサデータは、第1の型のメタデータに基づいてサブセットに細分され得る。換言すれば、センサデータは、各サブセットが異なる時間枠内に記録された、またはそれぞれが異なる型のデータである、またはそれぞれが異なるセンサによって記録された複数のサブセットに分割され得る。センサデータは、第2の型のメタデータに基づいて複数のサブセットにさらに分割され得る。
【0079】
ここで、「分割」という用語は、センサデータが区分されること、または異なるサブセットが互いに別々に記憶されることを意味する必要はないが、任意にそうであってもよい。しかし、複数のサブセットは、メタデータに基づいて割り当てられ得るが、(少なくともこの時点では)互いに分離されないのが好ましい。この時点で、データの複数のサブセットが確立されており、各データのピースは、そのデータについての情報を提供するメタデータを含むヘッダを任意に含み、サブセットはメタデータに基づく。この時点で、ヘッダが付加されたデータのピースは、センサ100のメモリ104のバッファ116に一時的に記憶され得る。
【0080】
そして、プロセッサ102の暗号化モジュール108が、センサデータを暗号化して、暗号化されたセンサデータを生成するように構成される。暗号化モジュール108は、センサデータおよびヘッダの両方を暗号化するように構成され得るが、好ましくはセンサデータのみを暗号化する。具体的には、暗号化モジュール108は、データの複数のサブセットの各々を、異なるそれぞれの暗号化鍵で暗号化するように構成される。各センサデータのピースが複数のサブセットのうちの1つのサブセットに属する場合には、これは簡単である。
【0081】
しかし、データのピースが複数のサブセットに属するかまたは複数のサブセット(例えばデータが記録された時刻に基づいて確立されたサブセットおよびデータを記録した感知要素105に基づくサブセット)に割り当てられ得るときには、状況はより複雑であり、以下のいずれかの方法で対処され得る。
(i)暗号化モジュール108は、各センサデータのピースを異なるそれぞれの鍵で暗号化して、暗号化されたセンサデータの1つのセットを生成するように構成され、暗号化された各センサデータのピースは、(生の暗号化されていない)それぞれのセンサデータのピースに対応し得る。そして、プロセッサ102(任意にその暗号化モジュール108)は、暗号化された各センサデータのピースにヘッダを付加し、ヘッダは、暗号化されたそのセンサデータのピースが属するデータの単数または複数のサブセットを識別するメタデータ(またはより具体的には、対応する暗号化されていないセンサデータが属する単数または複数のサブセット)を含み得る。これが図6に示され、図6では鍵K~Kを使用してセンサデータのピースA~Dがそれぞれ暗号化される。ここでは、暗号化に対して1つのセンサデータのピースが生成され、各ヘッダにおいて2つのサブセットが識別される。
(ii)暗号化モジュール108は、各サブセットそれぞれの各データのピースを同じ暗号化鍵で暗号化して、生の暗号化されていないセンサデータのサブセットに対応する複数の暗号化されたデータのピースを生成するように構成され得る。暗号化モジュール108は、全てのデータのサブセットにつきこれを行うように構成され得る(これらのサブセットは重複し得ることに留意して)。複数のセンサデータのサブセットが重複するとき(すなわち各センサデータのピースが複数のサブセットに属する場合)には、それによって所与の暗号化されていないセンサデータのピースに対して複数の暗号化されたセンサデータのピースが生成され得、各暗号化されたセンサデータのピースは異なるそれぞれの暗号化鍵で暗号化され、各暗号化鍵は、その暗号化されていないセンサデータのピースが属するかまたは割り当てられるサブセットのそれぞれに関連する。ここでも、プロセッサ102(任意にその暗号化モジュール108)は、暗号化された各センサデータのピースにヘッダを付加し、ヘッダは、暗号化されたそのセンサデータのピースが属するデータのサブセットを識別するメタデータ(またはより具体的には、対応する暗号化されていないセンサデータが属する単数または複数のサブセット)を含み得る。これが図6に示され、図6では各センサデータのピースが、1回はその「時刻サブセット」に対応する鍵で、1回はその「データ型」サブセットに対応する鍵で、2回暗号化されることが分かる。KはT1サブセットのデータに使用され、Kは温度サブセットのデータに使用され、Kは電流サブセットのデータに使用され、KはT2サブセットのデータに使用される。ケース(ii)によれば、2倍多くの暗号化されたデータが生成されることが分かる。
【0082】
次に、暗号化がどのように行われるかを論じる。単純な場合には、暗号化モジュール108は、暗号化鍵を使用して所与のセンサデータのピース(本出願全体を通して、別段の指定がない限り、「センサデータ」という用語は、暗号化されていないセンサデータを指すものと理解され得る)を暗号化して、対応する暗号化されたセンサデータのピースを生成するように構成され得る。暗号化鍵は、対称鍵であっても非対称鍵であってもよい。これらのタイプの鍵にはそれぞれ、システムの優先事項に応じて関連する利点がある。例えば、対称鍵は、生成するのがはるかに簡単であるため、暗号化鍵が対称鍵である場合には、プロセッサ102の処理要件が低減され、センサ100をより単純に、より小さく、より安価に製造することができる。他方で、非対称鍵はより安全であるが、生成および適用するのにより大きな処理能力が必要である。
【0083】
要求およびアクセスが許可されるという判定に応答して適切なアクセス鍵を識別しデバイス20または200に送信できるようにするために、センサ100は、センサデータまたは暗号化されたデータを識別するメタデータに関連付けて鍵をメモリ104に記憶することのいずれかができなければならない。あるいは、センサ104のメモリ104のメモリ要件を低減するために、センサ100のプロセッサ102は、何らかの入力に基づいてアクセス鍵を確実に再生成することができてもよい。これらの可能性の両方を以下で説明する。
【0084】
第1の場合の方法が図7に示され、図7は、1つのセンサデータのピースに対して行われるプロセスを示す。ステップS108Aで、センサデータのピースが暗号化モジュール108で受信され、センサデータのピースはメタデータを含み、メタデータは、そのセンサデータのピースが属するサブセットを識別する。そして、ステップS108Bで、暗号化モジュール108(あるいはプロセッサ102)は、暗号化鍵データテーブル120のルックアップを行って、サブセットに対応する暗号化鍵が存在するか否かを判定するように構成される。任意に、このステップが行われる前に、暗号化モジュール108またはプロセッサ102は、センサデータのピースからヘッダを除去し、センサデータのピースからサブセットIDを含むかまたは示すメタデータを抽出し得る(図示せず)。暗号化鍵が存在するときには、ステップS108Cで、暗号化鍵データテーブル120から鍵が取得され、ステップS108Eでセンサデータを暗号化するために使用される。サブセットに対応する鍵が存在しないと判定したときには、ステップS108Dで、例えば鍵生成モジュール109によって新たな鍵が生成され、暗号化鍵データテーブル120に記憶され、その後その鍵がステップS108Eでセンサデータのピースを暗号化するために使用される。本方法はここでストップし得るが、代わりに、センサデータのピースがその他のサブセットに属するか否かが判定されるステップS108Fに続いてもよい。属しない場合には、そのデータのピースの処理は完了し、本方法はステップS108Aに任意に戻り、さらなるセンサデータのピースを受信し得る。それ以外の場合に、センサデータのピースがセンサデータの別のサブセットに属すると判定される場合には、本方法はステップS108Bに戻る。この方法を使用すると、より多くのセンサデータが受信されるにつれて、暗号化鍵データテーブル120が大きくなる。暗号化鍵データテーブルのレイアウト例の2つの例が図8A~8Bに示される。図8Aでは、暗号化鍵が特定のサブセットを表すサブセットIDに関連付けて記憶される一方で、図8Bでは、暗号化鍵がサブセットに対応する特定のメタデータのピースとサブセットIDとに関連付けて記憶される。やや異なる場合には、サブセットIDは、暗号化鍵データテーブル120に含まれなくてもよい。
【0085】
センサデータのピースを暗号化するために暗号化モジュール108によって非対称鍵が使用される場合には、ステップS108Dで暗号化鍵および補完復号化鍵の両方が生成されねばならず、それから両方が暗号化鍵データテーブル120に記憶されることに留意しなければならない。あるいは、暗号化鍵が生成され使用されると、それは消去され、復号化鍵のみが記憶されてもよい。
【0086】
上に与えられた例では、暗号化鍵データテーブル120が生成され、センサデータの受信が増えるにしたがって大きくなる。いくつかの場合には、例えばメモリ104の容量が限られるときには、これは望ましくない可能性がある。そのため、代替例では、鍵生成モジュール109は、メタデータまたはサブセットIDのうちの1つ以上に基づく暗号化鍵と、センサ100に固有の秘密のローカル鍵生成データ118とを生成するように構成され得る。このようにすれば、暗号化鍵は生成されると、それが保護するセンサデータに関するメタデータに基づいて確実に再生成され得るため、センサ100のメモリまたは他所に記憶する必要がない。メモリに記憶される必要があるのは、ローカル鍵生成データ118だけである。図9はこの方法の例を示す。ステップS109Aで、センサデータのピースが暗号化モジュールで受信される。そして、ステップS109Bで、鍵生成モジュール109が、センサデータのピースのヘッダ内のメタデータと、ローカル鍵生成データ118とに基づいて暗号化鍵を生成し得る。ローカル鍵生成データ118が使用され、秘密のままであることが重要であり、さもなければ他のいかなる行為者でもメタデータの知識だけをもって鍵を再生成することが可能となり、明らかな小さくないセキュリティリスクが生じることとなる。ステップS109Cで、生成された暗号化鍵を使用して、センサデータのピースが暗号化される。そして、生成された暗号化鍵はステップS109Dで消去され得る。あるいは、生成された暗号化鍵は、バッファ116の一時鍵データテーブル123に記憶されてもよい。このようにして、同じサブセットからの別のセンサデータのピースに遭遇したときには、暗号化モジュール108は、そのサブセットに対応する暗号化鍵が既に生成されているか否かを判定するために一時鍵データテーブル123のルックアップを行うことができ、既に生成されている場合には、その暗号化鍵が一時鍵データテーブル123から取得され、後続のセンサデータのピースを暗号化するために使用される。これは、いずれも所定の時間範囲内に収集された一連のセンサデータのピースを暗号化するために同じ暗号化鍵が使用され得るように、サブセットがデータが収集された時刻に基づくシナリオで特に有用であり得る。したがって、一時鍵データテーブル123に記憶される生成された暗号化鍵は、関連する存続期間または終了時間を有し得、その後それらはテーブル123から消去される。ステップS109Cでセンサデータのピースが暗号化され、ステップS109Dで消去された後、本方法はステップS109Aに戻り、新たなセンサデータのピースが到着する。非対称鍵が生成される場合には、ステップS109Bで、鍵生成モジュール109によって暗号化鍵および補完復号化鍵の両方が生成される。そして、ステップS109Cで、暗号化鍵(好ましくはプライベート鍵)を使用してセンサデータのピースが暗号化される。復号化鍵は、公開鍵であることが好ましい。
【0087】
生成または取得された暗号化鍵を使用したデータの暗号化は、データが機密であるようにするために、すなわちその送信を傍受するユーザがそこから一切の意味を導出できないようにするために、データが認識できないように有効にスクランブルされるようにする。センサデータの暗号化に加えて、センサ100、およびデバイス20または200が、受信したデータが送信元と考えられるエンティティから受信されたものであることを保証できることも重要であり、これは「認証」として知られる。このプロセスには、暗号化後MAC、MAC後暗号化、ならびに暗号化およびMACなど、いくつかの方式が利用可能である。本発明では暗号化後MACプロセスが使用されることが好ましい。これは、第1のセンサデータのピースについて解説されるが、この方法は、受け取られる全てのセンサデータのピースに適用され得ることが理解されるであろう。
【0088】
この例を図10に示す。まずステップS108Mで、前の段落で解説したようにセンサデータのピースが暗号化されて、暗号化されたセンサデータのピースが生成され得る。そして、ステップS108Nで、暗号化モジュール108が、暗号化されたセンサデータのピースに認証鍵を適用して、メッセージ認証コード(本明細書において「MAC」)を生成するように構成され得る。暗号化されたセンサデータのピースは消去されないことが強調されねばならず、暗号化されたセンサデータのピースと並んでMACが生成される。そしてステップS108Oで、暗号化されたセンサデータのピースとMACとが連結されて、メッセージが生成され得る。そのようなメッセージの運命についてはより後で論じる。いくつかの場合には、センサデータが暗号化鍵を使用して暗号化される前にセンサデータに認証鍵が適用され得る。これについては、本出願の他所で説明する。
【0089】
この時点で、図2のステップS3で、暗号化されたセンサデータが、送信器124によってデバイス20または200に送信される。具体的には、暗号化されたセンサデータのピースまたは前の段落で解説したように生成されたメッセージが送信され得る。いくつかの場合には、暗号化されたセンサデータが生成されたらすぐに送信するのではなく、暗号化モジュール108は、暗号化されたセンサデータのピースを一時記憶のためにバッファ116に送信し得る。そして、送信器124が、バッファ116内の全ての暗号化されたセンサデータを所定の閾値量を超えたときのいずれかに送り得る。あるいは、送信器124は、バッファ116内の全ての暗号化されたセンサデータを一定の時間間隔で送るように構成されてもよい。デバイス20または200によって行われるステップをより詳細に論じる前に、デバイスの構造をより詳細に考えることが有用である。
【0090】
したがって、図4とよく似て、図5は、本発明のシステムの一部を形成し得る、または本発明の方法(例えばステップS4、S5、S6、S7、S11、およびS12)を行い得るデバイス200の代替例を示す。図5のデバイス200の基本構造は、図1のデバイス20の構造と類似するが、多数の任意の特徴を示す。図5の任意の特徴は1つの図に示されるが、それらのまさに任意の特徴としての性質上、この全ての特徴が正確に図5に示すとおりに組み合わせて存在する必要はないことを強調しておかなければならない。これらは例示の目的で1つのデバイス200内に示されており、図5の代替的デバイス200内に示される特徴のいずれか、一部、または全部は、結果として生じる装置が本開示の範囲を外れることなく例から除外され得ることが理解されねばならない。
【0091】
デバイス200を構成する構成要素について論じる前に、デバイス200が実際に何であるかを考えることが重要である。好ましい場合には、デバイス200はエッジデバイスである。本発明との関連では、「エッジデバイス」という用語は、デバイスのネットワークへのエントリポイントを提供するデバイスであって、処理が非集中的に行われることができるようにし、したがってネットワーク全体の効率を改善するために、それ自体の何らかの処理能力を有するデバイスと理解されねばならない。いくつかの場合には、デバイスはサーバであってもよい。デバイスは、車両または他のシステムの電子制御ユニット、または1つ以上の型のセンサデータを入力として使用する多地点制御ユニット(MCU:multipoint control unit)を備えた基本的な埋め込みシステムであってもよい。
【0092】
図5のデバイス200は、接続C2を介してセキュリティプラットフォーム300に接続される。セキュリティプラットフォーム300は、承認トークン生成モジュール302を含み、その機能については後述する。例えばセンサ100と同様に、デバイス200は、セキュア環境、この場合にはデバイスセキュア環境(DSE:device secure environment)201を含む。図5に示す例では、DSE201は、プロセッサ202およびメモリ204を含む。加えて、DSE201は、ユーザインタフェースモジュール206、センサインタフェースモジュール208、およびセキュリティプラットフォームインタフェースモジュール209も含み得る。図5では前述の5つの構成要素がDSE201の一部であることが示されるが、1つもしくは複数または全部の構成要素がDSE201の外に位置することもできることが認識されねばならない。プロセッサ202は、復号化モジュール210、アクセス要求生成モジュール212、および承認モジュール214のうちの1つ以上を含み得る。メモリ204は、承認トークン216と暗号化されたセンサデータ220とをそれ自体が記憶し得る永続メモリ216(図4と同じ意味を有する)を含み得る。ユーザインタフェースモジュール206は、ディスプレイ222とユーザ入力受信器224とを含み得る。センサインタフェースモジュール208は、送信器226と受信器228とを含み得る。最後に、セキュリティプラットフォームインタフェースモジュール209も、送信器230と受信器232と(これらは任意にそれぞれ同じ、ならびに送信器226、および受信器228であってもよい)を含み得る。次に、図5の様々な構成要素の動作を、図3に示した方法、ならびに任意の特徴の開示との関連で説明する。
【0093】
ステップS4で、センサインタフェースモジュール206の受信器228が、センサ100の送信器124によって送信された暗号化されたセンサデータを受信する。それから、ステップS5で、受信された暗号化されたセンサデータ220が永続メモリ216に記憶される。
【0094】
この時点で、デバイス200のユーザは、センサ100のデータ収集デバイス103の感知要素105によって収集されたデータのサブセットにアクセスする必要があり得る。ユーザは、典型的には、サブシステムのデータ(すなわちデバイス20に記憶されたセンサデータ)にアクセスする必要がある保守ユーザである。ユーザは、例えばスマートフォン、USBスティック、保守デバイスまたはデバイスUIによりデバイスに接続することができ、自分のクレデンシャルを提供して承認トークンを入手し、秘密鍵を要求して、センサデータを処理する。
【0095】
これを行うために、ステップS6で、アクセス要求生成モジュール212がアクセス要求を生成する。ユーザがアクセスを許可されるデータは承認トークン218によって決定されるため、アクセス要求生成モジュール212による要求の生成について論じる前に、承認トークン218の性質を説明する。
【0096】
大まかに言えば、承認トークン218は、デバイス200のメモリ204の永続メモリ216にデプロイされる電子トークンであり、デバイス200がアクセスすることを許可されるセンサデータの1つ以上のサブセットを定義するアクセス制御データを含む。図5に示されるように、承認トークン218は、セキュリティプラットフォーム300の承認トークン生成モジュール302によって生成され得る。
【0097】
承認トークン218は、例えばサブセットIDを使用して、または好ましくはサブセットに関連するメタデータに関してサブセットを定義し得る。具体的には、承認トークン218は、以下の1つ以上を定義し得る:
‐デバイス200がアクセスすることを許可されるデータの型。例えば、承認は、デバイス200が温度データだけにアクセスすることを許可されることを指定し得る。
‐デバイス200がアクセスすることを許可されるデータのタイムスタンプまたはタイムスタンプの範囲。例えば、承認トークン218は、デバイス200が2020年10月に記録されたデータだけにアクセスすることを許可されることを指定し得る。
‐複数のセンサ100が存在するシステムでは、承認トークンは、デバイス200が1つの特定のセンサ100からだけアクセスすることを許可されることを指定し得る。あるいは、システム100が複数の感知要素105を含むシステムでは、承認トークン218は、デバイス200が1つの特定の感知要素115によって収集されたデータだけにアクセスすることを許可されることを指定し得る。
【0098】
収集されたセンサデータに関係するメタデータを指定することに加えて、承認トークン218は、他の制約も含み得る。例えば、いくつかの場合には、承認トークン218は、1つ以上の有効性条件を定義し得る。本明細書において、「有効性条件」とは、承認トークン218が有効であり得る、使用され得る、または効力があり得るときを定義する規則を指す。有効性条件が満たされない場合には、承認トークン218は無効と見なされる。有効性条件には、以下の1つ以上が含まれ得る。
‐承認トークン218が有効である期間(単数または複数)に対する制限。例えば、承認トークン218は、毎月1日の間だけ有効であり得うるし、または1年間だけ有効であり得る。(これは、センサデータが記録される期間に対する制限と混同してはならない。有効性条件は承認トークン自体のプロパティであり、問題のセンサデータの性質に関係なく当てはまる。)この時点以降は、承認トークン218は失効し得る。
‐承認トークン218が使用され得る回数に対する制限。承認トークン218は、使用されるたびに1ずつ増加する使用カウンタを含み得、承認トークン218は、使用カウンタが所定の値に達した後に失効し得る。
‐承認トークン218を使用し得る者に対する制限。この目的のために、承認トークン218は、それが有効であるユーザクレデンシャルまたはユーザクレデンシャルのセットを指定し得る。この場合には、センサ100のプロセッサ102またはデバイス200のプロセッサ202は、承認トークン218のユーザクレデンシャルを、例えば要求に含まれるユーザクレデンシャル、またはデバイス200のユーザ入力インタフェース206で受信されるユーザクレデンシャルと比較するように構成され得る。そして、ユーザクレデンシャルが一致しない場合には、承認トークン218は無効と見なされ得る。
‐複数のデバイス200を含むシステムでは、承認トークン218は、要求されるセンサデータへのアクセスを許可される特定のデバイス200(または複数のデバイス)を指定することもできる。要求が別のデバイスから来たときには、承認トークン218は無効と見なされ、要求は拒否され得る。
【0099】
承認トークン218は、データへの特定のタイプのアクセスを指定し得る。
‐承認トークン218は、デバイス200が問題の暗号化されたセンサデータ220を復号化することおよび読み取ることだけを許可されることを指定し得る。換言すれば、デバイス200はデータを変更することはできない。
‐承認トークン218は、デバイス200が問題の暗号化されたセンサデータ220を復号化することおよび認証することを許可されることを指定し得る。
‐承認トークン218は、デバイス200が暗号化されたセンサデータ220をその暗号化された形で認証することだけを許可されること、すなわち復号化することは許可されないことを指定し得る。
【0100】
次に、このプロセスの任意の特徴について、図5を参照して解説する。ステップS6で、アクセス要求が生成される。本方法のいくつかの例では、アクセス要求は、暗号化されたセンサデータの単数または複数のサブセットの指示を含む。しかし、他の場合には、要求はそのような指示を含まない。これらの後者の場合には、ステップS7は単に、何らかのデータにアクセスする要求と承認トークン218とをセンサ100に送信するステップを含む。
【0101】
しかし、要求には、デバイス200がアクセス(すなわち復号化)することを望むデバイスのメモリ204に記憶された暗号化されたセンサデータ220の何らかの指示が含まれることが望ましい。アクセス要求が生成される前に、ユーザインタフェースモジュール206のアンダー入力受信器224は、ユーザからのユーザ入力を受信し得る。ユーザ入力は、センサ100によって得られたデータの特定のサブセットにアクセスするための要求の形であり得る。要求は、ユーザがアクセスを望むセンサデータのサブセットを識別する情報を含み得、例えばデータの型、データが収集された時間枠、および/またはデータを収集した特定のセンサもしくは感知要素を含み得る。データが最初に収集されたときに、メタデータを含むヘッダがそれに付加されている可能性があり、メタデータは特定のセンサデータのピースについての情報を含むことが思い出されよう。いくつかの場合には、ユーザからの要求は同じ形式のメタデータを含み得る。
【0102】
データの要求がユーザインタフェースモジュール208を介して受信された後、アクセス要求生成モジュール212が、ユーザから受信したものに基づいて要求を生成する。これが行われ得るいくつかの方法があり、いずれもほぼ同じ結果をもたらす。これらは、(i)要求がサブセットIDを識別する場合、および(ii)要求がサブセットIDを識別しない場合の2つのカテゴリに大きく分けられ得る。
(i)いくつかの場合には、ユーザ入力受信器224によって受信される要求は、メタデータがメモリに記憶される形式と矛盾しないかまたは等価の形式のメタデータを含み得、そのため要求がアクセス要求生成モジュール212に直接転送され得る。そして、アクセス要求生成モジュール212は、問題のメタデータに対応するデータの単数または複数のサブセットを判定するために、暗号化されたセンサデータ220のルックアップを行うように構成され得る。例えば、図6の中央のテーブルのデータの例を使用すると、アクセス要求が全ての温度データについてのものである場合には、「温度」サブセットが返されることとなる。本出願の残部から明らかなように、サブセットは、関連する例えば数字または英数字のサブセットIDを有し得る。そして、アクセス要求生成モジュール212は、ユーザインタフェースを介して受信された全てのメタデータに対応するサブセットIDを含む要求を生成する。任意に、要求はメタデータも含み得る。このアプローチのやや変更されたバージョンでは、ユーザ入力受信器224によって受信された要求がアクセス要求生成モジュール212による処理に不適切なフォーマットのデータを含む場合には、本方法は、ユーザインタフェース206で受信された要求を、アクセス要求生成モジュール212による処理に適切な形式のメタデータに変換するさらなるステップを含み得る。したがって、プロセッサ202は、図5に示されるメタデータ変換モジュール211をさらに含み得る。
(ii)あるいは、要求がユーザインタフェース206で受信されると、アクセス要求生成モジュール212は、サブセットIDのルックアップおよび識別を行わずに、メタデータを含む要求を生成するように構成され得る。
【0103】
この時点で、アクセス要求生成モジュール212が要求を生成しており、要求は復号化できるようにしたい暗号化されたセンサデータ220のサブセットの指示を任意に含む。サブセットの指示は、データに関するメタデータの形式、またはサブセットIDの形式であり得る。
【0104】
そして、ステップS8で、センサインタフェースモジュール208の送信器226が、要求および承認トークン218をセンサ100に送る。この時点で、図2のステップS8に戻り、ここでデバイスインタフェースモジュール106の受信器126が要求および承認トークン218を受信する。
【0105】
デバイス200がどのセンサデータにアクセスすることを許可されるかをアクセス判定モジュール110によって判定する前に、プロセッサ102もしくはセンサ100、またはアクセス判定モジュール110は、承認トークン218が有効性条件を含む場合に有効性条件が満たされるか否かを任意に最初に判定し得る。
【0106】
そして、ステップS9で、プロセッサ102(具体的にはそのアクセス判定モジュール110)が、承認トークン218を使用して、デバイス200が要求したセンサデータにアクセスすることを許可されるか否かを判定する。ここでは、要求が要求されるデータの指示を含まないシナリオ、要求がメタデータを含むがサブセットIDを含まないシナリオ、および要求がサブセットIDを含むシナリオの少数のシナリオがある。これらについて以下で論じる。
(i)要求が要求されるデータの指示を含まない場合には、センサ100、具体的にはそのアクセス判定モジュール110が基づかなければならない情報は、データの要求と並んで受信される承認トークン218に記憶された情報だけである。事実上これは、デバイス200がアクセスする許可を有する全ての暗号化されたセンサデータのピースについての復号化鍵の要求である。先に論じたように、承認トークンは、デバイス200がアクセスできるデータのサブセットを識別するメタデータを含み得、または特定のサブセットIDを含み得る。いずれの場合にも、アクセス判定モジュール110は、暗号化鍵データテーブル120でメタデータおよび/またはサブセットIDのルックアップを行い、メタデータのピースまたはサブセットIDのそれぞれに関連する復号化鍵を取得し得る。暗号化鍵が対称であるときには、復号化鍵は暗号化鍵と同じであることが理解されよう。
(ii)要求がデバイス200がアクセスを望むメタデータを指定する場合には、デバイス200によるそのデータへのアクセスが許可されるか否かを検証することがまず必要である。したがって、アクセス判定モジュール110は、承認トークン218のアクセス制御データに基づいて、要求内のメタデータまたはサブセットIDを確証する。具体的には、アクセス判定モジュールは、要求内のメタデータまたはサブセットIDを、アクセス制御データに列挙されたメタデータまたはサブセットIDと比較する。いくつかの結果が生じ得る。
‐デバイス200が全ての要求されるメタデータまたはサブセットIDにアクセスすることを許可されると判定される場合には、アクセス判定モジュール110は、暗号化鍵データテーブル120で要求内の全てのメタデータまたはサブセットIDのルックアップを行い、メタデータのピースまたはサブセットIDのそれぞれに関連する復号化鍵を取得し得る。暗号化鍵が対称であるときには、復号化鍵は暗号化鍵と同じであることが理解されよう。
‐デバイス200が要求内の要求されるメタデータまたはサブセットIDの一部へのアクセスだけを許可されると判定される場合には、
a.要求は効力がないものと考えられ、本方法は終了するか、または
b.アクセス判定モジュール110は、デバイス200が要求内のメタデータまたはサブセットIDのいずれにアクセスすることを許可されるかを判定し、暗号化鍵データテーブル120でそれらのメタデータまたはサブセットIDだけのルックアップを行い、それらのメタデータのピースまたはサブセットIDのそれぞれに関連する復号化鍵を取得する。暗号化鍵が対称であるときには、復号化鍵は暗号化鍵と同じであることが理解されよう。
‐デバイス200が要求されるメタデータまたはサブセットIDのいずれにもアクセスすることを許可されないと判定される場合には、要求は効力がないものと考えられ、本方法は終了する。
【0107】
任意に、プロセッサ102が要求内のメタデータまたはデバイス200がアクセスできるメタデータに対応するサブセットIDを識別するためのルックアップを行い、それから識別されたサブセットIDを入力として使用して暗号化鍵データテーブル120のルックアップを行う追加のステップが存在してもよい。
【0108】
上記は、暗号/復号化鍵が暗号化鍵データテーブル120に記憶されるシナリオに言及する。しかし我々は、暗号化および/または復号化鍵が、メタデータおよび/またはサブセットID、ならびにローカルに記憶される鍵生成データ118に基づいて生成され得る可能性についても論じている。これらの場合に、要求内に指定または指示されたデータがない場合には、アクセス判定モジュール110は、承認トークン218のアクセス制御データにおいて定義された全てのメタデータおよび/またはサブセットIDをプロセッサ102の暗号化モジュール108、鍵生成モジュール109、または他の任意の適切なモジュール(図示せず)に転送し得る。ここで、本方法は、アクセス制御データによって定義されたメタデータおよび/またはサブセットIDに対応する各暗号化されたセンサデータのピースについて復号化鍵を生成するステップを含み得る。復号化鍵は、本出願で既に論じたように、暗号化鍵と同じやり方で決定論的に生成される。
【0109】
要求が要求メタデータ/サブセットIDの指示を含む場合のプロセスは類似している。デバイス200によるそのデータへのアクセスが許可されるか否かを検証することがまず必要である。したがって、アクセス判定モジュール110は、承認トークン218のアクセス制御データに基づいて、要求内のメタデータまたはサブセットIDを確証する。具体的には、アクセス判定モジュールは、要求内のメタデータまたはサブセットIDを、アクセス制御データに列挙されたメタデータまたはサブセットIDと比較する。そして、以前と同様に:
‐デバイス200が全ての要求されるメタデータまたはサブセットIDにアクセスすることを許可されると判定される場合には、アクセス判定モジュール110は、要求において定義された全てのメタデータおよび/またはサブセットIDをプロセッサ102の暗号化モジュール108、鍵生成モジュール109、または他の任意の適切なモジュール(図示せず)に転送し得る。ここで、本方法は、アクセス制御データによって定義されたメタデータおよび/またはサブセットIDに対応する各暗号化されたセンサデータのピースについて復号化鍵を生成するステップを含み得る。復号化鍵は、本出願で既に論じたように、暗号化鍵と同じやり方で決定論的に生成される。
‐デバイス200が要求内の要求されるメタデータまたはサブセットIDの一部へのアクセスだけを許可されると判定される場合には、
a.要求は効力がないものと考えられ、本方法は終了するか、または
b.アクセス判定モジュール110は、デバイス200が要求内のメタデータまたはサブセットIDのいずれにアクセスを許可されるかを識別する。そして、アクセス判定モジュール110は、承認トークン218のアクセス制御データにおいて定義された全てのそれらの識別されたメタデータおよび/またはサブセットIDをプロセッサ102の暗号化モジュール108、鍵生成モジュール109、または他の任意の適切なモジュール(図示せず)に転送し得る。ここで、本方法は、アクセス制御データによって定義されたメタデータおよび/またはサブセットIDに対応する各暗号化されたセンサデータのピースについて復号化鍵を生成するステップを含み得る。復号化鍵は、本出願で既に論じたように、暗号化鍵と同じやり方で決定論的に生成される。
‐デバイス200が要求されるメタデータまたはサブセットIDのいずれにもアクセスすることを許可されないと判定される場合には、要求は効力がないものと考えられ、本方法は終了する。
【0110】
この時点で、メタデータまたはサブセットIDによって定義される暗号化されたセンサデータ220のピースに対応する復号化鍵が、センサ100で、例えばプロセッサ102の鍵生成モジュール109、アクセス判定モジュール110、または任意の他の適切なモジュールによって生成または取得されている。いくつかの場合には、承認トークンのアクセス制御データによって定義されるところのデバイス200がアクセスを許可されるメタデータまたはサブセットIDによって定義される全ての暗号化されたセンサデータ220のピースに対応する復号化鍵が取得または生成されている。他の場合には、要求に含まれるメタデータまたはサブセットIDによって定義される全ての暗号化されたセンサデータ220のピースに対応する復号化鍵が取得または生成されている。そして、他の場合には、要求に含まれ、承認トークンのアクセス制御データによって定義されるところのデバイス200がアクセスを許可されるメタデータまたはサブセットIDによって定義される全ての暗号化されたセンサデータ220のピースに対応する復号化鍵が取得または生成されている。そして、ステップS10で、センサ100のデバイスインタフェースモジュール106の送信器124が、それらの復号化鍵をデバイス200に送信する。
【0111】
図3に戻ると、デバイス200のセンサインタフェースモジュール208の受信器228が送信された鍵を受信し、それからプロセッサ202の復号化モジュール210が受信された復号化鍵を使用して必要なデータをさらなる処理のために復号化し、方法を完了することができる。
【0112】
図11は、様々な構成要素を含むシステム1000を示す。以下の説明から認識されるであろうように、システム1000は、本発明がデプロイされ得る環境を表す。問題のセンサのタイプおよび動作パラメータに特に関連する特定のユースケースについても以下で説明する。本発明の方法の詳細は、前述の説明において上で詳細に説明されており、様々なオプションはここで繰り返さないが、矛盾しない場合には前述の任意の特徴を以下の特徴のいずれかと組み合わせ得ることが理解されねばならない。
【0113】
システム1000は、複数のセンサ1002a、1002b、1002c、1002d、1002eを含む(しかし、コンテナは1つだけのセンサ1002を含めて任意の数のセンサを含み得ることが認識されるであろう)。センサ1002の各々は、本発明の第1の態様の方法を行うように構成され得る。各センサ1002は、センサデータ、例えばそれぞれのセンサ1002で生成および記憶される保護鍵が一時的に記憶されるバッファメモリを含み得る。あるいは、先に論じたように、センサ1002は、その場その場で鍵を生成してもよく、鍵は、生成されたセンサデータを保護するためだけに使用され、センサ1002に記憶されなくてもよい。センサ1002は、本出願において先に説明した通りであり得る。
【0114】
システム1000は、複数のデバイス1006a、1006b、1006cも含む。図11に示す例では、デバイス1006の各々は、それぞれのセンサ1002に対応し得る。しかし、そうである必要はない。例えば、センサ1002の各々は、それらの生成された保護されたセンサデータを1つのデバイス1006に送ることもできることが想定される。あるいは、1つのセンサ1002が、異なる種類の保護されたセンサデータを異なるデバイス1002に送り得る。この例では、デバイス1006は、システム1000上または付近の監視ステーションの形であってもよく、あるいは、それらは(ユーザがアクセス可能な)端末デバイス、または制御ユニットであってもよい。これらの各々の一例が図11に例示の目的で示される。
【0115】
デバイス1006の各々は、メモリ1008a、1008b、1008c(保護されたセンサデータが記憶され得る)、およびそれぞれのプロセッサ1010a、1010b、1010cを含み得る。デバイス1006の1つの用途は、ユーザが例えばシステム保守、制御または品質制御の目的のために許可されるデータにアクセスできるようにすることである。少数の例(繰り返しになるが、これらの例はシステム1000の具体例と組み合わせてここに開示されるが、これらは本発明の任意の実装に一般的に適用され得る):
・デバイス1006aは、ディスプレイ1012aを有する端末であり得る。端末1008aのメモリは、アクセス制御データを含む承認トークンを含み得る。そのような場合には、ユーザが保護されたセンサデータにアクセスしたいときには、端末を起動し、端末1006aにアクセス要求および/または承認トークンをセンサ1002aへと送らせる命令を入力し得る。それから、本発明の実施形態の1つに沿って、センサ1002aは、関連するアクセス鍵を端末1006aに送って、ユーザに、例えばディスプレイ上でデータを見るためまたはデータを変更および再暗号化するための関連するアクセスをさせ得る。
・デバイス1006bも、ディスプレイ1012bを有する端末であり得る。この例では、端末1006bは、端末1006bが承認トークンを有しない点で端末1006aと異なる。この場合には、保護されたセンサデータにアクセスしたいユーザは、承認トークンがデプロイされた自身のポータブルデバイス1014b(ポータブルコンピュータ、ラップトップコンピュータ、タブレット、スマートフォンなど)を有し得る。デバイス1006bは、ユーザがポータブルデバイス1014bを接続し得るインタフェース1016b(物理または無線インタフェースであり得る)を含む。そして、ポータブルデバイス1014bは、承認トークンをデバイス1006bにデプロイし得る。この時点で、承認トークンは、デバイス1006bにデプロイされたと考えられ得る。あるいは、承認トークンは、ポータブルデバイス1014b上にとどまってもよい。このシナリオでは、デバイス1006bとポータブル1014bとの組み合わせが、「承認トークンがデプロイされたデバイス」、または等価物を表すものと考えられ得る。この時点で、上述のステップが行われ得る。データアクセスは、ディスプレイ1012bまたはポータブルデバイス1014bのディスプレイ1018bを介してのいずれかにより得る。
・デバイス1006cは、システム1000内の構成要素1020の1つ以上の動作パラメータを制御するように構成された制御ユニットであり得る。システム1000の制御ユニット1006cは、センサデータに基づいて1つ以上の動作パラメータを調整するように構成され得る。センサデータを得るために、制御ユニット1006cはそのメモリ1008cに記憶された保護されたセンサデータにアクセスしなければならない。制御ユニット1006cには承認トークンが記憶されているが、それはポータブルデバイスを介してデプロイされ得る。そして、一実施形態に沿って、制御ユニット1006cは、所望のデータにアクセスするための適切な鍵を受信し得る。そして、制御ユニット1006cは、センサデータに基づいて1つ以上の動作パラメータの値を変える、選択するまたは他のやり方で決定するように構成され得る。本発明に沿ってデータを保護することにより、承認されていないデバイスが動作パラメータを制御できないことを保証することができる。
【0116】
いくつかの具体的なユースケースを以下に説明する。
【0117】
1つのシナリオでは、システム1000は、商品を輸送するためのコンテナ(輸送コンテナなど)の形であり得る。例えば、コンテナは、食料品を長距離にわたって輸送するように構成され得る。この場合には、コンテナは冷蔵ユニットを含んでいてもよく、冷蔵ユニットは温度センサを含んでいてもよく、動作パラメータは冷蔵ユニットの貯蔵エリアの温度であってもよい。
【0118】
このようにして、システム100は、冷蔵ユニットの温度を安全に監視し、受信される温度データに基づいて温度を調整することができる。コンテナの例では、含まれ得る他のセンサは、温度センサ、湿度センサ、圧力センサ、ドア状態センサ、運動センサなどの他の種類の環境センサである。これにより、承認された担当者のみがデータにアクセスでき、いかなる改ざんも検出可能であるようにできることから、保守スタッフまたはエンジニアなどのユーザが、センサデータが改ざんされているリスクを一切伴わずにコンテナ内の条件を監視することができる。
【0119】
代替的な場合には、システム1000は、車、電車、飛行機、バス、ヘリコプター、または他の任意の車両などの車両の形であり得る。好ましい場合には、システム1000は、「スマート」車両の形であり得る。本発明は、(レーダセンサ、3Dライダセンサを含むレーザセンサ、または超音波センサなどの様々なタイプのセンサを有する)車両またはスマート車両での2つのシナリオにおいて特に有利であり得る:
・監視。この場合には、センサは、車両の各部品の摩耗を監視するようにそれぞれ構成された摩耗センサ、または車両部品の「健全性」または「摩耗」を示すパラメータを測定するように構成された他のセンサを含み得る。特に有利な場合には、センサまたはデバイスが、測定されたパラメータの値が所定の閾値を満たすかまたは超えることを検出したときに、アラートを生成するように構成され得る。アラートは、車両のユーザまたは所有者に、修理に出す必要があることを通知し得る。登録されたエンジニアも、ユーザまたは所有者の修理を支援するためにセンサデータ(またはセンサデータの異なるサブセット)にアクセスし得る。これにより、登録または承認されたエンジニアだけが問題の車両に修理を行えるようにされ得る。
・制御。本発明は、車両の先進運転支援システム(ADAS:advanced driver assistance systems)または自律機能を可能にするために使用され得る。ここで、「オートパイロット」という用語は、車両の任意の自動制御に対応し、必ずしも飛行機に限らないものと理解されねばならない。この機能は、コンテナに関して論じた冷蔵制御と同様に達成され得る。センサは、車両の制御に関係する様々なパラメータ、例えば他の車両または障害物への近接度、場所(例えば地図上の車の位置、滑走路に対する飛行機の位置、海底上の特徴に対する船の船体の位置)、高度、深さ、速さ/速度、車両の向きを検出するように構成され得る。そして、制御ユニットは、これらのパラメータに基づいて、1つ以上の動作パラメータの値を決定するかまたは変えるように構成され得る。この機能は、例えば飛行機の自動着陸、車もしくは電車の駐車、または船の停泊のために使用されることもできる。本発明は、承認されていないデバイスがセンサデータにアクセスし、それにより明らかに悲惨な結果をもたらし得ないようにできるため、ここでは有利である。
【0120】
スマート車両のユースケースと同様に、本発明は、産業用制御システムにも、監視および制御の両方との関連で適用され得る。換言すれば、システム1000は、産業用制御システムであり得る。監視との関連では、本システムは、スマート車両の場合と非常に類似して働き得る。産業用制御の場合には、センサによって測定されるパラメータは異なり得る。例えば、センサは、ある物質の温度、圧力、湿度/水分レベル、pH、濃度または分圧などの環境条件を測定するように構成され得る。さらなる条件には、様々な電気的特性(例えば電流、電圧、電力、電界強度/電束密度、磁界強度/磁束密度、電荷、抵抗、インダクタンス、静電容量、導電率/コンダクタンス、抵抗率/抵抗)、熱伝導率、および産業プロセスの進行に関する指標となり得る任意の他のパラメータが含まれ得る。加えて、産業部品の健全性を監視するために、「摩耗」センサも採用されることも想定される。以前と同様に、制御ユニットが、センサデータに基づいて1つ以上の動作パラメータを変えるように構成され得る。
【0121】
本発明が使用され得る別のシナリオは、病院においてである。
【0122】
前述の説明、もしくは以下の特許請求の範囲、または添付の図面において開示された特徴は、それらの特定の形で、または開示された機能を行うための手段もしくは開示された結果を得るための方法もしくはプロセスの観点から表現され、必要に応じて、別々にまたはそのような特徴の任意の組み合わせで、本発明をその多様な形で実現するために利用され得る。
【0123】
本発明は上述の例示的な実施形態と併せて説明されているが、多数の等価の修正例および変形例が、本開示を与えられた当業者に明らかになるであろう。したがって、上記の本発明の例示的な実施形態は例示であり、限定ではないと考えられる。記載された実施形態に対する様々な変更が、本発明の精神および範囲から逸脱することなく加えられ得る。
【0124】
誤解を避けるために、本明細書に提供されるいかなる理論的解説も、読者の理解を深める目的で提供されたものである。本発明者らは、これらの理論的解説のいずれにも拘束されることを望まない。
【0125】
本明細書で使用されるいかなるセクション見出しも、構成を目的としたものにすぎず、説明される主題を限定するものと解釈されてはならない。
【0126】
本明細書全体を通して、以下の特許請求の範囲を含め、文脈による別段の要求がない限り、「備える」および「含む」という単語ならびに「備える」、「備えている」、および「含んでいる」などの変化形は、記載された整数もしくはステップまたは整数もしくはステップの群を含むことを意味するが、他の整数もしくはステップまたは整数もしくはステップの群の排除を意味するものではないと理解される。
【0127】
本明細書および添付の特許請求の範囲において使用されるところの、単数形「1つの(a)」、「1つの(an)」、および「その(the)」は、文脈により明確に別段の規定がされない限り、複数の指示対象を含むことに留意しなければならない。範囲は、本明細書において、「約」1つの特定の値から、および/または「約」別の特定の値までとして表され得る。そのような範囲が表現されるときには、別の実施形態は、その1つの特定の値からおよび/またはその別の特定の値までを含む。同様に、先行詞「約」の使用によって値が近似として表現されるときには、特定の値が別の実施形態を形成することが理解されるであろう。数値に関する「約」という用語は任意であり、例えば+/-10%を意味する。
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図9
図10
図11
【国際調査報告】