見出し画像

吾輩は猫である。attributeはまだ設定されていない。

古代の世界において、自分の名を知られることは大きなリスクとされていました。名を敵に知られると呪いを掛けられたり、成りすまされてしまう可能性もあり、古代の人々は、本当の名前の他に通称の名前を使ったり、何かの折に変名して、難を逃れようとしていました。

と、いうわけでプロ雑用ですこんにちわ。
今回は、以下の記事の続きです。

現代においても名前は重要ですが、古代ほどではありません。
それは名前以外に個人を示す情報が増えたからということでもあります。たとえば住所や電話番号、メールアドレスなど。
一般的には個人情報というくくりでも語られますよね。

個人の部分を表す、個人に紐づく情報ということで、このような情報はデジタルサービスの世界ではAttribute(アトリビュート/属性)と呼ばれていると前回学びました。
そして、特に重要な情報として、認証に使われるCredential(クレデンシャル)がある、ということも前回学びました。

二つとか多いとか、要素とか段階とかって何?

認証情報といってパッと思いつくのは、パスワードや暗証番号ですけど、他にどんなものがあるんでしょう?そこで調べてみると、Credentialは特性ごとに大きく3つに分けられる、ということがわかりました。

Something you know/記憶:あなたが知っているもの。パスワードや暗証番号、パスフレーズ、PIN、秘密の質問など。
Something you have/所持:あなたが持っているもの。スマートフォン、ICカード、スマートカード、ワンタイムパスワード用のデバイス、第二パスワードカードなど。
Something you are/生体:指紋、静脈、虹彩、顔などの、あなた自身の身体的特徴。バイオメトリクス認証とも。

ニュースでもよく聞く2要素認証や多要素認証は、記憶、所持、生体のうちの2つ以上を使う認証方式です。

画像2

二段階認証は要素を問わずどれか2つの方式を利用することを指します。

認証方式は、他者から真似しにくいもののほうが、強度が強い、と言えるので、上記3つでいえば、

記憶 < 所持 < 生体

の順で、生体の強度が一番高いといえるでしょう。
SFやマンガの世界ではやすやすと突破されることが多い生体認証ですが、現実においてはまだまだ優位かも。
まぁ、顔認証は双子だとかだと余裕で突破されてしまっていますので、技術的にまだ未発展ということかもしれませんが…。

言葉の定義を厳密にすれば、2要素認証は二段階認証に含まれます。
たとえば同じ要素である「パスワード(記憶)」と「秘密の質問(記憶)」の組合せと、異なる要素「パスワード(記憶)」と「スマートフォン(所有)」の組合せは、どちらも二段階認証ですが、2要素認証と言えるのは後者の組合せです。

画像5

余談ですが、最近のおうちは玄関ドアに鍵が二つついてたりしますが、あれも二段階認証とも言えると思います。脆弱性のほどは…というと、リアルの場合、鍵を拾ったとしてもそれがそもそもどこの鍵なのかわからないとほとんど意味をなしません。
インターネットのように総当り(かたっぱしからいろんなサービスで試す)は、現実的には難しい。鍵がおちてた周辺の家のドアに片っ端から鍵をつっこもうとしてたら、そんな怪しいやつ即座に通報されますよねw

一般的に多要素認証を使っているサービスとしてパッと頭に浮かぶのは、やはり銀行や金融のサービスでしょう。とてもセンシティブな情報を扱っていますから、万が一なりすまされたりするとエライことです。

画像2

厳重な情報管理が求められる機関は、それだけ警備も厳重にしなくてはならない、ということですね。

ぼくらはインターネットで自分自身をどうやって証明したらいいのか。

認証というのは、いわば身元確認です。
その身元を証明するために必要なのがCredentialです。
では、そのクレデンシャルはどこから提供されるのか??

一般的な生活で考えてみると、子どもが生まれたら親御さんが出生届を自治体に提出します。そうすると届け出したお子さんの名前などの身元情報が国が管理する台帳に登録されるわけです。

画像3

また、学校に入学するとき、就職するときなど、その時々に、名前や住所などを登録する機会があります。このとき、確認のために公的機関からの書類提出を求められる場面もあります。各機関は、それらの書類と記入内容に齟齬がないかどうかを確認するのが普通で、これによって本人の身元が保証されることになります。

デジタルサービスの世界では、一般的生活における国家などの公的機関が存在しません。よって別々のサービスへ登録された情報が同一の人物が入力したものかどうかは確認する術がありません。

そのため、あるサービスに登録したクレデンシャルが、万が一、他人に知られてしまったり、なんらかの原因で漏洩してしまったとき、別のサービスで同じものを使いまわしていたりすると、簡単になりすまされてしまったりするわけです。

画像4

まぁ、システムからしてみれば、正しい手順で正しいクレデンシャルが入力されてるのだから、なりすましではなくて本人なのですが。人間の認識では別人でなりすましでも、システムからみればどちらも本人、なのです。

