An embodiment of the invention relates to a method for providing data on the Internet. A further embodiment of the invention relates to a method for accessing data on the Internet. A further embodiment of the invention relates to a server configured to provide data on the Internet. Another embodiment of the invention relates to a client configured to access data on the Internet. A further embodiment of the invention relates to a system for providing and accessing data on the Internet.
There exist various applications where it is necessary to check the integrity of data provided and/or downloaded from the Internet.
It is an object of the invention to provide a method, system and devices for efficiently checking the integrity of data provided and/or downloaded from the Internet.
This object is solved by methods and/or devices according to the independent claims.
Further details of the invention will become apparent from a consideration of the drawings and ensuing description.
The accompanying drawings are included to provide a further understanding of embodiments and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments and together with the description serve to explain principles of embodiments. Other embodiments and many of the intended advantages of embodiments will be readily appreciated as they become better understood by reference to the following detailed description. The elements of the drawings are not necessarily to scale relative to each other. Like reference numerals designate corresponding similar parts.
In the following, embodiments of the invention are described. It is important to note, that all described embodiments in the following may be combined in any way, i.e. there is no limitation that certain described embodiments may not be combined with others. Further, it should be noted that same reference signs throughout the figures denote same or similar elements.
It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.
It is to be understood that the features of the various embodiments described herein may be combined with each other, unless specifically noted otherwise.
For storing such data, at S101, a value of a predetermined function for the data to be provided on the Internet is calculated by using a microprocessor. The calculated value depends on the underlying data. The microprocessor used may be of hardware type. Various types of specialized hardware processors and co-processors are conceivable.
The predetermined function employed at S101 may be a cryptographic hash function, such as e.g. secure hash algorithm (SHA) functions. The Message-digest algorithm 5 (md5) is an example of these secure hash algorithm functions. These functions calculate a numeric value based on the content of the data. This value can then be used to check the integrity of the data that has been subjected to the function. The integrity check of the data is further discussed in relation to
At S102, a uniform resource identifier (URI) is determined by using the afore-mentioned microprocessor. The uniform resource identifier may be a string of characters that is used to identify and access resources in a network like the Internet. The uniform resource identifier, e.g. the string of characters, may be divided into several parts. Each part may be used for different operations. The uniform resource identifier may have a specialized part including or consisting of the value calculated at S101. Others parts of the uniform resource identifier may be used for accessing a server on the Internet or another computer network. A further discussion on the parts of the uniform resource identifier is given in relation to
At S103, the data is stored at a resource on the Internet, wherein the resource is accessible by using the uniform resource identifier determined at S102. The resource on the Internet may be a server or a distributed file system spread across a plurality of computers, workstations and/or servers.
At S202, by using a microprocessor, a part of the uniform resource identifier may be determined that corresponds to a value of a predetermined function, wherein the predetermined function may be, as already discussed, a cryptographic hash function. The part determined at S202 may therefore be e.g. a value of a cryptographic hash function.
At S203, based on the retrieved data a further value is calculated by using the same predetermined function. These two values, i.e. the further value that has been calculated on the client and the value obtained/extracted from the uniform resource identifier are then compared at S204 in order to determine the integrity of the data that has been retrieved from the resource on the Internet at S201. Even slight changes in the content of the data cause a different numeric value when employing a secure hash algorithm function. By comparing a previously known value (included in the uniform resource identifier) for the data and a newly calculated one (further value), it is possible to check the data's integrity. If the two values are not equal, the integrity check fails.
The integrity check is illustrated in
The upper part of
The lower part of
The uniform resource identifier 410 may be used to access the server 420 on the Internet where the data may be stored in the storage region 450 of the storage 440. The first part 411 of the uniform resource identifier 410 may be used to access, identify and name the server 420. The second part 412 of the uniform resource identifier 410 may represent the value calculated by the predetermined function for the data stored at the server 420 (see
Although in the present embodiment the first part 411 is immediately followed by the second part 412, there is no need for the parts of being consecutively arranged (contiguous). Other arrangements of the first and the additional plurality of parts within the uniform resource identifier 410 may be possible.
The client 520 comprises a microprocessor 521 which is adapted to carry out and execute instructions on the client. The client 520 may further comprise a graphical user interface (GUI; not shown). The graphical user interface may be used to provide information for the user regarding the data integrity of data downloaded from the server 510. An advantage of the use of a graphical user interface may be that the user is visually informed whether an integrity check fails or not. This may lead to a higher ease of use.
The physical storage medium 530 may be a business card with an included uniform resource identifier 531. The uniform resource identifier 531 may be stored on or transmitted by a kind of Radio Frequency Identification (RFID) tag or Near Field Communication (NFC) tag. Also, instead of a business card, optical and other storage media, without the RFID or NFC tag, like CDs, DVDs, USB memory sticks, hard disks, or the like are conceivable, on which the uniform resource identifier 531 may be stored. The uniform resource identifier 531 may be used to access data on the server 510. As discussed above, the uniform resource identifier 531 may include a value of a predetermined function, wherein the value of depends on the data stored at the server 510 which is supposed to be accessed by the client 520.
In this embodiment, the uniform resource identifier 531 stored in the physical storage medium 530 is transferred to the client 520 via a wireless connection 540. For this, Radio Frequency Identification technologies may be used. However, disk drives, USB slots and any other interface configured to attach media to a client are conceivable.
Radio Frequency Identification (RFID) is the usage of a so-called RFID tag applied to or incorporated into an object. It is used for identifying and tracking this object by employing radio waves. The radio signals emitted by these tags are often limited in range which can vary from a few meters or even centimeters to several hundred meters. Most RFID tags comprise at least two parts. The first one is an integrated circuit for storing and processing information and modulating and demodulating a radio frequency signal. The second part is an antenna for receiving and transmitting the signal.
RFID's potential of miniaturization (e.g. a chip size of 0.05 mm×0.05 mm is possible at the moment) opens a vast amount of new application areas, also boosted by the decreasing price for this technology.
Therefore, it is one advantage that a physical storage medium 530 with transmitting capabilities may be used in an easy and cheap way. In this way, it becomes feasible to enhance and extend “give-away” material like business cards with electronic information offering thereby electronic storage. This electronic storage may be used to store up-to-date contact information, multimedia information like videos or images. In addition, the electronic storage may include supplementary material to the information printed on the card like the contact person's complete resume. Even whole software programs like computer games and other applications may be linked with the information provided on the physical storage medium 530 itself. Another advantage is that the information need not be stored in the physical storage medium 530 itself, but may be located at a resource on Internet, like the server 510. Therefore, only small and limited information, like the uniform resource identifier 531, needs to be stored. Thereby, costs may be further reduced since only a small and, therefore, cheap storage may be used.
The client 520 is able to handle the uniform resource identifier received via the wireless connection 540. If a user wants to access the data designated by the received uniform resource identifier, the microprocessor 521 will execute an access operation for accessing the data stored on the designated server 510. The uniform resource identifier may therefore be used to access the server 510 via a network connection 541. This connection may be wired or wireless or any other conceivable connection, e.g. a connection via the Internet. The microprocessor 511 determines the value 545 (based on the uniform resource identifier) that was calculated by a predetermined function based on the data being subjected to access. This value 545 is used to access (as indicated by reference sign 543) the data stored in the storage region 513-1 of the storage 512. The data stored there is then provided to the client 520 requesting the access. The client 520 or alternatively or additionally the server 510 may then carry out an integrity check as discussed above.
The embodiment as shown by
An advantage is that the client 520 can be sure that the data it received from the server 510 corresponds to the data designated by the uniform resource identifier 531 stored on the physical storage medium 530, i.e. the data is valid and integer. Another advantage is that the integrity check may be carried out automatically without the need of the user to interact or manually check the values. Another advantage is that “man-in the middle attacks” become hardly possible since the uniform resource identifier 531 provided on the physical storage medium 530 is available via an out-of-band channel and altering the information is easily detectable through the integrity check.
A still further advantage is that only the data needs to be stored on the server 510. This is different in systems where the uniform resource identifier does not include a value as explained above. Such systems would need to store the data and additional information like the hash values which both would have to be retrieved in order to carry out an integrity check. Thus, by including the value in the uniform resource identifier 531, storage in the server 510 can be saved as well as bandwidth when doing an integrity check.
An attempt to overcome these limitations was introduced by the technology of Near Field Communication (NFC) which also is a short-range high frequency wireless communication technology enabling the exchange of data between devices. The storage area (memory) is larger than the one of RFID tags and ranges up to 32 Kbytes.
NFC is built on top of the ISO/IEC 14443 proximity-card standard which also comprises RFID. Therefore, an NFC device is capable of communicating with existing ISO/IEC 14443 smartcards and readers and is thereby compatible with already existing contact-less infrastructures being available (e.g. being used for payment in public transportation or the like).
Other than in the embodiment shown in
A further embodiment relates to an application in the field of public key authentication. When a public key is received over an untrusted (unsecure) channel, such as the Internet, the recipient often wishes to authenticate the public key. For public key authentication, fingerprints (a hash of the key data, i.e. the value of a predetermined function) are often used since their small size allows them to be passed over trusted channels where public keys won't easily fit. For example, if Alice wishes to authenticate a public key as belonging to Bob, she can contact Bob over the phone and ask him to read his fingerprint (value of predetermined function) to her. Alice can then check that this trusted fingerprint matches the fingerprint of the public key which she may determine on her computer for data which she has downloaded from the internet.
A fingerprint of a person's public key may be stored on a small NFC Tag as part of the URL pointing to the person's public key storage location. If the NFC Tag itself is distributed in a trusted manner, for example exchanged person to person or by trusted mail service, both download and verification of the public key can be accomplished by a user agent software without the user to manually compare hexadecimal numbers.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the described embodiments. This application is intended to cover any adaptations or variations of the specific embodiments discussed herein. Therefore, it is intended that this invention be limited only by the claims and the equivalents thereof.
Number | Date | Country | Kind |
---|---|---|---|
09014645 | Nov 2009 | EP | regional |
Number | Name | Date | Kind |
---|---|---|---|
7127608 | Royer et al. | Oct 2006 | B2 |
20020129239 | Clark | Sep 2002 | A1 |
20020138347 | Sakata | Sep 2002 | A1 |
20040216150 | Scheifler et al. | Oct 2004 | A1 |
20050222953 | Ganesan et al. | Oct 2005 | A1 |
20060106802 | Giblin et al. | May 2006 | A1 |
20060287976 | Sakata | Dec 2006 | A1 |
20080252424 | Maltseff et al. | Oct 2008 | A1 |
20090287706 | Bourges-Waldegg et al. | Nov 2009 | A1 |
20110025473 | Rokhsaz et al. | Feb 2011 | A1 |
20120166803 | Hu et al. | Jun 2012 | A1 |
Number | Date | Country |
---|---|---|
1 191 448 | Mar 2002 | EP |
WO 2008063407 | May 2008 | WO |
Entry |
---|
Lay-Ki Soon et al., “Identifying Equivalent URLs using URL Signatures”, IEEE Conference on Signal Image Technology and Internet Based Systems, 2008, 8 pages. |
Extended European Search Report issued Aug. 5, 2011, in Patent Application No. 10014412.0. |
Number | Date | Country | |
---|---|---|---|
20110185037 A1 | Jul 2011 | US |