セキュリティ対策

この記事は約11分で読めます。

基本的なことしか書いてないです。

ID+パスワード認証の脆弱性

Webサービスは通常、サービス登録時に設定したIDとパスワードにより本人確認します。
これは登録した本人しかログインIDとパスワードの組み合わせは知らないよね。という前提があって成立します。

しかしサイト・ID・パスワードの組合せが漏洩してしまったり、漏洩したパスワードの使い回し、総当たり攻撃によって突破されると、本人しか知らないという前提は崩れ、赤の他人がログインできてしまいます。

Amazonや楽天などのECは勝手に買い物されたら大打撃でしょうし、Wordpressにも同じことがいえます。

例えばWBCを見ていてふと思い出した侍ジャパン公式マスコット・応援侍たまベヱ。


かわいくないので存在を思い出したついでにTwitterアカウントをブロックしましたが、実は公式サイト(http://www.tamabe.jp/)を保有しています。

なおhttpsにするとアクセスできません…。

whoisをみると、オフィスクレッシェンドというテレビ番組制作プロダクションがドメインを保有しています。

これは誰でも閲覧できる情報です。
わたしのIPアドレスが見えてますが、これはiCloudプライベートリレーなのです。ふふ。
相手のIPアドレスは、NTTPCコミュニケーションズが保有している範囲でした。レンタルサーバーかな。

問い合わせフォームとか見てもWordpressっぽいなと思ってURL末尾にwp-adminを付け足してみたところ、2023年3月21日時点では、Wordpressのログインページにアクセスできてしまいました。

先に書いておくと、ログインページのURLが容易に推測できたというだけです。
これはSSHで例えるならポートをデフォルトの22番のままにしているようなものでしょう。

攻撃者の目線で考えると、努力や時間に見合う価値がない限り、SSHのポートが22番から変わっていたらターゲット変えますからね。
でも、不正アクセスだめぜったい。

わたしのサイト(https://kawaii.flier.jp)では、ログインページのURLはランダムな文字列に変え、パスワードマネージャーで生成した推測できないパスワード、TOTP(Time-based One-Time Password)による2段階認証を導入しています。

たまベヱのサイト、なんとなくパスワードも簡単そうな気がしますが…。
パスワードすら容易に推測できるもので2段階認証も未導入であった場合、せっかく優勝したWBC日本代表の爆弾になるかもね。たまベヱファイヤーです。

かわいくないワンタイムアプリたち

本人や管理者しか知り得ない情報を増やし、IDとパスワード、さらにもう一つの情報を知っている人だけをログインできるようにする仕組みが2段階認証といえます。

認証方法はいろいろありますが、本人しか持っていないであろうSMSやメールアドレス、本人しか持っていないデバイス(スマートフォン、セキュリティキーなど)、指紋や顔などの生体情報を使うのが一般的です。

ですが、日本国内サービスのワンタイムパスワードが使いづらく、嫌悪感を抱いている方も多いのではないかと思います…。

わたしもdカードで使用を強いられているワンタイムアプリがスーパーキングオブゴミアプリで、しばらくワンタイムアレルギーができました…。

そのアプリはNTTデータが公開しているのですが、AppleのAppStoreにはNTTデータが4つもワンタイムアプリを公開しています。
しかもアプリ名が「ワンタイム」「ワンタイムパスワード」「One Time Pass」「One-Time Password」と全く区別がつかない。



「ワンタイム」はdカード専用と思われます。
「ワンタイムパスワード」はJAバンクかな?
「One Time Pass」は信金など。
「One-Time Password」は分からず。

ユーザーの中には、下手したらdカード、JAバンク口座、信金口座を持っており、アプリを3つ入れざるを得ない人もいると思うけれど、困るよね…。

「ワンタイムパスワード」アプリレビューより

カスカス連呼とカスカスダンスとかいうパワーワードすき。

わたしは本業はIT系ではないのでNTTデータの評判は知りませんが、サラリーマンが作ったアプリって感じがする。

わたしが使っているパスワードマネージャー

日本国内に住んでいる以上、日系企業のサービスを使う以上、どうにもならないケースも多々ありますが、主要な外資系サービスはワンタイムも含めて一つのアプリに集約できることがあります。

わたしは主にMicrosoft AuthenticatorでTOTP(Time-based One-Time Password)と通常のパスワードを管理しています。

TOTPはSMSでワンタイムパスワードが送られてくるわけではなく、アプリ上に表示されるワンタイムパスワードを入力する方式。

規格はRFCで標準化されていますが、ユーザーとしては安全に使えればいいでしょう。

最初に作った秘密鍵と現在時刻で認証コードを作るよって感じだと思ってます(真面目に読んでないから間違っているかも)

RFC 6238: TOTP: Time-Based One-Time Password Algorithm

Microsoft AuthenticatorやGoogle Authenticatorは無料でTOTPを使うことができます。

‎Microsoft Authenticator
‎Microsoft Authenticator を使用すると、多要素認証、パスワードレス、またはパスワード オートフィルを使用して、すべてのオンライン アカウントで簡単かつ安全なサインインを行うことができます。また、Microsoft 個...
‎Google Authenticator
‎Google 認証システム機能を利用すると、ログイン時に 2 つ目の確認手順が追加されるため、オンライン アカウントのセキュリティをより一層強化できます。パスワードに加えて、スマートフォンの Google 認証システム アプリによって生成...

Google Authenticatorはワンタイムパスワードを生成するためのアプリで、パスワードマネージャー機能はありません。
ただしGoogleサービスだけしか使えませんということはなく、TwitterやAmazonなど他社ログイン用のTOTPも生成できます。

Microsoft Authenticatorは、機能的にはTOTP生成機能に何の変哲もないパスワードマネージャーがくっついたアプリです。無料で利用でき、Microsoft製品との相性がいいです。

またAppleでもGoogleでもないからかiPhoneでMicrosoft Authenticatorを使っているとあまり気を遣わなくてもiCloudキーチェーン側に反映してくれるほか、iOS、Android、WindowsともMicrosoft AuthenticatorやMicrosoftアカウントでパスワードを共有できるので便利。

ただしわたしの場合は併用しているので、Apple ID、Microsoftアカウントどちらも守らないといけません。

Apple IDとMicrosoftアカウントにはYubiKeyというセキュリティキーを紐づけました。

YubiKeyはこんなデバイスです。

YubiKey
The industry's #1 security key, enabling strong two-factor, multi-factor and passwordless authentication.

このデバイスを導入すると、ID、パスワード、セキュリティキー(YubiKey)の3つで本人確認されるようになります。

Apple IDは特に強固で、ID、パスワード、YubiKeyがないとApple IDにログインできなくなりました。たとえMacやiPhoneを持っていてもダメです(iPhone13miniを初期化して実験済)

つまりIDとパスワードを盗み、さらに現実世界でYubiKeyを物理的に盗まないと赤の他人はわたしのApple IDにはログインできません。
本人もパスワードかYubiKeyを紛失したらログインできません。

サービスによっては、YubiKeyと併用する形で、スマートフォンアプリで承認できるものもありました。

MicrosoftアカウントはYubiKeyとMicrosoft Authenticatorアプリ承認の併用が可能でした。アプリ承認でも、アカウント所有者が承認しないと赤の他人はログインできません。

個人利用の範囲では、マスターパスワードとなるApple IDやMicrosoftアカウント、Googleアカウントは固く防御し、使えるものは認証アプリでTOTP、妥協点でSMS認証や推測されづらいパスワードを使うかな。

今のところTOTPをこのサイト(https://kawaii.flier.jp)へのログイン、Google、Amazon、Twitter、GitHubで利用中。

YubiKeyは導入したばかりで使い勝手がまだ把握しきれていませんが、YubiKeyのほうがいいかなと思うものは、変えるかもしれません。

全部消しゴムマジック的なもので消していますが、実際には、アカウントの下に6桁のワンタイムパスワードが表示されています。

TOTPを使う場合、サービスに通常通りID+PWでログインすると、2段階認証を求められるためMicrosoft Authenticatorなどを立ち上げ、ワンタイムパスワードが有効な時間内に入力。

同一端末内であれば、コピペできます。
他の端末なら約30秒以内に入力してください。

30秒経って更新されてしまっても、更新された後のパスワードを入力すれば大丈夫です。

ID、パスワード、極めて短い時間で変わるパスワード。この3つを知っている人だけを本人とする仕組みになりますから、赤の他人が突破するのは極めて困難となります。

TOTPを使っている感じ、多くのWebサービスは意図的にログアウトしなければログインを維持するはずなので、あまり使いづらさは感じていません。

ログインが必要になったら、パスワードマネージャーを開けばいいだけで、ログインに必要な時間はほぼ変わらないうえに、セキュリティ強度はグンと増します。

Microsoft Authenticatorはデフォルトでこんなパスワードを生成します。

もちろんこのパスワードは使っていませんが、これでも20倍界王拳くらい強いと思います。
ここにTOTPやセキュリティキーが加われば一気に戦闘力50倍のスーパーサイヤ人級の強さになれます。

使いたくなってもらえましたか…?

みなさまのパスワードが強化されてもわたしが得することはないですが、少しでも全体のセキュリティ意識が高まればネット詐欺の効率が悪くなり、迷惑メールやSMSも減り、一般ユーザーは得するはず…!

最低限の防衛

TOTPが使えるサービスは使った方がいいのですが、まだ使えないサービスのほうが多いのが現状です。

SMS認証なら対応サービスもそれなりにあるけれど、SMSって詐欺メッセージが来やすいので、うっかりタップしたくないし、好んで使いたくないのが本音です。

ドコモのeSIM再発行がSMS認証しかできないために、痛い目に遭いましたし…。

いまだSMS認証すらないサービスもあります。最低限の防衛としてパスワードジェネレーターで推測しづらいパスワードにすることをお勧めします。

使える記号が限られていたり、記号は使えませんってサイトはサービス終了してください。

またApple ID、Googleアカウント、Microsoftアカウントなど、パスワードマネージャー自体のパスワードは強固にしましょう。

無料でもパスワードマネージャー、ジェネレーターとして実用上問題なく使えるのは、Appleデバイス以外との相性は悪いですがiCloudキーチェーン。またはiOSでは使いづらいですが、Googleパスワードマネージャー(Google Chromeにはいってるもの)。

わたしのようなiPhoneもAndroidもMacもWindowsも使うような人は、Apple、Googleから離れた方が使いやすかったです。

無料のパスワードマネージャーでクロスプラットフォームで使えるもの。

Microsoft Authenticatorがわたし的にはいちおしです。

‎Microsoft Authenticator
‎Microsoft Authenticator を使用すると、多要素認証、パスワードレス、またはパスワード オートフィルを使用して、すべてのオンライン アカウントで簡単かつ安全なサインインを行うことができます。また、Microsoft 個...

Bitwardenもオープンソースですし、さまざまなOSで使えます。

‎Bitwarden パスワードマネージャー
‎bitwarden は、あらゆる端末間で同期しつつログイン情報やパスワードを保管しておける、最も簡単で安全なサービスです。bitwarden アプリ拡張機能で Safari や Chrome などの多数の人気アプリに対応しており、ウェブサ...

有料アプリは使ったことないですが…1Passwordあたりは使っている方が多いですね。

‎1Password: パスワードマネージャー
‎1Passwordは世界で最も愛されているパスワードマネージャーで、数百万人のユーザーと9万社以上の企業が機密情報の保護に利用しています。 「1Passwordは、機能、互換性、セキュリティ、そして使いやすさの最高の組み合わせを提供します...

トレンドマイクロのパスワードマネージャーは有料の割にBitwardenとかより機能が少ないような…。

‎パスワードマネージャー:パスワード管理アプリ
‎パスワードマネージャーは、ウイルスバスターでおなじみのトレンドマイクロが提供するパスワード管理アプリです。 ID/パスワードを暗号化して一括管理し、Safariやアプリ上で呼び出してログインを簡単に。あなたのかわりにパスワードを覚えて、守...

AppStoreをみていると日本製をアピールするアプリがありますが、日本製と安心は関係しません。

AppStoreには個人名義で公開されているアプリがたくさんあり、何千単位でレビューがあったりします。

iPhoneの端末内に保管するならiCloudキーチェーンでいいし、クラウド保管しますってなると、個人運営のサービスに預けるの?と思います。
わたしが開発者だったら、人のパスワードは預かりたくない。

でも、このアプリのイラストはかわいいね。

セキュリティ分野においても、かわいいはぜったい、かわいいは強さ…かはわからないけれど、かわいいとセキュリティ対策を結びつけ、少しでも興味を持ってもらうことは素敵だね。

コメント