看板 CSSE 關於我們 聯絡資訊
其實也不太確定這個分類對不對,因為內容偏觀念請教而非演算法。 最近剛申請自然人憑證,目前已知: 1. 密鑰在卡片裡面 2. 公鑰可以在自然人憑證上面找到 3. 密鑰公鑰是兩兩一組存在的 取得公鑰的方法是在網站下載憑證(X.509),裡頭有公鑰, 而網站提供兩個憑證下載: - 一個加密專用(KeyUsage 是 Key Encipherment, Data Encipherment) - 一個是數位簽章專用(KeyUsage 是 Digital Signature) 我疑惑的幾個點: 1. 兩憑證表示有兩個公鑰,這是否意味著卡片裡面有兩個密鑰? 2. 數位簽章是用密鑰簽,用公鑰驗證,但憑證只有公鑰, 我想知道使用憑證去簽章文件是怎麼辦到的? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.219.118.91 ※ 文章網址: https://www.ptt.cc/bbs/CSSE/M.1504602068.A.B78.html
fayhong: 用 HiSecure 查卡片時,卡片內好像只有一把私鑰,但我也 09/12 09:02
fayhong: 覺得你的第一點判斷是有可能的,卡片內應該有兩把私鑰 09/12 09:02
fayhong: 簽章時,私鑰的加密運算是在 IC 卡內部進行 09/12 09:02
fayhong: 那個私鑰是用硬體保護的機制寫死在卡片內,因此無法取出 09/12 09:03
fayhong: IC 卡本身有簡單的運算能力,透過讀卡機傳送指令執行 09/12 09:03
fayhong: 因此,在系統層面,需要透過 HiCOS 做加密機制包裝的 API 09/12 09:04
fayhong: 才能操作卡片的加解密運算 (以中華電信發行的卡片是如此) 09/12 09:05
這樣說的話,我覺得很有可能卡片中存放的只是一個 secret key base, 而透過 Key derivation function 產生另外兩組私鑰: https://www.wikiwand.com/en/Key_derivation_function 這個作法在一些框架像是 Ruby on Rails 可以看到相同的設計。 這樣就比較合乎常理了。 ※ 編輯: tonytonyjan (126.29.237.10), 09/23/2017 21:59:16 http://moica.nat.gov.tw/wisdom.html 有看到 PKCS #11 ※ 編輯: tonytonyjan (126.29.237.10), 09/23/2017 22:34:49
ibmibmibm: KDF只能用在對稱金鑰系統上吧 10/27 11:24
dallashuang: 晶片是一顆微型處理機,裡面是沒有儲存資料 04/14 12:06