6.3 S/MIME增強安全服務和三重隱蔽包裝
6.3.1 簽名收據與三重隱蔽包裝
在任何SignedData對象中,可能要求使用簽名收據。如三重隱蔽包裝的報文要求收件人回送收到該報文的簽名收據給發件人時,其收據請求必須包含在內部簽名中,而不能在外部簽名中。因為,當郵件發送列表處理三重隱蔽包裝報文時,安全郵件發送列表代理可能會改變該報文的外部簽名中的收據策略。
6.3.2 安全標簽與三重隱蔽包裝
任何 SignedData 對象的簽名屬性可能包含安全標簽。在內部簽名、或在外部簽名、或在這兩種簽名中都可能含有安全標簽屬性。
內部安全標簽用來確定對與初始的明文內容有關的訪問控制。內部簽名提供鑒別,并以密碼的方式保護位于內部主體的最初簽名者的安全標簽的完整性。這種策略便于轉發報文,因為最初簽名者的安全標簽被包含在可以被轉發給第三方的SignedData塊中,使第三方可以驗證包含內部安全標簽的內部簽名。機密性安全服務也可用于內部安全標簽,方法是加密EnvelopedData塊中的整個內部SignedData塊。
外部SignedData塊的簽名屬性也可包含安全標簽,且該塊可包含敏感的加密報文。外部安全標簽用來確定與加密報文有關的訪問控制和路由選擇。
注意:安全標簽屬性只可以在 signedAttributes 塊中使用。在 EnvelopedData 或未簽名屬性中不得使用 eSSSecurityLabel 屬性。
6.3.3 安全郵件發送列表與三重隱蔽包裝
安全郵件列表報文處理取決于發送給郵件列表代理的報文中所呈現的 S/MIME 各層的結構。如果存在內部簽名,郵件列表代理決不會改變已散列(hashed)的數據,來形成內部簽名。 如果存在外部簽名,郵件列表代理將修改已散列的數據,來形成這個外部簽名。在這些情況下,郵件列表代理添加或更新 mlExpansionHistory 屬性,并記錄下郵件列表代理的處理活動,最終添加或替換待分發報文上的外部簽名。