Network Security Protocols: A Tutorial. Radia Perlman May 2005 (radia.perlman@sun.com)



Similar documents
How To Make A Trustless Certificate Authority Secure

Network Security: Public Key Infrastructure

Principles of Network Security Protocols

Authentication Types. Password-based Authentication. Off-Line Password Guessing

2.4: Authentication Authentication types Authentication schemes: RSA, Lamport s Hash Mutual Authentication Session Keys Trusted Intermediaries

Alternative: Strong password Protocols

Cryptography and network security CNET4523

7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?

Chapter 10. Network Security

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

Client Server Registration Protocol

: Network Security. Name of Staff: Anusha Linda Kostka Department : MSc SE/CT/IT

CS 494/594 Computer and Network Security

Chapter 8. Cryptography Symmetric-Key Algorithms. Digital Signatures Management of Public Keys Communication Security Authentication Protocols

Module 8. Network Security. Version 2 CSE IIT, Kharagpur

Authentication. Computer Security. Authentication of People. High Quality Key. process of reliably verifying identity verification techniques

Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide

Security vulnerabilities in the Internet and possible solutions

CPS Computer Security Lecture 9: Introduction to Network Security. Xiaowei Yang

IT Networks & Security CERT Luncheon Series: Cryptography

IPsec Details 1 / 43. IPsec Details

Real-Time Communication Security: SSL/TLS. Guevara Noubir CSU610

Security Protocols HTTPS/ DNSSEC TLS. Internet (IPSEC) Network (802.1x) Application (HTTP,DNS) Transport (TCP/UDP) Transport (TCP/UDP) Internet (IP)

CSE/EE 461 Lecture 23

APNIC elearning: IPSec Basics. Contact: esec03_v1.0

Cryptography and Network Security

Asymmetric cryptosystems fundamental problem: authentication of public keys

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

What is network security?

Chapter 8 Security. IC322 Fall Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Chapter 8. Network Security

Lecture 9: Application of Cryptography

Authentication applications Kerberos X.509 Authentication services E mail security IP security Web security

Chapter 7: Network security

Part 2 D(E(M, K),K ) E(M, K) E(M, K) Plaintext M. Plaintext M. Decrypt with private key. Encrypt with public key. Ciphertext

CSC/ECE 574 Computer and Network Security. What Is PKI. Certification Authorities (CA)

12/8/2015. Review. Final Exam. Network Basics. Network Basics. Network Basics. Network Basics. 12/10/2015 Thursday 5:30~6:30pm Science S-3-028

CSCE 465 Computer & Network Security

Public Key Infrastructure (PKI)

Network Security Part II: Standards

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

Network Security. Lecture 3

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Security. Friends and Enemies. Overview Plaintext Cryptography functions. Secret Key (DES) Symmetric Key

EXAM questions for the course TTM Information Security May Part 1

Message authentication and. digital signatures

CSCI 454/554 Computer and Network Security. Final Exam Review

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

Network Security #10. Overview. Encryption Authentication Message integrity Key distribution & Certificates Secure Socket Layer (SSL) IPsec

Security in IPv6. Basic Security Requirements and Techniques. Confidentiality. Integrity

4.2: Kerberos Kerberos V4 Kerberos V5. Chapter 5: Security Concepts for Networks. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

Network Security Fundamentals

Key Management. CSC 490 Special Topics Computer and Network Security. Dr. Xiao Qin. Auburn University

Final exam review, Fall 2005 FSU (CIS-5357) Network Security

CS 4803 Computer and Network Security

CS 356 Lecture 27 Internet Security Protocols. Spring 2013

APNIC elearning: Network Security Fundamentals. 20 March :30 pm Brisbane Time (GMT+10)

Dr. Arjan Durresi. Baton Rouge, LA These slides are available at:

4.1: Securing Applications Remote Login: Secure Shell (SSH) PEM/PGP. Chapter 5: Security Concepts for Networks

How To Protect Your Data From Attack

Security (II) ISO : Security Architecture of OSI Reference Model. Outline. Course Outline: Fundamental Topics. EE5723/EE4723 Spring 2012

