authentication authentication
play

AUTHENTICATION AUTHENTICATION Authentication is the process by - PowerPoint PPT Presentation

SECURITY TOPICS PART 2 AUTHENTICATION AUTHENTICATION Authentication is the process by which you decide that someone is who they say they are and therefore permitted to access the requested resources: getting entrance to a computer lab


  1. SECURITY TOPICS PART 2 AUTHENTICATION

  2. AUTHENTICATION Authentication is the process by which you decide that someone is who they say they are and therefore permitted to access the requested resources: • getting entrance to a computer lab • getting past the bouncer at the bar • logging into your web application

  3. AUTHORIZATION Authorization defines what rights and privileges a user has once they are authenticated. • Authentication grants access • Authorization defines what the user with access can (and cannot) do. The principle of least privilege is a helpful rule of thumb that tells you to give users and software only the privileges required to accomplish their work.

  4. AUTHENTICATION FACTORS Authentication factors are the things you can ask someone for in an effort to validate that they are who they claim to be:

  5. AUTHENTICATION FACTORS • Knowledge factors are the things you know Passwords, PIN, Challenge Question • Ownership factors are the things that you possess Key, FOB, Card, Mobile Phone • Inheritance factors are the things you are Fingerprint, signature, DNA, gait

  6. SINGLE FACTOR AUTHENTICATION Single-factor authentication is the weakest and most common category of authentication system where you ask for only one of the three factors. • Know a password • Posses an access card • Fingerprint access on your mobile phone When better authentication confidence is required, more than one authentication factor should be considered

  7. MULTI FACTOR AUTHENTICATION Multifactor authentication is where two distinct factors of authentication must pass before you are granted access. The way we all access an ATM machine is an example of two-factor authentication: • you must have both the knowledge factor (PIN) and • the ownership factor (card) Multifactor authentication is becoming prevalent in consumer products as well: • your cell phone is used as the ownership factor alongside • your pin as a knowledge factor .

  8. THIRD PARTY AUTHENTICATION Let someone else worry about it… Many popular services allow you to use their system to authenticate the user and provide you with enough data to manage your application. Third-party authentication schemes like OpenID and oAuth are popular with developers and are used under the hood by many major websites including Amazon, Facebook, Microsoft, and Twitter, to name but a few.

  9. OAUTH OAuth uses four user roles: • The client is the application making requests on behalf of the resource owner (e.g. Spotify). • The resource server is the place storing the user's information (e.g. Facebook) • The resource owner is normally the end user who can gain access to the resource (e.g. you). • The authorization server asks the user to approve or deny the request. (e.g. also Facebook, but a separate service handling authorization) • Once the user logs in to the authorization server and approves the client, an access token is returned to the client

  10. OAUTH

  11. SECURE AUTHENTICATION When a browser makes an initial attempt to communicate with a server over a secure connection, the server authenticates itself by providing a digital secure certificate . If the digital secure certificate is registered with the browser, the browser won’t display the certificate by default. However, the user still has the option to view the certificate.

  12. HTTP • With a regular HTTP connection, all data is sent as unencrypted pain text. • If a hacker intercepts the data, it is easy to read. • To transmit data over a secure connection, an additional layer must be used. Secure Sockets Layer (SSL) • An older Internet protocol that allows for data transmission between server and client through a secure connection Transport Layer Security (TLS) • A newer protocol for transferring data via a secure connection. • Often referred to as SSL

  13. HTTPS HTTPS is the HTTP protocol running on top of the Transport Layer Security (TLS). It’s easy to see from a client’s perspective that a site is secured by the little padlock icons in the URL bar used by most modern browsers. The browser encrypts data being sent to the server and the server then decrypts it The server encrypts data being sent to the browser and the browser then decrypts it

  14. HTTPS

  15. HTTPS The certificate that is transmitted during the handshake is actually an X.509 certificate, which contains many details including the algorithms used, the domain it was issued for, and some public key information.

  16. A DIGITAL SECURE CERTIFICATE

  17. CERTIFICATE AUTHORITIES A Certificate Authority (CA) allows users to place their trust in the certificate since a trusted, independent third-party signs it.

  18. CERTIFICATE AUTHORITIES SSL Strengths • Refers to the length of the generated key that is created during encryption • Stronger security costs more ▪ 40-bit ▪ 56-bit ▪ 128-bit (typical SSL strength for collecting personal information) ▪ 256-bit A W3Techs survey early 2020

  19. HTTPS Self-signed certificates provide the same level of encryption, but the validity of the server is not confirmed.

  20. URLS FOR SECURE CONNECTIONS Request a secure connection: https://satoshi.cis.uncw.edu Return to a regular connection http:// satoshi.cis.uncw.edu • Requests must be full URLs • Once a secure connection is established, it will remain in that mode until it is reverted.

  21. HTTPS To use a secure connection on a page, redirect it by using the $_SERVER array. The $_SERVER array contains information about headers and paths, and its values are set by the web server. Index Description HTTPS Returns a non-empty value if the current request is using HTTPS HTTP_HOST Returns the host for the current request REQUEST_URI Returns the Uniform Resource Identifier for the current page.

  22. THE $_SERVER ARRAY $_SERVER['HTTP_HOST']= satoshi.cis.uncw.edu $_SERVER['REQUEST_URI']=/~abc1234/file.php A utility file to build an absolute URL using the $_SERVER array:

  23. REQUIRING A SECURE CONNECTION require_once 'secure_conn.php'; • Use on any pages that contain sensitive information particularly registration and login

  24. REVERTING TO HTTP require_once 'reg_conn.php'; • After a user has logged out for example • Note: There is no $_SERVER['HTTP'] value

  25. THE $_SERVER ARRAY $_SERVER['HTTP_HOST']=webdev.cislabs.uncw.edu $_SERVER['REQUEST_URI']=/~abc1234/file.php <?php A utility file to build // make sure the page uses a secure connection an absolute URL $https = filter_input(INPUT_SERVER, 'HTTPS'); if (!$https) { using the $host = filter_input(INPUT_SERVER, 'HTTP_HOST'); $_SERVER array: $uri = filter_input(INPUT_SERVER, 'REQUEST_URI'); $url = 'https://' . $host . $uri; header("Location: " . $url); exit(); } ?>

  26. The Remaining Slides Contain Additional Optional Information about Cryptography IN CASE YOU ARE INTERESTED...

  27. CRYPTOGRAPHY Being able to send a secure message has been an important tool in warfare and affairs of state for centuries. At a basic level we are trying to get a message from one actor (we will call her Alice), to another (Bob), without an eavesdropper (Eve) intercepting the message. Since a single packet of data is routed through any number of intermediate locations on its way to the destination, getting your data (and passwords) is as simple as reading the data during one of the hops unless you use cryptography.

  28. CRYPTOGRAPHY The problem

  29. CRYPTOGRAPHY The goal

  30. CRYPTOGRAPHY Some key terms A cipher is a message that is scrambled so that it cannot easily be read, unless one has some secret key. The key can be a number, a phrase, or a page from a book. What is important in both ancient and modern cryptography is to keep the key a secret between the sender and the receiver.

  31. CRYPTOGRAPHY Substitution ciphers A substitution cipher is one where each character of the original message is replaced with another character according to the encryption algorithm and key. • Caesar • Vigenère • One Time Pad • Modern Block Ciphers

  32. CAESAR Substitution ciphers The Caesar cipher, named for and used by the Roman Emperor, is a substitution cipher where every letter of a message is replaced with another letter, by shifting the alphabet over an agreed number (from 1 to 25). The message HELLO, for example, becomes KHOOR when a shift value of 3 is used

  33. THE PROBLEM WITH LOUSY CIPHERS Letter distribution is not flat The frequency of letters (and sets of two and three letters) is well known If you noticed the letter J occurring most frequently, it might well be the letter E

  34. THE PROBLEM WITH LOUSY CIPHERS Letter distribution is not flat Any good cipher must therefore try to make the resulting cipher text letter distribution relatively flat so as to remove any trace of the telltale pattern of letter distributions. Simply swapping one letter for another does not do that, necessitating other techniques.

  35. VIGENÈRE Early attempt to flatten letter distribution of ciphers The Vigenère cipher, named for the sixteenth-century cryptographer, uses a keyword to encode a message. The key phrase is written below the message and the letters are added together to form the cipher text as illustrated.

Recommend


More recommend