[go: up one dir, main page]

KR102190268B1 - A secure interoperable access control framework for heterogeneous iot platform - Google Patents

A secure interoperable access control framework for heterogeneous iot platform Download PDF

Info

Publication number
KR102190268B1
KR102190268B1 KR1020190071542A KR20190071542A KR102190268B1 KR 102190268 B1 KR102190268 B1 KR 102190268B1 KR 1020190071542 A KR1020190071542 A KR 1020190071542A KR 20190071542 A KR20190071542 A KR 20190071542A KR 102190268 B1 KR102190268 B1 KR 102190268B1
Authority
KR
South Korea
Prior art keywords
iot server
interoperability
server platform
iat
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020190071542A
Other languages
Korean (ko)
Inventor
김영갑
오세라
Original Assignee
세종대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 세종대학교산학협력단 filed Critical 세종대학교산학협력단
Priority to KR1020190071542A priority Critical patent/KR102190268B1/en
Application granted granted Critical
Publication of KR102190268B1 publication Critical patent/KR102190268B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/102Entity profiles
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

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

Abstract

이종 사물인터넷 플랫폼을 위한 보안 상호운용성 지원 접근 제어 프레임워크가 개시된다. 일 실시예에 따른 상호운용성 지원 접근 제어 방법은, 접근 제어를 위한 계층을 가상화한 보안 상호운용성 지원 접근 제어 프레임워크를 제공하는 단계; 및 상기 가상화된 계층에 기반한 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 이종의 사물인터넷 플랫폼 간에 상호운용성을 지원하는 단계를 포함할 수 있다. A security interoperability support access control framework for heterogeneous IoT platforms is disclosed. An interoperability support access control method according to an embodiment includes the steps of: providing a security interoperability support access control framework virtualizing a layer for access control; And supporting interoperability between heterogeneous IoT platforms through an access control framework supporting security interoperability based on the virtualized layer.

Figure R1020190071542
Figure R1020190071542

Description

이종 사물인터넷 플랫폼을 위한 보안 상호운용성 지원 접근 제어 프레임워크{A SECURE INTEROPERABLE ACCESS CONTROL FRAMEWORK FOR HETEROGENEOUS IOT PLATFORM}Security interoperability support access control framework for heterogeneous IoT platforms {A SECURE INTEROPERABLE ACCESS CONTROL FRAMEWORK FOR HETEROGENEOUS IOT PLATFORM}

아래의 설명은 이종 사물인터넷 플랫폼을 위한 보안 상호운용성 지원 접근 제어 기술에 관한 것이다. The description below relates to access control technology supporting security interoperability for heterogeneous IoT platforms.

사물인터넷(Internet of Things; IoT)이 미래에 중요한 기술로써 각광받으면서 Watson IoT, IoTivity, ARTIK 등의 사물인터넷 플랫폼이 개발되고 있으며, 각 플랫폼 내의 자원을 보호하기 위한 접근 제어(인증 및 인가) 프레임워크 또한 개별적으로 개발되고 있다. 하지만, 접근 제어 프레임워크들은 어디까지나 각 사물인터넷 플랫폼에서 사용되는 것을 가정하여 개발되고 있으며 이종의 사물인터넷 플랫폼들 간의 상호운용성은 고려되고 있지 않다. 예를 들어, 현재는 다섯 가지의 사물인터넷 플랫폼 내에 존재하는 자원을 이용하고 싶다면 해당 플랫폼들에서 요구하는 각각의 인증 및 인가 과정을 거친 후 자원을 이용해야 하는 문제가 존재한다. 이는 초연결성(Hyper-Connectivity)이 강조되는 사물인터넷 환경에서는 향후 해결되어야 할 중요한 이슈 중 하나이다.With the Internet of Things (IoT) in the spotlight as an important technology in the future, IoT platforms such as Watson IoT, IoTivity, and ARTIK are being developed, and an access control (authentication and authorization) framework to protect resources within each platform. It is also being developed individually. However, access control frameworks are developed under the assumption that they are used in each IoT platform, and interoperability between heterogeneous IoT platforms is not considered. For example, currently, if you want to use resources that exist in five IoT platforms, there is a problem that you must use the resources after each authentication and authorization process required by the platforms. This is one of the important issues to be resolved in the future in the IoT environment where hyper-connectivity is emphasized.

접근 제어를 위한 계층을 가상화하여 다양한 사물인터넷 플랫폼에 공통적으로 보안 상호운용성 지원 접근 제어 프레임워크를 제공할 수 있다.By virtualizing the layer for access control, it is possible to provide an access control framework that supports security interoperability in common to various IoT platforms.

보안 상호운용성 지원 접근 제어 프레임워크를 통하여 이종의 사물인터넷 플랫폼 간에 상호운용성을 지원할 수 있다. Security interoperability support Interoperability between heterogeneous IoT platforms can be supported through an access control framework.

상호운용성 지원 접근 제어 방법은, 접근 제어를 위한 계층을 가상화한 보안 상호운용성 지원 접근 제어 프레임워크를 제공하는 단계; 및 상기 가상화된 계층에 기반한 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 이종의 사물인터넷 플랫폼 간에 상호운용성을 지원하는 단계를 포함할 수 있다. The interoperability support access control method includes: providing a security interoperability support access control framework by virtualizing a layer for access control; And supporting interoperability between heterogeneous IoT platforms through an access control framework supporting security interoperability based on the virtualized layer.

상기 보안 상호운용성 지원 접근 제어 프레임워크를 제공하는 단계는, 인증(Authentication), 인가(Authorization), 감사(Auditing)의 접근 제어를 위한 계층을 하나의 계층으로 가상화한 보안 상호운용성 지원 접근 제어 프레임워크를 상기 사물인터넷 서버 플랫폼에 제공하는 단계를 포함할 수 있다. In the providing of the security interoperability support access control framework, a security interoperability support access control framework in which layers for access control of authentication, authorization, and auditing are virtualized as one layer. It may include providing to the IoT server platform.

상기 상호운용성을 지원하는 단계는, 상기 사물인터넷 서버 플랫폼에서 상호운용 접근 토큰(Interoperable Access Token; IAT)을 기반으로 상호운용성을 지원하는 단계를 포함할 수 있다. The step of supporting interoperability may include supporting interoperability based on an interoperable access token (IAT) in the IoT server platform.

상기 상호운용성을 지원하는 단계는, 상기 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 MCC(Multiple Clients' Credentials)를 기반으로 상호운용 접근 토큰(IAT)을 발급하는 단계를 포함할 수 있다. The step of supporting interoperability may include issuing an interoperability access token (IAT) based on Multiple Clients' Credentials (MCC) through the secure interoperability support access control framework.

상기 상호운용성을 지원하는 단계는, 요청자로부터 복수 개의 사물인터넷 서버 플랫폼에 등록한 요청자의 크리덴션을 이용하여 상기 복수 개의 사물인터넷 서버 플랫폼에 접근 가능한 권한을 가진 상호운용 접근 토큰(IAT)을 요청하는 단계를 포함할 수 있다. The step of supporting interoperability may include requesting an interoperability access token (IAT) having the authority to access the plurality of IoT server platforms using the requester's credentials registered in the plurality of IoT server platforms from the requester. It may include.

상기 상호운용성을 지원하는 단계는, 제1 사물인터넷 서버 플랫폼이 상기 요청자로부터 전달된 크리덴셜 중 상기 제1 사물인터넷 서버 플랫폼의 크리덴셜을 검증하고, 상기 제1 사물인터넷 서버 플랫폼에서 상기 요청자로부터 전달된 크리덴셜 중 제2 사물인터넷 서버 플랫폼으로 크리덴셜 검증 요청을 전송함에 따라 상기 제2 사물인터넷 서버 플랫폼에서 상기 제1 사물인터넷 서버 플랫폼으로부터 전송된 크리덴셜을 검증하여 상기 제1 사물인터넷 서버 플랫폼에게 크리덴셜 검증을 수행한 크리덴셜 검증 결과를 전달하는 단계를 포함할 수 있다. In the step of supporting the interoperability, the first IoT server platform verifies the credential of the first IoT server platform among the credentials transmitted from the requester, and the first IoT server platform transmits it from the requestor. As the credential verification request is transmitted to the second IoT server platform among the credentials, the second IoT server platform verifies the credentials transmitted from the first IoT server platform to the first IoT server platform. It may include the step of transmitting a credential verification result that has performed the credential verification.

상기 상호운용성을 지원하는 단계는, 상기 제1 사물인터넷 서버 플랫폼에서 상기 제1 사물인터넷 서버 플랫폼과 상기 제2 사물인터넷 서버 플랫폼에 접근 가능한 글로벌 접근 범위를 가진 상호운용 접근 토큰(IAT)을 생성하는 단계를 포함할 수 있다. The step of supporting interoperability may include generating an interoperable access token (IAT) having a global access range accessible to the first IoT server platform and the second IoT server platform from the first IoT server platform. It may include steps.

상기 상호운용성을 지원하는 단계는, 상기 제1 사물인터넷 서버 플랫폼 또는 상기 제2 사물인터넷 서버 플랫폼에서의 크리덴셜 검증 결과에 따라 자원에 접근 가능한 영역이 제한되는 단계를 포함할 수 있다. The step of supporting interoperability may include limiting an area accessible to a resource according to a credential verification result in the first IoT server platform or the second IoT server platform.

상기 상호운용성을 지원하는 단계는, 상기 제1 사물인터넷 서버 플랫폼에서 상기 요청자에게 상기 제1 사물인터넷 서버 플랫폼 또는 상기 제2 사물인터넷 서버 플랫폼 중 어느 하나 이상의 사물인터넷 서버 플랫폼에 접근 가능한 상호운용 접근 토큰(IAT)을 발급하고, 상기 발급된 상호운용 접근 토큰(IAT)을 상기 요청자에게 전달하고, 상기 요청자로부터 상기 제1 사물인터넷 서버 플랫폼으로부터 발급받은 상호운용 접근 토큰(IAT)을 기반으로 상기 제2 사물인터넷 서버 플랫폼에 접근되는 단계를 포함할 수 있다. The step of supporting interoperability may include an interoperable access token accessible to one or more IoT server platforms of the first IoT server platform or the second IoT server platform to the requester from the first IoT server platform. (IAT) is issued, the issued interoperable access token (IAT) is transmitted to the requester, and the second interoperable access token (IAT) issued from the first IoT server platform is issued from the requestor. It may include the step of accessing the IoT server platform.

상기 상호운용성을 지원하는 단계는, A3FaaS(A3 Framework as a Service)를 통해 가상화되어 각각의 사물인터넷 서버 플랫폼에 배치된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 ACMD(Authorization Code for Multiple Domains)를 기반으로 상호운용 접근 토큰(IAT)을 발급하는 단계를 포함할 수 있다. The step of supporting interoperability is based on ACMD (Authorization Code for Multiple Domains) through an access control framework that supports security interoperability virtualized through A3 Framework as a Service (A3FaaS) and deployed on each IoT server platform. As such, it may include issuing an interoperable access token (IAT).

상기 상호운용성을 지원하는 단계는, 클라이언트로부터 접근하기 위한 자원들이 명시되어 상호운용 접근 토큰(IAT)의 발급이 요청됨에 따라 상기 접근을 요청한 자원에 대한 권한을 획득하기 위해 자원 소유자들의 허가를 획득하고, 상기 획득된 허가를 A3 서버에게 전송하고, 상기 A3 서버에서 상기 클라이언트로부터 전송된 허가들을 검증을 수행한 검증 결과를 통하여 상기 클라이언트에게 인가 코드를 발급하고, 상기 클라이언트에서 상기 A3로부터 발급받은 인가 코드를 다시 상기 A3 서버에게 전달하고, 상기 A3서버에서 상기 클라이언트로부터 전달받은 인가 코드를 검증한 뒤, 상기 클라이언트에게 상호운용 접근 토큰(IAT)을 발급하는 단계를 포함할 수 있다. In the step of supporting interoperability, as resources for access from a client are specified and issuance of an interoperable access token (IAT) is requested, the permission of resource owners is obtained in order to obtain permission for the resource that has requested access, and , Transmits the obtained permission to the A3 server, issues an authorization code to the client through a verification result of verifying the permission transmitted from the client in the A3 server, and issues an authorization code issued from the A3 in the client It may include the step of delivering the A3 server again, verifying the authorization code received from the client in the A3 server, and issuing an interoperable access token (IAT) to the client.

상기 상호운용성을 지원하는 단계는, A3FaaS를 통해 가상화되어 각각의 사물인터넷 서버 플랫폼에 배치된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 IMD(Implicit for Multiple Domains)를 기반으로 상호운용 접근 토큰(IAT)을 발급하는 단계를 포함할 수 있다. The step of supporting interoperability is an interoperable access token (IAT) based on IMD (Implicit for Multiple Domains) through a security interoperability support access control framework virtualized through A3FaaS and deployed on each IoT server platform. It may include the step of issuing.

상기 상호운용성을 지원하는 단계는, 클라이언트로부터 요청된 자원의 접근 범위와 상호운용 접근 토큰(IAT)을 발급받을 리다이렉션 URI가 전달됨에 따라 로그인 과정을 통하여 상기 요청된 자원의 접근 범위에 대한 권한을 획득하기 위하여 자원 소유자들의 허가를 받고, 상기 허가를 A3 서버에 전달하고, 상기 A3 서버에서 상기 클라이언트로부터 요청된 자원, 상기 요청된 자원이 위치한 도메인의 상호운용 정책 및 상기 요청된 자원의 크리덴셜을 검증한 뒤, 상기 클라이언트에게 상호운용 접근 토큰(IAT)을 전달하는 단계를 포함할 수 있다. In the step of supporting the interoperability, the access range of the requested resource and the redirection URI to be issued with the interoperability access token (IAT) are transmitted from the client, and thus the authorization for the access range of the requested resource is obtained through a login process. In order to do so, obtain permission from resource owners, transfer the permission to the A3 server, and verify the resource requested from the client in the A3 server, the interoperability policy of the domain in which the requested resource is located, and the requested resource credential After that, it may include the step of delivering an interoperable access token (IAT) to the client.

상기 상호운용성을 지원하는 단계는, A3FaaS를 통해 가상화되어 각각의 사물인터넷 서버 플랫폼에 배치된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 MROPC(Multiple Resource Owners' Password Credentials)를 기반으로 상호운용 접근 토큰(IAT)을 발급하는 단계를 포함할 수 있다. The step of supporting interoperability is an interoperability access token based on MROPC (Multiple Resource Owners' Password Credentials) through a security interoperability support access control framework virtualized through A3FaaS and deployed on each IoT server platform. IAT) may be included.

