KR102329530B1 - 데이터 처리 디바이스로부터 원격 리소스에 액세스하고 원격 리소스에 대한 액세스를 제공하는 방법들 - Google Patents

데이터 처리 디바이스로부터 원격 리소스에 액세스하고 원격 리소스에 대한 액세스를 제공하는 방법들 Download PDF

Info

Publication number
KR102329530B1
KR102329530B1 KR1020177000061A KR20177000061A KR102329530B1 KR 102329530 B1 KR102329530 B1 KR 102329530B1 KR 1020177000061 A KR1020177000061 A KR 1020177000061A KR 20177000061 A KR20177000061 A KR 20177000061A KR 102329530 B1 KR102329530 B1 KR 102329530B1
Authority
KR
South Korea
Prior art keywords
url
remote resource
resource
unknown
data processing
Prior art date
Application number
KR1020177000061A
Other languages
English (en)
Other versions
KR20170016430A (ko
Inventor
제레인트 러프
밀로쉬 메리악
Original Assignee
에이알엠 아이피 리미티드
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 에이알엠 아이피 리미티드 filed Critical 에이알엠 아이피 리미티드
Publication of KR20170016430A publication Critical patent/KR20170016430A/ko
Application granted granted Critical
Publication of KR102329530B1 publication Critical patent/KR102329530B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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]
    • H04L67/2842
    • 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)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Pathology (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

데이터 처리 디바이스(2)로부터 원격 리소스(4)에 액세스하는 방법은 원격 리소스(4)에 대응하는 제1 URL을 획득하는 단계, 제1 URL에 대응하는 비밀 데이터를 획득하는 단계, 비밀 데이터를 사용하여 데이터 처리 디바이스(2)에서 알려지지 않은 URL을 발생하는 단계, 및 알려지지 않은 URL을 사용하여 원격 리소스에 액세스하는 단계를 포함한다. 이것은 디바이스(2)의 사용자가 이해할 수 있는 제1 URL을 보게 하고 네트워크와 그 정보를 공유하지 않고, 디바이스에 관한 유용한 정보를 제공한다. 알려지지 않은 URL은 원격 리소스의 실제 위치를 식별하고 디지트들 또는 문자들의 이해할 수 없는 스트림일 수 있다.

Description

데이터 처리 디바이스로부터 원격 리소스에 액세스하고 원격 리소스에 대한 액세스를 제공하는 방법들{METHODS OF ACCESSING AND PROVIDING ACCESS TO A REMOTE RESOURCE FROM A DATA PROCESSING DEVICE}
본 기술은 데이터 처리의 분야에 관한 것이다. 보다 특정적으로, 본 기술은 데이터 처리 디바이스로부터 원격 리소스에 액세스하고 원격 리소스에 대한 액세스를 제공하는 것에 관한 것이다.
클라우드 컴퓨팅 서비스들이 점점 더 일반화되고 있다. 점점 더 많은 디바이스들은 예를 들어 "사물 인터넷"의 부분으로서 클라우드에 접속된다. 예를 들어, 온도 센서들, 헬스케어 모니터들 및 전자 도어 락들과 같은 비교적 작은 디바이스들은 그들이 원격 시스템들을 사용하여 액세스 및 제어될 수 있도록 클라우드에 접속될 수 있다. 예를 들어, 도어는 원격 플랫폼으로부터 원격으로 열릴 수 있고, 또는 온도 센서 또는 헬스케어 모니터로부터의 데이터는 원격 위치에서 수집되고 다른 디바이스로부터 액세스될 수 있다. 그러므로, 클라우드 플랫폼들 및 그들의 제공자들에 의해 수집되는 증가하는 양의 데이터가 있다.
그러나, 개인 및 개인의 디바이스들에 관한 데이터를 클라우드 제공자와 같은 대형 회사들에 제공하는 것에 대한 불신이 또한 증가하고 있다. 최근에, 데이터가 클라우드 서비스에 제공될 때 사용자의 개인 정보에 대한 보호가 약하다. 그럼에도 불구하고, 클라우드 서비스들은 유용하고 그래서 클라우드를 통해 다른 디바이스들과 안전하게 상호작용할 수 있는 것이 여전히 요구된다. 본 기술은 데이터 처리 디바이스로부터 원격 리소스에 액세스하는 보다 안전한 방법을 제공하는 것을 추구한다.
한 양태로부터 보면, 본 기술은 데이터 처리 디바이스로부터 원격 리소스에 액세스하는 방법을 제공하는데, 상기 방법은
원격 리소스에 대응하는 제1 URL(uniform resource locator)을 획득하는 단계;
상기 제1 URL에 대응하는 비밀 데이터를 획득하는 단계;
상기 제1 URL에 대응하는 상기 비밀 데이터를 사용하여 상기 데이터 처리 디바이스에서 알려지지 않은 URL을 발생하는 단계 - 상기 알려지지 않은 URL은 상기 원격 리소스의 실제 위치를 획득하기 위한 것임 -;
상기 알려지지 않은 URL을 사용하여 상기 원격 리소스에 액세스하는 단계를 포함한다.
본 기술은 그것이 개인 또는 민감한 정보를 포함할 수 있는 원격 리소스들에 저장된 그 데이터만이 아니라는 것을 인식한다. 리소스가 그로부터 액세스될 수 있는 URL(uniform resource locator)은 자체로 정보를 누설할 수 있다. 예를 들어, 사용자는 그 URL이 디바이스의 유형, 제품, 모델, 기능 또는 위치에 관한 정보, 또는 디바이스를 소유한 사용자에 관한 정보를 포함하는 디바이스를 가질 수 있다. 유사하게, 웹사이트는 웹사이트를 실행하는 사람의 관심들 및 상세들을 설명하고 힌트하는 정보를 포함할 수 있는 URL을 가질 수 있다. 이것은 원격 리소스의 URL 내에 포함된 정보는 보통 원격 리소스의 실제 데이터로서 클라우드 제공자들 또는 "빅 데이터" 수집 회사들에게 관심있는 것으로서 될 수 있다는 것을 의미한다. 현재의 클라우드 플랫폼들에서, 원격 리소스의 URL은 모든 것에 개방되고 (예를 들어, 서버에 송신된 요구들을 통해) 클라우드 인프라스트럭처에 가시적이고 그래서 잠재적으로 개인 또는 민감한 정보의 손실에 이르게 할 수 있다. 프라이버시를 유지하기 위해, 문자들의 무작위 스트링과 같은 어떤 의미있는 정보를 주지 않는 URL을 사용하는 것이 가능하지만, 이것은 리소스가 리소스를 관리하는 사람과 다른 사용자들 둘 다에 의해 액세스되는 것을 더 어렵게 하는데, 왜냐하면 문자들의 무작위 스트링은 기억하기 어렵기 때문이다.
본 기술의 방법은 원격 리소스에 대응하는 제1 URL 및 제1 URL과 관련된 비밀 데이터를 획득한다. 제1 URL은 원격 리소스에 있는 데이터가 어떤 것을 의미하는지에 관한 설명적 데이터를 갖는 직관적인 URL일 수 있다. 제1 URL은 디바이스의 사용자가 URL을 타이핑함으로써, 이메일 또는 다른 웹사이트로부터의 링크를 클릭함으로써, 또는 디바이스가 이전에 저장된 URL 또는 디바이스 내에 영구적으로 내장된 URL에 액세스함으로써와 같이, 다양한 방식들로 획득될 수 있다. 비밀 데이터를 사용하여, 데이터 처리 디바이스는 다음에 원격 리소스의 실제 위치를 획득하기 위해 알려지지 않은 URL을 발생한다. 알려지지 않은 URL은 다음에 원격 리소스에 액세스하기 위해 이용될 수 있다.
그러므로, 원격 리소스의 실제 위치는 사용자 또는 사용자의 디바이스들에 관한 어떤 개인 정보도 누설하지 않는 문자들의 어떤 무작위 스트링(예를 들어, http://domain/a18b828f829e9...)일 수 있는, 알려지지 않은 URL에 의해 식별된다. 클라우드 인프라스트럭처, 서버들, 및 클라우드 제공 또는 "빅 데이터" 수집 회사들의 관점으로부터, 원격 리소스는 알려지지 않은 URL에 의해서만 단지 식별될 수 있으므로, URL은 민감한 정보를 누설하지 않는다. 그럼에도 불구하고, 제1 URL은 원격 리소스를 식별하기 위해 데이터 처리 디바이스에 의해 이용될 수 있다. 제1 URL은 원격 리소스의 허가된 사용자들이 예를 들어, 특정한 URL에서의 데이터가 어떤 것을 나타내는지 그리고 URL이 다른 URL들과 어떻게 관련하는지를 직관적으로 이해하게 하는 구조를 갖는 보다 자연스럽게 보이는 URL(예를 들어, http://domain/health/alicesmith/bloodpressure/...)일 수 있다. 비밀 데이터는 제1 URL이 네트워크 인프라스트럭처에 알려질 필요가 없도록 제1 URL이 데이터 처리 디바이스에서의 대응하는 알려지지 않은 URL에 맵핑되게 한다.
원격 리소스는 데이터 처리 디바이스에 의해 원격으로 액세스된 어떤 데이터 또는 디바이스에 대응할 수 있다. 예를 들어, 원격 리소스는 또 하나의 플랫폼으로부터 원격으로 제어될 수 있는 데이터 처리 디바이스 또는 내장된 시스템; 데이터 처리 디바이스에 의해 포스트된 데이터를 수신하는 원격 컴퓨터, 콘텐츠 수집기, 서버 또는 클라우드 플랫폼; 또는 데이터 처리 디바이스로부터 액세스된 웹사이트 또는 서버를 포함할 수 있다. 원격 리소스에의 액세스는 예를 들어, 데이터를 원격 리소스에 기입하는 것, 데이터를 원격 리소스로부터 판독하는 것, 및/또는 원격 리소스와 관련된 디바이스에 동작을 수행하기를 지시하는 것을 포함할 수 있다.
원격 리소스에 있는 데이터는 암호화될 수 있다. 예를 들어, 데이터 처리 디바이스로부터 원격 리소스에 송신된 어떤 데이터는 제1 URL에 대한 비밀 데이터와 함께 포함된 암호화 키를 사용하여 암호화될 수 있다. 이것은 원격 리소스를 식별하는 URL과 원격 리소스에 있는 데이터 둘 다가 네트워크 인프라스트럭처 또는 클라우드 운영자들이 리소스와 관련된 어떤 민감한 정보의 가시성을 갖지 않도록 알려지지 않는다는 것을 의미한다. 알려지지 않은 URL이 비밀 키를 사용하여 발생되면, 동일한 키가 데이터를 암호화하고 알려지지 않은 URL을 발생하기 위해 이용될 수 있고, 또는 상이한 키들이 알려지지 않은 URL 및 암호화된 데이터를 각각 발생하기 위해 제공될 수 있다. 암호화를 위한 키들은 디바이스에 국부적으로 유지될 수 있거나 또 하나의 위치로부터 획득될 수 있다.
일반적으로, 제1 URL은 데이터 처리 디바이스의 사용자에게 가시적일 수 있다. 즉, 제1 URL은 원격 리소스를 식별하기 위해 사용자에 의해 사용된 URL일 수 있다. 그러나, 제1 URL은 데이터 처리 디바이스 자체 상에 반드시 디스플레이될 필요는 없다. 예를 들어, 가정용 난방 시스템 내의 온도 센서는 온도 데이터가 알려지지 않은 URL에 의해 식별된 원격 리소스에 포스트될 수 있도록 클라우드에 접속될 수 있지만, 사용자가 제1 URL을 볼 수 있는 디스플레이를 갖지 않을 수 있다. 사용자는 예를 들어 무선 신호들을 통해 온도 센서와 통신하는 사용자의 집 안의 로컬 난방 제어기와 같은 별도의 디바이스를 통해 제1 URL의 가시성을 가질 수 있다.
많은 경우에, 제1 URL은 네트워크 상의 원격 리소스의 임의의 실제 위치를 식별하지 않을 수 있다. 그러므로, 알려지지 않은 URL을 발생할 수 없는 디바이스(예를 들어, 그것은 제1 URL에 대한 비밀 데이터를 갖지 않음)가 제1 URL에 액세스하기를 시도하면, 액세스는 실패할 것이다. 예를 들어, 제1 URL에 의해 식별된 리소스가 발견될 수 없기 때문에 http 404 에러 메시지가 나올 수 있다. 제1 URL에 대응하는 네트워크 상의 임의의 실제 위치를 제공하지 않음으로써, 보안성이 유지될 수 있다.
제1 URL이 실제 네트워크 위치를 식별하는 것이 또한 가능하지만, 실제 네트워크 위치는 알려지지 않은 URL을 사용하여 액세스된 것과 상이한 원격 리소스, 또는 알려지지 않은 URL과 동일한 원격 리소스에 대응한다. 예를 들어, 콘텐츠의 상이한 버전들이 사용자가 알려지지 않은 URL이 발생되게 하는 비밀 키를 갖는지에 따라 제공될 수 있다. 또한, 일부 경우들에서 제1 URL에 대응하는 원격 리소스는 이미 제1 URL에 의해 식별된 온라인일 수 있다. 예를 들어, 본 기술을 사용하지 않고 설계된 레거시 웹사이트는 이미 직관적인 정보를 포함하는 URL을 가질 수 있다. 레거시 리소스가 프라이버시/보안성을 개선하기 위해 갑자기 알려지지 않은 URL의 위치로 이동되었다면, 리소스 관리자는 더 이상 오래된 리소스를 찾을 수 없는 사용자들 또는 고객들을 잃을 수 있다. 그러므로, 본 기술로의 전이가 보다 점진적으로 이루어지는 것이 유용할 수 있다. 먼저, 제1 URL에 있는 레거시 리소스는 알려지지 않은 URL에 있는 보다 보안성인 리소스와 동시에 동작할 수 있으므로, 제1 URL은 일정 기간 동안 실제 네트워크 위치에 대응할 것이다. 충분한 사용자들/디바이스들이 그들이 알려지지 않은 URL을 찾게 하는 비밀 데이터를 제공받으면, 레거시 리소스는 다음에 오프라인으로 취해질 수 있고, 그 점에서 제1 URL은 더 이상 실제 위치를 지정하지 않을 것이다.
비밀 데이터로부터의 알려지지 않은 URL의 발생은 제1 URL이 비밀 데이터를 사용하여 알려지지 않은 URL로부터 획득될 수 없도록 되는 것이 바람직하다. 즉, 비밀 데이터는 데이터 처리 디바이스가 제1 URL에 대응하는 알려지지 않은 URL을 발생하게 하기에 충분한 정보를 포함할 수 있지만, 당사자가 알려지지 않은 URL로부터 제1 URL을 획득하기에 충분하지 않은 정보를 포함할 수 있다.
일부 경우들에서, 알려지지 않은 URL은 제1 URL을 비밀 데이터를 사용하여 알려지지 않은 URL로 변환함으로써 발생될 수 있다. 예를 들어, 비밀 데이터는 비밀 키를 포함할 수 있고 알려지지 않은 URL은 키를 사용하여 제1 URL을 암호화함으로써 발생될 수 있다. 예를 들어, md5 또는 변환들의 SHA(보안 해시 알고리즘) 군 중 하나와 같은 일방향 변환이 비밀 데이터 내에 포함된 비밀 스트링에 기초하여 제1 URL을 해시하기 위해 이용될 수 있다. 누군가가 알려지지 않은 URL 및 비밀 스트링을 갖더라도, 그들이 알려지지 않은 URL을 발생하기 위해 사용된 제1 URL을 결정하는 것은 가능하지 않다.
비밀 데이터 내에 포함된 정보에 기초하여 알려지지 않은 URL을 발생하는 것도 또한 가능하다. 알려지지 않은 URL의 발생은 제1 URL의 특정한 문자 값들에 독립할 수 있는데, 즉 알려지지 않은 URL은 제1 URL의 변환이 아니지만, 비밀 데이터 내에 포함된 정보에 단지 기초할 수 있다. 이 경우에, 제1 URL에 액세스하기를 시도하는 것은 발생될 알려지지 않은 URL을 트리거할 수 있지만, 제1 URL 자체는 알려지지 않은 URL 발생을 위한 입력이 아니다. 예를 들어, 비밀 데이터는 알려지지 않은 URL 자체를 포함할 수 있으므로, 변환은 요구되지 않는다. 대안적으로, 비밀 데이터는 알려지지 않은 URL로 변환될 수 있는 하나 이상의 비밀 스트링 또는 값을 포함할 수 있다. 어느 방식으로든, 누군가가 알려지지 않은 URL 및 비밀 데이터를 갖더라도, 이것은 제1 URL에 관한 어떤 정보도 제공하지 않는다.
또한, 일부 경우들에서 비밀 데이터는 제1 URL 자체의 부분(예를 들어, 제1 URL 내의 문자들의 코드 또는 스트링)일 수 있고, 알려지지 않은 URL은 해시 또는 다른 변환을 제1 URL에 적용함으로써 발생될 수 있다. 또한, 비밀 데이터는 알려지지 않은 URL을 발생하기 위해 제1 URL에 적용될 해시 알고리즘을 정의하는 데이터일 수 있다. 비밀 데이터는 디바이스에 의해 국부적으로 유지될 수 있거나 웹사이트 또는 다른 원격 리소스로부터 획득될 수 있다.
상이한 데이터 처리 디바이스들에게는 동일한 제1 URL에 대응하는 상이한 비밀 데이터가 할당될 수 있다. 그러므로, 상이한 디바이스들이 동일한 제1 URL에 액세스할 때, 이것은 상이한 비밀 데이터를 사용하여 상이한 알려지지 않은 URL들로 맵핑되므로, 상이한 원격 리소스들이 각각의 디바이스들에 의해 액세스된다. 이것은 상이한 콘텐츠, 또는 동일한 콘텐츠의 상이한 표현들이 상이한 사용자들 또는 사용자들의 그룹들에 제공되게 하기 위해 매우 유용하다. 각각의 사용자 또는 그룹은 동일한 제1 URL을 사용할 수 있고 그래서 그들이 다른 사용자들에게 콘텐츠의 상이한 뷰로 주어진다는 것을 알지 못할 수 있다. 상이한 알려지지 않은 URL들은 전체적으로 상이한 리소스들에, 또는 공통 원격 리소스의 상이한 부분들 또는 서브셋들에 대응할 수 있다. 예를 들어, 사용자들의 일부 그룹들에게 전체 리소스에의 액세스를 주는 반면, 사용자들의 다른 그룹들은 단지 리소스의 선택된 섹션들을 볼 수 있는 것이 바람직할 수 있다. 또한, 일부 사용자들은 고해상도 데이터(예를 들어, 풀사이즈 영상 또는 자주 샘플된 시간 시리즈 데이터)를 볼 수 있고 다른 사용자들은 저해상도 데이터(예를 들어, 압축된 영상들 또는 덜 빈번하게 샘플된 시간 시리즈 데이터)를 본다.
알려지지 않은 URL은 액세스될 원격 리소스들의 실제 위치를 식별할 수 있다. 그러므로, 알려지지 않은 URL이 발생되고 나서, 데이터 처리 디바이스는 알려지지 않은 URL에 의해 식별된 위치에 간단히 액세스할 수 있다.
그러나, 리소스의 상이한 버전들이 상이한 사용자들 또는 사용자들의 그룹들에 액세스가능하게 될 필요가 있다면, 이 방식은 리소스 관리자가 상이한 URL들에 있는 데이터의 다수의 카피를 유지할 필요가 있을 수 있고, 리소스를 업데이트하거나 유지하는 것과 관련된 오버헤드를 증가시킴에 따라 효율적이 아닐 수 있다.
그러므로, 알려지지 않은 URL이 원격 리소스 자체를 식별하는 리소스 URL을 획득하기 위한 데이터를 포함하는 키 노드 리소스의 위치를 식별하는 것이 보다 더 효율적일 수 있다. 그러므로, 비밀 데이터는 제1 URL을 키 노드 리소스에 액세스하기 위해 사용된 대응하는 알려지지 않은 URL에 맵핑한다. 키 노드 리소스는 다음에 디바이스를 원격 리소스의 리소스 URL로 리다이렉트하는 추가 데이터를 제공한다. 키 노드 리소스에 있는 데이터는 예를 들어, 리소스 URL 자체, 리소스 URL을 계산하기 위한 데이터, 또는 리소스 URL이 획득될 수 있는 또 하나의 원격 위치를 식별하는 데이터를 포함할 수 있다. 그러므로, 리소스의 상이한 표현들이 상이한 사용자들에 대해 요구된다면, 각각의 사용자는 상이한 키 노드 리소스를 제공받을 수 있지만, 상이한 키 노드들은 원격 리소스 자체의 다수의 버전을 유지할 필요가 없도록 사용자를 공통 리소스 URL로 다이렉트할 수 있다. 알려지지 않은 URL에 관한 한, 리소스 URL은 또한 민감한 정보를 포함하지 않는 이해할 수 없는 URL일 수 있다.
키 노드 리소스는 원격 리소스에 있는 데이터를 복호화하기 위한 정보를 포함할 수 있다.
키 노드 리소스들은 또한 사용자들 또는 사용자들의 그룹들에 의한 리소스들에의 액세스의 취소를 간소화할 수 있다. 알려지지 않은 URL이 원격 리소스를 직접 식별하면, 사용자의 액세스를 취소하는 것은 원격 리소스가 새로운 위치로 이동되고 새로운 비밀 데이터가 그들 사용자가 새로운 알려지지 않은 URL을 발생하게 하기 위해 리소스에 계속 액세스할 필요가 있는 다른 사용자들에게 제공되는 것을 요구할 수 있다. 이것은 비교적 복잡한 동작이다.
보다 효율적인 방식은 각각의 사용자에 대한 상이한 비밀 데이터를 사용하여 발생된 알려지지 않은 URL들에 의해 식별된 키 노드 리소스들을 제공하는 것일 수 있다. 사용자 또는 사용자들의 전체 그룹에의 액세스를 취소하기 위해, 그 사용자 또는 사용자들의 그룹에 대한 키 노드 리소스가 간단히 제거된다. 이것은 취소된 사용자 또는 취소된 그룹의 사용자가 원격 리소스에 액세스하기를 시도하면, 대응하는 비밀 데이터로 발생된 알려지지 않은 URL은 더 이상 실제 위치에 맵핑하지 않을 것이고 그래서 그 액세스는 리소스의 실제 URL이 액세스되는 것을 방지하지 못할 것이다. 이것은 리소스 자체를 다시 찾거나 새로운 비밀들을 허가된 사용자들에게 재분배할 필요성을 없애 준다.
키 노드 리소스들은 또한 그룹의 나머지에 대한 리소스에의 액세스를 유지하면서 그룹 내의 선택된 사용자에 대한 리소스에의 액세스의 취소를 간소화할 수 있다. 이것은 사용자들의 선택된 그룹에 대한 새로운 그룹 비밀 데이터를 발생하고, 새로운 그룹 비밀 데이터에의 액세스를 선택된 사용자 이외의 그룹의 사용자들에게 제공하고, 새로운 그룹 비밀 데이터를 사용하여 발생된 새로운 알려지지 않은 URL에 의해 식별되고, 원격 리소스의 리소스 URL을 획득하기 위한 데이터를 포함하는 새로운 키 노드 리소스를 생성하고, 이전에 사용자들의 선택된 그룹에 대응하는 키 노드 리소스에 액세스가능하지 않게 함으로서 이루어질 수 있다. 이것은 새로운 비밀 데이터를 갖지 않는 선택된 사용자가 원격 리소스에의 액세스를 가능하게 하는 키 노드 리소스에 성공적으로 도달하지 않을 것이라는 것을 의미한다.
비밀 데이터는 데이터 처리 디바이스에 국부적으로 저장될 수 있거나, 또 하나의 위치로부터 획득될 수 있다. 비밀 데이터는 아래에 "사이트 비밀" 또는 "비밀"로서 참조될 수 있다.
동일한 비밀이 하나보다 많은 원격 리소스에 액세스하기 위해 이용될 수 있다(예를 들어, 당사자는 그 당사자에 의해 유지된 모든 URL들에 액세스하기 위한 단일의 비밀을 제공할 수 있다). 그러므로, 디바이스가 새로운 URL을 만날 때, 새로운 비밀이 또한 공급될 수 있지만, 이것은 디바이스가 그 URL에 사용하기에 적합한 비밀을 이미 가지고 있을 수 있으므로 필수적이지 않다.
데이터 처리 디바이스는 동일한 리소스에 대응하는 다수의 비밀에 액세스할 수 있다. 예를 들어, 사용자의 상이한 부류들에 대해 허용된 액세스의 상이한 유형들이 있을 수 있고, 단일의 사용자는 여러 중첩하는 부류들에 속할 수 있다. 예를 들어 사용자는 그 사용자가 멤버인 사용자들의 그룹에 대응하는 그룹 비밀 및/또는 누구나에 의해 이용될 수 있는 일반 비밀뿐만 아니라 개인 비밀을 가질 수 있다. 다수의 비밀은 데이터 처리 디바이스에 국부적으로 저장될 수 있다.
확장 URL은 추가 비밀 데이터가 획득될 수 있는 위치를 식별하는 (예를 들어 제1 URL에 대한 비밀 데이터의 부분으로서) 데이터 처리 디바이스에 제공될 수 있다. 확장 URL을 사용하면 그룹 비밀들의 분배가 간소화되어, 비밀들이 예를 들어 그룹의 각각의 멤버에 직접 연락할 필요없이 변경되게 한다.
데이터 처리 디바이스는 다음에 비밀들 각각으로 발생된 상이한 알려지지 않은 URL들에의 액세스를 시도할 수 있다. 일부 경우들에서 데이터 처리 디바이스는 하나의 알려지지 않은 URL에 액세스하기를 시도할 수 있고, 그것이 성공하지 않으면, 상이한 비밀을 사용하여 발생된 또 하나의 알려지지 않은 URL을 시도하고, 액세스가 성공적이거나 비밀들의 모두가 시도될 때까지 계속 시도한다. 예를 들어, 비밀들은 데이터 처리 디바이스가 알려지지 않은 URL들에 액세스하기를 시도하는 순서를 설정하는 미리 결정된 비밀 계층 구조를 가질 수 있다. 예를 들어, 개인 비밀은 우선권을 얻을 수 있고, 그 이후에 적어도 하나의 그룹 비밀 및 그 다음에 일반 비밀로 이어진다. 대안적으로, 성능을 개선하기 위해 데이터 처리 디바이스는 일부 액세스들이 실패할 수 있다는 예상 시에 동시에 여러 디바이스에의 액세스를 시도할 수 있다(이것은 시퀀스로 각각 시도하는 것보다 빠를 수 있다). 비밀들의 유사한 계층 구조는 다수의 액세스가 성공적인 경우에 어떤 비밀이 우선되어야 하는지를 결정할 수 있다.
일부 경우들에서 데이터 처리 디바이스에 제공된 비밀 키는 원격 리소스에의 액세스가 비밀 데이터를 사용하여 승인될 수 있는지를 결정하기 위한 관련된 조건들을 가질 수 있다. 예를 들어, 비밀 범위는 도메인, 서브-도메인, 폴더, 또는 비밀이 적용되는, 사이트의 명시된 부분 또는 리소스들의 집합을 식별하는 것으로 정의될 수 있다. 이 경우에, 비밀을 사용하는 액세스들은 그들이 범위 파라미터 내에 있지 않으면 실패할 수 있다. 특정한 비밀을 사용하여 액세스된 리소스는 전체 웹사이트의 일부 또는 리소스들의 집합에만 대응할 수 있고, 다른 비밀들은 원격 리소스의 다른 부분들을 위해 요구될 수 있다. 비밀 데이터 내에 포함된 액세스 조건의 또 하나의 예는 시간 제한일 수 있으므로, 원격 리소스는 단지 명시된 시간 윈도우 또는 기간 내에서 성공적으로 액세스될 수 있다.
원격 리소스에 저장된 데이터 또는 리소스에 송신된 트랜잭션들은 데이터 처리 디바이스와 원격 리소스 사이의 네트워크 노드들에서 캐시될 수 있다. 예를 들어, 리소스에 데이터를 기입하기 위한 기입 트랜잭션들은 그들이 네트워크를 이동함에 따라 캐시될 수 있다. 데이터와 원격 리소스의 URL 둘 다는 본 기술을 사용하여 익명으로 될 수 있기 때문에, 이것은 데이터가 제3자들에 의해 유지될 때 프라이버시의 손실의 어떤 위험을 제거한다. 이것은 다수의 장소 내의 원격 리소스에 대한 데이터 또는 트랜잭션들을 캐시하기 위한 옵션들을 자유롭게 하여, 성능 또는 신뢰성 이유들로 인해 매우 유용할 수 있다. 예를 들어, 원격 리소스 자체가 이용가능하지 않을 때에도(예를 들어, 디바이스가 시간의 대부분을 절전 상태에서 동작할 수 있고 단지 주기적으로 웨이크 업할 수 있음), 그것의 데이터는 리소스가 다시 이용가능하게 되는 것을 기다릴 필요가 없도록 캐시 또는 프록시로부터 판독될 수 있다. 또한, 리소스로부터의 데이터가 다수의 장소에서 이용가능하면 그것에 액세스할 때 데이터는 (예를 들어 시간 또는 에너지에 기초하여 결정될 수 있는) 가장 낮은 예상된 트랜잭션 비용을 갖는 위치로부터 획득될 수 있다. 유사하게, 트랜잭션들이 원격 리소스에 대해 송신되고, 트랜잭션을 위해 이용가능한 다수의 통신 채널이 있을 때 가장 낮은 관련된 비용을 갖는 채널이 선택될 수 있다(예를 들어, 블루투스, 와이파이, 3G, 또는 유선 접속들 중 하나가 선택될 수 있다).
데이터 및 트랜잭션들은 또한 상이한 프로토콜들(예를 들어, HTTP 및 COAP) 또는 상이한 통신 매체들(예를 들어, 블루투스 및 와이파이) 사이의 경계들에서 프록시될 수 있다. 데이터 처리 디바이스 및 원격 리소스와 관련된 디바이스가 상이한 프로토콜들 또는 매체들을 사용하여 통신하면, 변환 프록시(예를 들어, 라우터)는 보안성/프라이버시의 손실 없이 그들 사이의 갭을 브릿지할 수 있다.
데이터 처리 디바이스 자체, 또는 데이터 처리 디바이스와 원격 리소스 사이의 중간 네트워크 노드는 원격 리소스와 관련된 디바이스에 송신될 트랜잭션들을 큐잉하기 위한 트랜잭션 큐를 가질 수 있다. 원격 리소스와 관련된 디바이스는 일부 경우들에서 원격 리소스 자체를 제공하는 디바이스일 수 있거나 원격 리소스를 제어하는 또 하나의 디바이스일 수 있다. 원격 리소스와 관련된 디바이스는 트랜잭션들을 처리할 준비가 되어 있을 때 트랜잭션 큐로부터 트랜잭션들을 풀링할 수 있다. 트랜잭션 큐 내의 트랜잭션들은 보안성을 유지하기 위해 암호화될 수 있다. 트랜잭션 큐는 그것이 데이터 처리 디바이스 및 원격 리소스와 관련된 디바이스가 비동기적으로 통신하게 하기 때문에 유용하다. 데이터 처리 디바이스 및 원격 리소스와 관련된 디바이스가 동시에 활성 상태에 있지 않더라도, 데이터 처리 디바이스는 트랜잭션들을 큐에 포스트할 수 있고 원격 리소스와 관련된 디바이스는 그것이 다음에 웨이크 업할 때 큐로부터 트랜잭션들을 풀링할 수 있다.
일부 디바이스들은 원격 리소스에 액세스하기 위한 데이터 처리 디바이스 및 또 하나의 디바이스에 의해 액세스될 원격 리소스와 관련된 디바이스 둘 다로서 기능할 수 있다.
명시된 동작이 원격 리소스를 사용하여 수행되기를 지시할 때, 데이터 처리 디바이스는 그것의 아이덴티티를 증명하여야 할 수 있으므로, 허가되지 않는 디바이스들은 원격 리소스를 적절하지 않은 방식들로 제어할 수 없다. 그러므로, 데이터 처리 디바이스는 데이터 처리가 명시된 동작이 원격 리소스를 사용하여 수행되기를 지시할 권한을 갖고 있다는 것을 검증하기 위한 인증 정보를 획득하거나 획득하는 것이 가능할 수 있다. 인증 정보는 예를 들어 인증서 및/또는 트랜잭션을 송신하는 디바이스의 아이덴티티를 검증하는 데이터 처리 디바이스와 관련된 공개 키를 포함할 수 있다. 트랜잭션을 수신할 때, 원격 리소스와 관련된 디바이스는 다음에 인증 정보를 체크하여 명시된 동작이 수행되는 것이 허용되는지를 검증할 수 있다.
인증 정보는 인증 정보가 언제 유효한지를 명시하는 유효성 정보를 명시할 수 있다(예를 들어, 인증 정보의 유효성은 주어진 시간 기간의 종료 시에 만료할 수 있다). 또한, 인증 정보는 어떤 동작들이 데이터 처리 디바이스에 의해 지시되는 것이 허용되는지를 명시하는 허용 정보를 정의할 수 있다. 이것은 상이한 액세스 권한들이 리소스를 사용하는 상이한 동작들에 대해 승인되게 한다. 예를 들어, 디바이스는 데이터를 판독하는 것은 허가되지만 기입하는 것은 허용되지 않을 수 있다.
일부 경우들에서 인증 정보는 데이터 처리 디바이스로부터 송신된 트랜잭션에서 명시된 인증 URL로부터 리소스와 관련된 디바이스에 의해 획득될 수 있다. 그러므로, 데이터 처리 디바이스는 인증 정보 자체를 제공할 필요는 없지만, 인증 정보가 유지될 수 있는 위치를 명시할 수 있다. 예를 들어, 인증 URL은 인증서 발급 기관에 속할 수 있다. 이 방식은 비교적 작은 데이터 처리 디바이스들이 원격 리소스를 제어하는 것을 보다 쉽게 하는데, 왜냐하면 데이터 처리 디바이스가 인증서들 또는 다른 인증 정보를 송신할 필요가 없기 때문이다.
일부 경우들에서 인증 URL은 데이터 처리 디바이스 자체를 식별하는 URL일 수 있거나, 상이한 위치를 식별할 수 있다.
인증 URL은 데이터 처리 디바이스에 의해 유지된 인증 정보의 적어도 일부를 사용하여 발생된 핑거프린트 부분을 가질 수 있다. 이것은 원격 리소스에 대한 트랜잭션을 발행하는 디바이스는 그것이 이미 인증 정보에의 액세스를 갖는 경우에 단지 성공할 수 있고, 그렇지 않으면 그것은 원격 리소스와 관련된 디바이스를 인증 정보에 대한 올바른 인증 URL로 다이렉트할 수 없을 것이라는 것을 의미한다. 예를 들어, 핑거프린트는 인증 정보의 인증서의 부분의 해시, 또는 공개 키를 사용하여 암호화된 값일 수 있다. 핑거프린트는 인증 정보의 올바른 버전이 제공되었고 그것이 만들어진 후에 수정되지 않았다는 보장을 제공한다. 예를 들어, 당사자의 웹사이트 도메인이 어떤 다른 사람으로 이전하면, 그들은 핑거프린트가 일치하지 않을 것이기 때문에 "https://my-site/certs/geraint/12b274a"의 유효한 새로운 버전을 포스트할 수 없다.
일부 경우들에서, 디바이스가 원격 리소스를 제어하는 것이 허가되는 것을 검증하기 위해 요구되는 인증 정보의 체인이 있을 수 있다. 예를 들어, 하나의 증명 기관은 인증서들을 발급할 또 하나의 기관을 증명할 수 있고, 그래서 제2 기관에 의해 허가된 당사자들은 검증되기 위해 둘 다의 인증서 기관들에 의해 발급된 인증서들을 인용할 필요가 있을 수 있다. 이 경우에, 인증 URL 핑거프린트는 체인의 모든 링크들을 갖는 어떤 자만이 리소스를 제어하기 위해 인증될 수 있다는 것을 보장하기 위해, 체인 내의 인증 정보의 각각의 피스로부터 도출될 수 있다.
원격 리소스와 관련된 디바이스는 트랜잭션을 송신하기 위해 사용된 통신 채널과 상이한 통신 채널을 통해 인증 URL로부터 인증 정보를 획득할 수 있다. 예를 들어, 데이터 처리 디바이스는 하나의 채널(예를 들어, 블루투스)을 통해 트랜잭션을 제출함으로써 (원격 리소스로서 동작하는) 도어 디바이스에 트랜잭션을 발행할 수 있다. 데이터 처리 디바이스는 도어 디바이스가 인증 크리덴셜들(authentication credentials)을 획득할 수 있도록 트랜잭션 내의 인증 URL(예를 들어, https://abc.xyz.com/ufO7ZxhqJRwpI)을 인용할 수 있다. 그러나, 이 방식으로 디바이스로부터 도어로 블루투스를 통해 이들 크리덴셜들을 획득하는 것은 비효율적이고, 느리거나 혹은 바람직하지 않을 수 있고, 그래서 대신에 도어는 크리덴셜들을 페치(fetch)하기 위해 일부 다른 관련되지 않은 루트(예를 들어, 하우스 라우터, 또는 유선 접속)를 사용할 수 있다.
데이터 처리 디바이스의 인증 정보는 적어도 하나의 네트워크 노드에 의해 캐시될 수 있다. 원격 리소스와 관련된 디바이스는 데이터 처리 디바이스가 명시된 동작이 원격 리소스를 사용하여 수행되기를 지시할 권한을 갖는다는 것을 검증하기 위해 캐시된 인증 정보를 사용할 수 있다. 이것은 인증 크리덴셜들이 그들이 항상 인증 URL로부터 소스되어야 하는 경우보다 더 빠르게 획득되게 한다. 인증 정보를 캐시하는 노드는 인증 URL을 운영하는 당사자와 상이한 당사자 및 데이터 처리 디바이스의 사용자에 속할 수 있다.
인증 정보는 인증 정보가 유효한 시간 기간을 명시하는 유효성 정보 및 인증 정보가 네트워크에서 캐시될 수 있는 시간 기간을 명시하는 캐시가능성 정보를 별도로 정의할 수 있다. 캐시가능성 정보는 유효성 정보에서 설정된 기간보다 캐시하기 위해 더 짧은 기간을 명시할 수 있다. 이것은 인증 정보가 유효하게 남아 있는 동안 인증 정보의 캐시된 카피들이 주기적으로 폐기되어, 인증 크리덴셜들은 다음에 원래의 인증 URL로부터 리소스될 필요가 있다는 것을 의미한다. 특정한 사용자에의 액세스는 다음에 인증 URL로부터의 그 사용자에 대한 인증 크리덴셜들을 제거함으로써 쉽게 취소될 수 있다. 반면에, 캐시된 카피들에 대한 제한이 설정되지 않으면, 원격 리소스를 제어할 권한을 취소하기 위해 더 짧은 유효 기간을 설정할 필요가 있으므로, 새로운 인증 정보를 발생하고 이것을 허가된 사용자들에 보다 빈번하게 이용가능하게 하는데 있어서 보다 많은 관리 오버헤드가 있다. 그러므로, 캐시가능성 정보는 인증 정보의 관리를 보다 더 효율적이게 하는 데 도움을 준다.
유사하게, 별도의 유효성 및 캐시가능성 정보는 또한 다른 캐시된 리소스들에 대해 정의될 수 있다. 예를 들어, 디바이스 어드레스와 같은, 데이터의 오래 살아있는 피스는 또한 데이터의 새로운 버전들이 발생되는 것보다 더 빈번하게 액세스의 취소를 가능하게 하기 위해 별도의 캐시가능성 및 유효 기간들로부터 이득을 볼 수 있다.
유효성 정보 및 캐시가능성 정보에 의해 명시된 기간들은 임의의 명시된 시간 또는 사용 조건들일 수 있다. 예를 들어, 기간들은 초, 분, 시간, 일, 주, 달, 연 등으로 명시될 수 있다. 기간들은 정의된 시작 및 종료 시간들/날짜들/연들을 가질 수 있거나 단지 만료 시간/날짜를 가질 수 있다. 기간들은 또한 "소정의 날짜까지 월요일마다"와 같은 비연속적인 기간들을 포함할 수 있다. 또한, 기간들은 시간 기간이라기보다는 인증 정보가 사용되는 횟수(예를 들어, 100번의 액세스에 대해 유효, 캐시된 카피들이 10번의 액세스 후에 폐기됨)에 기초할 수 있다.
본 기술은 위에 논의된 것과 같은 방법을 수행하기 위해 적어도 하나의 디바이스를 제어하는 적어도 하나의 디바이스에 의해 실행되는 적어도 하나의 컴퓨터 프로그램을 사용하여 구현될 수 있다. 적어도 하나의 프로그램은 예를 들어 비일시적 저장 매체일 수 있는 적어도 하나의 컴퓨터 판독가능 저장 매체 상에 저장될 수 있다.
다른 양태로부터 보면, 본 기술은
데이터 처리를 수행하도록 구성된 처리 회로; 및
원격 위치들에 액세스하도록 구성된 통신 회로를 포함하고,
상기 처리 회로는
(a) 상기 원격 리소스에 대응하는 제1 URL(uniform resource locator)을 획득하고 상기 제1 URL에 대응하는 비밀 데이터를 획득하고;
(b) 상기 제1 URL에 대응하는 상기 비밀 데이터를 사용하여 알려지지 않은 URL을 발생하고 - 상기 알려지지 않은 URL은 상기 원격 리소스의 실제 위치를 획득하기 위한 것임 -;
(c) 상기 알려지지 않은 URL을 사용하여 상기 원격 리소스에 액세스하도록 상기 통신 회로를 제어하도록 구성되는 데이터 처리 디바이스를 제공한다.
추가 양태로부터 보면, 본 기술은
데이터 처리를 수행하는 처리 수단; 및
원격 위치들에 액세스하는 통신 수단을 포함하고,
상기 처리 수단은
(a) 상기 원격 리소스에 대응하는 제1 URL(uniform resource locator)을 획득하고 상기 제1 URL에 대응하는 비밀 데이터를 획득하고;
(b) 상기 제1 URL에 대응하는 상기 비밀 데이터를 사용하여 알려지지 않은 URL을 발생하고 - 상기 알려지지 않은 URL은 상기 원격 리소스의 실제 위치를 획득하기 위한 것임 -;
(c) 상기 알려지지 않은 URL을 사용하여 상기 원격 리소스에 액세스하도록 상기 통신 수단을 제어하도록 구성되는 데이터 처리 디바이스를 제공한다.
추가 양태로부터 보면, 본 기술은 데이터 처리 디바이스에 그 실제 위치가 리소스 URL(uniform resource locator)에 의해 식별되는 원격 리소스에의 액세스를 제공하는 방법을 제공하는데, 상기 방법은
상기 데이터 처리 디바이스의 사용자에 대응하는 비밀 데이터를 발생하는 단계;
상기 사용자에 대응하는 상기 비밀 데이터를 사용하여 알려지지 않은 URL을 발생하는 단계;
상기 알려지지 않은 URL에 의해 식별된 위치에 상기 리소스 URL을 획득하기 위한 데이터를 저장하는 단계; 및
상기 데이터 처리 디바이스에 (ⅰ) 상기 사용자에 대한 상기 원격 리소스를 식별하기 위한 제1 URL 및 (ⅱ) 상기 알려지지 않은 URL을 획득하기 위한 상기 비밀 데이터를 제공하는 단계를 포함한다.
위에 논의된 기술에 대응하는 방식에서, 콘텐츠 저자 또는 원격 리소스를 관리하는 당사자는 사용자에 대한 비밀 데이터 및 알려지지 않은 URL을 발생하고, 사용자가 실제 리소스 URL을 획득하기 위한 데이터를 획득하게 하기 위해 알려지지 않은 URL에 키 노드 리소스를 설정함으로써 또 하나의 사용자에 대한 리소스에의 액세스를 제공하고, 사용자의 디바이스에 사용자가 리소스를 참조하기 위해 사용할 수 있는 제1 URL 및 알려지지 않은 URL을 획득하기 위한 비밀 데이터를 제공할 수 있다. 상이한 사용자들에게 상이한 비밀 데이터 및 상이한 알려지지 않은 URL들을 제공함으로써, 이것은 콘텐츠 저자가 각각의 사용자에 대한 콘텐츠의 사용자 특정 표현들을 제공하게 한다.
다른 양태로부터 보면, 본 기술은
데이터 처리를 수행하도록 구성된 처리 회로; 및
원격 위치들에 액세스하도록 구성된 통신 회로를 포함하고,
상기 처리 회로는
(a) 그 실제 위치가 리소스 URL(uniform resource locator)에 의해 식별되는 원격 리소스에의 액세스를 제공받을 데이터 처리 디바이스의 사용자에 대응하는 비밀 데이터를 발생하고;
(b) 상기 사용자에 대응하는 상기 비밀 데이터를 사용하여 알려지지 않은 URL을 발생하고;
(c) 상기 알려지지 않은 URL에 의해 식별된 위치에 상기 리소스 URL을 획득하기 위한 데이터를 저장하고, 상기 데이터 처리 디바이스에 (ⅰ) 상기 사용자에 대한 상기 원격 리소스를 식별하기 위한 제1 URL 및 (ⅱ) 상기 알려지지 않은 URL을 획득하기 위한 상기 비밀 데이터를 제공하도록 상기 통신 회로를 제어하도록 구성되는 데이터 처리 디바이스를 제공한다.
추가 양태로부터 보면, 본 기술은
데이터 처리를 수행하는 처리 수단; 및
원격 위치들에 액세스하는 통신 수단을 포함하고,
상기 처리 수단은
(a) 그 실제 위치가 리소스 URL(uniform resource locator)에 의해 식별되는 원격 리소스에의 액세스를 제공받을 데이터 처리 디바이스의 사용자에 대응하는 비밀 데이터를 발생하고;
(b) 상기 사용자에 대응하는 상기 비밀 데이터를 사용하여 알려지지 않은 URL을 발생하고;
(c) 상기 알려지지 않은 URL에 의해 식별된 위치에 상기 리소스 URL을 획득하기 위한 데이터를 저장하고, 상기 데이터 처리 디바이스에 (ⅰ) 상기 사용자에 대한 상기 원격 리소스를 식별하기 위한 제1 URL 및 (ⅱ) 상기 알려지지 않은 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("제1 URL")을 위해 그리고 특정한 사용자 또는 디바이스를 위해 제공된다. 사용자/디바이스는 원격 리소스를 식별하기 위해 제1 URL을 사용할 수 있다. 그러나, 제1 URL은 원격 리소스의 실제 위치를 식별하지 않는다. 사이트 비밀은 제1 URL을 원격 리소스의 실제 위치를 찾기 위해 사용되는 상이한 알려지지 않은 URL에 맵핑하기 위한 것이다. 이 방식으로, 단지 알려지지 않은 URL이 네트워크에 노출될 필요가 있음에 따라, 네트워크 운영자들 또는 클라우드 제공자들이 직관적인 URL을 볼 필요는 없다. 그럼에도 불구하고, 사용자는 리소스와의 상호작용을 보다 편리하게 하기 위해 좋은 직관적인 URL을 여전히 사용할 수 있다.
도 2에 도시한 바와 같이, 사이트 비밀은 사이트 비밀이 적용되는 원격 리소스들을 명시하는 범위를 포함한다. 이 예에서, 범위 부분은 사이트 비밀이 적용되는 리소스들의 경로들 또는 부경로들을 표시한다. 이 예에서, 사이트 비밀은 경로 "/data"에 적용된다. 암시적으로, 사이트 비밀은 범위 내에 표시된 경로의 모든 부경로들에 또한 적용될 수 있다. 그러므로, (부경로들을 포함하는) 명시된 경로 내에 있지 않은 리소스들에의 액세스들은 성공하지 않을 수 있다. 다른 예들에서, 범위는 액세스가 성공적이기 위해 충족되어야 하는 추가 조건들(예를 들어, 시간 기반 또는 사용 기반 조건들)을 명시할 수 있다.
사이트 비밀은 또한 리소스의 알려지지 않은 URL을 어떻게 발생할지를 명시하는 URL 인코딩 정보를 포함한다. 이 예에서, URL 인코딩 정보는 제1 URL을 알려지지 않은 URL로 변환하기 위한 키로서 사용될 비밀 스트링, 알려지지 않은 URL을 위한 인코딩된 스트링을 생성하기 위해 사용할 변환을 정의하는 데이터(예를 들어, 이 예에서 SHA256) 및 알려지지 않은 URL을 형성하기 위해 인코딩된 스트링이 그 안으로 삽입될 수 있는 템플릿 URL을 포함한다. SHA256은 비밀 스트링(키)이 알려지더라도, 알려지지 않은 URL을 다시 제1 URL로 변환하기 위해 그 키를 사용할 수 없다는 것을 의미하는 일방향 변환이다. 다른 변환들이 또한 이용될 수 있다(예를 들어, md5, 다른 SHA 알고리즘들, CRC32). 이 예에서, 템플릿은 SHA256 알고리즘에 기초하여 발생된 22-문자 절사된 스트링이 알려지지 않은 URL을 생성하기 위해 템플릿 내로 삽입되는 것을 의미하는 "/data/{hex:22}"이다. 템플릿 내로 삽입될 스트링은 변환의 실제 결과의 절사된 버전일 수 있다(URL 내의 인코딩된 스트링의 모든 비트들을 사용하는 것이 필수적이 아닐 수 있다). 다른 예들에서 해시 알고리즘에 의해 발생된 전체 스트링(full string)이 이용될 수 있다.
사이트 비밀은 원격 리소스에 송신될 문서 콘텐츠 또는 트랜잭션들을 어떻게 인코딩하는지를 정의하는 콘텐츠 인코딩 정보를 또한 포함한다. 다른 비밀 스트링이 예를 들어, 도 2에 도시한 것과 같은 AES192 알고리즘을 사용하여, 콘텐츠를 인코딩하기 위한 키로서 이용될 수 있다.
그러므로, 도 3에 도시한 바와 같이, 제1 URL에 평문으로 콘텐츠를 포스트하는 것 대신에, 헬스 케어 디바이스(2)는 알려지지 않은 URL에 암호화된 콘텐츠를 포스트할 수 있으므로, 콘텐츠와 URL 둘 다는 어떤 민감한 정보를 누설하지 않는 문자들의 이해할 수 없는 스트링에 대응한다.
도 4는 데이터 처리 디바이스(2)로부터 원격 리소스에 액세스하는 방법을 도시한다. 단계 10에서, 원격 리소스에 대응하는 제1 URL이 데이터 처리 디바이스(2)에 의해 획득된다. 제1 URL은 예를 들어, 사용자가 브라우저 내로 URL을 타이핑하고, 사용자가 이메일 내의 링크 또는 웹사이트에 클릭하고, 미리 저장된 URL을 읽고, 또는 제조 시에, 또는 기타 방식으로 디바이스 내로 영구적으로 내장된 고정된 URL에 액세스함으로써 획득될 수 있다. 단계 12에서, 제1 URL에 대응하는 사이트 비밀이 획득되고, 알려지지 않은 URL을 생성하기 위해 사용된다. 단계 14에서, 원격 리소스는 알려지지 않은 URL을 사용하여 액세스된다. 그러므로, 이 방식은 디바이스들이 디바이스의 URL 내의 정보를 누설하지 않고서 데이터를 서브하고 원격으로 액세스되게 한다.
데이터 처리 디바이스(2)는 원격 리소스에 액세스할 필요가 있는 임의의 처리 디바이스일 수 있다. 본 기술은 센서들, 제어기들 또는 클라우드 내의 무선 노드들과 같은 작은 규모 디바이스들을 위해 특히 유용하다. 일부 경우들에서, 원격 리소스와 관련된 데이터는 온도 센서, 또는 헬스 케어 디바이스와 같이 리소스 자체로부터 서브될 수 있다. 이 경우에 디바이스 자체는 알려지지 않은 URL에 의해 식별될 수 있다. 대안적으로, 이러한 리소스들에는 리소스 디바이스에 대응하는 별도의 서버로부터 다음에 액세스되는 높은 이용가능성을 위한 클라우드 어드레스가 주어질 수 있다.
프라이버시를 위해, 제1 URL은 클라우드 내의 임의의 실제 위치에 대응하지 않는 것이 바람직할 수 있다. 이것은 제1 URL이 네트워크 운영자들 및 클라우드 제공자들에 완전히 비가시적이라는 것을 의미한다. 그러나, 일부 경우들에서 제1 URL은, 예를 들어, 도 10a 내지 10d와 관련하여 아래에 논의되는 것과 같이 레거시 사이트를 새로운 사이트로 변환할 때, 네트워크 상의 실제 위치에 또한 맵핑할 수 있다. 또한, 일부 경우들에서 제1 URL은 알려지지 않은 URL을 사용하여 식별된 원격 리소스와 상이한 콘텐츠를 갖는 위치를 식별할 수 있다.
도 2 및 3은 SHA256과 같은 변환 알고리즘을 사용하여 제1 URL을 변환함으로써 알려지지 않은 URL이 발생되는 예를 도시한다. 그러나, 다른 방식들로 알려지지 않은 URL을 생성하는 것이 또한 가능하다. 예를 들어, URL을 스크램블하기 위한 키를 포함하는 별도의 사이트 비밀을 제공하기보다는, 비밀 데이터가 대신에 제1 URL 내에 포함될 수 있고, 상이한 사용자들에게 상이한 비밀 데이터가 제공된다. 예를 들어, 제1 URL http://meriac.com/pips/this/is/my/tv?secret=4567은 특정한 사용자 또는 사용자들의 그룹에 대한 비밀 데이터 4567을 포함할 수 있다. 디바이스(2)는 알려지지 않은 URL이 http://meriac.com/pips/9677BE35.이 되도록 "비밀 스트링 "9677BE35"를 발생하기 위해 미리 결정된 알고리즘(예를 들어, CRC32 또는 SHA256)을 사용하여 이 URL을 해시할 수 있다. 일반적으로, 비밀 데이터는 제1 URL 대신에 액세스되어야 하는 알려지지 않은 URL을 생성하기 위한 정보를 제공하는 어떤 데이터일 수 있다.
일부 경우들에서, 제3자 플러그인 또는 웹사이트-프레임 워크가 알려지지 않은 URL을 생성하기 위해 이용될 수 있다. 예를 들어, 당사자 A는 URL들을 노드 ID들(알려지지 않은 URL들)로 해시하는 플러그인을 생성할 수 있다. 플러그인은 URL 비밀을 갖는 개념을 이해하지 못하지만, URL 파일 페이로드들을 복호화 및 검증할 수 있다. 다른 당사자 B는, 미리 정해진 URL-파라미터(그것을 "비밀"이라고 하자)를 취하는 각각의 페이지 상에 자바-스크립트-인클루드(java-script-include)를 포함하고 이미지들 및 페이지 상에 링크된 다른 콘텐츠의 후속하는 페이지 요구들의 URL들을 동적으로 재기입하는 웹사이트-프레임 워크를 제공할 수 있다. 다른 당사자 C(예를 들어, 콘텐츠 저자)는 사용자 D에게는 http://C.com/site.html?secret=xyz에의 링크를 그리고 사용자 E에게는 링크 http://C.com/site.html?secret=abc를 공개하고(추가하여, 개별적인 키들 K(D) 및 K(E)), 개별적으로 개인화된 URL들을 위한 사용자-특정 키 노드들(아래 참조)을 오서링(authoring)한다. 그러므로, 이 예에서 각각의 사용자에 대한 비밀 데이터가 제1 URL 자체 내에 포함된다.
최종 디바이스(2)의 사용자 D는 다음에 사이트 C를 방문하고, 플러그인 A는 http://C.com/site.html?secret=xyz의 http://C.com/45c2d52c8b514a01로의 비밀이-없는(secret-less) 해싱을 수행한다. 플러그인 A는 K(D)를 사용하여 이 URL로부터 페치(fetch)된 콘텐츠의 복호화를 수행한다. 사용자의 브라우저는 secret=xyz 파라미터를 부가(append)함으로써 페이지 내에 모든 URL을 재기입하는, 사이트 C 내의 내장된 자바스크립트 프레임워크를 실행한다. 브라우저에 의해 페치된 페이지들 또는 리소스들은 다음에 브라우저 플러그인 A에 의해 인터셉트되고 추가의 비밀들 없이 해시될 수 있다. 사용자 E에 대해, 과정은 사용자 D와 유사할 수 있지만, 상이한 엔트리 링크를 갖는다.
다수의 상이한 원격 리소스를 위해 이용될 수 있는 사이트 비밀들을 제공하는 것이 가능하다. 예를 들어, 특정한 당사자는 그 당사자에 의해 관리되는 위치들의 범위로부터의 리소스들에 액세스하기 위해 사용자에 의해 이용될 수 있는 사이트 비밀을 제공할 수 있다. 그러므로, 하나의 비밀은 URL들의 모든 범위를 커버할 수 있고, 새로운 URL을 만날 때, 데이터 처리 디바이스는 이미 그 URL로 사용하기 위해 적합한 비밀을 가지고 있을 수 있고 그래서 새로운 사이트 비밀을 취득할 필요가 없을 수 있다.
알려지지 않은 URL은 상이한 방식들로 디바이스(2)에 의해 획득될 수 있다. 예를 들어, 알려지지 않은 URL의 발생은 디바이스 내의 내장된 기능을 사용하여, 디바이스(2)에 의해 실행되는 브라우저 또는 다른 소프트웨어의 부분인 코드를 사용하여, 또는 제3자로부터 획득된 브라우저 플러그인, 애플릿 또는 자바스크립트를 사용하여 구현될 수 있다.
제1 URL을 사용하여 생성된 알려지지 않은 URL이 원격 리소스 자체의 위치를 식별하는 것이 가능하다. 그러나, 상이한 사용자들에게 콘텐츠의 상이한 버전들 또는 상이한 리소스들에의 액세스를 제공하는 것이 바람직할 수 있다. 보안성 및 상이한 사용자들에의 액세스를 개별적으로 제어하는 능력을 유지하기 위해, 각각의 사용자에게 상이한 알려지지 않은 URL에 맵핑하는 상이한 사이트 비밀을 제공하는 것이 유용할 수 있다. 그러나, 각각의 알려지지 않은 URL이 실제로 원격 리소스 자체를 포함한다면, 상이한 URL들에서의 각각의 사용자에 대한 동일한 원격 리소스의 많은 상이한 카피들을 유지하는 것은 어렵고 시간 소모적일 것이다.
도 5는 동일한 리소스의 상이한 표현들이 키 노드 리소스들을 사용하여 보다 더 효율적으로 어떻게 관리될 수 있는지를 도시한다. 도 5에 도시한 바와 같이, 주어진 디바이스에 대한 사이트 비밀을 사용하여 생성된 알려지지 않은(암호화된) URL은 실제 원격 리소스를 저장하지 않는 키 노드 리소스 K0-K2의 위치를 식별할 수 있다. 각각의 키 노드 리소스 K0-K2는 원격 리소스의 실제 리소스 URL을 획득하기 위한 데이터를 포함한다. 이것은 상이한 사용자들에게 키 노드들에서의 상이한 리소스 URL들을 명시함으로써 (또는 동일한 리소스 URL이지만 URL의 어떤 부분들이 액세스가능한지를 식별하는 관련된 정보의 상이한 피스들을 갖는 것을 명시함으로써) 원격 리소스의 상이한 부분들에의 액세스가 제공될 수 있다. 예를 들어, 도 5에서 디바이스들 D1 및 D2의 사용자들은 그들에게 전체적인 원격 리소스에의 액세스를 제공하는 리소스 URL 1(예를 들어, http://abc.com/data/18659458.php)을 획득하기 위해 키 노드들 K1 및 K2에 각각 액세스할 수 있다. 그러나, 디바이스 D0의 사용자는 그들이 원격 리소스의 서브셋에 액세스하게만 하는 키 노드 K0로부터 리소스 URL 0(예를 들어, http://abc.com/data/58159873.php)을 획득한다. 그러므로, 각각의 키 노드에 의해 제공된 상이한 리소스 URL들은 원격 리소스의 중첩하는 부분들 또는 서브셋들에 대응할 수 있다. 다른 예들에서 상이한 키 노드들에 의해 제공된 리소스 URL들은 전체적으로 상이한 원격 리소스들에 대응할 수 있다.
이 방식은 데이터의 상이한 표현들이 상이한 사용자들에게 제공되게 한다. 예를 들어, 원격 리소스에 대해 제공된 상이한 표현들은 콘텐츠의 상이한 유형들, 상이한 콘텐츠 품질(예를 들어, 전체 영상들 또는 압축된 영상들), 콘텐츠에의 액세스의 상이한 세분화(예를 들어, 시간단위 또는 일일단위로 샘플된 시계열 데이터), 또는 사용자들이 이용가능한 데이터의 상이한 서브셋들을 제공할 수 있다. 각각의 사용자는 동일한 제1 URL을 사용할 수 있고, 그래서 다른 사용자들이 데이터에의 상이한 액세스를 갖고 또는 원격 리소스에 의해 제공된 데이터의 다수의 표현이 있다는 것을 알지 못할 수 있다. 리소스의 상이한 형태들에의 액세스는 제1 URL이 상이한 알려지지 않은 URL들에 맵핑되게 하는, 각각의 사용자에 대한 상이한 사이트 비밀을 제공함으로써 제어된다.
키 노드들 K0-K2는 또한 리소스 URL에 콘텐츠를 복호화하기 위한 데이터를 저장할 수 있다. 이것은 리소스에 대한 키 노드를 성공적으로 찾은 허가된 사용자들만이 콘텐츠를 복호화하기 위한 복호화 키를 획득할 수 있다는 것을 의미한다.
도 5에 도시한 것과 같은 키 노드들 K0 내지 K2의 사용이 또한 유용할 수 있는데, 그것은 상이한 사용자들이 원격 리소스를 어떤 식으로도 수정하지 않고 키 노드 리소스들을 간단히 조작함으로써 원격 리소스에의 액세스가 승인 및/또는 취소될 수 있기 때문이다.
예를 들어, 도 6은 데이터 처리 디바이스(2)의 사용자에게 원격 리소스에의 액세스를 제공하는 방법을 도시한다. 방법은 콘텐츠 저자 또는 원격 리소스를 관리하는 당사자를 위한 데이터 처리 장치에 의해 수행될 수 있다. 단계 20에서, 새로운 사이트 비밀이 원격 리소스에의 액세스가 승인될 사용자에 대해 발생된다. 단계 22에서, 사용자의 비밀은 그 사용자에 대한 알려지지 않은 URL을 생성하기 위해 사용된다(알려지지 않은 URL은 도 4의 단계 12와 동일한 방식으로 발생될 수 있다). 단계 24에서, 원격 리소스의 리소스 URL을 획득하기 위한 데이터를 포함하는 키 노드 리소스가 알려지지 않은 URL에 설정된다. 단계 26에서, 사용자가 리소스를 식별하기 위해 사용할 제1 URL, 및 제1 URL에 대응하는 사이트 비밀이 사용자의 데이터 처리 디바이스에 제공된다. 사용자의 디바이스는 다음에 도 5에 도시한 것과 같은 키 노드 리소스를 통해 도 4의 방법을 사용하여 원격 리소스에 액세스할 수 있다.
특정한 사용자에 의한 원격 리소스에의 액세스는 그 사용자에 대한 사이트 비밀을 사용하여 생성된 URL에서 키 노드 리소스를 제거함으로써 취소될 수 있다. 예를 들어, 대응하는 키 노드 리소스를 제거함으로써 그것의 액세스가 취소된 도 5의 디바이스 D3을 참조할 수 있다. 키 노드 리소스가 제거될 때, 디바이스의 사용자는 리소스 URL을 획득하기 위한 어떤 방도가 그들에게 없기 때문에 원격 리소스에 더 이상 액세스할 수 없다. 그러므로, 사용자의 액세스가 취소될 때 실제 리소스를 이동시킬 필요는 없다. 추가된 보안을 위해, 사용자가 리소스 URL을 획득하고 저장하기 위해 관리한 경우에, 리소스는 또한 이동될 수 있다.
사용자는 동일한 원격 리소스에 대한 상이한 사이트 비밀들에의 액세스를 가질 수 있다. 예를 들어, 사용자는 개인 사이트 비밀을 가질 수 있지만 사용자들의 그룹과 관련된 그룹 사이트 비밀 또는 모든 이에게 이용가능한 일반 사이트 비밀에의 액세스를 또한 가질 수 있다. 도 2에 도시한 확장 URL은 추가의 사이트 비밀들을 획득하기 위해 이용될 수 있다. 도 7에 도시한 바와 같이, 다수의 사이트 비밀(28)이 확장 URL에 저장될 수 있다. 데이터 처리 디바이스 D0은 디바이스 D0에 의해 유지된 초기의 사이트 비밀 외에, 확장 URL로부터 사이트 비밀들을 획득할 수 있다. 디바이스 D0은 다음에 액세스가 성공적일 때까지 상이한 사이트 비밀들을 사용하여 생성된 하나 이상의 알려지지 않은 URL에 액세스하기를 시도한다. 예를 들어, 디바이스 D0은 각각의 알려지지 않은 URL을 차례로 시도할 수 있다. 도 7의 예에서 디바이스는 먼저 개인 비밀을 사용하여 생성된 알려지지 않은 URL을 시도하고, 다음에 일반 비밀을 사용하여 생성된 알려지지 않은 URL이 리소스 URL이 획득될 수 있는 네트워크 상의 실제 위치 KN을 성공적으로 찾는다는 것을 발견하기 전에, 2개의 상이한 그룹 비밀에 대한 알려지지 않은 URL들을 시도한다. 디바이스 D0은 또한 하나가 실패한 경우에 동시에 다수의 액세스를 시도하여, 액세스 속도를 올린다. 다수의 액세스가 성공적이면, 어떤 액세스가 계속 뒤따르는지를 결정하는 미리 결정된 우선순위 순서가 있을 수 있다. 이 방식은 그것이 그룹 비밀들은 최종 디바이스들 D0에 의해 영구적으로 유지될 필요가 없고, 대신에 확장 URL로부터 보다 주의깊게 제어될 수 있다는 것을 의미하기 때문에 유용하다.
도 8은 리소스에 액세스하는 것이 이전에 허용된 그룹 내의 선택된 사용자에 대한 원격 리소스에의 액세스를 취소하는 예를 도시한다. 도 8의 좌측 부분에 도시한 바와 같이, 확장 URL은 디바이스들 D0-D2의 사용자들의 그룹에 대한 그룹 비밀 G0을 포함한다. 그룹 비밀 G0은 공유된 리소스의 리소스 URL이 획득될 수 있는 키 노드 KG0의 알려지지 않은 URL G0을 발생하기 위해 사용된다. 이것은 디바이스들 D0-D2가 리소스와 상호작용하게 한다.
그러나, 디바이스 D2의 사용자는 다음에 그룹을 떠나고 그래서 원격 리소스에의 D2의 액세스가 취소될 것이다. 예를 들어, 리소스 G는 도어 락을 제어하는 디바이스일 수 있고 디바이스 D2의 사용자는 도어를 소유한 조직을 떠난 사람일 수 있고 그에게는 들어가는 것이 방지될 필요가 있다. 이것을 달성하기 위해, 새로운 사이트 비밀 G1이 취소된 사용자 D2를 배제하는, 사용자들 D0, D1의 새로운 그룹 G1에 대한 확장 URL에서 발생된다. 그러므로, 디바이스들 D0, D1이 확장 URL에 액세스할 때 그들은 비밀들 G0, G1 둘 다를 획득하지만 디바이스 D2는 비밀 G0만을 획득한다. 새로운 키 노드 KG1이 새로운 사이트 비밀 G1에 대응하는 알려지지 않은 URL에서 생성된다. 키 노드 KG1은 다시 리소스를 식별하는 리소스 URL을 갖는다. 이 그룹 KG0에 대한 원래의 키 노드는 다음에 비밀 키 G0을 사용하여 획득된 URL에의 어떤 액세스도 실패하도록 제거된다. 그러므로, 디바이스들 D0 또는 D1이 제1 URL에 액세스할 때, 비밀 G1은 키 노드 KG1의 알려지지 않은 URL에 성공적으로 맵핑하고 그래서 그들은 그것을 언락하기 위해 도어에 여전히 액세스할 수 있다. 그러나, 디바이스 D2는 실제 위치에 더 이상 맵핑하지 않는 비밀 G0을 단지 갖고, 그래서 더 이상 리소스를 찾을 수 없다. 그러므로, 키 노드들 및 확장 URL들을 사용하는 이 메커니즘은 리소스 자체를 재공개할 필요없이 리소스들에의 액세스를 제어하는 효율적인 방식을 제공한다.
도 9에 도시한 바와 같이, 리소스들의 동일한 사이트 또는 동일한 집합 내의 상이한 리소스들에 대응하는 상이한 사이트 비밀들을 제공하는 것이 가능하다. 예를 들어, 사용자들은 일반적으로 웹사이트의 스타일 시트들(CSS 파일들)에 액세스하는 것이 허용될 수 있지만, 개별적인 액세스 권한들은 웹사이트의 데이터에 대해 제어될 수 있다. 도 2에 도시한 범위 파라미터는 비밀이 적용되는 부분들을 선택하기 위해 이용될 수 있다. 그러므로, 제1의 일반 비밀 X에는 웹사이트에 대한 스타일 시트들에 액세스하기 위한 범위 "/styles"가 제공될 수 있다. 개별적인 비밀들이 다음에 각각의 디바이스 D0-D2가 데이터의 상이한 서브셋들에 개별적으로 액세스하게 하는 범위 "/data"에 대해 제공될 수 있다. 비밀 X에 대한 범위 "/styles"는 이 비밀이 웹사이트의 "/data" 부분에의 액세스를 얻기 위해 이용될 수 없다는 것을 의미한다.
앞서 언급된 바와 같이, 제1 URL(직관적인 URL)은 클라우드 운영자들이 민감한 정보에의 액세스를 얻는 것을 방지하기 위해 네트워크 내의 임의의 실제 위치에 대응하지 않을 수 있다. 그러나, 레거시 사이트들 및 디바이스들은 이러한 이해할 수 있는 URL을 사용하여 클라우드 상에 이미 공개될 수 있다. 이 경우에, 레거시 사이트는 도 10a 내지 10d에 도시한 것과 같은 본 기술들을 사용하여 보다 보안성인 사이트로 전이될 수 있다. 도 10a에서, 레거시 사이트는 이해할 수 있는 파일 경로들 및 파일 명칭들을 갖는 것으로 도시된다. 도 10b에서, 레거시 사이트로부터의 데이터가 (도 10b 내의 물음표들로 표시된) 이해할 수 없는 리소스 URL들에서 복제되는 새로운 사이트가 생성된다. 또한, 키 노드 리소스들 K는 웹사이트의 사용자들을 위해 설정된다. 키 노드 리소스들 K는 사용자 또는 사용자의 그룹에 대한 사이트 비밀을 사용하여 생성된 알려지지 않은 URL들을 갖고, 대응하는 리소스 URL을 식별하는 데이터를 포함한다. 일정 시간 동안, 레거시 사이트 및 새로운 사이트는 동시에 실행할 수 있고, 그래서 이 시간에서 새로운 사이트에 대한 제1 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)는 원격 리소스와 관련된 디바이스(4)가 디바이스(2)에 대한 인증 데이터를 획득할 수 있는 위치(50)를 식별하는 인증 URL을 명시할 수 있다. 예를 들어, 인증 정보는 인증서들 및 디바이스의 아이덴티티를 검증하는 공개 키들을 포함할 수 있다. 일부 경우들에서 추가 인증을 제공하기 위해 상이한 당사자들이 상이한 서브-당사자들(sub-parties)을 인증하는 경우에 인증서들의 체인이 있을 수 있고 그래서 최종 디바이스(2)의 아이덴티티는 몇개의 인증서를 사용하여 검증될 필요가 있을 수 있다. 디바이스(2)가 트랜잭션의 부분으로서 리소스(4)에 인증 정보를 직접 제공하는 것이 또한 가능하다. 그러나, 특히 디바이스(2)가 센서와 같은 비교적 작은 디바이스이면, 인증 정보가 인증 URL(50)로부터 획득되는 것이 더 편리할 수 있다. 인증 URL로부터 인증 정보를 획득할 때, 원격 디바이스(4)는 디바이스(2)로부터 트랜잭션을 송신하기 위해 사용되었던 동일한 통신 채널 또는 루트를 사용하여 인증 정보를 획득할 필요가 없다. 예를 들어, 블루투스를 통해 트랜잭션을 제출함으로써 도어를 열 때, 도어는 인증 URL로부터 크리덴셜들(credentials)을 페치하기 위해 (예를 들어, 하우스 라우터 또는 유선 접속을 사용하는) 상이한 루트를 사용할 수 있다.
트랜잭션이 제공된 인증 URL은 디바이스(2)에 대한 인증 정보를 사용하여 생성된 핑거프린트 부분(60)을 포함할 수 있다. 예를 들어, 핑거프린트 부분(60)은 인증서 또는 인증 정보의 공개 키의 부분의 해시일 수 있다. 이것은 인증 URL로부터 인증 정보에 액세스하기 위해 리소스 디바이스(4)를 다이렉트하는 것이 가능하고, 트랜잭션을 송신하는 디바이스(2)는 자체로 인증 정보에의 액세스를 가져야 한다는 것을 의미한다. 이것은 허가되지 않은 디바이스가 리소스 디바이스(4)를 유효 인증 정보를 갖는 유효 인증 URL로 어떻게든 다이렉트할 수 있는 기회를 감소시킴으로써 시스템의 보안성을 개선한다.
인증 정보는 로컬 네트워크 노드로부터 인증 정보에 액세스하는 것을 더 빨리 하게 하기 위해 네트워크 내의 다양한 위치들에서 캐시될 수 있다. 인증 정보는 어떤 특정한 동작들이 디바이스(2)에 의해 지시될 때 원격 리소스에 의해 유효하게 수행될 수 있는지를 정의할 수 있다. 인증 정보는 또한 인증 정보에 대한 유효 기간(예를 들어, 만료 날짜/시간, 시작 날짜/시간과 종료 날짜/시간을 갖는 기간, 또는 비연속적인 기간)을 표시하는 유효성 정보를 명시할 수 있다. 인증 정보는 인증 정보가 유효한 기간 및 인증이 네트워크 노드들에 의해 캐시될 수 있는 기간을 별도로 정의하는 것이 유용할 수 있다. 인증 정보가 비교적 오랜 기간 동안 유효하더라도, 캐시가능성 기간은 더 짧은 기간으로 설정될 수 있다. 예를 들어, 특정한 인증서는 인증자가 인증서들을 아주 자주 업데이트할 필요가 없도록 6개월 동안 유효할 수 있다. 그러나, 단지 인증서들을 더 짧은 기간(예를 들어, 1일) 동안 캐시함으로써, 주어진 원격 리소스에의 액세스가 더 빠르게 취소될 수 있는데, 그것은 인증 정보의 캐시된 카피들이 날의 종료시에 폐기될 것이고 그 다음에 인증서는 액세스가 보다 쉽게 제어되게 하는, 액세스를 계속하기 위해 그것의 원래의 소스로부터 다시 획득될 필요가 있기 때문이다.
"PiPS"(Privacy in Plain Sight)로서 공지된, 본 기술의 일부 특징들의 요약이 아래에 제공된다.
목적들:
PiPS-가능 웹 서비스는
● 프라이버시 - (클라우드 서비스들을 포함하는) 그들의 데이터에 액세스하는 사용자 제어를 유지하고
● 상이한 사람/그룹들에 개인화된 정보를 제공하고
● 그것을 대신에 클라우드-서비스들로 이동시키는, 저전력 디바이스들에 대한 워크로드를 최소화하고
● 캐시하고, 네트워크 요건들을 낮추고 성능을 개선하는 것을 가능하게 하고
● 제한된-접속성 디바이스들과 함께 동작하기 위해, 비동기 동작들을 지원하고
● 시간-시리즈 데이터를 지원할 수 있다
원리들:
● 디바이스로부터 공개하고, 클라우드로부터 서브한다
○ 디바이스는 일부 리소스들/데이터를 이용가능하게 할 수 있지만, 단지 웨이크 업하고 폭이 더 넓은 웹에 가끔 접속할 수 있고
○ 이 경우에, (로컬 라우터들과 같은 "미니-클라우드들"을 포함하는) 클라우드 서비스가 데이터를 호스트하거나 미러하게 하는 것은 디바이스들이 더 낮은 전력으로 여전히 가능하게 하면서, 높은 이용가능성을 의미한다.
● 신뢰되지 않는 데이터-스토어들/미러들/캐시들을 안전하게 사용하고
○ PiPS로, 당신은 그것이 어디에 저장되는지 관계없이, 당신의 데이터를 누가 이해하는지에 대한 제어를 한다. 데이터는 알려지지 않은 URL들에서, 암호화되어 저장되고 - 그 데이터를 판독하는 것이 허용된 디바이스들 및 사람만이 그것을 이해할 수 있을 것이다.
○ 이것은 당신이 당신의 데이터를 보는 프록시의 모든 데이터-스토어, 미러, 또는 캐싱을 신뢰하지 않아야 한다는 것을 의미한다. 당신은 모든 사람에게 프라이버시 염려 없이 (높은 이용가능성을 위해) 당신의 데이터를 프록시/캐시하게 할 수 있다.
● 신뢰되지 않는 중개자를 통한 비동기 통신들
○ PiPS로, 디바이스들과의 상호작용은 비동기적이다. 디바이스에 대해 의도된 동작들은 프록시들 또는 클라우드 서비스들에서 큐 업될 수 있고, 디바이스가 다음 온라인일 때를 대기한다.
○ 이들 동작들은 또한 암호화되어 저장되는데, 이는 디바이스-디바이스 간 통신이 외부 디바이스에의 통신들을 노출하지 않고, 개인일 수 있다(양 디바이스가 단지 가끔 온라인이더라도).
폭넓은-스트로크들 설계:
● 대용의 URL들 및 암호화된 콘텐츠
○ 리소스들은 좋은 친근한 URL들("개념적 URL들")을 갖고, 그래서 공개된 콘텐츠 및 상호작용들은 좋은 방식으로 구성될 수 있다.
○ 그러나, 서버로부터 실제로 요구되는 URL은 상이하고: 서버에 정보의 성질을 드러내지 않는 불명한 URL이 프록시, 캐시하는 등등이다.
○ 모든 콘텐츠는 암호화된 형태로 저장되고, 그래서 단지 최종-디바이스들 만이 그것을 이해할 수 있다.
● 큐들을 사용하여 동작들을 수행
○ PiPS 큐는 계류 중인 동작들/통지들의 리스트이다. 동작을 수행하기 위해, 당신은 그것을 큐에 포스트한다. 타깃 디바이스는 다음에 그들을 실행하기 위해 큐로부터 동작들을 당긴다.
○ 큐들은 상이한 방식들로 모니터될 수 있고 - 그래서 크게-접속된 디바이스는 즉석 통지들을 얻기 위래 클라우드와의 개방 접속을 유지할 수 있고, 적게-접속된 디바이스는 1분 등에 한번 폴링할 수 있다.
○ 동작이 응답을 요구하면, "응답 큐"가 포함될 수 있고, 그에 동작의 결과들이 송신될 수 있다.
● 큐들 내의 시간-시리즈 데이터
○ 큐는 "턴 어라운드"될 수 있고 - 많은 사람이 큐에 동작들을 부가하고 하나의 디바이스가 그것을 판독하는 것 대신에, 당신은 하나의 디바이스가 공개하는 이벤트들을 큐에 가질 수 있고, 많은 사람이 그것을 판독한다.
○ 큐들을 모니터하는 방법들은 동일하게 남는다(폴링, 통지들, 웹소켓들 등). 콘텐츠는 암호화되기 때문에, 큐들은 프록시/캐시될 수 있고 - 그래서 원래의 큐는 단지 폴링을 지원할 수 있지만, 프록시들은 그것의 상부 위에 웹소켓들을 계층화할 수 있다.
○ 이것은 디바이스가 (간단한 포스트를 사용하여) 이벤트들의 세트를 공개하고 복잡한 문의들(예를 들어, "...그 이후의 모든 이벤트들")을 클라우드 서비스들, 프록시들 등에 위임할 수 있다.
● 사이트 비밀들 및 개인화된 콘텐츠
○ "사이트 비밀"은 리소스의 "개념적 URL"을 대용의 URL로 변환하고, 그 콘텐츠를 복호화하기 위해 요구되는 정보이다.
○ 상이한 사람은 상이한 비밀들을 제공받고- 그래서 그들은 상이한 대용의 URL들에 처하게 될 것이므로, 그들은 콘텐츠의 상이한 버전들을 제공받을 수 있다.
일반적 원리들:
● 클라우드 제공자들을 신뢰하지 않는 것
○ 데이터, 구조, 어떤 것도 누출하지 말 것
● 정적 리소스들(미러가능한/프록시/오프라인 캐시)
○ 디바이스들은 그들이 원하는 만큼 많이 공개할 수 있다
○ 일부 사람을 위한 주문 콘텐츠를 공급한다
● 큐들에 제출된 동작들
○ 인증서 체인에 의한 인증
● 기존의 웹 내로 맞춤
클라우드 제공자들을 신뢰하지 않는 것: 대형 회사들에 당신 자신에 관한 데이터를 제공하는 것에 대한 불신이 증가하고 있다. 우리의 현재의 보호(서비스의 잘 변하고, 희박하게-읽혀지는 용어들)는 잘 처신하기 위해 회사를 기본적으로 그대로 신뢰하는 것이다. 그러나, 클라우드 서비스들은 더 낮은 네트워크 이용가능성을 갖는 디바이스들에 대해 특히 유용하고, 그래서 우리는 여전히 그들을 원한다.
데이터 제어: 먼저 우리는 클라우드 제공자에게 사용가능한 데이터를 주지 않는 것은 어떤가? 모든 것을 암호화하고, 충분한 정보를 알려주지 않는 URL들로 한다. 이것은 또한 우리에게 미러들/프록시들의 우려를 주지 않는다.
비교
● 데이터 자체
○ 나쁨: (클라우드를 포함하는) 어떤 자에 의해 판독가능한 평문 데이터
○ 좋음: 불투명한 블로브들
● 서버에게 주는 요구들
○ 나쁨: https://cloud.iot/my-house/bedroom/marital-aids/...
○ 좋음: https://cloud.iot/c2V4bWFzdGVyLTMwMDA
디바이스들이 리소스들을 공개: 우리는 모든 디바이스들에 리소스들을 공개할 능력을 제공한다. 이들 리소스는 이용가능할 때(예를 들어, coap://<ipv6-address>/a2l0Y2hlbi1rZXR0bGU) 디바이스 자체로부터 서브될 수 있고, 사용자들은 그것이 이용가능하지 않을 때 다양한 캐시들에 의존한다. 대안적으로, 이들 리소스에는 클라우드 어드레스(예를 들어, https://iot.arm.com/a2l0Y2hlbi1rZXR0bGU)가 높은 이용가능성을 위해 주어질 수 있다. 요구들은 클라우드와 일치하지만, (한번만 발생되고, 항상 클라우드로부터 서브되는) 디바이스에 대해 더 쉽다. 리소스는 오직 하나의 URL을 갖고 - 상기 2개의 URL은 등가이지 않다는 점에 주목한다.
검증가능한 소유자: 각각의 리소스에 대한 URL은 신뢰되지 않는 소스들로부터 서브될 때에도 무결성을 보장하기 위해 인증서의 핑거프린트로부터 계산된 부분을 포함할 수 있다.
대용의 리소스들: 콘텐츠를 커스터마이즈하고 프라이버시를 가능하게 한다.
말하자면 클라이언트는 다음의 3개의 부분을 포함하는 비밀을 갖는다:
범위: http://me.example.com/iot/geraint
템플릿: http://me.example.com/iot/{hmac}
비밀: site-secret
이 범위 내의 리소스에 액세스할 때, 클라이언트는 사실상 클라이언트가 할당받은 것과 상이한 URL에 액세스한다.
1. HMAC(original-url, secret)
2. base64url(hmac)
3. template 내부에서 사용
예: 상기 비밀로, 리소스 http://me.example.com/iot/geraint/temp에 액세스할 때:
1. HMAC (http://me.example.com/iot/geraint/temp, site-secret)
2. base64url: d2hhdGV2ZXI
3. 템플릿을 채움: http://me.example.com/iot/d2hhdGV2ZXI
서버는 단지 http://me.example.com/iot/d2hhdGV2ZXI를 보고 - 사이트의 개념적 구조에 대해 힌트하는 것은 없다.
원래의 URL은 여전히 평문 리소스로 분해하여, 이 구조를 사용하지 않는 클라이언트들에 유용한/유익한 어떤 것을 준다. 그러나 이것은 필수적이지 않다.
키 노드들: 콘텐츠를 복제하는 것은 일반적으로 비효율적이다. 계산된 URL에서의 실제 노드는 "키 노드"일 수 있고, 이는 복호화 키와 함께 실제 콘텐츠의 URL - 그 URL을 계산하기 위해 사용된 사이트 비밀을 사용하여 암호화된 모든 것을 포함한다는 것을 의미한다.
프라이버시-가능 모드 : 리소스들의 개인 버전들과 평문 리소스들은 혼합하지 않는다. 당신이 (기대를 갖고 일부 시각적 표시로) 리소스의 개인 버전을 보고 있다면, 당신의 클라이언트들은 그들의 원래의 URL과 리소스들을 관련시키는 링크들 또는 페치를 따르지 않아야 한다. 대용의 리소스 404들이면, 요구는 실패하여야 한다. 이것은 숨겨진 리소스들에 대한 "원래의 리소스"가 실제로 존재할 필요가 없고, 리소스들의 실제 구조를 서버로부터 숨겨지게 유지하면서, 요구되지 않아야 하는 것을 의미한다.
다수의 비밀: 키 노드들을 사용하는 경우에도, 당신의 사이트 내의 모든 리소스에 대해, 모든 가능한 사용자에 대해 대용의 노드를 계산하는 것은 부담이다. 그러나, 사용자는 개인 사이트 비밀 및 그룹 사이트 비밀과 같은, 다수의 사이트 비밀을 가지고 있을 수 있다. 이 방식으로, 그룹의 모든 멤버에 대해 이용가능한 콘텐츠는 단일의 대용의 노드를 사용할 수 있지만, 다른 콘텐츠는 개인마다 기초하여 인코딩될 수 있다.
보다 많은 비밀들을 획득하는 것: 사실상, 당신은 그룹 사이트 비밀을 배포하기를 원하지 않는다. 그렇지 않고, 당신이 그것을 변경할 때(예를 들어, 그룹 멤버를 배제하는 것) 당신은 새로운 것을 모든 사람에게 재분배할 필요가 있다. 대신에, 당신은 단지 개인 사이트 비밀들을 배포한다. 보다 많은 사이트 비밀들을 획득하기 위해, 클라이언트들은 (그들의 개인 사이트 비밀을 사용하여) "범위" URL을 페치할 수 있다. 결과적인 문서는 후속 브라우징에 사용하기 위한 사이트 비밀들의 리스트일 것이다.
대안들: 범위를 사용하는 것 대신에, 별도의 "비밀 확장" URL을 갖는다.
웹사이트 섹션들: 당신은 그룹 콘텐츠에 대한 추가의 사이트 비밀들을 단지 제공하지 않을 수 있고, 당신은 사이트의 유일 부분들에 대해 비밀들을 제공할 수 있다. 예를 들어, 모든 당신의 자바스크립트 및 CSS가 /style/ 내에 살아있다면, 당신은 그 섹션에 대해 구체적으로 사이트 비밀을 명시할 수 있다. 그 방식으로, 클라이언트들은 개인 및 그룹 사이트 비밀들을 사용하여 그들 리소스에 액세스하기를 먼저 시도하는 노력을 허비하지 않는다.
동작 큐들: 직접 동작들을 취하는 것 대신에, 리소스들은 동작들이 포스트될 수 있는 큐를 명시할 수 있다. 선호하는 순서로 리스트된, 예를 들어, 먼저 직접적인 것(근방에서 블루투스에 의해 사용가능한 것), 다음에 로컬 와이파이 라우터에 의해 호스트되는 것, 그 다음에 클라우드 서비스 상에 있는 것의, 이들 큐들 중 하나보다 많은 것들이 있을 수 있다. 리소스들은 그러한 실제 동작들이 클라우드 서비스에 불투명하게 남도록 암호화 키로 선택적으로, 그들의 큐들을 사용하여 취해질 수 있는 동작들을 설명한다.
인증서 체인에 의한 인증: 동작이 제출될 때, 에이전트가 그 동작을 수행하는 허용을 갖는다고 왜 믿는지를 설명하는 리소스(인증서)의 URL이 공급될 수 있다. 각각의 인증서는 특정한 목적을 위해 이용될 수 있는 공개 키를 명시하고, 다음을 포함한다:
● 유효 조건들(시간/위치/어느 것이든)
● 제한들(예를 들어, "턴 온할 수 있는 것")
● 가능하게는 부모 인증서에 대한 참조
인증서들을 이해하는 것: 어떤 동작들이 허용되고/허용되지 않는지의 실제 어휘(actual vocabulary)는 보편적일 필요는 없고, 최종 디바이스에 의해 이해되기만 하면 된다. 예를 들어, 소유권(Ownership) - 어떤 것도 할 수 있음, 전체 사용(Full use) - 소유자 변경을 제외하고 어떤 것도 할 수 있음이 있지만, 일부 표준의 것들이 있을 수 있다.
예:
For the private key: <ABCDE>
Until: 2014-06-18T18:32
Allowed actions:
* view recent history
* issue new certificates like:
Allowed actions:
* view recent history
이 인증서는 <ABCDE>가 최근 이력을 보게 하기 위해 이용될 수 있다.
그것은 또한 또 하나의 개체에게 최근 이력을 보는 것을 허가하는 (<ABCDE>에 의해 서명된) 새로운 인증서에 의해 참조될 수 있다.
오프라인 경우 (예를 들어, 사막에서 도어를 언록하는 것)
폭이 넓은 네트워크 액세스가 이용가능하지 않으면, 동작을 수행하기를 원하는 에이전트는 그 자체를 미니-클라우드/-프록시로서 이용가능하게 할 수 있으므로, 인증서 체인도 역시 이용가능하게 한다.
예시적 실시예들이 첨부 도면을 참조하여 여기에 상세히 설명되었지만, 다양한 변화들 및 수정들이 첨부된 청구범위의 범위에서 벗어나지 않고서 본 기술 분야의 통상의 기술자에 의해 거기에서 실행될 수 있다는 것을 이해할 것이다.

Claims (41)

  1. 데이터 처리 디바이스로부터 원격 리소스에 액세스하는 방법으로서,
    상기 원격 리소스에 대응하는 제1 URL(uniform resource locator)을 획득하는 단계;
    상기 제1 URL에 대응하는 비밀 데이터(secret data)를 획득하는 단계;
    상기 제1 URL에 대응하는 상기 비밀 데이터를 사용하여 상기 데이터 처리 디바이스에서 알려지지 않은 URL(obscured URL)을 발생하는 단계 - 상기 알려지지 않은 URL은 상기 원격 리소스의 실제 위치를 획득하기 위한 것임 -; 및
    상기 알려지지 않은 URL을 사용하여 상기 원격 리소스에 액세스하는 단계
    를 포함하고,
    상기 제1 URL은 상기 알려지지 않은 URL을 사용하여 액세스된 상기 원격 리소스와 상이한 원격 리소스의 위치를 식별하는 방법.
  2. 제1항에 있어서, 상기 원격 리소스는 암호화된 데이터를 포함하는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 제1 URL은 상기 데이터 처리 디바이스의 사용자에게 가시적인 방법.
  4. 제1항 또는 제2항에 있어서, 상기 제1 URL은 원격 리소스의 임의의 실제 위치를 식별하지 않는 방법.
  5. 삭제
  6. 제1항 또는 제2항에 있어서, 상기 제1 URL은 상기 비밀 데이터를 사용하여 상기 알려지지 않은 URL로부터 획득될 수 없는 방법.
  7. 제1항 또는 제2항에 있어서, 상기 알려지지 않은 URL은 상기 비밀 데이터를 사용하여 상기 제1 URL의 상기 알려지지 않은 URL로의 변환을 수행함으로써 발생되는 방법.
  8. 제7항에 있어서, 상기 변환은 일방향 변환인 방법.
  9. 제1항 또는 제2항에 있어서, 상기 알려지지 않은 URL은 상기 제1 URL에 대응하는 상기 비밀 데이터에 기초하여 발생되는 방법.
  10. 데이터 처리 디바이스로부터 원격 리소스에 액세스하는 방법으로서,
    상기 원격 리소스에 대응하는 제1 URL을 획득하는 단계;
    상기 제1 URL에 대응하는 비밀 데이터를 획득하는 단계;
    상기 제1 URL에 대응하는 상기 비밀 데이터를 사용하여 상기 데이터 처리 디바이스에서 알려지지 않은 URL을 발생하는 단계 - 상기 알려지지 않은 URL은 상기 원격 리소스의 실제 위치를 획득하기 위한 것임 -; 및
    상기 알려지지 않은 URL을 사용하여 상기 원격 리소스에 액세스하는 단계
    를 포함하고,
    적어도 2개의 데이터 처리 디바이스는 동일한 제1 URL에 대응하는 상이한 비밀 데이터를 갖고,
    상기 적어도 2개의 데이터 처리 디바이스는 상기 상이한 비밀 데이터를 사용하여 상이한 알려지지 않은 URL들을 발생하고, 상기 상이한 알려지지 않은 URL들을 사용하여 상기 동일한 제1 URL에 대응하는 상이한 원격 리소스들에 액세스하는 방법.
  11. 제10항에 있어서, 상기 상이한 원격 리소스들은 공통 원격 리소스의 상이한 부분들 또는 서브셋들을 포함하는 방법.
  12. 데이터 처리 디바이스로부터 원격 리소스에 액세스하는 방법으로서,
    상기 원격 리소스에 대응하는 제1 URL을 획득하는 단계;
    상기 제1 URL에 대응하는 비밀 데이터를 획득하는 단계;
    상기 제1 URL에 대응하는 상기 비밀 데이터를 사용하여 상기 데이터 처리 디바이스에서 알려지지 않은 URL을 발생하는 단계 - 상기 알려지지 않은 URL은 상기 원격 리소스의 실제 위치를 획득하기 위한 것임 -; 및
    상기 알려지지 않은 URL을 사용하여 상기 원격 리소스에 액세스하는 단계
    를 포함하고,
    상기 알려지지 않은 URL은 키 노드 리소스의 위치를 식별하고 상기 키 노드 리소스는 상기 원격 리소스를 식별하는 리소스 URL을 획득하기 위한 데이터를 포함하는 방법.
  13. 제12항에 있어서, 상기 키 노드 리소스에 있는 상기 데이터는 상기 원격 리소스에 있는 데이터를 복호화하기 위한 키 정보를 포함하는 방법.
  14. 제12항에 있어서, 상이한 키 노드 리소스들은 상이한 사용자들 또는 사용자들의 그룹들에 대응하고, 각각의 키 노드 리소스는 대응하는 사용자 또는 사용자들의 그룹과 관련된 비밀 데이터를 사용하여 발생된 알려지지 않은 URL에 의해 식별되는 방법.
  15. 제14항에 있어서, 사용자 또는 사용자들의 그룹에 대응하는 상기 키 노드 리소스를 제거함으로써 상기 사용자 또는 사용자들의 그룹에 의한 상기 원격 리소스에의 액세스를 취소(revoking)하는 단계를 포함하는 방법.
  16. 제14항에 있어서,
    (ⅰ) 사용자들의 선택된 그룹에 대한 상기 제1 URL에 대응하는 새로운 그룹 비밀 데이터를 발생하고, 상기 새로운 그룹 비밀 데이터에의 액세스를 적어도 하나의 선택된 사용자 이외의 상기 선택된 그룹의 사용자들에게 제공하고;
    (ⅱ) 상기 새로운 그룹 비밀 데이터를 사용하여 발생된 새로운 알려지지 않은 URL에 의해 식별되고, 상기 원격 리소스의 상기 리소스 URL을 획득하기 위한 데이터를 포함하는 새로운 키 노드 리소스를 생성하고;
    (ⅲ) 이전에 사용자들의 상기 선택된 그룹에 대응하는 상기 키 노드 리소스에 액세스가능하지 않게 함으로써
    사용자들의 상기 선택된 그룹의 상기 적어도 하나의 선택된 사용자에 의한 상기 원격 리소스에의 액세스를 취소하는 단계를 포함하는 방법.
  17. 데이터 처리 디바이스로부터 원격 리소스에 액세스하는 방법으로서,
    상기 원격 리소스에 대응하는 제1 URL을 획득하는 단계;
    상기 제1 URL에 대응하는 비밀 데이터를 획득하는 단계;
    상기 제1 URL에 대응하는 상기 비밀 데이터를 사용하여 상기 데이터 처리 디바이스에서 알려지지 않은 URL을 발생하는 단계 - 상기 알려지지 않은 URL은 상기 원격 리소스의 실제 위치를 획득하기 위한 것임 -; 및
    상기 알려지지 않은 URL을 사용하여 상기 원격 리소스에 액세스하는 단계
    를 포함하고,
    상기 데이터 처리 디바이스는 상기 제1 URL에 대응하는 적어도 하나의 추가 비밀 데이터를 획득하기 위한 확장 URL과 함께 상기 비밀 데이터를 유지하고, 상기 적어도 하나의 추가 비밀 데이터는 적어도 하나의 추가의 알려지지 않은 URL을 발생하기 위한 것인 방법.
  18. 제17항에 있어서, 상기 데이터 처리 디바이스는 상기 알려지지 않은 URL 및 상기 적어도 하나의 추가의 알려지지 않은 URL 중 하나 이상에 의해 식별된 하나 이상의 위치에 액세스하기를, 상기 하나 이상의 위치 중 하나의 위치에의 액세스가 성공적일 때까지 시도하는 방법.
  19. 제1항 또는 제2항에 있어서, 상기 비밀 데이터는 상기 원격 리소스에의 액세스가 상기 비밀 데이터를 사용하여 승인될 수 있는지를 결정하기 위한 조건들과 관련되는 방법.
  20. 데이터 처리 디바이스로부터 원격 리소스에 액세스하는 방법으로서,
    상기 원격 리소스에 대응하는 제1 URL을 획득하는 단계;
    상기 제1 URL에 대응하는 비밀 데이터를 획득하는 단계;
    상기 제1 URL에 대응하는 상기 비밀 데이터를 사용하여 상기 데이터 처리 디바이스에서 알려지지 않은 URL을 발생하는 단계 - 상기 알려지지 않은 URL은 상기 원격 리소스의 실제 위치를 획득하기 위한 것임 -; 및
    상기 알려지지 않은 URL을 사용하여 상기 원격 리소스에 액세스하는 단계
    를 포함하고,
    상기 데이터 처리 디바이스와 상기 원격 리소스 사이의 중간 네트워크 노드들에서 상기 원격 리소스에 저장된 데이터 또는 상기 원격 리소스에 송신된 트랜잭션들을 캐시하는 단계를 포함하고, 상기 캐시된 데이터 또는 트랜잭션들은 암호화되는 방법.
  21. 제20항에 있어서, 상기 원격 리소스에 저장된 상기 데이터가 복수의 네트워크 노드에서 이용가능하면, 상기 데이터는 각각의 네트워크 노드로부터 상기 데이터를 획득하는 것과 관련된 예상된 트랜잭션 비용에 기초하여 선택된 상기 복수의 네트워크 노드 중 하나로부터 상기 데이터 처리 디바이스에 의해 획득되는 방법.
  22. 제20항에 있어서, 상기 원격 리소스가 복수의 통신 채널을 사용하여 액세스될 수 있다면, 상기 데이터 처리 디바이스는 각각의 통신 채널과 관련된 예상된 트랜잭션 비용에 기초하여 선택된 상기 복수의 통신 채널 중 하나를 통해 상기 원격 리소스에 액세스하는 방법.
  23. 데이터 처리 디바이스로부터 원격 리소스에 액세스하는 방법으로서,
    상기 원격 리소스에 대응하는 제1 URL을 획득하는 단계;
    상기 제1 URL에 대응하는 비밀 데이터를 획득하는 단계;
    상기 제1 URL에 대응하는 상기 비밀 데이터를 사용하여 상기 데이터 처리 디바이스에서 알려지지 않은 URL을 발생하는 단계 - 상기 알려지지 않은 URL은 상기 원격 리소스의 실제 위치를 획득하기 위한 것임 -; 및
    상기 알려지지 않은 URL을 사용하여 상기 원격 리소스에 액세스하는 단계
    를 포함하고,
    상기 데이터 처리 디바이스 또는 상기 데이터 처리 디바이스와 상기 원격 리소스 사이의 적어도 하나의 중간 네트워크 노드는 상기 원격 리소스와 관련된 디바이스에 송신될 트랜잭션들을 큐잉(queuing)하기 위한 트랜잭션 큐(transaction queue)를 포함하고;
    상기 원격 리소스와 관련된 상기 디바이스는 상기 트랜잭션들을 처리할 준비가 되어 있을 때 상기 트랜잭션 큐로부터 트랜잭션들을 풀링하는(pull) 방법.
  24. 제23항에 있어서, 상기 트랜잭션 큐 내의 상기 트랜잭션들은 암호화되는 방법.
  25. 제23항에 있어서, 상기 데이터 처리 디바이스 및 상기 원격 리소스와 관련된 상기 디바이스는 상기 트랜잭션 큐를 사용하여 비동기적으로 통신하는 방법.
  26. 데이터 처리 디바이스로부터 원격 리소스에 액세스하는 방법으로서,
    상기 원격 리소스에 대응하는 제1 URL을 획득하는 단계;
    상기 제1 URL에 대응하는 비밀 데이터를 획득하는 단계;
    상기 제1 URL에 대응하는 상기 비밀 데이터를 사용하여 상기 데이터 처리 디바이스에서 알려지지 않은 URL을 발생하는 단계 - 상기 알려지지 않은 URL은 상기 원격 리소스의 실제 위치를 획득하기 위한 것임 -; 및
    상기 알려지지 않은 URL을 사용하여 상기 원격 리소스에 액세스하는 단계
    를 포함하고,
    명시된 동작이 상기 원격 리소스를 사용하여 수행되기를 지시하기 위한 트랜잭션을 송신하는 단계를 포함하고, 상기 데이터 처리 디바이스는 상기 데이터 처리 디바이스가 상기 명시된 동작이 상기 원격 리소스를 사용하여 수행되기를 지시할 권한을 갖는다는 것을 검증하기 위한 인증 정보를 갖거나 획득하는 방법.
  27. 제26항에 있어서, 상기 인증 정보는
    (ⅰ) 상기 인증 정보가 언제 유효한지를 명시하는 유효성 데이터;
    (ⅱ) 어떤 동작들이 상기 데이터 처리 디바이스에 의해 지시되는 것이 허용되는지를 명시하는 허용 정보 중 적어도 하나를 명시하는 방법.
  28. 제26항에 있어서, 상기 인증 정보는 상기 트랜잭션에서 명시된 인증 URL로부터 획득되는 방법.
  29. 제28항에 있어서, 상기 인증 URL은 상기 인증 정보의 적어도 일부를 사용하여 발생된 핑거프린트 부분을 포함하는 방법.
  30. 제28항에 있어서, 상기 원격 리소스와 관련된 상기 디바이스는 상기 트랜잭션을 송신하기 위해 사용된 통신 채널과 상이한 통신 채널을 통해 상기 인증 URL로부터 상기 인증 정보를 획득하도록 구성되는 방법.
  31. 제26항에 있어서, 상기 인증 정보는 적어도 하나의 네트워크 노드에 의해 캐시되고,
    상기 원격 리소스와 관련된 상기 디바이스는 상기 데이터 처리 디바이스가 상기 명시된 동작이 상기 원격 리소스를 사용하여 수행되기를 지시할 권한을 갖는다는 것을 검증하기 위해 상기 캐시된 인증 정보를 사용하도록 구성되는 방법.
  32. 제31항에 있어서, 상기 인증 정보는 (ⅰ) 상기 인증 정보가 유효한 기간(period)을 명시하는 유효성 정보, 및 (ⅱ) 상기 인증 정보가 상기 적어도 하나의 네트워크 노드에 의해 캐시되는 것이 허용되는 기간을 명시하는 캐시가능성 정보(cacheability information)를 명시하는 방법.
  33. 데이터 처리 디바이스로서,
    데이터 처리를 수행하도록 구성된 처리 회로; 및
    원격 리소스에 액세스하도록 구성된 통신 회로
    를 포함하고,
    상기 처리 회로는
    (a) 상기 원격 리소스에 대응하는 제1 URL(uniform resource locator)을 획득하고 상기 제1 URL에 대응하는 비밀 데이터를 획득하고;
    (b) 상기 제1 URL에 대응하는 상기 비밀 데이터를 사용하여 알려지지 않은 URL을 발생하고 - 상기 알려지지 않은 URL은 상기 원격 리소스의 실제 위치를 획득하기 위한 것임 -;
    (c) 상기 알려지지 않은 URL을 사용하여 상기 원격 리소스에 액세스하도록 상기 통신 회로를 제어하도록
    구성되고,
    상기 제1 URL은 상기 알려지지 않은 URL을 사용하여 액세스된 상기 원격 리소스와 상이한 원격 리소스의 위치를 식별하는 데이터 처리 디바이스.
  34. 데이터 처리 디바이스로서,
    데이터 처리를 수행하는 처리 수단; 및
    원격 리소스에 액세스하는 통신 수단을 포함하고,
    상기 처리 수단은
    (a) 상기 원격 리소스에 대응하는 제1 URL(uniform resource locator)을 획득하고 상기 제1 URL에 대응하는 비밀 데이터를 획득하고;
    (b) 상기 제1 URL에 대응하는 상기 비밀 데이터를 사용하여 알려지지 않은 URL을 발생하고 - 상기 알려지지 않은 URL은 상기 원격 리소스의 실제 위치를 획득하기 위한 것임 -;
    (c) 상기 알려지지 않은 URL을 사용하여 상기 원격 리소스에 액세스하도록 상기 통신 수단을 제어하도록
    구성되고,
    상기 제1 URL은 상기 알려지지 않은 URL을 사용하여 액세스된 상기 원격 리소스와 상이한 원격 리소스의 위치를 식별하는 데이터 처리 디바이스.
  35. 데이터 처리 디바이스에, 실제 위치가 리소스 URL(uniform resource locator)에 의해 식별되는 원격 리소스에의 액세스를 제공하는 방법으로서,
    상기 데이터 처리 디바이스의 사용자에 대응하는 비밀 데이터를 발생하는 단계;
    상기 사용자에 대응하는 상기 비밀 데이터를 사용하여 알려지지 않은 URL을 발생하는 단계;
    상기 알려지지 않은 URL에 의해 식별된 위치에 상기 리소스 URL을 획득하기 위한 데이터를 저장하는 단계; 및
    상기 데이터 처리 디바이스에 (ⅰ) 상기 사용자에 대한 상기 원격 리소스를 식별하기 위한 제1 URL 및 (ⅱ) 상기 알려지지 않은 URL을 획득하기 위한 상기 비밀 데이터를 제공하는 단계
    를 포함하고,
    상기 제1 URL은 상기 알려지지 않은 URL을 사용하여 액세스된 원격 리소스와 상이한 원격 리소스의 위치를 식별하는 방법.
  36. 데이터 처리 디바이스로서,
    데이터 처리를 수행하도록 구성된 처리 회로; 및
    원격 위치들에 액세스하도록 구성된 통신 회로
    를 포함하고,
    상기 처리 회로는
    (a) 실제 위치가 리소스 URL(uniform resource locator)에 의해 식별되는 원격 리소스에의 액세스를 제공받을 데이터 처리 디바이스의 사용자에 대응하는 비밀 데이터를 발생하고;
    (b) 상기 사용자에 대응하는 상기 비밀 데이터를 사용하여 알려지지 않은 URL을 발생하고;
    (c) 상기 알려지지 않은 URL에 의해 식별된 위치에 상기 리소스 URL을 획득하기 위한 데이터를 저장하고, 상기 데이터 처리 디바이스에 (ⅰ) 상기 사용자에 대한 상기 원격 리소스를 식별하기 위한 제1 URL 및 (ⅱ) 상기 알려지지 않은 URL을 획득하기 위한 상기 비밀 데이터를 제공하도록 상기 통신 회로를 제어하도록
    구성되고,
    상기 제1 URL은 상기 알려지지 않은 URL을 사용하여 액세스된 원격 리소스와 상이한 원격 리소스의 위치를 식별하는 데이터 처리 디바이스.
  37. 데이터 처리 디바이스로서,
    데이터 처리를 수행하는 처리 수단; 및
    원격 위치들에 액세스하는 통신 수단
    을 포함하고,
    상기 처리 수단은
    (a) 실제 위치가 리소스 URL(uniform resource locator)에 의해 식별되는 원격 리소스에의 액세스를 제공받을 데이터 처리 디바이스의 사용자에 대응하는 비밀 데이터를 발생하고;
    (b) 상기 사용자에 대응하는 상기 비밀 데이터를 사용하여 알려지지 않은 URL을 발생하고;
    (c) 상기 알려지지 않은 URL에 의해 식별된 위치에 상기 리소스 URL을 획득하기 위한 데이터를 저장하고, 상기 데이터 처리 디바이스에 (ⅰ) 상기 사용자에 대한 상기 원격 리소스를 식별하기 위한 제1 URL 및 (ⅱ) 상기 알려지지 않은 URL을 획득하기 위한 상기 비밀 데이터를 제공하도록 상기 통신 수단을 제어하도록
    구성되고,
    상기 제1 URL은 상기 알려지지 않은 URL을 사용하여 액세스된 원격 리소스와 상이한 원격 리소스의 위치를 식별하는 데이터 처리 디바이스.
  38. 적어도 하나의 데이터 처리 디바이스에 의해 실행될 때, 제1항, 제10항, 제12항, 제17항, 제20항, 제23항, 제26항 또는 제35항의 방법을 수행하도록 상기 적어도 하나의 데이터 처리 디바이스를 제어하는 적어도 하나의 컴퓨터 프로그램을 저장하는 적어도 하나의 컴퓨터 판독가능 저장 매체.
  39. 삭제
  40. 삭제
  41. 삭제
KR1020177000061A 2014-06-03 2015-05-13 데이터 처리 디바이스로부터 원격 리소스에 액세스하고 원격 리소스에 대한 액세스를 제공하는 방법들 KR102329530B1 (ko)

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
KR20170016430A KR20170016430A (ko) 2017-02-13
KR102329530B1 true KR102329530B1 (ko) 2021-11-23

Family

ID=51214658

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177000061A KR102329530B1 (ko) 2014-06-03 2015-05-13 데이터 처리 디바이스로부터 원격 리소스에 액세스하고 원격 리소스에 대한 액세스를 제공하는 방법들
KR1020167036923A KR102324505B1 (ko) 2014-06-03 2015-05-29 원격 리소스와 데이터 처리 디바이스 사이에 송신되는 데이터에 액세스하고 그에 대한 액세스를 제공하는 방법들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167036923A KR102324505B1 (ko) 2014-06-03 2015-05-29 원격 리소스와 데이터 처리 디바이스 사이에 송신되는 데이터에 액세스하고 그에 대한 액세스를 제공하는 방법들

Country Status (5)

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

Families Citing this family (27)

* 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 福建联迪商用设备有限公司 一种蓝牙自动连接方法和主设备、从设备和系统
WO2017176437A1 (en) * 2016-04-05 2017-10-12 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
US11295402B2 (en) 2018-03-28 2022-04-05 Bank Of America Corporation Blockchain-based property repair
US10498808B2 (en) 2018-03-28 2019-12-03 Bank Of America Corporation Blockchain-based property management
US11475422B2 (en) 2018-03-28 2022-10-18 Bank Of America Corporation Blockchain-based property management
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
CN113630251A (zh) * 2020-05-08 2021-11-09 瞻博网络公司 使用签名后的统一资源定位符进行网络业务监测或存储
CN114666391B (zh) * 2020-12-03 2023-09-19 中国移动通信集团广东有限公司 访问轨迹确定方法、装置、设备及存储介质
CN112565265B (zh) * 2020-12-04 2022-11-01 国网辽宁省电力有限公司沈阳供电公司 物联网终端设备间的认证方法、认证系统及通讯方法
CN112511569B (zh) * 2021-02-07 2021-05-11 杭州筋斗腾云科技有限公司 网络资源访问请求的处理方法、系统及计算机设备
CN115080987A (zh) * 2021-03-11 2022-09-20 中国移动通信集团山东有限公司 密码管理方法、装置、系统、存储介质和计算机设备
CN113961790B (zh) * 2021-09-30 2022-10-14 稿定(厦门)科技有限公司 适用于批量文本的访问方法、装置及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120124372A1 (en) 2010-10-13 2012-05-17 Akamai Technologies, Inc. Protecting Websites and Website Users By Obscuring URLs

Family Cites Families (39)

* 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 北京视博数字电视科技有限公司 发送授权管理信息的方法及其条件接收系统前端
CN101932994A (zh) * 2009-02-04 2010-12-29 株式会社久保田 作业机的显示装置以及显示装置中的语言改写系统
US20120012437A1 (en) * 2009-03-19 2012-01-19 Glory Ltd. Money handling machine
US8665757B2 (en) * 2009-06-03 2014-03-04 Telefonaktiebolaget Lm 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
US8341255B2 (en) * 2009-10-06 2012-12-25 Unwired Planet, Inc. Managing network traffic by editing a manifest file
CN101789934B (zh) * 2009-11-17 2012-09-05 飞天诚信科技股份有限公司 网上安全交易方法和系统
US20110131408A1 (en) * 2009-12-01 2011-06-02 International Business Machines Corporation Document link security
US9049199B2 (en) * 2009-12-14 2015-06-02 Telefonaktiebolaget L M Ericsson (Publ) Dynamic cache selection method and system
US20130000723A1 (en) * 2010-03-25 2013-01-03 Yissum Research Development Company of the Hebrew Unversity of Jerusalem Ltd Photochemical electrode, construction and uses thereof
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
US9396118B2 (en) * 2011-12-28 2016-07-19 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
CN103414562B (zh) * 2013-08-02 2017-07-11 广州市动景计算机科技有限公司 基于url指纹技术的用户权限控制方法及装置
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120124372A1 (en) 2010-10-13 2012-05-17 Akamai Technologies, Inc. Protecting Websites and Website Users By Obscuring URLs

Also Published As

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

Similar Documents

Publication Publication Date Title
US10880094B2 (en) Methods of accessing and providing access to a remote resource from a data processing device
US10432394B2 (en) Method and system for sharing encrypted content
US8438622B2 (en) Methods and apparatus for authorizing access to data
US10554406B1 (en) Authorized data sharing using smart contracts
US11200334B2 (en) Data sharing via distributed ledgers
CN105122265B (zh) 数据安全服务系统
US11595398B1 (en) Access control for named domain networking
US20090249447A1 (en) Information processing system and computer-readable recording medium
TWI611302B (zh) 安全地共享內容方法及系統
US20180060597A1 (en) Systems and methods for zero-knowledge enterprise collaboration
KR20140007466A (ko) 콘텐츠 공개 제어 시스템
Clarke Design and implementation of a public key-based group collaboration system
CN106941482B (zh) 一种基于密钥派生的数据存储和访问控制方法
GB2610072A (en) Data sharing via distributed ledgers
Myrland Authentication and Authorization in Blind Data Miners
CN113472796A (zh) 一种数据中心门户管理方法及系统
Malygin INVESTIGATION OF DIGITAL CERTIFICATES: Creation of self-signed certificate on Windows 8
Camenisch et al. Open Source Contributions

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant