Armadilloフォーラム

IoTゲートウェイ(LTE通信)、WiFi、LANでのセキュリティ強度について

mhasi

2022年12月28日 15時36分

製品説明では、セキュアエレメント搭載されているとあり詳細下記説明がされております。
 NXPセミコンダクターズ製のセキュアエレメント「SE050」を標準搭載しています。
 これを使用することで、ハードウェアRoot of Trustによる高いセキュリティを実現できます。

1.これは、LTE、WiFi、LANなどの全ての通信で、高いセキュリティを実現できるのでしょうか?

2.製品形態など変わりますが、他に「Secomea」というセキュリティ製品があり、
  PLCなど既に組み込まれた製品となりますが、IoTデータ通信、リモートアクセスに使え、
  リモートアクセスでは世界で唯一のソリューションといった紹介があります。

Armadilloの様に汎用であらゆる動作ができる製品とはことなりますが、
この「Secomea」と比較してArmadilloのセキュアエレメント「SE050」はどの程度信頼性があるのでしょうか?

以上

コメント

access.mihara

2022年12月28日 16時04分

三原と申します。

第三者ではありますがセキュリティ一般の話をさせていただきます。

IoTデバイス内の機密情報を保護できる「セキュアエレメント」を解説!
https://blog.soracom.com/ja-jp/2022/03/15/soracom-iot-meetup-5-secure-e…
(アットマーク者様の競合他社かもしれない SORACOM のリンクで申し訳ありません)

「セキュアエレメント」とは「金庫」のようなものです。内側に入れているうちは安全ですが、外に出した後の持ち運びの安全を保証するものではありません。ちょうど金庫から持ち出した現金を運ぶ途中で盗まれることがあるのと同じです。

ですから「セキュアエレメント」は LTE、WiFi、LANなどの通信の安全を保証しません。

紹介した記事では、保護するデータとして通信に用いる電子証明書と秘密鍵を選択しています。すべての通信の安全の基盤となるデータを最優先で守るという方針です。ですが電子証明書と秘密鍵が守られることは暗号化通信の最低限を守ることで、暗号化通信により上位の安全性を付与するものではありません。

それを踏まえて検討をお願いいたします。

access.mihara

2022年12月28日 16時21分

三原と申します。

余計ながら、もう少し語らせていただきます。

通信の安全を保証しない「セキュアエレメント」がなぜ必要かというと、IoT機器は小さいので、物理的に盗まれ持ち帰ってられてからデータを吸い出される恐れもあり、その際にもデータを守るためです。それだけで価値はあります。

セキュリティは、まさに泥棒を相手にしているので、一番弱いところから狙われます。通信を守れば安全というわけにいきません。ではどういうところが狙われやすいかというと、警察が防犯の手引きを家庭に配っているのと同様に、セキュリティ専門家がまとめています。書籍や Web で学べます。

まずは広く浅く IoT 機器のセキュリティについて確認なされることを切に願います。

at_ohsawa

2022年12月28日 16時30分

アットマークテクノの大澤です。

三原様ありがとうございます。
見解に相違ありません。

セキュアエレメントは
「この世でXという電子署名をできる装置はこの1台だけ」を保証する機構です。

くり返しなりますが、通信の安全自体はセキュアエレメントというより多くの場合
SSL等を使った通信プロトコルで守られるので、通信そのものを強化するものではないです。

その通信につかう証明書の元を格納し変更やコピーを不能にし、さらに認証の核になる処理を
セキュアエレメント内で完結させるので、プログラムを改変しても同じことを別のコンピューターで
実行できない。という効果があります。

もうすこし具体的には、AWS等の外部のクラウドとArmadillo等のコンピューターが
通信するときに、クラウド側から見て、「自分が正当なコンピューターであること」を
示すため、パスワードをタイピングする代わりに証明書を使って認証することがあります。

この認証に使う証明書をeMMC等の普通のディスク上にそのまま置いてあると、armadilloを
持ち出した人がコピーして別のコンピューターでなりすましたり、証明書を書き換えて意図
しない用途で使うことができてしまいます。

セキュアエレメントは証明書(の元になる鍵)を書き込んだ状態で、その変更もコピーも禁止する
ことができます。

認証を実施する際にもセキュアエレメント内で認証の核になる処理が完了し、結果しか出てこないので、
プログラム上でもセキュアエレメントと同じ証明書を使う処理を真似することはできません。