URLセキュリティ - 安全な不正なURLとは何ですか? -- c# フィールド と security フィールド と url フィールド と picasa フィールド 関連 問題

URL security - what is considered a secure unguessable URL?












4
vote

問題

日本語

現在のWebプロジェクトのURLについて考えるだけでした。ユーザーは、Webサイトを使用している画像のように、さまざまなリソースにアクセスできます。 // localhostを:2143 / P / AyuducjPnfnjZGfnNdpAIumehLiWaYQKbZLMeACUqgsYJfsqarTnDMRbwkIxWuDdする

URLは、この HTTPのようなものを見て

今、私は本当に高性能が必要です、そして1つの方法は認証のためにデータベースへの余分な往復を省略することであり、URLに不正なURLに頼ることです。

Google picasa webアルバム、プライベートまたは無制限にすることができます。これはアルバムを保護しますが、写真自体はありません。 Skagen(デンマーク)の写真を撮ります。 > http://lh4.gpht.com/_um1gifff614/tqpvmvn3hpi/aaaaaaaanrs. /gy5dxrdphue/s800/img_4074.jpg 、それは実際にはプライベートアルバムにありますが、あなたはそれを見ることができます。

だからあなたの服用は何ですか? 64文字の長いランダムな文字列「安全」ですか?他のアプローチがありますか?


リクエストごとに認証を行うことを選択しましょう。ユーザーはSomedomain.com上のサイトにログインしています。そこで彼らは自分のアクセスにアクセスしましょう。認証を維持するためにクッキーがドロップされます。

現在実際の写真は、完全に異なるURL上のいくつかの形式のCDNまたはストレージサービスを通じて提供されています。

複数のドメイン間で認証を維持する方法は? 2つのアルバムの内容を異なるサーバーから異なるサーバーに配信できるとしましょう。

英語

I was just thinking about the URLs of my current web project. The user can access different resources, like images using a web site. The URLs look something like this http://localhost:2143/p/AyuducjPnfnjZGfnNdpAIumehLiWaYQKbZLMeACUqgsYJfsqarTnDMRbwkIxWuDd

Now, I really need high performance, and one way could be to omit the extra round trip to the database for authentication and just rely on the URL to be unguessable.

Google does this with Picasa Web Albums, you can make an album private or unlisted. This secures the album but not the photo itself. Take this photo of Skagen (Denmark); http://lh4.ggpht.com/_Um1gIFfF614/TQpVMvN3hPI/AAAAAAAANRs/GY5DxrDPHUE/s800/IMG_4074.JPG, it's actually in a private album, but you can all see it.

So what is your take on this? Is a 64 character long random string "secure" enough? Are there other approaches?


Let's say I choose to do authentication for each request to the resources. The users have logged in to the site on somedomain.com, where they access their, let's say photo albums. A cookie is dropped to maintain their authentication.

Now the actual photos are served through some form of CDN or storage service on a completely different URL.

How would you maintain authentication across multiple domains? Let's say the content of two albums could be delivered from to different servers.

</div
           
   
   

回答リスト

5
 
vote
vote
ベストアンサー
 

数学をする。 64文字(26 + 26 + 10:CAPS / NURDERCES / NUMBERS)のアルファベットから、ランダムに(RAND()!)選択した文字(26 + 26 + 10:CAPS / NUMBERS)は、可能な値(62 ^ 64)を生成します。 1段階の組み合わせを試してみると、コードを推測するために1.63E + 101歳(GoogolよりもMOAR)がかかります。おそらく十分です。より短いものもおそらくかなり良いです。

 

Do the math. 64 characters chosen cryptographically randomly (NOT rand()!) from the alphabet of 62 possible values (26+26+10: caps/lowercase/numbers) will yield 5.16e+114 possible values (62^64). Trying a million combinations a second, it would take 1.63e+101 years (moar than a googol) to guess the code. It's probably good enough. A shorter one is probably pretty good too.

</div
 
 
 
 
1
 
vote

64文字* 6ビット各エントロピー(BASE-64エンコーディング、右?)は384ビットキーです。キーがオフラインにテストできれば、今日の標準によって非常に弱いと考えられます。キーがライブシステムを使用してのみテストできる限り、それはおそらく非常に効果的であり、多くの悪いキーを試みるクライアントをブロックするためにアクティブな対策を追加することもできます。

は、サーバーのログ、ブラウザのログ、参照元ヘッダー、透過プロキシなどを通じて、キーが公開されるリスクはるかに高いリスクが高くなります。

 

64 characters * 6 bits of entropy each (Base-64 encoding, right?) is a 384-bit key. That would be considered quite weak by today's standards, if the key can be tested off-line. As long as the key can only be tested using your live system, it will probably be quite effective and you can also add active countermeasures to block clients that try many bad keys.

You're probably at much higher risk of the keys becoming public through server logs, browser logs, referrer headers, transparent proxies, etc.

</div
 
 
   
   
0
 
vote

「不正な」URLを使用することは間違いなくリスクがあります。それは本当にあなたが保護しようとしているものの種類によって異なります。 Picasaを取って、彼らは銀行の記録ではなく保護されている写真です、したがって、ランダムなクエリ文字列が大丈夫です。さらに、あなたのウェブサイトが大きいほど、開くと大攻撃面が大きくなります。 1つのページしかない場合は1つのことです。それは、単一のURLが使用されているものを試してみるために公正なスキャンをすることができます。しかし、あなたがそのような何百ものページを持っているならば、攻撃者は右のページを「推測」する可能性がはるかに高いです。

だから、私はあなたのために答えを持っていません、「不正な」URLアプローチのいくつかのアドバイスだけをしていません。それは安全ではありません。

歓声、

 