상기 상호운용성을 지원하는 단계는, 상기 클라이언트로부터 기 저장된 자원 소유자들의 크리덴셜 또는 자원을 요청하기 위한 자원 소유자들의 크리덴셜들을 전달받고, 요청된 자원의 접근 범위 및 상기 자원 소유자 크리덴셜을 A3 서버에 전송하고, 상기 A3 서버에서 상기 클라이언트로부터 요청된 자원의 접근 범위와 상기 자원 소유자 크리덴셜을 검증하여 상호운용 접근 토큰(IAT)을 발급하는 단계를 포함할 수 있다. In the step of supporting the interoperability, the credentials of the resource owners previously stored or the credentials of the resource owners for requesting the resource are received from the client, and the access range of the requested resource and the resource owner credential are transmitted to the A3 server. And issuing an interoperable access token (IAT) by verifying the access range of the resource requested from the client and the resource owner credential in the A3 server.

상기 상호운용성을 지원하는 단계는, A3FaaS(A3 Framework as a Service)를 통해 가상화되어 각각의 사물인터넷 서버 플랫폼에 배치된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 MCC(Multiple Clients' Credentials)를 기반으로 상호운용 접근 토큰(IAT)을 발급하는 단계를 포함할 수 있다. The step of supporting interoperability is based on MCC (Multiple Clients' Credentials) through a security interoperability support access control framework that is virtualized through A3 Framework as a Service (A3FaaS) and deployed on each IoT server platform. It may include issuing an interoperable access token (IAT).

상기 상호운용성을 지원하는 단계는, 클라이언트에서 자원의 접근 범위와 관련된 클라이언트들의 크리덴셜들을 A3 서버에 전달하고, 상기 A3 서버에서 전달된 클라이언트 크리덴셜들을 검증하고, 상기 자원의 접근 범위를 갱신한 뒤 상호운용 접근 토큰(IAT)을 발급하는 단계를 포함할 수 있다.In the step of supporting interoperability, the client transmits the credentials of clients related to the access range of the resource to the A3 server, verifies the client credentials transmitted from the A3 server, and updates the access range of the resource. It may include issuing an interoperable access token (IAT).

상호운용성 지원 접근 제어를 위한 제어 시스템은, 접근 제어를 위한 계층을 가상화한 보안 상호운용성 지원 접근 제어 프레임워크를 제공하는 프레임워크 제공부; 및 상기 가상화된 계층에 기반한 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 이종의 사물인터넷 플랫폼 간에 상호운용성을 지원하는 상호운용성 지원부를 포함할 수 있다. The control system for interoperability support access control includes: a framework providing unit that provides a security interoperability support access control framework by virtualizing a layer for access control; And an interoperability support unit supporting interoperability between heterogeneous IoT platforms through a security interoperability support access control framework based on the virtualized layer.

상호운용성을 고려한 접근 제어 계층을 가상화한 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 이종의 사물인터넷 플랫폼 간에 보안 상호운용성을 제공할 수 있다. The security interoperability support access control framework that virtualizes the access control layer considering interoperability can provide security interoperability between heterogeneous IoT platforms.

상호운용 접근 토큰을 이용하여 여러 도메인에 접근이 가능하기 때문에 토큰 관리가 간편하다. Token management is easy because it is possible to access multiple domains using an interoperable access token.

사물 인터넷 기기들이 사물인터넷 플랫폼에 인증 및 인가 과정을 위임하여 상호운용을 위한 인증 및 인가 과정에 필요한 성능적 부담을 최소화할 수 있다. IoT devices can minimize the performance burden required for the authentication and authorization process for interoperability by entrusting the authentication and authorization process to the IoT platform.

도 1은 일 실시예에 있어서 접근 제어를 위한 계층을 가상화하여 보안 상호운용성 지원 접근 제어 프레임워크를 제공하는 것을 나타낸 도면이다.
도 2는 일 실시예에 따른 제어 시스템의 보안 상호운용성 지원 접근 제어 프레임워크를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 제어 시스템에서 사물 인터넷 서버 플랫폼 간의 보안 상호운용성 지원 접근 제어를 위한 동작을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 제어 시스템의 보안 상호운용성 지원 접근 제어 프레임워크의 또 다른 예이다.
도 5는 내지 도 10은 일 실시예에 따른 제어 시스템에서 IAT를 발급하는 방법을 설명하기 위한 다양한 예이다.
도 11은 일 실시예에 따른 제어 시스템의 구성을 설명하기 위한 블록도이다.
도 12는 일 실시예에 따른 제어 시스템에서 보안 상호운용성 지원 접근 제어 방법을 설명하기 위한 흐름도이다.
FIG. 1 is a diagram illustrating providing an access control framework supporting security interoperability by virtualizing a layer for access control in an embodiment.
FIG. 2 is a diagram illustrating an access control framework supporting security interoperability of a control system according to an embodiment.
3 is a flowchart illustrating an operation for access control supporting security interoperability between IoT server platforms in a control system according to an embodiment.
4 is another example of an access control framework supporting security interoperability of a control system according to an embodiment.
5 to 10 are various examples for explaining a method of issuing an IAT in a control system according to an embodiment.
11 is a block diagram illustrating a configuration of a control system according to an embodiment.
12 is a flowchart illustrating an access control method supporting security interoperability in a control system according to an embodiment.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

도 1은 일 실시예에 있어서 접근 제어를 위한 계층을 가상화하여 보안 상호운용성 지원 접근 제어 프레임워크를 제공하는 것을 나타낸 도면이다. FIG. 1 is a diagram illustrating providing an access control framework supporting security interoperability by virtualizing a layer for access control in an embodiment.

상호운용성을 고려한 접근 제어 프레임워크는 인증, 인가 및 감사 계층이 가상화되어 사물인터넷 플랫폼에 일괄적으로 제공될 수 있다. 도 1은 인증, 인가, 감사 계층의 개요를 나타낸 것으로, A3(Authentication, Authorization, Auditing; A3) 계층에서 상호운용 가능한 접근 제어를 제공하기 위해서 기존의 OAuth 2.0 표준을 확장하여 적용할 수 있다. 기존의 OAuth 2.0 표준은 명확한 인가 서버 기능(authorization capability)이나 토큰의 구조 등을 정의하고 있지 않기 때문에 각 사물인터넷 플랫폼들에서 OAuth 2.0을 구현하면 인가 서버 기능이나 토큰의 구조 등이 상이할 수밖에 없으므로 상호운용성이 부족해지는 문제가 존재한다. 실시예에서는 인증, 인가 및 감사 기능을 하나의 계층으로 가상화하여 핵심 기능이나 토큰의 구조 등이 동일하여 이종의 사물인터넷 플랫폼 간에 상호운용성을 지원할 수 있다.In the access control framework considering interoperability, authentication, authorization, and audit layers are virtualized and can be collectively provided to the IoT platform. 1 shows an overview of the authentication, authorization, and auditing layers, and can be applied by extending the existing OAuth 2.0 standard in order to provide interoperable access control at the A3 (Authentication, Authorization, Auditing; A3) layer. Since the existing OAuth 2.0 standard does not define a clear authorization capability or token structure, if OAuth 2.0 is implemented in each IoT platform, the authorization server function and token structure are inevitably different. There is a problem of lack of operability. In the embodiment, authentication, authorization, and audit functions are virtualized into one layer, so that the core functions or the structure of tokens are the same, so that interoperability between heterogeneous IoT platforms may be supported.

실시예에서는 상호운용 접근 토큰(interoperable access token; IAT)을 기반으로 상호운용이 이루어질 수 있다. 기존의 OAuth 2.0을 기반으로 발급되는 접근 토큰은 하나의 도메인(예를 들어, ARTIK 사물인터넷 플랫폼)에 제한된 접근 스코프(access scope)를 가지지만, 실시예에 따른 IAT는 복수 개의 도메인(예를 들면, ARTIK과 FIWARE 사물인터넷 플랫폼)에 걸친 글로벌 접근 스코프(global access scope)를 가질 수 있다. 이를 통해서 복수 개의 토큰 대신 단일 토큰만 관리하면 되므로, 토큰 관리(토큰 생성, 갱신, 폐기)가 간단해지며, 이종의 사물인터넷 플랫폼 간의 상호운용성을 제공할 수 있게 된다.In an embodiment, interoperation may be performed based on an interoperable access token (IAT). An access token issued based on the existing OAuth 2.0 has a limited access scope in one domain (eg, ARTIK IoT platform), but the IAT according to the embodiment has a plurality of domains (for example, , ARTIK and FIWARE IoT platform) can have a global access scope (global access scope). This simplifies the management of tokens (token creation, renewal, and destruction) because it is only necessary to manage a single token instead of a plurality of tokens, and interoperability between heterogeneous IoT platforms can be provided.

성능이 제한적인 사물인터넷 기기들은 사물인터넷 플랫폼의 인증 및 인가 계층에 인증과 인가 과정을 위임하기 때문에 상호운용을 위한 인증 및 인가 과정에 필요한 성능적 부담을 최소화할 수 있다.IoT devices with limited performance delegate the authentication and authorization process to the authentication and authorization layer of the IoT platform, thereby minimizing the performance burden required for the authentication and authorization process for interoperability.

도 2는 일 실시예에 따른 제어 시스템의 보안 상호운용성 지원 접근 제어 프레임워크를 설명하기 위한 도면이다. FIG. 2 is a diagram illustrating an access control framework supporting security interoperability of a control system according to an embodiment.

사물인터넷 플랫폼(100)에 보안 상호운용성 지원 접근 제어 프레임워크(200)가 제공될 수 있다. 도 2에서는 하나의 사물인터넷 플랫폼을 대상으로 동작하는 보안 상호운용성 지원 제어 프레임워크의 동작을 설명하기로 한다. An access control framework 200 supporting security interoperability may be provided to the IoT platform 100. In FIG. 2, the operation of the security interoperability support control framework that operates for one IoT platform will be described.

