スキップしてメイン コンテンツに移動

【暗号】OAuth 2.0より考察



最近はログインスクリプトを書くとき、いろいろなソーシャルプラットフォームに対応できるようにしてほしいという要望が多くあるため、OpenIDのみを使ってきたのですが、OAuth(オープンプロトコル)を学んで、おもしろいダイアグラムを見つけました。


参照:http://tools.ietf.org/html/rfc6749

ユーザーが認証を与えると、アクセストークンとリフレッシュトークンのペアをもらいます。そうすることでユーザーはアクセストークンを使ってリソースにアクセスできるようになります。

ここで最も重要なポイントは、アクセストークンはすぐに有効期限切れになってしまう点です。アクセストークンが切れると、リフレッシュトークンを使って新しいトークンのペアをもらいます。そうすることでセッションが常に新しく、乗っ取りが難しくなります(ちゃんと実装していれば。)

そこで、OAuth 2.0は安全ななメッセージ交換をするのにこれは非常にいい方法だと考えました。というのもOAuth 2.0は1.0よりもよくないのですが、参考として
It took IETF about 31 draft versions and the resignation of the lead author/developer Eran Hammer from the committee to finally publish the spec. Eran sparked a controversy by calling the spec "a bad protocol and a case of death by a thousand cuts".
参照:http://code.tutsplus.com/articles/oauth-20-the-good-the-bad-the-ugly--net-33216

自分がこれはとてもよい方法だと思う理由に入る前に、まずは基本的な暗号化方式と鍵交換をおさらいしたいと思います。



▼対称鍵暗号
最も簡単な暗号化/復号化方式で、暗号文は送信者と受信者の両方に、メッセージを相互変換するための共通鍵(ルール)を作ることです。



しかしこの方法だと、第三者に鍵を盗まれてしまう可能性があったため、ジェームズH.エリス、またはホイットフィールド・ディフィーとマーティン・ヘルマンは鍵配布のための非対称鍵技術を発明しました。



▼非対称鍵暗号


これは、受信者が公開鍵と秘密鍵の2つの鍵を作ります。公開鍵は送信者がメッセージ(平文)を暗号する用のもので、受信者は秘密鍵を使って公開鍵で暗号化された暗号文を復号します。

非対称鍵の配布によって、対称鍵のときに鍵が盗まれる危険性を回避したのですが、大きなメッセージの復号には、非常に時間がかかってしまいます。



▼PGP
PGPでは、平文を対称鍵で暗号化し、その対称鍵を保護するために非対称鍵を使います。これにより計算速度アップと、充分な強度の暗号をキープできます。



ここでOAuthダイアグラムに戻って、もし仮に、アクセストークン自身が暗号文であれば、OAuthでは非常によいメッセージ交換ができるのでないかと考えました。

流れは以下のようなイメージです。


1. 送信者は公開鍵と秘密鍵の2つの鍵を作成し、公開鍵を受信者に渡します。

2. 受信者はアクセストークンとリフレッシュトークンの2つの対称鍵を作成します。

アクセストークン……1つ目の対称鍵で構成され、公開鍵による短期限のタイムスタンプで暗号化されます。
リフレッシュトークン……2つ目の対称鍵で構成され、公開鍵による長めの有効期限のタイムスタンプで暗号化されます。

3. 受信者はアクセストークンとリフレッシュトークンの両方を送信者に渡します。すると送信者も受信者も1つ目の対称鍵で、有効期限までの時間内で、短期間対話ができるようになります。

4. 1つ目の対称鍵が期限切れになると、受信者はエラーを出したり、送信者が復号できなくなると、送信者は2つ目の対称鍵を使ってトークンの要求をし、2段階目の対話として続けることができます。



OAuthによる安全なメッセージの受け渡し理論を使ったシンプルな考えで、鍵が一般に公開されている時間が短くなるとより安全で、同じトークンが長い時間出てしまう危険性を減らせるのではと考えています。




Written by Creative Flake

コメント

このブログの人気の投稿

ゲシュタルトの法則をWebデザインにも利用しよう

こんにちは、クリエイティブフレークです。

一度は聞いたことがあるかもしれない「ゲシュタルト」。

ゲシュタルト
人間の精神を、部分や要素の集合ではなく、全体性や構造に重点を置いて捉える。この全体性を持ったまとまりのある構造をドイツ語でゲシュタルト(Gestalt :形態)と呼ぶ。



人間の脳がものの形、要素をどのように認識するか、ということですね。

人間がゲシュタルトを感じるときに起こる、さまざまな種類を「プレグナンツの法則」と呼ぶそうですが、その具体例を簡単に紹介。





ゲシュタルトの法則1 : 近接の法則



