Presentation is loading. Please wait.

Presentation is loading. Please wait.

or call for office visit Chapter 4b - X.509 Authentication

Similar presentations


Presentation on theme: "or call for office visit Chapter 4b - X.509 Authentication"— Presentation transcript:

1 email or call for office visit Chapter 4b - X.509 Authentication
ECE-6612 Prof. John A. Copeland fax Office: Klaus 3362 or call for office visit Chapter 4b - X.509 Authentication

2 X.509 Authentication Service
• An International Telecommunications Union (ITU) recommendation (versus “standard”) for allowing computer host or users to securely identify themselves over a network. • An X.509 certificate purchased from a “Certificate Authority” (trusted third party) allows a merchant to give you his public key in a way that your Browser can generate a session key for a transaction, and securely send that to the merchant for use during the transaction (padlock icon on screen closes to indicate transmissions are encrypted). • Once a session key is established, no one can “high jack” the session (for example, after your enter your credit card information, an intruder can not change the order and delivery address). • User only needs a Browser that can encrypt/decrypt with the appropriate algorithm, and generate session keys from truly random numbers. • Merchant’s Certificate is available to the public, only the secret key must be protected. Certificates can be cancelled if secret key is compromised.

3 Raw “Certificate” has user name, public key, expiration date, ...
CA’s Secure Area Generate hash code of Raw Certificate Raw Cert. MIC Hash Encrypt hash code with CA’s private key to form CA’s signature Signed Cert. Signed Certificate Recipient can verify signature using CA’s public key. Certificate Authority generates the “signature” that is added to raw “Certificate” 3

4 4

5 Information Provided by Browser about a Certificate
This Certificate belongs to: investing.schwab.com trading subnet a 1199 Charles Schwab & Co., Inc. Phoenix, Arizona, US This Certificate was issued by Secure Server Certification Authority RSA Data Security, Inc. US Serial Number: 6B:68:2F:3B:FD:8A:46:73:04:33:10:8A:32:1E:47:5B This Certificate is valid from Wed Nov 03, 1999 to Thu Nov 02, 2000 Certificate Fingerprint: 4B:80:C6:C5:2D:63:14:E7:6F:50:BD:16:39:3C:96:FD 5

6 Certificates Can Be Deleted (and Added)
Are you sure that you want to delete this Site Certificate? This Certificate belongs to: endor.mcom.com Netscape Communications Corp. US This Certificate was issued by: rootca.netscape.com Information Systems Netscape Communications Corporation Serial Number: 01:77 This Certificate is valid from Thu May 15, 1997 to Tue Nov 11, 1997 Certificate Fingerprint: 06:BF:60:88:D9:E7:59:BF:3A:35:74:33:28:8E:26:F6 6

7 X.509 Chain of Authentication
CA<<A>> = CA {A’s id and information} X<<A>> = certificate of A “signed” by X To authenticate X<<A>>, you must get the public key of X from a trusted source, such as Z - your own CA. ( Z<<X>>) Z in turn may have to get X’s certificate from a higher level CA. Ultimately there must be an “Authentication Tree” of CA’s so that a user can work up the tree (from Z) and back down to the issuer of the certificate in question, X. 7

8 Chain of Authentication
In practice, there is no single top-level Certificate Authority (CA), only a group of CA’s that each Browser vendor deems fit to include in the installation program. X.509 Chain of Authentication 8

9 “Root” Certificate Authorities in Firefox (2010)
9 added by user

10 Security Issues with X.509 Certificates
In 2005, Arjen Lenstra and Benne de Weger demonstrated "how to use hash collisions to construct two X.509 certificates that contain identical signatures and that differ only in the public keys", achieved using a collision attack on the MD5 hash function. In 2008, Alexander Sotirov and Marc Stevens presented at the Chaos Communication Congress a practical attack that allowed them to create a rogue Certificate Authority, accepted by all common browsers, by exploiting the fact that RapidSSL was still issuing X.509 certificates based on MD5. X.509 certificates based on SHA-1 had been deemed to be secure up until very recent times. In April 2009 at the Eurocrypt Conference, Australian Researchers of Macquarie University presented "Automatic Differential Path Searching for SHA-1". The researchers were able to deduce a method which increases the likelihood of a collision by several orders of magnitude. In 2011, SHA-2 hashes 256-bits or 512-bits long were recommended by NIST. In Oct. 2012, “Keccak” won the NIST contest and was named SHA-3. 10 Source: Wikipedia.com article on “X.509”, “SHA-3”

