ブックマーク / jovi0608.hatenablog.com (25)

  • 書評 プロフェッショナルTLS&PKI 改題第2版 (PR) - ぼちぼち日記

    はじめに 『プロフェッショナルTLS&PKI改題第2版(原題: Bulletproof TLS and PKI Second Edition)』が出版されました。今回は出版前のレビューには参加していませんが、発売直後にラムダノートさんから献をいただきました。ありがとうございます(そのためタイトルにPRを入れてます)。原著のサイトでは前バージョンとのDiffが公開されており、今回は翻訳の確認を兼ねて更新部分を重点的に読みました。このエントリーでは、改訂版のアップデート部分がどのようなもので、今後どう学んだらよいかということを中心に書いてみたいと思います。 短いまとめ: HTTPSへの安全意識が高まっている今だからこそ『プロフェッショナルTLS&PKI』を読みましょう。 長文注意!: 書いているうちに非常に長文(1万字以上)になってしまったので、長文が苦手な方は、GPT-4要約(400字)を

    書評 プロフェッショナルTLS&PKI 改題第2版 (PR) - ぼちぼち日記
  • 「SSL/TLS暗号設定ガイドライン 第2.0版」を読んで - ぼちぼち日記

    1. はじめに 昨日「SSL/TLS暗号設定ガイドライン 第2.0版」が公開されました。 前回から約3年経って今回はCRYPTREC暗号技術活用委員会で検討作業が行われたようです。 普段、TLS/HTTPSの記事を書いたり発表したりしている立場上、これを見逃すわけにはいけません。 文冒頭では、 「ガイドラインは、2018 年 3 月時点における、SSL/TLS 通信での安全性と可用性(相互接続性)のバランスを踏まえた SSL/TLS サーバの設定方法を示すものである。」 ということなので、できたてほっかほっかの最新ガイドラインを読ませていただきました。 読み進めてみるとChangelogが細かく書いてなく、以前のバージョンとどこがどう変わったのかよくわかりません。TLS1.3とかは絶対に新しく入った内容なんですが、細かいところはどうだろう… それでも全部(SSL-VPNを除く)をざっと

    「SSL/TLS暗号設定ガイドライン 第2.0版」を読んで - ぼちぼち日記
  • RPCに特化したGoogleのセキュリティ通信ALTSとは何か - ぼちぼち日記

    はじめに 昨年、Googleから Google Cloud Platform に関するWhitePaperがいくつか公開されました。その中でGoogleのサービス内部で使われている新しいALTSというプロトコルを説明した文書「Application Layer Transport Security」は、読んでみると非常に面白く、セキュアなサービス間通信には当に何が必要なのか、といったことを改めて深く考えさせられるものでした。物理的なマシンからサービス運用まで、ALTSがカバーする範囲は幅広い領域に渡り、あの巨大なGoogleのサービスをよくここまでまとめ上げたものだとホント感心させられます。 以前から、Googleはデータセンタ内のサービス通信までも暗号化を進めていると言われていました。それは、2013年にエドワード・スノーデンが暴露した資料が、Googleのデータセンタ内部の通信データ

    RPCに特化したGoogleのセキュリティ通信ALTSとは何か - ぼちぼち日記
  • 書評:プロフェッショナルSSL/TLS - ぼちぼち日記

    ごめんなさい、書いてたら長くなってしまいました。長文嫌いな方は避けて下さい。 鹿野さんの名前を間違えてました。大変失礼しました。(_O_) 1. はじめに。日語翻訳版刊行によせて、 昨年10月、Vさんから 「 Bulletproof SSL and TLS 翻訳のレビューします?時雨堂が出資してる出版会社が翻訳権を勝ち取ったのです。」 とお誘いを受けたのが、そもそもの始まりでした。 「とうとうあれの日語翻訳が出るのか、でもホント大丈夫か? 内容の濃さもさることながらあの分量とクオリティ、記述の正確さや厳密さに対して特に高いものが要求されるセキュリティ分野。しかも初心者向けではないエキスパート向け。このの翻訳を出すとは… なんと大胆、少し無謀なことではないか?」 との思いが正直頭をよぎりました。 自分もちょうど17年半勤めた前職を辞めて転職した直後。新任早々こんなことしても許されるの

    書評:プロフェッショナルSSL/TLS - ぼちぼち日記
  • OpenSSLの脆弱性(CVE-2017-3733)に見られる仕様とcastの落とし穴 - ぼちぼち日記

    0. 短いまとめ OpenSSL-1.1.0dに脆弱性(CVE-2017-3733)が見つかり、Encrypt-Then-Mac と renegotiation を組み合わせて crashさせることができました。 この脆弱性は、仕様の準拠不足や不適切な変数の cast などが原因でした。 TLS1.3ではこういう落とし穴が少なくなるよう機能の根的な見直しが行われています。 1. はじめに 先週 OpenSSL-1.1.0d に対してセキュリティアップデートがあり、 Encrypt-Then-Mac renegotiation crash (CVE-2017-3733)という脆弱性(Severity: High)が公開されました。 対象となった 1.1.0 は、昨年2016年8月にリリースされたOpenSSLの新しいリリースブランチです。1.1.0ではAPIの大幅変更もあり、まだあまり普及

    OpenSSLの脆弱性(CVE-2017-3733)に見られる仕様とcastの落とし穴 - ぼちぼち日記
  • 新しいTLSの暗号方式ChaCha20-Poly1305 - ぼちぼち日記

    Disclaimer エントリは、近々IETFで標準化される予定の新しいTLSの暗号方式 ChaCha20-Poly1305 について解説したものです。 来なら、新しい暗号方式を紹介するいうことは、その暗号の安全性についてもちゃんと解説しないといけないかもしれません。しかし一般的に暗号の安全性評価はとても難しく、専門家でない者が暗号の安全性について軽々しく書くわけにはいかないなとも思いました。いろいろ悩みましたが、結局無用な誤解を避けるため、エントリーでは ChaCha20-Poly1305 の安全性に関する記載を最小限に留めています。 今回紹介する ChaCha20-Poly1305 は、これまでも様々な暗号研究者の評価を受けている暗号方式ですが、まだNISTの標準や某国の推奨暗号リストに掲載されるといった、いわゆる特定機関のお墨付きをもった暗号方式ではありません。記載内容が中途半

    新しいTLSの暗号方式ChaCha20-Poly1305 - ぼちぼち日記
  • ハッシュ衝突でTLSを破るSLOTH攻撃(CVE-2015-7575)とは何か - ぼちぼち日記

    0. 簡単なSLOTH攻撃のまとめ 最初に簡単なまとめを書いておきます。長文になりそうなので、読むのが大変な方はここだけ見ておいてください。 MD5ハッシュは既に安全ではなく、証明書の署名方式での利用は停止されていたが、後方互換のためハンドシェイクデータの署名方式にRSA-MD5が今でも利用できるTLS実装が幾つか存在していた(Firefox NSS, Java等)。 先週、INRIAグループからハッシュ衝突を利用して実際にTLSを破る攻撃(SLOTH)が公開された。それを受け、いくつかの実装でRSA-MD5を完全に利用不能にする修正が行われた(CVE-2015-7575)。 SLOTHでは、SHA1やTLS、IKE、SSHに対する攻撃についても評価を行い、幾つかは全く現実的に不可能なレベルではないことが示された。MD5とSHA-1でTLSハンドシェイクの完全性を担保しているTLS1.0/

    ハッシュ衝突でTLSを破るSLOTH攻撃(CVE-2015-7575)とは何か - ぼちぼち日記
  • HTTP/2時代のバックエンド通信検討メモ - ぼちぼち日記

    1. はじめに、 今朝、こんな返事を元に kazuho さんとIPsec/TLS等バックエンド通信について議論する機会を得ました。 せっかくだから現時点での自分の考えを整理してメモとして残しておきます。 普段ちゃんとしたストーリをもったエントリーしか書いていないのですが、今回は時間がないのでちゃんとした論理的文章になっていないメモ程度のものです、あしからず。 以下、フロント側に HTTP/2 を導入した場合のバックエンド通信をどう考えるかのメモです。 2. 性能的観点 フロントにHTTP/2を導入したということは、ブラウザのHTTP HoLブロック解消が目的の一つだと思う。HTTP/2の多重化通信によってクライアントからこれまで以上の同時リクエストをさばかないといけない(だいたい初期値は同時100接続ぐらいに制限されていると思う)。 他方バックエンド側通信は、クライアント側がブラウザではな

    HTTP/2時代のバックエンド通信検討メモ - ぼちぼち日記
  • OpenSSLの脆弱性(CVE-2015-1793)によるAltチェーン証明書偽造の仕組み - ぼちぼち日記

    TL;DR やっぱり書いていたら長文になってしまいました。あまりちゃんと推敲する気力がないので、変な文章になっているかもしれません。ご了承いただける方のみお読みください。 1. はじめに 昨晩未明にOpenSSL-1.0.2d, 1.0.1pがリリースされました。事前に予告されていた通り深刻度高の脆弱性CVE-2015-1793が修正されています。Advisoryを見ると、この脆弱性がiojs/Nodeに影響があるということが判明したので直ちにiojs/Nodeのアップデートを行い、今朝未明に無事脆弱性対応版をリリースしました。 今回が初めてではありませんが、深夜に日欧米のエンジニアgithub上で互いに連携しながら速やかにセキュリティ対策のリリース作業を行うことは何回やってもなかなかしびれる経験です。時差もありなかなか体力的には辛いものがありますが、世界の超一流のエンジニアと共同でリア

    OpenSSLの脆弱性(CVE-2015-1793)によるAltチェーン証明書偽造の仕組み - ぼちぼち日記
  • 華麗なる因数分解:FREAK攻撃の仕組み - ぼちぼち日記

    1. はじめに ちょうど今朝 OpenSSLをはじめとした様々なTLS実装の脆弱性の詳細が公表されました。 この InriaとMSRのグループは以前からTLSのセキュリティに関して非常にアクティブに調査・検証をしているグループで、今回も驚きの内容でした。 このグループは、TLSのハンドシェイク時の状態遷移を厳密にチェックするツールを開発し、様々なTLS実装の脆弱性を発見・報告を行っていたようです。 特にFREAKと呼ばれるOpenSSLの脆弱性(CVE-2015-0204)に関しては、ちょうど修正直後の1月初めに Only allow ephemeral RSA keys in export ciphersuites で見ていましたが、具体的にどのように攻撃するのかさっぱりイメージできず、あのグループだからまた超絶変態な手法だろうが、まぁそれほど深刻じゃないだろうと見込んでいました。 今回

    華麗なる因数分解:FREAK攻撃の仕組み - ぼちぼち日記
  • Node.jsにPromiseが再びやって来た! - ぼちぼち日記

    tl;dr サンプルコードを付けたら記事がかなり長くなってしまったのでご注意下さい。 Node.jsの current master で V8がアップデートされ ES6の Promise が使えるようになりました(要オプションですが)。Promise を使うと Node.jsの非同期処理がどのようになるのか、Stream と Promise を組み合わせた使い方なども含めて紹介します。 1. はじめに Nodeの次期安定版 v0.12は、すぐ出ると言われながら既に v0.10のリリースから1年が過ぎてしまいました。 現在、v0.12の主要な新機能の実装は完了していますが、まだ安定版のリリースに向けて手当できていない部分が残っている感じです。そんな残っている部分の一つだった V8 のアップデートが先週末に行われました。 deps: update v8 to 3.24.40 (3/19現在は

    Node.jsにPromiseが再びやって来た! - ぼちぼち日記
  • SPDYとLinuxの間でGoogleマップがハマった落とし穴 - ぼちぼち日記

    tl;dr 書いていたら思わず長文の大作になってしまいましたので、プロトコルオタ以外の方は文章の多さに退屈されるかと思います。GoogleマップサービスでSPDYの問題が発覚し、GoogleLinuxカーネルに修正を加えて対応したというお話です。将来 Linux + nginx + SPDY を使いリバースプロキシでサービス運用を検討されている方は参考になるかもしれません。 1. はじめに、 プロトコルに執着する年寄りエンジニア老害が叫ばれて久しい。 年甲斐もなく自分好みのパケットを追っかけるおやじエンジニアの姿を見て眉をひそめる若者も多いと聞く。 そんな批判に目もくれず、今日も一つ、プロトコルオタのネタをブログで公開したいと思いますw 今回はちょうど1年ほど前に書いたブログ記事 「GmailがハマったSPDYの落とし穴」の続編です。といっても今度の舞台は、Googleマップ。ネタ元も

    SPDYとLinuxの間でGoogleマップがハマった落とし穴 - ぼちぼち日記
  • 隠れていたNode.jsの4バイトメモリリーク、Walmart問題の解決 - ぼちぼち日記

    この記事は、 Node.js Advent Calendar 2013 - Adventar の12日目です。 1. ありがとう Ben Nodeの情報に普段アンテナを張っている人は既にご存じでしょうが、Nodeコア開発の中心的エンジニア Ben Noordhuis がNodeのコアチームから離れました。Node.jsの公式ブログに「Ben Noordhuis's Departure」としてアナウンスされています。 なぜ彼がNodeの開発を止めなければならなかったのかその経緯をここで述べることは控えますが、彼のこれまでの貢献なしでは今のNodeは存在し得なかった、と言えるほど彼は重要な存在でした。Benは、Nodeやlibuvのコードの開発だけでなく、github の issue の回答やPRのレビュー、 MLの質問の返答などNodeコミュニティにも精力的に対応し、去年来日した isaac

    隠れていたNode.jsの4バイトメモリリーク、Walmart問題の解決 - ぼちぼち日記
  • Googleが仕掛ける新プロトコルQUICとは何か - ぼちぼち日記

    まずは免責事項。 1.Disclaimer ブログの記載内容は、筆者が独自に QUIC に関する Chromium のソースを分析し、検証した結果です。 QUICに関するGoogle からの公式な技術資料は現状公開されていません。 今後、QUICの技術仕様の公表でブログの記述内容が不十分だったり、誤っている可能性があります。ご理解の上お読みください。 (注: 2013年6月27日に Google は正式に QUIC 仕様を公開しました。「Experimenting with QUIC 」 ブログの内容は大筋では間違っていませんが、当時の解析漏れやその後の開発等により、細かいところで異なっていたり、説明が大きく不足している部分もあります。お読みになる際はご注意ください。) 2. はじめに、 Googleがまたまた新しいプロトコルの実装を始めました。Web表示の高速化を目指した SPDY

    Googleが仕掛ける新プロトコルQUICとは何か - ぼちぼち日記
  • Node API のクラス図を公開しました。 - ぼちぼち日記

    東京Node学園祭2012 アドベントカレンダー 13日目の記事です。 はじめに、 自分が Node.js を一番最初に使い始めた頃、Hello World のサンプルコードを動かしたのはいいけど、その後にNodeマニュアルを読んで勉強し始めたら内容が全然理解できず、挫折しちゃった思い出があります。 人のサンプルコードやモジュールの中身とかもいろいろ見てみたんですが、 .on() ってなんのオブジェクトにもつけていいの? req と res とかどっから出てきたの? どう使うの? イベントってどれだけ種類があって、どういう時に発生するの? なんて???がたくさんついて前に進みません。マニュアルを見てもなかなか探し出せないし、読んでもちゃんと書いてあることが理解できません。 一度マニュアルで調べたところもすぐ忘れる。何度も同じところを調べているのに全然ものになっていない。あぁこりゃダメだなと

    Node API のクラス図を公開しました。 - ぼちぼち日記
  • 次世代JavaScriptでデータバインディング: Object.observe() を試す - ぼちぼち日記

    1. はじめに、 記事は、HTML5 Advent Calendar 2012の参加(6日目)エントリーです。 当初は昨年のアドベントカレンダーでテーマにしたマイナーAPIをネタにして書こうかと考えていたのですが、探してもあまりピンとくるものがなく、いつものごとく新技術ネタに飛びついてしまう習性がでてしまったので今回次世代JavaScript(ES.harmony)ネタ(Object.observe)を書かせていただきます。 現時点では直接HTML5とは関係ありませんが、標準で利用できるようになったら皆さんがお世話になる機会が必ず増えると予感しています。今の時点で知っておいてもらっても絶対損はないと思いますのでどうかご了承ください。 (_O_) 2. Object.observe() とは何か? 先日のHTML5勉強会でも取り上げられましたが、最近 JavaScript の MVC フレ

    次世代JavaScriptでデータバインディング: Object.observe() を試す - ぼちぼち日記
  • GREEが悩むNode.jsの問題を考えるヒント - ぼちぼち日記

    先日 GREEを支える大規模インフラテクノロジー」-GREE Platform Summer Conference 2012 という記事が公開され、GREEのCTOの藤さんが、 javascriptをサーバーサイドでも使うケースが多くなってきていて、必然的にnode.jsを使うことになるが、大きく3つの問題がある。 ひたすらすごい勢いでバージョンアップしているので安定しない。コストを払ってついていく覚悟を持って取り組んでいる。 メモリリークがあるので、サーバを起動しっぱなしにするとメモリがいつぶされる。 コードをデプロイしても再起動しないと読み込まれない。 (中略) これで絶対大丈夫という解決策がなくて、node.jsで一番悩んでいる。これでバッチリ解決するというものがあれば、是非教えて欲しい。 といった話が掲載されていました。 GREEさんに限らず一般的に Node に対して同じ問題

    GREEが悩むNode.jsの問題を考えるヒント - ぼちぼち日記
  • 求む!TLS1.3の再接続を完全に理解した方(Challenge CVE-2020-13777) - ぼちぼち日記

    1. GnuTLSの深刻な脆弱性(CVE-2020-13777) 先日、GnuTLSで深刻な脆弱性が見つかりました。 GNUTLS-SA-2020-06-03: CVE-2020-13777 It was found that GnuTLS 3.6.4 introduced a regression in the TLS protocol implementation. This caused the TLS server to not securely construct a session ticket encryption key considering the application supplied secret, allowing a MitM attacker to bypass authentication in TLS 1.3 and recover previous c

    求む!TLS1.3の再接続を完全に理解した方(Challenge CVE-2020-13777) - ぼちぼち日記
  • Windows CryptoAPIの脆弱性によるECC証明書の偽造(CVE-2020-0601) - ぼちぼち日記

    1. はじめに つい先日のWindowsセキュリティアップデートWindowsCryptoAPIの楕円曲線暗号処理に関連した脆弱性の修正が行われました。 「CVE-2020-0601 | Windows CryptoAPI Spoofing Vulnerability」 これがまぁ世界の暗号専門家を中心にセキュリティ業界を驚かせ、いろいろ騒がしています。 その驚きの一つは、この脆弱性の報告者がNSA(米国家安全保障局)だったことです。NSAはMicrosoftのアナウンスとは別により詳しい内容でこの脆弱性を警告するアナウンスを出しています。 「Patch Critical Cryptographic Vulnerability in Microsoft Windows Clients and Servers」 これまで数々の諜報活動をインターネット上で行ってきたNSAが、この脆弱性を

    Windows CryptoAPIの脆弱性によるECC証明書の偽造(CVE-2020-0601) - ぼちぼち日記
  • Google Chrome EV表示の終焉 - ぼちぼち日記

    1. Chrome でEV証明書の組織名表示がなくなる ついにGoogleからChromeのURLバーからEV表示を削除する正式なアナウンスが出ました。 Upcoming Change to Chrome's Identity Indicators EV UI Moving to Page Info 現在(2019年8月) StableのChrome76では、以下の様にURLバー左側にEV証明書を利用していることを示す「組織名+国名」表示が付いています。 Chrome76のEV表示 2019年9月10日Stableリリース予定のChrome77からはEV表示がURLバーから削除され、鍵アイコンをクリックして表示されるPage Infoに「組織名+国名」が表示されるようになります。 Googleのアナウンスでは、 "on certain websites" と書いてあることから一気にではなく

    Google Chrome EV表示の終焉 - ぼちぼち日記