This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Keeping your Secrets secret!“Some simple yet secure cipher, easily acquired and easily read, should be introduced by which messages might to all intents and purposes be ‘sealed’ to any person but the recipient”
Why use Cryptography?Three possible worries facing an e-commerce customer are;
If I transmit a credit card number over the internet – can people other then the recipient read it?
If I agree to pay £400 for goods – can this information be captured and changed? I am buying something from company X is it really company X? This raise three important Information Security issues : Confidentiality: protecting information from unauthorised disclosure;
Integrity: protecting information from unauthorised modification, and ensuring that information is accurate and complete;
Authentication – Ensuring the person you are making the transaction with who they say they are?
Cryptography in e-commerce Cryptography is used to fulfill the following functions.
Confidentiality (secrecy) The information contained in a message is only accessible by
those people authorized to access it. Cryptography can be used to keep messages secret. E.g. If fields are encrypted on your computer, and the computer is stolen it would be very difficult to figure what's in the file.
Authentication
It should be possible for the receiver of a message to ascertain its origins; a malicious user should not be able to masquerade as a merchant or customer. Cryptography can prove absolutely someone’s identity by sharing a secret piece of information. – This can be accomplished using Digital signatures which we look at later.
Cryptography in e-commerce Cryptography is used to fulfill the following functions.
Integrity It should be possible for the receiver of a message to verify
that it has not been modified in transit; a malicious user should not be able to substitute a false message for a legitimate one. Cryptographic protocols can support this by using algorithms which can detect the slightest change.
Non-repudiation A sender should not be able to falsely deny later that he/she
sent a message. Cryptographic systems can support this using Digital signatures.
History of CryptographyCryptography (from the Greek Kryptos hidden, graphia writing) has been around
for a long time and can be traced back to ancient Egypt, Babylon , Greece.
First documented case Julius Cesar’s military code Mary Queen of Scots – lost her life due to a coded message which was being
smuggled out of prison being intercepted and decoded. World War II stimulated development of the development of secure
communication and the task of breaking it (Station X, Bletchley Park) After World War II Cryptography viewed a military issues – relating to secure
communications. Until the last 15 years computing security was viewed as ‘Trusted Computing Base’ and assurance levels* Cryptography is now thought as the key to a number of activities on the internet.
Cryptography is a dual use technology – civilian or military – civilian use has probably eclipsed military use – smart cards are encrypted to protect the contents, cryptography is used to scramble satellite signals etc.
An interesting point: Some of the best ciphers have been civilian efforts!
Cryptography does for electronic information what locks and keys do for printed information. The information is scrambled so it can only be accessed using a ‘key’. A particular secret, a value or piece of text which is used with the chosen algorithm.
Encryption (Encipherment) - scrambles the message. Decryption (Decipherment) - restores the plaintext
Basic Encryption SystemsMost simple encryption systems use one of two methods;
Transposition - this involves rearranging bits characters or blocks, the values are preserved, only the positions change.
Spartans in 5th century B.C.
Substitution – This involves replacing a character with another and can have different levels of complexity sometime an alphabet may have multiple substitutions for a single letter etc., Examples of substitution systems are
The Caesar cipher is named after Julius Caesar, said to be the first to use it. In the Caesar cipher each character is substituted by another. This technique is called a monoalphabetic cipher.
Plaintext: A B C D E F G H I J K L M N O P Q R S T U V W X Y ZCiphertext: O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
Thus using a Caesar cipher, the message “Mission Impossible” would be encoded as “AWGGWN WADCGGWPZS”
So what do the following ciphertexts mean ?1) sbwuao2) gpkioc3) kohqv cih tcf pfihig
Types of Ciphers A Simple Substitution cipher, or Monoalphabetic cipher, is one in which each
character in the plain text is replaced with a corresponding character of cipher-text.
A Homophonic substitution cipher is like a simple substitution crypto-system, except that a single character of plaintext can map to one of several characters of ciphertext. For Example, A could correspond to 5, 14 and 147.
These types of ciphers where used as early as 1401 by the Duchy of Mantua.
A Polygram substitution cipher is one which blocks of characters are encrypted in groups. For Example, THE could correspond to RTQ.
The Playfair cipher is an example of this type of cipher and was used by the British in World War One.
A Polyalphabetic substitution cipher is made up of multiple monoalphabetic ciphers. The particular cipher used changes with the position of each character in the plain text.
These types of ciphers were used in the American Civil War by the Union.
Asymmetric and Symmetric encryptionThere are two main types of cryptography symmetric and asymmetric
algorithm
Symmetric - (also known as private key, secret key, single key encryption). One key encrypts an decrypts the message. This key must be guarded carefully – Main drawback of these algorithms is key exchange.
One form of symmetric algorithm which can be mathematically proved to be unbreakable is the one time pad this uses a secret key once, which is then thrown away. This is expensive and difficult to manage, due to the number of keys used.
Digital CipherThe following example is of a one time pad cipher. The plain text message is in ASCII , the key is a random sequence as long as the message. The cipher uses an XOR operation (or binary addition for each set of digits, 0+0 =1 0+1=1, 1+1=0). Decryption uses the same system.
SLIDE WEB
A B CPlaintext 01000011 01000001 01000010key 11010001 01111001 00101011ciphertext 10010010 00111000 01101001
One time pads are unbreakable – However if we use a limited length key the cipher could be broken by brute force. 33 bit key - 8 billion possibilities - 1 day on PC.56 bit key - 3 thousand trillion possibilities - supercomputer is required.
Symmetric Algorithms (1)Encryption algorithm can be divided into two types block ciphers and stream ciphers. Two criteria to determine this;
Block size - Block cipher encrypts large blocks with complex encryption functions stream ciphers encrypts smaller blocks with a simple encryption function
Key stream - a block cipher uses the same key in a single document a stream cipher encrypts under a constantly changing key – secure of stream cipher s relies on the key stream generator design.
Symmetric Algorithms (2) There are a number of symmetric algorithms in use; Data Encryption Algorithm (Data Encryption Standard, DES)
adopted by the US Government in 1977 and ANSI standard 1981 – block algorithm (in feedback mode can act as a stream cipher)it uses a 56 bit key – supposedly can be broken (US have just replaced the standard with Rijndael – equivalent to 128 bit key, virtually unbreakable (at the moment!)
Blowfish – fast single block algorithm – variable key length – in public domain
IDEA – patented algorithm (hampers widespread use 128 bit – secure)
RC5 block cipher developed by Ronald Rivest (R in RSA)
Public & Private Key SystemsAsymmetric encryption systems are also known as Public / Private keys systems. Each user has two keys: a public key and a private key. The user publishes their public key freely as the keys operate as inverses. So If Alice wishes to send Bob a message;
1. Wendy downloads Bob’s public Key and uses this to encrypt the messages
2. Wendy then sends the message over the web, if intercepted. Can anyone read it ? No they can’t! It can not be read be decrypted with Bob’s Public key, only with Bob’s Private key
3. Bob received the message and uses his carefully guarded private key decrypts the message.
P = D(KPRIV , E(KPUB , P) )
That is a user can decode with a private key what someone else has encrypted with the corresponding public key.
Encryption and E-commerceThere are an extensive number of applications relating to e-commerce which encryption make possible;
Certification authorities
Cookies, SET, Shopping Carts, SSL Encryption, Hash algorithms e.g. MD5
Payment protocols iKP (IBM Zurich) (renamed to SEPP in conjunction with MasterCard). Millicent, SET (Secure Electronic Transaction; Visa and MasterCard) Digital Cash, Digital Certificates, Digital Wallets
Cryptography is rarely a total solution as it translates the communications problem into a key management problem – which then becomes a general computer security problem. Generally they are used for
Encryption Digital signatures Integrity check functions (hashes)
Digital Signatures A digital signature is a protocol that produces the same effect as a real
signature: it is a mark that only the sender can make, but other people can easily recognize as belonging to the sender. Just like read signatures, a digital signature is used to confirm agreement to a message.
Digital signatures must meet two primary conditions: Unforgeable: If person P signs a message M with a signature S(P,M) it is
impossible for anyone else to produce the pair [M, S(P, M)]. Authentic: If a person R receives the pair [M, S(P, M)] purportedly from P,
R can check that the signature is really from P. Only P could have created this signature, and the signature is firmly attached to M.
Two additional requirements are also desirable: Not alterable: After being transmitted, M cannot be changed by R or an
interceptor. Not reusable: A previous message presented will be instantly detected
With private key encryption, the secrecy of the key guarantees the authenticity of the message as well as secrecy. If Sandy and the Bank have an encryption key in common, she can encrypt her request to transfer money. The bank can be sure of its authenticity because nobody else has Sandy’s key.
Conventional symmetric key encryption does not prevent forgery. Any one who knows the key can create a digital signature. Thus the bank has no protection against repudiation (denial of sending a
message).
The repudiation problem can be solved if both the sender and the receiver use an arbitrator.
Identity of sender is S and identity of recipient is R Sender and arbiter share a key Ks Recipient and arbiter share a key KR Content of message between sender and recipient is M The arbitrator will use a sealing function. A sealing function is a
mathematical function affected by every bit of its input. For example, the bytes of the input can be used as numbers and the sum of all input computed.
The basic digital signature protocol using asymmetric encryption protocol is as follows.
Alice encrypts a document M with her private key APRI, thereby signing the document, e.g. E( APRI , M ).
Alice encrypts the message with Bob’s public key BPUB, and then sends the message C to Bob, e.g. C = E(BPUB , E( APRI , M ) )
Bob decrypts the message using his private key BPRI and then Alice’s public key APUB, thereby verifying the signature, e.g. M = D(BPRI , D( APUB , M ) )
APRI
M
Encrypts message withBPUB and APRI andthen send the message
SENDER
1
M
Decrypts message with BPRI and APUB in order to derive M.
There are many Digital Signature Algorithm that have been developed, and they all make use of large prime numbers and modular arithmetic on the plain text to be signed.
The Digital Signature Algorithm (DSA) has been proposed by the U.S. National Institute for Standards and Technology (NIST) for use in their Digital Signature Standard (DSS). The standard was proposed in August 1991. Digital Signature Algorithm was developed by the U.S. National Security Agency (NSA)
RSA is a general public-key/private-key encryption system Schnorr and ElGamal Algorithm is a specific digital signature
algorithm. GOST Digital Signature Algorithm (This is the Russian digital
signature standard and is officially called GOST R 43.10-94) ENSIGN is a digital signature scheme from NTT Japan.
The ECA (2000) is aimed at supporting electronic commerce by providing a legal framework for cryptography and digital signatures The main purpose of the Act is to help build confidence in electronic commerce and the technology underlying it by providing for:
An approvals scheme for businesses and other organisations providing cryptography services, such as electronic signature services and confidentiality services;
The legal recognition of electronic signatures and the process under which they are verified, generated or communicated;
The removal of obstacles in other legislation to the use of electronic communication and storage in place of paper.
The International ContextThe ECA (2000) in the UK relates to some recent European Directives;
The Act aims to implement some aspects of the EU Electronic Signatures Directive (1999/93/EC), which was adopted on 13 December 1999. This was aimed at the legal recognition of electronic signatures in the E.U.
The Act also supports the EU E-Commerce Directive, which seeks to remove barriers to the development of electronic commerce in the internal market.
The Act also meets the Cryptography Guidelines, published by the Organisation for Economic Co-operation and Development (OECD) (1997)
The Act is also compatible with the United Nations Commission on International Trade Law (UNCITRAL) Model Law on Electronic Commerce
The UK differs from the global trend of defining as legal, any signature which has a certificate attached as legal binding. Instead it gives electronic signatures the same status as handwritten in English law – evidential method of authenticating a document
Contract Signing Suppose that Bill and Ben agree to something and wish to sign a contract to show their
agreement. Both of them are committed to performing some act by the contract but each wants to commit only if the other does.
A Contracting protocol requires two things Commitment.
After a certain point both parties are bound by the contract; until then neither is. Unforgeability,
The signatures of the contract must be demonstrably authentic; that is, it must be possible for either party to prove that the signature of the other is authentic.
One solution is to use a Trusted Third Party (TTP) as an Arbitrator1. Bill signs a copy of the contract and sends it to the TTP.2. Ben signs a copy of the contract and sends it to the TTP.3. The TTP announces when both signed contracts have arrived.4. Ben signs two copies of the contract and sends them to Bill.5. Bill signs both copies of the contract and, keeps one for himself, and sends the other to Ben.6. Ben and Bill both inform the TTP that each have a copy of the contract signed by both of them.7. The TTP destroys his two copies of the contract with only one signature each.
Blind Signatures The process of blinding a message can be thought of as putting a message in
an envelope along with a piece of carbon paper. Nobody can read the message through the envelope. A blind signature is made on the envelope and this goes through the envelope and the carbon paper onto the original message.
When the message is removed from the envelope it will be signed and the signer will not have known what was signed.
In the steps below, a user Alice uses the blind signature protocol to get another user Bob, to sign a message without knowing its contents.
Alice takes the message and multiplies it by a random value, called a blinding factor. This blinds the message so its contents can not be read.
Alice sends the blinded message to Bob. Bob digitally signs the blinded message and returns it to Alice. Alice divides out the blinding factor, leaving the original message now
The electronic coins used within the Ecash system are unique in that they are partly minted by the client before being signed by the bank. Each coin has a 100 digit serial number that is generated by the client’s cyberwallet software.
The bank uses different signature keys for different coin denominations. The client informs the bank of the value of the coin and the bank signs the coins with the correct signature. For Example, Serial# is the serial number of the coin, and SK$1 is the secret key
one dollar key for the bank. Thus a one dollar coin could look like:
E( KeyPRI-SK$1 , Serial# ) To allow the signature to be quickly verified (decrypted) an indication of which public
key to use (Key_Version) is usually included with a coin. For convenience, the plaintext serial number is also included:
Coin = Serial#, Key_Version, E( KeyPRI-$1 , Serial# ) The Key_Version can also be used to obtain other information about the coin,
Although section 49(9) states that a notice under this section shall not require thedisclosure of any key which is intended to be used for the purpose only of generatingelectronic signatures, this intention of protecting the integrity of signature keys, will veryoften fail since RIPA also allows access to encryption keys. In many cryptographicproducts the same passphrase (or key) is used for both signature and confidentialitypurposes, and this means that access to keys for protected information will also giveaccess to signature keys. This duality is confirmed in the draft Code of Practice whichstates “where there are reasonable grounds to believe that a key has been used forelectronic signature and, additionally, confidentiality purposes, that key may be requiredto be disclosed under the terms of the 2000 Act.” In practice, this failure to distinguishwill undermine the use of digital signatures and hinder the development of e-commerce, conflicting with the intentions of the Electronic Communications Act 2000.
From : Akdeniz, Y.; Taylor, N.; Walker, C., Regulation of Investigatory Powers Act 2000 (1): Bigbrother.gov.uk: State surveillance in the age of information and rights, (2001) Criminal Law Review, (February), pp. 73-90 at
This implies that if you have a public/private key pair for confidentiality of incoming material, use a different public/private pair for outgoing electronic signatures.
• Cryptography – science of secret writing • Cryptanalysis – science of breaking of breaking ciphers• Cipher – method used to convert plaintext to cipher text • Plaintext – an encrypted message ‘ I am coming to tea tonight’• Cipher text - the encrypted message ‘ L dp frplqj wr whd wrqjkw’• Encryption – (Encipherment) -process of converting plaintext to cipher text
(scrambles the message).• Decryption (Decipherment) - process of converting cipher text to plain
text (restores the plaintext message)• Key – code used in conjunction with an algorithm to encrypt /decrypt data
Secure Electronic Transaction (SET) is a protocol for credit card holders to order good in a secure manner over the internet.
This makes use of public and private keys amongst other things: to provide for confidential transmission; to ensure the integrity of payment instructions for goods and
services order data;
Rather than look at the protocol in detail we look at one message. The order message sent by the customer, to the seller and the sellers bank.
This type of message in known as a dual signature…
SET currently only supports credit card payments online not debit cards, or stored value payments – other protocols are likely to arise to address these issues.
Open standard so a number of implementations have arisen.; Cyber cash supports SET standard RSA Data Security - set compliant software – S/PAY
Ultimately not technology or standard itself that will make this a successful protocol but the fact that it is backed by the two largest credit card associations (MasterCard & Visa)
An overview of the purchase / payment process used by SET (Secure Electronic Transactions)
B2C: SET protocol Authentication uses symmetric key distribution w/o server Digests of the order information - OI - and payment information - PI - are calculated -
H[OI] and H[PI] These two are concatenated and signed DS
Merchant and issuer can see only info. they should see, but can verify details of the order and payment Suppose some of the information is tampered with. When the DS is decrypted
merchant finds a different H[PI] issuer finds a different H[OI]