KR20190106589A - 전자 디바이스에 서비스를 제공하는 장치 및 그 방법 - Google Patents

전자 디바이스에 서비스를 제공하는 장치 및 그 방법

Info

Publication number
KR20190106589A
KR20190106589A KR1020180028291A KR20180028291A KR20190106589A KR 20190106589 A KR20190106589 A KR 20190106589A KR 1020180028291 A KR1020180028291 A KR 1020180028291A KR 20180028291 A KR20180028291 A KR 20180028291A KR 20190106589 A KR20190106589 A KR 20190106589A
Authority
KR
South Korea
Prior art keywords
service
electronic device
user
information
authentication
Prior art date
Application number
KR1020180028291A
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 삼성전자주식회사
Priority to KR1020180028291A priority Critical patent/KR20190106589A/ko
Publication of KR20190106589A publication Critical patent/KR20190106589A/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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

전자 디바이스에 서비스를 제공하는 시스템 및 그 방법이 제공된다.
전자 디바이스로부터, 전자 디바이스에서 실행된 액션 중 서비스를 요청하는 액션에 관한 정보를 포함하는, 서비스 제공 요청을 수신하고, 액션에 관한 정보를 이용하여, 서비스를 인증하기 위한 서비스 인증 정보로서, 액션과 대응되는 서비스 인증 정보를 획득하고, 액션과 대응되는 서비스 인증 정보를 이용하여, 서비스에 대한 인증을 수행하고, 인증 결과에 따라, 전자 디바이스에 서비스를 제공하는 방법이 제공된다.

Description

