web-dev-qa-db-ja.com

Ajax Webリクエストのナンスを生成する方法

ご存知のように、WordPressは、すべてのAJAXリクエストに対して「秘密鍵」のようなものを使用します。各リクエストを一意にし、「ある程度」安全にします(手順asp.netアプリケーションでPageMethods(aspxページ内のwebserviceメソッド)を使用して同じように実装するにはどうすればよいですか?ページにアクセスするための認証と承認は、すでに行っていることの一部です。

Asp.netアプリケーションのC#で同じノンス/シークレットキーを生成する方法を教えてください。

また、これは、10万人のユーザーがアプリケーションを使用する場合や、メソッドが暗号化、乱数生成などを行わなければならないたびに、アプリケーションのパフォーマンスに影響を与えませんか?

投稿されたデータが実際に投稿されたものかどうかを確認する方法はありますか?投稿されたデータの整合性をチェックしていますか?

アプリケーションロジックを保護するために、設計パターンに従う必要がありますか?アプリケーションを少なくともある程度安全にするために存在するものはありますか?

3
Deeptechtons

Asp.netアプリケーションのC#で同じノンス/シークレットキーを生成する方法を教えてください。

HTTPダイジェスト認証について読んでください。そこではかなりよく説明されています。

http://en.wikipedia.org/wiki/Digest_access_authentication

また、これは、10万人のユーザーがアプリケーションを使用する場合や、メソッドが暗号化、乱数生成などを行わなければならないたびに、アプリケーションのパフォーマンスに影響を与えませんか?

ほとんどありません。覚えておいてください:ユーザーのデスクトップへの接続がボトルネックです。 nonceのチェックは、すでに利用可能なデータの単純な16進数のダイジェストであるため、通常は簡単です。

投稿されたデータが実際に投稿されたものかどうかを確認する方法はありますか?投稿されたデータの整合性をチェックしていますか?

Cross Site Request Forgery(CSRF)を読んでください。

http://en.wikipedia.org/wiki/Cross-site_request_forgery

アプリケーションロジックを保護するために、設計パターンに従う必要がありますか?

はい。

アプリケーションを少なくともある程度安全にするために存在するものはありますか?

ない1"。

とてもたくさん。

「ある程度」安全なものはありません。安全があり、壊れています。

OWASPのトップ10リストから始めて、脆弱性について調べます。

https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

次に、これを行うフレームワークを見つけて使用します。

自分で作成しないでください。すでに完了しています。それを行うフレームワークを選ぶだけです。


セキュリティがバイナリである理由。 「完全なセキュリティ」は矛盾です-情報が交換されていない場所にのみ存在します。

「セキュリティ」は「完全」を意味するものではありません。 「私たちが情報を共有することに同意した状況下で現在の技術が許す限り良好であり、私はあなたが嘘をついていないと仮定しなければなりません。」

「やや安全」が必要な場合は、「やや安全」を実装しています。

やや安全でないものを実装する場合、実際に実装する特定の種類の安全性を選択する必要があります。一般に、個人情報を提供するか、情報の偽装を許可するか、サービス拒否攻撃を許可する必要があります。 「やや安全な」アプリケーションに実装するものの組み合わせをいくつか選択してください。

可能であれば、「rootパスワードを提供する」という不安を回避するようにしてください。通常、これは「できるだけ安全」に同型です。

6
S.Lott