Preparing for Cryptographic Attacks Cryptography Standards and Protocols Key management and Key life cycle Introduction of PKI Trust models PKI management Specific attacks on cryptographic systems can be divided into three types: Attacking the key Attacking the algorithm Intercepting the transmission A birthday attack is an example of an attack targeted at the key. It isn’t an attack on the algorithm itself, just on the results. If 25 people are in a room, there is some probability that two of those people will have the same birthday. The probability increases as additional people enter the room. It’s important to remember that probability doesn’t mean that something will occur, only that it’s more likely to occur. Based on the premise that many common passwords are used by lots of people. If the key length is short, the resulting hash value will be easier to guess. Make sure your users use passwords and encryption keys that are hard to guess. You may even want to consider a random-password generating system. Mathematical attacks can be focused on the encryption algorithm itself, the key mechanism, or any potential area of weakness in the algorithm. These attacks use mathematical modeling and statistical analysis to determine how the system operates. These types of attacks depend on intercepting large amounts of data and methodically attempting to decrypt the messages using one of the methods previously described. Preparing for Cryptographic Attacks Cryptography Standards and Protocols Key management and Key life cycle Introduction of PKI Trust models PKI management Public domain cryptography refers to the standards and protocols that emerge from individual or corporate efforts and are released to the general public for use PGP and RSA are two common public cryptographic initiatives. Developed by Phil Zimmerman In 1991, he published the encryption system on the Internet PGP has become a de facto standard for e-mail encryption. PGP uses both symmetrical and asymmetrical encryption Rivest, Shamir, and Adleman RSA has been very involved in developing Public-Key Cryptography Standards (PKCS), and it maintains a list of standards for PKCS Public-Key Cryptography Standards (PKCS) is a set of voluntary standards created by RSA and security leaders. Early members of this group included Apple, Microsoft, DEC (now HP), Lotus, Sun, and MIT. The X.509 standard defines Certificate formats and fields for public keys The procedures that should be used to distribute public keys. The X.509 version 2 certificate is still used as the primary method of issuing Certificate Revocation List (CRL) certificates. The current version of X.509 certificates is version 3, and it comes in two basic types: End-entity certificate The CA certificate is issued by one CA to another CA. The second CA can, in turn, issue certificates to an end entity. X.509 certificate standard X.509 Version Number Subject Public Key!!! Issuer (CA that vouched for you) Serial Number Validity dates Certificate Usage Signature Algorithm Extensions Secure Sockets Layer (SSL): Establish a secure communication connection between two TCP-based machines Uses the handshake method of establishing a session The number of steps is always between four and nine, inclusive, based on who is doing the documentation http://support.microsoft.com:80/support/kb/articles/Q25 7/5/91.ASP Secure Sockets Layer (SSL): Transport Layer Security (TLS): Expands upon SSL TLS may replace SSL in the near future The TLS protocol is also referred to as SSL 3.1, but despite its name, it doesn’t interoperate with SSL A messaging protocol used between PKI entities. XML Key Management Specification (XKMS) is designed to allow XML-based programs access to PKI services CMP is expected to be an area of high growth as PKI usage grows. S/MIME A standard used for encrypting e-mail Uses the PKCS #7 standard (Cryptographic Message Syntax Standard) and is the most widely supported standard used to secure e-mail communications. Provides encryption for credit card numbers that can be transmitted over the Internet Developed by Visa and MasterCard A tunneling protocol originally used on Unix systems Now available for both Unix and Windows SSH connections are established in two phases: The first phase is a secure channel to negotiate the channel connection The second phase is a secure channel used to establish the connection Hypertext Transport Protocol Secure (HTTPS) is the secure version of HTTP Uses SSL to secure the channel between the client and server Uses port 443 by default. Secure Hypertext Transport Protocol (S-HTTP) is HTTP with message security (added by using RSA or a digital certificate). Whereas HTTPS creates a secure channel, S-HTTP creates a secure message. S-HTTP can use multiple protocols and mechanisms to protect the message. It also provides data integrity and authentication. Provides authentication and encryption across the Internet Becoming a standard for encrypting virtual private network (VPN) channels One of the primary uses of IPSec is to create VPNs. IPSec, in conjunction with Layer 2 Tunneling Protocol (L2TP) or Layer 2 Forwarding (L2F), creates packets that are difficult to read if intercepted by a third party. IPSec works at layer 3 of the OSI model. Protocols used by IPSec at the bottom layer are Authentication Header (AH) Encapsulating Security Payload (ESP). Both can operate in either the transport or tunnel mode. Port 50 is used for ESP Port 51 is used for AH. Point-to-Point Tunneling Protocol (PPTP) Encapsulation in a single point-to-point environment. PPTP encapsulates and encrypts Point-to-Point Protocol (PPP) packets PPTP uses port 1723 and TCP for connections. Layer 2 Forwarding (L2F) Created by Cisco Creating tunnels primarily for dial-up connections. Shouldn’t be used over WANs. Provides authentication, but doesn’t provide encryption. L2F uses port 1701 and TCP for connections. Layer 2 Tunneling Protocol (L2TP) L2TP is a hybrid of PPTP and L2F Primarily a point-to-point protocol Supports multiple network protocols so it can be used as a bridge across many types of systems IPX, SNA, and IP L2TP doesn’t provide data security: The information isn’t encrypted. (Security can be provided by protocols such as IPSec.) L2TP uses port 1701 and UDP for connections. Provides an encrypted and authenticated connection between a wireless client and a server WTLS is similar in function to TLS, Uses a lower bandwidth Less processing power It’s used to support wireless devices Preparing for Cryptographic Attacks Cryptography Standards and Protocols Key management and Key life cycle Introduction of PKI Trust models PKI management Centralized versus decentralized key generation Key storage and distribution Key escrow Key expiration Key revocation Key suspension Key recovery and archival Key renewal Key destruction Key usage Key length and the method used to create the key also affect the security of the system in use. The security of a key is measured by how difficult it is to break the key According to RSA, it would take 3 million years and a $10 million budget to break a key with a key length of 1,024 bits Centralized Key Generation Decentralized Key Generation Usually accomplished using a Key Distribution Center (KDC), as used in Kerberos, or by using a Key Exchange Algorithm (KEA), as in the case of PKI. Usually accomplished using a Key Distribution Center (KDC), as used in Kerberos, or by using a Key Exchange Algorithm (KEA), as in the case of PKI. A key escrow system stores keys for the purpose of law enforcement access Key escrow systems can also be a part of the key recovery process A key expiration date identifies when a key is no longer valid. Normally, a key is date stamped; this means that it becomes unusable after a specified date. A new key or certificate is normally issued before the expiration date. Keys are revoked when they are compromised the authentication process has malfunctioned people are transferred other security risks occur. Revoking a key keeps it from being misused. A revoked key must be assumed to be invalid or possibly compromised. PKI use a CRL to perform a check on the status of revoked keys A key suspension is a temporary situation. If an employee were to take a leave of absence, the employee’s key could be suspended until they came back to work. In a PKI system, a CRL would be checked to determine the status of a certificate Key archiving Key recovery Current keys Previous Keys Archived keys Key renewal defines the process of enabling a key for use after its scheduled expiration date. A key would be reissued for a certain time in this situation. This process is called a key rollover Key destruction is the process of destroying keys that have become invalid. Many symmetrically based encryption systems use a dedicated device to carry the key for the encryption. This key would be physically delivered to the site using the encryption system. Old keys would be recovered and destroyed. Preparing for Cryptographic Attacks Cryptography Standards and Protocols Key management and Key life cycle Introduction of PKI Trust models PKI management Wouldn’t it be nice if some one we could distribute public keys AND be assured that the public key we received was the actual public key of the person we expect to talk to? PKIs are generally concerned with ensuring and managing identity trust, specifically using “digital certificates”. Provides all the components necessary for users to be able to communicate securely in a managed method. Includes hardware, software, policies, services, algorithms and protocols. Enables C, and I of the CIA triad Enables non-repudiation Confidentiality Confidentiality is the term used to prevent the disclosure of information to unauthorized individuals or systems. Confidentiality is necessary (but not sufficient) for maintaining the privacy of the people whose personal information a system holds. Integrity In information security, integrity means that data cannot be modified without authorization. This is not the same thing as referential integrity in databases. Authenticity In computing, e-Business and information security it is necessary to ensure that the data, transactions, communications or documents (electronic or physical) are genuine. It is also important for authenticity to validate that both parties involved are who they claim they are. In a PKI you are given a digital certificate, which contains your identity, and a key (public key) people can use to encrypt data securely to you OR verify items that you have digitally signed! However we must have some way of ensuring that the digital certificate has not been “faked” so we have a entity called a Certificate Authority (CA) that digitally signs your digital certificate, proving that the digital certificate is really yours! It is important that users trust the CA, otherwise there is no purpose!!! The entire PKI structure relies upon the fact that the CA can be trusted! If the CA is comprimised the whole PKI is useless. CAs are computer technology entities that issue/sign your digital certificates, however they rely on an entity to actually do a “background” check on you to prove you really are you you say you are before the CA will “vouch” for you. This “background” check entity is called an Registration Authority (RA) RA would take identifying information that proves I am who I say I am such as Drivers license Passport Birth Certificate Once my identity is verified the RA will tell the CA to issue and sign a digital certificate for me Once a digital certificate has been created and signed, they are stored in a “Certificate repository” which can be queried by users and applications in a PKI when someone wants to communicate with a user. These repositories are usually LDAP compliant databases. Firefox – https://www.redhat.com Click on the yellow lock at the bottom In the pop-up click on “view certificate” What version is it? What’s the “Common Name” Who is the Issuing Certificate Authority When does the Certificate Expire Why would a certificate expire? Now click on the details tab What is this “Certificate Hierarchy” stuff? Who Signed the cert for www.redhat.com Who signed the cert for that CA? This “vouching” for CAs is called a “certificate chain” If someone signed for someone else… who signed for them? When does this end? Let’s explore this… PKI implementations are usually a hierarchy, where one CA signs another CAs certificate. Parent - Child relationship Top parent is called a root CA All others are called subordinate CA Every CA should have a Certification Practice Statement which outlines How the RA verifies identities How the Certificates are transferred How keys are secured What data is in a Digital Certificate How revocations are handled… etc Before using a 3rd party CA, you should understand and be comfortable with CPS and the security controls they use. If the CA does not handle things securely… there is no point in using them. There are 3 main types of certificates End-entity certificates Given to end users or servers or applications CA certificates Given to CAs, can be signed by another CA or “self signed” What does it mean to be self signed, what does it imply? Cross-certification certificates When two companies want to trust each other, their root CAs may issue a certificate to the root CAs for each other, allowing a “peer to peer” trust model for CAs and allowing users in one organization to trust users in another. A Certificate Practice Statement (CPS) is a detailed statement the CA uses to issue certificates and implement its policies of the CA. If a CA is unwilling to provide this information to a user, the CA itself may be untrustworthy, and the trustworthiness of that CA’s users should be questioned. Some PKIs use multiple certificates, and as such multiple public/private key pairs. One for digitally signing data One for encrypting data Why would we want to have two different keys? (Hint. think key storage and non-repudiation) Preparing for Cryptographic Attacks Cryptography Standards and Protocols Key management and Key life cycle Introduction of PKI Trust models PKI management Four main types of trust models are used with PKI: Hierarchical Bridge Mesh Hybrid PKI was designed to allow all of these trust models to be created. They can be fairly granular from a control perspective. Granularity refers to the ability to manage individual resources in the CA network. A root CA at the top provides all the information. The intermediate CAs are next in the hierarchy, and they only trust information provided by the root CA The root CA also trusts intermediate CAs that are in their level in the hierarchy and none that aren’t. This arrangement allows a high level of control at all levels of the hierarchical tree. Web of Trust is a PKI with no central hierarchy, it’s literally a web. It’s like 6 degrees of separation. Bob vouches for Andy Sarah trusts Bob, so she trusts the identity of Andy Sara vouches for Bob Steve trusts Sara, therefore he trusts the identities of Bob, and Andy via Sarah… PGP uses web of trust Verifing the signature of ClamAV Preparing for Cryptographic Attacks Cryptography Standards and Protocols Key management and Key life cycle Introduction of PKI Trust models PKI management Certificates have a lifetime after which they expire. Why? When a certificate expires you have to renew it. You don’t have to go through the RA again. You just have to be able to sign a message with your old private key. When renewing you can use the old public/private key pair or generate a new key pair. What is the advantage of generating a new pair? Certificate revocation is the process of revoking a certificate before it expires Why? It was stolen An employee moved to a new company Someone has had their access revoked … A certificate revocation is handled either through a Certificate Revocation List (CRL) or by using the Online Certificate Status Protocol (OCSP). Certificate Revocation List (CRL) Certificate serial number that have been revoked Reason for revocation Date of revocation The CRL is digitally signed by the CA Client software must check the CRL before trusting a digital certificate Once a certificate is revoked, it cannot be “un-revoked” A certificate could be suspended, (or put on hold) this also goes on the CRL, however a special “reason” of suspended is used. Suspended certificates MAY be un-suspended Online Certificate Status Protocol (OCSP) A client server model A client program actually queries a server to see if someone’s certificate is valid. This way the client does not need to know how to find the CRL for the given certificate Authority and doesn’t have to actually search through the CRL.