KR20190044815A - 보안 서비스 제어를 위한 시스템 및 그의 동작 방법 - Google Patents

보안 서비스 제어를 위한 시스템 및 그의 동작 방법 Download PDF

Info

Publication number
KR20190044815A
KR20190044815A KR1020170137202A KR20170137202A KR20190044815A KR 20190044815 A KR20190044815 A KR 20190044815A KR 1020170137202 A KR1020170137202 A KR 1020170137202A KR 20170137202 A KR20170137202 A KR 20170137202A KR 20190044815 A KR20190044815 A KR 20190044815A
Authority
KR
South Korea
Prior art keywords
electronic device
license
service
server
mdm
Prior art date
Application number
KR1020170137202A
Other languages
English (en)
Inventor
장소정
문승호
정우영
황석준
황승오
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170137202A priority Critical patent/KR20190044815A/ko
Priority to PCT/KR2018/012099 priority patent/WO2019083210A1/ko
Publication of KR20190044815A publication Critical patent/KR20190044815A/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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems

Abstract

본 발명의 다양한 실시 예들은 보안 서비스를 제어하기 위한 시스템 및 그의 동작 방법에 관하여 개시한다. 다양한 실시 예들에 따르면, 시스템에 있어서, 네트워크 인터페이스, 상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서, 및 상기 프로세서에 동작적으로 연결된 적어도 하나의 메모리, 상기 메모리는, 실행 시에, 상기 프로세서가, MDM이 적용되는 전자 장치로부터 상기 네트워크 인터페이스를 통해 라이선스를 인증하기 위한 요청을 수신하고, 상기 라이선스의 인증을 수행하고, 및 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 상기 전자 장치에 제공하도록 하는 인스트럭션들을 저장하고, 상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램(application program)을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 할 수 있다. 다양한 실시 예들이 가능하다.

Description

