タグ

oauthに関するkamipoのブックマーク (36)

  • GoogleのOAuth 2.0実装におけるToken置換攻撃の防ぎ方 - r-weblife

    こんばんは, ritouです. OAuth.jpのnov先生のポストにもある通り, OAuthのImplicit GrantにおけるToken置換攻撃の話や対策についてはFacebookが話題の中心だったりします. この前Google+の新機能について調べたついでにGoogleのImplicit周りの実装について確認したので, GoogleのOAuthにおいてToken置換攻撃をどのように防ぐべきかを共有します. (中の人でも啓蒙する立場でもなく勝手に調べただけなのであしからず) ClientがWebServerを利用しない場合 : Access Tokenの内容を確認するAPIをたたく Token置換攻撃への対策として必要なのは, Clientが受け取ったTokenが自分用に発行されたものかどうかの確認を行うことです. Googleの場合, Access Tokenの中身を確認するEnd

    GoogleのOAuth 2.0実装におけるToken置換攻撃の防ぎ方 - r-weblife
    kamipo
    kamipo 2012/09/12
  • OAuthなプラットフォームの中の人が椅子を投げたくなるアプリの実装 - r-weblife

    こんばんは、ritouです. 世の中, OAuthの仕様に沿って提供されているAPIだらけです. モバイル端末で動作するアプリでも, そんなAPIを利用するものだらけです. OAuthなユーザーフロー アプリのOAuth実装となるとそれはそれはこまけぇことでいろいろあります. とりあえず, OAuthなプラットフォームを提供する側は以下のようなユーザーの動きを望んでいます. mixiと連携するボタンを押す 外部のブラウザが立ち上がる 未ログインの場合はログイン画面が表示されるが, 頑張ってHTTPS+ドメイン名とかを確認してログイン アプリによるリソースアクセスに対して同意 アプリに戻って連携完了 やや複雑なものに思えるかもしれませんが, OAuthなプラットフォームを提供している中の人たちからすると, アプリがID(Email)/PWなどを直接扱わないことで意図的な悪用, 意図しない漏え

    OAuthなプラットフォームの中の人が椅子を投げたくなるアプリの実装 - r-weblife
    kamipo
    kamipo 2012/09/12
  • OAuth 2.0 Implicit Flowをユーザー認証に利用する際のリスクと対策方法について #idcon - r-weblife

    おはようございます、ritouです。 今回は、一部で先週話題なりましたOAuth 2.0のImplicit Flowについてのエントリになります。 (2012/2/7 いろいろと修正しました。) 単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる | @_Nat Zone Thread Safe: The problem with OAuth for Authentication. 今回は以下の内容について整理したいと思います。 OAuth 2.0のどの機能にセキュリティホールがあるのか 誰が攻撃者になれるのか 対策 OAuth 2.0 Implicit Flowとは OAuth 2.0ではサードパーティーアプリケーションが保護リソースへのアクセス権限を得るためのいくつかのフローが定義されています。 (仕様中ではFlowやGrant Type

    OAuth 2.0 Implicit Flowをユーザー認証に利用する際のリスクと対策方法について #idcon - r-weblife
  • 2-legged OAuthを理解する - $shibayu36->blog;

    APIの認証ってどうやってるんだろーって思っているときに、Google Dev Quizで2-legged OAuthの問題があったので、やりながら理解する事にした。perlで書いてみました。 OAuthのcpanモジュールを使った場合 この場合、簡単にできます。OAuth::Lite::Consumerにconsumer_keyとconsumer_secretとrealmを渡して作成してやった後、method, url, paramsを指定してrequestするだけです。timestamp値やnonceなどはすべて自動で付けて、署名を作ってくれています。 use strict; use warnings; use OAuth::Lite; use OAuth::Lite::Consumer; my $ua = LWP::UserAgent->new; my $request_url =

    2-legged OAuthを理解する - $shibayu36->blog;
    kamipo
    kamipo 2012/09/12
  • 非技術者のためのOAuth認証(?)とOpenIDの違い入門【2023年版】

    昔から、「OpenIDは認証でOAuthは認可だ」などということが言われます。しかし、その言語の意味を取り違えている方が結構多い気がしています。「もうOpenIDなんていらね。OAuthだけでいいじゃん」というような言説がよく流れてくるのがその証拠だと思います。OAuth認証というのもその類ですね。 そこで、今日はOAuthとOpenIDの違いを考えてみたいと思います。 OpenIDは紹介状、OAuthは合鍵 まずはOpenIDの概要の復習です。「OpenIDは認証」という言葉の内容をまずは復習してみましょう。 「認証」とは大変広い言葉でいろいろな場面で使われますが、「OpenIDは認証」という使い方の時は、「OpenIDは、いま来ている人の身元を認証」(ユーザ認証)という意味です。図にすると図1のような流れになります。 この例では、有栖さんがお客としてサービス提供をしているサイトである伊

    非技術者のためのOAuth認証(?)とOpenIDの違い入門【2023年版】
  • 単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる

    In some of the feedback I have gotten on the openID Connect spec, the statement is made that Connect is too complicated. That OAuth 2.0 is all you need to do authentication. Many point to Identity Pro… 英語読みたくないという人のために簡単に解説すると… OAuth 2.0 の implicit flow を使って「認証」をしようとすると、とっても大きな穴が開きます。 カット&ペーストアタックが可能だからです。 OAuth 認証?は、図1のような流れになります。 図1 OAuth 認証?の流れ 一見、問題なさそうに見えます。しかし、それはすべてのサイトが「良いサイト」ならばです。 Site_A

    単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる
  • Re: OAuth 2.0のclient_secretって本当に秘密鍵ですか? - OAuth.jp

    昨日こんな記事を見かけたので、記事にまとめることにします。 OAuth2.0のclient_secretって当に秘密鍵ですか? 元記事にあるとおり、現状Native AppでのOAuth 2.0の実装は、API提供者・利用者ともにポリシーがバラバラで、混乱の元になっていると思います。 Googleのドキュメントにも「the client_secret is obviously not treated as a secret.」とあるわけだけど、そのくせclient_secretを使ってるし、ネットで調べても少なくない数の人がアプリに埋め込んでるので、client_secretを公開したときの問題を考えてみる。 "offline" アクセスと "online" アクセス Googleは、"offline access" に対して以下のようなポリシーを持っています。 Upcoming cha

  • RFCとなった「OAuth 2.0」――その要点は?

    RFCとなった「OAuth 2.0」――その要点は?:デジタル・アイデンティティ技術最新動向(2)(1/2 ページ) いまWebの世界では、さまざまなWebサービスが提供するプラットフォームと、サー ドパーティが提供するアプリケーションがAPIを中心に結び付き、一種の「APIエコノミー」を形成しています。この連載では、そこで重要な役割を果たす「デジタル・アイデンティティ」について理解を深めていきます。 再び、デジタル・アイデンティティの世界へようこそ 前回「『OAuth』の基動作を知る」ではOAuthの仕様がどういうものかについて説明しました。今回は引き続き、 OAuth 1.0とOAuth 2.0の違い OAuth 2.0をセキュアに使うために知っておくべきこと について述べていきます。 OAuth 1.0とOAuth 2.0の違い クライアントタイプの定義 OAuth 2.0では、O

    RFCとなった「OAuth 2.0」――その要点は?
    kamipo
    kamipo 2012/09/12
  • 「OAuth」の基本動作を知る

    デジタル・アイデンティティの世界へようこそ はじめまして、OpenID Foundation JapanでエバンジェリストをしているNovです。 この連載では、僕を含めOpenID Foundation Japanにかかわるメンバーで、OpenID ConnectやOAuthなどの「デジタル・アイデンティティ(Digital Identity)」にかかわる技術について紹介していきます。 APIエコノミー時代のデジタル・アイデンティティ 世界中で9億人のユーザーを抱える「Facebook」や5億人のユーザーを持つ「Twitter」など、巨大なソーシャルグラフを持つサービスが、日々その存在感を増しています。日でも、グリーやモバゲーなどがそれぞれソーシャルゲームプラットフォームを公開し、国内に一気に巨大なソーシャルゲーム市場を作り上げました。最近では、ユーザー数が5000万人を突破し、プラット

    「OAuth」の基本動作を知る
    kamipo
    kamipo 2012/09/11
  • OAuth 2.0 Implicit Flow で認証の問題点、再び。 - OAuth.jp

    おひさしぶりです、@novです。 最近は、新しいFacebook iOS SDK使ってるアプリを見つけるとまずToken置換攻撃を試みていますが、結構高い確率でこの攻撃に対して脆弱なアプリがみつかります。困ったものです。。 そんななか、2週間ほど前に、Micosoft Researchの人がIETF OAuth WGのメーリングリストに同じ問題を提起していました。該当Threadでは少し話題が脱線している部分もありますが、もともと最初にこの問題を提起したJohn BradleyがOAuth 2.0 CoreにSecurity Considerationsを追加する流れのようです。 これが現状の改善につながれば良いのですが、そう簡単に行かないかもなとも思います。というのも、この問題、なかなかデベロッパーにとって理解されない傾向があります。 そこで今日は、これまでいくつかのアプリデベロッパーに

  • OAuth 2.0 Client side Best Practice

    OAuth 2.0において、Client側で気を付けなければいけないこと 参考: https://datatracker.ietf.org/doc/draft-ietf-oauth-v2-threatmodel/ https://datatracker.ietf.org/doc/draft-ietf-oauth-v2/ あえて細かくClient Type(public, confidential)単位の記述をしていないが, 今後整理するかもしれない. Client Credentialの管理 モバイルアプリケーションなどの"public"なクライアントにおいて、Client Credentialsをソースコードもしくは配布するソフトウェアパッケージにバンドルされるリソースに含まない リバースエンジニアリングなどによりアクセスされる可能性がある. また, ソースコードやバイナリ中のClien

    OAuth 2.0 Client side Best Practice
    kamipo
    kamipo 2012/05/28
  • "なんちゃら iOS SDK" でありそうな被害例 - OAuth.jp

    昨日の続き。「ソーシャルゲームなんて3000万人の特殊な人しかやってない」という意見もあるようなので、今日は iOS アプリ版。 登場人物 iOS SDK 出してるプラットフォーム iOS SDK と連携するプラットフォームの公式 iOS アプリ プラットフォーム上で "まっとうな" アプリを運営してる攻撃者 攻撃者が自作した攻撃用アプリ iOS SDK 使って開発された被害アプリ あいかわらず無邪気な被害ユーザ 前提 プラットフォームが提供する iOS SDK は、 プラットフォームが指定するカスタムスキーマ (ex. “xyz-connect://”) で始まる URI にアクセスすることで プラットフォーム公式 iOS アプリに access token 取得のフローを delegate し 公式アプリが被害アプリの指定するカスタムスキーマ (ex. “foobar-rowial:/

  • 「OAuth 2.0 (Implicit Flow) でログイン」の被害例 - OAuth.jp

    。登場人物 OAuth 2.0対応してる某ゲームプラットフォーム 某ゲームプラットフォーム上で占いゲームを運営してる攻撃者 某ゲームプラットフォーム上で農園ゲームを運営してる被害アプリの開発者 某ゲームプラットフォーム上で無邪気に遊んでる被害ユーザ ※ 念のため、今回の話は特にゲームに限った話ではない。 前提 某ゲームプラットフォーム、農園ゲーム共に、XSS とか CSRF とかセッションハイジャックされるような脆弱性はない。 農園ゲームはプラットフォームが発行するAccess TokenをOAuth 2.0のImplicit Flowを使って受け取り、同じくプラットフォームが提供するProfile API (GET /me とか) にアクセスして、レスポンスに含まれる user_id をもとにユーザを認証している。 攻撃者は占いゲームDBから任意のAccess Tokenを取得可能。

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • oauth2-php - Project Hosting on Google Code

    Code Archive Skip to content Google About Google Privacy Terms

  • facebookアプリで access_token を取得する流れ - (゚∀゚)o彡 sasata299's blog

    2011年08月03日19:14 Facebook ライフハック facebookアプリで access_token を取得する流れ 最近はfacebookアプリを作ろうと思ってちょこちょこやってます。こんにちわ。 で、やっぱりソーシャルなデータを利用したいわけですよ。facebook にはそのために Graph API というものが用意されていてさまざまな情報を取得することができます。Graph API ではユーザやfacebookページの情報程度であれば誰でも取得できますが、「いいね!」の情報や友達情報などはデータを取得するために認証が必要となります。 認証は OAuth 2.0 という仕組みが使われていて、認証が通れば access_token というトークンが取得できます。これを使うことでデータにアクセスできるわけですね。 というわけで、認証が必要なデータ取得時の流れをまとめてみま

  • bit.ly の OAuth 2.0 とか色々試してみたら色々アレだった : にぽたん研究所

    ある日、うちのサービスで bit.ly 使って URL を短縮したいねーなんて話があがって、まぁ、単純に短縮化するなら、@shiba_yu36 さん作の WebService::Bitly なんか使えば簡単に色々出来て便利だなーって思いました。 で、きっと、このモジュールを使っているであろうはてなダイアリーとか見てみたら、bit.ly の設定画面があるんですね。 自分自身の bit.ly アカウントを使えば bit.ly でトラッキングとか出来るし便利だなーと思いました。 …でもね、うちのサービスの利用者の方々は、はてな民のようなリテラシーの高いユーザばかりではないのですよ。 「bit.ly の API キー」とか言っても「は?????」って感じの方が大多数。 意味わからないものを設定画面につけるとなっちゃん宛にクレームがいっぱい来てしまいます。 とりあえず、bitly API Docum

    bit.ly の OAuth 2.0 とか色々試してみたら色々アレだった : にぽたん研究所
    kamipo
    kamipo 2011/04/22
  • PerlでOAuth 2.0を使ってみた - hide-k.net#blog

    携帯の緊急地震速報の音が怖いので、「会いたかった」に変えるHackを募集しています。 こんばんは。 OAuth 2.0は仕組も特徴も理解していたのですが、実際に実装の必要が出てきたので今更ながら初めて使ってみました。 仕様は現在draft15というステータスで公開されています。(The OAuth 2.0 Authorization Protocol) OAuth 2.0の特徴としてはHTTPSを使って通信経路を暗号化することによりトークンを直接やりとりすることが可能となっています。そのため署名が必要なくなり、あの悪夢のような署名検証をしなくて済むようになったのが大きなメリットです。 とはいえ、読んでもよくわかんないのでコードにしてみます。Authorization ServerとResource Serverとして使ってみるのはFacebook。クライアントサイドフローとサーバーサイドフ

    kamipo
    kamipo 2011/04/18
  • OAuth 2.0でWebサービスの利用方法はどう変わるか(1/3)- @IT

    OAuth 2.0で Webサービスの利用方法はどう変わるか ソーシャルAPI活用に必須の“OAuth”の基礎知識 株式会社ビーコンIT 木村篤彦 2011/2/2 TwitterがOAuth 1.0を採用したのを皮切りに、今では多くのサービスがOAuth 1.0に対応しています。国内でも、例えば、マイクロブログ型コラボツール「youRoom」、小規模グループ向けグループウェア「サイボウズLive」、「はてな」のいくつかのサービス、「Yahoo!オークション」、リアルタイムドローツール「Cacoo」などがOAuth 1.0に対応したAPIを公開しています。 ここ数年でOAuthはさまざまなWebサービスのリソースを利用する際の認証方式として普及してきました。これは大きなプレーヤーがサポートしたことも一因ですが、OAuthの持つ以下の2つの特徴によって、「OAuthを使うと、サービスプロバイ

    kamipo
    kamipo 2011/02/08
  • OAuth::LiteでOAuth対応のHTTP::Requestを作る方法 (Perlでtwitter bot書いてる人向け) - 酒日記 はてな支店

    最近人気エントリーに便乗したネタが多くてすみません。 実用! PerlでコマンドラインからTwitter投稿(OAuth対応) では、Net::Twitter を使って OAuth で投稿する方法が紹介されていますね。 ところで、単純な twitter bot 作るのに Net::Twitter 使います?「投稿なんて LWP で1発リクエスト投げればいいだけだから使わない」という人も多いと思いますが、Basic 認証が廃止されたらどうしましょう。 そのようなかた向けに、OAuth::Lite で OAuth 対応な HTTP::Request を作る方法をご紹介します。 consumer key, consumer secret, access token, access token secret は既に何らかの方法で取得できているものとすると、こんな感じです。 use OAuth::L

    OAuth::LiteでOAuth対応のHTTP::Requestを作る方法 (Perlでtwitter bot書いてる人向け) - 酒日記 はてな支店
    kamipo
    kamipo 2010/06/11