1

建築に関する質問です。

私のサイトでは、ユーザーがビデオを録画して「サイト」にアップロードできるようにする必要があります。この目的を達成するには、ある種のメディア サーバーを使用する必要があるようです。このセカンダリ サーバーをシステムに導入すると (このサーバーに常駐する Flash アプリを、サイトが配信する HTML に埋め込もうとします)、これによってセキュリティの範囲が大幅に広がることに気付きました。私が怖いのは、攻撃者が Flash アプリ自体を埋め込もうとしたり、クライアントになりすまそうとしたりすることです (または、私がまだ考えていないことです!)。

したがって、私は人々がそのようなアーキテクチャでアプリケーションをどのように保護しているのか疑問に思っていました. 確かにここで提案されていることはできますが、現時点では適切なバンドエイドですが、ドメイン情報はクライアントによって技術的に改ざんされる可能性があります。

サイトの認証を分離して、WebServer、AuthServer、および MediaServer を個別に認証できるようにする MediaServer を提供することができました。ユーザーに両方のサイトにログインさせることは明らかに面倒であり、ユーザーのログイン資格情報を渡したり、すべての接続を保護したりすることは、見苦しく、ベスト プラクティスを嫌うように思えます。

私の最善の策は、認証サーバーが作成するある種の一時的なトークンです。そのため、Web サイトはログイン後に認証サーバーをキックして、サイトがメディア サーバーに (フラッシュ変数の一部として) 渡すことができるトークンを生成し、MediaServer 自体が認証サーバーに対して二重チェックを行うために使用できます。

私は Red5、Flash、および Web セキュリティに比較的慣れていないので、次の説明が適切で、安全で、必要であるかどうか疑問に思っていました。また、そのような認証システムに使用するまともなツールを誰かが知っていて、そのような目的のために ASP.NET 認証ですでに何かが始まっているかどうかを知っている場合。

4

1 に答える 1

1

あなたのリンクで提供されている解決策...私の2番目のコメントを読んでください。最初の仮想ホストについては間違っています! 私のコメントは、アプリを保護するための (少なくとも 1 つの) ソリューションを実際に教えてくれます。

たとえば、connect メソッドで SESSION_ID を Red5 に渡すことができます。ユーザーは、記録または再生メソッドを呼び出す前に、別の Web サービス呼び出しから SESSION_ID を取得します。

SESSION_ID は、15 分間のみ有効で、正確にそのビデオに対して 1 回だけ使用できる、ある種の一時的なトークンである場合もあります。それをどこまで実装するかは、メカニズムがどれだけ安全である必要があるかという問題です。

セバスチャン

于 2012-11-16T10:22:49.437 に答える