11 Safari Browser - Google Safe Browsing Service - 2011
Firefox Browser - OCSP 11

12 Source: Wikipedia.com article on “Google Safe Browsing”
Google Safe Browsing is a service provided by Google that provides lists of URLs for web resources that contain malware or phishing content. The Google Chrome and Mozilla Firefox web browsers use the lists from the Google Safe Browsing service for checking pages against potential threats. Google also provide a public API for the service. Google also provides information to Internet Service Providers, by sending alerts to Autonomous System operators regarding threats hosted on their networks. According to Google, as of June 2012, some 600 million Internet users were using this service, either directly or indirectly. To use this service copy into your web browser address bar and edit change: the last name needs to be the url of the webpage or site you wish to find out about. {url = unique resource locator} Source: Wikipedia.com article on “Google Safe Browsing” 12

13 Secure Shell (SSH) and Secure Copy (SCP)
SSH allows you to securely open a terminal window on a remote UNIX host. SCP allows you to securely transfer files. Secure FTP (SFTP) has an interactive command-line interface like FTP. The authentication process and the TCP connection in both cases is encrypted. Authentication is done using the hosts’ RSA Public Keys. Users are authenticated by their host password, or by using their stored public RSA key, which can be generated by the SSH utility ssh-keygen). A session key is generated by Diffie-Hellman. SSH can also be used for secure tunneling of TCP connections and X11 graphical user interface (GUI) connections. 13

14 Secure SSH Logon without a password
Generate a Public-Private Key Pair on your PC [myPC:~] copeland% ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/Users/copeland/.ssh/id_rsa): [ENTER] Enter passphrase (empty for no passphrase): [ENTER] Enter same passphrase again: [ENTER] Your identification has been saved in /Users/copeland/.ssh/id_rsa. Your public key has been saved in /Users/copeland/.ssh/id_rsa.pub The key fingerprint is: 99:e6:61:f7:76:cb:33:c8:99:e1:2d:96:40:1c:b3:59 The “key fingerprint” is a 128-bit secure hash of the public key. [ENTER] means you should hit the Enter or Return key. 14

15 scp the Public Key only to ecelinsrva
[myPC:~] copeland% scp .ssh/id_rsa.pub ecelinsrva.ece.gatech.edu:.ssh/x The authenticity of host ’ecelinserv1.ece.gatech.edu ( )' can't be established. RSA key fingerprint is 9c:07:e8:1d:6a:fa:fb:5b:40:35:e3:2a:1d:d3:95:76. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ’ecelinsrv1.ece.gatech.edu, ' (RSA) to the list of known hosts. password: ####### id_rsa.pub kB == add your .ssh/id_rsa.pub file, now .ssh/x on ecelinserv1, to .ssh/authorized_keys === [myPC:~] copeland% ssh ecelinsrv1.ece.gatech.edu password: ####### Last login: Fri Feb 10 15:06: from myPC.ece.gatech.edu cat .ssh/x >> .ssh/authorized_keys == in the future, no password will be needed == If your username is not the same on both hosts, you have to replace host with : in ssh and scp commands (see “man ssh” & “scp”). 15

16 Files in the /usr/home/copeland/.ssh/ directory
ls -l .ssh total 32 -rw-r--r-- 1 copeland users 3284 Dec 2 21:22 authorized_keys -rw copeland users 887 Feb id_rsa -rw-r--r-- 1 copeland users 242 Feb id_rsa.pub -rw-r--r-- 1 copeland users 5964 Oct 27 08:21 known_hosts -rw-r--r-- 1 copeland users 396 Feb 3 10:28 x The files in the “hidden” .ssh directory contain the following: “authorized_keys” - RSA public keys from your other computers, “id_rsa” - the RSA Private Key for this host-user (do not copy), “id_rsa.pub” - the RSA Public Key for this host-user (put on other computers, in their “authorized_keys” directories), “known_hosts” - the host Public Key from all computers you ssh’ed to and from in the past (added when you typed “yes”). 16

