KR20180095896A - 인가된 액세스를 위한 클라이언트 장치, 서버 장치 및 액세스 제어 시스템 - Google Patents

인가된 액세스를 위한 클라이언트 장치, 서버 장치 및 액세스 제어 시스템 Download PDF

Info

Publication number
KR20180095896A
KR20180095896A KR1020187020520A KR20187020520A KR20180095896A KR 20180095896 A KR20180095896 A KR 20180095896A KR 1020187020520 A KR1020187020520 A KR 1020187020520A KR 20187020520 A KR20187020520 A KR 20187020520A KR 20180095896 A KR20180095896 A KR 20180095896A
Authority
KR
South Korea
Prior art keywords
request
server
access
client device
public database
Prior art date
Application number
KR1020187020520A
Other languages
English (en)
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 KR20180095896A publication Critical patent/KR20180095896A/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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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/602Providing cryptographic facilities or services
    • 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
    • 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
    • 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/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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)
    • 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/3236Cryptographic 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/3242Cryptographic 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

인가된 액세스를 위한 클라이언트 장치, 서버 장치 및 액세스 제어 시스템이 개시된다. 클라이언트 장치는, 보호된 자원에 대한 인가된 액세스를 위한 요청을 생성하고 그 요청을 서버 장치에 전송하도록 구성된 요청 생성 유닛; 요청을 공개 데이터베이스에 기록하도록 구성된 기록 유닛 ―여기서, 공개 데이터베이스는 비중앙식 분산형 데이터베이스이고, 공개 데이터베이스 내의 레코드들은 수정불가능함―; 및 요청에 응답하여 서버 장치에 의해 전송된 응답 정보를 이용하여, 보호된 자원에 액세스하기 위한 대응하는 동작을 실행하도록 구성된 액세스 유닛을 포함한다. 본 발명의 실시예들에 따르면, 리플레이 공격, 중간자 공격 등의 네트워크 공격이 효과적으로 저항될 수 있고, 그에 의해 인가된 데이터의 액세스 보안이 개선된다.

Description