일반적으로 사물인터넷 서버 플랫폼의 자원들은 도메인마다 개별적으로 관리된다. 사물인터넷 서버 플랫폼의 자원에 대한 접근 권한이 접근 토큰을 기반으로 검증될 수 있다. OAuth 표준에서는 접근 토큰의 발급을 위하여 사용자 또는 클라이언트에 관련된 크리덴셜을 사용하거나 자원 소유자의 허가(grant)를 받아야 한다. In general, resources of the IoT server platform are individually managed for each domain. The access right to resources of the IoT server platform can be verified based on the access token. In the OAuth standard, for issuing an access token, a user or client-related credential must be used or a resource owner's grant must be obtained.

구체적으로, 사물인터넷 서버 플랫폼(100)에 접근하고자 하는 요청자는 웹 서버 등을 통해 제공되는 인터페이스를 사용하여 보안 상호운용성 지원 접근 제어 프레임워크(200)에 사용자/클라이언트 정보를 등록할 수 있다(1). 보안 상호운용성 지원 접근 제어 프레임워크(200)는 OAuth 2.0 표준에 명시된 인가 코드(Authorization Code) 등의 과정을 통해서 요청자(210)를 인증하고 인가할 수 있다(2). 보안 상호운용성 지원 접근 제어 프레임워크(200)는 접근 토큰(access token)을 발급할 수 있다(3). 보안 상호운용성 지원 접근 제어 프레임워크(200)는 만약 인증 및 인가 과정에 실패할 경우, 토큰을 발급하지 않고 세션을 종료할 수 있다. 요청자가 발급받은 토큰으로 사물인터넷 서버 플랫폼(100)의 자원이 요청될 수 있다(4). 보안 상호운용성 지원 접근 제어 프레임워크(200)는 요청자로부터 자원이 요청되면서 제시된 토큰을 검증할 수 있다(5). 보안 상호운용성 지원 접근 제어 프레임워크(200)에서 접근 토큰의 검증으로 자원의 사용 권한 여부를 검증하는 것을 예를 들어 설명하였으나, 역할(role)과 같은 속성(attribute) 등을 기반으로 추가적인 인증/인가 과정이 추가될 수도 있다. 보안 상호운용성 지원 접근 제어 프레임워크(200)는 토큰이 정상적으로 검증될 경우, 사물인터넷 서버 플랫폼(100)의 자원을 검색할 수 있다(6). 보안 상호운용성 지원 접근 제어 프레임워크(200)는 요청자(210)로부터 요청된 자원이 사물인터넷 서버 플랫폼(100)에 존재할 경우, 상기 요청된 자원을 요청자(210)에게 전달할 수 있다(7). Specifically, a requestor who wants to access the IoT server platform 100 may register user/client information in the security interoperability support access control framework 200 using an interface provided through a web server or the like (1 ). The security interoperability support access control framework 200 may authenticate and authorize the requester 210 through a process such as an authorization code specified in the OAuth 2.0 standard (2). The security interoperability support access control framework 200 may issue an access token (3). The security interoperability support access control framework 200 may terminate the session without issuing a token if the authentication and authorization process fails. A resource of the IoT server platform 100 may be requested with a token issued by the requestor (4). The security interoperability support access control framework 200 may verify the presented token while a resource is requested from the requester (5). Security interoperability support In the access control framework 200, it has been described as an example to verify whether or not to use a resource by verifying an access token, but additional authentication/authorization based on attributes such as a role. Procedures may be added. The security interoperability support access control framework 200 may search for resources of the IoT server platform 100 when the token is normally verified (6). When a resource requested from the requestor 210 exists in the IoT server platform 100, the security interoperability support access control framework 200 may deliver the requested resource to the requestor 210 (7).

도 3은 일 실시예에 따른 제어 시스템에서 사물 인터넷 서버 플랫폼 간의 보안 상호운용성 지원 접근 제어를 위한 동작을 설명하기 위한 흐름도이다.3 is a flowchart illustrating an operation for access control supporting security interoperability between IoT server platforms in a control system according to an embodiment.

도 3에서는 복수 개의 사물인터넷 서버 플랫폼 간의 보안 상호운용성 접근 제어 동작을 설명하기로 한다. 이때, 이종의 사물인터넷 서버 플랫폼에서 제공되는 데이터나 서비스에 접근 가능하도록 하는 IAT(상호운용 접근 토큰) 발급부터 자원 요청까지의 동작을 설명하기로 한다. IAT 발급을 위하여 기존의 Client Credentials(CC)를 확장한 Multiple Clients' Credentials(MCC) 방식을 사용하는 것을 예를 들어 설명하기로 한다. 요청자가 제일 처음 IAT를 요청할 때, 여러 도메인의 크리덴셜들을 전송하고, 크리덴셜의 검증을 위해 사물인터넷 서버 플랫폼 간의 통신이 이루어질 수 있다.In FIG. 3, a security interoperability access control operation between a plurality of IoT server platforms will be described. In this case, an operation from issuing an interoperable access token (IAT) to requesting a resource to enable access to data or services provided by heterogeneous IoT server platforms will be described. For IAT issuance, the use of the Multiple Clients' Credentials (MCC) method, which extends the existing Client Credentials (CC), will be described as an example. When a requestor first requests IAT, credentials of several domains are transmitted, and communication between IoT server platforms can be made to verify the credentials.

우선적으로, 제어 시스템을 구성하고 있는 구성 요소에 대하여 설명하기로 한다. 요청자(210)는 이종의 사물인터넷 서버 플랫폼에서 제공되는 자원들에 접근 가능한 IAT와 상기 접근 가능한 IAT를 사용하여 자원을 요청하는 주체를 의미한다. 사물인터넷 서버 플랫폼 A(제1 사물인터넷 서버 플랫폼)(301)는 신뢰할 수 있는 사물인터넷 서버 플랫폼으로서, 요청자의 IAT 발급 요청에 따라 사물인터넷 서버 플랫폼 A(301)와 사물 인터넷 서버 플랫폼 B(302)에 접근 가능한 IAT를 발급할 수 있다. 사물인터넷 서버 플랫폼 B(제2 사물인터넷 서버 플랫폼)(302)는 신뢰할 수 있는 사물인터넷 서버 플랫폼로서, 사물인터넷 서버 플랫폼 A(301)의 크리덴셜 검증 요청을 처리하고, 자원 요청을 처리할 수 있다. First, the components constituting the control system will be described. The requester 210 refers to an IAT capable of accessing resources provided from a heterogeneous IoT server platform and a subject requesting a resource using the accessible IAT. IoT server platform A (first IoT server platform) 301 is a reliable IoT server platform, and IoT server platform A 301 and IoT server platform B 302 according to the requester's IAT issuance request. You can issue an IAT that is accessible to you. The IoT server platform B (the second IoT server platform) 302 is a reliable IoT server platform and can process a credential verification request from the IoT server platform A 301 and process resource requests. .

보안 상호운용성 지원 접근 제어 모듈(303, 304)은 가상화된 보안 상호운용성 지원 접근 제어 프레임워크를 기반으로 인증, 인가, 감사를 제공하는 보안 모듈이다. 보안 상호운용성 지원 접근 제어 모듈(303, 304)은 확장된 OAuth 2.0을 기반으로 서버에 접근하려는 클라이언트에 대해서 접근 제어(인증과 인가)를 수행하여 서버 내부의 자원을 보호할 수 있다. 인가는 기본적으로 토큰 기반으로 수행되지만, 유연성과 상황 인지적 접근 제어를 위해서 ABAC과 같은 접근 제어 모델이 추가적으로 사용될 수 있다. 데이터베이스(305, 306)는 사물인터넷 서버 플랫폼의 자원이나 크리덴셜들을 저장할 수 있다. 데이터베이스(305, 306) 내에 저장된 데이터들은 보안 상호운용성 지원 접근 제어 모듈(303, 304)에 의해서 적절한 인증과 인가를 받은 사용자/클라이언트에 대해서만 접근이 허용될 수 있다.The security interoperability support access control modules 303 and 304 are security modules that provide authentication, authorization, and audit based on a virtualized security interoperability support access control framework. The security interoperability support access control modules 303 and 304 may perform access control (authentication and authorization) for a client who wants to access the server based on the extended OAuth 2.0 to protect the internal resources of the server. Authorization is basically performed on a token basis, but for flexibility and context-aware access control, an access control model such as ABAC can be additionally used. The databases 305 and 306 may store resources or credentials of the IoT server platform. Data stored in the databases 305 and 306 may be allowed access only to users/clients who have been properly authenticated and authorized by the security interoperability support access control modules 303 and 304.

OAuth 2.0 사용을 위해 필요한 사용자/클라이언트 등록 과정은 도 2에서 설명한 것과 동일하다. 도 3에서는 사물인터넷 서버 플랫폼 A(301)와 사물인터넷 서버 플랫폼 B(302) 간의 동작 과정을 설명하기로 한다. 요청자(210)는 적어도 하나 이상의 사물인터넷 서버 플랫폼에 등록한 요청자의 크리덴션을 이용하여 적어도 하나 이상의 사물인터넷 서버 플랫폼에 접근 가능한 권한을 가진 IAT를 요청할 수 있다(1). 예를 들면, 요청자(210)는 사물인터넷 서버 플랫폼 A(301)와 사물인터넷 서버 플랫폼 B(302)에 등록한 요청자의 크리덴셜을 이용하여 사물인터넷 서버 플랫폼 A(301) 및 사물인터넷 서버 플랫폼 B(302)에 접근 가능한 권한을 가진 IAT를 요청할 수 있다. 이때, 크리덴셜은 기밀성을 유지하기 위하여 해시화될 수 있다. IAT는 기존의 OAuth 표준에서 사용되는 접근 토큰과는 달리 여러 도메인에 접근 가능하도록 글로벌 접근 범위를 가질 수 있다. 글로벌 접근 범위는 "access scope: {"도메인 정보 1": "자원 정보 1", "도메인 정보 2": "자원 정보 2"}와 같은 형태로 설정될 수 있다. 예를 들면 글로벌 접근 범위는 "access scope: {"Domain A": "Resource 1", "Domain B": "Resource 2"}와 같이 설정될 수 있다.The user/client registration process required to use OAuth 2.0 is the same as described in FIG. 2. In FIG. 3, an operation process between the IoT server platform A 301 and the IoT server platform B 302 will be described. The requester 210 may request an IAT having the authority to access at least one IoT server platform by using the requestor's credentials registered in at least one IoT server platform (1). For example, the requester 210 uses the credentials of the requestor registered in the IoT server platform A 301 and the IoT server platform B 302 to use the IoT server platform A 301 and the IoT server platform B ( 302) can request an IAT with access rights. In this case, the credentials may be hashed to maintain confidentiality. Unlike the access tokens used in the existing OAuth standard, IAT can have a global access scope to access multiple domains. The global access scope may be set in the form of "access scope: {"domain information 1": "resource information 1", "domain information 2": "resource information 2"}. For example, the global access scope is " access scope: {"Domain A": "Resource 1", "Domain B": "Resource 2"}.

사물인터넷 서버 플랫폼 A(301)는 요청자(210)로부터 전달받은 크리덴셜 중 사물인터넷 서버 플랫폼 A(301)의 크리덴션을 검증할 수 있다(2). 사물인터넷 서버 플랫폼 A(301)는 사물인터넷 서버 플랫폼 A(301)에 저장된 크리덴셜을 해시화하여 요청자로부터 전달된 해시화된 크리덴셜과 비교함으로써 검증을 수행할 수 있다. The IoT server platform A 301 may verify the credentials of the IoT server platform A 301 among the credentials received from the requester 210 (2). The IoT server platform A 301 may perform verification by hashing the credentials stored in the IoT server platform A 301 and comparing the hashed credentials transmitted from the requestor.

