ぼちぼち日記

おそらくプロトコルネタを書いていることが多いんじゃないかと思います。

書評 プロフェッショナルTLS&PKI 改題第2版 (PR)

はじめに 『プロフェッショナルTLS&PKI改題第2版(原題: Bulletproof TLS and PKI Second Edition)』が出版されました。今回は出版前のレビューには参加していませんが、発売直後にラムダノートさんから献本をいただきました。ありがとうございます(そのた…

FLoCとはなにか

1. はじめに Google がChrome/89よりトライアルを開始しているFLoC (Federated Learning of Cohorts)技術に対して、現在多くの批判が集まっています。 批判の内容は様々な観点からのものが多いですが、以前より Privacy Sandbox に対して否定的な見解を示し…

GnuTLSの脆弱性でTLS1.3の再接続を理解する(Challenge CVE-2020-13777)

(TLDR; めちゃくちゃ長くなったので、長文読むのが苦手な方は読まないようお願いします。) 1. はじめに 前回の「求む!TLS1.3の再接続を完全に理解した方(Challenge CVE-2020-13777)」 の記事にて、GnuTLSの脆弱性(CVE-2020-13777)のPoCを募集しました。 短…

求む!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…

Let's EncryptがはまったGolangの落とし穴

0. 短いまとめ 300万以上の証明書の失効を迫られたLet's Encryptのインシデントは「Golangでよくある間違い」と書かれているようなバグが原因でした。 1. はじめに、 Let's Encryptは、無料でサーバ証明書を自動化して発行するサービスを行う非営利団体とし…

Windows CryptoAPIの脆弱性によるECC証明書の偽造(CVE-2020-0601)

1. はじめに つい先日のWindowsのセキュリティアップデートでWindowsのCryptoAPIの楕円曲線暗号処理に関連した脆弱性の修正が行われました。 「CVE-2020-0601 | Windows CryptoAPI Spoofing Vulnerability」 これがまぁ世界の暗号専門家を中心にセキュリティ…

なぜChromeはURLを殺そうとするのか? (Chrome Dev Summit 2019)

今年もChrome開発者の集まりChrome Dev Summit 2019 (CDS) がサンフランシスコで開催されました。 今回、私が Chrome Customer Advisory Board (CAB) に選出していただいたこともあり、CDSに初めて参加しました。 これは、CDS終了後のCAB meetingで頂いたChr…

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では、以下…

Node.jsにおけるプロトタイプ汚染攻撃とは何か

1. はじめに 最近わけあってNodeのセキュリティ調査をしているのですが、今年の5月に開催された North Sec 2018 でセキュリティ研究者の Olivier Arteau 氏による 「Prototype pollution attacks in NodeJS applications」という面白い発表を見つけました。 …

「SSL/TLS暗号設定ガイドライン 第2.0版」を読んで

1. はじめに 昨日「SSL/TLS暗号設定ガイドライン 第2.0版」が公開されました。 前回から約3年経って今回はCRYPTREC暗号技術活用委員会で検討作業が行われたようです。 普段、TLS/HTTPSの記事を書いたり発表したりしている立場上、これを見逃すわけにはいけま…

RPCに特化したGoogleのセキュリティ通信ALTSとは何か

はじめに 昨年、Googleから Google Cloud Platform に関するWhitePaperがいくつか公開されました。その中でGoogleのサービス内部で使われている新しいALTSというプロトコルを説明した文書「Application Layer Transport Security」は、読んでみると非常に面…

書評:プロフェッショナルSSL/TLS

ごめんなさい、書いてたら長くなってしまいました。長文嫌いな方は避けて下さい。 鹿野さんの名前を間違えてました。大変失礼しました。(_O_) 1. はじめに。日本語翻訳版刊行によせて、 昨年10月、Vさんから 「 Bulletproof SSL and TLS 翻訳本のレビュ…

OpenSSLの脆弱性(CVE-2017-3733)に見られる仕様とcastの落とし穴

TLS

0. 短いまとめ OpenSSL-1.1.0dに脆弱性(CVE-2017-3733)が見つかり、Encrypt-Then-Mac と renegotiation を組み合わせて crashさせることができました。 この脆弱性は、仕様の準拠不足や不適切な変数の cast などが原因でした。 TLS1.3ではこういう落とし穴が…

はてなブログの方に移りました。

こっち http://jovi0608.hatenablog.com/ に移りました。

錆びついたTLSを滑らかに、GoogleによるGREASE試験

TLS

0. 短いまとめ 長い間、TLSのクライアント・サーバ間で使用するTLSバージョンを合意する際に、 不完全なサーバ実装によって version intolerance が発生することが問題になっていました。 TLS1.3ではこの version intolerance の影響を最小化するため、新し…

JPNICの証明書失効の障害とCertificate Transparency(正解編)

前回のエントリーでJPNICの証明書失効の障害事故について事実認定と推測記事を書きましたが、本日報告書が公開されました。サーバ証明書が意図せずに失効されたことによるJPNIC Webの閲覧不可についてのご報告文面自体は短いのですが、正解は 新たに発行され…

JPNICの証明書失効の障害とCertificate Transparency

PKI

0. Disclaimer 先日JPNICのサイトの証明書が誤って失効してしまったという障害が発生しました。「障害報告:サーバ証明書が意図せずに失効されたことによるJPNIC Webの閲覧不可につ いて(第一報)」週末にもかかわらず迅速に復旧対応を行った関係者の方々のご…

HTTP/2とTLSの間でapacheがハマった脆弱性(CVE-2016-4979)

0. 短いまとめ 昨晩apache2.4でHTTP/2利用時にTLSクライアント認証をバイパスする脆弱性(CVE-2016-4979)が公表され、対策版がリリースされました。 実際に試すと Firefoxで認証バイパスができることが確認できました。 HTTP/2でTLSのクライアント認証を利用…

本当は怖いAES-GCMの話

Disclaimer 本エントリーは、この夏 blackhat usa 2016で行われる予定の講演「NONCE-DISRESPECTING ADVERSARIES: PRACTICAL FORGERY ATTACKS ON GCM IN TLS」 のネタバレを含んでいます。現地で直接聞く方は読まないよう気をつけて下さい。 0. 短いまとめ 今…

新しいTLSの暗号方式ChaCha20-Poly1305

TLS

Disclaimer 本エントリは、近々IETFで標準化される予定の新しいTLSの暗号方式 ChaCha20-Poly1305 について解説したものです。 本来なら、新しい暗号方式を紹介するいうことは、その暗号の安全性についてもちゃんと解説しないといけないかもしれません。しか…

ハッシュ衝突でTLSを破るSLOTH攻撃(CVE-2015-7575)とは何か

TLS

0. 簡単なSLOTH攻撃のまとめ 最初に簡単なまとめを書いておきます。長文になりそうなので、読むのが大変な方はここだけ見ておいてください。 MD5ハッシュは既に安全ではなく、証明書の署名方式での利用は停止されていたが、後方互換のためハンドシェイクデー…

パンドラの箱?TLS鍵交換の落とし穴、KCI攻撃とは何か

TLS

1. 初参加のセキュリティキャンプ 先週ですが、講師としてセキュリティキャンプに初めて参加しました。 担当したのは高レイヤーのセッションで、TLSとHTTP/2の講義を合計6時間、まぁ大変でした。講義の時間配分、分量などの検討が十分でなかったため、本番で…

HTTP/2時代のバックエンド通信検討メモ

1. はじめに、 今朝、こんな返事を元に kazuho さんとIPsec/TLS等バックエンド通信について議論する機会を得ました。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)…

