KR20090103670A - 네트워크의 디바이스 보안 등급 조절 방법 및 장치 - Google Patents

네트워크의 디바이스 보안 등급 조절 방법 및 장치

Info

Publication number
KR20090103670A
KR20090103670A KR1020080092943A KR20080092943A KR20090103670A KR 20090103670 A KR20090103670 A KR 20090103670A KR 1020080092943 A KR1020080092943 A KR 1020080092943A KR 20080092943 A KR20080092943 A KR 20080092943A KR 20090103670 A KR20090103670 A KR 20090103670A
Authority
KR
South Korea
Prior art keywords
server
application
session
access
level
Prior art date
Application number
KR1020080092943A
Other languages
English (en)
Other versions
KR101496329B1 (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 KR20080092943A priority Critical patent/KR101496329B1/ko
Priority to EP09156531.7A priority patent/EP2106087B1/en
Priority to CN200910128308.3A priority patent/CN101547202B/zh
Priority to US12/413,872 priority patent/US8875242B2/en
Publication of KR20090103670A publication Critical patent/KR20090103670A/ko
Application granted granted Critical
Publication of KR101496329B1 publication Critical patent/KR101496329B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

디바이스에 설치된 제 2 어플리케이션이 서버에 대해 디바이스의 인증을 요청하고, 서버로부터의 디바이스 인증에 기초하여, 서버 및 디바이스 간의 통신을 위한 디바이스 서버 간 세션을 생성하여, 디바이스 서버 간 세션을 이용하여 디바이스에 설치된 제 1 어플리케이션이 서버로 접근을 요청하고, 제 1 어플리케이션의 접근에 의하여 서버로부터 컨텐츠를 수신하는 네트워크의 디바이스 보안 등급 조절 방법이 개시되어 있다.

Description

네트워크의 디바이스 보안 등급 조절 방법 및 장치{Method and appratus for handiling security of a device on network}
본 발명은 다양한 어플리케이션이 설치된 디바이스를 고려한 디바이스 및 서버의 네트워크 통신에 관한 것이다.
개인용 컴퓨터(PC)를 이용한 인터넷 접속이 보편화되는 등 인터넷의 사용이 일반화되면서, 다양한 네트워크 접속 가능한 디바이스들이 다양한 서비스 또는 컨텐츠를 사용자들에게 제공하고 있다. 서비스 제공자 및 디바이스가 데이터 또는 컨텐츠를 네트워크 상에서 송수신함으로써 사용자는 다양항 서비스 제공자 및 컨텐츠 개발자의 서비스 및 컨텐츠를 접하게 되었다.
본 발명은 네트워크 통신의 보안을 고려한 디바이스의 보안 등급 조절에 관한 것이다.
본 발명의 일 실시예에 따라, 서버에 대해 적어도 하나의 어플리케이션이 설치된 디바이스가 네트워크 통신하는 방법은, 상기 디바이스에 설치된 제 2 어플리케이션이 상기 서버에 대해 상기 디바이스의 인증을 요청하는 단계; 상기 서버로부터의 디바이스 인증에 기초하여, 상기 서버 및 상기 디바이스 간의 통신을 위한 디바이스 서버 간 세션을 생성하는 단계; 상기 디바이스 서버 간 세션을 이용하여 상기 디바이스에 설치된 제 1 어플리케이션이 상기 서버로 접근을 요청하는 단계; 및 상기 제 1 어플리케이션의 접근에 의하여 상기 서버로부터 컨텐츠를 수신하는 단계를 포함한다.
상기 일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 컨텐츠 수신 단계는, 상기 제 1 어플리케이션의 권한 레벨에 기초하여 상기 제 1 어플리케이션이 상기 서버로 접근하도록 허용될 수 있다.일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 적어도 하나의 어플리케이션의 권한 레벨은, 상기 서버로부터 각각의 어플리케이션의 기능 및 개발자를 고려하여 차등적으로 부여된다.
일 실시예에 따른 디바이스의 네트워크 통신 방법에서 각각의 어플리케이션은, 상기 각각의 어플리케이션의 권한 레벨을 포함하며 상기 서버로부터 부여된 키 정보를 보유할 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 방법에서, 상기 키 정보는 상기 어플리케이션의 개발자에 대한 식별 정보를 포함하고, 상기 적어도 하나의 어플리케이션의 개발자는 적어도 하나일 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 인증 요청 단계는, 상기 디바이스에 설치된 제 2 어플리케이션을 통해 상기 서버에 대해 상기 디바이스의 인증을 요청하는 단계; 및 상기 제 2 어플리케이션의 키 정보 및 상기 디바이스 식별 정보를 포함하는 세션 요청 정보를 전송하는 단계를 포함할 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 디바이스 서버 간 세션 생성 단계는, 상기 세션 요청 정보에 기초하여, 상기 서버로부터 세션 시드키를 포함하는 세션 허용 정보를 수신하는 단계; 및 상기 수신된 세션 시드키 및 상기 디바이스의 암호키를 이용하여 디바이스 세션 토큰을 생성하는 단계를 포함하고, 상기 디바이스 세션 토큰은 상기 어플리케이션에게 공유되고, 상기 디바이스 세션 토큰이 상기 서버의 서버 세션 토큰과 대응되는 경우 상기 디바이스 서버 간 세션을 통한 상기 서버로의 접근이 허용될 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 제 1 어플리케이션 접근 요청 단계는, 상기 디바이스 세션 토큰을 이용하여 상기 제 1 어플리케이션이 상기 디바이스 서버 간 세션을 통한 상기 서버로의 접근을 요청할 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 컨텐츠 수신 단계는, 상기 제 1 어플리케이션의 권한 레벨 및 상기 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 상기 요청된 컨텐츠의 필요 권한 레벨보다 상위 레벨인 경우, 상기 요청된 컨텐츠를 상기 서버로부터 제공받을 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 제 2 어플리케이션 접근 요청 단계는, 상기 제 1 어플리케이션이 상기 서버의 소정 API로 접근을 요청하는 단계를 더 포함하고, 상기 컨텐츠 수신 단계는, 상기 제 1 어플리케이션의 권한 레벨 및 상기 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 상기 소정 API의 필요 권한 레벨보다 상위 레벨인 경우, 상기 API로 상기 제 1 어플리케이션의 접근이 허용되는 단계; 및 상기 API를 이용하여 상기 디바이스의 속성에 기초한 컨텐츠를 수신하는 단계를 더 포함할 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 컨텐츠 수신 단계는, 상기 디바이스 서버 간 세션을 통해, 상기 제 1 어플리케이션은 상기 서버로부터 상기 디바이스의 속성을 고려한 컨텐츠를 수신하는 단계를 더 포함할 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 인증 요청 단계는, 상기 디바이스의 사용자에 대한 사용자 식별 정보를 이용하여 상기 사용자를 고려한 상기 디바이스에 대한 인증을 요청하는 단계를 더 포함하고, 상기 사용자 식별 정보는 상기 디바이스에 저장된 사용자 식별 정보 및 상기 서버로부터 수신된 상기 디바이스의 사용자 식별 정보 중 적어도 하나일 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 디바이스 서버 간 세션 생성 단계는, 상기 사용자 식별 정보에 기초하는 디바이스 서버 간 세션을 생성할 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 사용자 인증 요청 단계는, 상기 사용자별 패스워드를 전송하는 단계를 포함할 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 접근 요청 단계는, 상기 디바이스 서버 간 세션을 통해 상기 제 1 어플리케이션이 상기 서버의 사용자별 데이터 베이스로 접근을 요청하는 단계를 포함하고, 상기 컨텐츠 수신 단계는, 상기 제 1 어플리케이션의 권한 레벨, 상기 사용자 식별 정보 및 상기 제 1 어플리케이션의 서비스 제공자 키 정보에 기초하여, 상기 제 1 어플리케이션이 상기 서버의 사용자별 데이터베이스로 접근이 허용되어 소정 컨텐츠를 수신하는 단계를 포함할 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 접근 요청 단계는, 상기 웹 인터페이스를 통하여 상기 디바이스의 웹 식별 정보를 이용하여 상기 디바이스에 원격으로 접근하는 단계; 및 상기 웹 인터페이스를 이용하여, 상기 디바이스 서버 간 세션을 통해 상기 제 1 어플리케이션이 상기 서버의 사용자별 데이터 베이스로 접근을 요청하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라, 적어도 하나의 어플리케이션이 설치된 디바이스에 대해 서버가 네트워크 통신하는 방법은, 상기 디바이스에 설치된 제 2 어플리케이션으로부터 상기 서버에 대한 상기 디바이스의 인증 요청을 수신하는 단계; 상기 디바이스 인증에 기초하여 상기 서버 및 상기 디바이스간 통신을 위한 디바이스 서버 간 세션을 생성하는 단계; 상기 디바이스 서버 간 세션을 통해 상기 디바이스에 설치된 제 1 어플리케이션으로부터 상기 서버로의 접근 요청을 수신하는 단계; 및 상기 제 1 어플리케이션의 접근에 의하여, 상기 제 1 어플리케이션으로부터 요청된 컨텐츠를 제공하는 단계를 포함한다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 컨텐츠 제공 단계는, 상기 제 1 어플리케이션의 권한 레벨에 기초하여 상기 서버로의 접근을 허용할지 여부를 결정하는 단계; 및 상기 제 1 어플리케이션의 접근 허용 여부 결정에 기초하여, 상기 제 1 어플리케이션에 의해 요청된 컨텐츠를 제공하는 단계를 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법에 따른 상기 디바이스에 대한 서버의 네트워크 통신 방법은, 상기 제 1 어플리케이션의 접근이 허용되는 것으로 결정되면 상기 제 1 어플리케이션에 의해 요청된 컨텐츠를 제공하는 단계를 더 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법에 따른 상기 디바이스에 대한 서버의 네트워크 통신 방법은, 상기 적어도 하나의 어플리케이션 중 각각에 대해 상기 각각의 어플리케이션의 기능 및 개발자를 고려하여 차등적으로 권한 레벨을 결정하는 단계를 더 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법에 따른 상기 디바이스에 대한 서버의 네트워크 통신 방법은, 상기 어플리케이션에 대해, 상기 각각의 어플리케이션의 개발자 식별 정보 및 권한 레벨을 포함하는 키 정보를 부여하는 단계를 더 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 인증 요청 수신 단계는, 상기 디바이스에 설치된 제 2 어플리케이션으로부터 상기 디바이스의 인증 요청을 수신하는 단계; 및 상기 제 2 어플리케이션의 키 정보, 상기 제 2 어플리케이션의 버전 정보 및 상기 디바이스 식별 정보 중 적어도 하나를 포함하는 세션 요청 정보를 수신하는 단계를 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 디바이스 서버 간 세션 생성 단계는, 상기 세션 요청 정보에 기초하여, 상기 디바이스 서버 간 세션의 최대 허용 권한 레벨을 결정하는 단계를 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 디바이스 서버 간 세션 생성 단계는, 상기 제 2 어플리케이션의 버전 정보로부터 상기 서버의 암호키를 결정하는 단계; 상기 디바이스 서버 간 세션에 위한 세션 시드키를 생성하는 단계; 및 상기 세션 시드키 및 상기 암호키를 이용하여 서버 세션 토큰을 생성하는 단계를 더 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 디바이스 서버 간 세션 생성 단계는, 상기 서버의 데이터베이스 상에, 상기 서버 세션 토큰, 상기 디바이스 식별 정보, 사용자 식별 정보, 상기 디바이스 서버 간 세션의 만료 기한 정보, 상기 요청된 컨텐츠의 필요 권한 레벨에 기초한 상기 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 적어도 하나를 포함하는 상기 디바이스 서버 간 세션 식별 정보를 저장하는 단계를 더 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 디바이스 서버 간 세션 생성 단계는, 상기 세션 시드키 및 상기 디바이스 서버 간 세션의 만료 기한 정보를 포함하는 세션 허용 정보를 상기 디바이스로 전송하는 단계를 더 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 접근 허용 여부 결정 단계는, 상기 제 1 어플리케이션의 디바이스 세션 토큰 및 상기 서버 세션 토큰을 비교하는 단계; 및 상기 비교 결과에 기초하여 상기 제 1 어플리케이션의 상기 디바이스 서버 간 세션을 통한 접근을 허용할지 여부를 결정하는 단계를 포함하고, 상기 제 1 어플리케이션의 디바이스 세션 토큰은, 상기 디바이스가 상기 수신된 세션 허용 정보 중 세션 시드키 및 상기 디바이스의 암호키를 이용하여 생성하고, 상기 디바이스의 어플리케이션 간에 공유되는 세션 토큰일 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 디바이스 서버 간 세션 생성 단계는, 상기 제 1 어플리케이션의 키 정보에 기초하여 상기 제 1 어플리케이션 권한 레벨을 검색하는 단계를 더 포함하고, 상기 접근 허용 여부 결정 단계는, 상기 제 1 어플리케이션의 권한 레벨 및 상기 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 상기 요청된 컨텐츠의 필요 권한 레벨보다 상위 레벨인 경우, 상기 제 1 어플리케이션의 접근을 허용하는 단계를 더 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 접근 요청 수신 단계는, 상기 제 1 어플리케이션으로부터 상기 서버의 소정 API로의 접근 요청을 수신하는 단계를 포함하고, 상기 디바이스 서버 간 세션 생성 단계는, 상기 제 1 어플리케이션의 키 정보에 기초하여 상기 제 1 어플리케이션 권한 레벨을 검색하는 단계를 더 포함하고, 상기 접근 허용 여부 결정 단계는, 상기 제 1 어플리케이션의 권한 레벨 및 상기 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 상기 API의 필요 권한 레벨보다 상위 레벨인 경우, 상기 API로의 상기 제 1 어플리케이션의 접근을 허용하는 단계를 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 디바이스에 대한 서버의 네트워크 통신 방법은, 상기 서버의 데이터베이스에 상기 디바이스의 사용자 식별 정보를 포함하는 디바이스 사용자 리스트를 저장하는 단계를 더 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 세션 생성 단계는, 상기 디바이스의 사용자 식별 정보를 고려하여 상기 서버 간 세션을 생성하는 단계를 더 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 세션 식별 정보 저장 단계는, 상기 세션 식별 정보는 상기 사용자 식별 정보를 더 포함할 수 있다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 접근 요청 수신 단계는, 상기 디바이스 서버 간 세션을 통해 상기 제 1 어플리케이션으로부터 상기 서버의 사용자별 데이터 베이스로의 접근 요청을 수신하는 단계를 포함하고, 상기 접근 허용 여부 결정 단계는, 상기 제 1 어플리케이션의 권한 레벨, 상기 사용자 식별 정보 및 상기 제 1 어플리케이션의 서비스 제공자 키 정보에 기초하여, 상기 제 1 어플리케이션의 상기 서버의 사용자별 데이터베이스로의 접근을 허용하는 단계를 포함하고, 상기 사용자별 데이터 베이스 접근 요청은 상기 디바이스를 통한 접근 요청 및 웹 인터페이스를 이용한 원격 접근 요청 중 적어도 하나일 수 있다.
본 발명의 일 실시예에 따라, 서버에 대해 적어도 하나의 어플리케이션이 설치된 디바이스가 네트워크 통신하는 장치는, 상기 디바이스에 설치된 제 2 어플리케이션이 상기 서버에 대해 상기 디바이스에 대한 인증을 요청하는 디바이스 인증 요청부; 상기 서버로부터의 인증에 기초하여 상기 서버 및 상기 디바이스 간의 통신을 위한 디바이스 서버 간 세션을 생성하는 디바이스 세션 생성부; 상기 디바이스 서버 간 세션을 통해 상기 디바이스에 설치된 제 1 어플리케이션이 상기 서버로 접근을 요청하도록 하는 어플리케이션 접근 요청부; 및 상기 제 1 어플리케이션의 접근에 의해 상기 서버로부터 컨텐츠를 수신하는 컨텐츠 수신부를 포함한다.
일 실시예에 따른 디바이스의 네트워크 통신 장치의 상기 컨텐츠 수신부는, 상기 제 1 어플리케이션의 권한 레벨에 기초하여 상기 제 1 어플리케이션이 상기 서버로 접근하도록 허용될 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 장치에서, 상기 적어도 하나의 어플리케이션의 권한 레벨은, 상기 서버로부터 각각의 어플리케이션의 기능 및 개발자를 고려하여 차등적으로 부여될 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 장치의 상기 컨텐츠 수신부는, 상기 제 1 어플리케이션의 권한 레벨 및 상기 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 상기 요청된 컨텐츠의 필요 권한 레벨보다 상위 레벨인 경우, 상기 요청된 컨텐츠를 상기 서버로부터 제공받을 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 장치의 상기 컨텐츠 수신부는, 상기 서버로부터 상기 디바이스의 속성을 고려한 컨텐츠를 수신할 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 장치의 상기 디바이스 인증 요청부는, 상기 디바이스의 사용자에 대한 사용자 식별 정보를 이용하여 상기 사용자를 고려한 상기 디바이스의 인증을 요청하고, 상기 사용자 식별 정보는 상기 디바이스에 저장된 사용자 식별 정보 및 상기 서버로부터 수신된 상기 디바이스의 사용자 식별 정보 중 적어도 하나일 수 있다.
일 실시예에 따른 디바이스의 네트워크 통신 장치의 상기 어플리케이션 접근 요청부는, 상기 웹 인터페이스를 통하여 상기 디바이스의 웹 식별 정보를 이용하여 상기 디바이스로의 원격 접근을 수신하는 원격 접근 수신부; 및 상기 웹 인터페이스를 통하여, 상기 디바이스 서버 간 세션을 통해 상기 제 1 어플리케이션이 상기 서버의 사용자별 데이터 베이스로 접근을 요청하도록 하는 원격 사용자별 데이터베이스 접근 요청부를 포함할 수 있다.
본 발명의 일 실시예에 따라, 적어도 하나의 어플리케이션이 설치된 디바이스에 대해 서버가 네트워크 통신하는 장치는, 상기 디바이스로부터 상기 서버로의 인증 요청을 수신하는 디바이스 인증 요청 수신부; 상기 디바이스로부터의 인증 요청에 기초하여 상기 서버 및 상기 디바이스간 통신을 위한 디바이스 서버 간 세션을 생성하는 서버 세션 생성부; 상기 디바이스 서버 간 세션을 통해 상기 디바이스에 설치된 제 1 어플리케이션으로부터 상기 서버로의 접근 요청을 수신하는 어플리케이션 접근 요청 수신부; 및 상기 제 1 어플리케이션의 접근에 의하여, 상기 제 1 어플리케이션으로부터 요청된 컨텐츠를 제공하는 컨텐츠 제공부를 더 포함할 수 있다.
일 실시예에 따른 상기 서버의 네트워크 통신 장치의 컨텐츠 제공부는, 상기 제 1 어플리케이션의 권한 레벨에 기초하여 상기 서버로의 접근을 허용할지 여부를 결정하고, 상기 제 1 어플리케이션의 접근 허용 여부 결정에 기초하여, 상기 제 1 어플리케이션에 의해 요청된 컨텐츠를 제공할 수 있다.
일 실시예에 따른 상기 디바이스에 대한 서버의 네트워크 통신 장치는, 상기 적어도 하나의 어플리케이션 중 각각에 대해 상기 각각의 어플리케이션의 기능 및 개발자를 고려하여 차등적으로 권한 레벨을 결정하는 어플리케이션 권한 레벨 결정부를 더 포함할 수 있다.
일 실시예에 따른 상기 서버의 네트워크 통신 장치의 상기 서버 세션 생성부는, 상기 제 1 어플리케이션 권한 레벨을 검색하는 어플리케이션 권한 레벨 검색부를 더 포함하고, 상기 어플리케이션 접근 허용 결정부는, 상기 제 1 어플리케이션의 권한 레벨 및 상기 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 상기 요청된 컨텐츠의 필요 권한 레벨보다 상위 레벨인 경우, 상기 제 1 어플리케이션의 접근을 허용하는 권한 레벨 비교부를 더 포함할 수 있다.
일 실시예에 따른 상기 서버의 네트워크 통신 장치에 따른 상기 디바이스에 대한 서버의 네트워크 통신 장치는, 상기 서버의 데이터베이스에 상기 디바이스의 사용자 식별 정보를 포함하는 디바이스 사용자 리스트를 저장하는 디바이스 사용자 리스트 저장부를 더 포함할 수 있다.
본 발명은, 본 발명의 실시예들에 따른 서버에 대한 디바이스의 네트워크 통신하는 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 포함한다.
본 발명은, 본 발명의 실시예들에 따른 디바이스에 대한 서버의 네트워크 통신 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 포함한다.
본 발명의 일 실시예에 따라 서버에 대해 디바이스가 네트워크 통신하는 방법은, 상기 디바이스에 설치된 제 2 어플리케이션에 의해 상기 디바이스 및 상기 서버 사이의 통신을 위한 세션을 생성하는 단계; 상기 디바이스에 설치된 제 1 어플리케이션의 권한 레벨에 기초하여 상기 제 1 어플리케이션이 상기 세션을 이용하는 단계; 상기 세션을 이용하여 상기 서버로 접근한 상기 제 1 어플리케이션의 권한 레벨에 기초하여 상기 서버로부터 소정 컨텐츠를 수신하는 단계를 포함하고, 상기 권한 레벨은 각각의 어플리케이션이 상기 서버에 접근하기 위한 권한을 나타낸다.
일 실시예에 따른 디바이스의 네트워크 통신 방법의,상기 세션 생성 단계는, 상기 서버에 대한 상기 디바이스 인증을 요청하는 상기 제 2 어플리케이션의 권한 레벨에 기초하여 상기 세션을 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라 디바이스에 대해 서버가 네트워크 통신하는 방법은, 상기 디바이스에 설치된 제 2 어플리케이션에 의해 상기 디바이스 및 상기 서버 사이의 통신을 위한 세션을 생성하는 단계; 제 디바이스에 설치된 제 1 어플리케이션의 권한 레벨에 기초하여 상기 세션을 통한 상기 제 1 어플리케이션의 상기 서버 접근 요청을 수신하는 단계; 및 상기 제 1 어플리케이션의 권한 레벨에 기초하여 상기 제 1 어플리케이션에 대한 소정 컨텐츠를 제공 여부를 결정하는 단계를 포함하고, 상기 권한 레벨은 각각의 어플리케이션이 상기 서버에 접근하기 위한 권한을 나타낸다.
일 실시예에 따른 서버의 네트워크 통신 방법의 상기 세션 생성 단계는, 상기 서버에 대한 상기 디바이스 인증을 요청하는 상기 제 2 어플리케이션의 권한 레벨에 기초하여 상기 세션을 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라 서버에 대해 디바이스가 네트워크 통신하는 방법은, 상기 디바이스에 설치된 제 2 어플리케이션에 의해 상기 서버로 접근하기 위한 토큰을 생성하는 단계; 상기 생성된 토큰을 상기 적어도 하나의 어플리케이션과 공유하는 단계; 상기 공유된 토큰을 이용하여 상기 디바이스에 설치된 제 1 어플리케이션의 상기 서버로의 접근을 요청하는 단계; 및 상기 제 1 어플리케이션의 서버로의 접근에 의하여 상기 서버로부터 상기 제 1 어플리케이션에 의해 요청된 컨텐츠를 수신하는 단계를 포함한다.
상기 일 실시예에 따른 디바이스의 네트워크 통신 방법의 상기 토큰 생성 단계는, 상기 제 2 어플리케이션에 의해, 상기 서버에 대하여 상기 디바이스 인증을 요청하는 단계; 및 상기 서버에 대해 인증된 디바이스에 의한 접근임을 나타내기 위한 토큰을 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라 디바이스에 대해 서버가 네트워크 통신하는 방법은, 상기 디바이스에 설치된 제 2 어플리케이션에 의해 상기 디바이스 및 상기 서버 사이의 통신을 위한 세션을 생성하는 단계; 상기 디바이스에 설치된 제 1 어플리케이션의 키 정보에 기초하여 상기 제 1 어플리케이션이 상기 세션을 이용하는 단계; 상기 세션을 이용하여 상기 서버로 접근한 상기 제 1 어플리케이션의 키 정보에 기초하여 상기 서버로부터 소정 컨텐츠를 수신하는 단계를 포함하고, 상기 어플리케이션 키 정보는 상기 어플리케이션이 상기 서버에 접근하기 위한 권한 레벨에 대응되고, 상기 권한 레벨은 각각의 어플리케이션이 상기 서버에 접근하기 위한 권한을 나타낸다.
상기 일 실시예에 따른 서버의 네트워크 통신 방법의 상기 세션 생성 단계는, 상기 서버에 대한 상기 디바이스의 인증을 요청하는 상기 제 2 어플리케이션의 키 정보에 기초하여 상기 세션을 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따라 디바이스에 대해 서버가 네트워크 통신하는 방법은, 상기 디바이스에 설치된 제 2 어플리케이션의 키 정보에 기초하여 상기 디바이스 및 상기 서버 사이의 통신을 위한 세션을 생성하는 단계; 제 디바이스에 설치된 제 1 어플리케이션의 키 정보에 기초하여 상기 세션을 통한 상기 제 1 어플리케이션의 상기 서버 접근 요청을 수신하는 단계; 및 상기 제 1 어플리케이션의 키 정보에 기초하여 상기 제 1 어플리케이션에 대한 소정 컨텐츠를 제공 여부를 결정하는 단계를 포함하고, 상기 어플리케이션 키 정보는 상기 어플리케이션이 상기 서버에 접근하기 위한 권한 레벨에 대응하고, 상기 권한 레벨은 각각의 어플리케이션이 상기 서버에 접근하기 위한 권한을 나타낸다.
상기 일 실시예에 따른 서버의 네트워크 통신 방법의 상기 세션 생성 단계는, 상기 서버에 대한 상기 디바이스 인증을 요청하는 상기 제 2 어플리케이션의 키 정보에 기초하여 상기 세션을 생성하는 단계를 포함할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 서버에 대한 디바이스의 네트워크 통신 장치의 블록도를 도시한다.
도 2 는 본 발명의 일 실시예에 따른 디바이스에 대한 서버의 네트워크 통신 장치의 블록도를 도시한다.
도 3 은 본 발명의 실시예들이 구현되는 네트워크 환경에서 통신 주체의 관계도를 도시한다.
도 4 는 본 발명의 일 실시예에 따른 서버의 데이터베이스를 도시한다.
도 5 는 본 발명의 일 실시예에 따라 어플리케이션이 설치된 디바이스를 도시한다.
도 6 은 본 발명의 일 실시예에 따른 디바이스 및 서버 간의 인증 방법의 흐름도를 도시한다.
도 7 은 본 발명의 일 실시예에 따른 디바이스 서버 간 세션을 통해 접속된 디바이스 및 서버를 도시한다.
도 8 은 본 발명의 일 실시예에 따른 디바이스 어플리케이션의 서버 접근 허용 제어 로직을 도시한다.
도 9 은 본 발명의 다른 실시예에 따른 디바이스 서버 간 세션 생성 방법의 흐름도를 도시한다.
도 10 은 본 발명의 다른 실시예에 따른 사용자별 데이터베이스 접근 방식을 도시한다.
도 11 은 본 발명의 일 실시예에 따른 디바이스에 대한 서버의 네트워크 통신 방법의 흐름도를 도시한다.
도 12 는 본 발명의 일 실시예에 따른 서버에 대한 디바이스의 네트워크 통신 방법의 흐름도를 도시한다.
도 1 은 본 발명의 일 실시예에 따른 서버에 대한 디바이스의 네트워크 통신 장치의 블록도를 도시한다.
일 실시예에 따른 디바이스 및 서버 간 네트워크 통신을 위한 디바이스측 네트워크 통신 장치(100)는 디바이스 인증 요청부(110), 디바이스 세션 생성부(120), 세프트웨어 접근 요청부(130) 및 컨텐츠 수신부(140)를 포함한다.
본 발명의 일 실시예에 따른 디바이스 및 서버 간 네트워크 통신에서, 디바이스는 네트워크와 접속되어 있으며, 네트워크를 통해 다른 엔티티로부터 데이터 또는 컨텐츠를 주고 받을 수 있다. 일 실시예에 따른 디바이스는 IP TV(Internet Protocol Television)일 수 있으며, 인터넷 프로토콜을 통해 다른 엔티티로부터 IP 방송을 받거나, 데이터 방송을 위한 데이터 또는 컨텐츠의 통신이 일어난다. 또한, 네트워크 상에는 서로 다른 엔티티끼리 데이터 통신을 제어 및 관리하는 서버가 존재한다.
디바이스에는 적어도 하나의 어플리케이션이 설치되어 있으며, 어플리케이션은 디바이스의 시스템 OS, 펌웨어, 위젯, 위젯 엔진, 위젯 브라우저 등을 포함한다. 일 실시예에 따른 각각의 어플리케이션은 권한 레벨을 보유하고 있으며, 어플리케이션의 권한 레벨은 서버에 의해 각각의 어플리케이션의 기능 및 개발자를 고려하여 차등적으로 부여된 것이다. 예를 들어, 권한 레벨은 서버 및 디바이스의 시스템 또는 네트워크 환경에서 어플리케이션의 신뢰성에 대한 보안 등급을 나타내는 것으로써, 어플리케이션의 기능 및 개발자를 고려하여 결정될 수 있다.
각각의 어플리케이션은 서버로부터 부여된 키 정보를 보유할 수 있으며, 어플리케이션의 권한 레벨은 어플리케이션 키 정보에 종속되어 있을 수 있다. 또한, 어플리케이션 키 정보는 어플리케이션의 개발자에 대한 식별 정보를 포함할 수 있다. 어플리케이션 권한 레벨, 어플리케이션 키 정보 등은 이하 도 4 내지 10을 참고하여 후술된다.
디바이스 인증 요청부(110)는, 디바이스가 서버와 통신하기 위해 접근할 수 있도록 디바이스 인증을 요청한다. 일 실시예의 디바이스 인증 요청부(110)는, 디바이스에 설치된 소정 어플리케이션을 이용하여 서버에 대해 디바이스의 인증을 요청할 수 있다. 서버에 대한 디바이스의 인증을 요청할 수 있는 어플리케이션은 소정 레벨 이상의 권한 레벨을 보유하여야 한다. 일 실시예에서, 서버에 대한 어플리케이션의 인증 또는 접근 요청은 서버 상의 소정 데이터 또는 컨텐츠를 호출하는 형식으로 수행될 수 있다.
디바이스 세션 생성부(120)는 디바이스 인증 요청부(110)에 대한 서버의 응답으로써 디바이스가 인증되면, 서버 및 디바이스 간의 통신을 위한 디바이스 서버 간 세션을 생성한다.
디바이스 서버 간 세션의 생성을 위해, 일 실시예의 디바이스 인증 요청부(110)는, 서버에 대해 디바이스의 인증을 요청하기 위해 소정 어플리케이션의 세션 요청 정보를 전송하는 세션 요청 정보 전송부를 포함할 수 있다. 세션 요청 정보는 키 정보 및 디바이스 식별 정보를 포함할 수 있다.
디바이스측의 세션 요청 정보에 의해 서버는 디바이스 서버 간 세션을 생성하고 서버측 세션 관련 정보 중 일부를 포함하는 세션 허용 정보를 디바이스측으로 전송한다. 일 실시예의 상기 디바이스 세션 생성부(120)는, 세션 요청 정보에 기초하여 생성된 세션 시드키를 포함하는 세션 허용 정보를 서버로부터 수신하는 세션 허용 정보 수신부(미도시), 수신된 세션 시드키 및 디바이스의 암호키를 이용하여 디바이스 세션 토큰을 생성하는 디바이스 세션 토큰 생성부(미도시)를 포함한다.
세션 토큰이 생성됨으로써 디바이스 서버 간 세션이 생성된다. 세션 토큰은 디바이스 및 서버 각각에 의해 생성된다. 디바이스 세션 토큰은 디바이스에 설치된 모든 어플리케이션들에게 공유된다. 디바이스 세션 토큰은 서버 세션 토큰과 상호 대응되는 경우 디바이스 서버 간 세션을 통한 어플리케이션이 서버로 접근하는 것이 허용될 수 있다. 디바이스 서버 간 세션 및 세션 토큰의 생성에 대해서는 이하 도 6을 참고하여 상술된다.
어플리케이션 접근 요청부(130)는 디바이스 세션 생성부(120)에 의해 생성된 디바이스 서버 간 세션을 통해, 디바이스에 설치된 어플리케이션이 서버 측 컨텐츠를 이용하기 위해 어플리케이션 접근을 요청한다. 일 실시예의 어플리케이션 접근 요청부(130)는, 디바이스 세션 토큰을 이용하여 어플리케이션이 디바이스 서버 간 세션을 통한 서버로 접근하도록 요청할 수 있다.
컨텐츠 수신부(140)는, 어플리케이션 접근 요청부(130)를 통해 접근을 요청한 어플리케이션의 권한 레벨에 기초하여 어플리케이션의 접근이 서버로부터 허용된다면, 서버로부터 컨텐츠를 수신한다. 일 실시예의 컨텐츠 수신부(140)는 어플리케이션의 접근이 서버로부터 허용된다면, 디바이스 서버 간 세션을 통해 서버로부터 디바이스의 속성을 고려한 컨텐츠를 수신할 수 있다.
일 실시예의 컨텐츠 수신부(140)는, 접근을 요청한 어플리케이션의 권한 레벨 및 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 요청된 컨텐츠의 필요 권한 레벨보다 상위 레벨인 경우, 요청된 컨텐츠를 서버로부터 제공받을 수 있다.
예를 들어, 어플리케이션은 서버측의 API에 접근하기 위한 요청을 할 수 있다. 일 실시예의 어플리케이션 접근 요청부(130)는, 어플리케이션이 서버의 소정 API로 접근하도록 요청하는 API 접근 요청부(미도시)를 더 포함할 수 있다. 일 실시예의 컨텐츠 수신부(140)는, API 접근을 요청한 어플리케이션의 권한 레벨 및 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 소정 API의 필요 권한 레벨보다 상위 레벨인 경우, 소정 API로 어플리케이션의 접근이 허용되고, API에 접근한 어플리케이션은 API를 이용하여 디바이스의 속성에 기초한 컨텐츠를 수신할 수 있다.
일 실시예에 따른 디바이스측 네트워크 통신 장치(100)에 의한 디바이스 및 서버 간의 네트워크 통신은 디바이스 식별에 기초하여 이루어지지만, 다른 실시예는 디바이스 식별 및 사용자 식별에 기초하여 이루어질 수 있다. 즉, 소정 디바이스를 사용하고 있는 사용자별로 식별되어 디바이스 및 서버 간의 네트워크 통신이 수행된다. 또한, 서버는 사용자별 데이터베이스를 저장하고 있을 수 있다.
다른 실시예에 따라 디바이스 인증 요청부(110)는, 디바이스의 사용자에 대한 사용자 식별 정보를 이용하여 사용자를 고려한 디바이스에 대한 인증을 요청할 수 있다. 사용자 식별 정보는 디바이스에 저장된 사용자 식별 정보 및 서버로부터 수신된 디바이스의 사용자 식별 정보 중 적어도 하나일 수 있다. 다른 실시예의 디바이스 인증 요청부(110)는, 사용자별 패스워드를 전송하는 사용자 패스워드 전송부(미도시)를 포함할 수 있다.
또한, 다른 실시예의 디바이스 세션 생성부(120)는, 사용자 식별 정보에 기초하는 디바이스 서버 간 세션을 생성할 수 있다.
다른 실시예의 어플리케이션 접근 요청부(130)는, 디바이스 서버 간 세션을 통해 소정 어플리케이션이 서버의 사용자별 데이터베이스로 접근하기 위해 접근 요청하는 사용자별 데이터베이스 접근 요청부(미도시)를 포함할 수 있다.
다른 실시예의 컨텐츠 수신부(140)는, 제 1 어플리케이션의 권한 레벨, 사용자 식별 정보 및 제 1 어플리케이션의 서비스 제공자 키 정보에 기초하여, 접근 요청한 어플리케이션이 서버의 사용자별 데이터베이스로 접근하도록 허용되어 컨텐츠를 수신할 수 있다.
다른 실시예의 어플리케이션 접근 요청부(130)는, 웹 인터페이스를 통한 원격 접근을 위한 원격 접근 수신부(미도시)를 포함할 수 있다. 원격 접근은 웹 인터페이스상에서 원격 사용자가 선택한 디바이스의 웹 식별 정보가 서버에게 인식되면 원격 접근이 허용된다. 또한, 다른 실시예의 어플리케이션 접근 요청부(130)는, 웹 인터페이스를 이용하여, 디바이스 서버 간 세션을 경유하여 소정 어플리케이션이 서버의 사용자별 데이터 베이스로 접근하고자 하는 요청을 수행하는 원격 사용자별 데이터베이스 접근 요청부(미도시)를 포함할 수 있다. 사용자 데이터베이스에 대한 원격 접근은 이하 도 10을 참고하여 상술된다.
도 2 는 본 발명의 일 실시예에 따른 디바이스에 대한 서버의 네트워크 통신 장치의 블록도를 도시한다.
일 실시예에 따른, 서버측 네트워크 통신 장치(200)는, 디바이스 인증 요청 수신부(210), 서버 세션 생성부(220), 어플리케이션 접근 요청 수신부(230), 어플리케이션 접근 허용 결정부(240) 및 컨텐츠 제공부(250)를 포함한다.
디바이스 인증 요청 수신부(210)는, 서버에 네트워크 통신하기 위해 인증을 요청하는 디바이스의 인증 요청을 수신한다. 서버 세션 생성부(220)는, 디바이스 인증 요청 수신부(210)로 수신된 디바이스의 인증 요청에 기초하여 디바이스 서버 간 세션을 생성한다. 접근 요청 수신부(230)는, 서버 세션 생성부(220)에 의해 생성된 디바이스 서버 간 세션을 통해, 디바이스에 설치된 소정 어플리케이션으로부터 서버로의 접근 요청을 수신한다.
어플리케이션 접근 허용 결정부(240)는, 접근 요청 수신부(230)로 접근 요청한 어플리케이션의 권한 레벨에 기초하여 어플리케이션의 접근을 허용할지 여부를 결정한다. 컨텐츠 제공부(250)는, 어플리케이션 접근 허용 결정부(240)에 의해 결정된 어플리케이션의 접근 허용에 기초하여 어플리케이션에 의해 요청된 컨텐츠를 제공한다.
일 실시예에 따른 서버측 네트워크 통신 장치(200)는, 디바이스에 설치될 각각의 어플리케이션에 대해, 어플리케이션의 기능 및 개발자를 고려하여 차등적으로 권한 레벨을 결정하는 어플리케이션 권한 레벨 결정부(미도시)를 더 포함할 수 있다.
또한, 일 실시예에 따른 서버측 네트워크 통신 장치(200)는, 각각의 어플리케이션에 대해, 어플리케이션의 개발자 식별 정보 및 권한 레벨을 포함하는 키 정보를 부여하는 어플리케이션 키 정보 부여부(미도시)를 더 포함할 수도 있다. 이로 인해 어플리케이션의 권한 레벨이 어플리케이션 또는 디바이스에 의해 직접 제공되지 않더라도, 서버측에서 어플리케이션의 키 정보를 이용하여 서버측 데이터베이스로부터 어플리케이션의 권한 레벨을 검색할 수 있다.
일 실시예의 디바이스 인증 요청 수신부(210)는, 디바이스에 설치된 소정 어플리케이션으로부터 디바이스의 인증 요청을 수신하고, 디바이스 인증을 요청한 어플리케이션의 키 정보, 버전 정보 및 디바이스 식별 정보 중 적어도 하나를 포함하는 세션 요청 정보를 수신하는 세션 요청 정보 수신부(미도시)를 포함할 수 있다.
일 실시예의 서버 세션 생성부(220)는, 수신된 세션 요청 정보에 기초하여, 디바이스 서버 간 세션의 최대 허용 권한 레벨을 결정하는 컨텐츠 필요 권한 레벨 결정부(미도시)를 포함할 수 있다. 예를 들어, 디바이스 인증을 요청한 어플리케이션의 버전 정보에 기초하여 디바이스 서버 간 세션의 최대 허용 권한 레벨이 결정될 수 있다.
일 실시예의 서버 세션 생성부(220)는, 서버 세션 토큰을 생성하는 서버 세션 토큰 생성부(미도시)를 더 포함할 수 있다. 서버 세션 토큰 생성부(미도시)는 디바이스 인증을 요청한 어플리케이션의 버전 정보를 이용하여 서버의 암호키를 결정하고, 디바이스 서버 간 세션에 위한 세션 시드키를 생성하고, 세션 시드키 및 암호키를 이용하여 서버 세션 토큰을 생성할 수 있다.
일 실시예의 서버 세션 생성부(220)는, 생성된 디바이스 서버 간 세션에 대한 정보를 포함하는 디바이스 서버 간 세션 식별 정보를 서버의 데이터베이스 상에 저장하는 세션 식별 정보 저장부(미도시)를 더 포함할 수 있다. 예를 들어 디바이스 서버 간 세션 식별 정보는, 서버 세션 토큰, 디바이스 식별 정보, 사용자 식별 정보, 디바이스 서버 간 세션의 만료 기한 정보, 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 적어도 하나를 포함할 수 있다. 디바이스 서버 간 세션의 최대 허용 권한 레벨은 요청된 컨텐츠의 필요 권한 레벨에 기초하여 결정될 수 있다.
일 실시예의 서버 세션 생성부(220)는, 세션 시드키 및 디바이스 서버 간 세션의 만료 기한 정보를 포함하는 세션 허용 정보를 디바이스로 전송하는 세션 허용 정보 전송부(미도시)를 더 포함할 수 있다.
일 실시예의 어플리케이션 접근 허용 결정부(240)는, 접근 요청한 어플리케이션의 디바이스 세션 토큰 및 서버 세션 토큰이 대응되는지 비교하는 세션 토큰 비교부(미도시)를 더 포함할 수 있다. 세션 토큰 비교부(미도시)는, 디바이스 세션 토큰 및 서버 세션 토큰을 비교하여 서로 대응된다고 판단되면 어플리케이션의 디바이스 서버 간 세션을 통한 접근을 허용할지 여부를 결정한다.
일 실시예의 서버 세션 생성부(220)는, 접근 요청한 어플리케이션 키 정보에 기초하여 제 1 어플리케이션 권한 레벨을 검색하는 어플리케이션 권한 레벨 검색부(미도시)를 더 포함할 수 있다. 어플리케이션 접근 허용 결정부(240)는, 접근 요청한 어플리케이션의 권한 레벨 및 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이, 요청된 컨텐츠의 필요 권한 레벨보다 상위 레벨인 경우, 어플리케이션의 접근을 허용하는 권한 레벨 비교부(미도시)를 더 포함할 수 있다.
일 실시예의 어플리케이션 접근 요청 수신부(230)는, 접근 요청한 어플리케이션으로부터 서버의 소정 API로의 접근 요청을 수신하는 API 접근 요청 수신부(미도시)를 포함할 수 있다. 어플리케이션 접근 허용 결정부(240)는, 접근 요청한 어플리케이션의 권한 레벨 및 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 접근 요청 대상인 API의 필요 권한 레벨보다 상위 레벨인 경우, API로의 어플리케이션의 접근을 허용하는 API 접근 허용 결정부(미도시)를 더 포함할 수 있다.
다른 실시예에 따른 서버측 네트워크 통신 장치(200)에 의한 디바이스 및 서버 간의 네트워크 통신은 디바이스 식별 및 사용자 식별에 기초하여 이루어질 수 있다. 다른 실시예에 따른 서버측 네트워크 통신 장치(200)는, 서버의 데이터베이스에 디바이스의 사용자 식별 정보를 포함하는 디바이스 사용자 리스트를 저장하는 디바이스 사용자 리스트 저장부(미도시)를 더 포함할 수 있다.
다른 실시예에 따른 서버 세션 생성부(220)는, 디바이스의 사용자 식별 정보를 고려하여 디바이스 서버 간 세션을 생성할 수 있으며, 다른 실시예에 따른 세션 식별 정보 저장부(미도시)는, 세션 식별 정보에 사용자 식별 정보를 더 포함시킬 수 있다.
다른 실시예에 따른 어플리케이션 접근 요청 수신부(230)는, 디바이스 서버 간 세션을 통해 어플리케이션으로부터 서버의 사용자별 데이터 베이스로 접근하고자 하는 요청을 수신하는 사용자별 데이터베이스 접근 요청 수신부(미도시)를 포함할 수 있다. 또한 다른 실시예에 따른 어플리케이션 접근 허용 결정부(240)는, 사용자 식별 정보 및 사용자별 데이터베이스로 접근 요청한 어플리케이션의 서비스 제공자 키 정보에 기초하여, 어플리케이션이 서버의 사용자별 데이터베이스로 접근하도록 허용하는 사용자별 데이터베이스 접근 허용 결정부(미도시)를 포함할 수 있다. 사용자별 데이터 베이스 접근 요청은 디바이스를 직접 통한 접근 요청 및 웹 인터페이스를 이용한 원격 접근 요청 중 적어도 하나일 수 있다.
도 3 은 본 발명의 실시예들이 구현되는 네트워크 환경에서 통신 주체의 관계도를 도시한다. 이하, 설명의 편의를 위해 본 발명의 일 실시예에 따른 네트워크 통신이 가능한 디바이스(310)로써 IP TV를 이용한다.
IP TV 네트워크망(300)상에서, 디바이스(310)는 야후, 구글과 같은 서비스 제공자들(330)과 데이터 또는 컨텐츠를 송수신하고, 어플리케이션을 개발 및 제공하는 서드 파티(third party)(340)로부터 데이터 및 컨텐츠를 송수신한다.
디바이스(310)의 원활한 IP 서비스 제공을 위해 서버(320)는 디바이스(310)에 펌웨어, 위젯 등의 어플리케이션 등을 제공한다. 또한, 서버(320)는 디바이스(310)와 오픈 API를 공유한다. 디바이스(310)의 데이터 또는 컨텐츠의 송수신을 관리 및 제어하기 위해 서버(320) 또는 서버의 관리자(350)는 디바이스(310)로 제공하는 데이터, 컨텐츠, 어플리케이션 등에 대해 관련 정보를 저장하고, 데이터, 컨텐츠, 어플리케이션 등에 대해 권한 등을 조절할 수 있다.
서비스 제공자(330)는 디바이스(310)에 상업 광고 서비스를 제공함으로써 얻은 광고 수익을 서버(320)로 제공한다. 서버(320)는 디바이스(310)로부터 수신받은 광고 통계 등의 각종 통계 자료 등의 유용한 정보 등을 서비스 제공자(330)들로 제공할 수 있다. 서버(310) 및 서드 파티(340) 간의 계약에 의해, 서드 파티(340)는 디바이스(310)에서 실행될 수 있는 위젯을 서버(320)로 제공한다.
서비스 제공자(330) 및 서드 파티(340)는 계약을 통해 서드 파티(340)의 어플리케이션 개발을 위한 API 등을 공유할 수 있다. 도 3 은 서비스 제공자(330) 및 서드 파티(340)가 별개의 주체인 경우가 도시되어 있지만, 서비스 제공자(330) 및 서드 파티(340)가 동일한 주체로써 서비스 제공자(330) 또는 서드 파티(340)가 위젯을 개발, 배포할 수도 있다.
서비스 제공자(330) 및 서드 파티(340)가 디바이스(310)로 제공하는 데이터 또는 컨텐츠, 어플리케이션에 대해 서버(320)가 부여하는 권한은 서버(320), 서비스 제공자(330) 및 서드 파티(340) 간의 계약 조건에 의해 결정될 수 있다.
또한, 디바이스(310)의 사용자(360)는 PC-웹 인터페이스를 이용하여 서버(320)로 접속하여 디바이스(310)에 관한 정보의 관리 및 디바이스(310)에 대한 원격 제어를 할 수 있다.
도 4 는 본 발명의 일 실시예에 따른 서버의 데이터베이스를 도시한다.
서버가 디바이스의 데이터 및 컨텐츠 통신을 관리하기 위해, 서버의 데이터베이스(400)에 디바이스에 설치된 어플리케이션에 대한 관련 정보가 저장된다. 데이터베이스(400)에 서비스 제공자 키 정보(410), 개발자 정보(420), 어플리케이션 키 정보(430), 제품 모델 정보(440) 및 펌웨어 정보(450)가 저장된다.
서비스 제공자 키 정보(410)는 서비스 제공자에 대한 식별 정보와 관련되며, 개발자 식별 정보(420)에는 개발자의 관련 제공자에 대한 식별 정보 및 서버가 개발자에 대해 부여한 보안 레벨이 관련된다. 어플리케이션 키 정보(430)는 개발자 식별 정보(410) 및 어플리케이션에 대해 부여된 권한 레벨과 관련된다. 제품 모델 정보(440)는 펌코드 리스트와 관련된다. 펌웨어 정보(450)는 펌코드, 어플리케이션 키 정보(430) 및 암호키 정보와 관련된다. 펌코드는 펌웨어의 버전에 대한 정보를 나타낸다.
어플리케이션 키 정보(430)의 권한 레벨은 후술되는 어플리케이션의 서버 접근을 허용할지 여부를 결정할 때 이용된다. 서버는 접근을 요청하는 어플리케이션의 어플리케이션 키 정보(430)를 확인하여, 서버의 데이터베이스(400)에 저장된 어플리케이션 키 정보(430)를 검색하여 권한 레벨을 알아낼 수 있다. 일 실시예에서 어플리케이션 키 정보는 UUID(Universally Unique Identifier) 형식으로 설정될 수 있다.
펌웨어 정보(450)의 펌코드, 어플리케이션 키 정보(430), 암호키 정보는 후술되는 디바이스 서버 간 세션을 생성할 때 이용된다. 서버는 디바이스 인증을 요청하는 어플리케이션이 펌웨어인 경우 펌웨어 정보(450)를 확인하여, 서버의 데이터베이스(400)에 저장된 펌웨어 정보(450)를 검색하여 펌코드, 어플리케이션 키 정보(430), 암호키 정보 등을 얻을 수 있다.
일 실시예에 따라, 서버는 자체적으로 저장하고 있는 디바이스 및 어플리케이션의 정보를 이용하여 디바이스 및 어플리케이션에 대한 세부 정보를 검색하여 추출할 수 있으므로, 디바이스의 저장 부담이 감소될 수 있다.
일 실시예에 따라, 다양한 서비스 제공자 및 개발자에 대한 식별 정보, 제품 모델 정보, 펌웨어 및 펌웨어 버전 정보가 서버에 의해 관리될 수 있으므로, 서비스 제공자 및 개발자, 어플리케이션 제품 자체의 기능의 특성에 따른 보안 등급 및 권한 레벨의 조절이 가능하다.
도 5 는 본 발명의 일 실시예에 따라 어플리케이션이 설치된 디바이스를 도시한다.
디바이스(500)에는 적어도 하나의 어플리케이션이 설치될 수 있으며, 어플리케이션은 서비스 제공자, 서드 파티, 서버, 개인 사용자들 등에 의해 제작될 수 있다. 어플리케이션의 예로써 펌웨어(510), 위젯 브라우저(또는 위젯 엔진)(520), 위젯(530, 540, 550) 등이 있을 수 있다.
펌웨어(510)는 디바이스 시스템 OS로써 서버 또는 서버의 관리자에 의해 제공될 수 있다. 펌웨어(510)의 어플리케이션 키 정보와 관련되는 개발자 식별 정보로써 서버 또는 서버의 관리자에 대한 식별 정보로 설정되고, 펌웨어(510)에 대해 부여된 권한 레벨과 관련된다.
위젯 브라우저(520)는 시스템 미들웨어로써, 어플리케이션 키 정보와 관련되는 개발자 식별 정보로써 서버 또는 서버의 관리자에 대한 식별 정보로 설정되고, 위젯 브라우저(520)에 대해 부여된 권한 레벨과 관련된다.
위젯 A, B 및 C(530, 540, 550)는 시스템 소프트웨어로써 서버 또는 서버의 관리자, 서비스 제공자, 및 프로슈머, 개인 개발자 등의 서드 파티에 의해 제공될 수 있다. 예를 들어, 위젯 A(530), 위젯 B(540), 위젯 C(550)의 어플리케이션 키 정보와 관련되는 개발자 식별 정보로써 서버 또는 서버의 관리자에 대한 식별 정보, 서비스 제공자1에 대한 식별 정보, 프로슈머에 대한 식별 정보로 각각 설정될 수 있다. 또한, 위젯 A(530), 위젯 B(540), 위젯 C(550)의 어플리케이션 키 정보와 관련되는 권한 레벨들이 각각 설정된다.
본 발명의 일 실시예는, 어플리케이션에 정의된 권한 레벨을 나타내는 숫자가 작을수록 서버에 대한 접근 권한이 더 많이 주어지는 것으로 설정된다. 일반적으로, 펌웨어(510)는 시스템 OS이므로 서버 접근 권한이 많이 부여되고, 개별 소프트웨어인 위젯들(530, 540, 550)이 서버 접근 권한이 적게 설정된다.
또한, 위젯들(530, 540, 550)은 시스템에 대해 소프트웨어급의 어플리케이션이지만, 각각의 개발자 및 개발자에게 부여된 권한 레벨에 따라 위젯(530, 540, 550) 각각에 부여되는 권한 레벨이 다를 수 있다. 예를 들어, 서버 또는 서버 관리자에 의해 개발/제공된 위젯 A(530), 서비스 제공자1에 의한 위젯 B(540), 프로슈머에 의한 위젯 C(550) 순으로 서버 접근 권한이 많이 주어진다. 따라서 오픈API를 호출하는 어플리케이션 간에도 권한 레벨이 다양하게 분포한다.
이로 인해, 각각의 어플리케이션은 어플리케이션 키 정보에 기초하여, API에 대한 접근 허용 여부가 다르게 결정될 수 있다. 또한, 접근 허용 여부는 서버의 API 접근 규정 및 서드 파티, 서비스 제공자, 서버 등의 엔티티에 대한 보안 레벨 및 권한 레벨에 기초하여 동적으로 조절될 수 있다. 이로 인해 서버에 저장되어 있는 개인 정보 등에 대한 해킹, 크래킹 등의 접근 시도에 대해 보안성이 보강될 수 있다.
도 6 은 본 발명의 일 실시예에 따른 디바이스 및 서버 간의 인증 방법의 흐름도를 도시한다.
디바이스(610)는 서버와의 네트워크 통신을 위한 셋업한다(단계 612). 예를 들어, DHCP(Dynamic Host Configuration Protocol)를 이용하여 네트워크 셋업이 수행될 수 있다.
서버에 대해 디바이스가 인증되기 위해서는 네트워크 통신을 위한 디바이스 서버 간 세션이 생성되어야 한다. 디바이스(610)는 디바이스 서버 간 세션을 생성하기 위해 필요한 정보들을 요청하기 위해, 디바이스(610)가 보유한 정보인 세션 요청 정보를 서버로 전송한다(단계 614). 일 실시예에서, 디바이스 인증 요청부(110)의 세션 요청 정보 전송부에 의해 세션 요청 정보가 전송될 수 있다. 세션 요청 정보는 디바이스 인증을 요청하는 어플리케이션의 키 정보 및 디바이스 식별 정보, 어플리케이션의 펌코드 등을 포함할 수 있다.
서버 또는 서버 중 인증 서버(620)는 세션 요청 정보를 수신하고, 세션 요청 정보 중 어플리케이션 키 정보를 이용하여 유효한 어플리케이션 키 정보인지 여부를 판단한다(단계 622). 일 실시예에서, 디바이스 인증 요청 수신부(210)가 세션 요청 정보를 수신할 수 있다.
서버 또는 서버 중 인증 서버(620)는 디바이스 인증에 필요한 서버의 API가 필요로 하는 어플리케이션의 권한 레벨(이하, 'API 필요 권한 레벨'라 한다.)을 검색하여 획득한다(단계 624). 일 실시예에서, 서버측 네트워크 통신 장치(200)의 서버 세션 생성부(220)에 의해 API 필요 권한 레벨이 검색/획득될 수 있다.
서버 또는 서버 중 인증 서버(620)는 수신된 펌코드 정보를 이용하여 암호키를 획득하고(단계 626), 세션 시드키를 생성하고(단계 628), 암호키 및 시드키를 이용하여 서버 세션 토큰을 생성한다(단계 630). 수신된 펌코드 정보를 이용하여 대응되는 서버의 데이터베이스(640)에 대응되는 펌코드가 검색되고 추출된다(단계 642). 세션 시드키 및 서버 세션 토큰은 각각 미리 결정되어 있는 방식에 의해 생성된다. 예를 들어, 세션 시드키는 랜덤 함수에 의해 결정될 수 있으며, 서버 세션 토큰은 MD5(Message-Digest algorithm 5) 해쉬 함수에 의해 생성될 수 있다. 일 실시예에서, 서버 세션 생성부(220)에 의해 암호키, 시드키 및 서버 세션가 생성될 수 있다.
서버 또는 서버 중 인증 서버(620)는 데이터베이스의 세션 식별 정보를 검색하여(단계 644), 수신된 디바이스 식별 정보, 생성된 서버 세션 토큰, 어플리케이션에 대해 부여된 권한의 만료 기한에 관한 정보, API 필요 권한 레벨을 데이터베이스의 세션 식별 정보에 저장한다(단계 632). 디바이스 인증을 위해 어플리케이션 키 정보 이외에 사용자 식별 정보도 이용되는 경우, 세션 식별 정보(644)에 사용자 식별 정보도 포함될 수 있다. 일 실시예에서, 서버 세션 생성부(220)의 세션 식별 정보 저장부에 의해 세션 식별 정보(644)가 서버의 데이터베이스(640)에 저장될 수 있다.
서버 또는 서버 중 인증 서버(620)는 디바이스 서버 간 세션이 생성됨으로써 인증이 완료되고, 디바이스(610)로 세션 허용 정보를 전송할 수 있다(단계 634). 일 실시예에서, 세션 허용 정보 전송부가 세션 시드키 및 만료 기한 정보를 포함하는 세션 허용 정보를 전송할 수 있다.
디바이스(610)는 수신된 세션 허용 정보를 이용하여 디바이스 세션 토큰을 생성한다(단계 616). 디바이스 세션 토큰은, 디바이스(610)의 기존 보유하고 있는 암호키 및 서버(620)로부터 수신된 세션 시드키를 이용하여 생성된다. 이때 디바이스 세션 토큰은, 인증 서버(620)에서 서버 세션 토큰을 생성할 때 이용된 방식(예를 들어, MD5 해쉬 함수)과 동일한 방식에 의해 생성된다. 따라서, 디바이스 서버 세션 및 서버 세션 토큰은 서로 대응될 수 있어야 한다. 일 실시예에서, 디바이스 세션 토큰은 디바이스 세션 생성부(120)에 의해 생성될 수 있다.
생성된 디바이스 세션 토큰은 디바이스(610)에 설치된 다양한 어플리케이션들에게 공유된다(단계 618). 어플리케이션들은 디바이스 세션 토큰을 이용하여 서버와의 디바이스 서버 간 세션을 통한 네트워크 통신을 수행할 수 있다.
따라서, 싱글-사인-온(Single-Sign-On) 방식과 같이 시스템 OS, 펌웨어와 같은 보안 등급이 상대적으로 높은 어플리케이션에 의한 디바이스의 인증이 이루어지면, 디바이스에 설치된 다른 어플리케이션들은 서버에 접근하거나 서버 상의 컨텐츠를 호출하기 위해 서버에 대해 개별적으로 인증받을 필요가 없다.
도 7 은 본 발명의 일 실시예에 따른 디바이스 서버 간 세션을 통해 접속된 디바이스 및 서버를 도시한다.
디바이스 서버 간 세션(790)이 생성되면 디바이스 서버 간 세션(790)을 통한 디바이스와 서버 사이의 통신이 수행된다. 서버의 데이터베이스(700)는 도 4에 도시된 데이터베이스(400)와 대응되는 다른 실시예로써, 위젯 식별 정보(760), 세션 식별 정보(770), API 접근 규정(780), 접근 허용 제어 로직(785)을 더 포함할 수 있다.
위젯 식별 정보(760)는 위젯의 어플리케이션 키 정보와 관련되고, 세션 식별 정보(770)는 세션에 대한 최대 허용 권한 레벨, 디바이스 식별 정보, 사용자 식별 정보, 세션 토큰 등과 관련될 수 있다. API 접근 규정(780)은 API에 대해 서버가 규정하고 있는 HTTP 플래그 정보 및 필요 권한 레벨 등과 관련되어 있을 수 있다.
API 접근 규정(780) 상의 HTTP 플래그 정보 및 필요 권한 레벨 등은 각각의 API에 대해 개별적으로 설정되어 있을 수 있다. 접근 허용 제어 로직(785)은 서버 또는 서버의 데이터베이스에 대한 디바이스 또는 어플리케이션을 허용할지 여부를 결정하기 위한 방식 등을 제어하기 위해 이용된다.
디바이스 서버 간 세션(790)은 디바이스(500)의 어플리케이션들과 접속될 수 있다. 일 실시예에서, 디바이스 인증을 요청하여 디바이스 서버 간 세션(790)을 직접 생성할 수 있는 어플리케이션은 권한 레벨이 한정되어 있다. 예를 들어, 펌웨어(510) 또는 펌웨어 브라우저(엔진)(520)의 요청에 의해 세션이 생성될 수 있다.
도 8 은 본 발명의 일 실시예에 따른 디바이스 어플리케이션의 서버 접근 허용 제어 로직을 도시한다.
일 실시예의 서버 또는 서버의 데이터베이스(800)는 접근 허용 제어 로직(810), 세션 식별 정보(820), API 접근 규정(830) 및 API 집합(840)을 보유한다.
일 실시예의 세션 식별 정보(820)는 디바이스 서버 간 세션에 대한 세션 토큰, 디바이스 식별 정보, 최대 허용 권한 레벨 등에 대한 정보와 연관된다. 디바이스 및 서버 간의 네트워크가 디바이스 뿐만 아니라 디바이스를 사용하는 사용자까지 식별하는 경우 세션 식별 정보(820)는 사용자 식별 정보과도 연관된다.
일 실시예의 API 접근 규정(830)은 각각의 API에 대한 HTTP 필요 플래그 및 필요 권한 레벨에 대해 규정하고 있다. 예를 들어, 입력 관련 API에 대한 HTTP 필요 플래그, 필요 권한 레벨, 및 출력 관련 API에 대한 HTTP 필요 플래그, 필요 권한 레벨이 각각 설정되어 있다.
일 실시예의 API 집합(840)은 디바이스의 서비스 컨텐츠 제공을 위해 필요한 각종 API가 모여있다. 일 실시예의 API는 오픈 API이며 서버 관리자 뿐만 아니라 외부에서도 접근 가능하다.
디바이스1(850)에는 적어도 하나의 디바이스(850, 860)이 설치되어 있을 수 있으며, 접근 허용 제어 로직(810)은 어플리케이션의 접근 요청이 있으면 어플리케이션의 디바이스 세션 토큰 및 권한 레벨 등을 이용하여 API 집합(840)으로 접근을 허용할지 여부를 결정한다.
예를 들어, 접근 허용 제어 로직은 디바이스1(850)의 제 1 어플리케이션(870)으로부터 접근 요청을 수신한다. 제 1 어플리케이션은 제 1 어플리케이션 키 정보(870), 디바이스 세션 토큰(860), 기타 접근 요청 정보(880) 등을 이용하여 서버 API 집합(840)으로 접근하기 위해 접근 요청한다. 일 실시예에서, 어플리케이션 접근 요청부(130)의 API 접근 요청부에 의해 제 1 어플리케이션의 API 접근이 요청된다.
일 실시예에서, 어플리케이션 접근 요청 수신부(220)의 API 접근 요청 수신부에 의해 제 1 어플리케이션의 소정 API로의 접근 요청이 수신된다. 어플리케이션은 원하는 API를 이용하여 서버의 데이터 및 컨텐츠에 접근할 수 있다. 예를 들어, 날씨 정보를 보여주는 위젯 어플리케이션은 서버의 날씨 정보에 대한 출력 API를 호출한다. 또는, 어플리케이션이 사용자 또는 디바이스의 개별 정보를 이용하기 위해, 서버의 사용자 및 디바이스의 프로필 정보를 출력하는 API를 호출할 수도 있다.
수신된 디바이스 세션 토큰(860)이 서버 세션 토큰과 대응된다면 세션 식별 정보(820) 상의 최대 허용 권한 레벨이 접근 허용 제어 로직(810)에 전송된다. 또한, 일 실시예의 어플리케이션 권한 레벨 검색부에 의해 제 1 어플리케이션으로부터 수신된 제 1 어플리케이션 키 정보(870)를 이용하여 서버 데이터베이스에 저장되어 있는 제 1 어플리케이션에 대해 부여된 권한 레벨이 검색되고, 접근 허용 제어 로직(810)으로 전송된다. 그리고 제 1 어플리케이션이 접근 요청한 API에 대한 API 접근 규정(830)에서의 필요 권한 레벨이 접근 허용 제어 로직(810)으로 전송된다.
일 실시예에서, 접근 허용 제어 로직(810)은 세션 식별 정보(820)의 최대 허용 권한 레벨, 제 1 어플리케이션 키 정보(870)의 권한 레벨 정보, 및 API 접근 규정에 의한 접근 요청된 API의 필요 권한 레벨을 비교하여 제 1 어플리케이션이 접근 요청된 API에 접근될 수 있는 여부가 결정된다.
일 실시예에서, 어플리케이션 접근 허용 결정부(240)의 API 접근 허용 결정부는 세션 식별 정보(820)의 최대 허용 권한 레벨 및 제 1 어플리케이션 키 정보(870)의 권한 레벨 정보 중 상위의 권한 레벨이 소정 API의 필요 권한 레벨보다 숫자가 더 작거나 같다면, 즉 상위 권한 레벨이라면 제 1 어플리케이션이 소정 API로 접근할 수 있도록 허용된다. 반대로, 세션 식별 정보(820)의 최대 허용 권한 레벨 및 제 1 어플리케이션 키 정보(870)의 권한 레벨 정보 중 상위의 권한 레벨이 소정 API의 필요 권한 레벨보다 숫자가 크다면 접근이 허용되지 않는다.
오픈 API가 서버, 디바이스, 서비스 제공자, 개인 사용자 등의 서드 파티 등 네트워크 상의 엔티티들에게 공유됨으로써 서버 로드가 조절될 수 있으며, 네트워크 대역폭이 감소하고, 사용자 상호 작용(interaction)이 간소화될 수 있다. 또한, 모듈 기반의 디자인, 확장 가능한 인터페이스를 이용하며, 기존 표준 규격을 이용할 수 있으므로 설계 변경이 용이하다.
도 9 은 본 발명의 다른 실시예에 따른 디바이스 서버 간 세션 생성 방법의 흐름도를 도시한다.
디바이스측 네트워크 통신 장치(100) 및 서버측 네트워크 통신 장치(200)의 다른 실시예에 따라, 디바이스 뿐만 아니라 디바이스를 사용하는 사용자에 대해서도 개별적으로 식별하여 처리되는 네트워크 통신이 수행된다.
디바이스(910)는 서버(인증 서버)(930)에 대해 디바이스에 대해 등록되어 있는 사용자 리스트를 요청한다(단계 912). 인증 서버(930)는 서버의 데이터베이스(950)로부터 디바이스에 대한 사용자 리스트를 검색하고(단계 952), 검색된 사용자 리스트를 디바이스(910)로 전송한다(단계 932).
디바이스(910)는 수신된 사용자 리스트를 유저 인터페이스(user interface, UI)로 표시하고 사용자에 의해 리스트 상의 소정 사용자가 선택 및 입력된다(단계 914). 디바이스(910)는 비밀번호 필요 플래그를 보고 사용자 로그인을 위해 비밀 번호 입력이 필요한지 여부를 판단한다(단계 916). 비밀번호가 필요하지 않다면 로그인 단계(단계 920)로 분기하고, 비밀번호가 필요하다면 단계 918에서 비밀번호가 입력된다. 디바이스(910)는 서버에 대한 사용자 로그인을 시도하기 위해 사용자 식별 정보 및 비밀번호를 서버로 전송한다. 비밀번호는 핀 정보 형태일 수도 있다.
인증 서버(930)는 로그인은 요청한 어플리케이션에 대한 키 정보의 권한 레벨 및 비밀번호를 확인하여 사용자 인증에 적합한지 여부를 판단한다(단계 934). 이 때, 서버의 데이터베이스(950)에 저장되어 있는 사용자 식별 정보에 대해 대응되는 비밀번호를 검색하여(단계 954), 디바이스(910)의 비밀번호로 로그인이 가능한지 여부가 결정된다.
인증 서버(930)는 데이터베이스의 세션 식별 정보를 검색하여(단계 956), 세션 식별 정보와 관련되는 사용자 식별 정보를 갱신하고 서버 세션 토큰을 디바이스(910)로 전송한다(단계 936).
디바이스(910)는 디바이스 세션 토큰을 생성하여 저장하고 공유하며(단계 922), 사용자 변경에 따라 위젯을 재로딩하는 등 사용자 관련 동작이 갱신된다(단계 924).
도 10 은 본 발명의 다른 실시예에 따른 사용자별 데이터베이스 접근 방식을 도시한다.
디바이스의 로컬 사용자(1010)는 오픈API를 이용하여 서드 파티의 서비스 데이터베이스(1030)에 접근한다. 일 실시예에서, SSO(Single-Sign-On) 방식이 서드 파티의 서비스 데이터베이스(1030)에 적용될 수 있다. 서드 파티 서비스 데이터베이스(103)로부터 디바이스의 로컬 사용자(1010)에 의해 적합한 사용자 식별 정보 및 서비스 제공자 키 정보가 제공된다면 서버의 사용자별 데이터베이스(1040)에 접근하여 사용자에 대해 개별적으로 설정된 데이터베이스(1040)에 접근할 수 있다.
원격 사용자(1050)는 PC-웹 인터페이스(1060)을 사용하여 PC 상에서 원격으로 위젯 환경 설정(1070)을 실행함으로써, 서버 상의 환경 설정 정보(1080)를 변경 및 관리할 수 있다. 또한, 원격 사용자(1050)는 원격 위젯 환경 설정(1070)을 이용하여 서드 파티 서비스 데이터베이스(1030)에 접근할 수 있으며, 적합한 사용자 식별 정보 및 서비스 제공자 키 정보만 주어진다면 사용자별 데이터베이스(1040)로 접근할 수도 있다.
도 11 은 본 발명의 일 실시예에 따른 디바이스에 대한 서버의 네트워크 통신 방법의 흐름도를 도시한다.
단계 1110 에서, 디바이스가 서버로 네트워크 접근을 위해 디바이스 인증을 요청한다. 디바이스는 서버로 세션 요청 정보를 전송하여 인증을 요청하는 디바이스에 대한 관련 정보 들을 제공할 수 있다. 일 실시예에서, 디바이스 및 서버의 통신이 디바이스 단위로만 이루어지므로 세션 요청 정보로써 디바이스 식별 정보만을 전송한다. 또한, 디바이스의 사용자까지 고려하는 네트워크 환경에서는 디바이스 식별 정보 및 사용자 식별 정보에 의한 디바이스 인증이 수행될 수 있다. 이 경우 디바이스는 서버에 대해 사용자 리스트를 요청할 수 있다.
단계 1120 에서, 서버로부터의 디바이스 인증에 기초하여 디바이스는 서버 및 디바이스 간 통신을 위한 디바이스 서버 간 세션을 생성한다. 서버로부터 수신된 시드키 및 디바이스의 암호키를 이용하여 디바이스 세션 토큰을 생성하고, 생성된 디바이스 세션 토큰은 디바이스의 어플리케이션들에게 공유된다.
단계 1130 에서, 디바이스 서버 간 세션을 통해 디바이스에 설치된 제 1 어플리케이션이 서버로 접근을 요청한다. 제 1 어플리케이션의 디바이스 세션 토큰을 서버에 전송함으로써 디바이스 서버 간 세션을 이용할 수 있으며, 어플리케이션 키 정보를 서버에게 제공한다.
단계 1140 에서, 제 1 어플리케이션의 권한 레벨에 기초하여 서버로부터 제 1 어플리케이션의 접근이 허용되면, 제 1 어플리케이션은 요청한 컨텐츠를 서버로부터 수신한다. 제 1 어플리케이션이 요청한 컨텐츠 또는 API가 필요로 하는 권한 레벨, 제 1 어플리케이션의 권한 레벨, 세션의 최대 허용 권한 레벨의 비교 결과에 따라 제 1 어플리케이션이 소정 컨텐츠 또는 API에 접근할 수 있는지 여부가 결정된다.
도 12 는 본 발명의 일 실시예에 따른 서버에 대한 디바이스의 네트워크 통신 방법의 흐름도를 도시한다.
단계 1210 에서, 서버는 디바이스로부터 네트워크 접근을 위한 인증 요청을 수신한다. 디바이스의 소정 어플리케이션으로부터 세션 요청 정보를 수신받아, 인증을 받아 세션을 생성할 수 있는 적합한 어플리케이션인지 여부가 판단된다.
단계 1220 에서, 서버는 디바이스로부터의 인증 요청에 기초하여 서버 및 디바이스간 통신을 위한 디바이스 서버 간 세션을 생성한다. 세션 시드키, 서버 암호키 등이 생성되고, 이를 이용하여 서버 세션 토큰이 생성된다. 생성된 세션 토큰에 따른 세션 식별 정보가 데이터베이스에 저장된다. 세션 시드키 및 어플리케이션의 만료 기한에 관한 정보가 디바이스측에 전송된다.
단계 1230 에서, 서버는 디바이스 서버 간 세션을 통해, 디바이스에 설치된 제 1 어플리케이션으로부터 접근 요청을 수신한다. 디바이스가 전송한 디바이스 세션 토큰이 서버 세션 토큰과 대응되는지 여부를 확인하여 유효한 세션을 통한 어플리케이션의 접근인지 판단된다. 어플리케이션으로부터 서버의 오픈 API 집합 중 소정 API에 대한 호출이 수신된다.
단계 1240 에서, 서버는 제 1 어플리케이션의 권한 레벨에 기초하여 제 1 어플리케이션의 접근을 허용할지 여부를 결정한다. 어플리케이션의 키 정보를 이용하여 서버 데이터베이스에 저장된 어플리케이션 키 정보와 관련된 어플리케이션의 권한 레벨이 검색된다. 어플리케이션의 권한 레벨, 세션 식별 정보와 관련된 최대 허용 권한 레벨, 호출된 API의 필요 권한 레벨을 비교하여, 어플리케이션이 소정 API에 접근할 수 있는지 여부가 결정된다.
단계 1250 에서, 서버는 제 1 어플리케이션의 접근 허용 결정에 기초하여 제 1 어플리케이션에 의해 요청된 컨텐츠를 제공한다. 어플리케이션은 호출한 API에 접근하여 원하는 데이터 또는 컨텐츠를 획득한다.
본 발명의 일 실시예에 따라, 네트워크 통신을 위한 디바이스 및 디바이스용 어플리케이션의 멀티 보안 등급 관리가 가능하므로 시스템에 대한 잠재적인 위험 요소에 강할 수 있다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (41)

  1. 서버에 대한 적어도 하나의 어플리케이션이 설치된 디바이스의 네트워크 통신하는 방법에 있어서,
    상기 디바이스에 설치된 제 2 어플리케이션이 상기 서버에 대해 상기 디바이스의 인증을 요청하는 단계;
    상기 서버로부터의 인증에 기초하여 상기 서버 및 상기 디바이스 간의 통신을 위한 디바이스 서버 간 세션을 생성하는 단계;
    상기 디바이스 서버 간 세션을 통해 상기 디바이스에 설치된 제 1 어플리케이션이 상기 서버로 접근을 요청하는 단계; 및
    상기 제 1 어플리케이션의 접근에 의해 상기 서버로부터 컨텐츠를 수신하는 단계를 포함하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  2. 제 1 항에 있어서, 상기 컨텐츠 수신 단계는,
    상기 제 1 어플리케이션의 권한 레벨에 기초하여 상기 제 1 어플리케이션이 상기 서버로 접근하도록 허용되는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  3. 제 1 항에 있어서,
    상기 적어도 하나의 어플리케이션의 권한 레벨은, 상기 서버로부터 각각의 어플리케이션의 기능 및 개발자를 고려하여 차등적으로 부여된 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  4. 제 3 항에 있어서,
    각각의 어플리케이션은, 상기 각각의 어플리케이션의 권한 레벨을 포함하며 상기 서버로부터 부여된 키 정보를 보유하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  5. 제 4 항에 있어서,
    상기 키 정보는 상기 어플리케이션의 개발자에 대한 식별 정보를 포함하는 것을 특징으로 서버에 대한 디바이스의 네트워크 통신 방법.
  6. 제 4 항에 있어서, 상기 인증 요청 단계는,
    상기 디바이스에 설치된 제 2 어플리케이션을 통해 상기 서버에 대해 상기 디바이스의 인증을 요청하는 단계; 및
    상기 제 2 어플리케이션의 키 정보 및 상기 디바이스 식별 정보를 포함하는 세션 요청 정보를 전송하는 단계를 포함하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  7. 제 6 항에 있어서, 상기 디바이스 서버 간 세션 생성 단계는,
    상기 세션 요청 정보에 기초하여, 상기 서버로부터 세션 시드키를 포함하는 세션 허용 정보를 수신하는 단계; 및
    상기 수신된 세션 시드키 및 상기 디바이스의 암호키를 이용하여 디바이스 세션 토큰을 생성하는 단계를 포함하고,
    상기 디바이스 세션 토큰은 상기 어플리케이션에게 공유되고, 상기 디바이스 세션 토큰이 상기 서버의 서버 세션 토큰과 대응되는 경우 상기 디바이스 서버 간 세션을 통한 상기 서버로의 접근이 허용되는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  8. 제 7 항에 있어서, 상기 제 1 어플리케이션 접근 요청 단계는,
    상기 디바이스 세션 토큰을 이용하여 상기 제 1 어플리케이션이 상기 디바이스 서버 간 세션을 통한 상기 서버로의 접근을 요청하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  9. 제 7 항에 있어서, 상기 컨텐츠 수신 단계는,
    상기 제 1 어플리케이션의 권한 레벨 및 상기 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 상기 요청된 컨텐츠의 필요 권한 레벨보다 상위 레벨인 경우, 상기 요청된 컨텐츠를 상기 서버로부터 제공받는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  10. 제 7 항에 있어서,
    상기 제 2 어플리케이션 접근 요청 단계는, 상기 제 1 어플리케이션이 상기 서버의 소정 API로의 접근을 요청하는 단계를 더 포함하고,
    상기 컨텐츠 수신 단계는,
    상기 제 1 어플리케이션의 권한 레벨 및 상기 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 상기 소정 API의 필요 권한 레벨보다 상위 레벨인 경우, 상기 API로 상기 제 1 어플리케이션의 접근이 허용되는 단계; 및
    상기 API를 이용하여 상기 디바이스의 속성에 기초한 컨텐츠를 수신하는 단계를 더 포함하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  11. 제 1 항에 있어서, 상기 컨텐츠 수신 단계는,
    상기 디바이스 서버 간 세션을 통해, 상기 제 1 어플리케이션은 상기 서버로부터 상기 디바이스의 속성을 고려한 컨텐츠를 수신하는 단계를 더 포함하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  12. 제 1 항에 있어서,
    상기 인증 요청 단계는, 상기 디바이스의 사용자에 대한 사용자 식별 정보를 이용하여 상기 사용자를 고려한 상기 디바이스에 대한 인증을 요청하는 단계를 더 포함하고,
    상기 디바이스 서버 간 세션 생성 단계는, 상기 사용자 식별 정보에 기초하는 디바이스 서버 간 세션을 생성하고,
    상기 사용자 식별 정보는 상기 디바이스에 저장된 사용자 식별 정보 및 상기 서버로부터 수신된 상기 디바이스의 사용자 식별 정보 중 적어도 하나인 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  13. 제 12 항에 있어서,
    상기 접근 요청 단계는, 상기 디바이스 서버 간 세션을 통해 상기 제 1 어플리케이션이 서버의 사용자별 데이터 베이스로 접근을 요청하는 단계를 포함하고,
    상기 컨텐츠 수신 단계는, 상기 제 1 어플리케이션의 권한 레벨, 상기 사용자 식별 정보 및 상기 제 1 어플리케이션의 서비스 제공자 키 정보에 기초하여, 상기 제 1 어플리케이션의 상기 서버의 사용자별 데이터베이스로의 접근이 허용되어 소정 컨텐츠를 수신하는 단계를 포함하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  14. 제 13 항에 있어서, 상기 접근 요청 단계는,
    상기 웹 인터페이스를 통하여 상기 디바이스의 웹 식별 정보를 이용하여 상기 디바이스에 원격으로 접근하는 단계; 및
    상기 웹 인터페이스를 이용하여, 상기 디바이스 서버 간 세션을 통해 상기 제 1 어플리케이션이 서버의 사용자별 데이터 베이스로 접근을 요청하는 단계를 포함하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  15. 적어도 하나의 어플리케이션이 설치된 디바이스에 대한 서버의 네트워크 통신 방법에 있어서,
    상기 디바이스에 설치된 제 2 어플리케이션으로부터 상기 서버에 대한 상기 디바이스의 인증 요청을 수신하는 단계;
    상기 디바이스로부터의 인증에 기초하여 상기 서버 및 상기 디바이스간 통신을 위한 디바이스 서버 간 세션을 생성하는 단계;
    상기 디바이스 서버 간 세션을 통해 상기 디바이스에 설치된 제 1 어플리케이션으로부터 상기 서버로의 접근 요청을 수신하는 단계; 및
    상기 제 1 어플리케이션의 접근에 의해, 상기 제 1 어플리케이션으로부터 요청된 컨텐츠를 제공하는 단계를 포함하는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  16. 제 15 항에 있어서, 상기 컨텐츠 제공 단계는,
    상기 제 1 어플리케이션의 권한 레벨에 기초하여 상기 서버로의 접근을 허용할지 여부를 결정하는 단계; 및
    상기 제 1 어플리케이션의 접근 허용 여부 결정에 기초하여, 상기 제 1 어플리케이션에 의해 요청된 컨텐츠를 제공하는 단계를 포함하는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  17. 제 15 항에 있어서, 상기 디바이스에 대한 서버의 네트워크 통신 방법은,
    상기 각각의 어플리케이션의 기능 및 개발자를 고려하여 차등적으로 권한 레벨을 결정하는 단계를 더 포함하는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  18. 제 17 항에 있어서,
    상기 각각의 어플리케이션에 대해, 상기 각각의 어플리케이션의 권한 레벨, 개발자에 대한 식별 정보를 포함하는 키 정보를 부여하는 단계를 더 포함하는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  19. 제 18 항에 있어서, 상기 인증 요청 수신 단계는,
    상기 디바이스에 설치된 제 2 어플리케이션으로부터 상기 디바이스의 인증 요청을 수신하는 단계; 및
    상기 제 2 어플리케이션의 키 정보, 상기 제 2 어플리케이션의 버전 정보 및 상기 디바이스 식별 정보 중 적어도 하나를 포함하는 세션 요청 정보를 수신하는 단계를 포함하는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  20. 제 19 항에 있어서, 상기 디바이스 서버 간 세션 생성 단계는,
    상기 제 2 어플리케이션의 버전 정보로부터 상기 서버의 암호키를 결정하는 단계;
    상기 디바이스 서버 간 세션에 위한 세션 시드키를 생성하는 단계; 및
    상기 세션 시드키 및 상기 암호키를 이용하여 서버 세션 토큰을 생성하는 단계를 더 포함하는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  21. 제 20 항에 있어서, 상기 접근 허용 여부 결정 단계는,
    상기 제 1 어플리케이션의 디바이스 세션 토큰 및 상기 서버 세션 토큰을 비교하는 단계; 및
    상기 비교 결과에 기초하여 상기 제 1 어플리케이션의 상기 디바이스 서버 간 세션을 통한 접근을 허용할지 여부를 결정하는 단계를 포함하고,
    상기 제 1 어플리케이션의 디바이스 세션 토큰은, 상기 디바이스에 수신된 세션 허용 정보 중 세션 시드키 및 상기 디바이스의 암호키를 이용하여 생성되고, 상기 디바이스의 어플리케이션 간에 공유되는 세션 토큰인 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  22. 제 21 항에 있어서,
    상기 디바이스 서버 간 세션 생성 단계는, 상기 제 1 어플리케이션의 키 정보에 기초하여 상기 제 1 어플리케이션 권한 레벨을 검색하는 단계를 더 포함하고,
    상기 접근 허용 여부 결정 단계는, 상기 제 1 어플리케이션의 권한 레벨 및 상기 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 상기 요청된 컨텐츠의 필요 권한 레벨보다 상위 레벨인 경우, 상기 제 1 어플리케이션의 접근을 허용하는 단계를 더 포함하는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  23. 제 22 항에 있어서,
    상기 접근 요청 수신 단계는, 상기 제 1 어플리케이션으로부터 상기 서버의 소정 API로의 접근 요청을 수신하는 단계를 포함하고,
    상기 디바이스 서버 간 세션 생성 단계는, 상기 제 1 어플리케이션의 키 정보에 기초하여 상기 제 1 어플리케이션 권한 레벨을 검색하는 단계를 더 포함하고,
    상기 접근 허용 여부 결정 단계는, 상기 제 1 어플리케이션의 권한 레벨 및 상기 디바이스 서버 간 세션의 최대 허용 권한 레벨 중 상위 권한 레벨이 상기 API의 필요 권한 레벨보다 상위 레벨인 경우, 상기 API로 상기 제 1 어플리케이션이 접근하는 것을 허용하는 단계를 더 포함하는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  24. 제 18 항에 있어서,
    상기 세션 생성 단계는, 상기 디바이스의 사용자 식별 정보를 고려하여 상기 디바이스 서버 간 세션을 생성하고,
    상기 접근 요청 수신 단계는, 상기 디바이스 서버 간 세션을 통해 상기 제 1 어플리케이션으로부터 상기 서버의 사용자별 데이터 베이스로의 접근 요청을 수신하는 단계를 포함하고,
    상기 접근 허용 여부 결정 단계는, 상기 제 1 어플리케이션의 권한 레벨, 상기 사용자 식별 정보 및 상기 제 1 어플리케이션의 서비스 제공자 키 정보에 기초하여, 상기 제 1 어플리케이션의 상기 서버의 사용자별 데이터베이스로의 접근을 허용하는 단계를 포함하고,
    상기 사용자별 데이터 베이스 접근 요청은 상기 디바이스를 통한 접근 요청 및 웹 인터페이스를 이용한 원격 접근 요청 중 적어도 하나인 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  25. 서버에 대한 적어도 하나의 어플리케이션이 설치된 디바이스의 네트워크 통신 장치에 있어서,
    상기 디바이스에 설치된 제 2 어플리케이션이 상기 서버에 대해 상기 디바이스의 인증을 요청하는 디바이스 인증 요청부;
    상기 서버로부터의 인증에 기초하여 상기 서버 및 상기 디바이스 간의 통신을 위한 디바이스 서버 간 세션을 생성하는 디바이스 세션 생성부;
    상기 디바이스 서버 간 세션을 통해 상기 디바이스에 설치된 제 1 어플리케이션이 상기 서버로 접근을 요청하도록 하는 어플리케이션 접근 요청부; 및
    상기 제 1 어플리케이션의 접근에 의해 상기 서버로부터 컨텐츠를 수신하는 컨텐츠 수신부를 포함하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 장치.
  26. 적어도 하나의 어플리케이션이 설치된 디바이스에 대한 서버의 네트워크 통신 장치에 있어서,
    상기 디바이스에 설치된 제 2 어플리케이션으로부터 상기 서버에 대한 상기 디바이스의 인증 요청을 수신하는 디바이스 인증 요청 수신부;
    상기 디바이스로부터의 인증에 기초하여 상기 서버 및 상기 디바이스간 통신을 위한 디바이스 서버 간 세션을 생성하는 서버 세션 생성부;
    상기 디바이스 서버 간 세션을 통해 상기 디바이스에 설치된 제 1 어플리케이션으로부터 상기 서버로의 접근 요청을 수신하는 어플리케이션 접근 요청 수신부; 및
    상기 제 1 어플리케이션의 접근에 의해, 상기 제 1 어플리케이션으로부터 요청된 컨텐츠를 제공하는 컨텐츠 제공부를 포함하는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 장치.
  27. 상기 서버에 대한 적어도 하나의 어플리케이션이 설치된 디바이스의 네트워크 통신하는 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 디바이스의 네트워크 통신하는 방법은,
    상기 디바이스에 설치된 제 2 어플리케이션이 상기 서버로 상기 의 인증을 요청하는 단계;
    상기 서버로부터의 인증에 기초하여 상기 서버 및 상기 디바이스 간의 통신을 위한 디바이스 서버 간 세션을 생성하는 단계;
    상기 디바이스 서버 간 세션을 통해 상기 디바이스에 설치된 제 1 어플리케이션의 상기 서버로의 접근을 요청하는 단계; 및
    상기 제 1 어플리케이션의 접근에 의해 상기 서버로부터 컨텐츠를 수신하는 단계를 포함하는 것을 특징으로 하는 기록 매체.
  28. 적어도 하나의 어플리케이션이 설치된 디바이스에 대한 서버의 네트워크 통신 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 서버의 네트워크 통신 방법은,
    상기 디바이스에 설치된 제 2 어플리케이션으로부터 상기 서버에 대한 상기 디바이스의 인증 요청을 수신하는 단계;
    상기 디바이스로부터의 인증 요청에 기초하여 상기 서버 및 상기 디바이스간 통신을 위한 디바이스 서버 간 세션을 생성하는 단계;
    상기 디바이스 서버 간 세션을 통해 상기 디바이스에 설치된 제 1 어플리케이션으로부터 상기 서버로의 접근 요청을 수신하는 단계; 및
    상기 제 1 어플리케이션의 접근에 의해, 상기 제 1 어플리케이션으로부터 요청된 상기 서버로부터 컨텐츠를 수신하는 단계를 포함하는 것을 특징으로 하는 기록 매체.
  29. 서버에 대하여 적어도 하나의 어플리케이션이 설치된 디바이스의 네트워크 통신하는 방법에 있어서,
    상기 디바이스에 설치된 제 2 어플리케이션에 의해 상기 디바이스 및 상기 서버 사이의 통신을 위한 세션을 생성하는 단계;
    상기 디바이스에 설치된 제 1 어플리케이션의 권한 레벨에 기초하여 상기 제 1 어플리케이션이 상기 세션을 이용하는 단계;
    상기 세션을 이용하여 상기 서버로 접근한 상기 제 1 어플리케이션의 권한 레벨에 기초하여 상기 서버로부터 소정 컨텐츠를 수신하는 단계를 포함하고,
    상기 권한 레벨은 각각의 어플리케이션이 상기 서버에 접근하기 위한 권한을 나타내는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  30. 제 29 항에 있어서, 상기 세션 생성 단계는,
    상기 서버에 대한 상기 디바이스 인증을 요청하는 상기 제 2 어플리케이션의 권한 레벨에 기초하여 상기 세션을 생성하는 단계를 포함하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  31. 적어도 하나의 어플리케이션이 설치된 디바이스에 대한 서버의 네트워크 통신 방법에 있어서,
    상기 디바이스에 설치된 제 2 어플리케이션에 의해 상기 디바이스 및 상기 서버 사이의 통신을 위한 세션을 생성하는 단계;
    제 디바이스에 설치된 제 1 어플리케이션의 권한 레벨에 기초하여 상기 세션을 통한 상기 제 1 어플리케이션의 상기 서버 접근 요청을 수신하는 단계; 및
    상기 제 1 어플리케이션의 권한 레벨에 기초하여 상기 제 1 어플리케이션에 대한 소정 컨텐츠를 제공 여부를 결정하는 단계를 포함하고,
    상기 권한 레벨은 각각의 어플리케이션이 상기 서버에 접근하기 위한 권한을 나타내는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  32. 제 31 항에 있어서, 상기 세션 생성 단계는,
    상기 서버에 대한 상기 디바이스 인증을 요청하는 상기 제 2 어플리케이션의 권한 레벨에 기초하여 상기 세션을 생성하는 단계를 포함하는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  33. 서버에 대하여 적어도 하나의 어플리케이션이 설치된 디바이스의 네트워크 통신하는 방법에 있어서,
    상기 디바이스에 설치된 제 2 어플리케이션에 의해 상기 서버로 접근하기 위한 토큰을 생성하는 단계;
    상기 생성된 토큰을 상기 적어도 하나의 어플리케이션과 공유하는 단계;
    상기 공유된 토큰을 이용하여 상기 디바이스에 설치된 제 1 어플리케이션의 상기 서버로의 접근을 요청하는 단계; 및
    상기 제 1 어플리케이션의 서버로의 접근에 의하여 상기 서버로부터 상기 제 1 어플리케이션에 의해 요청된 컨텐츠를 수신하는 단계를 포함하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  34. 제 33 항에 있어서, 상기 토큰 생성 단계는,
    상기 제 2 어플리케이션에 의해, 상기 서버에 대하여 상기 디바이스 인증을 요청하는 단계; 및
    상기 서버에 대해 인증된 디바이스에 의한 접근임을 나타내기 위한 토큰을 생성하는 단계를 포함하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  35. 제 34 항에 있어서,
    상기 권한 레벨은, 각각의 어플리케이션이 상기 서버에 접근하기 위한 권한을 나타내고, 상기 서버에 의해 상기 각각의 어플리케이션에 대해 부여한 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  36. 서버에 대하여 적어도 하나의 어플리케이션이 설치된 디바이스의 네트워크 통신하는 방법에 있어서,
    상기 디바이스에 설치된 제 2 어플리케이션에 의해 상기 디바이스 및 상기 서버 사이의 통신을 위한 세션을 생성하는 단계;
    상기 디바이스에 설치된 제 1 어플리케이션의 키 정보에 기초하여 상기 제 1 어플리케이션이 상기 세션을 이용하는 단계;
    상기 세션을 이용하여 상기 서버로 접근한 상기 제 1 어플리케이션의 키 정보에 기초하여 상기 서버로부터 소정 컨텐츠를 수신하는 단계를 포함하고,
    상기 어플리케이션 키 정보는 상기 어플리케이션이 상기 서버에 접근하기 위한 권한 레벨에 대응되고, 상기 권한 레벨은 각각의 어플리케이션이 상기 서버에 접근하기 위한 권한을 나타내는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  37. 제 36 항에 있어서,
    상기 어플리케이션 키 정보 및 권한 레벨은, 상기 서버에 의해 각각의 어플리케이션에 대해 부여한 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  38. 제 36 항에 있어서, 상기 세션 생성 단계는,
    상기 서버에 대한 상기 디바이스의 인증을 요청하는 상기 제 2 어플리케이션의 키 정보에 기초하여 상기 세션을 생성하는 단계를 포함하는 것을 특징으로 하는 서버에 대한 디바이스의 네트워크 통신 방법.
  39. 적어도 하나의 어플리케이션이 설치된 디바이스에 대한 서버의 네트워크 통신 방법에 있어서,
    상기 디바이스에 설치된 제 2 어플리케이션의 키 정보에 기초하여 상기 디바이스 및 상기 서버 사이의 통신을 위한 세션을 생성하는 단계;
    제 디바이스에 설치된 제 1 어플리케이션의 키 정보에 기초하여 상기 세션을 통한 상기 제 1 어플리케이션의 상기 서버 접근 요청을 수신하는 단계; 및
    상기 제 1 어플리케이션의 키 정보에 기초하여 상기 제 1 어플리케이션에 대한 소정 컨텐츠를 제공 여부를 결정하는 단계를 포함하고,
    상기 어플리케이션 키 정보는 상기 어플리케이션이 상기 서버에 접근하기 위한 권한 레벨에 대응하고, 상기 권한 레벨은 각각의 어플리케이션이 상기 서버에 접근하기 위한 권한을 나타내는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  40. 제 39 항에 있어서,
    상기 어플리케이션 키 정보 및 권한 레벨은, 상기 서버가 각각의 어플리케이션에 대해 부여한 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
  41. 제 39 항에 있어서, 상기 세션 생성 단계는,
    상기 서버에 대한 상기 디바이스 인증을 요청하는 상기 제 2 어플리케이션의 키 정보에 기초하여 상기 세션을 생성하는 단계를 포함하는 것을 특징으로 하는 디바이스에 대한 서버의 네트워크 통신 방법.
KR20080092943A 2008-03-28 2008-09-22 네트워크의 디바이스 보안 등급 조절 방법 및 장치 KR101496329B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR20080092943A KR101496329B1 (ko) 2008-03-28 2008-09-22 네트워크의 디바이스 보안 등급 조절 방법 및 장치
EP09156531.7A EP2106087B1 (en) 2008-03-28 2009-03-27 Method and apparatus for handling security level of device on network
CN200910128308.3A CN101547202B (zh) 2008-03-28 2009-03-30 处理网络上的装置的安全等级的方法和设备
US12/413,872 US8875242B2 (en) 2008-03-28 2009-03-30 Method and apparatus for handling security level of device on network

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US4042208P 2008-03-28 2008-03-28
US61/040,422 2008-03-28
US4079508P 2008-03-31 2008-03-31
US61/040,795 2008-03-31
KR20080092943A KR101496329B1 (ko) 2008-03-28 2008-09-22 네트워크의 디바이스 보안 등급 조절 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20090103670A true KR20090103670A (ko) 2009-10-01
KR101496329B1 KR101496329B1 (ko) 2015-02-26

Family

ID=40756338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20080092943A KR101496329B1 (ko) 2008-03-28 2008-09-22 네트워크의 디바이스 보안 등급 조절 방법 및 장치

Country Status (3)

Country Link
US (1) US8875242B2 (ko)
EP (1) EP2106087B1 (ko)
KR (1) KR101496329B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101708267B1 (ko) * 2015-12-28 2017-02-21 서울과학기술대학교 산학협력단 스마트 디바이스에서의 어플리케이션 접근 제어 방법 및 장치
KR20190046022A (ko) * 2017-10-25 2019-05-07 이화여자대학교 산학협력단 의료 엔터프라이즈 애플리케이션에 대한 검증 방법 및 시스템

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934249B2 (en) * 2007-08-27 2011-04-26 Oracle International Corporation Sensitivity-enabled access control model
US20100077475A1 (en) * 2008-09-22 2010-03-25 Microsoft Corporation Partial installation based on available privileges
KR20110047764A (ko) * 2009-10-30 2011-05-09 삼성전자주식회사 이동 단말을 이용하여 홈 네트워크 시스템을 제어하기 위한 방법 및 장치
KR20110064697A (ko) * 2009-12-08 2011-06-15 삼성전자주식회사 정보 업데이트 방법 및 그 장치
FR2959632B1 (fr) * 2010-05-03 2012-10-19 Evidian Procede d'ouverture de session d?une machine appartenant a un parc de machines
KR20120002836A (ko) * 2010-07-01 2012-01-09 삼성전자주식회사 복수의 서비스에 대한 접근 제어 장치 및 방법
US8595806B1 (en) * 2010-09-21 2013-11-26 Amazon Technologies, Inc. Techniques for providing remote computing services
JP5633306B2 (ja) * 2010-10-29 2014-12-03 株式会社リコー ライセンス管理システム、機能提供装置、ライセンス管理方法、及びライセンス管理プログラム
US9602851B2 (en) * 2011-03-01 2017-03-21 Sony Corporation Method and apparatus for switching between a native application and a second application
EP2691925A4 (en) * 2011-03-31 2014-08-20 Google Inc INTEGRATED MOBILE / SERVER APPLICATIONS
CN104488324A (zh) * 2012-04-25 2015-04-01 匹波比股份公司 无线设备利用网络接入装备访问映射到当前所在空间的信息的方法及利用网络接入装备而访问映射到当前所在空间的信息的装置
US8887272B2 (en) * 2012-08-24 2014-11-11 General Electric Company Medical device customization system
US9143383B2 (en) * 2012-11-01 2015-09-22 Miiicasa Taiwan Inc. Method and system for managing device identification
KR102015108B1 (ko) * 2013-03-12 2019-10-22 한국전자통신연구원 이종 서비스 간 서비스 제공 방법과 사용자 단말 및 웹 서버
US9419963B2 (en) * 2013-07-02 2016-08-16 Open Text S.A. System and method for controlling access
KR20150005215A (ko) * 2013-07-05 2015-01-14 삼성전자주식회사 Rui 시스템, rui 서버, rui 단말 장치 및 rui 서비스 제공 방법
GB2517493A (en) * 2013-08-23 2015-02-25 Advanced Risc Mach Ltd Handling access attributes for data accesses
US9825933B2 (en) * 2013-09-12 2017-11-21 Data Accelerator Ltd. Single sign on for applications
US9300671B1 (en) * 2013-12-30 2016-03-29 Ca, Inc. Shared access with account restriction and promotion utilizing virtual accounts
US9454787B1 (en) * 2014-03-04 2016-09-27 Stephen M. Dorr Secure membership data sharing system and associated methods
US9594929B2 (en) * 2014-08-11 2017-03-14 Honeywell International Inc. Open architecture security methods and systems
US9578015B2 (en) 2014-10-31 2017-02-21 Vmware, Inc. Step-up authentication for single sign-on
KR102412436B1 (ko) 2014-11-26 2022-06-24 삼성전자주식회사 다른 전자 장치로부터의 데이터 이용을 관리하는 전자 장치 및 그 제어 방법
US10937025B1 (en) 2015-01-15 2021-03-02 Wells Fargo Bank, N.A. Payment services via application programming interface
US10621658B1 (en) 2015-01-15 2020-04-14 Wells Fargo Bank, N.A. Identity verification services with identity score through external entities via application programming interface
US10997654B1 (en) 2015-01-15 2021-05-04 Wells Fargo Bank, N.A. Identity verification services through external entities via application programming interface
US10990974B1 (en) * 2015-01-15 2021-04-27 Wells Fargo Bank, N.A. Identity verification services and user information provision via application programming interface
US10250594B2 (en) 2015-03-27 2019-04-02 Oracle International Corporation Declarative techniques for transaction-specific authentication
US10257205B2 (en) * 2015-10-22 2019-04-09 Oracle International Corporation Techniques for authentication level step-down
US10164971B2 (en) 2015-10-22 2018-12-25 Oracle International Corporation End user initiated access server authenticity check
JP6895431B2 (ja) 2015-10-23 2021-06-30 オラクル・インターナショナル・コーポレイション アクセス管理のためのパスワードレス認証
US10218698B2 (en) * 2015-10-29 2019-02-26 Verizon Patent And Licensing Inc. Using a mobile device number (MDN) service in multifactor authentication
US11232223B2 (en) * 2016-09-13 2022-01-25 Salesforce.Com, Inc. Providing web application components within remote systems
CN110476167B (zh) * 2017-02-27 2023-10-13 英万齐股份有限公司 基于上下文的计算机安全风险缓解的系统和方法
US10949559B1 (en) * 2017-06-23 2021-03-16 Intuit Inc. Repository-based privilege escalation for workflows
US11836254B2 (en) * 2017-09-14 2023-12-05 Insyde Software Corp. System and method for securing a series of firmware function calls using session tokens
US11995619B1 (en) 2017-12-28 2024-05-28 Wells Fargo Bank, N.A. Account open interfaces
US11106515B1 (en) 2017-12-28 2021-08-31 Wells Fargo Bank, N.A. Systems and methods for multi-platform product integration
US11676126B1 (en) 2017-12-28 2023-06-13 Wells Fargo Bank, N.A. Account open interfaces
TWI725352B (zh) * 2018-11-05 2021-04-21 緯創資通股份有限公司 驗證及授權的方法及驗證伺服器
US11093912B1 (en) 2018-12-10 2021-08-17 Wells Fargo Bank, N.A. Third-party payment interfaces
US11044246B1 (en) 2019-06-21 2021-06-22 Wells Fargo Bank, N.A. Secure communications via third-party systems through frames
CN112714140B (zh) * 2019-10-24 2023-04-07 海信电子科技(武汉)有限公司 数据传输方法、装置及系统
US20210295280A1 (en) * 2020-03-23 2021-09-23 Apple Inc. Technique for providing optimized digital information
CN115396885A (zh) * 2022-08-26 2022-11-25 中国联合网络通信集团有限公司 一种密钥安全管理方法、装置、电子设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7233997B1 (en) * 1997-06-26 2007-06-19 British Telecommunications Plc Data communications
US6446069B1 (en) * 1999-09-17 2002-09-03 International Business Machines Corporation Access control system for a multimedia datastore
US6748592B1 (en) * 2000-02-14 2004-06-08 Xoucin, Inc. Method and apparatus for protectively operating a data/information processing device
US7069330B1 (en) * 2001-07-05 2006-06-27 Mcafee, Inc. Control of interaction between client computer applications and network resources
EP1315064A1 (en) * 2001-11-21 2003-05-28 Sun Microsystems, Inc. Single authentication for a plurality of services
KR100462144B1 (ko) 2002-03-21 2004-12-16 라인식 리모콘으로 전용 브라우져 이용을 조작하기 위한 제어박스 시스템
US20040153635A1 (en) * 2002-12-30 2004-08-05 Kaushik Shivnandan D. Privileged-based qualification of branch trace store data
TW200500887A (en) * 2003-03-03 2005-01-01 Nagracard Sa Security modules deactivation and reactivation method
US7823192B1 (en) * 2004-04-01 2010-10-26 Sprint Communications Company L.P. Application-to-application security in enterprise security services
JP3817249B2 (ja) * 2004-04-28 2006-09-06 株式会社エヌ・ティ・ティ・ドコモ 移動機、及び、通信制御方法
US8332470B2 (en) * 2005-11-30 2012-12-11 Oracle International Corporation Methods and apparatus providing collaborative access to applications
US8869262B2 (en) * 2006-08-03 2014-10-21 Citrix Systems, Inc. Systems and methods for application based interception of SSL/VPN traffic
US20080040773A1 (en) * 2006-08-11 2008-02-14 Microsoft Corporation Policy isolation for network authentication and authorization
JP4360422B2 (ja) * 2007-05-15 2009-11-11 フェリカネットワークス株式会社 認証情報管理システム、認証情報管理サーバ、認証情報管理方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101708267B1 (ko) * 2015-12-28 2017-02-21 서울과학기술대학교 산학협력단 스마트 디바이스에서의 어플리케이션 접근 제어 방법 및 장치
KR20190046022A (ko) * 2017-10-25 2019-05-07 이화여자대학교 산학협력단 의료 엔터프라이즈 애플리케이션에 대한 검증 방법 및 시스템

Also Published As

Publication number Publication date
US20090249448A1 (en) 2009-10-01
KR101496329B1 (ko) 2015-02-26
US8875242B2 (en) 2014-10-28
EP2106087A1 (en) 2009-09-30
EP2106087B1 (en) 2018-05-02

Similar Documents

Publication Publication Date Title
KR101496329B1 (ko) 네트워크의 디바이스 보안 등급 조절 방법 및 장치
US9311469B2 (en) Authorization server system, control method thereof, and non-transitory computer-readable medium
JP4164855B2 (ja) プラグ対応認可システムに対するサーバサポート方法およびシステム
US10263994B2 (en) Authorized delegation of permissions
US9985969B1 (en) Controlling use of computing-related resources by multiple independent parties
US9288213B2 (en) System and service providing apparatus
JP5509334B2 (ja) コンピュータネットワーク内の保護リソースへのアクセスを管理するための方法と、そのための物理エンティティおよびコンピュータプログラム
US8413261B2 (en) Sharing private data publicly and anonymously
KR101467174B1 (ko) 통신 수행 방법 및 그 장치와, 통신 수행 제어 방법 및 그장치
US8990896B2 (en) Extensible mechanism for securing objects using claims
US20140143847A1 (en) System for and method of providing single sign-on (sso) capability in an application publishing environment
US20120297455A1 (en) Target-based access check independent of access request
US20080148345A1 (en) Single point authentication for web service policy definition
CN104255007A (zh) Oauth框架
US11363007B2 (en) Methods and systems for accessing a resource
US8522307B2 (en) Flexibly assigning security configurations to applications
US9871778B1 (en) Secure authentication to provide mobile access to shared network resources
US6681330B2 (en) Method and system for a heterogeneous computer network system with unobtrusive cross-platform user access
CN101547202B (zh) 处理网络上的装置的安全等级的方法和设备
CN109450890B (zh) 单点登录的方法和装置
US9959398B1 (en) Dynamic user authentication and authorization
CN116438778A (zh) 承担的替代身份的持久源值
KR20210144327A (ko) 블록체인 방식의 디스크 공유 시스템 및 그 방법
EP3766221B1 (en) Relying party certificate validation when client uses relying party's ip address
Zhang et al. Access Control

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
FPAY Annual fee payment

Payment date: 20190130

Year of fee payment: 5