사물인터넷 서버 플랫폼 A(301)는 요청자로부터 전달된 크리덴셜 중 사물인터넷 서버 플랫폼 B(302)의 크리덴션을 사물인터넷 서버 플랫폼 A(301)가 대신 검증할 수 없기 때문에, 사물인터넷 서버 플랫폼 B(302)에 크리덴셜 검증 요청을 전송할 수 있다(3). 이때, 사물인터넷 서버 플랫폼 B(302)에 전달된 크리덴셜은 요청자(210)로부터 전달된 해시화된 크리덴셜이다. The IoT server platform A 301 cannot verify the credentials of the IoT server platform B 302 among the credentials transmitted from the requester, so the IoT server platform B ( Credential verification request may be transmitted to 302 (3). At this time, the credential delivered to the IoT server platform B 302 is the hashed credential delivered from the requestor 210.

사물인터넷 서버 플랫폼 B(302)는 사물인터넷 서버 플랫폼 A(301)로부터 전송된 크리덴셜을 검증할 수 있다(4). 사물인터넷 서버 플랫폼 B(302)는 사물인터넷 서버 플랫폼 B(302)에 저장된 크리덴셜을 해시화하여 사물인터넷 서버 플랫폼 A(301)로부터 전달된 해시화된 크리덴셜, 다시 말해서, 요청자가 보낸 해시화된 크리덴셜과 비교함으로써 검증을 수행할 수 있다. The IoT server platform B 302 may verify the credentials transmitted from the IoT server platform A 301 (4). IoT server platform B (302) hashed the credentials stored in IoT server platform B (302) and hashed credentials transmitted from IoT server platform A (301), that is, hashing sent by the requestor. Verification can be performed by comparing it with the credential.

사물인터넷 서버 플랫폼 B(302)는 크리덴셜 검증을 수행한 크리덴셜 검증 결과를 사물인터넷 서버 플랫폼 A(301)에게 전달할 수 있다(5). The IoT server platform B 302 may transmit a credential verification result that has performed the credential verification to the IoT server platform A 301 (5).

사물인터넷 서버 플랫폼 A(301)는 사물인터넷 서버 플랫폼 A(301)와 사물인터넷 서버 플랫폼 B(302)에 접근 가능한 글로벌 접근 범위(global access scope)를 가진 IAT를 생성할 수 있다(6). 이때, 사물인터넷 서버 플랫폼 A(301) 또는 사물인터넷 서버 플랫폼 B(302)의 크리덴셜 검증 결과에 따라 접근 가능한 영역이 제한될 수 있다. 예를 들면, 사물인터넷 서버 플랫폼 B(302)의 크리덴셜 검증이 실패한 경우, 요청자(210)가 사물인터넷 서버 플랫폼 B(302)에 대한 접근 권한을 요청했어도 이를 무시하고 사물인터넷 서버 플랫폼 A(301)에만 접근이 가능한 IAT가 생성될 수 있다. 크리덴셜 검증에 모두 실패할 경우 IAT를 생성하지 않지만, 일단 IAT가 생성되면 사물인터넷 서버 플랫폼 A(301)는 검증 용도로만 사용되는 해시화된 IAT를 사물인터넷 서버 플랫폼 B(302)에 공유할 수 있다. 이를 통해 사물인터넷 서버 플랫폼 B(302)는 향후 요청자(210)가 자원을 요청할 때 전달되는 IAT(사물인터넷 서버 플랫폼 A(301)로부터 발급된 원본 IAT)를 검증할 수 있다. 해시화된 IAT는 오직 자원 요청 시 전달되는 (원본) IAT의 검증 용도로만 사용되기 때문에 공격자가 중간에 탈취하더라도 사물인터넷 서버 플랫폼 A(301)나 사물인터넷 서버 플랫폼 B(302)의 자원에는 접근할 수 없다.The IoT server platform A 301 may create an IAT having a global access scope accessible to the IoT server platform A 301 and the IoT server platform B 302 (6). In this case, an accessible area may be limited according to a credential verification result of the IoT server platform A 301 or the IoT server platform B 302. For example, if the credential verification of the IoT server platform B 302 fails, even if the requester 210 requests access to the IoT server platform B 302, the requester 210 ignores the request and the IoT server platform A 301 ), an IAT that can only be accessed can be created. If all of the credential verification fails, the IAT is not generated, but once the IAT is generated, the IoT server platform A (301) can share the hashed IAT used only for verification purposes to the IoT server platform B (302). have. Through this, the IoT server platform B 302 may verify the IAT (original IAT issued from the Internet of Things server platform A 301) transmitted when the requestor 210 requests a resource in the future. The hashed IAT is only used for verification of the (original) IAT that is delivered when a resource is requested, so even if an attacker steals it in the middle, he cannot access the resources of the IoT server platform A(301) or the IoT server platform B(302). Can't.

사물인터넷 서버 플랫폼 A(301)는 요청자(210)에게 사물인터넷 서버 플랫폼 A(301)와 사물인터넷 서버 플랫폼 B(302)에 접근 가능한 (원본) IAT를 전달할 수 있다(7). 이때, IAT는 기밀성과 무결성을 보장하기 위하여 DTLS, TLS와 같은 기술이 사용되어 전달될 수 있다. IAT는 기본적으로 OAuth 표준에서 사용하는 Bearer 타입이며, 접근할 수 있는 범위가 하나의 도메인이 아니라 복수의 도메인인 점이 일반적인 접근 토큰과 다르다. 만약 Bearer 토큰 대신, JWT와 HMAC을 활용하면, 토큰 자체의 무결성도 제공할 수 있다.The IoT server platform A 301 may deliver the (original) IAT accessible to the IoT server platform A 301 and the IoT server platform B 302 to the requestor 210 (7). At this time, the IAT may be delivered using technologies such as DTLS and TLS to ensure confidentiality and integrity. IAT is basically a bearer type used in the OAuth standard, and it is different from general access tokens in that the scope of access is not one domain but multiple domains. If you use JWT and HMAC instead of Bearer token, you can also provide the integrity of the token itself.

요청자(210)는 사물인터넷 서버 플랫폼 A(301)로부터 발급받은 원본 IAT를 기반으로 사물인터넷 서버 플랫폼 B(302)에 접근할 수 있다(8). 이때, 사용된 IAT는 사물인터넷 서버 플랫폼 A(301)에서 발급된 것으로, 사물인터넷 서버 플랫폼 A(301)로의 접근도 가능하다. The requester 210 may access the IoT server platform B 302 based on the original IAT issued from the IoT server platform A 301 (8). At this time, the used IAT is issued by the IoT server platform A 301, and access to the IoT server platform A 301 is also possible.

도 4는 일 실시예에 따른 제어 시스템의 보안 상호운용성 지원 접근 제어 프레임워크의 또 다른 예이다. 4 is another example of an access control framework supporting security interoperability of a control system according to an embodiment.

도 3에서는 MCC를 기반으로 IAT를 발급받는 것을 설명하였으나, 보안 상호운용성 지원 접근 제어 프레임워크는 클라이언트 크리덴셜(Client Credentials)을 확장한 MCC 외에 Authorization Code를 확장한 Authorization Code for Multiple Domains(ACMD), Implicit를 확장한 Implicit for Multiple Domains(IMD), Resource Owner Password Credentials를 확장한 Multiple Resource Owners' Password Credentials(MROPC) 방식을 통해서 IAT 발급을 수행할 수 있다. 3 illustrates that IAT is issued based on the MCC, but the security interoperability support access control framework includes the Authorization Code for Multiple Domains (ACMD), which extends the Authorization Code, in addition to the MCC that extends Client Credentials, IAT issuance can be performed through Implicit for Multiple Domains (IMD) extended Implicit and Multiple Resource Owners' Password Credentials (MROPC) extended Resource Owner Password Credentials.

보안 상호운용성 지원 접근 제어 프레임워크(200)는 A3 Framework as a Service(A3FaaS)(400)를 통해 가상화되어 각 사물인터넷 플랫폼(예를 들면, 사물인터넷 서버 플랫폼)에 배치될 수 있다. 상호운용성 지원 접근 제어 프레임워크의 IAT 발급 등의 상호운용성 지원 접근 제어 기능은 A3 서버에서 제공된다. 또한, A3 서버에서 사용되는 크리덴셜(사용자/클라이언트 크리덴셜, 토큰 등)과 상호운용성 지원을 위한 보안 정책(Domain Level Interoperability Policy (DL-IP) 및 Resource Level Interoperability Policy(RL-IP))들은 각각 데이터베이스에 저장되어 사용될 수 있다. 이에, A3에 기반한 IAT 발급 방식의 다양한 방법을 설명하기로 한다.The security interoperability support access control framework 200 may be virtualized through the A3 Framework as a Service (A3FaaS) 400 and deployed on each IoT platform (eg, IoT server platform). Interoperability support access control functions such as IAT issuance of the access control framework are provided by the A3 server. In addition, the credentials (user/client credentials, tokens, etc.) used in the A3 server and the security policies (Domain Level Interoperability Policy (DL-IP) and Resource Level Interoperability Policy (RL-IP)) for interoperability support are respectively It can be stored and used in a database. Accordingly, various methods of IAT issuance method based on A3 will be described.

도 5는 내지 도 10은 일 실시예에 따른 제어 시스템에서 IAT를 발급하는 방법을 설명하기 위한 다양한 예이다. 5 to 10 are various examples for explaining a method of issuing an IAT in a control system according to an embodiment.

도 5를 참고하면, ACMD(Authorization Code for Multiple Domains)에 기반하여 IAT를 발급하는 방식에 대하여 설명하기로 한다. ACMD는 사용자의 로그인 과정을 통해 발급된 인가 코드를 이용하여 IAT를 발급하는 방식을 의미한다. 클라이언트는 접근하기 위한 자원들을 명시하여 IAT 발급을 요청할 수 있다(1). 클라이언트는 접근을 요청한 자원에 대한 권한을 획득하기 위해 자원 소유자들(요청된 접근 범위의 자원을 소유한 사용자들)로부터 허가들을 받을 수 있고, 허가를 A3 서버에게 전송할 수 있다(2). A3 서버는 클라이언트로부터 전송된 허가들을 검증할 수 있고, 검증 결과를 통하여 클라이언트에게 인가 코드를 발급할 수 있다(3). 클라이언트는 A3로부터 발급받은 인가 코드를 다시 A3 서버에게 전달할 수 있다(4). A3 서버는 클라이언트로부터 전달받은 인가 코드를 검증한 뒤, 클라이언트에게 IAT를 발급할 수 있다(5).Referring to FIG. 5, a method of issuing IAT based on ACMD (Authorization Code for Multiple Domains) will be described. ACMD refers to a method of issuing IAT using an authorization code issued through a user's login process. Clients can request IAT issuance by specifying the resources to access (1). A client can obtain permissions from resource owners (users who own a resource of the requested access range) to obtain permission for a resource requesting access, and can transmit permission to the A3 server (2). The A3 server can verify the permissions sent from the client, and issue an authorization code to the client through the verification result (3). The client can pass the authorization code issued from A3 back to the A3 server (4). The A3 server can issue IAT to the client after verifying the authorization code received from the client (5).

구체적으로, 도 6을 참고하면, 클라이언트(602)는 IAT 발급을 위한 ACMD를 시작할 수 있다(1). 사용자 에이전트(601)는 클라이언트(602)가 요구하는 접근 범위(예를 들어, "access scope": {"domain A": "resource A", "domain B": "resource B"})와 리다이렉션 URI를 기반으로 도메인 A의 A3 서버 1(603)의 토큰 엔드포인트에 IAT를 요청할 수 있다(2). 이때, 각 도메인들의 A3 서버들은 동일한 A3FaaS로부터 가상화된 서버로, 어느 A3 서버든 동일한 상호운용 접근 제어 기능을 제공할 수 있다. 이에 따라, 사용자 에이전트(601)는 도메인 A의 A3 서버 1(603)에 IAT 발급 요청을 보냈으나, 도메인 B의 A3 서버 2(604)에 IAT 발급 요청을 보내도 동일한 기능을 수행할 수 있다. Specifically, referring to FIG. 6, the client 602 may initiate an ACMD for issuing IAT (1). The user agent 601 includes an access scope (for example, "access scope": {"domain A": "resource A", "domain B": "resource B"}) and a redirection URI requested by the client 602 Based on the IAT can be requested from the token endpoint of the A3 server 1 603 of domain A (2). At this time, the A3 servers of each domain are virtualized servers from the same A3FaaS, and any A3 server can provide the same interoperable access control function. Accordingly, the user agent 601 sends an IAT issuance request to the A3 server 1 603 of domain A, but can perform the same function by sending the IAT issuance request to the A3 server 2 604 of domain B.

