[演算] 密碼學與自然人憑證請教

看板CSSE (電腦科學及軟體工程)作者 (南洋大兜蟲)時間7年前 (2017/09/05 17:01), 7年前編輯推噓1(108)
留言9則, 3人參與, 最新討論串1/1
其實也不太確定這個分類對不對,因為內容偏觀念請教而非演算法。 最近剛申請自然人憑證,目前已知: 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

09/12 09:02, , 1F
用 HiSecure 查卡片時,卡片內好像只有一把私鑰,但我也
09/12 09:02, 1F

09/12 09:02, , 2F
覺得你的第一點判斷是有可能的,卡片內應該有兩把私鑰
09/12 09:02, 2F

09/12 09:02, , 3F
簽章時,私鑰的加密運算是在 IC 卡內部進行
09/12 09:02, 3F

09/12 09:03, , 4F
那個私鑰是用硬體保護的機制寫死在卡片內,因此無法取出
09/12 09:03, 4F

09/12 09:03, , 5F
IC 卡本身有簡單的運算能力,透過讀卡機傳送指令執行
09/12 09:03, 5F

09/12 09:04, , 6F
因此,在系統層面,需要透過 HiCOS 做加密機制包裝的 API
09/12 09:04, 6F

09/12 09:05, , 7F
才能操作卡片的加解密運算 (以中華電信發行的卡片是如此)
09/12 09:05, 7F
這樣說的話,我覺得很有可能卡片中存放的只是一個 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

10/27 11:24, , 8F
KDF只能用在對稱金鑰系統上吧
10/27 11:24, 8F

04/14 12:06, , 9F
晶片是一顆微型處理機,裡面是沒有儲存資料
04/14 12:06, 9F
文章代碼(AID): #1PhcVKju (CSSE)
文章代碼(AID): #1PhcVKju (CSSE)