よく使われるパスワード 2015年版

先月、パスワード管理ソフトなどを開発している SplashDataが、毎年恒例の "Worst Passwords of 2015" のリストを発表した。その年に起きた情報漏洩事件のデータをもとに、ユーザがよく使うパスワードのトップ25を調べて、2011年から毎年発表しているものだ。



過去 5年間のリストの変遷を表にしてみた。

順位 2011年 2012年 2013年 2014年 2015年
1 password password 123456 123456 123456
2 123456 123456 password password password
3 12345678 12345678 12345678 12345 12345678
4 qwerty abc123 qwerty 12345678 qwerty
5 abc123 qwerty abc123 qwerty 12345
6 monkey monkey 123456789 123456789 123456789
7 1234567 letmein 111111 1234 football
8 letmein dragon 1234567 baseball 1234
9 trustno1 111111 iloveyou dragon 1234567
10 dragon baseball adobe123 football baseball
11 baseball iloveyou 123123 1234567 welcome
12 111111 trustno1 admin monkey 1234567890
13 iloveyou 1234567 1234567890 letmein abc123
14 master sunshine letmein abc123 111111
15 sunshine master photoshop 111111 1qaz2wsx
16 ashley 123123 1234 mustang dragon
17 bailey welcome monkey access master
18 passw0rd shadow shadow shadow monkey
19 shadow ashley sunshine master letmein
20 123123 football 12345 michael login
21 654321 jesus password1 superman princess
22 superman michael princess 696969 qwertyuiop
23 qazwsx ninja azerty 123123 solo
24 michael mustang trustno1 batman passw0rd
25 football password1 000000 trustno1 starwars

上位陣の安定感は相変わらずで、数字のみのシンプルなパスワードやキーボード配列によるもの、スポーツ関連のパスワードなどは根強い人気を誇っている。またその年に起きた出来事によって下位は多少の変化が見られる。例えば 2013年には Adobeからの情報漏洩の影響が見られるし、2015年には映画 Star Warsの新作公開というビッグイベントが、ユーザの登録するパスワードにも少なからず影響を与えているようだ。

まあ漏洩データを元に集計したものなので、当然偏りはあるし参考程度ということで。いずれにせよ、覚えられないから弱いパスワードを使ってしまうわけで、できるだけパスワード管理ツールとかに覚えさせて楽をしよう。

TAOによるハッキングへの道

先月末にサンフランシスコで開催された ENIGMAという USENIXの新しいカンファレンスのクロージングセッションにおいて、アメリカ国家安全保障局 (NSA) の Tailored Access Operations (TAO) という部門のチーフである Rob Joyce氏がプレゼンテーションを行った。これは極めて珍しいことのようで海外のメディアでいくつか話題となっていた。

約35分の講演の様子は YouTubeで公開されている。講演のタイトルは “Dirsrupting Nation State Hackers” で、NSAによる攻撃の手法を解説し、そういった国家レベルの攻撃を防ぐにはどうするか、効果的な対策方法を紹介する、といった内容である。時間も短いので興味のある方はぜひ講演のビデオを見ていただきたい。


USENIX Enigma 2016 - NSA TAO Chief on Disrupting Nation State Hackers

もちろん公の場での講演であるから、NSAの機密に関わる情報などが出るはずはなく、いわゆる標的型攻撃 (Targeted Attack) や APT (Advanced Persistent Threat) などと呼ばれる攻撃、およびその防御策についての一般的な内容だ。


TAOによるターゲットへの侵入は以下の 6つのフェーズで行われているそうだ。これは Cyber Kill Chain (Intrusion Kill Chain, APT Kill Chainなどとも呼ばれる) や APT Attack Lifecycle などのモデルとも類似している。日本語の資料だと IPA「『高度標的型攻撃』対策に向けたシステム設計ガイド」も参考になるだろう。

Intrusion Phases

  1. Reconnaissance
  2. Initial Exploitation
  3. Establish Persistence
  4. Install Tools
  5. Move Laterally
  6. Collect, Exfiltrate and Exploit


これに対する防御策としては、NSAInformation Assurance Directorate (IAD) 部門が公開しているガイダンスを紹介しつつ、各フェーズにおける具体的な対策手法について説明している。(ちなみに TAOは Signals Intelligence Directorate (SID) の中の部門の一つ。Rob Joyce氏は 2013年4月に TAOのチーフになる前は IADの Deputy Directorを務めていた。つまり防御側から攻撃側へと役割を変えたわけだ。なおSIDとIADを一つにする組織再編の話もあるらしい。)

