本人認証についてぼやく

去年はセブンペイ、今年はドコモバンクと最近のセキュリティ事故では、本人認証に対する粗さが目立つようになりました。

大企業だから大丈夫という時代は終わりました。

今や僕たちの大事な情報のほぼすべてを、誰かや企業が管理しているサーバーに預けています。預ける先が本当に信用できるのかを個人で見定めていくことが必要です。

ちょっと別の話をします。
SNSには、なりすましのアカウントがたくさんありますね。
僕らが本人と思って話しかけているアカウントが本当にその人なのか、どうやって判断していますか?
いまこの文章を書いている人がアカウント本人かどうか何をもって信用していますか?

疑い始めると切がないですね。
「本人(アイデンティティ)」とはそれだけ不確定な要素で成り立っているんです。

あらゆるサービスは「本人であること」が前提で成り立っています。だからこそ「本人認証」に脆弱性があってはならないのです。

ちょっとイメージがしにくいかもしれないですね。

かなり雑ですが「本人であることを証明する行為」はサービスにおけるサインアップ、「本人を認証する行為」はログインだと思ってください。

僕たちはあらゆるサービスにサインアップを通じて「本人証明」をして、ログインを通じて「本人認証」しています。

どうやって本人であることを証明していますか?

パスワードや秘密の質問
本人しか知り得ないだろう情報。という意味で使われますが、流出したり共有したら終わりです。

生年月日の入力
これも少し弱いですよね。facebookやTwitterには誕生日かどうかわかる仕組みがありますし。

メールアドレスは本人と証明するには役不足
メールアドレスに本人確認のメールが飛ぶ時がありますね。
これは、メールアドレスを悪用されないための処置としては有効ですが「このメールアドレスは本人が所有しているアドレスである」ということは証明ができません。

電話番号
これも本人が所有している番号とは言い切れないですね。
電話番号で本人と定義しているTwitterにはなりすましが横行してますね。


パスポートやマイナンバー
結局第三者が管理している情報から引っ張ってくるのが証明としては一番確実ですね。だからこそ取得には何重もの手続きが必要なのです…。。

会社では社内で発行しているアカウントが本人証明
世の中で本人を証明するのは面倒ですが、社内だったら簡単ですね。
入社のときに発行しているアカウントが信頼の証です。

会社のドメインをもつユーザーは少なくとも社内の関係者であることがわかります。なりすましでログインされていなければ疑う必要もないでしょう。

だからこそ、誰かに代理でログインしてもらうといった 「なりすまし行為」は悪なんです。

本人確認・認証が弱いサービスは格好の的になる

ドコモバンクの1件のようにサービス単体でみればよくてもサービス連携を組み合わせると、お互いの仕様を考慮していないと歪が生まれます。老舗であろうが大企業でWebへの投資をしてこなかった、できなかった旧体質な会社から搾取にあうでしょう。。


信頼できる本人認証(ログイン)ってなんだ?

無事、本人であることを証明できたとして本人認証はどうでしょう?
簡単に不正ログインができてしまうと信頼できないですね。

パスワードを複雑にしていれば大丈夫?
大丈夫じゃないです。
パスワードをどれだけ複雑にしても、サービス側が安全に管理している保証はありません。

暗号化せずに管理しているかもしれません。パスワードが流出してしまうと同じパスワードを使いまわしているサービスも危険に晒されます。

二要素認証すれば大丈夫?

残念ながら大丈夫!とは言い切れません。
二要素認証によります。

例えば、電話番号認証も二要素認証のなかではリスクが高いです。
最近では、電話番号をフィッシングする詐欺もあって過信できません。

それに電話番号って変更する場合がありますね。
電話番号の変更、実は結構危ないんです。過去に採番されていたものが他の人に当たる可能性があります。LINEでいきなり友人が別アカウントになったりしますね。滅多に使わないサービスで電話番号を求められたがそれは過去の番号だったというケースもあります。そうなると本人認証する術がなくなります。


二要素認証は必須

もうパスワードだけじゃ本人認証の役割を担うには役不足なんです。
パスワードよりも所有物や生体による認証が主流になってきています。

電話番号は変わるかもしれないので所有物としては少し弱いですね。

できれば永遠に持っている所有物が望ましいです。しかも、無くしたり盗まれることもない。

そう考えると静脈認証や虹彩認証は他の認証よりは無くさないし盗まれることもないです。MacOSのtouch id, Face IDは理にかなっています。
少なくとも寝てる間にパートナーが何かしなければ。。笑


100%本人であることを証明する認証は存在しない

本人であることの信用を限りなく上げることはできますが、認証にはそれぞれ脆弱性があります。
Free Wi-Fiでセッション情報を抜かれて不正ログインされる可能性だってある。
PCにウィルスが感染していてデータ抜かれるかもしれない。
アカウント保持者が邪悪なフォースに飲まれていたらどうしようもありません。

