上で説明されるように、M2Mネットワーク内のセキュリティへの既存のアプローチは、限定されている。例えば、oneM2Mでは、コンテンツは、それがトランスポート層プロトコル(例えば、TLS/DTLS)を用いて2つの「信頼される」エンティティ間で「移動中」である間のみ保護され得る。したがって、コンテンツは、それがエンティティにおいてホストされている(静止している)間には保護されない。コンテンツ(オブジェクト)保護は、行われるとすれば、アプリケーション層において行われなければならないようである。本明細書では、アプリケーションコンテンツ保護アプローチに関連付けられる問題があることが認識される。例えば、アプリケーションは、アプリケーションコンテンツ保護のための一様な機構を提供しない。さらに、サービス層リソースは、それ自体が保護されない。また、アプリケーション層保護があったとしても、それらは実際のアプリケーションデータのためにのみ保護を提供し、サービス層(SL)に関連付けられるリソースのための保護を提供しないであろう。本明細書では、コンテンツをセキュアにするための別個のアプリケーション層プロトコルが、アプリケーションコンテンツ保護アプローチのために行われなければならず、それが煩雑であり得ることが、さらに認識される。あるシナリオでは、サービス層が付加価値サービスを提供することができるために、コンテンツは、その非暗号化形態である必要があり得る。本明細書では、oneM2Mリソースに関連付けられるセキュリティ証明書およびセキュリティ保護のライフサイクル管理が、現在、行われていないことも認識される。解除されたエンティティ上でホストされるデータのセキュリティをハンドリングするための機構は、現在、対処されていない。
本明細書で使用される場合、「サービス層」という用語は、ネットワークサービスアーキテクチャ内の機能層を指す。サービス層は、典型的には、HTTP、CoAP、またはMQTT等のアプリケーションプロトコル層の上方に位置し、付加価値サービスをクライアントアプリケーションに提供する。サービス層はまた、例えば、制御層およびトランスポート/アクセス層等のより下のリソース層におけるコアネットワークへのインターフェースも提供する。サービス層は、サービス定義、サービス実行時間有効化、ポリシ管理、アクセス制御、およびサービスクラスタ化を含む、(サービス)能力または機能性の複数のカテゴリをサポートする。近年、いくつかの業界規格団体(例えば、oneM2M)が、インターネット/ウェブ、セルラー、企業、およびホームネットワーク等の展開の中へのM2Mタイプのデバイスならびにアプリケーションの統合に関連付けられる課題に対処するように、M2Mサービス層を開発している。M2Mサービス層は、CSEまたはSCLと称され得る、サービス層によってサポートされる上記の能力もしくは機能性の集合または組へのアクセスをアプリケーションおよび/もしくは種々のデバイスに提供することができる。いくつかの例は、種々のアプリケーションによって一般的に使用されることができる、セキュリティ、課金、データ管理、デバイス管理、発見、プロビジョニング、およびコネクティビティ管理を含むが、それらに限定されない。これらの能力または機能性は、M2Mサービス層によって定義されるメッセージフォーマット、リソース構造、およびリソース表現を利用するAPIを介して、そのような種々のアプリケーションに利用可能にされる。CSEまたはSCLは、ハードウェアおよび/もしくはソフトウェアによって実装され得る機能的エンティティであり、種々のアプリケーションならびに/もしくはデバイスが(サービス)能力または機能性(例えば、そのような機能的エンティティ間の機能的インターフェース)を使用することができるために、それらにエクスポーズされるそのような能力もしくは機能性を提供する。
例の目的で、現在のoneM2Mソリューションに関する問題をさらに例証するために、図4および5は、それぞれの使用事例を図示する。図4では、データ/コンテンツプライバシーへの影響が示され、図5は、データ/コンテンツの完全性保護および認証の不足に関連付けられる問題を例証する。
図4を特に参照すると、ネットワーク400は、4つの例示的エンティティ、すなわち、第1のアプリケーションエンティティ(AE1)と、ホスティング共通サービスエンティティ(HCES1)と、中間ノードCSE(IN−CSE)と、ハッカーアプリケーションまたは悪意のない機能であり得る、悪意のあるエンティティとを含む。402では、AE1は、サービス層において、HCSE1内でリソースを作成し、リソースは、属性およびコンテンツ/コンテンツインスタンスを記憶する。この使用事例では、2つの属性が、すなわち、属性1および属性2が、例として提供される。例によると、AE1およびHCSE1は、互いに相互認証しており、402において「リソースを作成する」動作を行うことに先立って、セキュアな通信チャネルを使用している。ある時点で、404では、悪意のあるエンティティ(例えば、ハッキングアプリケーション)は、IN−CSEを通してHCSE1内の脆弱性を悪用する。ある場合、ハッキングアプリケーションは、IN−CSEを通過する必要なく、HCSE1に到達することが可能であり得る。他の場合、IN−CSE上のプロトコルサポート(例えば、起動する開放ポートおよびサービス)の多様性により、おそらくIN−CSEにおける脆弱性も悪用することによって、IN−CSEは、ハッキングアプリケーションのための良好な進入点になり得る。ハッカーがHCSE1にアクセスすることができると、406においてAE1リソース内に記憶されたコンテンツを盗む。これは、巧妙さをあまり必要としない古典的な攻撃であり得る。そのような攻撃を軽減する1つの方法は、ディスク全体を暗号化すること、またはファイル毎の基準で暗号化を使用することである。しかしながら、コンテンツは、SLにおいて処理され、通信パス上の通過ノードにおいて解読される必要があり得、その結果、コンテンツは、攻撃の影響を受けやすくなる。別の軽減技法は、JSONベースのオブジェクト署名および暗号化機構を使用して、コンテンツを保護することである。しかし、現在、SLリソースを保護するためのそのような機構の使用を可能にする枠組みがない。追加の問題は、HCSE1のプラットフォームが信頼できず、したがって、セキュアなプロセスが実施されないこともあることである。さらに、ルートキーが破られた場合、それは、HCSE1上に記憶された全てのAEからのデータを露出させる。手短に言えば、アプリケーションデータまたはユーザの機密データのセキュリティは、ユーザもしくはアプリケーションがあまり制御を有していないエンティティにオフロードされ、プラットフォームの信頼性は、ユーザが有するSPの信頼に基づく。加えて、HCSE1が解除された場合、データは、HCSE1内に留まり、ファイルベースの暗号化のみによって保護され得、それは、リソースを保護する旧来のオペレーティングシステムによって容易に破られ得る。
したがって、要約すると、図4の使用事例は、例えば、限定ではないが、コンテンツが静止しているときのホスティングエンティティ(例えば、HCSE)における機密性保護機構の欠如と、HCSE(例えば、低信頼性HCSE)からさえもコンテンツを隠す機構の欠如と(コンテンツをクライアントに転送するときに、データがTLS/DTLSトンネルを通り抜けると各ホップ(例えば、通過CSE)がコンテンツへの非暗号化アクセスを有する)、コンテンツのライフサイクルのために規則的にコンテンツのセキュリティを再生利用する能力の欠如とを示す。
ここで図5に図示される使用事例を参照すると、ネットワーク500は、コンテンツを生成する第1のアプリケーションエンティティ(AE1)と、第2のAE(AE2)と、AE1によって生成されるコンテンツを消費するクライアントアプリケーションである第3のAE(AE3)とを含む。ネットワークはさらに、ホスティングCSE(HCSE1)と、中間ノード−CSE(IN−CSE)とを含む。例では、コンテンツは、いかなる完全性保護も伴わずにHCSE1上でホストされる。図4に図示される例示的使用事例と同様に、攻撃者は、IN−CSEまたはHCSE1における脆弱性を悪用し得る。1では、AE1は、HCSE1においてリソースを作成する。例えば、攻撃者は、2および3において、リソースおよび/またはリソース構造(例えば、属性ならびに/もしくはコンテンツ)を修正し得る。示されるように、図5は、攻撃者が、属性1と称されるAE1の属性の無承認修正を行うことができるシナリオを図示する。AE1のリソースにサブスクライブするAE2は、4および5において、リソースの修正されたコピーを取得する。ある場合、例えば、AE1から取得されるリソースがAE2によって重要な決定または動作を行うために使用されるとき、修正は、多大な影響を及ぼし得る。6および7では、図示される例によると、攻撃者は、属性2を削除し、新しい属性(属性3および属性4)を追加する。したがって、例では、攻撃者は、リソースだけではなく、リソースの構造も変更している。リソースにサブスクライブするAE3は、次いで、AE1によって作成されたものと完全に異なるリソースツリーを有する。したがって、図5の例示的使用事例によって示されるように、現在のセキュリティアプローチは、完全性保護をリソースに提供しないこと、完全性保護をリソースの構造に提供しないこと、および/または完全性保護をシステム重要リソースに提供しないこともある。
上で説明される問題等の種々の欠点が、本明細書で対処される。一実施形態では、コンテンツの完全性および機密性が保護される。本明細書で使用される場合、他に規定されない限り、コンテンツという用語は、機械制御型または人間制御型クライアントアプリケーションもしくはサービス機能によって生成または消費される任意のデータ(例えば、ファームウェア、構成パラメータ、ポリシ、コンテキスト、文書等)を指す。したがって、コンテンツおよびデータという用語は、限定ではないが、本明細書では同義的に使用され得る。コンテンツは、その最も未加工の形態(例えば、温度読み取り値、他のセンサ読み取り値等)であり得る。ある場合、コンテンツは、それに関連付けられる追加のメタデータを伴う未加工データであり得るか、または未加工データおよびメタデータを伴う未加工データの組み合わせであり得る。コンテンツは、例えば、機械実行可能コンテンツ(例えば、コンピュータプログラム、バイナリコード、コンパイルまたは翻訳されていることもある実行可能機械コード、コンピュータプログラムスクリプト等)、コンピュータ関連構成パラメータ、動作ポリシ(例えば、セキュリティまたはサービスポリシ)、マルチメディアコンテンツ(例えば、ビデオ、オーディオ等)、文書、またはある通貨、方略、もしくは知的価値を有し得るあらゆるもの等の種々の情報も指し得る。コンテンツは、オブジェクトも指し得る。
本明細書で使用される場合、別様に規定されない限り、認証は、エンティティに関連付けられる識別における信頼を確立するプロセスを指す。機密性は、概して、承認エンティティのみがデータを閲覧できることを確実にするプロセスを指す。本明細書で使用される場合、別様に規定されない限り、エンティティまたはノードは、アプリケーション、複数のアプリケーションの一部、サービス有効化機能、もしくはデバイス(例えば、センサデバイス)を指し得る。本明細書に説明される種々の技法は、ハードウェア、ファームウェア、ソフトウェア、または適切である場合、それらの組み合わせに関連して、実装され得る。そのようなハードウェア、ファームウェア、およびソフトウェアは、通信ネットワークの種々のノードに位置する装置の中に常駐し得る。装置は、本明細書に説明される方法を達成するように、単独で、または互いに組み合わせて動作し得る。本明細書で使用される場合、「装置」、「ネットワーク装置」、「ノード」、「デバイス」、「エンティティ」、および「ネットワークノード」という用語は、同義的に使用され得る。「完全性」という用語は、メッセージまたはシステムが無承認エンティティによって改変されていないという信頼を確立するプロセスを指し得る。モノのインターネット(IoT)は、概して、インターネットに接続されることができる、一意に識別可能なオブジェクトおよびそれらの仮想表現を指す。本明細書で使用される場合、ライフサイクル管理という用語は、データおよびそれに関連付けられる証明書が、プロビジョニング、保守、および解除段階を通して管理される機構を指す。
種々のM2M用語が、本明細書で使用される。M2Mサービス層は、概して、アプリケーションプログラミングインターフェース(API)および下層ネットワーキングインターフェースの組を通して、M2Mアプリケーションならびにデバイスのための付加価値サービスをサポートするソフトウェアミドルウェア層を指す。M2Mサービス層ホップは、2つのM2Mサービス層間、またはM2Mサービス層とM2Mアプリケーションとの間のM2Mサービス層通信セッションを指す。M2Mサービス層セッションは、典型的には、本質的にステートフルである、2つ以上の通信エンティティ間のメッセージの確立された交換を指す。本明細書で使用される場合、別様に規定されない限り、M2Mサービス層セッションエンドポイントは、M2Mサービス層セッション通信のソースまたは宛先であることができる論理エンティティを指す。さらに、本明細書で使用される場合、別様に規定されない限り、M2Mサービス層セッションマネージャは、M2Mサービス層セッション管理のためのサービスを提供する論理エンティティを指す。ノンスは、セッションに関連付けられ得、その有効性がセッション/時間成分に関連付けられ得る乱数値を指す。
前置きとして、種々の機能およびプロセス機構が、コンテンツのセキュリティ保護を可能にするために本明細書で定義される。種々の機能性は、例の目的のために名前を付けられ、機能は、代替として、所望に応じて名前を付けられ得ることが理解されるであろう。コンテンツ作成およびセキュリティ決定機能(CCSDF)が、以下で説明される。CCSDFは、複数の機能から成り、同一のエンティティ(ノード)上でホストされ得るか、または異なる管理ドメイン上にも常駐し得る複数のエンティティ(ノード)を横断して分散され得る。コンテンツ作成機能(CCF)は、収集されるデータに基づいてコンテンツを作成し得る。ある場合、コンテンツは、未加工データまたは情報であり得、コンテンツは、未加工データから作成されるセンサデータまたは情報を含み得る。CCFは、コンテンツに対する構造、およびコンテンツのサブコンポーネントに基づくコンテンツに対する構造のある形態を作成し得る。セキュリティ決定機能(SDF)は、コンテンツに関連付けられたセキュリティ要件を決定する責任があり得る。SDFは、コンテンツを保護するために要求されるセキュリティのレベルを決定し得る。例えば、SDFは、確立されたポリシに基づいて、コンテンツ保護のための一般的セキュリティ要件を決定し得る。
セキュアコンテンツホスティング機能(SCHF)が、本明細書に説明される。例示的実施形態では、SCHFは、コンテンツをセキュアにホストする機能である。SCHFは、セキュリティポリシ有効化エンティティとしても機能し、アクセス制御チェックを行い得る。SCHFは、コンテンツをセキュアにすることができるために、必要な暗号プロシージャを処理し、識別し、行い得る。SCHFは、適切な証明書を要求して登録するために、セキュリティ有効化機能(SEF)と相互作用し得る。一実施形態では、SEFは、コンテンツを保護すること、および/またはコンテンツにアクセスすることを行うための証明書を提供する有効化機能である。SEFは、例えば、コンテンツへのアクセスをクライアントに提供するために、信頼される第三者(TTP)等の信頼される仲介者として動作し得る。SEFは、適切なコンテンツ特定の証明書をプロビジョニングし、登録し得る。SEFは、適切なクライアント特定の証明書をプロビジョニングし、登録し得る。
セキュリティパラメータ決定プロセス(SPDP)が、例示的実施形態に従って以下で説明される。例示的SPDPの一部として、セキュリティパラメータの正しい組が、「静止している」特定のコンテンツのために決定される。加えて、コンテンツのライフサイクル管理も、決定され得る。例えば、静止しているコンテンツセキュリティに関するセキュリティポリシが、クエリを行われ得る。ポリシは、適切なセキュリティパラメータが導出されるように処理され得る。ライフサイクル管理パラメータも、決定され、導出され得る。
例示的実施形態では、セキュアホスティング請求プロセス(SHRP)が、CCSDFによって開始され得る。ある事例では、SHRPは、SCHFによっても開始され得る。請求の一部として、CCSDFは、SCHFを用いたコンテンツのセキュアなホスティングに対して要求し得る。SCHFは、ゼロホップ(同一のプラットフォーム上でホストされる)であり得るか、CCSDFから1つのホップで離れ得るか(概して、好ましいアプローチ)、またはCCSDFから複数のホップで離れ得る(2つ以上のホップで離れて)。SHRPは、あるレベルの信頼性に基づいて、SCHFが発見されることを可能にする。例示的実施形態では、コンテンツのホスティングは、セキュリティ要件に基づいて要求され得る。SCHFは、一実施形態に従ってセキュアなコンテンツをホストし得る。
証明書請求プロセス(CQP)と、証明書登録プロセス(CGP)とを含み得る、証明書請求および登録プロセス(CRRP)が、以下で説明される。CQP中、SCHFは、コンテンツのセキュアな記憶のための適切な証明書のプロビジョニングを要求し得る。このプロセスは、例えば、ある場合、SCHFがコンテンツのための適切な証明書を生成するために十分であり得るので、随意であり得る。クライアント特定のコンテンツが保護されるべきである例では、次いで、SDPは、クライアントの証明書を要求し得る。例えば、特定のコンテンツに関連付けられる証明書が、要求され得る。さらなる一例として、証明書は、アルゴリズムおよび証明書タイプに基づいて要求され得る。クライアントに特定である証明書も、要求され得る。例示的CGPの一部として、コンテンツを保護するために使用される証明書の組が、SEFを用いて発行され得る。拡張性の理由により、例えば、証明書は、複数のSEFにおいて発行され得る。CGPは、コンテンツに関連付けられる生成された証明書の登録を要求する能力;使用されるべきアルゴリズム、証明書タイプ、どのようにして証明書が使用され得るかについての機構、および証明書に関連付けられるアクセス制御ポリシ(ACP)を規定する能力;および、クライアントによる使用のために意図される証明書を登録する能力を提供し得る。
例示的セキュアホスティングプロセス(SHP)が、本明細書に説明される。このプロセスの一部として、SCHFは、CCSDFからのSHRPメッセージに基づいてコンテンツをホストし得る。コンテンツは、コンテンツを保持するためのコンテナ/属性の正しい組を含むことによって、CCSDFによって要求される適切なフォーマットでホストされ得る。代替として、または加えて、SCHFは、コンテンツをセキュアにホストするために、適切な暗号動作を行う必要があり得る。実施され得る暗号動作のタイプは、コンテンツに関連付けられるセキュリティパラメータに基づき得る。SCHPは、コンテンツを保護するために適切な暗号プロセスを取得して実施し得る。さらに、SHRPメッセージに基づいて、SCHFは、コンテンツに関連付けられるセキュリティプロパティを更新するためにトリガされる適切なライフサイクル管理プロセスを作成し得る。例えば、コンテンツは、削除され得るか、またはアクセス不可能にされ得る。
例示的第三者証明書請求プロセス(TPCRP)が、本明細書に説明される。ある場合、SEFは、クライアントを認証し、クライアント(第三者)がリソースにアクセスし、その真正性を検証することができるように、クライアントに必要な証明書を提供する必要があり得る。TPCRPは、コンテンツに関連付けられる識別(content−Id)に基づいて、任意のエンティティ(例えば、クライアント)がSEFまたはSCHFに証明書を要求することを可能にし得る。例示的コンテンツ読み出しプロセス(CRP)中、クライアントは、コンテンツへのアクセスを要求する機構を開始する。クライアントは、事前構成された情報からSCHFに関する情報を取得し得るか、または、情報は、DNS−SDもしくはRDを使用して動的に発見され得るための。必要な暗号パラメータを含むセキュアなコンテンツ(暗号化および/または完全性保護された)が、読み出され得る。コンテンツ処理(CP)も、本明細書に説明される。CP中、コンテンツにアクセスすることを希望するクライアントは、コンテンツの真正性および/または完全性を検証することを所望し得る。加えて、クライアントは、コンテンツ構造およびコンテンツに関連付けられる属性を検証することも所望し得る。一例では、クライアントは、コンテンツの真正性/完全性、コンテンツのサブコンポーネント、およびコンテンツの構造を検証することができる。コンテンツは、プロビジョニングされた暗号パラメータに基づいて解読され得る。
例示的コンテンツライフサイクル管理プロセス(CLMP)では、CCSDFは、随意に、特定のコンテンツのためのライフサイクル管理を更新するために明示的CLMPメッセージを送信し得る。このプロセス/メッセージングは、CCSDFがSHRPの一部として明示的ライフサイクル管理要件を通信した場合、省略され得る。証明書は、リフレッシュされ得、暗号動作は、周期的に行われ得る。コンテンツは、解除期間に基づいて消去され得る。コンテンツに関連付けられる証明書は、証明書が、一時的または恒久的に、再プロビジョニング、再保護、もしくは除去されるように管理され得る。
概して、図6を参照すると、上で説明される種々の欠点に対抗するために、コンテンツ/データの保護が、本明細書に説明されるように可能にされる。本明細書に説明されるように、データの保護は、データへのアクセスを要求するエンティティが、データにアクセスするために承認されていることを確実にすることを含み得る(認証も含み得る)。データの保護は、データが無承認エンティティから隠され(例えば、暗号化され)、無承認エンティティに対して不透明に見えることを含み得る。データの保護は、データの無承認修正を検出することを含み得る。コンテンツの保護は、規則的または恒久的にコンテンツのライフサイクルを管理することを含み得る。
一実施形態では、コンテンツは、(要求される場合)サブコンポーネントから作成され、コンテンツに対する構造は、サブコンポーネントに基づいて作成され得る。これは、CCPによって行われ得る。SDFは、そのサブコンポーネントのセキュリティ要件を査定することによって、コンテンツ保護のためのセキュリティ要件のリスクベースの査定を行い得る。実施形態では、静止しているコンテンツを保護するために要求される適切なセキュリティパラメータが、識別される。これは、SPDPを使用することによって達成され得る。CRRPは、証明書を取得または生成し、コンテンツ保護のために証明書を登録し得る。例示的実施形態では、コンテンツは、SHPを使用してセキュアな様式でホストされる。本明細書に説明されるようなTPCRPは、承認された第三者にコンテンツにアクセスするための証明書をプロビジョニングするための能力を提供し得る。
以下の説明は、主にコンテンツの保護に焦点を当てているが、本明細書に説明される証明書は、種々のサービス有効化機能によって作成され、更新され、削除され、読み出されるシステムリソースを保護するために適切に調整され得ることが理解されるであろう。
図6−35、37、および38(本明細書の以降で説明される)は、コンテンツを保護する方法ならびに装置の種々の実施形態を図示する。これらの図では、種々のステップまたは動作が、1つ以上のノードもしくは装置によって行われるように示されている。これらの図に図示されるノードおよび装置は、通信ネットワーク内の論理エンティティを表し得、以下で説明される図36Aまたは36Bに図示される一般的アーキテクチャのうちの1つを備え得る、そのようなネットワークのノードまたは装置のメモリ内に記憶され、そのプロセッサ上で実行するソフトウェア(例えば、コンピュータ実行可能命令)の形態で実装され得ることが理解される。すなわち、図6−35、37、および38に図示される方法は、例えば、図36Cまたは36Dに図示されるノードもしくはコンピュータシステム等のネットワークノードまたは装置のメモリ内に記憶されたソフトウェア(例えば、コンピュータ実行可能命令)の形態で実装され得、そのコンピュータ実行可能命令は、ノードまたは装置のプロセッサによって実行されると、図に図示されるステップを行う。これらの図に図示される任意の伝送および受信ステップがノードまたは装置のプロセッサならびにそれが実行するコンピュータ実行可能命令(例えば、ソフトウェア)の制御下で、ノードまたは装置の通信回路(例えば、それぞれ、図36Cおよび36Dの回路34または97)によって行われ得ることも理解される。
ソフトウェアで実装され、例えば、ユーザ機器(UE)上またはサーバ上にホストされる他のアプリケーションとともに、エンティティ上に常駐し得る、例示的機能が、以下で説明される。これらの機能は、専用ハードウェアエンティティ上に常駐し得、したがって、本書の全体を通して、機能、エンティティ、装置、およびノードという用語は、限定ではないが、同義的に使用され得る。例えば、クライアントは、ユーザのデバイス上に常駐するアプリケーションまたはサービスであり得る。クライアントは、マシン上に常駐するアプリケーションまたはサービス、専用ハードウェア、もしくはクラウドベースのアプリケーションまたはサービスも指し得る。クライアントは、プラットフォーム内で、または異なるプラットフォーム上で分散様式において一緒に動作するアプリケーションもしくはサービスのグループの一部でもあり得る。クライアントは、概して、コンテンツにアクセスするために要求を開始する。コンテンツにアクセスするためにクライアントが要求を送信するためのトリガが、ユーザ、マシン、アプリケーション、またはサービスによって開始され得る。
図6を参照すると、コンテンツ作成およびセキュリティ決定機能(CCSDF)は、複数の機能から成り、同一のエンティティ(ノード)上でホストされ得るか、または異なる管理ドメイン上にも常駐し得るエンティティ(複数のノード)を横断して分散され得る。機能が異なる管理ドメイン内に常駐する場合、機能がトランザクションを行うために常駐する種々のエンティティ間に信頼関係が存在し得る。CCSDFは、コンテンツを生成するエンティティ、またはコンテンツを作成するためにデータソース(例えば、センサ)を使用するエンティティであり得る。ある場合、CCSDFおよびSCHFは、同一の物理的エンティティ(例えば、サーバ、ゲートウェイ)上で共同ホストされ得る。一実施形態では、コンテンツ作成機能(CCF)は、種々のソース(例えば、センサ、アプリケーション、データベース等)からデータを収集し、コンテンツを作成することに関与する。データは、センサおよびアプリケーションによって先を見越して収集または発行され得る。CCFは、コンテンツ作成に関与するプロセスを管理する。セキュリティ決定機能(SDF)は、コンテンツに関連付けられたセキュリティ要件を決定する責任があり得る。SDFは、コンテンツを保護するために要求されるセキュリティのレベルを決定し得る。本開示では、コンテンツが「静止している」ときのコンテンツに関連付けられたセキュリティ要件が、決定される。すなわち、記憶に関するセキュリティ要件およびコンテンツセキュリティの管理が、本明細書に説明される。上記のように、CCFおよびSDFは、同一のノード/エンティティ上で実施され得るか、または機能は、異なるノード/エンティティ上に常駐し得る。
セキュアコンテンツホスティング機能(SCHF)は、コンテンツをホストし得る。SCHFは、セキュリティポリシ施行エンティティとしても機能し、アクセス制御チェックを行い得る。ある場合、SCHFは、コンテンツに関連付けられるセキュリティ動作(例えば、セキュリティポリシ施行)を行うために必要な能力(例えば、機能性、計算リソース)を有していなければならず、セキュアな様式でコンテンツをホストするリソースを有していなければならない。セキュリティ有効化機能(SEF)は、コンテンツを保護するため、および/またはコンテンツにアクセスするための証明書を提供し得る。SEFは、コンテンツへのアクセスをクライアントに提供するために、信頼される第三者(TTP)等の信頼される仲介者として動作し得る。SEFは、対称証明書ならびに公開キー証明書をプロビジョニングすることが可能であり得る。それは、外部証明機関(CA)に対して機能し得るか、またはそれにインターフェースをとり得る。
図6に示されるように、コンテンツセキュリティを提供することに関与するプロセスは、以下で識別される種々のプロセスに分類され得る。例えば、例示的コンテンツ作成プロセス(CCP)の一部として、コンテンツのサブコンポーネントが、ある関係および構造を有する複合コンテンツを作成するために使用される。例示的コンテンツは、1つ以上の属性/値ペアで構成され得、属性/値ペアの各々は、サブコンポーネントである。例示的セキュリティパラメータ決定プロセス(SPDP)の一部として、セキュリティパラメータの正しい組が、「静止している」特定のコンテンツのために決定される。加えて、コンテンツのライフサイクル管理も決定される。セキュアホスティング請求プロセス(SHRP)が、CCSDFによって、またはSCHFによって開始され得る。一例では、請求の一部として、CCSDFは、SCHF上のコンテンツのセキュアなホスティングを要求する。SCHFは、ゼロホップ(同一のプラットフォーム上でホストされる)であり得るか、CCSDFから1ホップ離れ得るか(概して、好ましいアプローチ)、またはCCSDFから複数のホップで離れ得る(2またはそれを上回るホップ離れて)。CCF、SDF、およびSCHFが、同一のノード/エンティティ上で実装される例では、ステップ0、1、および2は、ノード/エンティティ内で内部に実施され得、したがって、機能間の通信は、プロセス内通信を使用して実施され得る。
例示的実施形態では、証明書請求および登録プロセス(CRRP)は、証明書請求プロセス(CQP)と、証明書登録プロセス(CGP)とを含み得る。CRP中、SCHFは、コンテンツのセキュアな記憶のための適切な証明書のプロビジョニングを要求し得る。このプロセスは、多くの場合、SCHFがそのコンテンツのための適切な証明書を生成するために十分であり得るので、随意であり得る。クライアント特定のコンテンツが保護されるべき場合において、次いで、CCSDF/SDPは、クライアントの証明書を要求し得る。CGPの一部として、コンテンツを保護するために使用される証明書の組が、SEFを用いて発行され得る。拡張性の理由により、証明書は、複数のSEFにおいて発行され得る。ある場合、CCSDFがそれ自身で証明書を生成することができる場合、CCSDFは、CGPのみを行い得る。しかしながら、他の場合、CCSDFが適切な証明書を生成することができない場合、完全CRRPプロセスを行う必要があろう。例示的セキュアホスティングプロセス(SHP)の一部として、SCHFは、CCSDFからのSHRPメッセージに基づいて、コンテンツのホスティングを行い得る。ここでの仮定は、コンテンツが保護されるようにCCSDFが必要な暗号動作を行い得ることであり、CCSDFからの命令に基づいて、SCHFは、コンテンツを適切にホストする。代替として、SCHFは、コンテンツをセキュアにホストするために、適切な暗号動作を行う必要があり得る。実施される暗号動作のタイプは、コンテンツに関連付けられるセキュリティパラメータに基づき得る。SHRPメッセージに基づいて、SCHFは、コンテンツに関連付けられるセキュリティプロパティを更新し、随意に、コンテンツを削除するために、またはそれをアクセス不可能にするためにトリガされる必要があろう適切なライフサイクル管理プロセスを作成し得る。
ここで第三者証明書請求プロセス(TPCRP)を参照すると、第三者(例えば、クライアント)がリソースにアクセスするために、SEFは、クライアントが、コンテンツを解読すること、および/またはコンテンツの完全性/真正性を検証することができるように、クライアントを承認し、クライアントに必要な証明書を提供する必要があり得る。TPCRPは、認証および承認、ならびに第三者(例えば、クライアント)への証明書配布を伴い得る。例示的コンテンツ読み出しプロセス(CRP)中、クライアントは、コンテンツにアクセスするための要求を開始する。クライアントは、事前構成された情報からSCHFに関する情報を取得し得るか、または、情報は、DNS−SDもしくはRDを使用して動的に発見され得る。コンテンツ処理(CP)の例中、コンテンツにアクセスすることを希望するクライアントは、コンテンツの真正性および/または完全性を検証することを所望し得る。加えて、クライアントは、コンテンツ構造およびコンテンツに関連付けられる属性を検証することも所望し得る。コンテンツが機密性のために保護される場合において、コンテンツは、暗号化されたコンテンツとして送信され得、コンテンツは、SCHFによってコンテンツをクライアントに送信する前に解読され得る。コンテンツがSCHFによって解読される必要があるかどうかの決定は、コンテンツに関連付けられるポリシおよびセキュリティ要件に基づき得る。
例示的コンテンツライフサイクル管理プロセス(CLMP)の一部として、CCSDFは、随意に、特定のコンテンツのためのライフサイクル管理を更新するために明示的CLMPメッセージを送信し得る。このプロセス/メッセージングは、CCSDFがSHRPの一部として明示的ライフサイクル管理要件を通信した場合、省略され得る。それは、SCHFにおけるローカルポリシがコンテンツのライフサイクル管理を扱うように事前構成されている場合にも省略され得る。SCHFにおけるポリシは、コンテンツを削除するか、または任意のエンティティに利用不可能にする等、コンテンツに関連付けられるセキュリティプロパティを更新するために実施される必要があろう必要な動作を決定し得る。
コンテンツ作成プロセス(CCP)が、ここで詳細に議論されるであろう。このプロセスの一部として、データコレクタ(例えば、センサデータ)によって収集される未加工データが、ある構造において記憶されるコンテンツを作成するために、CCFによって使用され得る。CCPの一部として、例示的実施形態によると、コンテンツのサブコンポーネントが、ある関係および構造を有する複合コンテンツを作成するために使用される。例示的コンテンツは、1つ以上の属性/値ペアで構成され得、属性/値ペアの各々は、サブコンポーネントである。上記のように、便宜上、データまたは情報もしくはコンテンツは、概して、限定ではないが、コンテンツと称され得る。コンテンツは、大域的に一意のリソース識別子によって識別され得るか、またはローカルで識別可能であり得る。コンテンツは、サブコンポーネント間にある関係構造(例えば、階層またはフラットウェブ)を有する1つ以上のサブコンテンツ(コンポーネント)で構成され得る。そのサブコンポーネントまたは属性を伴う例示的コンテンツが、図7で描写されている。図7は、コンテンツ識別子「ABC」を有し、3つのコンポーネント、すなわち、コンポーネント−A、コンポーネント−B、およびコンポーネント−Cで構成されるコンテンツを描写する。コンポーネント−Cは、再度、2つのサブコンポーネント、すなわち、サブコンポーネント−X、サブコンポーネント−Yで構成される
ここで、例示的実施形態による、セキュリティパラメータ決定プロセス(SPDP)を参照すると、SDPD中、CSSDFの一部であり得るSDFが、「静止している」コンテンツを保護するために要求される適切なセキュリティ要件およびパラメータを決定する。前述のように、CCSDFがそれ自身で証明書を生成することができるいくつかの場合、次いで、CCSDFは、CGPのみを行い得る。代替として、CCSDFが適切な証明書を生成することができない場合、それは、完全CRRPプロセスの両方を行う必要があり得る。決定プロセスの一部として、CCSDFは、例えば、限定ではないが、以下を決定し得る。
● コンテンツが盗聴者から保護される必要があるかどうか(機密性/プライバシ保護)
○ 保護のレベル:アルゴリズム強度、証明書タイプ/サイズ
● コンテンツの無承認修正からの保護−完全性保護
○ 保護のレベル:アルゴリズム強度、ダイジェスト/署名の長さ
● 保護機構を更新する能力
● 証明書のセキュアな記憶/セキュアな動作環境の要件
● コンテンツに関連付けられる存続期間セキュリティ管理
上記の表1において、コンテンツXYZ(XYZ−Idによって識別される)、ABC、およびMNOに関連付けられる高レベルセキュリティパラメータの例が図示されている。コンテンツの各々は、それらの対応するセキュリティパラメータに関連付けられる。例として、示されるように、コンテンツXYZは、「高」の機密性要件を有し、使用されるキーサイズが少なくとも200ビットであることを要求する。証明書強度は、暗号化のタイプ(例えば、対称キー)に基づき得、したがって、他の暗号化タイプ(例えば、公開キー)のための同等キーサイズが、適切に使用され得る。ある場合、コンテンツが制約されたエンティティ上でホストされ得ることを考慮して、証明書強度のための最大サイズ限界があり得る。示されるように、例示的完全性保護アルゴリズムは、「中」であり、>=256ビットのMAC長を有する。コンテンツは、セキュアな環境を利用する必要がない。ライフサイクル管理に関して、図示される例によると、コンテンツは、10年の期間後にパージされ得るか、またはアクセス不可能にされ得、セキュリティ保護は、3年毎に更新され得る。表は、コンテンツ保護のための可能な高レベルセキュリティ要件の例を実証するにすぎない。追加の要件は、特定の実装に適するために追加または除去され得ることが理解されるであろう。例えば、ライフサイクル管理に関連付けられる要件は、あるタイプに対してないこともある。
SPDPは、例えば、CCF上のローカルポリシまたはコンテンツ所有者/サービスプロバイダによってプロビジョニングされるポリシに基づいて、SDFにおけるプロセスによってトリガされ得る。SPDPをトリガするために使用される機構は、あるコンテンツにたいする要求に基づいて、先手型または後手型であり得る。SPDPは、国家安全関連事項または商業的価値を有する極秘データ/コンテンツを保護するための最良実践に基づいてプロビジョニングもしくは実装されているセキュリティ特定のポリシを使用して行われ得る。SPDPによって使用されるポリシの簡略化された例が、表2において以下で挙げられるが、ポリシは、所望に応じて変動し得ることが理解されるであろう。
ある場合、コンテンツは、各々がそれ自身の識別を有するサブコンポーネントから成り得るか、または、コンテンツに関連付けられる属性/値があり得る。各サブコンポーネントまたは属性/値は、それ自身の対応するセキュリティ要件を有し得る。全てのサブコンポーネント(例えば、属性/値)が個々に保護されるので、コンテンツ全体が、保護(例えば、完全性保護)され得る。
例示的実施形態では、SDFは、要件に基づいて、適切な暗号パラメータ(CryptoParams)を決定する。CSSDFがコンテンツをホストする場合、CCSDFは、コンテンツのための要求されるセキュリティ値を導出し得る。コンテンツXYZに関連付けられるCryptoParamsの例が、図8で描写されている。図8は、暗号化/暗号解読アルゴリズム、すなわち、256ビットキーを使用するAESを説明する。このキーは、キー導出関数(KDF)を使用して生成され得る。例示的KDFは、Confidentiality Key(CK)=KDF(KeyGenKey, ”ContentId”||”RandomValue”||”ConfidentialityKeyGen”)という形態であり得る。
例えば、Keyed−Hash−Message−Authentication−Code(HMAC−SHA)等のKDFが、CKを導出するために使用され得る。入力パラメータは、本明細書ではKeyGenKeyと称され得る、他のキーを生成するためにCSSDFによって使用されるキーを伴い得る。加えて、入力パラメータは、CCSDFのコンテキスト内で一意であることが仮定され得るContentIdと、SDFによって生成される乱数値と、文字列「ConfidentialityKeyGen」とを含み得る。上記のように、CKの生成は、例証目的のために例として使用されるにすぎず、入力パラメータは、衝突の可能な低減のために所望に応じて変動させられ得ることが理解されるであろう。
依然として図8を参照すると、選択される完全性/認証アルゴリズムは、関連付けられるIntegrityKey(IK)を用いたHMAC−SHA−256アルゴリズムである。IKは、CKに類似する手段を使用するが、入力パラメータ上の変動を伴って導出され得る。例として、新しいRandomValueが、生成され、「ConfidentialtiyKeyGen」が、「IntegrityKeyGen」文字列によって置換され得る。
例示的実施形態では、コンテンツは、特定のクライアントのみがコンテンツにアクセスすることができるように保護される。加えて、クライアントは、特定のSDFがコンテンツを作成したことと、非常に高い確実度で、それがいかなる他のエンティティによっても修正されなかったこととを検証することが可能であり得る。例えば、クライアント特定のコンテンツ保護機構が使用される場合、クライアントの公開キーを取得するためにクライアントのデジタル証明を使用し、コンテンツを暗号化するためにその公開キーを使用することが好ましくあり得る。クライアント特定のCryptoParamsの例が、図9で描写されている。示されるように、機密性アルゴリズムは、Rivest−Shamir−Addleman(RSA)公開キーアルゴリズムであることが決定され、Keyは、クライアント1に関連付けられるデジタル証明から取得され得るクライアント1の公開キーであることが決定される。クライアント1のデジタル証明を取得するために、例えば、SDFがまだデジタル証明を処理していない場合、以下で説明される証明書請求プロセスが実施され得る。例によると、完全性(デジタル署名)アルゴリズムは、SHA−256ダイジェストを使用するRSAであることが決定され、使用されるべき署名キー(IK)は、SDFのデジタル証明に関連付けられるSDFの秘密キーであり、それは、好ましくは、セキュアな記憶装置の中に記憶される。CryptoParamsが作成されたときの時間/日付、ContentId、および/またはコンテンツに関連付けられるメタデータ等のノンスが、ノンスとして使用され得る。
例示的シナリオでは、クライアントは、証明書の組を共有するクライアントのグループであり得る。機密性のために公開キーイング機構を使用することは、各エンティティが秘密キーを共有する必要があり得、それは、セキュリティを低下させるので、そのようなシナリオではうまく機能しないこともある。このシナリオでは、代わりに、対称キー機構が、好ましくは、機密性のために使用され得る。代替として、完全性/認証のために、公開キーイング機構が、好ましいアプローチであり得る。したがって、拡張性のために、および最適性能を維持するために、機密性アルゴリズムが、対称キーイング機構に基づき得、公開キーイング機構が、一実施形態によると、コンテンツ/コンテンツジェネレータの完全性/真正性を提供するために使用され得る。ある場合、コンテンツの機密性が、無視され得る一方で、コンテンツ/コンテンツジェネレータの完全性/真正性は、検証される。
例えば、コンテンツがサブコンポーネントで構成される場合、サブコンポーネントの各々は、それ自身のセキュリティパラメータと、それに関連付けられる対応するCryptoParamsとを有し得る。例えば、属性/値ペアで構成され得るコンテンツおよびサブコンポーネントは、それら自身の一意のCryptoParamsを有し得る。各特定の属性/値ペアを保護するために要求される計算リソースの金額は、高価であり得、多くの場合、別個に保護されたその個々のコンポーネントを有するのではなく、コンポーネントが全体として保護され得る。本明細書に説明される機構は、グローバルコンテンツの観点から、またはより粒度の細かい属性/値ペアの観点から、コンテンツの保護を行うために使用され得、コンテンツに関連付けられるサブコンポーネントの各々は、様々なセキュリティ要件を有し得る。cryptoParamsが、アルゴリズムおよびキーのためのJWAならびにJWKを用いて、JSON表記法を使用して表され得ることが理解されるであろう。
ここで、例示的セキュアホスティング請求プロセス(SHRP)を参照すると、SCHFは、CCSDFと同一のエンティティ(ノード)上に位置し得、したがって、SHRPメッセージングは、そのような場合、内部で行われ得る。CCSDFおよびSCHFが異なるエンティティ上に位置するある場合、CCSDFは、1つ以上のSCHFと共にSHRPを開始し得る。単一のSCHFを用いたコンテンツのホスティングが、本明細書に説明されるが、しかしながら、類似機構が、複数のSCHFを用いたホスティングに使用され得る。SHRPは、以下のサブプロセス、例えば、限定ではないが、セキュリティ値の計算、適切なSCHFの発見、およびメッセージングプロセスから成り得る。
セキュリティ値を計算することに関して、必要なセキュリティ値が、SDFにおけるローカルポリシ、および/または、上で説明されるSPDPの一部として決定されたCryptoParamsに基づいて、計算され得る。ある場合、セキュリティ値の計算は、信頼される第三者(TTP)またはSCHFにオフロードされ得る。SDFをホストするエンティティにおけるローカルポリシは、サービスプロバイダポリシ、SDFをホストするエンティティの能力(例えば、制約されたデバイス、正しいファームウェア/ソフトウェアの利用可能性等)、およびコンテンツタイプの組み合わせに基づき得る。保護された値(PV)という用語は、計算されたセキュリティ値を表すために本明細書で使用される。例示的な計算されたPVは、暗号化されたコンテンツ(EC)および認証タグ(AT)を含む。ECに関して、コンテンツ全体が、暗号化され得るか、またはサブコンポーネントもしくは属性/値ペアが、サブコンポーネントの各々に関連付けられるCryptoParamsに基づいて暗号化され得る。ある場合、属性/値ペアの「値」コンポーネントのみが暗号化される。ATは、完全性値であり、それは、その特定のコンテンツのためのCryptoParamsの中で規定される完全性パラメータを使用して、コンテンツに対して計算される。前述のように、コンテンツの各サブコンポーネントは、それ自身の一意の計算されたATを有し得る。
例示的実施形態では、ECおよびATが両方とも、例えば、AES−Galoisモード(AES−GCM)等の認証付き暗号(AEAD)機構を使用することによって達成される。AEADの使用は、CryptoParams内で明示的に規定され得るか、またはSCHFによって推測され得る。ECおよびATは、別個のCK、IKを使用して、または機密性ならびに完全性の両方のための単一のキーを有して生成され得る。また、AES−GCMの場合、ATは、「追加の認証されたデータ」であり得る。ECおよびATは、JWEおよびJWSをそれぞれ用いて、JSON表記法を使用して表され得る。
例示的実施形態では、CCSDFは、そのコンテンツをホストするための正しいSCHFを決定するために、発見プロセスを行い得る。発見プロセスは、信頼されるエンティティにクエリを行うこと、または利用可能なサービス(例えば、DNS−SD、RD)のアクティブなリスティングを行う他のエンティティにクエリを行うことを伴い得る。ある場合、CCSDFは、ローカルホスティングエンティティに発見プロセスをオフロードし得、ローカルホスティングエンティティは、次いで、適切なSCHFを決定する。クエリへの応答として、CCSDFは、SCHF、またはセキュリティパラメータに最良に適合するある基準に基づいて順序付けられるSCHFのリストに関する場所情報(例えば、URI)を提供され得る。高度に信頼できるSCHFが利用可能ではない場合において、PVの計算を伴う暗号動作は、CCSDFによって行われ得る。高度に信頼できるSCHFが発見される場合、PVの計算は、SCHFにオフロードされ得る。
ここで図10を参照すると、ネットワーク1000は、例によると、CCSDF1002と、CCSDF1002と共にセキュアホスティング請求(SHR)メッセージングを行うSCHF1004とを含む。例示的ネットワーク1000は、開示される主題の説明を促進するように簡略化され、本開示の範囲を限定することを意図していないことが理解されるであろう。他のデバイス、システム、および構成が、ネットワーク1000等のネットワークに加えて、またはその代わりに、本明細書に開示される実施形態を実装するために使用され得、全てのそのような実施形態は、本開示の範囲内として考慮される。CCSDF1002によって受信される応答のタイプに基づいて、CCSDF1002は、適切なメッセージと、コンテンツがSCHF1004上でホストされるために要求され得るパラメータの正しい組の生成とを作成し得る。SCHFが低信頼性エンティティである場合、図10で描写されるメッセージが行われ得る。
0では、図示される実施形態によると、CCSDF1002は、コンテンツの適切なPV、すなわち、ECおよび関連付けられるATを生成する。1では、CCSDF1002と選択されたSCHF1004とは、互いに相互認証し、セキュアな通信チャネルを確立し得る。2では、CCSDF1002は、EC、関連付けられるAT、およびCryptoParamsを含むセキュアホスティング(SH)要求メッセージをSCHF1004に送信する。3では、図示される例によると、SCHF1004は、EC、AT、およびCryptoParamsをホストし、それらを保護コンテンツ記憶部(PCS)内に記憶する。SCHF1004は、随意に、以下でさらに説明される、SEFを用いてContentIdとともにCryptoParamsをポストし得る。4では、ECおよびPVがホストされると、一意のhosted−id(H−Id)を随意に含む成功メッセージがCCSDF1002に送信され、H−Idは、ECならびにATおよびCryptoParamsの場所へのURIであり得る。ECは、1つの物理エンティティ上でホストされ得、CryptoParamsおよびATは、異なる信頼されるエンティティ上に位置し得る。
ここで図11を参照すると、ネットワーク1100は、示されるように、CCSDF1102と、信頼されるエンティティであるSCHF1004とを含み、CCSDF1102は、CSDF1102の代わりに暗号動作を行うために信頼されるSCHF1104に依存し得る。例によると、CCSDF1102は、コンテンツおよび関連付けられるCryptoParamsをSCHF1104に提供するのみである。0では、図示される例によると、CCSDF1102とSCHF1104とは、互いに相互認証し、互いにセキュアな通信チャネルを確立し得る。1では、CCSDF1002は、関連付けられるCryptoParamsとともに(保護されていない)コンテンツを含むSH要求メッセージを送信する。加えて、サブコンポーネントが個々に完全性保護されなければならないことを示す、Sub_I−flagも送信される。SCHF1104が信頼されるので、さらに、メッセージがセキュアな通信チャネルを通して送信されるので、コンテンツおよびパラメータは、「移動中」、保護される。SCHF1104がCCSDF1102からいくつかのホップ離れて位置する場合、およびメッセージングペイロードが信頼できないエンティティを通してトラバースする場合、コンテンツおよびCryptoParamsは、エンドツーエンドセキュリティ機構を使用して保護されなければならない。2では、SCHF1104は、ECおよび関連付けられるATを導出するために、コンテンツに対してCryptoParamsを使用する。Sub_I−flag=1であるので、各コンテンツの個々のサブコンポーネントも、完全性保護され、適切なAT値が、計算される。SCHF1104は、使用される必要がある証明書の正しい組を取得するために、SEFのサービスを使用し得る。これは、保護されるべきコンテンツがクライアント特定のコンテンツである場合、特に必要であり得る。SCHF1104は、その上にECおよびATを記憶し得る。例示的セキュアホスティングプロセスの詳細が、以下で説明される。3では、SCHF1104は、「成功」を含むSH応答をCCSDF1102に送信する。SCHF1104は、随意に、ホスティング識別子も送信し得る。
したがって、図10および11を参照すると、ノード(例えば、CCSDF)は、プロセッサと、メモリと、通信回路とを含むことができる。ノードは、その通信回路を介してネットワークに接続され得、ノードはさらに、ノードのプロセッサによって実行されると、ノードに、1つ以上のセキュリティ要件に基づいて1つ以上の暗号パラメータを決定させる、ノードのメモリ内に記憶されたコンピュータ実行可能命令を備えている。ノードはまた、セキュアホスティング要求メッセージをコンテンツホスティング機能(CHF)に送信し得る。セキュアホスティング要求メッセージは、コンテンツホスティング機能が1つ以上の暗号パラメータを使用してコンテンツをセキュアに記憶することができるように、1つ以上の暗号パラメータと、それに関連付けられるコンテンツとを含み得る。1つ以上の暗号パラメータに基づいて、ノードは、コンテンツが機密であるようにコンテンツを暗号化し得る。代替として、コンテンツは、サブコンポーネントから成り得、ノードは、1つ以上の暗号パラメータに基づいて、各サブコンポーネントが機密であるように、サブコンポーネントの各々を暗号化し得る。なおも代替として、コンテンツは、属性および値のペアから成り得、ノードは、1つ以上の暗号パラメータに基づいて、各値が機密であるように、値の各々を暗号化し得る。ノードはまた、コンテンツが完全性保護されるように、コンテンツに関連付けられる認証タグ(AT)を計算し得る。代替として、または加えて、コンテンツは、サブコンポーネントから成り得、ノードは、サブコンポーネントの各々が完全性保護されるように、サブコンポーネントの各々に関連付けられるそれぞれの認証タグを計算し得る。
コンテンツがローカルで、またはプロキシ上でホストされることができるかどうかを決定するために、CCSDFによって行われ得る例示的機構が、図12に図示されている。図12を参照して、図示される例によると、1では、CCSDFは、コンテンツに関連付けられたセキュリティ要件の査定を行う。セキュリティ要件は、コンテンツが、コンテンツを生成したエンティティまたはドメインの外に取り出されることを許されないことを要求し得る(例えば、異なる郡、州、国内等のコンテンツの記憶の制約)。それは、コンテンツがホストされ得る地理的場所に対する制約を有し得る。あるセキュリティ機能を果たす効率および能力等の他のセキュリティ査定も、実施され得る。2では、CCSDFは、コンテンツがプロキシ上でホストされることができるかどうかの査定を行う。3では、コンテンツがプロキシ上でホストされることができる場合、CCSDFは、コンテンツをホストすることが可能であり得る潜在的な1つ以上のSCHFのリストを取得し得る。CCSDFは、ある優先順位で順序付けられた潜在的SCHFのリストで構成されているか、またはTTPからリストを取得し得る。ある場合、CCSDFは、発見サービス(例えば、DNS−SDまたはoneM2M発見サービス)の手段を使用することによって、より動的な様式でSCHFを発見し得る。4では、CCSDFは、SCFHがコンテンツの要件を少なくとも満たすかどうかを決定する。5では、図示される例によると、SCFHがコンテンツの要件を満たさない場合、SDFは、コンテンツがCCSDF上でローカルにホストされることができるかどうかを決定する。6では、コンテンツがローカルにホストされることができる場合、それは、SHPプロセスをトリガする。そうでなければ、CCSDFが必要なセキュリティ能力(アプリケーション、ソフトウェア、ファームウェア、ハードウェア等)を保有しない場合、セキュアホスティングプロセスが中断され得る。代替として、新しい発見プロセスが行われ得るか、またはより低いセキュリティ要件を有する修正されたコンテンツが、更新された発見プロセスに基づいてホストされ得る。
ここでセキュアホスティングプロセス(SHP)を参照して、例示的実施形態によると、コンテンツは、セキュリティ要件またはコンテンツに関連付けられるセキュリティプロファイルを満たす様式でハンドリングされる。セキュアホスティングは、データにアクセスするための強力な認証機構を提供すること、ロバストな承認機構を提供すること、完全性をデータに提供すること、および/またはデータの機密性を提供することを含み得る。セキュアな様式でデータをホストする能力は、セキュア要素(SE)または信頼される実行環境(TEE)の使用を伴い得る。ある場合、関与するオーバーヘッド(計算、メモリ、バッテリ)は、制約されたデバイスのために大きすぎることもある。暗号証明書(例えば、キー/証明/識別子)および/または極秘暗号機能が、SEもしくはTEEを伴わずに実施され得る。エンティティがセキュアな様式でデータをホストすることができない場合、そのデータを記憶するためにプロキシを使用し得る。Roots−of−Trust(RoT)の使用が、概して、役立つが、本開示は、ハードウェアまたはソフトウェアベースのRoTの存在に関して、いかなる仮定も行わない。
上で説明されるように、SCHFは、CCSDFから1ホップ離れて常駐し得るか、またはCCSDFから複数のホップ離れ得る。ホップの数は、サービス層ホップの数を指す。CCSDFは、SCHFとの直接信頼関係を有することも、有しないこともあるが、確立された信頼階層を基礎とすること、または共通の信頼のルートを使用して新しい信頼関係を作成することが可能であり得る。CCSDFとSCHFとの間の接続をセキュアにするためのエンドツーエンドアプローチが好ましくあり得るが、エンドツーエンドセキュリティ機構は、利用可能ではなく、ホップ毎のセキュリティが使用され得る。
例示的実施形態では、エンティティは、データに関連付けられる要件に基づいて、エンティティがホストされるデバイス内でローカルにデータを記憶することを決定し得る。例えば、エンティティが、ホストエンティティがセキュアな様式でデータをホストできることを決定した場合、それは、データが完全性保護されるように、および/または機密性のために保護されるように、データに対して必要な暗号動作を行う。適切な暗号アルゴリズムおよび証明書が、データを保護するために使用され得る。機密性保護のための暗号値の例が、以下の表3で提供されている。
PCS内に記憶された保護コンテンツの例が、図13で描写されている。図13は、A、B、およびCを有する、識別子ABCを伴うコンテンツを描写し、コンポーネントCは、サブコンポーネントXおよびYで構成される。CryptoParamsおよび保護される必要があるコンポーネントの指示に基づいて、CCSDFは、コンテンツに関連付けられるECおよびATを計算する。コンポーネントAおよびBは、一意であり得る証明書を使用して暗号化される。しかしながら、コンポーネントC自体が、いかなるデータも含まないこともあり、保護されないこともある一方で、サブコンポーネントX、Yは、暗号化される。コンポーネントAおよびBのため完全性データ(AT)、ならび構造およびコンポーネントC全体のための完全性データ(AT)は、(Component−C−ATを使用して)保護され、個々のサブコンポーネントXおよびYは、保護される。ABC−ATは、コンテンツ、「ABC」、およびサブコンポーネント、ならびにコンテンツ内のそれらの関係/構造を完全性保護するために計算される。
ある場合、保護機構は、煩雑で計算的に高価であり、したがって、制約されたCCSDFのために好適ではないこともある。したがって、動作のうちのいくつかは、信頼されるSCHF上にオフロードされ得る。ここで説明される、粒度の細いレベルでコンテンツを保護するための機構は、ロバストなセキュリティ機構を提供しながら、コンテンツ消費のために多くの融通性を提供する。コンテンツのサブコンポーネント(例えば、サブコンポーネント−X)にアクセスすることのみ承認されているクライアントは、その全体としてコンテンツについていかなる情報も有することなく、(例えば、Component−X−ATを使用して)その特定のサブコンポーネントの完全性を検証することが可能であり得る。CryptoParamsおよびコンテンツ保護の粒度の選択は、実装されている(例えば、サービスプロバイダによって決定される)ソリューションのタイプならびにプラットフォームによって決定されるCCSDF上のローカルポリシに基づき得る。
別の例示的実施形態では、CCDSFは、SCHFが常駐するプロキシ上にコンテンツをホストすることを決定し得る。上で説明される発見機構は、セキュアなプロキシを発見するために使用され得る。あるシナリオでは、CCSDFが信頼できるプロキシに到達することが可能ではないこともあるので、制約されたCCSDFは、完全に信頼できるプロキシ上にコンテンツをホストすることが可能ではないこともある。そのようなシナリオでは、CCSDFは、CryptoParamsをSCHF(プロキシ)に提供しないこともあるが、代わりに、TTP(例えば、SEF)上に記憶されたCryptoParamsへのリンクを提供し得る。例では、SEFは、適切な承認を有するエンティティにのみCryptoParamsを提供する。しかしながら、プロキシがセキュアなSCHFである場合、CryptoParamsは、SCHFにおけるセキュアな記憶装置の中に位置し得る。セキュアな様式でコンテンツを記憶するための機構は、上で説明されるプロシージャに従い得る。
CCSDFによって低信頼性SCHFに提供され得る例示的CryptoParamsが、図14に図示されている。証明書は、提供されないこともあるが、SEFに登録されたCredential−Idが、提供され得る。エンティティは、エンティティが承認された後のみSEFから証明書を取得することが可能であり得る。したがって、ECをホストするSCHFさえも、それが証明書を保有しないのでコンテンツを暗号化することができず、それは、SEFを用いて承認されているエンティティではないこともある。
ここで証明書請求および登録プロセス(CRRP)を参照すると、CRRPプロセスは、SHRPとSHPとの間にインターリーブされ得、CCSDFとSEFとの間の信頼関係、またはCCSDFもしくはSCHFにおけるクライアント証明書の利用可能性に基づいて、コンテンツをホストするために使用される機構に依存し得る。CRRPプロセスは、セキュリティ保護プロセスを行っているエンティティに基づいて、CCSDFとSEFとの間、またはSCHFとSEFとの間で実施され得る。CRRPは、証明書請求プロセス(CRP)と証明書再生プロセス(CGP)とから成る。
例示的CRPに関して、SDFが、それがホストされるエンティティ内でローカルに証明書(例えば、証明、キー)を生成または取得することができない場合、SDFは、SEFを用いてCRPを開始し得る。あるシナリオでは、SDFは、物理的にそれにより近くあり得るTTPエンティティから証明書を取得することが可能であり得る。一般的シナリオとして、SDFが、中央証明書レポジトリとしても機能し得るSEFと信頼関係を有することが仮定される。図15は、信頼されるSEFと共にCCSDFによって開始されるCRPを図示するが、同一のコールフローはまた、CHFとSEFとの間のCRPにも適用可能であり得る。
1では、図示される例によると、(0における)成功した認証およびCCSDFとSEFとの間のセキュアな通信チャネルの確立後、SEFは、証明書要求(CR)メッセージを送信する。メッセージは、限定ではないが、一例として提示される、以下のパラメータを含み得る。
● Content−Id[]:コンテンツ識別子のリスト。エントリの数は、1つ以上であり得る。
● Algorithm_Strength[]:各コンテンツのために、対応するAlgorithm_Strength。これは、随意であり得、CCSDFは、それ自身における強度に基づいて適切なアルゴリズムを選択し得る。
● Credential_Type_Length_Lifetime[]:各コンテンツのために、対応する証明書タイプ、長さ、および証明書の有効性の持続時間が、提供される。コンテンツのCredential_Typeが、「証明」であり得る一方で、別のタイプに対して、それは、「対称キー」を要求し得る。「対称キー」のための証明書の長さが、(例えば、64/128/256ビット)であり得る一方で、Credential_Type=「証明」に対して、供給される証明書の長さは、使用されるアルゴリズムに依存する(例えば、RSA公開キーが、2048/4096ビットであり得る一方で、ECCに対して、それは、224/256ビットであり得る)。存続期間値は、証明書が有効である持続時間であり、類似CRプロセスまたは更新プロセスが、実施される必要があり得る。証明書の存続期間は、表1に説明される「セキュリティ保護を更新する」値に基づき得る。
● Public_Key[]:コンテンツに関連付けられる公開キーのリスト。そのCredential_Type=「対称キー」であるコンテンツのためのPublic_Keyエントリは、空であり得ることに留意されたい。Credential_Typeが「証明」である、それらのコンテンツのみ、例によると、対応する公開キーエントリが存在するであろう。
● R−flag:このフラグは、これらの証明書をSEFに登録することを所望することを示すために、CCSDFによって使用され得る。例えば、R−flag=1である場合、CCSDFは、CRP、また、CGPの両方を行うことを要求している。フラグが「0」に設定される場合、証明書請求のみが行われる。
● Client−specific:このフラグは、メッセージがクライアント特定の証明書要求であるかどうかを示す。ここでは、それは、コンテンツ特定のCRにすぎないことを示すために「0」に設定されている。
依然として図15を参照して、図示される例によると、SEFは、要求に基づいて、証明書の正しい組を生成する。Credential_Type=「対称キー」である場合において、KDFを用いた上で説明されるような類似機構が、使用され得る。SEFは、要求された「存続期間」値に対して有効であるKeyGenKeyを生成し得、それをCCSDFに提供する。KeyGenKeyは、次いで、CDBにおいて、その特定のコンテンツのためにSEFに登録される。代替として、SEFは、IKおよびCKの両方を生成し得、それらをコンテンツに対して登録し、証明書データベース(CDB)の中に記憶する。Credential_Type=「証明書」である場合、SEFは、SEFによって署名される証明を生成するために公開キーを使用し、証明をContent−Idに関連付け、証明の使用を要求の一部として提供された存続期間値に限定する。コンテンツのための証明は、CDBの中にも記憶される。3では、SEFは、証明書リストを送信する。対応するアルゴリズムが選択された場合において、次いで、アルゴリズムのリストも、登録が成功したかどうかの指示を提供するフラグとともに、提供され得る。証明書リストの一部として、証明書がKeyGenKeyであるかどうか、ならびに証明書の有効性を示す、フラグが提供され得る。各証明書に関連付けられる一意のCredential−Idのリストも、例によると、CCSDFに提供される。4では、CCSDFは、証明書、Credential−Id、および関連付けられる存続期間をCDBの中に記憶する。証明書がKeyGenKeyである場合、CCSDFは、随意にCK、IKを生成し得るか、または、それは、それらを導出するようにクライアントに委ねられ得る。
ここで図16を参照すると、例示的なクライアント特定のCRプロセスが描写されている。CCSDFは、例えば、これらのクライアントのみがコンテンツにアクセスできることを要求するであろう場合、クライアント特定の証明書を要求し得る。0では、セキュアな通信チャネルが、CCSDFおよびSEFが互いに相互認証した後、CCSDFとSEFとの間に確立される。チャネルが確立された後、1では、CCSDFは、それらの証明書が要求されているクライアントのリストを含むCRメッセージを送信する。Credential_Typeは、要求されている証明書のタイプである。Credential_Typeは、「証明」または公開キー、もしくは「対称キー」であり得る。「対称キー」ではなく、クライアントに関連付けられる「証明」または「公開キー」を要求することが好ましくあり得る。Client−idが、複数のクライアントに関連付けられ、クライアントのグループが同一のClient−idを共有することが可能であり得る。
2では、SEFは、要求を処理し、CDBにクエリを行い、特定のクライアントのための証明書の正しい組を取得する。Credential_Type=「証明」または「公開キー」である場合、そのクライアントに関連付けられるそれらの証明書は、図示される例で描写されるように、CDBからフェッチされる。Credential_Type=「対称キー」である場合、SEFは、CDBからCKをフェッチするのみであり得る。ある事例では、それは、代替として、クライアントに関連付けられる、KeyGenKeyをフェッチし得、KeyGenKeyは、次いで、CKを生成するためにCCSDFによって使用される。3では、図示される例によると、クライアントに関連付けられる証明のみが送信される。SEFは、各々がクライアントに関連付けられる証明書のリストを送信し得る。証明書の各々は、あるタイプ(公開キー、証明、または対称キー)であり得る。クライアントのグループが同一の証明書を共有することも可能であり得る。4では、送信された証明書がKeyGenKeyであった場合、CCSDFは、それから各クライアントのためのCKを生成し得、ローカルCDB内に証明書を記憶する。証明書が、各クライアントに関連付けられる「公開キー」または「証明」である場合、それらは、そのままで記憶され得る。
簡単のために、クライアント証明書ならびにコンテンツ特定の証明書は、例によると、一般的CDB内に記憶され得るが、それらが別個のDBの中に記憶され得、それらが異なる管理ドメイン内でホストされ得ることも理解されるであろう。コンテンツ特定のCRのために使用されるSEFとクライアント特定のCRのために使用されるSEFとは、異なリ得、したがって、CCSDFとSEFとの間の信頼関係は、異なり得る。
ここで図17を参照すると、CCDSFは、図17で描写されるような証明書登録プロセス(CGP)を使用して、コンテンツに関連付けられる証明書をSEF上に登録し得る。ここで説明される類似機構は、証明書をSCHFに登録するためにCCDSFによって使用され、または、コンテンツのプロキシに基づくホスティングが使用されるとき、証明書をSEFに登録するためにSCHFによって使用され得る。例示的実施形態では、CGPは、コンテンツ特定の証明書がSEFによって生成されていないときのみ要求される。証明書がCCSDFによって、またはSCHFによって生成される場合において、証明書は、SEFに登録され得る。
依然として図17を参照して、図示される例によると、1において、CCDSFは、セキュアな通信チャネルを使用して、CG要求メッセージをSEFに送信する。上記のように、CG要求メッセージのエンドポイントは、他のSEFまたはSCHFであり得る。メッセージの一部として、限定ではないが、一例として提示される、以下のパラメータが、含まれ得る。
● Content−Id[]:大域的に、またはSEFおよびCCSDFのドメイン内で一意であることが仮定されるコンテンツ識別子のリスト。追加のメッセージングが、コンテンツが登録されているドメイン内のContent−Idの唯一性を確実にするために使用され得る。
● Algorithm[]:コンテンツの各々のために、ならびに実施され得る動作のタイプに対して使用されるべきアルゴリズムのリスト。例えば、各コンテンツは、1つ以上の関連付けられるアルゴリズム(例えば、完全性保護:HMAC−SHAおよび機密性保護:AES)を有し得る。
● Credential_Type[]:前述のように、これは、対称キー、公開キー、または証明であり得る。
● Usage[]:どのようにしてアルゴリズムおよび証明書が使用されるべきかについての一般的ガイドラインであり得る。殆どの場合、これは、最良の実践に基づき、ポリシによって決定付けられ得、したがって、省略され得る。
● ACP[]:可能にされ得るか、阻止され得るか、または証明書を提供されることを制約され得るエンティティ(クライアント)のリスト。このリストは、さらに、クライアントのクラスを含み得るか、またはクライアントドメイン情報(例えば、FQDN)等に基づき得る。
2では、図示される例によると、SEFは、Content−Idが一意であること、および(例えば、公開キー/証明の場合に)証明書が正しいContent−Idに関連付けられることを検証する。正しい秘密キーの保有のサイドチャネル検証が、行われ得る。チェックが行われ、正常に検証されると、証明書は、CDB内に記憶される。3では、SEFは、登録成功メッセージで応答し、SEFに登録された各証明書に関連付けられる一意の識別子であるCredential−Idのリストも含む。
クライアントは、同一のSEFまたは異なるSEFと信頼関係を有し得る。クライアント証明書に関連付けられるCGプロセスの例示的説明図が、図18で描写されている。1では、図示される例によると、その証明書をSEFに登録することを所望するクライアントは、限定ではないが、一例として提示される、以下のパラメータを送信し得る。
● Client−Id
● Credential_Type:これは、登録されている証明書のタイプの指示である。クライアントのための好ましいCredential_Typeは、「公開キー」またはその「証明」であり得る。クライアントが、機密性保護を提供するためのみに使用される、「対称キー」を登録することも可能であり得る。
● Credential:クライアントは、複数の証明書を有し得、種々の証明書をSEFに登録し得る。
● Algorithm:証明書のタイプのために使用されるべきアルゴリズム。
● Usage:どのようにして証明書が使用され得るかについてのポリシ。このパラメータは、一例によると、随意であると見なされる。
● ACP:誰/何が証明書を使用することができるかについての制限のリスト。これも、随意であり得る。
2では、図示される例によると、SEFは、CG要求を検証し、CDB内に証明書を記憶する。3では、SEFは、証明書を正常に登録することに応じて、「成功」メッセージをクライアントに送信する。それは、クライアントのために登録された証明書の各々に関連付けられる一意のCredential−Idも送信する。
ここで例示的第三者証明書請求プロセス(TPCRP)を参照すると、コンテンツの真正性を検証することを望むクライアントは、クライアントが暗号化されたコンテンツを解読できる能力を要求する場合、SEFから証明書を要求し得る。代替として、コンテンツに関連付けられる証明書がSCHFに登録され、クライアントがSCHFを発見することができる場合、クライアントは、SCHFを用いてCR要求を発行し得る。証明書が決して外部から登録されず、コンテンツジェネレータ(例えば、CCSDF)においてローカルに記憶されることも可能である。そのような場合、クライアントは、CCSDFを用いてCRを発行し得る。SEF、SCHF、またはCCSDFに関連付けられるURIは、共通サービス発見/リソース発見機構(例えば、DNS−SD、RDメッセージング)を使用することによって、発見され得る。証明書が登録されている場所にかかわらず、エンティティ(例えば、SEF、SCHF、またはCCSDF)は、それ自身で認証および承認を行う必要があり得るか、または証明書が公開されるために、エンティティの代わりに行い得るTTPサービスを使用し得る。ACPは、CRプロセスの一部として提供されていることもある。認証および承認機構の強度は、要求されているコンテンツのタイプに基づき得る。例示的TPCRPは、証明書がSEFに登録されている図19に図示されている。前述のように、要求がCCSDFまたはSCHFに標的化されている場合、類似機構が使用され得る。
図19を参照して、図示される例によると、1では、クライアントは、TPCRP要求をSEFに送信する。要求は、限定ではないが、一例として提示される、以下のパラメータを含み得る。
● Content−Id:クライアントが要求することを望むコンテンツの識別。
● Credential−Id(随意):クライアントがコンテンツに関連付けられる特定の証明書を受信することを望む場合、このパラメータを使用し得る。殆どの場合、Credential−Idが存在する場合、Content−Idは省略され得る。しかしながら、Credential−Idが複数のコンテンツを保護するために使用され得る場合において、Content−IdならびにCredential−Idの組み合わせを使用することが、使用され得る。
● Credential_Type(随意):クライアントがCredential−Idへのアクセスを有していない場合において、クライアントは、あるタイプ(例えば、公開キーまたは対称キー)の証明書を要求し得る。
● Algorithm(随意):クライアントが特定の暗号化アルゴリズム(例えば、AES)のみを行うことができる場合、クライアントは、例えば、それを規定し得る。
2では、SEFは、クライアントが、コンテンツに関連付けられるACP(例えば、証明書へのアクセスのために要求される認証/承認レベル)を満たすことを検証し、証明書がCDBの中に存在する場合、SEFは、Content−Idに基づいて証明書を読み出す。SEFがContent−Idに関連付けられる複数の証明書を有する場合、およびCredential−Idもクライアントによって提示されている場合、SEFは、その特定の証明書を読み出す。Credential−Idがない場合、SEFは、クライアントがその要求内で好ましいCredential_Typeを送信したかどうかを確認するためにチェックし、該当する場合、Credential_Typeに一致するContent−Idに関連付けられる証明書を選ぶ。Credential_Typeがないが、好ましいアルゴリズムが要求されている場合、SEFは、その特定のアルゴリズムによって使用されることができる証明書を選択し得る。代替実施形態では、SEFは、ACPがそのようなトランザクションを可能にするならば、Content−Idに関連付けられる全ての証明書を送信し得る。3では、示されるように、SEFは、証明書を含む応答を送信する。
図20は、例示的コンテンツ読み出しプロセス(CRP)を示す。1では、図示される例によると、クライアントは、CRP要求を開始し、SCHFへのメッセージの一部としてContent−Idを提示する。2では、SCHFは、クライアントがコンテンツにアクセスするために承認されているかどうかを決定するために、承認チェックを開始し得る。クライアントは、承認トークンがSEFから取得された場合、それを提示し得る。そうでなければ、新たな承認が、クライアントとSCHFとの間で実施される必要があり得る。3では、図示される例によると、要求を検証した後、SCHFは、PCSからECおよび関連付けられるATを読み出す。4では、SCHFは、EC、AT、およびCryptoParamsを含むCRP応答メッセージを送信する。CryptoParamsは、随意に、SCHFによって送信され得る。ある場合、SCHFは、CryptoParamsを処理しないこともある。そのような場合、クライアントは、上で説明されるTPCRPを使用して、いずれの事前にフェッチされたCryptoParamsも有し得る。コンテンツのタイプおよびCryptoParamsに基づいて、いくつかのコンテンツは、暗号化されないこともあり、したがって、コンテンツは、非暗号化形態で送信され得る。殆どの場合、コンテンツは、完全性保護され得、したがって、対応するATが、SDFによって導出されていることもあることが仮定される。
例示的実施形態では、クライアントがECおよび関連付けられるATを読み出した後、クライアントは、コンテンツが無承認エンティティによって修正されておらず、合法または信頼できるエンティティ(例えば、CCSDFもしくは高信頼性SCHF)によって生成されたことを検証することによって、かつクライアントがコンテンツを消費することができるように、暗号化されたコンテンツを解読することによって、コンテンツを処理する。図21を参照すると、完全性/真正性チェックならびにクライアントによって実施される暗号解読プロセスの高レベル図を描写するフローチャートが図示されている。図21の説明は、コンテンツがクライアントの公開キーを使用して暗号化され、SDPの秘密キーを使用して完全性保護される、図9に図示されるクライアント特定のCryptoParamsに基づく。1では、図示される例によると、クライアントは、SCHFから読み出されたECを使用し、ECのハッシュを計算するために、ハッシングアルゴリズム(例えば、SHA−256)とCryptoParams内で規定されるノンスとを使用する。2では、クライアントは、ATを使用し、SDFによって計算されたハッシュを取得するために、公開キーアルゴリズム(例えば、RSA)とSDFの公開キーとを使用してそれを解読する。3では、図示される例によると、クライアントによって計算されたハッシュが、SDFによって生成された解読されたハッシュと比較される。ハッシュが一致しない場合、このプロセスは、停止される。4では、ハッシュが一致した場合、クライアントは、公開キーアルゴリズム(例えば、RSA)を用いて、クライアントの秘密キーを使用してECを解読する。ある形態のパッディングが、暗号化されたコンテンツを生成することにおける無作為性のために使用されることが仮定される。本明細書で提示される例がRSAに基づく暗号化であるとしても、実施形態は、そのように限定されないことが理解されるであろう。例えば、公開キーベースの機構ではなく、対称キーベースの暗号化アルゴリズムが、暗号化のために好ましくあり得る。5では、クライアントは、コンテンツを消費する。
ここで例示的コンテンツライフサイクル管理プロセス(CLMP)を参照すると、CCSDFおよび/またはSDFは、特定のコンテンツのコンテンツライフサイクル管理に関与し得る。CLMプロセスは、表1で提供されるようなセキュリティパラメータ内で提供される(例えば、年単位の)「ライフサイクル」値に基づいて、CCSDFによって開始され得る。ライフサイクル期間がポリシに基づいて達成されたとき、コンテンツは、(例えば、乱数値とコンテンツを混合してパッディングし、ワンタイムキーおよび強力な暗号化アルゴリズムを使用して、それを暗号化することによって)削除され得るか、またはアクセス不可能にされ得る。(例えば、年単位の)「セキュリティ保護を更新する」値が、コンテンツに関連付けられるセキュリティ保護を更新するために使用され得る。セキュリティ保護を更新することは、随意であり得、ある場合、コンテンツをセキュリティ攻撃にさらし得、したがって、信頼されるエンティティ(例えば、TEEを有し、RoTに基づくプラットフォーム)のみが、CLMプロセスを実施することを可能にされ得る。新しいCRP、CGP、再ホスティングプロセス、およびTPCRPが、証明書を生成して登録し、コンテンツを保護するために行われ得る。要約すると、新しい証明書が生成されて登録され、コンテンツが、次いで、新しい証明書を使用して保護され、次いで、保護されたコンテンツは、好ましくは、消費のための別個のチャネルを使用して、新たに生成された証明書とともに、承認されたクライアントに提供される。
本明細書に説明される実施形態は、主に、便宜上、oneM2Mアーキテクチャに焦点を当てているが、実施形態はoneM2Mに限定されないことが理解されるであろう。以前に説明された一般的機能(例えば、SEF)は、図22に示されるように、Mcaインターフェースを経由して「セキュリティ」の一部としてoneM2Mアーキテクチャに組み込まれ得る。例では、AEは、CCSDFを組み込み得、CSEは、SCHFを実装し得る。SEFは、例示的実施形態では、M2M登録機能(MEF)に組み込まれる。AEとMEFとの間、また、CSEとMEFとの間に、基礎的信頼関係があることが理解されるであろう。以前に説明された機能性の概要マッピングおよびoneM2Mエンティティが、限定ではないが、一例として、以下の表4で提供されている。
図23は、Mccインターフェースにおいて、コンテンツセキュリティを提供するためのセキュリティ機能性を組み込むための一例を描写する。以前に説明された機能性の概要マッピングおよびoneM2Mエンティティが、限定ではないが、一例として表5で提供されている。
示されるように、CSE1は、SDFおよびSCHFを実装し得る。SCHF機能性は、セキュアな様式でアプリケーションコンテンツまたはoneM2Mシステムリソースに関連し得るoneM2Mリソースを記憶するために使用される。SCHFは、常駐し得、データ管理およびレポジトリCSFの一部として管理され得る。SDFは、常駐し、セキュリティCSF内で管理され得る。CSE2では、例によると、SEFおよびCLMP機能性が、セキュリティCSFの一部として組み込まれ得る一方で、セキュアな様式で証明書リソースをセキュアに記憶することに主に関与するSCHFは、データ管理およびレポジトリの一部として組み込まれ得る。上記で描写されるcredential−IdリソースおよびcryptoParamsは、SCHFによって記憶されて管理され得る、適切なリソースであり得る。
ここで図24を参照すると、例示的実施形態が、oneM2Mに従って描写されている。示されるように、コンテンツが、oneM2Mリソースとして表され得る一方で、サブコンポーネントは、属性およびcontentInstance内で表され得る。ここでは、サービス層接続(ホップ)がTLS/DTLSベースのセキュアな接続を使用して保護され得ることが仮定される。1では、図示される例によると、保護をそれによって作成されるリソースに提供することを意図するAE1は、M2M登録機能MEFを用いて適切な証明書を要求し得る。AE1とMEFとは、それらの間で相互認証を行っており、(D)TLSを使用するセキュアな通信チャネルを確立していることもあることが仮定される。MEFが、AE1がそのような要求を行うために承認されていることを決定したことも仮定される。AE1が完全性ならびに機密性保護を提供することを望む場合、それは、これらの証明書を明示的に要求し得る。代替として、AE1は、対称キー機構を使用する場合、マスタキー(例えば、KeyGenKey)のみを要求し得る。AE1は、リソース作成要求を送信し、要求とともにそのセキュリティ要件(SecRequirements)を提供し得る。承認エンティティのリスト(例えば、AE2の識別)を含み得るアクセス制御ポリシ(ACP)リストも提供され得る。2では、MEFは、AE1がMEFにおいてリソースを作成するために承認されていることを確実にするためにチェックする。AE1が承認されている場合、MEFは、適切な証明書および関連付けられるcredential−Idを生成する。それは、図25で描写されるようなリソース構造を作成し得る。3では、図示される例によると、MEFは、AE1に戻す応答として、証明書およびcredential−Idを送信する。代替として、AE1は、証明書を取得するために、読み出し動作を行うことが可能であり得る。証明書は、例えば、JSONウェブキー(JWK)フォーマットの形態で表され、送信され得る。
依然として図24を参照して、図示される例によると、4では、CryptoParamsならびにAE1によって読み出された証明書に基づいて、AE1は、EC−R1を作成するためにリソースを暗号化し、R1−ATと称されるリソースのAT(MACまたはデジタル署名)を生成する。アルゴリズムならびにノンスおよびIdの選択は、CryptoParams内の値に基づき得る。作成されるEC−R1は、JSONウェブ暗号化(JWE)に基づき得、作成されるR1−ATは、JSONウェブ署名に基づき得る。適切なアルゴリズムは、例えば、JSONウェブアルゴリズム(JWA)規格で規定されるような形態で表され得る。5では、AE1は、暗号化されたコンテンツ(EC−R1)ならびにR1−ATおよびCryptoParamsを含むリソースを作成するための要求をホスティング−CSE(H−CSE)に送信する。5における要求は、登録プロセスの一部であり得るか、またはAE1は、要求を送信することに先立って、前もってH−CSEに登録していることもある。H−CSEが、ある場合、完全には信頼できないこともあるので、CK、IK、およびKeyGenKeyがCryptoParamsの一部としてH−CSEに提供または露出されないことを確実にするように、注意を払うべきである。しかしながら、公開キー機構が使用される場合、例えば、公開キー値、または証明もしくは公開キーへのリンクが、CryptoParamsの一部として提供され得る。6では、例えば、AE1がH−CSEにおいてリソースを作成するために承認されている場合、H−CSEは、保護されたコンテンツをホストする。保護されたコンテンツのために作成される例示的リソース構造が、図29に図示されている。7では、図示される例によると、クライアント(AE2)は、保護されたリソースEC−R1を取得することを望み、したがって、R1を読み出すために、要求メッセージをH−CSEに送信する。8では、H−CSEは、EC−R1に関連付けられるACPを使用することによって、AE2の承認を検証する。ACPは、AE(CCSDF)によって提供されるポリシ、SPがプロビジョニングしたポリシ、またはH−CSEにおけるローカルポリシに基づいて、作成されていることもある。9では、AE2が承認チェックをパスする場合、H−CSEが、EC−R1、R1−AT、およびCryptoParamsを含む応答をAE2に送信する。上記のように、CryptoParamsは、H−CSEが、ある場合、信頼できないこともあるので、CK、IK、またはKeyGenKeyを含まないこともある。CryptoParamsは、公開キーまたは証明、もしくは公開キーまたは証明へのリンクを含み得る。10では、AE2は、CryptoParamsからCredential−Idを抽出する。12では、AE2は、要求メッセージをMEFに送信する。要求メッセージは、証明書のための読み出し動作を行うために、R1に関連付けられるCredential−Idを含み得る。12では、図示される例によると、MEFは、AE1によって作成されたACPに基づいて、AE2が証明書をプロビジョニングされるために承認されていることを決定する。13では、AE2が承認されている場合、MEFは、証明書をAE2に送信する。14では、AE2は、R1の真正性/完全性を検証するため、およびそれを解読するために、証明書を使用する。
図24を参照して上で説明される実施形態は、(例えば、2つのCSE、すなわち、CSE1、CSE2間の)Mccインターフェースに適用可能であり得ることが理解されるであろう。そのようなシナリオでは、例えば、AE1は、CSE1と置換され得、AE2は、CSE2によって置換され得る。
したがって、図24を参照すると、装置(例えば、AE1)は、プロセッサと、メモリと、通信回路とを含み得る。装置は、その通信回路を介してネットワークに接続され得、装置はさらに、装置のプロセッサによって実行されると、装置に、コンテンツの保護を提供する1つ以上の証明書に対する要求を送信させるノードのメモリ内に記憶されたコンピュータ実行可能命令を備え得る。要求は、コンテンツに関連付けられた1つ以上のセキュリティパラメータに基づき得る。装置は、1つ以上の証明書を取得し、コンテンツをセキュアにするために1つ以上の証明書を使用し得る。証明書は、対称キー機密性保護のためのマスタキーを備え得る。証明書は、完全性保護および機密性保護の両方のための証明書を備え得る。装置は、暗号化されたコンテンツを作成するためにコンテンツを暗号化し得る。装置は、コンテンツに関連付けられる認証タグを生成し得る。さらに、示されるように、装置は、暗号化されたコンテンツおよびセキュリティパラメータを含むリソースを作成するための要求をホスティング共通サービスエンティティに送信し得る。示されるように、証明書は、一例によると、M2M登録機能から取得され得る。
SEFがCSEに常駐する代替実施形態が、図26に図示されている。図26を参照して、図示される実施形態によると、1では、リソースR1をセキュアにホストすることを望むAE1が、セキュリティ要件に基づいて適切な証明書を生成する。証明書を使用して、AE1は、EC−R1を作成するためにコンテンツを暗号化し得、(使用されている証明書のタイプに基づいてDSまたはMACであり得る)R1−ATを作成するためにそれを完全性保護する。暗号化されたEC−R1の例は、JSONウェブ暗号化として表され得る。2では、AE1は、証明書ホスティングサービスを行うCSEにおいてCredential−Idリソースを作成するための要求を行う。例では、AEおよびCSEが相互信頼関係を共有することが仮定される。例では、AE1とCSEとの間の通信がセキュアな通信チャネル(例えば、DTLS、TLS)を経由して搬送されることも仮定される。セキュアな通信チャネルを使用して、AE1は、AE1が生成し、コンテンツを暗号化し、および/または完全性保護するために使用した1つ以上の証明書をCSEに送信し得る。3では、CSEは、AE1がリソースを作成するために承認されているかどうかを決定し得る。例えば、CSEは、(D)TLSを使用するセキュアな通信チャネル確立プロセス中、認証プロシージャを実施していることもある。代替として、または加えて、ACPポリシが、サービスプロバイダによってCSEにおいて事前プロビジョニングされていることもある。CSEは、随意に、AE1の公開キーを使用してATを検証し得る。CSEは、随意に、CSEに関連付けられる一意のCredential−Idを生成し得る。これは、随意であり、AE1によって提供されていることもある。ある場合、ドメイン内の唯一性ならびに大域的到達可能性を提供するために、CSEは、AE1の代わりにCredential−Idを生成し得る。CSEにおいて作成されるCredential−Idリソースは、図27の例によって図示される形態であり得る。
依然として図26を参照して、図示される実施形態によると、CSEは、4においてCredential−IdをAE1に送信する。5では、AE1は、暗号化されたEC−R1であり、R1−ATを使用して完全性保護されたセキュアなリソースR1を作成することを要求する。したがって、図示される例によると、H−CSEは、第1のアプリケーションに関連付けられたセキュアにされたコンテンツをホストするためのリソースを作成するための第1の要求を第1のアプリケーション(AE1)から受信する。AE1は、必要なCryptoParamsおよびCredential−Idを提供し得る。したがって、要求は、H−CSEとは別個であるCSEによって生成される証明書識別を含み得る。Credential−Idは、CryptoParamsの一部であり得るか、またはR1に関連付けられる別個の子リソースとして送信され得る。例では、AE1とH−CSEとが、互いに相互認証しており、TLSまたはDTLSを使用してセキュアな通信チャネルを確立していることが仮定される。それは、例えば、図28で描写されるように、関連付けられるアクセス制御ポリシリソースを含み得る。このACPは、完全性保護され得、ATは、AE1の秘密キーを使用して生成されたDSに基づいて作成され得る。作成されるEC−R1は、JSONウェブ暗号化(JWE)に基づき得、作成されるR1−ATは、JSONウェブ署名に基づき得る。適切なアルゴリズムは、JSONウェブアルゴリズム(JWA)規格で規定されるような形態で表され得る。6では、H−CSEは、要求を検証し、AE1がH−CSEにおいてリソースを作成するために承認されていることを確実にする(そうであるかどうかを決定する)ためにチェックする。7では、図示される例によると、H−CSEは、成功で応答する。したがって、例示的アプリケーションが承認される場合、H−CSEは、セキュアにされたコンテンツをホストし得る。ある場合、アプリケーションは、H−CSEと別個であるCSEによって、リソースを作成するために承認され得る。
8では、クライアント(AE2)は、R1を読み出すことを望み、したがって、R1を読み出すための要求、例えば、第2の要求をH−CSEに送信する。したがって、H−CSEは、AE1に関連付けられるセキュアにされたコンテンツにアクセスするための第2の要求を第2のアプリケーション(AE2)から受信し得る。R1を発見することに関与する機構は、例の範囲外であり、AE2は、R1のセキュアなバージョンの場所を発見できることが仮定される。AE2が、完全性の観点から、より劣った確実性を有するR1のあまりセキュアではないバージョンを発見することが可能であり得る。要求は、相互認証がDTLSまたはTLSに基づいて行われた後、セキュアなチャネルを経由して送信されることが仮定される。9では、図示される実施形態によると、H−CSEは、AE1によって作成されたACP内の情報を使用して、AE2が読み出し動作を行うことを許可されているかどうかの承認を検証する。したがって、H−CSEは、AE2がセキュアにされたコンテンツにアクセスするために承認されているかどうかを決定することができる。10では、H−CSEは、EC−R1、EC−AT、ならびにR1−CryptoParamsを含む応答を送信する。したがって、第2のアプリケーションがセキュアにされたコンテンツにアクセスするために承認されている場合、H−CSEは、セキュアにされたコンテンツを第2のアプリケーションに送信することができる。EC−R1が、例えば、JSONベースの表記法JWEを使用して表され得る一方で、EC−ATは、JWSを使用して表され得、R1−CryptoParamsは、JWAを使用して表され得る。11では、Credential−IdがCryptoParamsの一部として含まれた場合、AE2は、それからCredential−Idを抽出する。12では、AE2は、メッセージ内にresource−idとしてCredential−Idを含むことによって、読み出し動作を行うための要求メッセージをCSEに送信する(例えば、CSEのURIは、Credential−Id内に含まれるドメイン情報に基づいて決定され得、Credential−Idは、R1xyrtabsffas@CSE.comという形態であり得る)。例では、AE2およびCSEは、互いに相互認証し、TLSまたはDTLSを使用してセキュアな通信チャネルを確立していることが仮定される。Credential−Idは、例えば、JWK等のJSONベースの表記法を使用して送信され得る。13では、CSEは、2において証明書登録プロセス中にAEによって作成されたACPに基づいて、AE2の承認を検証する。14では、AE2が読み出すために承認されている場合、CSEは、セキュアなチャネルを経由して証明書をAE2に送信する。15では、証明書を使用して、AE2は、R1−ATを使用して完全性を検証し、R1を解読する。したがって、セキュアにされたコンテンツは、CSEがセキュアにされたコンテンツに関連付けられた1つ以上の証明書を第2のアプリケーション(AE2)に送信した場合、解読されることができる。ある場合、上で説明されるように、AE2は、AE1のアクセス制御ポリシによって、セキュアにされたコンテンツにアクセスするために承認されている。
図26に関して上で説明される実施形態は、(例えば、2つのCSE、すなわち、CSE1、CSE2間の)Mccインターフェースにも適用可能であり得ることが理解されるであろう。そのようなシナリオでは、エンティティAE1は、CSE1と置換され得、AE2は、CSE2によって置換され得る。
したがって、図26を参照すると、装置(例えば、AE1)は、プロセッサと、メモリと、通信回路とを備え得る。装置は、その通信回路を介してネットワークに接続され得、装置はさらに、装置のプロセッサによって実行されると、装置に、コンテンツに関連付けられたセキュリティ要件に基づいて、1つ以上の証明書を生成させる、装置のメモリ内に記憶されたコンピュータ実行可能命令を備え得る。以下で詳細に説明されるように(例えば、図37参照)、1つ以上の証明書は、装置と信頼有効化機能との間のアソシエーションをブートストラップすることによって生成され得る。装置は、1つ以上の証明書を使用してコンテンツをセキュアにし(例えば、暗号化)、承認されたクライアントのみがホスティングノードからコンテンツを読み出すことができるように、ホスティングノードがセキュアにされたコンテンツを記憶することを要求し得る。装置は、1つ以上の証明書を使用して、認証タグを生成し得る。認証タグは、ホスティング共通サービスエンティティにおいてホストするためのコンテンツの完全性および真正性を示し得る。要求に応答して、装置は、共通サービスエンティティから証明書識別を受信し得る。要求は、証明書識別に関連付けられる証明書を含み得、要求は、証明書の登録を得ようとする。例示的実施形態では、証明書識別は、共通サービスエンティティに一意である。示されるように、装置は、ノードがホスティングノードにおいてリソースを作成するために承認されていることをホスティングノードが決定した場合、成功メッセージをさらに受信し得る。
別の実施形態によると、データセキュリティ証明書が、ブートストラップを使用して生成される。例えば、AEは、AEと、M2M登録機能(MEF)、信頼有効化機能(TEF)、またはM2M認証機能(MAF)等の信頼される第3のエンティティとの間の既存のアソシエーションを使用するブートストラッピングプロセスを活用することによって、データセキュリティ証明書を生成し得る。この文脈で使用される場合、「データセキュリティ」という用語は、コンテンツセキュリティまたはリソースセキュリティを指し得ることが理解されるであろう。データは、コンテンツのインスタンスを指し得る。したがって、コンテンツインスタンスセキュリティは、概して、本明細書ではデータセキュリティとも称され得る。ある場合、TEFは、特定のセキュリティ証明書のデータ(例えば、コンテンツまたはリソース)の遠隔プロビジョニングのために主に使用されるMEFの特別な実装である。したがって、別様に規定されない限り、TEFおよびMEFという用語は、限定ではないが、同義的に使用され得る。
ここで図37を参照して、図示される実施形態によると、データ/コンテンツセキュリティ証明書が、AEとTEFとの間のブートストラッピングプロセスの結果として生成される。0では、oneM2M仕様書(TS−0003、リリース1)内で現在説明されているブートストラッピングプロセスは、データセキュリティ証明書を導出するためにブートストラッピングを使用することによって、強化され得る。AEとMEF/TEFとの間で共有される証明書KpmId/Kpmは、TS−0003(リリース1)で説明されるように、セッション証明書KeId/Keを生成するために使用される。証明書Keは、AEとTEFとの間でデータセキュリティ特定の証明書を生成するために使用され得る。同様に、AEとCSEとの間のブートストラッピングプロセスは、AEとCSEとの間の既存のセキュリティアソシエーションを活用し得る。セキュリティアソシエーションは、oneM2M TS−0003で説明されるように、KpsaId/Kpsaによって識別され得る。Kpsaが、次いで、Keの代わりに使用される。同様に、AEとMEFとの間にセキュリティアソシエーションを確立するために使用されるKmId/Kmは、AEとMEFとの間でデータセキュリティ証明書を生成するために使用され得る。ある場合、より好ましいアプローチは、AEおよびTEFのためにデータセキュリティ証明書を生成することである。
依然として図37を参照して、1では、図示される例によると、マスタキーがAE(AE1)によって生成される。キー生成の一部として使用される乱数値であるソルトが、ブートストラッピングプロセス中に共有され得るか、またはブートストラッピング中にAEとTEFとの間の初期通信のハッシュ値として計算され得る。ソルトは、AE1とTEFとの間で結合されるチャネルの暗号表現であり得る。チャネルは、TLSまたはDTLSを使用して確立されるセキュアな接続であり得る。エンローリと称され得るAE1、および登録標的と称され得るTEFは、Keを使用してデータセキュリティ証明書を生成し得る。示されるように、Ke_AE1−TEFは、AE1とTEFとの間で関連付けられるKeを指す。Keは、データセキュリティマスタキー、すなわち、K_AE1_TEF_data_sec_masterを生成するために使用されるマスタキーであり得る。代替として、例えば、標的がMEFである場合、Kmが、データセキュリティマスタキーを生成するためのマスタキーとして使用され得る。エンローリがAEであり、登録標的がTEFである、RFC 5809を使用するデータセキュリティキー生成の例が、以下に提供される。
● K_AE1_TEF_data_sec_master=HMAC−Hash(Salt,Ke_AE1_TEF)
● T(0)=空の文字列(ゼロ長)
● K_AE1_TEF_data_sec_masterが生成されると、それは、一意のデータ真正性およびデータ機密性キーを生成するために、キー拡張に使用され得る。ある場合、データ真正性および機密性がAEAD(例えば、AES−CCMまたはAES−GCM)等のアルゴリズムによって提供される場合、単一のキーのみが生成される。
● K_AE1_TEF_data_auth=T(1)=HMAC−Hash(K_AE1_TEF_data_sec_master,T(0)|”Data Authenticity and Integrity”|0x01)
● K_AE1_TEF_data_authキーは、データ真正性およびデータ完全性を提供するために使用され、したがって、データ真正性またはデータ完全性キーと称され得る。
● K_AE1_TEF_data_conf=T(2)=HMAC−Hash(K_AE1_TEF_data_sec_master,T(1)|”Data Confidentiality Key”|0x02)
ある場合、(AE1とCSE1との間のKpsaである)Kpsa_AE1_CSE1が、Ke_AE1_TEFの代わりに使用され得、上で説明されるプロセスが、データセキュリティ保護(例えば、データ認証、完全性、およびデータ機密性)のための一意のキーを生成するために使用され得る。Kpsaは、CSEがデータセキュリティ証明書レジストリとしてAEによって使用される場合に使用され得る。ある場合、Kpsa_AE1_CSE、Ke_AE_TEF、またはKm_AE1_MAFが、K_AE1_TEF_data_sec_master keyとして使用され得、上で説明されるプロセスが、データセキュリティ保護(例えば、データ認証、完全性、およびデータ機密性)のための一意のキーを生成するために使用され得る。ある他の場合、セッションキーが、次いで、データ真正性およびデータ機密性のための一意のキーを生成するためのマスタキーとして使用される、Ke_AE1_CSE1、Kpsa_AE1_TEF、Km_AE1_MAFから生成される。ある他の場合、Ke、Kpsa、またはKpmから生成される単一のセッションキー(K_AE1_TEF_data_auth_conf)のみが、AEADクラスのアルゴリズムとともに使用されるときに、データ真正性およびデータ機密性の両方を提供するために使用される。
2では、図示される例によると、キー生成の類似プロセスが、TEFによって実施される。アルゴリズム、キー生成機構、キーのタイプ、生成されるキーの数等のネゴシエーションは、ブートストラッピングプロセスがAE1とTEFとの間で実施されたときのステップ0中に行われ得る。
3では、AE1は、コンテンツ/データを生成する。コンテンツ/データの各インスタンスは、データ真正性およびデータ機密性キーの一意の組によって保護され得る。別の例では、コンテンツのインスタンス、例えば、コンテンツの全てのインスタンスが、単一のデータ真正性キーによって、および単一のデータ機密性キーによって、保護され得る。単一のデータ真正性および単一のデータ機密性キーのみが、複数のコンテンツインスタンスを含み得るコンテナのために生成される例示的キー生成が、以下に示される。
● K_AE1_Container−x_data_auth=HMAC−Hash(K_AE1_TEF_data_auth, ”Data Authenticity and Integrity”|”Container−x”|Nonce or creationTime)および
● K_AE1_Container−x_data_conf=HMAC−Hash(K_AE1_TEF_data_conf, ”Data Confidentiality”|”Container−x”|Nonce or creationTime)
代替として、コンテナ内のコンテンツの各インスタンスのために、キーの一意の組が生成され得る。そのような実施形態の例が、以下に示される。
● K_AE1_ContentInstance−x_data_auth=HMAC−Hash(K_AE1_TEF_data_auth,”Data Authenticity and Integrity”|”Container−x”|Nonce or creationTime)および
● K_AE1_ContentInstance−x_data_conf=HMAC−Hash(K_AE1_TEF_data_conf,”Data Confidentiality”|”Content Instance”|Nonce or creationTime)
コンテンツは、上記の生成されたキーを使用して、暗号化および/または完全性保護され得る。コンテンツを暗号化するために、ランダムIVが、AE1によって生成され得る。ランダムIVは、暗号化されたコンテンツ(EC−R1、暗号化されたリソース)を生成するために、暗号化アルゴリズムおよびコンテンツ(データ)とともに使用され得る。
コンテンツインスタンスが別個に暗号化されているある場合、各コンテンツインスタンスは、一意の機密性キーを有し得、暗号化プロセスが実行される度に新しいIVが生成され得、それによって、暗号化されたコンテンツインスタンスを生成する。したがって、各コンテンツインスタンスは、関連付けられる別個の暗号化されたコンテンツインスタンスを有し得る。
完全性保護のために、または真正性をコンテンツ/データに追加するために、関連付けられる時間成分を伴うランダムノンスが、コンテンツに関連付けられる認証タグ(AT)を生成するために使用され得る。各コンテンツインスタンスが別個に保護されている場合において、各コンテンツインスタンスは、関連付けられるATを有し得る。データ真正性を提供するために、ある場合、各個々のATを生成するために単一のキーを使用することが好ましくあり得る。
暗号化されたコンテンツは、図29で描写されるように、修正されたoneM2Mコンテナまたは<contentInstance>リソースとして表され得る。代替として、作成されるEC−R1は、RFC 7516に規定されるJSONウェブ暗号化(JWE)に基づき得る。作成されるEC−R1は、RFC 7515に規定されるJSONウェブ署名に基づき得る。適切なアルゴリズムは、JSONウェブアルゴリズム(JWA)規格、RFC 7518に規定されるような形態で表され得る。
概して、生成されて使用される各キーは、一意のCredential−Idに関連付けられ得る。Credential−Idは、AE1によって生成され得るか、またはTEFによってAE1に提供され得る。ある場合、Credential−Idは、コンテンツidまたはコンテンツインスタンスidの特性および証明書のタイプを保持し得る。Credential−idの例は、キーK_AE1_Container−x_data_confに関連付けられる、K_AE1_Container−x_data_conf−Id@TEF.comという形態であり得る。
図37を続けて参照して、4では、図示される実施形態によると、AE1は、Credential−IdをTEFに登録し得る。図示されるように、AE1は、Credential−Idおよび関連付けられるアクセス制御ポリシによって識別される証明書リソースを作成することを要求する。Credential−Idは、代替として、例えば、TEFに関連付けられるCredential−Idの衝突を回避するために、TEFによって提供され得る。Credential−Idの衝突は、ハッシュがAE1による生成idの範囲外に保持される場合、回避され得る。例示的ハッシュが、以下に示される。
● H1=Hash(K_AE1_Container−x_data_conf−Id)
● Credential−Id=H1@TEF.com
5では、示されるように、TEFは、AE1が証明書をTEFに登録するために承認されていることを確実にするためにチェックする。TEFは、Credential−Idおよび含まれていることもある随意のCryptoParamsも検証し得る。TEFは、次いで、<credential−Id>リソースタイプを作成し得、例えば、<accessControlPolicy>値等の属性でそれにデータ投入する。
6では、図示される例によると、TEFは、証明書リソースの成功した作成を示す応答をAE1に送信する。7では、AE1は、暗号化されたEC−R1であり、R1−ATを使用して完全性保護されたセキュアなリソースR1を作成することを要求する。AE1は、CryptoParamsおよびCredential−Idも提供し得る。Credential−Idは、CryptoParamsの一部であり得るか、またはR1に関連付けられる別個の子リソースとして送信され得る。ある場合、AE1とHCSEとは、互いに相互認証し、TLSまたはDTLSを使用してセキュアな通信チャネルを確立している。要求は、関連付けられるアクセス制御ポリシ(ACP)リソースも含み得る。このACPは、完全性保護され得る。
8では、H−CSEは、要求を検証し、AE1がH−CSEにおいてリソースを作成するために承認されていることを確実にするためにチェックする。9では、H−CSEは、成功メッセージで対応する。10を参照すると、ある時点で、クライアント(AE2)は、R1を読み出すことを望み得る。クライアントは、R1を読み出す要求をHCSEに送信し得る。ある場合、AE2は、R1のセキュアなバージョンの場所を発見することができる。ある場合、AE2は、完全性の観点から、より劣った確実性を有するR1のあまりセキュアではないバージョンを発見し得る。要求は、相互認証がDTLSまたはTLSに基づいて行われた後、セキュアなチャネルを経由して送信され得る。AE2は、リソースR1に「読み出し」動作を行うための要求を送信し得る。11では、図示される例によると、HCSEは、AE1によって作成されたACP内の情報を使用して、AE2が読み出し動作を行うことを可能にされているかどうかの承認を検証する。12では、HCSEは、EC−R1、EC−AT、およびR1−CryptoParamsを含む応答を送信する。EC−R1は、JSONベースの表記法(例えば、JWE)を使用して表され得、例えば、EC−ATは、JWSを使用して表され得、R1−CryptoParamsは、JWAを使用して表され得る。代替として、特に、例えば、暗号化および完全性保護に使用されるアルゴリズムが、AEADアルゴリズム(例えば、AES−GCMまたはAES−CCM)に基づく場合、EC−ATおよびEC−R1は両方とも、JWEとして表され得る。なおも代替として、暗号化されたコンテンツEC−R1およびR1−ATは、適切なCryptoParamsとともにoneM2Mリソースとして表され得る。
13では、図示される例によると、Credential−IdがCryptoParamsの一部として含まれた場合、AE2は、それからCredential−Idを抽出する。14では、AE2は、例えば、メッセージ内にresource−idとしてCredential−Idを含むことによって、読み出し動作を行うための要求メッセージをTEFに送信する。AE2とTEFとは、互いに相互認証し、TLSまたはDTLSを使用してセキュアな通信チャネルを確立していることもある。Credential−Idは、例えば、JSONベースの表記(例えば、JWK)を使用して、またはoneM2Mリソース構造を使用して、送信され得る。AE2は、リソースR1(データ)に関連付けられるCryptoParamsからソルトまたはノンスも抽出し得る。AE2は、Credential−Idとともに、リソース特定の証明書を読み出すためのソルトまたはノンスを送信し得る。
15では、TEFは、2における証明書登録プロセス中にAE1によって作成されたACPに基づいて、AE2の承認を検証する。16では、AE2が読み出すために承認されている場合、TEFは、リソース特定の証明書を計算し、セキュアなチャネルを経由して証明書をAE2に送信する。TEFは、どのようにして証明書が使用され得るか、および使用されることができる関連付けられるアルゴリズムを示す使用情報も送信し得る。ある場合、AE2は、使用情報をすでに入手していることもあり。AE2は、それをCryptoParamsの一部としてHCSEから取得していることもある。しかしながら、コンテナが、いくつかのcontentInstanceリソースを含み得る(かつ各リソースが、それ自身の暗号化されたcontentInstance、認証タグ、証明書に関連付けられ得る)、他の場合、TEFは、contentInstance完全性を検証するために、かつcontentInstanceを解読するために、どのようにして証明書が使用され得るかについて追加のガイダンスを提供することが可能であり得る。ソルトが送信される例では、TEFは、K_AE1_TEF_data_sec_masterを生成し得、それは、AE2にプロビジョニングされ得る。例では、AE2は、コンテナ特定またはcontentInstance特定の証明書を生成するために、K_AE1_TEF_data_sec_masterを使用する。K_AE1_TEF_data_authおよびK_AE1_TEF_data_conf(ならびに関連付けられるコンテナまたはcontentInstance特定の証明書)を生成する機構は、上で説明される機構に従って実装され得る。K_AE1_TEF_data_sec_masterをプロビジョニングすることの利点は、より新しいコンテンツインスタンスがAE1によって生成されるかどうかにかかわらず、K_AE1_TEF_data_sec_masterに関連付けられる証明書存続期間が満了していない限り、AE2がTEFにコンタクトする必要がないことであることが、本明細書で認識される。AE2は、ステップ12で行われるリソース読み出しプロセスの一部としてAE2が取得するCryptoParamsを使用して、K_AE1_TEF_data_sec_masterからコンテナまたはcontentInstance特定の証明書を生成することが可能であり得る。ある場合、K_AE1_TEF_data_sec_masterのプロビジョニングは、コンテンツおよびインスタンス、例えば、AE1によって生成される全てのコンテンツおよびインスタンスへのAE2暗号アクセスを与え得る。したがって、このプロビジョニングは、ある場合、好ましいアプローチではないことが、本明細書で認識される。
別の例示的実施形態では、TEFは、AE2に、K_AE1_TEF_data_authおよび/またはK_AE1_TEF_data_confをプロビジョニングし得、それは、次いで、コンテナ特定もしくはcontentInstance特定の証明書を生成する。他の場合、TEFは、コンテナ特定もしくはcontentInstance特定の証明書のみをAE2にプロビジョニングすることもある。ある場合、AE2は、キーをプロビジョニングされるので、いかなるキー生成も行わない場合があり、それによって、AE2が特定のコンテナまたはcontentInstanceへの暗号アクセスを有することを制限する。ある場合、各キーのために、関連付けられるノンス、コンテナに関連付けられる作成時間、またはコンテンツインスタンスは、TEFに提供される必要があり得る。ある場合、AE1が4において証明書プロセスの登録を行うとき、AE1は、TEFへのCredential−Idに関連付けられるCryptParamsを含み得る。
性能およびセキュリティの観点から、アプローチは、TEFがK_AE1_TEF_data_authおよび/またはK_AE1_TEF_data_confのみをAE2にプロビジョンすべきであり得ることが本明細書で認識される。証明書は、それらの各々に関連付けられる、関連付けられる存続期間を有し得る。存続期間の満了後、新しい証明書が生成される必要があり得る。
17では、図示される例によると、証明書を使用して、AE2は、R1−ATを使用して完全性を検証し、プロビジョニングまたは生成されたコンテナもしくはcontentInstance証明書を使用して、R1を解読する。
代替実施形態では、ノード(例えば、AE1)は、特定のクライアント(例えば、AE2)による消費のために保護され得るクライアント特定の「保護された」コンテンツを生成する。oneM2Mでは、AEが互いを認証するように直接通信しないので、CSEは、クライアント特定の(例えば、AE2)保護されたコンテンツが生成され、CSEにおいてホストされるように、AE1の代わりにクライアント特定の保護を行い得る。代替として、CSEがAE1の代わりにセキュリティ機能を果たす、本明細書に説明される類似機構は、CSE1に依拠する必要なく、AE1自体によって行われ得る。クライアント特定の保護されたコンテンツの実施形態が、ここで議論されるであろう、図38に図示されている。
上記のように、図38は、クライアント特定のコンテンツ保護の実施形態を図示する。図38を参照して、図示される実施形態によると、0では、AE1は、(D)TLSを使用してHCSEと相互認証している。同様に、AE2は、(D)TLSを使用してHCSEと相互認証している。
1では、図示される例によると、AE1は、コンテンツ(データ)および/またはcontentInstanceを生成する。さらに、AE1は、コンテンツがホスティングCSEによって完全性および/または機密性のために保護されることを確実にすることを望む。2では、AE1は、コンテンツが、一意のクライアント特定の証明書を使用して、各特定のクライアントのための完全性および/または機密性のために保護されることを要求する。3では、HCSEは、AE1によって提供されるACPを処理し、セキュアにされたコンテンツにCRUD動作を行うことができるために承認されているクライアント(例えば、AE2)を決定する。HCSEはまた、一意のクライアント特定の(例えば、AE2特定の)証明書が生成される必要があろうことも決定する。代替として、CSE1は、ACP、したがって、承認されたクライアントを決定し得る。または、ある場合、AE1によって提供されるACPは、コンテンツに対するCRUD動作、特に、「読み出し」動作を行うことを許可されている承認されたクライアントを決定するために、サービスプロバイダによって提供されているACPと組み合わせられる。例によると、AE2が承認されたクライアントであり、AE1によって承認されていることを仮定して、HCSEは、Kpsa_HCSE_AE2である、oneM2M TS−0003仕様書(リリース1)に従った遠隔プロビジョニングまたはブートストラッピングの結果としてプロビジョニングもしくは生成された事前共有キーを活用することによって、K_HCSE_AE2_data_sec_masterを生成する。データセキュリティに使用されるマスタキー、すなわち、K_HSCE_AE2_data_sec_masterは、例えば、RFC 5869に基づいて、キー拡張機構を使用して生成され得る。
● K_HCSE_AE2_data_sec_master=HMAC−Hash(Salt,Kpsa_HCSE_AE2)
● T(0)=空の文字列(ゼロ長)
4では、K_HCSE_AE2_data_sec_masterが生成されると、これは、一意のデータ真正性およびデータ機密性キーを生成するためのキー拡張のために使用され得る。ある場合、データ真正性および機密性が、例えば、AEAD(例えば、AES−CCMまたはAES−GCM)等のアルゴリズムによって提供される場合、単一のキーのみが生成される。例えば、キーは、以下のように生成され得る。
● K_HCSE_AE2_data_auth=T(1)=HMAC−Hash(K_HCSE_AE2_data_sec_master,T(0)|”Data Authenticity and Integrity”|0x01)
● K_HCSE_AE2_data_authキーは、データ真正性およびデータ完全性を提供するために使用され、データ真正性またはデータ完全性キーと称され得る。
● K_HCSE_AE2_conf=T(2)=HMAC−Hash(K_HCSE_AE2_data_sec_master,T(1)|”Data Confidentiality Key”|0x02)
複数のコンテンツインスタンスを含み得るコンテンツのための単一のデータ真正性およびデータ機密性キーのみにおける、キー生成が、例の目的のために以下に示される。
● K_HCSE_AE2_Container−x_data_auth=HMAC−Hash(K_HCSE_AE2_data_auth,”Data Authenticity and Integrity”|”Container−x”|Nonce or creationTime)および
● K_HCSE_AE2_Container−x_data_conf=HMAC−Hash(K_HCSE_AE2_data_conf,”Data Confidentiality”|”Container−x”|Nonce or creationTime)
代替として、コンテナ内の各コンテンツのインスタンスのために、例えば、以下に示されるように、キーの一意の組が生成され得る。
● K_HCSE_AE2_ContentInstance−x_data_auth=HMAC−Hash(K_HCSE_AE2_data_auth,”Data Authenticity and Integrity”|”Container−x”|Nonce or creationTime)および
● K_HCSE_AE2_ContentInstance−x_data_conf=HMAC−Hash(K_HCSE_AE2_data_conf,”Data Confidentiality”|”ContentInstance”|Nonce or creationTime)
なおも代替として、公開キーイング機構が使用される、ある場合、クライアント特定の証明書は、識別ベースの暗号化(IBE)機構に基づき得る。
依然として図38を参照して、5では、図示される例によると、AE2は、HCSEからリソースR1(コンテナまたはcontentInstance)を「読み出す」ことを(ある時点で)要求する。6では、HCSEは、AE2の承認を検証する。7では、HCSEは、暗号化されたコンテンツEC−R1、認証タグ、R1−AT、および関連付けられるCryptoParamsで応答する。8では、AE2は、CryptoParamsを使用し、K_HCSE_AE2_data_sec_masterを生成するために、UsageInfoおよび「ソルト」を抽出する。さらに、AE2は、K_HCSE_AE2_data_conf、K_HCSE_AE2_data_auth等を生成するために要求される、ノンスおよび他のパラメータを抽出する。AE2は、次いで、コンテナ/contentInstance内のデータの真正性および完全性を検証し、各containerInstance内に含まれるコンテナまたはデータ内のデータを解読するために、コンテナ特定ならびにcontentInstanceキーを生成し得る。
したがって、図37および38を参照すると、図示されるノードは、プロセッサと、メモリと、通信回路とを備え得る。ノードは、その通信回路を介してネットワークに接続され得、ノードはさらに、ノードのプロセッサによって実行されると、ノードに図示および説明されるステップを行わせる、ノードのメモリ内に記憶されたコンピュータ実行可能命令を備え得る。
図27は、例示的credential−Idリソースを図示する。示されるように、例示的credential−Idリソースは、credentials−ATを使用して、それ自体が完全性保護され、credentials−ATは、作成者の証明書(例えば、AE1の秘密キー)を用いてcredential−Idリソースの作成者によって作成され得るか、またはSCHF(例えば、H−CSE)によって作成され得る。例示的属性の詳細が、ここで説明され、限定ではないが、一例として提示される。
● credential−Id:これは、ドメイン内の証明書を一意に識別する。それは、大域的に一意またはローカルに一意であり、概して、証明書のスコープに基づき得る。それは、接頭辞としてランダムであるが一意の値、および接尾辞としてFQDNを使用する形態(例えば、xyz@credentials.example.com)、またはURIの形態(例えば、//example.com/credentials/xyz)であり得る。
● credential:それは、証明書に特定である子リソース属性で構成される。属性は、以下である。
○ credetialType:証明書のタイプ、すなわち、対称キーまたは公開キーを説明する。それは、公開キーのタイプ(例えば、RSAまたはECC)も規定し得る。
○ credential:属性は、実際の証明書値(例えば、対称キーまたは公開キー)を記憶する。注:証明書のサイズは、証明書のタイプに依存し得る。キーが公開キーである場合、関連付けられる以下を有し得る。
■ publicKeyParams:パラメータは、(例えば、使用される曲線のタイプ、キーサイズ)であり得、および/または、JWKパラメータに基づき得る。これは、随意であり得る。
● accessControlPolicy:oneM2M定義ACPに基づく例示的ACPは、3つの属性、すなわち、accessControlOriginators、accessControlOperations、およびaccesControlContextsを有する。
● scopeUsage:この属性は、スコープ(例えば、署名または暗号化、キー生成プロセス)を定義する。それは、どのようにして証明書が使用され得るかについての使用法を提供することも可能であり得る。証明書を使用することについての規則。
● validity:validity属性は、証明書に関連付けられる存続期間を示すために使用され得る。証明書は、更新される必要があり得、CLMPは、ポリシに基づいて開始され得る。
● issuer:証明書を生成して発行したエンティティ(例えば、FQDN)の識別。
● credential−AT:この属性は、図30に説明される、関連付けられるcryptoParamsサブリソースを使用して、(credential−AT属性を除く全ての属性を含む)証明書リソースに対して計算されるAT値を記憶し得る。
完全性保護される一般的ACPの例示的実施形態が、図28に図示されている。図示されるACPは、関連ATを有し、それは、cryptoParamsが公開キー機構の使用を規定する場合、AEの秘密キーを使用して生成されていることもある。ACPを作成する任意のエンティティが、認証/完全性保護されたACPを生成できることも可能である。したがって、ACPがCSEによって作成された場合、生成されるATは、CryptoParamsが公開キー機構の使用を要求したならば、CSEの秘密キーに基づく。
図29は、cryptoParamsリソース内で説明される暗号化アルゴリズムおよび特定の証明書(例えば、対称キー)を使用して機密性保護される(EC−contentInfo)、contentInstanceの例を図示する。それは、DSもしくはMAC(例えば、content−AT属性に記憶される)を用いることによっても完全性保護され得、DSもしくはMACは、公開キーイング機構(例えば、コンテンツジェネレータの秘密キー)を用いて、またはマスタキー(例えば、KeyGenKey)から生成された対称キーを用いて生成される。
例示的な関連付けられるcryptoParamsリソースが、図30で描写されている。cryptoParamsリソースに関連付けられる例示的属性に関する詳細が、以下に提供され、限定ではないが、一例として提示される。
● cryptoParamsId:それは、保護されているコンテンツ/データに関連付けられる暗号パラメータを一意に識別するために使用され得る随意の属性である。
● confidentiality:これは、暗号化プロセスに関連付けられるパラメータを説明するサブリソースタイプである。例示的属性は、以下である。
○ algorithm:使用される暗号化アルゴリズムを説明する(例えば、AES−128)。
○ credential−Id:コンテンツ(例えば、遠心分離機温度)を暗号化するために使用される証明書(例えば、キー)を読み出すために使用されるべきcredential−Idを説明する。
○ initializationVector:それは、その特定のアルゴリズムのためのコンテンツを暗号化/解読するために使用される必要があるIVを説明する。
○ scopeUsage:これは、コンテンツ/リソースを暗号化または解読するための、証明書、IV、アルゴリズムの使用法ならびにスコープを説明し得る随意の属性である。
● integrity:それは、コンテンツ/リソースを完全性保護することに関連付けられるパラメータを説明する、サブリソースである。属性は、以下である。
○ digestAlgorithm:ダイジェストを作成するために使用されるアルゴリズム(例えば、SHA−1)。
○ signingAlgorithm:公開キーの場合にダイジェストをデジタル署名するために使用されるアルゴリズムであり、適切なアルゴリズムが、使用され得る(例えば、RSA)一方で、対称キーの場合、適切なアルゴリズムが使用され得る(例えば、HMAC−SHA−1)。対称キーの場合、digestAlgorithmがKeyed−Hash−MACアルゴリズム(例えば、HMAC−SHA−256)によって置換されることが可能であり得る。ここで説明される例は、公開キー機構を使用するが、しかしながら、類似機構が、対称キーに使用され得る。
○ credential−Id:コンテンツ/リソースに関連付けられるATを作成するための証明書(例えば、キー)を読み出すために使用されるべきcredential−Id(例えば、cred2@verisign.com)を説明する。
○ nonce:この値は、リプレイ保護のために使用され、コンテンツ/リソースの作成に関連付けられるランダムに生成された値または時間/日付を含み得る。
○ scopeUsage:これは、コンテンツ/リソースのATを作成するために、証明書、ノンス、およびアルゴリズムの使用法を説明し得る随意の属性である。
● crtypotoParams−AT:これは、関連付けられるcryptoParamsサブリソースを使用して、cryptoParamsId:cp_tem_cent_30_20/10/15)によって識別されるcryptoParamsリソースに関連付けられるATである。
完全性および真正性のために保護される<mgmtObj>リソースの例が、図31に図示されている。例示的セキュリティポリシリソースが、図32に図示されている。
例示的実施形態によると、コンテンツセキュリティに関連付けられるポリシおよびセキュリティパラメータの構成が、グラフィカルユーザインターフェース(GUI)を使用して、ユーザによって行われ得る。代替として、ウェブインターフェースが、GUIの代わりに、またはそれに加えて、使用され得る。例示的ユーザインターフェース(UI)が、図33に示されている。例えば、UIが、限定ではないが、以下のために使用され得る。
● コンテンツセキュリティに関するセキュリティポリシの構成
● 以下を行う能力をユーザに提供する
○ コンテンツを構成するものを定義する
○ コンテンツの構造を定義する
● コンテンツ/コンテンツタイプに基づいてセキュリティ要件を定義する
● ユーザがセキュリティ要件を構成する/関連付けられるセキュリティパラメータにマップすることができるように、ユーザによって使用され得るテーブルを表示する
● コンテンツライフサイクルパラメータ(より具体的にはセキュリティパラメータ)の構成
● 信頼できるSCHFを識別するために使用されるパラメータを定義する
種々のUIが、SCHFにおいて提供され得る。図34は、限定ではないが、一例として提示される、以下を含む、SCHFにおいて提供され得る例示的UIを示す。
● コンテンツセキュリティに関するセキュリティポリシの構成のためのUI
● コンテンツライフサイクルパラメータ(より具体的にはセキュリティパラメータ)の構成のためのUI
● その(SCHFの)信頼性を定義するために使用されるパラメータを定義するためのUI
図35は、限定ではないが、一例として提示される、SEFにおいて提供され得る例示的UIを図示する。
● コンテンツセキュリティ関連証明書請求および登録に関するセキュリティポリシの構成のためのUI
● 証明書関連パラメータの構成のためのUI
例示的ユーザインターフェースが、所望に応じて代替的パラメータを監視して制御するために使用され得ることが理解されるであろう。GUIが、種々のチャートまたは代替的視覚描写を介して、ユーザが関心を持つ種々の情報をユーザに提供できることがさらに理解されるであろう。
図36Aは、1つ以上の開示される実施形態が実装され得る、例示的マシンツーマシン(M2M)、モノのインターネット(IoT)、もしくはモノのウェブ(WoT)通信システム10の略図である。概して、M2M技術は、IoT/WoTのための基礎的要素を提供し、任意のM2Mデバイス、M2Mゲートウェイ、またはM2Mサービスプラットフォームは、IoT/WoTのコンポーネントならびにIoT/WoTサービス層等であり得る。図6−35、37、および38のうちのいずれかに図示されるクライアントまたはエンティティのうちのいずれかは、図36A−Dに図示されるもの等の通信システムのノードを備え得る。
図36Aに示されるように、M2M/IoT/WoT通信システム10は、通信ネットワーク12を含む。通信ネットワーク12は、固定ネットワーク(例えば、Ethernet(登録商標)、Fiber、ISDN、PLC等)、または無線ネットワーク(例えば、WLAN、セルラー等)、もしくは異種ネットワークのネットワークであり得る。例えば、通信ネットワーク12は、音声、データ、ビデオ、メッセージング、ブロードキャスト等のコンテンツを複数のユーザに提供する複数のアクセスネットワークを備え得る。例えば、通信ネットワーク12は、符号分割多重アクセス(CDMA)、時分割多重アクセス(TDMA)、周波数分割多重アクセス(FDMA)、直交FDMA(OFDMA)、単一キャリアFDMA(SC−FDMA)等の1つ以上のチャネルアクセス方法を採用し得る。さらに、通信ネットワーク12は、例えば、コアネットワーク、インターネット、センサネットワーク、工業制御ネットワーク、パーソナルエリアネットワーク、融合個人ネットワーク、衛星ネットワーク、ホームネットワーク、または企業ネットワーク等の他のネットワークを備え得る。
図36Aに示されるように、M2M/IoT/WoT通信システム10は、インフラストラクチャドメインと、フィールドドメインとを含み得る。インフラストラクチャドメインは、エンドツーエンドM2M展開のネットワーク側を指し、フィールドドメインは、通常、M2Mゲートウェイの背後にあるエリアネットワークを指す。フィールドドメインおよびインフラストラクチャドメインは両方とも、ネットワークの種々の異なるノード(例えば、サーバ、ゲートウェイ、デバイス)を備え得る。例えば、フィールドドメインは、M2Mゲートウェイ14と、端末デバイス18とを含み得る。任意の数のM2Mゲートウェイデバイス14およびM2M端末デバイス18が、所望に応じてM2M/IoT/WoT通信システム10に含まれ得ることが理解されるであろう。M2Mゲートウェイデバイス14およびM2M端末デバイス18の各々は、通信ネットワーク12または直接無線リンクを介して、信号を伝送ならびに受信するように構成される。M2Mゲートウェイデバイス14は、無線M2Mデバイス(例えば、セルラーおよび非セルラー)ならびに固定ネットワークM2Mデバイス(例えば、PLC)が、通信ネットワーク12等のオペレータネットワークを通して、または直接無線リンクを通してのいずれかで、通信することを可能にする。例えば、M2Mデバイス18は、データを収集し、通信ネットワーク12または直接無線リンクを介して、データをM2Mアプリケーション20もしくはM2Mデバイス18に送信し得る。M2Mデバイス18はまた、M2Mアプリケーション20またはM2Mデバイス18からデータを受信し得る。さらに、データおよび信号は、以下で説明されるように、M2Mサービス層22を介して、M2Mアプリケーション20に送信され、そこから受信され得る。M2Mデバイス18およびゲートウェイ14は、例えば、セルラー、WLAN、WPAN(例えば、Zigbee(登録商標)、6LoWPAN、Bluetooth(登録商標))、直接無線リンク、および有線を含む種々のネットワークを介して通信し得る。例示的M2Mデバイスは、タブレット、スマートフォン、医療デバイス、温度および気象モニタ、コネクテッドカー、スマートメータ、ゲームコンソール、携帯情報端末、保健および健康モニタ、照明、サーモスタット、電化製品、ガレージドア、および他のアクチュエータベースのデバイス、セキュリティデバイス、ならびにスマートコンセントを含むが、それらに限定されない。
図36Bを参照すると、フィールドドメイン内の図示されるM2Mサービス層22は、M2Mアプリケーション20、M2Mゲートウェイデバイス14、およびM2M端末デバイス18ならびに通信ネットワーク12のためのサービスを提供する。M2Mサービス層22は、所望に応じて、任意の数のM2Mアプリケーション、M2Mゲートウェイデバイス14、M2M端末デバイス18、および通信ネットワーク12と通信し得ることが理解されるであろう。M2Mサービス層22は、1つ以上のサーバ、コンピュータ等によって実装され得る。M2Mサービス層22は、M2M端末デバイス18、M2Mゲートウェイデバイス14、およびM2Mアプリケーション20に適用されるサービス能力を提供する。M2Mサービス層22の機能は、例えば、ウェブサーバとして、セルラーコアネットワークで、クラウドで等の種々の方法で実装され得る。
図示されるM2Mサービス層22と同様に、インフラストラクチャドメイン内にM2Mサービス層22’がある。M2Mサービス層22’は、インフラストラクチャドメイン内のM2Mアプリケーション20’および下層通信ネットワーク12’のためのサービスを提供する。M2Mサービス層22’は、フィールドドメイン内のM2Mゲートウェイデバイス14およびM2M端末デバイス18のためのサービスも提供する。M2Mサービス層22’は、任意の数のM2Mアプリケーション、M2Mゲートウェイデバイス、およびM2M端末デバイスと通信し得ることが理解されるであろう。M2Mサービス層22’は、異なるサービスプロバイダによってサービス層と相互作用し得る。M2Mサービス層22’は、1つ以上のサーバ、コンピュータ、仮想マシン(例えば、クラウド/計算/記憶ファーム等)等によって実装され得る。
依然として図36Bを参照すると、M2Mサービス層22および22’は、多様なアプリケーションならびにバーティカルが活用することができるサービス配信能力のコアの組を提供する。これらのサービス能力は、M2Mアプリケーション20および20’がデバイスと相互作用し、データ収集、データ分析、デバイス管理、セキュリティ、課金、サービス/デバイス発見等の機能を果たすことを可能にする。本質的に、これらのサービス能力は、これらの機能性を実装する負担をアプリケーションから取り除き、したがって、アプリケーション開発を単純化し、市場に出すコストおよび時間を削減する。サービス層22および22’は、M2Mアプリケーション20および20’が、サービス層22および22’が提供するサービスと関連して、種々のネットワーク12および12’を通して通信することも可能にする。
M2Mアプリケーション20および20’は、限定ではないが、輸送、保健および健康、コネクテッドホーム、エネルギー管理、アセット追跡、ならびにセキュリティおよび監視等の種々の産業での用途を含み得る。上記のように、システムのデバイス、ゲートウェイ、および他のサーバを横断して起動するM2Mサービス層は、例えば、データ収集、デバイス管理、セキュリティ、課金、場所追跡/ジオフェンシング、デバイス/サービス発見、およびレガシーシステム統合等の機能をサポートし、サービスとしてこれらの機能をM2Mアプリケーション20および20’に提供する。
概して、図36Aならびに36Bに図示されるサービス層22および22’等のサービス層(SL)は、アプリケーションプログラミングインターフェース(API)および下層ネットワーキングインターフェースの組を通して付加価値サービス能力をサポートするソフトウェアミドルウェア層を定義する。ETSI M2MおよびoneM2Mアーキテクチャは両方とも、サービス層を定義する。ETSI M2Mのサービス層は、サービス能力層(SCL)と称される。SCLは、ETSI M2Mアーキテクチャの種々の異なるノードで実装され得る。例えば、サービス層のインスタンスは、M2Mデバイス(デバイスSCL(DSCL)と称される)、ゲートウェイ(ゲートウェイSCL(GSCL)と称される)、および/またはネットワークノード(ネットワークSCL(NSCL)と称される)内で実装され得る。oneM2Mサービス層は、共通サービス機能(CSF)(すなわち、サービス能力)の組をサポートする。1つ以上の特定のタイプのCSFの組のインスタンス化は、異なるタイプのネットワークノード(例えば、インフラストラクチャノード、中間ノード、特定用途向けノード)上でホストされ得る共通サービスエンティティ(CSE)と称される。第3世代パートナーシッププロジェクト(3GPP)は、マシンタイプ通信(MTC)のためのアーキテクチャも定義している。そのアーキテクチャでは、サービス層およびそれが提供するサービス能力は、サービス能力サーバ(SCS)の一部として実装される。ETSI M2MアーキテクチャのDSCL、GSCL、もしくはNSCLで、3GPP MTCアーキテクチャのサービス能力サーバ(SCS)で、oneM2MアーキテクチャのCSFもしくはCSEで、またはネットワークのある他のノードで具現化されるかどうかにかかわらず、サービス層のインスタンスが、サーバ、コンピュータ、および他のコンピューティングデバイスもしくはノードを含む、ネットワーク内の1つ以上の独立型ノード上で、もしくは1つ以上の既存のノードの一部としてのいずれかで実行する論理エンティティ(例えば、ソフトウェア、コンピュータ実行可能命令等)で実装され得る。例として、サービス層またはそのコンポーネントのインスタンスは、以下で説明される図36Cまたは36Dに図示される一般的アーキテクチャを有する、ネットワークノード(例えば、サーバ、コンピュータ、ゲートウェイ、デバイス等)上で起動するソフトウェアの形態で実装され得る。
さらに、本明細書に説明される方法および機能性は、例えば、上記のネットワークおよびアプリケーション管理サービス等のサービスにアクセスするために、サービス指向アーキテクチャ(SOA)および/またはリソース指向アーキテクチャ(ROA)を使用するM2Mネットワークの一部として実装され得る。
図36Cは、図36Aおよび36Bに図示されるもの等のM2Mネットワーク内のM2Mサーバ、ゲートウェイ、デバイス、または他のノードとして動作し得る、図6−35、37、および38に図示されるクライアントまたはエンティティのうちの1つ等のネットワークのノードの例示的ハードウェア/ソフトウェアアーキテクチャのブロック図である。図36Cに示されるように、ノード30は、プロセッサ32と、送受信機34と、伝送/受信要素36と、スピーカ/マイクロホン38と、キーパッド40と、ディスプレイ/タッチパッド42と、非取り外し可能メモリ44と、取り外し可能メモリ46と、電源48と、全地球測位システム(GPS)チップセット50と、他の周辺機器52とを含み得る。ノード30はまた、送受信機34および伝送/受信要素36等の通信回路を含み得る。ノード30は、実施形態と一致したままで、先述の要素の任意の副次的組み合わせを含み得ることが理解されるであろう。このノードは、本明細書に説明されるセキュリティ保護およびそれに関連する方法を実装するノードであり得る。
プロセッサ32は、汎用プロセッサ、特殊目的プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアに関連付けられた1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、任意の他のタイプの集積回路(IC)、状態マシン等であり得る。プロセッサ32は、信号符号化、データ処理、電力制御、入出力処理、および/またはノード30が無線環境で動作することを可能にする任意の他の機能性を果たし得る。プロセッサ32は、伝送/受信要素36に結合され得る送受信機34に結合され得る。図36Cは、プロセッサ32および送受信機34を別個のコンポーネントとして描写するが、プロセッサ32および送受信機34は、電子パッケージまたはチップに一緒に統合され得ることが理解されるであろう。プロセッサ32は、アプリケーション層プログラム(例えば、ブラウザ)および/または無線アクセス層(RAN)プログラムならびに/もしくは通信を行い得る。プロセッサ32は、例えば、アクセス層および/またはアプリケーション層等で、認証、セキュリティキー一致、ならびに/もしくは暗号化動作等のセキュリティ動作を行い得る。
図36Cに示されるように、プロセッサ32は、その通信回路(例えば、送受信機34および伝送/受信要素36)に結合される。プロセッサ32は、コンピュータ実行可能命令の実行を通して、それが接続されるネットワークを介してノード30を他のノードと通信させるために、通信回路を制御し得る。具体的には、プロセッサ32は、(例えば、図6−35、37、および38で)本明細書ならびに請求項に説明される、伝送および受信するステップを行うために、通信回路を制御し得る。図36Cは、プロセッサ32および送受信機34を別個のコンポーネントとして描写するが、プロセッサ32および送受信機34は、電子パッケージまたはチップに一緒に統合され得ることが理解されるであろう。
伝送/受信要素36は、M2Mサーバ、ゲートウェイ、デバイス等を含む他のノードに信号を伝送するように、またはそこから信号を受信するように構成され得る。例えば、実施形態では、伝送/受信要素36は、RF信号を伝送および/または受信するように構成されるアンテナであり得る。伝送/受信要素36は、WLAN、WPAN、セルラー等の種々のネットワークならびにエアインターフェースをサポートし得る。実施形態では、伝送/受信要素36は、例えば、IR、UV、もしくは可視光信号を伝送および/または受信するように構成されるエミッタ/検出器であり得る。さらに別の実施形態では、伝送/受信要素36は、RFおよび光信号の両方を伝送ならびに受信するように構成され得る。伝送/受信要素36は、無線もしくは有線信号の任意の組み合わせを伝送および/または受信するように構成され得ることが理解されるであろう。
加えて、伝送/受信要素36は、単一の要素として図36Cで描写されているが、ノード30は、任意の数の伝送/受信要素36を含み得る。より具体的には、ノード30は、MIMO技術を採用し得る。したがって、実施形態では、ノード30は、無線信号を伝送および受信するための2つ以上の伝送/受信要素36(例えば、複数のアンテナ)を含み得る。
送受信機34は、伝送/受信要素36によって伝送される信号を変調するように、および伝送/受信要素36によって受信される信号を復調するように構成され得る。上記のように、ノード30は、マルチモード能力を有し得る。したがって、送受信機34は、ノード30が、例えば、UTRAおよびIEEE 802.11等の複数のRATを介して通信することを可能にするための複数の送受信機を含み得る。
プロセッサ32は、非取り外し可能メモリ44および/または取り外し可能メモリ46等の任意のタイプの好適なメモリから情報にアクセスし、その中にデータを記憶し得る。非取り外し可能メモリ44は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードディスク、または任意の他のタイプのメモリ記憶デバイスを含み得る。取り外し可能メモリ46は、加入者識別モジュール(SIM)カード、メモリスティック、セキュアデジタル(SD)メモリカード等を含み得る。他の実施形態では、プロセッサ32は、サーバまたはホームコンピュータ上等のノード30上に物理的に位置しないメモリから情報にアクセスし、その中にデータを記憶し得る。プロセッサ32は、UE(例えば、GUI1400参照)、具体的には、UEと通信する下層ネットワーク、アプリケーション、または他のサービスのステータスを反映するために、ディスプレイもしくはインジケータ42上の照明パターン、画像、もしくは色を制御するように構成され得る。プロセッサ32は、電源48から電力を受け取り得、ノード30内の他のコンポーネントへの電力を分配および/または制御するように構成され得る。電源48は、ノード30に給電するための任意の好適なデバイスであり得る。例えば、電源48は、1つ以上の乾電池バッテリ(例えば、ニッケルカドミウム(NiCd)、ニッケル亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Li−ion)等)、太陽電池、燃料電池等を含み得る。
プロセッサ32はまた、ノード30の現在の場所に関する場所情報(例えば、経度および緯度)を提供するように構成されるGPSチップセット50に結合され得る。ノード30は、実施形態と一致したままで、任意の好適な場所決定方法を介して場所情報を獲得し得ることが理解されるであろう。
プロセッサ32はさらに、追加の特徴、機能性、および/または有線もしくは無線コネクティビティを提供する、1つ以上のソフトウェアならびに/もしくはハードウェアモジュールを含み得る他の周辺機器52に結合され得る。例えば、周辺機器52は、加速度計、e−コンパス、衛星送受信機、センサ、デジタルカメラ(写真またはビデオ用)、ユニバーサルシリアルバス(USB)ポートまたは他の相互接続インターフェース、振動デバイス、テレビ送受信機、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調(FM)ラジオユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ等を含み得る。
図36Dは、図36Aおよび36Bに図示されるもの等のM2Mネットワーク内のM2Mサーバ、ゲートウェイ、デバイス、または他のノードとして動作し得る、図6−35、37、および38に図示されるクライアントもしくはエンティティ等のネットワークの1つ以上のノードを実装するためにも使用され得る例示的コンピューティングシステム90のブロック図である。コンピューティングシステム90は、コンピュータまたはサーバを備え得、主に、そのようなソフトウェアが記憶またはアクセスされる場所もしくは手段にかかわらず、ソフトウェアの形態であり得るコンピュータ読み取り可能な命令によって制御され得る。そのようなコンピュータ読み取り可能な命令は、コンピューティングシステム90を稼働させるように、中央処理装置(CPU)91内で実行され得る。多くの既知のワークステーション、サーバ、およびパーソナルコンピュータでは、中央処理装置91は、マイクロプロセッサと呼ばれる単一チップCPUによって実装される。他のマシンでは、中央処理装置91は、複数のプロセッサを備え得る。コプロセッサ81は、追加の機能を果たす、またはCPU91を支援する、主要CPU91とは異なる随意のプロセッサである。CPU91および/またはコプロセッサ81は、セキュリティ保護のための開示されるシステムおよび方法に関連するデータを受信、生成、ならびに処理し得る。
動作時、CPU91は、命令をフェッチ、復号、および実行し、コンピュータの主要データ転送パスであるシステムバス80を介して、情報を他のリソースへ、ならびにそこから転送する。そのようなシステムバスは、コンピューティングシステム90内のコンポーネントを接続し、データ交換のための媒体を定義する。システムバス80は、典型的には、データを送信するためのデータラインと、アドレスを送信するためのアドレスラインと、インタラプトを送信するため、およびシステムバスを動作させるための制御ラインとを含む。そのようなシステムバス80の例は、PCI(周辺コンポーネント相互接続)バスである。
システムバス80に結合されるメモリデバイスは、ランダムアクセスメモリ(RAM)82と、読み取り専用メモリ(ROM)93とを含む。そのようなメモリは、情報が記憶され、読み出されることを可能にする回路を含む。ROM93は、概して、容易に修正されることができない記憶されたデータを含む。RAM82に記憶されたデータは、CPU91または他のハードウェアデバイスによって読み取られること、または変更されることができる。RAM82および/またはROM93へのアクセスは、メモリコントローラ92によって制御され得る。メモリコントローラ92は、命令が実行されると、仮想アドレスを物理的アドレスに変換するアドレス変換機能を提供し得る。メモリコントローラ92はまた、システム内のプロセスを隔離し、ユーザプロセスからシステムプロセスを隔離するメモリ保護機能を提供し得る。したがって、第1のモードで起動するプログラムは、それ自身のプロセス仮想アドレス空間によってマップされるメモリのみにアクセスすることができ、プロセス間のメモリ共有が設定されていない限り、別のプロセスの仮想アドレス空間内のメモリにアクセスすることができない。
加えて、コンピューティングシステム90は、CPU91からプリンタ94、キーボード84、マウス95、およびディスクドライブ85等の周辺機器に命令を通信する責任がある周辺機器コントローラ83を含み得る。
ディスプレイコントローラ96によって制御されるディスプレイ86は、コンピューティングシステム90によって生成される視覚出力を表示するために使用される。そのような視覚出力は、テキスト、グラフィックス、動画グラフィックス、およびビデオを含み得る。ディスプレイ86は、CRTベースのビデオディスプレイ、LCDベースのフラットパネルディスプレイ、ガスプラズマベースのフラットパネルディスプレイ、またはタッチパネルを伴って実装され得る。ディスプレイコントローラ96は、ディスプレイ86に送信されるビデオ信号を生成するために要求される電子コンポーネントを含む。
さらに、コンピューティングシステム90は、コンピューティングシステム90がネットワークの他のノードと通信することを可能にするように、図36Aおよび図36Bのネットワーク12等の外部通信ネットワークにコンピューティングシステム90を接続するために使用され得る通信回路(例えば、ネットワークアダプタ97等)を含み得る。通信回路は、単独で、またはCPU91と組み合わせて、(例えば、図6−35、37、および38で)本明細書ならびに請求項に説明される伝送および受信するステップを行うために使用され得る。
本明細書に説明される方法およびプロセスのうちのいずれかは、コンピュータ読み取り可能な記憶媒体上に記憶されたコンピュータ実行可能命令(すなわち、プログラムコード)の形態で具現化され得、その命令は、コンピュータ、サーバ、M2M端末デバイス、M2Mゲートウェイデバイス等のマシンによって実行されると、本明細書に説明されるシステム、方法、およびプロセスを実施ならびに/または実装することが理解されるであろう。具体的には、上で説明されるステップ、動作、または機能のうちのいずれかは、そのようなコンピュータ実行可能命令の形態で実装され得る。コンピュータ読み取り可能な記憶媒体は、情報の記憶のための任意の方法または技術で実装される揮発性および不揮発性媒体、取り外し可能および非取り外し可能媒体の両方を含むが、そのようなコンピュータ読み取り可能な記憶媒体は、信号を含まない。コンピュータ読み取り可能な記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用されることができ、かつコンピュータによってアクセスされることができる任意の他の物理的媒体を含むが、それらに限定されない。
図で図示されるような本開示の主題の好ましい実施形態を説明する上で、具体的用語が、明確にするために採用される。しかしながら、請求される主題は、そのように選択された具体的用語に限定されることを意図せず、各具体的要素は、類似目的を達成するように同様に動作する全ての技術的均等物を含むことを理解されたい。
以下は、上記の説明の中で出現し得る、サービスレベル技術に関する頭字語のリストである。別様に規定されない限り、本明細書で使用される頭字語は、以下に列挙される対応する用語を指す。
本明細書は、最良の様態を含む、本発明を開示するために、また、当業者が、任意のデバイスまたはシステムを作製して使用することと、任意の組み込まれた方法を行うこととを含む、本発明を実践することを可能にするために、例を使用する。本発明の特許性のある範囲は、請求項によって定義され、当業者に想起される他の例を含み得る。そのような他の例は、請求項の文字通りの用語と異ならない構造要素を有する場合、または請求項の文字通りの用語からごくわずかな差異を伴う同等の構造要素を含む場合、請求項の範囲内であることを意図している。