1 / 50

CSCI 555 Adv Computer Security

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.

hang
Download Presentation

CSCI 555 Adv Computer Security

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSCI 555 Adv Computer Security Dr. Frank Li

  2. 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

  3. 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

  4. 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.

  5. 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.

  6. 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)

  7. 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.

  8. 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.

  9. RSA – Encryption / Decryption Modulo operations are computational expensive. Thus, public cryptosystem is slower than symmetric cryptosystems.

  10. 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?

  11. 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?

  12. 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

  13. 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

  14. 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

  15. “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

  16. 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

  17. 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.

  18. 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

  19. 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

  20. Chapter 5 Network Access Control and Cloud Security

  21. 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

  22. 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

  23. 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

  24. Table 5.1 Terminology Related to IEEE 802.1X

  25. Table 5.2Common EAPOL Frame Types

  26. 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.”

  27. 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.”

  28. Cloud Provider

  29. Roles and Responsibilities

  30. Cloud Security Risks and Countermeasures • The Cloud Security Alliance [CSA10] lists the following as the top cloud specific security threats, together with suggested countermeasures:

  31. Risks and Countermeasures (continued)

  32. 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

  33. 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)

  34. 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)

  35. Data Protection in the Cloud • The threat of data compromise increases in the cloud • Database environments used in cloud computing can vary significantly

  36. 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

  37. 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

  38. 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

More Related