KR102074030B1 - 인가 서버, 인증 제휴 시스템 및 프로그램을 저장한 저장 매체 - Google Patents

인가 서버, 인증 제휴 시스템 및 프로그램을 저장한 저장 매체 Download PDF

Info

Publication number
KR102074030B1
KR102074030B1 KR1020160165710A KR20160165710A KR102074030B1 KR 102074030 B1 KR102074030 B1 KR 102074030B1 KR 1020160165710 A KR1020160165710 A KR 1020160165710A KR 20160165710 A KR20160165710 A KR 20160165710A KR 102074030 B1 KR102074030 B1 KR 102074030B1
Authority
KR
South Korea
Prior art keywords
authorization token
information
authorization
server
user
Prior art date
Application number
KR1020160165710A
Other languages
English (en)
Other versions
KR20170067660A (ko
Inventor
다카히코 니시다
Original Assignee
캐논 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20170067660A publication Critical patent/KR20170067660A/ko
Application granted granted Critical
Publication of KR102074030B1 publication Critical patent/KR102074030B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/26Coin-freed apparatus for hiring articles; Coin-freed facilities or services for printing, stamping, franking, typing or teleprinting apparatus
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • 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/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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

제2 인가 토큰을 포함하는 인가 토큰 검증 요청은 클라이언트 디바이스로부터 제2 인가 토큰과 함께 수신된 처리 요청을 갖는 애플리케이션 서버로부터 수신되고, 수신된 제2 인가 토큰 및 인가 토큰 정보에 기초하여 인가 토큰의 검증이 성공한 경우에, 인가 토큰 정보에 포함되는 상기 로컬 사용자 정보가 애플리케이션 서버에 응답된다.

Description

인가 서버, 인증 제휴 시스템 및 프로그램을 저장한 저장 매체{AUTHORIZATION SERVER, AUTHENTICATION COOPERATION SYSTEM, AND STORAGE MEDIUM STORING PROGRAM}
본 발명은, 인가 서버, 예를 들어 클라우드 서비스들 중 한 서비스와 로컬 서비스 사이의 인증 제휴 시스템, 및 프로그램을 저장한 저장 매체에 관한 것이다.
최근에는, 서버를 인터넷에 공개하여 클라이언트에게 서비스를 제공하는 클라우드 컴퓨팅 서비스들(또는 클라우드 서비스들)이 주목을 모으고 있다. 기본적으로, 클라우드 컴퓨팅 서비스는 많은 컴퓨팅 리소스를 이용하여 데이터 변환 및 데이터 처리를 분산 실행하고, 많은 클라이언트로부터의 요청을 분산 병렬 처리의 수행에 의해 병행하여 처리할 수 있다. 현재, 전술한 클라우드 컴퓨팅 서비스를 실현하기 위한 클라우드 컴퓨팅 서비스 환경에 웹 서비스를 구현하여, 매우 다양한 서비스를 웹 상에 제공하는 아주 많은 벤더(vender)들이 존재한다. 클라우드 서비스의 개발 시, 이미 웹 상에 제공되었던 많은 서비스는 개발 속도 및 개발 비용 측면에서 장점을 얻을 수 있도록 새로운 기능을 제공하는데 효율적으로 사용될 수 있다. 한편, 예를 들어 사업자는 종래에 그 자신의 서버 등을 보유하고, 다수의 온-프레미스 시스템(On-premise system)을 운용할 수 있었다. 모든 사내 시스템을 통합하여 클라우드 서비스로 이행하는 것(transferring)은 어려울 수 있다. 따라서, 일부 온-프레미스 시스템들은 단계적으로 클라우드 서비스로 이행될 수 있었다. 그 결과, 온-프레미스 서비스와 클라우드 서비스를 제휴시켜 양쪽을 이용할 수 있는 사용자의 수가 증가되었다.
온-프레미스 서비스와 클라우드 서비스를 제휴하여 이용할 때, 종래의 온-프레미스 시스템에서와 같은 로컬 인증(예를 들어, LDAP)과 클라우드 인증이 상이하기 때문에, 싱글 사인 온(Single Sign On)(이하, SSO라고 칭함)이 강하게 요구된다. 종래 기술에 따르면, 온-프레미스 시스템의 로컬 인증은 클라우드 서비스에 구축된 로컬 인증 서비스에 동기화될 수 있어, 클라우드 서비스와 온-프레미스 시스템의 양쪽의 로그인 서비스에 로그인함으로써 사용자 ID 프로비저닝(provisioning)을 개시할 수 있다. 이것은, 예를 들어 사용자 ID와 같은 사용자 계정에 관한 정보의 생성 및 유지보수(maintenance)를 포함하는 관리를 개시할 수 있다. 그 후, 사용자가 클라우드 서비스에 대한 로컬 인증 서비스에 VPN을 이용하여 로그인하면, 사용자는 사용자와 연관된 크리덴셜(credential) 정보를 이용하여 클라우드 서비스에 로그인할 수 있다. PCT 일본 특허 공표 제2015-518198호 공보를 참조한다.
로컬 인증과 클라우드 서비스 인증 간에 제휴를 위해 전체 사용자에 대한 ID 프로비저닝이 필요할 수 있다. 사용자의 수가 증감할 때마다 ID 프로비저닝을 유지 관리할 필요가 있기 때문에, 사용자 관리를 위한 운용 비용이 불리하게 높아질 수 있다.
본 발명은 전술한 종래의 예를 감안하여 이루어진 것으로, 본 발명의 양태들은, 로컬 인증과 클라우드 서비스 인증 사이에서 사용자-ID 프로비저닝을 위한 필요를 제거할 수 있는, 인가 서버, 인증 제휴 시스템 및 프로그램을 저장한 저장 매체를 제공한다.
본 발명은 로컬 인증과 클라우드 서비스 인증 사이에서 ID 프로비저닝이 필요없기 때문에 운용 부하를 줄일 수도 있다.
본 발명은 이하의 구성을 갖는다.
본 발명의 제1 양태는, 대표 인가 토큰 정보 및 로컬 사용자 정보와 함께 인가 토큰 생성 요청을 클라이언트 디바이스로부터 수신하는 수단 - 클라이언트 디바이스는 사용자에 의해 수행된 인가 조작에 기초하여 애플리케이션 서버를 이용하기 위한 권한의 이전(transfer)을 수신하고, 클라이언트 디바이스는 상기 이전에 기초하여 발행된 제1 인가 토큰을 대표 인가 토큰 정보로서 등록함 -; 클라이언트 디바이스가 인가 토큰 생성 요청과 함께 수신된 대표 인가 토큰 정보에 기초하여 성공적으로 인증된 경우, 클라이언트 디바이스에 대해 제2 인가 토큰을 응답하고, 인가 토큰 생성 요청과 함께 수신된 로컬 사용자 정보를 제2 인가 토큰과 연관시킨 인가 토큰 정보를 생성하여 저장하는 수단; 및 클라이언트 디바이스로부터 제2 인가 토큰과 함께 처리 요청을 수신한 애플리케이션 서버로부터 제2 인가 토큰을 포함하는 인가 토큰 검증 요청을 수신하고, 수신된 제2 인가 토큰 및 인가 토큰 정보에 기초하여 인가 토큰이 성공적으로 검증된 경우, 인가 토큰 정보에 포함되는 로컬 사용자 정보를 상기 애플리케이션 서버에 응답하는 응답 수단을 포함하는 인가 서버를 제공한다.
본 발명의 제2 양태는, 인가 서버, 애플리케이션 서버 및 클라이언트 디바이스를 포함하는 인증 제휴 시스템을 제공하며, 클라이언트 디바이스는, 제1 인가 토큰을 대표 인가 토큰 정보로서 저장하는 저장 수단 - 제1 인가 토큰은 사용자에 의해 수행된 인가 조작에 기초하는 애플리케이션 서버를 이용하기 위한 권한의 이전에 기초하여 발행됨 -; 및 로그인 사용자의 로컬 사용자 정보 및 대표 인가 토큰 정보와 함께 인가 토큰 생성 요청을 인가 서버에 송신하는 송신 수단을 포함하고, 인가 토큰 생성 요청과 함께 제2 인가 토큰이 수신된 경우, 송신 수단은 제2 인가 토큰과 함께 처리 요청을 애플리케이션 서버에 송신하고, 애플리케이션 서버는, 애플리케이션 서버가 클라이언트 디바이스로부터 제2 인가 토큰과 함께 처리 요청을 수신할 때 인가 토큰 검증 요청을 인가 서버에 송신하고, 인가 토큰 검증 요청이 성공한 결과의 응답으로서 제2 인가 토큰과 연관시킨 로컬 사용자 정보를 포함하는 인가 토큰 정보를 수신하는 송신 수단; 및 로컬 사용자 정보에 기술되는 사용자 또는 클라이언트 디바이스에 대해 처리 요청을 처리하는 처리 수단을 포함한다.
본 발명의 추가 특징들은 첨부 도면을 참조하여 이하의 실시예의 상세한 설명으로부터 명백해질 것이다.
도 1은 시스템 구성도이다.
도 2a 및 2b는 장치들의 하드웨어 구성도이다.
도 3은 프린터 인가 플로우를 도시한다.
도 4a 및 4b는 사용자 인가 화면들을 도시한다.
도 5는 인증 프린트 플로우를 도시한다.
도 6은 인가 토큰을 발행하기 위한 플로우를 도시한다.
도 7은 인가 토큰을 이용하기 위한 플로우를 도시한다.
도 8은 장치들의 소프트웨어 구성도이다.
도 9a는 로컬 인증 서버에서 관리되는 테이블 구조를 도시하고, 도 9b 및 도 9c는 프린터에서 관리되는 테이블 구조들을 도시하며, 도 9d 및 도 9e는 인가 서버에서 관리되는 테이블 구조들을 도시한다.
도 10a-10c는 데이터 변환 서버에서 관리되는 테이블 구조들을 도시한다.
도 11은 스토리지 서버에서 관리되는 테이블 구조를 도시한다.
이하, 본 발명의 실시예들이 도면을 참조하여 설명될 것이다.
제1 실시예
시스템 구성
도 1은 본 발명의 일 실시예에 따른 인증 제휴 시스템을 포함하는 모바일 프린트 시스템의 전체 구성을 도시한다.
도 1을 참조하면, 하나 또는 복수의 모바일 단말기(102)는 로컬 네트워크(101)에 접속된다. 모바일 단말기(102)는 서버들(104 내지 109)에 액세스하기 위해 로컬 네트워크(101)를 통해 인터넷(100)에 액세스할 수 있다. 모바일 단말기(102)는 유선 또는 무선 LAN을 통해 네트워크에 접속된다.
시큐리티 도메인들(110 내지 112) 각각은 사용자의 액세스 가능한 인증 및 인가된 범위를 나타내고, 인증 및 인가된 사용자 또는 인가 토큰은 시큐리티 도메인을 넘어서 이용될 수 없다. 로컬 인증 시큐리티 도메인(110)은 로컬 인증 서버(104)에 의해 인증된 사용자 액세스 가능한 범위를 나타내고, 업무 서버(105)는 로컬 인증 시큐리티 도메인(110)에 속한다. 전표 서비스 시큐리티 도메인(business form service security domain)(111)은 인가 서버(106)에 의해 발행된 인가 토큰을 이용하여 액세스 가능한 범위를 나타내고, 전표 서버(107) 및 데이터 변환 서버(108)는 전표 서비스 시큐리티 도메인(111)에 속한다. 스토리지 서비스 시큐리티 도메인(112)은 도시되지 않은 스토리지 서비스 시큐리티 도메인 인가 서버에 의해 발행된 인가 토큰을 이용하여 액세스 가능한 범위를 나타내고, 스토리지 서버(109)는 스토리지 서비스 시큐리티 도메인(112)에 속한다. 도 1을 참조하면, 로컬 인증 시큐리티 도메인(110)은 온-프레미스 시스템에 대응하고, 전표 서비스 시큐리티 도메인(111) 및 스토리지 서비스 시큐리티 도메인(112)은 클라우드 시스템에 대응한다.
로컬 인증 서버(104)는 업무 서버(105)에 액세스하기 위해 사용자 인증을 실현하기 위한 서버이다. 사용자는 자신이 로컬 인증 서버(104)에서 인증되는 경우 업무 서버(105)에 액세스할 수 있다. 로컬 인증 방법으로서 LDAP가 종종 사용될 수 있지만, 사용자 명, 패스워드 및 도메인의 일치의 확인만을 포함하는 간략한 인증 방식이 본 실시예에서 이용될 수 있다. 그러나 이것은 예시적 목적만을 위해 주어진 것이다. 본 실시예에 따른 발명은 사용자 인증이 사용자의 고유 인증 정보를 이용하여 수행되는 다른 인증 방법에도 적용될 수 있다.
업무 서버(105)는 사용자 업무 정보를 관리하도록 구성된 서버이다. 본 실시예는, 판매원이 판매 업무를 위해 업무 서버(105) 내의 정보를 이용할 수 있도록 판매를 위한 제품이 업무 서버(105)에서 클라이언트마다 관리되는 사용 예를 가정한다. 업무 서버(105)는 모바일 단말기(102)로부터의 요청에 응답하여 사용자 업무 정보를 표시 및 편집하기 위한 화면들을 제공한다. 인가 서버(106)는 OAuth(the open standard for authorization)를 실현하기 위한 서버이며, 클라이언트 정보를 관리하고 인가 토큰을 발행하고 관리하도록 구성된다. 전표 서버(107)는 업무 서버(105)로부터 사용자 업무 정보를 수신하고, 전표 템플릿에 사용자 업무 정보를 반영시켜 생성되는 전표 PDF를 관리하도록 구성된 서버이다. 전표 서버(107)는 데이터 변환 서버(108)에게 생성된 전표 PDF를 저장하도록 요청한다. 데이터 변환 서버(108)는 전표 서버(107)로부터 전표 PDF 저장 요청을 수신하고, 전표 PDF 데이터를 저장하고 관리하며, 프린터(103)로부터 프린트 데이터 변환 요청을 수신하고, 프린트 데이터를 생성하고 관리한다. 스토리지 서버(109)는 파일 관리를 수행하고, 프린터(103), 모바일 단말기(102), 전표 서버(107) 및 데이터 변환 서버(108)로부터 업로드되거나 다운로드된 파일들을 수신하도록 구성된 서버이다. OAuth는 사용자 권한을 전제 조건으로 그 사용자의 동의하에 안전하게 주고받기(즉, 이전하기) 위한 메커니즘이며, 이 메커니즘을 실현한 서버가 인가 서버(106)이다. OAuth에 따르면, 예를 들어 사용자가 제1 서버에 의해 인가된 권한의 전부 또는 일부를 제2 서버로 이전함으로써, 제2 서버는 이전된 사용자의 권한의 범위 또는 범주 내에서 제1 서버에 의해 제공되는 서비스를 수신할 수 있다. OAuth에 따르면, 사용자는 제1 서버에 로그인하기 위한 자신의 인증 정보를 제2 서버에 알려줄 필요가 없다.
서버들(106 내지 109)을 포함하는 서버들은 클라우드 서비스들을 제공하는 서버들과 같이 인터넷에 공개된다. 이들 서버 각각은 본 실시예에서 간략한 예시를 위해 하나의 서버로 예시되지만, 복수의 서버를 포함할 수 있다. 로컬 인증 서버(104) 및 업무 서버(105)도 본 실시예에서 간략한 예시를 위해 하나의 서버로 예시되지만, 복수의 서버를 포함할 수 있다. 클라우드 서비스들을 제공하는 서버들 중에서, 인가 서버(106)와 스토리지 서버(109)를 제외한, 클라이언트들에게 애플리케이션을 제공하기 위한 서버들은 집합적으로 애플리케이션 서버라고 칭하는 경우도 있을 수 있다.
본 실시예에 따르는, 프린터(103)가 데이터 변환 서버(108)에 저장된 전표 PDF를 인쇄하는 방법이 후술된다. 업무 서버(105) 내의 데이터는 전표 서버(107)에서 전표 PDF 생성하는데 이용되고, 여기서는 전표 PDF가 전표 서버(107)로부터 데이터 변환 서버(108)에 이미 저장되었다고 가정한다.
클라이언트 단말기(102) 및 서버들(104 내지 109)의 하드웨어 구성
도 2a는 클라이언트 단말기(102)와 서버들(104 내지 109) 각각의 하드웨어 구성의 일례를 도시한다. 본 실시예에 따른 본 발명은, 달리 언급하지 않는 한, 본 실시예에 따른 발명의 기능이 실행 가능한 경우, 단일 장치 또는 복수의 장치를 포함하는 시스템 중 어느 하나에 적용할 수 있다. 본 실시예에 따른 본 발명은, 달리 언급하지 않는 한, 본 실시예의 발명의 처리 기능을 수행하기 위해 LAN 또는 WAN과 같은 네트워크를 통해 접속된 장치들을 포함하는 시스템에도 적용할 수 있다. 본 실시예는 시스템 버스(219)를 통해 컴포넌트들이 접속되어 있는 것으로 설명될 것이다.
CPU(220)는 화상 처리 장치를 위한 제어 디바이스이고, 스토리지 디바이스(226)에 저장되어 있는, 애플리케이션 프로그램, 프린트 드라이버 프로그램, 운영 체계, 및 본 실시예에 따른 프린트 시스템 프로그램을 실행하도록 구성된다. CPU(220)는 프로그램 실행에 필요한 정보 및 파일들을 RAM(222)에 일시적으로 저장하도록 제어한다. CPU(220)는, 예를 들어 디스플레이(227) 상에 도시되지 않은 마우스 커서를 이용하여 주어지는 커맨드에 응답하여 등록된 다양한 윈도우를 열고, 다양한 종류의 데이터 처리를 실행할 수 있다. ROM(221)은 고정된 정보를 저장하고, 기본 I/O 프로그램과 같은 프로그램, 및 문서 처리를 위해 사용 가능한 폰트 데이터, 템플릿 데이터 및 다른 종류의 각종 데이터를 내부적으로 저장하도록 구성된 ROM이다. RAM(222)은 정보를 일시 저장하고, CPU(220)를 위한 메인 메모리 및 작업 영역으로서 기능하도록 구성된 RAM이다. 표시 제어 유닛(224)은 디스플레이(227) 상에 출력된 정보를 제어하도록 구성된다. 입력 제어 유닛(225)은 키보드(228)를 통해 입력되는 정보를 제어하도록 구성되고, 화상 처리 장치는 입력 제어 유닛(225)을 통해 외부 장치와 데이터를 교환할 수 있다. 스토리지 디바이스(226)는 외부 스토리지들 중 하나이며, 대용량 메모리로서 기능하고, 애플리케이션 프로그램, 프린트 드라이버 프로그램, OS 등을 저장한다. 키보드(228)는 사용자가 지시를 서버에 입력할 수 있는 지시 입력 유닛이다. 디스플레이(227)는, 예를 들어 키보드(228)를 통해 입력된 커맨드를 표시하도록 구성된 표시 유닛이다. 네트워크 제어기(223)는 인터넷에 직접 또는 간접적으로 접속하도록 구성된 네트워크 인터페이스 유닛이다.
클라이언트 단말기(102)는, 예를 들어 데스크톱 PC, 랩톱 PC, 모바일 PC, PDA(personal data assistant)일 수 있고, 웹 브라우저와 같은 프로그램이 실행되는 환경에 내장될 수 있다. 클라이언트 단말기(102)에 인스톨된 웹 브라우저는 도 2a에 도시된 스토리지 디바이스(226)에 저장되고, 전술한 바와 같이 CPU(220)에 의해 RAM(222)에 로드되어 실행된다.
프린터(103)의 하드웨어 구성
도 2b는 프린터(103)의 하드웨어 구성도이다. 프린터 내의 하드웨어 컴포넌트들은 시스템 버스(230)에 접속된다. CPU(231)는 장치 전체를 제어하고, 시스템 버스(230)에 접속된 디바이스들에 대한 액세스를 일반적으로 제어한다. 이 제어는 ROM(232)에 저장된 제어 프로그램 또는 디스크 제어기(disk controller)(DKC)(235)를 통해 접속된 외부 메모리(236)에 저장된 제어 프로그램 및 리소스 데이터(리소스 정보)에 기초할 수 있다. RAM(233)은 CPU(231)를 위한 메인 메모리 및 작업 영역으로서 기능하도록 구성된 RAM이며, 도시되지 않은 확장 포트에 접속되는 옵션 RAM을 이용하여 확장 가능한 메모리 크기를 갖는다. 스토리지 디바이스(240)는 대용량 메모리로서 기능하도록 구성된 외부 스토리지 장치이다. 제어 패널(조작 유닛)(239)은 화면을 표시하고, 화면을 통한 사용자의 조작 지시를 수신하도록 구성된다. 프린터(103)의 동작 모드를 설정하고, 프린터(103)의 동작 상태를 표시하고, 인쇄될 콘텐츠 데이터를 지정하는 것을 포함하는 조작들을 수행하기 위한 버튼들, 및 액정 패널과 같은 표시 유닛이 추가로 제공된다. 네트워크 제어기(234)는 네트워크 인터페이스 카드(network interface card)(NIC)이며, 인터페이스(234)를 통해 외부 장치와 데이터의 교환을 가능하게 한다. 이 예에서, 도 2b에 도시된 프린트 엔진(238)은 알려진 인쇄 기술을 적용한 것이며, 예를 들어 전자 사진 방식(레이저 빔 방식), 잉크젯 방식 또는 염료-승화(dye-sublimation)(열 전사) 방식에 기초로 할 수 있다. 래스터 제어기(237)는 PDL 언어로 된 프린트 데이터를 화상 데이터로 변환하도록 구성된 제어기이다. 장치 I/F(241)는 USB를 통해 장치와 접속 가능한 외부 장치에 대한 접속 인터페이스이다. 본 실시예에 따르면, IC 카드 리더(242)는 장치 I/F(241)에 접속되고, 예를 들어 프린터(103) 상에서 실행하는 애플리케이션 프로그램이 판독된 정보를 이용할 수 있도록 IC 카드에 포함되는 사용자 정보를 비접촉식으로 판독할 수 있다.
로컬 인증 서버(104)의 소프트웨어 구성
이어서, 본 실시예를 구현하는데 필요한 도 1에 도시된 서버들 및 프린터의 소프트웨어 구성을 이들이 취급하는 관리 정보의 관점에서 설명한다. 로컬 인증 서버(104)는 인증 I/F(1041), 인증 정보 관리 유닛(1042), 및 로컬 인증 정보(300)를 저장하도록 구성된 스토리지를 포함한다. 소프트웨어 모듈들은 도 2a에 도시된 스토리지 디바이스(226)에 저장되고, 전술한 바와 같이 CPU(220)에 의해 RAM(222)에 로드되어 실행된다. 인증 I/F(1041)는 로컬 인증 서버(104)에 인터페이스를 제공하고, 수신된 정보의 정당성(validity)을 검증한다. 인증 정보 관리 유닛(1042)은 도 9a-9e에 도시된 로컬 인증 정보(300)를 관리하고, 인증 I/F(1041)에 의해 수신된 요청에 응답하여 사용자 인증의 성공 또는 실패를 응답한다. 도 9a-9e에 도시된 로컬 인증 정보(300)는 로컬 인증 서버(104)에 의해 외부 메모리에 저장되는 데이터 테이블들이다. 이런 데이터 테이블은 로컬 인증 서버(104)의 스토리지가 아니고, 인터넷(100) 또는 로컬 네트워크(101)에 통신 가능하게 접속된 다른 서버에 저장될 수 있다. 로컬 인증 서버(104)에 의해 유지되는 데이터 테이블들은 로컬 인증 정보(300)를 포함한다. 로컬 인증 정보(300)는 업무 서버(105)에 액세스 가능한 사용자의 사용자 정보로서, 도메인 명(도메인 식별 정보)(301), 사용자 명(사용자 식별 정보)(302) 및 패스워드(303)를 포함한다. 로컬 인증 서버(104)는, 로컬 인증의 대상이 되는 사용자에 의해 입력된 사용자 인증 정보가 로컬 인증 정보(300)로서 등록된 사용자 인증 정보와 일치하는 경우 사용자를 인증한다. 로컬 인증 정보(300)는 로컬 인증 시큐리티 도메인(110) 내에서 국부적으로 이용될 수 있다.
프린터의 소프트웨어 구성
프린터(103)는 로그인 애플리케이션(1031), 인가 서버 제휴 클라이언트(1032), 및 풀-프린트 애플리케이션(1033)을 포함한다. 소프트웨어 모듈들은 도 2b에 도시된 스토리지 디바이스(240)에 저장되고, CPU(231)에 의해 RAM(233)에 로드되어 실행된다. 이하의 설명에서는 "애플리케이션"을 "앱"이라고 약칭한다.
로그인 앱(1031)은 로컬 인증 서버(104)와 제휴하여, 로컬 시큐리티 도메인(110)에서 인증을 행한다. 로그인 앱(1031)은 IC 카드 리더(242)를 통해 로그인하고자 시도하는 사용자의 사용자 인증 정보(사용자 정보라고도 칭함)를 수신한다. 로그인 앱(1031)은 로컬 인증 서버(104)에게 사용자 정보의 정당성을 검증하도록, 즉 사용자 인증을 수행하도록 요청한다. 로그인 앱(1031)이, 사용자 정보가 성공적으로 검증되었다는, 즉 사용자가 로컬 인증 서버(104)로부터 성공적으로 인증되었다는 응답을 수신한 경우, 로그인 앱(1031)은 로그인한 사용자의 사용자 정보를 풀-프린트 앱(1033)에 전달한다.
인가 서버 제휴 클라이언트(1032)는 OAuth의 메커니즘을 이용하여 인가 서버(106)와 제휴하고, 전표 서비스 시큐리티 도메인(111)에서의 권한을 프린터(103)에 이전한다. 본 실시예에 따르면, 인가 서버 제휴 클라이언트(1032)는 대표 인가 토큰 정보(400) 및 인가 서버 정보(410)를 유지하고 관리한다. 대표 인가 토큰 정보의 예는 도 9b에 도시된다. 인가 서버 정보(410)는, 인가 서버 제휴 클라이언트(1032)가 인가 서버(106)를 식별하는데 기초로 할 수 있는 정보이며, 예를 들어 인가 서버(106)의 URL일 수 있다. 인가 서버 정보(410)는, 예를 들어 인가 서버 제휴 클라이언트(1032)에서 사용자에 의해 설정될 수 있다.
풀-프린트 앱(1033)은 인증된 프린트에 관한 요청을 데이터 변환 서버(108)에 송신하고, 스토리지 서버(109)로부터 프린트 데이터를 취득하고, 프린트 데이터를 프린트 엔진(238)에 전송하고, 그에 대한 프린트를 실행하도록 구성된다. 풀-프린트 앱(1033)은 대표 인가 토큰 정보(420) 및 로컬 인증 제휴 정보(430)를 유지하고 관리한다. 로컬 인증 제휴 정보(430)는 풀-프린트 앱(1033)에 의해 미리 유지되고, 로컬 인증 시큐리티 도메인(110)과의 제휴가 가능한지를 진실/거짓(true/false)으로 나타낸다. 도 9b는 인가 서버 제휴 클라이언트(1032)가 유지하는 대표 인가 토큰 정보(400)의 예를 도시한다. 대표 인가 토큰 정보(400)는, 인가 서버(106)에서 클라이언트 정보(500)에 등록된 클라이언트에 의해 발행되고, 클라이언트 테넌트(client tenant)의 대표 클라이언트와 연관되는 인가 토큰에 관한 정보이다. 인가 토큰 ID(401)는 인가 토큰을 고유하게 식별할 수 있는 식별자이다. 클라이언트 ID(402) 및 테넌트 ID(403)는 각각, 인가 토큰의 발행 시 인가 서버(106) 내의 클라이언트 정보(500)에서 관리되는 클라이언트의 클라이언트 ID 및 테넌트 ID이다.
인가 서버 제휴 클라이언트(1032)는 대표 인가 토큰 정보(400)를 이용하여, 인가 서버(106)에게 인가 토큰을 발행하도록 요청할 수 있다. 본 실시예에 따르면, 후술하는 사용자 인가 설정 플로우에서, user_tenant1의 테넌트 ID를 갖는 클라이언트 테넌트의 client0001의 클라이언트 ID를 갖는 대표 클라이언트로부터의 인가 토큰 생성 요청에 응답하여 발행되는 인가 토큰 정보가 대표 인가 토큰 정보(400)로서 등록된다.
도 9c는 풀-프린트 앱에 의해 관리되고 데이터 변환 서버(108)에 대한 요청에 부가되는 대표 인가 토큰 정보(420)의 예를 도시한다.
인증 프린트 플로우에서, 풀-프린트 앱(1033)으로부터의 요청에 응답하여, 인가 서버 제휴 클라이언트(1032)는 대표 인가 토큰 정보(400)를 이용하여 인가 토큰 생성 요청을 인가 서버(106)에 송신한다. 대표 인가 토큰 정보(420)는 인가 토큰 생성 요청에 응답하여 발행되는 인가 토큰이 로컬 인증 시큐리티 도메인(110)의 사용자와 연관되는 정보이다. 달리 말하자면, 이 정보에서, 클라우드 서비스의 클라이언트와, 로컬 서비스의 사용자가 연관된다. 도 9c를 참조하면, 인가 토큰 ID(421)는 인가 토큰을 고유하게 식별할 수 있는 식별자이다. 사용자 명(422) 및 도메인 명(423)은, 로컬 인증 서버(105)에 의해 관리되고 IC 카드 인증을 통해 로그인 앱(1031)으로부터 풀-프린트 앱(1033)에 의해 수신된 로컬 인증 정보(300)에 포함되는 사용자 식별 정보 및 도메인 식별 정보이다. 풀-프린트 앱(1033)은 인가 서버 제휴 클라이언트(1032)로부터 취득한 인가 토큰, 및 로그인 앱(1031)으로부터 수신한 로그인 사용자의 사용자 정보를, 대표 인가 토큰 정보(420)를 통해 연관시켜 유지한다.
인가 서버(106)의 소프트웨어 구성
인가 서버(106)는 웹 서버(1061), 인가 정보 관리 유닛(1062), 및 클라이언트 정보(500)와 인가 토큰 정보(510)를 저장하는 스토리지를 갖는다. 소프트웨어 모듈들은 도 2a에 도시된 스토리지 디바이스(226)에 저장되고, 전술한 바와 같이 CPU(220)에 의해 RAM(222)에 로드되어 실행된다. 웹 서버(1061)는 인가 서버(106)에 인터페이스를 제공하고, 수신된 정보의 정당성을 검증한다. 인가 정보 관리 유닛(1062)은 클라이언트 정보(500) 및 인가 토큰 정보(510)를 관리하고, 웹 서버(1061)로부터 수신한 요청에 응답하여 인가 토큰을 발행하고 스코프(scope) 및 유효 기한을 체크할 수 있다.
도 9d는 데이터베이스에 저장된 클라이언트 정보(500)의 예들을 도시한다.
클라이언트 정보(500)는 서버들(106 내지 108)에 액세스 가능한 클라이언트에 관한 정보를 포함한다. 본 실시예에 따르면, 클라이언트 정보(500)에는 프린터(103)에 관한 정보가 클라이언트로서 등록되어 있다. 클라이언트 ID는 클라이언트를 고유하게 식별할 수 있는 식별자이다. 시크릿(secret)은 사용자의 정당성을 판단하기 위해 이용 가능한 패스워드이다. 인가 서버(106)는, 클라이언트로부터 수신된 클라이언트 ID와 패스워드의 쌍이 클라이언트 정보 내의 클라이언트 ID(501)와 시크릿(502)의 쌍과 일치하는 경우 클라이언트를 식별한다. 스코프(503)는 OAuth 스코프이며, 인가 서버(106)가 발행하는 인가 토큰에 액세스 가능한 범위를 나타낸다. 본 실시예에 따른 스코프의 타입은 Print로서 정의된다. Print 스코프는 프린터(103)가 데이터 변환 서버(108)의 인터페이스에 액세스하는데 필요한 스코프이다. 테넌트 ID(504)는 클라이언트 테넌트를 고유하게 식별하는 식별자이다. 본 실시예에 따르면, user_tenant1의 테넌트 ID를 갖는 클라이언트 테넌트의 대표 사용자로서, client0001의 ID를 갖는 사용자가 정의되어 등록된다.
도 9e는 데이터베이스에 저장된 인가 토큰 정보(510)의 예를 도시한다.
인가 토큰 정보(510)는, 인가 서버(106)가 인가 토큰을 생성하기 위한 요청을 수신했을 때 생성된다. 하나의 요청에 응답하여 하나의 레코드가 생성된다. 인가 토큰(511)은 인가 토큰을 고유하게 식별할 수 있는 식별자이다. 유효 기한(512)은 인가 토큰의 유효 기한이며, 인가 토큰 생성 요청이 수신될 때의 시간으로부터 미리 결정된 기간이 경과한 후의 값이 등록된다. 유효 기한 이후의 인가 토큰은 무효이다. 스코프(513)는 인가 토큰(512)이 이용할 수 있는 스코프이며, 인가 토큰 생성 요청이 함께 등록되는 인가 서버(106)로 전달된 스코프이다. 인가 토큰 생성 요청과 함께 인가 서버(106)로 전달된 클라이언트 ID 및 테넌트 ID는 클라이언트 ID(514) 및 테넌트 ID(515)로서 등록된다. 애플리케이션 ID는, 클라이언트가 복수의 애플리케이션을 이용하는 경우 애플리케이션이 식별될 수 있는 식별자이다. 애플리케이션 ID는, 애플리케이션 ID가 인가 토큰 생성 요청과 함께 인가 서버(106)로 전달될 때 등록된다. 애플리케이션 ID가 인가 토큰 생성 요청과 함께 인가 서버(106)로 전달되지 않는 경우 애플리케이션 ID는 등록되지 않는다. 본 실시예에 따르면, 로컬 사용자 정보(사용자 명(302)@도메인 명(301))는 프린터(103)로부터 인가 서버(106)로 인가 토큰 생성 요청시 애플리케이션 ID에 지정되고, 애플리케이션 ID(515)로서 등록된다. 로컬 인증 정보로부터 패스워드를 제외한 사용자 명 및 도메인 명을 포함하는 정보를 이하 로컬 사용자 정보라고 칭할 것이다.
데이터 변환 서버(108)의 소프트웨어 구성
데이터 변환 서버(108)는, 웹 서버(1081), 데이터 변환 유닛(1082), 데이터 변환 정보 관리 유닛(1083), 및 문서 정보(700), 데이터 변환 정보(710) 및 테넌트 설정 정보(720)를 저장하는 스토리지를 갖는다. 소프트웨어 모듈들은 도 2a에 도시된 스토리지 디바이스(226)에 저장되고, 전술한 바와 같이 CPU(220)에 의해 RAM(222)에 로드되어 실행된다. 웹 서버(1081)는 데이터 변환 서버(108)에 인터페이스를 제공하며, 수신된 정보의 정당성을 검증한다. 웹 서버(1081)는 인가 토큰 검증 요청 및 인가 토큰 정보 취득 요청을 인가 서버(106)에 송신한다. 데이터 변환 유닛(1082)은 프린터(103)로부터의 요청에 응답하여, 문서 정보(700)로서 관리되는 전표 PDF를 프린터(103)에서 해석 가능한 프린트 데이터로 변환한다. 데이터 변환 정보 관리 유닛(1083)은 전표 서버(107)에 의해 스토리지 서버(109)에 저장되는 전표 PDF를 문서 정보(700)로서 관리하고, 데이터 변환 유닛(1082)에 의해 생성된 프린트 데이터를 데이터 변환 정보(710)로서 관리한다. 데이터 변환 정보 관리 유닛(1083)은 테넌트 설정 정보(720)를 추가로 관리하고, 데이터 변환 유닛(1081)은 웹 서버에 의해 수신된 프린트 데이터 생성 요청에 응답하여 프린트 데이터를 생성한다.
도 10a는 데이터베이스에 저장된 문서 정보(700)의 예를 도시한다. 문서 정보(700)는, 데이터 변환 서버(108)가 전표 PDF 저장 요청을 수신할 때 생성된다. 하나의 요청에 대해 하나의 레코드가 생성된다. 문서 ID(701)는, 데이터 변환 서버(108)가 전표 PDF 저장 요청을 수신했을 때에 발행되는, 문서를 고유하게 식별하는 식별자이다. 테넌트 ID(702)는 전표 PDF 저장 요청을 발행하는 요청자(requestor)의 테넌트의 테넌트 ID, 즉 테넌트가 고유하게 식별되는 식별자이다. 사용자 ID(703)는 전표 PDF 저장 요청을 발행하는 요청자인 사용자의 식별자이다. 사용자 ID(703)에는, 인가 서버(106)에 의해 관리되는 클라이언트 ID 또는 로컬 인증 서버(104)에 의해 관리되는 로컬 사용자 정보(사용자 명(302)@도메인 명(301))가 등록된다. 문서 URL은 전표 PDF를 저장하는 스토리지 서버(109) 내의 URL 경로이다.
도 10b는 데이터베이스에 저장된 데이터 변환 정보(710)의 예를 도시한다.
데이터 변환 정보(710)는, 데이터 변환 서버(108)가 프린트 데이터 생성 요청을 수신할 때 생성된다. 하나의 요청에 대해 하나의 레코드가 생성된다. 데이터 변환 ID(711)는, 데이터 변환 서버(108)가 프린트 데이터 생성 요청을 수신했을 때에 발행하는, 데이터 변환 처리를 고유하게 식별하는 식별자이다. 테넌트 ID(712) 및 사용자 ID(713)는, 데이터 변환 서버(108)가 프린트 데이터 생성 요청을 수신할 때 생성되고 데이터 변환 대상이 되는 문서 정보(700) 내의 테넌트 ID(701) 및 사용자 ID(703)의 값들과 각각 동일한 값들을 나타낸다. 프린트 URL(714)은, 데이터 변환 서버(108)에 의해 생성되는 프린트 데이터의 저장 장소(storage destination)인 스토리지 서버(109)의 URL이다. 데이터 변환 정보(710)는 문서 ID 필드를 더 포함하여, 문서 정보(700)와 연관될 수 있다.
도 10c는 데이터베이스에 저장된 테넌트 설정 정보(720)의 예를 도시한다. 테넌트 설정 정보(720)는 데이터 변환 서버(108) 내의 각각의 테넌트에 대한 설정 정보이다. 테넌트 ID(721)를 위한 설정으로서 로컬 인증 제휴 모드가 유지된다. 로컬 인증 제휴 모드는 로컬 인증 시큐리티 도메인(110)과의 제휴가 가능한지를 나타내는 true/false로 나타낸다. 예를 들어 "true"는 제휴가 가능한 것을, "false"는 제휴가 가능하지 않은 것을 나타낸다. 테넌트 설정 정보(720)에 포함된 각각의 테넌트에 대한 로컬 인증 제휴 모드 설정은, 테넌트에서 클라이언트가 유지하는 로컬 인증 제휴 정보와 동기화될 수 있다. 예를 들어, 데이터 변환 서버(108) 내의 테넌트 설정 정보(720)가 설정될 때, 이것을 테넌트에 분배하거나, 반대로 데이터 변환 서버(108)가 테넌트에 설정된 로컬 인증 제휴 정보를 수집하거나, 또는 그 양쪽 동작 모두를 실행하여 동기화를 유지할 수 있다.
스토리지 서버(109)의 소프트웨어 구성
스토리지 서버(109)는 웹 서버(1091), 스토리지 관리 유닛(1092), 및 파일 속성 정보(800)를 저장하는 스토리지를 갖는다. 소프트웨어 모듈들은 도 2a에 도시된 스토리지 디바이스(226)에 저장되고, 전술한 바와 같이 CPU(220)에 의해 RAM(222)에 로드되어 실행된다. 웹 서버(1091)는 스토리지 서버(109)에 인터페이스를 제공하여, 수신된 정보의 정당성을 검증한다. 웹 서버(1091)는 인가 토큰 검증 요청을 도시되지 않은 스토리지 인가 서버에 송신한다. 스토리지 관리 유닛(1092)은 도 8에 도시된 파일 속성 정보(800)를 관리하고, 업로드 요청된 파일을 입출력한다. 스토리지는 도 8에 도시된 스토리지 서버(109)에 유지되는 정보 및 스토리지 서버(109)에 의해 수신된 파일을 저장한다.
도 11에 데이터베이스에 저장된 파일 속성 정보(800)의 예를 도시한다.
파일 속성 정보(800)는 스토리지 서버(109)에 저장된 파일에 관한 정보이다. 데이터 URL은 스토리지 서버(109)에 저장된 파일을 고유하게 식별할 수 있는 URL이다. 파일 경로는 스토리지 상의 파일 경로이며, 파일의 저장 장소를 나타낸다. 데이터 URL에 대한 요청이 발행되어 스토리지 내의 대응하는 파일을 조작할 수 있다. 예를 들어, HTTP GET 메소드(method)가 데이터 URL에 대해 요청될 때, 대응하는 파일은 다운로드될 수 있다. 파일이 첨부되는 HTTP PUT 메소드가 데이터 URL에 대해 요청될 때, 파일은 업로드되어 저장될 수 있다. HTTP DELETE 메소드가 데이터 URL에 대해 요청될 때, 대응하는 파일이 삭제될 수 있다.
사용자 인가 설정 플로우
도 3은 본 실시예에 따른, 클라이언트 테넌트의 대표 사용자의 권한의 프린터(103)로의 이전을 인가하는 플로우를 도시한다.
S3.1에서, 클라이언트 단말기(102) 내의 웹 브라우저(1021)는 프린터(103)에 필요한 스코프를 지정함으로써 사용자 인가 설정 요청을 송신한다. 본 실시예에 따르면, 예를 들어 프린터(103)가 데이터 변환 서버(108)의 인터페이스에 액세스하는데 필요한 스코프인 Print가 스코프로서 지정된다.
S3.2에서, 프린터(103) 내의 인가 서버 제휴 클라이언트(1032)가 사용자 인가 설정 요청을 수신할 때, 인가 서버 제휴 클라이언트(1032)는 인가 설정 화면으로 리다이렉트(redirect)하라는 지시를 웹 브라우저(1021)에 리턴한다. 리다이렉트 지시는, 웹 브라우저(1021)로 하여금 프린터(103)에 관한 정보, 및 필요한 권한의 스코프를 포함하는 인가 요청을 인가 서버(106)에 송신하게 하는 지시이다.
S3.3에서, 웹 브라우저(1021)는, 수신한 리다이렉트 지시에 따라 인가 설정 화면 요청을 인가 서버(106)에 송신한다.
S3.4에서, 인가 서버(106)가 웹 서버에서 인가 설정 화면 요청을 수신할 때, 인가 서버(106)는 인증 정보가 인가 설정 화면 요청에 부가되지 않은 경우, 로그인 상태가 요구되지 않는다고 판단하여, 로그인 화면을 리턴한다. 인증 정보가 부가되고, 이미 로그인 상태가 취득되었다고 판단한 경우, 인가 서버(106)는 클라이언트 정보(500)를 참조하여, 로그인 사용자를 식별한다.
도 4a는 S3.3에서의 요청에 대한 응답으로서, 웹 브라우저(1021)가 인가 서버(106)로부터 수신하여 표시하는 로그인 화면 예를 도시한다. 웹 브라우저(1021)는 로그인 버튼(904)을 누름에 응답하여, 사용자에 의해 입력되고 미리 인가 서버에 등록되어 있는 사용자 정보로서, 테넌트 ID(901), 클라이언트 ID(902) 및 패스워드(903)와 함께 로그인 요청을 인가 서버(106)에 송신한다.
인가 서버(106)가 로그인 요청을 수신할 때, 인가 서버(106)는 클라이언트 정보(500)를 참조하여 요청에 포함되는, 테넌트 ID, 클라이언트 ID 및 패스워드를 검증한다. 달리 말하자면, 입력된 인증 정보와 일치하는 레코드가 클라이언트 정보(500)에 포함되어 있는지가 판정된다. 검증의 결과 로그인이 성공하면, 로그인 클라이언트 정보는 식별될 수 있고, 인증 정보는 웹 브라우저(1021)로 리턴된다. 웹 브라우저(1021)는 인증 정보를 각 요청에 부가함으로써 인증 상태를 유지할 수 있어, 각 서버는 인증 정보로부터 로그인 사용자 정보를 식별할 수 있다.
한편, S3.3에서의 인가 설정 화면 요청에 첨부된 경우 인가 서버(106)가 그런 인증 정보로부터 로그인 클라이언트 정보(500)를 식별할 때, 인가 서버(106)는 S3.3에서의 요청에 대한 응답을 리턴한다. 이 응답으로서, 인가 설정 화면 요청에 포함되는, 스코프, 프린터 정보 및 클라이언트 정보(500)를 포함하는 인가 확인 윈도(910)가 웹 브라우저로 리턴된다. 도 4b는 웹 브라우저(1021) 상에 표시되는 인가 확인 윈도(910)의 예를 도시한다. 이 예에서는, 인가를 확인하기 위한 메시지(911)와 함께, 클라이언트 ID, 테넌트 ID, 인가될 프린터의 IP 어드레스, 및 스코프와 연관된 권한을 나타내는 화면이 표시된다. 윈도는 인가의 실행을 접수하기 위한 OK 버튼(912) 및 이를 거부하기 위한 NG 버튼(913)을 추가로 표시한다.
클라이언트 단말기(102) 내의 웹 브라우저(1021)는, 인가 확인 윈도(910) 상에서 OK 버튼(912)이 눌러져 인가의 실행을 접수하는 경우, S3.4에서 인가 서버(106)에 인가 토큰 생성 요청을 송신한다. 인가 서버(106)가 인가 토큰 생성 요청을 수신하면, 인가 서버(106)는 클라이언트 정보(500)를 참조하여, 인가 토큰 생성 요청의 파라미터인 스코프가 로그인 클라이언트 정보(500)에 포함되는지를 판정한다. 스코프가 포함되는 경우, 인가 토큰이 생성되고 인가 토큰 정보(510)에 등록된다. 스코프가 클라이언트 정보(500)에 포함되지 않는 경우, "에러"는 웹 브라우저(1021)로 리턴된다. 인가 서버(106)는, S3.4에서의 응답으로서, 생성된 인가 토큰을 웹 브라우저에 리턴한다.
S3.5에서, 웹 브라우저(1021)는 인가 서버(106)로부터 수신한 인가 토큰을, 대표 인가 토큰 정보 등록 요청과 함께 프린터(103) 내의 인가 서버 제휴 클라이언트(1032)에 송신한다. 프린터(103) 내의 인가 서버 제휴 클라이언트(1032)가 대표 인가 토큰 등록 요청을 수신하면, 인가 서버 제휴 클라이언트(1032)는 대표 인가 토큰 정보(400)로서, 수신한 인가 토큰 내의, 인가 토큰 ID, 클라이언트 ID 및 테넌트 ID를 등록한다.
이 플로우를 통해, 인가 서버(106)에 등록되어 있는 클라이언트 정보(500)의 권한이 프린터(103)로 이전될 수 있어, 프린터(103)는 대표 인가 토큰 정보(400)를 이용해서 클라이언트 정보(500)의 권한하에 데이터 변환 서버(108)에 액세스할 수 있다. 이런 절차에서는, 인가 토큰이 로그인 중이거나 또는 로그인한 사용자를 클라우드 서비스의 대표 클라이언트로서 식별함으로써 취득되고, 대표 인가 토큰 정보로서 프린터(103)에 등록되어, 클라이언트의 권한이 프린터(103)에 이전될 수 있다. 프린터(103)는, 예를 들어 후술하는 도 5의 절차에서 이전된 권한을 이용하여 문서 프린트를 실행할 수 있다.
인증 프린트
도 5는 본 실시예에 따른 인증 프린트를 실행하기 위한 플로우를 도시한다. 여기서는, 도 3의 사용자 인가 설정 플로우가 완료되고, 인가 서버(106) 내의 클라이언트 정보(500)에서 사용자에 의해 관리되는 프린터(103)가 인가되고, 대표 인가 토큰 정보(400)가 프린터(103)에 등록되어 있다고 가정한다. 도 5의 시퀀스에서는, 프린터(103)가 클라우드 서비스의 클라이언트이며, 프린터(103)는 이하에서 클라이언트 디바이스라고도 지칭될 것이다. 도 5를 참조하면, 단계들 S5.X는 요청들을 나타내고, 단계들 S5.XR은 단계들 S5.X에서의 각각의 요청들에 대한 응답을 나타낸다.
S5.1에서, 프린터(103) 내의 로그인 앱이 도메인 명, 사용자 명 및 패스워드를 포함하는 로컬 인증 정보를 IC 카드 리더(242)로부터 수신하면, 프린터(103) 내의 로그인 앱은 S5.2에서, 사용자 인증 요청을 로컬 인증 서버(104)에 송신한다.
로컬 인증 서버(104)는 로컬 인증 정보(300)를 참조하고, 이를 요청에 포함되는 로컬 인증 정보와 대조하여, 결과를 프린터에 리턴한다(S5.2R). 로컬 인증 정보(300)에 대응하는 레코드가 있다면, 사용자는 성공적으로 인증된다.
로컬 인증 서버(104)로부터 수신된 인증 결과가 "실패"인 경우, 프린터(103)는 이를 에러로 판정하여 처리를 종료한다. 인증 결과가 "성공"인 경우, 프린터(103) 내의 로그인 앱(1031)은 로그인 사용자의 로컬 인증 정보를 풀-프린트 앱(1033)에 리턴한다. 풀-프린트 앱(1033)은 스코프 및 애플리케이션 ID를 포함하는 인가 토큰 취득 요청을 인가 서버 제휴 클라이언트(1032)에 리턴한다. 여기서, 풀-프린트 앱(1033)은 인가 토큰 생성 요청에 포함될 애플리케이션 ID로서 지정된 값을 로컬 인증 제휴 정보(430)에 따라 결정한다. 로컬 인증 제휴 정보(430) 내의 로컬 인증 제휴 모드의 값이 true인 경우, 풀-프린트 앱(1033)은 애플리케이션 ID로서 로컬 사용자 정보(사용자 명@도메인 명)를 지정한다. 로컬 인증 제휴 모드의 값이 false인 경우, 디폴트 값이 사용된다. 본 실시예에 따르면, 디폴트 값은 프린터(103) 상에서 실행하고 있는 풀-프린트 앱(1033)이 식별될 수 있는 미리 결정된 ID이다. 그러나, 이것은 임의의 문자열일 수 있고, 또는 애플리케이션 ID가 지정되지 않을 수 있다.
S5.3에서, 프린터(103) 내의 인가 서버 제휴 클라이언트(1032)는 대표 인가 토큰 정보(400) 내의, 인가 토큰, 스코프 및 애플리케이션 ID를 포함하는 인가 토큰 생성 요청을 인가 서버(106)에 송신한다.
인가 서버(106)가 프린터(103)로부터 인가 토큰 생성 요청을 수신할 때, 인가 서버(106)는 후술하는 도 6에 도시된 바와 같은 인가 서버(106)에 의해 수행되는 인가 토큰 발행 플로우를 통해 인가 토큰을 발행하여(S5.3R) 프린터(103)에 리턴한다. 인가 서버 제휴 클라이언트(1032)는 수신된 인가 토큰을 풀-프린트 앱(1033)에 전달한다. 풀-프린트 앱(1033)은 인가 토큰 ID와, 애플리케이션 ID에 포함된 로컬 사용자 정보를, 인가 토큰 ID(421), 사용자 명(422) 및 도메인 명(423)으로서 대표 인가 토큰 정보(420)에 유지한다.
S5.4에서, 풀-프린트 앱(1033)은 S5.3에서 취득한 인가 토큰을 포함하는 문서 정보 취득 요청을 데이터 변환 서버(108)에 송신한다. 데이터 변환 서버(108)가 문서 정보 취득 요청을 수신할 때, S5.4-1에서 데이터 변환 서버(108)는 데이터 변환 서버(108)에 의해 수행되는 인가 토큰 검증 플로우(도 6에 도시됨)를 통해 인가 토큰 검증 요청을 인가 서버(106)에 송신한다. 인가 토큰이 정당한 것이면, 그 인가 토큰에 대응하는 인가 토큰 정보(510)가 취득된다(S5.4-1R). 인가 토큰 정보(510)는 애플리케이션 ID를 포함하고, 애플리케이션 ID는 S5.1에서, 프린터(103)에 로그인한 사용자의 로컬 사용자 정보이다. 이 경우, 데이터 변환 서버(108)는 S5.4에서 결정한 사용자 ID를 이용하여 문서 정보(700)로부터 대응하는 레코드를 추출하고, 이를 S5.4에서 요청에 대한 응답으로서 프린터(103)에 리턴한다(S5.4R).
S5.5에서, 프린터(103) 내의 풀-프린트 앱(1033)은 S5.4에서 취득한 문서 정보(700)를 참조하고, 인가 토큰과, 문서 ID를 포함하는 프린트 데이터 생성 요청을 변환 서버(108)에 송신한다. 데이터 변환 서버(108)가 프린트 데이터 생성 요청을 수신할 때, S5.5-1에서 데이터 변환 서버(108)는 S5.4-1에서와 동일한 방식으로 인가 토큰 검증 요청을 인가 서버(106)에 송신하고, 인가 토큰 정보(510)를 취득하여, 사용자 ID를 식별한다(S5.5-1R). 데이터 변환 서버(108)는 프린트 데이터 생성 요청에 포함되는 문서 ID와, S5.5-1에서 식별한 사용자 ID를 이용하여, 문서 정보(700)로부터 대응하는 레코드를 추출한다. 데이터 변환 서버(108)는 추출된 문서 정보(700) 내의 문서 URL을 참조하여, S5.5-2 및 S5.5-2R에서 스토리지 서버(109)로부터 대응하는 문서 데이터 파일을 취득한다. 마지막으로, 데이터 변환 서버(108)는, S5.5-2 및 S5.5-2R에서 취득한 문서 데이터를 프린트 데이터로 변환하고, 변환에 의해 취득한 프린트 데이터에 대응하는 데이터 변환 ID를 신규로 발행하여, 데이터 변환 정보(710)에 그 데이터 변환 ID를 갖는 레코드를 등록한다. 데이터 변환 서버(108)는 변환 후의 프린트 데이터를 스토리지 서버(109)에 업로드하고(S5.5-3), 그 프린트 데이터에 액세스하기 위한 URL을 데이터 변환 정보(710) 내의 프린트 URL(714)에 등록한다. 데이터 변환 서버(108)는 신규로 등록한 변환 데이터 정보(710) 내의 프린트 URL(714)을 S5.5에서 프린트 데이터 생성 요청에 대한 응답으로서 프린터(103)에 리턴한다(S5.5R).
S5.6에서, 프린터(103) 내의 풀-프린트 앱(1033)은 S5.5 및 S5.5R에서 프린트 데이터 생성 요청에 응답하여 취득한 프린트 URL에 액세스하고, 프린트 데이터를 취득하고(S5.6R), 취득한 프린트 데이터를 래스터 제어기(237) 및 프린트 엔진(238)에 전송하여, 이를 프린트한다.
인가 서버(106)에 의한 인가 토큰의 발행 플로우
도 6은, 인가 서버(106)가 인가 토큰 생성 요청(S5.3)을 수신할 때 인가 토큰을 발행하기 위한 처리 플로우의 상세를 도시한다.
F601에서, 인가 서버(106)는 인가 토큰 생성 요청을 수신한다. 인가 서버(106)는 인가 토큰 생성 요청의 파라미터들로서, 대표 인가 토큰, 스코프, 및 애플리케이션 ID를 수신한다.
F602에서, 인가 서버(106)는 인가 토큰 정보(510)로부터 F601에서 수신한 대표 인가 토큰과 일치하는 레코드를 식별한다.
F603에서, 인가 서버(106)는, F602에서 식별한 클라이언트 정보(500) 내의 스코프(503)가 F601에서 수신한 스코프와 일치하는지를 판정한다. 일치하지 않으면, "에러"로 리턴한다(F605).
F604에서, 인가 서버(106)는 인가 토큰 ID를 발행하고, F601에서 수신한, 클라이언트 ID, 스코프 및 애플리케이션 ID를 포함하는 레코드를 인가 토큰 정보(510)에 등록한다. 본 실시예에 따른 S5.3에서의 처리에서, 로컬 인증 제휴 모드가 설정되어 있으면, 애플리케이션 ID로서 로컬 인증 정보(사용자 명@도메인 명)가 지정된다. 그러나 로컬 인증 제휴에 수반되지 않는 클라이언트로부터의 요청은 애플리케이션 ID에 없거나 또는 상이한 값을 갖는다.
데이터 변환 서버(108)에 의한 인가 토큰 검증의 플로우
도 7은 데이터 변환 서버(108)가 요청(S5.4, S5.5)을 수신할 때 인가 토큰 검증을 위한 처리 플로우의 상세를 도시한다.
F701에서, 데이터 변환 서버(108)는 요청을 수신한다. 인가 토큰은 요청의 파라미터로서 수신된다.
F702에서, 데이터 변환 서버(108)는 인가 토큰 검증 요청을 인가 서버(106)에 송신한다. 인가 토큰 정보가 인가 토큰 검증 요청의 결과로서 취득되지 않은 경우, "에러"로 리턴한다(F706).
F703에서, 데이터 변환 서버(108)는 테넌트 설정 정보(720)로부터의 인가 토큰 정보 내의 테넌트 ID와 일치하는 레코드를 식별한다. 그 후, 데이터 변환 서버(108)는 테넌트의 로컬 인증 제휴 모드가 유효(true)한지를 판단한다.
F703에서, 테넌트의 로컬 인증 제휴 모드가 유효하다고 판단한 경우, 데이터 변환 서버(108)는 F704에서, 인가 토큰 정보 내의, 테넌트 ID 및 애플리케이션 ID에 등록되어 있는 로컬 사용자 정보(300)(사용자 명@도메인 명)를 고유 사용자로서 취급하여 요청을 처리한다.
F703에서, 테넌트의 로컬 인증 제휴 모드가 무효라고 판단한 경우, 데이터 변환 서버(108)는 F705에서, 인가 토큰 정보(510) 내의 사용자 ID를 고유 사용자로서 취급하여 요청을 처리한다.
인가 토큰의 발행 시에 로컬 사용자 정보를 인가 토큰에 연관시킴으로써, 인가 토큰이 이용될 때 로컬 사용자 정보가 인가 토큰 정보로부터 취득될 수 있고, 데이터 변환 서버(108)가 로컬 인증 서버(104)의 사용자를 고유 사용자로서 인식할 수 있다. 예를 들어, 인가 토큰과 연관된 로컬 사용자 정보는 데이터 변환 서버(108)에서 과금 처리 및 집계 처리 시 고유 사용자를 기술하는(describing) 식별 정보로서 처리될 수 있고, 따라서 인가 토큰과 연관된 로컬 사용자 정보는 로컬 인증 서버(104)와 제휴하여 이용될 수 있다. 이것은 로컬 인증 시큐리티 도메인(110)과 전표 서비스 시큐리티 도메인(111) 사이에 ID 프로비저닝할 필요를 제거할 수 있어, 운용 부하를 낮출 수 있다. 업무 서버(105)는 하나의 클라이언트를 이용하여 인가 토큰을 발행하고 있지만, 발행된 인가 토큰의 이용은 로컬 인증 정보로 한정된다. 따라서, 다른 사용자들에 관한 정보는 인가 토큰을 이용하여 액세스될 수 없다. 그러므로, 인증 제휴가 안전하게 구현될 수 있다.
로컬 인증 제휴 모드의 유효/무효는 각각의 테넌트에 대한 설정으로 정의될 수 있어, 멀티테넌트 모드(multitenant mode)에서의 특정 테넌트만이 로컬 인증 제휴를 행할 수 있고, 클라이언트 요구가 인증 및 인가 처리에 유연하게 충족될 수 있다.
다른 실시예들
본 발명의 실시예들은, 전술한 본 발명의 하나 이상의 실시예(들)의 기능들을 수행하기 위해 저장 매체(예를 들어, 비일시적인 컴퓨터 판독 가능 저장 매체)에 기록된 컴퓨터 실행 가능 명령어들을 판독해서 실행하는 시스템 또는 장치의 컴퓨터에 의해, 그리고 예를 들어 전술한 하나 이상의 실시예(들)의 기능들을 수행하기 위해 저장 매체로부터 컴퓨터 실행 가능 명령어를 판독하여 실행함으로써 시스템 또는 장치의 컴퓨터에 의해 수행되는 방법에 의해서도 구현될 수 있다. 컴퓨터는 중앙 처리 유닛(central processing unit)(CPU), 마이크로 처리 유닛(micro processing unit)(MPU) 또는 다른 회로 중 하나 이상을 포함할 수 있으며, 별도의 컴퓨터들 또는 별도의 프로세서들의 네트워크를 포함할 수 있다. 컴퓨터 실행 가능 명령어들은, 예를 들어 네트워크 또는 저장 매체로부터 컴퓨터에 제공될 수 있다. 저장 매체는, 예를 들어 하나 이상의 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 분산 컴퓨팅 시스템들의 스토리지, 광디스크(예를 들어, 콤팩트디스크(CD), 디지털 다기능 디스크(DVD) 또는 블루레이 디스크(BD)™), 플래시 메모리 디바이스, 메모리 카드 등을 포함할 수 있다.
(기타의 실시예)
본 발명은, 상기의 실시형태의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억 매체를 개입하여 시스템 혹은 장치에 공급하고, 그 시스템 혹은 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 읽어 실행하는 처리에서도 실현가능하다. 또한, 1개 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실행가능하다.
본 발명이 실시예들을 참조하여 설명되었지만, 본 발명이 개시된 실시예들에 한정되지 않음을 이해하여야 한다. 아래의 청구범위의 범주는 모든 변경과, 등가 구조 및 기능을 포함하도록 최광의의 해석에 따라야 한다.

Claims (7)

  1. 인가 서버이며,
    대표 인가 토큰 정보(representative authorization token information) 및 로컬 사용자 정보와 함께 인가 토큰 생성 요청을 클라이언트 디바이스로부터 수신하는 수신 수단 - 상기 클라이언트 디바이스는 사용자에 의해 수행된 인가 조작에 기초하는 애플리케이션 서버를 이용하기 위한 권한의 이전(transfer)을 수신하고, 상기 클라이언트 디바이스는 상기 이전에 기초하여 발행된 제1 인가 토큰을 대표 인가 토큰 정보로서 등록함 -;
    상기 클라이언트 디바이스가 인가 토큰 생성 요청과 함께 수신된 상기 대표 인가 토큰 정보에 기초하여 성공적으로 인증된 경우, 상기 클라이언트 디바이스에 대해 제2 인가 토큰을 응답하고, 상기 인가 토큰 생성 요청과 함께 수신된 상기 로컬 사용자 정보를 상기 제2 인가 토큰과 연관시킨 인가 토큰 정보를 생성하여 저장하는 수단; 및
    상기 클라이언트 디바이스로부터 상기 제2 인가 토큰과 함께 처리 요청을 수신한 애플리케이션 서버로부터 상기 제2 인가 토큰을 포함하는 인가 토큰 검증 요청을 수신하고, 수신된 상기 제2 인가 토큰 및 상기 인가 토큰 정보에 기초하여 인가 토큰이 성공적으로 검증된 경우, 상기 인가 토큰 정보에 포함되는 상기 로컬 사용자 정보를 상기 애플리케이션 서버에 응답하는 응답 수단을 포함하고,
    상기 로컬 사용자 정보는, 로컬 네트워크를 통해 상기 클라이언트 디바이스에 접속된 로컬 인증 서버에 의해 수행되는 로컬 인증 처리시 사용되는 사용자 정보이고, 상기 수신 수단은 사용자가 상기 로컬 인증 서버에 의해 로컬 인증된 후에 상기 인가 토큰 생성 요청을 수신하는, 인가 서버.
  2. 제1항에 있어서,
    상기 대표 인가 토큰 정보는 상기 클라이언트 디바이스의 식별 정보, 및 상기 클라이언트 디바이스의 테넌트(tenant)의 식별 정보를 포함하고,
    상기 응답 수단은 상기 클라이언트 디바이스의 테넌트의 식별 정보를, 상기 인가 토큰 정보의 일부로서 응답하는, 인가 서버.
  3. 제1항 또는 제2항에 있어서,
    상기 로컬 사용자 정보는 로컬 인증 서버에 의해 인증된 사용자에 의해 액세스 가능한 도메인을 기술하는 정보, 및 상기 도메인에서의 사용자 식별 정보를 포함하는, 인가 서버.
  4. 제3항에 있어서,
    상기 인가 토큰 검증 요청은 상기 제2 인가 토큰과 함께 상기 클라이언트 디바이스로부터 수신된 처리 요청을 갖는 애플리케이션 서버로부터 수신되고,
    상기 로컬 사용자 정보는, 상기 애플리케이션 서버에 의해, 상기 처리 요청의 요청자(requestor)인 사용자를 식별하기 위해 사용되는, 인가 서버.
  5. 제1항 또는 제2항에 따른 인가 서버, 애플리케이션 서버 및 클라이언트 디바이스를 포함하는 인증 제휴 시스템이며,
    상기 클라이언트 디바이스는,
    제1 인가 토큰을 대표 인가 토큰 정보로서 저장하는 저장 수단 - 상기 제1 인가 토큰은 사용자에 의해 수행된 인가 조작에 기초하여 상기 애플리케이션 서버를 이용하기 위한 권한의 이전에 기초하여 발행됨 -; 및
    로그인 사용자의 로컬 사용자 정보 및 상기 대표 인가 토큰 정보와 함께 인가 토큰 생성 요청을 상기 인가 서버에 송신하는 송신 수단을 포함하고,
    상기 인가 토큰 생성 요청과 함께 제2 인가 토큰이 수신되는 경우, 상기 송신 수단은 상기 제2 인가 토큰과 함께 처리 요청을 상기 애플리케이션 서버에 송신하고,
    상기 애플리케이션 서버는,
    상기 애플리케이션 서버가 상기 클라이언트 디바이스로부터 상기 제2 인가 토큰과 함께 처리 요청을 수신할 때 상기 인가 토큰 검증 요청을 상기 인가 서버에 송신하고, 상기 인가 토큰 검증 요청이 성공한 결과의 응답으로서 상기 제2 인가 토큰과 연관되는 상기 로컬 사용자 정보를 포함하는 상기 인가 토큰 정보를 수신하는 송신 수단; 및
    상기 로컬 사용자 정보에 기술되는 사용자 또는 상기 클라이언트 디바이스에 대해 상기 처리 요청을 처리하는 처리 수단을 포함하는, 인증 제휴 시스템.
  6. 제5항에 있어서,
    상기 대표 인가 토큰 정보는 상기 클라이언트 디바이스의 식별 정보, 및 상기 클라이언트 디바이스의 테넌트의 식별 정보를 포함하고,
    상기 인가 서버는 성공적으로 검증된 상기 인가 토큰의 생성을 요청하는 상기 클라이언트 디바이스의 테넌트의 식별 정보를, 상기 인가 토큰 정보의 일부로서 응답하도록 구성되고,
    상기 애플리케이션 서버는, 상기 테넌트의 식별 정보에 기초하여 설정된 로컬 인증 제휴 모드가 가능한 경우, 상기 로컬 사용자 정보에 기술되는 사용자 또는 상기 클라이언트 디바이스에 대해 상기 처리 요청을 처리하도록 구성되는, 인증 제휴 시스템.
  7. 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능한 저장 매체이며,
    상기 컴퓨터 프로그램은 디바이스 상에서 실행될 때, 상기 디바이스로 하여금 제1항 또는 제2항에 따른 인가 서버로서 기능하게 하는, 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능한 저장 매체.
KR1020160165710A 2015-12-08 2016-12-07 인가 서버, 인증 제휴 시스템 및 프로그램을 저장한 저장 매체 KR102074030B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2015-239750 2015-12-08
JP2015239750A JP6682254B2 (ja) 2015-12-08 2015-12-08 認証連携システム及び認証連携方法、認可サーバー及びプログラム

Publications (2)

Publication Number Publication Date
KR20170067660A KR20170067660A (ko) 2017-06-16
KR102074030B1 true KR102074030B1 (ko) 2020-02-05

Family

ID=57708305

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160165710A KR102074030B1 (ko) 2015-12-08 2016-12-07 인가 서버, 인증 제휴 시스템 및 프로그램을 저장한 저장 매체

Country Status (5)

Country Link
US (1) US9985962B2 (ko)
EP (1) EP3179399B1 (ko)
JP (1) JP6682254B2 (ko)
KR (1) KR102074030B1 (ko)
CN (1) CN106856476B (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086669A1 (en) 2011-09-29 2013-04-04 Oracle International Corporation Mobile application, single sign-on management
US10425386B2 (en) * 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US20180107531A1 (en) * 2016-10-19 2018-04-19 Electronics And Telecommunications Research Institute Service server, user terminal and method of 3d collaborative printing
JP6949585B2 (ja) * 2017-06-30 2021-10-13 キヤノン株式会社 管理サーバ、サービス提供サーバ、システム、制御方法、および、プログラム
DE102017221300A1 (de) * 2017-11-28 2019-05-29 Siemens Mobility GmbH Verfahren und System zum Bereitstellen einer datentechnischen Funktion mittels eines Datenverarbeitungssystems eines spurgebundenen Fahrzeugs
US11153305B2 (en) * 2018-06-15 2021-10-19 Canon U.S.A., Inc. Apparatus, system and method for managing authentication with a server
EP3585084A1 (de) * 2018-06-18 2019-12-25 Siemens Aktiengesellschaft Einrichtung einer zugangsberechtigung zu einem teilnetzwerk eines mobilfunknetzes
CN108881232B (zh) * 2018-06-21 2019-07-02 北京海泰方圆科技股份有限公司 业务系统的登录访问方法、装置、存储介质和处理器
CN111277592B (zh) * 2018-06-27 2022-06-10 贵州白山云科技股份有限公司 一种鉴权方法、装置、存储介质及计算机设备
CN109587148A (zh) * 2018-12-11 2019-04-05 上海宜延电子商务有限公司 一种数据计算客户端、数据计算服务器及数据计算系统
JP7324048B2 (ja) * 2019-05-22 2023-08-09 キヤノン株式会社 印刷装置、印刷システム、印刷装置の登録方法、及び、プログラム
US20200382455A1 (en) * 2019-06-01 2020-12-03 Apple Inc. Systems and methods of an anonymous email relay
US11582229B2 (en) * 2019-06-01 2023-02-14 Apple Inc. Systems and methods of application single sign on
CN110324333B (zh) * 2019-06-29 2021-12-28 北京启迪区块链科技发展有限公司 一种数据处理方法、装置、终端及存储介质
CN111327582B (zh) * 2019-08-22 2022-12-20 刘高峰 一种基于OAuth协议的授权方法、装置及系统
CN111176710B (zh) * 2019-12-30 2023-10-03 宁波视睿迪光电有限公司 一种终端软件管理系统的运行方法及终端软件管理系统
KR102146940B1 (ko) * 2020-03-16 2020-08-24 주식회사 스태비 토큰 위변조 검증 방법
US11770377B1 (en) * 2020-06-29 2023-09-26 Cyral Inc. Non-in line data monitoring and security services
DE102020125570A1 (de) 2020-09-30 2022-03-31 Novar Gmbh Verfahren, system und computerprogramm zur authentifikation von brandsteuersystemen
CN112612770B (zh) * 2020-12-28 2024-05-14 深圳市科创思科技有限公司 一种分布式文件上传方法及系统
CN114499977B (zh) * 2021-12-28 2023-08-08 天翼云科技有限公司 一种认证方法及装置
CN114884724B (zh) * 2022-05-06 2024-03-22 杭州联吉技术有限公司 一种云服务器交互方法、装置、可读存储介质及终端设备
CN115102711B (zh) * 2022-05-09 2024-01-02 支付宝(杭州)信息技术有限公司 信息授权方法、装置以及系统

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7324972B1 (en) 1997-03-07 2008-01-29 Clickshare Service Corporation Managing transactions on a network: four or more parties
US6510236B1 (en) 1998-12-11 2003-01-21 International Business Machines Corporation Authentication framework for managing authentication requests from multiple authentication devices
US7221935B2 (en) 2002-02-28 2007-05-22 Telefonaktiebolaget Lm Ericsson (Publ) System, method and apparatus for federated single sign-on services
US7685206B1 (en) * 2004-02-12 2010-03-23 Microsoft Corporation Authorization and access control service for distributed network resources
US7519596B2 (en) * 2004-03-30 2009-04-14 Microsoft Corporation Globally trusted credentials leveraged for server access control
US8010783B1 (en) 2004-04-15 2011-08-30 Aol Inc. Service provider invocation
US10140596B2 (en) 2004-07-16 2018-11-27 Bryan S. M. Chua Third party authentication of an electronic transaction
CN100546245C (zh) * 2006-01-11 2009-09-30 西安电子科技大学 跨安全域的网络认证和密钥分配方法
JP4766249B2 (ja) * 2006-03-01 2011-09-07 日本電気株式会社 トークン譲渡方法、トークン譲渡システム及び権限認証許可サーバ
US8151116B2 (en) 2006-06-09 2012-04-03 Brigham Young University Multi-channel user authentication apparatus system and method
US8239927B2 (en) 2008-02-29 2012-08-07 Microsoft Corporation Authentication ticket validation
US20090271847A1 (en) 2008-04-25 2009-10-29 Nokia Corporation Methods, Apparatuses, and Computer Program Products for Providing a Single Service Sign-On
CN101399671B (zh) * 2008-11-18 2011-02-02 中国科学院软件研究所 一种跨域认证方法及其系统
US20100235882A1 (en) 2009-03-13 2010-09-16 Gidah, Inc. Method and system for using tokens in a transaction handling system
US8195819B1 (en) * 2009-07-13 2012-06-05 Sprint Communications Company L.P. Application single sign on leveraging virtual local area network identifier
US8707404B2 (en) 2009-08-28 2014-04-22 Adobe Systems Incorporated System and method for transparently authenticating a user to a digital rights management entity
US8739260B1 (en) 2011-02-10 2014-05-27 Secsign Technologies Inc. Systems and methods for authentication via mobile communication device
US9648006B2 (en) 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
JP5759305B2 (ja) * 2011-08-19 2015-08-05 キヤノン株式会社 アクセス管理システム、アクセス管理方法、アクセス管理サーバ、連携サーバ、およびプログラム
US10176335B2 (en) 2012-03-20 2019-01-08 Microsoft Technology Licensing, Llc Identity services for organizations transparently hosted in the cloud
US11424930B2 (en) 2012-05-22 2022-08-23 Barclays Bank Delaware Systems and methods for providing account information
US8762731B2 (en) * 2012-09-14 2014-06-24 Sap Ag Multi-system security integration
JP6066647B2 (ja) * 2012-09-27 2017-01-25 キヤノン株式会社 デバイス装置、その制御方法、およびそのプログラム
JP5988841B2 (ja) * 2012-11-16 2016-09-07 キヤノン株式会社 通信装置、通信システム、情報処理方法及びプログラム
GB2509895A (en) 2012-11-22 2014-07-23 Visa Europe Ltd Activation and Use of a Digital Wallet via Online Banking
US9374369B2 (en) 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
US20140245411A1 (en) 2013-02-22 2014-08-28 Nokia Corporation Method and apparatus for providing account-less access via an account connector platform
JP5516776B1 (ja) * 2013-03-05 2014-06-11 富士ゼロックス株式会社 中継装置、通信システム及びプログラム
JP6177020B2 (ja) 2013-06-18 2017-08-09 キヤノン株式会社 認証システム、その制御方法、サービス提供装置およびコンピュータプログラム
US20150033315A1 (en) * 2013-07-23 2015-01-29 Salesforce.Com, Inc. Authentication and diagnostic functions for a database system
WO2015013548A1 (en) 2013-07-24 2015-01-29 Visa International Service Association Systems and methods for interoperable network token processing
US10496986B2 (en) 2013-08-08 2019-12-03 Visa International Service Association Multi-network tokenization processing
US9106642B1 (en) 2013-09-11 2015-08-11 Amazon Technologies, Inc. Synchronizing authentication sessions between applications
JP6265733B2 (ja) * 2013-12-25 2018-01-24 キヤノン株式会社 権限管理サーバー及び権限管理方法
US20150281225A1 (en) 2014-03-27 2015-10-01 Microsoft Corporation Techniques to operate a service with machine generated authentication tokens
US9419962B2 (en) 2014-06-16 2016-08-16 Adobe Systems Incorporated Method and apparatus for sharing server resources using a local group
US20160065552A1 (en) 2014-08-28 2016-03-03 Drfirst.Com, Inc. Method and system for interoperable identity and interoperable credentials
US9420463B2 (en) * 2014-09-30 2016-08-16 Sap Se Authorization based on access token
US10021084B2 (en) * 2014-10-28 2018-07-10 Open Text Sa Ulc Systems and methods for credentialing of non-local requestors in decoupled systems utilizing a domain local authenticator
US9871821B2 (en) * 2014-11-11 2018-01-16 Oracle International Corporation Securely operating a process using user-specific and device-specific security constraints
US9794329B2 (en) * 2014-11-28 2017-10-17 Sap Se Cloud application with secure local access
WO2016092630A1 (ja) * 2014-12-09 2016-06-16 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、情報処理システム、およびコンピュータプログラム
CN104639562B (zh) * 2015-02-27 2018-03-13 飞天诚信科技股份有限公司 一种推送认证的系统和设备的工作方法
US10148522B2 (en) * 2015-03-09 2018-12-04 Avaya Inc. Extension of authorization framework
US10104084B2 (en) * 2015-07-30 2018-10-16 Cisco Technology, Inc. Token scope reduction

Also Published As

Publication number Publication date
KR20170067660A (ko) 2017-06-16
EP3179399B1 (en) 2019-10-09
CN106856476A (zh) 2017-06-16
US20170163636A1 (en) 2017-06-08
CN106856476B (zh) 2020-10-30
US9985962B2 (en) 2018-05-29
JP2017107343A (ja) 2017-06-15
JP6682254B2 (ja) 2020-04-15
EP3179399A1 (en) 2017-06-14

Similar Documents

Publication Publication Date Title
KR102074030B1 (ko) 인가 서버, 인증 제휴 시스템 및 프로그램을 저장한 저장 매체
CN106856475B (zh) 授权服务器以及认证协作系统
JP6056384B2 (ja) システム及びサービス提供装置
CN110138718B (zh) 信息处理系统及其控制方法
US9311469B2 (en) Authorization server system, control method thereof, and non-transitory computer-readable medium
US9306923B2 (en) Image forming apparatus, method for controlling image forming apparatus, and storage medium therefor
US9230078B2 (en) Authentication system, control method thereof, service provision device, and storage medium
US9185102B2 (en) Server system and control method
JP6390123B2 (ja) 情報処理システム及び認証情報提供方法
US9584506B2 (en) Server apparatus, information processing method, program, and storage medium
US9686257B2 (en) Authorization server system, control method thereof, and storage medium
US10445477B2 (en) Information processing system, method of controlling the system, information processing apparatus, web server, and storage medium
US20140137232A1 (en) Device apparatus, control method, and relating storage medium
JP6248641B2 (ja) 情報処理システム及び認証方法
US20130326608A1 (en) Cooperation system, cooperation method thereof, information processing system, and storage medium
US20170310675A1 (en) Server apparatus, system, information processing method, and storage medium storing computer program
US10750050B2 (en) IMAGE PROCESSING APPARATUS, METHOD FOR CONTROLLING IMAGE Processing apparatus, program storage medium, system, and method for controlling system for use in biometric authentication
JP6237868B2 (ja) クラウドサービス提供システム及びクラウドサービス提供方法
US9225713B2 (en) System, control method, and storage medium
JP2014142732A (ja) 権限委譲システム
JP7230414B2 (ja) 情報処理システムおよびプログラム
Edge et al. Identity and Device Trust
JP2017091221A (ja) 権限委譲システム、その制御方法、認可サーバ及びプログラム

Legal Events

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