自签名证书,首先是一个身份认证证书,此证书由一个机构签发,此机构的身份由其自身认证。
技术实现上,自签名证书是这样一种证书,机构生成了一个证书,(证书上含有包括公钥,同时还生成一个私钥)其签名使用的是证书的私钥。
在典型的公钥基础结构上,来自CA的数字签名,才能证明公钥证书是合法的。证书含有的内容是正规途径认证的。
CAsarethirdpartiesandrequirebothpartiestotrusttheCA.(CAsaretypicallylarge,impersonalenterprisesandahigh-valuetargetforcompromise.)
CA系统是三方结构,需要其余两方都信任CA。CA普遍是大的非个人的企业,很有可能成为侵害的目标。
如果通信中的双方,知道对方,信任对方可以保护好私钥,并且能够保证公钥的传输的精确性,则自签名证书可以减少整体性风险,或者可以构成一个更小的攻击面。
自签名证书不能被吊销,这样允许了攻击者仿冒身份,如果攻击者拿到了私钥,并且能够检测和注入数据在连接过程中。
但是,CA系统就有这个能力吊销被窃取的私钥的证书,防止证书和私钥被进一步的滥用。
某些CA能验证个人的身份,这些人被CA颁布过证书。例如US军方颁布过面向个人的通用访问卡。
如果一个网站,私钥丢失,配套的证书也不能再被信任,就需要向CA申请吊销目前证书。申请生效后,如果攻击者仍然使用老的证书干非法的勾当,则客户端(浏览器)如何验证此证书已经被吊销了呢?
证书吊销列表(CertificateRevocationList,简称:CRL)是PKI系统中的一个结构化数据文件,该文件包含了证书颁发机构(CA)已经吊销的证书的序列号及其吊销日期。
证书吊销列表分发点(CRLDistributionPoint,简称CDP)是含在数字证书中的一个可以共各种应用软件自动下载的最新的CRL的位置信息。一个CDP通常出现在数字证书的详细信息选项卡的CRL分发点域,一般会列出多个使用不同的访问方法,以确保如Web浏览器和Web服务器程序始终可以获取最新的CRL。
自签名证书,可以使用openssl等工具免费生成,并免费使用。
但是CA证书,需要从CA机构购买,大概一年100美刀。
自己制作openssl工具
SpeedtoDeploySelf-signedcertificatesrequirethetwopartiestointeract(e.g.tosecurelytradepublickeys).UsingaCArequiresonlytheCAandthecertificateholdertointeract;theholderofthepublickeycanvalidateitsauthenticitywiththeCA'srootcertificate.
自签名证书,需要通信的双方都要安装证书,此双方互动.相对CA麻烦。
CA证书,只需要CA和证书持有者互动,证书持有者(也是公钥持有者)能够验证其自身的认证,使用CA根证书。
ps:CA根证书在各大系统和浏览器上已经预装,无需客户端关心。自签名的root需要手动安装到客户端。
CustomizationSelf-signedcertificatesareeasiertocustomize,forexamplealargerkeysize,containeddata,metadata,etc.
自签名证书更容易定制,例如,更大的密钥长度,包含数据和其它元数据。
自签SSL证书最容易被假冒和伪造,被欺诈网站利用
自签SSL证书是可以随意签发的,不受任何监管,您可以自己签发,别人也可以自己签发。如果您的网站使用自签SSL证书,那黑客也可以伪造一张一模一样的自签证书,用在钓鱼网站上,伪造出有一样证书的假冒网银网站!
而权威CA机构受国际标准组织审计监督,不可随意签发证书,必须严格认证申请者身份才能签发全球唯一的证书,不会出现被伪造的问题。正规SSL证书支持所有浏览器,由浏览器内置的可靠验证机制,自动识别SSL证书的真实信息和证书状态,如果出现证书绑定域名与实际域名不符、证书已吊销或已过期等异常情况,浏览器会自动发出警告提醒用户“此网站安全证书存在问题”,假冒网站无处遁形!
部署自签SSL证书的网站,浏览器会持续弹出警告
自签SSL证书是不受浏览器信任的,用户访问部署了自签SSL证书的网站时,浏览器会持续弹出安全警告,极大影响用户体验。
自签SSL证书最容易受到SSL中间人攻击
用户访问部署了自签SSL证书的网站,遇到浏览器警告提示时,网站通常会告知用户点击“继续浏览”,用户逐渐养成了忽略浏览器警告提示的习惯,这就给了中间人攻击可乘之机,使网站更容易受到中间人攻击。
典型的SSL中间人攻击就是中间人与用户或服务器在同一个局域网,中间人可以截获用户的数据包,包括SSL数据包,并做一个假的服务器SSL证书与用户通信,从而截获用户输入的机密信息。当网站被假的SSL证书替换时,浏览器会警告用户此证书不受信任,需要用户确认是否信任此证书,用户习惯性点击“继续浏览”,中间人攻击轻而易举的实现了。