X.509:修订间差异

求闻百科,共笔求闻
添加的内容 删除的内容
(机器人:将英文日期转换为ISO格式)
(机器人:清理不当的来源、移除无用的模板参数)
 
第56行: 第56行:
* 数字签名
* 数字签名


所有扩展都有一个ID,由[[object identifier]]来表达.它是一个集合,并且有一个标记用与指示这个扩展是不是决定性的。证书使用时,如果发现一份证书带有决定性标记的扩展,而这个系统并不清楚该扩展的用途,那么要拒绝使用它。但对于非决定性的扩展,不认识可以予以忽略。<ref>{{Cite web |url=http://tools.ietf.org/html/rfc5280#section-4.2, |title=RFC 5280 section 4.2, retrieved 12 February 2013 |accessdate=2018-04-28 |||}}</ref>
所有扩展都有一个ID,由[[object identifier]]来表达.它是一个集合,并且有一个标记用与指示这个扩展是不是决定性的。证书使用时,如果发现一份证书带有决定性标记的扩展,而这个系统并不清楚该扩展的用途,那么要拒绝使用它。但对于非决定性的扩展,不认识可以予以忽略。<ref>{{Cite web |url=http://tools.ietf.org/html/rfc5280#section-4.2, |title=RFC 5280 section 4.2, retrieved 12 February 2013 |accessdate=2018-04-28 }}</ref>
RFC 1422<ref>[http://www.ietf.org/rfc/rfc1422 RFC 1422]</ref>给出了v1的证书结构
RFC 1422<ref>[http://www.ietf.org/rfc/rfc1422 RFC 1422]</ref>给出了v1的证书结构
ITU-T在v2里增加了颁发者和主题唯一标识符,从而可以在一段时间后可以重用。重用的一个例子是当一个CA破产了,它的名称也在公共列表里清除掉了,一段时间之后另一个CA可以用相同的名称来注册,即使它与之前的并没有任何瓜葛。不过[[IETF]]并不建议重用同名注册。另外v2在Internet也没有多大范围的使用。
ITU-T在v2里增加了颁发者和主题唯一标识符,从而可以在一段时间后可以重用。重用的一个例子是当一个CA破产了,它的名称也在公共列表里清除掉了,一段时间之后另一个CA可以用相同的名称来注册,即使它与之前的并没有任何瓜葛。不过[[IETF]]并不建议重用同名注册。另外v2在Internet也没有多大范围的使用。
第69行: 第69行:
| title = RFC 5280, Section 'Basic Constraints'
| title = RFC 5280, Section 'Basic Constraints'
| accessdate = 2018-04-28
| accessdate = 2018-04-28
|
|
|
}}</ref>用于指定一份证书是不是一个CA证书。
}}</ref>用于指定一份证书是不是一个CA证书。
* Key Usage, <tt>{ id-ce 15 }</tt>,<ref>{{cite web
* Key Usage, <tt>{ id-ce 15 }</tt>,<ref>{{cite web
第77行: 第74行:
| title = 'RFC 5280, Section 'Key Usage'
| title = 'RFC 5280, Section 'Key Usage'
| accessdate = 2018-04-28
| accessdate = 2018-04-28
|
|
|
}}</ref>指定了这份证书包含的公钥可以执行的密码操作。作为一个例子,它可以指定只能用于签名,而不能用来进行加密操作。
}}</ref>指定了这份证书包含的公钥可以执行的密码操作。作为一个例子,它可以指定只能用于签名,而不能用来进行加密操作。
* Extended Key Usage, <tt>{ id-ce 37 }</tt>,<ref>{{cite web
* Extended Key Usage, <tt>{ id-ce 37 }</tt>,<ref>{{cite web
第85行: 第79行:
| title = RFC 5280, Section 'Extended Key Usage'
| title = RFC 5280, Section 'Extended Key Usage'
| accessdate = 2018-04-28
| accessdate = 2018-04-28
|
|
|
}}</ref>典型用法是用于叶子证书中的公钥的使用目的。它包括一系列的OID,每一个都指定一种用途。比如<tt>{ id-pkix 3 1 }</tt> 表示用于服务器端的TLS/SSL连接,而<tt>{ id-pkix 3 4 }</tt>用于email的安全操作。
}}</ref>典型用法是用于叶子证书中的公钥的使用目的。它包括一系列的OID,每一个都指定一种用途。比如<tt>{ id-pkix 3 1 }</tt> 表示用于服务器端的TLS/SSL连接,而<tt>{ id-pkix 3 4 }</tt>用于email的安全操作。
通常情况下,一份证书有多个限制用途的扩展时,所有限制条件都应该满足才可以使用。<nowiki>RFC 5280</nowiki>里有对一个同时含有keyUsage和extendedKeyUsage的证书的例子,这样的证书只能用在两个扩展中都指定了的用途。比如[[网络安全服务]]决定证书用途时会同时对这两个扩展进行判断<ref>[https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/nss_tech_notes/nss_tech_note3 All About Certificate Extensions]</ref>
通常情况下,一份证书有多个限制用途的扩展时,所有限制条件都应该满足才可以使用。<nowiki>RFC 5280</nowiki>里有对一个同时含有keyUsage和extendedKeyUsage的证书的例子,这样的证书只能用在两个扩展中都指定了的用途。比如[[网络安全服务]]决定证书用途时会同时对这两个扩展进行判断<ref>[https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/nss_tech_notes/nss_tech_note3 All About Certificate Extensions]</ref>
第109行: 第100行:
| url = http://tools.ietf.org/html/rfc5280#page-71
| url = http://tools.ietf.org/html/rfc5280#page-71
| access-date = 2018-04-28
| access-date = 2018-04-28
|
|
|
}}</ref>是从终端使用者证书后跟着一系列的CA证书,而通常最后一个是自签名证书,并且有如下关系:
}}</ref>是从终端使用者证书后跟着一系列的CA证书,而通常最后一个是自签名证书,并且有如下关系:
# 在证书链上除最后一个证书外,证书颁发者等于其后一个证书的主题。
# 在证书链上除最后一个证书外,证书颁发者等于其后一个证书的主题。
第186行: 第174行:
| publisher = Computer Security Journal (Volume XVI, Number 1, 2000)
| publisher = Computer Security Journal (Volume XVI, Number 1, 2000)
| accessdate = 2018-04-28
| accessdate = 2018-04-28
|
|
|
}}</ref><ref name="pkinotdead">{{cite web
}}</ref><ref name="pkinotdead">{{cite web
| url = http://www.cs.auckland.ac.nz/~pgut001/pubs/notdead.pdf
| url = http://www.cs.auckland.ac.nz/~pgut001/pubs/notdead.pdf
第195行: 第180行:
| publisher = IEEE Computer (Volume:35, Issue: 8)
| publisher = IEEE Computer (Volume:35, Issue: 8)
| accessdate = 2018-04-28
| accessdate = 2018-04-28
|
|
|
}}</ref><ref name="gutmann1">{{cite web
}}</ref><ref name="gutmann1">{{cite web
|last=Gutmann
|last=Gutmann
第204行: 第186行:
|url=http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf
|url=http://www.cs.auckland.ac.nz/~pgut001/pubs/pkitutorial.pdf
|accessdate=2011-11-14
|accessdate=2011-11-14
|
|
|
}}</ref>
}}</ref>


