2011-02-23 71 views
4

我們正在創建一個Silverlight應用程序,並且需要有幾個參數來自調用網站的URL。我應該加密一個由URL參數傳遞的GUID嗎?

例如:http://oursite.com/index.aspx?test=d53ae99b-06a0-4ba7-81ed-4556adc532b2

我們想給鏈接回到我們的桌子的GUID告訴Silverlight應用程序它的任務是什麼,當他們到達主叫網站「測試」字符串。除此之外,我們還使用此GUID進行身份驗證。

的GUID是這樣:

  1. d53ae99b-06a0-4ba7-81ed-4556adc532b2
  2. 8354b838-99b3-4b4c-bb07-7cf68620072e

加密,值是長得多的:

  1. l5GyhPWSBUw8KdD + TpWJOsoOFDF0LzmGzd4uufLx + v/d3eByGZ6zPcRjvCRMG2tg
  2. WVMN7B0FPa18/Q7 + U4njb5AOKnx6Ga9xoAsvCET6MyjM5TV6dO86OexaCXDiXaES

我的問題是,考慮到安全性,我們應該給他們加密的GUID或喜歡它,未加密的?

重要嗎?

大家對這種參數傳遞的經驗是什麼?

+0

我的問題是:你的加密值爲什麼這麼長?我並不認爲他們需要增加規模 - 你在這裏做錯了什麼。 – 2011-08-13 01:00:31

回答

6

在加密問題上,關鍵是定義您的安全上下文。如果他們有權訪問原始GUID,可能有人能做些什麼?如果他們不能做任何危險的事情,那麼加密沒有意義,通常最好不要加密。如果此信息存在任何安全風險,請將其加密。

既然你說:

我們也用這個GUID進行認證,我們的應用程序除其他事項外

...我猜你會想加密。但是您可能需要重新考慮您的身份驗證策略。通常使用經過時間考驗的,被廣泛接受的認證和加密方法是最好的,因爲你可以相對確定沒有未知的漏洞。

+0

這幾乎是我們的思維方式。我們不需要對它進行加密,因爲即使他們確實獲得了它,對他們也沒用。順便說一句,我們只是使用GUID來查詢數據庫中的一段時間後過期的狀態。感謝您的輸入! – ErocM 2011-02-23 17:10:59

+0

我仍然關心查詢狀態。在任何時候,黑客都可以竊取他人的GUID並切換URL以使用他們的URL。然後應用程序將使用其他人的狀態加載。如果您使用該狀態來維護任何類型的安全信息,黑客可以提升他們的權限。 – Tony 2011-02-23 19:09:23

+0

請記住,每個請求都需要從「當前認證的用戶有權在Guid Y上執行X?」開始。這就是爲什麼我說你不想使用GUID進行身份驗證。正如託尼所說,如果其他人可以竊取Guid並讓應用程序認爲他們是其他用戶,那麼您就有安全漏洞。 – StriplingWarrior 2011-02-23 20:34:02

相關問題