保密性是对数据实施加密的操作,使数据只能被授权的实体看到,它适用于以下几种场合。
1.自己加密,自己解密
在这种情况下,实体出于保护自己数据的目的,用自己的证书公钥加密数据,也只有自己的私钥才能解开。
例如,用户有敏感信息需要保存,这些信息不希望被其他人看到,这样他就可以用自己的证书公钥加密敏感信息,因私钥由自己掌控,其他人虽然拿到加密后的数据,也不能打开。
2.自己加密,他人解密
在这种情况下,用户要保护传递数据,用对方的证书公钥加密数据,也只有对方的私钥才能解开。
例如,甲要向乙发送数据,而甲不希望除乙之外的其他人看到发送数据的内容,这时,甲就可用乙的证书公钥加密数据,也只有乙能用自己的私钥解开收到的数据。平时所用的加密邮件,就属于此种类型应用。
由于用公钥加密的效率较低,当要加密的数据较多时,这种效率是不能接受的。为了解决这个问题,一般采用数字信封机制,即先产生一个对称密钥,用对称密钥加密数据,然后用证书公钥加密对称密钥,这样加密的对称密钥与加密后的数据形成了一个数字信封。解密时反向操作,先用私钥解密对称密钥,后用对称密钥解密加密的数据,得到数据原文。
构造数字信封时,一般用PKCS#7中定义的它的格式。
发加密邮件时,加密操作在发送时进行,捕获邮件未加密原文,并用预期收件人特有的信息(证书公钥)加密邮件。加密的邮件取代了原始的,然后把邮件发至收件人。
因此操作要收件人的仅有信息(证书公钥),因此邮件加密有保密性。仅有预期收件人有解密操作所用的信息,从而保证了只有他能查看邮件。
当收件人查看加密邮件时,会解密加密邮件。这个时候,同一时间检查搜索加密的邮件与收件人的仅有的信息。然后,用收件人的仅有信息解密加密邮件。该解密返回没有加密的邮件,然后该邮件会显示给收件人。若邮件在传送中有过变化,解密会失败。