도메인 A의 A3 서버 1(603)은 IAT 발급을 요청한 사용자 에이전트(601)를 로그인 페이지로 리다이렉트할 수 있다(3). 사용자 에이전트(601)는 클라이언트(602)로부터 요청된 접근 범위와 관련된 자원들의 자원 소유자(사용자)(600)에게 로그인을 요청할 수 있다. 기존의 Authorization Code 방식은 단일 자원 소유자의 크리덴셜만을 요구하지만 ACMD는 복수 개의 도메인에 해당하는 자원 소유자들의 크리덴셜을 요구하기 때문에, 로그인 페이지는 다수의 계정 입력 필드를 가질 수 있다(4). 자원 소유자(600)는 자원 소유자의 계정 정보(아이디 및 패스워드)로 로그인하여 클라이언트(602)의 자원 접근에 대해서 허가할 수 있다(5). 예를 들면, 자원 소유자(600)는 자원 소유자의 크리덴셜을 입력하여 자원 접근을 허가할 수 있다. 사용자 에이전트(601)는 자원 소유자(600)로부터 입력된 크리덴셜을 도메인 A의 A3 서버 1(603)에 전달할 수 있다(6). 도메인 A의 A3 서버 1(603)은 도메인 A와 자원 A에 해당하는 상호운용 접근 정책(DL-IP와 RL-IP), 및 사용자 에이전트(601)로부터 전달받은 크리덴셜 중 도메인 A에 해당하는 크리덴셜을 검증할 수 있다(7). 또한, 도메인 B의 자원 B에 대한 정책과 자원 B에 대한 자원 소유자의 크리덴셜은 도메인 B의 A3 서버 2(604)가 검증할 수 있기 때문에, 도메인 A의 A3 서버 1(603)은 도메인 B의 A3 서버 2(604)에게 도메인 B와 자원 B에 대한 정책과 크리덴셜 검증을 요청할 수 있다(8).The A3 server 1 603 of the domain A may redirect the user agent 601 requesting the IAT issuance to the login page (3). The user agent 601 may request a login from the resource owner (user) 600 of resources related to the access range requested from the client 602. The existing Authorization Code method requires only the credentials of a single resource owner, but since ACMD requires the credentials of resource owners corresponding to multiple domains, the login page can have multiple account input fields (4). The resource owner 600 may log in with the resource owner's account information (ID and password) and allow the client 602 to access the resource (5). For example, the resource owner 600 may allow access to the resource by inputting the resource owner's credentials. The user agent 601 may transfer the credentials input from the resource owner 600 to the A3 server 1 603 of domain A (6). Domain A's A3 server 1 (603) is an interoperable access policy (DL-IP and RL-IP) corresponding to domain A and resource A, and of the credentials received from the user agent 601, which corresponds to domain A. The dental can be verified (7). In addition, because the policy for resource B of domain B and the credential of the resource owner for resource B can be verified by the A3 server 2 604 of domain B, the A3 server 1 603 of domain A is A3 server 2 (604) may request a policy and credential verification for domain B and resource B (8).

도메인 B의 A3 서버 2(604)는 클라이언트(602)로부터 요청된 자원 B와 자원 B가 위치한 도메인 B의 상호운용 정책(DL-IP와 RL-IP), 및 자원 B에 대한 자원 소유자의 크리덴셜을 검증할 수 있다(9). 도메인 B의 A3 서버 2(604)는 자원 B와 자원 B가 위치한 도메인 B의 상호운용 정책(DL-IP와 RL-IP) 및 자원 B에 대한 자원 소유자의 크리덴셜을 검증한 검증 결과를 도메인 A의 A3 서버 1(603)에게 전달할 수 있다(10). 도메인 A의 A3 서버 1(603)은 자원 정책과 크리덴셜 검증 결과를 기반으로 클라이언트가 요청한 접근 범위를 갱신할 수 있다(11). 예를 들면, 도메인 A의 A3 서버 1(603)은 도메인 B의 A3 서버 2(604)의 크리덴셜 검증 결과가 실패한 것으로 판단됨에 따라 자원 B를 제외한 자원 A에만 접근 가능하도록 접근 범위("access scope": {"domain A": "resource A"})를 수정할 수 있다. 도메인 A의 A3 서버 1(603)은 리다이렉션 URI를 이용하여 사용자 에이전트(601)에 인가 코드를 전달할 수 있고, 사용자 에이전트(601)는 클라이언트(602)에게 도메인 A로부터 발급받은 인가 코드를 전달할 수 있다(12, 13). 클라이언트(602)는 전달받은 인가 코드를 통해 도메인 A의 A3 서버 1(603)에 IAT 발급을 요청할 수 있다(14). 도메인 A의 A3 서버 1(603)은 상기 인가 코드를 검증하고, IAT를 발급할 수 있다(15).Domain B's A3 server 2 (604) is the resource B requested from the client 602 and the domain B's interoperability policy (DL-IP and RL-IP) in which the resource B is located, and the resource owner's credential for resource B. Can be verified (9). Domain B's A3 server 2 (604) verifies the domain A's interoperability policies (DL-IP and RL-IP) in which resource B and resource B are located and the credentials of the resource owner for resource B. It can be delivered to the A3 server 1 (603) of (10). The A3 server 1 603 of domain A may update the access range requested by the client based on the resource policy and the credential verification result (11). For example, as it is determined that the credential verification result of domain B A3 server 2 604 has failed, domain A A3 server 1 603 can access only resource A excluding resource B. ": {"domain A": "resource A"}) can be modified. The A3 server 1 603 of the domain A can transmit the authorization code to the user agent 601 using the redirection URI, and the user agent 601 can deliver the authorization code issued from the domain A to the client 602. (12, 13). The client 602 may request IAT issuance to the A3 server 1 603 of domain A through the received authorization code (14). A3 server 1 603 of domain A may verify the authorization code and issue an IAT (15).

도 7을 참고하면, IMD(Implicit for Multiple Domains)에 기반하여 IAT를 발급하는 방식에 대하여 설명하기로 한다. IMD는 도 6의 ACMD의 과정을 축소한 인가 과정으로, 인가 코드의 발급 단계에서 인가 코드가 아닌 IAT를 곧바로 발급하는 것이다. 상세하게는, 클라이언트가 IMD를 시작할 수 있다(1). 클라이언트가 접근을 원하는 자원의 접근 범위와 IAT를 발급받을 리다이렉션 URI를 함께 전달할 수 있다. 클라이언트는 로그인 과정을 통해서 요청한 자원의 접근 범위에 대한 권한을 획득을 수 있도록 자원 소유자들의 허가를 받고, 상기 허가를 A3 서버에 전달할 수 있다(2). A3 서버는 클라이언트로부터 요청된 자원과 상기 자원이 위치한 도메인의 상호운용 정책, 및 상기 자원의 크리덴셜을 검증한 뒤, 클라이언트에게 IAT를 전달할 수 있다(3). 다시 말해서, IMD에 기반한 IAT 발급 과정은 ACMD에 기반한 IAT 발급 과정과 달리, 도 6의 (12), (13)과정이 생략되어, 인가 코드가 아닌 IAT가 직접 발급된다.Referring to FIG. 7, a method of issuing IAT based on IMD (Implicit for Multiple Domains) will be described. The IMD is an authorization process that is a reduced process of ACMD of FIG. 6, and in the issuing stage of the authorization code, the IAT is issued immediately instead of the authorization code. Specifically, the client can initiate the IMD (1). The access range of the resource that the client wants to access and the redirection URI to receive IAT can be delivered together. The client may obtain permission from resource owners to obtain permission for the access range of the requested resource through the login process, and transfer the permission to the A3 server (2). The A3 server may transmit the IAT to the client after verifying the resource requested from the client, the interoperability policy of the domain in which the resource is located, and the credentials of the resource (3). In other words, the IAT issuing process based on the IMD is different from the IAT issuing process based on the ACMD, and the processes (12) and (13) of FIG. 6 are omitted, and the IAT is issued directly, not the authorization code.

도 8을 참고하면, MROPC(Multiple Resource Owners' Password Credentials)에 기반하여 IAT를 발급하는 방식에 대하여 설명하기로 한다. MROPC는 ACMD나 IMD에 비교적 간단한 방식으로, 사용자 에이전트나 로그인 과정이 존재하지 않고, 직접적으로 자원 소유자의 크리덴셜을 전달하여 IAT를 발급받는 것이다. 클라이언트는 기존에 자원 소유자들의 크리덴셜을 소유하고 있거나, 자원을 요청할 때 자원 소유자의 크리덴셜들을 전달받아야 한다(1). 클라이언트는 MROPC 요청과 함께 원하는 자원의 접근 범위 및 상기 접근 범위에 대한 권한을 대체할 수 있는 자원 소유자 크리덴셜을 A3 서버에 전송할 수 있다(2). MROPC 요청을 받은 A3 서버는 클라이언트로부터 요청된 자원의 접근 범위와 크리덴셜을 검증하고 IAT를 발급할 수 있다(3).Referring to FIG. 8, a method of issuing IAT based on Multiple Resource Owners' Password Credentials (MROPC) will be described. MROPC is a relatively simple method to ACMD or IMD, and there is no user agent or login process, and the IAT is issued by directly transmitting the resource owner's credentials. The client must already own the resource owner's credentials, or must receive the resource owner's credentials when requesting a resource (1). The client may transmit the MROPC request to the A3 server with the access range of the desired resource and the resource owner credential that can substitute the authority for the access range (2). Upon receiving the MROPC request, the A3 server can verify the access range and credentials of the resource requested from the client and issue IAT (3).

구체적으로, 도 9를 참고하면, 도메인 A의 자원 소유자 1(901)과 도메인 B의 자원 소유자 2(902)는 자원 소유자 각각의 크리덴셜(도메인 A의 자원 소유자 1의 크리덴셜, 도메인 B의 자원 소유자 2의 크리덴셜)을 클라이언트(602)에게 전달할 수 있다(1, 2). 클라이언트(602)는 자원 소유자 크리덴셜을 기반으로 접근을 원하는 자원들의 접근 범위(예를 들어, "access scope": {"domain A": "resource A", "domain B": "resource B"})를 설정하여 MROPC를 시작할 수 있다(3). 클라이언트의 요청을 받은 도메인 A의 A3 서버 1(603)은 도메인 A와 자원 A에 해당하는 상호운용 정책(DL-IP와 RL-IP), 및 자원 소유자 크리덴셜을 검증할 수 있다(4). 도메인 A의 A3 서버 1(603)은 자체적으로 검증이 불가능한 도메인 B의 상호운용 정책과 도메인 B에 등록된 자원 소유자 크리덴셜을 검증하기 위해서 도메인 B의 A3 서버 2(604)에 정책 및 크리덴셜 검증 요청을 전송할 수 있다(5). 도메인 B의 A3 서버 2(604)는 도메인 A의 A3 서버 1(603)로부터 전송된 검증 요청에 따라 도메인 B와 자원 B에 해당하는 상호운용 보안 정책, 및 자원 소유자 크리덴셜을 검증할 수 있다(6). 도메인 B의 A3 서버 2(604)는 도메인 A의 A3 서버 1(603)에게 도메인 B와 자원 B에 해당하는 상호운용 보안 정책, 및 자원 소유자 크리덴셜 검증을 수행한 검증 결과를 전달할 수 있다(7). 도메인 A의 A3 서버 1(603)은 도메인 A의 A3 서버 1(603)과 도메인 B의 A3 서버 2(604)의 상호운용 보안 정책 및 크리덴셜 검증 결과에 따라 접근 범위를 갱신할 수 있다(8). 예를 들면, 도메인 A의 A3 서버 1(603)은 도메인 B의 A3 서버 2(604)의 상호운용 정책 검증이나 자원 소유자 크리덴셜 검증이 실패하면, 자원 B에 접근이 불가능하도록 접근 범위(예를 들어, "access scope": {"domain A": "resource A"})를 갱신할 수 있다. 도메인 A의 A3 서버 1(603)은 갱신한 접근 범위를 기반으로 IAT를 생성하고, 생성된 IAT를 클라이언트(602)에 전달할 수 있다(9).Specifically, referring to FIG. 9, the resource owner 1 901 of domain A and the resource owner 2 902 of domain B are the credentials of each resource owner (the credential of the resource owner 1 of the domain A, the resource of the domain B). Owner 2's credentials) can be passed to the client 602 (1, 2). The client 602 is the access scope of the resources desired to be accessed based on the resource owner's credentials (eg, "access scope": {"domain A": "resource A", "domain B": "resource B"} ) To start MROPC (3). A3 server 1 603 of domain A receiving a request from the client may verify the interoperation policies (DL-IP and RL-IP) corresponding to domain A and resource A, and resource owner credentials (4). Domain A's A3 server 1 (603) verifies the domain B's interoperability policy, which cannot be verified on its own, and the domain B's A3 server 2 (604) to verify the resource owner's credentials. The request can be sent (5). A3 server 2 604 of domain B may verify the interoperability security policy and resource owner credentials corresponding to domain B and resource B according to the verification request transmitted from the A3 server 1 603 of domain A ( 6). A3 server 2 604 of domain B may transmit an interoperation security policy for domain B and resource B and a verification result of performing resource owner credential verification to A3 server 1 603 of domain A (7 ). A3 server 1 603 of domain A can update the access range according to the interoperability security policy and credential verification result of A3 server 1 603 of domain A and A3 server 2 604 of domain B (8). ). For example, if domain A's A3 server 1 (603) fails to verify the interoperability policy or resource owner credentials of domain B's A3 server 2 (604), the access scope (e.g., For example, "access scope": {"domain A": "resource A"}) can be updated. The A3 server 1 603 of the domain A may generate an IAT based on the updated access range and transmit the generated IAT to the client 602 (9).

