1. Creating newer ECC keys for GnuPG

    Here is an explanation of how to create your new ECC keys for GnuPG.

    GnuPG 2.1.x supports ECC (Elliptic Curve Cryptography). ECC is generic term and security of ECC depends on the curve used. Unfortunately, no one wants to use standardized curve of NIST.

    Since GnuPG 2.1 …

    more »
  2. What is not WoT? (In Japanese: WoT とはなんでないか)

    OpenPGPでは通常、WoT (Web of Trust)というモデルを用いて、 鍵が有効(valid)かどうかが判断されます。

    ここで解説を試みますので、具体的な例を見ながら考える機会としてください。

    参考までですが、具体的な例で調べてみるまで、僕は、その名前に引きずられて、 まったく違うもの(相互の信頼によって作られる素晴らしい世界、 という感じ)をイメージしていました。

    「X.509の認証局に代わるものがOpenPGPでは(みんなで作る)WoTである」というような言明の実際の意味は、僕が当初感じていたものとは違ったのです。技術的な意味では、OpenPGPでX.509の認証局に相当するものは 自分自身の主観 であり、主観にもとづき(わりと限定的に)WoTを利用することができる、に過ぎません。

    WoTが使われていないところ

    まず最初に、 OpenPGPの実装のGnuPGが、 もっとも多く用いられているであろう使われ方について、 みてみましょう。GnuPGでは、 --trust-model の指定(pgp, classic, direct, always, auto)ができ、 このうち、pgp …

    more »
  3. 公開鍵暗号の鍵を GnuPG で統一的に管理する

    Gnuk Token の研究開発を進めて、現在、僕は、Gnuk Tokenに入れたOpenPGPの認証鍵を、以下の3つの用途に使っています。

    • OpenSSHの鍵 (常用)

      あまり知られてなく、Gnuk Token や smartcard を使わない場合は、まだ若干面倒なのですが(将来、2.1.xではもう少し簡単になります)、gpg-agentがSSH agentの機能を持つので、GnuPG管理下の鍵でOpenSSH(もしくはPutty) の認証ができます。

    • (実験)TLS/SSLのClient Certificate Authenticationの鍵

      Scute という現在は開発が止まったプロジェクトですが、PKCS#11のAPIを提供するNSSのモジュールがあります。NSSを使うMozilla FirefoxやChromeで(実験的ですが)使えます。GnuPG管理下の鍵を使って、TLS/SSLのClient Certificate Authentication を行えます。

    • (実験)ログインを公開鍵暗号で認証するための鍵

      Poldi という開発が止まったので少し面倒を見ているプロジェクトがあります。PAMのモジュールがGnuPGのSCDaemonと通信して …

    more »
  4. What is not KSP? (In Japanese: KSPとはなんでないか)

    OpenPGPのKSP (Key Signing Party)について、 こうした時はどう考えたらいいのか、と疑問を持つ貴兄のために、 僕なりの考えのいくつかを書いてみます。

    僕は、ヨーロッパや南米のKSPにも参加しましたが(手順のしっかりしたものから、 わいわい、という感じのものまで)、最近まで十分に考察をしたことがなく、 意味を理解できていませんでした。

    現在でも考察は続いていて修行中ですが、 この一文が、なんらかの理解に役立ち、KSPに気軽に参加してもらえるようになれば、幸いです。

    なお、KSPについて、「パーティ」というと飲食や宴会芸、または、ある種の出会い、 を期待する方もいるかも知れませんが、通常、そういうことはありません。

    書いていたらいろいろ思い出して長くなったので、大事なところのまとめを書きました。 これだけでも長いな。

    まとめ

    • KSP (Key Signing Party)は懇親会ではない。

    • 目的は、OpenPGPの公開鍵について、

      公開鍵のIDと User ID (ユーザのID: 名前)の結び付きをまさに確認しました。

      と互いに証明すること。通常は事務的作業のみ。

    • 証明は、通常 …

    more »