ac#アプリケーションでAPIクレデンシャルを正しく保護する方法

tjackadams

さて、セットアップの背景について少し説明します。

私は現在、この安らかなAPIのサーバー側であるWebApi2プロジェクトを持っています。クライアントは現在、ユーザー名とパスワードの組み合わせを使用してベアラートークンを取得します。このトークンは、後続のAPI呼び出しで使用されます。プロジェクトはGitHubのプライベートプロジェクトに保存されます。

このAPIを利用するac#Windowsサービスを構築してデプロイしようとしています。このWindowsサービスと一緒にクレデンシャルを展開/保存することに関するベストプラクティスは何でしょうか。

私はAPIの両端を制御し、Windowsサービスの展開も制御します。これはmsiとしてパッケージ化され、一部のサードパーティソフトウェア(自動化)を介して展開されます。

要件は次のとおりです

  • クレデンシャルをソース管理に保存することはできません
  • クライアント側では、クレデンシャルをプレーンテキストにすることはできません。

だから私の質問は、プレーンテキストではなく使用可能な形式で、どのようにAPIクレデンシャルをクライアントに取得するのですか?

または、APIの別のタイプの認証を検討する必要がありますか?私はoauth2を簡単に調べましたが、私が知る限り、クライアント側の誰かが受け入れる必要がありますか?

誰かがこれを達成する方法についてアドバイスやリソースを持っているなら、それは素晴らしいでしょう。

ショール・ズアレット

私は専門家ではありませんが、同様のケースがありました。私はチャンスをつかんで反対票を獲得します:0)

デスクトップ/サービスアプリケーションの1つのアプローチは、ユーザーに資格情報の入力を求めることです。可能であれば、これが最善の方法です。ユーザーが一度でもクレデンシャルを入力できる場合は、ProtectedDataを使用して暗号化されたデータを保存できます(このクラスを使用すると、暗号化キーをコードに保存する必要がなく、非常に簡単に抽出できます(リフレクターを使用...)) 。

ただし、これを自動的に実行して資格情報を保存する場合は、これを行うための適切な方法はありません。クレデンシャルを難読化し、スクリプトキディがそれらを見るのを防ぐことができますが、より深刻なハッカーにとっては、ハッキングするのはかなり簡単です。

他にもいくつかのオプションがありますが、それらはすべてハッキング可能です。別のアプローチは、サーバー上の各マシンをMACアドレスとランダムな文字列(GUIDがジョブを実行します)で登録することです。これはProtectedDataクラスを使用して保存され、この特定のキーと値のペアのみがデータを取得できます。あなたのAPI。ここには2つの問題があります。

  1. ユーザーがアプリをアンインストールして再インストールすると、サーバーに再接続できなくなります(同じGUIDを再生成できないため)。サーバー内のユーザーを削除して新しいユーザーを作成することはできますが、サーバー上のユーザーデータを誰でもハッキングできるため、サーバー上のGUIDを変更することはできません。
  2. 誰でもAPIでユーザーを開いて使用できるようになります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ac#アプリケーションをWindows Azureにデプロイする方法は?

分類Dev

AndroidアプリケーションでElasticSearchAPIを保護する方法は?

分類Dev

モバイル アプリケーションから AWS Elasticsearch へのアクセスを保護する方法

分類Dev

Facebookアプリケーションでキャンバスを追加してキャンバスのURLを保護する方法

分類Dev

シングルページWebアプリ(SPA)内のアクセスクレデンシャルを保護するものは何ですか?

分類Dev

SQLiteデータベースを使用してAC#アプリケーションのインストーラーを公開/作成する方法は?

分類Dev

PWA(プログレッシブウェブアプリケーション)でAPIキーを保護する方法

分類Dev

Springを使用してOAuth2でMVCアプリケーションを保護する方法は?

分類Dev

クレデンシャルでGoogleCloudStorageバケットを保護する

分類Dev

マシュマロ前のアプリケーションのクラッシュを保護する方法

分類Dev

maps.api.hereでは機能しない特定のドメインに対してアプリのクレデンシャルを保護します

分類Dev

オープンソース(Github + Heroku)アプリケーションでGoogleAPIキーを保護する方法

分類Dev