OpenSSLの脆弱性(CVE-2015-1793)によるAltチェーン証明書偽造の仕組み

TL;DR やっぱり書いていたら長文になってしまいました。あまりちゃんと推敲する気力がないので、変な文章になっているかもしれません。ご了承いただける方のみお読みください。 1. はじめに 昨晩未明にOpenSSL-1.0.2d, 1.0.1pがリリースされました。事前に予…

HTTP/2は流行らないけど広く使われるものだと思う。

まずは Disclaimer、 「あくまでも個人の感想であり、HTTP/2の効能を保証するものではありませんw」 1. はじめに、 先日、HTTP/2, HPACKのRFC(7540,7541)が無事発行されました。2年余りHTTP/2の標準化活動に参加してきたのですが、もうすっかり昔の事のよう…

io.jsのTechnical Committeeに推薦されました

1. はじめに 「こんな私がXXXに!?」の宣伝文句ではありませんが、こんな私がio.jsプロジェクトのTechnical Commitee(TC)に推薦されました。 Nominating Shigeki Ohtsu @shigeki to the TC window.twttr = (function(d, s, id) { var js, fjs = d.getElements…

華麗なる因数分解:FREAK攻撃の仕組み

1. はじめに ちょうど今朝 OpenSSLをはじめとした様々なTLS実装の脆弱性の詳細が公表されました。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d…

ES6時代のGoogle的Good Parts: V8のstrong modeを試す

1. 新しいGoogleのV8実験プロジェクト 巷ではIEの asm.js サポートのアナウンスが話題を集めていますが、実は先月末のTC39の会合でGoogleが今年新しくV8に2つのJavaScript機能の試験実装を進めていることがプレゼンされていました(すっかり見落としてた)。…

io.js-v1.0.0のリリースによせて

1. 祝 io.js-v1.0.0/1.0.1 のリリース NodeやJSの情報にアンテナを張っている人なら知っているとは思いますが、昨日無事「io.js」がリリースされました。 リリース直前のバグ修正の追い込みやライブラリアップデートのごたごたは、かつてのNodeのリリースそ…

Node-v0.10.34がはまったクロスルート証明書とOpenSSLの落とし穴

既に12月22日ですが、このエントリーは、Node.js Advent Calendar 2014の13日目のエントリーです。 いや私が書くの遅れたわけじゃないですけど…(言い訳)、ちょうどタイムリーなネタがあるので、先日リリースされたNode-v0.10.34で発生した(現在も継続してい…