Introduction to Web Security

An Overview of Technologies for Security, Authentication and Privacy on the WWW

Adam Cain

acain@ncsa.uiuc.edu





2nd WWW Workshop, Technical Session

Seoul, South Korea

November 1, 1995




Outline


Introduction: What is Web Security?

System Security Considerations

WWW Client

WWW Server


Security Requirements for Sophisticated Web Use

Current State of Web Security

Basic Authentication

Network Address Filtering

Combining Basic Auth and IP-Filtering


Review of Relevant Cryptographic Mechanisms

Symmetric-Key Cryptography

Public-Key Cryptography

Adding Cryptographic Features to the Web


A Few Prominent Web Security Systems

PGP/PEM Authentication/Encryption

EIT's Secure-HTTP and Secure NCSA Mosaic

Message Digest Authentication

Netscape's Secure Socket Layer

Kerberos and the Web


Conexistance of Multiple WWW Security Schemes

Spyglass' Open Security Architecture


Digital Payment on the Web

Requirements, Categories

CMU's NetBill

Digicash's e-cash


Final Thoughts





What is Web/Network Security ?!?


Four Intertwined Components:

System Security (Integrity)

"nothing bad happens"


Authentication Mechanisms

"you are who you say you are"


Access Control / Authorization Systems

"do you have a license for that monkeyy?"


Privacy Technologies

"for your eyes only"





Complicated Interaction of Security Components







System Security Considerations: WWW Client


The Threat:

A malicious server may try to invade the client machine

Click here for lots of cool stuff!

Web servers are easy to set up


The Main Mechanism:

Client calls to external "helper" applications

Security flaws of viewers may be exploited (e.g. older ghostscript)

Client can be configured to run shell scripts sent from server


Another Mechanism:

Browser bugs allowing buffer overflows

Commands can be compiled, put on stack after overflow



for more information....
Security Concerns of Executing Shell Scripts Inside Mosaic






System Security Concerns: WWW Client (cont.)


Things to watch for:

Beware user "mailcap" files
application/x-csh; csh -f %s

Gigantic browsers ==> Potential security holes

may be exploitable "system()" calls to external applications
Can we inspect source code?


New portable-code languages address these security concerns

Java
Python
Safe-TCL


Note: firewalls may help, but they won't stop trojan horses!


for more information....
Sun's Java Language: The Security Story





One Configuration of HTTP with a Firewall


Relevant Points:

  • Router only allows traffic between inner and outer gateway machines

  • HTTP Proxy server runs on both inner and outer gateway machines

  • Files may be cached at either inner or outer proxy server

  • Protection: machines outside firewall have no direct access to client machines inside

Many other possible configurations

Nice, but this won't help solve the problems mentioned before!

Postscript files, shell scripts can still traverse the firewall


for more information....

Cheswick and Bellovin, Firewalls and Internet Security: Repelling the Wily Hacker, Addison-Wesley, Reading Mass., 1994.







System Security Considerations: WWW Server


Beware of vulerabilities in CGI scripts!



for more information....

Writing Secure CGI Scripts
Using "cgiwrap", from UMR





System Security Considerations: WWW Server (cont.)


Other Sensible Precautions:

  • Run server as special user ("nobody") with limited access rights,
    -- do not run it as root

  • Turn off server-side includes

  • Don't allow "PUT" method (allow "GET", "POST", "HEAD", etc.)

  • If possible, use a separate machine for web server (minimally configured)


For NCSA httpd, use version 1.3R or later (1.4.1)

1.3 can allow malicious client to overflow temp buffer on server
On certain machines, this means client can execute command on server



for more information....

NCSA httpd Making your Setup More Secure
NCSA httpd 1.3 Security Patch







Security Requirements for Sophisticated Web Use


We would like to use WWW for....

Sharing sensitive information with particular groups of individuals

==> Authentication of Entities
==> Access Control / Authorization



Exchanging, publish info in a trustworthy manner: proposals, reports, ...
	

==> Authentication of Data (Signed Messages/Documents)



Digital payment: Buying and selling goods, services, information 
	