いくつかポイントだけ紹介する。

  • 攻撃する側 (TAO) はターゲットのネットワークについて、それを設計/構築/運用する人よりも詳しく調べあげる。だから侵入に成功する。防御する側は自分達が使っている技術、製品についてすみずみまでよく知り、導入にあたって評価するための手続きを定め、適切な設定を行い、必要のない機能を止めるということが大事。Attack Surfaceを減らすこと。
  • 高度な攻撃者がいつもゼロデイを利用していると考えるのは間違い。大規模なネットワークはもっと簡単に少ないリスクで攻略できる攻撃ベクトルがたくさんあり、そのほうが効率もよく効果的。防御側は継続的に製品やソフトウェアの脆弱性対応などアップデートが必要。攻撃のハードルを上げること。
  • 侵入にもっとも使われる 3つの攻撃ベクトルは、(1) Eメール (2) Webサイト (受動型攻撃) (3) リムーバブルメディア。(3)はエアギャップを越えるのに使われることもある。
  • 人に頼る対策はだめ。いくら不審なメールを開くなと教育したところで開くやつは開く。そうではなくて、組織のポリシーを技術的に強制するための仕組みが必要。人がミスをしても攻撃を防ぐことができるかが大事。例えば Microsoftの EMETなど Anti-Exploitationの機能を使うことを推奨。IADの Host Mitigation Package (HMP) を読め。
  • Application Whitelistingを活用する。大規模なネットワークで一般ユーザに適用するのは難しいが、本当に守るべきネットワークを分離し、その範囲内において適用する。
  • ウイルス対策ではレピュテーションの機能は有効な防御手段。コンピュータ上で実行されるプログラムに関する情報をクラウドに送信して、レピュテーションデータベースとマッチング。また攻撃ツールがアクセスするサイトのドメイン名に関するレピュテーションも有効。
  • 侵入後の Lateral Movementを防ぐには、境界防御に頼っていてはダメで、ネットワークのセグメンテーションやモニタリングが大事。
  • 攻撃者は単に情報を盗むだけでなく破壊工作をすることもある。Saudi AramcoSony Pictures Entertainmentの事例など。オフサイトのバックアップなどの備えをすること。
  • サイバー犯罪者と国家レベルの攻撃者との違いに注意。サイバー犯罪者は日和見主義だが、NSAや APTはそうではない。ターゲットに侵入できるまでしつこく狙ってくるし、侵入後は長くとどまる。したがって防御側は継続的に対策の評価、改善を行わなければいけない。そうでなければ防げない。

どれも特に奇をてらったものではなく、いわゆるベストプラクティスといわれるセキュリティ対策がなぜ有効なのかを攻撃側の手法とあわせて解説している。講演はとても平易でわかりやすく、かつ有用な内容なので、ぜひご覧になることをお奨めする。


ところで TAOと聞いてすぐにピンとくる方ばかりでもないと思うので最後に少し補足すると、まあわかりやすく言えば TAOは世界最強のハッカー集団である。敵対国家あるいは同盟諸国のターゲットに侵入し、国家安全保障上必要な情報の収集などを行うことを目的とした攻撃専門の部隊、それが TAOである。当然ながらこれまでその活動実態はあまり表にはでてこなかったが、2013年の Edward Snowden氏による機密情報のリークにより、さまざまなことがわかってきた。Der Spiegelや The Interceptなど複数のメディアが、Snowden氏のリークしたドキュメントにもとづいて TAOに関する多数の記事を公開している。TAOが関わっているとされる活動としては、例えば以下のようなものがある。

  • 2011年には世界中で 231の攻撃作戦を展開した。2008年には 20,000台以上のコンピュータをマルウェア (implant) に感染させた。

U.S. spy agencies mounted 231 offensive cyber-operations in 2011, documents show - The Washington Post

  • 2012年の内部資料によると、TAOは世界中で 50,000台のコンピュータをマルウェアに感染させた。

NSA infected 50,000 computer networks with malicious software - NRC

  • メキシコの Secretariat of Public Securityへの侵入。メキシコの大統領のメールにもアクセスしていた。

NSA Hacked Email Account of Mexican President - SPIEGEL ONLINE
Inside TAO: Targeting Mexico - SPIEGEL ONLINE

  • QUANTUM, FOXACIDなどのシステムを使いターゲットマシンをマルウェアに感染させる。Tor Browserを攻撃した事例がある。GCHQによる Belgacomへの侵入や、OPECへの侵入、また欧州から中東を経由してアジアとを結ぶ海底ケーブル SEA-ME-WE_4への攻撃でも QUANTUMが使われた。