これを一定防ぐ効果があるのが、多要素認証や多段階認証なわけですが、それも完全完璧でありません。

これだけ世の中に様々なサービスが増えてきますと、それぞれのサービスごとにパスワード登録したり情報を入力したり…それだけで結構な労力。
これを読んでる方々では問題ないかもしれませんが、年配などITリテラシーがない家族は、パスワードを手帳に書いてたり、付箋をPCはってたりしてませんか?

画像7

それだけではなく、覚えるのが面倒だからと全部同じにしてたり、忘れると大変だからと生年月日などを使ったものや単純な文字列など、推測されやすかったりだったりしませんか?
どんなに強固な認証があっても、サービスの利用者側にリテラシーが整ってないと、クレデンシャルそのものが脆弱になり悪い奴らに付け入られる隙となってしまいます。

いちいちめんどくさい入力したくないです

そこで、特定のサービスでの認証を、別のサービスでも認可する仕組みが、登場しました。ソーシャルログインとよばれるものです。

画像6

上の画像は、freeeのログイン画面なんですが、このように固有のクレデンシャルを入力する場所の近くに、別のサービスのロゴなどが並んでいて、そちらのサービスでログインできるようになっています。昨今の多くのサービスで利用されるようになっており、個人的にもとても便利だと思っています。

なにせ、いちいち入力する手間が省けるわけですから。

ソーシャルログインの名の通り、元々はFacebookなどのSNS(ソーシャルネットワーキングサービス)の普及に伴って拡がりましたが、上記画像を見ると分かる通り、現在ではSNS以外のサービスでも同様にソーシャルログインが可能となっていることが少なくありません。

ソーシャルログインは、利用者側には手間が省けるメリット、サービス開発側には認証部分を連携するサービスに委ねられるため管理負荷が軽減するというメリットがあります。

仕組みとしては簡単に示すと以下のようなものです。

画像8

①WEBサービスで、ソーシャルログインを選択する
②WEBサービスから、ソーシャルログイン連携先へ
③連携の同意を求める
④連携を同意する
⑤認証を要求
⑥認証
⑦アクセストークンが発行される
⑧アクセストークンを受領し、認可を要求
⑨認可

実際には、もっと複雑な処理が行われています。
たとえばアクセストークン(委任状みたいなもの)は、APIを利用してトークン発行を受けていたりしますし、ソーシャルログイン連携に別のサービスを経由させてたりなどする場合もあります。

なにわともあれ、ソーシャルログインの登場によって、新しいWEBサービスを使うのにいちいちパスワードを考えたり管理したりする必要がないというのは実に便利です。

また、このソーシャルログインは先に述べた、一般生活における身元保証の公的機関の代わりを、インターネットの各サービスが行ってくれるようなものだ、と考えることもできます。

インターネットの世界のプライバシーはどうなる?

ソーシャルログインはとっても便利です。
ですが、便利であるがゆえの新しい問題も昨今取り出されることも。

もういちど先程のfreeeのログイン画面を見てみましょう。

画像9

ここにAmazonがあれば、いわゆるGAFAMになりますね。これがモバイルですと、日本においてはLINEなどが入ってきます。
ソーシャルログインの普及によって、これら一部の大企業へ個人に関するデータが集中しているという問題です。

単にプロフィール情報の一部であれば問題ないかもしれませんが、これらのインターネット企業に集まる個人データは、単なるプロフィールにとどまらず、インターネットでの行動履歴や分析データなども集まっています。これは、要するにやろうと思えば個人の趣味趣向や行動パターンなど政治信条に至るまで把握できてしまうというわけです。

実際、各サービスでは広告や商品の表示、検索結果についてもそれらの個人データに基づいてカスタマイズされて表示されることが当たり前になりつつありますから、過剰なプライバシー侵害を心配する声も上がるのも当然といえば当然でしょう。なので、身元確認の強化や保証とその効率化、認証認可の安全性を担保する取り組みなどもすでに議論が進んでおり、それに伴って各サービスが進歩発展するという期待して待ちたい思います。

また、様々な国の人々のデータを、グローバルとはいえ、単一の企業が管理するべきなのか、という点も今後議論が活発化していくでしょう。

なお、日本においては、PCからはFacebook連携が、モバイルからはLINE連携がそれぞれ一番使われているそうです(2020年調査)。
参考:https://socialplus.jp/content/sociallogin

さて、今回はここまで。
前回予告していたシングルサインオンについては、記事の長さの都合と自分の学習レベルを鑑みて次回以降とさせていただきます。

うーん、デジタルアイディンティティ周りはとてもおもしろいです。
ゆるゆるとマイペースに勉強しつつ適当なタイミングでアウトプットを続けていきたいと思います。

それじゃ、また。

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