500 likes | 718 Views
CSCI 555 Adv Computer Security. Dr. Frank Li. Review of Topics in CSCI 455. Pro and Con of Asymmetric / Symmetric cryptosystem DH key exchange and RSA Digital Certificate and Digital Signatures AAA service - Kerbros. Features of Asymmetric Cryptography.
E N D
CSCI 555 Adv Computer Security Dr. Frank Li
Review of Topics in CSCI 455 • Pro and Con of Asymmetric / Symmetric cryptosystem • DH key exchange and RSA • Digital Certificate and Digital Signatures • AAA service - Kerbros
Features of Asymmetric Cryptography • Asymmetric algorithm works much more slowly than a symmetric algorithm • Symmetric algorithms carry out relatively simplistic mathematical functions – substitution and transposition • Asymmetric algorithm uses much more complex mathematics to carry out their functions • Asymmetric algorithms • Can provide authentication and non-repudiation. • also provide for easier and more manageable key distribution
Asymmetric vs. Symmetric • Pro: Asymmetric algorithms • Can provide authentication and non-repudiation. • also provide for easier and more manageable key distribution • Cons: Asymmetric algorithm works much more slowly than a symmetric algorithm • Symmetric algorithms carry out relatively simplistic mathematical functions – substitution and transposition • Asymmetric algorithm uses much more complex mathematics to carry out their functions.
Diffie-Hellman algorithm (1) • Diffie-Hellman algorithm, a.k.a. Diffie-Hellman (D-H) key exchange • Was invented in 1976 • is a cryptographic protocol that allows two parties that jointly establish a shared secret key over an insecure communications channel. • This key can then be used to encrypt subsequent communications using a symmetric key cipher.
Diffie-Hellman algorithm (2) • Alice and Bob share a prime p and g. • g < p • g is a primitive root of p (detail is not required in this course)
RSA • RSA, named after its inventors Ron Rivest, Adi Shamir, and Leonard Adleman, in 1977 • de facto standard used for digital signatures, key exchange, and encryption. • The security of RSA comes from the difficulty of factoring large numbers. • The public and private keys are functions of a pair of large prime numbers • RSA is the most popular public key algorithm. It has been implemented in applications, operating systems, and at the hardware level in network interface cards, secure telephones, and smart cards.
RSA – Create a pair of keys • Choose two random large prime numbers, p and q. and generate the product: n = pq. • Choose a random number e. So that e and (n) =(p – 1)(q – 1) are relatively prime. • Compute the decryption key d. e d = 1 mod (n) (calculate d by using Extended Euclidean algorithm) The public key = (n, e), the private key = d.
RSA – Encryption / Decryption Modulo operations are computational expensive. Thus, public cryptosystem is slower than symmetric cryptosystems.
Authentication the public key • A potential weakness of public-key cryptography Q: How do you know that the pubic key you have for an individual is really for that individual? • The solution is authentication public key • Authentication is the process of proving that you are in fact the person you say you are. • E.g., A phone ID is commonly used to authenticate a person. Q: How to authenticate a public key?
One way to authenticate public key:Digital Signatures • Signatures let you authenticate a public key • How the signature works? • You verify that another person’s key really belongs to that person. And then sign that public key with your own private key. • Others get that public key can see your signature and know you trust that key, so they may decide to trust it OR may decide to verify that key themselves. • Form a web of trust -- a peer to peer trust relationship • Example … Q: How to verify another person’s public key?
Verify public key • Verify the public key in person or call the owner of the public key and check the key • A key usually has hundred of digits • Check bit by bit is not very efficient • A fingerprint is a smaller number that is derived from a very lengthy public key • Fingerprints are created by hashing the public key, • Hashing is a process by which a mathematical function is used that converts larger numbers into smaller numbers
The second way to authenticate public key: Digital Certificate Using digital certificate -- with PKI • A certificate is a numeric code that is used to identify an organization • Certificate authority (CA) verifies the credential of an organization or individual. • Then CA issues a client’s public key and sign it with CA’s private key E.g. VeriSign is an well-known CA
Kerberos : Two-Step Authentication • Prove identity once to obtain special TGS ticket • Instead of password, use key derived from password • Use TGS to get tickets for many network services USER=Joe; service=TGS Joe the User Encrypted TGS ticket Key distribution center (KDC) TGS ticket Ticket granting service (TGS) Encrypted service ticket File server, printer, other network services Encrypted service ticket
“Single Logon” Authentication kinit program (client) • Client only needs to obtain TGS ticket once (say, every morning) • Ticket is encrypted; client cannot forge it or tamper with it Key Distribution Center (KDC) password IDc , IDTGS , timec Convert into client master key User Kc EncryptKc(Kc,TGS, IDTGS , timeKDC , lifetime , ticketTGS) Decrypts with Kc and obtains Kc,TGS and ticketTGS Fresh key to be used between client and TGS TGS Key = KTGS EncryptKTGS(Kc,TGS , IDc , Addrc , IDTGS , timeKDC , lifetime) Client will use this unforgeable ticket to get other tickets without re-authenticating Key = Kc … All users must pre-register their passwords with KDC
Obtaining a Service Ticket Ticket Granting Service (TGS) usually lives inside KDC • Client uses TGS ticket to obtain a service ticket and a short-term key for each network service • One encrypted, unforgeable ticket per service (printer, email, etc.) Client EncryptKc,TGS(IDc , Addrc , timec) Proves that client knows key Kc,TGS contained in encrypted TGS ticket Knows Kc,TGS and ticketTGS System command, e.g. “lpr –Pprint” IDv , ticketTGS, authC EncryptKc,TGS(Kc,v, IDv, timeTGS, ticketv) User Fresh key to be used between client and service Knows key Kv for each service EncryptKv(Kc,v, IDc, Addrc, IDv, timeTGS, lifetime) Client will use this unforgeable ticket to get access to service V
Obtaining Service • For each service request, client uses the short-term key for that service and the ticket he received from TGS Client EncryptKc,v(IDc , Addrc , timec) Proves that client knows key Kc,v contained in encrypted ticket KnowsKc,v and ticketv Server V System command, e.g. “lpr –Pprint” ticketv, authC EncryptKc,v(timec+1) User Authenticates server to client Reasoning: Server can produce this message only if he knows key Kc,v. Server can learn key Kc,v only if he can decrypt service ticket. Server can decrypt service ticket only if he knows correct key Kv. If server knows correct key Kv, then he is the right server.
Important Ideas in Kerberos • Use of short-term session keys • Minimize distribution and use of long-term secrets; use them only to derive short-term session keys • Separate short-term key for each user-server pair • But multiple user-server sessions reuse the same key! • Proofs of identity are based on authenticators • Client encrypts his identity, address and current time using a short-term session key • Also prevents replays (if clocks are globally synchronized) • Server learns this key separately (via encrypted ticket that client can’t decrypt) and verifies user’s identity
Practical Uses of Kerberos • Email, FTP, network file systems and many other applications have been kerberized • Use of Kerberos is transparent for the end user • Transparency is important for usability! • Local authentication • login and su in OpenBSD • Authentication for network protocols • rlogin, rsh, telnet • Secure windowing systems • xdm, kx
Chapter 5 Network Access Control and Cloud Security
Network Access Control (NAC) • An umbrella term for managing access to a network • Authenticates users logging into the network and determines what data they can access and actions they can perform • Also examines the health of the user’s computer or mobile device
Network Access Enforcement Methods • The actions that are applied to ARs to regulate access to the enterprise network • Many vendors support multiple enforcement methods simultaneously, allowing the customer to tailor the configuration by using one or a combination of methods
Authentication Methods • EAP provides a generic transport service for the exchange of authentication information between a client system and an authentication server • The basic EAP transport service is extended by using a specific authentication protocol that is installed in both the EAP client and the authentication server
Table 5.1 Terminology Related to IEEE 802.1X
Cloud Computing • NIST defines cloud computing, in NIST SP-800-145 (The NIST Definition of Cloud Computing ) “A model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.”
Cloud Computing Reference Architecture • NIST SP 500-292 (NIST Cloud Computing Reference Architecture ) “The NIST cloud computing reference architecture focuses on the requirements of “what” cloud services provide, not a “how to” design solution and implementation. The reference architecture is intended to facilitate the understanding of the operational intricacies in cloud computing. It does not represent the system architecture of a specific cloud computing system; instead it is a tool for describing, discussing, and developing a system-specific architecture using a common framework of reference.”
Cloud Security Risks and Countermeasures • The Cloud Security Alliance [CSA10] lists the following as the top cloud specific security threats, together with suggested countermeasures:
Risks and Countermeasures (continued) • Account or service hijacking • Countermeasures: prohibit the sharing of account credentials between users and services; leverage strong two-factor authentication techniques where possible; employ proactive monitoring to detect unauthorized activity; understand CP security policies and SLAs • Unknown risk profile • Countermeasures: disclosure of applicable logs and data; partial/full disclosure of infrastructure details; monitoring and alerting on necessary information
Table 5.3 NIST Guidelines on Security and Privacy Issues and Recommendations (page 1 of 2) (Table can be found on Pages 154 – 155 in textbook)
Table 5.3 NIST Guidelines on Security and Privacy Issues and Recommendations (page 2 of 2) (Table can be found on Pages 154 – 155 in textbook)
Data Protection in the Cloud • The threat of data compromise increases in the cloud • Database environments used in cloud computing can vary significantly
Data Protection in the Cloud • Data must be secured while at rest, in transit, and in use, and access to the data must be controlled • The client can employ encryption to protect data in transit, though this involves key management responsibilities for the CP • For data at rest the ideal security measure is for the client to encrypt the database and only store encrypted data in the cloud, with the CP having no access to the encryption key • A straightforward solution to the security problem in this context is to encrypt the entire database and not provide the encryption/decryption keys to the service provider • The user has little ability to access individual data items based on searches or indexing on key parameters • The user would have to download entire tables from the database, decrypt the tables, and work with the results • To provide more flexibility it must be possible to work with the database in its encrypted form
Cloud Security as a Service (SecaaS) • The Cloud Security Alliance defines SecaaS as the provision of security applications and services via the cloud either to cloud-based infrastructure and software or from the cloud to the customers’ on-premise systems • The Cloud Security Alliance has identified the following SecaaS categories of service: • Identity and access management • Data loss prevention • Web security • E-mail security • Security assessments • Intrusion management • Security information and event management • Encryption • Business continuity and disaster recovery • Network security
Summary • Network access control • Elements of a network access control system • Network access enforcement methods • Extensible authentication protocol • Authentication methods • EAP exchanges • Cloud security as a service • IEEE 802.1X port-based network access control • Cloud computing • Elements • Reference architecture • Cloud security risks and countermeasures • Data protection in the cloud