도 10을 참고하면, MCC(Multiple Clients' Credentials) 에 기반하여 IAT를 발급하는 방식에 대하여 설명하기로 한다. MCC는 앞서 설명한 MROPC 방식과 유사하지만, IAT의 발급을 위해서 자원 소유자의 크리덴셜을 이용하는 것이 아니라 클라이언트 크리덴셜(즉, 클라이언트 ID와 Secret)을 이용하는 것이다. IAT를 발급받기 위해서 자원의 접근 범위와 관련된 클라이언트들의 크리덴셜들을 A3 서버에 전달할 수 있다(1). A3 서버는 전달된 클라이언트 크리덴셜들을 검증하고, 접근 범위를 알맞게 갱신한 뒤 IAT를 발급할 수 있다(2).Referring to FIG. 10, a method of issuing IAT based on Multiple Clients' Credentials (MCC) will be described. MCC is similar to the MROPC method described above, but does not use the resource owner's credentials for issuing IAT, but uses the client credentials (ie, client ID and Secret). In order to obtain IAT, the credentials of clients related to the access range of resources can be transferred to the A3 server (1). The A3 server can issue an IAT after verifying the delivered client credentials, updating the access range appropriately (2).

이와 같이, ACMD, IMD, MROPC 및 MCC는 이종의 도메인에 접근이 가능한 범위를 가지는 IAT를 발급하는데 사용되며, 각 방식들은 기존의 OAuth 2.0 표준에서 정의된 Authorization Code, Implicit, Resource Owner Password Credentials, Client Credentials들이 사용되는 환경이나 목적 등을 따른다.As such, ACMD, IMD, MROPC, and MCC are used to issue IATs with a range of accessibility to heterogeneous domains, and each method is the Authorization Code, Implicit, Resource Owner Password Credentials, Client It depends on the environment or purpose in which the credentials are used.

도 11은 일 실시예에 따른 제어 시스템의 구성을 설명하기 위한 블록도이고, 도 12는 일 실시예에 따른 제어 시스템에서 보안 상호운용성 지원 접근 제어 방법을 설명하기 위한 흐름도이다. FIG. 11 is a block diagram illustrating a configuration of a control system according to an embodiment, and FIG. 12 is a flowchart illustrating a security interoperability support access control method in a control system according to an embodiment.

제어 시스템(1100)의 프로세서는 프레임워크 제공부(1110) 및 상호운용성 지원부(1120)를 포함할 수 있다. 이러한 프로세서의 구성요소들은 제어 시스템(1100)에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 12의 보안 상호운용성 지원 접근 제어 방법이 포함하는 단계들(1210 내지 1220)을 수행하도록 제어 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.The processor of the control system 1100 may include a framework providing unit 1110 and an interoperability support unit 1120. Components of such a processor may be expressions of different functions performed by the processor according to a control command provided by a program code stored in the control system 1100. The processor and components of the processor may control the control system to perform steps 1210 to 1220 included in the security interoperability support access control method of FIG. 12. In this case, the processor and the components of the processor may be implemented to execute an instruction according to the code of the operating system included in the memory and the code of at least one program.

프로세서는 보안 상호운용성 지원 접근 제어 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 제어 시스템에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 제어 시스템을 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 프레임워크 제공부(1110) 및 상호운용성 지원부(1120) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(1210 내지 1220)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다. The processor may load program code stored in a program file for a security interoperability support access control method into a memory. For example, when a program is executed in the control system, the processor may control the control system to load the program code from the program file into the memory under the control of the operating system. At this time, each of the processor and the framework providing unit 1110 and the interoperability support unit 1120 included in the processor executes a command of a corresponding part of the program code loaded into the memory to execute the subsequent steps 1210 to 1220. It may be different functional representations of the processor for.

단계(1210)에서 프레임워크 제공부(1110)는 접근 제어를 위한 계층을 가상화한 보안 상호운용성 지원 접근 제어 프레임워크를 제공할 수 있다. 프레임워크 제공부(1110)는 인증(Authentication), 인가(Authorization), 감사(Auditing)의 접근 제어를 위한 계층을 하나의 계층으로 가상화한 보안 상호운용성 지원 접근 제어 프레임워크를 사물인터넷 서버 플랫폼에 제공할 수 있다. In step 1210, the framework providing unit 1110 may provide an access control framework supporting security interoperability by virtualizing a layer for access control. The framework provider 1110 provides an access control framework that supports security interoperability by virtualizing a layer for access control of authentication, authorization, and auditing into one layer to the IoT server platform. can do.

단계(1220)에서 상호운용성 지원부(1120)는 제공된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 이종의 사물인터넷 플랫폼 간에 상호운용성을 지원할 수 있다. 상호운용성 지원부(1120)는 사물인터넷 서버 플랫폼에서 확장된 OAuth 2.0(즉, ACMD, IMD, MROPC, MCC)에 기초하여 발급되는 상호운용 접근 토큰(IAT)을 기반으로 상호운용성을 지원할 수 있다. 일례로, 상호운용성 지원부(1120)는 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 MCC(Multiple Clients' Credentials)를 기반으로 상호운용 접근 토큰(IAT)을 발급할 수 있다. 상호운용성 지원부(1120)는 요청자로부터 복수 개의 사물인터넷 서버 플랫폼에 등록한 요청자의 크리덴션을 이용하여 복수 개의 사물인터넷 서버 플랫폼에 접근 가능한 권한을 가진 상호운용 접근 토큰(IAT)을 요청할 수 있다. 상호운용성 지원부(1120)는 제1 사물인터넷 서버 플랫폼이 상기 요청자로부터 전달된 크리덴셜 중 제1 사물인터넷 서버 플랫폼의 크리덴셜을 검증하고, 제1 사물인터넷 서버 플랫폼에서 상기 요청자로부터 전달된 크리덴셜 중 제2 사물인터넷 서버 플랫폼으로 크리덴셜 검증 요청을 전송함에 따라 제2 사물인터넷 서버 플랫폼에서 제1 사물인터넷 서버 플랫폼으로부터 전송된 크리덴셜을 검증하여 제1 사물인터넷 서버 플랫폼에게 크리덴셜 검증을 수행한 크리덴셜 검증 결과를 전달할 수 있다. 상호운용성 지원부(1120)는 제1 사물인터넷 서버 플랫폼에서 제1 사물인터넷 서버 플랫폼과 제2 사물인터넷 서버 플랫폼에 접근 가능한 글로벌 접근 범위를 가진 상호운용 접근 토큰(IAT)을 생성할 수 있다. 이때, 제1 사물인터넷 서버 플랫폼 또는 제2 사물인터넷 서버 플랫폼에서의 크리덴셜 검증 결과에 따라 자원에 접근 가능한 영역이 제한될 수 있다. 상호운용성 지원부(1120)는 제1 사물인터넷 서버 플랫폼에서 요청자에게 제1 사물인터넷 서버 플랫폼 또는 제2 사물인터넷 서버 플랫폼 중 어느 하나 이상의 사물인터넷 서버 플랫폼에 접근 가능한 상호운용 접근 토큰(IAT)을 발급하고,요청자로부터 제1 사물인터넷 서버 플랫폼에서 발급받은 상호운용 접근 토큰(IAT)을 기반으로 제1 사물인터넷 서버 플랫폼이나 제2 사물인터넷 서버 플랫폼에 접근될 수 있다. In step 1220, the interoperability support unit 1120 may support interoperability between heterogeneous IoT platforms through the provided security interoperability support access control framework. The interoperability support unit 1120 may support interoperability based on an interoperability access token (IAT) issued based on OAuth 2.0 (i.e., ACMD, IMD, MROPC, MCC) extended from the IoT server platform. For example, the interoperability support unit 1120 may issue an interoperability access token (IAT) based on Multiple Clients' Credentials (MCC) through a security interoperability support access control framework. The interoperability support unit 1120 may request an interoperability access token (IAT) having the authority to access a plurality of IoT server platforms by using the requestor's credentials registered in the plurality of IoT server platforms from the requestor. The interoperability support unit 1120 verifies the credentials of the first IoT server platform among the credentials transmitted from the requester by the first IoT server platform, and among the credentials transmitted from the requester on the first IoT server platform. As a credential verification request is transmitted to the second IoT server platform, the second IoT server platform verifies the credential transmitted from the first IoT server platform and performs the credential verification to the first IoT server platform. The results of the dental verification can be delivered. The interoperability support unit 1120 may generate an interoperability access token (IAT) having a global access range accessible to the first IoT server platform and the second IoT server platform from the first IoT server platform. In this case, an area accessible to the resource may be limited according to the credential verification result in the first IoT server platform or the second IoT server platform. The interoperability support unit 1120 issues an interoperability access token (IAT) accessible to one or more of the first IoT server platform or the second IoT server platform to the requester from the first IoT server platform, and , The first IoT server platform or the second IoT server platform may be accessed based on an interoperable access token (IAT) issued from the first IoT server platform from the requestor.

다른 예로서, 상호운용성 지원부(1120)는 A3FaaS(A3 Framework as a Service)를 통해 가상화되어 각각의 사물인터넷 서버 플랫폼에 배치된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 ACMD(Authorization Code for Multiple Domains)를 기반으로 상호운용 접근 토큰(IAT)을 발급할 수 있다. 상호운용성 지원부(1120)는 클라이언트로부터 접근하기 위한 자원들이 명시되어 상호운용 접근 토큰(IAT)의 발급이 요청됨에 따라 상기 접근을 요청한 자원에 대한 권한을 획득하기 위해 자원 소유자들의 허가를 획득하고, 획득된 허가를 A3 서버에게 전송하고, A3 서버에서 클라이언트로부터 전송된 허가들을 검증을 수행한 검증 결과를 통하여 클라이언트에게 인가 코드를 발급하고, 클라이언트에서 A3로부터 발급받은 인가 코드를 다시 A3 서버에게 전달하고, A3서버에서 클라이언트로부터 전달받은 인가 코드를 검증한 뒤, 클라이언트에게 상호운용 접근 토큰(IAT)을 발급할 수 있다.As another example, the interoperability support unit 1120 is virtualized through A3 Framework as a Service (A3FaaS) and deployed on each IoT server platform through an access control framework supporting ACMD (Authorization Code for Multiple Domains). Interoperable access token (IAT) can be issued based on. The interoperability support unit 1120 obtains and obtains permission from resource owners in order to obtain the authority for the resource requesting access as resources for access from the client are specified and issuance of an interoperable access token (IAT) is requested. The obtained permission is transmitted to the A3 server, the authorization code is issued to the client through the verification result of verifying the permission transmitted from the client in the A3 server, and the authorization code issued from A3 is delivered to the A3 server by the client. After verifying the authorization code received from the client in the A3 server, an interoperable access token (IAT) can be issued to the client.

또 다른 예로서, 상호운용성 지원부(1120)는 A3FaaS를 통해 가상화되어 각각의 사물인터넷 서버 플랫폼에 배치된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 IMD(Implicit for Multiple Domains)를 기반으로 상호운용 접근 토큰(IAT)을 발급할 수 있다. 상호운용성 지원부(1120)는 클라이언트로부터 요청된 자원의 접근 범위와 상호운용 접근 토큰(IAT)을 발급받을 리다이렉션 URI가 전달됨에 따라 로그인 과정을 통하여 요청된 자원의 접근 범위에 대한 권한을 획득하기 위하여 자원 소유자들의 허가를 받고, 허가를 A3 서버에 전달하고, A3 서버에서 클라이언트로부터 요청된 자원, 요청된 자원이 위치한 도메인의 상호운용 정책 및 상기 요청된 자원의 크리덴셜을 검증한 뒤, 클라이언트에게 상호운용 접근 토큰(IAT)을 전달할 수 있다. As another example, the interoperability support unit 1120 is an interoperable access token based on IMD (Implicit for Multiple Domains) through a secure interoperability support access control framework virtualized through A3FaaS and deployed on each IoT server platform. (IAT) can be issued. The interoperability support unit 1120 provides the access range of the resource requested from the client and the redirection URI for issuing the interoperability access token (IAT), in order to obtain the authority for the access range of the requested resource through the login process. After obtaining the permission of the owners, passing the permission to the A3 server, and verifying the resource requested from the client in the A3 server, the interoperation policy of the domain where the requested resource is located, and the credential of the requested resource, interoperation with the client Can pass an access token (IAT).

또 다른 예로서, 상호운용성 지원부(1120)는 A3FaaS를 통해 가상화되어 각각의 사물인터넷 서버 플랫폼에 배치된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 MROPC(Multiple Resource Owners' Password Credentials)를 기반으로 상호운용 접근 토큰(IAT)을 발급할 수 있다. 상호운용성 지원부(1120)는 클라이언트로부터 기 저장된 자원 소유자들의 크리덴셜 또는 자원을 요청하기 위한 자원 소유자들의 크리덴셜들을 전달받고, 요청된 자원의 접근 범위 및 자원 소유자 크리덴셜을 A3 서버에 전송하고, A3 서버에서 클라이언트로부터 요청된 자원의 접근 범위와 자원 소유자 크리덴셜을 검증하여 상호운용 접근 토큰(IAT)을 발급할 수 있다. As another example, the interoperability support unit 1120 is virtualized through A3FaaS and interoperable based on MROPC (Multiple Resource Owners' Password Credentials) through an access control framework that supports security interoperability deployed on each IoT server platform. Can issue an access token (IAT). The interoperability support unit 1120 receives the credentials of the resource owners previously stored from the client or the credentials of the resource owners to request the resource, transmits the access range of the requested resource and the resource owner's credentials to the A3 server, and A3 The server can issue an interoperable access token (IAT) by verifying the access range of the resource requested from the client and the resource owner's credentials.

또 다른 예로서, 상호운용성 지원부(1120)는A3FaaS를 통해 가상화되어 각각의 사물인터넷 서버 플랫폼에 배치된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 MCC(Multiple Clients' Credentials)를 기반으로 상호운용 접근 토큰(IAT)을 발급할 수 있다. 상호운용성 지원부(1120)는 클라이언트에서 자원의 접근 범위와 관련된 클라이언트들의 크리덴셜들을 A3 서버에 전달하고, A3 서버에서 전달된 클라이언트 크리덴셜들을 검증하고, 자원의 접근 범위를 갱신한 뒤 상호운용 접근 토큰(IAT)을 발급할 수 있다. As another example, the interoperability support unit 1120 is an interoperable access token based on MCC (Multiple Clients' Credentials) through a security interoperability support access control framework virtualized through A3FaaS and deployed on each IoT server platform. (IAT) can be issued. The interoperability support unit 1120 delivers the credentials of the clients related to the access range of the resource from the client to the A3 server, verifies the client credentials transmitted from the A3 server, and updates the access range of the resource, and then the interoperability access token (IAT) can be issued.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, such as one or more general purpose computers or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. Can be embodyed in The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited embodiments and drawings, various modifications and variations are possible from the above description by those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.

Claims (18)

상호운용성 지원 접근 제어 방법에 있어서,
접근 제어를 위한 계층을 가상화한 보안 상호운용성 지원 접근 제어 프레임워크를 제공하는 단계; 및
상기 가상화된 계층에 기반한 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 이종의 사물인터넷 서버 플랫폼 간에 상호운용성을 지원하는 단계
를 포함하고,
상기 상호운용성을 지원하는 단계는,
상기 사물인터넷 서버 플랫폼에서 상호운용 접근 토큰(IAT)을 기반으로 상호운용성을 지원하고, 상기 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 ACMD(Authorization Code for Multiple Domains), IMD(Implicit for Multiple Domains), MROPC(Multiple Resource Owners’Password Credentials), MCC(Multiple Clients' Credentials)를 기반으로 상호운용 접근 토큰(IAT)을 발급하고, 요청자로부터 복수 개의 사물인터넷 서버 플랫폼에 등록한 요청자의 크리덴셜을 이용하여 상기 복수 개의 사물인터넷 서버 플랫폼에 접근 가능한 권한을 가진 상호운용 접근 토큰(IAT)을 요청하고, 제1 사물인터넷 서버 플랫폼이 상기 요청자로부터 전달된 크리덴셜 중 상기 제1 사물인터넷 서버 플랫폼의 크리덴셜을 검증하고, 상기 제1 사물인터넷 서버 플랫폼에서 상기 요청자로부터 전달된 크리덴셜 중 제2 사물인터넷 서버 플랫폼으로 크리덴셜 검증 요청을 전송함에 따라 상기 제2 사물인터넷 서버 플랫폼에서 상기 제1 사물인터넷 서버 플랫폼으로부터 전송된 크리덴셜을 검증하여 상기 제1 사물인터넷 서버 플랫폼에게 크리덴셜 검증을 수행한 크리덴셜 검증 결과를 전달하고, 상기 제1 사물인터넷 서버 플랫폼에서 상기 제1 사물인터넷 서버 플랫폼과 상기 제2 사물인터넷 서버 플랫폼에 접근 가능한 글로벌 접근 범위를 가진 상호운용 접근 토큰(IAT)을 생성하고, 상기 제1 사물인터넷 서버 플랫폼 또는 상기 제2 사물인터넷 서버 플랫폼에서의 크리덴셜 검증 결과에 따라 자원에 접근 가능한 영역이 제한되고, 상기 제1 사물인터넷 서버 플랫폼에서 요청자에게 상기 제1 사물인터넷 서버 플랫폼 또는 상기 제2 사물인터넷 서버 플랫폼 중 어느 하나 이상의 사물인터넷 서버 플랫폼에 접근 가능한 상호운용 접근 토큰(IAT)을 발급하고, 상기 발급된 상호운용 접근 토큰(IAT)을 상기 요청자에게 전달하고, 상기 요청자로부터 상기 제1 사물인터넷 서버 플랫폼으로부터 발급받은 상호운용 접근 토큰(IAT)을 기반으로 상기 제1 사물인터넷 서버 플랫폼 또는 제2 사물인터넷 서버 플랫폼에 접근되는 단계
를 포함하는 상호운용성 지원 접근 제어 방법.
In the interoperability support access control method,
Providing a security interoperability support access control framework by virtualizing a layer for access control; And
Supporting interoperability between heterogeneous IoT server platforms through a security interoperability support access control framework based on the virtualized layer
Including,
The step of supporting the interoperability,
The IoT server platform supports interoperability based on an interoperable access token (IAT), and through the security interoperability support access control framework, ACMD (Authorization Code for Multiple Domains), IMD (Implicit for Multiple Domains), An interoperable access token (IAT) is issued based on MROPC (Multiple Resource Owners'Password Credentials) and MCC (Multiple Clients' Credentials), and the multiple Request an interoperable access token (IAT) having access to the IoT server platforms, and the first IoT server platform verifies the credentials of the first IoT server platform among the credentials transmitted from the requester. , As a credential verification request is transmitted from the first IoT server platform to a second IoT server platform among the credentials transmitted from the requester, the second IoT server platform is transmitted from the first IoT server platform. The credential is verified, and the credential verification result of performing the credential verification is transmitted to the first IoT server platform, and the first IoT server platform and the second IoT server platform are in the first IoT server platform An interoperable access token (IAT) having a global access range accessible to is generated, and the area accessible to the resource is restricted according to the result of credential verification in the first IoT server platform or the second IoT server platform. , The first IoT server platform issues an interoperable access token (IAT) accessible to any one or more IoT server platforms of the first IoT server platform or the second IoT server platform to the requester, and the issuance Passed the interoperable access token (IAT) to the requester and , Accessing the first IoT server platform or the second IoT server platform based on an interoperable access token (IAT) issued from the first IoT server platform from the requestor
Interoperability support access control method comprising a.
제1항에 있어서,
상기 보안 상호운용성 지원 접근 제어 프레임워크를 제공하는 단계는,
인증(Authentication), 인가(Authorization), 감사(Auditing)의 접근 제어를 위한 계층을 하나의 계층으로 가상화한 보안 상호운용성 지원 접근 제어 프레임워크를 상기 사물인터넷 서버 플랫폼에 제공하는 단계
를 포함하는 상호운용성 지원 접근 제어 방법.
The method of claim 1,
Providing the security interoperability support access control framework,
Providing a security interoperability support access control framework virtualized as one layer for access control of authentication, authorization, and auditing to the IoT server platform
Interoperability support access control method comprising a.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 상호운용성을 지원하는 단계는,
A3FaaS(A3 Framework as a Service)를 통해 가상화되어 각각의 사물인터넷 서버 플랫폼에 배치된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 ACMD(Authorization Code for Multiple Domains)를 기반으로 상호운용 접근 토큰(IAT)을 발급하는 단계
를 포함하는 상호운용성 지원 접근 제어 방법.
The method of claim 1,
The step of supporting the interoperability,
Interoperable access token (IAT) based on ACMD (Authorization Code for Multiple Domains) through access control framework that supports security interoperability virtualized through A3FaaS (A3 Framework as a Service) and deployed on each IoT server platform. Steps to issue
Interoperability support access control method comprising a.
제10항에 있어서,
상기 상호운용성을 지원하는 단계는,
클라이언트로부터 접근하기 위한 자원들이 명시되어 상호운용 접근 토큰(IAT)의 발급이 요청됨에 따라 상기 접근을 요청한 자원에 대한 권한을 획득하기 위해 자원 소유자들의 허가를 획득하고, 상기 획득된 허가를 A3 서버에게 전송하고, 상기 A3 서버에서 상기 클라이언트로부터 전송된 허가들을 검증을 수행한 검증 결과를 통하여 상기 클라이언트에게 인가 코드를 발급하고, 상기 클라이언트에서 상기 A3로부터 발급받은 인가 코드를 다시 상기 A3 서버에게 전달하고, 상기 A3서버에서 상기 클라이언트로부터 전달받은 인가 코드를 검증한 뒤, 상기 클라이언트에게 상호운용 접근 토큰(IAT)을 발급하는 단계
를 포함하는 상호운용성 지원 접근 제어 방법.
The method of claim 10,
The step of supporting the interoperability,
As resources for access from the client are specified and the issuance of an interoperable access token (IAT) is requested, the resource owners' permission is obtained to obtain the permission for the resource requesting the access, and the obtained permission is transferred to the A3 server. And the A3 server issues an authorization code to the client through a verification result of verifying the authorizations transmitted from the client, and the client sends the authorization code issued from the A3 to the A3 server again, After verifying the authorization code received from the client in the A3 server, issuing an interoperation access token (IAT) to the client
Interoperability support access control method comprising a.
제1항에 있어서,
상기 상호운용성을 지원하는 단계는,
A3FaaS를 통해 가상화되어 각각의 사물인터넷 서버 플랫폼에 배치된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 IMD(Implicit for Multiple Domains)를 기반으로 상호운용 접근 토큰(IAT)을 발급하는 단계
를 포함하는 상호운용성 지원 접근 제어 방법.
The method of claim 1,
The step of supporting the interoperability,
Issuing an interoperable access token (IAT) based on IMD (Implicit for Multiple Domains) through a secure interoperability support access control framework virtualized through A3FaaS and deployed on each IoT server platform.
Interoperability support access control method comprising a.
제12항에 있어서,
상기 상호운용성을 지원하는 단계는,
클라이언트로부터 요청된 자원의 접근 범위와 상호운용 접근 토큰(IAT)을 발급받을 리다이렉션 URI가 전달됨에 따라 로그인 과정을 통하여 상기 요청된 자원의 접근 범위에 대한 권한을 획득하기 위하여 자원 소유자들의 허가를 받고, 상기 허가를 A3 서버에 전달하고, 상기 A3 서버에서 상기 클라이언트로부터 요청된 자원, 상기 요청된 자원이 위치한 도메인의 상호운용 정책 및 상기 요청된 자원의 크리덴셜을 검증한 뒤, 상기 클라이언트에게 상호운용 접근 토큰(IAT)을 전달하는 단계
를 포함하는 상호운용성 지원 접근 제어 방법.
The method of claim 12,
The step of supporting the interoperability,
As the access range of the resource requested from the client and the redirection URI to receive the interoperable access token (IAT) are delivered, the resource owners' permission is obtained to obtain the authority for the access range of the requested resource through the login process, Transmitting the permission to the A3 server, verifying the resource requested from the client in the A3 server, the interoperation policy of the domain in which the requested resource is located, and the credential of the requested resource, and then accessing the interoperation to the client. Passing the token (IAT)
Interoperability support access control method comprising a.
제1항에 있어서,
상기 상호운용성을 지원하는 단계는,
A3FaaS를 통해 가상화되어 각각의 사물인터넷 서버 플랫폼에 배치된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 MROPC(Multiple Resource Owners' Password Credentials)를 기반으로 상호운용 접근 토큰(IAT)을 발급하는 단계
를 포함하는 상호운용성 지원 접근 제어 방법.
The method of claim 1,
The step of supporting the interoperability,
Issuing an interoperable access token (IAT) based on MROPC (Multiple Resource Owners' Password Credentials) through an access control framework that supports security interoperability virtualized through A3FaaS and deployed in each IoT server platform.
Interoperability support access control method comprising a.
제14항에 있어서,
상기 상호운용성을 지원하는 단계는,
클라이언트로부터 기 저장된 자원 소유자들의 크리덴셜 또는 자원을 요청하기 위한 자원 소유자들의 크리덴셜들을 전달받고, 요청된 자원의 접근 범위 및 상기 자원 소유자 크리덴셜을 A3 서버에 전송하고, 상기 A3 서버에서 상기 클라이언트로부터 요청된 자원의 접근 범위와 상기 자원 소유자 크리덴셜을 검증하여 상호운용 접근 토큰(IAT)을 발급하는 단계
를 포함하는 상호운용성 지원 접근 제어 방법.
The method of claim 14,
The step of supporting the interoperability,
Receives pre-stored resource owners' credentials from a client or resource owners' credentials for requesting a resource, transmits the requested resource access range and the resource owner's credentials to the A3 server, and the A3 server from the client Issuing an interoperable access token (IAT) by verifying the access range of the requested resource and the resource owner's credentials
Interoperability support access control method comprising a.
제1항에 있어서,
상기 상호운용성을 지원하는 단계는,
A3FaaS를 통해 가상화되어 각각의 사물인터넷 서버 플랫폼에 배치된 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 MCC(Multiple Clients' Credentials)를 기반으로 상호운용 접근 토큰(IAT)을 발급하는 단계
를 포함하는 상호운용성 지원 접근 제어 방법.
The method of claim 1,
The step of supporting the interoperability,
Issuing an interoperable access token (IAT) based on MCC (Multiple Clients' Credentials) through a secure interoperability support access control framework virtualized through A3FaaS and deployed on each IoT server platform
Interoperability support access control method comprising a.
제1항에 있어서,
상기 상호운용성을 지원하는 단계는,
클라이언트에서 자원의 접근 범위와 관련된 클라이언트들의 크리덴셜들을 A3 서버에 전달하고, 상기 A3 서버에서 전달된 클라이언트 크리덴셜들을 검증하고, 상기 자원의 접근 범위를 갱신한 뒤 상호운용 접근 토큰(IAT)을 발급하는 단계
를 포함하는 상호운용성 지원 접근 제어 방법.
The method of claim 1,
The step of supporting the interoperability,
The client delivers the credentials of the clients related to the access range of the resource to the A3 server, verifies the client credentials transmitted from the A3 server, updates the access range of the resource, and issues an interoperable access token (IAT). Steps to
Interoperability support access control method comprising a.
상호운용성 지원 접근 제어를 위한 제어 시스템에 있어서,
접근 제어를 위한 계층을 가상화한 보안 상호운용성 지원 접근 제어 프레임워크를 제공하는 프레임워크 제공부; 및
상기 가상화된 계층에 기반한 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 이종의 사물인터넷 서버 플랫폼 간에 상호운용성을 지원하는 상호운용성 지원부
를 포함하고,
상기 상호운용성 지원부는,
상기 사물인터넷 서버 플랫폼에서 상호운용 접근 토큰(IAT)을 기반으로 상호운용성을 지원하고, 상기 보안 상호운용성 지원 접근 제어 프레임워크를 통하여 ACMD(Authorization Code for Multiple Domains), IMD(Implicit for Multiple Domains), MROPC(Multiple Resource Owners’Password Credentials), MCC(Multiple Clients' Credentials)를 기반으로 상호운용 접근 토큰(IAT)을 발급하고, 요청자로부터 복수 개의 사물인터넷 서버 플랫폼에 등록한 요청자의 크리덴셜을 이용하여 상기 복수 개의 사물인터넷 서버 플랫폼에 접근 가능한 권한을 가진 상호운용 접근 토큰(IAT)을 요청하고, 제1 사물인터넷 서버 플랫폼이 상기 요청자로부터 전달된 크리덴셜 중 상기 제1 사물인터넷 서버 플랫폼의 크리덴셜을 검증하고, 상기 제1 사물인터넷 서버 플랫폼에서 상기 요청자로부터 전달된 크리덴셜 중 제2 사물인터넷 서버 플랫폼으로 크리덴셜 검증 요청을 전송함에 따라 상기 제2 사물인터넷 서버 플랫폼에서 상기 제1 사물인터넷 서버 플랫폼으로부터 전송된 크리덴셜을 검증하여 상기 제1 사물인터넷 서버 플랫폼에게 크리덴셜 검증을 수행한 크리덴셜 검증 결과를 전달하고, 상기 제1 사물인터넷 서버 플랫폼에서 상기 제1 사물인터넷 서버 플랫폼과 상기 제2 사물인터넷 서버 플랫폼에 접근 가능한 글로벌 접근 범위를 가진 상호운용 접근 토큰(IAT)을 생성하고, 상기 제1 사물인터넷 서버 플랫폼 또는 상기 제2 사물인터넷 서버 플랫폼에서의 크리덴셜 검증 결과에 따라 자원에 접근 가능한 영역이 제한되고, 상기 제1 사물인터넷 서버 플랫폼에서 요청자에게 상기 제1 사물인터넷 서버 플랫폼 또는 상기 제2 사물인터넷 서버 플랫폼 중 어느 하나 이상의 사물인터넷 서버 플랫폼에 접근 가능한 상호운용 접근 토큰(IAT)을 발급하고, 상기 발급된 상호운용 접근 토큰(IAT)을 상기 요청자에게 전달하고, 상기 요청자로부터 상기 제1 사물인터넷 서버 플랫폼으로부터 발급받은 상호운용 접근 토큰(IAT)을 기반으로 상기 제1 사물인터넷 서버 플랫폼 또는 제2 사물인터넷 서버 플랫폼에 접근되는
제어 시스템.
In the control system for interoperability support access control,
A framework providing unit that provides a security interoperability support access control framework by virtualizing a layer for access control; And
Interoperability support unit that supports interoperability between heterogeneous IoT server platforms through an access control framework that supports security interoperability based on the virtualized layer.
Including,
The interoperability support unit,
The IoT server platform supports interoperability based on an interoperable access token (IAT), and through the security interoperability support access control framework, ACMD (Authorization Code for Multiple Domains), IMD (Implicit for Multiple Domains), An interoperable access token (IAT) is issued based on MROPC (Multiple Resource Owners'Password Credentials) and MCC (Multiple Clients' Credentials), and the multiple Request an interoperable access token (IAT) having access to the IoT server platforms, and the first IoT server platform verifies the credentials of the first IoT server platform among the credentials transmitted from the requester. , As a credential verification request is transmitted from the first IoT server platform to a second IoT server platform among the credentials transmitted from the requester, the second IoT server platform is transmitted from the first IoT server platform. The credential is verified, and the credential verification result of performing the credential verification is transmitted to the first IoT server platform, and the first IoT server platform and the second IoT server platform are in the first IoT server platform An interoperable access token (IAT) having a global access range accessible to is generated, and the area accessible to the resource is limited according to the result of credential verification in the first IoT server platform or the second IoT server platform. , The first IoT server platform issues an interoperable access token (IAT) accessible to any one or more IoT server platforms of the first IoT server platform or the second IoT server platform to the requester, and the issuance Passed the interoperable access token (IAT) to the requester and , Access to the first IoT server platform or the second IoT server platform based on an interoperable access token (IAT) issued from the first IoT server platform from the requestor.
Control system.
KR1020190071542A 2019-06-17 2019-06-17 A secure interoperable access control framework for heterogeneous iot platform Active KR102190268B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190071542A KR102190268B1 (en) 2019-06-17 2019-06-17 A secure interoperable access control framework for heterogeneous iot platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190071542A KR102190268B1 (en) 2019-06-17 2019-06-17 A secure interoperable access control framework for heterogeneous iot platform

Publications (1)

Publication Number Publication Date
KR102190268B1 true KR102190268B1 (en) 2020-12-11

Family

ID=73786456

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190071542A Active KR102190268B1 (en) 2019-06-17 2019-06-17 A secure interoperable access control framework for heterogeneous iot platform

Country Status (1)

Country Link
KR (1) KR102190268B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116343801A (en) * 2021-12-22 2023-06-27 美的集团股份有限公司 Internet of things device control method and device
KR20250129239A (en) 2024-02-22 2025-08-29 동신대학교산학협력단 One-chip for elecronic power meter and elecronic power meter system using the same
KR102895616B1 (en) 2023-05-31 2025-12-05 세종대학교산학협력단 ACCESS METHOD FOR HETEROGENEOUS IoT PLATFORM

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070094716A1 (en) * 2005-10-26 2007-04-26 Cisco Technology, Inc. Unified network and physical premises access control server

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070094716A1 (en) * 2005-10-26 2007-04-26 Cisco Technology, Inc. Unified network and physical premises access control server

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
오세라 외 1인, ‘이종 사물인터넷 플랫폼 간 보안 상호운용을 위한 프레임워크’, KIPS transactions on computer and communication systems 컴퓨터 및 통신 시스템 v.7 no.3, 2018년, pp.81 - 90 (2018.03.31.)* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116343801A (en) * 2021-12-22 2023-06-27 美的集团股份有限公司 Internet of things device control method and device
KR102895616B1 (en) 2023-05-31 2025-12-05 세종대학교산학협력단 ACCESS METHOD FOR HETEROGENEOUS IoT PLATFORM
KR20250129239A (en) 2024-02-22 2025-08-29 동신대학교산학협력단 One-chip for elecronic power meter and elecronic power meter system using the same

Similar Documents

Publication Publication Date Title
US11882108B2 (en) Application user single sign-on
US6754829B1 (en) Certificate-based authentication system for heterogeneous environments
JP6526181B2 (en) Smart card logon and coordinated full domain logon
US20180115551A1 (en) Proxy system for securely provisioning computing resources in cloud computing environment
JP5512841B2 (en) Method and system for single sign-on to a corporate network with manageability engine
US9996703B2 (en) Computer device and method for controlling access to a resource via a security system
US9613224B2 (en) Integrating a user's security context in a database for access control
US10482254B2 (en) Domain-authenticated control of platform resources
US10565402B2 (en) System and method for serving online synchronized content from a sandbox domain via a temporary address
CN113316783A (en) Two-factor identity authentication using a combination of active directory and one-time password token
US10049205B2 (en) Asserting identities of application users in a database system based on delegated trust
US20180324172A1 (en) Single sign-on for remote applications
WO2018219056A1 (en) Authentication method, device, system and storage medium
CN107172054A (en) A CAS-based authority authentication method, device and system
KR101401794B1 (en) Method and apparatus for providing data sharing
CN102422298A (en) Access control system and method for distributed computing resources
JP2019514090A (en) Associating a User Account with a Corporate Workspace
KR102058283B1 (en) Secure Interoperability Framework between diverse IoT Service Platforms and Apparatus
WO2023160632A1 (en) Method for setting cloud service access permissions of enclave instance, and cloud management platform
KR102430882B1 (en) Method, apparatus and computer-readable medium for container work load executive control of event stream in cloud
KR102190268B1 (en) A secure interoperable access control framework for heterogeneous iot platform
JP6059748B2 (en) Authentication linkage system and authentication method
KR102571621B1 (en) An oauth and role-based access control system for heterogeneous iot service platforms
US8250640B1 (en) Transparent kerboros delegation with a storage virtualization system
JP2018180692A (en) Authentication authorization system, authentication authorization server, authentication method and program

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6