17 Secure Tunneling a TCP Connection
Type [myPC:~]% ssh -N -f 7777: remote_host :3389 remote_host on a single command line. “remote_host” can be an IP address or DNS name. To have a remote desktop on windows.gatech.edu, configure “localhost” and port 7777 in your Remote Desktop Program (instead of “windows.gatech.edu” and port 3389). Firewall that blocks port 3389 You:Remote TCP x:3389 You windows.gatech.edu 17

18 Secure Relaying a TCP Connection
[myPC:~]% ssh -N -f -L 8080:relay_host:23456 -R 23456: relay_host on a single command line. “relay_host” can be an IP address or DNS name. To go to type “ in your browser. Caveat: Different versions on UNIX, ssh, and sshd may require different parameters. The “Relay Host” must support normal ssh access, and be configured to permit relaying. Firewall that blocks port 80 You:Relay TCP x:22 Relay:www TCP y:80 You Relay Host 18

19 Making a DES Key from a Password or Phrase
password, n 7-bit ASCII characters (little endian - least significant bit first) flattened bit stream (7 x n bits) fanfold into 56 bits bitwise XOR 64-bit key Every eighth bit is a parity bit 19

20 Programs Available from
hextext.c - allows you to view files in both hex and ascii formats. char_count.c - shows the number of different characters in a file, computes the character entropy. To use, you must first compile them. On a UNIX or LINUX: gcc hextext.c -o hextext (the executable file is “hextext”) ./hextext for help ./hextext filename file and max. bytes ./hextext filename | less see one screen at a time gcc char_count.c -lm -o char_count (note the “-lm” for math library) ./char_count filename (Windows: install cygwin) If “gcc” is not available, try “cc”. If you want to look at a text file, “less” is better than “more” (use “control-u” to back up, “space” for next page). 20

21 Output from ‘hextext’ 21 Maximum Lines (p_limit) value: 30
Input File is s100.raw Byte No HEX VALUES TEXT 0: d4c3 b2a : d... 20: e ead e e : .....DH8....N...N... 40: da3 : 60: f11 16fc f : 80: c 90c7 061a : .B...5., 100: : ... 120: e fd a400 : u......DH8!...r..... 140: f00 : P.. 160: 308c acf 4000 fc11 d : 180: f a8a 061a : .X0/.5....z 200: : 220: c00c a1ce : edu Lines: 30, hextext.c by John Copeland 12/5/99 21

22 Output from ‘char_count’
$ ./char_count char_count.c char_count vers File is char_count.c No. Char.s to EOF = 7396, No. Lines = 183 Occurrence of Single Characters 0 | ^P- 0 | | | P | ` | p- 154 ^A- 0 | ^Q- 0 | ! | | A | Q | a | q- 0 ^B- 0 | ^R- 0 | " | | B | R | b | r- 316 ^C- 0 | ^S- 0 | # | | C | S | c | s- 243 ^D- 0 | ^T- 0 | $ | | D | T | d | t- 263 ^E- 0 | ^U- 0 | % | | E | U | e | u- 108 ^F- 0 | ^V- 0 | & | | F | V | f | v- 45 ^G- 0 | ^W- 0 | ' | | G | W | g | w- 8 ^H- 0 | ^X- 0 | ( | | H | X | h | x- 31 ^I- 18 | ^Y- 0 | ) | | I | Y | i | y- 64 ^J- 247 | ^Z- 0 | * | : | J | Z | j | z- 4 ^K- 0 | ^[- 0 | | ; | K | [ | k | {- 24 ^L- 0 | ^\- 0 | , | < | L | \ | l | |- 4 ^M- 0 | ^]- 0 | | = | M | ] | m | }- 24 ^N- 0 | ^^- 0 | | > | N | ^ | n | ~- 0 ^O- 0 | ^_- 0 | / | ? | O | _ | o | - 0 Occurrence of Single Characters - Sorted -3488 | "- 75 | F- 13 | `- 0 | | A | C | E0- 0 22