どこまでいってもやろうと思えば、できてしまうのです。

企業におけるこれからのセキュリティ

「やろうと思えばなりすましされてしまう」その前提にたったセキュリティがこれからのコーポレートセキュリティです。

要は、100%信頼することをしません。
ネットワークも信頼しないしアカウントも信頼しないし端末も信頼しません。
何かが忍び込んでいる前提で組むセキュリティにするんです。

1. 企業で利用するすべてのサービスのアカウントを管理する(ライフサイクルマネジメント)

社員のアカウント・アドレスを不正なく正しく管理すること。専門用語でライフサイクルマネジメントと呼びます。

退職者のアカウントを残したままにせずちゃんと入退社にあわせて削除をしているか。
社内で他部署に異動が発生した際に、前の部署でしか見てはいけない情報が見えてしまってないか。
協力な権限を本来渡してはいけない人に渡していないか。

社内の情報には、許可したものだけがアクセスできる。逆も然りです。
すべてはこの前提にたって情報が管理されます。

アカウントの状態は組織の状態を正しく映す鏡である必要があります。


2. 企業で利用するすべてのサービスの信頼を高める

海外サービスなど新しいサービスは魅力的だし、触れてキャッチアップすることは企業の成長において必要不可欠です。

しかし、大事な情報を預けて大丈夫なのでしょうか。
前述のとおりID/Passwordが流出するかもしれませんね。そうなるといくら複雑なパスワードにしても意味がありません。

せめてログインまわりは信頼を高められるといいですね。
Google認証があれば、IDとパスワードをサービス側に保管させなくて済むしGoogle認証は2要素認証ができます。変にID/Passwordを入れるよりもちゃんと管理しているサードパーティの認証を使うほうが信頼できます。

3. 企業で利用するすべてのサービスにおいてログを取得できるものを使う

やろうと思えばなりすましされてしまう。この前提に立つと大事なことは何かが起きたときに 「何がおきた」を調査し、明らかにできることです。

そのためには監査ログやアクティビティログが見れるサービスが良いです。
オペレーションがわからないと、何が原因かもわからず再発防止も対策できません。不正ログインが発生したときに、何をしたのかがわかるだけで影響範囲を特定できます。「すべての個人情報が漏洩した可能性がある」から「3件の個人情報が閲覧可能になっていたが実際は誰にも見られていなかった」まで変わってきます。

4. 共有アカウントを最小限にする
共有アカウントは便利ですが、セキュリティ面では完全にアンチパターンです。

例えばクレジットカードをパートナーと共有してたとしましょう。
不正利用かすぐに気がつけますか?

アカウントも一緒です。

あらゆるサービスは「本人であること」が前提で成り立っています。だからこそ「本人認証」に脆弱性があってはならないのです。

アカウントを共有するということはなりすましに相当します。
不正ログインか検知できないしログがぐちゃぐちゃになりますね。

勿論、業務上必要になる場合もあります。
しかし、安易に共有アカウントを選択すべきではないのです。

というか大抵はサービスの利用規約違反になります。

5. 上記のようなをまとめる分野。IDaaS。SSO

数多のサービスでアカウントの管理をしっかりして、使っているサービスは万全のセキュリティ。不正ログインも検知できる。

無理ゲーですね。30人くらいならできるかも。
社員が増えると管理コストが無限に増えますね。困りました。

そこでIDaaSという分野のサービスが存在します。

Okta, onelogin, Google Identifyといったサービス達です。

Google認証やFacebook認証とはまた少し違います。
SAMLと呼ばれる技術を使って、認証をサードパーティに委ねることができます。サービスが認証をアウトソーシングして委ねることができるのです。

これを使うと対応しているサービスはすべて 同じログイン画面になります。シングルサインオンと呼びます。

また、アカウントを消す場合もIDaaSの管理画面からユーザーを削除すると連携サービスもまとめて消えるのです。(プロビジョニングと呼ばれます。SAMLがSSOに対応していてもプロビジョニングに対応していない場合もあります。)
IDaaSによって、たくさんあるWebサービスなどを正真正銘 1つのID で管理ができます。


IDを守ること。本人証明の信頼性を保つことが情報を守ることに繋がる

個人のアカウントでも大事な情報が入ってなくても二要素認証は絶対すべきだし、SNSを二要素認証していても連携しているメールアドレスが乗っ取られたら終わりです。必要のないサービスは退会するか削除しましょう。

不正ログインは忘れた頃に、重箱の隅をつつくように現れます。
自分たちも世の中の変化に順応していかないと天災の如く、大事な資産や情報を突然失ってしまうかもしれません。


この記事が気に入ったらサポートをしてみませんか?