ハッカーの匿名性をどうにかしたい
今後のセキュリティ問題を改善するため、「ハッカーの匿名性をどうにかしたい」と思っている。この記事にはそのためにどうするべきか、どんな課題が残っているか、僕なりにまとめてみた。いわゆるセキュリティオタクのポエムだと思ってほしい。
※クラッカーをハッカーと書いています。お許しを。
背景:なぜセキュリティが問題に?→『匿名性』
インターネットにおいて、サイバーセキュリティは大きな問題になっている。サーバを運用していれば、高頻度でいろんな攻撃(e.g., XSS, SQLi, OSCi)を受ける。だからこそ、多くの会社、国がセキュリティ対策を必死にやっている。
これだけ対策が行われているのに、セキュリティの事故が減らないのは、なぜだろうか?きっと理由はいくつかあるだろう。しかし、過去の僕はこう考えた。
それはハッカーが 「匿名」 だからである。
インターネットの性質上、ハッカーは匿名だ。よって追跡して責任を追求したり、逮捕することができない。また、相手が過去に攻撃してきたハッカーであるか識別できないため、ブロックさえできないのである。
よってハッカーは 低コストでリスクを負わず、何度も攻撃してくるのだ。
必要な性質:追跡と失効
上記の問題から、僕は『匿名性に負けない』セキュリティ対策を目指すようになった。しかし、目指してみたものの、『匿名性に負けないセキュリティ』とは、一体何なんなのだろうか?おそらくいろいろな捉え方があるかもしれないが、僕は以下のように整理してみた。
サービス提供側が、攻撃したハッカーを特定し、責任を追求できること。(要求1. 追跡可能)
サービス提供側が、過去に攻撃したハッカーを、ブロック(つまりは垢BAN)できること。(要求2. 失効可能)
実現のキー:本人確認?
このような性質は、「本人確認」をつかって実現できる、と僕は考えている。
「本人確認」ってなんだよって話は、複雑で説明しづらいのだが、マイナンバーカードをつかった認証や、SMS認証とかが本人確認と呼ばれてる気がする。
ここでもっとも大切なことは、本人確認を使えば、上記の要求を満たせるということだ。
まず、本人確認をすれば、その情報をもとに不正者を追跡できる。例えば、マイナンバーカードの情報(ディジタル証明書)や、SMS認証の電話番号を元に、その持ち主を特定できるだろう。
つぎに、本人確認をすればユーザの失効もしやすい。逆に本人確認をしなければ、アカウント掘り放題なので、失効しても特に意味がないのである。そこで本人確認すれば、ユーザも複数IDをとれない(or とりずらい)ので、意味のある失効を行える。
実現してない理由→課題探し
実現方法をぱっと書いてみたもの、すでに世の中に普及していない時点で、きっとなにか課題があるのだ。正直僕もそれが何なのかわかっていない。しかし、この数年考えてみて、少なくても以下のような課題がありそうだとわかった。
ユーザビリティ
本人確認のユーザビリティについて課題がある。本人確認サービスを導入すると、登録時のステップが増え、ユーザビリティが悪くなるのだ。特に、マイナンバーカードの場合、役所に向かわなければ、カードもらうことさえできないため、ユーザは嫌がるだろう。
導入コスト・利用コスト
本人確認、導入コストや利用コストについて課題がある。例えばマイナンバーカードを使った身元確認サービスや、SMS認証は、利用料がかかるし、その実装にも追加コストがかかる。
プライバシ
悪いサービス側がユーザのプライバシを侵害する懸念がある。特にサービス内や複数のサービス間でユーザをトラッキングするかもしれない。あまり日本では、このような不正は気にされない印象を感じるが、欧米とかでは気にする人がそこそこいる印象をうけている。cookie問題とかね。
だから、これらはユーザのプライバシを侵害しない形で実現することが望ましい。
いいたいこと
インターネットにおいて、サイバーセキュリティは大きな問題になっているが、ハッカーの匿名性により、一向に解決していない。これらの問題に対し、本人確認をベースに大きく改善できるんじゃないか僕は模索してる。ぜひとも、これらのアプローチに共感し、共に課題の解決を目指す仲間が増えると嬉しい。
※興味ある方、コメントいただけると嬉しいです!
付録
僕は不正な特定や不正なトラッキングを防ぎながら、後に追跡可能であることや失効可能であることを証明する暗号技術について、研究・実装している。
過去に発表した研究の資料はこちら
実装した認証プラットフォーム↓
![画像1](https://assets.st-note.com/production/uploads/images/67802920/picture_pc_3e4bcaadb01cdf719215fd5b049b6353.png?width=1200)
この記事が気に入ったらサポートをしてみませんか?