You are on page 1of 6

Web security

Web Security Considerations Internet and web are extremely vulnerable to compromises of various sorts Web has variety of threats: Integrity modification of user data Confidentiality eavesdropping on the Net Denial Of Service preventing any part of system from functioning Authentication impersonation of legitimate users Web threats can access to mainly 3 locations: Web server Web browser Traffic between browser & server Web Security Requirements Web security can be done through several ways ! "sing I# security $Ipsec% &! "sing 'ecure 'oc(et )ayer $'')% 3! "sing 'ecure electronic Transactions $'*T% What is SSL? 'ecurity of data in transit over the Internet becomes increasingly necessary because of steadily growing data volume and importance! Nowadays+ every user of a public networ( sends various types of data+ from email to credit card details daily+ and he would therefore li(e them to be protected when in transit over a public networ(! To this end+ a practical '') protocol has been adopted for protection of data in transit that encompasses all networ( services that use T,#-I# to support typical application tas(s of communication between servers and clients! The '') protocol was originally developed by Netscape+ to ensure security of data transported and routed through .TT#+ )/0# or #1#3 application layers! '') is designed to ma(e use of T,# as a communication layer to provide a reliable end2to2end secure and authenticated connection between two points over a networ( SSL objectives and architecture

0uthenticating the client and server to each other: the '') protocol supports the use of standard (ey cryptographic techni3ues $public (ey encryption% to authenticate the communicating parties to each other! Though the most fre3uent application consists in authenticating the service client on the basis of a certificate+ '') may also use the same methods to authenticate the client! *nsuring data integrity: during a session+ data cannot be either intentionally or unintentionally tampered with! 'ecuring data privacy: data in transport between the client and the server must be protected from interception and be readable only by the intended recipient! '') is

in fact not a single protocol but rather a set of protocols that can additionally be further divided in two layers: ! the protocol to ensure data security and integrity: this layer is composed of the '') 4ecord #rotocol+ &! the protocols that are designed to establish an '') connection: three protocols are used in this layer: the '') .andsha(e #rotocol+ the '') ,hange,ipher 'pec#protocol and the '') 0lert #rotocol!

SSL session and connection

connection: this is a logical client-server lin(+ associated with the provision of a suitable type of service! In '') terms+ it must be a peer2to2peer connection with two networ( nodes! session: this is an association between a client and a server that defines a set of parameters such as algorithms used+ session number etc! 0n '') session is created by the .andsha(e #rotocol that allows parameters to be shared among the connections made between the server and the client+ and sessions are used to avoid negotiation of new parameters for each connection! This means that a single session is shared among multiple '') connections between the client and the server! In theory+ it may also be possible that multiple sessions are shared by a single connection+ but this feature is not used in practice! The concepts of a '') session and connection involve several parameters that are used for '')2enabled communication between the client and the server! /uring the negotiations of the handsha(e protocol+ the encryption methods are established and a series of parameters of the 'ession 'tate are subse3uently used within the session! 0 session state is defined by the following parameters: session identifier: this is an identifier generated by the server to identify a session with a chosen client+ #eer certificate: 5!678 certificate of the peer+ compression method: a method used to compress data prior to encryption+

0lgorithm specification termed ,ipher'pec: specifies the bul( data encryption algorithm $for example /*'% and the hash algorithm $for example 9/6% used during the session+ 9aster secret: :;2byte data being a secret shared between the client and server+ <is resumable=: this is a flag indicating whether the session can be used to initiate new connections! 0ccording to the specification+ the '') connection state is defined by the following parameters: 'erver and client random: random data generated by both the client and server for each connection+ 'erver write 90, secret: the secret (ey used for data written by the server+ ,lient write 90, secret: the secret used for data written by the client+ 'erver write (ey: the bul( cipher (ey for data encrypted by the server and decrypted by the client+ ,lient write (ey: the bul( cipher (ey for data encrypted by the client and decrypted by the server+ 'e3uence number: se3uence numbers maintained separately by the server for messages transmitted and received during the data session!

The abbreviation 90, used in the above definitions means 9essage 0uthentication ,ode that is used for transmission of data during the '') session! The role of 90, will be explained further when discussing the record protocols! 0 brief description of the terms was necessary to be able to explain the next issues connected with the functioning of the '') protocol+ namely the '') record protocol!

The SSL Record Protocol The purpose of the '') record protocol is to ta(e an application message to be transmitted+ fragment the data which needs to be sent+ encapsulate it with appropriate headers and create an ob>ect >ust called a record+ which is encrypted and can be forwarded for sending under the T,# protocol!

The Alert Protocol The 0lert #rotocol is used by parties to convey session messages associated with data exchange and functioning of the protocol! *ach message in the alert protocol consists of two bytes! The ChangeCipher Spec protocol This protocol is the simplest '') protocol! It consists of a single message that carries the value of ! The sole purpose of this message is to cause the pending session state to be established as a fixed state+ which results+ for example+ in defining the used set of protocols! This type of message must be sent by the client to the server and vice versa! 0fter exchange of messages+ the session state is considered agreed! This message and any other '') messages are transferred using the '') record protocol The handsha e protocol The handsha(e protocol constitutes the most complex part of the '') protocol! It is used to initiate a session between the server and the client! Within the message of this protocol+ various components such as algorithms and (eys used for data encryption are negotiated! /ue to this protocol+ it is possible to authenticate the parties to each other and negotiate appropriate parameters of the session between them! ?igure below depicts hand sha(e protocol!

S!C"R! !L!CTR#$%C TRA$SACT%#$ &S!T' 0 protocol designed to ensure the security and integrity of online communications and purchases+ 'ecure *lectronic Transaction $'*T% uses digital certificates+ issued to merchants and other businesses and customers+ to perform a series of security chec(s verifying that the identity of a customer or sender of information is valid! '*T provides the basic framewor( within which many of the various components of securing digital transactions function! /igital certificates+ digital signatures+ and digital wallets all function according to the '*T protocol! There are several components for the '*T protocol!

The ,ardholder 0pplication+ also referred to as a digital wallet+ is held by an online consumer and pac(ages a digital signature and credit card information that ensures his or her identity and safeguards his or her financial information through a complex encryption system!

The 9erchant 'erver component is the verification product held by the merchant to process the online card payment! The #ayment @ateway component is held by an ac3uiring ban( or other trusted third party that accepts and processes the merchantAs verification and the customerAs payment information and filters them to their appropriate financial institutions!

The ,ertificate 0uthority component+ usually run by a financial institution+ is the trusted agent that issues the digital certificates and is responsible for ensuring that all users of digital certificates are in fact secure and trustworthy customers!

1nce a security product for any of these components has passed the '*T ,ompliance Testing+ it bears the '*T 9ar(+ ensuring all users that it meets the '*T standards! '*T is an open standard available to anyone engaged in electronic commerce! 9aster,ard International and Bisa International+ recogniCing that security was the (ey to the widespread use of credit cards for e2commerce+ developed the '*T protocol+ which was launched on ?ebruary + 88D! The first version of the '*T 'pecification was published in 9ay 88E! In /ecember of that year+ the credit2card giants and other ma>or players in the e2commerce world+ including 9icrosoft+ Netscape+ and IF9+ set up a company called '*T 'ecure *lectronic Transaction )), $'*T,o% to maintain and implement the '*T specification+ administer compliance testing+ and foster the increased global adoption of the '*T standard!