Attacking Tor: how the NSA targets users' online anonymity | US news | The Guardian
GHCQ Targets Engineers with Fake LinkedIn Pages - SPIEGEL ONLINE
How the NSA and GCHQ Spied on OPEC - SPIEGEL ONLINE
Inside TAO: The NSA's Shadow Network - SPIEGEL ONLINE

  • ANTカタログ。NSAは PC、サーバ、ネットワーク機器、スマートフォンなど様々な機器に監視用のソフトウェア (implant) を埋め込むことができ、その製品カタログが存在する。Advanced Network Technology (ANT) は TAOの中の一部門

Interactive Graphic: The NSA's Spy Catalog - SPIEGEL ONLINE
NSA Secret Toolbox: ANT Unit Offers Spy Gadgets for Every Need - SPIEGEL ONLINE

  • TURBINE, TURMOILなどの攻撃自動化システムにより、大規模なマルウェア感染が可能。

How the NSA Plans to Infect ‘Millions’ of Computers with Malware


世界最高の攻撃能力があるからこそ防御も可能ということだろうか。まあその活動内容の是非はともかく、対策手法など優れた部分は大いに参考にするべきだろう。

LulzSecリーダー Sabuへの判決

5月27日、LulzSecのリーダーだった Sabuについに判決がでました。情報提供者として協力してきた結果が非常に評価されて、保護観察つきながら自由の身となりました (“time served and one year of supervised release”)。米司法省のプレスリリースによると Sabuの協力によって、8人の逮捕につながり、300以上のサイバー攻撃を未然に防いだり被害を軽減することができたとされています。

Leading Member Of The International Cybercriminal Group “Lulzsec” Sentenced In Manhattan Federal Court

Among other things, at law enforcement direction, Monsegur engaged in proactive cooperation that enabled the Government to identify, locate, and arrest eight of his co-conspirators, including Hammond. In addition, as a direct result of Monsegur’s cooperation, the Government was able to prevent or mitigate over 300 cyberattacks that were being planned or carried out by others, including on the computer servers of U.S. and foreign governments, international intergovernmental organizations, and private corporations. Monsegur also provided information on vulnerabilities in certain critical infrastructure, including at a U.S. water utility, that enabled law enforcement to secure that infrastructure.


LulzSecは 6人のコアメンバーから構成されており、約1年前にイギリスで他のメンバー 3人への判決が出ています。リーダーの Sabuはメンバーの中で誰よりも早く逮捕されていながら、他のメンバーに対する捜査に協力するなどしていたため、これまで判決が度々延期されていました。これで消息不明の Avunitを除く 5人のメンバーに判決が出たことになります。

LulzSec関連の主なタイムライン
2011年5月
LulzSecが活動開始 (最初のツイート)
2011年6月
FBIにより Sabuが逮捕される → 情報提供者として捜査に協力することに
2011年6月
LulzSecが活動停止を発表 (発表ツイート )
2011年7月
イギリスで Tflowが逮捕される
2011年7月
イギリスで Topiaryが逮捕される
2011年8月
Sabuが裁判で有罪を認める (非公開)
2011年9月
イギリスで Kaylaが逮捕される
2011年9月
アイルランドで Pwnsauceが逮捕される
2012年3月
Sabuがすでに 2011年に逮捕され FBIに協力していたことが明らかになる
2013年5月
イギリスで Topiary, Kayla, Tflowの 3人に有罪判決
2013年10月
アイルランドで Pwnsauceに有罪判決
2014年5月
アメリカで Sabuに有罪判決 ← イマココ
LulzSecメンバーへの判決内容
名前 判決時期 説明
Sabu アメリカ 2014年5月 LulzSecのリーダー。実はFBIに最初に逮捕されていたが、その後FBIへの協力者として密かに活動し、他のメンバー逮捕の決め手となる情報を提供した。裁判ではこうした貢献が考慮され、判決前の未決勾留期間(約7ヶ月)で刑を相殺し、1年間の保護観察処分つきながら自由の身となる。
Topiary イギリス 2013年5月 LulzSecの広報役として Twitterアカウントの運用やプレスリリース文の作成などをしていた。禁固24ヶ月の実刑判決を受ける。ただしまだ20才なので “Young Offender Institiution” (少年刑務所)。2013年6月に出所。
Kayla イギリス 2013年5月 ネット上では16才の女性として活動していた。禁固30ヶ月の実刑判決を受ける。2014年3月に出所。
T-flow イギリス 2013年5月 活動当時16才で実名は伏せられていたが、裁判の過程で明らかになった。禁固20ヶ月 (執行猶予2年)、300時間の奉仕活動の判決を受ける。
Pwnsauce アイルランド 2013年10月 OWASPの活動にも参加するセキュリティ研究者(学生)だったことが話題となった。2013年7月に起訴されて保護観察を経たあと、2013年10月の判決では 5,000ユーロの罰金刑のみを受ける。
Avunit ?? ?? 消息不明


あれから 3年たってようやく…


(2014-05-29 追記)
Topiaryの書いた記事と Kaylaへのインタビュー記事がでてました。
Sabu, the FBI and me: how his light sentence affects the hacking landscape | Jake Davis | Comment is free | theguardian.com
Ryan Ackroyd: 'Sabu Took Snitching to a Whole New Level'


(参考情報)
http://www.wired.com/2014/05/hector-monsegur-sabu-sentencing/
http://arstechnica.com/tech-policy/2014/05/scenes-from-the-sabu-sentencing-im-not-the-same-person-you-saw-three-years-ago/
http://www.nytimes.com/2014/05/28/nyregion/hacker-who-helped-disrupt-cyberattacks-is-allowed-to-walk-free.html
http://www.theguardian.com/technology/2014/may/27/hacker-sabu-walks-free-sentenced-time-served
http://www.ibtimes.co.uk/anonymous-hacker-turned-informant-sabu-sentenced-one-years-probation-1450172
http://cryptome.org/2014/05/monsegur-sentencing.htm
http://www.dailydot.com/news/sabu-hector-xavier-monsegur-fbi-antisec-anonymous-sentenced/
http://threatpost.com/lulzsec-hacker-sabu-sentenced-to-time-served/106295
http://www.itmedia.co.jp/enterprise/articles/1405/28/news040.html

JICS2014のセキュリティ・トラックに参加しました

先週 1/14,15に JAPAN IDENTITY & CLOUD SUMMIT (JICS) が開催され、その中のセキュリティ・トラックに参加させてもらいました。@ITさんの記事(の後半)でセキュリティ・トラックの内容について紹介されています。

Japan Identity & Cloud Summit 2014レポート:なぜ僕らはまだパスワードリスト攻撃に悩まされ続けるのか - @IT

関連するブログや Togetterのまとめもあります。
JICS2014に参加してきました。 « (n) (パネリストの一人である辻さんの記事)
JICS 2014のセキュリティ・トラックを聞いて思ったこと - r-weblife (OpenIDファウンデーション・ジャパンのエバンジェリスト ritouさんの記事)
#JICS2014 #Sec Track - クレイジーダブルポケットフランネルチェックシャツ - Togetterまとめ


このトラックでは、「ユーザの視点」「攻撃者の視点」「サイト運営者の視点」でそれぞれパスワードに関する問題について話をし、その後にパネルディスカッションを行いました。

ユーザの視点 (私)
情報漏洩の事例をもとに、多くのユーザが弱いパスワードをつけたり、パスワードを使い回したりしている状況の確認と課題の提起
攻撃者の視点 (辻さん)
攻撃者はどうやってパスワードを破るのか、攻撃手法や利用されるツールの紹介
サイト運営者の視点 (徳丸さん)
パスワードリスト攻撃への対策方法の紹介と、サイト側がどこまでやるべきなのか、悪いのは誰なのかを整理

パネルでは上記 3人にヤフーの楠さんも加わって、「リスト型攻撃の対策は結局どうしたらいいのか」「パスワードは本当にオワコンなのか」などをテーマに、どういう方向に進んでいけばいいのか、パネリスト達で議論しました。こういうパネルディスカッションには時々参加させてもらいますが、その中でも今回のパネルは中々充実した内容で非常におもしろかったと思います(参加者がどう思われたかはわかりませんが…)。内容については上の記事をご参照ください。
答えがすぐに出るようなテーマではありませんので、継続して取り組んでいく必要がありますね。


あと私の資料の中で紹介したネタについて、参考情報を以下にのせておきます。

漏洩アカウントのチェックサイト
Have I been pwned? Check if your email has been compromised in a data breach
セキュリティ研究者の Troy Hunt氏が運営しているサイト。過去に漏洩したアカウント情報をデータベース化して検索できるようにしてあります。自分のメールアドレスを事前に登録しておくと、漏洩した際にメールで知らせてくれる機能や、ドメイン検索する機能(そのドメインの管理者であることを証明する必要あり)もあります。

漏洩したパスワードを公開、販売しているサイト
UNIQPASS v14 · Large password list
Leaked Passwords
UNIQPASSは様々なサイトから漏洩したデータを集約したリストで、約2億4千万件のパスワードが含まれているらしいです。

