公知化情報
ogochan
背景
IoT機器がクラックされて問題を起こすという事件が時々起きます。
たとえば、Miraiとかがその典型です。まぁ、ネットワークカメラやルータが「IoT機器」と呼ばれるのにはいろいろ思うところはありますが、何であれそういった「インターネットにつながっているデバイス」が元となったセキュリティー事件は増えています。
これらの原因を見る時に、その多くは「甘い認証システム」のせいだということに気がつきます。
そこで、「インターネットにつながっているデバイス」のより有効な認証システムについて考案しました。
アイディア自体は単純なものですが、広範な応用が考えられることもあって特許化しようと考え、栗原弁理士に調査をお願いしました。その結果、「先行する特許は出願中のものを含めてない」ということがわかりましたが、調査の相談をしている時の打合せで最終的に特許化はしないことにしました(これについては別エントリにて)。
とは言え、せっかく調査していただいたものでもあるので、ここに公開して「公知」ということにしてしまいたいと思います。
「正しい認証システム」の必要性
「甘い認証システム」を持ったデバイスがなぜクラックをされるかということを考えると、その多くは、
デフォルトパスワードのままで放置されている
ことが原因です。そして、そのようにされる理由は、
- セキュリティー意識の問題
- パスワード変更の作業そのものが困難、あるいは不可能
- 何かの転みでデフォルトパスワードに戻ってしまう
といったことにあります。
このうち1.の意識の問題についてはある意味どうしようもないので、今回は考えません。問題のうち2.3.についての解決を考えます。
そもそもなぜデバイスに認証システムが必要であるかと言えば、そこにログインする必要があるからです。では、なぜログインする必要があるかと考えると、
- 設定を行なう
- 外部からデータや指令のpushを行なう必要がある
といった必要からです。
初期設定を行うためには、「誰でもログイン」出来る必要があります。つまり、最初の認証システムは「ザル」状態でないと使えません。ところが、外部からデータのpushを行う時には、「誰でもログイン」では困りますし、インターネットにつながる設定が完了してしまった時点で、認証が機能してないといけません。
解決
前節のことをから、いつ「正しい認証システム」が必要であるかを考えれば、
インターネットへの接続が完了した時
ということになります。それ以外の時は「ザル」で何ら問題はありません(どうせ他人は来れない)。
そのように考えれば、「インターネットにつながるデバイス」の認証は、
- 初期設定時はデフォルトパスワード、あるいはノーパスワード
- インターネット接続後は、何らかのネットワーク認証サービスを使う
ようにすれば、必要性で述べた2,3.の問題は解決するというごく単純な解決になります。もうちょっと具体的に言えば、ネットワーク認証サービスにアクセスが可能な時はその認証を利用し、アクセスが不可能な時はデフォルトパスワードあるいはノーパスワードでログインを許すということになります。もちろん「アクセスが不可能」と言っても単純に認証サービスが落ちているだけのこともあるでしょうからそういったエラーの対策は必要ですが、それは「アイディア」とは別の実装上の話です。
発展
この認証を使うためには、「ネットワークにつながるデバイス」が外部のディレクトリにアクセスすることが必要となります。となれば、認証以外のより高度な情報をネットワーク越しに提供することが必要 = 可能になります。これについての応用はいくらでも考えつくと思います。また、そういった「ディレクトリつき認証サービス」を提供するというサービスも可能になります。