鍍金池/ 問(wèn)答/Java  Linux  網(wǎng)絡(luò)安全  HTML/ 密鑰加密的時(shí)候使用到『秘鎖』,這個(gè)"秘鎖"是服務(wù)端存放在哪里

密鑰加密的時(shí)候使用到『秘鎖』,這個(gè)"秘鎖"是服務(wù)端存放在哪里的呢?我們具體在哪里查看到呢?

在閱讀CSRF Token的生成的時(shí)候。

token由三部分組成:a).msg b). separator c).signature。
a). msg部分:而msg本身也有兩部分組成:一部分,隨機(jī)字符的主體,另一部分是過(guò)期時(shí)間戳。
b). 分隔符號(hào):用符號(hào)分隔msg部分,和加密后生成的signature簽名部分,這里用的是”.“
c). 簽名signature。

token的組成是:

| msg | separator | signature |
------------------------------------------------
| key | timestamp | . | Base64(sha256(msg)) |

這里msg = key + timestamp。關(guān)鍵他說(shuō)后面的token的驗(yàn)證是:

是對(duì)上面提到的msg,按照msg中提到的msg的信息部分,按照特定的秘鎖進(jìn)行加密。
token = base64(msg)格式化..base64(sha256("秘鎖", msg))

他的意思也就是:

base64(sha256("秘鎖", key)

那么,這里我有一個(gè)問(wèn)題就是,這個(gè)"秘鎖"是服務(wù)端存放在哪里的呢?我們具體在哪里查看到呢?

回答
編輯回答
寫榮

你可以通過(guò)配置文件配置一個(gè)靜態(tài)的,也可以在系統(tǒng)啟動(dòng)的時(shí)候隨機(jī)生成一個(gè)。反正只要這個(gè)秘鎖不會(huì)被攻擊者猜到就OK。

2017年7月16日 06:18