23 23 Occurrence of Single Characters - Sorted
-3488 | "- 75 | F- 13 | `- 0 | | A | C | E0- 0 n- 342 | | P- 12 | Q- 0 | | A | C | E1- 0 i- 338 | y- 64 | | ^B- 0 | | A | C | E2- 0 r- 316 | | #- 9 | ^C- 0 | | A | C | E3- 0 e- 296 | b- 48 | D- 8 | $- 0 | | A | C | E4- 0 t- 263 | v- 45 | w- 8 | ^E- 0 | | A | C | E5- 0 c- 262 | | U- 8 | ^F- 0 | | A | C | E6- 0 /- 255 | <- 35 | k- 6 | G- 0 | | A | C | E7- 0 ^J- 247 | %- 32 | :- 5 | H- 0 | | A | C | E8- 0 s- 243 | x- 31 | B- 5 | ^A- 0 | | A | C | E9- 0 *- 232 | >- 31 | M- 5 | J- 0 | 8A- 0 | AA- 0 | CA- 0 | EA- 0 o- 213 | | |- 4 | ^K- 0 | 8B- 0 | AB- 0 | CB- 0 | EB- 0 a- 202 | \- 29 | ^- 4 | ^L- 0 | 8C- 0 | AC- 0 | CC- 0 | EC- 0 ;- 193 | N- 29 | z- 4 | ^M- 0 | 8D- 0 | AD- 0 | CD- 0 | ED- 0 p- 154 | _- 27 | | ^N- 0 | 8E- 0 | AE- 0 | CE- 0 | EE- 0 f- 154 | I- 27 | Y- 2 | ^O- 0 | 8F- 0 | AF- 0 | CF- 0 | EF- 0 l- 152 | E- 27 | @- 1 | ^P- 0 | | B | D | F0- 0 m- 123 | | &- 1 | q- 0 | | B | D | F1- 0 =- 121 | T- 25 | K- 1 | ^R- 0 | | B | D | F2- 0 (- 116 | {- 24 | !- 1 | ^S- 0 | | B | D | F3- 0 )- 116 | }- 24 | ^H- 0 | ^T- 0 | | B | D | F4- 0 ,- 109 | L- 22 | 0 | ^U- 0 | | B | D | F5- 0 u- 108 | '- 18 | ^V- 0 | V- 0 | | B | D | F6- 0 | ^I- 18 | ^G- 0 | W- 0 | | B | D | F7- 0 [- 104 | | ^X- 0 | X- 0 | | B | D | F8- 0 ]- 102 | O- 17 | ?- 0 | ^Y- 0 | | B | D | F9- 0 h- 100 | | ^Z- 0 | Z- 0 | 9A- 0 | BA- 0 | DA- 0 | FA- 0 | C- 16 | ^W- 0 | ^[- 0 | 9B- 0 | BB- 0 | DB- 0 | FB- 0 d- 95 | A- 16 | ^D- 0 | ^\- 0 | 9C- 0 | BC- 0 | DC- 0 | FC- 0 g- 78 | R- 14 | ^Q- 0 | ^]- 0 | 9D- 0 | BD- 0 | DD- 0 | FD- 0 | S- 14 | ^^- 0 | ~- 0 | 9E- 0 | BE- 0 | DE- 0 | FE- 0 | j- 13 | ^_- 0 | bs- 0 | 9F- 0 | BF- 0 | DF- 0 | FF- 0 Entropy is 4.5 bits/byte. Maximum character-wise compression = 56.5 % No. Char.s > 127 (not ASCII text) = 0, 0 % 23


Download ppt "or call for office visit Chapter 4b - X.509 Authentication"

Similar presentations


Ads by Google