=== 架构的弱点 ===
=== 架构的弱点 ===
* 采用黑名单方式的证书吊销列表([[证书吊销列表|CRL]])和在线证书状态协议([[OCSP]])
* 采用黑名单方式的证书吊销列表([[证书吊销列表|CRL]])和在线证书状态协议([[OCSP]])
** 如果客户端仅信任在CRL可用的时候信任证书,那就失去离线信任的需求。因此通常客户端会在CRL不可用的情况下信任证书,因而给了那些可以控制信道的攻击者可乘之机。如谷歌的Adam Langley所说,对CRL的检查就像在关键时刻断开的安全带<ref>{{cite web|last1=Langley|first1=Adam|title=Revocation checking and Chrome's CRL (05 Feb 2012)|url=https://www.imperialviolet.org/2012/02/05/crlsets.html|website=Imperial Violet|accessdate=2017-02-02|||}}</ref>
** 如果客户端仅信任在CRL可用的时候信任证书,那就失去离线信任的需求。因此通常客户端会在CRL不可用的情况下信任证书,因而给了那些可以控制信道的攻击者可乘之机。如谷歌的Adam Langley所说,对CRL的检查就像在关键时刻断开的安全带<ref>{{cite web|last1=Langley|first1=Adam|title=Revocation checking and Chrome's CRL (05 Feb 2012)|url=https://www.imperialviolet.org/2012/02/05/crlsets.html|website=Imperial Violet|accessdate=2017-02-02}}</ref>
* 在大范围及复杂的分布模式下选用CRL并不明智
* 在大范围及复杂的分布模式下选用CRL并不明智
* OCSP由于没有吊销状态的历史记录也会出现歧义
* OCSP由于没有吊销状态的历史记录也会出现歧义