Managing and Securing Computer Networks. Guy Leduc. Chapter 4: Securing TCP. connections. connections. Chapter goals: security in practice:

Chapter 4. Authentication Applications. COSC 490 Network Security Annie Lu 1

Network Security Protocols

12/3/08. Security in Wireless LANs and Mobile Networks. Wireless Magnifies Exposure Vulnerability. Mobility Makes it Difficult to Establish Trust

Lecture slides by Lawrie Brown for Cryptography and Network Security, 5/e, by William Stallings, Chapter 14 Key Management and Distribution.

Using etoken for SSL Web Authentication. SSL V3.0 Overview

Standards and Products. Computer Security. Kerberos. Kerberos

Network Security - ISA 656 Security

Network Security. HIT Shimrit Tzur-David

How To Use Kerberos

Kerberos. Login via Password. Keys in Kerberos

Purpose of PKI PUBLIC KEY INFRASTRUCTURE (PKI) Terminology in PKIs. Chain of Certificates

Chapter 5: Network Layer Security

CRYPTOGRAPHY IN NETWORK SECURITY

Network Security. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Introduction to Cryptography

Lecture 17 - Network Security

Protocol Rollback and Network Security

Authenticity of Public Keys

Lecture 9 - Network Security TDTS (ht1)

Transport Level Security

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

10.2 World Wide Web Security S-HTTP (secure hypertext transfer protocol) SEA (security extension architecture)

SECURITY IN NETWORKS

Secure Socket Layer. Introduction Overview of SSL What SSL is Useful For

Network Security CS 5490/6490 Fall 2015 Lecture Notes 8/26/2015

Final Exam. IT 4823 Information Security Administration. Rescheduling Final Exams. Kerberos. Idea. Ticket

IP Security. Ola Flygt Växjö University, Sweden

INTERNET SECURITY: FIREWALLS AND BEYOND. Mehernosh H. Amroli

INF3510 Information Security University of Oslo Spring Lecture 9 Communication Security. Audun Jøsang

Overview. SSL Cryptography Overview CHAPTER 1

Application Security: Threats and Architecture

Content Teaching Academy at James Madison University

Chapter 4 Virtual Private Networking

Transcription:

Network Security Protocols: A Tutorial Radia Perlman May 2005 (radia.perlman@sun.com) 1

Purpose of this tutorial A quick intro into a somewhat scary field A description of what you need to know vs what you can trust others to do A description of the real problems How to build an insecure system out of perfectly good cryptography 2

The Problem Internet evolved in a world w/out predators. DOS was viewed as illogical and undamaging. The world today is hostile. Only takes a tiny percentage to do a lot of damage. Must connect mutually distrustful organizations and people with no central management. And society is getting to depend on it for reliability, not just traditional security concerns. 3

Security means different things to different people Limit data disclosure to intended set Monitor communications to catch terrorists Keep data from being corrupted Destroy computers with pirated content Track down bad guys Communicate anonymously 4

Insecurity The Internet isn t insecure. It may be unsecure. Insecurity is mental state. The users of the Internet may be insecure, and perhaps rightfully so Simson Garfinkel 5

Intruders: What Can They Do? Eavesdrop--(compromise routers, links, routing algorithms, or DNS) Send arbitrary messages (including IP hdr) Replay recorded messages Modify messages in transit Write malicious code and trick people into running it 6

Some basic terms Authentication: Who are you? Authorization: Should you be doing that? DOS: denial of service Integrity protection: a checksum on the data that requires knowledge of a secret to generate (and maybe to verify) 7

Some Examples to Motivate the Problems Sharing files between users File store must authenticate users File store must know who is authorized to read and/or update the files Information must be protected from disclosure and modification on the wire Users must know it s the genuine file store (so as not to give away secrets or read bad data) 8

Examples cont d Electronic Mail Send private messages Know who sent a message (and that it hasn t been modified) Non-repudiation - ability to forward in a way that the new recipient can know the original sender Anonymity 9

Examples cont d Electronic Commerce Pay for things without giving away my credit card number to an eavesdropper or phony merchant Buy anonymously Merchant wants to be able to prove I placed the order 10