전자 디바이스에 서비스를 제공하는 장치 및 그 방법 {Apparatus for providing a service to an electronic device and method thereof}
본 개시는, 전자 디바이스에 서비스를 제공하는 장치 및 그 방법에 관한 것이다.
클라우드 서비스는 대규모의 IT 자원을 가상화 기술과 분산처리 기술을 활용하여 인터넷으로 컴퓨팅 자원(메모리, CPU, 스토리지 등)을 서비스하여 사용한 만큼의 요금을 지급하는 컴퓨팅 서비스이다. 클라우드 서비스를 제공하는 장치는 서로 다른 물리적인 위치에 존재하는 컴퓨팅 자원(메모리, CPU, 스토리지 등)을 가상화 기술을 통해 하나로 통합하여 사용자에게 제공할 수 있다.
클라우드 서비스는, 서비스를 제공받는 전자 디바이스의 사용자와 서비스에 대한 인증이 이루어진 후 제공될 수 있다. 예를 들면, 사용자에게 서비스를 이용할 수 있는 권한이 존재하는지에 대한 인증과, 서비스를 제공하는 서비스 제공자에 대한 인증이 수행될 수 있다.
그러나, 다양한 종류의 네트워크 연결을 통해 제공될 수 있는 클라우드 서비스의 특성으로 인하여, 인증 과정 중 인증과 관련된 정보들이 네트워크를 통해 외부로 유출될 수 있는 위험이 존재한다. 따라서, 인증 정보가 외부로 유출되더라도, 그 피해를 최소화할 수 있는 기술의 필요성이 대두된다.
전자 디바이스에 서비스를 제공하는 장치 및 그 방법을 제공하는 데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 전자 디바이스에 서비스를 제공하는 방법에 있어서, 상기 전자 디바이스로부터, 상기 전자 디바이스에서 실행된 액션 중 상기 서비스를 요청하는 액션에 관한 정보를 포함하는, 서비스 제공 요청을 수신하는 단계; 상기 액션에 관한 정보를 이용하여, 상기 서비스를 인증하기 위한 서비스 인증 정보로서, 상기 액션과 대응되는 서비스 인증 정보를 획득하는 단계; 상기 액션과 대응되는 상기 서비스 인증 정보를 이용하여, 상기 서비스에 대한 인증을 수행하는 단계; 및 상기 인증 결과에 따라, 상기 전자 디바이스에 상기 서비스를 제공하는 단계를 포함한다.
또한, 본 개시의 제2 측면은, 전자 디바이스에 서비스를 제공하는 장치에 있어서, 상기 전자 디바이스로부터, 상기 전자 디바이스에서 실행된 액션 중 상기 서비스를 요청하는 액션에 관한 정보를 포함하는, 서비스 제공 요청을 수신하는 요청 관리기; 상기 서비스를 인증하기 위한 서비스 인증 정보로서, 상기 액션과 대응되는 서비스 인증 정보를 이용하여, 상기 서비스에 대한 인증을 수행하는 인증기; 및 상기 인증 결과에 따라, 상기 전자 디바이스에 상기 서비스를 제공하는, 서비스 제공기를 포함한다.
또한, 본 개시의 제 3 측면은, 제 1 측면의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
일 실시 예에 의하면, 서비스를 인증하기 위한 서비스 인증 정보는, 동일한 서비스에 대한 인증 정보여도 대응되는 액션에 따라 다른 인증 정보를 포함하므로, 인증 정보 유출로 인한 피해가 최소화될 수 있다.
도 1 및 도 2는 일 실시 예에 의한 전자 디바이스 및 전자 디바이스에 서비스를 제공하는 장치의 예시를 나타내는 도면이다.
도 3은 일 실시 예에 의한 전자 디바이스에 서비스를 제공하는 장치를 나타낸 블록도이다.
도 4 내지 도 6은 일 실시 예에 의한 전자 디바이스에 서비스를 제공하는 방법을 나타낸 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시 예에 의한 전자 디바이스 및 전자 디바이스에 서비스를 제공하는 장치의 예시를 나타내는 도면이다.
도 1를 참조하면, 일 실시 예에 의한 전자 디바이스(1000)는 장치(2000)와 연결되어, 장치(2000)로부터 서비스를 제공받을 수 있다.
일 실시 예에 의한 장치(2000)는, 네트워크를 통해, 전자 디바이스(1000)에 다양한 종류의 컴퓨팅 자원을 서비스할 수 있는 클라우드 서버를 포함할 수 있다. 예를 들면, 클라우드 서버는, 인터넷 기술을 활용하여 가상화된 IT 자원, 일 예로, 하드웨어(서버, 스토리지, 네트워크 등), 소프트웨어(데이터베이스, 보안, 웹 서버 등), 서비스, 데이터 등을 온 디맨드(on demand) 방식으로 전자 디바이스(1000)에 제공할 수 있다. 또한, 클라우드 서버는, 전자 디바이스(1000)에 다양한 서비스를 제공하는 적어도 하나의 서버 장치를 포함할 수 있다. 상술한 예에 한하지 않고, 일 실시 예에 의한 장치(2000)는, 다양한 종류의 컴퓨팅 자원을 전자 디바이스(1000)에 제공할 수 있는 적어도 하나의 장치를 포함할 수 있다.
일 실시 예에 의한 서비스는, 상술한 컴퓨팅 자원에 기초하여 제공될 수 있는 다양한 종류의 클라우드 서비스를 포함할 수 있다. 클라우드 서비스에 의하면, 서로 다른 물리적인 위치에 존재하는 컴퓨팅 자원(ex. 메모리, 연산 장치, 스토리지 등)을 이용한 다양한 서비스가 전자 디바이스(1000)에 제공될 수 있다. 예를 들면, 전자 디바이스(1000)는 클라우드 서버로부터 지도 데이터 제공 서비스, 경로 검색 서비스, 교통 정보 제공 서비스 등 다양한 종류의 서비스를 제공받을 수 있다.
일 실시 예에 의한 장치(2000)는, 전자 디바이스(1000)로부터 서비스 제공 요청을 수신함에 따라, 전자 디바이스(1000)에 요청된 서비스를 제공할 수 있다. 예를 들면, 전자 디바이스(1000)가 소정 위치에 대한 지도 데이터의 제공을 요청하는 경우, 장치(2000)는 전자 디바이스(1000)의 요청에 따라 소정 위치에 대한 지도 데이터를 전자 디바이스(1000)로 제공할 수 있다.
일 실시 예에 의한 전자 디바이스(1000)는, 전자 디바이스(1000)에서 실행된 제1 액션에 의해, 제1 서비스를 제공하여 줄 것을 장치(2000)에 요청할 수 있다. 예를 들면, 어플리케이션의 동작 중에 실행된 API(Application Programming Interface)에 의해 제1 서비스에 대한 제공 요청이 장치(2000)로 전송될 수 있다.
API란, 프로그램 또는 어플리케이션이 운영체제(OS)에 어떤 처리를 위해 호출할 수 있는 서브 루틴 또는 함수의 집합으로서, 운영체제(OS) 등의 기능과 그 기능을 사용하는 방법을 정의한 함수의 집합을 말한다. 전자 디바이스(1000)의 어플리케이션은 API 함수를 사용하여 운영 체제 등이 가지고 있는 다양한 기능을 수행할 수 있다. 일 실시 예에 의한 의하면, 전자 디바이스(1000)에서 실행 중인 어플리케이션의 API 함수에 의하여 장치(2000)에 서비스 제공 요청이 전송될 수 있다.
상술한 예에 한하지 않고, 전자 디바이스(1000)에서는, 다양한 종류의 액션(action)이 수행됨에 의하여, 장치(2000)에 서비스 제공 요청이 전송될 수 있다.
일 실시 예에 의한, 전자 디바이스(1000)는 사용자에 의해 이용될 수 있는 다양한 형태의 컴퓨팅 장치를 포함할 수 있다. 예를 들면, 전자 디바이스(1000)는 스마트폰, 컴퓨터(PC; personal computer), 노트북, 게임기, 휴대용 재생기, 태블릿 등 다양한 종류의 전자 기기일 수 있다. 전자 디바이스(1000)는, 상술한 예에 한하지 않고, 현재 개발되어 상용화되었거나 향후 개발될 통신이 가능한 장치를 포함할 수 있다.
일 실시 예에 의해 전자 디바이스(1000)에서 장치(2000)로 전송되는 서비스 제공 요청은, 서비스를 호출하는 액션에 관한 정보를 포함할 수 있다. 서비스를 호출하는 액션에 관한 정보는, 상기 액션을 식별하기 위한 정보를 포함할 수 있다. 예를 들면, 액션에 관한 정보는, 어플리케이션 동작 중 실행된 API 중 서비스 제공을 요청하는 API에 관한 정보로서, API에 대한 식별 정보를 포함할 수 있다.
일 실시 예에 의한 장치(2000)는 서비스 제공을 요청하는 액션에 관한 정보를 이용하여, 전자 디바이스(1000)에 서비스를 제공할 수 있다. 예를 들면, 장치(2000)는, 액션에 관한 정보를 이용하여, 서비스를 인증하기 위한 정보를 획득하여, 인증을 수행하고, 인증 결과에 따라, 전자 디바이스(1000)에 서비스를 제공할 수 있다.
일 실시 예에 의하면, 서비스에 대한 인증 정보는 동일한 서비스에 대한 인증 정보여도 대응되는 액션에 따라 다른 인증 정보를 포함할 수 있다. 따라서, 하나의 서비스에 대하여, 각각의 액션 정보와 대응되는, 하나 이상의 인증 정보가 존재할 수 있다.
일 실시 예에 의하면, 액션 정보 마다 다른 인증 정보를 이용하여 서비스에 대한 인증을 수행함에 따라, 액션 정보 없이, 서비스에 대한 인증을 수행하는 경우보다, 보안 수준이 더 강화될 수 있다.
일 실시 예에 의한, 서비스를 인증하기 위한 서비스 인증 정보는, 서비스를 제공하는 서비스 제공기를 인증하기 위한 정보를 포함할 수 있다. 예를 들면, 서비스 인증 정보는 서비스 제공기가 전자 디바이스(1000)의 요청에 따라 서비스를 제공할 권한이 있는지 인증하기 위한 정보를 포함할 수 있다. 또 다른 예로, 서비스 인증 정보는 서비스 제공기가 전자 디바이스(1000)의 요청에 따른 서비스를 제공하기 위하여 다른 서비스를 이용할 권한이 있는지 인증하기 위한 정보를 포함할 수 있다.
일 실시 예에 의한 서비스 제공기는, 장치(2000)에 포함된 하드웨어 장치이거나 소프트웨어일 수 있다. 장치(2000)는 적어도 하나의 서비스 제공기를 포함하고, 전자 디바이스(1000)의 요청에 따라, 서비스 제공기는, 전자 디바이스(1000)에 적어도 하나의 서비스를 제공할 수 있다. 각각의 서비스 제공기는, 물리적으로 구분된 하드웨어 장치로 구성될 수 있으나, 이에 한하지 않고, 하나의 하드웨어 장치 내에 설치된 소프트웨어로 구성될 수도 있다.
도 2는 일 실시 예에 의한 전자 디바이스 및 전자 디바이스에 서비스를 제공하는 서버의 예시를 나타내는 도면이다.
도 2를 참조하면, 일 실시 예에 의한, 장치(2000)는, 전자 디바이스(1000)와 네트워크를 통해 연결될 수 있고, 전자 디바이스(1000)의 요청에 따라, 전자 디바이스(1000)에 서비스를 제공할 수 있다. 또한, 장치(2000)는, 전자 디바이스(1000)를 이용하는 사용자와, 서비스를 제공하는 서비스 제공기(2120)에 대한 인증을 수행하고, 인증 결과에 따라 전자 디바이스(1000)에 서비스를 제공할 수 있다.
단계 210에서, 전자 디바이스(1000)는, 장치(2000)를 통해, 전자 디바이스(1000)를 이용하는 사용자에 대한 사용자 토큰을 획득할 수 있다. 사용자 토큰은, 사용자를 인증하기 위한 정보로서 획득될 수 있다. 일 실시 예에 의한 장치(2000)는, 전자 디바이스(1000)의 요청에 따라, 전자 디바이스(1000)의 사용자를 식별하고, 식별된 사용자에 대한 사용자 토큰을 발행할 수 있다.
일 실시 예에 의한 사용자 토큰은 사용자를 식별하기 위한 정보를 포함할 수 있다. 예를 들면, 사용자 토큰이 개인식별번호(PIN; personal information number)를 포함하는 경우, 장치(2000)는 사용자 토큰의 개인식별번호를 이용하여, 사용자를 식별하고, 식별된 사용자에 대한 권한을 인증할 수 있다.
또 다른 예로, 사용자 토큰은, 사용자를 식별하기 위한 ID(identification) 및 ID와 대응되는 비밀번호에 관한 정보를 포함할 수도 있다. 장치(2000)는 사용자 토큰의 ID 및 비밀번호를 이용하여, 사용자를 식별하고, 식별된 사용자의 권한을 인증할 수 있다.
일 실시 예에 의하면, 전자 디바이스(1000)는, 장치(2000)에 포함된 인증기(2130)에, 사용자 토큰을 요청함으로써, 사용자 토큰을 획득할 수 있다. 인증기(2130)는, 전자 디바이스(1000)의 요청에 따라, 사용자 토큰을 발행하여, 전자 디바이스(1000)에 전송할 수 있다.
예를 들면, 인증기(2130)는, 전자 디바이스(1000)로부터 수신한 사용자에 관한 정보에 기초하여, 사용자 토큰을 발행할지 여부에 대해 판단할 수 있다. 일 예로, 상기 사용자에게 인증기(2130)에 의해 인증될 수 있는 서비스를 제공받을 권한이 없거나 사용자가 식별되지 않는 경우, 인증기(2130)는 상기 사용자에 대한 사용자 토큰을 발행하지 않을 수 있다. 인증기(2130)는 상기 판단 결과에 따라 사용자 토큰을 발행하고, 발행된 사용자 토큰을 전자 디바이스(1000)에 전송할 수 있다.
일 실시 예에 의한 사용자 토큰은 유효기간이 설정될 수 있으며, 사용자 토큰은 설정된 유효기간 동안 전자 디바이스(1000)에서 서비스 제공을 요청하는데 이용될 수 있다.
단계 220에서, 전자 디바이스(1000)는, 어플리케이션 동작 중 실행된 액션에 의해, 장치(2000)의 요청 관리기(2110)에 서비스 제공을 요청할 수 있다. 예를 들면, 어플리케이션 동작 중 실행된 API가 서비스를 요청함에 따라, 전자 디바이스(1000)는, 요청 관리기(2110)에 서비스 제공을 요청할 수 있다. 일 실시 예에 의하면, 전자 디바이스(1000)에서 요청 관리기(2110)로 전송되는, 서비스 제공 요청은 단계 210에서 획득한 사용자 토큰, 서비스를 호출한 API에 관한 정보 및 API에 의해 요청된 서비스에 관한 정보를 포함할 수 있다. 일 실시 예에 의하면, 서비스에 관한 정보는, API에 의해 요청된 서비스에 관한 정보 및 서비스를 제공하는 서비스 제공기에 관한 정보 중 적어도 하나를 포함할 수 있다.
단계 230에서, 요청 관리기(2110)는, 전자 디바이스(1000)로부터 서비스 제공 요청을 수신함에 따라, 서비스 제공기(2120)에 전자 디바이스(1000)로부터 수신된 서비스 제공 요청을 전달할 수 있다.
서비스 제공기(2120)는 서로 다른 서비스를 제공하는 적어도 하나의 서비스 제공기(2121, 2122, 2123)를 포함할 수 있다. 요청 관리기(2110)는, 서비스 제공 요청에 포함된 서비스에 관한 정보에 기초하여, 서비스 제공 요청을 전달할 서비스 제공기를 식별하고, 식별된 서비스 제공기로 서비스 제공 요청을 전달할 수 있다. 예를 들어, 서비스 제공 요청된 서비스가 제1 서비스인 경우, 요청 관리기(2110)는 제1 서비스를 제공하는 제1 서비스 제공기(2121)에 상기 서비스 제공 요청을 전달할 수 있다. 또한, 제1 서비스 제공기(2121)는 인증 과정(단계 240 및 250)을 거쳐 전자 디바이스(1000)에 제1 서비스를 제공할 수 있다.
이하에서는 설명 편의상, 제1 서비스 제공기(2121)에 의해 제1 서비스가 제공되는 것을 기준으로 설명하기로 한다.
단계 240에서, 요청 관리기(2110)로부터 서비스 제공 요청을 수신한 제1 서비스 제공기(2121)는, 인증기(2130)에 제1 서비스 제공기(2121)에 대한 토큰을 발행해줄 것을 요청할 수 있다. 단계 240의 토큰 발행 요청은, 서비스를 요청한 API 와 대응되는 서비스 제공기 토큰이 발행되도록, API에 관한 정보를 더 포함할 수 있다.
예를 들면, 인증기(2130)는, API 및 제1 서비스 제공기(2121)와 대응되는, 서비스 제공기 토큰을 발행하여 제1 서비스 제공기(2121)에 전송할 수 있다. 인증기(2130)는, 서비스 제공기 토큰을 발행하기 위해, 제1 서비스 제공기(2121)가 제1 서비스를 제공할 권한이 있는지에 대한 인증을 수행할 수 있다.
서비스 제공기 토큰은, 예를 들면, API 및 제1 서비스 제공기(2121)와 대응되는 하나의 식별 정보를 포함할 수 있다. 이 경우, 서비스 제공기 토큰은, 동일한 제1 서비스 제공기(2121)에 대한 토큰이어도, 대응되는 API 마다 서로 다른 식별 정보를 포함할 수 있다.
또한, 서비스 제공기 토큰은, 대응되는 API에 관한 정보를 더 포함할 수 있다.
일 실시 예에 의하면, 제1 서비스 제공기(2121)가 API 및 제1 서비스 제공기(2121)와 대응되는 유효한 서비스 제공기 토큰을 이미 가지고 있는 경우, 단계 240의 동작은 생략될 수 있다.
일 실시 예에 의한 서비스 제공기 토큰은 유효기간이 설정될 수 있으며, 서비스 제공기 토큰은 설정된 유효기간 동안 서비스 제공기가 서비스를 제공하기 위해, 서비스를 인증하기 위한 정보로서 이용될 수 있다.
단계 250에서, 제1 서비스 제공기(2121)는 인증기(2130)에 사용자 토큰, 서비스 제공기 토큰 및 API에 관한 정보를 전송함으로써, 사용자 및 제1 서비스 제공기(2121)에 대한 인증을 요청할 수 있다. 단계 250에서 전송되는 API에 관한 정보는, 단계 220 및 단계 230에서 전달되는 API에 관한 정보를 포함할 수 있다.
단계 250에서, 인증기(2130)는, 제1 서비스 제공기(2121)의 요청에 따라, 사용자 토큰 및 서비스 제공기 토큰을 인증할 수 있다. 예를 들면, 인증기(2130)는, 사용자 토큰 및 서비스 제공기 토큰이 유효한 토큰인지 여부를 판단할 수 있다. 또한, 인증기(2130)는 사용자 토큰 및 서비스 제공기 토큰에 의해 식별된 사용자 및 제1 서비스 제공기(2121)가 각각 제1 서비스를 제공받거나, 제1 서비스를 제공할 권한이 있는지 여부를 판단할 수 있다.
일 실시 예에 의한 인증기(2130)는 서비스 제공기 토큰이 단계 250의 인증 요청에 포함된 API와 대응되는지 여부를 판단할 수 있다. 예를 들면, 인증기(2130)는, 서비스 제공기 토큰이 단계 250의 인증 요청에 포함된 API에 관한 정보를 포함하는지 여부를 판단할 수 있다. 서비스 제공기 토큰이 단계 250의 토큰 인증 요청에 포함된 API와 대응되지 않는 경우, 인증은 실패할 수 있다.
일 실시 예에 의한 인증기(2130)는, 단계 250에서, 정책 확인기(2131)에 의해, 사용자 토큰에 의해 식별된 사용자가 제1 서비스를 제공받을 권한이 있는지 여부를 판단할 수 있다. 예를 들면, 정책 확인기(2131)는 사용자 토큰에 의해 식별된 사용자가, Admin, user 및 developer 중 어느 것에 해당되는지 판단하고, 판단 결과에 따라 사용자가 제1 서비스를 제공받을 권한이 있는지 결정할 수 있다. 일 예로, 정책 확인기(2131)에 의해 관리되는 정책에 따라서, 식별된 사용자가 Admin에 해당되고, Admin은 제1 서비스에 대한 권한이 있는 경우, 사용자는 제1 서비스를 제공받을 권한이 있는 것으로 결정될 수 있다.
일 실시 예에 의하면, 인증기(2130)에 포함된 정책 확인기(2131)에 의해, 적어도 하나의 서비스에 대한 사용자의 이용 권한에 관한 정책이 통합 관리될 수 있다. 인증기(2130)는 사용자 토큰 및 사용자 제공기 토큰을 인증하면서, 정책 확인기(2131)에 의해 사용자의 서비스 이용 권한도 함께 인증할 수 있다. 따라서, 서비스를 제공하는 각각의 서비스 제공기(2121, 2122, 2123)가 사용자의 이용 권한을 관리하거나, 인증하는 경우보다, 더 효율적일 수 있다. 또한, 각각의 서비스 제공기(2121, 2122, 2123) 대신, 정책 확인기(2131) 한 곳에서 각 서비스에 대한 사용자의 이용 권한에 대한 정책이 통합 관리될 수 있으므로, 서비스 이용 권한에 대한 정책들이 모순 없이 효율적이고 용이하게 관리될 수 있다.
일 실시 예에 의하면, 단계 250의 토큰 인증 요청에 포함된 사용자 토큰 및 서비스 제공기 토큰이 유효하고, 사용자가 제1 서비스를 이용할 권한이 있으며, 서비스 제공기 토큰이 단계 250의 토큰 인증 요청에 포함된 API와 대응되는 경우, 단계 250의 인증은 성공할 수 있다.
단계 260에서, 제1 서비스 제공기(2121)는, 인증기(2130)에 의해 수행된 인증 결과에 따라, 전자 디바이스(1000)에 의해 요청된 제1 서비스를 수행하고, 그 결과를 요청 관리기(2110)에 전달할 수 있다.
단계 270에서, 요청 관리기(2110)는, 제1 서비스 제공기(2121)로부터 서비스 수행 결과를 수신하면, 전자 디바이스(1000)에 서비스 수행 결과를 전달할 수 있다.
도 3은 일 실시 예에 의한 전자 디바이스에 서비스를 제공하는 장치를 나타낸 블록도이다.
도 3을 참조하면, 일 실시 예에 의한 장치(2000)는, 인증기(2130), 요청 관리기(2110), 및 서비스 제공기(2120)를 포함할 수 있다. 인증기(2130), 요청 관리기(2110), 및 서비스 제공기(2120)는, 물리적으로 분리된 하드웨어 장치로 구성되거나, 하나의 장치에 포함된 소프트웨어 요소로 구성될 수도 있다.
일 실시 예에 의한, 인증기(2130)는, 전자 디바이스(1000)의 요청에 따라 사용자 토큰을 발행하여, 전자 디바이스(1000)에 전송할 수 있다. 또한, 인증기(2130)는 서비스 제공기(2120)의 요청에 따라, 서비스 제공기(2120)의 토큰을 발행할 수 있다. 또한, 인증기(2130)는, 서비스 제공기(2120)의 요청에 따라, 서비스 제공기 토큰 및 사용자 토큰이 유효한지 여부를 판단할 수 있다. 또한, 인증기(2130)는, 서비스 제공기 토큰이 서비스를 요청한 API와 대응되는지 여부를 판단할 수 있다.
또한, 인증기(2130)는 요청된 서비스에 대한 사용자 권한이 존재하는지 여부를 판단하기 위한 정책 확인기(2131)를 더 포함할 수 있다. 정책 확인기(2131)는 전자 디바이스(1000)에 의해 요청된 서비스에 대하여, 사용자 권한이 존재하는지 여부를 판단하고, 존재하지 않는 경우, 서비스가 전자 디바이스(1000)에 제공되지 않도록, 그 결과를 서비스 제공기(2120)에 전달할 수 있다.
요청 관리기(2110)는 전자 디바이스(1000)로부터 서비스 제공 요청을 수신하고, 전자 디바이스(1000)에 의해 요청된 서비스를 제공하는 서비스 제공기(2120)를 식별하여, 식별된 서비스 제공기(2120)로 서비스 제공 요청을 전달할 수 있다. 또한, 요청 관리기(2110)는, 서비스 제공기(2120)로부터 전자 디바이스(1000)에 의해 요청된 서비스에 대한 수행 결과를 수신하면, 서비스 수행 결과를 전자 디바이스(1000)로 전송할 수 있다.
일 실시 예에 의한 장치(2000)는 요청 관리기(2110)를 통해 전자 디바이스(1000)의 서비스 제공 요청을 수신할 수 있다. 따라서, 전자 디바이스(1000)가 직접 서비스를 요청할 서비스 제공기(2120)를 식별하여 접근할 필요 없이, 요청 관리기(2110)에 의해 서비스 제공 요청이 서비스 제공기(2120)로 전달될 수 있다. 요청 관리기(2110)를 통해 전자 디바이스(1000)의 서비스 제공 요청이 서비스 제공기(2120)로 전달됨에 따라, 서비스 제공기(2120)에 대한 외부 장치로부터의 직접적인 접근이 방지될 수 있다. 또한, 일 실시 예에 의하면 요청 관리기(2110) 구성으로 인해, 서비스 제공기(2120)에 대한 외부 장치로부터의 직접적인 접근이 방지됨에 따라, 공격 지점이 최소화될 수 있으므로, 보안이 더 강화될 수 있다.
서비스 제공기(2120)는, 전자 디바이스(1000)에 서비스를 제공할 수 있는 적어도 하나의 서비스 제공기를 포함할 수 있다. 각각의 서비스 제공기는 물리적으로 분리된 하드웨어 장치로 구성되거나, 하나의 장치에 포함된 소프트웨어 요소로 구성될 수도 있다. 각각의 서비스 제공기는 전자 디바이스(1000)의 요청에 따라, 전자 디바이스(1000)에 적어도 하나의 서비스를 제공할 수 있다.
일 실시 예에 의하면, 인증기(2130)에 의해 각각의 서비스 제공기 및 API 에 대하여, 서비스 제공기 토큰이 발행될 수 있다. 인증기(2130)에 의해 API마다 서로 다른 서비스 제공기 토큰이 발행될 수 있다. 전자 디바이스(1000)에 제공되는 서비스 또는 서비스 제공기가 동일해도 전자 디바이스(1000)에서 서비스를 요청하는 API가 다른 경우, 다른 서비스 제공기 토큰이 인증에 이용될 수 있다.
따라서, 일 실시 예에 의하면, API마다 다른 서비스 제공기 토큰이 인증에 이용됨에 따라 서비스 제공기 토큰이 유출되더라도, 유출된 서비스 제공기 토큰으로는 대응되는 하나의 API에 대해서만 서비스가 제공될 수 있고 다른 API에 대해서는 서비스가 제공되지 않을 수 있다. 따라서, 일 실시 예에 의한 서비스 제공기 토큰에 의하면, 서비스를 요청하는 API를 고려하지 않고 발행된 서비스 제공기 토큰에 비해, 서비스 제공기 토큰 유출로 인한 피해가 최소화될 수 있다.
도 4는 일 실시 예에 의한 전자 디바이스에 서비스를 제공하는 방법을 나타낸 순서도이다.
단계 410에서, 전자 디바이스(1000)에 서비스를 제공하는 장치(2000)는 전자 디바이스(1000)로부터 서비스 제공 요청을 수신할 수 있다. 일 실시 예에 의하면, 전자 디바이스(1000)에서 실행 중인 액션에 의해 서비스 제공 요청이 장치(2000)로 전송될 수 있다. 서비스 제공 요청은, 서비스를 요청하는 상기 액션에 관한 정보 및 요청하는 서비스에 관한 정보를 포함할 수 있다.
또한, 서비스 제공 요청은, 전자 디바이스(1000)의 사용자를 인증하기 위한 사용자 인증 정보를 더 포함할 수 있다. 사용자 인증 정보는 예를 들면, 사용자 토큰을 포함할 수 있다. 사용자 토큰은, 서비스 제공 요청이 전송되기 전, 미리 발행되어 전자 디바이스(1000)에 저장된 것일 수 있다. 일 실시 예에 의한 전자 디바이스(1000)는 사용자 토큰이 없거나, 미리 저장된 사용자 토큰이 유효하지 않은 경우, 서비스 제공 요청에 따라 장치(2000)에 사용자 토큰을 발행하여 전송해 줄 것을 요청할 수 있다.
단계 420에서, 서비스를 제공하는 장치(2000)는 단계 410의 액션에 관한 정보를 이용하여, 상기 서비스를 인증하기 위한 서비스 인증 정보로서, 상기 액션과 대응되는 서비스 인증 정보를 획득할 수 있다.
일 실시 예에 의한 서비스 인증 정보는 서비스를 제공하는 서비스 제공기를 인증하기 위한 정보를 포함할 수 있다. 서비스 제공기는 장치(2000)에 포함된 하드웨어 또는 소프트웨어 구성으로, 단계 410에서 요청된 서비스를 전자 디바이스(1000)에 제공하는 구성일 수 있다.
단계 430에서, 서비스를 제공하는 장치(2000)는 서비스 인증 정보를 이용하여, 서비스에 대한 인증을 수행할 수 있다. 서비스 인증 정보는 서비스를 제공하는 서비스 제공기에 대한 서비스 제공기 토큰을 포함할 수 있다. 일 실시 예에 의하면, 장치(2000)는, 서비스 제공기 토큰이 유효한지 여부 및 서비스 제공기 토큰이 서비스를 요청한 상기 액션과 대응되는지 여부를 판단함으로써, 서비스 제공기에 대한 인증을 수행할 수 있다.
또한, 장치(2000)는, 사용자를 인증하기 위한 정보를 이용하여, 사용자에 대한 인증을 더 수행할 수 있다. 예를 들면, 장치는, 사용자에 대한 인증으로서, 사용자 토큰이 유효한지 여부를 판단할 수 있다. 또한, 장치는 사용자 토큰에 의해 식별된 사용자가 액션에 의해 요청된 서비스에 대하여 이용 권한이 있는지 여부를 판단할 수 있다.
단계 440에서, 서비스를 제공하는 장치(2000)는 단계 430에서 수행된 인증 결과에 따라 서비스를 수행하고, 그 결과를 전자 디바이스(1000)에 전달함으로써, 서비스를 전자 디바이스(1000)에 제공할 수 있다.
도 5는 일 실시 예에 의한 전자 디바이스에 서비스를 제공하는 방법을 나타낸 순서도이다. 도 5에 도시된 서비스 제공 방법은 도 4에 도시된 서비스 제공 방법과 대응되나, 서비스 제공 방법을 수행하는 전자 디바이스(1000), 인증기(2130) 및 서비스 제공기(2120)의 구성을 더 포함하여 도시된 것이다. 인증기(2130) 및 서비스 제공기(2120)는 일 실시 예에 따라 전자 디바이스에 서비스를 제공하는 장치(2000)에 포함된 구성일 수 있다.
도 5를 참조하면, 단계 501에서, 전자 디바이스(1000)는, 인증기(2130)에 사용자 토큰을 제공하여 줄 것을 요청할 수 있다. 전자 디바이스(1000)는 인증기(2130)가 사용자 토큰을 발행하는데 필요한 정보, 예를 들면, 전자 디바이스(1000)의 사용자를 식별하기 위한 정보를 인증기(2130)로 전송할 수 있다.
단계 502에서, 인증기(2130)는 전자 디바이스(1000)의 요청에 따라, 사용자 토큰을 발행할 수 있다. 예를 들면, 인증기(2130)는 전자 디바이스(1000)의 사용자를 식별하고, 식별된 사용자에 대한 사용자 토큰을 발행할 수 있다. 또한, 인증기(2130)는, 식별된 사용자에게 사용자 토큰에 대한 권한이 없거나 사용자가 식별되지 않는 경우, 인증기(2130)는 상기 사용자에 대한 사용자 토큰을 발행하지 않을 수 있다.
인증기(2130)는 전자 디바이스(1000)의 요청에 따라 사용자 토큰을 발행하면, 단계 503에서 발행된 사용자 토큰을 전자 디바이스(1000)에 전송할 수 있다. 단계 503에서 전자 디바이스(1000)로 전송된 사용자 토큰은, API에 의해 서비스가 요청됨에 따라, 인증기(2130)에서 사용자를 인증하는데 이용될 수 있다.
단계 504에서, 전자 디바이스(1000)에서 동작 중인 어플리케이션에 의해 소정의 API가 실행될 수 있다. 전자 디바이스(1000)에서 실행된 API는 일 실시 예에 의한 장치(2000)에 서비스를 요청하는 API일 수 있다.
단계 505에서, 서비스를 요청하는 API가 실행됨에 의하여, 전자 디바이스(1000)는 서비스 제공기(2120)에 서비스 제공 요청을 전송할 수 있다. 서비스 제공 요청은, 단계 503에서 전자 디바이스(1000)로 전송된 사용자 토큰, 단계 504에서 실행된 API에 관한 정보, 및 요청된 서비스에 관한 정보를 포함할 수 있다.
일 실시 예에서, 전자 디바이스(1000)가 인증기(2130)에 사용자 토큰을 요청하여 수신하는 동작(501, 502, 및 503)은, API에 의해 서비스 제공 요청이 전송되는 동작(505) 이전에 수행될 수 있다. 그러나 이에 한하지 않고, 단계 501, 502, 및 503의 동작은, 단계 505의 동작 중에 수행되거나 단계 505의 동작 이후에 수행될 수도 있다.
단계 506에서, 서비스 제공기(2120)는, 전자 디바이스(1000)로부터 서비스 제공 요청을 수신함에 따라, 서비스 제공기를 인증하기 위한 서비스 제공기 토큰을 인증기(2130)에 요청할 수 있다.
일 실시 예에 의한 서비스 제공기 토큰은, 서비스 제공기뿐만 아니라, 서비스를 요청한 상기 API와도 대응되는 식별 정보를 포함할 수 있다. 따라서, 일 실시 예에 의한 서비스 제공기 토큰은 대응되는 서비스 제공기 및 API에 따라 서로 다른 식별 정보를 포함할 수 있다.
따라서, 서비스 제공기(2120)는, 서비스 제공기 및 API와 대응되는 서비스 제공기 토큰을 요청하기 위해, 단계 506에서, 서비스 제공기에 관한 정보뿐만 아니라 API에 관한 정보도 함께 인증기(2130)에 전송할 수 있다.
단계 507에서, 인증기(2130)는 서비스 제공기(2120)의 요청에 따라, 서비스 제공기 및 API와 대응되는 서비스 제공기 토큰을 발행하여, 단계 508에서, 서비스 제공기 토큰을 서비스 제공기(2120)에 전달할 수 있다.
일 실시 예에 의하면, 유효한 서비스 제공기 토큰이 이미 존재하는 경우, 상술한 단계 506 내지 508의 동작은, 생략될 수 있다. 서비스 제공기(2120)는 서비스 제공기 및 API와 대응되는 서비스 제공기 토큰을 이미 가지고 있는 경우, 서비스 제공기 토큰이 유효한지 확인할 수 있다. 서비스 제공기 토큰이 유효한 경우, 단계 506 내지 508의 동작은 생략될 수 있다.
단계 509에서, 서비스 제공기(2120)는, 전자 디바이스(1000)의 요청에 따라 서비스를 제공할지 여부를 결정하기 위해, 인증기(2130)에 인증 요청을 전송할 수 있다. 일 실시 예에 의하면, 서비스 제공기(2120)는 인증 요청 시, 사용자 토큰, 서비스 제공기 토큰 및 서비스 제공기 토큰과 대응되는 API에 관한 정보를 함께 인증기(2130)로 전송할 수 있다. 사용자 토큰 및 API에 관한 정보는 단계 505에서 전자 디바이스(1000)로부터 수신한 정보를 포함할 수 있다. 또한, 서비스 제공기 토큰은 단계 508에서, 인증기(2130)로부터 수신된 것일 수 있다.
단계 510에서, 인증기(2130)는 서비스 제공기(2120)로부터 인증 요청을 수신함에 따라, 사용자 및 서비스 제공기에 대한 인증을 수행할 수 있다. 일 실시 예에 의하면, 인증기(2130)는 사용자 토큰을 이용하여, 사용자가 요청된 서비스를 제공받을 권한이 있는지 여부를 인증할 수 있다. 또한, 인증기(2130)는 서비스 제공기 토큰을 이용하여, 서비스 제공기가 사용자에게 서비스를 제공할 권한이 있는지 여부를 인증할 수 있다.
또한, 인증기(2130)는, 서비스 제공기 토큰 및 API에 관한 정보를 이용하여, 단계 509에서 수신된 서비스 제공기 토큰이 단계 504에서 서비스를 요청한 API와 대응되는지 여부를 판단할 수 있다. 예를 들면, 인증기(2130)는, 서비스 제공기 토큰이 단계 504에서 서비스를 요청한 API에 관한 정보를 포함하는지 여부를 판단할 수 있다. 서비스 제공기 토큰이 단계 504에서 서비스를 요청한 API와 대응되지 않는 경우, 단계 510에서의 인증은 실패할 수 있다.
따라서, 일 실시 예에 의한 서비스 제공기 토큰에 의하면, 서비스 제공기 토큰과 대응되는 API에 의해 서비스 제공이 요청되는 경우에만, 서비스 제공기(2120)에 의한 서비스가 제공될 수 있다. 따라서, 서비스 제공기 토큰이 탈취되어도, 서비스 제공기 토큰과 대응되는 하나의 API에 의한 서비스 요청만 허용될 수 있어, 토큰 탈취로 인한 피해가 최소화될 수 있다.
단계 511에서, 인증기(2130)는 단계 510에서 수행된 인증에 대한 결과를 서비스 제공기(2120)로 전달할 수 있다. 서비스 제공기(2120)는 단계 512에서, 인증기(2130)로부터 수신된 인증 결과에 따라 서비스를 실행하여, 단계 513에서, 서비스가 실행된 결과를 전자 디바이스(1000)로 전송할 수 있다.
도 6은 일 실시 예에 의한 전자 디바이스에 서비스를 제공하는 방법을 나타낸 순서도이다. 도 6에 도시된 서비스 제공 방법은 도 4 및 도 5의 서비스 제공 방법과 대응되며, 중복되는 설명은 생략될 수 있다.
도 6을 참조하면, 단계 610에서, 전자 디바이스(1000)에서 동작 중인 어플리케이션에 의해 장치(2000)에서 제공되는 서비스를 요청하는 동작이 발생될 수 있다. 예를 들면, 전자 디바이스(1000)에서, 어플리케이션에 의해 동작된 소정 액션(예를 들면, API)에 의하여 서비스를 요청하는 동작이 발생될 수 있다.
단계 620에서, 전자 디바이스(1000)는 서비스를 요청하기 위해 필요한 사용자 토큰을 획득할 수 있는지 판단할 수 있다. 일 실시 예에 의한 사용자 토큰은, 사용자를 식별하기 위한 정보를 포함할 수 있고, 각각의 사용자 토큰에는 유효 기간이 부여될 수 있다. 일 실시 예에 의하면, 전자 디바이스(1000)는 장치(2000)에 사용자 토큰을 요청하여 수신할 수 있다.
단계 620에서, 전자 디바이스(1000)는 서비스 요청을 위한 사용자 토큰을 획득할 수 있는 경우, 단계 630에서, 장치(2000)로 서비스 제공 요청을 전송할 수 있다. 그러나, 단계 620에서, 전자 디바이스(1000)는 사용자 인증 실패로 인해 장치(2000)로부터 사용자 토큰을 획득할 수 없는 경우, 장치(2000)로 서비스 제공을 요청하지 못하고, 단계 690에서 동작이 종료될 수 있다.
단계 630에서, 서비스를 전자 디바이스(1000)에 제공하는 장치(2000)는, 전자 디바이스(1000)로부터 서비스 제공 요청을 수신할 수 있다. 서비스 제공 요청은, 서비스를 호출한 액션에 관한 정보 및 요청된 서비스에 관한 정보를 포함할 수 있다. 또한, 서비스 제공 요청은 서비스가 제공될 전자 디바이스(1000)의 사용자를 인증하기 위한 사용자 식별 정보, 예를 들면, 사용자 토큰을 더 포함할 수 있다.
단계 640에서, 장치(2000)는 서비스를 제공하는 서비스 제공기를 인증하기 위한 서비스 제공기 토큰을 획득할 수 있는지 여부를 판단할 수 있다. 서비스 제공기 토큰이 획득될 수 없는 경우, 단계 690에서 서비스를 제공하는 동작이 종료될 수 있다. 일 실시 예에 의한, 서비스 제공기 토큰은, 장치(2000)에 포함된 적어도 하나의 서비스 제공기 중 전자 디바이스(1000)에 의해 요청된 서비스를 제공하는 서비스 제공기를 인증하기 위한 토큰이다.
일 실시 예에 의한 서비스 제공기 토큰은, 서비스를 요청할 수 있는 액션마다 서로 다른 식별 정보를 포함하는 토큰일 수 있다. 또한, 일 실시 예에 의한 서비스 제공기 토큰은 대응되는 액션에 관한 정보를 포함할 수 있다.
단계 640에서, 서비스 제공기 토큰이 획득된 경우, 단계 650에서, 사용자 토큰 및 서비스 제공기 토큰에 대한 인증이 수행될 수 있다. 일 실시 예에 의하면, 인증기(2130)에 의하여, 사용자 토큰 및 서비스 제공기 토큰이 유효한지 여부가 판단됨으로써, 인증이 수행될 수 있다.
또한, 서비스 제공기 토큰에 대한 인증은 서비스를 요청한 액션에 관한 정보에 기초하여 수행될 수 있다. 예를 들면, 인증기(2130)는 서비스 제공기 토큰이 서비스를 요청한 액션과 대응되는지 여부를 판단함으로써, 서비스 제공기 토큰에 대한 인증을 수행할 수 있다. 또 다른 예로, 인증기(2130)는 서비스 제공기 토큰이 서비스를 요청한 액션에 관한 정보를 포함하는지 여부를 판단함으로써, 서비스 제공기 토큰에 대한 인증을 수행할 수 있다. 서비스 제공기 토큰이 서비스를 요청한 액션 정보를 포함하지 않거나 서비스를 요청한 액션과 대응되지 않는 경우, 서비스 제공기 토큰에 대한 인증은 실패하고, 단계 690에서 동작이 종료될 수 있다.
단계 650에서, 사용자 토큰 및 서비스 제공기 토큰에 대한 인증이 성공하면, 단계 660에서, 사용자 토큰에 의해 식별된 사용자의 권한에 대한 인증이 수행될 수 있다. 일 실시 예에 의하면, 인증기(2130)는 사용자 토큰에 의해 식별된 사용자가 단계 630에서 요청된 서비스를 제공받을 권한이 존재하는지 여부를 판단함으로써 사용자 권한에 대한 인증을 수행할 수 있다. 단계 660에서, 사용자 권한에 대한 인증이 실패하는 경우, 단계 690에서 동작이 종료될 수 있다.
단계 660에서, 사용자 권한에 대한 인증이 성공하는 경우, 단계 670에서, 서비스 제공기는 전자 디바이스(1000)에 의해 요청된 서비스를 실행할 수 있다. 일 실시 예에 의하면, 인증 결과에 따라 서비스가 제공될 수 있도록 인증기(2130)는 서비스를 제공하는 서비스 제공기로 단계 660에서의 인증 결과를 전달할 수 있다. 서비스 제공기는 인증 결과를 수신함에 따라 전자 디바이스(1000)에 의해 요청된 서비스를 실행할 수 있다.
단계 680에서, 서비스 제공기는 단계 670에서 실행된 서비스의 결과를 전자 디바이스(1000)에 전송함으로써, 전자 디바이스(1000)에 서비스를 제공할 수 있다.
일 실시 예에 의하면, 서비스를 인증하기 위한 서비스 인증 정보는, 동일한 서비스에 대한 인증 정보여도 대응되는 액션에 따라 다른 인증 정보를 포함하므로, 보안이 보다 강화될 수 있다.
일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한, 본 명세서에서, “부”는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 디바이스에 서비스를 제공하는 방법에 있어서,
    상기 전자 디바이스로부터, 상기 전자 디바이스에서 실행된 액션 중 상기 서비스를 요청하는 액션에 관한 정보를 포함하는, 서비스 제공 요청을 수신하는 단계;
    상기 액션에 관한 정보를 이용하여, 상기 서비스를 인증하기 위한 서비스 인증 정보로서, 상기 액션과 대응되는 서비스 인증 정보를 획득하는 단계;
    상기 액션과 대응되는 상기 서비스 인증 정보를 이용하여, 상기 서비스에 대한 인증을 수행하는 단계; 및
    상기 인증 결과에 따라, 상기 전자 디바이스에 상기 서비스를 제공하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 서비스에 대한 인증을 수행하는 단계는,
    상기 서비스 인증 정보가 상기 액션에 관한 정보를 포함하는지 여부를 결정하는 단계; 및
    상기 결정 결과에 기초하여, 상기 서비스에 대한 인증을 수행하는 단계를 포함하는, 방법.
  3. 제1항에 있어서, 상기 서비스 인증 정보는
    상기 서비스를 제공하는 서비스 제공기를 인증하기 위한 정보를 포함하는, 방법.
  4. 제1항에 있어서, 상기 서비스 제공 요청은, 상기 전자 디바이스의 사용자를 인증하기 위한 사용자 인증 정보를 더 포함하고,
    상기 서비스에 대한 인증을 수행하는 단계는
    상기 사용자 인증 정보를 이용하여, 상기 사용자에 대한 인증을 수행하는 단계를 포함하는, 방법.
  5. 제4항에 있어서, 상기 사용자에 대한 인증을 수행하는 단계는
    상기 사용자 인증 정보를 이용하여, 상기 사용자의 상기 서비스에 대한 권한을 인증하는 단계를 포함하는, 방법.
  6. 제1항에 있어서, 상기 액션에 관한 정보는,
    상기 서비스를 요청한 API(application programming interface)에 관한 정보를 포함하는, 방법.
  7. 전자 디바이스에 서비스를 제공하는 장치에 있어서,
    상기 전자 디바이스로부터, 상기 전자 디바이스에서 실행된 액션 중 상기 서비스를 요청하는 액션에 관한 정보를 포함하는, 서비스 제공 요청을 수신하는 요청 관리기;
    상기 서비스를 인증하기 위한 서비스 인증 정보로서, 상기 액션과 대응되는 서비스 인증 정보를 이용하여, 상기 서비스에 대한 인증을 수행하는 인증기; 및
    상기 인증 결과에 따라, 상기 전자 디바이스에 상기 서비스를 제공하는, 서비스 제공기를 포함하는, 장치.
  8. 제7항에 있어서, 상기 인증기는
    상기 서비스 인증 정보가 상기 액션에 관한 정보를 포함하는지 여부를 결정하고, 상기 결정 결과에 기초하여, 상기 서비스에 대한 인증을 수행하는, 장치.
  9. 제7항에 있어서, 상기 서비스 인증 정보는
    상기 서비스를 제공하는 서비스 제공기를 인증하기 위한 정보를 포함하는, 장치.
  10. 제7항에 있어서, 상기 서비스 제공 요청은, 상기 전자 디바이스의 사용자를 인증하기 위한 사용자 인증 정보를 더 포함하고,
    상기 인증기는, 상기 사용자 인증 정보를 이용하여, 상기 사용자에 대한 인증을 수행하는, 장치.
  11. 제10항에 있어서, 상기 인증기는
    상기 사용자 인증 정보를 이용하여, 상기 사용자의 상기 서비스에 대한 권한을 인증하는, 장치.
  12. 제7항에 있어서, 상기 액션에 관한 정보는,
    상기 서비스를 요청한 API에 관한 정보를 포함하는, 장치.
  13. 전자 디바이스에 서비스를 제공하는 장치에 있어서,
    통신부;
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,
    상기 전자 디바이스로부터, 상기 전자 디바이스에서 실행된 액션 중 상기 서비스를 요청하는 액션에 관한 정보를 포함하는, 서비스 제공 요청을 수신하고,
    상기 액션에 관한 정보를 이용하여, 상기 서비스를 인증하기 위한 서비스 인증 정보로서, 상기 액션과 대응되는 서비스 인증 정보를 획득하고,
    상기 액션과 대응되는 상기 서비스 인증 정보를 이용하여, 상기 서비스에 대한 인증을 수행하고,
    상기 인증 결과에 따라, 상기 전자 디바이스에 상기 서비스를 제공하는. 장치.
  14. 제13항에 있어서, 상기 서비스 제공 요청은, 상기 전자 디바이스의 사용자를 인증하기 위한 사용자 인증 정보를 더 포함하고,
    상기 프로세서는, 상기 사용자 인증 정보를 이용하여, 상기 사용자에 대한 인증을 수행하는, 장치.
  15. 제1항 내지 제6항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함하는 컴퓨터 프로그램 제품.
