Pretty Good Privacy (PGP)
Pretty Good Privacy (PGP) is an encryption program that provides cryptographic privacy and authentication for data communication.
- created by Phil Zimmerman
- uses a web of trust concept with key servers that act as a decentralized mesh of repositories and clearinghouses
- allows for encryption of data in motion and data at rest
PGP Family
The PGP, OpenPGP, and GnuPG cryptographic systems are more than just an algorithm or protocol.
- have origins in social and legal debate over whether private citizens should have both legal and ethical rights to use encryption
- government security services fought against this concept
- these three can be called the PGP family
- implement an alternative hierarchy of trust that Public Key Infrastructure (PKI) has provided
- PKI and certificate authentication system is a monoculture
- single ecosystem
- can be corrupted or subverted
- PKI and certificate authentication system is a monoculture
- implements nonhierarchical ways of:
- asserting trust
- managing public key exchanges
- and providing for user storage and protection of private keys
- when used correctly, it provides comparable levels of security to that provided by traditional PKI
- PGP is exceptionally difficult to break
Weakness
- Opponents of PGP state these systems are technically challenging to use
- do not scale well into consumer-friendly products and services
- Certificate generation and management, certificate revocation, user protection and use of private keys
- Bruce Schneier called this “Giving Up on PGP” in 2016
- Are also growing number of defenders
- claim opposers focus too much on commercialization
- emphasize its utility for individual personal use
OpenPGP
OpenPGP is an Internet set of standards for PGP described in RFC 4880 by the IETF.
- there is ongoing work to develop a PGP-compliant open source library of JavaScript routines for use in web apps that wan to use PGP in supported browsers
GNU Privacy Guard (GPG)
GNU Privacy Guard (GPG) is a free and open source implementation of the OpenPGP standard.
- part of the GNU project
- aims to provide users with what the project calls the four essential freedoms that software users should have and enjoy
- provides:
- key management and access modules
- support for S/MIME and SSH
- tools for easy integration into variety of applications
- packages:
- Windows:
Gpg4win - preinstalled on Linux
- Mac: GPGSuite using MacGPG
- Windows:
Web of Trust
Web of trust is a network of trust relationships built and maintained by the users or members of that network.
- exists without a central, root certificate authority or one single anchor for trust chains
- similar to natural human relationships
- look to someone we already trust as a source of transitive trust when introducing us to someone else
- still depends upon some kind of authentication of trustworthiness
- PGP uses certificate-signing parties
- social occasions to bring people together who are willing to attest to the validity of the certificate in question
- PGP uses certificate-signing parties
- one measure of the success or uptake of the web of trust concepts is the size of the set of users who have trust relationships with each other
- called the strong set
- is 55,000 for PGP in 2015