ナビゲーションメニュー コンテンツへ

2010年6月19日(土曜日)

自分のドメインをOpenIDとしてつかう〜failover付き

カテゴリー: - Nat @ 02時59分19秒

Saw Gina Tripani が Chriss Messina の「This Week in Google」に関してブログを書いてる。どうやったら、自分のドメインをOpenIDとしてつかえるか、という話だ。

http://smarterware.org/6286/how-to-set-up-openid-on-your-own-domain/

コメント欄でも、多くの人が「そんなこと、OpenIDってできるんだ!」と喜んでいる。OpenIDの 「デリゲーション」を「いいね!」と人々が思い出したのはとても良いことだ。

そのブログで、

どうやったら Idproxy を僕の “fallback” provider に指定できるのかまだわからないんだよね。もしわかったら、コメントで教えて。

と彼は書いていて、それに対して、John Bradley が返事を書いているのだが、Wordpress のコメント欄がタグを食べてしまって意味不明になっているので、ここに私のバージョンを書いておこうと思う。

(1) 以下のような XRDS ファイルを作る。内容は、自分に合わせて適宜書き換えること。

<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS xmlns:xrds="xri://$xrds" xmlns="xri://$xrd*($v*2.0)">
  <XRD>
    <CanonicalID>http://xri.net/=!E18C.3B56.889D.850B</CanonicalID>
    <Service priority="10">
      <Type>http://specs.openid.net/auth/2.0/signon</Type>
      <URI>https://authn.fullxri.com/authentication/</URI>
      <LocalID>http://xri.net/=!E18C.3B56.889D.850B</LocalID>
    </Service>
    <Service priority="20">
      <Type>http://specs.openid.net/auth/2.0/signon</Type>
      <URI>https://www.google.com/accounts/o8/ud?source=profiles</URI>
      <LocalID>http://www.google.com/profiles/sakimura</LocalID>
    </Service>
  </XRD>
</xrds:XRDS>

この中で、各<Service>が、それぞれの Authentication Service を表している。
上記の例では、Google (priority="20″) が fullxri (priority="10″) のフェールオーバーサーバーとして指定されている。

(2) このファイルの場所を、以下のようにして、ドメインのトップページに記載。(以下の例では、www.sakimura.org にトップにおいた、yadis.xml ということになっている。)

<meta http-equiv="X-XRDS-Location" content="http://www.sakimura.org/yadis.xml"></meta>

これだけ!

残念ながら、すべてのRPライブラリがこのようなフェールオーバーに対応している訳ではない。私が知る限り、DotNetOpenAuth と JanRain のライブラリは対応しているようだ。


2010年5月25日(火曜日)

OpenID Working Groups と OpenID Connect

カテゴリー: - Nat @ 11時33分19秒

ちょっと openid.net のメーリスも混乱しているので整理しておきます。

現段階で計画されている working groups は以下のとおりで、v.Next と総称されています。これらは、2010/4/6 に決定されています。

· Core Protocol - Chair: Dick Hardt - Scope: active client, message verification, AX/CX/AB, OAuth, non-browser

· Discovery - Co-chairs: Allen Tom / Mike Jones - Scope: URL, acct: (e-mail address OpenIDs), active client (discovery about OP and RP)

· Attribute Schema - Chair: Joseph Smarr - Scope: How to ask for and get rich, consistent common extensible data attributes (attribute discovery)

· UX Guidelines - Chair: Chris Messina - Scope: Guidelines for how OPs and RPs provide a consistent user experience

· Policy & Certification - Chair: Eric Sachs - Scope: (Define scope)

これに加えて、最近自らを OpenID Connect と呼ぶ WG が提案されています。

これは、 FBのDavid Recordon などが牽引しているものです。
中身的には、Artifact Binding - Magic Signature - セキュリティ上の諸種の考慮という感じですね。Connect だと、LoA2 いけるのかな〜。

不幸なのは、これが v.Next のWG解説を進めている最中に突然出てきたことです。

わたしとしては、将来を見据えるものとしては v.Next と一緒になって欲しいですし、早く終わらせるんだったら Artifact Binding の中に放りこめば良いと思うのですが、Connect な人たちは、自分たちの主張が認められないならば他でやる、というスタンスです。「OpenIDが生き残るなら、これが最後のチャンスだぞ」とまで言ってきています。まぁ、FBですからね。現在最強ですからなんでもできます。FBは、OpenID Foundation に対して他にもいろいろと揺さぶりをかけてきていて、「あぁ、強くなっちゃうと、みんなジャイアン化しちゃうのね」という感じであります。