近接の法則は、近くにあるもの同士が同じグループだと認識されやすい。





ゲシュタルトの法則2 : 類同の法則



類同の法則は、同じ色や、同じ形同士が同じグループだと認識されやすい。





ゲシュタルトの法則3 : 共通運命の法則



共通運命の法則は、同じ方向に動くもの、同じ周期で点滅するなどが同じグループだと認識されやすい。
共通運命の法則は、近接の法則や類同の法則よりも強く働く。





ゲシュタルトの法則4 : 良い連続の法則



良い連続の法則は、図形はつながった形になりやすいと認識されやすい。
近接、類同、共通運命の法則から、切れ目がなくや突然変化しない図形がよいものだと分かる。





ゲシュタルトの法則5 : 閉合の法則



【】や()のように、閉じた形は同じグループだと認識されやすい。
】【 は同じグループと認識しづらい。





ゲシュタルトの法則6 : 面積の法則



小さいものが図として、大きいものが背景として認識されやすい。





ゲシュタルトの法則7 : 対称の法則



対称な図形は閉じた図として認識されやすい。





このゲシュタルトの法則は心理学をはじめとした様々な分野に応用されていますが、人間の特性を活かすという点で、デザインの分野にも活用されています。

たとえばリモコンのボタン配列。



数多くのボタンを、誰が見ても直感的に分かりやすく、誤操作させないように配置しています。





こちらは私のMacのドック。



急いでいるとよく間違ったアイコンをクリックしてしまうので、試行錯誤の末、この配列が一番使いやすい結論に。





Webデザインにおいては、もしすべてのパーツが単調に置かれていたら……



どこを見ていいのかも分かりづらく、どれがクリックできるのかも分かりづらい。



色や形を変えたり、適度な距…

Photoshopで文字にアンチエイリアスをかける

こんにちは、クリエイティブフレークです。

Photoshopで文字を書いていると、「太字を選択するほどでもないけど、あと気持ちちょっと太かったらいいのに!」、「あとちょっとクリアに見せたいのに!」と思ったことはありませんか?



そんなときに活用したいのが「アンチエイリアス」です。

「エイリアス」とは曲線がギザギザ、ガタガタに表現されてしまうことで、ドット絵みたいに見えます。

なので「アンチ」って言うんですね。



実際に見比べてみると


▲ヒラギノ角ゴシックPro 24pt



明らかに「なし」を選択したものはギザギザです。

「太く」と「シャープ」はちょっと太い感がありますが、「鮮明」と「なめらか」の差が難しいですね。



今度はフォントサイズを変えてみました。


▲ヒラギノ角ゴシックPro 14pt



個人的には、文字が太くなる「シャープ」と「太く」がややジャギー感(ギザギザ感)が残っていますが、「鮮明」と「滑らかに」はフォントサイズを小さくしたときに潰れてしまいやすいイメージです。



では実際どうやって変更するの?なのですが、Photoshop CS6を例に説明します。


▲テキストツール(Tの形)を選びます




▲文字を書いたら上のアンチエイリアスを選びます(うちのマシンが英語ですみません)

Web用や印刷用など、用途によって強弱を使い分けたいですねヽ(・∀・)ノ



Written by Creative Flake

世界一おいしいと思うチョコレートとその謎

こんにちは、クリエイティブフレークです。

自分ランキングでチョコレート部門No.1をキープし続けるMaltesers(モルティーザーズ)というオーストラリアのチョコレートがあるのですが、食べたことがあるという人もいるかと思います。

大きさはチョコボールより一回り大きい感じがします。



チョコレートは日本のチョコにはないような、いわゆる甘い感じです。ティムタムを想像してもらえれば分かりやすいかも!

中にはサックサクの麦芽クッキーが入っていて、これが食べたら止まらない理由です。

コーヒーなんてあれば何箱でもいける。



以前はわたしも日本国内で、輸入菓子を扱っているお店や普通のコンビニでたまに見かけては買ってたのですが、残念なことに今やどこにも見当たりません。



今回おみやげで、写真の「King Share」サイズを4箱いただいたのですが、この容量だけなのか・・・・・・1個だけクッキーじゃなく、キャラメルが入ってる気がする。



最初は「あれ?工場で1つミスしたのが混ざってたのかなぁ」なんて思ってたのですが、2箱目、3箱目も間違いなく1個だけキャラメルが入っているのです!

これはもしかしてコアラのマーチのまゆげコアラ的な?ピンキーの1つだけハートが入っているみたいな??と思ってGoogle先輩に聞いてみました。

が、それらしい回答は見当たらず。



この謎を知っている人、そして日本で買えるところを知っている人がいらっしゃったら、ぜひ教えてください(^v^)/