METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR PROCESSING ESSAGES TO ENSURE CONFIDENTIALITY BY ENCRYPTING THE PRIVATE DATA OF THE ESSAGE
5 Technical Field
The present invention relates to a method and a computer program product for processing messages in communication and/or data networks, which provide third party access to data transmitted over a communication 10 network without violating privacy of transmitted data. In particular the invention is applicable to internet transactions .
Background
15 With the advent of internet and other means for communication and data exchange a problem of security of data exchange has appeared. This problem is especially visible in case of fast growing electronic commerce (e- commerce) . Millions of electronic transactions, worth
20 billions of dollars, sensitive information exchanged over the network between parties make this problem vital for all stakeholders .
The problem of security of data exchanged and 25 accessible via the network can be discussed on different layers. The layers are determined by different kinds of risk.
One of the risks is that party that is trying to 30 access the data is not the party it says it is. This problem is known as authentication.
Other requirement providing safety of the data is known as authorization. If the party meets this requirement 35 it means that the party is sanctioned for particular function.
Confidentiality of data is assured by privacy requirement. Fulfilling this requirement protects the data against eavesdropping or observation by third party.
Another risk related to e-commerce, and in general data exchange, is risk that third party could alter the data. Requirement for this case is known as data integrity.
There are several methods of ensuring safety of electronic transaction known in the art. These methods deal with different aspects of safety of electronic transactions mentioned before.
One of the protocols that was developed to provide security over the internet is known as Secure Socket Layer (SSL) . SSL supports server and client authentication as well as privacy of transmitted data. This protocol is application independent and allows protecting Hypertext Transfer Protocol (HTTP) , File Transmission Protocol (FTP) , Lightweight Directory Access Protocol (LDAP) and other protocols. The SSL protocol is designed to provide security to any Transmission Control Protocol / Internet Protocol TCP/IP application. It runs on the top of Transmission Control Protocol/Internet Protocol and below higher level protocols, like HTTP, LDAP. SSL allows server that is able to use SSL protocol to authenticate itself to a client that is also able to use SSL protocol, allows the client to authenticate itself to the server and finally allows to establish an encrypted connection between the client and the server. The SSL protocol addresses the following security issues: privacy, data integrity and authentication.
The tools used for encryption of data, authentication of parties of the transactions are known and widely used.
In many cases they are independent on the protocol they work.
Since the known methods of transmitting data in communication and / or data networks, when providing privacy of data, do not allow access to any part of the message it is not possible to share some of the transaction data with third party without loosing confidentiality. One result of such approach is that internet service providers cannot adjust the quality of service to the value of the transaction. Another disadvantage of the method of secure transmission of messages known in the art is that they do not allow third parties, namely Internet Service Providers (ISP) , charging for transaction value since all the data are encrypted.
Summary of the Invention
There is a need for a method for transmitting messages in communication networks and a computer program product which alleviate or overcome the disadvantages of the prior art.
In accordance with the present invention, there is thus provided a method for processing messages transmitted in a communication and/or data network between a sender and a receiver. The invention provides a method of processing data to make possible third party access to part of the data transmitted in the network. The method contains the following steps: taking transaction data from an application layer, identification in said transaction data a private data and a non-private data. Following these steps said private data are encrypted and said non-private data are formatted. After the step of encrypting and
formatting both private and non-private data are transferred to a transport layer.
When message is processed according to such method only the non-private data is accessible for third party.
The non-private data can be reflected in Quality Of Service (QOS) field. This solution may make the quality of service provided by ISP dependent on value of the transaction done over the network. This also allows charging for the service and depending on the value of the transaction and quality provided.
In accordance with another aspect of the present invention the non-private data may be encrypted using a second encryption method. In this case the third party, which could be for example the ISP, is able to decrypt only the non-private part and the sender and the receiver are able to decrypt both private and non-private data.
In accordance with yet another aspect of the present invention there is thus provided a computer program product stored on a computer usable medium, comprising computer readable program means for causing a computer to perform all the steps in accordance with the invention described herein.
In accordance with yet another aspect of the present invention there is thus provided a method for billing for transactions transmitted over a communication and / or data network. The method is based on transaction value wherein said transaction value is retrieved from a non-private part of a message transmitted between a receiver and a transmitter, wherein said message is processed according to a method which is described above.
In accordance with yet another aspect of the present invention there is thus provided an apparatus being adapted to operate in accordance with the method of the present invention.
Brief description of the drawings
The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings in which:
Fig. 1 is a flowchart illustrating the method for processing messages in communication and/or data networks in accordance with an embodiment of the invention;
Fig. 2 is a schematic diagram illustrating communication and/or data network in accordance with an embodiment of the invention;
Fig. 3 is a message sequence chart showing a sequence of operations performed in accordance with an embodiment of the invention;
Fig. 4 is a diagram illustrating protocol stack at the User's side in accordance with an embodiment of the invention;
Fig. 5 is a diagram illustrating protocol stack at the ISP's side, in accordance with an embodiment of the invention;
Fig. 6 is a diagram illustrating the format of non- private data packet used in the method of the embodiment of the present invention shown in Fig. 1.
Detailed description of the preferred embodiment
The preferred embodiment of the present invention is described below as an application of the invention for electronic transactions, in particular for billing for transaction between a user and a web based shop.
With reference to Fig. 2, 3 and 4 a user's web client 201 sends HTTPS request 301 to the shop web server 205, which contains the address (URL) of the page sought - here as an example https://www.exampleshop.com.pl/shop.cgi. The HTTPS request 301 means that HTTP request message 403 is passed through an SSL layer 405, and then it is passed to the transport layer (here TCP) 409.
The shop web server 205 accepts client's HTTP request 301 with said page address, finds 303 in its shop web pages repository 207 a file (here as an example shop.cgi), which is the web page script. It contains scripts to access shop database and generates the page with content (e.g. list of goods for sale and their price) . Additionally, it includes reference to a Java applet 401, which will gather transaction details.
The shop web server 205 executes 305 all scripts according to the source web page content and after having completed all preparation steps, sends an HTML page 307 to the user's web client 201.
The user's web client 201 receives the HTML page and sends series of HTTPS requests 309 to the server, to load all page objects (e.g. graphics, pictures, applets) - including said Java applet 401.
After having received 311 all page objects, the user's web client 201 displays the page. Transaction form, which
is a part of said display content, is managed by said Java applet 401.
User enters transaction details in the form, e.g. quantity of each good to purchase, his/her mail address, payment details, etc. At the end the user presses SEND button, which means "Complete the transaction".
With reference to Fig. 1 and 4 an application layer in the present embodiment contains said Java applet 401. Said Java applet 401 takes 101 transaction data to generate the message that contains a private and a non-private data, as it controls the SEND button and all transaction details. Then said Java applet 410 identifies 103 said private data and said non-private data and creates a first data packet and a second data packet. Said first data packet contains both said private and said non-private data. Said first data packet is encrypted 105 and after transferring 109 to the transport layer 409 transmitted 317 to the shop web server 205. In the step of encryption 105 one of the known in the art method of encryption may be used (DES, RSA, IDEA) . Said second data packet contains said non-private data only and after formatting 107 said second data packet is sent separately 319 without encryption to the shop web server 205. Said non-private data are predefined and contain at least one of the following: object of said transaction, value of said transaction, location of said sender and said receiver, identification of the parties involved.
Encryption of said first data packet is achieved by transmitting it through said SSL layer 405 to said transport layer 409.
With reference to Fig. 4 and 6 said second data packet is transmitted through formatting layer 407 to said transport layer 409. Data in said second packet are not encrypted but the packet itself is formatted as to make it readable for said ISP 203. One of possible examples of such formatting of data packet is depicted on fig. 6 where: 601 is the protocol identifier (to identify said formatting layer 407 data from other data) , 603 is the protocol version (to distinguish different possible specifications of said formatting layer 407), 605 is the data offset (to indicate relative address of the information elements 611 from the entire frame start) , 607 is the count of information elements 611 contained in the entire frame) , 609 is the idetifier of optional encryption method known to all interested parties used to encrypt information elements 611) , 611 is information element (one or many - as many as indicated by 607) which is the actual non-private field name and data. An example information element may be composed from the following fields: 613 is the information element identifier - used to identify a common field category, 615 is said field name size (in octects) , 617 is the offset of the next information element relative from the start of the current information element (or in other words the size of current information element) , 619 is the field name, and 621 is said field content.
Packets of both encrypted and non-encrypted data are being sent through the network back to the shop web server 205. Said first data packet is simply forwarded 321 by ISP 203 equipment to its destination, which is the shop web server 205. Said second data packet is processed 323 by said ISP 203 equipment and after this operation it is forwarded to the shop web server 205. During said processing 323 said non-private data are read by said ISP 203 equipment.
When said first data packet (which in fact is HTTPS packet) reaches 317 said shop web server 205, said shop web server 205 executes 325 the transaction with the shop database 209. When said second data packet reaches 319 the shop web server 205, it checks if said first and second data packets contain coherent transaction data. After this operation said transaction is legally and financially completed.
In another embodiment, if additionally the ISP 203 wants to confirm that it has found a valid transaction passing through its system, said ISP 203 sends an confirmation request 327 to the shop web server, with the transaction details read from the non-private data packet. If the data are correct, the shop web server 205 confirms the transaction 329.
In yet another embodiment said non-private data are encrypted using a second encryption method.
It will be understood that the invention tends to provide the following advantages singly or in any combinatio :
- reliable charging for provided services (content based billing) ;
- no need of additional agreements between parties involved (existing agreements are enough) ;
- quality of service may be made dependent on the value of transaction.