見出し画像

パスワードとは

 今回僕が書く記事のお題は、『パスワード』です。ぶっちゃけ全然詳しくないし、興味も無いので、途中で脱線して関係無いことを書いて文字数を稼ごうとするかもしれません。ゆるしてー。

パスワードって何?

 パスワード(英: password)とは、一般的に合言葉(あいことば)を指すが、特にコンピュータ関連で使用する場合は、特定の機能を使用する際に認証を得るため入力する文字及び数字の羅列を指す。多くの場合、その利用者が本人であることを確認するもので、その利用者のみが知る文字列を用いる。
(wikipedia「パスワード」https://ja.wikipedia.org/wiki/%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89 より)

 ……要は暗証番号ですね(投げやり)。と思ったら、どうもパスワード=暗証番号ではなく、パスワードの1種が暗証番号のようです。文字数を稼ぎたいので、次の項で説明させてもらいます(笑)

パスワードの概要

 パスワードは、通常ユーザーIDと共に使用するそうです。あらかじめ登録されたユーザーIDのパスワードと、操作者によって入力されたパスワードが一致していることによって、操作者がそのユーザーIDの使用者本人であると認識します。このnoteで記事を書く際にも、IDとパスワードが必要ですね。

 そして暗証番号についてですが、パスワードのうちで数字のみで構成される文字列を暗証番号といい、金融機関のATMや携帯電話の本人確認などに使われます。なるほど、文字を含むパスワードは暗証番号ではなかったのですね。

 ちなみに、文字列の長さが数十字以上と長いパスワードのことを特にパスフレーズと呼ぶことがあり、高いセキュリティが必要なシステムで用いられるそうです。

パスワードの問題点

 パスワードやクレジットカードの番号等はもし他人に入手されてしまった場合、自分に成りすまされ様々な情報や利益を得られてしまう恐れがあります。この為他人のパスワードを入手するということがしばしば起きてしまいます。

 理論上は、総当りで全ての文字列を試せばパスワードを発見することが出来ますが、実際には大変な労力が必要なのでほとんど行われません。

 また、複数回間違ったパスワードを入力すると、システムがそれ以降の入力を拒否するようになっている場合もあります。

 パスワードは任意の文字列で構成されますが、完全にランダムということはほとんどなく、大抵は覚えやすい文字列で構成されることが多いです。そのため、辞書に載っている単語などを入力することでパスワードを発見する効率を上げることができます。みんな、いくらパスワードを考えるのが面倒くさいからって、『password』だの『12345678』だのにするのはやめようね!

因数分解と量子コンピュータ

 最近(と言ってもそこまで最近ではないですが)、量子コンピュータの研究・開発に伴い既存のパスワードが破られてしまう可能性が指摘されています。「量子コンピュータってなんぞ?」と思った方、僕も詳しく分かっている訳では無いのですが、今から解説していきます。

・そもそも普通のコンピュータってどんなの?

 通常のコンピュータはデータを0と1で表現する二進法を採っています。コンピュータで行われる複雑で膨大な処理も0と1の組み合わせだけで行われています。それだけであんなに色々なことができるなんてすごいですね。

 例えば、「A」という文字は01000001、といった感じです。この0または1が最小のデータであり、「ビット」と呼ばれます。

 ざっくり言うと電流や電圧のONとOFFで0と1を表現しています。

・じゃあ、量子コンピュータはどんなの?

 量子コンピュータはビットを電流や電圧ではなく、ミクロな粒子や物体の状態で表現します。この状態は「キュービット」または「量子ビット」と呼ばれ、波動方程式に従って変化します。……なにそれ格好いい。

 そしてキュービットにかける磁場やマイクロ波などをうまく調整すると行いたいデータ処理や演算のための波動方程式が準備できると期待されています。

 つまり、キュービットでデータを表現し、演算を行うための波動方程式を準備して、それに従ってキュービットを変化させ、キュービットを読み取ることで演算結果が得られる、という仕組みです。

・なんの役に立つのか?

 例えば1+1を計算する、例えばaをAに変える、こういった作業は通常のコンピュータで十分であり、そこに量子コンピュータの出番はありません。

 しかし、量子コンピュータはある種の計算においては通常のコンピュータを圧倒します。それは「フーリエ変換」「因数分解」「離散対数」などといったものです。………………ちなみに僕は因数分解なら分かりますがフーリエ変換も離散対数も分かりません。なにそれ……

 通常のコンピュータに大きな整数を1つ与え、その因数を探して因数分解をするように命じると非常に時間がかかってしまいます。計算のステップが爆発的に増えるからです。

 しかし量子コンピュータにその計算を与えると、数が大きくなってもさほど計算のステップが増えません。そのため、大きな数の因数分解をさせると量子コンピュータは通常のコンピュータを凌駕すると言われています。

・それの何が問題なの?

 通常のコンピュータは因数分解が苦手である、この事実は暗号通信などで使用されています。暗号通信とは、僕達がパスワードやらカード情報やらを送る際に使用されているコンピュータ技術です。

 現在主流の暗号技術では、解読の手順に因数分解が組み込まれています。あらかじめ秘密鍵として因数を用意し、公開鍵をその因数で因数分解することで暗号が解読できます。
しかし、秘密鍵を知らない盗聴者は因数分解に時間がかかってしまい、これにより安全性が保障されます。

 しかし、巨大な数でも素早く因数分解できる量子コンピュータが実用化されてしまえば既存の方式では危険性が高く利用できません。そのときは何らかの新たな暗号通信技術が必要となるでしょう。

どのようなパスワードが良いのか

 ここまでパスワードを破られる危険性などを書いてきましたが、では実際どのようなパスワードが良いのでしょうか。あくまで僕の意見ですが、この項で紹介していこうと思います

・ポイント①「分かりやすい文字列を避ける」

 先程も挙げた、「12345678」「password」といった誰でも簡単に思い付くような単語はやめましょう。というか、意味のある文字列はやめた方が良いと思います。

・ポイント②「自分と関係ある文字列を避ける」

 ①と少し被ってしまいますが、自分にゆかりのある文字列もやめましょう。パスワードが自分の名前だの誕生だのって分かりやす過ぎですね。

・ポイント③「パスワードの使い回しを避ける」

 サイト毎のパスワードを全部同じにするのはやめましょう。1つバレたら全部バレてしまいます。でも考えるのが面倒臭い……、という方、その場合はパスワードのどこかにサイト名なんかを入れると良いかもしれません。

・ポイント④「桁数を増やす」

 桁が多い程パスワードを探すのに時間がかかります。なのでできるだけ桁数を増やしましょう。そして、できればパスワードの桁数も秘密にしておいた方が良いでしょう。何故なら、桁数が分かっていれば他の桁数を除外できるため、パスワードの突破にかかる時間が減少してしまうからです。

・ポイント⑤「異なる種類の文字を組み合わせる」

 数字だけではなく、アルファベットや記号等も使いましょう。そうすることでパスワードを総当たりする際の時間がめっちゃ増えます(語彙力)。

・パスワードを作ってみよう

 ではここまでのポイントをふまえて、パスワードを作ってみましょう。

 まず、何か好きな単語などを考えます。思い付きましたか?

 続いて、決めた文字列の1部を変えます。アルファベットの1部を似た形の記号に変えたりするだけで、かなり安全性が上がります。それか、文字列の文字と文字の間に数字や記号を入れたりしてもいいかもしれません。

 次に、文字列のどこかにそのサイトの名前なんかを入れてみましょう。このサイトだったら「note」ですね。

 そして最後に適当な文字でサンドイッチ。例えばパスワードの数字から取ったり、あなたの名前の頭文字からとか……(これはダメかな?)。

例:「ONEPIECE」→「0N3P!3C3」→「0N3P!3C3note」→「Y0N3P!3C3noteT」(例えば山田太郎だった場合)

 こんな感じで突破されにくいパスワードを作ることができます。

最後に

 みなさん、どうでしたでしょうか? 興味が無いことの割にはよく書けたと思います。楽しんでいただけたり、お役に立てたりすれば光栄です。パスワードがバレるのは非常にマズいので気を付けてくださいね……

参考

・Wikipedia「パスワード」https://ja.m.wikipedia.org/wiki/%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89 

・「量子コンピューターがあなたのパスワードを破る日」https://news.livedoor.com/lite/article_detail_amp/12758042/

・「量子コンピューターが暗号技術を「破壊」する?その真偽を検証してみた」https://xtech.nikkei.com/atcl/nxt/column/18/01191/012900001/

・「複雑で強いのに忘れにくいパスワードの作り方と、正しい管理法」https://japan.norton.com/how-to-make-password-9311 


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