タグ

opensslに関するMonMonMonのブックマーク (12)

  • マイナンバーカードと電子署名の本

    マイナンバーカードとと 電子署名の @hamano i 第 2 版 マイナンバーカードと電子署名の 濱野 司 ii iii はじめに マイナンバーカードというとどんな印象があるでしょうか? 「使いみちが無い」 「なんとなく怖い」 一般的にその様な印象を持っている方が多いようです。マイナンバー(個人番号)に関 して様々な議論がありますが、このは個人番号制度とは直接関係ありませんし触れない ようにしています。 これは自分のマイナンバーカードに搭載されている IC チップにアクセスして遊ぼう、 という趣旨のです。具体的には OpenSC というオープンソース・ソフトウェアを使いな がら公的個人認証の仕組みとその将来性について解説します。 公的個人認証は私達のオンライン生活をより安全・便利にする可能性を持っています。 しかし、このサービスが広く活用されるにはまだ多くの課題があります。

  • QUICスタックとTLSライブラリの関係とOpenSSLの状況

    図1: TLS over TCP と QUIC のスタック構造の比較はじめにQUICはTLSv1.3に相当するセキュリティを標準装備すると説明されます。図1はよく参照されるスタック構成ですが、TLSがQUICスタックの内部に埋め込まれています。縦に積み上げられた “スタック” になっていません。TLSの埋め込みは何を意味しているのでしょうか?稿の前半ではTLSとQUICの関係と、TLSライブラリの使われ方をTLS over TCPと比較しながら解説します。後半ではOpenSSLのQUIC対応の状況についてふれます。 なお稿で処理の流れを追う際は送信を中心に取り上げます。受信についても逆順で同様の処理が必要ですが解説は省略しています。 QUICとTLSv1.3の関係TLSには大きく分けて、ハンドシェイクプロトコルとレコードプロトコルがあります。前者は暗号スイートの調停や鍵交換、各種パラメ

    QUICスタックとTLSライブラリの関係とOpenSSLの状況
  • 図解 X.509 証明書 - Qiita

    はじめに X.509 証明書について解説します。(English version is here → "Illustrated X.509 Certificate") ※ この記事は 2020 年 7 月 1 日にオンラインで開催された Authlete 社主催の『OAuth/OIDC 勉強会【クライアント認証編】』の一部を文書化したものです。勉強会の動画は公開しており、X.509 証明書については『#4 X.509 証明書(1)』と『#5 X.509 証明書(2)』で解説しているので、動画解説のほうがお好みであればそちらをご参照ください。 1. デジタル署名(前提知識) この記事を読んでいただくにあたり、デジタル署名に関する知識が必要となります。つまり、「秘密鍵を用いて生成された署名を公開鍵で検証することにより」、「対象データが改竄されていないこと」や「秘密鍵の保持者が確かに署名したこと

    図解 X.509 証明書 - Qiita
  • QUICむけにAES-GCM実装を最適化した話 (1/2)

    4月末に、会社のほうで「Can QUIC match TCP’s computational efficiency?」というブログエントリを書きました。我々が開発中のQUIC実装であるquiclyのチューニングを通して、QUICのCPU負荷はTLS over TCP並に低減可能であろうと推論した記事です。この記事を書く際には、Stay Homeという状況の中で、手元にあった安いハードウェアを使ったのですが、その後、10gbe NICを入手し、ハードウェアによるUDP GSOオフロード環境でのパフォーマンスを確認していくと、OpenSSLのAES-GCM実装がボトルネックになることがわかってきました。 TCP上で通信するTLSでは、一般に、データを16KB単位でAEADブロックに分割して、AES-GCMを用いてAEAD暗号化します注。一方、UDPを用いるQUICでは、パケット毎にAES-GC

  • Name Constraints を使った独自CAの運用手順

    ウェブブラウザが新機能をHTTPSでしか有効にしないことが多くなってきたので、開発環境でもHTTPSを使いたい。でも、開発環境用にサーバ証明書を買うのは手間。Let's Encryptも運用がめんどくさいとか、社内からしかアクセスできないサーバへの証明書発行が難しいとかいろいろあるし…ってそこでName Constraintsを使った独自CAですよ奥さん。 Name Constraints が何であるかについては、以前オレオレ認証局の適切な運用とName Constraintsに書いたとおり。 稿では、Name Constraintsを使うCAの運用手順を説明する。 1. CA鍵と証明書の作成 1.1. CAの秘密鍵を作成 % openssl genrsa -out ca.key 2048 1.2. openssl.cnfにCA証明書に設定する属性を指定するセクションを追記 [priva

  • 『[Linux] ファイルを暗号化する方法あれこれ』

    Windows上では様々なソフトウェアを通してファイルの暗号化ができますが、Linux上でも様々なコマンドを通して同様にファイルを暗号化しておくことが出来ます。 パスワードが書かれているなど、重要なファイルをサーバー上に置いておき、それに鍵をかけておきたい場合、今回のような暗号化の方法が役に立つと思います。 こちらはWindowsでもおなじみ方法ですね。 Linux上でも同様にファイルにパスワードをかけ、パスワードがわからないと内容を読み取れないということを設定することが出来ます。 ちなみに、パスワードをかけることができるのはzipコマンドで、gzip(GNU ZIP)そのものでは出来ません。 $ zip -e secret.txt.zip secret.txt Enter password: Verify password: adding: secret.txt (stored 0%)

    『[Linux] ファイルを暗号化する方法あれこれ』
  • Neverbleed - RSAの秘密鍵演算を別プロセスに分離する話

    機能毎にプロセスを分割し、それらを別個の権限のもとで実行することで、脆弱性があった場合の影響を抑え込むというのは、一定以上の規模をもつプログラムでは、しばしば見られるデザインパターンです。 qmailは、そのような設計がなされたメール配送デーモンとして名高いですし、OpenSSHもまた、認証プロセスと通信プロセスを分離することで、外部との通信を担当するコードにバグがあったとしても、ルート権限が奪われないように設計されています(参照: Privilege Separated OpenSSH)。 一方で、OpenSSLにはそのような権限分離は実装されていません。Heartbleedの際にサーバの秘密鍵が漏洩したのも、秘密鍵の取り扱いと、その他の通信の取り扱いを同一のメモリ空間の中で行っていたからだと考えることができます。 ないのなら、自分で作ればいいじゃない…ということで作りました。それが、N

  • node.js | HTTPSサーバーの作り方 - 生存戦略型プログラミング

    node.jsを用いてHTTPSサーバーを構築する手順について説明します。node.jsでHTTPSサーバーを構築するのに最も大切なこと、それは鍵ファイルの生成です!! HTTPSとはwebサーバーとWebブラウザの間の通信が暗号化されているものです。そのため暗号化するための鍵ファイルが必要になります。 node.jsによるHTTPSサーバーは以下のソースで実装できます。 ポイント node.jsによるHTTPSサーバーの構築には秘密鍵ファイルとデジタル証明書ファイルを指定する必要があります(3 ~ 6行目) 鍵ファイルの指定でミスをしてしまうとサーバーは立ち上がってもアクセスすると以下のような画面がでてしまいます(鍵が問題だと気づくのに半日かかったw) opensslによる鍵ファイルの作り方 ということで半日苦しんだ鍵ファイルの生成方法について詳しく説明します。生成しなければならない鍵フ

    node.js | HTTPSサーバーの作り方 - 生存戦略型プログラミング
  • OpenSSLの脆弱性(CVE-2014-3511)でTLSプロトコルの基礎を学ぶ - ぼちぼち日記

    1. はじめに、 昨日 OpenSSLのバージョンアップがアナウンスされ、9つの脆弱性が公開されました。バージョンアップの数日前にOpenSSLの次期リリース予告がアナウンスされていましたが、ちょうど BlackHat 開催初日にあたることもあり、なんかまた重大な脆弱性の修正が入るんじゃないかとドキドキしていました。蓋を開けてみるとHeatBleed程の大事ではなくホットひと安心です。 昨日公開されたOpenSSLの9つの脆弱性のうち、TLS プロトコルダウングレード攻撃 (CVE-2014-3511)の修正を見ていたところ、これはTLSプロトコルを学ぶいい題材になるなぁとふと思いつき、試しにこのOpensslの脆弱性の詳細をTLSプロトコルの基礎に合わせて書いてみました。 ちょっと長いですが、TLSプロトコルの仕組み(の一部)を知りたい方はお読みください。 2. OpenSSLの脆弱性

    OpenSSLの脆弱性(CVE-2014-3511)でTLSプロトコルの基礎を学ぶ - ぼちぼち日記
  • DeNA Engineering - DeNAエンジニアのポータルサイト

    技術を活かし、新しい価値を創造する DeNAのエンジニアは、想像を超えるDelightを届けるために何ができるかを考え、技術力と発想力で新しい価値を生み出しています。 多様な専門性を持ったエンジニアが切磋琢磨し、互いに刺激し合える環境や制度がさらなる成長へとつなげます。

    DeNA Engineering - DeNAエンジニアのポータルサイト
  • OpenSSLの暗号処理が爆速な件 - Y's note

    OpenSSL―暗号・PKI・SSL/TLSライブラリの詳細― 作者:John Viega,Matt Messier,Pravir Chandra,齋藤 孝道オーム社Amazon 目次 OpenSSLによる暗号 実行環境 OpenSSLによる暗号化速度 ECBとCBCの違い PHP OpenSSLとMcrypt関数のalgorithms比較 OpenSSLとmcrypt関数のDES,AESの速度比較 Mcryptのゼロpaddingの癖 C DES暗号 AES暗号 OpenSSLとMcryptのDES,AESの速度比較 OpenSSLによる暗号 OpenSSL日語サイト: The Open Source toolkit for SSL/TLS あどてくやっている@yutakikuchi_です。 今日はOpenSSLの共通鍵暗号について調査した内容を纏めます。OpenSSLについて特にC言

    OpenSSLの暗号処理が爆速な件 - Y's note
  • 1