ThePlace

Home ] Search ] Resources ] Site Map ] Contact Me ]
Dave's Information Technology Resource

Up ] Web and Computer Security ] Privacy and Security ] SSL ] Digital Signatures and Certificates ] Digital Payments ] Controlling Web Access ] Protecting a Web Server ]

Web Development Process ] Types of Web Sites ] Site Development and Deployment ] Web Navigation ] Web Site Development Tools ] Web Site Content ] Staffing ] [ Web Security Concepts ] Web Usability ] E-Commerce Basics ] Internet Branding ]

--- Web Security Concepts ---

Derived from: Web Security, Privacy, and Commerce, S. Garfinkel & G. Spafford, O'Reilly, 2002

Cryptography

bulletCryptography is thousands of years old.
bulletMost cryptographic systems are based on two techniques:
  1. Substitution: replace each letter with a different letter.
  2. Transposition: scrambling the letters (e.g., use a row column distribution, send the column-row letters).
bulletTwo main uses of cryptography: military (secure communications, etc.); and civilian (privacy, business/commerce, financial transactions).
bulletCryptography works by:
bulletStarting with source material (plaintext).
bulletApplying an algorithm key (i.e., substitution or transposition) to create encrypted "ciphertext".
bulletTransmitting the encrypted message.
bulletApplying the algorithm to decrypt the message.
bulletTwo basic types of cryptographic algorithms:
  1. Symmetric key algorithm: the same key is used to encrypt and decrypt; also called "secret-key" or "private-key".
  2. Asymmetric key algorithm: one key is used to encrypt, another key is used to decrypt.  The encryption key is often called a "public key" as it is shared.  The decryption key is called a "private key".
bulletSymmetric keys are fast and easy to use but subject to problems: secure exchange of the key (what if one side is compromised); both parties must keep a copy of the key (and not compromise it); and the vast number of keys required (determined by (n2-n)/2, e.g., 100 users requires 4950 keys).
bulletAsymmetric or public key systems are easy to manage:
bulletDownload the recipients public key.
bulletEncrypt the message.
bulletSend it.
bulletThe recipient uses the private key to decrypt.
bulletDigital signatures can be implemented via asymmetric systems by "signing" with a private key that can be decrypted by the public key.
bulletStrength of symmetric keys is based on:
bulletSecrecy of the key.
bulletDifficulty of guessing the key.
bulletDifficulty of inverting the encryption (i.e., breaking the algorithm).
bulletBackdoors to the algorithm.
bulletMistakes in plaintext formatting (e.g., commonly repeated parts of messages such as headers or access to plaintext versions).
bulletKey length is an important consideration:
bulletKey length is based on number of bits: 2(number of bits)
bulletThe goal is to use enough bits to prevent brute-force decryption.
bulletTo crack 56 bit encryption (at 1 million keys searched per second) would require over 2000 years to crack on a desktop computer.
bulletto crack 128 bit encryption (at billion keys searched per second) would require 1022 years on a corporate computer network.
bulletCommon Symmetric Key algorithms include:
bulletDES: Date Encryption Standard, 56 bit standard (U.S. Government and ANSI).
bulletTriple DES (3DES): combines 3 keys for 168 bit encryption, used by financial companies.
bulletBlowfish: invented by Bruce Schneier, variable key up to 448 bits, optimized fro 32- and 64-bit processors.
bulletIDEA (International Data Encryption Algorithm): by Massey and Lai, 128 bit encryption used in email and  PGP software program.
bulletRC2: developed by R. Rivest, under trade secret by RSA Data Security, uses 1 to 2048 bits.
bulletRC4: see RC2, uses 1 to 2048, usually limited to 40 bits for open export.
bulletRC5: see RC2 allows user-defined key length.
bulletBreaking Symmetric Algorithms:
bulletBrute-force key search: not very efficient, checks every possible key.  Depends on users short keys.
bulletCryptanalysis: depends on access to plaintext and ciphertext and applying various scientific techniques.
bulletSystems-based attacks: go after the computer, operating system, or software to break the algorithm.
bulletPublic Key Algorithms:
bulletMost are based on number theory to develop algorithms.
bulletMost common uses: encrypted messages and digital signatures.
bulletCommon public key systems include:
bulletDiffie-Hellman key excahnge: focuses on exchanging the shared private key over public communication systems.  Each parties agrees to common numerical values and creates a key; mathematical transformations are exchanged and each party can create a third key.
bulletDSA/DSS (Digital Signature Standard) : uses 512 to 1024 bit keys; approved by NAS and NIST.
bulletRSA: uses variable key lengths to create keys.
bulletBreaking public keys:
bulletKey search and analytic attacks as previously described.
bulletApplying information from published sources to break the key.

Cryptography and the Web

bulletUses of encryption for the web:
  1. Authentication - prove who you are (identity)
  2. Authorization - prove that you have the right to be there/participate
  3. Confidentiality - protect the information from eavesdropping
  4. Integrity - make sure nothing is lost
  5. Nonrepudiation - verify that something that was really sent
bulletTwo types of encryption systems/protocols: Offline and Online
bulletOffline: used for digital signatures and encryption.  Example: PGP (Pretty Good Privacy):  see RFC 2440 --  content is directly encrypted.
bulletOnline: real-time interplay between client and server to encrypt the content.  Examples include:
bulletSSL (Secure Sockets Layer): currently in version 3.0; used with TCP/IP; initiated in browsers with the HTTPS prefix; uses a combination of user-specified encryption algorithms, public key certificates, etc..
bulletPCT (Private Communications Technology): developed by Microsoft because of SSL 2.0 problems. 
bulletOthers: DNSSEC (Domain Name Service Security), IPsec and IPv6, Kerberos

 

 

Home ] Up ] Computer Architecture ] Programming Bootcamp ] Database Bootcamp ] Visual BasicS ] Web Basics ] Web Multimedia ] Web Programming ] Advanced Web Topics ] XML Technology ] Web Glossary ]

Copyright © 1999 - 2005 
ThePlace - Written and Sponsored by Dave Hillman