KR20160044022A - 데이터에 대한 액세스 인에이블링 - Google Patents
데이터에 대한 액세스 인에이블링 Download PDFInfo
- Publication number
- KR20160044022A KR20160044022A KR1020167007107A KR20167007107A KR20160044022A KR 20160044022 A KR20160044022 A KR 20160044022A KR 1020167007107 A KR1020167007107 A KR 1020167007107A KR 20167007107 A KR20167007107 A KR 20167007107A KR 20160044022 A KR20160044022 A KR 20160044022A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- data
- access
- keys
- requesting party
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G06F17/30097—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
- H04L9/3242—Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
Abstract
요청 당사자에 의해 데이터에 대한 액세스를 인에이블링하기 위한 방법, 시스템, 장치 및 컴퓨터 프로그램. 복수의 데이터의 세트가 생성된다. 하나의 일방향 함수는 복수의 키를 생성하도록 사용되고, 각각의 키는 복수의 세트 중 개별적인 하나의 세트와 연관 된다. 데이터와 연관된 정보는 그 세트에 대한 키를 생성할 때 일방향 함수에 대한 입력으로서 사용된다. 키는 요청 당사자에게 배포된다. 후속하여 요청 당사자는 수신된 키를 사용하여 데이터 액세스 요청을 수행할 수 있다. 키의 수신 직후, 액세스가 데이터에 대하여 인에이블링될 수 있다. 요청 당사자는 수신된 데이터의 적어도 일부와 연관된 정보로부터 확인 데이터를 생성하여 수신된 키로부터 생성된 데이터에 확인 데이터를 비교함으로써 수신된 데이터를 확인할 수 있다.
Description
본 발명은 데이터에 대한 액세스를 인에이블링하는 장치, 시스템 및 방법에 관한 것이며, 특히 복수의 요청 당사자에 의한 데이터에 대한 액세스를 인에이블링하는 것에 관한 것이다.
다수의 통신 시스템에서, 데이터에 대한 액세스를 제어하는 것이 바람직하다. 특히, 상이한 요청 당사자가 데이터의 주어진 블록 내에서 특정 데이터 부분에 액세스하는 것이 허용되되 기타 데이터 부분에 액세스하는 것은 금지되는 시스템을 갖는 것이 바람직하다. 더욱이, 데이터의 동일한 데이터 부분에 대한 상이한 당사자 액세스를 허용하되, 예컨대 모든 동일한 데이터 부분에 대한 2명의 당사자 액세스를 부여하지 않으며, 즉, 당사자들은 중첩하되 필수적으로 일치하지 않는 액세스가 허용되는 것이 바람직하다.
이것을 제공하기 위한 시스템의 한 예시는 US 2005/0180573에 기재된다. 이러한 예시에서, 데이터의 블록은 부분으로 나뉜다. 데이터의 각각의 부분은 이로써 상이한 부분 특정 키를 사용하여 암호화된다. 요청 당사자에게는 부분 특정 키를 얻거나 복호하기 위하여 사용될 수 있는 당사자 특정 키가 제공된다. 당사자 특정 키는 주어진 당사자가 액세스에 허용되는 데이터의 부분에 상응하는 부분 특정 키를 얻을 수 있도록 배열된다. 이것은 요청 당사자가 당사자의 액세스가 허용되는 데이터의 부분을 복호하여 액세스하는 것을 가능하게 한다.
그러나, 이러한 시스템은 다수의 단점을 갖는다. 예컨대, 분실된 키 또는 주어진 요청 당사자의 액세스 권한의 제거는, 주어진 당사자가 먼저 액세스 허용된 데이터의 모든 부분이 다시 암호화되어야 한다는 것을 의미한다. 게다가, 이러한 시스템은 당사자가 데이터를 복호할 수 있도록 사용되고 전체 시스템에 대한 간접비(overheads)를 더하는 임의의 컴퓨터화된 장비를 요한다.
결과적으로 데이터에 대한 액세스를 인에이블링하기 위한 개선된 시스템이 필요하다.
적어도 하나의 실시예에 있어서, 방법, 장치, 시스템 및 소프트웨어가 데이터를 전달하기 위한 기능을 지원하고 구현하기 위하여 제공된다.
이것은 각각의 독립항에 언급된 특징의 조합에 의해 성취된다. 따라서, 종속항은 다양한 실시예의 추가적인 상세한 구현을 규정한다.
본 발명의 제 1 측면에 있어서, 요청 당사자에 의한 데이터에 대한 액세스를 인에이블링하는 방법이 제공되며, 상기 방법은: 데이터의 복수의 세트를 생성하는 단계; 일방향 함수를 사용하여 상기 복수의 세트 중 개별 세트와 각각 연관된 복수의 키를 생성하는 단계 - 상기 데이터의 세트와 연관된 정보는 상기 세트와 연관된 키를 생성할 때 상기 일방향 함수에 대한 입력으로서 사용됨 - ; 하나 이상의 요청 당사자에 대한 배포에 이용 가능한 키를 배열하는 단계; 상기 요청 당사자로부터 키를 포함하는 데이터 액세스 요청을 수신하는 단계; 및 상기 요청 당사자에 의해, 수신된 상기 키를 기초로, 상기 세트의 데이터에 대한 액세스를 인에이블링하는 단계를 포함한다.
세트를 생성하고 상기 세트와 키를 연관시킴으로써, 실시예는 데이터에 대한 액세스를 효율적으로 제어할 수 있다. 키가 손상될(compromised) 경우, 키가 데이터에 액세스할 권한이 없는 당사자에게 알려질 경우, 수행될 유일한 변화는 키와 세트 사이의 관련성에 관한 것이다. 예컨대, 새로운 키가 생성될 수 있으며 손상된 키는 무효화될 수 있다. 이것은, 재 암호화가 요구되지 않으므로 배경 기술에 기재된 암호화 시스템보다 더욱 효율적이다.
또한, 일방향 함수를 사용한 결과, 제 3 당사자는 데이터에 액세스하기 위하여 사용할 유효 키를 생성할 수 없기 때문에 유효 키의 유일한 소스는 키 생성기로부터의 배포를 통한다. 이것은, 키의 배포가 데이터에 대한 액세스를 제한하기 위하여 제어되고 사용될 수 있고 그 자체의 키가 요청 당사자를 인증하여 데이터에 대한 액세스를 제어하기 위한 수단을 제공하므로 개선된 보안을 제공한다. 이것은 URL과 같은 단순한 포인터가 원거리 데이터에 대한 액세스를 인에이블링하도록 제공되는 시스템과 비교될 수 있다.
키를 생성하도록 그 자체의 데이터를 사용함으로써, 키는 2개의 기능을 수행할 수 있다. 먼저, 키는 데이터에 대한 액세스를 인에이블링하며 다음으로 키는 키를 사용하여 수신하는 사용자가 키를 사용하여 회수된 데이터를 확인하는 것을 인에이블링한다. 특히, 키는 생성되는 키와 접근되는 데이터 사이에서 데이터에 대한 변화(우연한 변화 또는 공격으로 인한 변화)를 감지하도록 사용될 수 있다. 키(한번 배포됨)가 데이터로부터 분리되어 요청 당사자에 의해 보유될 것이므로, 이것은 감지되지 않고도 데이터가 변형되는 것을 더 어렵게 만든다.
데이터의 세트와 연관된 정보는 데이터의 컨텐트를 식별할 수 있다. 대안으로, 데이터의 세트와 연관된 정보는 데이터의 컨텐트의 적어도 일부를 포함할 수 있다.
상기 방법은 일방향 함수에 대한 입력으로서 하나 이상의 솔트 값을 사용하는 단계를 포함할 수 있다. 더욱이, 방법은, 주어진 키를 사용하여 액세스가능한 세트에서 데이터로서 주어진 키를 생성하기 위하여 사용되는 솔트 값을 저장하는 단계를 포함할 수 있다.
솔트 값은 예컨대 동일한 데이터에 대하여 상이한 키가 생성되는 것을 인에이블링할 수 있으므로 상이한 키가 요청 당사자에게 배포되는 것을 인에이블링한다. 솔트값은 키를 갖는 요청 당사자에게 보내질 수 있거나 별도로 회수를 위하여 이용 가능해질 수 있되, 실시예에서, 솔트 값은 세트에서 데이터와 함께 저장되고 데이터와 함께 배포되므로 요청 당사자가 수신에 따라 요청 당사자가 데이터를 확인하는 것을 인에이블링한다.
일방향 함수는 해쉬 함수, 암호화 부호 함수, 난수 생성기 및 의사 난수 생성기 중 하나 이상을 포함할 수 있다. 본 실시예에서, 키는 높은 엔트로피를 가질 수 있다.
액세스는 주어진 키를 포함하는 한정된 수의 요청에 대하여 인에이블링될 수 있다. 상기 방법은 그러므로 주어진 세트와 연관된 복수의 키를 생성하는 단계를 포함할 수 있다. 본 방법은 또한 주어진 세트와 연관된 제 1 키를 포함하는 요청을 수신하는 것에 응하여 주어진 세트와 연관된 제 2 키를 생성하는 단계를 포함할 수 있다.
이는, 공격 당사자가 데이터의 요청을 인터셉트하는 경우 중간자 공격(man-in-the-middle attacks)의 효율을 감소시키므로 유효 키를 얻는다. 한 번 사용되면, 키가 유효화되는 것이 중단될 것이므로, 이 키를 사용하여 데이터에 대한 액세스를 얻으려는 공격 당사자에 의한 임의의 시도는 성공할 수 없을 것이다.
상기 방법은 복수의 키와 상기 세트를 연관시키는 단계; 상기 복수의 키를 배포에 이용가능하도록 배열하는 단계; 및 미리 결정된 기준이 충족됨에 따라 상기 데이터의 세트에 대한 액세스를 인에이블링하는 단계 - 상기 미리 결정된 기준은 상기 복수의 키 중 하나 이상의 키의 수신에 따름 - 를 포함할 수 있다.
특정 실시예에서, 상기 방법은 제 1 키, 제 2 키 및 제 3 키를 생성하는 단계 - 상기 제 3 키는 적어도 상기 제 1 키 및 상기 제 2 키의 결합과 관련됨 - ; 상기 제 3 키와 특정 상기 세트를 연관시키는 단계; 상기 제 1 키 및 상기 제 2 키를 배포에 이용가능하도록 배열하는 단계; 및 상기 제 1 키 및 상기 제 2 키 또는 상기 제 3 키의 결합의 수신에 따라 상기 특정 상기 세트에 대한 액세스를 승인하는 단계를 포함할 수 있다.
통상적으로, 2개의 키는 특정 데이터에 액세스하도록 요구될 수 있다. 이것은 결국 오직 2명의 요청 당사자가 함께 동작할 때만 액세스가 승인되는 것을 보장하기 위하여 사용될 수 있다.
상기 방법은 개별 추가 세트와 제 1 키 및 상기 제 2 키를 연관시키는 단계를 포함할 수 있다. 상기 방법은 룩업 테이블의 세트를 식별하는 키 및 정보를 저장하는 단계를 포함할 수 있으며 또한 룩업 테이블의 수신된 키와 연관된 세트의 데이터를 식별하는 단계를 포함할 수 있다.
실시예에서, 상기 키를 배포에 이용가능하도록 하기 위하여 제 1 프로토콜을 사용하여 키를 전송하는 단계를 포함하고, 세트의 데이터의 적어도 일부는 제 2의 상이한 프로토콜을 통한 통신에 적합하다. 이처럼, 상기 방법은 제 2 프로토콜을 사용하여 데이터에 대한 액세스를 인에이블링하는 단계를 더 포함할 수 있다.
몇몇 시스템에서, 개설된 프로토콜은 특정 데이터를 처리하지 못할 수도 있다. 그러나, 실시예에서, 개설된 프로토콜은 키를 배포하기 위해 사용될 수 있으며 세트의 데이터는 대안적인 프로토콜을 사용하여 후속하여 회수될 수 있다. 그러므로, 시스템 및 특히 개설된 프로토콜을 사용하는 엔티티는 업데이트될 필요가 없으므로 임의의 업데이트된 엔티티가 추가 데이터, 즉, 세트의 데이터에 액세스할 수 있다.
본 발명의 제 2 측면에 있어서, 데이터에 액세스하고 데이터를 확인하는 방법이 제공되고, 상기 방법은: 키를 수신하는 단계; 수신된 키를 사용하여 데이터 액세스 요청을 형성하는 단계; 요청에 응하여 데이터를 수신하는 단계; 일방향 함수를 사용하여 수신된 데이터와 연관된 정보로부터 확인 데이터를 생성하는 단계; 및 수신된 키로부터 얻은 데이터에 확인 데이터를 비교함으로써 수신된 데이터를 확인하는 단계를 포함한다.
본 발명의 제 3 측면에 있어서, 요청 당사자에 의한 데이터에 대한 액세스를 인에이블링하는 장치가 제공되고, 상기 장치는: 데이터의 복수의 세트를 생성하고; 복수의 세트 중 개별 세트와 각각 연관된 복수의 키를 생성하도록 일방향 함수를 사용하고 - 데이터의 세트와 연관된 정보는 세트와 연관된 키를 생성할 때 일방향 함수에 대한 입력으로서 사용됨 - ; 하나 이상의 요청 당사자에 대한 배포에 이용가능한 키를 배열하고; 요청 당사자로부터 키를 포함하는 데이터 액세스 요청을 수신하고; 및 요청 당사자에 의해, 수신된 키를 기초로, 세트의 데이터에 대한 액세스를 인에이블링하도록 구성된다.
본 발명의 제 4 측면에 있어서, 데이터에 액세스하고 데이터를 확인하는 장치로서, 상기 장치는: 키를 수신하고; 수신된 키를 사용하여 데이터 액세스 요청을 형성하고; 요청에 응하여 데이터를 수신하고; 일방향 함수를 사용하여 수신된 데이터와 연관된 정보로부터 확인 데이터를 생성하고; 및 수신된 키로부터 얻은 데이터에 확인 데이터를 비교함으로써 수신된 상기 데이터를 확인하도록 구성된다.
본 발명의 제 5 측면에 있어서, 요청 당사자에 의한 데이터에 대한 액세스를 인에이블링하는 방법을 수행하도록 배열된 컴퓨터 프로그램이 제공되며, 상기 방법은: 데이터의 복수의 세트를 생성하는 단계; 일방향 함수를 사용하여 복수의 세트 중 개별 세트와 각각 연관된 복수의 키를 생성하는 단계 - 데이터의 세트와 연관된 정보는 세트와 연관된 키를 생성할 때 일방향 함수에 대한 입력으로서 사용됨 - ; 하나 이상의 요청 당사자에 대한 배포에 이용 가능한 키를 배열하는 단계; 요청 당사자로부터 키를 포함하는 데이터 액세스 요청을 수신하는 단계; 및 요청 당사자에 의해, 수신된 키를 기초로, 세트의 데이터에 대한 액세스를 인에이블링하는 단계를 포함한다.
본 발명의 제 6 측면에 있어서, 데이터에 액세스하고 데이터를 확인하는 방법을 수행하도록 배열된 컴퓨터 프로그램이 제공되며, 상기 방법은: 키를 수신하는 단계; 수신된 키를 사용하여 데이터 액세스 요청을 만드는 단계; 요청에 응하여 데이터를 수신하는 단계; 일방향 함수를 사용하여 수신된 데이터와 연관된 정보로부터 확인 데이터를 생성하는 단계; 및 수신된 키로부터 얻은 데이터에 확인 데이터를 비교함으로써 수신된 데이터를 확인하는 단계를 포함한다.
본 발명의 추가의 특징 및 장점은 예시로서만 주어지고, 첨부된 도면을 참조하여 이루어지는 본 발명의 바람직한 실시예에 대한 다음의 설명으로부터 명백해질 것이다.
시스템, 장치 및 방법은, 오직 예시로서 기재되며 수반하는 도면을 참조하여 이뤄진 실시예로서 이제 기재할 것이다.
도 1은 본 발명의 실시예가 수행되는 통신 시스템의 개략도를 도시한다.
도 2는 일 실시예에 따른 방법을 도시한다.
도 3은 일 실시예에 따른 결합된 키를 활용하는 추가 방법을 도시한다.
도 4는 키가 한정된 횟수로 사용될 수 있는 일 실시예에 따른 방법을 도시한다.
도 5는 복수의 키가 생성되고 각각의 키를 한정된 횟수로 사용 가능한 일 실시예에 따른 추가 방법을 도시한다.
도 6은 본 발명의 실시예에서 사용될 수 있는 네트워크 노드의 개략도를 도시한다.
실시예의 일부 부분, 구성요소 및/또는 단계는 하나 이상의 도면에서 나타나며; 명료성을 위해 동일한 참조번호를 사용하여 도면 모두에서 동일한 부분, 구성요소 또는 단계를 지칭할 것이다.
도 1은 본 발명의 실시예가 수행되는 통신 시스템의 개략도를 도시한다.
도 2는 일 실시예에 따른 방법을 도시한다.
도 3은 일 실시예에 따른 결합된 키를 활용하는 추가 방법을 도시한다.
도 4는 키가 한정된 횟수로 사용될 수 있는 일 실시예에 따른 방법을 도시한다.
도 5는 복수의 키가 생성되고 각각의 키를 한정된 횟수로 사용 가능한 일 실시예에 따른 추가 방법을 도시한다.
도 6은 본 발명의 실시예에서 사용될 수 있는 네트워크 노드의 개략도를 도시한다.
실시예의 일부 부분, 구성요소 및/또는 단계는 하나 이상의 도면에서 나타나며; 명료성을 위해 동일한 참조번호를 사용하여 도면 모두에서 동일한 부분, 구성요소 또는 단계를 지칭할 것이다.
도 1은 복수의 요청 당사자가 데이터베이스와 같은 데이터 저장소에 저장되는 데이터에 액세스할 수 있는 통신 시스템(1)을 도시한다. 통신 시스템 내에서, 데이터는 액세스 시스템(10) 내에 저장되며 데이터에 대한 액세스는 액세스 시스템(10)에 의해 제어된다.
액세스 시스템(10)은 복수의 노드 또는 소자(12, 14, 16, 18 및 20)를 포함한다. 복수의 노드 및 소자는 저장되고 후속하여 액세스 될 데이터를 수신하거나 생성하는 데이터 소스(12)를 포함한다. 데이터 소스(12)는 제 1 데이터베이스(14)에 연결된다. 키 생성기(16)는 제 1 데이터베이스(14)에 연결되며 추가로 제 2 데이터베이스(18)에 연결된다. 액세스 컨트롤러(20)는 제 1 및 제 2 데이터베이스(14 및 18)에 연결된다.
키 생성기(16)는 제 1 네트워크(22)를 통하여 복수의 요청 당사자(24A, 24B 및 24C)에 연결된다. 액세스 컨트롤러(20)는 예컨대 제 2 네트워크(26)를 통해 요청 당사자(24A, 24B 및 24C)에 또한 연결된다.
액세스 시스템(10)은 단일 장치일 수 있다. 따라서, 액세스 시스템 내의 노드(12, 14, 16, 18 및 20)가 결합될 수 있고, 적어도 부분적으로, 예컨대 단일 데이터베이스 장치는 상기 기재된 양쪽 데이터베이스(14 및 18)의 저장을 제공하는데 사용될 수 있다. 그러나, 이것은 필수 조건이 아니며 액세스 시스템(10)은 클라우드에 있음으로써 배포될 수 있으며, 이처럼 노드(12, 14, 16, 18 및 20)의 몇몇 또는 전부는 상호연결된 네트워크 노드가 될 수 있다.
요청 당사자(24A, 24B 및 24C)는 액세스 시스템(10)으로부터 먼 거리에 있을 수 있으며, 따라서 네트워크(22 및 26)는 로컬 네트워크, 인터넷 또는 사유 통신 네트워크(proprietary communications networks)일 될 수 있다. 네트워크(22 및 26)는 별개로 기재되되 - 이하에서 이유가 기재됨 - , 이것은 필수 조건이 아니며 네트워크(22 및 26)는 단일 네트워크를 형성할 수 있다.
도 1에서 상기 기재된 통신 시스템(1)의 작동은 도 2 내지 도 5를 참조하여 이제 기재될 것이다. 이러한 도면에서, 동일한 또는 적어도 유사한 단계에 동일한 참조 번호가 제공될 것이다. 도 2 내지 도 5에 도시된 단계에 앞서, 적절한 데이터가 데이터 소스(12)에 생성되거나 데이터 소스(12)에 의해 수신되는 것이 가정된다. 이러한 데이터는 예컨대 서류, 트랜잭션 데이터, 오디오 또는 비디오와 같은 미디어 및/또는 메타데이터가 되는 임의의 수의 형태를 취할 수 있다. 데이터는 데이터의 구조화되거나 표로 만들어진(tabulated) 형태로 예컨대 개별 파일, 매체 섹션 또는 필드 및 레코드의 데이터 부분으로 수신될 수 있다. 대안으로 또는 추가로, 데이터는 데이터 소스(12)에 의해 적절한 데이터 부분으로 분리될 수 있다. 데이터 부분은 이하에서 기재된 예시에서 P1 내지 P9를 참조하여 제공될 것이다.
도 2는 일 실시예에 따른 통신 시스템(1)의 동작을 도시한다. 단계(102)에서, 데이터 소스는 제 1 데이터베이스(14)의 부분(P1 내지 P9)에 데이터를 저장한다. 이것을 따라, 단계(104)에서, 키 생성기(16)는 제 1 데이터베이스(14)와 통신하며 데이터와 연관된 키를 생성한다. 그렇게 하기 위하여, 키 생성기(16)는 데이터 부분의 복수의 세트를 생성한다. 각각의 세트는 하나 이상의 데이터 부분을 식별한다. 세트는 적어도 부분적으로 중첩할 수 있으므로 적어도 하나의 데이터 부분은 2개 이상의 세트에서 식별된다. 세트(S1 및 S2)내로의 데이터의 예시적인 배포를 도시하는 표는 이하와 같이 도시된다.
세트 | 부분 |
S1 | P2, P3, P6 |
S2 | P1 내지 P5, P7 |
여기서, 데이터 부분(P2 및 P3)은 양쪽 세트(S1 및 S2)에서 식별된다. 데이터 부분(P8 및 P9)은 세트(S1 및 S2) 중 하나에서 식별되지 않으며, 이러한 부분에 액세스하는 방법은 도 3을 참조하여 그리고 이하에서 기재될 것이다.
세트를 생성하기 위하여, 키 생성기(16)는 제 1 데이터베이스(14) 내의 부분(P1 내지 P9)의 전부 또는 일부를 회수하거나 프로세스할 수 있다. 이것에 의해 수행될 수 있는 다수의 상이한 방법은 이하에서 상세히 기재되되, 간결성을 위하여, 여기서는 기재되지 않을 것이다.
복수의 세트가 생성되면, 키 생성기(16)는 일방향 함수를 사용하여 복수의 키를 생성한다. 각각의 키는 이하의 표에서 도시된 바와 같이 개별 세트와 연관된다.
키 | 세트 | 부분 |
K1 | S1 | P2, P3, P6 |
K2 | S2 | P1 내지 P5, P7 |
후속하여, 단계(106)에서, 키 생성기(16)는 키 및 제 2 데이터베이스(18)의 세트와 이 키를 연관시키는 정보를 저장한다. 이러한 데이터는 예컨대 룩업 테이블에서 저장될 수 있다.
키 생성기(16)는 당사자(24A 및 24B)와 같은 하나 이상의 요청 당사자에 대한 배포에 이용 가능한 키를 배열한다. 이것은 단계(108)에 의해 도시되며, 여기서 키(K1)는 당사자(24A)가 이용 가능하도록 그리고 키(K2)는 당사자(24B)가 이용가능하도록 만들어진다. 이러한 예시에서, 당사자(24C)는 키를 수신하지 않으며, 그 이유는 이하에서 상세히 기재될 것이다. 도 1로 다시 돌아가서, 키의 이러한 배포는 제 1 네트워크(22)를 통해 수행될 수 있다.
상기 내용에서 키의 생성 및 배포를 기재했다. 이하에서는 이러한 키가 요청 당사자를 위하여 데이터에 대한 액세스를 인에이블링하기 위하여 어떻게 사용되는지 기재할 것이다.
단계(110)에서, 요청 당사자(24A)는 데이터 액세스 요청을 액세스 컨트롤러(20)에 전송한다. 데이터 액세스 요청은 키(K1)를 포함하고, 이것은 단계(108)에서 요청 당사자(24A)에 의해 수신된다. 데이터 액세스 요청을 수신하면, 액세스 컨트롤러(20)는, 단계(112 내지 120)를 참조하여 상세히 기재되는 바와 같이 요청 당사자(24A)에 의해, 수신된 키와 연관된 세트에서 식별된 하나 이상의 데이터 부분에 대한 액세스를 인에이블링한다.
단계(112)에서, 액세스 컨트롤러(20)는 수신된 키(K1)를 사용하여 수신된 키와 연관된 세트 - 이러한 경우, 세트(S1) - 를 식별한다. 이것은 제 2 데이터베이스(18)의 룩업을 수행함으로써 수행될 수 있다. 세트 및/또는 부분을 식별하는 데이터는 단계(114)에서 액세스 컨트롤러(20)에 의해 수신된다. 액세스 컨트롤러는, 이어서, 단계(116)에서, 제 1 데이터베이스(14)로부터 연관된 부분 - 이러한 경우, 부분(P2, P3 및 P6) - 을 회수한다. 부분은 단계(118)의 액세스 컨트롤러(20)에 의해 수신되며 단계(120)의 요청 당사자(24A)로 보내진다. 따라서, 요청 당사자(24A)의 부분(P2, P3 및 P6)에 대한 액세스가 인에이블링된다. 요청 당사자(24A)는 오직 부분(P2, P3 및 P6)에 액세스할 수 있으며, 이것은 키(K1)와 연관된 부분 외의 부분, 즉, 부분(PI, P4 내지 P5 그리고 P7 내지 P9)에 액세스할 수 없다.
유사한 액세스 요청은 단계(122 내지 132)에 의해 도 2에서 도시된 바와 같이 요청 당사자(24B)에 의해 만들어진다. 이러한 단계 사이의 차이점, 액세스 컨트롤러(20)에 의해 수신된 키가 키(K2)(키(K1) 대신)이며 따라서 요청 당사자(24B)에게로 돌아가는 부분은 키(K2)와 연관된 세트(S2) 내에서 식별되는 부분인 부분(PI 내지 P5 그리고 P7)인 점이다.
상기 기재된 바와 같이, 요청 당사자(24C)는 유효한 키로 수신되지 않으며, 즉, 단계(108)에서 요청 당사자(24C)에게 배포되는 키는 없다. 그러므로, 요청 당사자(24C)는 데이터 부분에 대한 액세스를 얻고자 하는, 권한이 없는 공격 당사자가 되는 것으로 가정된다. 이러한 예시에서, 요청 당사자(24C)는 유효하지 않은 키(K#)를 사용한다. 이러한 유효하지 않은 키(K#)는 예컨대 추측된 또는 무작위로 생성된 키가 될 수 있다. 유효하지 않은 키를 포함하는 요청은 단계(134)에서 액세스 컨트롤러(20)에 의해 수신되며 단계(136)에서 제 2 데이터베이스(18)에서 룩업을 수행하도록 사용된다. 그러나, 이러한 룩업은 유효한 키(K#)와 연관된 세트 또는 부분이 존재하지 않으므로 성공적이지 않다. 액세스 컨트롤러(20)는 단계(138)의 연관된 부분이 존재하지 않는다는 제 2 데이터베이스(18)로부터의 통지를 수신하며 그 결과 액세스 컨트롤러(20)는 임의의 데이터 부분에 대한 요청 당사자(24C)의 액세스를 거부한다. 이것은, 단계(140)에서, 요청 당사자(24C)에 대한 거절 메세지를 전송하는 액세스 컨트롤러를 포함하되, 이것은 필수가 아니며, 액세스 컨트롤러(20)는 응답을 발생시키지 않고도 단계(134)에서 만들어진 요청을 단순히 무시할 수 있다.
상기 내용은 실시예에 따른 데이터에 대한 액세스를 인에이블링하는 제 1 방법을 기재한다. 세트를 생성하고 키와 세트를 연관시킴으로써, 실시예는 데이터 부분의 중첩하는 부분 - 즉, 2개의 세트가 동일한 데이터 부분을 식별하는 경우 - 에 대한 액세스를 효율적으로 제어할 수 있다. 더욱이, 키가 손상될 경우, 즉, 키는 데이터에 액세스할 권한을 갖지 않는 당사자에게 알려지게 되며, 만들어질 필요가 있는 유일한 변화는 키와 세트 사이의 관련성이다. 예컨대, 새로운 키가 생성될 수 있고 손상된 키와 먼저 연관된 세트와 관련될 수 있다. 손상된 키는 무효화되고, 삭제되거나 억제될 수 있다. 이것은 재 암호화가 요구되지 않으므로 배경 섹션에서 기재된 암호화 시스템보다 더욱 효율적이다.
키를 생성하는데 사용되는 일방향 함수는, 입력을 사용하여 출력을 컴퓨팅하기 수월하되 출력을 사용하여 입력을 컴퓨팅하기는 어렵게 설계된 함수다. 이것은 선행기술에 알려져있으므로 이하에서 상세히 기재되지 않는다.
일방향 함수(키를 생성하는데 사용)는 반대 방향(역방향)보다 하나의 방향(정방향)으로 연산하기 훨씬 수월한 수학 함수이다. 예컨대, 수초 내에 정방향으로 함수를 연산하되 그 역으로의 연산은 가능 시에 수개월 또는 수년 내에 연산하는 것이 가능할 수 있다. 일방향 함수는 키 공간(키 공간은 키가 취할 수 있는 가능한 값의 범위 내에 있음) 전반에서 예측할 수 없으며 고르게 배포되는 출력을 제공할 것이다.
일방향 함수를 사용한 결과, 제 3자는 데이터에 대한 액세스를 사용하기 위하여 유효한 키를 생성할 수 없을 것이므로 유효한 키의 유일한 소스는 키 생성기(16)로부터의 배포를 통한다. 이것은 시스템에 대한 개선된 보안을 제공하는데, 키의 배포는 데이터에 대한 액세스를 제한하도록 제어되고 사용될 수 있으며 키 그 자체는 요청 당사자를 인증하여 데이터에 대한 액세스를 제어하기 위한 수단을 제공하기 때문이다. 더욱이, 키가 손상될 경우, 키와 연관된 데이터 부분의 세트만이 전체적으로 데이터보다는 공격에 취약하다. 이것은, 키가 위험에서 벗어난 요청된 데이터를 단순히 표시하는 시스템과 대조될 수 있다. 이러한 시스템은 데이터의 배포를 인에이블링할 수 있되, 공격 당사자가 요청의 형태를 변경하여 상이한 데이터 부분에 액세스하는 것을 방지할 수 없다.
적절한 일방향 함수의 예시는 난수 또는 의사 난수 생성기, 해쉬 함수(그 응용은 이하에서 더욱 상세히 기재될 예정) 및 소위 "트랩도어" 일방향 함수를 포함한다. 트랩도어 일방향 함수는 역방향이 정보의 특정 조각(piece)에 쉽게 주어지되 다른 방향으로는 어려운 일방향 함수이다. 예컨대, 공용 키 암호화 시스템은 트랩도어 일방향 함수를 기초로 할 수 있다. 공용 키는 함수의 특정 경우에 대하 정보를 제공하고 사유 키는 트랩도어에 대한 정보를 제공한다. 트랩도어를 아는 누구든 양쪽 방향으로 쉽게 함수를 컴퓨팅할 수 있되 트랩도어가 없는 임의의 당사자는 오직 정방향으로 함수를 쉽게 수행할 수 있다. 정방향은 암호화 및 서명 검증에 사용되며 역방향은 복호화 및 서명 생성 및 결정에 사용된다.
키의 사용은, 예컨대, 사용자 성명/비밀번호 기반 인증 시스템을 사용하는 시스템에 대한 다수의 장점을 제공한다. 먼저, 키는 제어를 액세스하는 것에 대한 더욱 큰 입도(granularity)를 인에이블링하고, 즉, 주어진 요청 당사자에게는 복수의 키가 제공될 수 있으며 각각은 데이터의 상이한 부분에 대한 액세스를 인에이블링한다. 이것은 이하의 표로서 설명될 수 있다. 여기서, 데이터 부분은 데이터베이스 구조의 필드를 나타낸다. 데이터베이스 구조는 레코드로 데이터를 추가로 분리하며, 각각은 부분(즉, 필드)(P1 내지 P9)을 포함한다. 부분의 세트는 이하의 표에 도시된 바와 같이 각각의 레코드에 대하여 생성될 수 있다.
그룹 ID | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 |
R1 | P1R1 | P2R1 | P3R1 | P4R1 | P5R1 | P6R1 | P7R1 | P8R1 | P9R1 |
R2 | P1R2 | P2R2 | P3R2 | P4R2 | P5R2 | P6R2 | P7R2 | P8R2 | P9R2 |
R3 | P1R3 | P2R3 | P3R3 | P4R3 | P5R3 | P6R3 | P7R3 | P8R3 | P9R3 |
그러므로, 상기 예시에 이어서, 키(K1R1)는 세트(S1R1)와 관련될 수 있으며, 이는 결국 제 1 레코드(R1)의 부분(P2RI, P3RI 및 P6RI)과 연관된다. 유사한 키(K1R2, K1R3, K2RI 등)는 다양한 레코드의 부분의 기타 세트에 대하여 생성되고 배포될 수 있다. 요청 당사자에게는 키의 하나 이상의 조합이 제공되므로 데이터에 대한 상당히 제어 가능한 액세스가 제공될 수 있다.
추가 장점은, 요청 당사자가 다른 당사자와 키를 공유하여 다른 당사자가 공유된 키와 연관된 데이터 부분에 대해 액세스하도록 인에이블링할 수 있다. 이것은 특정 데이터보다 사용자 성명 및 비밀번호를 통해 액세스가능한 모든 것에 대한 액세스를 기타 당사자에게 제공하는 것뿐만 아니라 시스템의 보안을 극심하게 손상시킬 수 있는 크리덴셜, 예컨대 완전한 사용자 명칭 및 비밀번호를 다른 당사자에게 제공할 필요없이 수행될 수 있다.
키는 높은 엔트로피를 가질 수 있다. 즉, 키를 생성하도록 사용된 일방향 함수는 높은 엔트로피 출력을 갖도록 설계된다. 엔트로피는 이러한 맥락에서 생성된 키에서의 불확실성 또는 임의성의 척도이며 여기서 존재할 수 있는 동일하게 가능한 키의 수에 관한 것이다. 높은 엔트로피는 결국, 동등하게 가능한 키의 수가, 더 작은 수의 유효 키가 실용적이지 않은 것을 발견하도록 억지 공격을 하기에는 충분히 크다는 것을 의미한다.
예컨대, 비교적 낮은 보안 시스템에서, 키는 대략 65,000개의 가능 키와 동등한 16비트 워드가 될 수 있으며 대략 50(~26)개의 키가 배포될 수 있다. 이것은 1천(103 또는 210) 대 1의 유효 키와 가능 키의 비를 부여한다. 더 높은 보안 시스템에서, 비는 10억(109 또는 230) 대 1이 될 수 있다. 예컨대, 키는 대략 1019(264), 1038(2128), 또는 1077(2256) 가능 키와 동등한 64비트, 128비트, 256비트(또는 그 이상)의 수 또는 워드가 될 수 있다. 이러한 시스템에서, 대략 10억(109 또는 230)개의 키가 배포되더라도, 가능 키와 유효 키의 비는 각각 1010(~234) 대 1, 1029(~298) 대 1 및 1068(~2226) 대 1을 초과할 것이다. 키를 생성하기 위하여 사용되는 알고리즘, 처리될 수 있는 요청의 수, 배포될 키의 수 및 큰 키를 다루기 위한 데이터를 요청하는 장치의 용량과 같은 인자는 주어진 키 길이가 시스템의 설계 목적으로 충분히 높은 엔트로피를 갖는지를 결정할 것임이 이해될 것이다.
키 길이가 충분히 높은 엔트로피를 갖는지 결정할 때 고려될 수 있는 추가 인자는 2개의 동일한 유효 키 사이의 충돌이 존재할 가능성과 관련이 있다. 이것은 다수의 유효 키의 수가 존재할 경우, 심지어 가능 키의 수가 클 경우에 발생할 수 있다. 사용될 유효 키의 수가 산출될 수 있으며 키 길이는 허용가능한 레벨 이하의 충돌의 위험을 제공하는 엔트로피를 부여하도록 선택된다.
충분한 키 엔트로피는 생일 문제(birthday problem)로 지칭되는 알려진 공격을 완화하는 한 방법이다. 예컨대, 64비트 키를 사용하는 시스템에서, 대략 100만(108 또는 227)개의 키가 유효할 경우, 동일한 2개의 유효 키의 가능성은 1% 미만이 된다. 그 키의 수의 100배, 즉, 100억개의 키(1010 또는 233)가 유효할 경우, 충돌의 가능성(즉, 2개의 동등한 유효 키가 존재함)은 99% 이상이다. 시스템의 성질, 즉, 키가 생성되는 방법 및 키와 데이터 사이의 관계에 따라 이것은 문제가 될 수 있거나 되지 않을 수 있다. 그럼에도 불구하고, 임의의 유효 키의 발견(예컨대, 추측)의 가능성은 주어진 키 길이가 시스템의 원하는 보안에 있어서 충분히 높은 엔트로피를 갖는지를 결정하는데에 관한 인자가 될 것이다.
특정 실시예에서, 예컨대, 키를 사용하여 액세스가능한 데이터의 성질은, 유효 키를 발견하는 것의 높은 가능성이 문제가 되지 않도록 배열될 수 있다. 예컨대, 키가 비디오와 같은 멀티미디어에 대한 액세스를 제어하도록 사용되는 경우, 충돌은 당사자에게 단일 비디오의 작은 섹션을 나타내는 데이터 부분에 대한 액세스를 제공할 수 있다. 이것은, 당사자가 비디오의 남은 부분에 대한 액세스를 갖지 않고 작은 값(즉 전체 비디오)을 제공받기 때문에 문제로 보이지 않을 수 있다. 그러므로, 이러한 시스템에서, 충돌의 가능성이 높을 수 있으나 키는 충분히 높은 엔트로피를 가질 수 있다. 반대로, 데이터 부분이 금융 데이터와 같은 상업적으로 민감한 데이터를 나타낼 경우, 데이터의 심지어 소량에 대한 액세스를 얻은 당사자는 보안 문제를 의미할 수 있으므로 충돌의 가능성은 키가 충분히 높은 엔트로피를 갖도록 상당히 작게 만들어져야 한다.
키 생성기(16)에 의해 사용되는 일방향 함수는 선행 기술에서 알려진 바와 같이 의사 난수 생성기가 될 수 있다. 대안적으로, 키 생성기(16)는 예컨대 디스크 드라이브의 헤드의 온도 또는 움직임과 같이 예측할 수 없는 입력을 사용하여 난수를 생성하도록 배열될 수 있다. 이것은 의사 난수보다 덜 결정적인 난수 - 종종 참 난수로도 불림 - 를 생성한다. 이러한 시스템은 선행기술에서 다시 알려져 있으며 원하는 범위의 값에 대하여 고르게 배포된 값을 생성하기 위하여 일방향 함수를 사용한다. 이러한 맥락에서, 일방향 함수는 무작위 추출기로 불린다. 양쪽 경우에, 키는 주어진 데이터 부분에 대한 액세스를 인에이블링할 것이며 키에 의해 취해진 값은 데이터 부분 그 자체와의 직접적인 관계를 갖지 않을 것이다.
대안에 있어서, 그러므로, 키를 생성하기 위하여, 키 생성기(16)는 일방향 함수에 대한 입력으로서 데이터 부분과 연관된 정보를 사용할 수 있다. 이러한 정보는 키와 관련되도록 데이터 부분의 세트 내의 데이터 부분과 관련될 수 있다. 정보는 데이터 부분의 컨텐트의 적어도 일부를 포함할 수 있고, 대안으로 또는 추가로 정보는 예컨대 메타데이터, 부분 식별자, 파일 명칭 등과 같은 데이터 부분을 식별할 수 있다.
키가 데이터 부분과 연관된 정보를 사용하여 생성될 경우에, 일방향 함수는 해쉬 함수를 포함할 수 있다. 해쉬 함수는 원하는 길이, 즉 키의 길이에 대한 입력 정보의 길이를 줄인다. 통상적으로, 해쉬 함수는 예측된 입력이 출력 범위에 대하여 고르게 맵핑되는 것을 의미하는 높은 균일도를 갖는 출력을 또한 생성할 것이다. 이것은 입력의 작은 변화가 통상적으로 출력의 크고 예측할 수 없는 변화를 야기하는 추가 효과를 갖는다.
실시예에서, 일방향 함수는 상기 언급된 해쉬 함수와 결합할 수 있는 암호화 사인 함수를 포함할 수 있다. 이 둘이 조합되는 경우, 해쉬 함수는 정보에 대하여 사용될 수 있으며 해쉬된 결과가 승인될 수 있다(signed).
데이터 부분과 연관된 정보를 사용하여 키를 생성하는 것(예컨대, 메타데이터와 같은 정보 또는 데이터 부분 그 자체의 실제 컨텐트를 식별하는 것)의 장점은 키가 이중 목적을 수행할 수 있다는 것이다. 즉, 키는 요청 당사자가 데이터 부분에 액세스하는 것을 인에이블링하는 것뿐만 아니라 액세스가 인에이블링된 데이터 부분이 참인 것을 요청 당사자가 검증하는 것을 인에이블링한다. 결과적으로, 보안이 강화되는데, 배포된 키와 회수된 데이터 부분 사이의 데이터 부분에 대한 임의의 변화가 감지가능할 것이기 때문이다.
실시예에서, 모든 데이터는 키를 생성하도록 사용될 수 있고, 이것은 결국 모든 데이터의 유효성이 검증되는 것을 인에이블링한다. 그러나, 대안적인 실시예에서, 데이터의 일부만이 키를 생성하도록 사용될 수 있고, 이 부분은 예컨대 데이터의 기타 부분보다 더욱 민감할 수 있다.
해쉬만이 사용될 경우, 요청 당사자는 수신된 데이터(키를 생성하는데 사용됨)와 연관된 정보의 해쉬와 키 자체를 비교함으로써 수신된 데이터 부분의 무결성을 검증할 수 있을 것이다. 둘이 서로 일치할 경우, 이로써 수신된 데이터 부분은 진짜인 것으로 받아들여질 수 있고 및/또는 요청자는, 키가 생성되므로 데이터가 우연히 또는 악의적으로 변경되지 않는 것에 대하여 보장 받는다. 보안을 증대시키기 위하여, 키가 할당될 수 있다. 이러한 경우에서, 요청 당사자는 데이터가 진짜인지 결정할 수 있을 뿐만 아니라, 올바른 엔티티가 키를 생성하며, 즉, 시스템은 부인 방지(non-repudiation)의 보장을 요청자에게 제공하는 것을 확인할 수 있다. 데이터를 서명하고 데이터를 검증하기 위한 예컨대 공용/사유 키의 사용가 알려져 있므로 상세하게 기재되지 않을 것이다.
추가 실시예는 데이터의 무결성을 검증하기 위한 임의의 능력을 제공하지 않고도 부분과 연관된 정보를 사용할 수 있다. 예컨대, 데이터 그 자체는 생성된 키의 불확실성을 증가시키기 위한 일방향 함수에 대한 입력으로서 단순히 제공될 수 있다. 실제로, 데이터와 연관된 정보는 상기 기재된 참 난수 생성기에 예측할 수 없는(또는 적어도 다소 예측할 수 있는) 입력을 형성한다. 이러한 경우에, 임의의 수의 일방향 함수가 사용되므로 고르게 배포된 출력이 생성된다.
특정 실시예에서, 단일 키와 연관된 데이터 부분의 각각의 주어진 세트를 갖는 것이 바람직할 수 있다. 이로써, 2개의 요청 당사자가 데이터의 부분의 세트에 대한 액세스가 허용될 경우에, 이들은 동일한 키를 수신할 것이다. 이것은 키가 요청 당사자들 사이에서 공유되도록 의도되는 경우의 시스템에서 바람직할 수 있으며 키의 수가 낮게 유지되는 것을 인에이블링한다.
그러나, 대안으로, 이러한 키를 사용하여 어떠한 데이터가 액세스되는 지에 상관없이 각각의 요청 당사자에게 상이한 키를 제공하는 것은 바람직할 수 있다. 이러한 실시예에서, 종종 솔트 값으로 불리는 부가 값은 일방향 함수로의 입력으로서 포함될 수 있다. 이것은 두 개의 상이한 키가 데이터 부분의 동일한 세트에 대하여 생성되도록 인에이블링한다. 키가 상이하기 때문에, 요청을 만드는 요청 당사자가 식별되고, 이것은 권한이 없는 요청이 유효 키를 사용하여 만들어질 경우, 키가 그로부터 얻어지는 권한을 부여받은 요청 당사자가 식별될 수 있는 것을 의미한다.
키가 데이터 부분(이하를 참조)을 확인하도록 사용되고 솔트 값을 사용하여 생성될 경우에, 요청 당사자는 연관된 솔트 값을 알 필요가 있고(예컨대, 데이터에 대한 무결성 체크가 요구됨), 그렇지 않으면 요청 당사자는 유효 해쉬를 생성할 수 없을 것이다. 이러한 경우에, 솔트 값은 키와 함께 이용가능할 수 있고, 예컨대, 솔트 값 및 키는 함께 배포될 수 있다. 다른 실시예에서, 솔트 값은 룩업 테이블에서 공개적으로 이용가능하도록 만들어질 수 있다.
대안으로, 미리 공유된 비밀 값 또는 값들은 주어진 요청 당사자에게 특정될 수 있고, 다시 말해서, 우선 배열은 어떠한 미리 공유된 비밀 값 또는 값이 사용되는 지(솔트 값과 유사한 방식이 될 수 있음)를 요청 당사자가 아는 것을 보장한다.
또한 추가 실시예에서, 솔트 값은 예컨대 솔트 값을 나타내는 추가 데이터 부분을 생성함으로써 데이터 부분과 함께 저장될 수 있다. 이하의 표에서, 2개의 상이한 키(여기서, K1a 및 K1b)는 오리지널 데이터의 동일한 세트 부분, 부분(P2, P3 및 P6)에 액세스한다. 그러나, 각각의 경우에, 데이터의 부분은 솔트 값 부분(Pa 및 Pb)과 함께 증가된다. 결과적으로, 데이터 부분을 사용하여 생성된 키는 상이하다. 이것은 이하의 표에 요약된다. 수신된 데이터의 확인은 수신된 부분이 솔트 값(Pa 또는 Pb)을 포함하기 때문에 변형 없이 가능한 것이 이해될 것이다.
키 | 솔트 값 | 부분 |
K1a | Pa | P2, P3, P6, Pa |
K1b | Pb | P2, P3, P6, Pb |
상기 언급된 바와 같이, 액세스 요청 및 응답하여 보내진 데이터의 부분이 제 2 네트워크(26)를 통해 전송될 수 있는 동안, 키는 제 1 네트워크(22)를 통해 배포될 수 있다. 이것은, 키를 배포하기 위하여 사용되는 제 1 네트워크(22)에 제 2 네트워크(26)에 비해 높은 수준의 보안이 제공될 수 있는 장점을 제공한다. 일부 실시예에서, 제 1 네트워크(22)는 키를 제공하는 대안적인 방법, 예컨대 물리적 매체상의 키의 물리적인 운송에 의해 대체될 수 있다. 어느 쪽이든, 키는 상대적으로 안전하게 유지될 수 있되, 데이터 부분에 대한 액세스는 비교적 덜 안전한 네트워크를 사용하여 인에이블링된다. 실시예에서, 제 1 네트워크(22) 및 제 2 네트워크(26) 둘 중 하나 또는 둘 다 예컨대 SSL 또는 TLS를 사용하여 암호로 보호될 수 있다.
추가 장점은, 기존 프로토콜이 송신될 수 있는 데이터의 양에 관하여 제한되고 프로토콜을 변경하기 불편하거나 비용이 들 경우 기존 또는 레거시 프로토콜을 사용하여 데이터에 대한 액세스를 인에이블링 한다는 점이다. 예컨대, 상기 기재된 제 1 네트워크는 이러한 제 1 프로토콜을 지원할 수 있다. 바이트의 수에 관하여 비교적 작은 키는 이러한 제 1 프로토콜을 사용하여 배포될 수 있되 데이터 부분은 제 2 프로토콜을 통해 송신될 수 있으며 이것은 송신될 수 있는 데이터의 형태 및 양에 관하여 구속받지 않는다. 이것은, 장치가 제 1 프로토콜에 대하여 송신되는 키를 통해 데이터 부분에 여전히 액세스할 수 있으므로 역방향 호환성을 보장한다.
키 및 부분의 연관된 세트가 제 1 데이터베이스(14) 및 제 2 데이터베이스(18) 내의 다수의 포맷에 저장될 수 있는 것이 이해될 것이다. 예컨대, 일 실시예에서, 키는 이하와 같이 부분과 직접적으로 관련될 수 있다. 그러므로, 세트를 명백하게 식별하는 정보는 저장될 필요가 없다.
키 | 부분 |
K1 | P2 |
K1 | P3 |
K1 | P6 |
K2 | P1 |
K2 | P2 |
K2 | P3 |
K2 | P4 |
K2 | P5 |
K2 | P7 |
다른 실시예에서, 관계 데이터 베이스 구조가 사용될 수 있고, 예컨대, 제 1 표는 키를 세트와 연관시킬 수 있다:
그리고 제 2 표는 관련 세트를 부분과 연관시킬 수 있다:
이러한 후자의 구조는, 단일 표의 단일 필드는 키가 손상되거나 무효화 될 필요가 있을 경우 변경될 필요가 있다는 장점을 제공한다. 동일하게, 새로운 키가 발생될 때, 단일 레코드만이 업데이트될 필요가 있다. 특정 실시예에서, 세트와 데이터 부분을 연관시키는 제 2 표는 데이터 부분 그 자체, 즉, 제 1 데이터베이스(14)에서 제공될 수 있다. 이러한 경우에, 상기 단계(114 및 126)의 제 2 데이터베이스로부터의 응답은 키가 유효할 경우 세트의 식별을 얻을 수 있으며 단계(116 및 128)의 요청은 데이터의 주어진 세트를 위한 것일 수 있다.
상기 방법에서, 주어진 요청이 요청에서 제공된 키와 연관된 모든 데이터 부분의 제공을 야기하는 것에 반하여, 특정 실시예는 요청 당사자가 요청을 수행할 때 부분을 식별하는 것을 허용할 수 있다. 그러므로, 예컨대, 단계(110)에서, 요청 당사자(24A)는 키(Kl)를 제공하고, 부분(P2)만을 요청할 수 있다. 결과적으로, 단계(120)에서, 액세스 컨트롤러(20)는 요청 당사자(24A)에게 오직 데이터 부분(P2)만을 제공할 수 있다.
도 2는 키를 사용하여 데이터에 대한 액세스를 인에이블링하는 제 1 방법을 도시하되, 도 3 내지 도 5는 상기 기재된 방법과 통합되거나 이를 대체할 수 있는 변형을 설명하기 위하여 사용될 것이다.
도 3은 결합된 키를 활용하는 방법을 도시한다. 이러한 방법은 이하에서 상세히 기재되되, 개략적으로, 방법은 특정 부분이 함께 동작하는 2명 이상의 당사자에 의해서만 액세스되도록 인에이블링한다. 이것은 양쪽 당사자가 액세스를 인에이블링하기 위하여 그들의 키를 제공하도록 요구되므로 더욱 민감한 데이터에 대한 보안을 증진시킨다.
단계(102 내지 108), 데이터 부분의 세트의 생성 및 키의 관련성은 상기 기재된 방식과 유사하게 진행된다. 그러나, 이러한 경우에, 3개의 키는 이하와 같이 생성될 수 있다:
키 | 세트 | 부분 |
K1 | S1 | P2, P3, P6 |
K2 | S2 | P1 내지 P5, P7 |
K3 | S3 | P8, P9 |
제 3 키(K3)는 제 1 및 제 2 키들의 조합에 기초한다. 제 3 키는 제 1 키 및 제 2 키의 병합 또는 비트 간 배타적 논리합(XOR)과 같이 예컨대 제 1 및 제 2 키의 함수로서 생성될 수 있다. 일방향 함수를 포함한 기타 함수가 사용될 수 있는 것이 이해될 것이다. 대안으로, 제 3 키가 생성되어서 예컨대 제 3 키를 파트로 분할함으로써 또는 제 3 키를 사용하여 제 1 키 및 제 2 키를 계산함으로써 제 1 및 제 2 키를 생성하기 위해 그 자체가 사용될 수 있다. 어떤 방법이 사용되어도, 제 3 키는 제 1 및 제 2 키의 지식(knowledge)으로부터 생성될 수 있다.
상기 도시된 바와 같이, 제 3 키는 부분(P8 및 P9)을 식별하는 제 3 세트(S3)와 연관된다. 이러한 예시에서, 제 1 키(K1) 및 제 2 키(K2)는 개별적으로 세트(S1 및 S2)와 관련되되, 이것은 필수 요건이 아니며 제 1 및 제 2 키(K1 및 K2)의 하나 또는 양쪽은 데이터 부분의 임의의 세트와 관련될 수 없다. 실제로, 제 3 키가 데이터 부분의 특정 세트에 액세스를 제공하는 동안, 이것은 수신인에게 배포될 필요가 없다. 대신에, 이것은, 기타 키의 특정 조합을 나타내고; 기타 키는 수신인에게 배포되며 이러한 키는 이러한 제 3 키에 연관된 데이터 부분을 액세스 컨트롤러(20)가 리턴하도록 요구된다. 이에 관하여, 제 1 및 제 2 키는 제 3 키와 연관된 특정 데이터 세트에 대한 액세스를 위한 대용물로서의 기능하는 것으로 고려될 수 있다.
따라서, 제 1 및 제 2 키는 단계(108)에서의 배포에 이용가능하다. 구체적으로, 이러한 예시에서, 키(K1)는 요청 당사자(24A)가 이용 가능하며 키(K2)는 요청 당사자(24B)가 이용 가능하다. 제 3 키는 배포되지 않으며, 즉, 요청 당사자는 제 3 키를 수신하지 않을 것이다.
단계(108)의 제 1 및 제 2 키의 배포를 따라, 요청 당사자(24A 및 24B)는 키를 결합하고 결합된 키를 사용하여 액세스를 요청하도록 협조한다. 이것을 수행하는 방법이 도 3에 도시된다. 이러한 예시에서, 액세스 컨트롤러(20)는 액세스가 다수의 키를 사용하여 요청될 것임을 식별하는 것이 가정될 것이다. 이것은 멀티 키 요청이 주어진 요청에서 만들어지는 것을 표시하는 당사자들 중 하나에 응답하여 또는 다수의 키를 사용해서 오직 접근될 수 있는 데이터 부분을 식별하는 요청에 의해 가능하다.
따라서, 단계(146)에서, 요청 당사자(24A)는 액세스 컨트롤러(20)에 키(K1)를 포함하는 요청을 전송한다. 게다가, 단계(148)에서, 요청 당사자(24B)는 또한 액세스 컨트롤러(20)에 키(K2)를 포함하는 요청을 전송한다. 양쪽 키를 수신하면, 액세스 컨트롤러는 단계(150)에서 제 1 및 제 2 키(K1 및 K2)를 사용하여 제 3 키(K3)를 생성할 수 있다. 이러한 제 3 키(K3)는 이로써 단계(112 및 124)에 대한 유사한 단계에서 제 2 데이터베이스(18)로 전송된다. 키(K3)와 연관된 데이터의 세트(세트(S3))가 존재하기 때문에, 단계(154)의 액세스 컨트롤러는 제 2 데이터베이스(18)로부터 세트(S3)를 식별하는 데이터 또는 그의 부분(부분(P8 및 P9))을 수신한다. 단계(156)의 액세스 컨트롤러는 제 1 데이터베이스(14)로부터 부분(P8 및 P9)을 회수하며 요청 당사자(24A 및 24B)의 하나 또는 양쪽에 부분을 제공한다. 그러므로, 오직 키를 조합함으로써, 2명의 요청 당사자는 부분(P8 및 P9)에 대한 액세스를 얻을 수 있다.
키를 조합하는 것에 더하여, 요청 당사자는 독립적으로 행동하고 당사자에게 배포된 개별적인 키와 연관된 임의의 부분을 회수할 수 있다. 이것은, 상기 언급된 단계(110 내지 120)와 동일한 단계(110 내지 120)의 도 3에서 도시되고, 키(K1)를 사용하여 부분(P2, P3 및 P6)에 액세스하는 제 1 요청 당사자(24A)를 도시한다. 상기 언급된 바와 같이, 키(K1 및 K2)는 데이터 부분의 임의의 세트와 관련될 필요가 없다. 따라서, 대안적인 실시예에서, 키(K1)를 사용하는 요청은 상기 단계(134 내지 140)에 기재된 유효하지 않은 키에 대한 거절(rejection)을 초래할 수 있다.
따라서, 실시예는 개별적인 당사자뿐만 아니라 함께 동작하는 당사자에게 데이터의 부분에 대한 선택적인 액세스를 인에이블링하기 위한 효율적인 시스템을 제공한다. 2명의 당사자의 동작을 조정하기 위하여, 키는 액세스 컨트롤러(20)에 의해 요청 당사자 중 하나 또는 다른 하나로부터 요청될 수 있다. 예컨대, 제 1 요청 당사자, 예컨대 요청 당사자(24A)는 데이터에 대한 액세스를 요청할 수 있으며 또한 요청 당사자(24B)가 키를 제공하도록 요구되는 것을 식별할 수 있다. 결과적으로, 액세스 컨트롤러(20)는 키(K2)를 요청하기 위하여 요청 당사자(24B)와 통신할 수 있다. 대안으로, 요청 당사자(24A)는 예컨대 부분(P8 및/또는 P9)에 대한 액세스를 요청할 수 있으며, 액세스 컨트롤러는 적절한 키를 요청하기 위하여 제 2 요청 당사자(24B)에 접촉하기 위하여 이것을 인에이블링하는 데이터를 저장할 수 있다. 당사자들 사이에서 통신하여 양쪽에 키를 제공하는 다른 방법은 당업자에게 명백할 것이다.
그러므로, 제 2 요청 당사자(예컨대, 당사자(24B))에게는 제 1 당사자에 대한 액세스를 허용하거나 거부할 능력이 제공될 수 있다(또는 그 반대도 가능하다). 이로써, 실시예는, 유저가 적어도 한 명의 다른 유저를 위하여 데이터에 대한 액세스를 제어하는 시나리오에서 사용될 수 있다. 실질적으로, 제 2 요청 당사자는 복수의 멤버 당사자들 중 임의의 당사자에 대하여 액세스를 승인하거나 거절할 능력을 갖는 관리자가 될 수 있다. 이러한 실시예에서, 단일 관리 키는 상이한 멤버 키와 결합될 때 데이터의 부분의 상이한 세트에 대한 액세스를 승인할 수 있다. 이로써, 멤버는 데이터 부분의 주어진 세트의 식별자로서 고려될 수 있으며 관리자 키는 이러한 데이터 부분에 대한 액세스 제어 키로서 고려될 수 있다.
특정 실시예에서, 키를 결합하기 위하여 사용되는 함수는, 요청 당사자(24A 및 24B)가 개별 키(K1 및 K2)의 지식을 갖더라도 이들이 하나의 키만을 수신할 경우 키(K3)를 생성할 수 없도록 배열될 수 있다. 제어의 이러한 레벨은 키(K3)를 생성하기 위하여 액세스 컨트롤러(20) 내의 일방향 함수와 같은 함수를 사용함으로써 실행될 수 있다. 이것은, 2명의 당사자가 데이터 부분(P8 및 P9)에 대한 액세스를 얻기 위하여 액세스 컨트롤러(20)에 키(K1 및 K2)를 개별적으로 제공할 필요가 있다는 장점을 갖는다.
대안에서, 키(K3)는 키(K1 및 K2)의 계산된 조합이 될 수 있다. 이러한 실시예에서, 요청 당사자(24A 및 24B)의 하나 또는 양쪽은 다른 하나로부터 키를 수신할 수 있다. 또 다른 당사자로부터 키를 수신한 요청 당사자는 데이터에 대한 액세스의 요청에서 사용되는 키(K3)를 생성하기 위하여 키를 결합할 수 있다. 이러한 당사자는, 당사자에게 배포에서 키(K3)가 제공되는 것처럼 데이터 부분(P8 및P9)에 액세스할 수 있을 것이다. 이러한 실시예는, 키(K3)와 동일한 것을 사용하여 단일 액세스 요청만이 액세스 데이터에 요구되며 키에 대한 또 다른 당사자에게 요청을 만드는 액세스 컨트롤러(20)를 회피한다는 장점을 제공한다. 사용된 시스템이 시스템의 의도된 목적에 따라 조절될 수 있는 것이 이해된다.
상기 실시예는 데이터 부분과 연관된 키(K3)에 관하여 기재되었지만, 액세스 컨트롤러(20) 및 제 2 데이터베이스(18)는, 다수의 키를 포함하는 액세스 요청 또는 요청들이 매개의 키, 즉, 키(K3)의 실제로 요구되는 결정 없이 승인되는 액세스를 야기할 수 있도록 배열되는 것이 이해될 것이다. 키의 수는 감소하되, 키(K3)와 같은 결정된 키의 사용은, 데이터베이스(18)가 다수의 키가 요구되는 것을 표시하는 임의의 추가 정보를 저장할 필요가 없으므로 데이터베이스(18)의 배열이 간소화된다는 장점을 제공한다는 장점을 갖는다.
특정 실시예에서, 결합될 키는 상이한 요청 당사자에게 보내질 수 있다. 그러나, 이것은 필수 요건이 아니며 키는 단일 요청 당사자에게 보내질 수 있다. 키는 상이한 통신 시스템 - 예컨대 하나의 키는 SMS를 통해 전송되고 다른 키는 이메일을 통해 전송됨 - 을 사용하거나 상이한 시점에 보내질 수 있다. 이로써, 실시예는 더욱 복잡한 시나리오에서 당사자에 대한 액세스를 인에이블링하도록 사용될 수 있다.
특정 실시예에서, 키는 오직 제한된 횟수로 사용될 수 있다. 이러한 실시예의 2개의 예시는 도 4 및 도 5에 기재된다. 양쪽 예시에서, 주어진 키는 한 번만 사용될 수 있되 이것은 필수 요건이 아니며 주어진 키는 여러 번이되 제한된 횟수로 사용될 수 있다.
제 1 예시는 도 4에 도시된다. 단계(102 내지 108)에서 마찬가지로, 부분은 제 1 데이터베이스(14)에 저장되며 키가 배포된다. 상기 기재된 방법에 의해, 요청 당사자(24C)는 키를 수신하지 않는다. 그러나, 이러한 실시예의 시나리오에서, 요청 당사자(24C)는 요청 당사자(24A)의 시스템을 손상시킨다. 이처럼, 요청 당사자(24C)는 요청 당사자(24A)에 의해 사용될 때 키(K1)의 카피를 얻을 수 있다. 이것은 단계(110 및 110')에 도시된다. 단계(110)에서, 상기 단계(110)에서와 마찬가지로, 요청 당사자(24A)는 액세스 컨트롤러(20)에 키(K1)를 포함하는 요청을 보낸다. 그러나, 또한, 키(K1)는 요청 당사자(24C)에 의해 단계(110')에서 수신된다.
단계(112 내지 120)는 상기 기재된 동일한 수의 단계를 따르며 당사자(24A)가 부분(P2, P3 및 P6)에 액세스할 수 있게 한다. 그러나, 이러한 부분에 대한 액세스의 승인에 따라, 액세스 컨트롤러는 키(K1)가 사용되었음을 키 생성기(16)에 알리는 메세지를 키 생성기(16)에 전달한다. 이것은 단계(162)로서 도시된다. 단계(162)의 메세지에 응하여, 키 생성기는 세트(S1)와 관련될 새로운 키를 생성한다. 단계(164)에서, 제 2 데이터베이스(18)는 세트(S1)와 이로써 부분(P2, P3 및 P6)과 연관된 키(K4)를 반영하기 위하여 업데이트된다. 키(K1)는 무효화되며 제 2 데이터베이스(18)로부터 제거되거나 그 안에서 억제될 수 있다. 또한, 키 생성기(16)는 단계(166)에 의해 도시된 바와 같이 요청 당사자(24A)에 대한 배포에 이용가능한 새로운 키(K4)를 생성한다. 실제로, 키(K1)는 키(K4)로 교체된다. 키(K4)는 상기 기재된 바와 같이 키(K1)에 예컨대 상이한 솔트 값을 사용하여 생성될 수 있다. 솔트 값은 데이터와 함께 즉, 부분(예컨대, Pa 및 Pb)으로서 저장될 경우에, 데이터는 새로운 솔트 값을 포함하도록 변형될 수 있다.
특정 실시예에서, 새로운 키(K4)는 요청 당사자(24A)에 의해 데이터 부분의 액세스 전에 생성될 수 있다. 결과적으로, 새로운 키는 데이터 부분과 함께 요청 당사자가 이용할 수 있도록 될 수 있다. 다시 말해서, 단계(120 및 166)는 결합될 수 있다.
상기 기재된 바와 같이, 그 사이에(단계(110')), 요청 당사자(24C)는 키(K1)에 대한 액세스를 얻는다. 그러므로, 요청 당사자(24C)는 단계(168)에서 액세스 컨트롤러에 키(K1)를 포함하는 요청을 전송함으로써 데이터에 액세스하기 위하여 이러한 키를 사용하려고 시도한다. 키(K#)에 대하여 상기 단계(136 내지 140)에 의해서와 마찬가지로, 키(K1)는 유효하지 않으므로 결과적으로 요청도 거절된다.
이로써, 상기 방법은 시스템의 보안을 개선하고 인터셉트되거나 도난된 키를 사용하여 저장된 데이터에 대한 액세스를 얻기 위하여 당사자를 공격하는 기회를 줄이기 위하여 사용될 수 있다.
키의 교체는, 다수의 키가 사용된 키를 교체하기 위하여 데이터 부분의 특정 세트에 대한 액세스를 위하여 요구되는, 상기 기재된 시스템과의 조합에서 사용될 수 있다. 실시예에서, 멀티 키 요청에 대하여 사용된 키의 서브셋만이 교체될 수 있다. 예컨대, 상기 실시예에서, 각각의 요청은 관리자가 교체되는 것을 야기하되 사용자가 교체되는 것은 야기하지 않는다.
키는 오직 한 번만 사용되는 추가 방법이 도 5에서 도시된다. 이러한 방법은, 복수의 키 - 각각은 단일 세트와 관련됨 - 가 먼저 생성되고 함께 배포되는 도 4에서 도시된 방법과 상이하다. 이것은 단계(106' 및 108')로 표시되고, 여기서, 키(K1.1, K1.2, ... K1.N)는 세트(S1)와 모두 관련되며 요청 당사자(24A 및 24B)에게 배포된다. 키(K1.1, K1.2, ... K1.N)의 각각은 상이한 솔트 값을 사용하여 생성될 수 있다.
단계(110 내지 120)에서, 상기 동일한 번호가 붙은 단계에서와 마찬가지로, 키(K1.1)는 이 키와 연관된 데이터 부분, 즉, 세트(S1)의 데이터 부분에 대한 액세스를 요청하기 위하여 요청 당사자(24A)에 의해 사용된다. 그 전과 마찬가지로, 데이터 부분에 대한 액세스는 단계(120)에서 승인된다. 그러나, 단계(120)에 따라서, 단계(176)에서, 액세스 컨트롤러(20)는 지금 사용되는 것과 같이 키(K1.1)를 무효화하고, 삭제하거나 억제하기 위하여 제 2 데이터베이스(18)에 메세지를 보낸다.
실질적으로, 단계(178)에서, 키(K1.1, K1. 2 등)에 상응하는 세트(S1)의 데이터 부분을 요청하기 위한 추가 시도가 수행된다. 이러한 예시에서, 요청 당사자(24A 및 24B)에게는 키의 동일한 세트가 제공된다. 더욱이, 요청 당사자(24B)는 키(K1.1)를 인지하지 않는다. 더욱이, 단계(178)에서, 요청 당사자(24B)는 키(1.1)를 사용하여 데이터에 대한 액세스를 요청한다. 그러나, 키(K1.1)는 더 이상 유효하지 않으므로, 이러한 요청은 상기 단계(134 내지 140)에 기재된 요청과 유사한 방식으로 다뤄지며 거절된다. 즉, 요청이 상기 단계(110')에서 기재된 바와 같이 요청 당사자(24A)로부터 이것을 인터셉트함으로써 키(K1.1)를 얻은 요청 당사자(24C)로부터 기인할 경우, 이것이 키(K1.1)를 사용하여 임의의 추가 요청을 다루는 방법이 되는 것이 이해될 것이다.
그러나, 요청 당사자(24B)는 복수의 적절한 키, 즉 키(K1.2) 등을 인지하기 때문에, 요청 당사자(24B)는 추가 적절한 키를 사용하여 추가 요청을 만들 수 있다. 이것은 단계(122)에서 도시되며, 키(K1.2)는 요청에서 사용된다. 이러한 요청은 상기 오리지널 요청(122)에 따라 효율적으로 다뤄지며, 단계(122 내지 132)에 뒤따라, 액세스는 키(K1.2)와 연관된 데이터의 부분에 대하여 인에이블링된다. 상기 단계(176)에 따라, 단계(132)에는 키(K1.2)가 단계(186)에 의해 도시되는 바와 같이 제 2 데이터베이스(18)에서 제거되거나 억제되는 것이 이어질 수 있다.
상기 내용은 오직 2개의 키가 사용되는 것으로 기재하였으나, 임의의 키가 발행될 수 있으며 임의의 당사자는 하나가 허가되기 전에 더 많은 수의 키를 사용하여 요청을 만들어야 할 수 있다. 임의의 주어진 요청 당사자는 사용된 키의 기록을 유지할 수 있는 것이 이해될 것이다. 그러므로, 예컨대 요청 당사자(24A)가 데이터의 추가 요청을 만들 경우, 이것은 키(K1.1)가 먼저 사용되는 것을 아는 것과 마찬가지로 키(K1.2)를 갖는 제 1 시도를 수행할 것이다. 키(K1.2)가 요청 당사자(24B)에 의해 사용되는 바와 같이 거절되므로 요청 당사자는 요청이 승인될 때 까지 키(K1.3 등)를 사용해야 하는 것이 이해될 것이다.
상기 실시예는 2명의 당사자에게 동일한 키가 제공되는 것과 관하여 기재되었으나, 기타 실시예에서, 당사자에게는 상이한 키가 제공될 수 있되 이러한 키를 사용하는 데이터의 동일한 세트에 대한 액세스가 역시 허용된다. 이것은, 당사자가 주어진 키를 사용하는 기타 당사자를 기초로 하는 액세스가 거부되는 것을 회피한다.
대안적인 상세 및 변형
상기 실시예가 별도로 기재되었으나, 일 실시예로부터의 특징은 다른 실시예로부터의 특징과 결합될 수 있음이 이해될 것이다. 예컨대, 도 3에서 도시된 결합된 키 실시예는 예컨대 기재된 바와 같이 단 한 번만 키를 사용하기 위한 메커니즘과 결합될 수 있다.
상기 기재된 실시예들은 전체로서 시스템의 보안을 증대시키기 위하여 사용자 성명 및 비밀번호를 사용하여 액세스 제어의 기타 형태, 예컨대 인증과 결합될 수 있다. 이처럼, 키는 사용자 성명과 연관될 수 있으므로 그 사용자와 연관된 키를 소유한 권한이 부여된 사용자에게만 승인될 것이다.
도 2 내지 도 4에서 상기 기재된 실시예에서, 단일 키는 주어진 요청 당사자를 위한 시점에 제공된다. 그러나, 기타 실시예에서, 단일 키는 다수의 당사자에게 제공될 수 있다. 대안으로 또는 추가로, 다수의 키는 단일 세트와 연관되며 이 키는 다수의 요청 당사자에게 제공된다. 이것은 당사자가 동일한 데이터에 액세스하도록 인에이블링하되 로그가 유지되며 당사자는 주어진 액세스 요청을 행한다.
도 3을 참조하여 기재된 멀티 키에서, 주어진 부분의 데이터는 키의 상이한 결합을 사용하여 액세스가능 할 수 있다. 결과적으로 제 1 요청 당사자는 제 1 키를 사용하여 데이터에 대한 액세스를 요청할 수 있다. 이에 응하여, 액세스 컨트롤러는 복수의 제 2 요청 당사자들 중 하나로부터 제 2 키를 요청할 수 있다. 제 2 요청 당사자들 중 임의의 하나로부터의 응답(키를 포함)은 데이터에 대한 제 1 부분 액세스를 승인한다. 이로써, 키는 액세스 요청을 확인하기 위한 방법으로서 사용될 수 있다.
도 4 및 도 5에서, 키는 제한된 횟수로 사용 가능한 것으로 기재된다. 그러나, 이것은 키가 무효화되고, 삭제되거나 억제되는 유일한 이유가 될 수 없다. 예컨대, 키는 시간의 특정 기간동안 유효성을 가질 수 있으며, 그 이후 이것은 무효화되며 대용물이 배포된다. 실시예에서, 시간 기반 폐지는 한정된 사용 폐지와 결합될 수 있으며, 이는 키가 한번 사용되면, 임의의 시간 동안 사용될 수 있고 이 시간 이후에 무효화되는 주어진 시간의 기간동안 유효한 것을 의미한다.
상기 내용은 한정된 수의 키, 통상적으로 2개의 키가 제공되는 것으로 통상적으로 기재되었으나, 실시예는 더 많은 키를 활용하는 시스템에 적용가능하다. 이것은 다수의 세트 또는 다수의 당사자에 대하여 제어될 액세스를 인에이블링할 수 있다. 더욱이, 2개 이상의 키는 도 3과 관련하여 기재되는 결합된 액세스를 위하여 결합될 필요가 있을 수 있다.
액세스 시스템(10) 또는 노드 또는 소자(12 내지 20)는 선행기술에서 알려진 바와 같이 컴퓨팅된 하드웨어를 포함할 수 있다. 완성도를 위하여, 상기 기재된 방법 단계를 수행할 수 있는 예시적인 컴퓨팅된 시스템(50)이 도 6을 참조하여 이제 기재될 것이다. 이러한 컴퓨팅된 시스템은 전체로서 액세스 시스템(10)의 함수를 수행하도록 사용될 수 있거나 다수의 컴퓨팅된 시스템(50)이 수행될 수 있으며, 각각 상기 기재된 노드(12 내지 20)의 하나 이상의 함수를 수행한다.
컴퓨터화된 시스템(50)은 CPU 또는 CPU의 어레이와 같은 처리 시스템(51)을 포함한다. 처리 시스템(51)은, 예컨대 고체 상태(SSD) 메모리 또는 하드 디스크 드라이브 메모리인 휘발성 메모리(예컨대, RAM) 또는 비휘발성 메모리와 같은 메모리(52)에 연결된다. 메모리(52)는 컴퓨터로 판독 가능한 명령(53)을 저장한다. 시스템(50)은 또한 다른 네트워크 노드로부터 데이터를 송신 및/또는 수신할 수 있는 인터페이스(54)를 포함할 수 있다.
사용 시, 처리 시스템(51)은 메모리(52)로부터 컴퓨터 명령(53)을 회수할 수 있으며, 이들 명령을 수행할 수 있어서, 앞서 기재한 단계를 실행할 수 있다. 그렇게 할 때, 처리 시스템(51)은 인터페이스가 필요에 따라 데이터를 송신 또는 수신하게 할 수 있다. 이 데이터 자체는 메모리(52)에 저장될 수 있으며, 예컨대 인터페이스를 통해 송신되는 것과 같이 필요에 따라 회수될 수 있다.
임의의 하나의 실시예와 연계하여 기재한 임의의 특성이 단독으로 또는 기재한 다른 특성과 결합하여 사용될 수 있음과, 실시예 중 임의의 다른 것 또는 실시예 중 임의의 다른 것의 임의의 조합의 하나 이상의 특성과 결합하여 사용될 수 있음도 이해해야 할 것이다. 더 나아가, 앞서 기재하지 않은 등가물 및 변경은, 수반하는 청구범위에 한정된 본 발명의 범위에서 벗어나지 않고 이용될 될 수도 있다. 청구범위의 특성은 청구범위에 명시한 것들이 아닌 결합으로 결합될 수 있다.
Claims (23)
- 요청 당사자(requesting party)에 의한 데이터에 대한 액세스를 인에이블링하는 방법으로서, 상기 방법은:
복수의 데이터의 세트를 생성하는 단계;
일방향(one-way) 함수를 사용하여 복수의 상기 세트 중 개별 세트와 각각 연관된 복수의 키를 생성하는 단계 - 데이터의 상기 세트와 연관된 정보는 상기 세트와 연관된 키를 생성할 때 상기 일방향 함수에 대한 입력으로서 사용됨 - ;
하나 이상의 요청 당사자에 대한 배포에 이용가능하도록 키를 배열하는 단계;
상기 요청 당사자로부터 키를 포함하는 데이터 액세스 요청을 수신하는 단계; 및
수신된 키를 기초로 상기 요청 당사자에 의한 상기 세트의 데이터에 대한 액세스를 인에이블링하는 단계를 포함하는, 데이터 액세스 인에이블링 방법. - 청구항 1에 있어서, 각각의 세트는 하나 이상의 데이터 부분을 식별하며, 적어도 하나의 데이터 부분은 2개 이상의 세트에서 식별되는, 데이터 액세스 인에이블링 방법.
- 청구항 1 또는 청구항 2에 있어서, 데이터의 세트와 연관된 상기 정보는 데이터의 상기 세트의 컨텐트를 식별하는, 데이터 액세스 인에이블링 방법.
- 청구항 1 또는 청구항 2에 있어서, 데이터의 세트와 연관된 상기 정보는 데이터의 상기 세트의 컨텐트의 적어도 일부를 포함하는, 데이터 액세스 인에이블링 방법.
- 청구항 1 내지 청구항 4 중 어느 한 항에 있어서, 상기 일방향 함수에 대한 입력으로서 하나 이상의 솔트 값(salt value)을 사용하는 단계를 포함하는, 데이터 액세스 인에이블링 방법.
- 청구항 5에 있어서, 주어진 키를 사용하여 액세스가능한 세트의 데이터로서 주어진 상기 키를 생성하도록 사용되는 솔트 값을 저장하는 단계를 포함하는, 데이터 액세스 인에이블링 방법.
- 청구항 1 내지 청구항 6 중 어느 한 항에 있어서, 상기 일방향 함수는:
해쉬 함수;
암호화 부호 함수;
난수 생성기; 및
의사(pseudo) 난수 생성기 중 하나 이상을 포함하는, 데이터 액세스 인에이블링 방법. - 청구항 1 내지 청구항 7 중 어느 한 항에 있어서, 상기 키는 높은 엔트로피를 갖는, 데이터 액세스 인에이블링 방법.
- 청구항 1 내지 청구항 8 중 어느 한 항에 있어서, 액세스는 주어진 키를 포함하는 제한된 수의 요청에 대하여 인에이블링되는, 데이터 액세스 인에이블링 방법.
- 청구항 9에 있어서, 주어진 세트와 연관된 복수의 키를 생성하는 단계를 포함하는, 데이터 액세스 인에이블링 방법.
- 청구항 9 또는 청구항 10에 있어서, 주어진 세트와 연관된 제 1 키를 포함하는 요청을 수신하는 것에 응하여 주어진 세트와 연관된 제 2 키를 생성하는 단계를 포함하는, 데이터 액세스 인에이블링 방법.
- 청구항 1 내지 청구항 11 중 어느 한 항에 있어서,
상기 세트와 복수의 키를 연관시키는 단계;
배포에 이용가능하도록 상기 복수의 키를 배열하는 단계; 및
미리 결정된 기준이 충족됨에 따라 데이터의 상기 세트에 대한 액세스를 인에이블링하는 단계 - 상기 미리 결정된 기준은 상기 복수의 키 중 둘 이상의 키의 수신에 따름 - 를 포함하는, 데이터 액세스 인에이블링 방법. - 청구항 1 내지 청구항 12 중 어느 한 항에 있어서,
제 1 키, 제 2 키 및 제 3 키를 생성하는 단계 - 상기 제 3 키는 적어도 상기 제 1 키 및 상기 제 2 키의 결합과 관련됨 - ;
특정 상기 세트와 상기 제 3 키를 연관시키는 단계;
배포에 이용가능하도록 상기 제 1 키 및 상기 제 2 키를 배열하는 단계; 및
상기 제 1 키 및 상기 제 2 키의 결합 또는 상기 제 3 키 중 어느 하나의 수신에 따라 특정 상기 세트에 대한 액세스를 승인하는 단계를 포함하는, 데이터 액세스 인에이블링 방법. - 청구항 13에 있어서, 개별적인 추가 세트와 상기 제 1 키 및 상기 제 2 키를 연관시키는 단계를 포함하는, 데이터 액세스 인에이블링 방법.
- 청구항 1 내지 청구항 14 중 어느 한 항에 있어서, 룩업 테이블의 세트를 식별하는 정보와 키를 저장하는 단계를 포함하는, 데이터 액세스 인에이블링 방법.
- 청구항 15에 있어서, 상기 룩업 테이블의 수신된 키와 연관된 세트의 데이터를 식별하는 단계를 포함하는, 데이터 액세스 인에이블링 방법.
- 청구항 1 내지 청구항 16 중 어느 한 항에 있어서, 제 1 프로토콜을 사용하여 키를 전송해서 상기 키를 배포에 이용가능하게 하는 단계를 포함하고, 세트의 데이터의 적어도 일부가 제 2의 상이한 프로토콜을 통한 통신에 적합한, 데이터 액세스 인에이블링 방법.
- 청구항 17에 있어서, 제 2 프로토콜을 사용하여 데이터에 대한 액세스를 인에이블링하는 단계를 포함하는, 데이터 액세스 인에이블링 방법.
- 데이터에 액세스하고 데이터를 확인(validate)하는 방법으로서, 상기 방법은:
키를 수신하는 단계;
수신된 키를 사용하여 데이터 액세스 요청을 형성하는 단계;
상기 요청에 응하여 데이터를 수신하는 단계;
일방향 함수를 사용하여 수신된 데이터와 연관된 정보로부터 확인 데이터(validation data)를 생성하는 단계; 및
상기 확인 데이터를 수신된 키로부터 얻은 데이터에 비교함으로써 수신된 데이터를 확인하는 단계를 포함하는, 데이터에 액세스하고 데이터를 확인하는 방법. - 요청 당사자에 의한 데이터에 대한 액세스를 인에이블링하는 장치로서, 상기 장치는:
복수의 데이터의 세트를 생성하고;
일방향 함수를 사용하여 복수의 상기 세트 중 개별 세트와 각각 연관된 복수의 키를 생성하고 - 데이터의 상기 세트와 연관된 정보는 상기 세트와 연관된 키를 생성할 때 상기 일방향 함수에 대한 입력으로서 사용됨 - ;
하나 이상의 요청 당사자에 대한 배포에 이용가능하도록 키를 배열하고;
상기 요청 당사자로부터 키를 포함하는 데이터 액세스 요청을 수신하고; 그리고
수신된 키를 기초로 상기 요청 당사자에 의한 상기 세트의 데이터에 대한 액세스를 인에이블링하도록 구성된, 데이터 액세스 인에이블링 장치. - 데이터에 액세스하고 데이터를 확인하는 장치로서, 상기 장치는:
키를 수신하고;
수신된 키를 사용하여 데이터 액세스 요청을 형성하고;
상기 요청에 응하여 데이터를 수신하고;
일방향 함수를 사용하여 수신된 데이터와 연관된 정보로부터 확인 데이터를 생성하며;
상기 확인 데이터를 수신된 키로부터 얻은 데이터에 비교함으로써 수신된 데이터를 확인하도록 구성되는, 데이터에 액세스하고 데이터를 확인하는 방법. - 요청 당사자에 의한 데이터에 대한 액세스를 인에이블링하는 방법을 수행하도록 배열된 컴퓨터 프로그램으로서, 상기 방법은:
복수의 데이터의 세트를 생성하는 단계;
일방향 함수를 사용하여 복수의 상기 세트 중 개별 세트와 각각 연관된 복수의 키를 생성하는 단계 - 데이터의 상기 세트와 연관된 정보는 상기 세트와 연관된 키를 생성할 때 상기 일방향 함수에 대한 입력으로서 사용됨 - ;
하나 이상의 요청 당사자에 대한 배포에 이용가능하도록 키를 배열하는 단계;
상기 요청 당사자로부터 키를 포함하는 데이터 액세스 요청을 수신하는 단계; 및
수신된 키를 기초로 상기 요청 당사자에 의한 상기 세트의 데이터에 대한 액세스를 인에이블링하는 단계를 포함하는, 컴퓨터 프로그램. - 데이터에 액세스하고 데이터를 확인하는 방법을 수행하도록 배열된 컴퓨터 프로그램으로서, 상기 방법은:
키를 수신하는 단계;
수신된 키를 사용하여 데이터 액세스 요청을 형성하는 단계;
상기 요청에 응하여 데이터를 수신하는 단계;
일방향 함수를 사용하여 수신된 데이터와 연관된 정보로부터 확인 데이터를 생성하는 단계; 및
상기 확인 데이터를 수신된 키로부터 얻은 데이터에 비교함으로써 수신된 데이터를 확인하는 단계를 포함하는, 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020227024099A KR102555164B1 (ko) | 2013-08-19 | 2014-08-19 | 데이터에 대한 액세스 인에이블링 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1314782.2A GB2514428B (en) | 2013-08-19 | 2013-08-19 | Enabling access to data |
GB1314782.2 | 2013-08-19 | ||
PCT/GB2014/052545 WO2015025156A1 (en) | 2013-08-19 | 2014-08-19 | Enabling access to data |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227024099A Division KR102555164B1 (ko) | 2013-08-19 | 2014-08-19 | 데이터에 대한 액세스 인에이블링 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160044022A true KR20160044022A (ko) | 2016-04-22 |
KR102422183B1 KR102422183B1 (ko) | 2022-07-18 |
Family
ID=49301879
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167007107A KR102422183B1 (ko) | 2013-08-19 | 2014-08-19 | 데이터에 대한 액세스 인에이블링 |
KR1020227024099A KR102555164B1 (ko) | 2013-08-19 | 2014-08-19 | 데이터에 대한 액세스 인에이블링 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227024099A KR102555164B1 (ko) | 2013-08-19 | 2014-08-19 | 데이터에 대한 액세스 인에이블링 |
Country Status (9)
Country | Link |
---|---|
US (2) | US10133872B2 (ko) |
EP (2) | EP3694143B1 (ko) |
KR (2) | KR102422183B1 (ko) |
CN (2) | CN105659231B (ko) |
AU (1) | AU2014310396B2 (ko) |
CA (1) | CA2921740C (ko) |
GB (1) | GB2514428B (ko) |
MX (1) | MX355275B (ko) |
WO (1) | WO2015025156A1 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10614099B2 (en) | 2012-10-30 | 2020-04-07 | Ubiq Security, Inc. | Human interactions for populating user information on electronic forms |
GB2514428B (en) | 2013-08-19 | 2016-01-13 | Visa Europe Ltd | Enabling access to data |
EP3198512A4 (en) | 2014-09-23 | 2018-05-09 | Fhoosh Inc. | Secure high speed data storage, access, recovery, and transmission |
US10579823B2 (en) | 2014-09-23 | 2020-03-03 | Ubiq Security, Inc. | Systems and methods for secure high speed data generation and access |
EP3234856B1 (en) * | 2014-12-15 | 2020-07-15 | Ubiq Security, Inc. | Method for diffracted data retrieval |
US10231123B2 (en) * | 2015-12-07 | 2019-03-12 | GM Global Technology Operations LLC | Bluetooth low energy (BLE) communication between a mobile device and a vehicle |
US11349656B2 (en) | 2018-03-08 | 2022-05-31 | Ubiq Security, Inc. | Systems and methods for secure storage and transmission of a data stream |
US11271734B2 (en) | 2019-08-19 | 2022-03-08 | Red Hat, Inc. | Proof-of-work key wrapping for verifying device capabilities |
US11316839B2 (en) | 2019-08-19 | 2022-04-26 | Red Hat, Inc. | Proof-of-work key wrapping for temporally restricting data access |
US11436352B2 (en) | 2019-08-19 | 2022-09-06 | Red Hat, Inc. | Proof-of-work key wrapping for restricting data execution based on device capabilities |
US11411938B2 (en) * | 2019-08-19 | 2022-08-09 | Red Hat, Inc. | Proof-of-work key wrapping with integrated key fragments |
US11411728B2 (en) | 2019-08-19 | 2022-08-09 | Red Hat, Inc. | Proof-of-work key wrapping with individual key fragments |
US11303437B2 (en) | 2019-08-19 | 2022-04-12 | Red Hat, Inc. | Proof-of-work key wrapping with key thresholding |
US11424920B2 (en) | 2019-08-19 | 2022-08-23 | Red Hat, Inc. | Proof-of-work key wrapping for cryptographically controlling data access |
CN116366243A (zh) * | 2023-03-28 | 2023-06-30 | 加客云科技(河北)有限公司 | 一种用于数字化协同办公的数据传输与加密方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005056418A (ja) * | 2003-07-31 | 2005-03-03 | Internatl Business Mach Corp <Ibm> | ドキュメント・コンポーネント用セキュリティ・コンテナ |
KR20070106369A (ko) * | 2006-04-28 | 2007-11-01 | 후지쯔 가부시끼가이샤 | 데이터 보호 시스템, 방법 및 프로그램을 기록한 컴퓨터로판독가능한 기록매체 |
US20090235338A1 (en) * | 2008-03-11 | 2009-09-17 | Alexander Brantley Sheehan | Resource based non-interactive entity application proxy method and system |
US8074289B1 (en) * | 1998-01-23 | 2011-12-06 | Emc Corporation | Access to content addressable data over a network |
KR101234118B1 (ko) * | 2008-06-19 | 2013-02-19 | 퀄컴 인코포레이티드 | 피어투피어 오버레이 네트워크에서 선택된 위치 공격들의 효력을 감소시키기 위한 방법들 및 장치 |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5174465A (en) | 1991-03-05 | 1992-12-29 | Cap Snap Co. | One-piece fitment and cap with tamper-evident band |
US5483596A (en) * | 1994-01-24 | 1996-01-09 | Paralon Technologies, Inc. | Apparatus and method for controlling access to and interconnection of computer system resources |
US5617082A (en) * | 1994-11-15 | 1997-04-01 | Micro Enhanced Technology, Inc. | Electronic access control device utilizing a single microcomputer integrated circuit |
WO1996032685A1 (en) * | 1995-04-11 | 1996-10-17 | Kinetech, Inc. | Identifying data in a data processing system |
DE69907631T2 (de) * | 1998-01-23 | 2004-02-26 | Emc Corp., Hopkinton | Netzzugang zu inhaltsadressierbaren daten |
US6311216B1 (en) * | 1998-05-29 | 2001-10-30 | Microsoft Corporation | Method, computer program product, and system for client-side deterministic routing and URL lookup into a distributed cache of URLS |
US6336187B1 (en) * | 1998-06-12 | 2002-01-01 | International Business Machines Corp. | Storage system with data-dependent security |
US10326798B2 (en) * | 1998-07-16 | 2019-06-18 | Grid7, LLC | System and method for secure data transmission and storage |
JP2001331509A (ja) * | 2000-05-22 | 2001-11-30 | Hitachi Ltd | リレーショナルデータベース処理装置、リレーショナルデータベースの処理方法及びリレーショナルデータベースの処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US20030115452A1 (en) * | 2000-12-19 | 2003-06-19 | Ravi Sandhu | One time password entry to access multiple network sites |
US20030002668A1 (en) * | 2001-06-30 | 2003-01-02 | Gary Graunke | Multi-level, multi-dimensional content protections |
US7197142B2 (en) | 2001-08-24 | 2007-03-27 | Alten Alexander I | System and methods for a vernam stream cipher |
AU2003219695A1 (en) * | 2002-01-30 | 2003-09-02 | Tecsec, Inc. | Access system utilizing multiple factor identification and authentication |
GB2399724B (en) * | 2003-03-15 | 2005-04-27 | Hewlett Packard Development Co | Method and system for regulating access to a service |
GB2400699B (en) * | 2003-04-17 | 2006-07-05 | Hewlett Packard Development Co | Security data provision method and apparatus and data recovery method and system |
GB2404489A (en) | 2003-07-31 | 2005-02-02 | Sony Uk Ltd | Access control for digital storage medium content |
KR100890573B1 (ko) * | 2003-08-05 | 2009-03-25 | 세파톤 인코포레이티드 | 에뮬레이팅된 저장 시스템 |
US7734051B2 (en) * | 2004-11-30 | 2010-06-08 | Novell, Inc. | Key distribution |
US8286157B2 (en) * | 2005-02-28 | 2012-10-09 | International Business Machines Corporation | Method, system and program product for managing applications in a shared computer infrastructure |
KR101153640B1 (ko) * | 2005-05-04 | 2012-06-18 | 삼성전자주식회사 | 디지털 멀티미디어 방송 수신 제한 시스템 및 그 방법 |
US20080212771A1 (en) | 2005-10-05 | 2008-09-04 | Privasphere Ag | Method and Devices For User Authentication |
US20080022117A1 (en) * | 2006-07-21 | 2008-01-24 | Antonius Kalker | Enabling access to more than one encrypted data segment of a segmentable data stream |
US20080031459A1 (en) * | 2006-08-07 | 2008-02-07 | Seth Voltz | Systems and Methods for Identity-Based Secure Communications |
JP4179563B2 (ja) * | 2006-09-21 | 2008-11-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 暗号通信の暗号鍵を管理する技術 |
US8266706B2 (en) * | 2007-01-26 | 2012-09-11 | Microsoft Corporation | Cryptographically controlling access to documents |
WO2009079263A1 (en) * | 2007-12-14 | 2009-06-25 | Casdex, Inc. | System for logging and reporting access to content using unique content identifiers |
US7967215B2 (en) * | 2008-04-18 | 2011-06-28 | Vivotech Inc. | Systems, methods, and computer program products for supporting multiple contactless applications using different security keys |
US20090290714A1 (en) * | 2008-05-20 | 2009-11-26 | Microsoft Corporation | Protocol for Verifying Integrity of Remote Data |
US8935528B2 (en) * | 2008-06-26 | 2015-01-13 | Microsoft Corporation | Techniques for ensuring authentication and integrity of communications |
DE102008042406B4 (de) * | 2008-09-26 | 2010-10-07 | Compugroup Holding Ag | Verfahren zum sicheren Austausch von Daten |
US9077537B2 (en) * | 2008-11-13 | 2015-07-07 | International Business Machines Corporation | Generating secure private keys for use in a public key communications environment |
US8151333B2 (en) * | 2008-11-24 | 2012-04-03 | Microsoft Corporation | Distributed single sign on technologies including privacy protection and proactive updating |
US11075754B2 (en) * | 2009-01-15 | 2021-07-27 | International Business Machines Corporation | Universal personal medical database access control |
JP4834748B2 (ja) * | 2009-03-10 | 2011-12-14 | 株式会社東芝 | 情報記憶媒体、媒体認証機器、媒体認証システム、及びicカード |
DE102009027268B3 (de) * | 2009-06-29 | 2010-12-02 | Bundesdruckerei Gmbh | Verfahren zur Erzeugung eines Identifikators |
US20110238985A1 (en) * | 2010-03-24 | 2011-09-29 | Nokia Corporation | Method and apparatus for facilitating provision of content protected by identity-based encryption |
US9137238B1 (en) * | 2010-08-06 | 2015-09-15 | RightQuestions, LLC | Pass-sequences |
US20140142993A1 (en) * | 2010-12-02 | 2014-05-22 | John Sanders | Talent Booking System and Method |
KR20120100046A (ko) * | 2011-03-02 | 2012-09-12 | 삼성전자주식회사 | 분산 환경 네트워크에서 컨텐츠의 접근 제어를 위한 장치 및 방법 |
JP2012195903A (ja) * | 2011-03-18 | 2012-10-11 | Toshiba Corp | 情報処理装置、プログラム及びアクセス制御システム |
JP5624510B2 (ja) * | 2011-04-08 | 2014-11-12 | 株式会社東芝 | 記憶装置、記憶システム及び認証方法 |
EP2521066A1 (en) * | 2011-05-05 | 2012-11-07 | Axiomatics AB | Fine-grained relational database access-control policy enforcement using reverse queries |
US8953789B2 (en) * | 2011-06-01 | 2015-02-10 | International Business Machines Corporation | Combining key control information in common cryptographic architecture services |
US9052824B2 (en) * | 2012-01-26 | 2015-06-09 | Upthere, Inc. | Content addressable stores based on sibling groups |
WO2013114125A2 (en) * | 2012-02-03 | 2013-08-08 | David Sallis | A method and database system for secure storage and communication of information |
US20150295717A1 (en) * | 2012-08-08 | 2015-10-15 | V-Auth Limited | Authentication method and system |
US20140115029A1 (en) * | 2012-10-18 | 2014-04-24 | International Business Machines Corporation | Selective data transfer between a server and client |
US9305172B2 (en) * | 2013-03-15 | 2016-04-05 | Mcafee, Inc. | Multi-ring encryption approach to securing a payload using hardware modules |
EP3025271B1 (en) * | 2013-07-24 | 2020-04-01 | Marvell World Trade Ltd. | Key rotation for a memory controller |
US9798888B2 (en) * | 2013-07-30 | 2017-10-24 | Hewlett Packard Enterprise Development Lp | Data management |
GB2514428B (en) | 2013-08-19 | 2016-01-13 | Visa Europe Ltd | Enabling access to data |
-
2013
- 2013-08-19 GB GB1314782.2A patent/GB2514428B/en active Active
-
2014
- 2014-08-19 CN CN201480057349.7A patent/CN105659231B/zh active Active
- 2014-08-19 MX MX2016002141A patent/MX355275B/es active IP Right Grant
- 2014-08-19 EP EP20168588.0A patent/EP3694143B1/en active Active
- 2014-08-19 KR KR1020167007107A patent/KR102422183B1/ko active IP Right Grant
- 2014-08-19 WO PCT/GB2014/052545 patent/WO2015025156A1/en active Application Filing
- 2014-08-19 AU AU2014310396A patent/AU2014310396B2/en active Active
- 2014-08-19 EP EP14766759.6A patent/EP3036664B1/en active Active
- 2014-08-19 KR KR1020227024099A patent/KR102555164B1/ko active IP Right Grant
- 2014-08-19 CA CA2921740A patent/CA2921740C/en active Active
- 2014-08-19 CN CN202010930179.6A patent/CN112069092B/zh active Active
-
2016
- 2016-02-18 US US15/047,496 patent/US10133872B2/en active Active
-
2018
- 2018-10-17 US US16/163,437 patent/US10810315B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8074289B1 (en) * | 1998-01-23 | 2011-12-06 | Emc Corporation | Access to content addressable data over a network |
JP2005056418A (ja) * | 2003-07-31 | 2005-03-03 | Internatl Business Mach Corp <Ibm> | ドキュメント・コンポーネント用セキュリティ・コンテナ |
KR20070106369A (ko) * | 2006-04-28 | 2007-11-01 | 후지쯔 가부시끼가이샤 | 데이터 보호 시스템, 방법 및 프로그램을 기록한 컴퓨터로판독가능한 기록매체 |
US20090235338A1 (en) * | 2008-03-11 | 2009-09-17 | Alexander Brantley Sheehan | Resource based non-interactive entity application proxy method and system |
KR101234118B1 (ko) * | 2008-06-19 | 2013-02-19 | 퀄컴 인코포레이티드 | 피어투피어 오버레이 네트워크에서 선택된 위치 공격들의 효력을 감소시키기 위한 방법들 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
AU2014310396B2 (en) | 2020-02-27 |
MX355275B (es) | 2018-04-12 |
AU2014310396A1 (en) | 2016-03-03 |
KR102422183B1 (ko) | 2022-07-18 |
CN105659231A (zh) | 2016-06-08 |
EP3036664A1 (en) | 2016-06-29 |
WO2015025156A1 (en) | 2015-02-26 |
EP3694143A2 (en) | 2020-08-12 |
CN112069092A (zh) | 2020-12-11 |
CN112069092B (zh) | 2023-12-29 |
CA2921740A1 (en) | 2015-02-26 |
US10133872B2 (en) | 2018-11-20 |
EP3036664B1 (en) | 2020-04-08 |
GB2514428A (en) | 2014-11-26 |
US20190087590A1 (en) | 2019-03-21 |
EP3694143B1 (en) | 2023-07-26 |
EP3694143A3 (en) | 2020-10-21 |
KR20220104278A (ko) | 2022-07-26 |
KR102555164B1 (ko) | 2023-07-13 |
MX2016002141A (es) | 2016-06-23 |
CA2921740C (en) | 2023-03-21 |
GB2514428B (en) | 2016-01-13 |
GB201314782D0 (en) | 2013-10-02 |
CN105659231B (zh) | 2020-09-29 |
US10810315B2 (en) | 2020-10-20 |
US20160171224A1 (en) | 2016-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10810315B2 (en) | Enabling access to data | |
US10803194B2 (en) | System and a method for management of confidential data | |
US9977918B2 (en) | Method and system for verifiable searchable symmetric encryption | |
US9419797B2 (en) | System, processing device, computer program and method, to transparently encrypt and store data objects such that owners of the data object and permitted viewers are able to view decrypted data objects after entering user selected passwords | |
US9646161B2 (en) | Relational database fingerprinting method and system | |
US8935528B2 (en) | Techniques for ensuring authentication and integrity of communications | |
JP5777630B2 (ja) | ドキュメント共有のための方法及び装置 | |
WO2019191378A1 (en) | Threshold secret share authentication proof and secure blockchain voting with hardware security modules | |
JP2020528695A (ja) | ハード/ソフトトークン検証を介したブロックチェーン認証 | |
US20200259637A1 (en) | Management and distribution of keys in distributed environments | |
US11604888B2 (en) | Digital storage and data transport system | |
Giri et al. | A survey on data integrity techniques in cloud computing | |
US11626982B1 (en) | Systems and methods for maintaining confidentiality, integrity, and authenticity of the last secret | |
WO2019229257A1 (en) | System and method for providing an authorised third party with overt ledger secured key escrow access to a secret |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |