【鬼ゆる解説】Google先生が「SHA-1」を破った件を理系女子大生が恋愛に例えてみた。学習ガイドtwitterLINECodeCampusビジネス【鬼ゆる解説】Google先生が「SHA-1」を破った件を理系女子大生が恋愛に例えてみた。【鬼ゆる解説】Google先生が「SHA-1」を破った件を理系女子大生が恋愛に例えてみた。2017年3月3日シェアツイートシェアブックマーク2月23日、Googleがハッシュ関数「SHA-1」に対する衝突攻撃に成功したことを発表しました。私は現在工学部で情報セキュリティ・暗号理論の研究室に所属する恋愛依存症な理系女子大生ライターranranといいます。(...要素が多すぎる)「SHA-1」はアメリカ標準となっている代表的な暗号学的ハッシュ関数です。ブラウザの安全性の確保などを中心に様々なセキュリティシステムに利用されていましたが、2005年にはSHA-1に対する攻撃方法が発見され、段階的に利用が廃止されてきました。Googleは今回その実用的な攻撃に成功し、より早急にSHA-1の使用を中止し、安全なSHA-256やSHA-3への移行することを促しています。...と要約するとこんな感じ(もはや読まなくていいです)なのですが、情報セキュリティに関する知識がない人からすると、「話題にはなっているけど、それがどうしたの?」「なにそれ、やばいの?」という感じのかなーり専門的なニュースです。私も初めてSHA-1を教科書で見たときも「せんせ〜い!これなんて読むの?...しゃーいち?」という感じでした。ちなみに、SHA-1はシャーワンと読む人が多いです。エスエイチエイワンと読んでもいいし、まあ、結構適当っぽいです。暗号技術って...もし無くなったら今の世の中は破綻するどころじゃ済まないくらい凄く凄く大切なテクノロジーです。普通に生活しているとその存在を意識することはありません。縁の下の力持ち系テクノロジーだと思っています。詳しい技術について理解する必要はありませんが、その重要性やいかに自分の生活に密着している技術なのかを少しでも知ってもらいたいなあ〜と思い、今回はGoogleさんがSHA-1への攻撃に成功した件について、鬼のようにゆるーく解説していきたいと思います。No.1のCodeCampが運営するプログラミング未経験の方のための学習メディアですCodeCampとは?(受講生体験記)「エンジニアは女性のキャリアとして魅力的」未経験からの転職体験記リモートワーク×多拠点居住の新しい生き方を実現する。キャロ子ちゃん...他に好きな人ができたから、俺と別れてほしいんだけど。きゃろ子ちゃん...えっ。して?好きな人って誰なの?バイト先の後輩のあり美ちゃんだよ。...なんで?!?なんで、あんな女なのよ!許さない!!!きゃろ子ちゃんの呪い1:改ざんそれからぼぶ男くんは大好きなあり美ちゃんに猛アタックしました。あり美ちゃんを射止めることに成功、めでたくカップルに...。付き合いたてのある日、ぼぶ男くんの元にあり美ちゃんからこんなメッセージが届きました。]翌日、ぼぶ男くんはワクワクしながら約束の時間よりも少し早くに待ち合わせ場所へ向かいました。待ち合わせ場所に到着すると、既にそこにはあり美ちゃんの姿がありました。ぼぶ男くんあり美ちゃん待った?ちょっと早めに来たつもりだったんだけど、俺の方が後だったかあ。あり美ちゃんはあ?何が「ちょっと早め」よ!言ってる意味がわかんないんだけど。えっ?私、12時にハチ公前ってメッセージ送ったよね?えっ...13時って書いてあったと思うんだけど。そんな意味不明な言い訳しないで。今日はデートする気失せたから帰るね。え〜〜!!!その後、ぼぶ男くんは何度もあり美ちゃんからのメッセージを見直してみましたが、そこに書いてある時間13時でした。きゃろ子ちゃんの呪い2:なりすましこの前のことはきっと何かの間違いだろう...とあまり深く考えず、ぼぶ男くんはひたすら謝り倒し、なんとかあり美ちゃんと仲直りすることができました。そんなぼぶ男くんの元に再びあり美ちゃんからメッセージが届きます。あり美ちゃんからのメッセージ[この前は私もキツイこと言っちゃってゴメンね。デートしよう!明日、新宿駅の東口で18時に待ってるね!]ぼぶ男くんは仲直りできた安堵感に包まれながら、前回と同じく約束時間よりも少し早めに待ち合わせ場所に向かいました。ぼぶ男くんあれ、あり美ちゃんまだ来ていないのかな?しかし、約束の時間を過ぎてもあり美ちゃんは現れませんでした。きゃろ子ちゃん...Bくん?突然、名前を呼ばれて振り向くと、そこにはぼぶ男くんが振ったきゃろ子ちゃんが立っていました。...っ?!なんでここにいるんだ?だって、18時に新宿駅の東口で待ち合わせてデートする約束したでしょ?いや、俺は...あり美ちゃんと!ちょっと、あり美ちゃんに連絡しt...もう遅いと思うけどなあ〜。俺、やっぱりきゃろ子ちゃんのことが忘れられない。明日、きゃろ子ちゃんと会ってくる。]ってメッセージをあり美ちゃんに送ったから。勘が鋭い方は既にお分かりかもしれませんが...簡単に解説すると、きゃろ子ちゃんの呪い1では、きゃろ子ちゃんがあり美ちゃんがぼぶ男くんに送ったメッセージの待ち合わせ時間を勝手に書き換えていました。このことを改ざんといいます。次に、きゃろ子ちゃんの呪い2では、きゃろ子ちゃんがあり美ちゃんになりすましてぼぶ男くんにメッセージを送っていました。長くなってしまいましたが、(いやいや、メッセージってなんだよ!いまどきLINEだろ?てか、あり美ちゃんに確認したらいいだろ!みたいなツッコミもあるかと思いますが...)インターネットを使う際に、きゃろ子ちゃんのようにメッセージの改ざんやなりすましが簡単にできてしまったら、かなーーーりヤバいと思いませんか?ハッシュ関数についてこのようなきゃろ子ちゃんの呪い(データの改ざんやなりすまし)を防ぐために使われているのがハッシュ関数です。具体的にどうやっているのか?まず、ハッシュ関数は長いメッセージから固有の短いメッセージを作ることができる関数です。厳密には違いますが、この固有の短いメッセージというのは内緒話をするときの合言葉みたいなイメージです!(ちなみに、情報セキュリティ用語では合言葉のことをハッシュ値といいます。)また、このハッシュ関数は元のメッセージから合言葉を作るのは簡単だけど、合言葉から元のメッセージを出すのはめちゃくちゃ難しいという特徴を持っています。あり美ちゃんがぼぶ男くんがメッセージを送る場合。あり美ちゃんは送りたいメッセージからハッシュ関数を使ってハッシュ値(A)を出します。ぼぶ男くんにメッセージと共にハッシュ値(A)を送ります。ぼぶ男くんは受け取ったメッセージからハッシュ関数を使ってハッシュ値(B)を出し、自分が出したハッシュ値(B)とあり美ちゃんから送られて来たハッシュ値(A)を比較します。このとき、2つのハッシュ値が一致していればあり美ちゃんのメッセージは改竄されていないと判断することができます。これを署名文に使うことによってなりすましを防止することもできます。なんとなーく、ハッシュ関数のイメージは掴めたでしょうか?で、Googleは何をしたの?再びテクノロジーなお話は忘れて、次のような状況を考えてみてください。すごーくチャラい男女7人の仲良しグループがありました。グループ内の男女の内訳は女の子が4人と男の子が3人です。すると、そのグループに属していない誰かが言いました。「あのグループ、全員がグループ内の誰かと付き合っているらしいよ!」...それ絶対男1人以上、二股してるやん!!!!!!!これが、数学的には鳩ノ巣の原理と言われるものです。ハッシュ関数もこの状況と同じようにちょっぴり浮気症なんです。元のメッセージがこの状況でいう女の子、合言葉が男の子です。しても長いメッセージを短い合言葉にしようとする、どこかで必ず合言葉が被ってしまいます。言い換えると、異なるメッセージから同じ合言葉ができてしまうことがあるということです。このように合言葉が被ってしまうことを情報セキュリティ的には衝突と言います。自分が女で、男のほうが少ない環境にいて友達と好きな人(あるいは彼氏)が被っちゃった!って状況と多分だいたい同じです。今回、Googleは異なる2つのPDFデータに対しSHA-1を用いて、同一のハッシュ値を持たせることに成功しました。状況的には、世話焼きな「ぐぐちゃん」は具体的な証拠はないもののほぼ確実に浮気されている女友達・「はっしゅ子」に対し、何度も『その男やめておきなさいよ!』と注意していたのに、ずるずる付き合い続けるもんだから...はっしゅ子の彼氏の浮気相手の女の子を探してきちゃったって感じ。Blogより引用もちろんインターネット上などで扱っているデータというのは例に出した状況のように小規模ではないし、ハッシュ関数についてもそんなに単純なものではないので、そう簡単にハッシュ値が被ることはありません。SHA-1についても、Googleは今回の攻撃を成功させるためには全部で900京回以上の計算が必要だと発表しています。いえ、好きな相手を手にいれるためだったらどんなことでもするようなサイコパスみたいな人っているじゃないですか。それと同じで、めちゃめちゃ資金力のある悪い人が「攻撃しよっかな〜!」と思ったら、どうなるか分かりませんよね。家事も仕事もプログラミングも。(暗号アルゴリズムを評価する機関)からも2013年までに利用を停止するように!という勧告を出しています。その後も研究が進み、さらにお手軽にSHA-1は破られる危険性があるよ!という報告がされています。こんな女の子いません?「いい加減そんなダメ男とは別れなよ!」と周りの友達から言われながらもなかなか別れられないダメンンズウォーカー。SHA-1についてもそんな感じの状況。「危ないから使うのやめよーよ!」って言ってるのに、まだ使い続けている奴いるんだけど...みたいな。Layer)といいいます。それに加え、そのウェブサイトの運営者の身元を確認することができる証明書がSSLサーバー証明書です。ちなみに、これはブラウザのアドレスバーで確認できます。URLが「https://」で始まっているサイトはSSLサーバー証明書を使用しています。鍵マークをクリックすると、その証明書の内容を確認することができます。そんなものすごーく大切なSSLサーバー証明書の署名に以前はSHA-1が使われていました。現在でもその証明書を利用しているウェブサイトの運営者がいます。?いますぐやばい!ピンチ!死ぬ!っていうわけではないですが、SHA-1のSSLサーバー証明書を使っているサイトで個人情報なんかは絶対入れたくないですよね。「絶対誰にも言わないから〜好きな人教えてよ〜!」という女友達のセリフ以上に怖いです。CodeCamp提供のWebマスターコース当メディアを運営しているCodeCampではWebマスターコースを現役エンジニアのマンツーマンレッスンという形で提供しています。実際にWebサービスをを開発するのでポートフォリオとしても使用できる無料レッスン受講後の申し込みで10,000円クーポンをプレゼントしています!ぜひお試しください。\Webサイト担当者としてのスキルが身に付く/CodeCampの無料体験はこちら▶︎無料体験レッスンの申し込みはスマフォで1分で完了!まとめ暗号技術の縁の下の力持ち感、ご理解いただけたでしょうか?何か悪いことが起こらない限り、その存在が表にでることがあまりない暗号技術ですが、その悪いことが起こらないために日々研究、改良が行われています。一見すると結構地味ですが、本当に本当に本当に大切な技術です。IoTの技術の進歩などでも分かるように、今後さらにインターネットが私たちの生活に浸透していくに当たり、ますますセキュリティ技術の需要は高まります。「自分のしている通信が果たして安全なものなのか」、「どんなセキュリティシステムが利用されているのか」というように少しでもインターネットセキュリティについて関心を持ってもらいたいと思います。そんな都合よく自分のことだけを愛してくれて、守ってくれる男なんていないんです。愛されるイイ女になるには男の性質や考えかたを学んび、上手に扱えなければならないんだ!!!...とそんなことを考えながら、日々彼氏の行動を分析しつつ、暗号のお勉強に励むranranが解説させていただきました。家事も仕事もプログラミングも。【2020年版】社会人でも通いやすいプログラミング教室5選|選び方の基準も解説プログラミング学習プログラミングスクール・サービス「エンジニアは女性のキャリアとして魅力的」モノづくり好き理系女子がWebエンジニアへ転職するまで受講生インタビュープログラミング未経験で介護師からエンジニアへ。家事も仕事もプログラミングも。受講生インタビュープログラミング習得後、フリーランスに転身。受講生インタビューフリーランス塾講師からエンジニアへ26才で転職。先生の支えがあって成長できました。学習ガイドtwitterLINE。