2011-09-01 13 views
1

Securing an API: SSL & HTTP Basic Authentication vs Signature REST呼び出しがSSLを使用して行われる場合、REST Webサービス呼び出しを保護するのに適切な方法として、HTTP基本認証が引用されています。SSLおよびHTTP基本認証によるRESTサービス

しかし、このメソッドは、SSLの背後で保護されているRESTサービスを呼び出すためにAjaxを使用するセキュリティ保護されていないクライアント・ページでは機能しません。& Basic Auth。

私は通常の方法を使用して、パスワードのリセットを実行するアプリケーションを設計しようとしています:

  1. ユーザーは、ユーザー名と要求「パスワードをリセット」メール
  2. ユーザーがA含んでパスワードリセットのリンクを電子メールで受け取る入り検証トークン
  3. ユーザーがリンクをクリックすると(トークンが検証された後に)定義により、その更新されたパスワード

内の型これらのページにログインする必要はありません。このUIは、RESTサービスを呼び出してトークンの検証、電子メールの送信などの作業を行うAjaxを使用して実装できますか?これらのRESTサービスがSSL & Basic Authの背後に保護されていても、サービスを呼び出す必要がある情報(アプリケーションの「ユーザー名」とパスワード)は、ブラウザからアクセスできるCookieに含まれます。

私は何かが不足していることを知っています。私はちょうど何かを知りません:-)

+0

これで解決しましたか? – bryanmac

答えて

0

私はあなたが保護しているか分からないので、私はちょうどいくつかの考えを投げます。

あなた(または詐欺をした他の人)が依拠当事者のルートリストを管理していない場合、SSLとTLSは意味がありません。あなたが鍵の鍵を持っている人を信用せずに金庫に金を入れないと思うので、私はこれを言う。だからログインページを読み込んでいるユーザーが話すように野生の場合、TLSを通過するユーザー/は、私のお気に入りの映画リストを保護するのに十分なほど低いバーです。その中に

(あなたが認証局を信頼と仮定した場合)、データをサーバにワイヤ上に安全になりますSSLの下で起こる3 -

Carbyは限り1として全てがFSM

+0

RAmen!ありがとう。パスワードをリセットするための低いバーです。ちょうど、RESTを呼び出すAjaxは、最初にログインする必要のないアプリケーションには適していないようです。 – pastafarian

+0

AJAXを使用してreset-your-password-token-linkメールをトリガーする際に問題は発生しません。もちろん、電子メールプログラムやブラウザのリンクをクリックすると、新しいページに移動したり、新しいページに移動したりします。私はあなたが間違った(悪い人)サーバーに送信されているクッキーを心配していると思います...あなたは重い持ち上げることなくそのリスクを避けることはできません。 AJAXはここで弱点ではありません。おかげさまで – Ram

+0

はい、私の心配は、主にリンクをクリックした後のワークフローの「第2の部分」です。アプリケーションのその部分がAjaxを呼び出す場合、アプリケーションはRESTサービスに対して自身を認証する必要がありますが、ブラウザを見ている人に公開することなく、認証情報(username/password a.k.a.apikey/sharedsecret)をどのように取得しますか? – pastafarian

1

に賞賛しますブラウザは、これらの資格情報をメモリに保持します。ユーザーがデータを入力しようとすると、それを信じる以外に選択肢はありません。

Cookieに情報を保存するかどうかを決定するのはウェブサイトのコードです。

1 - 3がSSLの下にある場合は、問題ありません。

+0

ありがとうございます。私はこれが私の心の中の切り離しであると考えています。これが1ページのajaxアプリケーションである場合、サーバーへのトリップはこれらのRESTサービスを呼び出すことだけです。 RESTサービスは、呼び出し元のアプリケーションを信頼するために認証情報を必要とします。どのようにしてajaxアプリケーションは認証情報を持っていますか?それはブラウザを介して公開することなく?誰もがこのページに行き、それが設定したクッキーを見て、RESTユーザー名/パスを持ち上げることはできません。次に、ユーザー名/パスを使用してRESTサービスを呼び出す別のアプリケーションをビルドします。 – pastafarian

+0

基本認証を使用してSSL上でRESTサービスを呼び出すためのガイドラインとしてamazon S3の基本認証スキームを使用したいとしましょう。認証: "AWS" + "" + AWSAccessKeyID + ":" + Base64(HMAC-SHA1(UTF- 「AWSSecretAccessKey」)が世界に公開されないようにするにはどうすればよいですか? – pastafarian

関連する問題