Sometimes goals conflict privacy vs company (or govt) wants to be able to see what you re doing losing data vs disclosure (copies of keys) denial of service vs preventing intrusion 11

Cryptography Crypto secret key public key cryptographic hashes Used for authentication, integrity protection, encryption 12

Secret Key Crypto Two operations ( encrypt, decrypt ) which are inverses of each other. Like multiplication/division One parameter ( the key ) Even the person who designed the algorithm can t break it without the key (unless they diabolically designed it with a trap door) Ideally, a different key for each pair of users 13

Secret key crypto, Alice and Bob share secret S encrypt=f(s, plaintext)=ciphertext decrypt=f(s, ciphertext)=plaintext authentication: send f(s, challenge) integrity check: f(s, msg)=x verify integrity check: f(s, X, msg) 14

A Cute Observation Security depends on limited computation resources of the bad guys (Can brute-force search the keys) assuming the computer can recognize plausible plaintext A good crypto algo is linear for good guys and exponential for bad guys Even 64 bits is daunting to search through Faster computers work to the benefit of the good guys! 15

Public Key Crypto Two keys per user, keys are inverses of each other (as if nobody ever invented division) public key e you tell to the world private key d you keep private Yes it s magic. Why can t you derive d from e? and if it s hard, where did (e,d) come from? 16

Digital Signatures One of the best features of public key An integrity check calculated as f(priv key, data) verified as f(public key, data, signature) Verifiers don t need to know secret vs. secret key, where integrity check is generated and verified with same key, so verifiers can forge data 17

Enough crypto to impress a date Secret key and hash algorithms just look like a messy way to mangle bits The public key algorithms, though, are quite understandable Based on some particular math problem we assume is hard I ll explain Diffie-Hellman 18

An Intuition for Diffie-Hellman Allows two individuals to agree on a secret key, even though they can only communicate in public Alice chooses a private number and from that calculates a public number Bob does the same Each can use the other s public number and their own private number to compute the same secret An eavesdropper can t reproduce it 19

Why is D-H Secure? We assume the following is hard: Given g, p, and g X mod p, what is X? 20

Diffie-Hellman Alice choose random A agree on g,p g A mod p Bob choose random B g B mod p compute (g B mod p) A compute (g A mod p) B agree on g AB mod p 21

Man in the Middle Alice g A mod p g T mod p Trudy g T mod p g B mod p Bob agree on g AT mod p {data}g AT mod p {data}g AT mod p agree on g TB mod p {data}g TB mod p {data}g TB mod p 22

Signed Diffie-Hellman (Avoiding Man in the Middle) Alice Bob choose random A choose random B [g A mod p] signed with Alice s Private Key [g B mod p] signed with Bob s Private Key verify Bob s signature verify Alice s signature agree on g AB mod p 23

If you have keys, why do D-H? Perfect Forward Secrecy (PFS) Prevents me from decrypting a conversation even if I break into both parties after it ends (or if private key is escrowed) Ex. non-pfs: A chooses key S, encrypts it with B s public key and sends it to B (SSL) IESG strongly encourages PFS in protocols 24

Cryptographic Hashes Invented because public key is slow Slow to sign a huge msg using a private key Cryptographic hash fixed size (e.g., 160 bits) But no collisions! (at least we ll never find one) So sign the hash, not the actual msg If you sign a msg, you re signing all msgs with that hash! 25

Popular Secret Key Algorithms DES (old standard, 56-bit key, slow) 3DES: fix key size but 3 times as slow RC4: variable length key, stream cipher (generate stream from key, XOR with data) AES: replacement for DES, will probably take over 26

Popular Public Key Algorithms RSA: nice feature: public key operations can be made very fast, but private key operations will be slow. Patent expired. ECC (elliptic curve crypto): smaller keys, so faster than RSA (but not for public key ops). Some worried about patents 27

Hash stuff Most popular hash today SHA-1 (secure hash algorithm) Older ones (MD2, MD4, MD5) still around, but broken Popular secret-key integrity check: hash together key and data One popular standard for that within IETF: HMAC 28

Hybrid Encryption Instead of: Use: Message Encrypted with Alice s Public Key Randomly Chosen K Encrypted with Alice s Public Key + Message Encrypted with Secret Key K 29