보안 서비스 제어를 위한 시스템 및 그의 동작 방법{SYSTEM FOR MANAGEING SECURITY LICENSE FOR CONTROLLING SECURITY SERVICE AND METHOD FOR OPERATING THEREOF}
본 발명의 다양한 실시 예들은 보안 서비스(security service)를 제어하기 위한 시스템 및 그의 동작 방법에 관하여 개시한다.
디지털 기술의 발달과 함께 이동통신 단말기, 스마트폰(smart phone), 태블릿(tablet) PC(personal computer), 노트북(notebook), PDA(personal digital assistant), 웨어러블 장치(wearable device), 디지털 카메라(digital camera) 또는 개인용 컴퓨터(personal computer) 등과 같은 다양한 유형의 전자 장치가 널리 사용되고 있다.
최근에는 정보통신기술(IT, information technology) 산업 발전이 가속화되면서 비즈니스(business) 환경도 급격히 변화하고 있다. 일 실시 예에 따르면, 최근 기업에서는 BYOD(bring your own device) 시스템을 도입하고 있다. BYOD는 기업에서 직원들의 개인용 스마트폰, 태블릿 PC, 노트북 등과 같은 전자 장치를 직장에서 업무에 활용 가능하도록 하는 것일 수 있다. 이는 기업 입장에서 비용 절감(예: 기기 구입 비용의 감소)의 장점이 있고, 직원들의 생산성을 향상시킬 수 있는 이점이 있다. 반면, BYOD 시스템에서는 사용자 개인의 전자 장치 사용 및 외부 이동성으로 인해, 업무 정보 유출 등의 기업 보안에 취약할 수 있다. 이에, 최근에는 모바일 단말 관리(MDM, mobile device management) 솔루션(solution)에 대한 관심, 연구 및 개발이 증가하고 있다.
MDM은 전자 장치를 보호, 관리, 감시, 및 지원하는 일련의 과정을 의미할 수 있다. 예를 들면, MDM은, 전자 장치의 일부 기능을 기업의 IT 관리자가 중앙에서 통제하고 보안 정책(security policy)을 적용하도록 관리할 수 있는 솔루션을 나타낼 수 있다.
일반적으로, 전자 장치에서 특정 어플리케이션이 보안된(또는 제한된) 기능(예: 기능에 대한 API(application programming interface))을 사용하려고 할 때, 해당 어플리케이션이 보안 기능에 관련된 권한(permission)을 가지고 있어야 사용이 가능할 수 있다. 만약, 어플리케이션이 권한이 없는 경우에는, 해당 어플리케이션은 라이선스를 활성화한 후에 보안된 기능(예: API)의 호출이 가능할 수 있다. 일 실시 예에 따라, 보안된 기능에 대한 API는 보안된 특징(feature)(또는 서비스(service)) 별로 각각 존재할 수 있다. 따라서 보안 솔루션이 적용되는 전자 장치에서는, 권한이 없는 어플리케이션에 대해, 각 특징(또는 서비스)을 사용하고자 할 때마다 라이선스를 활성화 하기 위한 복잡한 절차를 수행해야 하는 불편함이 있고, 이를 관리하기 위한 관리자의 로드(load)가 증가할 수 있다.
다양한 실시 예들에서는, 모바일 단말 관리(MDM, mobile device management) 솔루션에서 보안 서비스(security service)를 제어하기 위한 보안 라이선스(security license)를 관리하는 라이선스 시스템 및 그의 제어 방법에 관하여 개시한다.
본 발명의 다양한 실시 예들에 따른 시스템은, 네트워크 인터페이스, 상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서, 및 상기 프로세서에 동작적으로 연결된 적어도 하나의 메모리, 상기 메모리는, 실행 시에, 상기 프로세서가, MDM(mobile device management)이 적용되는 전자 장치로부터 상기 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 수신하고, 상기 라이선스의 인증을 수행하고, 및 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 상기 전자 장치에 제공하도록 하는 인스트럭션들(instructions)을 저장하고, 상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램(application program)을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 할 수 있다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 네트워크 인터페이스, 상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서, 및 상기 프로세서에 동작적으로 연결된 적어도 하나의 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 어플리케이션 프로그램(application program) 실행 시에, 상기 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 서버로 전송하고, 상기 서버로부터 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 수신하도록 하는 인스트럭션들(instructions)을 저장하고, 상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 할 수 있다.
본 발명의 다양한 실시 예들에 따른 시스템의 동작 방법은, MDM(mobile device management)이 적용되는 전자 장치로부터 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 수신하는 동작, 상기 라이선스의 인증을 수행하는 동작, 및 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 상기 전자 장치에 제공하는 동작을 포함하고, 상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램(application program)을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 할 수 있다.
본 발명의 다양한 실시 예들에 따른 전자 장치의 동작 방법은, 어플리케이션 프로그램(application program) 실행 시에, 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 서버로 전송하는 동작, 및 상기 서버로부터 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 수신하는 동작을 포함하고, 상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 할 수 있다.
다양한 실시 예들에 따른 시스템 및 그의 동작 방법에 따르면, MDM(mobile device management) 솔루션을 적용하는 시스템에서, 서비스에 대한 사용 제어가 가능할 수 있다. 다양한 실시 예들에 따르면, 퍼미션(permission)(또는 권한) 기반으로 제어하던 보안 기능의 범위를 서비스 기반으로 확대하여, 라이선스 시스템의 제어 범위를 확장할 수 있다.
도 1은 다양한 실시 예들에 따른 네트워크 환경 내의 전자 장치의 블럭도이다.
도 2는 다양한 실시 예들에 따른 프로그램의 블록도이다.
도 3은 다양한 실시 예들에 따른 시스템 구성의 예를 설명하기 위해 개략적으로 도시하는 도면이다.
도 4는 다양한 실시 예들에 따른 시스템에서 서비스 기반으로 라이선스를 제어하는 예를 설명하기 위해 도시하는 도면이다.
도 5는 다양한 실시 예들에 따른 시스템에서 서비스 기반으로 라이선스를 제어하는 예를 설명하기 위해 도시하는 도면이다.
도 6은 다양한 실시 예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.
도 7은 다양한 실시 예들에 따른 제조사 서버의 동작을 도시하는 흐름도이다.
도 8은 다양한 실시 예들에 따른 벤더 서버의 동작을 도시하는 흐름도이다.
도 9는 다양한 실시 예들에 따른 시스템에서 라이선스를 관리하는 동작을 도시하는 도면이다.
이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다. 실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 그리고 본 발명에 개시된 실시 예는 개시된 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명에서 기재된 기술의 범위를 한정하는 것은 아니다. 따라서, 본 발명의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예들을 포함하는 것으로 해석되어야 한다.
도 1은 다양한 실시 예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 및 안테나 모듈(197)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(101)에는, 이 구성 요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나 다른 구성 요소가 추가될 수 있다. 어떤 실시 예에서는, 예를 들면, 표시 장치(160)(예: 디스플레이)에 임베디드(embedded)된 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)의 경우와 같이, 일부의 구성 요소들이 통합되어 구현될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 구동하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성 요소(예: 하드웨어 또는 소프트웨어 구성 요소)를 제어할 수 있고, 다양한 데이터 처리 및 연산을 수행할 수 있다. 프로세서(120)는 다른 구성 요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(volatile memory)(132)에 로드(load)하여 처리하고, 결과 데이터를 비휘발성 메모리(non-volatile memory)(134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치(CPU, central processing unit) 또는 어플리케이션 프로세서(AP, application processor)), 및 이와는 독립적으로 운영되고, 추가적으로 또는 대체적으로, 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화된 보조 프로세서(123)(예: 그래픽 처리 장치(GPU, graphic processing unit), 이미지 시그널 프로세서(ISP, image signal processor), 센서 허브 프로세서(sensor hub processor), 또는 커뮤니케이션 프로세서(CP, communication processor))를 포함할 수 있다. 여기서, 보조 프로세서(123)는 메인 프로세서(121)와 별개로 또는 임베디드되어 운영될 수 있다.
이런 경우, 보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(inactive)(예: 슬립(sleep)) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(active)(예: 어플리케이션 수행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성 요소들 중 적어도 하나의 구성 요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부 구성 요소로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성 요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 저장할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 저장되는 소프트웨어로서, 예를 들면, 운영 체제(OS, operating system)(142), 미들 웨어(middleware)(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성 요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신하기 위한 장치로서, 예를 들면, 마이크, 마우스, 또는 키보드 등을 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력하기 위한 장치로서, 예를 들면, 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용되는 스피커와 전화 수신 전용으로 사용되는 리시버(receiver)를 포함할 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 일체 또는 별도로 형성될 수 있다.
표시 장치(160)는 전자 장치(101)의 사용자에게 정보를 시각적으로 제공하기 위한 장치로서, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시 장치(160)는 터치 회로(touch circuitry) 또는 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서(pressure sensor)(또는 포스 센서(force sensor))를 포함할 수 있다.
오디오 모듈(170)은 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(170)은, 입력 장치(150)를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 유선 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)(예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 내부의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 센서 모듈(176)은, 예를 들면, 제스처 센서(gesture sensor), 자이로 센서(gyro sensor), 기압 센서(barometer sensor), 마그네틱 센서(magnetic sensor), 가속도 센서(acceleration sensor), 그립 센서(grip sensor), 근접 센서(proximity sensor), 컬러 센서(color sensor)(예: RGB(red, green, blue) 센서), IR(infrared) 센서, 생체 센서(medical sensor, biometric sensor), 온도 센서(temperature sensor), 습도 센서(humidity sensor), 또는 조도 센서(illuminance sensor) 등을 포함할 수 있다.
인터페이스(177)는 외부 전자 장치(예: 전자 장치(102))와 유선 또는 무선으로 연결할 수 있는 지정된 프로토콜(protocol)을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(177)는 HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD(secure digital) 카드 인터페이스, 또는 오디오 인터페이스 등을 포함할 수 있다.
연결 단자(connection terminal)(178)는 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102))를 물리적으로 연결시킬 수 있는 커넥터, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터) 등을 포함할 수 있다.
햅틱 모듈(haptic module)(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 햅틱 모듈(179)은, 예를 들면, 모터(motor), 압전 소자(piezoelectric element), 또는 전기 자극 장치(electrical stimulation device) 등을 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈, 이미지 센서, 이미지 시그널 프로세서, 또는 플래시를 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리하기 위한 모듈로서, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구성될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급하기 위한 장치로서, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지(fuel cell)를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 유선 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되는, 유선 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함하고, 그 중 해당하는 통신 모듈을 이용하여 제1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN(wide area network))와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 상술한 여러 종류의 통신 모듈(190)은 하나의 칩으로 구현되거나 또는 각각 별도의 칩으로 구현될 수 있다.
일 실시 예에 따르면, 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 사용자 정보를 이용하여 통신 네트워크 내에서 전자 장치(101)를 구별 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부로 송신하거나 외부로부터 수신하기 위한 하나 이상의 안테나들을 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(190)(예: 무선 통신 모듈(192))은 통신 방식에 적합한 안테나를 통하여 신호를 외부 전자 장치로 송신하거나, 외부 전자 장치로부터 수신할 수 있다.
상기 구성 요소들 중 일부 구성 요소들은 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input/output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되어 신호(예: 명령 또는 데이터)를 상호 간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104) 간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다.
일 실시 예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 외부 전자 장치(102, 104)에서 실행될 수 있다. 일 실시 예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 외부 전자 장치(102, 104)에게 요청할 수 있다. 상기 요청을 수신한 외부 전자 장치(102, 104)는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅(cloud computing), 분산 컴퓨팅(distributed computing), 또는 클라이언트-서버 컴퓨팅(client-server computing) 기술이 이용될 수 있다.
도 2는 다양한 실시 예들에 따른 프로그램(140)의 블록도(200)이다.
일 실시 예에 따르면, 프로그램(140)은 전자 장치(101)의 하나 이상의 리소스(resource)들을 제어하기 위한 운영 체제(142), 미들 웨어(144), 또는 운영 체제(142) 상에서 실행 가능한 어플리케이션(146)을 포함할 수 있다.
운영 체제(142)는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM 등을 포함할 수 있다. 프로그램(140) 중 적어도 일부 프로그램은, 예를 들면, 제조 시에 전자 장치(101)에 프리로드(pre-load)되거나, 또는 사용자의 사용 환경에서 외부 전자 장치(예: 전자 장치(102 또는 104), 또는 서버(108))로부터 다운로드(download)되거나 갱신(update) 될 수 있다.
운영 체제(142)는 전자 장치(101)의 시스템 리소스(예: 프로세스, 메모리, 또는 전원)를 제어(예: 할당 또는 회수)할 수 있다. 운영 체제(142)는, 추가적으로 또는 대체적으로, 전자 장치(101)의 다른 하드웨어 디바이스, 예를 들면, 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 구동하기 위한 하나 이상의 드라이버 프로그램(driver program)들을 포함할 수 있다.
미들 웨어(144)는 어플리케이션(146)이 전자 장치(101)의 하나 이상의 리소스들이 제공하는 기능 또는 정보를 사용할 수 있도록 다양한 기능들을 어플리케이션(146)으로 제공할 수 있다. 미들 웨어(144)는, 예를 들면, 어플리케이션 매니저(application manager)(201), 윈도우 매니저(window manager)(203), 멀티미디어 매니저(multimedia manager)(205), 리소스 매니저(resource manager)(207), 파워 매니저(power manager)(209), 데이터베이스 매니저(database manager)(211), 패키지 매니저(package manager)(213), 커넥티비티 매니저(connectivity manager)(215), 노티피케이션 매니저(notification manager)(217), 로케이션 매니저(location manager)(219), 그래픽 매니저(graphic manager)(221), 시큐리티 매니저(security manager)(223), 통화 매니저(telephony manager)(225), 또는 음성 인식 매니저(speech recognition manager)(227) 등을 포함할 수 있다.
어플리케이션 매니저(201)는, 예를 들면, 어플리케이션(146)의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저(203)는, 예를 들면, 화면에서 사용되는 GUI(graphical user interface) 자원을 관리할 수 있다. 멀티미디어 매니저(205)는, 예를 들면, 미디어 파일들의 재생에 필요한 포맷(format)을 파악하고, 해당 포맷에 맞는 코덱(CODEC)을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(207)는, 예를 들면, 어플리케이션(146)의 소스 코드 또는 메모리의 공간을 관리할 수 있다.
파워 매니저(209)는, 예를 들면, 배터리의 용량, 온도 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치(101)의 동작에 필요한 전력 정보를 결정 또는 제공할 수 있다. 일 실시 예에 따르면, 파워 매니저(209)는 바이오스(BIOS, basic input/output system)와 연동할 수 있다.
데이터베이스 매니저(211)는, 예를 들면, 어플리케이션(146)에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(213)는, 예를 들면, 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다. 커넥티비티 매니저(215)는, 예를 들면, 전자 장치(101)와 외부 전자 장치 간의 무선 또는 유선 연결을 관리할 수 있다. 노티피케이션 매니저(217)는, 예를 들면, 발생된 이벤트(예: 통화, 메시지, 또는 알람)를 사용자에게 알리기 위한 기능을 제공할 수 있다. 로케이션 매니저(219)는, 예를 들면, 전자 장치(101)의 위치 정보를 관리할 수 있다. 그래픽 매니저(221)는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 시큐리티 매니저(223)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 통화 매니저(225)는, 예를 들면, 전자 장치(101)의 음성 통화 또는 영상 통화 기능을 관리할 수 있다. 음성 인식 매니저(227)는, 예를 들면, 사용자의 음성 데이터를 서버(108)로 전송하고, 해당 음성 데이터에 기반하여 전자 장치(101)에서 수행될 기능에 대응하는 명령어(command) 또는 해당 음성 데이터에 기반하여 변환된 문자 데이터를 수신할 수 있다.
일 실시 예에 따르면, 미들 웨어(244)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 일 실시 예에 따르면, 미들 웨어(144)의 적어도 일부는 운영 체제(142)의 일부로 포함되거나, 또는 운영 체제(142)와는 별도의 소프트웨어로 구현될 수 있다.
어플리케이션(146)은, 예를 들면, 홈(251), 다이얼러(253), SMS/MMS(255), IM(instant message)(257), 브라우저(259), 카메라(261), 알람(263), 컨택트(265), 음성 인식(267), 이메일(269), 달력(271), 미디어 플레이어(273), 앨범(275), 와치(277), 헬스(279)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(281)(예: 기압, 습도, 또는 온도 정보) 어플리케이션을 포함할 수 있다.
일 실시 예에 따르면, 어플리케이션(146)은 전자 장치(101)와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션(미도시)을 더 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치로 지정된 정보(예: 통화, 메시지, 또는 알람)를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다.
노티피케이션 릴레이 어플리케이션은, 예를 들면, 전자 장치(101)의 다른 어플리케이션(예: 이메일 어플리케이션(269))에서 발생된 이벤트(예: 메일 수신)에 대응하는 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 전자 장치(101)의 사용자에게 제공할 수 있다.
장치 관리 어플리케이션은, 예를 들면, 전자 장치(101)와 통신하는 외부 전자 장치 또는 그 일부 구성 요소(예: 표시 장치(160) 또는 카메라 모듈(180))의 전원(예: 턴-온(turn-on) 또는 턴-오프(turn-off)) 또는 기능(예: 표시 장치(160) 또는 카메라 모듈(180)의 밝기, 해상도, 또는 포커스)을 제어할 수 있다. 장치 관리 어플리케이션은, 추가적으로 또는 대체적으로, 외부 전자 장치에서 동작하는 어플리케이션의 설치, 삭제, 또는 갱신을 지원할 수 있다.
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치(101)는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치 중 적어도 하나를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서에 개시된 다양한 실시 예들에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성 요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성 요소를 다른 구성 요소와 구분하기 위해 사용될 뿐 해당 구성 요소들을 한정하지 않는다. 어떤(예: 제1) 구성 요소가 다른(예: 제2) 구성 요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 어떤 구성 요소가 다른 구성 요소에 직접적으로 연결되거나, 다른 구성 요소(예: 제3 구성 요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어(firmware)로 구성된 유닛(unit)을 포함하며, 예를 들면, 로직(logic), 논리 블록(logic block), 부품(component), 또는 회로(circuit) 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 명령어(instruction)를 포함하는 소프트웨어(예: 프로그램(140))로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(101))를 포함할 수 있다. 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성 요소들을 이용하여 명령어에 해당하는 기능을 수행할 수 있다. 명령어는 컴파일러(compiler) 또는 인터프리터(interpreter)에 의해 생성 또는 실행되는 코드(code)를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장 매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: CD-ROM, compact disc read only memory)의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예들에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
도 3은 다양한 실시 예들에 따른 시스템 구성의 예를 설명하기 위해 개략적으로 도시하는 도면이다.
도 3에 도시한 바와 같이, 다양한 실시 예들에 따른 시스템(300)은, 벤더(vendor)(310), 제조사 서버(manufacturer server)(예: Samsung server)(320), 전자 장치(330) 등을 포함할 수 있다.
도 3은 다양한 실시 예들에 따른 시스템(300)에서 서비스 기반의 라이선스를 제공하는 것과 관련된 기능 처리 모듈의 예를 나타낼 수 있다. 다양한 실시 예들에서, 기능 처리 모듈은, 각각의 구성 요소(예: 벤더(310), 제조사 서버(320), 전자 장치(330))에 포함될 수 있다. 다양한 실시 예들에 따르면, 벤더(310), 제조사 서버(320), 전자 장치(330)는, 상호 간에 라이선스를 제공하는 것과 관련된 동작(예: 라이선스 요청, 생성, 등록, 전송 또는 수신 등)을 처리하기 위한 다양한 하드웨어 모듈(예: 도 1에 도시된 전자 장치(101)의 구성 요소들에 대응하는 적어도 일부 구성 요소들)을 더 포함할 수 있다. 예를 들면, 도시하지는 않았으나, 벤더(310), 제조사 서버(320), 전자 장치(330)는, 상호 간에 무선 통신을 위한 네트워크 인터페이스(network interface), 네트워크 인터페이스에 동작적으로 연결된(operatively connected) 적어도 하나의 프로세서, 및 프로세서에 동작적으로 연결된 적어도 하나의 메모리를 각각 포함할 수 있다.
도 3을 참조하면, 다양한 실시 예들에서, 벤더(310)는, 예를 들면, MDM을 사용하고자 하는 사업자(벤더)에서 제공(또는 구현)된 모듈을 나타낼 수 있다. 예를 들면, 벤더(310)는 전자 장치(330)(예: 도 1의 전자 장치(101))의 제조사로부터 제공되는 MDM API를 이용하여 서비스를 제공하고, 사업체에 MDM 솔루션을 구축하는 벤더(vendor)(예: 3rd party, 또는 사업자)의 모듈(또는 서버 포함)을 포함할 수 있다. 일 실시 예에 따라, 벤더(310)는 MDM 서버(311) 등을 포함할 수 있다.
일 실시 예에 따라, MDM 서버(311)는 전자 장치(330)를 관리하는 애드민 서비스(administration service)로서, 전자 장치(330) 및 기타 MDM 관련 시스템의 환경 설정을 변경하거나, 또는 보안 소프트웨어 배포 및 패치를 적용할 수 있다. MDM 서버(311)는 관리자에 의하여 수립된 보안 정책을 저장할 수 있다. MDM 서버(311)는 수립된 보안 정책에 기반하여 위배되는 권한을 통제할 수 있다. 예를 들면, MDM 서버(311)는 전자 장치(330)의 카메라 관련 API 권한을 제한하거나, 전자 장치(330)의 동작을 모니터링(monitoring) 할 수 있다.
MDM 서버(311)는 엔터프라이즈(enterprise)를 위한 키(key)를 필요로 하며, 전자 장치(330)의 MDM 클라이언트(337)로 라이선스 키(license key)를 푸시(push)할 수 있다. 일 실시 예에 따라, 라이선스 키는, 인증을 위한 키, 식별을 위한 키, 요구되는 소프트웨어 개발 키트(SDK, software development kit) 정보, 또는 권한 정보 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따라, MDM 서버(311)는 웹 포털(예: 제조사 서버(320)의 포털 서버(321))을 통해 신청 및 획득할 수 있다. MDM 서버(311)의 구체적인 동작과 관련하여 후술하는 도면을 참조하여 설명된다.
다양한 실시 예들에서, 제조사 서버(320)는 MDM 솔루션을 제공하는 서버일 수 있으며, 예를 들면, 전자 장치(330)의 제조사일 수 있다. 다양한 실시 예들에서, 제조사 서버(320)는 MDM 솔루션을 특정 사업체(예: 벤더(310))에게 SDK 및 라이선스 키를 제공할 수 있다. 일 실시 예에 따라, 제조사 서버(320)는 포털 서버(portal server)(321), GSLB(global server load balancing) 서버(323), 및 라이선스 서버(license server)(325) 등을 포함할 수 있다.
일 실시 예에 따라, 포털 서버(321)는 전자 장치(330) 내의 보안 기능(예: Knox 기능)을 제공하는 SDK와, 라이선스를 발급할 수 있다. 예를 들면, 포털 서버(321)는 EAP(enterprise alliance program)와 라이선스 매니저(LM, license manager)를 포함할 수 있다. 일 실시 예에 따라, SEAP는 전자 장치(330) 내의 보안 기능을 위한 SDK를 제공하며, 개발자는 SDK를 통해 더욱 안전하며 차별화된 엔터프라이즈 솔루션을 만들 수 있다. 일 실시 예에 따라, 라이선스 매니저는 라이선스를 발급할 수 있다.
일 실시 예에 따라, GSLB 서버(323)는 전자 장치(330)(예: 라이선스 클라이언트(license client)(331)에게 적합한 라이선스 서버(예: 도 3의 라이선스 서버(325))의 주소를 반환할 수 있다. 예를 들면, GSLB 서버(323)는, 서버 부하 분산(예: server/site load balancing), 전자 장치(330)에 빠른 서비스 응답(예: low latency by network proximity), 또는 전자 장치(330)가 가까운 서버로 접속(예: nearest by geographic proximity) 등을 고려하여 전자 장치(330)에게 가장 적합한 라이선스 서버를 제공할 수 있다.
일 실시 예에 따라, 라이선스 서버(325)는 라이선스 키를 관리하고 저장하는 서버를 포함할 수 있다.
다양한 실시 예들에서, 전자 장치(330)(예: 도 1의 전자 장치(101))는 특정 어플리케이션을 다운로드 하며, 다운로드된 어플리케이션을 인스톨(install)할 수 있다. 다양한 실시 예들에 따라, 전자 장치(330)는 소정의 OS(operating system)에 기반하여 구동될 수 있으며, OS 구동 방식에 기반하여 어플리케이션을 관리할 수 있다. 예를 들면, 전자 장치(330)는 AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, BadaTM, 블랙베리(blackberryTM) 등과 같이 다양한 OS 구동 방식에 기반하여 어플리케이션을 관리할 수 있다. 다양한 실시 예들에서, 어플리케이션은 다양한 OS에서 실행될 수 있는 프로그램(program), 서비스(service), 또는 기능(function) 등을 총칭하는 의미를 포함할 수 있다.
다양한 실시 예들에 따라, 전자 장치(330)는 벤더(310)(예: MDM 서버(311))에 의하여 수립된 보안 정책에 기반하여, 어플리케이션(335)이 요구하는 API 권한 중 일부 권한의 제공을 제한할 수 있다. 이에 따라, 전자 장치(330)의 사용자는 MDM 솔루션 하에서 어플리케이션(335)의 허용된 일부 기능만을 이용할 수 있으며(또는 일부 기능을 이용할 수 없게 되며), 사업체(또는 사내)의 보안이 강화될 수 있다. 일 실시 예에 따라, 전자 장치(330)는 MDM 솔루션에 의하여 초기에 허용된 API 권한을 영구적으로 이용하지 않을 수 있다. 예를 들면, 전자 장치(330)는 라이선스 키(license key)의 유효 여부를 주기적 또는 비주기적으로 제조사 서버(320)(또는 전자 장치(330) 제조사의 서버)에 문의할 수 있다. 전자 장치(330)는 제조사 서버(320)로부터 라이선스 키의 유효 여부에 따라 응답된 RO(right object)에 기반하여 허용하는 API 권한을 재설정할 수도 있다.
일 실시 예에 따라, 전자 장치(330)는 라이선스 클라이언트(license client)(331), 프레임워크(예: MDM framework)(333), 서비스(service)(335), 및 MDM 클라이언트(337) 등을 포함할 수 있다.
일 실시 예에 따라, MDM 클라이언트(337)는 전자 장치(330)와 MDM 서버(311) 사이에서 상호작용(interaction) 하는 클라이언트를 나타낼 수 있다. 일 실시 예에 따라, MDM 클라이언트(337)는 라이선스를 활성화 하고 기능(feature)을 사용할 수 있다.
일 실시 예에 따라, 라이선스 클라이언트(331)는 전자 장치(330) 내에서 라이선스를 인증하는 모듈을 포함할 수 있다. 일 실시 예에 따라, 프레임워크(333)는 전자 장치(330) 내에서 다양한 Feature(예: Knox/MDM Feature)를 제공하는 프레임워크를 나타낼 수 있다. 일 실시 예에 따라, 서비스(335)는 전자 장치(330) 내에서 제공하는 Feature(예: Knox Feature)를 나타낼 수 있다.
이하에서는, 퍼미션 기반으로 제어하던 Feature의 범위를 서비스 기반으로 확대하여, 라이선스 시스템의 제어 범위를 확장하는 시나리오와 관련하여 설명한다. 예를 들면, 이하에서는 다양한 서비스들을 예시로 라이선스 시스템의 동작 예를 살펴보기로 한다. 다양한 실시 예들에 따르면, 현재 라이선스로 제어될 수 있도록 요구되는 서비스 리스트(service list)(예: Knox 서비스 리스트)가 제공될 수 있다. 다양한 실시 예들에서, 서비스 리스트에 포함되는 서비스들로는, 예를 들면, 삼성 포커스(Samsung Focus) 또는 E-FOTA(enterprise FOTA) 등과 같은 보안 서비스(예: Knox 서비스) 이외에도, S-browser(Samsung browser), Tachyon 서비스 등, 제조사의 전자 장치(101) 내에서 제공하는 B2B 어플리케이션 등을 포함할 수 있다.
다양한 실시 예들에 따르면, 사용자가 어플리케이션 또는 어플리케이션의 서비스(예: Knox Service)를 사용하려는 시점에, 전자 장치(330)의 프레임워크(333)(예: MDM Framework)에서 제공하는 API를 사용하여, 해당 서비스가 전자 장치(330)에 허용 가능한 지 확인할 수 있다. 예를 들어, API 의 콜백 값(callback value)으로 트루(true)가 반환되면, 해당 서비스를 수행할 수 있고, API의 콜백 값으로 폴스(false)가 반환되면 해당 서비스를 수행하지 않을 수 있다.
일 실시 예에 따르면, 특정 어플리케이션(예: 삼성 포커스(Samsung Focus) 어플리케이션, 타키온(Tachyon) 어플리케이션 등)의 경우, 무료 기능(또는 공개 기능)과 유료 기능(또는 보안 기능)(예: Samsung Focus Pro)이 구분되거나, 하나의 어플리케이션에서 제공할 수 있다. 또는 특정 어플리케이션 자체가 서비스(예: 보안 어플리케이션(예: Tachyon 어플리케이션 등)으로 제공될 수 있다. 따라서, 사용자에 의해 MDM 클라이언트(337)가 어플리케이션(335)의 유료 기능(또는 보안 기능)에서 제공하는 서비스(예: 보안 서비스로, 예를 들면, Knox service)를 수행하려는 시점에, 어플리케이션(335)이 내부에서 MDM API로 해당 서비스(예: 유료(또는 보안) 기능에 관련된 서비스)를 허용하고 있는지 여부를 확인한 후, 다음 단계를 진행할 수 있다. 만약, 전자 장치(330)에 관련 라이선스(예: 어플리케이션(335)에 관련하여 인증된 라이선스)가 활성화 되어 있는 상태이고, 라이선스가 해당 서비스를 포함하는 라이선스이면, 트루(true)가 반환될 수 있고, 라이선스가 해당 서비스를 포함하지 않는 라이선스이면, 폴스(false)가 반환될 수 있다. 일 실시 예에 따라, 트루가 반환되는 것에 기반하여, 사용자는 전자 장치(330)를 이용하여 특정 어플리케이션에서 유료 기능(또는 보안 기능)을 사용할 수 있다. 이를 처리하는 구체적인 동작 예가 도 4에 도시된다.
도 4는 다양한 실시 예들에 따른 시스템에서 서비스 기반으로 라이선스를 제어하는 예를 설명하기 위한 도면이다.
도 4에서는 전자 장치(330) 내에서 어플리케이션(예: Samsung focus 어플리케이션. Tachyon 어플리케이션 등) 실행 시에 대한 동작 시나리오를 나타낼 수 있다. 일 실시 예에 따라, Samsung focus 어플리케이션은, EAS(exchange active sync), IMAP/POP3 사용자들에게 이메일, 일정, 할일, 메모, 주소록 등과 같은 업무관련 정보들을 손쉽게 관리하고 처리할 수 있도록 도와주는 어플리케이션을 나타낼 수 있다. 다양한 실시 예들에서, Samsung focus 어플리케이션은, 무료 기능과 유료 기능으로 구분되고, 유료 기능에 관련된 적어도 하나의 Feature가 다양한 실시 예들에 따른 “서비스”에 대응할 수 있다. 일 실시 예에 따라, Tachyon 어플리케이션은, 전자 장치(330)에서 자동 설정(automatic setup)(또는 자동 구성(automatic configuration))을 해주는 어플리케이션으로, 예를 들면, 전자 메일(email) 또는 QR(quick response) 코드(code)로부터 인증된 모바일 장치들(mobile devices)의 자동 구성 및 프로비저닝(automated configuration and provisioning)을 지원할 수 있다. 다양한 실시 예들에서, Tachyon 어플리케이션은, 어플리케이션 자체가 보안 정책에 포함된 것으로, 예를 들면, Tachyon 어플리케이션의 실행 유/무가 다양한 실시 예들에 따른 “서비스”에 대응할 수 있다. 일 실시 예에 따르면, Tachyon 어플리케이션이 전자 장치(330)에 설치되더라도, 서비스에 Tachyon 어플리케이션이 포함되지 않은 경우, Tachyon 어플리케이션은 전자 장치(330)에서 실행되지 않을 수 있다.
도 4를 참조하면, 동작(401)에서, 다양한 실시 예들에 따른 보안 서비스(또는 MDM 솔루션)를 사용하려는 벤더(310)는 사용하려는 Feature를 포함하는 라이선스를 포털 서버(321)에 요청할 수 있다. 예를 들면, 벤더(310)는 관리자에 의해 선택된 퍼미션(selected permissions)과 서비스(selected services)에 적어도 기반하여 새로운 라이선스 키(new license key)를 포털 서버(321)에 요청할 수 있다. 일 실시 예에 따라, 퍼미션은, 전자 장치(330)의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타낼 수 있다.
동작(403)에서, 포털 서버(321)는 벤더(310)의 라이선스 키 요청에 대응하여, 내부적으로 라이선스 매니저(321A)에게 라이선스 발급을 요청하고, 발급(생성)된 라이선스를 라이선스 서버(325)에 저장할 수 있다. 일 실시 예에 따라, 포털 서버(321)는 라이선스 매니저(321A)에 기반하여 요청된 라이선스를 생성할 수 있고, 생성된 라이선스에, 벤더(310)로부터 요청된 퍼미션과 서비스를 등록(register)하여, 라이선스 서버(325)를 통해 DB(327)에 저장할 수 있다.
동작(405)에서, 벤더(310)(예: MDM 서버(311))는 포털 서버(321)의 EAP(321B)를 통해, 벤더(310)의 요청에 대응하는 라이선스를 획득할 수 있다. 예를 들면, 벤더(310)는 퍼미션(permissions) 및 서비스(services) 등을 포함하는 라이선스를 획득할 수 있다. 일 실시 예에 따라, 라이선스는 고객 정보(customer information)를 더 포함할 수도 있다.
동작(407)에서, 벤더(310)는 MDM 서버(311)에 라이선스를 주입(inject license)하고, MDM 클라이언트(337)로 라이선스를 배포할 수 있다.
동작(409)에서, MDM 클라이언트(337)는 전자 장치(330)의 프레임워크(333)(예: MDM Framework)를 통해 MDM API를 호출(call)하여 전자 장치(330)에 라이선스를 활성화(activate)하도록 요청할 수 있다.
동작(411)에서, 프레임워크(333)는 라이선스와, MDM 클라이언트(337)의 패키지 이름(pkgName, package name)을 인텐트(intent)를 통해 전자 장치(330)의 라이선스 클라이언트(331)에게 전달(전송)할 수 있다.
동작(413)에서, 라이선스 클라이언트(331)는 해당 패키지에 대한 정보(information)를 획득할 수 있다. 일 실시 예에 따라, 라이선스 클라이언트(331)는 어플리케이션의 인증서(signature) 해시(hash)에 기반하여, 전자 장치(330)에 인증서가 설치되어 있는지 여부를 판단하고, 판단하는 결과에 대한 정보를 획득할 수 있다.
동작(415)에서, 라이선스 클라이언트(331)는 GSLB 서버(323)에 접속하여, 전자 장치(330)가 접속할 라이선스 서버의 주소(예: 라이선스 서버(325)의 주소)를 획득(fetch)할 수 있다. 예를 들면, 라이선스 클라이언트(331)는 GSLB 서버(323)에, 전자 장치(330)가 접속할 수 있는 라이선스 서버에 관련된 URL을 요청하고, GSLB 서버(323)로부터 URL을 수신할 수 있다.
동작(417)에서, 라이선스 클라이언트(331)는 라이선스 서버(325)에 라이선스 인증을 요청할 수 있다. 일 실시 예에 따라, 라이선스 클라이언트(331)는 GSLB 서버(323)로부터 획득한 라이선스 서버(325)의 주소(예: URL)에 기반하여, 라이선스 서버(325)로 접속하고, 라이선스 인증을 요청할 수 있다. 일 실시 예에 따라, 라이선스 클라이언트(331)는 등록 어플리케이션과 라이선스 유효성 여부를 라이선스 서버(325)에게 요청할 수 있다.
동작(419)에서, 라이선스 서버(325)는 전자 장치(330)(예: 전자 장치(330)의 라이선스 클라이언트(331))의 라이선스 인증 요청에 응답하여, 라이선스 서버(325) DB(327)에 저장된 라이선스와 패키지 정보(예: 퍼미션, 서비스)를 이용하여 요청된 라이선스가 유효한지 여부를 확인할 수 있다. 일 실시 예에 따라, 라이선스 서버(325)는 어플리케이션의 인증서 해시(signature hash)를 통해 라이선스를 인증(validate)하고, 인증된 라이선스에 퍼미션(permissions)과 서비스(services)를 설정할 수 있다.
동작(421)에서, 라이선스 서버(325)는 라이선스 클라이언트(331)로 인증 결과를 전송할 수 있다. 다양한 실시 예들에 따라, 라이선스가 정상 인증된 경우, 인증 결과는, 퍼미션 리스트(permission list)와 서비스 리스트(service list)를 포함하는 라이선스를 포함할 수 있다.
일 실시 예에 따르면, 라이선스 구조(예: RO(Right Object) structure)는 아래 <표 1>과 같이 제공될 수 있다.
"RO":{
"instance_id":104837,
"state":"valid",
"issue_date":1360658509704,
"expire_date":1423730509704,
"license_type":“knox",
"permissions":[
"com.sec.enterprise.mdm.permission.MDM_SSO",
......
"android.permission.sec.MDM_EMAIL"
],
“services”:[
“Focus”,
“E-FOTA”,
“Tachyon”
]
"upload_time":1456916267483,
"upload_frequency":"604800000"
}
다양한 실시 예들에 따르면, 라이선스(예: RO)는, 서비스 이름(service names), 각 서비스를 위한 제한(limitation), 및 상세 필드(detail field)를 포함할 수 있고, <표 1>에 예시한 바와 같은 허용되는 서비스(services)에 대한 정보(예: Focus, E-FOTA, Tachyon)를 포함할 수 있다. <표 1>에서, 서비스(services) 항목 아래의 서비스에 대한 정보는, 공개 키(public key)의 허용된(allowed) 패키지 버전(version), 이름(name), 또는 해시 값(hash value) 등을 제어하는 데 이용될 수 있다. 일 실시 예에 따라, 서비스에 대한 정보는, 퍼미션과 서비스(또는 서비스 리스트로, 예를 들면, Focus, E-FOTA, Tachyon)를 포함하는 오브젝트(object)(예: RO, right object)로 제공될 수 있다. 예를 들면, 오브젝트는 JSON(JavaScript Object Notation) 파일(file) 형식(format)을 가지며, 라이선스 서버(325)는 JSON 파일 형식으로, 라이선스 구조에 있는 데이터를 포함한 정보를 전자 장치(330)에 전달할 수 있다. 일 실시 예에 따라, 오브젝트는, ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 포함할 수 있다.
동작(423)에서, 라이선스 클라이언트(331)는 라이선스에 대한 인증 결과(예: 제약(constraints)에 대한 정보)를 어플리케이션 내부에 저장하도록 할 수 있다. 일 실시 예에 따라, 라이선스 클라이언트(331)는 인증 결과와, 오브젝트(예: 퍼미션, 및 서비스)를 저장할 수 있다.
동작(425)에서, 라이선스 클라이언트(331)는 프레임워크(333)(예: MDM Framework)로 라이선스 인증 결과와 오브젝트(예: 퍼미션, 및 서비스)를 전달할 수 있다.
동작(427)에서, 프레임워크(333)는 프레임워크(333) 내부 DB(예: enterprise DB)에 결과를 저장할 수 있고, 해당 어플리케이션에 대해 퍼미션을 부여할 수 있다. 일 실시 예에 따르면, 프레임워크(333)는 내부 DB(예: enterprise DB)에 라이선스 클라이언트(331)를 통해 획득된 오브젝트(예: 퍼미션과 서비스)를 저장할 수 있고, 패키지 매니저(package manager)에 의해 퍼미션을 설정할 수 있다.
동작(429)에서, 프레임워크(333)는 라이선스 인증 동작이 모두 완료되는 것에 응답하여, 인증 동작에 대한 결과(intent, result)를 MDM 클라이언트(337)로 전달할 수 있다. 이를 통해, MDM 클라이언트(337)는 활성화 시킨 라이선스(예: 동작(409)에 따른 라이선스)에서 제공하는 Feature(예: 유료 기능 또는 보안 기능)의 사용이 가능할 수 있다.
동작(431)에서, 이후, 사용자가 전자 장치(330)를 이용하여, 어플리케이션(예: Samsung Focus 어플리케이션, Tachyon 어플리케이션 등)의 유료 기능(또는 보안 기능)을 사용하려는 시점에, 해당 어플리케이션(335)은 프레임워크(333)에서 제공하는 MDM API를 호출할 수 있다. 예를 들면, 어플리케이션(335)은 프레임워크(333)를 통해 전자 장치(330)가 서비스(allowed service)(예: Focus 또는 Tachyon)를 허용하는지 확인하도록 요청할 수 있다.
동작(433)에서, 프레임워크(333)는 내부 DB(예: enterprise DB)에 있는 허용된(allowed) 서비스(또는 서비스 리스트)에 해당 서비스(예: Focus, Tachyon)가 존재하는지 확인하고, 그 결과 값을 어플리케이션(335)에 반환할 수 있다. 일 실시 예에 따라, 프레임워크(333)는 내부 DB에 해당 서비스가 존재하는 경우, 트루(true)를 반환할 수 있고, 내부 DB에 해당 서비스가 존재하지 않는 경우, 폴스(false)를 반환할 수 있다.
일 실시 예에 따라, 어플리케이션(335)은 프레임워크(333)로부터 트루(true)가 반환될 경우 사용자에 의해 유료 기능(또는 보안 기능, 어플리케이션 자체)을 사용 할 수 있도록 허용할 수 있다. 일 실시 예에 따라, 어플리케이션(335)은 프레임워크(333)로부터 폴스(false)가 반환될 경우 사용자에 의해 유료 기능(또는 보안 기능, 어플리케이션 자체)을 사용을 허용하지 않을 수 있다.
도 5는 다양한 실시 예들에 따른 시스템에서 서비스 기반으로 라이선스를 제어하는 예를 설명하기 위한 도면이다.
도 5에서는 벤더(310)에서 전자 장치(330)에 어플리케이션(또는 서비스)(예: E-FOTA 등)을 실행 시에 대한 동작 시나리오를 나타낼 수 있다. 예를 들면, 도 5는 MDM 솔루션을 적용하는 대상 전자 장치(330)들에 한정하여 펌웨어(firmware) 업데이트 등을 실행 시에 대한 동작을 나타낼 수 있다.
도 5를 참조하면, 도 5의 동작(501) 내지 동작(529)는, 전술한 도 4를 참조한 설명 부분에서 설명한 바와 같은, 도 4의 동작(401) 내지 동작(429)에 대응하는 동작일 수 있고, 동작(501) 내지 동작(529)에 대한 구체적인 설명은 생략하기로 한다. 예를 들면, 벤더(310)와 전자 장치(330)는 제조사 서버(320)에 기반하여 인증된 라이선스를 각각 저장하는 상태에서, 벤더(310)에 의해 전자 장치(330)에 어플리케이션을 실행 시의 동작 예를 나타낼 수 있다.
동작(531)에서, MDM 클라이언트(337)는 전자 장치(330)에 어플리케이션(예: E-FOTA 어플리케이션)을 사용(예: 펌웨어 업데이트 등)하려는 시점에, 전자 장치(330)의 프레임워크(333)에서 제공하는 MDM API를 호출할 수 있다. 예를 들면, MDM 클라이언트(337)는 프레임워크(333)를 통해 전자 장치(330)가 서비스(allowed service)(예: E-FOTA)를 허용하는지 확인하도록 요청할 수 있다.
동작(533)에서, 프레임워크(333)는 내부 DB(예: enterprise DB)에 있는 허용된(allowed) 서비스(또는 서비스 리스트)에 해당 서비스(예: E-FOTA)가 존재하는지 확인하고, 그 결과 값을 어플리케이션(335)에 반환할 수 있다. 일 실시 예에 따라, 프레임워크(333)는 내부 DB에 해당 서비스가 존재하는 경우, 트루(true)를 반환할 수 있고, 내부 DB에 해당 서비스가 존재하지 않는 경우, 폴스(false)를 반환할 수 있다.
일 실시 예에 따라, 어플리케이션(335)은 프레임워크(333)로부터 트루(true)가 반환될 경우 전자 장치(330)에 의해 E-FOTA를 실행(예: 펌웨어 업데이트 등)하도록 허용할 수 있다. 일 실시 예에 따라, 어플리케이션(335)은 프레임워크(333)로부터 폴스(false)가 반환될 경우 전자 장치(330)에 의해 E-FOTA의 실행을 허용하지 않을 수 있다.
이상에서 살펴본 바와 같이, 다양한 실시 예들에 따른 시스템(예: 라이선스를 운영하는 서버로, 예를 들면, 제조사 서버(320))에 있어서, 네트워크 인터페이스, 상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서, 및 상기 프로세서에 동작적으로 연결된 적어도 하나의 메모리, 상기 메모리는, 실행 시에, 상기 프로세서가, MDM(mobile device management)이 적용되는 전자 장치(330)로부터 상기 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 수신하고, 상기 라이선스의 인증을 수행하고, 및 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 상기 전자 장치에 제공하도록 하는 인스트럭션들(instructions)을 저장하고, 상기 정보는, 상기 전자 장치(330)의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치(330)가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램(application program)(325)을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 할 수 있다.
다양한 실시 예들에 따라, 상기 정보는, 상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함하는 것을 특징으로 할 수 있다.
다양한 실시 예들에 따라, 상기 오브젝트는, JSON(JavaScript Object Notation) 파일 형식(format)인 것을 특징으로 할 수 있다.
다양한 실시 예들에 따라, 상기 오브젝트는, ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함할 수 있다.
다양한 실시 예들에 따라, 상기 시스템은, 상기 MDM을 제공하는 적어도 하나의 서버(예: 포털 서버(321), GSLB 서버(323), 라이선스 서버(325))를 포함하고, 상기 서버(320)는, MDM 구축을 벤더(310)로부터 위한 라이선스 키에 대한 요청을 수신하고, 상기 요청에 대응하여 상기 퍼미션과 상기 서비스를 포함하는 라이선스 키를 생성하고, 상기 생성된 라이선스 키를 상기 벤더(310)에 제공하는 것을 특징으로 할 수 있다.
이상에서 살펴본 바와 같이, 다양한 실시 예들에 따른 MDM(mobile device management)을 이용하는 전자 장치(330)는, 네트워크 인터페이스, 상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서, 및 상기 프로세서에 동작적으로 연결된 적어도 하나의 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 어플리케이션 프로그램(application program) 실행 시에, 상기 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 서버(320)로 전송하고, 상기 서버(320)로부터 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 수신하도록 하는 인스트럭션들(instructions)을 저장하고, 상기 정보는, 상기 전자 장치(330)의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치(330)가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램을 나타내는 서비스(service)를 포함하고, 상기 전자 장치(330)는 상기 적어도 하나의 어플리케이션 프로그램(325)을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 할 수 있다.
다양한 실시 예들에 따라, 상기 정보는, 상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함할 수 있다.
다양한 실시 예들에 따라, 상기 오브젝트는, JSON(JavaScript Object Notation) 파일 형식(format)인 것을 특징으로 할 수 있다.
다양한 실시 예들에 따라, 상기 오브젝트는, ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함할 수 있다.
다양한 실시 예들에 따라, 상기 라이선스는, 상기 라이선스를 상기 서버로부터 수신하여 배포하는 벤더(310)로부터 획득할 수 있다.
도 6은 다양한 실시 예들에 따른 전자 장치의 동작을 도시하는 흐름도이다.
다양한 실시 예들에 따라, 도 6에서 전자 장치(330)(또는 도 1의 전자 장치(101))는 MDM 솔루션을 이용하는 전자 장치일 수 있다.
도 6을 참조하면, 동작(601)에서, 전자 장치(330)(또는 프로세싱 회로(processing circuitry)를 포함하는 프로세서(120))는 라이선스를 획득할 수 있다. 일 실시 예에 따르면, 전자 장치(330)는 어플리케이션(또는 어플리케이션 프로그램(application program))을 설치하고, 어플리케이션과 관련된 라이선스를 획득할 수 있다. 일 실시 예에 따라, 어플리케이션은 벤더(310)(또는 사업체)와 적어도 일부 연관되고, 어플리케이션에 따라 적어도 일부 기능(또는 서비스)이 제한적으로 동작하는 어플리케이션일 수 있다. 일 실시 예에 따르면, 전자 장치(330)는 전술한 도 4를 참조한 설명 부분에서 설명한 바와 같이, 벤더(310)에 의해 요청되어 제조사 서버(320)에 등록된 라이선스(예: 퍼미션 및 서비스 포함) 중, 해당 어플리케이션에서 요구되는 라이선스를 획득할 수 있다.
동작(603)에서, 프로세서(120)는 어플리케이션 실행을 감지할 수 있다. 일 실시 예에 따라, 어플리케이션 실행은, 사용자에 의한 실행(예: Samsung Focus 어플리케이션 실행) 또는 벤더(310)에 의한 실행(예: E-FOTA 어플리케이션 실행)을 포함할 수 있다.
동작(605)에서, 프로세서(120)는 어플리케이션 실행을 감지하는 것에 응답하여, 해당 어플리케이션에 기반한 라이선스의 확인이 필요한지 여부를 판단할 수 있다. 일 실시 예에 따라, 프로세서(120)는 실행 요청된 어플리케이션 또는 어플리케이션의 기능이 라이선스의 확인을 필요로 하는 유료 기능(또는 보안 기능)인지 여부를 판단할 수 있다. 다른 실시 예에 따라, 프로세서(120)는 어플리케이션의 타입(type)을 판단하여, 특정 권한(예: 엔터프라이즈 어플리케이션, 또는 라이선스 기반 운영 어플리케이션 등)에 기반하여 동작하는 어플리케이션인지, 또는 특정 권한 없이 일반적으로 동작하는 어플리케이션인지 여부를 판단할 수 있다.
동작(605)에서, 프로세서(120)는 라이선스 확인이 필요하지 않은 것으로 판단하는 경우(동작(605)의 아니오), 동작(607)에서, 요청된 어플리케이션을 실행할 수 있다.
동작(605)에서, 프로세서(120)는 라이선스 확인이 필요한 것으로 판단하는 경우(동작(605)의 예), 동작(609)에서, MDM API를 호출할 수 있다. 일 실시 예에 따라, 프로세서(120)는 어플리케이션의 실행 시점에, 프레임워크(333)에서 제공하는 API를 호출하여, 어플리케이션 또는 어플리케이션에 관련된 서비스가 전자 장치(330)에 허용 가능한 지 여부를 판단할 수 있다. 예를 들면, 실행 요청된 어플리케이션은 프레임워크(333)를 통해 전자 장치(330)가 서비스(allowed service)를 허용하는지 확인하도록 요청할 수 있고, 프레임워크(333)는 내부 DB(예: enterprise DB)에 있는 허용된(allowed) 서비스(또는 서비스 리스트)에 해당 서비스가 존재하는지 확인하고, 그 결과 값을 어플리케이션(335)에 반환할 수 있다.
동작(611)에서, 프로세서(120)는 API로부터 콜백 값이 트루(true)가 반환되는지, 또는 폴스(false)가 반환되는지 여부를 판단할 수 있다.
동작(611)에서, 프로세서(120)는 트루(true)가 반환된 것을 확인하는 것에 기반하여(동작(611)의 예), 동작(613)에서, 어플리케이션 또는 어플리케이션의 서비스 사용을 허용할 수 있고, 동작(615)에서, 어플리케이션을 실행하도록 할 수 있다.
동작(611)에서, 프로세서(120)는 폴스(false)가 반환된 것을 확인하는 것에 기반하여(동작(611)의 아니오), 동작(617)에서, 어플리케이션 또는 어플리케이션의 서비스 사용을 허용하지 않을 수 있고(비허용 할 수 있고), 동작(617)에서 어플리케이션 또는 어플리케이션의 서비스 실행을 중지하도록 할 수 있다.
도 7은 다양한 실시 예들에 따른 제조사 서버의 동작을 도시하는 흐름도이다.
다양한 실시 예들에 따라, 도 7에서 제조사 서버(320)는 MDM 솔루션을 제공하는 서버일 수 있으며, 예를 들어, 전자 장치(330)의 제조사일 수 있다. 다양한 실시 예들에 따라, 제조사 서버(320)는 MDM 솔루션을 특정 사업체에게 구축하기를 원하는 벤더에게 SDK 및 라이선스 키를 제공할 수 있다.
도 7을 참조하면, 동작(701)에서, 제조사 서버(320)(예: 포털 서버(321)는 벤더(310)(예: MDM 서버(311))로부터 라이선스 키 요청을 수신할 수 있다. 예를 들면, 벤더(310)는 사용하려는 어플리케이션(또는 어플리케이션 프로그램) 또는 어플리케이션의 서비스에 대한 퍼미션과 서비스에 적어도 기반하여 라이선스 키를 제조사 서버(320)에 요청할 수 있다. 일 실시 예에 따라, 제조사 서버(320)는 벤더(310)로부터 라이선스 키의 요청을 직접적으로 수신할 수 있거나, 또는 웹 포털(예: 포털 서버(321))을 중계하는 등 다양한 방법으로 라이선스 키의 요청을 수신할 수 있다.
동작(703)에서, 제조사 서버(320)는 라이선스 키 요청을 수신하는 것에 기반하여, 라이선스 키를 생성할 수 있다. 일 실시 예에 따라, 제조사 서버(320)는 퍼미션과 서비스를 포함하는 라이선스 키를 생성할 수 있다.
동작(705)에서, 제조사 서버(320)는 벤더(310)로 라이선스 키를 전송할 수 있다.
동작(707)에서, 제조사 서버(320)는 전자 장치(330)로부터 라이선스 키에 의한 등록 요청을 수신할 수 있다. 일 실시 예에 따라, 전자 장치(330)는 라이선스 키를 벤더(310)로부터 수신할 수 있고, 해당 라이선스 키에 대한 등록을 제조사 서버(320)에 요청할 수 있다.
동작(709)에서, 제조사 서버(320)는 라이선스 인증을 수행할 수 있다. 일 실시 예에 따라, 제조사 서버(320)는 전자 장치(330)의 라이선스 키의 유효 여부를 판단하고, 판단하는 결과에 기반한 인증 결과를 생성할 수 있다. 다양한 실시 예들에 따라, 라이선스가 정상 인증된 경우, 인증 결과는, 퍼미션 리스트(permission list)와 서비스 리스트(service list)를 포함하는 라이선스를 포함할 수 있다.
동작(711)에서, 제조사 서버(320)는 전자 장치(330)로 인증 결과를 전송할 수 있다. 일 실시 예에 따라, 인증 결과는, 퍼미션과 서비스(또는 서비스 리스트로, 예를 들면, Focus, E-FOTA, Tachyon)를 포함하는 오브젝트(object)로 제공될 수 있다. 예를 들면, 오브젝트는 JSON(JavaScript Object Notation) 파일(file) 형식(format)을 가지며, 제조사 서버(320)(예: 라이선스 서버(325))는 JSON 파일 형식으로, 라이선스 구조에 있는 데이터를 포함한 정보를 전자 장치(330)에 전달할 수 있다. 일 실시 예에 따라, 오브젝트는, ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이서스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 포함할 수 있다.
도 8은 다양한 실시 예들에 따른 벤더의 동작을 도시하는 흐름도이다.
도 8을 참조하면, 동작(801)에서, 벤더(310)는 제조사 서버(320)로부터 퍼미션과 서비스를 포함하는 라이선스를 획득할 수 있다. 일 실시 예에 따라, 벤더(310)는 사용하려는 어플리케이션(또는 어플리케이션 프로그램) 또는 어플리케이션의 서비스에 대한 퍼미션과 서비스에 적어도 기반하여 라이선스 키를 제조사 서버(320)에 요청할 수 있고, 그에 대응하는 라이선스 키를 제조사 서버(320)로부터 수신할 수 있다.
동작(803)에서, 벤더(310)는 보안 정책을 저장할 수 있다. 일 실시 예에 따라, 벤더(310)는 관리자에 의하여 수립된 보안 정책(예: 어플리케이션 또는 어플리케이션 서비스에 관련된 제약(constraints) 등)을 설정할 수 있다.
동작(805)에서, 벤더(310)는 전자 장치(330)로 라이선스 활성화를 요청할 수 있다. 일 실시 예에 따라, 벤더(310)는 라이선스 키 또는 보안 정책 중 적어도 하나를 MDM 솔루션을 이용하는 전자 장치(330)로 전송할 수 있다. 예를 들면, MDM 클라이언트(337)는 전자 장치(330)의 프레임워크(333)(예: MDM Framework)를 통해 MDM API를 호출(call)하여 전자 장치(330)에 라이선스를 활성화(activate)하도록 요청할 수 있다.
도 9는 다양한 실시 예들에 따른 시스템에서 라이선스를 관리하는 동작을 도시하는 흐름도이다.
다양한 실시 예들에 따라, 도 9는 라이선스 서버(325)를 운영하는 업체(예: 제조사 서버(320))에서 서비스 기반의 라이선스를 관리하는 동작 예를 나타낼 수 있다. 다양한 실시 예들에 따라, 벤더(310), 제조사 서버(320), 및 전자 장치(330)는 상호 간에 무선 통신이 가능하도록, 설정된 네트워크 인터페이스(network interface)(또는 통신 회로)를 각각 포함할 수 있다.
도 9를 참조하면, 동작(901)에서, 제조사 서버(320)(또는 제조사 서버(320)의 프로세서(미도시))는, 전자 장치(330)로부터 라이선스를 인증하기 위한 요청을 수신할 수 있다.
동작(903)에서, 제조사 서버(320)는 전자 장치(330)로부터 라이선스 인증을 위한 요청을 수신하는 것에 기반하여, 라이선스 인증을 수행할 수 있다.
동작(905)에서, 제조사 서버(320)는 라이선스와 관련된 정보를 전자 장치(330)로 제공할 수 있다. 일 실시 예에 따르면, 라이선스와 관련된 정보는, 예를 들면, 전자 장치(330)의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션, 및 전자 장치(330)가 사용하도록 허용된 적어도 하나의 어플리케이션(또는 어플리케이션 프로그램)을 나타내는 서비스를 포함할 수 있다. 일 실시 예에 따라, 전자 장치(330)는 MDM이 적용되는 동안 적어도 하나의 어플리케이션을 다운로드 하여 사용할 수 있다. 일 실시 예에 따라, 라이선스와 관련된 정보는, 퍼미션과 서비스를 포함하는 오브젝트로 제공될 수 있다. 일 실시 예에 따라, 오브젝트는 JSON(JavaScript Object Notation) 파일 형식(format)을 가질 수 있다.
이상에서 살펴본 바와 같이, 다양한 실시 예들에 따른 시스템(예: 라이선스를 운영하는 서버로, 예를 들면, 제조사 서버(320))의 동작 방법은, MDM(mobile device management)이 적용되는 전자 장치(330)로부터 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 수신하는 동작, 상기 라이선스의 인증을 수행하는 동작, 및 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 상기 전자 장치(330)에 제공하는 동작을 포함하고, 상기 정보는, 상기 전자 장치(330)의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치(330)가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램(application program)(325)을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 할 수 있다.
다양한 실시 예들에 따라, 상기 정보는, 상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함할 수 있다.
다양한 실시 예들에 따라, 상기 오브젝트는, JSON(JavaScript Object Notation) 파일 형식(format)인 것을 특징으로 할 수 있다.
다양한 실시 예들에 따라, 상기 오브젝트는, ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함할 수 있다.
다양한 실시 예들에 따라, 상기 서버(320)는, 상기 MDM을 제공하는 적어도 하나의 서버(예: 포털 서버(321), GSLB 서버(323), 라이선스 서버(325))를 포함하고, 상기 서버(320)는, MDM 구축을 벤더(310)로부터 위한 라이선스 키에 대한 요청을 수신하는 동작, 상기 요청에 대응하여 상기 퍼미션과 상기 서비스를 포함하는 라이선스 키를 생성하는 동작, 및 상기 생성된 라이선스 키를 상기 벤더(310)에 제공하는 동작을 포함할 수 있다.
이상에서 살펴본 바와 같이, 다양한 실시 예들에 따른 MDM(mobile device management)을 이용하는 전자 장치(330)의 동작 방법은, 어플리케이션 프로그램(application program)(325) 실행 시에, 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 서버(320)로 전송하는 동작, 및 상기 서버(320)로부터 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 수신하는 동작을 포함하고, 상기 정보는, 상기 전자 장치(330)의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치(330)가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램을 나타내는 서비스(service)를 포함하고, 상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 할 수 있다.
다양한 실시 예들에 따라, 상기 정보는, 상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함하는 것을 특징으로 할 수 있다.
다양한 실시 예들에 따라, 상기 오브젝트는, JSON(JavaScript Object Notation) 파일 형식(format)인 것을 특징으로 할 수 있다.
다양한 실시 예들에 따라, 상기 오브젝트는, ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함할 수 있다.
다양한 실시 예들에 따라, 상기 라이선스는, 상기 라이선스를 상기 서버로부터 수신하여 배포하는 벤더로부터 획득하는 것을 특징으로 할 수 있다.
본 명세서와 도면에 개시된 본 발명의 다양한 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
101, 330: 전자 장치
331: 라이선스 클라이언트
333: 프레임워크
335: 어플리케이션(또는 서비스)
337: MDM 클라이언트
310: 벤더
311: MDM 서버
320: 제조사 서버
321: 포털 서버
325: 라이선스 서버

Claims (20)

  1. 시스템에 있어서,
    네트워크 인터페이스;
    상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서; 및
    상기 프로세서에 동작적으로 연결된 적어도 하나의 메모리, 상기 메모리는, 실행 시에, 상기 프로세서가,
    MDM(mobile device management)이 적용되는 전자 장치로부터 상기 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 수신하고,
    상기 라이선스의 인증을 수행하고, 및
    상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 상기 전자 장치에 제공하도록 하는 인스트럭션들(instructions)을 저장하고,
    상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램(application program)을 나타내는 서비스(service)를 포함하고,
    상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 하는 시스템.
  2. 제1항에 있어서, 상기 정보는,
    상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함하는 것을 특징으로 하는 시스템.
  3. 제2항에 있어서, 상기 오브젝트는,
    JSON(JavaScript Object Notation) 파일 형식(format)인 것을 특징으로 하는 시스템.
  4. 제3항에 있어서, 상기 오브젝트는,
    ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함하는 것을 특징으로 하는 시스템.
  5. 제1항에 있어서, 상기 시스템은,
    상기 MDM을 제공하는 적어도 하나의 서버를 포함하고,
    상기 서버는, MDM 구축을 벤더로부터 위한 라이선스 키에 대한 요청을 수신하고,
    상기 요청에 대응하여 상기 퍼미션과 상기 서비스를 포함하는 라이선스 키를 생성하고,
    상기 생성된 라이선스 키를 상기 벤더에 제공하는 것을 특징으로 하는 시스템.
  6. MDM(mobile device management)을 이용하는 전자 장치에 있어서,
    네트워크 인터페이스;
    상기 네트워크 인터페이스에 동작적으로 연결된 적어도 하나의 프로세서; 및
    상기 프로세서에 동작적으로 연결된 적어도 하나의 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가,
    어플리케이션 프로그램(application program) 실행 시에, 상기 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 서버로 전송하고,
    상기 서버로부터 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 수신하도록 하는 인스트럭션들(instructions)을 저장하고,
    상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램을 나타내는 서비스(service)를 포함하고,
    상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 하는 전자 장치.
  7. 제6항에 있어서, 상기 정보는,
    상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함하는 것을 특징으로 하는 전자 장치.
  8. 제7항에 있어서, 상기 오브젝트는,
    JSON(JavaScript Object Notation) 파일 형식(format)인 것을 특징으로 하는 전자 장치.
  9. 제6항에 있어서, 상기 오브젝트는,
    ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함하는 것을 특징으로 하는 전자 장치.
  10. 제6항에 있어서, 상기 라이선스는,
    상기 라이선스를 상기 서버로부터 수신하여 배포하는 벤더로부터 획득하는 것을 특징으로 하는 전자 장치.
  11. 시스템의 동작 방법에 있어서,
    MDM(mobile device management)이 적용되는 전자 장치로부터 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 수신하는 동작,
    상기 라이선스의 인증을 수행하는 동작, 및
    상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 상기 전자 장치에 제공하는 동작을 포함하고,
    상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램(application program)을 나타내는 서비스(service)를 포함하고,
    상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 하는 방법.
  12. 제11항에 있어서, 상기 정보는,
    상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서, 상기 오브젝트는,
    JSON(JavaScript Object Notation) 파일 형식(format)인 것을 특징으로 하는 방법.
  14. 제13항에 있어서, 상기 오브젝트는,
    ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함하는 것을 특징으로 하는 방법.
  15. 제1항에 있어서, 상기 시스템은,
    상기 MDM을 제공하는 적어도 하나의 서버를 포함하고,
    상기 서버는, MDM 구축을 벤더로부터 위한 라이선스 키에 대한 요청을 수신하는 동작,
    상기 요청에 대응하여 상기 퍼미션과 상기 서비스를 포함하는 라이선스 키를 생성하는 동작, 및
    상기 생성된 라이선스 키를 상기 벤더에 제공하는 동작을 포함하는 것을 특징으로 하는 방법.
  16. MDM(mobile device management)을 이용하는 전자 장치의 동작 방법에 있어서,
    어플리케이션 프로그램(application program) 실행 시에, 네트워크 인터페이스를 통해 라이선스(license)를 인증하기 위한 요청을 서버로 전송하는 동작, 및
    상기 서버로부터 상기 네트워크 인터페이스를 통해, 상기 라이선스와 관련된 정보를 수신하는 동작을 포함하고,
    상기 정보는, 상기 전자 장치의 적어도 하나의 허용된 기능(function) 또는 구성 요소(component)를 나타내는 퍼미션(permission), 및 상기 전자 장치가 사용하도록 허용된 적어도 하나의 어플리케이션 프로그램을 나타내는 서비스(service)를 포함하고,
    상기 전자 장치는 상기 적어도 하나의 어플리케이션 프로그램을 다운로드(download)하고 상기 어플리케이션 프로그램을 실행 시 상기 서비스의 허용 여부에 기반하여 동작되는 것을 특징으로 하는 방법.
  17. 제16항에 있어서, 상기 정보는,
    상기 퍼미션과 상기 서비스를 포함하는 오브젝트(object)를 포함하는 것을 특징으로 하는 방법.
  18. 제17항에 있어서, 상기 오브젝트는,
    JSON(JavaScript Object Notation) 파일 형식(format)인 것을 특징으로 하는 방법.
  19. 제16항에 있어서, 상기 오브젝트는,
    ID, 상태(state), 발행일(issue date), 만료일(expiration date), 라이선스 타입(license type), 업로드 시간(upload time), 또는 업로드 빈도(upload frequency) 중 적어도 하나를 더 포함하는 것을 특징으로 하는 방법.
  20. 제6항에 있어서, 상기 라이선스는,
    상기 라이선스를 상기 서버로부터 수신하여 배포하는 벤더로부터 획득하는 것을 특징으로 하는 방법.
KR1020170137202A 2017-10-23 2017-10-23 보안 서비스 제어를 위한 시스템 및 그의 동작 방법 KR20190044815A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170137202A KR20190044815A (ko) 2017-10-23 2017-10-23 보안 서비스 제어를 위한 시스템 및 그의 동작 방법
PCT/KR2018/012099 WO2019083210A1 (ko) 2017-10-23 2018-10-15 보안 서비스 제어를 위한 시스템 및 그의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170137202A KR20190044815A (ko) 2017-10-23 2017-10-23 보안 서비스 제어를 위한 시스템 및 그의 동작 방법

Publications (1)

Publication Number Publication Date
KR20190044815A true KR20190044815A (ko) 2019-05-02

Family

ID=66246929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170137202A KR20190044815A (ko) 2017-10-23 2017-10-23 보안 서비스 제어를 위한 시스템 및 그의 동작 방법

Country Status (2)

Country Link
KR (1) KR20190044815A (ko)
WO (1) WO2019083210A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101210193B1 (ko) * 2011-07-29 2012-12-07 주식회사 포스코아이씨티 휴대용 단말의 보안 관리 방법 및 시스템
US8949929B2 (en) * 2011-08-10 2015-02-03 Qualcomm Incorporated Method and apparatus for providing a secure virtual environment on a mobile device
KR20140014576A (ko) * 2012-07-25 2014-02-06 현대오토에버 주식회사 사업장에서의 모바일 디바이스 관리 시스템
KR101934025B1 (ko) * 2013-02-22 2018-12-31 삼성전자주식회사 보안 정책을 적용하는 단말기, 서버 및 그 제어 방법
US10417396B2 (en) * 2016-04-14 2019-09-17 NetSuite Inc. System and methods for provisioning and monitoring licensing of applications or extensions to applications on a multi-tenant platform

Also Published As

Publication number Publication date
WO2019083210A1 (ko) 2019-05-02

Similar Documents

Publication Publication Date Title
KR102501304B1 (ko) 복수의 프로세서들과 연결된 보안 모듈의 제어 방법 및 이를 구현한 전자 장치
JP6412140B2 (ja) リモートリソースへのアクセスを確実に許可すること
US9386045B2 (en) Device communication based on device trustworthiness
US9104840B1 (en) Trusted security zone watermark
CA2862233C (en) Methods and devices for distributing content to an electronic device
US11902268B2 (en) Secure gateway onboarding via mobile devices for internet of things device management
US10200201B2 (en) Method for application installation, electronic device, and certificate system
US10104538B2 (en) Apparatus and method for providing a mobile device management service
KR102480623B1 (ko) 전자 장치, 외부 전자 장치 및 외부 전자 장치의 eSIM 관리 방법
US20150244724A1 (en) Service authorization methods and apparatuses
US11395132B2 (en) Method for transferring subscription and electronic device for supporting the same
WO2018000370A1 (zh) 一种移动终端的认证方法及移动终端
KR20200140555A (ko) 전자 장치 및 전자 장치의 듀얼 스탠바이 모드 및 싱글 스탠바이 모드의 전환 방법
KR102538663B1 (ko) 전자 장치, 외부 전자 장치 및 외부 전자 장치의 eSIM 관리 방법
CN110795737A (zh) 对电子身份证的业务适用范围进行升级的方法和终端设备
KR102480627B1 (ko) 전자 장치 및 전자 장치의 eSIM 관리 방법
KR20200114392A (ko) 가입자 프로파일을 설치하기 위한 방법 및 그 전자 장치
KR102490395B1 (ko) 외부 전자 장치의 키를 공유하는 전자 장치 및 전자 장치의 동작 방법
KR20140020569A (ko) 액세스 포인트 및 주변 디바이스를 이용하여 사용자 인증을 하는 전자 장치 및 방법
KR20200068068A (ko) IoT 장치를 등록하는 전자 장치, 서버 및 그 작동 방법
KR20190044815A (ko) 보안 서비스 제어를 위한 시스템 및 그의 동작 방법
KR101311239B1 (ko) Nfc 매체를 이용한 단말 제어 장치 및 그 방법
US10070316B2 (en) Permission delegation framework
KR20210026233A (ko) 디바이스 리소스에 대한 접근을 제어하기 위한 전자 장치 및 그의 동작 방법
CN106778297B (zh) 应用程序的运行方法、装置及移动终端