인가된 액세스를 위한 클라이언트 장치, 서버 장치 및 액세스 제어 시스템
본 출원은, 그 전체내용이 참조로 본 명세서에 포함되는 2015년 12월 23일 중국 특허청에 출원된 발명의 명칭이 "CLIENT APPARATUS, SERVER APPARATUS AND ACCESS CONTROL SYSTEM FOR AUTHORIZED ACCESS"인 중국 특허 출원 제201510977455.3호의 우선권을 주장한다.
본 개시내용은 정보 보안 및 액세스 제어 기술 분야에 관한 것으로, 특히, 비중앙식 공개 데이터베이스를 이용하여 보안 인가된 액세스를 달성하기 위한 클라이언트 디바이스, 서버 디바이스, 및 액세스 제어 시스템과 그 방법에 관한 것이다.
액세스 제어는, 클라이언트/서버 시스템, 클라이언트/브라우저 시스템, 또는 클라우드 시스템 등의 컴퓨터 시스템의 유형에 관계없이 모든 컴퓨터 시스템에 관련된 메커니즘이다. 액세스 제어는, 가장 단순한 사용자이름/패스워드, 널리 이용되는 인가 코드/유효성확인 코드(CAPTCHA) 뿐만 아니라, 현재 널리 이용되는 SMS 검증 코드 및 하드웨어-기반 UKey 등을 포함하며, 여기서, SMS 검증 코드 및 UKey 양쪽 모두는 외부 디바이스에 의한 지원을 요구한다. 액세스 제어 프로세스의 가장 중요한 부분은, 액세스 애플리케이션의 진본성과 유효성을 확인하는 것이다. 진본성과 유효성의 결정에 의해, 리플레이 공격(replay attack) 및 중간자 공격(man-in-the-middle attack) 등의 일부 네트워크 공격이 효과적으로 저항될 수 있음으로써, 서비스-거부 공격(denial-of-service attack)의 위험을 감소시킬 수 있다.
이하, 본 개시내용의 소정 양태들에 대한 기본적인 이해를 제공하기 위해 본 개시내용의 간략한 개요를 제공한다. 그러나, 이 개요는 본 개시내용에 대한 빠짐없는 개요가 아니라는 것을 이해해야 한다. 이것은 본 개시내용의 결정적 부분 또는 중요한 부분을 결정하기 위한 것도 아니고, 본 개시내용의 범위를 제한하기 위한 것도 아니다. 그 목적은 이하에서 제공되는 더 상세한 설명에 대한 서두로서 간략화된 형태로 본 개시내용의 몇 가지 개념을 제공할 뿐이다.
상기 문제점들을 감안하여, 본 개시내용의 목적은, 일부 네트워크 공격을 효과적으로 저항할 수 있는 인가된 액세스를 위한 클라이언트 디바이스, 서버 디바이스, 및 액세스 제어 시스템과 그 방법을 제공하는 것이다.
본 개시내용의 한 양태에 따르면, 인가된 액세스를 위한 클라이언트 디바이스가 제공되며, 이 디바이스는 : 요청 생성 유닛, 기록 유닛 및 액세스 유닛을 포함한다. 요청 생성 유닛은, 보호된 자원들에 대한 인가된 액세스를 위한 요청을 생성하고 그 요청을 서버 디바이스에 전송하도록 구성된다. 기록 유닛은 공개 데이터베이스 ―공개 데이터베이스는 비중앙식, 분산형 데이터베이스이고 공개 데이터베이스 내의 레코드들은 수정될 수 없음― 에 요청을 기록하도록 구성된다. 액세스 유닛은, 요청에 응답하여 서버 디바이스에 의해 전송된 응답 정보를 이용하여 보호된 자원들에 액세스하기 위한 대응하는 동작들을 수행하도록 구성된다.
본 개시내용의 바람직한 실시예에 따르면, 공개 데이터베이스는 블록체인을 포함한다.
본 개시내용의 또 다른 바람직한 실시예에 따르면, 요청 생성 유닛은 또한, 클라이언트 개인 키를 이용하여 요청에 서명하고 서명된 요청을 서버 디바이스에 전송하도록 구성되며, 기록 유닛은 추가로, 서명된 요청을 공개 데이터베이스에 기록하도록 구성된다.
본 개시내용의 또 다른 바람직한 실시예에 따르면, 요청 생성 유닛은 추가로, 공개 데이터베이스 내의 요청의 위치 정보를 서버 디바이스에 전송하도록 구성된다.
본 개시내용의 또 다른 바람직한 실시예에 따르면, 액세스 유닛은 추가로, 서버 공개 키를 이용하여 공개 데이터베이스에서 응답 정보의 레코드를 검증하고, 검증 결과에 따라 대응하는 동작들을 수행하도록 구성된다.
본 개시내용의 다른 바람직한 실시예에 따르면, 서버 디바이스는 인가 서버 및 자원 서버를 포함한다.
본 개시내용의 또 다른 바람직한 실시예에 따르면, 요청은 인가 서버에 전송된 인가 액세스 크리덴셜에 대한 요청을 포함하고, 응답 정보는 인가 서버로부터의 인가 액세스 크리덴셜을 포함한다.
본 개시내용의 또 다른 바람직한 실시예에 따르면, 인가 액세스 크리덴셜은 보호된 자원들에 관련된 제한 정보를 포함한다.
본 개시내용의 또 다른 바람직한 실시예에 따르면, 제한 정보는 보호된 자원들에 대한 관리자의 식별자, 클라이언트 디바이스에 의해 액세스되는 것이 허용된 자원들, 및 인가 액세스 크리덴셜의 유효 기간을 포함한다.
본 개시내용의 또 다른 바람직한 실시예에 따르면, 제한 정보는, 유효 기간 내에서의 액세스 횟수의 설정을 더 포함하고, 액세스 유닛은 액세스 횟수의 설정에 따라 보호된 자원들을 액세스하기 위한 대응하는 동작들을 수행한다.
본 개시내용의 또 다른 바람직한 실시예에 따르면, 요청은 자원 서버에 전송된 데이터 액세스 요청을 포함하고, 응답 정보는 자원 서버로부터의 데이터 자원들을 포함한다.
본 개시내용의 또 다른 바람직한 실시예에 따르면, 인가 서버와 자원 서버는 동일한 서버이다.
본 개시내용의 또 다른 양태에 따르면, 인가된 액세스를 위한 서버 디바이스가 추가로 제공되며, 응답 생성 유닛 및 기록 유닛을 포함한다. 응답 생성 유닛은, 클라이언트 디바이스로부터의 보호된 자원들에 대한 인가된 액세스를 위한 요청에 응답하여 대응하는 응답 정보를 생성하고 응답 정보를 클라이언트 디바이스에 전송하도록 구성된다. 기록 유닛은 공개 데이터베이스 ―공개 데이터베이스는 비중앙식, 분산형 데이터베이스이고 공개 데이터베이스 내의 레코드들은 수정될 수 없음― 에 응답 정보를 기록하도록 구성된다.
본 개시내용의 또 다른 양태에 따르면, 클라이언트 디바이스, 서버 디바이스 및 공개 데이터베이스를 포함하는, 인가된 액세스를 위한 액세스 제어 시스템이 추가로 제공된다. 공개 데이터베이스는 비중앙식의 분산형 데이터베이스이고 공개 데이터베이스의 레코드들은 수정될 수 없다. 클라이언트 디바이스는, 요청 생성 유닛, 제1 기록 유닛 및 액세스 유닛을 포함한다. 요청 생성 유닛은, 보호된 자원들에 대한 인가된 액세스를 위한 요청을 생성하고 그 요청을 서버 디바이스에 전송하도록 구성된다. 제1 기록 유닛은 요청을 공개 데이터베이스에 기록하도록 구성된다. 액세스 유닛은, 요청에 응답하여 서버 디바이스에 의해 전송된 응답 정보를 이용하여 보호된 자원들에 액세스하기 위한 대응하는 동작들을 수행하도록 구성된다. 서버 디바이스는 응답 생성 유닛과 제2 기록 유닛을 포함한다. 응답 생성 유닛은, 요청에 응답하여 대응하는 응답 정보를 생성하고 응답 정보를 클라이언트 디바이스에 전송하도록 구성된다. 제2 기록 유닛은 응답 정보를 공개 데이터베이스에 기록하도록 구성된다.
본 개시내용의 또 다른 양태에 따르면, 클라이언트 디바이스에서 수행되는 인가된 액세스를 위한 방법이 제공되며, 이 방법은 : 보호된 자원들에 대한 인가된 액세스를 위한 요청을 생성하고 요청을 서버 디바이스에 전송하는 단계; 공개 데이터베이스 ―공개 데이터베이스는 비중앙식 분산형 데이터베이스이고 공개 데이터베이스 내의 레코드들은 수정될 수 없음― 에 요청을 기록하는 단계; 및 요청에 응답하여 서버 디바이스에 의해 전송된 응답 정보를 이용하여 보호된 자원들에 액세스하기 위한 대응하는 동작들을 수행하는 단계를 포함한다.
본 개시내용의 또 다른 양태에 따르면, 서버 디바이스에서 수행되는 인가된 액세스를 위한 방법이 추가로 제공되며, 이 방법은 : 클라이언트 디바이스로부터의 보호된 자원들에 대한 인가된 액세스를 위한 요청에 응답하여 대응하는 응답 정보를 생성하고 응답 정보를 클라이언트 디바이스에 전송하는 단계; 및 공개 데이터베이스 ―공개 데이터베이스는 비중앙식 분산형 데이터베이스이고 레코드들은 수정될 수 없음― 에 응답 정보를 기록하는 단계를 포함한다.
본 개시내용의 또 다른 양태에 따르면, 송수신기 및 하나 이상의 프로세서를 포함할 수 있는 전자 디바이스가 추가로 제공된다. 하나 이상의 프로세서는 본 개시내용에 따른 인가된 액세스를 위한 전술된 방법을 수행하도록 구성될 수 있다.
본 개시내용의 다른 양태들에 따르면, 본 개시내용에 따른 전술된 방법을 구현하기 위한 컴퓨터 프로그램 코드 및 컴퓨터 프로그램 제품, 및 본 개시내용에 따른 전술된 방법을 구현하기 위한 컴퓨터 프로그램 코드가 기록되어 있는 컴퓨터 판독가능한 저장 매체가 추가로 제공된다.
본 개시내용의 실시예들에 따르면, 보호된 자원들에 대한 보안 인가된 액세스는 비중앙식 공개 데이터베이스를 효과적으로 이용하여 달성될 수 있다.
본 개시내용의 실시예들의 다른 양태들은 이하의 상세한 설명에서 주어지며, 상세한 설명은, 제한없이, 개시된 본 개시내용의 바람직한 실시예들을 완전하게 개시하기 위해 이용된다.
본 개시내용은 도면과 연계하여 주어지는 상세한 설명을 참조하여 더 잘 이해될 수 있으며, 동일한 또는 유사한 부분들을 지칭하기 위해 도면 전체에 걸쳐 동일하거나 유사한 참조 번호가 이용된다. 도면은, 이하의 상세한 설명과 함께, 본 명세서에 포함되어 본 명세서의 일부를 형성하고, 본 개시내용의 바람직한 실시예를 추가로 예시하며 본 개시내용의 원리 및 이점을 설명하기 위해 이용된다. 도면들에서:
도 1은 본 개시내용의 한 실시예에 따른 액세스 제어 시스템의 아키텍쳐의 한 예를 나타내는 개략도이다;
도 2는 본 개시내용의 한 실시예에 따른 클라이언트 디바이스의 기능적 구성 예를 나타내는 블록도이다;
도 3은 본 개시내용의 한 실시예에 따른 서버 디바이스의 기능적 구성 예를 나타내는 블록도이다;
도 4는 본 개시내용의 한 실시예에 따른 인가된 액세스에 대한 상호작용 흐름의 한 예를 나타내는 개략도이다;
도 5는 본 개시내용의 한 실시예에 따른 블록체인-기반 액세스 제어 구현의 한 예를 나타내는 개략도이다;
도 6은 본 개시내용의 한 실시예에 따른 블록체인에서의 레코드 항목의 포멧 및 콘텐츠의 한 예를 나타내는 개략도이다;
도 7은 본 개시내용의 한 실시예에 따른 인가된 액세스를 위한 방법의 프로세스 예를 나타내는 플로차트이다;
도 8은 본 개시내용의 한 실시예에 따른 블록체인 및 OAuth 프로토콜에 기초한 액세스 제어 시스템의 아키텍쳐의 한 예를 나타내는 개략도이다;
도 9는 본 개시내용의 한 실시예에 따른 블록체인-기반 OAuth 프로토콜 구현의 한 예를 나타내는 개략도이다;
도 10은 본 개시내용에 따른 기술이 적용되는 제한된 횟수의 인가된 액세스를 구현하기 위한 상호작용 프로세스의 한 예를 나타내는 플로차트이다;
도 11a 및 도 11b는 본 개시내용에 따른 기술이 적용되는 제한된 횟수의 인가된 액세스를 구현하기 위한 한 예를 나타내는 개략도이다;
도 12는 본 개시내용의 한 실시예에 따른 클라이언트 디바이스에서 수행되는 인가된 액세스를 위한 방법의 프로세스 예를 나타내는 플로차트이다;
도 13은 본 개시내용의 한 실시예에 따른 서버 디바이스에서 수행되는 인가된 액세스를 위한 방법의 프로세스 예를 나타내는 플로차트이다;
도 14는 본 개시내용에 따른 기술의 제1 적용 예를 나타내는 개략도이다;
도 15는 본 개시내용에 따른 기술의 제2 적용 예를 나타내는 개략도이다;
도 16은 본 개시내용의 한 실시예에서 채택될 수 있는 정보 처리 디바이스로서의 퍼스널 컴퓨터의 예시적인 구조를 나타내는 블록도이다.
이하, 본 개시내용의 예시적인 실시예들이 도면과 연계하여 설명될 것이다. 명료성과 간결성을 위해, 실제적 실시예들의 모든 피쳐들이 본 명세서에서 상세히 설명되는 것은 아니다. 그러나, 실시예 특유의 많은 결정들이 개발자의 특정한 목적을 달성하도록, 예를 들어, 시스템 및 서비스에 관련된 제한 조건들과 일치하도록, 및 상이한 실시예들에서는 제한 조건을 변경하면서, 실제 실시예들 중 임의의 하나의 개발 동안 이루어져야한다는 것을 이해해야 한다. 또한, 개발 작업이 매우 복잡하고 시간 소모적일 수 있지만, 본 개시내용으로부터 이익을 얻는 본 기술분야의 통상의 기술자에게는 통상적인 일일 뿐이라는 것을 이해해야 한다.
불필요한 상세사항들로 인해 본 개시내용을 모호하게 하는 것을 피하기 위해, 본 개시내용의 솔루션에 밀접하게 관련된 디바이스 구조 및/또는 처리 단계만이 도면들에 도시되어 있고, 본 개시내용과 관련성이 적은 다른 상세사항들은 생략된다는 점에도 유의해야 한다.
그 다음, 본 개시내용의 실시예들이 도 1 내지 도 16을 참조하여 상세히 설명될 것이다.
도 1은 본 개시내용의 한 실시예에 따른 액세스 제어 시스템의 아키텍쳐의 한 예를 나타내는 개략도이다.
도 1에 도시된 바와 같이, 이 실시예에 따른 액세스 제어 시스템은, 공개 데이터베이스(100), 클라이언트 디바이스(200) 및 서버 디바이스(300)를 포함할 수 있다.
본 개시내용에 따른 실시예에서, 클라이언트 디바이스(200)에 의한 보호된 자원에 대한 보안 액세스를 보장하기 위하여, 인가된 액세스 프로세스 동안 클라이언트 디바이스(200) 및 서버 디바이스(300)의 키 동작들은 각각 공개 데이터베이스(100)에 기록될 수 있다. 공개 데이터베이스(100)는 비중앙식 분산형 데이터베이스이고 공개 데이터베이스 내의 데이터는 일단 기록되고 나면 수정 또는 삭제될 수 없으므로, 네트워크 공격으로부터 방어하고 안전한 액세스 제어를 달성하는데 도움이 된다. 이하, 도 2 및 도 3을 참조하여 각각 클라이언트 디바이스(200) 및 서버 디바이스(300)의 기능적 구성 예가 상세하게 설명된다.
도 2는 본 개시내용의 한 실시예에 따른 클라이언트 디바이스의 기능적 구성 예를 나타내는 블록도이다.
도 2에 도시된 바와 같이, 이 실시예에 따른 클라이언트 디바이스(200)는, 요청 생성 유닛(210), 기록 유닛(220) 및 액세스 유닛(230)을 포함할 수 있다.
요청 생성 유닛(210)은 보호된 자원에 대한 인가된 액세스를 위한 요청을 생성하여 서버 디바이스(300)에 전송하도록 구성될 수 있다.
기록 유닛(220)은 전술된 요청을 공개 데이터베이스(100)에 기록하도록 구성될 수 있다.
액세스 유닛(230)은, 요청에 응답하여 서버 디바이스(300)에 의해 전송된 응답 정보를 이용하여 보호된 자원에 액세스하기 위한 대응하는 동작을 수행하도록 구성될 수 있다.
바람직하게는, 보안을 향상시키기 위해, 요청 생성 유닛(210)은 또한, 클라이언트 디바이스(200)를 위해 키 생성 센터에 의해 생성된 (개인 키(SK로 표시됨) 및 공개 키(PK로 표시됨)를 포함하는) 신원 키 쌍 내의 개인 키를 이용하여 요청에 서명하고, 서명된 요청을 서버 디바이스(300)에 전송한다. 기록 유닛(220)은 서명된 요청을 공개 데이터베이스(100)에 기록할 수 있다. 예를 들어, 이 프로세스는 다음과 같은 수학식 (1)로 표현될 수 있다.
Figure pct00001
여기서, Request는 클라이언트 디바이스로부터의 요청을 나타내고, SK of Client는 클라이언트 디바이스(200)의 개인 키를 나타내며, Hash()는 해시 함수를 나타내고, 클라이언트의 SignSK of client는 클라이언트 디바이스(200)의 개인 키를 이용한 서명을 나타내고, Record1은 공개 데이터베이스 내의 서명된 요청의 레코드를 나타낸다.
바람직하게는, 요청 생성 유닛(210)은 또한, 공개 데이터베이스에 기록된 전술된 요청의 위치 정보(예를 들어, Addr1로 표시됨)를 서버 디바이스(300)에 전송할 수 있다. 이러한 방식으로, 서버 디바이스(300)는 수신된 위치 정보에 기초하여 공개 데이터베이스(100) 내의 서명된 요청의 레코드(전술된 Record1)를 공개 데이터베이스(100)에서 서치하고, 클라이언트 디바이스(200)로부터의 요청의 진본성을 클라이언트 디바이스(200)의 공개 키를 이용하여 검증할 수 있다. 예를 들어, 이 검증 프로세스는 다음과 같은 수학식 (2)로 표현될 수 있다.
Figure pct00002
여기서 Verify()는 채택된 검증 함수를 나타내고, PK of Client는 클라이언트 디바이스(200)의 공개 키를 나타낸다.
그 다음, 타당한 것으로 검증된 요청에 대해, 서버 디바이스(300)는 클라이언트 디바이스(200)에 전송하기 위한 대응하는 응답 정보(이하, Response 표시됨)를 생성할 수 있고, 또한 응답 정보를 공개 데이터베이스(100)에 기록할 수 있다. 바람직하게는, 보안을 추가로 보장하기 위해, 서버 디바이스(300)는 또한, 서버 개인 키를 이용하여 응답 정보에 서명하고, 서명된 응답 정보를 클라이언트 디바이스(200)에 전송하고, 서명된 응답 정보를 공개 데이터베이스(100)에 기록할 수 있다. 예를 들어, 이 프로세스는 다음과 같은 수학식 (3)으로 표현될 수 있다.
Figure pct00003
여기서, Response는 서버 디바이스에 의해 생성된 응답 정보를 나타내고, SK of Server는 서버 디바이스(300)의 개인 키를 나타내며, Hash()는 해시 함수를 나타내고, SignSK of Server는 서버 디바이스(300)의 개인 키를 이용한 서명을 나타내며, Record2는 공개 데이터베이스(100) 내의 서명된 응답 정보의 레코드를 나타낸다.
또한, 서버 디바이스(300)는 전술된 구성과 유사하게, 공개 데이터베이스 내의 서명된 응답 정보의 위치 정보(여기서는 예를 들어, Addr2로 표시함)를 클라이언트 디바이스(200)에 전송하여, 클라이언트 디바이스(200)의 액세스 유닛(230)이 수신된 위치 정보에 기초하여 공개 데이터베이스(100) 내의 서명된 응답 정보의 레코드를 공개 데이터베이스(100)에서 서치하고, 서버 공개 키를 이용하여 레코드를 검증하고, 검증 결과에 따라 대응하는 동작을 수행할 수 있게 한다. 예를 들어, 이 프로세스는 다음과 같은 수학식 (4)로 표현될 수 있다.
Figure pct00004
여기서 Verify()는 채택된 검증 함수를 나타내고, PK of Server는 서버 디바이스(300)의 공개 키를 나타낸다.
인가된 액세스를 위한 클라이언트 디바이스의 기능적 구성 예가 도 2를 참조하여 전술되었다. 이에 대응하여, 인가된 액세스를 위한 서버 디바이스의 기능적 구성 예가 도 3을 참조하여 이하에서 설명될 것이다. 도 3은 본 개시내용의 한 실시예에 따른 서버 디바이스의 기능적 구성 예를 나타내는 블록도이다.
도 3에 도시된 바와 같이, 이 실시예에 따른 서버 디바이스(300)는 응답 생성 유닛(310) 및 기록 유닛(320)을 포함할 수 있다.
응답 생성 유닛(310)은, 클라이언트 디바이스로부터 보호된 자원에 대한 인가된 액세스를 위한 요청에 응답하여 대응하는 응답 정보를 생성하고 응답 정보를 클라이언트 디바이스(200)에 전송하도록 구성될 수 있다.
바람직하게는, 전술된 바와 같이, 응답 생성 유닛(310)은 클라이언트 공개 키(즉, 전술된 PK of Client)를 이용하여 공개 데이터베이스에서 클라이언트 디바이스(200)로부터의 요청의 레코드(즉, 전술된 레코드 Record1)를 검증하고, 검증 결과에 따라 응답 정보(즉, Response)를 생성할 수 있다. 이 프로세스는, 예를 들어, 전술된 수학식 (2)로 표현될 수 있다.
기록 유닛(320)은 응답 정보를 공개 데이터베이스(100)에 기록하도록 구성될 수 있다.
바람직하게는, 전술된 바와 같이, 응답 생성 유닛(310)은 또한, 서버 개인 키를 이용하여 응답 정보에 서명하고 서명된 응답 정보를 클라이언트 디바이스(200)에 전송하도록 구성될 수 있다. 기록 유닛(320)은 또한, 서명된 응답 정보를 공개 데이터베이스(100)에 기록하도록 구성될 수 있다. 이 프로세스는, 예를 들어, 전술된 수학식 (3)으로 표현될 수 있다. 나아가, 응답 생성 유닛(310)은 또한, 공개 데이터베이스 내의 응답 정보의 위치 정보(즉, 전술된 Addr2)를 클라이언트 디바이스(200)에 전송할 수 있다.
서버 디바이스(300)의 기능적 구성 예는 전술된 클라이언트 디바이스(200)의 기능적 구성 예에 대응한다는 것을 이해해야 한다. 따라서, 여기서 상세하게 기술되지 않은 내용에 대해서는, 상기 대응하는 부분의 설명을 참조할 수 있으며, 여기서는 반복하지 않을 것이다.
전술된 인가된 액세스의 구현에 대한 이해를 용이하게 하기 위해, 인가된 액세스를 위한 클라이언트 디바이스(200), 서버 디바이스(300) 및 공개 데이터베이스(100) 사이의 상호작용 프로세스가 도 4를 참조하여 아래에서 설명될 것이다. 도 4는 본 개시내용의 한 실시예에 따른 인가된 액세스에 대한 상호작용 흐름의 한 예를 나타내는 개략도이다.
도 4에 도시된 바와 같이, 우선, 단계 S101에서, 클라이언트 디바이스(200)는 클라이언트 개인 키를 이용하여 요청에 서명하여 보호된 자원에 대한 인가된 액세스를 위한 요청을 생성하고, 단계 S102에서 그 요청을 공개 데이터베이스(100)에 기록한다. 단계 S103에서, 공개 데이터베이스(100)는, 전술된 요청을, 예를 들어, Addr1의 위치에서 공개 데이터베이스(100) 내의 레코드(즉, 레코드 1)로서 추가한다. 그 다음, 단계 S104에서, 클라이언트 디바이스(200)는 서명된 요청 및 공개 데이터베이스(100) 내의 서명된 요청의 위치 정보(Addr1)를 서버 디바이스(300)에 전송한다. 그 다음, 단계 S105에서, 서버 디바이스(300)는 위치 정보 Addr1에 기초하여 클라이언트 공개 키를 이용하여 전술된 요청의 레코드 Record1을 검증한다. 검층 결과가 요청이 합당한 것으로 나타내면, 단계 S106에서 서버 디바이스(300)는 대응하는 응답 정보를 생성하고 서버 개인 키를 이용하여 응답 정보에 서명한다. 그 다음, 단계 S107에서, 서버 디바이스(300)는 서명된 응답 정보를 공개 데이터베이스(100)에 기록한다. 단계 S108에서, 공개 데이터베이스(100)는, 응답 정보를, 예를 들어, Addr2의 위치에서 공개 정보 데이터베이스(100)에 레코드(즉, Record2)로서 추가한다. 그 다음, 단계 S109에서, 서버 디바이스(300)는 서명된 응답 정보 및 공개 데이터베이스 내의 서명된 응답 정보의 위치 정보 Addr2를 클라이언트 디바이스(200)에 전송한다. 필요하다면, 클라이언트 디바이스(200)는 (점선으로 도시된 바와 같이, 선택사항적 단계인) 단계 S110에서 위치 정보 Addr2에 기초한 서버 공개 키를 이용하여 공개 데이터베이스(100) 내의 응답 정보의 레코드 Record2를 검증하고, 보호된 자원에 액세스하는 것 등의, 검증 결과에 따라 대응하는 동작을 수행할 수 있다.
전술된 상호작용 프로세스는 제한이 아니라 단지 예일 뿐이고, 도시된 다양한 단계들의 실행 순서는 제한이 아니라 설명의 편의를 위한 것일 뿐임을 이해해야 한다. 요구조건에 따라, 일부 단계들은 병렬로 또는 다양한 순서로 수행될 수 있다.
전술된 프로세스로부터 알 수 있는 바와 같이, 클라이언트 디바이스(200)와 서버 디바이스(300) 사이의 상호작용 프로세스는, 비중앙식 분산형 데이터베이스이고 그 내부의 레코드는 수정될 수 없는(즉, 레코드는 삭제 및/또는 변경될 수 없는) 공개 데이터베이스(100)에 기록되고, 그에 따라, 클라이언트 개인 키와 서버 개인 키를 각각 이용하여 상호작용 프로세스에 서명하고 이를 기록함으로써 네트워크 공격이 효과적으로 저항될 수 있다. 여기서, 공개 데이터베이스(100)는 모든 네트워크 엔티티들에 의해 공유되는 분산형 데이터베이스이기 때문에, 이론적으로는 네트워크 엔티티들 중 절반 또는 3분의 2보다 많은 엔티티들이 공개 데이터베이스 내의 데이터 레코드를 수정하는 것에 동의하면, 공개 데이터베이스 내의 레코드는 수정되는 것이 허용될 수 있다. 그러나, 실제적으로, 네트워크 엔티티들의 절반 또는 2/3보다 많은 엔티티들이 데이터 레코드를 수정하는데 동의하는 것은 어렵다. 따라서, 일반적으로 공개 데이터베이스의 데이터는 일단 기록되고 나면 변경 또는 삭제할 수 없다고 간주된다.
바람직하게는, 한 예로서, 상기 공개 데이터베이스는 블록체인(blockchain)을 포함할 수 있다. 블록체인은 Bitcoin을 지원하는 주요 기술 혁신으로서 간주된다. 블록체인은 신뢰를 요구하지 않는 인증 메커니즘으로서 네트워크 내의 모든 트랜잭션을 증명하는데 이용되므로, 블록체인은 "비 신뢰 기반" 아키텍쳐이다. "비 신뢰 기반" 아키텍쳐는, 전체 시스템 내의 복수의 참여자들이 서로 신뢰하는 것을 수반하지 않고 다양한 유형의 트랜잭션과 공동 작업을 완료할 수 있다는 것을 의미한다. 이것은, 지금까지는 항상, 전통적인 인터넷의 가장 취약한 부분이었다. 사용자들이 상대방(타인) 또는 제3자 기관(은행 등)과 신뢰를 맺고 유지할 것이 요구되는 경우와는 대조적으로, 사용자들은 "채굴자-회계원(miner-accountant)"에 의해 관리되고 전 세계의 다수의 상이한 비중앙식 노드들에 저장되는 공개회계 시스템을 신뢰할 수 있다. 블록체인은, 새로운 비중앙식 비-신뢰-기반 거래 시스템의 아키텍쳐로서 핵심 혁신이다. 블록체인은, 세계의 모든 엔티티들 사이의 개입없이 모든 유형의 모든 비중앙식 트랜잭션을 수행할 수 있다. 블록체인은, 인터넷에 완전히 새로운 계층을 추가하여 (전세계에 걸친 암호 화폐의 광범위한 이용의 경우) 즉석 디지털 통화 결제 및 장기간의 더 복잡한 경제적 계약을 포함한, 경제 트랜잭션을 실행하는, 인터넷 프로토콜의 기존 스택에서 실행되는 또 다른 애플리케이션 계층처럼 기능한다. 임의의 통화, 경제적 계약, 경질 자산(hard asset) 또는 연질 자산(soft asset)은 블록체인 시스템으로 거래할 수 있다. 또한 블록체인은, 트랜잭션 뿐만 아니라 모든 자산을 기록, 추적, 모니터링 및 거래하기 위한 등록 및 인벤토리 시스템으로서도 이용될 수 있다. 블록체인은 문자 그대로 전세계의 모든 엔티티들이 보유하고 있는 모든 형태의 자산을 포함한 자산들을 전세계에서 거래하기 위한 빌링 시스템(billing system) 및 모든 자산을 등록하기 위한 거대한 확장 테이블인 것처럼 보인다. 따라서, 블록체인은, 모든 분야의 금융, 경제 및 화폐와 경질 자산(물리적 자산) 및 무형 자산(투표, 아이디어, 명성, 의도, 건강 데이터 등)을 포함한 모든 형태의 자산의 등록, 재고 및 교환에 이용할 수 있다. Bitcoin 피어 투 피어 네트워크는 모든 트랜잭션 이력을 "블록체인"에 저장한다. 블록체인은 지속적으로 확장되며, 새로운 블록은 일단 블록체인에 추가되고 나면 제거되지 않는다. 블록체인은 실제로, 한 그룹의 분산형 클라이언트 노드들, 모든 참가자들에 의해 형성된 분산형 데이터베이스, 및 모든 Bitcoins 트랜잭션 이력의 기록들인, P2P 네트워크 플랫폼이다. 또한, 블록체인 기술이 진보함에 따라, 블록체인 기술은 가상 화폐 결제 분야에만 적용되는 것은 아니다. 블록체인 기술의 비중앙식 비-신뢰-기반의 포인트-대-포인트 모델은 가장 기본적인 수준에서 트랜잭션에 대한 중개자가 없다는 것을 의미한다. 블록체인은 Bitcoin의 네트워크 기반이지만, 블록체인 자체는 더 많은 것을 의미한다. 블록체인 기술 1.0은 가상 화폐를 위해 탄생된 반면, 블록체인 기술 2.0의 신용 신뢰의 핵심 피쳐는, 블록체인 계약, 공증 등을 위해 이용되도록 제안된, 현재 중요한 응용 방향이 되었다. 블록체인 기술 3.0은, 정부, 건강, 과학, 문화, 예술 분야 등의, 금융 분야 이외의 다른 분야에도 적용될 예정이다.
블록체인은, 비중앙식, 분산형, 및 시간순 공개 기록이거나, 공개 원장 시스템(public ledger system)이라고 불린다. 블록체인은 모든 사용자에 의해 공유되고 관리된다. 블록체인의 기록은 이중 소비를 검증하는데 이용할 수 있다. 블록체인이 가상 화폐용 지폐에 적용되면, 이것은 Bitcoin 트랜잭션의 영속성을 검증하고 이중 소비를 방지하는데 이용할 수 있다. 본 개시내용에서의 블록체인은 동일한 인증 코드의 다중 이용을 피하는데 이용될 수 있다. 블록체인 기술이 한 세트의 시간순 공개 기록을 이용하여 인가 서비스 플랫폼에 적용되면, 인가 프로토콜에 관련된 단계들이 검증되고 리플레이 공격이 방지될 수 있다.
Bitcoin 외에도, 본 개시내용의 실시예들에 따른 공개 데이터베이스는, Litecoin 등의 비중앙식 블록체인에 기초한 공개 원장 플랫폼, 또는 Hyperledger와 같은, 채굴 대신에 "합의(consensus)"를 이용하여 비중앙식화되는 분산형 원장 시스템일 수도 있다.
본 개시내용의 인가 서비스는 또한, Hyperledger 플랫폼에 기초하여 구현될 수도 있다. 예를 들어, 요청 및 응답 정보는, 테스트푸울(testpool), 커스텀푸울(custompool) 등의, Hyperledger의 합의 푸울(consensus pool)에 기록된다. 테스트푸울은 모든 사람에게 무료로 공개되며, 커스텀푸울은 사용자 맞춤화를 허용하는 푸울이다. Hyperledger의 "합의" 메커니즘에 따르면, 레코드는 유효하다고 확인된 후에는 삭제되거나 수정될 수 없다.
이하, 본 개시내용의 한 실시예에 따른 액세스 제어 구현이 블록체인의 한 예와 함께 설명될 것이다. 그러나, 본 개시내용은 분명히 그것으로 제한되지 않으며, 레코드가 삭제되거나 수정될 수 없는 임의의 비중앙식 분산형 데이터베이스 시스템에 적용될 수 있다는 것을 이해해야 한다. 도 5는 본 개시내용의 한 실시예에 따른 블록체인-기반 액세스 제어 구현의 한 예를 나타내는 개략도이다.
도 5에 도시된 바와 같이, 클라이언트 디바이스(200) 및 서버 디바이스(300)는 그들 각각의 서명된 요청 및 응답 정보를 블록체인에 추가한다. 이들 레코드들은 블록체인에서 시간순으로 정렬되며, 일단 기록되고 나면 수정되거나 삭제될 수 없다. 따라서, 클라이언트 디바이스(200) 및 서버 디바이스(300)는 블록체인에서 요청 및 응답 정보의 위치 정보에 따라 대응하는 레코드를 서치하고, 공개 키를 이용하여 블록체인 내의 레코드들을 검증함으로써 액세스 제어의 보안을 보장할 수 있다.
도 6은 본 개시내용의 한 실시예에 따른 블록체인에서의 레코드 항목의 포멧 및 콘텐츠의 한 예를 나타내는 개략도이다.
도 6에 도시된 바와 같이, 블록체인 내의 레코드는, 주소, 콘텐츠 생성자의 서명, 및 다른 애플리케이션-관련 정보를 포함할 수 있다. 예를 들어, 블록체인 내의 클라이언트 디바이스(200)에 의해 기록된 요청의 레코드는, 블록체인 내의 요청의 위치 정보(Addr1) 및 요청의 서명을 포함한다. 서버 디바이스(300)가 그 응답 정보를 블록체인에 기록한 후에, 블록체인 내의 레코드 항목들은 이제, 블록체인 내의 응답 정보의 위치 정보(Addr2), 응답의 서명, 블록체인 내의 요청의 위치 정보(Addr1), 요청의 서명을 포함한다. 즉, 블록체인 내의 레코드들은 기록의 시간 순서에 따라 증가하므로 삭제되거나 수정될 수 없다.
여기서 주어진 레코드 항목의 포멧 및 콘텐츠는 단지 예일 뿐이며, 레코드 항목의 포멧 및 콘텐츠는 실제 응용 요건에 따라 설정될 수 있고, 이것은 본 개시내용에서 제한되지 않는다는 것을 이해해야 한다.
전술된 상호작용 프로세스에 대응하여, 본 개시내용의 한 실시예에 따른 인가된 액세스를 위한 방법의 프로세스 예가 도 7을 참조하여 아래에서 설명될 것이다. 도 7은 본 개시내용의 한 실시예에 따른 인가된 액세스를 위한 방법의 프로세스 예를 나타내는 플로차트이다.
도 7에 도시된 바와 같이, 이 방법은 단계 S701에서 시작한 다음, 단계 S702로 진행한다. 단계 S702에서, 클라이언트 디바이스(200)는 보호된 자원에 대한 인가된 액세스를 위한 요청을 생성하고, 클라이언트 개인 키를 이용하여 요청에 서명한 다음, 서명된 요청을 블록체인에 기록하고, 블록체인에서 요청의 위치 정보를 획득한다. 그 후, 이 방법은 단계 S703으로 진행한다. 단계 S703에서, 클라이언트 디바이스(200)는 서명된 요청 및 블록체인 내의 요청의 위치 정보를 서버 디바이스(300)에 전송한다. 그 다음, 단계 S704에서, 서버 디바이스(300)는 수신된 위치 정보에 기초하여 블록체인에서 요청 레코드를 검색하고 클라이언트 공개 키를 이용하여 그 레코드를 검증한다. 그 후, 이 방법은 단계 S705로 진행하여, 레코드가 유효한지 여부가 결정된다. 레코드가 유효하지 않다고 결정되면, 이 방법은 종료한다. 레코드가 유효하다고 결정되면, 이 방법은 단계 S706으로 진행한다. 단계 S706에서, 서버 디바이스(300)는 유효한 요청에 대한 응답 정보를 생성하고, 서버 개인 키를 이용하여 응답 정보에 서명한 다음, 서명된 응답 정보를 블록체인에 기록하고, 블록체인에서 응답 정보의 위치 정보를 획득한다. 그 다음, 단계 S707에서, 서버 디바이스(300)는 서명된 응답 정보 및 블록체인 내의 서명된 응답 정보의 위치 정보를 클라이언트 디바이스(200)에 전송하고, 이 방법은 종료한다.
본 개시내용에 따른 인가된 액세스를 위한 방법의 프로세스 예가 도 7을 참조하여 전술되었다. 그러나, 이것은 제한이 아니라 단지 예일 뿐이며, 본 기술분야의 통상의 기술자라면 필요에 따라 상기 프로세스를 수정할 수 있다는 것을 이해해야 한다. 예를 들어, 전술된 바와 같이, 필요하다면, 다음 단계에서, 클라이언트 디바이스(200)는 수신된 위치 정보에 따라 블록체인에서 응답 정보의 레코드를 더 검색하고, 서버 공개 키를 이용하여 레코드를 검증하며, 검증 결과에 따라 대응하는 동작을 수행할 수 있다.
인가 액세스 제어의 일반적인 예가 도 1 내지 도 7을 참조하여 전술되었다. 본 개시내용에 따른 기술이 적용되는 인가 액세스 제어의 구현은 OAuth(Open Authority, http://oauth.net/) 표준과 관련하여 이하에서 설명될 것이다.
OAuth 프로토콜과 본 개시내용에 따른 기술의 조합이 구체적으로 설명되기 전에, OAuth 프로토콜이 여기서 간단히 소개된다. OAuth 프로토콜은 인가에 대한 개방형 네트워크 프로토콜(표준)이다. OAuth 프로토콜에서는, 인가 계층이 도입되고, 클라이언트의 역할은 자원 소유자의 역할과는 분리된다. 클라이언트는, 자원 소유자에 의해 제어되고 자원 서버에 의해 소유되는 자원에 대한 액세스를 요청하며, 자원 소유자의 크리덴셜과는 상이한 한 세트의 크리덴셜이 발급된다. OAuth 프로토콜에서, 자원 소유자, 자원 서버, 클라이언트 및 인가 서버의 4가지 역할이 정의된다. 자원 소유자는 보호된 자원에 대한 액세스를 인가할 수 있는 엔티티이다. 자원 소유자가 사람일 때, 터미널 사용자라고도 부를 수 있다. 자원 서버는 보호된 자원을 소유하는 서버이며, 액세스 토큰을 이용하여 보호된 자원에 대한 액세스 요청을 수락하고 응답할 수 있다. 클라이언트는, 자원 소유자를 나타내고 자원 소유자의 인가를 이용하여 보호된 자원에 대해 요청하는 애플리케이션이며, 임의의 특정한 구현 특성(예를 들어, 애플리케이션이, 서버, 데스크탑 또는 다른 디바이스에서 실행되는지)을 암시하지 않는다. 인가 서버는, 자원 소유자를 성공적으로 인증하고 인가를 획득한 후 액세스 토큰을 클라이언트에 발급하는 서버이다. 인가 서버는 자원 서버와 동일한 서버이거나 상이한 엔티티일 수 있다. 또한, 단일 인가 서버는 복수의 자원 서버에 의해 수락된 액세스 토큰을 발급할 수 있다.
OAuth의 개발은 개방 API 분야에서 새로운 애플리케이션의 개발을 촉진시켰다. OAuth는 보호된 자원에 액세스하는 방법을 애플리케이션에 제공한다. 보호된 자원에 액세스하기 전에 애플리케이션은 먼저 자원 소유자로부터 인가(액세스 허용)를 획득한 다음, (액세스 허용의 범위, 지속시간, 및 기타의 속성을 나타내는) 액세스 토큰과 액세스 허용을 교환해야 한다. 애플리케이션은 액세스 토큰을 자원 서버에게 제시함으로써 보호된 자원에 액세스한다. OAuth 2.0 표준은 현재 이용 권장된다. 그러나, OAuth 2.0 자체의 프로토콜은 보안 및 무결성 보호 메커니즘을 제공하지 않는다. 개발자는 OAuth 2.0을 이용할 때 통신 보안을 위한 추가 보호 메커니즘을 제공할 필요가 있다.
OAuth 2.0 프로토콜 자체는 리플레이 공격 및 중간자 공격을 방어할 수 없다. 예를 들어, 네트워크 전송 동안 리플레이 공격의 경우, 인증 코드가 가로 채여 인가 액세스 크리덴셜에 복수회 적용하는데 이용될 수 있다. 전술된 바와 같이, 중간자 공격 및 리플레이 공격은 공개 데이터베이스(예를 들어, 블록체인)에 인가의 상호작용 프로세스를 기록함으로써, 즉, OAuth 프로토콜을 블록체인 기술과 결합함으로써 효과적으로 저항될 수 있다. 한 예로서, 블록체인 및 OAuth 프로토콜에 기초한 인가 액세스 제어의 구현의 한 예가 이하에서 상세히 설명될 것이다.
도 8은 본 개시내용의 한 실시예에 따른 블록체인 및 OAuth 프로토콜에 기초한 액세스 제어 시스템의 아키텍쳐의 한 예를 나타내는 개략도이다.
도 8에 도시된 바와 같이, 이 실시예에 따른 액세스 제어 시스템은, 블록체인(100), 클라이언트 디바이스(200), 인가 서버(400), 자원 서버(500) 및 자원 소유자(600)를 포함할 수 있다. 블록체인(100) 및 클라이언트 디바이스(200)는 전술된 공개 데이터베이스(100) 및 클라이언트 디바이스(200)와 동일한 구성을 가지므로, 여기서는 반복적으로 설명하지 않는다. 인가 서버(400) 및 자원 서버(500)는 전술된 서버 디바이스(300)와 동일한 구성을 가질 수 있다. 즉, 서버 디바이스(300)는 인가 서버(400) 및 자원 서버(500)를 포함할 수 있고, 두 서버는 동일한 서버 디바이스일 수 있다. 따라서, 그 구성은 여기서 반복적으로 설명되지 않는다. OAuth 프로토콜에서 상기 디바이스들의 기능들만이 이하에서 간략하게 설명된다.
자원 소유자(600)는 보호된 자원에 대한 액세스를 인가하고 허용할 수 있는 엔티티이다. 자원 서버(500)는, 보호된 자원을 소유하고, 액세스 토큰을 이용하여 보호된 자원에 대한 요청을 수락하고 응답할 수 있는 서버이다. 클라이언트 디바이스(200)는, 자원 소유자를 나타내며 자원 소유자의 인가를 이용하여 보호된 자원을 요청하는 애플리케이션이며, 임의의 특정한 구현 형태로 제한되지 않는다. 즉, 이것은, 서버, 컴퓨터, 휴대형 디바이스, 또는 기타의 디바이스에서 구현될 수 있다. 인가 서버(400)는, 자원 소유자를 성공적으로 인증하고 인증을 획득한 후에 클라이언트 디바이스(200)에 액세스 토큰을 발급하는 서버이다.
블록체인-기반 OAuth 프로토콜의 구현 프로세스의 한 예가 도 9를 참조하여 이하에서 상세히 설명될 것이다. 도 9는 본 개시내용의 한 실시예에 따른 블록체인-기반 OAuth 프로토콜의 구현의 한 예를 나타내는 개략도이다.
도 9에 도시된 바와 같이, 우선, 단계 S901에서, 클라이언트 디바이스(200)는 자원 소유자(600)에 대한 인가 요청을 개시한다. 그 다음, 단계 S902에서, 자원 소유자(600)는 사용자 인가 크리덴셜을 클라이언트 디바이스(200)에 전송한다. 그 다음, 단계 S903에서, 클라이언트 디바이스(200)는 사용자 인가 크리덴셜에 따라 인가 서버(400)에 인가 액세스 크리덴셜에 대한 요청을 전송한다(즉, 데이터 액세스 인가를 신청). 단계 S904에서, 클라이언트 디바이스(200)는 그 요청을 블록체인(100)에 기록한다. 인가 액세스 크리덴셜에 대한 요청은 클라이언트 디바이스(200)의 서명 정보를 포함한다, 즉, 클라이언트 디바이스(200)는 클라이언트 개인 키를 이용하여 요청에 서명한다는 점에 유의해야 한다. 그 다음, 단계 S905에서, 인가 서버(400)는 사용자 인가 크리덴셜을 검증한다. 사용자 인가 크리덴셜이 유효한 것으로 검증되면, 인가 액세스 크리덴셜이 생성되고, 블록체인(100)에 기록된다. 여기서, 인가 액세스 크리덴셜은 인가 서버(400)의 서명 정보를 포함한다, 즉, 인가 서버(400)는 자신의 서버 개인 키를 이용하여 인가 액세스 크리덴셜에 서명한다는 점에 유의해야 한다. 그 다음, 단계 S906에서, 인가 서버(400)는 인가 액세스 크리덴셜을 클라이언트 디바이스(200)로 반환한다. 그 다음, 단계 S907에서, 클라이언트 디바이스(200)는 인가 액세스 크리덴셜을 이용하여 자원 서버(500)에 데이터 액세스 요청을 전송하고(즉, 데이터 액세스를 신청) 단계 S908에서 데이터 액세스 요청을 블록체인(100)에 기록한다. 데이터 액세스 요청은 또한 클라이언트 디바이스(200)의 서명 정보를 포함한다, 즉, 클라이언트 디바이스(200)는 클라이언트 개인 키를 이용하여 데이터 액세스 요청에 서명한다는 점에 유의해야 한다. 그 다음, 단계 S909에서, 자원 서버(500)는 (전술된 단계들 S904, S905 및 S908에서 블록체인(100)에 기록된 정보를 포함한) 블록체인 내의 정보를 체크함으로써 데이터 액세스 요청의 유효성을 결정한다. 데이터 액세스 요청이 유효한 것으로 결정되면, 대응하는 데이터 자원이 클라이언트 디바이스(200)에 제공된다. 또한, 단계 S910에서, 자원 서버(500)는 자신의 응답 동작을 블록체인(100)에 기록하고, 레코드는 또한, (자원 서버의 개인 키를 이용한) 자원 서버(500)의 서명 정보를 포함한다. 마지막으로, 단계 S911에서, 클라이언트 디바이스(200)는 자원 소유자(600)에 대응하는 데이터 자원을 이용을 위해 제공할 수 있다.
전술된 상호작용 프로세스는 제한이 아니라 단지 예일 뿐이고, 도시된 다양한 단계들의 실행 순서도 역시 제한이 아니라 설명의 편의를 위한 것일 뿐임을 이해해야 한다. 요구조건에 따라, 일부 단계들은 병렬로 또는 다양한 순서로 수행될 수 있다.
상기 블록체인-기반 OAuth 프로토콜의 구현의 상호작용 프로세스에서 알 수 있는 바와 같이, 이 경우, 서버 디바이스는 인가 서버 및 자원 서버를 포함할 수 있다. 클라이언트 디바이스로부터의 요청은, 인가 서버에 대한 인가 액세스 크리덴셜 요청 및 자원 서버에 대한 데이터 액세스 요청을 포함할 수 있다. 서버 디바이스로부터의 응답 정보는, 인가 서버로부터의 인가 액세스 크리덴셜 및 자원 서버로부터의 데이터 자원을 포함할 수 있다. 또한, 여기서는 인가 서버와 자원 서버가 별개의 서버 디바이스로서 도시되지만, 이들은 실제로는 동일한 서버일 수 있다.
바람직하게는, 전술된 인가 액세스 크리덴셜은 보호된 자원에 관련된 제한 정보를 포함할 수 있다. 예를 들어, 제한 정보는, 보호된 자원에 대한 관리자의 식별자, 클라이언트 디바이스에 의해 액세스되는 것이 허용되는 자원, 및 인가 액세스 크리덴셜의 유효 기간 등을 포함할 수 있다.
또한, 바람직하게는, 제한 정보는 인가 액세스 크리덴셜의 유효 기간 내에서의 액세스 횟수의 설정을 더 포함할 수 있다. 클라이언트 디바이스(200)의 액세스 유닛(230)은 액세스 횟수의 설정에 따라 보호된 자원에 액세스하기 위한 대응하는 동작을 수행할 수 있다. 서버 디바이스(300)의 응답 생성 유닛(310)은 클라이언트 디바이스(200)에 의한 보호된 자원에 대한 액세스에 따라 액세스 횟수의 설정을 계속적으로 감소시킬 수 있으며, 기록 유닛(320)은 감소된 액세스 횟수를 공개 데이터베이스에 기록할 수 있다. 이러한 방식으로, 리플레이 공격이 방지될 수 있음으로써, 보호된 자원에 대한 인가된 액세스의 제한된 횟수를 효과적으로 달성할 수 있다. 이하, 본 개시내용에 따른 기술이 적용되는 제한된 횟수의 인가된 액세스를 달성하기 위한 프로세스가 도 10, 도 11a 및 도 11b를 참조하여 상세히 설명될 것이다. 도 10은 본 개시내용에 따른 기술이 적용되는 제한된 횟수의 인가된 액세스를 구현하기 위한 상호작용 프로세스의 한 예를 나타내는 플로차트이다. 도 11a 및 도 11b는 본 개시내용에 따른 기술이 적용되는 제한된 횟수의 인가된 액세스를 구현하기 위한 한 예를 나타내는 개략도이다.
도 10에 도시된 바와 같이, 우선, 단계 S1001에서, 클라이언트 디바이스(200)는 N회(N은 1 이상의 양의 정수)의 인가된 액세스를 인가 서버(400)에게 요청한다. 그 다음, 단계 S1002에서, 인가 서버(400)는 이들 N회의 인가된 액세스에 대해 2개의 Bitcoin 계정 Account1 및 Account2를 생성할 수 있다(또는 기존의 계정을 이용할 수 있다). 두 계정은 각각 2개의 키 쌍에 대응한다. 계정 Account1은 인가 서버(400)에 의해 관리되고, 계정 Account2는 자원 서버(500)에 의해 관리된다. 그 다음, (도 11a에 도시된 바와 같이) 인가 서버(400)는 계정 Account1로부터 계정 Account2로 가상 화폐의 N개의 코인을 전송한다. 가상 화폐의 N개의 코인은 N회의 인가된 액세스에 대응한다. 동시에, 인가 서버(400)는 이 전송 동작을 블록체인(100)에 기록한다.
그 다음, 단계 S1003에서, 인가 서버(400)는 N회의 인가된 액세스의 크리덴셜을 블록체인(100) 내의 레코드들과 함께 클라이언트 디바이스(200)에 전송한다. 그 다음, 단계 S1004에서, 클라이언트 디바이스(200)는 인가 액세스 크리덴셜을 이용하여 자원 서버(500)에 액세스하고, 자원 서버(500)에게 블록체인 내의 레코드들을 제공할 수 있다. 단계 S1005에서, 자원 서버(500)는 인가 액세스 크리덴셜이 유효한지를 결정하기 위해 블록체인의 레코드를 검증할 수 있다. 단계 S1006에서, 인가 액세스 크리덴셜이 유효한 것으로 결정되면, 자원 서버(500)는 클라이언트 디바이스(200)에게 대응하는 데이터 서비스를 제공하고; 인가 액세스 크리덴셜이 무효한 것으로 결정되면, 자원 서버(500)는 대응하는 서비스 제공을 거부한다. 그 다음, 단계 S1007에서, 각각의 액세스에 대해, 자원 서버(500)는 (도 11b에 도시된 바와 같이) 계정 Account2로부터 계정 Account1로 가상 화폐의 1개 코인을 전송할 수 있고, 또한 전송 동작을 블록체인(100)에 기록할 수 있다. 전송 정보는 또한, 동시에 클라이언트 디바이스(200)에 제공되어 클라이언트 디바이스(200)가 체크하는 것을 용이하게 할 수 있다. N회의 인가된 액세스가 완료될 때까지, 즉, Account2로부터 Account1까지의 N회의 전송 동작이 완료될 때까지 상기 동작이 반복되고, 전체의 인가된 액세스 프로세스가 종료된다.
상기 프로세스에서 알 수 있는 바와 같이, 클라이언트 디바이스(200), 인가 서버(400) 및 자원 서버(500)의 동작들 및 액세스 횟수의 제한이 블록체인(100)에 기록되기 때문에, 각각의 디바이스는 블록체인(100) 내의 대응하는 레코드 정보를 체크함으로써 다양한 정보를 검증할 수 있다. 이러한 방식으로, 리플레이 공격 및 중간자 공격이 효과적으로 저항될 수 있고, 인가된 액세스 프로세스의 보안이 향상될 수 있으며, 제한된 횟수의 인가된 액세스가 효과적으로 달성될 수 있다.
블록체인에 기초하여 제한된 횟수의 인가된 액세스를 구현하는 프로세스가 도 10 내지 도 11b를 참조하여 전술되었지만, 이것은 제한이 아니라 단지 예일 뿐이며, 본 기술분야의 통상의 기술자라면 본 개시내용의 원리에 따라 상기 프로세스를 수정할 수 있다는 것을 이해해야 한다. 예를 들어, 가상 화폐를 이용하여 각각의 인가된 액세스를 기록하기 위해 2개의 계정이 설정되는 것으로 전술되었지만, 이것은, 클라이언트 디바이스의 각각의 인가된 액세스가 시스템 내의 디바이스들이 체크하고 검증하기 위한 공개 데이터베이스에 기록되는 한 필요하지 않을 수 있다.
또한, 본 개시내용에 따른 기술이 적용되는 OAuth 프로토콜의 구현이 예로서 블록체인과 함께 전술되었지만, 블록체인 외에도 (전술된 Hyperledger의 합의 푸울 등의) 다른 공개 데이터베이스가 OAuth 프로토콜의 통신 보안을 보장하는데 이용될 수 있다는 것은 명백하다는 점에도 유의해야 한다.
전술된 디바이스의 실시예들에 대응하여, 본 개시내용의 실시예들에 따른 클라이언트 디바이스 측 및 서버 디바이스 측에서 수행되는 인가된 액세스를 위한 방법의 프로세스 예가 각각 도 12 및 도 13을 참조하여 이하에서 설명될 것이다. 도 12는 본 개시내용의 한 실시예에 따른 클라이언트 디바이스에서 수행되는 인가된 액세스를 위한 방법의 프로세스 예를 나타내는 플로차트이다.
도 12에 도시된 바와 같이, 이 실시예에 따른 방법은, 클라이언트 디바이스가 보호된 자원에 대한 인가된 액세스를 위한 요청을 생성하고 그 요청을 서버 디바이스에 전송하는 단계 S1201에서 시작하여, 이 방법은 단계 S1202로 진행한다. 바람직하게는, 단계 S1201에서, 클라이언트 디바이스는 또한, 클라이언트 개인 키를 이용하여 요청에 서명하고 서명된 요청을 서버 디바이스에 전송할 수 있다. 단계 S1202에서, 클라이언트 디바이스는, 생성된 요청을 비중앙식 분산형 데이터베이스이고 그 내부의 레코드가 수정될 수 없는 공개 데이터베이스에 기록한다. 바람직하게는, 공개 데이터베이스는 블록체인을 포함한다. 그 다음, 이 방법은 단계 S1203으로 진행한다. 단계 S1203에서, 클라이언트 디바이스는, 요청에 응답하여 서버 디바이스에 의해 전송된 응답 정보를 이용하여 보호된 자원에 액세스하기 위한 대응하는 동작들을 수행한다.
바람직하게는, 클라이언트 디바이스는 또한, 공개 데이터베이스 내의 요청의 위치 정보를 서버 디바이스에 전송하고, 서버 공개 키를 이용하여 공개 데이터베이스 내의 서버 디바이스의 응답 정보의 레코드를 검증하고, 검증 결과에 따라 대응하는 동작들을 수행할 수 있다.
바람직하게는, OAuth 프로토콜의 구현에 적용될 때, 전술된 서버 디바이스는 인가 서버 및 자원 서버를 포함할 수 있고, 이 2개의 서버는 동일한 서버일 수 있다. 요청은, 인가 서버에 전송된 인가 액세스 크리덴셜에 대한 요청과 자원 서버에 전송된 데이터 액세스 요청을 포함할 수 있다. 응답 정보는, 인가 서버로부터의 인가 액세스 크리덴셜 및 자원 서버로부터의 데이터 자원을 포함한다. 바람직하게는, 인가 액세스 크리덴셜은 보호된 자원에 관련된 제한 정보를 포함할 수 있다. 제한 정보는, 보호된 자원에 대한 관리자의 식별자, 클라이언트 디바이스에 의해 액세스되는 것이 허용된 자원들, 및 인가 액세스 크리덴셜의 유효 기간을 포함할 수 있다. 또한, 바람직하게는, 제한 정보는, 유효 기간 내에서의 액세스 횟수의 설정을 더 포함할 수 있고, 클라이언트 디바이스는 액세스 횟수의 설정에 따라 보호된 자원에 액세스하기 위한 대응하는 동작들을 수행할 수 있다.
여기서 설명된 클라이언트 디바이스에서 수행되는 방법은 전술된 디바이스 실시예에 대응한다. 따라서, 여기서 상세하게 기술되지 않은 내용에 대해서는, 디바이스 실시예에서 대응하는 설명이 참조될 수 있으며, 여기서는 반복하지 않는다.
도 13은 본 개시내용의 한 실시예에 따른 서버 디바이스에서 수행되는 인가된 액세스를 위한 방법의 프로세스 예를 나타내는 플로차트이다.
도 13에 도시된 바와 같이, 이 실시예에 따른 방법은 단계 S1301에서 시작한다. 단계 S1301에서, 서버 디바이스는, 클라이언트 디바이스로부터의 보호된 자원에 대한 인가된 액세스를 위한 요청에 응답하여 대응하는 응답 정보를 생성하고 응답 정보를 클라이언트 디바이스에 전송한다. 바람직하게는, 서버 디바이스는 서버 개인 키를 이용하여 응답 정보에 서명하고 서명된 응답 정보를 클라이언트 디바이스에 전송할 수 있다. 그 다음, 이 방법은 단계 S1302로 진행하여, 서버 디바이스는 응답 정보를 공개 데이터베이스에 기록한다.
바람직하게는, 서버 디바이스는 또한, 공개 데이터베이스 내의 응답 정보의 위치 정보를 클라이언트 디바이스에 전송하고, 클라이언트 공개 키를 이용하여 공개 데이터베이스 내의 클라이언트 디바이스의 요청 레코드를 검증하고 검증 결과에 따라 응답 정보를 생성할 수 있다.
여기서 설명된 서버 디바이스에서 수행되는 방법은 전술된 디바이스 실시예에 대응한다. 따라서, 여기서 상세하게 기술되지 않은 내용에 대해서는, 디바이스 실시예에서 대응하는 설명이 참조될 수 있으며, 여기서는 반복하지 않는다.
본 개시내용의 실시예들에 따른 인가된 액세스를 위한 방법의 프로세스 예가 상기에서 설명되었지만, 이것은 제한이 아니라 단지 한 예일 뿐이며, 본 기술분야의 통상의 기술자라면 본 개시내용의 원리에 따라 상기 실시예들을 수정할 수 있다는 점에 유의해야 한다. 예를 들어, 본 기술분야의 통상의 기술자라면, 각각의 실시예에서 단계들을 추가, 삭제 또는 결합할 수 있고, 이러한 모든 수정은 본 개시내용의 범위 내에 든다.
본 개시내용에 따른 기술은, 의료, 통신, 전력 등의 다른 분야에도 역시 적용될 수 있다. 이하, 도 14 및 도 15를 각각 참조하여, 본 개시내용에 따른 기술의 적용 예가 설명될 것이다.
도 14는 본 개시내용에 따른 기술의 제1 적용 예를 나타내는 개략도이다.
의료 분야에서는, 많은 수의 사용자의 데이터 또는 기록을 저장할 것이 요구된다. 이들 데이터 또는 레코드가 안전한 인가 액세스를 통해 사용자 또는 사용자에 의해 인가된 제3자 플랫폼에 제공될 수 있도록 보장하는 방법의 문제점을 해결하는 것이 바람직하다.
도 14에 도시된 바와 같이, 시스템은, 사용자, 클라이언트, 인가 서버, 자원 서버, 및 네트워크 기록 플랫폼을 포함할 수 있다. 사용자는 의료 데이터의 주체, 즉 자원 소유자이다. 클라이언트는 (건강 관리 소프트웨어 등의) 제3자 애플리케이션 소프트웨어이다. 인가 서버는 서비스를 제공하는 의료기관에 의해 위탁된 의료기관 또는 서비스 제공자이다. 자원 서버는 서비스를 제공하는 의료기관에 의해 위탁된 의료기관 또는 서비스 제공자이다. 네트워크 기록 플랫폼은, 분산형 또는 P2P, 비중앙식 네트워크 플랫폼일 수 있는, 전술된 공개 데이터베이스에 대응한다. 일단 인가된 액세스를 위한 주요 데이터가 플랫폼에 기록되고 나면, 이것은 악의적으로 변조될 수 없다. 또한, 기록 플랫폼은 각각의 레코드에 대한 주소 정보를 생성하고, 주소 정보는 검색을 용이하게 하는 일련 번호 또는 기타의 코딩된 정보일 수 있다. 또한, 도면에 도시되지는 않았지만, 시스템은, 해당 데이터가 네트워크 기록 플랫폼 상에 기록되는 엔티티에 대한 키 쌍(공개 키 및 개인 키)을 생성하기 위한 키 관리 센터를 더 포함할 수 있다. 키 관리 센터는, PKI(Public Key Infrastructure)/CA(Certificate Authority) 등의 제3자 보안 플랫폼이거나, 네트워크 기록 플랫폼에 기초하는 상위 계층 보안 애플리케이션 시스템일 수 있다.
특정한 구현에서, 시스템 초기화가 먼저 수행되어, 키 관리 센터는, 각각 (PKAS, SKAS) 및 (PKRS, SKRS)로 표시되는, 적어도 키 쌍들을 인가 서버 및 자원 서버에 할당할 수 있게 한다.
초기화 후에, 엔티티들은, 도 14에 도시된 예시적인 구현 단계들에 따라 의료 데이터에 대한 보안 인가된 액세스를 위한 프로세스를 수행한다.
1. 사용자가 인가 서버에게 인가 크리덴셜을 신청한다.
2. 인가 서버는 인가 크리덴셜을 사용자에게 발급한다.
3. 사용자는 클라이언트에게 인가 크리덴셜을 제공한다.
4. 클라이언트는 사용자의 인가 크리덴셜을 인가 서버에 제공하고 데이터 액세스 크리덴셜을 신청한다.
5. 인가 크리덴셜을 유효한 것으로 검증한 후, 인가 서버는 인가 크리덴셜의 정보에 기초하여 대응하는 데이터 액세스 크리덴셜을 생성한다. 데이터 액세스 크리덴셜은, 적어도, 액세스될 타겟 데이터, 액세스 기간 등의 정보를 포함한다. 동시에, 인가 서버는 그 자신의 개인 키 SKAS를 이용하여 데이터 액세스 크리덴셜에 서명하고, 서명된 정보를 네트워크 기록 플랫폼에 기록한다.
6. 인가 서버는 데이터 액세스 크리덴셜 및 네트워크 기록 플랫폼 내의 데이터 액세스 크리덴셜의 주소 정보를 클라이언트로 반환한다.
7. 클라이언트는 데이터 액세스 크리덴셜과 네트워크 기록 플랫폼 내의 주소 정보를 이용하여 자원 서버에게 데이터 자원을 신청한다.
8. 자원 서버는 주소 정보에 기초하여 데이터 액세스 크리덴셜에 대응하는 레코드를 검색하고, 인가 서버의 공개 키 PKAS를 이용하여 클라이언트에 의해 전송된 데이터 액세스 크리덴셜의 유효성을 검증한다.
9. 자원 서버는 데이터 액세스 크리덴셜에 따라 대응하는 데이터 자원을 클라이언트에 제공하고, 네트워크 기록 플랫폼의 데이터 액세스 크리덴셜에 응답하여 동작을 기록한다. 즉, 데이터 액세스 크리덴셜은 개인 키 SKRS를 이용하여 서명된다. 응답 로그 정보(log information)는 서명된 후 네트워크 기록 플랫폼에 추가되고 기록될 수 있다.
10. 클라이언트는 대응하는 데이터를 획득한다.
11. 클라이언트는 정렬된 데이터를 사용자에게 제공한다. 예를 들어, 복수의 의료 기관의 사용자의 의료 정보가 수집, 분류 및 조직화된 다음, 전체로서 사용자에게 제공된다.
유사하게, 상기 프로세스는 또한, 전기 산업, 통신 산업, 전자 상거래 산업 등의, 많은 수의 사용자들의 데이터 또는 기록의 저장을 수반하는 산업에도 적용될 수 있으며, 여기서는 상세하게 설명되지 않을 것이다.
도 15는 본 개시내용에 따른 기술의 제2 적용 예를 나타내는 개략도이다.
오늘날 3D 인쇄는 인기있는 기술이며, 3D 모델의 인가된 인쇄의 보안을 어떻게 보장할 것인가의 문제를 해결하는 것이 또한 요망된다. 도 15에 도시된 바와 같이, 3D 모델의 인가된 인쇄를 위한 시스템은, 사용자, 인가 서버, 클라이언트, 자원 서버, 네트워크 기록 플랫폼 및 3D 프린터를 포함할 수 있다. 구체적으로는, 사용자는 3D 모델 데이터를 구매하는 자연인 또는 기관이다. 클라이언트는 제3자 애플리케이션 소프트웨어이다. 인가 서버는 3D 모델의 네트워크 트랜잭션 플랫폼이다. 자원 서버는 3D 모델 데이터의 서버이다. 네트워크 기록 플랫폼은 도 14를 참조하여 전술된 네트워크 기록 플랫폼과 동일하다. 또한, 도시되지는 않았지만, 시스템은 또한, 도 14를 참조하여 전술된 것과 동일한 키 관리 센터를 포함한다.
3D 모델의 인가된 인쇄가 수행될 때, 도 15에 도시된 단계들 1 내지 10의 동작들은 전술된 도 14의 대응하는 단계들의 동작들과 동일하므로, 여기서는 반복하지 않을 것이다. 그 다음, 단계 11에서, 클라이언트는 인가된 액세스에 의해 획득된 3D 모델의 데이터를 3D 프린터에 전송하고, 단계 12에서, 사용자는 인쇄된 3D 항목을 획득한다.
상기 프로세스에서, 사용자는 (무료로 또는 트랜잭션에 의해 획득될 수 있는) 소정의 3D 모델을 인쇄하기 위한 인가를 획득하고, 클라이언트를 통해 인가 서버 및 자원 서버에 액세스하고, 본 개시내용에 따른 인증 프로토콜을 이용한 방법에 의해 3D 모델 데이터를 획득하고, 이 데이터를 3D 프린터에 전송하여 인쇄된 3D 항목을 생성한다. 본 개시내용에 따른 기술을 적용함으로써, 인가된 액세스의 보안 및 부인 방지(non-repudiation)가 보장될 수 있고, 네트워크 공격이 효과적으로 저항될 수 있다.
본 개시내용에 따른 기술의 적용 예가 도 14 및 도 15를 참조하여 상기에서 주어졌지만, 본 개시내용은 이것으로 제한되지 않으며, 또한, 데이터에 액세스하기 위해 인가를 요구하는 임의의 다른 플랫폼에도 적용될 수 있다.
또한, 본 개시내용의 한 실시예에 따르면, 전자 디바이스가 추가로 제공된다. 전자 디바이스는 송수신기 및 하나 이상의 프로세서를 포함할 수 있다. 하나 이상의 프로세서는, 본 개시내용의 실시예들에 따라 상기 방법들 또는 대응하는 유닛들의 기능을 수행하도록 구성될 수 있다.
본 개시내용의 실시예들에 따른 저장 매체 및 프로그램 제품의 머신-실행가능한 명령어들은 또한, 전술된 디바이스 실시예에 대응하는 방법을 수행하도록 구성될 수 있다는 것을 이해해야 한다. 따라서, 여기서 상세히 설명되지 않은 내용에 대해서는, 이전의 대응하는 설명을 참조할 수 있으며, 여기서는 반복하지 않는다.
대응적으로, 머신 판독가능한 명령어들을 포함하는 프로그램 제품을 운반하는데 이용되는 저장 매체는 본 개시내용에 포함된다. 저장 매체는, 플로피 디스켓, 광 디스크, 광자기 디스크, 메모리 카드, 메모리 스틱 등을 포함하지만 이것으로 제한되는 것은 아니다.
또한, 전술된 일련의 처리 및 장치들은 또한 소프트웨어 및/또는 펌웨어에 의해 구현될 수 있다는 점에도 유의해야 한다. 소프트웨어 및/또는 펌웨어의 경우, 소프트웨어를 구성하는 프로그램은, 저장 매체 또는 네트워크를 통해, 도 16에 도시된 범용 컴퓨터(1600) 등의 전용 하드웨어 구조를 갖는 컴퓨터 상에 설치된다. 컴퓨터는, 다양한 프로그램이 설치되면, 다양한 기능을 실행할 수 있다. 도 16은 본 개시내용의 한 실시예에서 채택할 수 있는 정보 처리 디바이스로서의 퍼스널 컴퓨터의 예시적인 구성을 나타내는 블록도이다.
도 16에서, 중앙 처리 유닛(CPU; Central Processing Unit)(1601)은, 판독 전용 메모리(ROM; Read Only Memory)(1602)에 저장된 프로그램에 따라 또는 저장 섹션(1608)으로부터 랜덤 액세스 메모리(RAM)(1603)에 로딩된 프로그램에 따라 다양한 처리를 수행한다. RAM(1603)에서, CPU(1601)에 의해 다양한 처리를 실행하기 위해 요구되는 데이터도 필요에 따라 저장된다.
CPU(1601), ROM(1602) 및 RAM(1603)은 버스(1604)를 통해 서로 링크된다. 입력/출력 인터페이스(1605)도 역시 버스(1604)에 링크된다.
다음과 같은 컴포넌트들: 키보드, 마우스 등을 포함한 입력 섹션(1606); 음극선관(CRT), 액정 디스플레이(LCD) 등의 디스플레이, 및 스피커 등을 포함한 출력 섹션(1607), 하드디스크 등을 포함한 저장 섹션(1608); 및 LAN 카드, 모뎀 등의 네트워크 인터페이스 카드 등을 포함한 통신 섹션(1609)이 입력/출력 인터페이스(1605)에 링크된다. 통신 섹션(1609)은 인터넷 등의 네트워크를 통해 통신 프로세스를 수행한다.
드라이버(1610)는 또한, 필요에 따라 입력/출력 인터페이스(1605)에 링크될 수 있다. 자기 디스크, 광 디스크, 광자기 디스크, 또는 반도체 메모리 등의 착탈식 매체(1611)가 필요하다면 드라이브(1610)에 장착되어, 이로부터 판독된 컴퓨터 프로그램이 필요에 따라 저장 섹션(1608)에 설치되게 한다.
전술된 일련의 처리가 소프트웨어로 구현되는 경우, 소프트웨어를 구성하는 프로그램이 인터넷 등의 네트워크 또는 착탈식 매체(1611) 등의 저장 매체를 통해 설치된다.
본 기술분야의 통상의 기술자라면, 이러한 저장 매체는, 프로그램을 저장하는 도 16에 도시된 착탈식 매체(1611)로 제한되지 않으며, 프로그램을 사용자에게 제공하기 위해 장치와는 별개로 배포된다는 것을 이해해야 한다. 착탈식 매체(1611)의 예로서는, (플로피 디스크(등록 상표)를 포함한) 자기 디스크, (CD-ROM(Compact Disk Read Only Memory) 및 DVD(Digital Versatile Disc)를 포함한) 광 디스크, (MD(MiniDisc)(등록 상표)를 포함한) 광자기 디스크, 및 반도체 메모리가 포함된다. 대안으로서, 저장 매체는, ROM(1602), 저장 섹션(1608)에 포함된 하드 디스크 등일 수 있으며, 프로그램을 저장하고 이들을 포함하는 장치와 함께 사용자에게 배포된다.
본 개시내용의 바람직한 실시예들이 첨부된 도면들을 참조하여 상세하게 전술되었지만, 본 개시내용은 상기 예들로 제한되지 않는다. 본 기술분야의 통상의 기술자라면, 첨부된 청구항들의 범위 내의 다양한 변형 및 수정을 발견할 수 있을 것이고, 이들은 당연히 본 개시내용의 기술적 범위 내에 든다는 것을 이해해야 한다.
예를 들어, 상기 실시예들에서 하나의 유닛에 포함된 복수의 기능들은 별개의 장치들에 의해 구현될 수 있다. 대안으로서, 상기 실시예들에서 복수의 유닛에 의해 구현된 복수의 기능은 별개의 장치에 의해 별개로 구현될 수 있다. 또한, 상기 기능들 중 하나는 복수의 유닛에 의해 구현될 수 있다. 물론, 이러한 구성은 본 개시내용의 기술적 범위에 포함된다.
본 명세서에서, 플로차트에서 기술된 단계들은 시계열로 순서대로 수행되는 처리뿐만 아니라, 병렬로 또는 개별적으로 수행되며 반드시 시계열로 수행되는 것은 아닌 처리도 포함한다. 또한, 시계열로 처리하는 단계에서도, 그 순서는 적절하게 변경될 수 있다는 것은 말할 필요도 없다.
본 개시내용과 그 이점들이 상세히 설명되었지만, 첨부된 청구항들에 의해 정의된 본 개시내용의 사상 및 범위를 벗어나지 않으면서 다양한 변경, 대체 및 변형이 이루어질 수 있다는 것을 이해해야 한다. 또한, "포함하다", "포괄하다" 또는 임의의 다른 변형 등의 용어는 비-배타적인 것을 의미한다. 따라서, 일련의 요소들을 포함하는 프로세스, 방법, 제품 또는 디바이스는, 개시된 요소들뿐만 아니라 명확히 열거되지 않은 다른 요소들도 포함하거나, 프로세스, 방법, 제품 또는 제품 또는 디바이스의 고유한 요소들을 더 포함한다. 명시적으로 제한되지 않는 한, 문장 "~을 포함하는"은, 열거된 요소들 이외의 다른 유사한 요소들이 프로세스, 방법, 제품 또는 디바이스에 존재할 수 있는 경우를 배제하지 않는다.

Claims (27)

  1. 인가된 액세스를 위한 클라이언트 디바이스로서,
    보호된 자원들에 대한 인가된 액세스를 위한 요청을 생성하고 상기 요청을 서버 디바이스에 전송하도록 구성된 요청 생성 유닛;
    공개 데이터베이스에 상기 요청을 기록하도록 구성된 기록 유닛 ―상기 공개 데이터베이스는 비중앙식 분산형 데이터베이스이고 상기 공개 데이터베이스 내의 레코드들은 수정될 수 없음―; 및
    상기 요청에 응답하여 상기 서버 디바이스에 의해 전송된 응답 정보를 이용하여 상기 보호된 자원들에 액세스하기 위한 대응하는 동작들을 수행하도록 구성된 액세스 유닛
    을 포함하는 클라이언트 디바이스.
  2. 제1항에 있어서, 상기 공개 데이터베이스는 블록체인(blockchain)을 포함하는, 클라이언트 디바이스.
  3. 제1항에 있어서,
    상기 요청 생성 유닛은 추가로, 클라이언트 개인 키를 이용하여 상기 요청에 서명하고 상기 서명된 요청을 상기 서버 디바이스에 전송하도록 구성되고;
    상기 기록 유닛은 추가로, 상기 서명된 요청을 상기 공개 데이터베이스에 기록하도록 구성된, 클라이언트 디바이스.
  4. 제1항에 있어서, 상기 요청 생성 유닛은 추가로, 상기 공개 데이터베이스 내의 상기 요청의 위치 정보를 상기 서버 디바이스에 전송하도록 구성된, 클라이언트 디바이스.
  5. 제1항에 있어서, 상기 액세스 유닛은 추가로, 서버 공개 키를 이용하여 상기 공개 데이터베이스 내의 응답 정보의 레코드를 검증하고, 상기 검증 결과에 따라 대응하는 동작들을 수행하도록 구성된, 클라이언트 디바이스.
  6. 제1항에 있어서, 상기 서버 디바이스는 인가 서버 및 자원 서버를 포함하는, 클라이언트 디바이스.
  7. 제6항에 있어서, 상기 요청은 상기 인가 서버에 전송된 인가 액세스 크리덴셜(authorization access credential)에 대한 요청을 포함하고, 상기 응답 정보는 상기 인가 서버로부터의 인가 액세스 크리덴셜을 포함하는, 클라이언트 디바이스.
  8. 제7항에 있어서, 상기 인가 액세스 크리덴셜은 상기 보호된 자원들에 관련된 제한 정보를 포함하는, 클라이언트 디바이스.
  9. 제8항에 있어서, 상기 제한 정보는, 상기 보호된 자원들에 대한 관리자의 식별자, 상기 클라이언트 디바이스에 의해 액세스되는 것이 허용된 자원들, 및 상기 인가 액세스 크리덴셜의 유효 기간을 포함하는, 클라이언트 디바이스.
  10. 제9항에 있어서, 상기 제한 정보는, 상기 유효 기간 내에서의 액세스 횟수의 설정을 더 포함하고, 상기 액세스 유닛은 상기 액세스 횟수의 설정에 따라 상기 보호된 자원들을 액세스하기 위한 대응하는 동작들을 수행하는, 클라이언트 디바이스.
  11. 제6항에 있어서, 상기 요청은 상기 자원 서버에 전송된 데이터 액세스 요청을 포함하고, 상기 응답 정보는 상기 자원 서버로부터의 데이터 자원들을 포함하는, 클라이언트 디바이스.
  12. 제6항에 있어서, 상기 인가 서버와 상기 자원 서버는 동일한 서버인, 클라이언트 디바이스.
  13. 인가된 액세스를 위한 서버 디바이스로서,
    클라이언트 디바이스로부터의 보호된 자원들에 대한 인가된 액세스를 위한 요청에 응답하여 대응하는 응답 정보를 생성하고 상기 응답 정보를 상기 클라이언트 디바이스에 전송하도록 구성된 응답 생성 유닛; 및
    공개 데이터베이스에 상기 응답 정보를 기록하도록 구성된 기록 유닛 ―상기 공개 데이터베이스는 비중앙식 분산형 데이터베이스이고 상기 공개 데이터베이스 내의 레코드들은 수정될 수 없음―
    을 포함하는 서버 디바이스.
  14. 제13항에 있어서, 상기 공개 데이터베이스는 블록체인을 포함하는, 서버 디바이스.
  15. 제13항에 있어서,
    상기 응답 생성 유닛은 추가로, 서버 개인 키를 이용하여 상기 응답 정보에 서명하고 상기 서명된 응답 정보를 상기 클라이언트 디바이스에 전송하도록 구성되고;
    상기 기록 유닛은 추가로, 상기 서명된 응답 정보를 상기 공개 데이터베이스에 기록하도록 구성된, 서버 디바이스.
  16. 제13항에 있어서, 상기 응답 생성 유닛은 추가로, 상기 공개 데이터베이스 내의 상기 응답 정보의 위치 정보를 상기 클라이언트 디바이스에 전송하도록 구성된, 서버 디바이스.
  17. 제13항에 있어서, 상기 응답 생성 유닛은 추가로, 클라이언트 공개 키를 이용하여 상기 공개 데이터베이스 내의 상기 요청의 레코드를 검증하고, 상기 검증 결과에 따라 상기 응답 정보를 생성하도록 구성된, 서버 디바이스.
  18. 제13항에 있어서, 상기 서버 디바이스는 인가 서버 및 자원 서버를 포함하는, 서버 디바이스.
  19. 제18항에 있어서, 상기 요청은 상기 인가 서버에 전송된 인가 액세스 크리덴셜에 대한 요청을 포함하고, 상기 응답 정보는 상기 인가 서버로부터의 인가 액세스 크리덴셜을 포함하는, 서버 디바이스.
  20. 제19항에 있어서, 상기 인가 액세스 크리덴셜은 상기 보호된 자원들에 관련된 제한 정보를 포함하는, 서버 디바이스.
  21. 제20항에 있어서, 상기 제한 정보는, 상기 보호된 자원들에 대한 관리자의 식별자, 상기 클라이언트 디바이스에 의해 액세스되는 것이 허용된 자원들, 및 상기 인가 액세스 크리덴셜의 유효 기간을 포함하는, 서버 디바이스.
  22. 제21항에 있어서, 상기 제한 정보는, 상기 유효 기간 내에서의 액세스 횟수의 설정을 더 포함하고, 상기 응답 생성 유닛은 상기 클라이언트 디바이스에 의한 상기 보호된 자원들에 대한 액세스에 따라 상기 액세스 횟수의 설정을 연속적으로 감소시키고, 상기 기록 유닛은 상기 액세스 횟수의 감소된 설정을 공개 데이터베이스에 기록하는, 서버 디바이스.
  23. 제18항에 있어서, 상기 요청은 상기 자원 서버에 전송된 데이터 액세스 요청을 포함하고, 상기 응답 정보는 상기 자원 서버로부터의 데이터 자원들을 포함하는, 서버 디바이스.
  24. 제18항에 있어서, 상기 인가 서버와 상기 자원 서버는 동일한 서버인, 서버 디바이스.
  25. 인가된 액세스를 위한 액세스 제어 시스템으로서,
    상기 액세스 제어 시스템은 클라이언트 디바이스, 서버 디바이스 및 공개 데이터베이스를 포함하고, 상기 공개 데이터베이스는 비중앙식 분산형 데이터베이스이고 상기 공개 데이터베이스 내의 레코드들은 수정될 수 없고,
    상기 클라이언트 디바이스는 :
    보호된 자원들에 대한 인가된 액세스를 위한 요청을 생성하고 상기 요청을 상기 서버 디바이스에 전송하도록 구성된 요청 생성 유닛,
    상기 요청을 상기 공개 데이터베이스에 기록하도록 구성된 제1 기록 유닛, 및
    상기 요청에 응답하여 상기 서버 디바이스에 의해 전송된 응답 정보를 이용하여 상기 보호된 자원들에 액세스하기 위한 대응하는 동작들을 수행하도록 구성된 액세스 유닛을 포함하고,
    상기 서버 디바이스는 :
    상기 요청에 응답하여 대응하는 응답 정보를 생성하고 상기 응답 정보를 상기 클라이언트 디바이스에 전송하도록 구성된 응답 생성 유닛; 및
    상기 응답 정보를 상기 공개 데이터베이스에 기록하도록 구성된 제2 기록 유닛
    을 포함하는, 액세스 제어 시스템.
  26. 클라이언트 디바이스에서 수행되는 인가된 액세스를 위한 방법으로서,
    보호된 자원들에 대한 인가된 액세스를 위한 요청을 생성하고 상기 요청을 서버 디바이스에 전송하는 단계;
    공개 데이터베이스에 상기 요청을 기록하는 단계 ―상기 공개 데이터베이스는 비중앙식 분산형 데이터베이스이고 상기 공개 데이터베이스 내의 레코드들은 수정될 수 없음―; 및
    상기 요청에 응답하여 상기 서버 디바이스에 의해 전송된 응답 정보를 이용하여 상기 보호된 자원들에 액세스하기 위한 대응하는 동작들을 수행하는 단계
    를 포함하는 방법.
  27. 서버 디바이스에서 수행되는 인가된 액세스를 위한 방법으로서,
    클라이언트 디바이스로부터의 보호된 자원들에 대한 인가된 액세스를 위한 요청에 응답하여 대응하는 응답 정보를 생성하고 상기 응답 정보를 상기 클라이언트 디바이스에 전송하는 단계; 및
    공개 데이터베이스에 상기 응답 정보를 기록하는 단계 ―상기 공개 데이터베이스는 비중앙식 분산형 데이터베이스이고 상기 공개 데이터베이스 내의 레코드들은 수정될 수 없음―
    를 포함하는 방법.
KR1020187020520A 2015-12-23 2016-12-23 인가된 액세스를 위한 클라이언트 장치, 서버 장치 및 액세스 제어 시스템 KR20180095896A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510977455.3 2015-12-23
CN201510977455.3A CN106911641A (zh) 2015-12-23 2015-12-23 用于授权访问的客户端装置、服务器装置和访问控制系统
PCT/CN2016/111725 WO2017107976A1 (zh) 2015-12-23 2016-12-23 用于授权访问的客户端装置、服务器装置和访问控制系统

Publications (1)

Publication Number Publication Date
KR20180095896A true KR20180095896A (ko) 2018-08-28

Family

ID=59089105

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187020520A KR20180095896A (ko) 2015-12-23 2016-12-23 인가된 액세스를 위한 클라이언트 장치, 서버 장치 및 액세스 제어 시스템

Country Status (9)

Country Link
US (1) US20190020661A1 (ko)
EP (1) EP3396576B1 (ko)
JP (1) JP2019500799A (ko)
KR (1) KR20180095896A (ko)
CN (2) CN106911641A (ko)
AU (1) AU2016377729A1 (ko)
CA (1) CA3009567A1 (ko)
WO (1) WO2017107976A1 (ko)
ZA (1) ZA201804656B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020189846A1 (ko) * 2018-12-20 2020-09-24 공주대학교 산학협력단 허가형 블록체인 시스템 상에서의 프라이버시 보존형 데이터 분석 방법

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) * 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US10817593B1 (en) 2015-12-29 2020-10-27 Wells Fargo Bank, N.A. User information gathering and distribution system
US10891607B2 (en) 2017-02-03 2021-01-12 Smartsky Networks, Llc Aerospace commerce exchange
EP3410156A1 (en) * 2017-06-02 2018-12-05 Nokia Technologies Oy Positioning information verification
US11979392B2 (en) * 2017-07-17 2024-05-07 Comcast Cable Communications, Llc Systems and methods for managing device association
US20190058709A1 (en) * 2017-08-16 2019-02-21 Telefonaktiebolaget Lm Ericsson (Publ) Tenant management method and system in a cloud computing environment
CN111033405B (zh) * 2017-08-31 2023-08-22 通用电气公司 用于增材制造的知识产权交换生态系统
EP3479327B1 (en) * 2017-09-12 2020-12-30 Northwestern University Blockchain distribution network
US10868673B2 (en) * 2017-09-25 2020-12-15 Sap Se Network access control based on distributed ledger
WO2019078878A1 (en) 2017-10-20 2019-04-25 Hewlett Packard Enterprise Development Lp ACCESS TO INFORMATION BASED ON PRIVILEGES
EP3698529A4 (en) * 2017-10-20 2021-04-07 Hewlett Packard Enterprise Development LP ENTITIES 'AUTHORIZATIONS TO ACCESS INFORMATION
US11403628B2 (en) 2017-10-20 2022-08-02 Hewlett Packard Enterprise Development Lp Authenticating and paying for services using blockchain
US11463241B2 (en) 2017-10-20 2022-10-04 Hewlett Packard Enterprise Development Lp Transmitting or receiving blockchain information
US11165862B2 (en) * 2017-10-24 2021-11-02 0Chain, LLC Systems and methods of blockchain platform for distributed applications
US10887301B1 (en) * 2017-12-12 2021-01-05 United Services Automobile Association (Usaa) Client registration for authorization
BR112020011703A8 (pt) * 2017-12-12 2023-04-25 Lenovo Singapore Pte Ltd Fornecendo acesso à rede usando pagamentos em blockchain
KR102067882B1 (ko) * 2017-12-29 2020-02-11 부경대학교 산학협력단 블록체인 기반 데이터 접근 제어 시스템 및 방법
US20190229930A1 (en) * 2018-01-24 2019-07-25 Comcast Cable Communications, Llc Blockchain for the connected home
CN108234677B (zh) * 2018-03-09 2021-04-27 高飞 一种面向多区块链平台的区块链网络节点服务装置
CN108537498A (zh) * 2018-03-15 2018-09-14 上海卓辰信息科技有限公司 基于区块链的跨组织项目管理方法、系统、设备及介质
KR102254499B1 (ko) * 2018-03-30 2021-05-21 주식회사 코인플러그 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버
CN108881160A (zh) * 2018-05-07 2018-11-23 北京信任度科技有限公司 基于区块链智能合约的医疗健康数据管理方法及系统
CN108632284B (zh) * 2018-05-10 2021-02-23 网易(杭州)网络有限公司 基于区块链的用户数据授权方法、介质、装置和计算设备
CN109011583A (zh) * 2018-05-28 2018-12-18 腾讯科技(深圳)有限公司 虚拟资源转移方法和装置、存储介质及电子装置
CN108810006B (zh) * 2018-06-25 2021-08-10 百度在线网络技术(北京)有限公司 资源访问方法、装置、设备及存储介质
CN108923908B (zh) * 2018-06-25 2022-05-31 百度在线网络技术(北京)有限公司 授权处理方法、装置、设备及存储介质
CN112437938A (zh) * 2018-07-03 2021-03-02 环玺有限责任公司 用于区块链地址和所有者验证的系统和方法
US11336430B2 (en) 2018-09-07 2022-05-17 Sap Se Blockchain-incorporating distributed authentication system
CN109344647A (zh) * 2018-09-12 2019-02-15 上海点融信息科技有限责任公司 用于区块链网络的访问凭证生成方法、数据访问方法、存储介质、计算设备
CN109361663B (zh) * 2018-10-10 2021-05-28 中航信托股份有限公司 一种访问加密数据的相关方法、系统和相关装置
CN111091467A (zh) * 2018-10-23 2020-05-01 上海交通大学 基于区块链与深度学习的股权交易管理计算机仿真系统
US11106811B2 (en) * 2018-10-25 2021-08-31 EMC IP Holding Company LLC Object storage for guaranteed content for backup and retention
JP2020071791A (ja) * 2018-11-02 2020-05-07 富士通株式会社 通信方法、通信プログラムおよび通信装置
CN110263579B (zh) * 2018-11-16 2021-05-11 腾讯科技(深圳)有限公司 一种数据处理方法、系统及相关设备
CN109559123B (zh) * 2018-12-10 2021-10-29 深圳市小绿人网络信息技术有限公司 一种混合型点对点的网络处理方法
US11120167B2 (en) * 2019-03-25 2021-09-14 Micron Technology, Inc. Block chain based validation of memory commands
CN110011996B (zh) * 2019-03-26 2021-05-25 创新先进技术有限公司 基于区块链的应用授权方法及装置和电子设备
JP6894007B2 (ja) * 2019-04-08 2021-06-23 アドバンスド ニュー テクノロジーズ カンパニー リミテッド ブロックチェーンネットワークに基づいたデジタルチケットの転送
JP7174300B2 (ja) * 2019-06-17 2022-11-17 日本電信電話株式会社 コンテンツ利用システム、許諾端末、閲覧端末、配信端末、および、コンテンツ利用プログラム
CN111108734B (zh) * 2019-06-26 2022-05-31 蚂蚁双链科技(上海)有限公司 基于存储空间互换的改进的防重放设备
CN112241548A (zh) * 2019-07-18 2021-01-19 深圳市云歌人工智能技术有限公司 基于区块链的用户认证和授权以及进行认证和授权方法
CN110474778B (zh) * 2019-08-09 2022-04-15 北京智汇信元科技有限公司 一种电子合同签署方法及系统
CN110619222A (zh) * 2019-08-21 2019-12-27 上海唯链信息科技有限公司 基于区块链的授权处理方法、装置、系统及介质
JP7149604B2 (ja) * 2019-08-22 2022-10-07 株式会社アゲハスプリングス コンテンツ・ライセンスサーバ及び方法
US11405396B2 (en) * 2019-10-07 2022-08-02 The Toronto-Dominion Bank Secure management and provisioning of interaction data using permissioned distributed ledgers
US11432149B1 (en) 2019-10-10 2022-08-30 Wells Fargo Bank, N.A. Self-sovereign identification via digital credentials for selected identity attributes
CN110661817B (zh) * 2019-10-25 2022-08-26 新华三大数据技术有限公司 资源访问方法、装置及服务网关
CN110830465B (zh) * 2019-11-01 2022-11-25 大唐微电子技术有限公司 一种访问UKey的安全防护方法、服务器和客户端
GB2589090A (en) * 2019-11-15 2021-05-26 Nchain Holdings Ltd Identity verification protocol using blockchain transactions
CN111212125A (zh) * 2019-12-27 2020-05-29 成都商通数治科技有限公司 基于区块链的数据交换方法及系统
US11769577B1 (en) 2020-01-15 2023-09-26 Ledgerdomain Inc. Decentralized identity authentication framework for distributed data
US11245691B1 (en) * 2020-01-15 2022-02-08 Ledgerdomain Inc. Secure messaging in a blockchain network
CN111625790A (zh) * 2020-04-07 2020-09-04 青岛奥利普自动化控制系统有限公司 一种基于mes系统的电子签名方法及设备
CN111935095A (zh) * 2020-07-15 2020-11-13 广东电网有限责任公司 一种源代码泄露监控方法、装置及计算机存储介质
JP6912840B1 (ja) * 2020-08-25 2021-08-04 株式会社鈴康 情報処理方法、診断支援装置及びコンピュータプログラム
CN111814172A (zh) * 2020-08-28 2020-10-23 支付宝(杭州)信息技术有限公司 一种数据授权信息的获取方法、装置及设备
CN111741036B (zh) * 2020-08-28 2020-12-18 支付宝(杭州)信息技术有限公司 一种可信数据传输方法、装置及设备
CN112543223B (zh) * 2020-11-11 2024-05-10 广州鲁邦通物联网科技股份有限公司 一种物联网系统
CN112600890B (zh) * 2020-12-03 2023-04-18 杭州溪塔科技有限公司 一种基于区块链的数据管理方法和系统
CN113541965B (zh) * 2021-01-27 2024-04-09 支付宝(杭州)信息技术有限公司 一种基于区块链的通信授权方法、装置、设备和存储介质
US20220321567A1 (en) * 2021-03-31 2022-10-06 Netapp, Inc. Context Tracking Across a Data Management Platform
TWI782678B (zh) * 2021-08-26 2022-11-01 中華電信股份有限公司 應用於數位簽署元件的認證系統及方法
WO2023037530A1 (ja) * 2021-09-13 2023-03-16 Gve株式会社 データ管理システム
CN115277168B (zh) * 2022-07-25 2023-05-26 绿盟科技集团股份有限公司 一种访问服务器的方法以及装置、系统
US11741216B1 (en) 2022-11-07 2023-08-29 Ledgerdomain Inc. Credential revocation leveraging private keys on keystores read by provisioned devices
US11848754B1 (en) 2022-11-07 2023-12-19 Ledgerdomain Inc. Access delegation leveraging private keys on keystores read by provisioned devices
US11741215B1 (en) 2022-11-07 2023-08-29 Ledgerdomain Inc. Recipient credentialing leveraging private keys on keystores read by provisioned devices
US11736290B1 (en) 2022-11-07 2023-08-22 Ledgerdomain Inc. Management of recipient credentials leveraging private keys on keystores read by provisioned devices

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080021866A1 (en) * 2006-07-20 2008-01-24 Heather M Hinton Method and system for implementing a floating identity provider model across data centers
JP4333723B2 (ja) * 2006-09-29 2009-09-16 株式会社日立製作所 通信ログ管理システム
CN101262342A (zh) * 2007-03-05 2008-09-10 松下电器产业株式会社 分布式授权与验证方法、装置及系统
US8656472B2 (en) * 2007-04-20 2014-02-18 Microsoft Corporation Request-specific authentication for accessing web service resources
US8108311B2 (en) * 2009-04-09 2012-01-31 General Electric Company Systems and methods for constructing a local electronic medical record data store using a remote personal health record server
US8898742B2 (en) * 2011-10-11 2014-11-25 Paramount Pictures Corporation Systems and methods for controlling access to content distributed over a network
US8838982B2 (en) * 2011-09-21 2014-09-16 Visa International Service Association Systems and methods to secure user identification
US9876775B2 (en) * 2012-11-09 2018-01-23 Ent Technologies, Inc. Generalized entity network translation (GENT)
BR112015027633A2 (pt) * 2013-04-30 2017-08-22 Token One Pty Ltd Autenticação de usuário
US20150149209A1 (en) * 2013-11-27 2015-05-28 General Electric Company Remote/local reference sharing and resolution
US9679125B2 (en) * 2014-04-29 2017-06-13 PEGRight, Inc. Characterizing user behavior via intelligent identity analytics
CN103955532A (zh) * 2014-05-13 2014-07-30 陈北宗 一种去中心化的分布式计算框架
CN109347909B (zh) * 2014-09-01 2021-04-09 广东电网有限责任公司信息中心 Proxzone服务平台的工作方法
CN104735164B (zh) * 2015-04-10 2018-05-18 网易(杭州)网络有限公司 一种保存文件信息的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020189846A1 (ko) * 2018-12-20 2020-09-24 공주대학교 산학협력단 허가형 블록체인 시스템 상에서의 프라이버시 보존형 데이터 분석 방법