Connect の Strawman が公開される前に見たときには、「v.Next の core に入れればいいじゃん」と思ったんですが、なんか、やり方見ていて萎えてきちゃいました。

残念ですね。FB、いい感じの会社だったのになぁ。

ちなみに、Y! の Allen Tom は Connect Proposer の中に入っていますが、Connect って呼ぶのやめて、v.Next Core としてやろうよ〜、と言ってます。おんなじ気持ちですね、私は。

ちなみに、笑えるのは、Connect の Identity Model と Discovery って、David の毛嫌いしている XRI そのものなんですけど、それは秘密です w。


2010年5月9日(日曜日)

[PHP] openssl_pkcs7_sign の使い方

カテゴリー: - Nat @ 14時03分54秒

ちょいと小一時間ハマったのでメモ。

PHPのOpenSSLの openssl_pkcs7_sign だが、マニュアルのサンプルにあるように

openssl_pkcs7_sign("msg.txt”, “signed.txt”, “file://email.pem”, array("file://email.pem”, “123456″), $headers);

みたいにやると

Warning: openssl_pkcs7_sign(): error getting private key in /home/nat/test/7sign.php on line 10

のようにエラーが出る。

これは、realpath()を使ってやることによって回避できるようだ。すなわち、

openssl_pkcs7_sign(realpath("msg.txt"), realpath("signed.txt"), “file://”.realpath(email.pem"), array("file:”.realpath("email.pem"), “123456″), $headers);

注:signed.txt も touch しておかなければダメ。

そうすると、こんな感じの signed.txt ができます。ちなみに、Header部分は署名は掛かっていません。

To: joes@example.com
From: HQ
Subject: Eyes only
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature”; micalg=sha1; boundary=”—-2ED342647462900B363AC40502411647″

This is an S/MIME signed message

——2ED342647462900B363AC40502411647
昨日の夜からようやく Artifact Binding 1.0 draft 04 に着手。
22:00-02:00 に書いて、03:30 まで仮眠、その後、北軽井沢から東京へ車で移動(03:50-07:20). 朝食、風呂のあと、10:00 まで加筆。とりあえず、bitbucket に push して、openid-specs-ab 宛にメール。Breno と会話。OAuth2.0 にあわせて、Response は JSON に統一。(その結果、Key-Value Form Encoding が無くなった。)その後、Johnと会話。Magic Signature の Padding がなぁ、という話。

ちなみに、現行ドラフトの最新版のHTMLコピーは、こちら。正式なレポジトリは、http://bitbucket.org/openid/ab/ 。

——2ED342647462900B363AC40502411647
Content-Type: application/x-pkcs7-signature; name="smime.p7s”
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s”

MIIFPgYJKoZIhvcNAQcCoIIFLzCCBSsCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3
DQEHAaCCA0swggNHMIICsKADAgECAgMJBP8wDQYJKoZIhvcNAQEEBQAwWjELMAkG
A1UEBhMCVVMxHDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMT
JEVxdWlmYXggU2VjdXJlIEdsb2JhbCBlQnVzaW5lc3MgQ0EtMTAeFw0wODA3MjYw
ODE2MTBaFw0xMTA3MjcwODE2MTBaMIG2MQswCQYDVQQGEwJKUDEWMBQGA1UEChMN
dG9uZXNjYXBlLm5ldDETMBEGA1UECxMKR1QxMDQ2MTczNzExMC8GA1UECxMoU2Vl
IHd3dy5yYXBpZHNzbC5jb20vcmVzb3VyY2VzL2NwcyAoYykwODEvMC0GA1UECxMm
RG9tYWluIENvbnRyb2wgVmFsaWRhdGVkIC0gUmFwaWRTU0woUikxFjAUBgNVBAMT
DXRvbmVzY2FwZS5uZXQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALcqchVG
uJNrmPo62lqKHS8z8gmnuxrkcenoV74EEiVFn5YYbc+wmXdd7uc5vVLo3NTmonmu
l2j4I156nL5pL3T3n5f5uYXg/vJ1M995gUsyVFfj9Cc0zHYf54YsHf8w5zPRyCXA
PnfG6rKy9y5qw+S6thir4TSxsud+ADetyqFRAgMBAAGjgb0wgbowDgYDVR0PAQH/
BAQDAgTwMB0GA1UdDgQWBBQvJDM6SU9MC/t204wl+kBK6UvaazA7BgNVHR8ENDAy
MDCgLqAshipodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL2dsb2JhbGNhMS5j
cmwwHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0lBBYwFAYI
KwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEEBQAD
gYEAsX0c0jSIwkdJvcak5O3jLhcFx+1hrk5OSKnLB32Vz7IvC2Pm9uQVWwAovFty
qVv6TN7VluyNzSyMlhcPCwGBcLHmqKuh9WH4wURcufLYiNaNyPj1658183jRhjkk
xm1r7QgY6T4RTKcwRJs+DweHst3FzP7QbBL/b4qWag1djFoxggG7MIIBtwIBATBh
MFoxCzAJBgNVBAYTAlVTMRwwGgYDVQQKExNFcXVpZmF4IFNlY3VyZSBJbmMuMS0w
KwYDVQQDEyRFcXVpZmF4IFNlY3VyZSBHbG9iYWwgZUJ1c2luZXNzIENBLTECAwkE
/zAJBgUrDgMCGgUAoIGxMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI
hvcNAQkFMQ8XDTEwMDUwOTA0NDI1MVowIwYJKoZIhvcNAQkEMRYEFJFFNEmnRNpp
0aA2rxZbEMD4/iI6MFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcwDgYIKoZI
hvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEo
MA0GCSqGSIb3DQEBAQUABIGAibAPLZi+XC5VdUVS5VxWXO5W13tt/hUA4J81UQmm
9FNlBf6AxRopL6qO8rgF+1e+n2bPpqBXV8xI47PndEHtK7a/3uHTKTagrweXCfb9
1jlJen1KKctPdeQis3qZllEKu+rCm8FjfDAGVfL1f41wTjzFYwK6JVpNrubXCQYS
tDw=

——2ED342647462900B363AC40502411647–

暗号化もする場合は、署名の時は header は空にしておいて、暗号化の時に足す方が良いですね。

$headers = array("To” => “joes@example.com”,
“From” => “HQ ”,
“Subject” => “Eyes only");

if (openssl_pkcs7_sign(realpath("msg.txt"),
realpath("signed.txt"),
‘file://’.realpath("signcert.pem"),
array(’file://’.realpath("signcert-key.pem"),"a_password"), // private key
array()
)) {
// message signed
}

$pubkey = file_get_contents("enc_cert.pem");

//encrypt the message, now put in the headers.
openssl_pkcs7_encrypt(realpath("signed.txt"), realpath("enc.txt"),
$pubkey,$headers,0,1);

そうすると、こんな感じの enc.txt ができます。

To: joes@example.com
From: HQ
Subject: Eyes only
MIME-Version: 1.0
Content-Disposition: attachment; filename="smime.p7m”
Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data; name="smime.p7m”
Content-Transfer-Encoding: base64

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


2010年5月5日(水曜日)

OpenID Artifact Binding 1.0d04

カテゴリー: - Nat @ 11時26分28秒

昨日の夜からようやく Artifact Binding 1.0 draft 04 に着手。
22:00-02:00 に書いて、03:30 まで仮眠、その後、北軽井沢から東京へ車で移動(03:50-07:20). 朝食、風呂のあと、10:00 まで加筆。とりあえず、bitbucket に push して、openid-specs-ab 宛にメール。Breno と会話。OAuth2.0 にあわせて、Response は JSON に統一。(その結果、Key-Value Form Encoding が無くなった。)その後、Johnと会話。Magic Signature の Padding がなぁ、という話。

ちなみに、現行ドラフトの最新版のHTMLコピーは、こちら。正式なレポジトリは、http://bitbucket.org/openid/ab/ 。

draft 04 のポイント

  • 全体の構成を変更、読みやすく。
  • Request は URL Encoding / HTTP Form Encoding に、Responseは JSON に統一。
  • Browser Redirect の時のResponse用に、base64url encoding した JSON を詰め込む、openid.response なる変数を定義

Signature 無し&Request Parameter File を使うケース(Profile 1)だと、スクラッチでも1日で書けそう。RPに至っては、Fileを置く+Javascript のスクリプトをページに貼るだけに出来そうな感じ。

その一方で、セキュアにしようとすると、HoKまで行ける。


2010年4月30日(金曜日)

OpenIDは認証のための仕様では無い

カテゴリー: - Nat @ 12時18分51秒

2010/4/29 現在の日本語版Wikipediaには、OpenIDについて、以下のような説明がある。

「OpenID(オープンアイディー)とはウェブサイトによらず使用できる認証システムの標準、およびそこで使用される識別子である。
ひとつのOpenIDがあれば、複数のOpenIDシステム対応サイトを利用できる。」(出所:Wikipedia日本語版/OpenID)

違うんだよね〜、と個人的には思う。

OpenID の ID は、Identity の IDです。

なので、理解するには、まず Identity あるいは Digital Identity のなんたるか、を理解しなければなりません。

これが、普通の人には案外難しいらしい。たぶん我々の言葉の使い方の問題なんでしょうね。

われわれ専門家は、Digital Identity について、こんなふうな説明をします。

Entity/Subject(主体) とは、人、企業、ソフトウェア、マシン、アクセスしようとしているリソース、取引などをさします。
Identity とは、Entity/Subject(主体)に関わる様々な属性、好み、形質の集合体です。
属性とは、後天的に取得された、主体を説明する情報で、治療履歴、購買履歴、銀行残高、名前、学籍番号、免許証番号のようなものがこれにあたります。このうち一部は、他の主体との関係によって成立しているので、「関係性」として外出しして呼ぶことも多いです。
属性は多くの場合変わります。
好みとは、好きな食べ物とか、窓側の座席が好きだとか、そういうこと。
形質とは、性別だとか、生年月日だとか、その個体に先天的に特有の性質のことをさします。多くの場合、その個体の存在を通じて変化しないか、非常にゆっくりしか変化しません。
これらをまとめて「属性」と呼ぶこともあります。*1
Digital Identity とは、この「Identity」をデジタル空間に移し変えたものです。
Internet Identity とは、Digital Identity のうち、インターネット上に生息するもののことです。
OpenIDは、そのような Digital Identity を実現するためのフレームワークの、オープンな標準規格です。

はい。頭パニック、という人も多いと思います。

本当は、「ID」を論じるには、少なくともこのくらいは理解してないと厳しいのですが、やっぱり、直感的に一言で多くの人に理解してもらえるような説明が欲しい。

で、こんなことを、この手のテクノロジーとは何の関係もなさそうな何人かの人に言ってみました。

ニンテンドーのWii って知ってますか?
あれでゲームをやるときに、mii って作りますよね?自分の分身。
顔も似せて、名前もつけて、ゲームの記録などはみな mii が持っている。
ゲームをやりに行くのも mii。あれがデジタル・アイデンティティです。
ただし、mii は Wii の中でしか生きられません。
一般のインターネットで生きられるようにするには、その成り立ちを多くの機械が理解できるように、「標準化」をして仕様をオープンにしなければなりません。そういったデジタル・アイデンティティの規格の一つが「OpenID」です。
つまり、あるサイトでサービスを受けるには、あなたの分身である OpenID(Wii でいうところの mii)をそのサービス、例えば雑誌の購読などに行かせます。

雑誌の購読だったら、定期券のようなものを雑誌サイトは提供してくれるでしょう。OpenIDはそれを保持することもできます。その場合は、そのサイトに行ったときに、OpenIDはその定期券をサイトに提示します。*2

また、定期券をサイトの窓口で預かっておいてくれることもあるでしょう。
その場合、OpenIDが自分の身分証明書をサイトの窓口で見せると、定期券を渡してくれるので、サイトの中に入って利用することができます。退出するときには、また窓口に定期券を返します。*3

OpenIDは、あなたの分身ですから、そこにいろいろなものを預けておくことができます。たとえば、サイトの利用契約などもそうです。購買履歴などもそうですね。

その人達は、「うん、わかった」と言ってもらえたけど…。
ちょっとはわかりやすくなりました?

こうしたらもっとわかりやすくなるのではないか、などの提案募集中です。

*1 Phil Windley “Digital Identity” をもとに改変、補記
*2 Bearer Token の例
*3 Session Cookie の例


2010年4月26日(月曜日)

3.5%成長でも、失われた20年?

カテゴリー: - Nat @ 14時47分36秒

失われた20年などという言葉が良くマスコミを駆巡るが、本当だろうかと言うことで、データを見てみた。

日本以外は成長しているのに、とかいろいろいわれるので、それも考慮に入れて、購買力平価ドルベースで、名目値で見てもしょうがないので実質値で。

その結果が、これ↓↓↓

[世] 購買力平価ベースのGDPの推移(日本)

たしかにこの1年くらいはダメダメだけど、それ以外は「失われた」という程でもないのかなという気も。年率約3.5%の成長です。

ということで、暇になったら、もうちょっと真面目に数字を見てみることにする。← いつ?!

ちなみに、チャートの作成は、http://ecodb.net/country/JP/imf_gdp.html でやりました。


2010年4月4日(日曜日)

iPad 入手

カテゴリー: - Nat @ 14時44分54秒

iPadを買うための行列たまたま出張でアメリカに来た日が iPad の発売日だったので、Apple Store San Francisco に行った。表はまだ列が出来ていて、並ぶのが人一倍嫌いなわたしは躊躇したが、聞いてみると30分待ちということだったので、並んでめでたく16GBモデルをゲットした。残り10台程度であった。あわせて、カバーも購入。ちなみに、この2時間位あとには、やはり OpenID Foundation の理事の Allen Tom が同じところに現れた模様。

iPad購入!

店舗の中は、展示されている iPad に群がる人々で大混雑。
iPadの展示に群がる人々

その後、シアターでやっていた講習会のようなものに柄にもなく出た。久々にこういうものにでると、知らなかった機能などを教えてもらえて良い。

他の買い物(主に薬)をしてホテルに戻り、設定開始。電源を入れると、iTunes に接続せよと言ってくる。

普段わたしは母艦は個人もちのMacBook にしているのだが、出張には持ってきていないので、Windows に接続。iTunes を最新にするところからはじめなければならず、ホテルの回線が遅くて時間がかかったがなんとか終了。

早速、iBook をインストールしようと思って、App Store に接続しようとしたら、「App Storeはこの国では使用できません。」といわれてしまった。そうか、日本ではまだ発売されていないから、日本のApp Store用のアカウントではだめなんだな。というわけで、こことかここを参考にもう一つアカウント作成。

無事終了。

iPhone App をフル画面表示させると、文字がギザギザになるなどはあるが、使えることは使える。ためしに、産経新聞Appを使ってみると、iPhone より格段に読みやすいし、なかなか Good。ただし、意外に重量があるので、支えている手がだんだんつかれてくる。

また、入力が必要なアプリだと、フリック入力ができないのがちょっと残念かもしれない。ただ、フルキーボードも、慣れればかなり早くタイプできるようになるかもしれない感じだ。


2010年3月22日(月曜日)

国民ID配布の課題

カテゴリー: - Nat @ 18時21分33秒

政府の効率化のためには、住基ネットを使って国民IDをとっとと配れば良いと言う議論がある。

たしかに、安全に正確に漏れ無く重複なくコスト効率的に配れるのであれば、配れば良いとも思うが、実際にやろうとすると、そんなに簡単なことではない。

「原口5原則とOpenID」の「原則1」のところにも書いたが、振るにあたっては2つ課題がある。
(続き…)


2010年3月19日(金曜日)

原口5原則とOpenID

カテゴリー: - Nat @ 22時10分00秒

「番号に関する原口5原則」というものが発表されている。

原則1 国民の権利を守るためのであること

社会保障給付や所々の行政サービスの提供を適切に受ける国民の権利を守るための番号であり、重複なく、もれなく、正確かつ安全に付番を行う
(続き…)


2010年3月1日(月曜日)

Identity Management のITU-Tによる定義

カテゴリー: - Nat @ 14時00分43秒

結構イケてる定義だと思うので、メモ

For ITU-T purposes, the identity asserted by an entity represents the uniqueness of that entity in a specific context and is not intended to indicate positive validation of a person.
(続き…)


25 queries. 0.093 sec.
Powered by WordPress Module based on WordPress ME & WordPress

Go Page Top
 

Blog 月別過去ログ
Blog カテゴリ一覧
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
テーマ選択

(1 テーマ)


About Nat Sakimura
崎村夏彦 (=nat)
twitter: _nat
米国OpenID Foundation副理事長
個人の手に個人の情報をコントロールする力を戻す、Power to the People を実現するために、2000年からデジタル・アイデンティティに取り組んでいます。
なお、このブログは私の個人的考えを述べているもので、私の雇用者や関係団体とは一切関係ありません。
Amazon検索

キーワード:
オンライン状況
6 人のユーザが現在オンラインです。 (1 人のユーザが Blog を参照しています。)

登録ユーザ: 0
ゲスト: 6

もっと...
新しい登録ユーザ
cxh00303 2010-7-28
yuuhigr 2010-6-12
DjMai 2010-5-19
yama 2010-5-13
adds 2010-5-8