Hybrid Signatures Instead of: Message Signed with Bob s Private Key Use: Message + Digest Message (Message) Signed with Bob s Private Key 30

Signed and Encrypted Message Randomly Chosen K Encrypted with Alice s Public Key + Digest (Message) Message+ Signed with Bob s Private Key Encrypted with Secret Key K 31

Don t try this at home No reason (except for the Cryptography Guild) to invent new cryptographic algorithms Even if you could invent a better (faster, more secure) one, nobody would believe it Use a well-known, well-reviewed standard 32

Challenge / Response Authentication Alice (knows K) Bob (knows K) I m Alice Pick Random R Encrypt R using K (getting C) If you re Alice, decrypt C R 33

Non-Cryptographic Network Authentication (olden times) Password based Transmit a shared secret to prove you know it Address based If your address on a network is fixed and the network makes address impersonation difficult, recipient can authenticate you based on source address UNIX.rhosts and /etc/hosts.equiv files 34

People Humans are incapable of securely storing high-quality cryptographic keys, and they have unacceptable speed and accuracy when performing cryptographic operations. They are also large, expensive to maintain, difficult to manage, and they pollute the environment. It is astonishing that these devices continue to be manufactured and deployed, but they are sufficiently pervasive that we must design our protocols around their limitations. Network Security: Private Communication in a Public World 35

Authenticating people What you know What you have What you are 36

What You Know... Mostly this means passwords Subject to eavesdropping Subject to on-line guessing Subject to off-line guessing 37

On-Line Password Guessing If guessing must be on-line, password need only be mildly unguessable Can audit attempts and take countermeasures ATM: eat your card military: shoot you networking: lock account (subject to DOS) or be slow per attempt 38

Off-Line Password Guessing If a guess can be verified with a local calculation, passwords must survive a very large number of (unauditable) guesses 39

Passwords as Secret Keys A password can be converted to a secret key and used in a cryptographic exchange An eavesdropper can often learn sufficient information to do an off-line attack Most people will not pick passwords good enough to withstand such an attack 40

Off-line attack possible Alice (knows pwd) Workstation Server (knows h(pwd)) Alice, pwd Compute h(pwd) I m Alice R (a challenge) {R} h(pwd) 41

Cryptographic Handshakes Once keys are known to two parties, need a handshake to authenticate Goals: Mutual authentication Immune from replay and other attacks Minimize number of messages Establish a session key as a side effect 42

Challenge/Response vs. Timestamp compare: Alice I m Alice R {R} K Bob vs. I m Alice, {timestamp} K 43

Challenge/Response vs. Timestamp Second protocol saves messages, fits more easily into existing protocols that expect passwords First protocol does not require synchonized clocks Second protocol must keep a list of unexpired timestamps to avoid replay 44

Pitfalls with Public Key Alice I m Alice R R signed with private key Bob This might trick Alice into signing something, or possibly decrypting something 45

Eavesdropping/Server Database Stealing pwd-in-clear, if server stores h(pwd), protects against database stealing, but vulnerable to eavesdropping Standard challenge/response, using K=h(pwd), foils eavesdropping but K is pwd-equivalent so server database vulnerable Lamport s hash solves both 46

Salt Protects a database of hashed passwords Salt is non-secret, different for each user Store hash(pwd, salt) Users with same pwd have different hashes Prevents intruder from computing hash of a dictionary, and comparing against all users 47

Lamport s Hash (S/Key) Bob s database holds: n, salt, hash n+1 (pwd salt) Alice Bob I m Alice n, salt hash n (pwd salt) 48

Lamport s Hash (S/Key) Offers protection from eavesdropping and server database reading without public key cryptography No mutual authentication Only finitely many logins Small n attack: someone impersonates Bob 49

Mutual Authentication Alice I m Alice Bob R1 {R1} K R2 {R2} K 50

More Efficient Mutual Authentication Alice I m Alice, R2 Bob R1, {R2} K {R1} K 51

Reflection Attack Trudy I m Alice, R2 Bob R1, {R2} K start a second parallel connection I m Alice, R1 R3, {R1} K complete the first {R1} K 52