アプリケーションを海賊行為から保護する方法

分類Dev

Windows Phone 8.1アプリケーションを保護する方法は?

分類Dev

アプリケーションをパスワードで保護する

分類Dev

クレーム認証を使用してSharePoint2013のアプリケーションページを保護する方法

分類Dev

Firebaseアプリケーションを無限ループから保護する方法は?

分類Dev

JoobyアプリケーションでCORSを正しく設定する方法

分類Dev

Spring BootアプリケーションでThreadPoolExecutorを正しく使用する方法

分類Dev

WinDbgでのac#アプリケーションのデバッグ

分類Dev

2つのCakePHPアプリケーション間のPOSTリクエストを保護する方法

分類Dev

ac#アプリケーションにログインしているユーザーのデータを取得して表示する

分類Dev

Fail2Banを使用してProxyPass(ed)アプリケーションを保護する方法

分類Dev

htaccessの代わりにnodejsアプリケーションをパスワードで保護する方法

分類Dev

複数のアプリケーションを保護するシングルサインオンASPID

分類Dev

Identity Server4でAsp.netコア2.1とVue.jsシングルページアプリケーションを保護する方法

分類Dev

ビルドプロセスでac#コンソールアプリケーションを実行します

分類Dev

クラッシュしないアプリケーションを保護するための例外的な代替案を試してください

分類Dev

Angular 2クライアント側アプリケーションでAPIキーを非表示/保護するにはどうすればよいですか?

Related 関連記事

  1. 1

    ac#アプリケーションをWindows Azureにデプロイする方法は?

  2. 2

    AndroidアプリケーションでElasticSearchAPIを保護する方法は?

  3. 3

    モバイル アプリケーションから AWS Elasticsearch へのアクセスを保護する方法

  4. 4

    Facebookアプリケーションでキャンバスを追加してキャンバスのURLを保護する方法

  5. 5

    シングルページWebアプリ(SPA)内のアクセスクレデンシャルを保護するものは何ですか?

  6. 6

    SQLiteデータベースを使用してAC#アプリケーションのインストーラーを公開/作成する方法は?

  7. 7

    PWA(プログレッシブウェブアプリケーション)でAPIキーを保護する方法

  8. 8

    Springを使用してOAuth2でMVCアプリケーションを保護する方法は?

  9. 9

    クレデンシャルでGoogleCloudStorageバケットを保護する

  10. 10

    マシュマロ前のアプリケーションのクラッシュを保護する方法

  11. 11

    maps.api.hereでは機能しない特定のドメインに対してアプリのクレデンシャルを保護します

  12. 12

    オープンソース(Github + Heroku)アプリケーションでGoogleAPIキーを保護する方法

  13. 13

    アプリケーションを海賊行為から保護する方法

  14. 14

    Windows Phone 8.1アプリケーションを保護する方法は?

  15. 15

    アプリケーションをパスワードで保護する

  16. 16

    クレーム認証を使用してSharePoint2013のアプリケーションページを保護する方法

  17. 17

    Firebaseアプリケーションを無限ループから保護する方法は?

  18. 18

    JoobyアプリケーションでCORSを正しく設定する方法

  19. 19

    Spring BootアプリケーションでThreadPoolExecutorを正しく使用する方法

  20. 20

    WinDbgでのac#アプリケーションのデバッグ

  21. 21

    2つのCakePHPアプリケーション間のPOSTリクエストを保護する方法

  22. 22

    ac#アプリケーションにログインしているユーザーのデータを取得して表示する

  23. 23

    Fail2Banを使用してProxyPass(ed)アプリケーションを保護する方法

  24. 24

    htaccessの代わりにnodejsアプリケーションをパスワードで保護する方法

  25. 25

    複数のアプリケーションを保護するシングルサインオンASPID

  26. 26

    Identity Server4でAsp.netコア2.1とVue.jsシングルページアプリケーションを保護する方法

  27. 27

    ビルドプロセスでac#コンソールアプリケーションを実行します

  28. 28

    クラッシュしないアプリケーションを保護するための例外的な代替案を試してください

  29. 29

    Angular 2クライアント側アプリケーションでAPIキーを非表示/保護するにはどうすればよいですか?

ホットタグ

アーカイブ