|
Web Site Security
Introduction
The following notes will explain exactly how our security system
works. It is quite detailed and is intended only for the technically
minded amongst you. In short the chances of any of your customers
information or payment information going astray can be explained
simply.
It
would take a single hacker armed with a high specification computer
over 1 billion years to decode the relevant information. If this
does happen the hacker will then be in possession of ONE credit
card number. To crack the corresponding name and address of the
card holder would take a further 10 billion years, assuming the
hacker did not stop to sleep, eat or read any books on advanced
hacking.
Using
a Java Applet
Encryption occurs on the buyer's PC and decryption only occurs
on the vendor's PC. At no stage is the transaction decrypted whilst
it travels over the Internet, or whilst it is stored on a web
site. In addition, orders (including credit card details) are
only stored on a web site until the vendor downloads them to their
PC. Hence there is no large store of orders available online to
invite attack.
The
encryption is carried out by using a Java applet. The Java applet
is subject to the standard security restrictions of their "sandbox"
which restricts their ability to communicate across the Net to
only the web site that they are downloaded from. Decryption is
carried out on the vendor's PC after orders have been downloaded
from the web. The encryption technique used falls into two parts.
The first is to use Diffie-Hellman key exchange to agree a 128
bit key for use by the SAFER block cipher. The Diffie-Hellman
key currently used is 256 bits and this will be increased further
in the future up to 1024 bits, depending on performance. This
encryption method is used on the following fields only :
*
credit card number
* credit card type
* credit card expiry date
Other fields in orders placed using the system are also encrypted
using Safer with a 128 bit key, but using a fixed key built in
to the software and common across all instances of the software.
The
following banks have approved their customers use of UkFantasyToys's
eCommerce software encryption: Barclays Bank, HSBC and The Royal
Bank of Scotland.
Diffie-Hellman
Diffie-Hellman key exchange has been published for over 25 years
and has been proved to be strong. RSA have based their encryption
method on the same fundamental mathematics. RSA (used in SSL)
is essentially a derivation of Diffie-Hellman. UkFantasyToys eCommerce
software chose to use Diffie-Hellman for the following reasons
:
*
it is a public / private key method : this is essential for the
ordering model adopted by UkFantasyToys eCommerce software
* the algorithm has been around for many years and has stood the
test of time
* it is now patent-free
* it has been selected by an increasing number of industry leaders
as their system of choice:
* Microsoft for NT 5
* Sun Microsystems for their SKIP system
* Cisco for their routers
Safer
UkFantasyToys eCommerce software has adopted the SAFER SK-128
block encryption method developed by Massey (the developer of
IDEA which is used in PGP). The key for use with SAFER is negotiated
using Diffie-Hellman. The algorithm has been around for some time
and has stood the test of time.
Key
length
UkFantasyToys eCommerce software has adopted a 128 bit Safer key,
which gives a reasonable performance whilst being several orders
of magnitude beyond where brute force methods could break the
encryption. SSL offers only a 40-bit key in non-US implementations
(although 56 bit key implementations are now becoming available).
To put things in context, each additional bit of key space takes
twice as long to break. So a 41 bit key is twice as strong as
a 40 bit key. The 128 bit key used in UkFantasyToys eCommerce
software products is 4,722,366,482,869,645,213,696 times as strong
as the SSL 56 bit key.
Possible attacks
All security methods can be attacked. The design objective was
to ensure that using UkFantasyToys eCommerce software to take
orders across the Net was no more risky than other accepted methods
of accepting credit card orders, and that UkFantasyToys eCommerce
software's inherent security was at least as good as that of SSL.
We will briefly discuss the main routes for attack and how UkFantasyToys
eCommerce software products deal with them:
Interception
of packets on the web
Orders placed using UkFantasyToys eCommerce software are totally
secure against this threat - all data is only transmitted once
it has been encrypted. No data appears in clear on the Internet
in transit. In practice, interception of packets on the web is
now a remote possibility.
Breaking
security on the web site enabling hackers to copy web orders.
UkFantasyToys eCommerce software security is particularly good
in this respect. Other methods, including some SSL-only based
systems keep orders on the web server in clear text. The hacker
would gain no benefit as orders are still encrypted whether SSL
is used or not, and the typical haul will be much smaller than
with an SSL server as orders are always removed from the web site
when the vendor next dials in.
Employees
at an Internet Service Provider (ISP) have access to the servers.
They could easily copy stored orders both silently and transparently.
They can also remove any potential audit trail. If ISP employees
are disaffected, this is a serious risk with most current eCommerce
systems. UkFantasyToys eCommerce software prevents this abuse
since all orders are held encrypted.
Physical
breach of security at the vendor site.
This is a known and accepted risk as it is the same risk as where
credit card slips are physically stored at the vendor's site.
Anyone who keeps client details on any form of PC (or even on
paper records) is vulnerable.
Subversion
of the web site to substitute different software
Substituting software at the web site is a potential risk. For
a hacker to subvert UkFantasyToys eCommerce software security
they would need to compromise either the encryption at the web
site or the Java applet.
a)
Compromise of the encryption at the web site at a secure server.
This would require complete disassembly and understanding of the
security method - a reasonably uncommon skill. There is a clear
audit trial of this type of attack which is itself a disincentive.
b)
Substitution of the Java Applet. The resulting Java Applet could
still only communicate back to its host web site so this method
would require a cooperating process running on the web server
and would thus leave a clear audit trail. This would require complete
disassembly and understanding of the security method - a reasonably
uncommon skill, and especially difficult as UkFantasyToys eCommerce
software have obfuscated their Java Applet (deliberately renamed
variables etc. so that it is extremely hard to understand the
code).
This
risk is far more severe for SSL-only systems which store orders
permanently on the web site. If a hacker can get in to a web server,
then they can grab all the orders (including historical orders)
on the site which are stored in clear text. This is more likely
than an attack on UkFantasyToys eCommerce software as it would
reap a larger reward in terms of credit card information and would
leave less of an audit trail and it could happen from any site.
Timing
attacks
This is only theoretically an avenue of attack. The concept behind
it is that timing the encryption process gives some indication
of the size of key used - a large number takes more processing
time than a small one. This is used to try and limit the universe
of potential keys for a brute-force attack. In practice, it is
useless on the Internet because:
a)
The net itself introduces random delay
b)
Some of the encryption is performed on the client's PC. Since
these will vary enormously in specification and loading, no useful
information can be obtained. A similar argument applies to encryption
at the server
c)
The encryption at the client cannot easily be observed or timed
d)
For client based encryption, the encryption is only performed
once per PC so would not yield any comparisons.
|