Timestamp Based Mutual Authentication Alice Bob I m Alice, {timestamp}k I m Bob, {timestamp}k Two messages instead of three Must assure Bob s timestamp is different 53

Key Distribution - Secret Keys Could configure n 2 keys Instead use Key Distribution Center (KDC) Everyone has one key The KDC knows them all The KDC assigns a key to any pair who need to talk This is basically Kerberos 54

KDC Alice/Ka Bob/Kb Alice/Ka Bob/Kb Carol/Kc Ted/Kt Fred/Kf Ted/Kt Fred/Kf Carol/Kc 55

Key Distribution - Secret Keys Alice KDC Bob A wants to talk to B Randomly choose K ab { B, K ab } Ka { A, K ab } Kb {Message} Kab 56

KDC Realms KDCs scale up to hundreds of clients, but not millions There s no one who everyone in the world is willing to trust with their secrets Can do cross-realm authentication, if KDCs trust each other But Kerberos protocol doesn t say how to find the path 57

KDC Realms Interorganizational KDC Lotus KDC SUN KDC MIT KDC A B C D E F G 58

Key Distribution - Public Keys Certification Authority (CA) signs Certificates Certificate = a signed message saying I, the CA, vouch that 489024729 is Radia s public key If everyone has a certificate, a private key, and the CA s public key, they can authenticate 59

Key Distribution - Public Keys Alice [ Alice, key=342872]ca Bob [ Bob, key=8294781]ca Auth, encryption, etc. 60

KDC vs CA Tradeoffs KDC solution less secure Highly sensitive database (all user secrets) Must be on-line and accessible via the net complex system, probably exploitable bugs, attractive target Must be replicated for performance, availability each replica must be physically secured 61

KDC vs CA KDC more expensive big, complex, performance-sensitive, replicated CA glorified calculator can be off-line (easy to physically secure) OK if down for a few hours not performance-sensitive Performance public key slower, but avoid talking to 3rd party during connection setup 62

KDC vs CA Tradeoffs CA s work better interrealm, because you don t need connectivity to remote CA s Revocation levels the playing field somewhat 63

Revocation What if someone steals your credit card? depend on expiration date? publish book of bad credit cards (like CRL mechanism cert revocation list) have on-line trusted server (like OCSP online certificate status protocol) 64

CRL mechanism CRL must be published periodically, even if no new revocations have taken place Enchancement: delta CRL these are changes since base CRL, Jan 3, 2 PM Only need to issue new base CRL if delta CRL gets large 65

Strategies for PKI Hierarchies Monopoly Oligarchy Anarchy Bottom-up 66

Monopoly Choose one universally trusted organization Embed their public key in everything Give them universal monopoly to issue certificates Make everyone get certificates from them Simple to understand and implement 67

What s wrong with this model? Monopoly pricing Getting certificate from remote organization will be insecure or expensive (or both) That key can never be changed Security of the world depends on honesty and competence of that one organization, forever 68

Oligarchy of CAs Come configured with 80 or so trusted CA public keys (in form of self-signed certificates!) Usually, can add or delete from that set Eliminates monopoly pricing 69

What s wrong with oligarchy? Less secure! security depends on ALL configured keys naïve users can be tricked into using platform with bogus keys, or adding bogus ones (easier to do this than install malicious software) impractical for anyone to check trust anchors Although not monopoly, still favor certain organizations. Why should these be trusted? 70

Anarchy Anyone signs certificate for anyone else Like configured+delegated, but user consciously configures starting keys Problems won t scale (too many certs, computationally too difficult to find path) no practical way to tell if path should be trusted too much work and too many decisions for user 71

Important idea CA trust shouldn t be binary: is this CA trusted? Instead, a CA should only be trusted for certain certificates Name-based seems to make sense (and I haven t seen anything else that does) 72

Top Down with Name-based policies Assumes hierarchical names Each CA only trusted for the part of the namespace rooted at its name Easy to find appropriate chain This is a sensible policy that users don t have to think about But: Still monopoly at top, since everyone needs to be configured with that key 73

Bottom-Up Model Each arc in name tree has parent certificate (up) and child certificate (down) Name space has CA for each node Cross Links to connect Intranets, or to increase security Start with your public key, navigate up, cross, and down 74