Also Published As

Publication number Publication date
JP2019500799A (ja) 2019-01-10
CA3009567A1 (en) 2017-06-29
WO2017107976A1 (zh) 2017-06-29
EP3396576B1 (en) 2020-05-06
ZA201804656B (en) 2019-08-28
CN108541318A (zh) 2018-09-14
EP3396576A4 (en) 2018-10-31
US20190020661A1 (en) 2019-01-17
EP3396576A1 (en) 2018-10-31
CN106911641A (zh) 2017-06-30
AU2016377729A1 (en) 2018-07-26

Similar Documents

Publication Publication Date Title
EP3396576B1 (en) Client apparatus, server apparatus and access control system for authorized access
US20220321359A1 (en) Methods and systems for ownership verification using blockchain
US10454918B1 (en) Method for SSO service using PKI based on blockchain networks, and device and server using the same
CA3049761C (en) Method for providing payment gateway service using utxo-based protocol and server using same
CN107306183B (zh) 客户端、服务端、方法和身份验证系统
Baars Towards self-sovereign identity using blockchain technology
WO2020134942A1 (zh) 身份核实方法及其系统
EP1698993B1 (en) Method and system for integrating multiple identities, identity mechanisms and identity providers in a single user paradigm
CN112437938A (zh) 用于区块链地址和所有者验证的系统和方法
CN116982033A (zh) 先进的不可替代令牌区块链架构
US11876801B2 (en) User ID codes for online verification
KR102118962B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
CN114341908A (zh) 具有要约和接受的区块链交易的系统和方法
Ahmed et al. Blockchain-based identity management system and self-sovereign identity ecosystem: A comprehensive survey
JP2023542681A (ja) ブロックチェーンの許可フレームワークへのデバイスアイデンティティの統合
CN112801778A (zh) 联盟式不良资产区块链
Kumar et al. Ultra-lightweight blockchain-enabled RFID authentication protocol for supply chain in the domain of 5G mobile edge computing
US20220393871A1 (en) Multifactor authentication using blockchain transactions
US20220318356A1 (en) User registration method, user login method and corresponding device
Chen et al. Cloud service platform of electronic identity in cyberspace
KR20220076486A (ko) 블록체인 트랜잭션들을 위한 콜-백 메커니즘들
Patel Blockchain and digital signatures for digital self-sovereignty
Saldamli et al. Identity management via blockchain
Mohan Using Facebook’s Libra Blockchain for Identity
Androulaki et al. A Framework for Resilient, Transparent, High-throughput, Privacy-Enabled Central Bank Digital Currencies