パスワードが弱いかどうか判定するサイト
How Strong is Your Password?
パスワード チェッカー: 安全性の高いパスワードの使用 | Microsoft セキュリティ
Telepathwords: preventing weak passwords by reading your mind.
いろいろありますが、Microsoft Researchが提供する Telepathwordsはちょっとユニークです。パスワードを1文字ずつタイプすると、その文字から次の文字を推測して表示してくるので、心を読まれたような気分になります。過去に漏洩したパスワードやよく使われる言葉などから、次の文字を推測しているようです。同じパスワードでもサイトによってチェック内容が異なるため判定結果が変わってきます。

パスワードの探索空間を表示するサイト
GRC's | Password Haystacks: How Well Hidden is Your Needle?  
パスワードに使われている文字の種類と長さの情報をもとに、ブルートフォース攻撃を試みる場合の探索空間の広さを教えてくれるサイトです。パスワードの強さを判定してくれるわけではないので注意。

情報セキュリティに対する意識調査
プレス発表 「2013年度 情報セキュリティに対する意識調査」報告書を公開:IPA 独立行政法人 情報処理推進機構
IPAが毎年行っているアンケート調査の2013年度の結果。一般ユーザのパスワードの利用状況についても参考になるデータがのっています。

以上です。

JICS2014の関係者、参加者の皆様、ありがとうございました!!

よく使われるパスワード 2013年版

先週 SpalshData が "Worst Passwords of 2013" のリストを発表しました。SpalshDataはパスワード管理ソフトなどスマートフォン向けの製品を開発している会社ですが、その年に起きた情報漏洩事件のデータをもとに、ユーザがよく使うパスワードのトップ25を調べて、2011年から毎年発表しています。

リストの変遷を表にしてみました。

順位 2011年 2012年 2013年
1 password password 123456
2 123456 123456 password
3 12345678 12345678 12345678
4 qwerty abc123 qwerty
5 abc123 qwerty abc123
6 monkey monkey 123456789
7 1234567 letmein 111111
8 letmein dragon 1234567
9 trustno1 111111 iloveyou
10 dragon baseball adobe123
11 baseball iloveyou 123123
12 111111 trustno1 admin
13 iloveyou 1234567 1234567890
14 master sunshine letmein
15 sunshine master photoshop
16 ashley 123123 1234
17 bailey welcome monkey
18 passw0rd shadow shadow
19 shadow ashley sunshine
20 123123 football 12345
21 654321 jesus password1
22 superman michael princess
23 qazwsx ninja azerty
24 michael mustang trustno1
25 football password1 000000


トップ5の安定感たるや素晴らしいものがあります。2013年のリストを見ると、あちらこちらに Adobeのケースの影響が見えますね。細かな順位の変動にあまり意味はないと思いますが、ユーザがどのようなパスワードをつけているのかがよくわかります。Adobeの例でみると、漏洩件数のおよそ 1.5%が「123456」で、トップ10だけで全体の 3%を越える結果になっています。これはつまり password や 123456 などのパスワードを使ってリバース攻撃をかけると、そこそこの確率で攻撃が成功するということです。なんだ、パスワードリストなんていらないですね。

よいパスワードをつけること、使い回しをしないことはユーザの責任ではありますが、その結果が現状なわけで、不正ログインを防ぐためにどうすればよいか、みんなの頭を悩ませているわけです。

Adobeでよく使われるパスワード Top 10

Adobeから大規模な情報漏洩が起きたことが先月明らかになったが、漏洩規模は当初想定よりもかなり大きく、およそ1億5千万件のアカウント情報が漏洩している(アクティブなアカウント約3,800万件を含む)。このうち 3DES (ECBモード) で暗号化されたパスワードがおよそ 1億3千万件含まれており、これまでにさまざまな分析が行われている。SCG (Stricture Consulting Group) のセキュリティ研究者は、暗号化パスワードとともに漏洩した平文のパスワードヒントなどを手掛かりとしてパスワードの解読を試みており、Top 100パスワードリストを公開している。最も多く使われていたパスワードは「123456」で約191万件、これは全体の約 1.5%に相当する。

Adobeの情報流出で判明した安易なパスワードの実態、190万人が「123456」使用 - ITmedia エンタープライズ


これらの記事を読んで、日本のユーザでも同じだろうかという疑問が湧いたので、少しだけ調べてみた。jpドメインでは yahoo.co.jpが最も多く約100万件のメールアドレスが登録されていたので、これをサンプルとして調査することにした*1。(ちなみに 2位は hotmail.co.jp、3位は ybb.ne.jpで、jpドメインで約327万件のメールアドレスが登録されていた。)


100万件のうち14万件は暗号化されたパスワード情報を含んでいなかったため、残りの86万件のパスワード(ユニークなパスワード約63万件)を利用者の多い順に並べてみた。
(注:暗号化されたパスワードが復号できているわけではないので、あくまでも推測にすぎない。)

