~30歳プログラマ歴2年の趣味サイト~
CategoryContactAbout
2020.04.24

二段階認証と二要素認証とは

はじめに

自社システムのユーザー認証において、セキュリティを高める施策をしようとしている。よくある認証を調べている中で二段階認証と二要素認証という言葉が出てきたのでそれらを理解して、正しく使い分けられるようになりたい。

二段階とは

辞書で調べると段階とは下記である。

① 能力などの差によって順々に設けた高低のくぎり。等級。 「五-評価」 ② 物事の順序。 「 -をふんで意見を上申する」 ③ 進んでいく、または変化する過程の一区切り。局面。状態。 「現在の-では工業化は困難である」 ④ 階段。きざはし。

つまり二段階というのは物事の区切りや順序が二つあるよーっということ。 ここで重要なのは区切りや順序があればよくて中身に関しては一切定義されていないということ。

二要素とは

次に二要素であるが、こちらも辞書で調べると

① 物事を成り立たせているもの。また、物事の成り立ちに関与している成分や性質。 ② 集まっているもの、または組み合わさっているものの一つ一つ。それ以上分析できないもの。 ③ 〘法〙 具体的な法律行為・意思表示において、その行為者に重要な意義をもつ部分。 ④ 〘数〙 集合を構成している一つ一つのもの。元(げん)。 〔「哲学字彙」(1881年)に英語 factor の訳語の一つとして載る〕

つまり二要素というのは物事の成分や性質、組み合わさっているものが二つあるよーていうこと。 ここで重要なのは物事の中身の部分であるということ。

二段階認証と二要素認証の違い

言葉の定義から考えるとそれぞれは下記となる。 二段階認証・・・二段階で行われる認証のことで、時間軸が別であればよい。 二要素認証・・・二要素で行われる認証のことで、異なる認証方法であればよい。

認証で重要なのは

ここまででそれぞれの違いがわかったが、認証においてどちらが重要であるでしょうか。 これはマイクロソフトの公式ドキュメントやNISTというアメリカの標準技術研究所が使っている言葉から明らかなように二要素認証が重要であり、二段階であることにセキュリティを高める意味はない。異なる二つの認証を行うことでセキュリティを高めることができるのである。 システムの便宜上二要素認証をするには二段階認証になるだけで、やりたいことは二要素認証である。重ねて言うが二段階認証は二要素認証をするための手段にすぎない。

まとめ

二要素認証のみが重要であることがわかった。 ただし、日本では二段階認証という言葉が一般化してしまっていることは間違いない。海外では二要素認証つまりtwo factor authenticationという言葉しか使われない。 二段階認証という言葉を使っている人がいてもあえて何か言う必要はないが自分は正しい言葉を使っていきたい。

参考

https://support.trustlogin.com/hc/ja/articles/360000497941--%E4%BA%8C%E6%AE%B5%E9%9A%8E%E8%AA%8D%E8%A8%BC-%E3%81%AE%E8%AA%A4%E8%A7%A3%E3%82%92%E8%A7%A3%E3%81%8F-%E4%BA%8C%E8%A6%81%E7%B4%A0%E8%AA%8D%E8%A8%BC-%E5%A4%9A%E8%A6%81%E7%B4%A0%E8%AA%8D%E8%A8%BC-%E3%81%A8%E4%BD%95%E3%81%8C%E9%81%95%E3%81%86%E3%81%8B

愛知県在住。プログラマ歴2年目。自動車部品メーカーにて5年程従事した後に、新規一転プログラマの道へ。

現在はベンチャー企業でシステム開発を行っている。メインの使用言語はC#。フロントもJQueryでやっているがReactへの移行を考えている。 短期目標はプログラミング知識を身に着けて自分一人でサービス開発をする、その後中期目標として5年後までにはゲーム開発会社を起業する。 長期目標は楽しく、楽して人生を送りたい。プログラミングは大好き。

仕事、質問、指摘どんなことでも嬉しいのでコンタクトから連絡いただけるとありがたいです。

Gatsby.js + TypeScript + Netlify