Intranet abc.com nj.abc.com ma.abc.com alice@nj.abc.com bob@nj.abc.com carol@ma.abc.com 75

Extranets: Crosslinks abc.com xyz.com 76

Extranets: Adding Roots root abc.com xyz.com 77

Advantages of Bottom-Up For intranet, no need for outside organization Security within your organization is controlled by your organization No single compromised key requires massive reconfiguration Easy configuration: public key you start with is your own 78

What layer? Layer 2 protects link hop-by-hop IP headers can be hidden from eavesdropper (protects against traffic analysis ) Layer 3/4 (more on next slide) protects end-to-end real-time conversation Upper layer (e.g., PGP, S/MIME, XML-DSIG, XML-encryption) protects msgs. Store/forward, not real-time 79

Key Exchange Mutual authentication/session key creation (create security association ) Good to cryptographically protect entire session (not just initial authentication) Good to have new key for each session Examples SSL/TLS or Secure Shell ( layer 4 ) IPsec ( layer 3 ) 80

Layer 3 vs layer 4 Layer 3 idea: don t change applications or API to applications, just OS layer 4 idea: don t change OS, only change application. They run on top of layer 4 (TCP/UDP) 81

AH / ESP extra header between layers 3 and 4 (IP and TCP) to give dest enough info to identify security association AH does integrity only - includes source and destination IP addresses ESP does encryption and integrity protection 82

Security Association First Alice and Bob establish a security association (an SA) Session key Crypto algorithms Identity of other end Sequence number SPI chosen by other end Etc. 83

SPI ( security parameters index ) Alice Use SPI=x Use SPI=y Bob IPsec packet, SPI=y IPsec packet, SPI=x 84

ESP Encapsulating Security Payload IP Header ESP Header Encrypted Payload Encrypted Padding Pad Len NXT MIC Next Header = 50 (ESP) TCP = 6 UDP = 17 ESP = 50 IP = 4 SPI Sequence # Over ESP Header, Encrypted Payload/Pad/Padlen/NXT 85

AH (Authentication Header) IP Header AH Header Payload Next Header = 51 (AH) TCP = 6 UDP = 17 ESP = 50 IP = 4 AH = 51 Next Len MBZ SPI Sequence # MIC Over immutable fields of IP Header, AH Header, and Payload 86

Layer 3 vs layer 4 layer 3 technically superior Rogue packet problem TCP doesn t participate in crypto, so attacker can inject bogus packet, no way for TCP to recover easier to do outboard hardware processing (since each packet independently encrypted) layer 4 easier to deploy And unless API changes, layer 3 can t pass up authenticated identity 87

What s going on in IETF Security Area Kerberos PKIX (certificate format) (see next slide) S/MIME, PGP IPsec, SSL/TLS, Secure Shell SASL (syntax for negotiating auth protocol) DNSSEC (public keys, signed data in DNS) sacred (downloading credentials) 88

PKIX Based on X.509 (!) Two issues: ASN.1 encoding: big footprint for code, certs bigger names not what Internet applications use! So ignore name, or DNS name in alternate name, or CN=DNS name, or DC= 89

PKI, cont d PKIX is used (more or less successfully) in SSL/TLS, IPsec, and S/MIME Names problematic no matter what What if there are several John Smith s at the organization? Just an example of the deeper issues beyond crypto, provably secure handshakes, etc. 90

Is PKI dead? We use it every day with SSL Maybe people mean we don t have user certificates This stuff shouldn t be hard 91

How it ought to work The network is the computer Create an account (username, pwd) System calculates a key pair Certifies the public key, puts it in the directory Encrypts the private key with the pwd, gives it to the user or makes it downloadable User types name/pwd, obtains private key and certificate, does single signon 92

Conclusions Until a few years ago, you could connect to the Internet and be in contact with hundreds of millions of other nodes, without giving even a thought to security. The Internet in the 90 s was like sex in the 60 s. It was great while it lasted, but it was inherently unhealthy and was destined to end badly. I m just really glad I didn t miss out again this time. Charlie Kaufman 93