順位 全体での順位 暗号化されたパスワード (Base64) パスワード(推測) 該当者数 % パスワードヒントの例
1 1 EQ7fIpT7i/Q= 123456 4652 0.54 654321, 1〜6, number
2 2 j9p+HwtWWT86aMjgZFLzYg== 123456789 1265 0.15 suuji, 987654321
3 5 j9p+HwtWWT/ioxG6CatHBw== 12345678 890 0.10 1-8, 1〜8, 87654321
4 3 L8qbAD3jl3jioxG6CatHBw== password 819 0.10 pass, simple is best, pasuwa-do, P@ssw0rd
5 8 7LqYzKVeq8I= 111111 720 0.08 1*6, simple number, 222222
6 46 e+4n2zDarnvioxG6CatHBw== 1qaz2wsx 630 0.07 itumono, 123qweasd, 2wsx1qaz
7 - ZnwI3yrEWS4= sakura 620 0.07 haru, flower, hana, dog, cat, cherry
8 12 diQ+ie23vAA= 000000 579 0.07 000, 111111, 0ga6, zero6, 06, 6keta
9 41 TduxwnCuA1U= 112233 489 0.06 123, suuji, 332211
10 36 XpDlpOQzTSE= 121212 486 0.06 212121, 1212, kakeashi, kame


この結果から言えそうなことは、

  • 英字や英単語は少なく、数字のパスワードが多い
  • 日本語のパスワードやパスワードヒントが含まれる
  • 脆弱なパスワードの割合は全体の平均よりは少ない

英字が少ない点について補足すると、たとえば全体で4位の「adobe123」は約21万人ものユーザが使っているのに、yahoo.co.jpドメインに限るとわずか80人しかいない。全体 9位の「photoshop」も100人だけだ。また全体では100位圏外の「sakura」が 7位にはいっているのも日本ならではと言えるだろう。(ただし yahoo.co.jpドメインだからといってすべて日本のユーザとは限らないが。)

またこれは全体にも共通する点だが、パスワードヒントにパスワードをそのまま書いている(あるいは逆順にして書いている)人がたくさんいることもわかった。パスワードヒントに何を書けばよいかわからず、結局そのままパスワードを書いてしまうのだろう。「秘密の質問と答え」でも同じだが、パスワードを忘れたユーザのための機能が抜け穴になってしまっているようだ。こうした機能があること自体よくないと言えるだろう*2


今回紹介したパスワード Top 10はユーザが使ってしまいがちな良くないパスワードの例である。自分のパスワードには決して使わないこと!そしてパスワード漏洩時の影響を最小限に抑えるため、複数のサイトでパスワードの使い回しをしないこと!


(参考記事)
日本語では徳丸氏の記事、英語では Sophosの記事が秀逸でもっとも参考になる。また Troy Hunt氏は過去のパスワード漏洩事件でも優れた分析記事を書いており今回も大変参考になる。


Adobeサイトから漏えいした暗号化パスワードはなぜ解読されたか | 徳丸浩の日記
http://blog.tokumaru.org/2013/11/adobe.html

Anatomy of a password disaster – Adobe’s giant-sized cryptographic blunder | Naked Security
http://nakedsecurity.sophos.com/2013/11/04/anatomy-of-a-password-disaster-adobes-giant-sized-cryptographic-blunder/

Troy Hunt: Adobe credentials and the serious insecurity of password hints
http://www.troyhunt.com/2013/11/adobe-credentials-and-serious.html

pivotal analytics - An analysis of the Adobe password dump
http://pv.tl/blog/2013/11/03/adobe-password-analysis/

1286: Encryptic - explain xkcd
http://www.explainxkcd.com/wiki/index.php?title=1286:_Encryptic

How an epic blunder by Adobe could strengthen hand of password crackers | Ars Technica
http://arstechnica.com/security/2013/11/how-an-epic-blunder-by-adobe-could-strengthen-hand-of-password-crackers/

Just how bad are the top 100 passwords from the Adobe hack? (Hint: think really, really bad) | ZDNet
http://www.zdnet.com/just-how-bad-are-the-top-100-passwords-from-the-adobe-hack-hint-think-really-really-bad-7000022782/

*1:といっても、grepして cutして sortして uniqしただけです。手抜きですいません。

*2:現在 Adobeアカウントではパスワードヒント機能は使われていないようだ。

OTRでオフレコチャット!

前回の記事で (Perfect) Forward Secrecy (FS) のテーマを取り上げたが、これは TLS/SSLだけに限定した話ではない。そこで今回はメールやチャットなどのメッセージングの話題を取り上げたいと思う。

PGP

