1

ログイン、ニュース、ユーザー管理のためのポータル サイトを作成したいと考えています。ログイン後にポータルがリダイレクトする Web アプリの別の Web サイト。

私の目標の 1 つは、ポータルと Web アプリを異なるサーバーでホストできるようにすることです。ユーザーが正常にログインして Web アプリにリダイレクトされると、ポータルはユーザーの ID を Web アプリに送信します。しかし、ユーザー ID を Web アプリに直接送信することで、ユーザーがログインをバイパスしたり、他のユーザー アカウントにアクセスしたりできるようにしたくありません。

私が最初に考えたのは、暗号化されたユーザー ID を投稿変数またはクエリ文字列値として送信することです。ある種の公開/秘密キーのシナリオを使用し、DateTime スタンプをキーに追加して、毎回変化させます。

しかし、私は以前にこの種のことをしたことがないので、これを行うためのより良い方法がないかどうか疑問に思っています.

(ポータルにキーを使用してユーザー ID をデータベースに格納し、そのキーを使用してそのデータベースからユーザー ID を取得する Web アプリに渡すことで、データベースを介して通信できる可能性があります。しかし、それはおかしいようです。)

誰かがこれを行う方法やアドバイスを与えることができますか? それとも、これは全体として悪い考えですか?

御時間ありがとうございます。

4

5 に答える 5

1

基本的に、シングル サインオン ソリューションを求めています。あなたの説明はSAMLによく似ていますが、SAML はもう少し高度です ;-)

于 2009-09-25T17:58:49.390 に答える
1

SAMLを見ることをお勧めします

于 2009-09-25T17:59:36.587 に答える
1

これは、この全体をどれだけ安全にしたいかによって異なります。タイムスタンプが埋め込まれた暗号化されたトークンを生成しても、なりすましの可能性は残ります。誰かがトークンを盗んだ場合 (つまり、ネットワーク スニッフィングを通じて)、盗んだトークンを使用して自分の要求を送信できます。トークンを与える時間によっては、この時間は制限される可能性がありますが、決心したハッカーはこれを行うことができます。さらに、有効なリクエストを拒否することになります。もう 1 つのアプローチは、「一度使用」トークンを生成することです。これは、スプーフィングに関しては「防弾」ですが、アプリにサービスを提供するサーバー ファーム内のすべてのサーバー間の調整が必要です。そのため、そのうちの 1 つがトークンを処理した場合、他のサーバーはトークンを拒否します。フェイルオーバーシナリオなどで本当に安全にするため。

于 2009-09-25T17:46:42.010 に答える
1

SHA256 / MD5 / SHA1一般に、答えは、人間が実際に考えなければならないことに基づいて、プラス共有秘密のどこかに存在します。どこかにお金があれば、何人かの人の行動に制限はないと考えるかもしれません - 私は高校で[ある人]と数ヶ月一緒に走って、それらの同類が実際に何をするかを観察しました. 数か月後、私はそのような人と一緒に走ってはいけないことを学びました. うんざりして仕事を避け、土曜日の朝の午前 4 時に突然、努力と分析機能のレベルは「専門知識」としか言いようがありません (大文字の使用に注意してください) Google のような他のサイトでは解決策が必要であり、これは稲妻のタンポポ。

機関 (評判の良い目標を持つ) が情報 (デジタル キャッシュ) を発行できるという、暗号の数学的研究に関する研究があります。誰がそれらを壊しますか?[ person ] との私の経験は、それが社会化の研究であることを示しています。誰と一緒に走りたいかによって異なります。ブラウザーを使用するだけでコードをより簡単に利用できる場合、スニファーに対する防御は何ですか?

<form type="hidden" value="myreallysecretid">

ヴィス・ア・ヴィス

<form type="hidden" value="weoi938389wiwdfu0789we394">

では、どちらが攻撃に対して価値がありますか? どちらも、誰かがあなたからスネーク オイルを手に入れたいと思っている場合、午前 2 時 59 分に電話がかかってくるかもしれません。 ...." その瞬間に備えるためにできることは、SHA のような確立された既知のツールを使用することだけです。SHA の 256 種類は「次のもの」として認められています。そして結合。

それらのツールがどのように機能するかを知っている人を見つけようとすることは言うまでもなく、彼らの防御の第一線はあなたに話しかけることではありません...そして彼らは独自の文献を持っています-彼らはあなたに彼らのツールを使ってほしいと思うでしょう.

その後、何もコーディングできません。

于 2009-09-26T18:27:53.013 に答える
1

PGP は機能しますが、トラフィックの多いサイトでは遅くなる可能性があります

私が過去に行ったことの 1 つは、共有シークレット メソッドを使用することです。私と他の Web サイト運営者だけが知っているトークンを、ユーザーを識別する何か (ユーザー名など) に連結し、それを SHA256 などのチェックサム アルゴリズムでハッシュします (通常はより利用可能な MD5 または SHA1 を使用できますが、それらは多くの壊れやすい)

もう一方の端は、上記と同じことを行う必要があります。渡された識別情報を取得し、それをチェックサムします。渡されたチェックサムと比較して、ログインが有効であると一致する場合。

セキュリティを強化するために、日付またはその他の回転キーを連結することもできます。両側で SSL を実行するのにも役立ちます。

于 2009-09-25T18:06:47.317 に答える