There is definitely a risk to only using an "unguessable" URL. It really depends on what sort of stuff you are trying to secure. Take picasa, they are photos that are being secured, not bank records, therefore a random query string is fine. Plus, the larger your website gets the larger attack surface you will open up. It is one thing if there is only one page, that could take a fair bit of scanning to try and figure out what single URL is in use. But if you have hundreds of thousands of pages like that, then attackers are far more likely to "guess" the right page.

So, I don't really have an answer for you, just some advice on the "unguessable" url approach: don't do it. It's not secure.

Cheers,

</div
 
 
0
 
vote

これは私の2セントです。私は同様の問題がありました。私たちのIntialアプローチは、ファイルの名前をランダムだが一意の名前で変更し、その名前の複雑なキーを持つ2つの方法暗号化を行うことでした。しかし、物事は最終的にURLが誰かの手にあると、あなたはもののプライバシーを保証することはできません。我々は最終的にDBベースの認証ルートにダウンしました。 >ここ

編集#1: CDNの問題については、解決策が何であるかはわかりません。しかし、 Martona が正しいものであっても、 CDNの目的の1つは、メインサーバーからの負荷を軽減し、各リソースのサーバーに戻ることはおそらく良い考えではありません。

 

Here is my 2-cent. I had similar problem. Our intial approach was to rename the file with random but unique name and do a two way encryption with a complex key for that name. But the things eventually boiled down to the fact that once a URL is in someone's hand, you can't guarantee the stuff's privacy. We eventually went down to DB based authentication route. See here

Edit#1: On CDN issue, I am not sure what the solution would be. But even if what martona is saying is correct. One of the purposes of CDN is to reduce load from your main servers, and pinging back to server for each resource is probably not a good idea.

</div
 
 
0
 
vote

クエスレブルのURLのようなものはありません。たとえそれが非SSL接続を介してそれを初めて使用した場合でも、ISPとプロキシ、キャッシュなどによって望んでいた人には見られました。あなたは本当にあなたのユーザー/顧客が彼らのプライベート写真を「不気味な」に信頼してほしいのですか?

URLを作成することは、あなたのユニークなURLが彼らの有用性に期限が制限されていない限り、セキュリティへの大きなアプローチではありません(例えば短命のURLです)

 

There's no such thing as an unguessable URL, and even if there were the very first time you used it over a non-SSL connection it could be seen by anyone who wanted to, by ISPs and by proxies, caches, etc. Do you really want your users/customers to trust their private photos to "unguessability"?

Making URLs unguessable isn't a great approach to security, unless your unique URLs have a time limit on their usefulness (e.g. they're short-lived URLs)

</div
 
 

関連する質問

3  Zend Gdata Picasa PHP APIが働いていました  ( Zend gdata picasa php api stopped working ) 
私は今数年間Zend Gdataを使用しました。 しかし、今日、私の変更されていないコードが次のコマンドを実行すると、 <事前> <コード> $query = $this->gp->newAlbumQuery(); 次のエラーを受け取ります <事前> <コ...

38  公開APIを持つイメージホスティングサービスはありますか? [閉まっている]  ( Are there any image hosting services with a public api ) 
この質問はスタックオーバーフローガイドラインを満たしていません。現在答えを受け付けていません。 この質問を改善したいですか? ...

5  Picasa Androidのアクセス:PicasauploadActivity  ( Picasa access in android picasauploadactivity ) 
私はAndroidに慣れています、そして、私に利用できるツールを正確に把握するのに苦労しています。 それが私のデバイスが実行されているものであるという理由だけで、私は今のところAndroid 2.0.1のために開発しています。 具体的には、私はイメージをアップ...

12  URIからPicasaイメージをロードする方法?  ( How to load a picasa image from uri ) 
ギャラリーから画像を選択する<コード> ACTION_PICK Intentを使用しています。 "、" Profile Photos "などのいくつかのアルバムは、Picasaアイコンでマークされています。そのようなアルバムからの画像のために私はこれに似た...

2  Picasa Web APIは、Authkeyを使用して無制限のアルバムを取得します  ( Picasa web api getting unlisted albums with authkey ) 
私はPicasa Web APIを使用して私のすべての上書きアルバムを取得しようとしています。よくある質問はを言う 私はAPIを通して無制限のアルバムを得ることができますか? APIは同じをサポートしています 残りのPicasa Webアルバムとし...

23  Picasa(デスクトップ)データベースにアクセスする方法  ( How to access the picasa desktop database ) 
Picasaデータベースを読む方法はありますか? Picasaデータベースのフォーマットは何ですか? データベースにアクセスするAPIはありますか? ...

1  Picasa WebアルバムのClientLogin Google AppドメインのログインでデータAPI  ( Clientlogin for picasa web albums data api with a google app domain login ) 
WPFアプリケーションからユーザーのフォトアルバムにアクセスするには、Picasa WebアルバムデータAPIを使用しています。 ここにあるコードをフォローしました。 http://code.google.com/apis/gdata/clientlogi...

1  JavaScriptを使用してFlickr / Picasa Picturesをフェッチします  ( Fetching flickr picasa pictures using javascript ) 
私の写真アルバムからFlick / Picasaの写真のスライドショーを追加したいと思います。の ...

0  Google Picasa Search API  ( Google picasa search api ) 
Google Picasaのキーワードで検索できますか? upt 回答は - リスト写真を一覧表示するコミュニティ検索 ...

4  Picasaからの小さい画像  ( Smaller images from picasa ) 
Picasaがホスティングしているイメージサイズの all のリストを取得する方法があるかどうか知っていますか? PicasaのためにGoogleのGDATA Javaライブラリを使用していました。サイズの範囲のサムネイルのリストを取得することができます(...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有