メールにおける End-to-Endの暗号化としては Pretty Good Privacy (PGP) が以前から広く使われている。NSAの内部情報をリークした Edward Snowden氏もジャーナリストと連絡を取るにあたって、必ずPGPによる暗号化を行うように要求したという。さて、PGPでは各メッセージの暗号化に使われるセッション鍵 (毎回ランダムに生成される) を受信者の公開鍵で暗号化して送る。また各メッセージのハッシュに対して送信者の秘密鍵を用いて署名を行う。一方の受信者は自身の秘密鍵でセッション鍵を復号し、この鍵で暗号化されたメッセージを復号する。また送信者の公開鍵で署名を検証することができる。PGPではこのような仕組みによって、送信されるメッセージの秘匿性と、送信者の認証を実現している。(暗号化と署名の両方とも RSAを使うか、暗号化に ELG + 署名に DSAという組み合わせで使われる。)

ここで PGPによって暗号化されたメールを通信経路上で盗聴できる攻撃者を想定しよう(NSAがまさにこの攻撃者に該当する)。この攻撃者は受信者の秘密鍵を持っていないため、盗聴した暗号メッセージを復号することはできない。しかし将来なんらかの手段によって攻撃者が受信者の秘密鍵を入手(または解読)できた場合、この攻撃者はそれまでに保存したすべての暗号メッセージを復号して見ることができてしまう。

これは前回触れた TLS/SSLにおけるRSA鍵交換と全く同じ問題だと言える。つまりPGPは Forward Secrecyを実現できていない。では FSに対応したメッセージングはないかというと、それが今回紹介する Off-the-Record (OTR) Messagingである。

OTR

Off-the-Record Messaging はその名が示すとおり、メッセージングにおいていわゆる「オフレコ」を実現するための仕組みである。「オフレコ」の会話の場合、会話の内容はその場にいた当事者しかわからない。また録音でもされない限り、その場の発言内容についてあとから誰も証明することができない。当事者達ですらそれは不可能であり、「そんなことは言っていない、言ったという証拠がどこにある」と自らの発言を否定することだってできる。これが「オフレコ」の特徴である。OTRもこれらの特徴を備えている。

OTRが提供する主な機能は以下の4つである。

  1. Encryption (暗号化)
  2. Authentication (認証)
  3. Deniability (否認可能)
  4. Perfect Forward Secrecy (前回の記事を参照)


当事者だけにしかわからないようにメッセージを伝えるためには、相手を認証 (2) した上で相手だけが復号できるように暗号化 (1) を行う必要がある。OTRでは DSAの公開鍵でまず通信相手の確認(認証)を行い、次に Diffie-Hellman鍵交換によって暗号化に必要な共通鍵を生成している。また毎回DH鍵交換を行うことによって Forward Secrecy (4) にも対応している。

OTRがちょっと変わっているのは (3)の性質だろう。「オフレコ」を実現するには発言内容をあとから否認することができなくてはならない。そのため OTRでは第三者が検証できるようなメッセージへの署名は行わない。OTRではメッセージ送信の際に MAC (Message Authentication Code) を付加するが、新しいメッセージを送信する際に古いメッセージの MACに使用した鍵を平文で送信してしまう。そのため古いMAC鍵はもはや当事者だけのものではなくなり、それまでにやりとりされた古いメッセージに限って第三者が偽造することも可能になる。これにより当事者達の否認可能性を実現しているのである。

(OTRの簡単な概要については 2005年のカンファレンス資料 (PDF)がわかりやすいのでオススメ。)


PGPとOTRとの比較

鍵交換 (暗号化) 認証 (署名) FS (PFS)
PGP RSA RSA ×
ELG DSA ×
OTR DHE DSA (署名なし)
OTRの実装

OTRはオープンソースでライブラリとして公開されており、多くのメッセージングソフトが対応している。代表的なソフトウェアとしては、Pidgin (Windos/Mac/Linux), Adium (Mac), IM+ (Android/iOS他) などがある。(Adium, IM+にはOTR機能が組み込まれているが、Pidginではプラグインとして実装されている。)
これらのソフトは Google Talk, AIM, Yahoo!, MSN, Facebook, Twitterなど複数のメッセージサービスに対応しており、これらのサービスの中で OTRを実現することが可能となっている。

OTRの基本的な使い方

使い方は非常に簡単。初回のみ鍵の生成が必要で、また相手先と初めて通信する場合には相手の確認が必要だが、それ以外は通常のチャットと同じように使うことができる。慣れてくれば暗号化されていることを意識することもない。

(1) (初回のみ) 自分の鍵を生成する (送信側、受信側双方とも必要)
(2) OTRによる通信を開始する
(3) (相手毎に最初のみ) 通信相手を確認する (Fingerprintを確認するなど)
(4) OTRによる暗号化通信を行う


