<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    6.1 概述

    S/MIME可提供下列4種可選的增強安全服務:

    ·  簽名收據;

    ·  安全標簽;

    ·  安全郵件發送列表及管理;

    ·  簽名證書屬性。

    6.1.1 簽名收據

    報文始發者可以請求來自報文接收者的簽名收據。通過把receiptRequest 屬性增加到請求收據的SignerInfo 對象的SignedAttributes字段中來指出該請求。當請求這樣做時,接收用戶代理軟件應自動地創建簽名的證書,并按照郵件發送列表擴充選項,本地安全策略和配置選項返回該收據。返回簽名收據給始發者提供了報文交付證明,并且使得始發者可向中第三方表明接收者曾驗證過初始報文的簽名。通過簽名已把該收據與初始報文捆綁起來;因此,僅當要簽名報文時,才可以請求該服務。收據發送者也可以有選擇地加密某一收據,以便在收據發送者和收據接收者之間提供機密性。

    收據請求可以指出這些收據被發送給許多地點,不僅僅發送給該發送者(在事實上,收據請求可能指出這些收據不宜都發給該發送者)。為了驗證收據,收據的接收者必須是初始報文的始發者或接收者。因此,該發送者應不請求將收據發送給沒有準確的報文副本的任何人。

    由于收據涉及雙方的交互,收據這一術語有時可能存在混淆。因此,在本章中,“發送者”就是發送包含請求收據的初始報文的代理。“接收者”就是收到報文和生或收據的一方。

    6.1.2 安全標簽

    安全標簽是通過S/MIME封裝來保護的有關敏感內容的安全信息的集合。“授權”是向用戶授予訪問某個對象的權利和/或特權的行為。“訪問控制”是實施這些權限的手段。安全標簽中的敏感信息可以與用戶的權限相比較,以確定用戶是否被允許訪問通過S/MIME封裝所保護的內容。安全標簽可以用于其他用途,諸如路由選擇信息的來源。這些標簽通常描述了分等級的若干級別(“秘密的”,“機密的”,“受限制的”等等)或者這些標簽是基于角色的,描述哪種人可以看到該信息(“患者”的保健小組,醫療賬單代理,“不受限制的”等等)。

    6.1.3 安全郵件發送列表及管理

    發送代理必須為加密報文的每個接收者創建特定于接收者的數據結構。這個過程可能損害發送給大量接收者的報文性能。因此,通常要求郵件列表代理(MLA)對于每個接收者可以采用單個報文或執行特定于接收者的加密。

    對報文始發者來說,MLA似乎是常規的報文接收者,但是,MLA擔當郵件列表(ML)的報文擴充點。報文發送者將報文送給MLA,然后,將報文再分發給ML的成員。這個過程卸下了各個用戶代理按每個接收者的處理工作量,并且便于更有效管理大量ML。MLs是受MLA服務的真實報文接收者,該MLA為郵件發送列表提供了密碼服務和擴充服務。

    除了對報文進行密碼處理外,安全郵件發送列表還必須防止郵件循環。郵件循環是指,其中某一個郵件發送列表是第二個郵件發送列表的成員,而第二個郵件發送列表又是第一個郵件發送列表的成員。一個報文將按向個列表的所有其他成分發郵件的快速級聯連續方式從某一個列表到達另一個列表。

    為了防止郵件循環,MLA使用了三重隱蔽包裝報文的外部簽名的mlExpansionHistory 屬性。mlExpansionHistory屬性在本質上是已經處理該報文的所有MLA的列表。如果MLA看到了在該列表中的它自己的唯一實體標識符,那么它就知道已經形成了一次循環,并且它不會再向該列發送報文。

    6.1.4 簽名證書屬性

    令人們擔心的事是,要求CMS SignedData對象的簽名者與SignedData對象的驗證過程被捆綁起來的證書不是以密碼方式與該簽名自身捆綁起來。本條也提出了對一組可能攻擊的描述,這些攻擊涉及被替換的某一證書用來驗證所要求的證書的簽名。針對可能的簽名驗證過程至少可以發起三種不同的攻擊,其手法是替換簽名驗證過程中所使用的一個證書或多個證書。

    a) 第一種攻擊涉及用某一證書替換另一證書。在這種攻擊中,SignedInfo中的證書簽發者和序列號被修改,以便提供新的證書。在簽名驗證過程期間使用這個新的證書。這種攻擊的第1個版本是一種簡單的拒絕服務攻擊,其中,無效證書替換了有效證書。當證書中的公開密鑰不再與簽名該報文所使用的私有密鑰相匹配時,這就使該報文成為不可驗證的。其第二個版本是用某個有效證書替換初始有效證書,其中,兩個證書中的兩個公開密鑰相匹配。這樣做允許根據與該報文的始發者潛在不同的證書限制來確認該簽名。

    b) 第二種攻擊涉及重新頒發簽名證書(或可能是其證書之一)的認證機構CA。隨著認證機構重新頒發它們自己的根證書,或隨著認證機構在重新頒發它們的根證書的同時改變證書的策略,這種攻擊可能開始變為更頻繁。在驗證簽名的過程中使用交叉證書(帶有可能的不同限制)時就會出現這個問題。

    c) 第三種攻擊涉及建立一個CA的虛假實體,而這個虛假實體企圖重復現有CA的結構。特別是,該虛假實體使用與該簽名者使用的公開密鑰相同的公開密鑰來頒發新證書,但該虛假實體卻使用其私有密鑰對新證書進行簽名。

    為了防止或指出對應這些攻擊的一組方法,以便處理一些最簡單的攻擊:

    1) 對替換攻擊的響應:不能防止拒絕服務攻擊。在運輸中已經修改證書標識符之后,就不可能驗證該簽名。因為不能辨別被損壞的報文,也就沒有任何自動標識出這種攻擊的方法。對有效證書的替換可以用兩種不同的方式進行響應。第一種方式是作出一個一般性聲明,該聲明指出在兩個不同的證書中使用相同公開密鑰是不良習慣并且必須避免這樣做。實際上,沒有實用的方法可防止用戶獲及帶有相同公開密鑰的新證書,而應該假設用戶會這樣做。將新屬性包含在Signer Info簽名屬性中,這樣做可以把正確的證書標識符捆綁到該簽名中去。這樣就將一個可能會成功的攻擊轉換為簡單的拒絕服務攻擊。

    2) 對重新簽發證書的響應: 認證機構決不應重新頒發一個帶有不同屬性的證書。這樣的認證機構是跟隨不良習慣,并且是不可信賴的。使用散列證書作為證書的基準可以防止針對端實體證書的這種攻擊。為了防止基于重新頒發CA證書的攻擊,可以要求對提出的SigningCertificate屬性的用法有相當大的變化。要求將ESSCertID 包含在該證書中,以表示在簽名者的認證通路中的該頒發者的證書。當信賴的一方使用交叉證書作為其鑒別過程的一部分時,問題就出現了,同時該證書并不出現在證書列表上。在封閉PKI之外的這些問題使得系統添加這種信息時易于出錯,并可能導致有效證書鏈被拒絕。

    3) 對欺詐復制CA的響應:

    防止這種攻擊的最好方法是避免信任虛假CA。使用散列來標識證書可防止使用來自虛假機構的端實體證書。然而,防止這種攻擊的唯一實際方法是決不信任虛假CA。

    授權信息可以用作簽名過程的一部分。該信息可以被攜帶任一屬性證書和其他公開密鑰證書中。簽名者需要具有限制證書集合用于簽名過程的能力,并且對信息需要進行編碼,以使對SignedData對象的簽名可包括該信息。本條中的方法便于將授權證書集合作為簽名證書屬性的一部分加以列出。

    明確的證書策略也可以用作簽名驗證過程的一部分。如果簽名者要求說明在確認該簽名時宜使用的明確的證書策略,則該策略需要以密碼方式捆綁到該簽名過程中去。本條所描述的方法便于將證書策略聲明集合作為簽名證書屬性的一部分加以列出。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类