見出し画像

ChatGPTでパスワード生成カードを作ろう!

この記事では、ChatGPTを用いたパスワード生成方法と、パスワードの共有方法について考察します。

具体的には、社内システムや特に基幹システムへのログインを考えます。
1つのパスワードやユーザーを共有することを前提としているので、この内容はある程度限定的なものとなります。
また、パスワード生成カードを使用する方法に絞っています。

個人でも利用可能な内容だと思います。
その点についても記事内で若干触れています。

さらに、ChatGPTとの全ての対話も掲載しているので、参考にどうぞ。
(おまけ参照)

前提

パスワード生成カードとは

「パスワード生成カード」は、セキュリティの一部として、一意かつ複雑なパスワードを生成するためのツールです。
カード上にはランダムな数字や文字が並んでおり、特定のルールに基づいてそれらを選び出すことでパスワードを生成します。
例えば、あるルールでは「左上から右下に斜めに読む」と指定するかもしれません。

デジタルではなく紙ベースであるため、デジタル攻撃に強いメリットがあります。
しかしながら、カード自体の管理と保管もまた重要になるため、注意しなければいけません。

ChatGPTに作ってもらう

今回、ChatGPTに作成してもらったものが以下です。
これをCSV形式にして若干見やすいようにExcelにて整えました。

一部抜粋バージョン
Excelで簡単に整えたもの。
カードにして配布する際には、もう少しレイアウトを検討したほうがよいかも?

どのように使うことを想定しているか

複数の拠点で管理する社内システムに対し、共通のパスワードでログインする必要がある場合を考えています(例:社内会計システムのAdmin権限)。

カードは月に1度管理者が発行し、メンバーが受け取ります。
受け取ったカードは、セキュリティカードの裏面に入れます(入館証を兼ねたカード)。
パスワードは管理者が毎日変更し、そのルールを社内システムで共有します(例:OutlookやNotesやkintone等)。
その際に、「01-04-07-14-37-29」のように連携します。

メンバーはパスワード生成カードとの対応を確認します。
上記の例であれば、「M%)G3P」がその日のパスワードになります。

変更頻度については、手間がかかるとはいえ、セキュリティとのトレードオフがあるので、リスクを考慮しなければなりません。

不正利用等への対応

以下の懸念が考えられます。

  1. セキュリティリスク:紛失、盗難のリスクがあります。

  2. 責任の所在:複数の人が同じログイン方法を共有した場合、責任の所在が曖昧になる可能性があります。

  3. ログ管理:上記同様で、定のユーザーの行動を追跡するのが困難になる可能性があります。

これらの懸念に対し、各メンバーがカードを管理し、セキュリティカード(入館証)と一緒に持つことで、紛失の可能性を低く保てます。
また、万が一紛失してもそれだけではログインはできません。

責任やログについては、パスワードを使用してログインする際にWindowsのログインを中継し、それを踏み台にして接続することで監視が可能です。
不正な動作が検知された場合は、Windowsのログインを遮断することで対応します。

他のセキュリティの検討

そんなアナログな方法ではなく、多段階認証(Google AuthenticatorやSMSやメールで受け取る6桁を挟む認証)を使えば良いのでは、と思われますがこれにも落とし穴はあります。

最近、Rockstar Gamesから発売予定のGTA6という開発中のゲームに関する大規模リークがありました。
これは「多要素認証疲れ」を利用したハッキング手法によるものでした。

ハッカーの巧妙さに感心します。

「従業員が寝ようとしている午前1時に100回電話をかければ、大抵は受け入れる。その従業員が承認すれば、MFAポータルにアクセスして、別の端末を登録できる」

上記記事の引用

Google Authenticatorやマイクロソフトの同種のアプリによる認証は、上記のような事態は避けられるとは思います。
しかし、突然「承認しますか?」というメッセージが出たとき、誤って「承認」を押す可能性もあります。
また、寝ぼけているときには正しい判断が困難です。
(絶対自分はやらない!と思っている人ほど、思いもよらないミスを犯すことがあるものです…)

個人で導入する場合

個人で導入する場合、WEBサイトのログインパスワード生成を考慮することが多いですが、ブラウザの機能やパスワード管理ツールを使用するのが一般的です。
しかし、これらの方法も完璧ではありません。
管理ツールにログインできなくなる、または管理ツールがハッキングされるリスクも考慮する必要があります。

暗号化されているとはいえ、それを完全に信頼することはできません。
暗号化システム自体の脆弱性も考慮しなければなりません。

一方、1枚の「生成カード」で複数のサイトを管理することは現実的ではありません。
たとえば、銀行のオンラインシステムへのログインだけに「生成カード」を使用することは検討できます。
「左上から斜め方向に、次に上へ」といった独自のルールを設けて使用します。

他のサイトについては、例えばブラウザのパスワード生成及び保存機能を使用し、末尾に"a"を追加するなど、自分で追加のルールを作るのが現実的かもしれません。

しかしながら、結局面倒ですよね。
自分は以下のようにしています。
決まった複雑な文字列」+「そのサイトのURLの一部」+「月」
例えば、noteであれば「2A7u!9hJvn06」のようにしています。
(実際のパスワードでは無いです。例です。)
ブラウザには基本的に保存しません。というのも、safariとchromeをどちらも使うので、管理が煩雑になるためです。変更した際にかえって混乱するので。

まとめ

色々検討できますが、手軽(あまりお金をかけない)でかつセキュリティ的に堅牢なものとなると、「紙ベース+電子」のようになるのかな、と思います。

話は逸れますが、ハッキングの手法はアナログな方法も絡めて高度化している気がしますので、IPAのセキュリティ事例も眺めつつ、ニュースにも目を光らせるのが大事ですね。

おまけ(ChatGPTとの対話)

おまけ2

追記:6/28 1:00 記事のサムネイルを差し替えました。

Adobe Express (Beta)を使用しましたが、提供されている素材ベースにしました。
無理矢理ネコを入れましたが、Bing Chatで生成したものとなります。

(Bing Chat ネコ画像をアップロードしようとすると失敗するので、後日ここに貼り付け予定です。)

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