OTRでは最初にメッセージ通信相手の確認 (認証) を行う必要があるが、次の 3つの方法が用意されている。
a. Question and Answer 質問とその答え (当事者しか知らない内容)
b. Shared Secret 共通の秘密 (合言葉)
c. Manual Fingerprint Verification 公開鍵のフィンガープリントを確認

a.の方法は、当事者同士しか知りえない内容について質問し、答えが一致すればOK (これは両方向に行なう)。また b.の方法では、なんらかの合言葉をあらかじめ決めておき、双方がその場で正しく入力する必要がある。c.の方法はPGPでも公開鍵の確認に使われている方法で、電話や暗号化メールなど別の信頼できる手段によって相手の公開鍵の Fingerprint情報をあらかじめ入手しておく必要がある。

なお a.は v3.2.0から、b.は v3.1.0からサポートされた比較的新しい認証方法である (現在の最新バージョンは 4.0.0)。そのため実装によってサポートしている方法には違いがある。たとえば Pidginの OTRプラグインは上記の 3つとも対応しているが、Adiumや IM+は Fingerprint方式のみに対応している。
(注:暗号化メッセージを送るだけであれば通信相手の確認なしでもできるが、その場合には MITM攻撃を受ける可能性がある。)

Adiumによる使い方の例

Adiumで Facebookメッセージをやりとりする際に OTRを利用した例を紹介する。

最初に Adiumで Facebookアカウントを追加すると OTR通信用の公開鍵/秘密鍵のペアが生成される。これはいつでも再生成することができる (図1)。

(図1) OTRの鍵生成
f:id:ukky3:20131109085801p:plain


次に通信相手とのチャットをはじめるわけだが、はじめは OTRによる暗号化が無効の状態になっている (図2の鍵アイコンが開いている)。 ここでツールバーの鍵アイコンをクリックして “Initiate Encrypted OTR Chat” を選択すると、OTRによる暗号化通信が開始される (図3)。

(図2) OTR暗号化が無効の状態
f:id:ukky3:20131109085815p:plain

(図3) OTRによる暗号化通信を開始
f:id:ukky3:20131109085835p:plain


次に送信者、受信者双方が通信相手の確認を行う。図4は相手から送信された公開鍵の Fingerprintを示している (下線部)。これをあらかじめ入手ずみのものと比較して本物かどうかの確認を行う。

(図4) 相手の公開鍵の Fingerprintを確認
f:id:ukky3:20131109085843p:plain


これで準備は整った。以降は通常のチャット同じようにメッセージのやりとりを行えばよい。

図5は Adiumでのチャットの様子を示している。赤線で囲まれた中は暗号化されたメッセージだ。同じ内容を Facebookから見たのが図6である。OTRは End-to-Endで暗号化を行なうため、メッセージを復号できるのは鍵を持っているクライアント(今回の例では Adium)だけである。そのため Facebookからは暗号化されたメッセージの中身を見ることはできない。(OTRメッセージが送信されていることは “?OTR” という文字列からわかる。)

(図5) Adium側から見た OTR暗号化通信の様子
f:id:ukky3:20131109085851p:plain

(図6) Facebook側から見た OTR暗号化通信の様子
f:id:ukky3:20131109085859p:plain


あとログを保存する設定にしていると「オフレコ」にならないので、OTRのチャットログは保存しない設定にすることをオススメする。(図7)

(図7) Adiumの設定画面
f:id:ukky3:20131109104425p:plain

まとめ

以上、メッセージングにおいて Forward Secrecyを実現する Off-the-Record (OTR) Messagingについて、その仕組みや簡単な使い方などを紹介した。残念ながらメールのプロトコルで OTR相当のことを実現することはできないが、インスタントメッセージであれば様々なサービスにおいて OTRを使うことができる。NSAによる監視問題をきっかけに、OTRは今あらためて注目されているところだ。EFFなども監視に対抗してプライバイーを守るために OTRの利用をユーザに推奨している。みなさんも一度使ってみてはいかがだろうか。


最後に、今回の記事を書くにあたり、尊敬する友人である辻氏 (@ntsuji) にご協力いただいた。この場を借りて感謝したい。


(参照)
RFC 4880 - OpenPGP Message Format
Off-the-Record Messaging
Ten Steps You Can Take Right Now Against Internet Surveillance | Electronic Frontier Foundation
Encryption Works: How to Protect Your Privacy in the Age of NSA Surveillance | Freedom of the Press Foundation
NSA Surveillance: a Guide to Staying Secure
Opt out of global data surveillance programs like PRISM, XKeyscore, and Tempora - PRISM Break