公鑰密鑰理解,signed cookie

                                               公鑰密鑰理解,signed cookie

 

1、公鑰密鑰理解

 

公開密鑰加密英語:Public-key cryptography),也稱爲非對稱加密英語:asymmetric cryptography),是密碼學的一種算法,它須要兩個密鑰,一個是公開密鑰,另外一個是私有密鑰;一個用做加密的時候,另外一個則用做解密。使用其中一個密鑰把明文加密後所得的密文,只能用相對應的另外一個密鑰才能解密獲得本來的明文;甚至連最初用來加密的密鑰也不能用做解密。因爲加密和解密須要兩個不一樣的密鑰,故被稱爲非對稱加密;不一樣於加密和解密都使用同一個密鑰的對稱加密。雖然兩個密鑰在數學上相關,但若是知道了其中一個,並不能憑此計算出另一個;所以其中一個能夠公開,稱爲公鑰,任意向外發布;不公開的密鑰爲私鑰,必須由用戶自行嚴格祕密保管,毫不經過任何途徑向任何人提供,也不會透露給要通訊的另外一方,即便他被信任。算法

 

基於公開密鑰加密的特性,它還提供數字簽名的功能,使電子文件能夠獲得如同在紙本文件上親筆簽署的效果。瀏覽器

加密

若是任何人使用公鑰加密明文,獲得的密文能夠經過不安全的途徑(如網絡)發送,只有對應的私鑰持有者才能夠解密獲得明文;其餘人即便從網絡上竊取到密文及加密公鑰,也沒法(在數以年計的合理時間內)解密得出明文。典型例子是在網絡銀行或購物網站上,由於客戶須要輸入敏感消息,瀏覽器鏈接時使用網站服務器提供的公鑰加密並上傳數據,可保證只有信任的網站服務器才能解密得知消息,沒必要擔憂敏感個資由於在網絡上傳送而被竊取。安全

在現實世界上可做比擬的例子是,一個傳統保管箱,開門和關門都是使用同一條鑰匙,這是對稱加密;而一個公開的郵箱,投遞口是任何人均可以寄信進去的,這可視爲公鑰;而只有郵箱主人擁有鑰匙能夠打開郵箱,這就視爲私鑰。服務器

 

非對稱加密每每須要密碼學安全僞隨機數生成器的協助來產生一對密鑰cookie

其中一個能夠隨便公開,稱爲公鑰;另外一個不公開,稱爲私鑰,必須由用戶自行嚴格祕密保管,毫不經過任何途徑向任何人提供網絡

 加密過程

在數學上,網站

  1. 愛麗絲與鮑伯事先互不認識,也沒有可靠安全的溝通渠道,但愛麗絲如今卻要經過不安全的互聯網向鮑伯發送信息
  2. 愛麗絲撰寫好原文,原文在未加密的狀態下稱之爲明文
  3. 鮑伯使用密碼學安全僞隨機數生成器產生一對密鑰,其中一個做爲公鑰爲
  4. 鮑伯能夠用任何方法發送公鑰
  5. 愛麗絲用公鑰
  6. 愛麗絲能夠用任何方法傳輸密文
  7. 鮑伯收到密文,用私鑰
  8. 因爲伊夫沒有獲得鮑伯的私鑰
  9. 若是愛麗絲丟失了她本身撰寫的原文

 

在非對稱加密中,愛麗絲使用鮑伯的公鑰加密明文,獲得密文,而只有鮑伯由於持有私鑰才能夠解密,獲得明文加密

 

數字簽名

相反,若是某一用戶使用他的私鑰加密明文,任何人均可以用該用戶的公鑰解密密文;因爲私鑰只由該用戶本身持有,故能夠確定該文件一定出自於該用戶;公衆能夠驗證該用戶發佈的數據或文件是否完整、中途有否曾被篡改,接收者可信賴這條信息確實來自於該用戶,該用戶亦沒法抵賴,這被稱做數字簽名,大部分國家已經立法認可數字簽名擁有等同傳統親筆簽名的法律效力。公鑰能夠經過數字證書認證機構籤授的電子證書形式公佈,接收者經過信任鏈造成一套完整的公開密鑰基礎建設。例如,從網上下載的安裝程序,通常都帶有程序製做者的數字簽名,能夠證實該程序的確是該做者(公司)發佈的而不是第三方僞造的且未被篡改過(身份認證/驗證)。而在網絡銀行或購物網站,通常也會使用HTTPS,讓客戶確認他們不是鏈接到僞冒網站spa

 


 

2、signed_cookie

cookie爲了防止被惡意的客戶端修改,用到了signed cookie.blog

好比cookie 是這樣子authed:false 用戶能夠手動改爲authed:true

這樣是不安全的。所謂signed cookie是用到了 hash secret cookie_value 

hash(cookie_value+secret)   發送的cookie 是authed:false|asdYTRESMcsgvsaw

false|asdYTRESMcsgvsaw 這堆隨機字符串就是hash(cookie_value+secret)  後的結果

false|asdYTRESMcsgvsaw = hash(cookie_value+secret)

當cookie到達服務端時,將客戶端發來的cookie_value與screate 哈希,若是與 false|asdYTRESMcsgvsaw 相等,則代表沒有被篡改

相關文章
相關標籤/搜索