IoTセキュリティ–暗号化
編集者注:モノのインターネットの保護は、各IoTアプリケーション内のデータストリームとソフトウェアの整合性だけでなく、それらのアプリケーションに関連付けられたエンタープライズリソースの整合性にとっても重要です。 IoTセキュリティは複雑な問題であり、考えられる脅威とそれに対応する緩和方法を理解するための体系的なアプローチが必要です。
Internet of Things for Architects、PerryLeaによるもの。
第12章IoTセキュリティ
ペリー・リー著
暗号化
暗号化と機密性は、IoT展開の絶対的な要件です。これらは、通信の保護、ファームウェアの保護、および認証に使用されます。暗号化に関しては、一般的に考慮すべき3つの形式があります。
-
対称鍵暗号化 :暗号化キーと復号化キーは同じです。 RC5、DES、3DES、およびAESは、すべて対称鍵暗号化の形式です。
-
公開鍵暗号化 :暗号化キーは、誰でもデータを使用および暗号化できるように公開されています。メッセージの復号化に使用される秘密鍵を持っているのは受信側だけです。これは、非対称暗号化とも呼ばれます。非対称暗号化は、データの機密性を管理し、参加者を認証し、否認防止を強制します。よく知られているインターネット暗号化と、楕円曲線、PGP、RSA、TLS、S / MIMEなどのメッセージプロトコルは公開鍵と見なされます。
-
暗号化ハッシュ :任意のサイズのデータをビット文字列にマップします(ダイジェストと呼ばれます)。このハッシュ関数は、「一方向」になるように設計されています。基本的に、出力ハッシュを再作成する唯一の方法は、可能なすべての入力の組み合わせを強制することです(逆に実行することはできません)。 MD5、SHA1、SHA2、およびSHA3は、すべて一方向ハッシュの形式です。これらは通常、署名されたファームウェアイメージ、メッセージ認証コードなどのデジタル署名をエンコードするために使用されます s( MAC )、または認証。パスワードなどの短いメッセージを暗号化する場合、入力が小さすぎて公平なハッシュを効果的に作成できない可能性があります。その場合、塩 または、エントロピーを増やすために、非プライベート文字列がパスワードに追加されます。ソルトは、鍵導出関数の形式です。 ( KDF ):
クリックして大きな画像を表示
暗号化の要素。対称、非対称、およびハッシュ関数は次のとおりです。対称暗号化と非対称暗号化の主な使用法に注意してください。 Symmetricには、データの暗号化と復号化に同一のキーを使用する必要があります。非対称暗号化よりも高速ですが、キーを保護する必要があります。
対称暗号化
暗号化では、平文は暗号化されていない入力を指し、出力は暗号化されているため暗号文と呼ばれます。暗号化の標準は、 Advanced Encryption Standard です。 ( AES )1970年代にさかのぼる古いDESアルゴリズムに取って代わりました。 AESは、世界中で使用されているFIPS仕様およびISO / IEC18033-3標準の一部です。 AESアルゴリズムは、128、192、または256ビットの固定ブロックを使用します。ビット幅より大きいメッセージは、複数のブロックに分割されます。 AESには、暗号化中の4つの基本的な動作フェーズがあります。一般的なAES暗号化の擬似コードを次に示します。
// AES-128暗号の疑似コード
//入力:128ビット(プレーンテキスト)
//出力:128ビット(暗号テキスト)
// w :44ワード、各32ビット(拡張キー)
state =in
w =KeyExpansion(key)//キー拡張フェーズ(キー自体を効果的に暗号化)
AddRoundKey(state、w [0 、Nb-1])//初期ラウンド
ラウンド=1ステップ1からNr–1 // 128ビット=10ラウンド、192ビット=12ラウンド、256ビット=14ラウンド
SubBytes(state )//暗号に非線形性を提供する
ShiftRows(state)//列が個別に暗号化されるのを回避する
アルゴリズムを弱める
MixColumns(state)//各列を変換して拡散を追加する
暗号化
AddRoundKey(state、w [round * Nb、(round + 1)* Nb-1])//サブキーを生成し、
状態と組み合わせます。
end for
SubBytes(state)//最終ラウンドとクリーンアップ。
ShiftRows(state)
AddRoundKey(state、w [Nr * Nb、(Nr + 1)* Nb-1] )
out =state
ボックスの隅をスクロールまたはドラッグして必要に応じて展開します。 ↑
AESキーの長さは、128、192、または256ビットにすることができます。一般に、キーの長さが長いほど、保護が強化されます。キーのサイズは、ブロックの暗号化または復号化に必要なCPUサイクル数に比例します。128ビットには10サイクル、192ビットには12サイクル、256ビットには14サイクルが必要です。ブロック暗号は、対称鍵に基づいており、単一のデータブロックで動作する暗号化アルゴリズムを表します。最新の暗号は、1949年の製品暗号に関するClaude Shannonの研究に基づいています。暗号操作モードは、ブロック暗号を使用するアルゴリズムであり、暗号を繰り返し適用して、多数のブロックで構成される大量のデータを変換する方法を説明します。最新の暗号のほとんどは、初期化ベクトルも必要とします。 ( IV )同じ平文が繰り返し入力された場合でも、明確な暗号文を確保するため。次のようないくつかの操作モードがあります。
-
電子コードブック(ECB) :これはAES暗号化の最も基本的な形式ですが、より高度なセキュリティを構築するために他のモードで使用されます。データはブロックに分割され、それぞれが個別に暗号化されます。同一のブロックは同一の暗号を生成するため、このモードは比較的弱くなります。
-
暗号ブロック連鎖(CBC) :暗号化される前に以前の暗号文とXoredされたプレーンテキストメッセージ。
-
暗号フィードバックチェーン(CFB) :CBCに似ていますが、暗号のストリームを形成します(前の暗号の出力が次の暗号にフィードされます)。 CFBは、生成されている現在の暗号への入力を提供するために、前のブロック暗号に依存しています。以前の暗号に依存しているため、CFBを並行して処理することはできません。ストリーミング暗号を使用すると、転送中にブロックを失うことができますが、後続のブロックは損傷から回復できます。
-
出力フィードバックチェーン(OFB) :CFBと同様に、これはストリーミング暗号ですが、暗号化の前にエラー訂正コードを適用できます。
-
カウンター(CTR) :ブロック暗号をストリーム暗号に変換しますが、カウンターを使用します。インクリメントカウンターは、各ブロック暗号を並列にフィードし、高速実行を可能にします。ナンスとカウンターは連結されてブロック暗号を供給します。
-
CBC with Message Authentication Code(CBC-MAC) :MAC(タグまたはMICとも呼ばれます)は、メッセージを認証し、メッセージが指定された送信者から送信されたことを確認するために使用されます。次に、MACまたはMICがメッセージに追加され、受信者による検証が行われます。
これらのモードは、1970年代後半から1980年代初頭に最初に構築され、米国国立標準技術研究所によってDESモードとしてFIPS81で提唱されました。これらのモードは、情報の機密性を暗号化するために提供されますが、変更や改ざんから保護することはできません。そのためには、デジタル署名が必要であり、セキュリティコミュニティは認証用のCBC-MACを開発しました。認証と機密性の両方を提供するAES-CCMのようなアルゴリズムが確立されるまで、CBC-MACをレガシーモードの1つと組み合わせるのは困難でした。 CCMは、Counter with CBC-MACModeの略です。
CCMは、データの署名と暗号化に使用される重要な暗号化モードであり、Zigbee、Bluetooth Low Energy、TLS 1.2(キー交換後)、IPSEC、802.11 Wi-Fi WPA2など、この本で取り上げられている多数のプロトコルで使用されます。AES-CCMは、CBCとCTRの2つの暗号を使用します。 AES-CTRまたはカウンターモードは、流入する暗号文ストリームの一般的な復号化に使用されます。着信ストリームには、暗号化された認証タグが含まれています。 AES-CTRは、タグとペイロードデータを復号化します。 「期待されるタグ」は、アルゴリズムのこのフェーズから形成されます。アルゴリズムのAES-CBCフェーズは、AES-CTR出力からの復号化されたブロックとフレームの元のヘッダーを入力としてタグ付けします。データは暗号化されています。ただし、認証に必要な関連データは、計算されたタグのみです。 AES-CBCで計算されたタグがAES-CTRの予想されるタグと異なる場合は、転送中にデータが改ざんされた可能性があります。
次の図は、AES-CBCを使用して認証され、AES-CTRを使用して復号化された暗号化されたデータの着信ストリームを示しています。これにより、メッセージの発信元の機密性と信頼性の両方が保証されます。
クリックして大きな画像を表示
AES-CCMモード。
モノのインターネットテクノロジー