KR1020180028291A 2018-03-09 2018-03-09 전자 디바이스에 서비스를 제공하는 장치 및 그 방법 KR20190106589A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180028291A KR20190106589A (ko) 2018-03-09 2018-03-09 전자 디바이스에 서비스를 제공하는 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180028291A KR20190106589A (ko) 2018-03-09 2018-03-09 전자 디바이스에 서비스를 제공하는 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20190106589A true KR20190106589A (ko) 2019-09-18

Family

ID=68070905

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180028291A KR20190106589A (ko) 2018-03-09 2018-03-09 전자 디바이스에 서비스를 제공하는 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20190106589A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230031717A (ko) * 2021-08-27 2023-03-07 롯데정보통신 주식회사 IoT 포털 서버, IoT 플랫폼 서버, 인증 서버를 통해 획득된 토큰과 ACP 데이터 필드를 이용하여 권한을 관리하는 방법, 및 상기 방법을 실행하기 위한 컴퓨터 프로그램
KR102592711B1 (ko) * 2022-05-03 2023-10-23 주식회사 소프트웨어인라이프 전자문서 관리 시스템에서의 전자문서 데이터 제공방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230031717A (ko) * 2021-08-27 2023-03-07 롯데정보통신 주식회사 IoT 포털 서버, IoT 플랫폼 서버, 인증 서버를 통해 획득된 토큰과 ACP 데이터 필드를 이용하여 권한을 관리하는 방법, 및 상기 방법을 실행하기 위한 컴퓨터 프로그램
KR102592711B1 (ko) * 2022-05-03 2023-10-23 주식회사 소프트웨어인라이프 전자문서 관리 시스템에서의 전자문서 데이터 제공방법 및 장치

