1. ホーム
  2. web-services

[解決済み] RESTfulなWebサービスを保護するには?

2023-04-11 17:26:51

質問

私は、セキュアな RESTfulなWebサービス . 私はすでにGoogleを使用していくつかの研究を行いましたが、私は行き詰っています。

オプションです。

TLS (HTTPS) +。

検討すべき他のオプションはありますか?OAuth の場合、どのバージョンですか?それは重要ですか?私がこれまで読んだ限りでは OAuth 2.0 のベアラートークン(つまり署名なし)は 安全でない .

もうひとつ、とても興味深い記事を見つけました。 RESTベースの認証 .

REST API を保護する... 正しい方法

どのように解決するのですか?

もう一つ、非常に安全な方法があります。 それは、クライアント証明書です。 サーバーは、https で接続するときに SSL 証明書を提示しますよね? サーバーはクライアントに証明書を要求することができるので、クライアントが本人であることを確認することができます。 クライアントは証明書を生成し、安全な経路(USBキー(できればトロイの木馬に乗っ取られていないUSBキー)を持ってオフィスに来るようなもの)を通じて、あなたに渡します。

を読み込むと 証明書の公開鍵 クライアント証明書 (および必要に応じてその署名者の証明書) をウェブサーバに読み込むと、ウェブサーバは誰からの接続も受け付けなくなります。 を除いて からの接続を受け付けません。 これは HTTPS レイヤーで実行されるので、OAuth のようなアプリケーション レベルの認証を完全に省略することもできます (要件によりますが)。 レイヤーを抽象化して、ローカル認証局を作成し、クライアントからの証明書要求に署名することで、「オフィスに来させる」「サーバーに証明書をロードする」という手順を省略することができるのです。

首が痛くなる? もちろんです。 何にでも使える?いいえ。 とても安全?うん。

しかし、クライアントが自分の証明書を安全に保つことに依存しており(クライアントは自分の秘密鍵をオンラインで公開できない)、誰でも登録して接続できるようにするのではなく、クライアントにサービスを販売するときに通常使用されます。

とにかく、これはあなたが探しているソリューションではないかもしれませんが (正直に言うと、おそらくそうではないでしょう)、別の選択肢です。