【文章內(nèi)容簡介】
法存儲和組織這些密鑰以保證有效使用這些密鑰 ? PGP密鑰管理方案: – 用戶機器 (節(jié)點 )上有一對數(shù)據(jù)結(jié)構(gòu): 私鑰環(huán):存儲本節(jié)點擁有的公鑰 /私鑰對 公鑰環(huán):存儲本節(jié)點所知道的其他用戶的公鑰 Format of PGP Message 加密密鑰和密鑰環(huán) ? Each PGP user has a pair of key rings: – Publickey ring contains all the publickeys of other PGP users known to this user, indexed by key ID – Privatekey ring contains the public/private key pair(s) for this user, indexed by key ID amp。 encrypted keys from a hashed pass phrase PGP的私鑰與公鑰環(huán) PGP私鑰環(huán) ? 信息: 時間戳、 KeyID、 公鑰、私鑰、 UserID ? UserID: – 通常是用戶的郵件地址。也可以是一個名字,可以重名 ? 私鑰如何保存: – 用戶選擇一個口令短語用于加密私鑰 – 當(dāng)系統(tǒng)用 RSA生成一個新的公鑰 /私鑰對時,要求用戶輸入口令短語。對該短語使用 SHA1生成一個 160位的散列碼后,銷毀該短語 – 系統(tǒng)用其中 128位作為密鑰用 CAST128加密私鑰,然后銷毀這個散列碼,并將加密后的私鑰存儲到私鑰環(huán)中 – 當(dāng)用戶要訪問私鑰環(huán)中的私鑰時,必須提供口令短語。 PGP將取出加密后的私鑰,生成散列碼,解密私鑰 PGP 公鑰環(huán) ? 信息: 時間戳、 KeyID、 公鑰、對所有者信任度、用戶 ID、 密鑰合法度、簽名、對簽名者信任度 ? UserID: – 公鑰的擁有者。多個 UserID可以對應(yīng)一個公鑰。 ? 公鑰環(huán)可以用 UserID或 KeyID索引。 PGP消息產(chǎn)生(從 A到 B, 無zip和 radix64變換) PGP 發(fā)送方處理消息的過程 ? 簽名: – 從私鑰環(huán)中得到私鑰,利用 userid作為索引 – PGP提示輸入口令短語,恢復(fù)私鑰 – 構(gòu)造簽名部分 ? 加密: – PGP產(chǎn)生一個會話密鑰,并加密消息 – PGP用接收者 userid從公鑰環(huán)中獲取其公鑰 – 構(gòu)造消息的會話密鑰部分 PGP消息接收(從 A到 B, 無zip和 radix64變換) PGP接收方處理消息的過程 ? 解密消息 – PGP用消息的會話密鑰部分中的 KeyID作為索引,從私鑰環(huán)中獲取私鑰 – PGP提示輸入口令短語,恢復(fù)私鑰 – PGP恢復(fù)會話密鑰,并解密消息 ? 驗證消息 – PGP用消息的簽名部分中的 KeyID作為索引,從公鑰環(huán)中獲取發(fā)送者的公鑰 – PGP恢復(fù)被傳輸過來的消息摘要 – PGP對于接收到的消息作摘要,并與上一步的結(jié)果作比較 PGP公鑰管理 ? Rather than relying on certificate authorities ? In PGP every user is own CA – Can sign keys for users they know directly ? Forms a ―web of trust‖ – Trust keys have signed – Can trust keys others have signed if have a chain of signatures to them ? Key ring includes trust indicators ? Users can also revoke their keys 信任標志字節(jié)的內(nèi)容 PGP 公鑰管理 ? 由于 PGP重在廣泛地在正式或非正式環(huán)境下的應(yīng)用,所以它沒有建立嚴格的公鑰管理模式。 ? 有關(guān)的問題: – 一旦你的私鑰泄漏,存在兩種危險: ? 別人可以偽造你的簽名 ? 其他人發(fā)送給你的保密信件可被別人讀取 – 防止公鑰環(huán)上包含錯誤的公鑰 ? 保證公鑰環(huán)上公鑰的正確性 – 物理上得到 B的公鑰??煽浚幸欢ň窒扌? – 通過電話驗證公鑰 – 從雙