Similar Documents

Publication Publication Date Title
US9871821B2 (en) Securely operating a process using user-specific and device-specific security constraints
JP7030981B2 (ja) 資産管理方法および装置、および電子デバイス
US9667426B2 (en) Information processing apparatus, program, storage medium and information processing system
US10944574B2 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
US10097558B2 (en) Delegated permissions in a distributed electronic environment
CN107533609B (zh) 用于对系统中的多个可信执行环境进行控制的系统、设备和方法
US8417964B2 (en) Software module management device and program
US9569602B2 (en) Mechanism for enforcing user-specific and device-specific security constraints in an isolated execution environment on a device
CN105164633B (zh) 由可信提供商进行的配置和验证
US8131997B2 (en) Method of mutually authenticating between software mobility device and local host and a method of forming input/output (I/O) channel
CN110365684B (zh) 应用集群的访问控制方法、装置和电子设备
TWI725352B (zh) 驗證及授權的方法及驗證伺服器
US20230370265A1 (en) Method, Apparatus and Device for Constructing Token for Cloud Platform Resource Access Control
KR20140026451A (ko) 장치 기능과 애플리케이션의 결합
CN106878250B (zh) 跨应用的单态登录方法及装置
US10771462B2 (en) User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal
CN110447033A (zh) 基于客户访问限制的认证
US11586710B2 (en) System and method for protecting software licensing information via a trusted platform module
CN110489957B (zh) 访问请求的管理方法和计算机存储介质
EP3570517B1 (en) Authentication technique making use of emergency credential
US10949530B2 (en) Transaction method, transaction information processing method, transaction terminal, and server
KR20190106589A (ko) 전자 디바이스에 서비스를 제공하는 장치 및 그 방법
CN111245600A (zh) 基于区块链技术的鉴权认证方法和系统
US20200145459A1 (en) Centralized authentication and authorization
US11849041B2 (en) Secure exchange of session tokens for claims-based tokens in an extensible system