1

私はしばらく前にここで同様の質問をしましたが、すべての答えはOpenIDを提供していました。これは素晴らしいですが、それを使用しない認証を必要とするサービス(EventBriteなど)では機能しません。

イベントブライトからのイベントとその分析(eventbriteに含まれるもの)を一覧表示するアプリを作成したいとします。誰でもこのサービスにサインアップして、イベントを一覧表示できます。しかし、EventBriteには認証用のOpenIDがないため、何らかの方法でEventBriteへのユーザーログインとパスワードを取得する必要があります。

考えられる解決策は次のとおりです。

  1. このようにクレデンシャルをYAMLに保存します。簡単にハッキング可能。
  2. ユーザーに自分のサイトのフォームにクレデンシャルを入力してもらい、クレデンシャルをデータベースに保存し、それらを使用してEventBriteにログインします。簡単にハッキング可能。
  3. ユーザーに資格情報を入力してもらい、保存せずに直接EventBriteに渡します。また、応答ヘッダーのCookieをデータベースに保存し、有効期限が切れたら、再度ログインしてもらいます。これは簡単にハッキングできますか?

この架空のサービスは、イベントを自動的にチェックすることも望んでいるため(たとえば、cronを介して)、ブラウザーを介して私のサイトにアクセスするユーザーに依存しません。したがって、Cookieまたは資格情報はどこかに保存する必要があります。

問題は、機密性とセキュリティについてこの同様の質問をした後、私が説明していることを実行するアプリケーションを決して構築してはならないように思われるということです。このようなものを構築する方法は大丈夫でなければなりません。

その方法は何ですか?私は何が欠けていますか?#3を使用してCookieを保存しても大丈夫ですか(ただし、ユーザーは、Eventbriteに送信するフォームを介して電子メール/パスワードを送信する必要があります)。問題の許容できる解決策は何ですか?

4

4 に答える 4

1

Eventbriteは最近、クロスサイトユーザー認証用にOAuth2.0を実装する方法を説明する新しいドキュメントをリリースしました。javasciptベースのOAuth2.0ウィジェットを使用することをお勧めします。このウィジェットは、デフォルトでユーザーの認証トークンをブラウザーのlocalStorageに保存します。認証トークンはユーザーのブラウザに保存され、他のドメインからのアクセスが禁止されているため、セキュリティリークが発生する可能性はほとんどありません。

この認証スキームでは、電子メールとパスワードの組み合わせの必要性は完全に回避されます。

于 2012-02-04T00:37:42.567 に答える
1

これを行うための安全な方法はありません。回避策を採用することもできますが、それだけです。

  1. パスワードをYAMLまたはXMLでクリアテキストに保存することは間違いなくありません
  2. 実際、パスワードの暗号化と保存でさえ間違っています。アプリケーションにはパスワードを復号化する方法が必要になるため、攻撃者はパスワードを復号化することもできます。
  3. パスワードを保存するための推奨される方法はSalt+Hashですが、回復不能になるため、この場合は役に立ちません。
  4. 2と3のため、ユーザーの資格情報をどこに保存しても、脆弱です。
  5. パスワードの代わりにCookieを保存することをお勧めします。しかし、繰り返しになりますが、これにはWebサイトを通過するパスワードが含まれますが、これは適切ではありません。

あなたの状況を考えると、クッキーを保存することはより良いアプローチです。Webサイトでも、全体でHTTPSを使用します。ただし、理想的とは言えません。あなたとあなたのユーザーはそれを知っておく必要があります。

于 2010-04-20T13:16:01.647 に答える
0

ほとんどのサイトは、元のクリアテキストパスワードを使用した直接ログインのみをサポートしているため、それも取得、保存、および提供する必要があります。そして、私は決してあなたをそれで信頼することはありません。あなたのコンセプトの問題は、パスワードを第三者に与える必要があるということです。解決策は、サードパーティを関与させないことです。たとえば、私のブラウザは、パスワードを自動的に保存して入力するのに非常に優れています(私のハードドライブもパスワードで保護されています)。また、他にも数十のパスワードウォレットアプリがあります。私はあなたのサービスを利用して購読しても何も得られません。

そのようなビジネスに入る前に、あなたが一番のターゲットになることを考えてください。Facebook、Googleはセキュリティについて非常に偏執的であり、ログインを安全に保つために多くの時間、お金、労力を費やしています。同じリソースがありますか?その後、あなたはより良いターゲットです。また、サービスをハッキングすることで、ユーザーは複数のアカウントとユーザーのパスワードをすぐに取得し、誰が常にそのパスワードを再利用しているかを確認できます。

于 2010-04-20T15:23:20.010 に答える
0

Eventbrite APIを使用するには、すべての接続がSSLを介して行われていること、およびユーザー名とパスワードではなくuser_keyを使用して認証することをお勧めします。

Eventbrite APIの認証の詳細については、http://developer.eventbrite.com/doc/auth/を参照してください

ログイン後、ユーザーはここでuser_keyを見つけることができます:http://www.eventbrite.com/userkeyapi

これにより、ユーザー名とパスワードの情報がネットワーク経由で傍受されたり、ローカルデータストアから読み取られたりするのを防ぐことができます。

于 2011-05-14T22:12:40.607 に答える