GB2446171A - Anonymous authentication in a distributed or peer-to-peer network - Google Patents

Anonymous authentication in a distributed or peer-to-peer network Download PDF

Info

Publication number
GB2446171A
GB2446171A GB0624061A GB0624061A GB2446171A GB 2446171 A GB2446171 A GB 2446171A GB 0624061 A GB0624061 A GB 0624061A GB 0624061 A GB0624061 A GB 0624061A GB 2446171 A GB2446171 A GB 2446171A
Authority
GB
United Kingdom
Prior art keywords
user
data
peer
authentication
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0624061A
Other versions
GB0624061D0 (en
Inventor
David Irvine
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to GB0624061A priority Critical patent/GB2446171A/en
Publication of GB0624061D0 publication Critical patent/GB0624061D0/en
Priority to GB0709764A priority patent/GB2444346A/en
Priority to PCT/GB2007/004427 priority patent/WO2008065344A1/en
Publication of GB2446171A publication Critical patent/GB2446171A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • H04L29/08306
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

This present invention relates to an authentication system for users requiring to be allowed access to resources stored on a distributed or peer-to-peer system. Information supplied during the authentication process by the user is extremely difficult to be compromised because these details are not stored on a central server and are not transmitted over the network during the process. In combination with this, information about the location of nodes is not stored together on the network. This obviates the opportunity for an unauthorised user to use that information to identify the location of resources in order to gain unauthorised access. It is the intention of this present invention to preserve the anonymity of the user and to provide a mechanism for secure access to private storage of data and preferably other resources on a distributed file system.

Description

STATEMENT OF INVENTION:
14 Networks today rely on centralised servers or lists of account details and passwords; these are inherently insecure as they are a target in 16 their own right for an attacker. Rather than strengthen security of such a 17 target this invention removes the target altogether and provides a 18 mechanism to self authenticate.
19 Another problem with today's authentication systems is that attackers target user IDs to obtain or test passwords against it. This invention 21 removes this perception of a target by providing different user ID's on a 22 frequent basis thereby giving the attacker (even if they possessed the 23 password) no data element or clue to a data element that the password 24 would be useful against.
Upon authentication this invention allows the user access to their 26 resources as with traditional systems except in this case the user need 27 not be known.
BACKGROUND:
28 AUTHENTICATION 29 Authentication servers are for user and data transaction authentication e.g. JP200531 1545 which describe a system wherein the application of 31 a digital seal' to electronic documents conforms to the Electronic 32 Signature Act. This is similar to the case of signing paper documents 33 but uses the application of an electronic signature through an electronic 34 seal authentication system. The system includes: client computers, to each of which a graphics tablet is connected; an electronic seal 36 authentication server and a PKI authentication server, plus the 37 electronic seal authentication server. US2004254894 discloses an 2.
38 automated system for the confirmed efficient authentication of an 39 anonymous subscriber's profile data in this case.
JP2005339247 describes a server based one time ID system and uses 41 a portable terminal. US2006136317 discloses bank drop down boxes 42 and suggests stronger protection by not transmitting any passwords or 43 iDs. Patent US2006126848 discloses a server centric and deals with a 44 one time password or authentication phrase and is not for use on a distributed network. Patent US2002194484 discloses a distributed 46 network where all chunks are not individually verified and where the 47 manifest is only re-computed after updates to files and hashes are 48 applied and are for validation only.
49 SELF-AUTHENTICATION This is mostly used in biometric (W02006069158). System for 51 generating a patch file from an old version of data which consists of a 52 series of elements and a new version of data which also consists of a 53 series of elements US2006136514). Authentication servers (therefore 54 not a distributed networking principle as per this invention) are commonly used (JP20061 07316, US2005273603, EP1548979).
56 However, server and client exchange valid certificates can be used 57 (US2004255037). Instead of server, uses of information exchange 58 system (semantic information) by participant for authentication can be 59 used (JP2004355358), again this semantic information is stored and referenced unlike this present invention.
61 Concepts of identity-based cryptography and threshold secret sharing 62 provides for a distributed key management and authentication. Without 63 any assumption of pre-fixed trust relationship between nodes, the ad 64 hoc network works in a self-organizing way to provide the key generation and key management service, which effectively solves the 66 problem of single point of failure in the traditional public key 67 infrastructure (PKl)-supported system (US2006023887). Authenticating 68 involves encryption keys for validation (W02005055162) These are 69 validated against known users unlike the present invention. Also, for authentication external housing are used (W02005034009). All of 71 these systems require a lost or (whether distributed or not) record of 72 authorised users and pass phrases or certificates and therefore do not
73 represent prior art.
74 Ranking, hashing for authentication can be implemented step-by-step and empirical authentication of devices upon digital authentication 76 among a plurality of devices. Each of a plurality of authentication 77 devices can unidirectionally generate a hash value of a low experience 78 rank from a hash value of a high experience rank, and receive a set of 79 high experience rank and hash value in accordance with an experience.
In this way, the authentication devices authenticate each other's 81 experience ranks (US2004019788). This is a system of hashing access 82 against known identities and providing a mechanism of effort based 83 access. This present invention does not rely or use such mechanisms.
84 QuicK ENCIPHERING This is another method for authentication (JP2001 308845). Self- 86 verifying certificate for computer system, uses private and public keys - 87 no chunking but for trusted hardware subsystems (US2002080973) this 88 is a mechanism of self signing certificates for authentication, again 89 useful for effort based computing but not used in this present invention.
Other authentication modes are, device for exchanging packets of 91 information (JP2001 186186), open key certificate management data 92 (JP10285156), and certification for authentication (W096139210).
93 Authentication for Peer to Peer system is demonstrated by digital rights 94 management (US2003120928). Digital rights management and CSC (part of that patent s a DRM container) issues which are based on 96 ability to use rather than gaining access to network or resources and
97 therefore not prior art.
98 Known self-healing techniques are divided broadly into two classes.
99 One is a centralized control system that provides overall rerouting control from the central location of a network. In this approach, the 101 rerouting algorithm and the establishing of alarm collection times 102 become increasingly complex as the number of failed channels 103 increases, and a substantial amount of time will be taken to collect 104 alarm signals and to transfer rerouting information should a large number of channels of a multiplexed transmission system fail. The other 106 is a distributed approach in which the rerouting functions are provided 107 by distributed points of the network. The following papers on distributed 108 rerouting approach have been published: (these are all related to self 109 healing but from a network pathway perspective and therefore are not prior art for this invention which deals with data or data chunks self 111 healing mechanisms.
112 Document 1: W. D. Grover, "The Selfhealing Network", Proceedings of 113 Grobecom 87, November 1987.
114 Document 2: H. C. Yang and S. Hasegawa, "Fitness: Failure Immunization Technology For Network Service Survivability", 116 Proceedings of Globecom 88, December 1988.
117 Document 3: H. R. Amirazizi, "Controlling Synchronous Networks With 118 Digital Cross-Connect Systems", Proceedings of Globecom 88, 119 December 1988.
Document 1 is concerned with a restoration technique for failures in a 121 single transmission system, and Document 2 relates to a "multiple- 122 wave" approach in which route-finding packets are broadcast in multiple 123 wave fashion in search of a maximum bandwidth until alternate routes 124 having the necessary bandwidth are established. One shortcoming of this multiple wave approach is that it takes a long recovery time.
126 Document 3 also relates to fault recovery for single transmission 127 systems and has a disadvantage in that route-finding packets tend to 128 form a loop and hence a delay is likely to be encountered.
Summary of Invention
129 The main embodiments of this invention are as follows: A system of anonymous authentication for data being stored or 131 accessed within a distributed or peer to peer network.
132 An anonymous authentication product for data storage or access within 133 a distributed or peer to peer network.
134 A system of anonymous authentication which has the functional elements of: 136 1. Validation 137 2. Provision of Key Pairs 138 3. Logon 139 A preferred system of claims 3, of anonymous authentication with functional linkages of: 141 1. Validation 142 a. anonymity 143 b. anonymous transaction 144 c. peer ranking 2. Provision of Key Pairs 146 a. provision of public ID 147 b. document signing 148 c. encryption/decryption (-p 149 3. Logon A method of above system and product of anonymous authentication for 151 data storage or access in a distributed network or peer to peer network.
152 A method of above system and product of authenticating access to a 153 distributed network comprising the steps of: 154 * creating a user identifier * retrieving an encrypted validation record identified by the user 156 identifier 157 * decrypting the encrypted validation record so as to provide a 158 decrypted result 159 * authenticating access to data in the distributed network using the decrypted result 161 A method of above wherein the steps of receiving, retrieving and 162 authenticating are performed on a node in the distributed network separate 163 from a node performing the step of decrypting.
164 A method of any of the above wherein the method further comprises the step of generating the user identifier using a hash of user input data.
166 A method of any previous claim wherein the user identifier is unique and 167 suitable for identifying unique validation records.
168 A method of any previous claim wherein the step of authenticating access 169 further comprises the step of digitally signing the user identifier.
A method of claim wherein the method further comprises the step of using 171 the signed user identifier as a session passport to authenticate a plurality 172 of accesses to the distributed network.
173 A method of any previous claim wherein the step of decrypting comprises 174 decrypting an address in the distributed network of a first chunk of data and the step of authenticating access further comprises the step of 176 determining the existence of the first chunk at the address.
177 A method of above where successful decryption of the ID chunk provides 178 the user with a key pair to sign any requests and to consider the user as 179 being authentic.
A method of above where successful decryption of the ID chunk provides a 181 data map of the data set of user's data and any keys associated with such.
182 A method of above wherein the method further comprises the step of using 183 the content of the first chunk to obtain further chunks from the distributed 184 network.
A method of any previous claim where the user ID is made unique using 186 known changing data such as days since a time in history.
187 A system which provides a mechanism for self-authentication 188 A system which upon authentication allows the user access to their 189 resources as with traditional systems except in this case the user need not be known.
191 A method of above where this variable information is merged or diluted 192 into the user provided data prior to hashing or similar to produce a one 193 time ID to further anonymity.
194 At least one computer program comprising instructions for causing at least one computer to perform the method, system and product according to any 196 of the above embodiments.
197 The at least one computer program of above embodied on a recording 198 medium or read-only memory, stored in at least one computer memory, or 199 carried on an electrical carrier signal.
DESCRIPTION
Detailed Description:
(References to IDs used in descriptions of the system's functionality) 201 MID -this is the base ID and is mainly used to store and forget files.
202 Each of these operations will require a signed request. Restoring may 203 simply require a request with an ID attached.
204 PMID -This is the proxy mid which is used to manage the receiving of 205 instructions to the node from any network node such as getl put / forget 206 etc. This is a key pair which is stored on the node -if stolen the key pair 207 can be regenerated simply disabling the thief s stolen PMID -although 208 there's not much can be done with a PMID key pair.
209 CID -Chunk Identifier, this is simply the chunkid.KID message on the 210 net.
211 TMID -This is today's ID a one time ID as opposed to a one time 212 password. This is to further disguise users and also ensure that their MID 213 stays as secret as possible.
214 MPID -The maidsafe.net public ID. This is the ID to which users can add 215 their own name and actual data if required. This is the ID for messenger, 216 sharing, non anonymous voting and any other method that requires we 217 knowthe user.
218 MAID -this is basically the hash of and actual public key of the MID. this 219 ID is used to identify the user actions such as put/ forget I get on the 220 maidsafe.net network. This allows a distributed PKI infrastructure to exist 221 and be automatically checked. fO
222 KID -Kademlia ID this can be randomly generated or derived from 223 known and preferably anonymous information such as an anonymous 224 public key hash as with the MAID.. In this case we use kademlia as the 225 example overlay network although this can be almost any network 226 environment at all.
227 MSID -maidsafe.net Share ID, an ID and key pair specifically created for 228 each share to allow users to interact with shares using a unique key not 229 related to their MID which should always be anonymous and separate.
Anonymous Authentication Description
230 Anonymous authentication relates to system authentication and, in 231 particular, authentication of users for accessing resources stored on a 232 distributed or peer-to-peer file system. Its aim is to preserve the 233 anonymity of the users and to provide secure and private storage of data 234 and shared resources for users on a distributed system. It is a method of 235 authenticating access to a distributed system comprising the steps of; 236 * Receiving a user identifier; 237 * Retrieving an encrypted validation record identified by the user 238 identifier; 239 * Decrypting the encrypted validation record so as to provide 240 decrypted information; and 241 * Authenticating access to data in the distributed system using the 242 decrypted information.
243 Receiving, retrieving and authenticating may be performed on a node in 244 the distributed system preferably separate from a node performing the 245 step of decrypting. The method further comprises the step of generating 246 the user identifier using a hash. Therefore, the user identifier may be 247 considered unique (and altered if a collision occurs) and suitable for 248 identifying unique validation records. The step of authenticating access 249 may preferably further comprise the step of digitally signing the user 250 identifier. This provides authentication that can be validated against 251 trusted authorities. The method further comprises the step of using the 252 signed user identifier as a session passport to authenticate a plurality of 253 accesses to the distributed system. This allows persistence of the 254 authentication for an extended session.
255 The step of decrypting preferably comprises decrypting an address in the 256 distributed system of a first chunk of data and the step of authenticating 257 access further comprises the step of determining the existence of the first 258 chunk at the address, or providing the location and names of specific 259 data elements in the network in the form of a data map as previously 260 describe. This efficiently combines the tasks of authentication and 261 starting to retrieve the data from the system. The method preferably 262 further comprises the step of using the content of the first chunk to obtain 263 further chunks from the distributed system. Additionally the decrypted 264 data from the additional chunks may contain a key pair allowing the user 265 at that stage to sign a packet sent to the network to validate them or 266 additionally may preferable self sign their own Id.
267 Therefore, there is no need to have a potentially vulnerable record of the 268 file structure persisting in one place on the distributed system, as the 269 user's node constructs its database of file locations after logging onto the 270 system.
271 There is provided a distributed system comprising; 272 * a storage module adapted to store an encrypted validation record; 273 * a client node comprising a decryption module adapted to decrypt an 274 encrypted validation record so as to provide decrypted information; 275 and 276 * a verifying node comprising: 277 * a receiving module adapted to receive a user identifier; 278 * a retrieving module adapted to retrieve from the storage module an 279 encrypted validation record identified by the user identifier; 280 * a transmitting module adapted to transmit the encrypted validation 281 record to the client node; and 282 * an authentication module adapted to authenticate access to data in 283 the distributed file system using the decrypted information from the 284 client node.
285 The client node is further adapted to generate the user identifier using a 286 hash. The authentication module is further adapted to authenticate 287 access by digitally sign the user identifier. The signed user identifier is 288 used as a session passport to authenticate a plurality of accesses by the 289 client node to the distributed system. The decryption module is further 290 adapted to decrypt an address in the distributed system of a first chunk of 291 data from the validation record and the authentication module is further 292 adapted to authenticate access by determining the existence of the first 293 chunk at the address. The client node is further adapted to use the 294 content of the first chunk to obtain further authentication chunks from the 295 distributed system.
296 There is provided at least one computer program comprising program 297 instructions for causing at least one computer to perform. One computer 298 program is embodied on a recording medium or read-only memory, 299 stored in at least one computer memory, or carried on an electrical 300 carrier signal.
301 Additionally there is a check on the system to ensure the user is login 302 into a valid node (software package). This will preferably include the 303 ability of the system to check validity of the running maidsafe.net 304 software by running content hashing or preferably certificate checking of 305 the node and also the code itself.
Linked elements for Anonymous Authentication (Figure 1 -PT4) 306 The Anonymous Authentication invention consists of 3 key functional 307 elements, with a further 6 functional elements being linked with.
308 The key functional elements are: 309 P12-Logon 310 P13 -Provision of Key Pairs 311 P14 -Validation 312 The linked functional elements are: 313 P8 -Encryption / Decryption 314 P19 -Document Signing 315 P17 -Provision of Public ID 316 P1-Peer Ranking 317 P24 -Anonymous Transactions 318 P25 -Anonymity 319 Anonymous authentication as described in this invention provides a 320 mechanism for logon to a network to attain resources (P12). As part of 321 this procedure a system should validate (P14) the user to ensure it's 322 really them, in this case the validation is carried out by the user being 323 able to retrieve and use the key pair (P13) he created and subsequently 324 signed an identifier chunk that exists on the distributed network with the 325 ability to sign additional requests with the private key that signed the 326 identifier chunk or preferably is linked to the public key in the identifier 327 chunk (preferably also signed).
328 Having validated on the network (P14) the user can then become part of 329 a larger distributed network of services and be validated anonymously 330 (P25) using a system of peer ranking (P1) and or preferably a system of bc 331 effort or preferably trust based level on the network. This will allow many 332 features to be used including carrying out anonymous transactions (P24).
333 Having received a key pair (P13) an anonymous user can now create 334 another key pair and ID which can become public (P17) for use of such 335 things as messaging systems or document signing (P18). The keys also 336 allow asymmetric encryption and decryption (P8) and the ability to unlock 337 any network data sent to the user encrypted with the users public key.
Self Authentication Detail (Figure 2) 338 1. A computer program consisting of a user interface and a chunk server (a 339 system to process anonymous chunks of data) should be running, if not 340 they are started when user selects an icon or other means of starting the 341 program.
342 2. A user will input some data known to them such as a use rid (random ID) 343 and PIN number in this case. These pieces of information may be 344 concatenated together and hashed to create a unique (which may be 345 confirmed via a search) identifier. In this case this is called the MID 346 (maidsafe.net ID) 347 3. A TMID (Today's MID) is retrieved from the network, the TMID is then 348 calculated as follows: 349 The TMID is a single use or single day ID that is constantly changed.
350 This allows maidsafe.net to calculate the hash based on the user ID pin 351 and another known variable which is calculable. For this variable we use 352 a day variable for now and this is the number of days since epoch 353 (01/01/1 970). This allows for a new ID daily, which assists in maintaining 354 the anonymity of the user. This TMID will create a temporary key pair to 355 sign the database chunks and accept a challenge response from the ( 356 holder of these db chunks. After retrieval and generation of a new key 357 pair the db is put again in new locations -rendering everything that was 358 contained in the TMID chunk useless. The TMID CANNOT be signed by 359 anyone (therefore hackers can't BAN an unsigned user from retrieving 360 this -in a DOS attack)-it is a special chunk where the data hash does 361 NOT match the name of the chunk (as the name is a random number 362 calculated by hashing other information (i.e. its a hash of the TMID as 363 described below) 364 * take dave as user ID and 1267 as pin.
365 * dave + (pin) 1267 = davel267 Hash of this becomes MID 366 * day variable (say today is 13416 since epoch) = 13416 367 * so take pin, and for example add the number in where the pin states 368 i.e. 369 * 613dav41e1267 370 * (6 at beginning is going round pin again) 371 * so this is done by taking 1st pin 1 -so put first day value at position 1 372 * then next pin number 2 -so day value 2 at position 2 373 * then next pin number 6 so day value 3 at position 6 374 * then next pin number 7 so day value 4 at position 7 375 * then next pin number is 1 so day value 5 at position 1 (again) 376 * so TMID is hash of 613dav41e1267 and the MID is simply a hash of 377 davel267 378 (This is an example algorithm and many more can be used to enforce 379 further security.) 380 4. From the TMID chunk the map of the user's database (or list of files 381 maps) is identified. The database is recovered from the net which 382 includes the data maps for the user and any keys passwords etc.. The 383 database chunks are stored in another location immediately and the old 384 chunks forgotten. This can be done now as the MID key pair is also in 385 the database and can now be used to manipulate user's data.
386 5. The maidsafe.net application can now authenticate itself as acting for 387 this MID and put get or forget data chunks belonging to the user.
388 6. The watcher process and Chunk server always have access to the PMID 389 key pair as they are stored on the machine itself, so can start and 390 receive and authenticate anonymous put / get I forget commands.
391 7. A DHT ID is required for a node n a DHT network this may be randomly 392 generated or in fact we can use the hash of the PMID public key to 393 identify the node.
394 8. When the users successfully logged in he can check his authentication 395 validation records exist on the network. These may be as follows: MAID (maidsafe.net anonymous ID) 396 1. This is a data element stored on net and preferably named with the hash 397 of the MID public Key.
398 2. It contains the MID public key + any PMID public keys associated with 399 this user.
400 3. This is digitally signed with the MID private key to prevent forgery.
401 4. Using this mechanism this allows validation of MID signatures by 402 allowing any users access to this data element and checking the 403 signature of it against any challenge response from any node pertaining 404 to be this MID (as only the MID owner has the private key that signs this 405 MID) Any crook could not create the private key to match to the public
I---
406 key to digitally sign so forgery is made impossible given today's 407 computer resources.
408 5. This mechanism also allows a user to add or remove PMIDS (or chunk 409 servers acting on their behalf like a proxy) at will and replace PMID's at 410 anytime in case of the PMID machine becoming compromised.
41 1 Therefore this can be seen as the PMID authentication element.
PMID (Proxy MID) 412 1. This is a data element stored on the network and preferably named with 413 the hash of the PMID public key.
414 2. It contains the PMID public key and the MID ID (i.e. the hash of the MID 415 public key) and is signed by the MID private key (authenticated).
416 3. This allows a machine to act as a repository for anonymous chunks and 417 supply resources to the net fora MID.
418 4. When answering challenge responses any other machine will confirm the 419 PMID by seeking and checking the MIAD for the PMID and making sure 420 the PMID is mentioned in the MAID bit -otherwise the PMID is 421 considered rouge.
422 5. The key pair is stored on the machine itself and may be encoded or 423 encrypted against a password that has to be entered upon start-up 424 (optionally) in the case of a proxy provider who wishes to further 425 enhance PMID security.
426 6. The design allows for recovery from attack and theft of the PMID key pair 427 as the MAID data element can simply remove the PMID ID from the 428 MAID rendering it unauthenticated.
429 Figure 3 illustrates, in schematic form, a peer-to-peer network in 430 accordance with an embodiment of the invention; and 431 Figure 4 illustrates a flow chart of the authentication, in accordance with 432 a preferred embodiment of the present invention.
433 With reference to Figure 3, a peer-to-peer network 2 is shown with nodes 434 4 to 12 connected by a communication network 14. The nodes may be 435 Personal Computers (PCs) or any other device that can perform the 436 processing, communication and/or storage operations required to 437 operate the invention. The file system will typically have many more 438 nodes of all types than shown in Figure 3 and a PC may act as one or 439 many types of node described herein. Data nodes 4 and 6 store chunks 440 16 of files in the distributed system. The validation record node 8 has a 441 storage module 18 for storing encrypted validation records identified by a 442 user identifier.
443 The client node 10 has a module 20 for input and generation of user 444 identifiers. It also has a decryption module 22 for decrypting an encrypted 445 validation record so as to provide decrypted information, a database or 446 data map of chunk locations 24 and storage 26 for retrieved chunks and 447 files assembled from the retrieved chunks.
448 The verifying node 12 has a receiving module 28 for receiving a user 449 identifier from the client node. The retrieving module 30 is configured to 450 retrieve from the data node an encrypted validation record identified by 451 the user identifier. Alternatively, in the preferred embodiment, the 452 validation record node 8 is the same node as the verifying node 12, i.e. 453 the storage module 18 is part of the verifying node 12 (not as shown in 454 Figure 3). The transmitting module 32 sends the encrypted validation 455 record to the client node. The authentication module 34 authenticates 456 access to chunks of datadistributed across the data nodes using the 457 decrypted information.
458 With reference to Figure 4, a more detailed flow of the operation of the 459 present invention is shown laid out on the diagram with the steps being 460 performed at the User's PC (client node) on the left 40, those of the 461 verifying PC (node) in the centre 42 and those of the data PC (node) on 462 the right 44.
463 A login box is presented 46 that requires the user's name or other detail 464 Preferably email address (the same one used in the client node software 465 installation and registration process) or simply name (i.e. nickname) and 466 the user's unique number, preferably PIN number. If the user is a main 467 user' then some details may already be stored on the PC. If the user is a 468 visitor, then the login box appears.
469 A content hashed number such as SHA (Secure Hash Algorithm), 470 Preferably 160 bits in length, is created 48 from these two items of data.
471 This hash' is now known as the User ID Key' (MID), which at this point is 472 classed as unverified' within the system. This is stored on the network as 473 the MAID and is simply the hash of the public key containing an 474 unencrypted version of the public key for later validation by any other 475 node. This obviates the requirement for a validation authority 476 The software on the user's PC then combines this MID with a standard 477 hello' code element 50, to create 52 a hello.packet'. This hello.packet is 478 then transmitted with a timed validity on the Internet.
479 The hello.packet will be picked up by the first node (for this description, 480 now called the verifying node') that recognises 54 the User ID Key 481 element of the hello.packet as matching a stored, encrypted validation 482 record file 56 that it has in its storage area. A login attempt monitoring 483 system ensures a maximum of three responses. Upon to many attempts, L0 484 the verifying PC creates a black list' for transmission to peers.
485 Optionally, an alert is returned to the user if a black list' entry is found 486 and the user may be asked to proceed or perform a virus check.
487 The verifying node then returns this encrypted validation record file to the 488 user via the internet. The user's pass phrase 58 is requested by a dialog 489 box 60, which then will allow decryption of this validation record file.
490 When the validation record file is decrypted 62, the first data chunk 491 details, including a decrypted address', are extracted 64 and the user PC 492 sends back a request 66 to the verifying node for it to initiate a query for 493 the first file-chunk ID' at the decrypted address' that it has extracted 494 from the decrypted validation record file, or preferably the data map of 495 the database chunks to recreate the database and provide access to the 496 key pair associated with this MID.
497 The verifying node then acts as a relay node' and initiates a notify only' 498 query for this file-chunk ID' at the decrypted address'.
499 Given that some other node (for this embodiment, called the data node') 500 has recognised 68 this request and has sent back a valid notification 501 only' message 70 that a file-chunk ID' corresponding to the request sent 502 by the verifying node does indeed exist, the verifying node then digitally 503 signs 72 the initial User ID Key, which is then sent back to the user.
504 On reception by the user 74, this verified User ID Key is used as the 505 user's session passport. The user's PC proceeds to construct 76 the 506 database of the file system as backed up by the user onto the network.
507 This database describes the location of all chunks that make up the 508 user's file system. Preferably the ID Key will contain irrefutable evidence 509 such as a public/private key pair to allow signing onto the network as 510 authorised users, preferably this is a case of self signing his or her own 511 ID -in which case the ID Key is decrypted and user is valid -self 512 validating.
513 Further details of the embodiment will now be described. A proxy-514 controlled' handshake routine is employed through an encrypted point-to- 515 point channel, to ensure only authorised access by the legal owner to the 516 system, then to the user's file storage database, then to the files therein.
517 The handshaking check is initiated from the PC that a user logs on to 518 (the User PC'), by generating the unverified encrypted hash' known as 519 the User ID Key', this preferably being created from the user's 520 information preferably email address and their PIN number. This hash' 521 is transmitted as a hello.packet' on the Internet, to be picked up by any 522 system that recognises the User ID as being associated with specific 523 data that it holds. This PC then becomes the verifying PC' and will 524 initially act as the User PC's gateway' into the system during the 525 authentication process. The encrypted item of data held by the verifying 526 PC will temporarily be used as a validation record', it being directly 527 associated with the user's identity and holding the specific address of a 528 number of data chunks belonging to the user and which are located 529 elsewhere in the peer-to-peer distributed file system. This validation 530 record' is returned to the User PC for decryption, with the expectation 531 that only the legal user can supply the specific information that will allow 532 its accurate decryption.
533 Preferably this data may be a signed response being given back to the 534 validating node which is possible as the id chunk when decrypted 535 (preferably symmetrically) contains the users public and private keys 536 allowing non refutable signing of data packets.
537 Preferably after successful decryption of the TMID packet (as described 538 above) the machine will now have access to the data map of the 539 database and public/private key pair allowing unfettered access to the 540 system.
541 It should be noted that in this embodiment, preferably no communication 542 is carried out via any nodes without an encrypted channel such as TLS 543 (Transport Layer Security) or SSL (Secure Sockets Layer) being set up 544 first. A peer talks to another peer via an encrypted channel and the other 545 peer (proxy) requests the information (e.g. for some space to save 546 information on or for the retrieval of a file). An encrypted link is formed 547 between all peers at each end of communications and also through the 548 proxy during the authentication process. This effectively bans snoopers 549 from detecting who is talking to whom and also what is being sent or 550 retrieved. The initial handshake for self authentication is also over an 551 encrypted link.
552 Secure connection is provided via certificate passing nodes, in a manner 553 that does not require intervention, with each node being validated by 554 another, where any invalid event or data, for whatever reason (fraud 555 detection, snooping from node or any invalid algorithms that catch the 556 node) will invalidate the chain created by the node. This is all transparent 557 to the user.
558 Further modifications and improvements may be added without departing 559 from the scope of the invention herein described.
560 Figure 5 illustrates a flow chart of data assurance event sequence in 561 accordance with first embodiment of this invention 562 Figure 6 illustrates a flow chart of file chunking event sequence in 563 accordance with second embodiment of this invention 564 Figure 7 illustrates a schematic diagram of file chunking example 565 Figure 8 illustrates a flow chart of self healing event sequence 566 Figure 9 illustrates a flow chart of peer ranking event sequence 567 Figure 10 illustrates a flow chart of duplicate removal event sequence 568 With reference to Figure 5, guaranteed accessibility to user data by data 569 assurance is demonstrated by flow chart. The data is copied to at least 570 three disparate locations at step (10). The disparate locations store data 571 with an appendix pointing to the other two locations by step (20) and is 572 renamed with hash of contents. Preferably this action is managed by 573 another node i.e. super node acting as an intermediary by step (30).
574 Each local copy at user's PC is checked for validity by integrity test by 575 step (40) and in addition validity checks by integrity test are made that 576 the other 2 copies are also still ok by step (50).
577 Any single node failure initiates a replacement copy of equivalent leaf 578 node being made in another disparate location by step (60) and the other 579 remaining copies are updated to reflect this change to reflect the newly 580 added replacement leaf node by step (70).
581 The steps of storing and retrieving are carried out via other network 582 nodes to mask the initiator (30).
583 The method further comprises the step of renaming all files with a hash 584 of their contents.
585 Therefore, each file can be checked for validity or tampering by running a 586 content hashing algorithm such as (for example) MD5 or an SHA variant, 587 the result of this being compared with the name of the file.
588 With reference to Figure 6, provides a methodology to manageable sized 589 data elements and to enable a complimentary data structure for and 590 compression and encryption and the step is to file chunking. By user's 591 pre-selection the nominated data elements (files are passed to chunking 592 process. Each data element (file) is split into small chunks by step (80) 593 and the data chunks are encrypted by step (90) to provide security for the 594 data. The data chunks are stored locally at step (100) ready for network 595 transfer of copies. Only the person or the group, to whom the overall data 596 belongs, will know the location of these (100) or the other related but 597 dissimilar chunks of data. All operations are conducted within the user's 598 local system. No data is presented externally.
599 Each of the above chunks does not contain location information for any 600 other dissimilar chunks. This provides for, security of data content, a 601 basis for integrity checking and redundancy.
602 The method further comprises the step of only allowing the person (or 603 group) to whom the data belongs, to have access to it, preferably via a 604 shared encryption technique. This allows persistence of data.
605 The checking of data or chunks of data between machines is carried out 606 via any presence type protocol such as a distributed hash table network.
607 On the occasion when all data chunks have been relocated (i.e. the user 608 has not logged on for a while,) a redirection record is created and stored 609 in the super node network, (a three copy process -similar to data) 610 therefore when a user requests a check, the redirection record is given to 611 the user to update their database.
612 This efficiently allows data resilience in cases where network churn is a 613 problem as in peer to peer or distributed networks.
614 With reference to Figure 7 which illustrates flow chart example of file 615 chunking. User's normal file has 5Mb document, which is chunked into 616 smaller variable sizes e.g. 135kb, 512kb, 768kb in any order. All chunks 617 may be compressed and encrypted by using Pass phrase. Next step is to 618 individually hash chunks and given hashes as names. Then database 619 record as a file is made from names of hashed chunks brought together 620 e.g. in empty version of original file (Cl /111/I II II II II II,tl,t2,t3: 621 C211111111h! II II II,tl,t2,t3 etc), this file is then sent to transmission queue in 622 storage space allocated to client application.
623 With reference to Figure 8 provides a self healing event sequence 624 methodology. Self healing is required to guarantee availability of accurate 625 data. As data or chunks become invalid by failing integrity test by step 626 (110). The location of failing data chunks is assessed as unreliable and 627 further data from the leaf node is ignored from that location by step (120).
628 A Good Copy' from the known good' data chunk is recreated in a new 629 and equivalent leaf node. Data or chunks are recreated in a new and 630 safer location by step (130). The leaf node with failing data chunks is 631 marked as unreliable and the data therein as dirty' by step (140). Peer 632 leaf nodes become aware of this unreliable leaf node and add its location 633 to watch list by step (150). All operations conducted within the user's 634 local system. No data is presented externally.
635 Therefore, the introduction of viruses, worms etc. will be prevented and 636 faulty machines/ equipment identified automatically.
637 The network will use SSL or TLS type encryption to prevent unauthorised 638 access or snooping.
639 With reference to Figure 9, Peer Ranking id required to ensure consistent 640 response and performance for the level of guaranteed interaction 641 recorded for the user. For Peer Ranking each node (leaf node) monitors 642 its own peer node's resources and availability in a scaleable manner, 643 each leaf node is constantly monitored.
644 Each data store (whether a network service, physical drive etc.) is 645 monitored for availability. A qualified availability ranking is appended to 646 the (leaf) storage node address by consensus of a monitoring super node 647 group by step (160). A ranking figure will be appended by step (160) and 648 signed by the supply of a key from the monitoring super node; this would 649 preferably be agreed by more super nodes to establish a consensus for 650 altering the ranking of the node. The new rank will preferably be 651 appended to the node address or by a similar mechanism to allow the 652 node to be managed preferably in terms of what is stored there and how 653 many copies there has to be of the data for it to be seen as perpetual.
654 Each piece of data is checked via a content hashing mechanism for data 655 integrity, which is carried out by the storage node itself by step (170) or 656 by its partner nodes via super nodes by step (180) or by instigating node 657 via super nodes by step (190) by retrieval and running the hashing 658 algorithm against that piece of data. The data checking cycle repeats 659 itself.
660 As a peer (whether an instigating node or a partner peer (i.e. one that 661 has same chunk)) checks the data, the super node querying the storage 662 peer will respond with the result of the integrity check and update this 663 status on the storage peer. The instigating node or partner peer will 664 decide to forget this data and will replicate it in a more suitable location.
665 If data fails the integrity check the node itself will be marked as dirty' by 666 step (200) and dirty' status appended to leaf node address to mark it as 667 requiring further checks on the integrity of the data it holds by step (210).
668 Additional checks are carried out on data stored on the leaf node marked 669 as dirty' by step (220). If pre-determined percentage of data found to be 670 dirty' node is removed from the network except for message traffic by 671 step (230). A certain percentage of dirty data being established may 672 conclude that this node is compromised or otherwise damaged and the 673 network would be informed of this. At that point the node will be removed 674 from the network except for the purpose of sending it warning messages 675 by step (230). Ti
676 This allows either having data stored on nodes of equivalent availability 677 and efficiency or dictating the number of copies of data required to 678 maintain reliability.
679 Further modifications and improvements may be added without departing 680 from the scope of the invention herein described.
681 With reference to Figure 10, duplicate data is removed to maximise the 682 efficient use of the disk space. Prior to the initiation of the data backup 683 process by step (240), internally generated content hash may be 684 checked for a match against hashes stored on the internet by step (250) 685 or a list of previously backed up data (250). This will allow only one 686 backed up copy of data to be kept. This reduces the network wide 687 requirement to backup data which has the exact same contents.
688 Notification of shared key existence is passed back to instigating node by 689 step (260) to access authority check requested, which has to pass for 690 signed result is to be passed back to storage node. The storage node 691 passes shared key and database back to instigating node by step (270) 692 Such data is backed up via a shared key which after proof of the file 693 existing (260) on the instigating node, the shared key (270) is shared with 694 this instigating node. The location of the data is then passed to the node 695 for later retrieval if required.
696 This maintains copyright as people can only backup what they prove to 697 have on their systems and not publicly share copyright infringed data 698 openly on the network.
699 This data may be marked as protected or not protected by step (280) 700 which has check carried out for protected or non-protected data content.
701 The protected data ignores sharing process. CIMs

Claims (21)

  1. 702 1. A system of anonymous authentication for data storage or access
    in a 703 distributed network or peer to peer network; 704
  2. 2. An anonymous authentication product for data storage or access in a 705 distributed network or peer to peer network; 706
  3. 3. A system of anonymous authentication with functional linkages of; 707 a. Validation 708 b. Provision of Key Pairs 709 c. Logon 710
  4. 4. A preferred system of claims 3, of anonymous authentication with 711 functional linkages of; 712 a. Validation 713 i) anonymity 714 ii) anonymous transaction 715 iii) peer ranking 716 b. Provision of Key Pairs 717 i) provision of public ID 718 ii) document signing 719 iii) encryption/decryption 720 c. Logon 721
  5. 5. A method of claims 1,2 for anonymous authentication for data storage 722 and access in a distributed network or peer to peer network; 723
  6. 6. A method of claims 1,2 for authenticating access to a distributed network 724 comprising the steps of; 725 a. creating a user identifier; 726 b. retrieving an encrypted validation record identified by the user 727 identifier; 728 c. decrypting the encrypted validation record to provide a decrypted 729 result; 730 d. authenticating access to data in the distributed network using the 731 decrypted result.
    732
  7. 7. A method of claim 6 wherein the steps of receiving, retrieving and 733 authenticating are performed on a node in the distributed network 734 separate from a node performing the step of decrypting; 735
  8. 8. A method of any of claims 5, 6 or 7 wherein the method further 736 comprises the step of generating the user identifier using a hash of user 737 input data; 738
  9. 9. A method of any previous claim wherein the user identifier is unique and 739 suitable for identifying unique validation records; 740
  10. 10. A method of any previous claim wherein the step of authenticating 741 access further comprises the step of digitally signing the user identifier; 742
  11. 11. A method of claim wherein the method further comprises the step of 743 using the signed user identifier as a session passport to authenticate a 744 plurality of accesses to the distributed network; 745
  12. 12. A method of any previous claim wherein the step of decrypting 746 comprises decrypting an address in the distributed network of a first 747 chunk of data and the step of authenticating access further comprises 748 the step of determining the existence of the first chunk at the address; 749
  13. 13. A method of claim 10 where successful decryption of the ID chunk 750 provides the user with a key pair to sign any requests and to consider the 751 user as being authentic; 752
  14. 14. A method of claim 10 where successful decryption of the ID chunk 753 provides a data map of the data set of user's data and any keys 754 associated with such; 755
  15. 15. A method of claim 12 wherein the method further comprises the step of 756 using the content of the first chunk to obtain further chunks from the 757 distributed network; 758
  16. 16. A method of any previous claim where the user ID is made unique using 759 known changing data such as days since a time in history; 760
  17. 17. A system which provides mechanism for self-authentication 761
  18. 18. A system which upon authentication allows the user access to their 762 resources as with traditional systems except in this case the user need 763 not be known; 764
  19. 19. A method of claim 16 where this variable information is merged or diluted 765 into the user provided data prior to hashing or similar to produce a one 766 time ID to further anonymity; 767
  20. 20. At least one computer program comprising instructions for causing at 768 least one computer to perform the method, system and product 769 according to any of claims 1 to 19; 770
  21. 21. The at least one computer program of claim 20 embodied on a recording 771 medium or read-only memory, stored in at least one computer memory, 772 or carried on an electrical carrier signal.
GB0624061A 2006-12-01 2006-12-01 Anonymous authentication in a distributed or peer-to-peer network Withdrawn GB2446171A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
GB0624061A GB2446171A (en) 2006-12-01 2006-12-01 Anonymous authentication in a distributed or peer-to-peer network
GB0709764A GB2444346A (en) 2006-12-01 2007-05-22 Anonymous authentication in a distributed system
PCT/GB2007/004427 WO2008065344A1 (en) 2006-12-01 2007-11-21 Anonymous authentication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0624061A GB2446171A (en) 2006-12-01 2006-12-01 Anonymous authentication in a distributed or peer-to-peer network

Publications (2)

Publication Number Publication Date
GB0624061D0 GB0624061D0 (en) 2007-01-10
GB2446171A true GB2446171A (en) 2008-08-06

Family

ID=37671716

Family Applications (2)

Application Number Title Priority Date Filing Date
GB0624061A Withdrawn GB2446171A (en) 2006-12-01 2006-12-01 Anonymous authentication in a distributed or peer-to-peer network
GB0709764A Withdrawn GB2444346A (en) 2006-12-01 2007-05-22 Anonymous authentication in a distributed system

Family Applications After (1)

Application Number Title Priority Date Filing Date
GB0709764A Withdrawn GB2444346A (en) 2006-12-01 2007-05-22 Anonymous authentication in a distributed system

Country Status (1)

Country Link
GB (2) GB2446171A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120072732A1 (en) * 2009-06-12 2012-03-22 Canard Sebastien cryptographic method for anonymous authentication and separate identification of a user
CN104636672A (en) * 2015-03-04 2015-05-20 浙江工商大学 Security data reporting method and security data reporting system on basis of Hash trees and anonymity technologies

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201613233D0 (en) * 2016-08-01 2016-09-14 10Am Ltd Data protection system and method
ES2904423B2 (en) 2021-09-22 2023-01-09 Univ Valencia Politecnica DISTRIBUTED LOG METHOD FOR ANONYMOUS ACCESS CONTROL

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
1st International Conference on Availability, Reliability and Security, 2006, (ARES 2006), 20-22 April 2006, "Censorship-resistant and anonymous P2P filesharing", Endsuleit et al. *
5th IEEE International Conference on Peer-to-Peer Computing, 2005 (P2P 2005), 31/08-02/09 2005, pp117-124, "Trusted computing: Providing security for peer-to-peer networks", Balfe S. et al. *
6th International Conference on Parallel and Distributed Computing, Applications and Technologies, 2005, (PDCAT 2005), 5-8 Dec. 2005, pp871-875, "Authentication with controlled anonymity in P2P systems", Wierzbicki A. et al. *
http://www.lix.polytechnique.fr/ïtomc/P2P/Papers/Systems/AP3.pdf, "A security review of an anonymous peer-to-peer file transfer protocol", Lipinski B. et al. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120072732A1 (en) * 2009-06-12 2012-03-22 Canard Sebastien cryptographic method for anonymous authentication and separate identification of a user
US8650403B2 (en) * 2009-06-12 2014-02-11 France Telecom Crytographic method for anonymous authentication and separate identification of a user
CN104636672A (en) * 2015-03-04 2015-05-20 浙江工商大学 Security data reporting method and security data reporting system on basis of Hash trees and anonymity technologies
CN104636672B (en) * 2015-03-04 2017-11-07 浙江工商大学 A kind of secure data reporting system based on Hash tree and anonymity technology

Also Published As

Publication number Publication date
GB0624061D0 (en) 2007-01-10
GB2444346A (en) 2008-06-04
GB0709764D0 (en) 2007-06-27

Similar Documents

Publication Publication Date Title
US20120311339A1 (en) Method for storing data on a peer-to-peer network
US8788803B2 (en) Self-encryption process
US9411976B2 (en) Communication system and method
JP5075236B2 (en) Secure recovery in serverless distributed file system
US20040255137A1 (en) Defending the name space
WO2008065345A1 (en) Cyber cash
GB2444339A (en) Shared access to private files in a distributed network
WO2008065349A1 (en) Worldwide voting system
WO2008065343A1 (en) Shared access to private files
GB2446171A (en) Anonymous authentication in a distributed or peer-to-peer network
US20070266251A1 (en) Circuit Arrangement And Method For Securing Communication Within Communication Networks
Sieka et al. On the security of polling protocols in peer-to-peer systems
WO2008065346A2 (en) Secure messaging and data sharing
WO2008065348A2 (en) Perpetual data
WO2008065344A1 (en) Anonymous authentication
Divac-Krnic et al. Security-Related issues in peer-to-peer networks
AU2012202853B2 (en) Self encryption
CN114615279B (en) Trusted multiparty data collaboration method and system based on blockchain technology
MacQuire et al. Authentication in stealth distributed hash tables
de Bruin et al. Analyzing the Tahoe-LAFS filesystem for privacy friendly replication and file sharing
WO2008065347A2 (en) Mssan
Paul et al. 5G-enabled decentralised services
Vivekanandan et al. Blockchain based Secure Data Storage Verification Algorithm for Smart City Environment
GB2444341A (en) Distributed network messenger system with SPAM filtering, encryption, digital signing and digital contract generation
GB2439969A (en) Perpetual data on a peer to peer network

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)