==> Authentication in Transactions (payment validation)



Also, in ALL of these situations, we would like to be able to achieve
	

==> Data Privacy, Integrity


These abilities require secure communications between authenticated agents






Current State of Security on the Web


Who's Who on the Web? -- WHO KNOWS !?!


On the Web, nobody knows you're a dog

These days, the Web is basically a Free-For-All

  • Client identity is usually unknown

  • Server identity is not proven

  • Authorship and Document Integrity is not verifiable

and thus,

  • Client anonymity is easy

  • Access control is not easy

  • Document forgery and server impersonation is not hard


And of course, eavesdropping is easy

==> So most all documents are "public"






Basic Authentication: A Modest Proposal


Files on server contain lists of

users/passwords

groups of users

Passwords stored in encrypted form


  • What does it look like?

  • (login as "fnerg" with password "yagga-yagga")

    User is prompted for Username, Password

    
    

    Strengths:

  • Simple

  • Server administrator has full control
  • 
    

    Weaknesses:


    for more information....
    Basic Protection Scheme for the WWW
    
    
    
    
    
    
    
    
    

    Access Control Based on Network Address


    We can restrict access using client's IP address

    Example:
    Only let clients in the ".dacom.co.kr" domain view certain documents

    
    

    Strengths:

    • Very simple

    • Harder to spoof than Basic Authentication

    
    

    Weaknesses:

    • This is only as secure as DNS (not bulletproof)

    • Domain-based filtering often not desirable (wrong granularity)

    • Data privacy, agent authentication not addressed

    
    
    

    for more information....
    Mosaic User Authentication Tutorial
    
    
    
    
    
    
    

    Combining Basic Auth and IP-Filtering


    Both NCSA, CERN server all combinations of both methods

    
    NCSA httpd:
    	

    • .htaccess files for per-directory access control

    • specify allowed access by AND, OR equivilents

      satisfy any
      allow from .cs.edu.au
      require user moe curly schemp

    
    CERN httpd:
    	

    • .www_acl files for per-file access control

      "* : get, put : @128.141.*.*"

    
    
    

    for more information....
    Mosaic User Authentication Tutorial
    
    
    
    
    
    

    Summary of Simple Web Authentication Methods


    
    

    So far, these authentication schemes are

    • Weak (password-based)

    • Not helping our data privacy/integrity concerns

    
    
    

    We need strong authentication and secure communications

    
    
    
    
    
    
    
    
    

    Cryptography to the Rescue!


    Symmetric-key Cryptography for Data Privacy and Integrity

    
    

    
    

    Great, but how do the two parties get the shared, secret key?

    
    

    for more information....
    RSA's Frequently Asked Questions About Today's Cryptography
    
    
    
    
    
    
    

    Cryptography to the Rescue (continued)


    Each user has a keypair, consisting of a public and private key

    
    
    
    

    Anything encrypted with one key may only be decrypted by the other

    To make message readable only by B, encrypt message using B's public key.

    Slower than symmetric cryptography

    Most popular scheme: RSA

    What does an encrypted message look like?

    
    
    
    for more information....
    RSA's Frequently Asked Questions About Today's Cryptography
    
    
    
    
    
    

    Example of an Encrypted Message (using PGP)


    From president@whitehouse.gov Wed May 18 15:33:50 1994
    Date: Thu, 6 July 95 04:49:54 EDT
    X-Ph: V4.3@argus.cso.uiuc.edu
    From: "William J. Clinton" 
    Subject: Re: your secret assignment
    To: a-cain@uiuc.edu
    
    -----BEGIN PGP MESSAGE-----
    Version: 2.6.2
    
    hGwDYXYcVtJTtGkBAwCMPi/JMFueTMManx3tGZs9pmeBMQw7FOjOvfXFgTh2jOt1
    YriB3DWkd8w7kIaxwFcE11SmKUdyqoYQBaDFBq+C9EkAZOBkOCfPcy4HDH0ZPxqr
    BVO5WkJ5hOfh2h0Fif2mAAABb+SLLdZSUMSrLCf3IJpYcts7E9aFHKmWTzT4iqUn
    DD42hvRtOn/TLYtqNdjzttho36gowAh7/wnjY8rBxhoosymZigJKOWwK33EE3H5B
    O4DgkxckGNhH9WjtdDKQ92icIcA/ORPmyl/4O72pscJr186u0xRiyhu04LvRxsFQ
    qzjWJjARaELKVCPwhg/W/QhlH3t7olK83yzEiRu5P/JyxPzReyEc1MAYhLR57rsX
    wJyChhUgHcCAeRsPcMVKHW4wg1T7zNUcfKu2KzlYGkvg3okGG8Jz7juiXDnCjkcN
    0dIvuoKQHAH5EWclI1l9QepQxYq3V6xd/DxwLyhWS52owjeu73NpMnh9j6ScBDAI
    CPI=
    =lnFq
    -----END PGP MESSAGE-----
    
    
    
    
    
    
    

    Public-Key Cryptography for Key exchange


    Combines Public-Key with Symmetric-Key Cryptography

    1. A generates Ks randomly, and sends it securely to B using B's public key

    2. A & B communicate using session key Ks and symmetric cryptosystem

    
    

    This authenticates B and only requires one keypair (for B)

    
    
    
    
    
    
    
    

    Digital Signatures


    Using Public-Key Crypto for Strong Authentication

    
    
    


    for more information....
    Cryptography: The Study of Encryption
    
    
    
    
    
    

    Digital Signatures (cont.)


    Signature Generation

    Signature Verification

    
    

    
    

    What does a signed document look like?

    
    
    for more information....
    Cryptography: The Study of Encryption
    
    
    
    
    
    
    

    Example of a Digitally Signed Message (PGP)


    -----BEGIN PGP SIGNED MESSAGE-----
    
    Dear Alice:
    
       I'm getting very tired of cryptographers talking 
    about us behind our back.  Why can't they keep their noses
    in their own affairs?!
                 
       Really, it's enough to make me paranoid.
    
     
                	Sincerely,
                                Bob 
    
    -----BEGIN PGP SIGNATURE-----
    Version: 2.6.2
    
    iQB1AwUBL4XFS2F2HFbSU7RpAQEqsQMAvo3mETurtUnLBLzCj9/U8oOQg/T7iQcJ
    vzMedbCfdR6ah8sErMV+3VRid64o2h2XwlKAWpfVcC+2v5pba+BPvd86KIP1xRFI
    e3ipmDnMaYP+iVbxxBPVELundZZw7IRE=Xvrc
    
    -----END PGP SIGNATURE-----
    
    
    
    
    
    
    

    Digital Certificates


    Purpose: to bind a particular public key to a particular entity

    A Certificate is a data structure containing information such as:

    User Name (often includes organizational affiliation)
    User's Public Key
    Name of Certification Authority (CA) issuing the certificate
    Other attributes (e.g., policy used by CA to verify entity)

    This data structure is digitally signed with the CA's private key
    
    
    So how do we trust the CA's public key ?

    There may be chains of certificates needed to verify a given exchange

    This suggests the need for a "Public Key Infrastructure" (a CA heirarchy?)

    
    

    for more information....
    Cryptography: The Study of Encryption
    
    
    
    
    
    
    

    Adding Cryptographic Features to the Web


    Must extend HTTP, HTML and refine other standards

    Often requires new browsers and servers with crypto smarts

    Large variety of cryptographic algorithms, hardware, software

    Network infrastructure requirements

    Web security is one part of the larger puzzle: network/system security

    Export/import restrictions on cryptographic technology

    
    

  • But everybody's doing it!

  • Only a few schemes covered here

  • Most systems geared towards digital payment
  • it's where the money is.......

    
    
    
    
    
    

    Adding Cryptographic Features to the Web (cont.)


    Wait a minute....Why again are we doing this?!

    
    

    Why? Because most of our problems are solved if we can use...


    General Form of Application-level WWW Security schemes:

    
    
    
    
    
    

    PGP/PEM Authentication in NCSA Mosaic/httpd


    PGP, PEM are external packages for message encryption, signing, etc.

    Mosaic, httpd run PGP, PEM to handle encryption/signing of HTTP messages

    
    

    Mechanism:

    • Server directories protected with "AuthType PGP" or "AuthType PEM"

    • Request may be signed/encrypted by client

    • Reply may be signed/encrypted by server

    
    
    
    
    
    

    PGP/PEM Protocol Example


    Client:

    GET /docs/protected.html HTTP/1.0
    Accept: text/plain
    Accept: application/x-html
    [other Accepts]
    UserAgent: Mosaic/X 2.2
    
    

    Server:

    HTTP/1.0 401 Unauthorized
    WWW-Authenticate: PGP entity="paranoid@danger.ncsa.uiuc.edu"
    Server: NCSA/1.3
    
    

    Client:

    GET / HTTP/1.0
    Authorization: PGP entity="acain@ncsa.uiuc.edu"
    Content-type: application/x-www-pem-request
    
    -----BEGIN PGP MESSAGE-----  
    Version: 2.6.2
    	[this is the real request, encrypted and signed]
    
    hGwDl23+9JZcEX0BAv41s2ZP/3VcOdNj8oVKu2h3DP6C+TKdl4IIaQZIp6DBBPlc
    mx5GS3ijHk3jP2NYlM1UydxUoShcIIsx1YGlltI/34l4t76oEkkajyvETCiTPYw7
    NCdfSXh6P62j9iMKG56mAAAD9kQmeRP2zIhj+6Mm3h5bdSMllfwu8zrYjVocnK+t
    jaFPZ6TuzyC2j6MFqfcO5M48ICdUw/KcOv63ffDC1bWYCyop3YeVAApqD/LekSLY
    [etc]
    -----END PGP MESSAGE-----
    

    Server:

    HTTP/1.0 200 OK
    Content-type: application/x-www-pem-reply
    
    -----BEGIN PGP MESSAGE-----  
    Version: 2.6.2
    	[this is the real reply, encrypted and signed]
    
    JDqcVMsqo9RT3OGSa6pHDu3+dQm9HAgs56lf6CZqVK+g4PVlxIkA7WhErDJhtw+I
    sRC/LPGLi/dF5L6YNg+00HHABgbiowra+OeHhsCRD6AgB2cYv3vg0Jz3uejUDUZo
    FiG+va+AHqInZO5OvLHOxtIq5C7Hi2UZZpvITcVjfjb6YLRW+FGT6ekM5XHy3BAM
    i95ZQPZsIHh1msScF9r1vIjpbLIIMoentld8eGBeKvRSVPpFHKuMZ6EyuDYgrXIy
    [etc]
    -----END PGP MESSAGE-----
    
    


    taken from PGP/PEM documentation by R. McCool
    
    
    
    
    
    

    PGP/PEM Authentication in NCSA Mosaic/httpd


    Status:

    • Initial implementation in XMosaic/httpd mainly proof of concept

    • Revised implementation in progress, using CCI on client side

    Strengths:

    • PGP/PEM are widely used (for email, news posting, etc.)

    • Organizations may wish to use one package for all communications

    • Key management handled external to Web browser, server

    • Graceful handling of signed documents

    
    

    Weaknesses:

    • Calling external programs can be slow

    • External key management may seem less easy to use

    
    
    for more information....
    Using PGP/PEM with Mosaic
    
    
    
    
    
    
    

    Enterprise Integration Technologies' Secure-HTTP


    
    

    "S-HTTP" : EIT's proposed security extensions to HTTP

    Protocol Designed to

    • Allow for HTTP exchanges that are encrypted and/or signed

    • Support several cryptographic mechanisms

    • Negotiation of modes and options built into protocol

      Examples:

      Client requires that server's response be encrypted

      Server requires that client's request be signed

      Client supports DES, RSA .....

    
    
    
    
    
    

    How Does S-HTTP Work?


    New protocol designator in anchor: "shttp"

    New protocol method: "Secure"

    Protected HTTP message encapsulated in S-HTTP message

    New Headers are added to original HTTP message, specifying:

    • Requirements: "reply must be signed and encrypted" (for example)

    • Cryptographic algorithms, parameters supported

    • Key, certificate exchange/management

    New message is signed/encrypted & encapsulated in S-HTTP message

    Headers are added to tell receiver how to "unwrap" the message

    
    

    Example S-HTTP "Get" request:

     
        Secure * Secure-HTTP/1.1   
        Content-Privacy-Domain: PKCS-7  
        Content-Transfer-Encoding: 7BIT 
    
        BVO5WkJ5hOfh2h0Fif2mAAABb+SLLdZSUMSrLCf3IJpYcts7E9aFHKmWTzT4iqUn
        DD42hvRtOn/TLYtqNdjzttho36gowAh7/wnjY8rBxhoosymZigJKOWwK33EE3H5B
        O4DgkxckGNhH9WjtdDKQ92icIcA/ORPmyl/4O72pscJr186u0xRiyhu04LvRxsFQ
        qzjWJjARaELKVCPwhg/W/QhlH3t7olK83yzEiRu5P/JyxPzReyEc1MAYhLR57rsX
    
    

    New info in shttp anchors: DN, NONCE, CRYPTOPTS

    HTML extensions: CERTS and CRYPTOPTS


    for more information....
    S-HTTP specification (Internet Draft)
    
    
    
    
    
    

    Secure NCSA Mosaic: the reference implementation

    
    
    
    

    for more information...

    Secure NCSA Mosaic Manual

    
    
    
    
    
    

    Relative Merits of S-HTTP, SMosaic/Shttpd


    Strengths:

    • The first serious implementation of public-key-crypto-aware Mosaic

    • Rather flexible (allows for Kerberos key exchange and other mechanisms)

    • Reasonable HTML extensions

    Weaknesses:

    • Somewhat geared toward RSA suite (not terribly modular)

    • HTTP extensions must be refined and standardized

    • Some backward compatibility issues remain

    • HTML extensions a bit hard to manage (server side)

    Future:

    • Secure Mosaic to be distributed (free, non-commercial user) by NCSA

    • Now part of SPRY server, client and OpenMarkets' server

    • S-HTTP module for Spyglass' Modular Architecture

    • Will be supported by Netscape soon


    for more information....

    Information about CommerceNet

    
    
    
    
    
    
    

    Message Digest Authentication


    Purpose:

    Recently proposed as a simple replacement for Basic Authentication

    Passwords NOT sent in cleartext

    Main Idea:


    for more information....


    Message Digest Authentication Internet Draft

    
    
    
    
    
    
    

    Netscape's Secure Sockets Layer (SSL)


    Design:

    Security just above the Network layer, so it can be used by NNTP, FTP.....

    One-way (and soon two-way) Authentication via RSA and X.509 Certificates

    Provides an encrypted channel for sending such data as Credit Card numbers

    Easy to add support for SSL via alternate BSD socket calls

    Protocol:

    1. Client sends server a "hello" message
    2. Server sends over certificate (includes server's public key)
    3. Client creates session key, sends it encrypted in server's public key
    4. Session is encrypted using RC4 with the session key
    thereafter, HTTP is spoken as usual

    How is this different from S-HTTP?


    
    
    
    
    
    

    Comparing Designs of S-HTTP and SSL


    
    
    
    
    
    
    
    

    Netscape's Secure Sockets Layer (cont.)


    Current Implementation (1.1) :

    • SSL web server running on different port (443)
      
      	
    • "https" protocol in anchors indicates SSL should be used
      
      	
    • In Netscape client, security status indicated by:

    Key icon at lower left:
    Security status bar
    Document Information in File menu

    
    	
  • Certificate chain one level deep
  • ("trusted" public keys embedded in client)

    
    

    
    
    for more information....

    Netscape Security Overview

    
    
    
    
    
    
    

    Netscape's Secure Sockets Layer (cont.)


    Strengths:

    1. Large browser deployment

    2. Can be used with other protocols than HTTP
    3. Easy to drop in support (for clients, especially)

    Free implementation made in Australia: SSLEAY

    
    

    Weaknesses:

    • 1.1 Client Implementation: bad random number generator !

    • Authentication is needed at the Application Layer in long-term

    • Requires new proxy protocol

    • No way of getting a vendor-signed receipt (non-repudiation)

    • Current certificate handling, negotiation clumsier than S-HTTP

    • There are several other network layer security proposals

      IPv6 (IETF)
      Kerberos provides secure connection

    Overall, it's a simple scheme, primarily useful for credit card info transfer


    Microsoft PCT

    Same basic design as SSL

    Offers a few improvements (e.g., fewer messages for client auth)


    for more information....

    Netscape Security Overview

    SSLeay and SSLapps FAQ

    Microsoft PCT Protocol

    
    
    
    
    
    
    

    Kerberos


    The Salient Points:

    • A "trusted third party" system using symmetric cryptography (DES)

    • Allows authentication of clients and servers in an untrusted network

    • Clients obtain "tickets" for services from a Ticket Granting Service

    • Ticket sent by client contains a session key
      ==> encrypted channel may be established between client and server

    • Comes in two major flavors: V4, V5 (which aren't very compatible)

    • Widely used and extensively tested

    
    

    for more information....
    Kerberos: An Authentication Service for Open Network Systems

    The Kerberos FAQ

    
    
    
    
    
    

    Kerberizing Mosaic/httpd


    Purpose:

    • Allow mutual authentication between Web client and server

    • Server can use client authentication for access control

    • Allow for encryption of client request and server response (optional)

    • Kerberos info carried inband, with minimal extension of HTTP

    How does this work? -- See Protocol example below

    What does it look like?


    Status:

    • NCSA httpd 1.5 supports Kerberos V4, V5 auth

    • Same for XMosaic 2.7 -- Mac, Windows Mosaic support upcomming

    • EINet uses Kerberos for auth in their clients, servers (different implementation)

    • DES encryption of message using Krb session key is under development

    
    
    for more information....
    Kerberizing the Web

    
    
    
    
    
    

    Kerberos on the Web: Protocol example


    1. The client sends original request (or if it can, it starts at step 3)

    GET /restricted/adam.html HTTP/1.0
    Accept: */*
    User-Agent:  NCSA Mosaic for the X Window System/2.4  libwww/2.12 modified
    

    
    

    2. The server sees that Kerberos auth is required, so it sends a 401

    HTTP/1.0 401 Unauthorized
    Date: Friday, 03-Feb-95 18:45:13 GMT
    Server: NCSA/1.3
    MIME-version: 1.0
    Content-type: text/html
    WWW-Authenticate: KerberosV4
    

    
    

    3. The client then gets a ticket for the server, and resubmits request with Kerberos ticket in Authorization line

    GET /restricted/adam.html HTTP/1.0
    Accept: */*
    User-Agent:  NCSA Mosaic for the X Window System/2.4  libwww/2.12 modified
    Authorization: KerberosV4 acain 0406004e4353412e554955
    		32e454455003820c3e4fc931b68ed20d0f696ee74148a696eb4
    		a4d83e1c80af9ce02e5d3f230dc5e63bbc8595ce95ea6de42b18
    		d957063ceb45787ab479999565d353da2b5b17a76a89e0d169
    		3694ee91e5623b953a5dfd3be00642596ff846
    

    
    

    4. And then the server responds with the document and the encrypted timestamp+1 to authenticate server

    HTTP/1.0 200 OK
    Date: Friday, 03-Feb-95 18:45:16 GMT
    Server: NCSA/1.3
    MIME-version: 1.0
    Content-type: text/html
    Last-modified: Wednesday, 04-Jan-95 22:58:20 GMT
    Content-length: 624
    WWW-Authenticate: KerberosV4 [c3602905a92b683f] User authenticated
    
    
    HTML Document here

    
    
    
    
    
    
    
    
    
    

    Reducing the Entropy:


    There are so many Web Security Mechanisms.......

    Basic Authentication ... PGP/PEM ... S-HTTP ... Kerberos ... SSL ... MD-5 Authentication ... SmartCard Systems ... Web Security System X (on the way) ...

    ............How are we going to deal with all this?!?


    Consolidation Efforts:

    
    
    
    
    
    
    

    Spyglass' Open Security Architecture


    Enhanced Mosaic Security Framework:

    • Emphasizes modularity, open standard, linkable security libraries

    • Multiple, user-selectable security modules

    • Suggests a particular menu interface to security module

    • Passes off stated protocol responsibility to security modules

    • Module may use smartcards or open their own network connections

    
    

    Spyglass' "Ehanced Mosaic" supports a few schemes now:

    Basic Authentication
    MD5 Message Digest Authentication
    Electronic Business Co-op Payment scheme
    First Virtual (quasi-secure credit card transactions)

    Other security mechanisms to be made into modules:

    Secure HTTP, with and without signatures
    SmartCards: DoD "Fortezza" card system, V-One's "SmartCAT"
    OpenMarkets Digital Payment system
    Kerberos-based schemes


    for more information....
    Security Framework Description

    Position Paper on Electronic Commerce Standards for WWW

    
    
    
    
    
    
    

    Digital Payment


    None of the schemes covered so far is well suited for Digital Payment

    Payment systems have diverse requirements

    For low-cost items (information):

    Transaction must be quick and easy
    Strong security is less important

    For higher-cost items (hard goods):

    Non-repudiation is important (vendor-signed receipts)
    Off-line payment aproval may be necessary


    Other Issues:

    Which comes first? The payment or the goods?

    How much new software/hardware is required to use a payment scheme?

    Who manages the accounts?

    What allowances for privacy are made?

    
    
    
    
    
    

    Categories of Digital Payment Schemes


    Secure Credit Card transactions

    examples: S-HTTP, SSL, First Virtual, CyberCash, Secure Courier
    short-term solutions (CC's fundamentally costly, inefficient, insecure)
    decreased personal privacy

    Credit/Debit Systems

    examples: NetCheques, NetBill, smartcards
    auditability can be desirable
    utility depends on conversion to/from "real" currency

    Electronic Currency

    examples: ecash (Digicash), NetCash
    can be made "untraceable" just like paper cash (increased privacy)
    can be implemented in software or hardware
    might not have corresponance to "real" currency

    
    

    Prediction: we will see many of each type (no one dominant system)

    
    
    
    
    
    

    An Example Payment System: CMU's NetBill


    Netbill Protocol

    Seven-step process

    Client receives goods encrypted before payment is processed

    Client receives decryption key after payment is processed

    Support for micro-payments, customized pricing, 4-th party approval


    for more information....

    More info on NetBill

    
    
    
    
    
    
    

    Digicash's "ecash" System


    What is it?

    A truly virtual currency -- no exchange for paper money

    An untraceable digital payment scheme -- just like cash

    Ecash may reside in a "software" wallet, or in a hardware "smartcard"

    Consists of individual tokens of various value, individually signed

    How does it work?

    Uses novel crypto algorithms based on public-key schemes: Blind Signatures

    Analogous to bank signing bill enclosed in a carbon-lined envelope

    Current Status:

    Beta test, Digicash as the bank
    Clients (wallet software) are being distributed
    Several shops accepting ecash are online

    What does it look like?
    
    
    

    for more information....
    Digicash Home Page

    Pointers to shops accepting ecash

    
    
    
    
    
    
    

    Final Thoughts


    There is no single answer to Web Security

    But if you thought this was bad....Digital Payment is much worse

    NetCash, NetChex, NetBill, NetCheques, NetPlay, NetBank, CyberCash, Digicash, Microsoft/Visa STT, First Virtual, OpenMarkets, NetMarkets, MarketNet, Secure Courier, Electronic Business Co-op, Alfred the Butler, Mondex, IBM iKP, HP Vishnu, AT&T anonymous credit cards, CAFE, Millicent, CheckFree
    
    

    Don't believe everything you read about Web Security, Payment systems

    
    

    Convergence will be slow, Single-system domination unlikely

    We can at least hope for peaceful coexistence

    
    

    Within a couple years, the "Home (page) Shopping Network" will be upon us