Notes

パスワード

  • まず、「あなたの電話は安全ですか?」という質問で聴衆を調査します。
    • 「はい」、「いいえ」、「わからない」にそれぞれ約 3 分の 1ずつ 聴衆が回答しました。
  • 携帯電話のパスコードは 4 桁か、それより長いか、まったくない場合があります。
  • パスワードはランダムなので、より安全だと考える人もいるかもしれません。
  • 残念ながら、2020 年の時点で最も一般的なパスワードは簡単に推測でき ます
    1. 123456
    2. 123456789
    3. picture1
    4. password
    5. 12345678
    6. 111111
    7. 123123
    8. 12345
    9. 1234567890
    10. senha
      • これはポルトガル語で「パスワード」を意味します。
  • もし私たち自身がこれらのパスワードを持っていれば、誰かが最初にこれらのパスワードを試す可能性が高いので、私たちのアカウントやデバイスに侵入するのは簡単でしょう。
  • つまり、パスワードの安全性を数値化することで、携帯電話の安全性を数値化することができるのです。
  • 4桁のパスコードなら、0000から9999まで1万通りのパスコードが考えられます。しかし、コンピューターはそのすべてを数秒のうちに素早く生成することができるのです。
  • また、ブルート フォース攻撃を実行することもできます。この攻撃では、正しいパスワードが見つかるまで、考えられるすべてのパスワードを試します。
    • 攻撃者は、携帯電話の画面で可能なすべてのパスコードをタップするロボットを構築することさえできます。
  • Pythonというプログラミング言語で、4桁の暗証番号の組み合わせ(順列)を出力するプログラムを作成することで、これを実証することができます。
from string import digits
from itertools import product

for passcode in product(digits, repeat=4):
    print(*passcode)
$ python crack.py
0 0 0 0
0 0 0 1
....
9 9 9 8
9 9 9 9
  • このプログラムの実行には 1 秒もかかりません。
    • 敵対者がケーブルを電話に接続し、コードを含むコンピューターを使用して、考えられるすべてのパスコードを非常に迅速に試す可能性があることは想像に難くありません。
  • 桁数が多ければ多いほど、パスコードが推測されるまでの時間が長くなり、敵のコストが上がります。
  • 4 文字のパスコードも使用できます。各場所には 26 の異なる文字があり、それぞれが大文字または小文字である52 x 52 x 52 x 52可能性があるため、700 万を超える可能性のあるパスコードが存在する可能性があります。
  • 数字の代わりに文字を使用するようにプログラムを変更できます。
from string import ascii_letters
from itertools import product

for passcode in product(ascii_letters, repeat=4):
    print(*passcode)
$ python crack.py
0 0 0 0
0 0 0 1
....
9 9 9 8
9 9 9 9
  • 現在、このプログラムの実行には 1 分以上かかります。
  • パスコードを拡張して、文字、数字、 や などの記号など、任意の文字の組み合わせを使用できます。
  • 一般的なキーボードでは、大文字26文字、小文字26文字、数字10文字の合計32文字、合計94種類の記号が用意されています。つまり、8文字のパスコードがあれば、94×94×94×94×94×94×94の中から選択できることになり、その数は6兆を超えます。
    • 各パスコードの試行に 1 秒かかるとすると、すべての可能性を試すには 193,000 年以上かかることになります。
  • すべての文字を使用するようにプログラムを変更します。
from string import ascii_letters, digits, punctuation
from itertools import product

for passcode in product(ascii_letters + digits + punctuation, repeat=8):
    print(*passcode)
  • さて、このプログラムの実行にはさらに時間がかかります。
  • 長いパスワードは解読や発見が難しくなりますが、覚えるのが難しくなります。
  • iPhoneやAndroidなど多くのデバイスでは、連続して何度も不正なログインを試みると、「1分以上あとに再試行してください」とロックされてしまいます。これは、パスコードを推測しようとする敵の動きを鈍らせるためのセキュリティ機能であることが判明しています。4桁のパスコードが1万通りあったとしても、1万分以上かかるかもしれません。
  • 二要素認証とは、メッセージやアプリからのワンタイムユースコードなど、追加の情報形式を使用してログインすることを指します。これは、私たちが知っているもの(ユーザー名とパスワード)に加えて、私たちが持っているものである傾向があるため、敵対者が私たちのアカウントにログインすることはさらに困難となるのです。
  • パスワード マネージャーは、ログイン情報を保存するアプリケーションであるため、多数の異なる複雑なパスワードを覚える代わりに、マスター パスワードを 1 つ覚えるだけで済みます。いくつかの人気のあるものは次のとおりです。
    • Windows の資格情報マネージャー
    • macOS のキーチェーン
    • 1Password
    • LastPass
  • 私たちのパスワードマネージャーは、私たちの他のすべてのアカウントのための長い、ユニークなパスワードを生成し、保存し、入力することができます。
  • パスワード・マネージャーの欠点は、マスター・パスワードが発見されたり、忘れられたりした場合のリスクが大きくなることかもしれません。そうなると、私たちは一度にすべてのアカウントを失うことになります。

メール、プライベートモード

  • Gmail には「機密モード」と呼ばれる新機能があり、メールを送信でき、「受信者はこのメールを転送、コピー、印刷、またはダウンロードできません」。
  • しかし、これは少し誤解を招く可能性があります。なぜなら、電子メールのスクリーンショットを撮ったり、コンピューターの画面の写真を撮ったりすることさえできるからです。
  • 私たちのブラウザーも、閲覧履歴やその他のデータがローカルに保存されない「シークレット モード」または「プライベート モード」を提供する場合があります。
  • しかし、私たちがアクセスする Web サイトとインターネット サービス プロバイダーは、私たちがアクセスしている内容を認識している可能性があります。

暗号化

  • 暗号化とは、暗号化を解除するための鍵がないと読み取れないように情報をスクランブルすることです。
  • 例えば、T H I S W A S C S 5 0 というフレーズは、各文字を1回ずつローテーションさせると、U I J T X B T D T 5 0 と簡単に暗号化できるかもしれません。
  • https://は、ブラウザが Web ページと通信するための安全で暗号化された方法であり、その間に誰もコンテンツを読み取ることができません。
  • エンド ツー エンドの暗号化とは、私たちと話している相手との間でメッセージが暗号化されることを意味します。そのため、サードパーティのチャットやビデオ サービスを使用していても、間にある企業はコンテンツを解読したり、私たちのコミュニケーションを読み取ったりすることはできません。
  • たとえば、Zoom は以前にエンドツーエンドの暗号化を宣伝していましたが、私たちと Zoom の間の暗号化としてのみ実装していました。ごく最近になって、会議の参加者間で真のエンド ツー エンドの暗号化が展開されましたが、その結果、クラウドレコーディングや電話による通話など、一部の機能が機能しなくなります。
  • 要約すると、より安全にするためのいくつかの提案があります。
    1. パスワードマネージャーを使用する
    2. 二要素認証を使用する
    3. (エンドツーエンド) 暗号化を使用する