こんにちは、noダーマです。
皆さんは「Git」というツールをご存知でしょうか。
プログラム開発の経験がない方にとっては聞き馴染みの薄いものかもしれません。

アニメや映画などで、画像のようなよく分からない文字の羅列を見たことがありませんか?
これがまさにプログラムであり、プログラムが記述された文書をソースまたはソースコードと呼びます。
冒頭にご紹介したGitとは、主にソースコードの変更履歴を記録するバージョン管理ツールのことです。
もう少し嚙み砕いて解説すると、いつ・誰が・どのようにソースを編集したかの管理ができるもので、新しいバグが生まれたときに変更履歴からバグの発生した個所と原因を特定する、といった使い方はよくある一例です。
ちなみにソースに限らず、ドキュメント文書やイラストなど様々な制作物の管理に使用している方も少なくありません。
タイトルにある「GitHub」とはGitをオンライン上で管理するためのプラットフォームであり、個人・法人を問わずGitを使う多くの方が活用しているサービスです。
先日、GitHubが2023年末までにすべてのユーザーに対して二要素認証の有効化を義務付ける予定との発表を行いました。
参考:GitHub Blog『Raising the bar for software security: next steps for GitHub.com 2FA』
GitHubから機密情報が盗まれたり、悪意あるプログラムを追加されたりなど、GitHubを標的としたサイバー攻撃の増加に伴うセキュリティ対策と思われます。
さて今回は「二要素認証」がトピックとなります。
そもそも二要素認証とは何なのか、二要素認証を導入することでどのような効果があるのかについて解説します。
目次
認証の「3要素」
二要素認証を説明するには、まず「要素」について解説する必要があります。
認証における要素とは、下記にあげる3つが挙げられます。
知識要素
本人だけが知り得る情報を用いて認証を行うもので、パスワードや秘密の質問などが知識要素に該当します。
推測が困難であり、かつ第三者が簡単に知り得ないよう厳重に管理することが非常に重要です。
所有要素
本人が所有する物を用いて認証を行うもので、スマートフォンやICカードなどが所有要素に該当します。
身近な例としては、社員証のカードキーがイメージしやすいのはないでしょうか。
セキュリティ対策としては有効である反面、所有物自体の扱いには細心の注意が必要です。
生体要素
顔や指紋、静脈、虹彩など身体的な特徴を用いて認証を行うもので、バイオメトリクス認証とも呼ばれます。
第三者が認証を突破するのは困難であるため、その安全性の高さから近年はバイオメトリクス認証を導入するサービスが増えております。
二要素認証とは?

二要素認証とは、上記に挙げた要素の中から異なる二要素を用いて認証を行う方法のことを指します。
身近な例を挙げると、ATMがキャッシュカード(所有要素)と暗証番号(知識要素)の二段階認証を採用しております。
また似たような認証方式として、二段階認証というものが存在します。
二段階認証とは同じ要素を用いて二度認証を行う方式であり、二要素認証との違いは使用する要素の数です。
二要素認証を導入する効果
本人認証がより厳密かつ強固になる、という点です。
例えばATMのケースですと、万が一キャッシュカードが第三者の手に渡ったとしても暗証番号を知らなければ不正利用はできません。
ユーザー目線で見ると、二要素認証は作業の工程が増えるため面倒というのはよくわかります。

私自身も煩わしいと思うことがあります
しかしセキュリティ対策の重要性が謳われている今日において、もはや二要素認証は必須の対策といっても過言ではないでしょう。
「対策」に絶対は存在しないように、今は突破が難しいと言われている認証要素も抜け穴が見つけ出される可能性は大いにあります。
そのため取り返しのつかない事態が発生する前から対策を強固にしておく必要があるのです。
全ユーザーに二段階認証の有効化を義務付けるというのですから、GitHubが本腰を入れてセキュリティ対策に臨んでいるというのがわかります。
ちなみにGitHubの場合、パスワードとスマートフォンアプリを用いたトークンの二要素認証になると予想しています。
それではまた次回お会いしましょう。