一、PEM的定义
Privacy Enhanced Mail(PEM)是一种加密的通信和加密数据的格式,它为公钥加密算法的广泛应用提供了基础。PEM组织文件,通过将加密的数据或证书转换为纯文本格式,利用可读性较强的密钥对数据进行保护,而不是加密算法本身。
以RSA算法为例,PEM是指利用Base64编码将非对称密钥(公钥和私钥)表示成纯文本格式的存储方式。它是数字证书在电子商务网站传输过程中的一种格式,还被用于安全电子邮件和其他网络服务上。
PEM的目标是为了使一些加密产品在出口时可以更顺畅的通过美国政府的出口管制。PEM可以加密及解密数据(包括非对称密钥——公钥和私钥)。
二、PEM的特点
1. 突破网络出口管制。
PEM的发明是通信领域对美国出口管制的应对之一。PEM的出现一方面是为了突破美国政府对技术出口的限制,以支持产品的国际化;另一方面也是基于人们对网络通信安全性的需要。
2. 兼容性好。
PEM采用Base64编码将数据转化为文本的表示形式,因此其传输可以使用SMTP协议、HTTP协议等常用的协议,易于传输和存储,并且易于兼容各种系统和编程语言。
3. 安全性不高。
PEM虽然能够对数据进行加密保护,但其加密算法相对较弱,易受到中间人攻击和窃取,因此PEM文件中的数据需要采用其他方法进行保护,如SSL/TLS等。
三、PEM的应用
1. 数字证书传输。
-----BEGIN CERTIFICATE----- MIICaDCCAdGgAwIBAgIUaE9mJuoU5RBLZZrC4j/EZGPpeU4wCgYIKoZIzj0EAwIw czELMAkGA1UEBhMCREUxEzARBgNVBAgTCkNhbGlmb3JuaWEwHhcNMTIxMjAyMTE1 MzE2WhcNMjIxMjAxMTE1MzE2WjBzMREwDwYDVQQHEwhJbGxpbm9pczEMMAoGA1UE ChMDQ05WMRIwEAYDVQQLEwlETlMgc3lzdGVtMQ8wDQYDVQQDEwZYWkpIMTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ6om53WgIcmVnU8RBVMW5lcVwLl Xz6Vc1kllk4ouecC50v666VlqwgZ5+gQF/CDF0v6/bczGYjzB0Og9zW4EtBqTBp tMC3V7n5z/wMvd+WbLphcZKdC9KOzTWyzeiQnXCR/Y6GIzcBECJqZmgYIhuuNjPh y7BQMyBiic3s7/M4FtRX90OdBrraWD8nPlrwCq7wJ4/Uk2CnT/iT1yau6bDbPwvU b3A20y0YxpkZOII6EA8+23b1WsnwOcEnz3+MAWaijiXTV+G+LJRqYkzvJcWyQZQe eRJ+5w43/IkaAzvvwonF0T5+ty3WtKhqsPvP3ZVQWbz9JVsKaxNtC0exy28CAwEA AaNmMGQwDgYDVR0PAQH/BAQDAgO4MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEF BQcDAjBmBgNVHSAEXzBdMFsGDCsGAQQBsjEBAgQ7MjAwMC4GCCsGAQUFBwIBFiho dHRwczovL3d3dy5zb2Z0YS5jZi9yZXBvc2l0b3J5LzA4BgNVHR8EMTAvMC2gK6Ah hiNodHRwOi8vd3d3LnNvZnRhLmNmL3Jvb3QtZzIuY3JsMHQGCCsGAQUFBwEBBGgw ZjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3Auc29mdGEuY2YvcHJvdmlzaW9uYXJ5 MA4GA1UdDwEB/wQEAwIF4DANBgkqhkiG9w0BAQsFAAOCAQEAewD7/AyICAwXPJjr cFXftLGGm9YMnT16+iDI8JyF9zjlMUTHEPv9KfwHP3TQYadD1MnorWAOfNGcJUAP N5CARZ5ZDfF4vb8/XovXckX0YwJd8wY5jfFeNCZvJ97OQx5FkGgMjesi2c2C5rRo sX6yUgH93BZo+U/9rA/Jt+ElVWUO4xJPQD3I6UTLbk2yDJeG2xRH5DskjnJ7FrCZ gxt+ZUSTKkODI5S/svq0NkQQ5sNJoKaY3k5MTgGZTDuujO4EeGVfcXeWVi6dAYok eIyKfGEfO1jDo4BZamEVMzXFDEjcdLHf4zqkmhR1NwjNYtQHYBBAaqhFzOMDO4aP /ngNFg== -----END CERTIFICATE-----
证书文件通常使用PEM格式进行传输。这种格式的证书和秘钥都是可读的,但仍有一定程度上的安全性,并且它们可以轻松地通过启用加密等功能来保护。
2. SSL/TLS协议加密。
-----BEGIN SSL CERTIFICATE----- MIICHzCCAYgCCQCueq6WECfqbTANBgkqhkiG9w0BAQsFADA5MQswCQYDVQQGEwJV SzERMA8GA1UECBMIRmVybGluZ2FzMREwDwYDVQQHEwhTZWJhc3RpYW4xETAPBgNV BAoTCEh1Ym8gTWVldGluZzErMCkGA1UEAxMiSHVibyBNZWV0aW5nIFNpZ25pbmcg c2VydmljZTAeFw0yMTAxMTkwMTU2MzZaFw0yMzAxMTkwMTU2MzZaMDkxCzAJBgNV BAYTAlVLMREwDwYDVQQIEwhGZXJsaW5nYXMxETAPBgNVBAcTCFNlYmFzdGlhbjER MA8GA1UEChMISHVibyBNZWV0aW5nMSswKQYDVQQDEyJIdWJvIE1lZXRpbmcgU2ln bmluZyBzZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArOj2 +7YpAUA3L5kCmseUXHfKdNhDvVvXgJfN4F2JfoVZ4xf+OesboF8uuDbT54qnJt4J 20JjHN8resZKE/5NAPBzQD/wzrpW4K6tVmgfBVQ8Ums53ghkK/NgyfErqp8ZK6sX 66BzLCRzRPzJL2YmqGlE7XrLoG6ErsLb6kBXBkuUpC/j6W08Fzh+5pRqAn7tt53g heg8VR2g2ZLHbJ4I72SiZtCoGcqQNvmwHxH0LNQbOpV63/uXDdAYom6bh8TmOEiq wIYQ5EKQ3pWLAf1Sz68LlzlZTlpA6MNhNsfTa+/j2LWyqa9W6QmxUIv37OidjAPw zWRpAkWjN4B8tQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQChYg8jWzh5uKb4i7ef JL/Hxb8hMeX/WxIZkgcwVByz8X/hPWnkqNFjrXy3/kvtoxdE7W6gB2Svq48e5MKD YIblWgwBlGTQsAFPcbz4L8E8YkVxUFqKuS7YOd4ebHsoI1k+v9G4gAklbUjzZJbB Grq3HmI+hd8Cu+HyvxZEd/MGM/9eITAVd36drTfuE+F3h7UuPjbm2ekbXah522m3 2aE8NcBZ3INLGk/SfPK0KmK38E9MdcUIDLSSXi2B0mAaaBPtIhe9OHTdVdgtlxL4 L8eH1eXNVkcQyvuC4BYuoMs3JxuDeREObw0K7uL5ud1sQ+VqXQ1+m/nO4xUsXcUH
SSL/TLS协议在报文传输过程中需要加密保护,这时PEM格式可以作为加密算法的输入。SSL/TLS协议有多种加密算法,如DES、AES、RC4等,这些算法的密钥通常使用PEM格式存储。
3. 公钥加密算法。
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtmgH1caBa2vJxpFGakkS nlgLaZmFga4rolWSXZdaUgmwdB1pKJqZXagnua4cr96ZhZM1P4YF/KOlN9jV8U8e J6EOlpNKaZ1CX7p6Xc4ZeWkFsNOLvxhnSwae37A/OhbW0PA9haDDJbrdJeBaSveR ICvomHJ0A2RK/hOPjRhXRfnZpa/aqFF8zKVNa0ZfVzeV9hKomdOVQz60QbWMcnan w5NJjwVpTDdNyEzld58dcuHThVoN0gE7Sa5MfFf6koUSPboZvKRzTtnyn/XSJ0Jm zyzL9Zq/LIQdK5N8ht1ZV77odU/b2CeLsKdGBvCpCyseVUAZquyZqmTKLzDPPN8F 2wIDAQAB -----END PUBLIC KEY-----
PEM格式的公钥可以用于加密明文,并使用对应的私钥进行解密,这是公钥加密算法的基本操作。常见的公钥加密算法有RSA、DSA等,在数字证书、SSL/TLS协议中都有应用。
四、结语
PEM是一种在加密技术中广泛使用的格式,为公钥算法和数字证书的应用提