CN106464732B - 从数据处理设备访问以及提供对于远程资源的访问的方法 - Google Patents

从数据处理设备访问以及提供对于远程资源的访问的方法 Download PDF

Info

Publication number
CN106464732B
CN106464732B CN201580029833.3A CN201580029833A CN106464732B CN 106464732 B CN106464732 B CN 106464732B CN 201580029833 A CN201580029833 A CN 201580029833A CN 106464732 B CN106464732 B CN 106464732B
Authority
CN
China
Prior art keywords
url
resource
remote resource
data
data processing
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.)
Active
Application number
CN201580029833.3A
Other languages
English (en)
Other versions
CN106464732A (zh
Inventor
G·勒夫
M·梅利亚克
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.)
Arm IP Ltd
Original Assignee
Arm IP Ltd
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 Arm IP Ltd filed Critical Arm IP Ltd
Publication of CN106464732A publication Critical patent/CN106464732A/zh
Application granted granted Critical
Publication of CN106464732B publication Critical patent/CN106464732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L9/3247Cryptographic 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 involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2539Hiding addresses; Keeping addresses anonymous
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • G16H10/65ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records stored on portable record carriers, e.g. on smartcards, RFID tags or CD
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H80/00ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • H04L9/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • 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/2107File encryption
    • 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/2119Authenticating web pages, e.g. with suspicious links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Biomedical Technology (AREA)
  • Pathology (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

一种从数据处理设备(2)访问远程资源(4)的方法包括:获得对应于远程资源(4)的第一URL;获得对应于第一URL的秘密数据;利用秘密数据在数据处理设备(2)处生成模糊化URL;以及利用模糊化URL访问远程资源。这就允许设备(2)的用户看到可理解并且提供关于设备的有用信息的第一URL,而不会与网络共享该信息。模糊化URL标识远程资源的实际位置,并且可以是不可理解的数字或字母流。

Description

从数据处理设备访问以及提供对于远程资源的访问的方法
技术领域
本发明的技术涉及数据处理的领域。更具体来说,本发明的技术涉及从数据处理设备访问或者提供对于远程资源的访问。
背景技术
云端计算服务正在变得更加常见。越来越多的设备例如作为“物联网”的一部分连接到云端。举例来说,例如温度传感器、健康护理监测器和电子门锁之类的相对较小的设备可以连接到云端,从而可以利用远程系统对其进行访问和控制。举例来说,可以从远程平台远程开门,或者可以在远程位置处聚合来自温度传感器或健康护理监测器的数据并且从另一台设备进行访问。因此,通过云端平台及其提供商收集的数据的数量越来越多。
但是在为例如云端提供商之类的大公司给出关于个人和个人的设备的数据方面的不信任感也越来越高。当前,当把数据提供给云端服务时,对于用户的个人信息的保护非常之少。然而云端服务仍然是有用的,因此仍然希望能够通过云端与其他设备安全地进行交互。本发明的技术试图提供一种从数据处理设备访问远程资源的更加安全的方法。
发明内容
从一个方面来看,本发明的技术提供一种从数据处理设备访问远程资源的方法,所述方法包括:
获得对应于远程资源的第一统一资源定位符(URL);
获得对应于第一URL的秘密数据;
利用对应于第一URL的秘密数据在数据处理设备处生成模糊化URL,其中模糊化URL用于获得远程资源的实际位置;以及
利用模糊化URL访问远程资源。
本发明的技术认识到,不仅是存储在远程资源处的数据可能包含个人或敏感信息。从中访问资源的URL(统一资源定位符)本身也可能泄露信息。举例来说,用户可能具有这样的设备,所述设备的URL包括关于该设备的类型、牌子、型号、功能或位置的信息,或者关于拥有该设备的用户的信息。类似地,网站可能具有这样的URL,所述URL可能包含描述或暗示运行该网站的人的兴趣或细节的信息。这意味着云端提供商或“大数据”聚合商常常可能对于包括在远程资源的URL中的信息与远程资源的实际数据同样感兴趣。在当前的云端平台中,远程资源的URL对于所有人都开放并且对于云端基础设施是可见的(例如通过发送到服务器的请求),因此潜在地可能导致私有或敏感信息的丢失。为了保持隐私,有可能使用不泄露任何有意义的信息的URL(比如随机的字符串),但是由于随机字符串难以记忆,因此这使得资源更加难以由管理资源的人和其他用户访问。
本发明的技术的方法获得对应于远程资源的第一URL以及与第一URL相关联的秘密数据。第一URL可以是具有关于远程资源处的数据意味着什么的描述性数据的直观URL。可以通过多种方式获得第一URL,比如通过由设备的用户键入URL,通过点击来自电子邮件或其他网站的链接,或者通过由设备访问先前存储的URL或者永久性地嵌入在设备中的URL。利用秘密数据,数据处理设备随后生成用于获得远程资源的实际位置的模糊化URL。模糊化URL随后被用来访问远程资源。
因此,远程资源的实际位置由模糊化URL标识,其可以是不会泄露关于用户或用户的设备的任何个人信息的任何随机字符串(例如http://domain/a18b828f829e9...)。从云端基础设施、服务器以及云端提供或“大数据”聚合公司的观点来看,远程资源可以仅通过模糊化URL来标识,从而使得URL不会泄露敏感信息。然而第一URL可被数据处理设备使用来标识远程资源。第一URL可以是看起来更自然的URL(例如http://domain/hea1th/alicesmith/bloodpressure/...),其例如具有允许远程资源的经过授权的用户直观地理解特定URL处的数据表示什么以及所述URL如何与其他URL相关的结构。秘密数据允许在数据处理设备处把第一URL映射到相应的模糊化URL,从而使得第一URL不需要为网络基础设施所知。
远程资源可以对应于由数据处理设备远程访问的任何数据或设备。举例来说,远程资源可以包括:可以从另一平台远程控制的数据处理设备或嵌入式系统;接收由数据处理设备张贴的数据的远程计算机、内容聚合器、服务器或云端平台;或者从数据处理设备访问的网站或服务器。对于远程资源的访问例如可以包括:把数据写入到远程资源,从远程资源读取数据,以及/或者指示与远程资源相关联的设备实施动作。
远程资源处的数据可以被加密。举例来说,可以利用与用于第一URL的秘密数据包括在一起的加密密钥对从数据处理设备发送到远程资源的任何数据进行加密。这意味着标识远程资源的URL和远程资源处的数据都被模糊化,从而使得网络基础设施或云端运营商对于与资源相关联的任何敏感信息没有可见性。如果模糊化URL是利用秘密密钥生成的,则相同的密钥可以被用于对数据进行加密以及生成模糊化URL,或者可以提供不同的密钥以用于分别生成模糊化URL和已加密数据。用于加密的密钥可以被本地保持在设备处或者从另一个位置获得。
一般来说,第一URL对于数据处理设备的用户可以是可见的。也就是说,第一URL可以是由用户使用来标识远程资源的URL。但是第一URL不一定需要被显示在数据处理设备本身上。举例来说,家庭供热系统内的温度传感器可以连接到云端,从而可以把温度数据张贴到通过模糊化URL标识的远程资源,但是可以不具有用户能够在其上看到第一URL的显示器。用户可以通过单独的设备具有对于第一URL的可见性,所述单独的设备比如是用户家中的本地供热控制器,其例如通过无线信号与温度传感器进行通信。
在许多情况下,第一URL可以不标识网络上的远程资源的任何实际位置。因此,如果无法生成模糊化URL的设备(例如其不具有用于第一URL的秘密数据)尝试访问第一URL,则访问将失败。举例来说,由于无法找到通过第一URL标识的资源,因此可以出现http 404错误消息。通过不提供对应于第一URL的网络上的任何真实位置,可以保持安全性。
还有可能使得第一URL标识真实网络位置,但是其对应于与利用模糊化URL访问的远程资源不同的远程资源,或者对应于与模糊化URL相同的远程资源。举例来说,取决于用户是否具有允许生成模糊化URL的秘密密钥,可以提供内容的不同版本。此外,在某些情况下,对应于第一URL的远程资源可能已经通过第一URL被在线标识。举例来说,被设计成不使用本发明的技术的传统网站可能已经具有包含直观信息的URL。如果传统资源突然被移动到模糊化URL的位置以改进隐私/安全性,则资源管理器可能会丢失无法再找到旧的资源的用户或顾客。因此,可能有用的是使得达到本发明的技术的转变是更加渐进性的。首先,第一URL处的传统资源可以与模糊化URL处的更加安全的资源并行地操作,从而使得第一URL将在一段时间内对应于真实网络位置。一旦为足够多的用户/设备提供了允许其找到模糊化URL的秘密数据,随后可以使得传统资源离线,此时第一URL将不再指向真实位置。
希望从秘密数据生成模糊化URL时使得无法利用秘密数据从模糊化URL获得第一URL。也就是说,秘密数据可以包含足够的信息以允许数据处理设备生成对应于第一URL的模糊化URL,但是没有足够的信息使得某一方从模糊化URL获得第一URL。
在某些情况下,可以通过利用秘密数据把第一URL变换成模糊化URL而生成模糊化URL。举例来说,秘密数据可以包括秘密密钥,并且可以通过利用所述密钥对第一URL进行加密而生成模糊化URL。举例来说,可以使用单向变换(比如md5或者SHA(安全散列算法)系列变换当中的一种)基于在秘密数据中获得的秘密串对第一URL进行散列。即使某人具有模糊化URL和秘密串,其也不可能确定被用来生成模糊化URL的第一URL。
还有可能基于包括在秘密数据中的信息生成模糊化URL。模糊化URL的生成可以独立于第一URL的特定字符值,也就是说模糊化URL不是第一URL的变换,而是可以仅仅基于包括在秘密数据中的信息。在这种情况下,访问第一URL的尝试可以触发生成模糊化URL,但是第一URL本身不是用于模糊化URL生成的输入。举例来说,秘密数据可以包括模糊化URL本身,因此不需要变换。或者,秘密数据可以包括可以被变换成模糊化URL的一个或多个秘密串或值。不管是哪一种情况,即使某人具有模糊化URL和秘密数据,这都不会提供关于第一URL的任何信息。
此外,在某些情况下,秘密数据可以是第一URL本身的一部分(例如第一URL内的代码或字符串),并且可以通过对第一URL应用散列或其他变换而生成模糊化URL。此外,秘密数据可以是定义将被应用于第一URL以生成模糊化URL的散列算法的数据。秘密数据可以由设备保存在本地,或者可以从网站或其他远程资源获得。
可以为不同的数据处理设备分配对应于相同的第一URL的不同秘密数据。因此,当不同的设备访问相同的第一URL时,该第一URL被利用不同的秘密数据映射到不同的模糊化URL,从而由对应的设备访问不同的远程资源。这对于允许向不同的用户或用户群组提供不同的内容或者相同内容的不同表示来说是非常有用的。每一位用户或每一个群组可以使用相同的第一URL,因此可能不知道为其给出了与其他用户不同的内容视图。不同的模糊化URL可以对应于完全不同的资源,或者对应于共同的远程资源的不同部分或子集。举例来说,可能希望为一些用户群组给出对于整个资源的访问,而其他用户群组则只能看到资源的所选部分。此外,一些用户可以能够看到高分辨率数据(例如完全尺寸图像或者常常被采样的时间序列数据),其他用户则看到更低分辨率的数据(例如压缩图像或者采样频率更低的时间序列数据)。
模糊化URL可以标识将要访问的远程资源的实际位置。因此,一旦生成了模糊化URL,数据处理设备就可以简单地访问通过模糊化URL标识的位置。
但是如果需要使得资源的不同版本可由不同的用户或用户群组访问,则这种方法可能不够高效,这是因为资源管理器可能需要在不同的URL处保持数据的多份拷贝,从而增加了与更新或保持资源相关联的开销。
因此,可能更加高效的是使得模糊化URL标识密钥节点资源的位置,所述密钥节点资源包括用于获得标识远程资源本身的资源URL的数据。因此,秘密数据把第一URL映射到相应的模糊化URL,其被用来访问密钥节点资源。密钥节点资源随后给出把设备重定向到远程资源的资源URL的另外的数据。密钥节点资源处的数据例如可以包括资源URL本身,用于计算资源URL的数据,或者标识可以从该处获得资源URL的另一个远程位置的数据。因此,如果对于不同的用户需要资源的不同表示,则可以为每一位用户提供不同的密钥节点资源,但是不同的密钥节点可以把用户引导到共同的资源URL,从而使得没有必要保持远程资源本身的多个版本。与模糊化URL的情况一样,资源URL也可以是不包含敏感信息的不可理解的URL。
密钥节点资源可以包括用于在远程资源处解密数据的信息。
密钥节点资源还可以简化用户或用户群组对于资源的访问的撤销。如果模糊化URL直接标识远程资源,则撤销用户的访问可能需要把远程资源移动到新的位置,并且向需要继续访问资源的其他用户提供新的秘密数据,以便允许这些用户生成新的模糊化URL。这是相对复杂的操作。
一种更加高效的方法可以是为每一位用户提供通过利用不同的秘密数据生成的模糊化URL所标识的密钥节点资源。为了撤销用户或者整个用户群组的访问,简单地移除用于该用户或用户群组的密钥节点资源。这意味着如果被撤销的用户或者被撤销的群组当中的用户尝试访问远程资源,则利用相应的秘密数据生成的模糊化URL将不再映射到真实位置,因此访问将失败,从而防止资源的真实URL被访问。这样就使得不再需要迁移资源本身或者向经过授权的用户重新分发新的秘密。
密钥节点资源还简化了群组内的所选用户对于资源的访问的撤销,同时对于该群组的其他成员保持对于资源的访问。这可以通过以下操作实现:为所选择的用户群组生成新的群组秘密数据,向除了所选用户之外的群组用户提供对于新的秘密数据的访问,创建通过利用新的群组秘密数据生成的新的模糊化URL所标识的新的密钥节点资源,所述新的密钥节点资源包括用于获得远程资源的资源URL的数据,以及使得先前对应于所选择的用户群组的密钥节点资源不可访问。这意味着不具有新的秘密数据的所选用户将不会成功地到达允许访问远程资源的密钥节点资源。
秘密数据可以被本地存储在数据处理设备处,或者从另一位置获得。秘密数据在后面可以被称作“站点秘密”或“秘密”。
相同的秘密可以被用于访问多于一项远程资源(例如某一方可以提供用于访问由该方保持的所有URL的单个秘密)。因此,当设备遇到新的URL时,还可以提供新的秘密,但是这并不是至关重要的,因为设备可能已经拥有了适用于该URL的秘密。
数据处理设备可以能够访问对应于相同资源的多项秘密。举例来说,可以有对于不同类别的用户所许可的不同类型的访问,并且单个用户可以属于几个重叠的类别。举例来说,用户可以具有个人秘密以及对应于该用户作为其成员的用户群组的群组秘密,以及/或者可以由任何人使用的通用秘密。多项秘密可以被本地存储在数据处理设备处。
可以向数据处理设备提供扩展URL(例如作为用于第一URL的秘密数据的一部分),其标识可以从该处获得另外的秘密数据的位置。使用扩展URL简化了群组秘密的分发,从而例如允许在无须直接联系群组的每一位成员的情况下改变秘密。
数据处理设备随后可以尝试访问利用每一项秘密生成的不同的模糊化URL。在某些情况下,数据处理设备可以尝试访问一项模糊化URL,如果没有成功,则尝试利用不同的秘密生成的另一项模糊化URL,并且继续尝试直到访问成功或者尝试过所有秘密为止。举例来说,秘密可以具有预定的秘密分级结构,其设定数据处理设备应当尝试访问各项模糊化URL的顺序。举例来说,个人秘密可以取得优先权,随后是至少一项群组秘密,并且随后是通用秘密。或者,为了改进性能,数据处理设备在预期到一些访问可能会失败的情况下可以尝试同时访问几台设备(这可以比顺序地尝试每一台设备更快)。类似的秘密分级结构可以决定在多项访问成功的情况下应当为哪一项秘密赋予优先权。
在某些情况下,提供给数据处理设备的秘密密钥可以具有相关联的条件,其用于决定是否可以使用秘密数据准许对于远程资源的访问。举例来说,可以定义秘密范围,其标识秘密所适用的域、子域、文件夹或者站点或资源总集的指定部分。在这种情况下,如果其不处在范围参数内,则使用秘密的访问可能会失败。使用特定秘密访问的资源可以对应于总体网站或资源总集的仅仅一部分,并且对于远程资源的其他部分可能需要其他秘密。包括在秘密数据中的访问条件的另一个实例可以是时间约束,从而只有在指定的时间窗口或时间段内才可以成功地访问远程资源。
存储在远程资源处的数据或者发送到资源的事务可以被高速缓存在数据处理设备与远程资源之间的网络节点处。举例来说,用于把数据写入到资源的写入事务可以在其行经网络时被高速缓存。由于利用本发明的技术可以使得数据和远程资源的URL都是匿名的,因此这消除了当数据被第三方持有时会损失隐私的任何风险。这开放(free up)了在多个地方高速缓存用于远程资源的数据或事务的选项,因此出于性能或可靠性原因可能是非常有用的。举例来说,即使远程资源本身不可用(例如设备可能在大多数时间操作在节电状态下,并且可能仅仅周期性地醒来),也可以从高速缓存器或代理读取其数据,因此没有必要等待资源再次变为可用。此外,如果来自资源的数据在多个地方可用,则在对其进行访问时可以从具有最低预期事务成本(这例如可以基于时间或能量来确定)的位置获得数据。类似地,当针对远程资源发送事务并且对于事务有多个通信信道可用时,可以选择具有最低相关联的成本的信道(例如可以选择Bluetooth、WiFi、3G或有线连接的其中之一)。
还可以在不同协议(例如HTTP和COAP)或不同通信介质(例如Bluetooth和WiFi)之间的边界处代理数据和事务。如果数据处理设备和与远程资源相关联的设备使用不同的协议或介质进行通信,则翻译代理(例如路由器)可以桥接二者之间的间隙而不会损失安全性/隐私。
数据处理设备本身或者数据处理设备与远程资源之间的中间网络节点可以具有事务队列,其用于把将要发送到与远程资源相关联的设备的事务排成队列。与远程资源相关联的设备在某些情况下可以是提供远程资源的设备本身,或者是控制远程资源的另一设备。与远程资源相关联的设备可以在其准备好处理事务时从事务队列中拉取事务。事务队列中的事务可以被加密以保持安全性。事务队列是有用的是因为其允许数据处理设备和与远程资源相关联的设备异步地通信。即使数据处理设备和与远程资源相关联的设备不同时处于活跃状态,数据处理设备也可以把事务张贴到队列,并且与远程资源相关联的设备可以在其下一次醒来时从队列中拉取事务。
一些设备既可以充当用于访问远程资源的数据处理设备,也可以充当与将由另一台设备访问的远程资源相关联的设备。
在指示使用远程资源实施指定操作时,数据处理设备可能必须证明其身份,从而使得未经授权的设备无法按照不适当的方式控制远程资源。因此,数据处理设备可以具有或者能够获得用于验证该数据处理设备有权指示使用远程资源实施指定操作的认证信息。认证信息例如可以包括与数据处理设备相关联的证书和/或公共密钥,其验证发送事务的设备的身份。当接收到事务时,与远程资源相关联的设备随后可以检查认证信息并且验证是否允许实施指定操作。
认证信息可以规定有效性信息,所述有效性信息规定认证信息何时是有效的(例如认证信息的有效性可以在给定时间段结束时到期)。此外,认证信息可以定义许可信息,所述许可信息规定哪些操作被允许由数据处理设备指示。这就允许对于使用资源的不同操作授予不同的访问权。举例来说,设备可以被允许读取数据而不被允许进行写入。
在某些情况下,可以由与资源相关联的设备从在发送自数据处理设备的事务中规定的认证URL获得认证信息。因此,数据处理设备不需要提供认证信息本身,而是可以规定可从该处保持认证信息的位置。举例来说,认证URL可以属于发证机构。这种方法使得相对较小的数据处理设备更容易控制远程资源,这是因为数据处理设备不必传送证书或其他认证信息。
在某些情况下,认证URL可以是标识数据处理设备本身的URL,或者可以标识不同的位置。
认证URL可以具有利用由数据处理设备持有的认证信息的至少一部分生成的指纹部分。这意味着针对远程资源发出事务的设备只有在已经有权访问认证信息的情况下才能成功,否则其将无法把与远程资源相关联的设备引导到用于认证信息的正确的认证URL。举例来说,指纹可以是认证信息的证书的一部分的散列,或者是利用公共密钥加密的值。指纹提供关于认证信息的正确版本已被提供并且自从其被创作之后没有被修改过的保证。举例来说,如果某一方的网站域被移交给另外的某人,由于指纹将不匹配,其无法张贴“https://my-site/certs/geraint/12b274a”的有效新版本。
在某些情况下,可能有验证设备被授权控制远程资源所需的认证信息链。举例来说,一个发证机构可以批准另一机构发出证书,因此被第二机构授权的各方可能需要引用由两个证书机构发出的证书以得到验证。在这种情况下,可以从所述链中的每一项认证信息导出认证URL指纹,以便确保只有具有所述链的所有链接的某人才能被认证以控制资源。
与远程资源相关联的设备可以通过与被用来传送事务的通信信道不同的通信信道从认证URL获得认证信息。举例来说,数据处理设备可以通过在一个信道上(例如Bluetooth)提交事务而向门设备(其充当远程资源)发出事务。数据处理设备可以在事务中引用认证URL(例如http://abc.xyz.com/ufo7ZxhqJRwpI),从而使得门设备可以获得认证凭证。但是按照这种方式通过Bluetooth从设备到门获得这些凭证可能是低效、缓慢或者在其他方面不合期望的,因此相反门可以使用某一其他不相关的路由(例如家庭路由器或有线连接)来获取凭证。
数据处理设备的认证信息可以由至少一个网络节点高速缓存。与远程资源相关联的设备可以使用高速缓存的认证信息来验证数据处理设备有权指示使用远程资源实施指定的操作。这就允许比认证凭证总是必须来源于认证URL的情况更加快速地获得认证凭证。高速缓存认证信息的节点可以属于与操作认证URL的一方和数据处理设备的用户不同的一方。
认证信息可以分开定义有效性信息和可高速缓存性信息,其中有效性信息规定认证信息是有效的时间段,可高速缓存性信息规定认证信息可以被高速缓存在网络中的时间段。可高速缓存性信息可以规定比设定在有效性信息中的时段更短的用于高速缓存的时段。这意味着在认证信息保持有效的同时,认证信息的高速缓存的拷贝被周期性地丢弃,于是将需要从原始认证URL重新提供认证凭证。于是通过从认证URL移除用于特定用户的认证凭证可以很容易撤销该用户的访问。与此相对,如果关于高速缓存的拷贝没有设定限制,则为了撤销控制远程资源的权利可能需要设定更短的有效性时段,因此在生成新的认证信息并且使其更加频繁地可用于经过授权的用户方面存在更多管理开销。因此,可高速缓存性信息有助于使得认证信息的管理更加高效。
类似地,还可以对于其他高速缓存的资源定义分开的有效性和可高速缓存性信息。举例来说,比如设备地址之类的长期存活的数据项也可以受益于分开的可高速缓存性和有效性时段,从而允许与生成数据的新版本相比更加频繁地撤销访问。
由有效性信息和可高速缓存性信息规定的时段可以是任何所规定的时间或使用条件。举例来说,所述时段可以通过秒、分钟、小时、天、星期、月、年等等来规定。所述时段可以具有已定义的起始和结束时间/日期/年份,或者可以仅具有到期时间/日期。所述时段还可以包括不连续的时段,比如“直到特定日期为止的每个星期一”。此外,所述时段可以基于认证信息被使用的次数而不是时间段(例如对于100次访问有效,高速缓存的拷贝在10次访问之后被丢弃)。
本发明的技术可以利用由至少一台设备执行的至少一个计算机程序来实施,其控制所述至少一台设备实施如前面所讨论的方法。所述至少一个程序可以被存储在至少一种计算机可读存储介质上,其例如可以是非瞬时性存储介质。
从另一个方面来看,本发明的技术提供一种数据处理设备,其包括:
被配置成实施数据处理的处理电路;以及
被配置成访问远程资源的通信电路;
其中,所述处理电路被配置成:
(a)获得对应于远程资源的第一统一资源定位符(URL)并且获得对应于第一URL的秘密数据;
(b)利用对应于第一URL的秘密数据生成模糊化URL,其中模糊化URL用于获得远程资源的实际位置;以及
(c)控制通信电路利用模糊化URL访问远程资源。
从另一个方面来看,本发明的技术提供一种数据处理设备,其包括:
用于实施数据处理的处理装置;以及
用于访问远程资源的通信装置;
其中,所述处理装置被配置成:
(a)获得对应于远程资源的第一统一资源定位符(URL)并且获得对应于第一URL的秘密数据;
(b)利用对应于第一URL的秘密数据生成模糊化URL,其中模糊化URL用于获得远程资源的实际位置;以及
(c)控制通信装置利用模糊化URL访问远程资源。
从另一个方面来看,本发明的技术提供一种为数据处理设备提供对于远程资源的访问的方法,所述远程资源的实际位置由资源统一资源定位符(URL)标识,所述方法包括:
生成对应于数据处理设备的用户的秘密数据;
利用对应于用户的秘密数据生成模糊化URL;
把用于获得资源URL的数据存储到由模糊化URL标识的位置;以及
为数据处理设备提供(i)用于向用户标识远程资源的第一URL以及(ii)用于获得模糊化URL的秘密数据。
按照对应于前面所讨论的技术的方式,内容作者或者远程资源的管理方可以通过以下操作为另一用户提供对于资源的访问:为用户生成秘密数据和模糊化URL,在模糊化URL处建立密钥节点资源以允许用户获得用于获得实际资源URL的数据,以及为用户的设备提供第一URL,用户可以使用第一URL索引到资源和用于获得模糊化URL的秘密数据。通过为不同用户提供不同的秘密数据和不同的模糊化URL,这样就允许内容作者为每一位用户提供特定于用户的内容表示。
从另一个方面来看,本发明的技术提供一种数据处理设备,其包括:
被配置成实施数据处理的处理电路;以及
被配置成访问远程位置的通信电路;
其中,所述处理电路被配置成:
(a)生成对应于数据处理设备的用户的秘密数据,其中将为所述数据处理设备提供对于远程资源的访问,所述远程资源的实际位置由资源统一资源定位符(URL)标识;
(b)利用对应于用户的秘密数据生成模糊化URL;以及
(c)控制通信电路把用于获得资源URL的数据存储到由模糊化URL标识的位置,并且为数据处理设备提供(i)用于向用户标识远程资源的第一URL以及(ii)用于获得模糊化URL的秘密数据。
从另一个方面来看,本发明的技术提供一种数据处理设备,其包括:
用于实施数据处理的处理装置;以及
用于访问远程位置的通信装置;
其中,所述处理装置被配置成:
(a)生成对应于数据处理设备的用户的秘密数据,其中将为所述数据处理设备提供对于远程资源的访问,所述远程资源的实际位置由资源统一资源定位符(URL)标识;
(b)利用对应于用户的秘密数据生成模糊化URL;以及
(c)控制通信装置把用于获得资源URL的数据存储到由模糊化URL标识的位置,并且为数据处理设备提供(i)用于向用户标识远程资源的第一URL以及(ii)用于获得模糊化URL的秘密数据。
附图说明
通过结合附图阅读后面的实例,本发明的技术的另外的方面和特征将变得显而易见。
图1示出了访问远程资源的数据处理设备的一个实例;
图2示出了用于远程资源的站点秘密的一个实例;
图3示出了访问利用站点秘密生成的模糊化URL处的资源的一个实例;
图4示出了访问远程资源的方法;
图5示出了一个实例,其中模糊化URL标识包含用于提供远程资源的URL的数据的密钥节点资源;
图6示出了为数据处理设备提供对于远程资源的访问的方法;
图7示出了使用扩展URL来获得用于访问资源的不同站点秘密的一个实例;
图8示出了撤销用户的被允许访问远程资源的群组的成员资格的一个实例;
图9示出了提供用于访问对应于相同的站点或资源总集的各个部分的不同资源的不同站点秘密的一个实例;
图10A到10D示出了利用模糊化URL把传统资源转变成更加安全的资源的方法;
图11示出了网络的一个实例,其中用于远程位置的数据和事务可以被高速缓存在网络的各个节点处;
图12示出了获得认证信息的一个实例,所述认证信息用于验证设备被授权指示在远程资源处实施动作。
具体实施方式
图1示出了在没有应用本发明的技术时访问云端中的远程资源4的数据处理设备2的一个实例。举例来说,数据处理设备2可以是健康护理监测器,其监测与用户的健康有关的各种参数,比如心率、血糖水平、体温等等。所监测的数据被提供到云端服务,比如由健康护理提供商提供的平台,其可以分析用户的健康数据并且标记利用所述数据检测到的健康问题。数据被张贴到通过URL(例如/data/health/summaries)标识的远程位置。但是由设备和用户使用的URL常常包含标识该用户、其设备2或者数据的目的的直观信息,从而使得URL可以很容易由设备2的用户记忆或理解。因此,URL可能常常包含敏感或个人信息,比如用户的姓名或位置,设备的牌子、型号、类型或位置,或者关于由设备提供的数据的意义的信息。因此,即使存储在URL处的数据被加密,云端提供商、互联网基础设施运营商或者其他各方也可能能够从URL推断出个人信息。在允许公司访问此类信息方面的不信任感越来越高。
为了解决这一问题,可以为数据处理设备提供如图2中所示的秘密信息。该秘密信息被统称作“站点秘密”。对于特定URL(“第一URL”)或者对于特定用户或设备提供站点秘密。用户/设备可以使用第一URL来标识远程资源。但是第一URL并不标识远程资源的实际位置。站点秘密用于把第一URL映射到不同的模糊化URL,其被用来找到远程资源的实际位置。通过这种方式,网络运营商或云端提供商不需要看到直观的URL,这是因为仅需要把模糊化URL暴露于网络。但是用户仍然可以使用良好直观的URL以使得与资源的交互更加方便。
如图2中所示,站点秘密包括规定所述站点秘密所适用的远程资源的范围。在该例中,范围部分表明站点秘密所适用的资源的路径或子路径。在该例中,站点秘密适用于路径“/data”。站点秘密还可以隐含地适用于在范围中表明的路径的所有子路径。因此,针对不处在所规定的路径(包括子路径)内的资源的访问不会成功。在其他实例中,范围可以规定为了使得访问成功所必须满足的另外的条件(例如基于时间或基于使用的条件)。
站点秘密还包括规定如何生成资源的模糊化URL的URL编码信息。在该例中,URL编码信息包括将被用作把第一URL变换成模糊化URL的密钥的秘密串,定义将用于生成用于模糊化URL的已编码串的变换(例如在该例中是SHA256)的数据,以及可以将已编码串插入到其中以形成模糊化URL的模板URL。SHA256是单向变换,这意味着即使秘密串(密钥)是已知的,也不可能使用所述密钥把模糊化URL变换回到第一URL。还可以使用其他变换(例如md5、其他SHA算法、CRC32)。在该例中,模板是“/data{hex:22}”,这意味着基于SHA256算法生成的22字符截断串被插入到模板中以产生模糊化URL。将被插入到模板中的串可以是实际变换结果的截断版本(在URL中使用已编码串的所有比特并不是至关重要的)。在其他实例中,可以使用通过散列算法生成的完全串。
站点秘密还包括定义如何编码将被发送到远程资源的文档内容或事务的内容编码信息。另一个秘密串可以被用作编码内容的密钥,例如使用如图2中所示的AES192算法。
因此,如图3中所示,取代把内容明文张贴到第一URL,健康护理设备2可以把已加密内容张贴到模糊化URL,从而使得内容和URL都对应于不会泄露任何敏感信息的无法理解的字符串。
图4示出了从数据处理设备2访问远程资源的方法。在步骤10处,由数据处理设备2获得对应于远程资源的第一URL。例如可以通过以下方式获得第一URL:用户将URL键入到浏览器中,用户点击电子邮件或网站中的链接,读取预先存储的URL,或者访问在制造时永久性地嵌入到设备中的固定URL,或者通过任何其他方式。在步骤12处,获得对应于第一URL的站点秘密,并且将其用来生成模糊化URL。在步骤14处,利用模糊化URL访问远程资源。因此,这种方法允许设备供应数据,并且在设备的URL中不会泄露信息的情况下被远程访问。
数据处理设备2可以是需要访问远程资源的任何处理设备。本发明的技术对于小型设备是特别有用的,比如传感器、控制器或者云端中的无线节点。在某些情况下,可以从例如温度传感器或健康护理设备之类的远程资源本身供应与远程资源相关联的数据。在这种情况下,设备本身可以通过模糊化URL来标识。或者,可以出于高可用性为这样的资源给出云端地址,并且随后从对应于资源设备的单独的服务器对其进行访问。
出于隐私原因,优选的是第一URL不对应于云端内的任何真实位置。这意味着第一URL对于网络运营商和云端提供商是完全不可见的。但是在某些情况下,例如在把传统站点转换到后面关于图10A到10D所讨论的新站点时,第一URL也可以映射到网络上的真实位置。此外,在某些情况下,第一URL可以标识具有与利用模糊化URL所标识的远程资源不同的内容的位置。
图2和3示出了一个实例,其中通过利用SHA256之类的变换算法对第一URL进行变换来生成模糊化URL。但是还有可能通过其他方式生成模糊化URL。举例来说,取代提供包括用于对URL加扰的密钥的单独的站点秘密,秘密数据可以替换地被包括在第一URL中,并且为不同的用户提供不同的秘密数据。举例来说,作为第一URL的http://meriac.com/pips/this/is/my/tv?secret=4567可以包括用于特定用户或用户群组的秘密数据4567。设备2可以利用预定算法(例如CRC32或SHA256)对该URL进行散列以生成秘密串“9677BE35”,从而使得模糊化URL变成http://meriac.com/pips/9677BE35。一般来说,秘密数据可以是提供用于生成模糊化URL的信息的任何数据,其中应当被访问的是模糊化URL而不是第一URL。
在某些情况下,第三方插件或网站框架可以被用来生成模糊化URL。举例来说,A方可以创建把URL散列成节点ID(模糊化URL)的插件。所述插件不理解具有URL秘密的概念,但是可以解密并且验证URL文件有效载荷。另一B方可以提供在每一个页面上包含java-script-include的网站框架,其取得预定义的URL参数(让我们称其为“秘密”)并且动态地重写在页面上链接的图像和其他内容的后续页面请求的URL。另一C方(例如内容作者)向用户D公布去到http://C.com/site.html?secret=xyz的链接并且向用户E公布链接http://C.com/site.html?secret=abc(加上单独的密钥K(D)和K(E)),并且对于单独个性化的URL创作特定于用户的密钥节点(见后)。因此,在该例中,用于每一位用户的秘密数据被包括在第一URL本身中。
末端设备2的用户D随后访问站点C,并且插件A实施http://C.com/site.html?secret=xyz到http://C.com/45c2d52c8b514a01的无秘密散列。插件A利用K(D)对获取自该URL的内容实施解密。用户的浏览器执行嵌入在站点C中的JavaScript框架,其通过附加secret=xyz参数重写页面中的所有URL。由浏览器获取的页面或资源随后被浏览器插件A拦截,并且在没有附加秘密的情况下被散列。对于用户E,其处理可以类似于用户D,但是具有不同的进入链接。
有可能提供可以被用于多项不同的远程资源的站点秘密。举例来说,特定的一方可以提供可由用户使用来访问来自该方所管理的位置范围的资源的站点秘密。因此,一项秘密可以覆盖整个URL范围,并且当遇到新的URL时,数据处理设备可能已经拥有适用于该URL的秘密,并且从而可以不需要获取新的站点秘密。
可以由设备2通过不同的方式获得模糊化URL。举例来说,模糊化URL的生成可以利用嵌入在设备内的功能来实施,利用作为由设备2执行的浏览器或其他软件的一部分的代码来实施,或者利用从第三方获得的浏览器插件、小应用程序或javascript来实施。
有可能使得利用第一URL生成的模糊化URL标识远程资源本身的位置。但是可能希望为不同用户提供内容的不同版本或者对于不同资源的访问。为了保持安全性以及单独地控制对不同用户的访问的能力,可能有用的是为每一位用户提供映射到不同的模糊化URL的不同的站点秘密。但是如果每一项模糊化URL实际包含远程资源本身,则在不同的URL处保持用于每一位用户的相同远程资源的许多不同拷贝将是困难并且耗时的。
图5示出了如何可以利用密钥节点资源更加高效地管理相同资源的不同表示。如图5中所示,利用针对给定设备的站点秘密生成的模糊化的(已加密的)URL可以标识未存储实际远程资源的密钥节点资源K0-K2的位置。每一项密钥节点资源K0-K2包含用于获得远程资源的实际资源URL的数据。这意味着通过在密钥节点处规定不同的资源URL(或者通过规定相同的资源URL但是具有标识URL的哪些部分是可访问的不同的相关联的信息项),可以为不同的用户提供对于远程资源的不同部分的访问。例如在图5中,设备D1和D2的用户分别访问密钥节点K1和K2以获得为其给出对于整个远程资源的访问的资源URL 1(例如http://abc.com/data/18659458.php)。但是设备D0的用户从密钥节点K0获得仅允许其访问远程资源的子集的资源URL 0。因此,由每一个密钥节点提供的不同的资源URL可以对应于远程资源的重叠部分或子集。在其他实例中,由不同的密钥节点提供的资源URL可以对应于完全不同的远程资源。
这种方法允许向不同的用户提供数据的不同表示。举例来说,对于远程资源提供的不同表示可以提供不同类型的内容,不同的内容质量(例如完全图像或压缩图像),对于内容的不同访问粒度(例如以每小时增量或每日增量采样的时间序列数据),或者可用于用户的数据的不同子集。每一位用户可以使用相同的第一URL,因此可能不知道其他用户具有对于数据的不同访问或者存在由远程资源提供的数据的多项表示。通过为每一位用户提供不同的站点秘密来控制对于不同形式的资源的访问,从而使得第一URL被映射到不同的模糊化URL。
密钥节点K0-K2还可以存储用于解密资源URL处的内容的数据。这意味着只有成功地找到用于资源的密钥节点的经过授权的用户才可以获得用于解密内容的解密密钥。
如图5中所示的密钥节点K0到K2的使用也是有用的,这是因为可以通过简单地操纵密钥节点资源来准许和/或撤销不同用户对于远程资源的访问,而无须以任何方式修改远程资源。
举例来说,图6示出了为数据处理设备2的用户提供对于远程资源的访问的方法。所述方法可以由数据处理装置针对内容作者或者远程资源的管理方来实施。在步骤20处,为将被准许访问远程资源的用户生成新的站点秘密。在步骤22处,用户的秘密被用来生成用于该用户的模糊化URL(可以按照与图4的步骤12处相同的方式生成模糊化URL)。在步骤24处,在模糊化URL处建立密钥节点资源,包括用于获得远程资源的资源URL的数据。在步骤26处,向用户的数据处理设备提供将由用户使用来标识资源的第一URL以及对应于第一URL的站点秘密。用户的设备随后可以利用图4的方法通过如图5中所示的密钥节点资源来访问远程资源。
通过移除利用用于特定用户的站点秘密生成的URL处的密钥节点资源,可以撤销该用户对于远程资源的访问。例如参见图5的设备D3,其访问通过移除相应的密钥节点资源而被撤销。当密钥节点资源被移除时,设备的用户不再能够访问远程资源,这是因为其无法获得资源URL。因此,当用户的访问被撤销时,不需要移动实际的资源。出于附加的安全性,如果用户设法获得并存储了资源URL,也可以移动资源。
用户可以有权访问用于相同远程资源的不同站点秘密。举例来说,用户可以具有个人站点秘密,但是还可以有权访问与一组用户相关联的群组站点秘密或者可用于每个人的通用站点秘密。图2中示出的扩展URL可以被用来获得附加的站点秘密。如图7中所示,若干站点秘密28可以被存储在扩展URL处。除了设备D0所持有的初始站点秘密之外,数据处理设备D0还可以从扩展URL获得站点秘密。设备D0随后尝试访问利用不同的站点秘密生成的一项或多项模糊化URL,直到访问成功为止。举例来说,设备D0可以尝试依次访问每一项模糊化URL。在图7的实例中,在发现利用通用秘密生成的模糊化URL成功地找到可以从该处获得资源URL的网络上的真实位置KN之前,设备首先尝试利用个人秘密生成的模糊化URL,随后尝试针对两项不同的群组秘密的模糊化URL。设备D0还可以并行地尝试多项访问以防一项访问失败,从而加速访问。如果多项访问成功,可以存在决定接下来进行哪一项访问的预定优先权顺序。这种方法是有用的,这是因为其意味着群组秘密不需要由末端设备D0永久性地持有,相反可以从扩展URL更加仔细地控制。
图8示出了对于先前被允许访问资源的群组内的所选用户撤销对于远程资源的访问的一个实例。如图8的左侧部分所示,扩展URL包括用于设备D0-D2的一组用户的群组秘密G0。群组秘密G0被用来生成可以从该处获得共享资源的资源URL的密钥节点KG0的模糊化URL G0。这样就允许设备D0-D2与资源进行交互。
但是设备D2的用户随后离开群组,因此D2对于远程资源的访问将被撤销。举例来说,资源G可以是用于控制门锁的设备,并且设备D2的用户可能离开了拥有所述门的组织,并且需要防止其进入。为了实现这一点,在用于排除了被撤销用户D2的用户D0、D1的新群组G1的扩展URL处生成新的站点秘密G1。因此,当设备D0、D1访问扩展URL时,其同时获得秘密G0、G1,而设备D2则仅获得秘密G0。在对应于新的站点秘密G1的模糊化URL处创建新的密钥节点KG1。密钥节点KG1同样具有标识资源的资源URL。用于该群组KG0的原始密钥节点随后被移除,从而使得对于利用秘密密钥G0获得的URL的任何访问都将失败。因此,当设备D0或D1访问第一URL时,秘密G1成功地映射到密钥节点KG1的模糊化URL,因此其仍然可以访问所述门以将其解锁。但是设备D2仅具有不再映射到真实位置的秘密G0,因此无法再找到资源。因此,使用密钥节点和扩展URL的这种机制提供了控制对于资源的访问的一种高效的方式并且无须重新公布资源本身。
如图9中所示,有可能在相同的站点或者相同的资源总集内提供对应于不同资源的不同站点秘密。举例来说,用户通常可以被允许访问网站的样式表(CSS文件),但是可以对于网站的数据控制各项单独的访问权。图2中示出的范围参数可以被用来选择秘密所适用的部分。因此,可以为第一通用秘密x提供范围“/styles”以用于访问用于网站的样式表。随后可以为各项单独的秘密提供范围“/data”,其允许每一台设备D0-D2单独地访问数据的不同子集。秘密X的范围“/styles”意味着该秘密无法被用来获得对于网站的“/data”部分的访问。
正如前面所提到的那样,第一URL(直观URL)不可以对应于网络内的任何真实位置,以防止云端运营商获得对于敏感信息的访问。但是传统站点和设备可能已经利用这样的可理解的URL被公布在云端上。在这种情况下,可以利用如图10A到10D中所示的本发明的技术把传统站点转变成更加安全的站点。在图10A中,传统站点利用可理解的文件路径和文件名被示出。在图10B中,创建新的站点,其中来自传统站点的数据被复制在不可理解的资源URL处(由图10B中的问号表明)。此外,对于网站的用户建立密钥节点资源K。密钥节点资源K具有利用用于用户或用户群组的站点秘密生成的模糊化URL,并且包含标识相应的资源URL的数据。在一段时间内,传统站点和新站点可以并行地运行,因此用于新站点的第一URL此时仍然可以映射到对应于传统站点的网络上的真实位置。一旦足够多的用户访问了新站点,可以停用传统站点,从而只留下其URL不可理解的私有站点。如图10D中所示,服务器的网站视图于是完全匿名,这是因为被用于站点的所有URL都是模糊化URL。
如图11中所示,数据处理设备2可以对应于多种设备,比如膝上型或其他计算机D2、移动电话D3、服务器D5、温度传感器D4、健康监测器D1或者门控制单元D0。类似地,远程资源可以对应于类似的设备D0-D5。如图11中所示,一些设备D0、D2、D4、D5可以同时作为将由其他设备访问的远程资源4以及作为用于访问远程资源的数据处理设备2来运转。各台设备通过因特网(云端)利用各种中间网络节点(比如网络路由器和ISP(互联网服务提供商)设备和网络)彼此通信。应当认识到,图11中的网络图是示意性的,并且存在实施网络的许多不同方式。
由于远程资源的URL使用本发明的技术是匿名的,并且还可以对由各台设备交换的事务和数据进行加密,因此不存在向网络泄露信息的危险。这样就允许例如路由器或ISP网络设备之类的中间网络节点具有用于高速缓存与远程位置交换的数据或事务的高速缓存器30,而不存在任何安全性或隐私风险。举例来说,当健康监测器设备D1将数据上传到服务器D5时,所张贴的数据可以随着其经过网络而被高速缓存。
通过在网络内的不同点处高速缓存数据,这意味着如果数据需要由设备D1访问,则与必须一路回到服务器D5的情况相比,可以从归属路由器或ISP网络中的高速缓存器30更加快速地获得数据。类似地,用于触发设备实施动作的事务可以被存储在发起事务的设备D5内或者另一个网络节点内的队列40中。举例来说,如果膝上型计算机D2或电话D3的用户希望打开与设备D0相关联的门(例如让朋友或邻居进入其家中),则所述膝上型计算机或电话可以向门设备D0发出事务以打开门。但是门设备D0在此时可能并未激活,例如其可能处于节电模式,并且只能周期性地醒来以检查队列40中的事务。当门设备下一次醒来时,其可以轮询队列40并且随后打开门。队列40中的事务可以被加密。通过在末端设备D5或者网络的中间节点中提供队列40,电话或膝上型计算机D2、D3和门D0可以异步通信,从而没有必要令两台设备同时激活以使其进行通信。
为了从远程资源读取或写入数据或者利用远程资源实施动作,可能有必要令发出事务的设备证明其身份并且验证其被允许采取该动作。因此,如图12中所示,当设备2针对与远程资源相关联的设备4发出事务时,设备2可以指定标识位置50的认证URL,与远程资源相关联的设备4可以从该位置处获得用于设备2的认证数据。举例来说,认证信息可以包括验证设备身份的证书和公共密钥。在某些情况下可能有一条证书链,其中不同的各方认证不同的子方以提供进一步的认证,因此可能需要利用几份证书来验证末端设备2。还有可能令设备2把认证信息直接提供到资源4以作为事务的一部分。但是特别在设备2是例如传感器之类的相对较小的设备的情况下,从认证URL50获得认证信息可能更加方便。当从认证URL获得认证信息时,远程设备4不需要利用被用来从设备2发送事务的相同通信信道或路由获得认证信息。举例来说,当通过Bluetooth提交事务而开门时,门可以使用不同的路由(例如使用家庭路由器或有线连接)从认证URL获取凭证。
随着事务提供的认证URL可以包括利用用于设备2的认证信息生成的指纹部分60。举例来说,指纹部分60可以是认证信息的证书或公共密钥的一部分的散列。这意味着为了能够引导资源设备4访问来自认证URL的认证信息,发送事务的设备2本身必须有权访问认证信息。这样就通过降低未经授权的设备可以通过某种方式把资源设备4引导到具有有效认证信息的有效认证URL的几率而改进了系统的安全性。
认证信息可以被高速缓存在网络内的各个位置处,以使得从本地网络节点更快地访问认证信息。认证信息可以定义哪些特定动作可以由远程资源在受到设备2指示时有效地实施。认证信息还可以规定表明针对认证信息的有效性时段的有效性信息(例如到期日期/时间,具有起始日期/时间和结束日期/时间的时段,或者非连续时段)。可能有用的是使得认证信息单独定义其中认证信息是有效的时段以及其中认证可以被网络节点高速缓存的时段。即使认证信息在相对较长的时段内是有效的,可高速缓存性时段也可以被设定到更短的时段。举例来说,特定证书可能在六个月内是有效的,因此认证者不需要非常频繁地更新证书。但是通过仅仅把证书高速缓存更短的时段(例如一天),可以更加快速地撤销对于给定的远程资源的访问,这是因为认证信息的高速缓存的拷贝将在一天结束时被丢弃,随后将需要从其原始来源再次获得证书以继续访问,从而允许更加容易地控制访问。
下面将提供被称作“PiPS”(众人注目下的隐私)的本发明的技术的一些特征的概要。
目标:
具有PiPS功能的web服务可以:
·保持隐私——用户控制由谁访问其数据(包括云端服务)
·对于不同的人/群组提供个性化信息
·最小化低功率设备的工作负荷,转而将其移动到云端服务
·允许高速缓存、降低网络需求并且改进性能
·支持异步操作,以便与有限连接性设备一起工作
·支持时间序列数据
原理:
·从设备公布,从云端供应
-设备可能使得一些资源/数据可用,但是可能仅仅偶尔醒来并且连接到更广的web。
-在这种情况下,使得云端服务(包括例如本地路由器之类的“迷你云端”)托管或镜像数据意味着高可用性,同时仍然允许设备是低功率的。
·安全地使用不受信任的数据存储库/镜像/高速缓存器
-通过PiPS,由你控制谁理解你的数据,而不管其被存储在何处。数据被加密存储在模糊化URL处——只有被许可读取数据的设备和人才能够理解。
-这意味着你不需要信任看到你的数据的每一个数据存储库、镜像或高速缓存代理。你可以允许任何人代理/高速缓存你的数据(出于高可用性)而无须有隐私顾虑。
·通过不受信任的中介的异步通信
-通过PiPS,与设备的交互是异步的。对于设备意图的动作可以在代理或云端服务中被排成队列,从而等待设备下一次在线。
-这些动作也被加密存储,这意味着设备对设备通信可以是隐私的(即使两台设备都只是偶尔在线),而不会把通信暴露于中央服务。
粗线条设计:
·替代URL和已加密内容
-资源具有良好的友好URL(“概念URL”),因此可以按照良好的方式组织所公布的内容和交互。
-但是实际从服务器请求的URL是不同的:不会向服务器、代理、高速缓存器等等泄露信息的性质的不透明URL。
-所有内容都以加密形式被存储,因此只有末端设备能够理解。
·利用队列实施动作
-PiPS队列是待定动作/通知的列表。为了实施动作,将其张贴到队列。目标设备随后从队列中拉取动作以便执行。
-可以通过不同的方式监测队列——因此高度连接的设备可以保持去到云端的开放连接以得到即时通知,较少连接的设备可以一分钟轮询一次等等。
-如果动作需要响应,则可以包括“响应队列”,动作的结果可以被发送到该处。
·队列中的时间序列数据
-队列可以被“翻转”——取代由许多人向队列添加动作并且由一台设备进行读取,可以由一台设备向队列公布事件并且由许多人进行读取。
-用于监测队列的方法保持相同(轮询、通知、WebSockets等等)。由于内容被加密,因此队列可以被代理/高速缓存——因此原始队列可能仅仅支持轮询,但是代理可以把WebSockets层叠在其上。
-这意味着设备可以公布事件集合(利用简单的POST(张贴)),并且把复杂的队列(例如“自从...以来的所有事件”)委托给云端服务、代理等等。
·站点秘密和个性化内容
-“站点秘密”是把资源的“概念URL”翻译成替代URL并且对内容进行解密所需的信息。
-为不同的人提供不同的秘密——因此其将最终到达不同的替代URL处,从而可以为其提供内容的不同版本。
一般原理:
·不信任云端提供商
-不要泄露数据、结构、任何内容
·静态资源(可镜像/代理/离线高速缓存器)
-设备可以公布其所想要的数量的内容
-为一些人提供定制内容
·提交到队列的动作
-通过证书链进行认证
·配合到现有的web中
不信任云端提供商:在为大型公司给出关于自己的数据方面的不信任感越来越高。我们当前的保护(易变的、很少阅读的服务条款)基本上仅仅是信任公司的行为是规矩的。但是云端服务是有用的,特别对于具有较低网络可用性的设备来说尤其是如此,因此我们仍然想要云端服务。
数据控制:如果我们从一开始就不给云端提供商有用的数据又如何呢?对所有内容进行加密,不提供信息的URL。这也使得我们不会害怕镜像/代理。
比较:
·数据本身
-差:可由任何人(包括云端)读取的明文数据
-好:不透明的团块(blob)
·向服务器发出的请求
-差:https://cloud.iot/my-house/bedroom/marital-aids/...
-好:https://cloud.iot/c2V4bWFzdGVyLTMwMDA
设备公布资源:我们为所有设备给出公布资源的能力。这些资源可以由设备本身在可用时供应(例如coap://<ipv6-address>/a210Y2hlbi1rZXR0bGU),其中用户在其不可用时依赖于各种高速缓存器。或者,可以为这些资源给出云端地址(例如https://iot.arm.com/a210Y2h1bi1rZXR0bGU)以用于高可用性。这需要与云端商定,但是对于设备来说更加容易(仅生成一次,总是从云端供应)。应当提到的是,资源只具有一项URL——前面的两项URL不是等效的。
可验证的所有者:针对每一项资源的URL可以包含从证书的指纹计算的一部分,以便即使在从不受信任的来源供应时也确保完整性。
替代资源:定制内容并且允许隐私。
假设客户端具有包括三个部分的秘密:
范围:http://me.example.com/iot/geraint
模板:http://me.example.com/iot/{hmac}
秘密:站点秘密
在访问该范围内的资源时,客户端实际访问与为其给出的URL不同的URL。
1、HMAC(原始ur1,秘密)
2、base64url(hmac)
3、在模板内部使用
实例:对于前面的秘密,当访问资源http://me.example.com/iot/geraint/temp时:
1、HMAC(http://me.example.com/iot/geraint/temp,站点秘密)
2、base64ur1:d2hhdGV2ZXI
3、填充模板:http://me.example.com/iot/d2hhdGV2ZXI
服务器只看到http://me.example.com/iot/d2hhdGV2ZXI——没有任何内容暗示到站点的概念结构。
原始URL仍然可以解析到明文资源,以便为不使用该方案的客户端给出一些有用的/提供信息的内容。但是这并不是至关重要的。
密钥节点:复制内容通常是低效的。所计算的URL处的实际节点可以是“密钥节点”,这意味着其包含实际内容的URL连同解密密钥——全部利用被用来计算该URL的站点秘密而被加密。
具有隐私功能的模式:资源的私有版本和明码资源不会混合。如果你正在查看资源的私有版本(希望具有一些视觉指示),则你的客户端不应当遵循链接或者利用其原始URL来获取有关的资源。如果替代资源发生404错误,则请求应当失败。这意味着用于隐藏资源的“原始资源”不需要实际存在并且不应当被请求,从而使得资源的实际结构对服务器保持隐藏。
多项秘密:即使在使用密钥节点的情况下,对于每一位可能的用户、对于你的站点中的每一项资源计算替代节点仍然是种负担。但是用户可以拥有多项站点秘密,比如个人站点秘密和群组站点秘密。这样,对于群组的每一位成员可用的内容可以使用单个替代节点,其他内容则可以在逐人的基础上被编码。
获得更多秘密:在实际情况中,你不会想要把群组站点秘密交出去(hand out)。否则,当你改变群组站点秘密时(例如为了排除一位群组成员),则需要把新的群组站点秘密重新分发给每个人。相反,你只交出个人站点秘密。为了获得更多秘密,客户端可以取回“范围”URL(利用其个人站点秘密)。所得到的文档将是用于后续浏览的站点秘密的列表。
替换方案:具有单独的“秘密扩展”URL而不是使用范围。
站点部分:你不仅可以提供用于群组内容的附加站点秘密,而且你还可以提供对于站点的仅仅某些部分的秘密。举例来说,如果你的所有JavaScript和CSS都存在于/style/中,则你可以特别对于该部分规定站点秘密。这样,客户端不会浪费努力首先尝试利用个人和群组站点秘密来访问这些资源。
动作队列:取代直接采取动作,资源可以规定可以将动作张贴到其中的队列。可以存在按照优选顺序列出的多于一个这样的队列——例如首先是直接队列(其可以通过BlueTooth在本地使用),接下来是由本地WiFi路由器托管的队列,随后是云端服务上的队列。资源描述可以利用其队列采取的动作,可选地还具有加密密钥,从而使得这样的实际动作对于云端服务保持不透明。
通过证书链的认证:当提交动作时,可以提供资源的URL(证书),其解释为什么代理相信其被许可实施该动作。每一份证书规定可以被用于特定目的的公共密钥,并且包括:
·有效性条件(时间/位置/诸如此类)
·约束(例如“可以开启”)
·可能还有去到母证书的参考
理解证书:什么动作被允许/不被允许的实际词汇表并不需要是通用的——只要由末端设备理解即可。但是可以有一些标准词汇表,例如所有权(Ownership)——可以做任何事情,完全使用(Fu11 use)——可以做除了改变所有者之外的任何事情。
实例:
对于私有密钥:<ABCDE>
直到:2014-06-18T18:32
被允许的动作:
*查看最近的历史
*发出新的证书,比如:
被允许的动作:
*查看最近的历史
该证书可以被用来使得<ABCDE>查看最近的历史。
其还可以被新的证书(其通过<ABCDE>被签名)参考,从而授权另一实体查看最近的历史。
离线情况(例如在沙漠中解锁门)
如果更广的网络访问不可用,则希望实施动作的代理可以使其本身作为迷你云端/代理可用,从而也使得证书链可用。
虽然在这里参照附图详细描述了说明性实施例,但是应当理解的是,在不背离所附权利要求书的范围的情况下,可以由本领域技术人员在其中实施各种改变和修改。

Claims (35)

1.一种从数据处理设备访问远程资源的方法,所述方法包括:
获得对应于远程资源的第一统一资源定位符(URL);
获得对应于第一URL的秘密数据;
利用对应于第一URL的秘密数据在数据处理设备处生成模糊化URL,其中模糊化URL用于获得远程资源的实际位置;以及
利用模糊化URL访问远程资源,
其中第一URL标识与利用模糊化URL访问的远程资源不同的远程资源的位置。
2.根据权利要求1所述的方法,其中,远程资源包括已加密数据。
3.根据权利要求1和2中任一项所述的方法,其中,第一URL对于数据处理设备的用户是可见的。
4.根据权利要求1和2中任一项所述的方法,其中,无法利用秘密数据从模糊化URL获得第一URL。
5.根据权利要求1和2中任一项所述的方法,其中,通过利用秘密数据实施第一URL到模糊化URL的变换而生成模糊化URL。
6.根据权利要求5所述的方法,其中,所述变换是单向变换。
7.根据权利要求1和2中任一项所述的方法,其中,至少两台数据处理设备具有对应于相同的第一URL的不同秘密数据;
其中,所述至少两台数据处理设备利用不同的秘密数据生成不同的模糊化URL,并且利用不同的模糊化URL访问对应于相同的第一URL的不同远程资源。
8.根据权利要求7所述的方法,其中,不同的远程资源包括共同的远程资源的不同部分或子集。
9.根据权利要求1和2中任一项所述的方法,其中,模糊化URL标识密钥节点资源的位置,并且密钥节点资源包括用于获得标识远程资源的资源URL的数据。
10.根据权利要求9所述的方法,其中,密钥节点资源处的数据包括用于解密远程资源处的数据的密钥信息。
11.根据权利要求9所述的方法,其中,不同的密钥节点资源对应于不同的用户或用户群组,每一项密钥节点资源由利用与相应的用户或用户群组相关联的秘密数据生成的模糊化URL标识。
12.根据权利要求11所述的方法,包括通过移除对应于某一用户或用户群组的密钥节点资源来撤销该用户或用户群组对于远程资源的访问。
13.根据权利要求12所述的方法,包括通过以下操作撤销所选用户群组当中的至少一位所选用户对于远程资源的访问:
(i)为所选用户群组生成对应于第一URL的新的群组秘密数据,并且向除了所述至少一位所选用户之外的所选群组当中的用户提供对于新的群组秘密数据的访问;
(ii)创建通过利用新的群组秘密数据生成的新的模糊化URL所标识的新的密钥节点资源,所述新的密钥节点资源包括用于获得远程资源的资源URL的数据;以及
(iii)使得先前对应于所选用户群组的密钥节点资源不可访问。
14.根据权利要求1和2中任一项所述的方法,其中,数据处理设备把所述秘密数据与用于获得对应于第一URL的至少一项另外的秘密数据的扩展URL保持在一起,其中所述至少一项另外的秘密数据用于生成至少一项另外的模糊化URL。
15.根据权利要求14所述的方法,其中,数据处理设备尝试访问由所述模糊化URL和至少一项另外的模糊化URL当中的一项或多项标识的一个或多个位置,直到对于所述一个或多个位置之一的访问成功为止。
16.根据权利要求1和2中任一项所述的方法,其中,所述秘密数据与用于决定是否能够使用所述秘密数据准许对于远程资源的访问的条件相关联。
17.根据权利要求1所述的方法,包括把存储在远程资源处的数据或者发送到远程资源的事务高速缓存在数据处理设备与远程资源之间的中间网络节点处,其中高速缓存的数据或事务被加密。
18.根据权利要求17所述的方法,其中,如果存储在远程资源处的数据在多个网络节点处可用,则由数据处理设备基于与从每一个网络节点获得数据相关联的预期事务成本从所述多个网络节点当中所选择的一个网络节点获得数据。
19.根据权利要求17和18中任一项所述的方法,其中,如果能够利用多个通信信道访问远程资源,则数据处理设备经由基于与每一个通信信道相关联的预期事务成本所选择的所述多个通信信道之一访问远程资源。
20.根据权利要求1所述的方法,其中,数据处理设备或者数据处理设备与远程资源之间的至少一个中间网络节点包括事务队列,其用于把将要发送到与远程资源相关联的设备的事务排成队列;并且
与远程资源相关联的设备在其准备好处理事务时从事务队列中拉取事务。
21.根据权利要求20所述的方法,其中,事务队列中的事务被加密。
22.根据权利要求20和21中任一项所述的方法,其中,数据处理设备和与远程资源相关联的设备利用动作队列异步通信。
23.根据权利要求1所述的方法,包括发送事务以便指示利用远程资源实施指定的操作,其中数据处理设备具有或者获得用于验证数据处理设备有权指示利用远程资源实施指定的操作的认证信息。
24.根据权利要求23所述的方法,其中,认证信息规定以下各项当中的至少一项:
(i)规定认证信息何时有效的有效性数据;
(ii)规定哪些操作被允许由数据处理设备指示的许可信息。
25.根据权利要求23和24中任一项所述的方法,其中,从在事务中规定的认证URL获得认证信息。
26.根据权利要求25所述的方法,其中,认证URL包括利用认证信息的至少一部分生成的指纹部分。
27.根据权利要求25所述的方法,其中,与远程资源相关联的设备被配置成通过与被用来传送事务的通信信道不同的通信信道从认证URL获得认证信息。
28.根据权利要求23和24中任一项所述的方法,其中,认证信息由至少一个网络节点高速缓存;并且
与远程资源相关联的设备被配置成使用高速缓存的认证信息来验证数据处理设备有权指示利用远程资源实施指定的操作。
29.根据权利要求28所述的方法,其中,认证信息规定:(i)规定认证信息有效的时段的有效性信息;以及(ii)规定认证信息被允许由至少一个网络节点高速缓存的时段的可高速缓存性信息。
30.一种数据处理设备,包括:
被配置成实施数据处理的处理电路;以及
被配置成访问远程资源的通信电路;
其中,所述处理电路被配置成:
(a)获得对应于远程资源的第一统一资源定位符(URL)并且获得对应于第一URL的秘密数据;
(b)利用对应于第一URL的秘密数据生成模糊化URL,其中模糊化URL用于获得远程资源的实际位置;以及
(c)控制通信电路利用模糊化URL访问远程资源,
其中第一URL标识与利用模糊化URL访问的远程资源不同的远程资源的位置。
31.一种数据处理设备,包括:
用于实施数据处理的处理装置;以及
用于访问远程资源的通信装置;
其中,所述处理装置被配置成:
(a)获得对应于远程资源的第一统一资源定位符(URL)并且获得对应于第一URL的秘密数据;
(b)利用对应于第一URL的秘密数据生成模糊化URL,其中模糊化URL用于获得远程资源的实际位置;以及
(c)控制通信装置利用模糊化URL访问远程资源,
其中第一URL标识与利用模糊化URL访问的远程资源不同的远程资源的位置。
32.一种为数据处理设备提供对于远程资源的访问的方法,所述远程资源的实际位置由资源统一资源定位符(URL)标识,所述方法包括:
生成对应于数据处理设备的用户的秘密数据;
利用对应于用户的秘密数据生成模糊化URL;
把用于获得资源URL的数据存储到由模糊化URL标识的位置;以及
为数据处理设备提供(i)用于向用户标识远程资源的第一URL以及(ii)用于获得模糊化URL的秘密数据,
其中第一URL标识与利用模糊化URL访问的远程资源不同的远程资源的位置。
33.一种数据处理设备,包括:
被配置成实施数据处理的处理电路;以及
被配置成访问远程位置的通信电路;
其中,所述处理电路被配置成:
(a)生成对应于数据处理设备的用户的秘密数据,其中将为所述数据处理设备提供对于远程资源的访问,所述远程资源的实际位置由资源统一资源定位符(URL)标识;
(b)利用对应于用户的秘密数据生成模糊化URL;以及
(c)控制通信电路把用于获得资源URL的数据存储到由模糊化URL标识的位置,并且为数据处理设备提供(i)用于向用户标识远程资源的第一URL以及(ii)用于获得模糊化URL的秘密数据,
其中第一URL标识与利用模糊化URL访问的远程资源不同的远程资源的位置。
34.一种数据处理设备,包括:
用于实施数据处理的处理装置;以及
用于访问远程位置的通信装置;
其中,所述处理装置被配置成:
(a)生成对应于数据处理设备的用户的秘密数据,其中将为所述数据处理设备提供对于远程资源的访问,所述远程资源的实际位置由资源统一资源定位符(URL)标识;
(b)利用对应于用户的秘密数据生成模糊化URL;以及
(c)控制通信装置把用于获得资源URL的数据存储到由模糊化URL标识的位置,并且为数据处理设备提供(i)用于向用户标识远程资源的第一URL以及(ii)用于获得模糊化URL的秘密数据,
其中第一URL标识与利用模糊化URL访问的远程资源不同的远程资源的位置。
35.存储至少一个计算机程序的至少一种计算机可读存储介质,所述至少一个计算机程序在由至少一台数据处理设备执行时控制所述至少一台数据处理设备实施权利要求1到29和32中任一项所述的方法。
CN201580029833.3A 2014-06-03 2015-05-13 从数据处理设备访问以及提供对于远程资源的访问的方法 Active CN106464732B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1409853.7 2014-06-03
GB1409853.7A GB2526818B (en) 2014-06-03 2014-06-03 Methods of accessing and providing access to a remote resource from a data processing device
PCT/GB2015/051410 WO2015185888A1 (en) 2014-06-03 2015-05-13 Methods of accessing and providing access to a remote resource from a data processing device

Publications (2)

Publication Number Publication Date
CN106464732A CN106464732A (zh) 2017-02-22
CN106464732B true CN106464732B (zh) 2020-07-03

Family

ID=51214658

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580029833.3A Active CN106464732B (zh) 2014-06-03 2015-05-13 从数据处理设备访问以及提供对于远程资源的访问的方法
CN201580029342.9A Active CN106462715B (zh) 2014-06-03 2015-05-29 访问以及提供对于在远程资源与数据处理设备之间发送的数据的访问的方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201580029342.9A Active CN106462715B (zh) 2014-06-03 2015-05-29 访问以及提供对于在远程资源与数据处理设备之间发送的数据的访问的方法

Country Status (5)

Country Link
US (4) US9887970B2 (zh)
KR (2) KR102329530B1 (zh)
CN (2) CN106464732B (zh)
GB (2) GB2526818B (zh)
WO (2) WO2015185888A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2526818B (en) 2014-06-03 2021-01-13 Arm Ip Ltd Methods of accessing and providing access to a remote resource from a data processing device
US20160364553A1 (en) * 2015-06-09 2016-12-15 Intel Corporation System, Apparatus And Method For Providing Protected Content In An Internet Of Things (IOT) Network
US10728043B2 (en) 2015-07-21 2020-07-28 Entrust, Inc. Method and apparatus for providing secure communication among constrained devices
US11240571B2 (en) * 2015-07-27 2022-02-01 Abda Digital Private Limited Method and system for enabling interactive infomercials
EP3341854B1 (en) * 2015-09-14 2018-12-19 ViaSat, Inc. Machine-driven crowd-disambiguation of data resources
CN105611488A (zh) * 2015-12-31 2016-05-25 福建联迪商用设备有限公司 一种蓝牙自动连接方法和主设备、从设备和系统
US11516664B2 (en) 2016-04-05 2022-11-29 Carrier Corporation Credential licensing service
US10129244B2 (en) 2016-06-20 2018-11-13 Princeton SciTech, LLC Securing computing resources
US10320572B2 (en) * 2016-08-04 2019-06-11 Microsoft Technology Licensing, Llc Scope-based certificate deployment
EP3331223A1 (fr) * 2016-12-01 2018-06-06 Gemalto Sa Procede et systeme pour realiser une operation sensible au cours d'une session de communication
US10686762B2 (en) * 2016-12-12 2020-06-16 Cisco Technology, Inc. Secure data exchange platform
KR102317616B1 (ko) * 2017-01-23 2021-10-26 삼성전자주식회사 전자 장치 및 그의 서버에 액세스하는 방법
CN106941458A (zh) * 2017-02-21 2017-07-11 深圳市智物联网络有限公司 数据传输的方法及装置
US10944566B2 (en) * 2017-11-15 2021-03-09 International Business Machines Corporation Methods and systems for supporting fairness in secure computations
US11475422B2 (en) 2018-03-28 2022-10-18 Bank Of America Corporation Blockchain-based property management
US10498808B2 (en) 2018-03-28 2019-12-03 Bank Of America Corporation Blockchain-based property management
US11295402B2 (en) 2018-03-28 2022-04-05 Bank Of America Corporation Blockchain-based property repair
CN110177103B (zh) * 2019-05-28 2022-04-12 江苏快页信息技术有限公司 一种基于网页地址转换的动态web安全防护方法与系统
US11314878B2 (en) * 2019-09-10 2022-04-26 Vmware, Inc. Secure link sharing
US11863565B2 (en) 2020-03-20 2024-01-02 Tactika.Com Inc. System and method for securing access to network assets
US11468142B1 (en) 2020-03-21 2022-10-11 Menlo Security, Inc. Managing content uploads
CN113630251B (zh) * 2020-05-08 2024-09-06 瞻博网络公司 使用签名后的统一资源定位符进行网络业务监测或存储
CN114666391B (zh) * 2020-12-03 2023-09-19 中国移动通信集团广东有限公司 访问轨迹确定方法、装置、设备及存储介质
CN112565265B (zh) * 2020-12-04 2022-11-01 国网辽宁省电力有限公司沈阳供电公司 物联网终端设备间的认证方法、认证系统及通讯方法
CN112511569B (zh) * 2021-02-07 2021-05-11 杭州筋斗腾云科技有限公司 网络资源访问请求的处理方法、系统及计算机设备
US20220294788A1 (en) * 2021-03-09 2022-09-15 Oracle International Corporation Customizing authentication and handling pre and post authentication in identity cloud service
CN115080987A (zh) * 2021-03-11 2022-09-20 中国移动通信集团山东有限公司 密码管理方法、装置、系统、存储介质和计算机设备
CN113961790B (zh) * 2021-09-30 2022-10-14 稿定(厦门)科技有限公司 适用于批量文本的访问方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103229181A (zh) * 2010-10-13 2013-07-31 阿卡麦科技公司 通过对url进行模糊处理来保护网站和网站用户
CN103414562A (zh) * 2013-08-02 2013-11-27 广州菁英信息技术有限公司 基于url指纹技术的用户权限控制方法及装置

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708780A (en) * 1995-06-07 1998-01-13 Open Market, Inc. Internet server access control and monitoring systems
US5933849A (en) * 1997-04-10 1999-08-03 At&T Corp Scalable distributed caching system and method
US6195680B1 (en) * 1998-07-23 2001-02-27 International Business Machines Corporation Client-based dynamic switching of streaming servers for fault-tolerance and load balancing
US7363361B2 (en) * 2000-08-18 2008-04-22 Akamai Technologies, Inc. Secure content delivery system
US6823377B1 (en) * 2000-01-28 2004-11-23 International Business Machines Corporation Arrangements and methods for latency-sensitive hashing for collaborative web caching
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
US20030105807A1 (en) * 2001-11-30 2003-06-05 Aerocast.Com, Inc. URL munging
US20030217163A1 (en) * 2002-05-17 2003-11-20 Lambertus Lagerweij Method and system for assessing a right of access to content for a user device
US20060106802A1 (en) * 2004-11-18 2006-05-18 International Business Machines Corporation Stateless methods for resource hiding and access control support based on URI encryption
KR100567158B1 (ko) * 2005-01-10 2006-04-03 삼성전자주식회사 캐쉬기능을 가지는 와이어드 오어 타입의 페이지 버퍼 및이를 포함하는 불휘발성 반도체 메모리 장치, 그리고,이를 이용한 프로그램 방법
US7698269B2 (en) * 2005-11-29 2010-04-13 Yahoo! Inc. URL shortening and authentication with reverse hash lookup
US8646067B2 (en) * 2008-01-26 2014-02-04 Citrix Systems, Inc. Policy driven fine grain URL encoding mechanism for SSL VPN clientless access
CN101645827A (zh) 2008-08-07 2010-02-10 北京视博数字电视科技有限公司 发送授权管理信息的方法及其条件接收系统前端
WO2010090061A1 (ja) * 2009-02-04 2010-08-12 株式会社クボタ 作業機の表示装置及び表示装置における言語書き換えシステム
WO2010106962A1 (ja) * 2009-03-19 2010-09-23 グローリー株式会社 貨幣処理機
WO2010140935A1 (en) * 2009-06-03 2010-12-09 Telefonaktiebolaget L M Ericsson (Publ) Method and node for finding content in a content distribution network, and method for creating a virtual representation of a content distribution network
US8527647B2 (en) * 2009-10-06 2013-09-03 Unwired Planet, Inc. Managing network traffic using intermediate flow control
CN101789934B (zh) * 2009-11-17 2012-09-05 飞天诚信科技股份有限公司 网上安全交易方法和系统
US20110131408A1 (en) * 2009-12-01 2011-06-02 International Business Machines Corporation Document link security
EP2514171A1 (en) * 2009-12-14 2012-10-24 Telefonaktiebolaget L M Ericsson (PUBL) Dynamic cache selection method and system
BR112012023979A2 (pt) * 2010-03-25 2017-08-08 Yissum Research Development Company Of The Hebrew Univ Of Jerusalem eletrodo fotoquímico, construção e usos do mesmo.
US8479298B2 (en) * 2010-07-30 2013-07-02 At&T Intellectual Property I, L.P. Method for encrypting and embedding information in a URL for content delivery
US20120089781A1 (en) * 2010-10-11 2012-04-12 Sandeep Ranade Mechanism for retrieving compressed data from a storage cloud
US20120166592A1 (en) * 2010-12-22 2012-06-28 Jeremiah Elliot Content Delivery and Caching System
US9361395B2 (en) * 2011-01-13 2016-06-07 Google Inc. System and method for providing offline access in a hosted document service
US8745266B2 (en) * 2011-06-30 2014-06-03 Citrix Systems, Inc. Transparent layer 2 redirection of request to single sign in service based on applying policy to content of request
WO2013097105A1 (en) * 2011-12-28 2013-07-04 Intel Corporation Efficient dynamic randomizing address remapping for pcm caching to improve endurance and anti-attack
CN102624881B (zh) 2012-02-29 2014-11-12 浙江大学 一种面向移动设备的服务缓存系统架构及开发方法
US9166979B2 (en) * 2012-10-01 2015-10-20 International Business Machines Corporation Protecting online meeting access using secure personal universal resource locators
GB2510343A (en) * 2013-01-30 2014-08-06 Imimobile Europ Ltd Tracking system
US9471533B1 (en) * 2013-03-06 2016-10-18 Amazon Technologies, Inc. Defenses against use of tainted cache
US9544351B1 (en) * 2013-03-15 2017-01-10 Steven Sanghoon Lee Media sharing and consumption
CN103401950A (zh) 2013-08-21 2013-11-20 网宿科技股份有限公司 缓存异步刷新方法、缓存服务器处理请求方法和系统
EP2874372A1 (en) * 2013-11-14 2015-05-20 Alcatel Lucent Delivering managed and unmanaged content across a network
US10084605B2 (en) * 2014-02-14 2018-09-25 Telefonaktiebolaget Lm Ericsson (Publ) Caching of encrypted content
GB2526818B (en) 2014-06-03 2021-01-13 Arm Ip Ltd Methods of accessing and providing access to a remote resource from a data processing device
US10075348B2 (en) * 2014-07-25 2018-09-11 Cable Television Laboratories, Inc. Network service discovery
US9954351B2 (en) 2015-10-26 2018-04-24 Leach International Corporation System for implementation of I2t trip characteristic

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103229181A (zh) * 2010-10-13 2013-07-31 阿卡麦科技公司 通过对url进行模糊处理来保护网站和网站用户
CN103414562A (zh) * 2013-08-02 2013-11-27 广州菁英信息技术有限公司 基于url指纹技术的用户权限控制方法及装置

Also Published As

Publication number Publication date
GB201409853D0 (en) 2014-07-16
US20170201496A1 (en) 2017-07-13
US10880094B2 (en) 2020-12-29
GB2526894B (en) 2021-07-21
GB2526818A (en) 2015-12-09
WO2015185893A1 (en) 2015-12-10
US20180115532A1 (en) 2018-04-26
GB2526894A (en) 2015-12-09
CN106464732A (zh) 2017-02-22
US20170187536A1 (en) 2017-06-29
CN106462715B (zh) 2021-05-07
US10129033B2 (en) 2018-11-13
WO2015185888A1 (en) 2015-12-10
CN106462715A (zh) 2017-02-22
US9887970B2 (en) 2018-02-06
KR20170016430A (ko) 2017-02-13
GB201420101D0 (en) 2014-12-24
GB2526818B (en) 2021-01-13
KR102324505B1 (ko) 2021-11-11
US11218321B2 (en) 2022-01-04
KR20170013350A (ko) 2017-02-06
KR102329530B1 (ko) 2021-11-23
US20190074978A1 (en) 2019-03-07

Similar Documents

Publication Publication Date Title
US10880094B2 (en) Methods of accessing and providing access to a remote resource from a data processing device
JP7175550B2 (ja) 鍵を有するリソースロケーター
KR102117584B1 (ko) 로컬 디바이스 인증
US10432394B2 (en) Method and system for sharing encrypted content
US8438622B2 (en) Methods and apparatus for authorizing access to data
EP1766852B1 (en) Device for user identity management
CN105122265B (zh) 数据安全服务系统
JP2004304304A (ja) 電子署名生成方法,電子署名検証方法,電子署名生成依頼プログラム,及び電子署名検証依頼プログラム
EP2957064B1 (en) Method of privacy-preserving proof of reliability between three communicating parties
US11595398B1 (en) Access control for named domain networking
KR20090068183A (ko) 자기통제 강화형 디지털 아이덴터티 공유 장치 및 그 방법
CN114282267A (zh) 令牌生成方法、令牌验签方法、装置、设备及存储介质
US10546142B2 (en) Systems and methods for zero-knowledge enterprise collaboration
TWI611302B (zh) 安全地共享內容方法及系統
Ibrahim et al. A new customizable security framework for preventing WSDL attacks
Bressoud et al. Authentication and Authorization
Malygin INVESTIGATION OF DIGITAL CERTIFICATES: Creation of self-signed certificate on Windows 8
GB2610072A (en) Data sharing via distributed ledgers
Camenisch et al. Open Source Contributions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant