KR20200085230A - 디바이스에 대한 총체적 모듈 인증 - Google Patents

디바이스에 대한 총체적 모듈 인증 Download PDF

Info

Publication number
KR20200085230A
KR20200085230A KR1020200000809A KR20200000809A KR20200085230A KR 20200085230 A KR20200085230 A KR 20200085230A KR 1020200000809 A KR1020200000809 A KR 1020200000809A KR 20200000809 A KR20200000809 A KR 20200000809A KR 20200085230 A KR20200085230 A KR 20200085230A
Authority
KR
South Korea
Prior art keywords
user equipment
component
component identifier
identifier
hardware
Prior art date
Application number
KR1020200000809A
Other languages
English (en)
Other versions
KR102325912B1 (ko
Inventor
조슈아 핑거
지나 트란
밍샨 쿽
밍샨 ?o
Original Assignee
티-모바일 유에스에이, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 티-모바일 유에스에이, 인크. filed Critical 티-모바일 유에스에이, 인크.
Publication of KR20200085230A publication Critical patent/KR20200085230A/ko
Application granted granted Critical
Publication of KR102325912B1 publication Critical patent/KR102325912B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/108Source integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • H04W12/004
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/1206
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/126Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/183Processing at user equipment or user record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • H04W8/265Network addressing or numbering for mobility support for initial activation of new user
    • 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
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Abstract

본원에서는 사용자 장비의 복수의 컴포넌트들을 인증하여 컴포넌트들의 하나 이상의 기능을 인에이블시키기 위한 기술들이 설명된다. 본 기술들은 사용자 장비의 하드웨어 컴포넌트에 대응하는 컴포넌트 식별자를 수신하는 것; 컴포넌트 식별자가 데이터 저장소에 있는 네트워크 레코드(network record)와 일치한다는 것을 검증하는 것 - 네트워크 레코드는 하드웨어 컴포넌트에 대응함 -; 네트워크 레코드로 컴포넌트 식별자를 검증하는 것에 적어도 부분적으로 기초하여, 사용자 장비의 하나 이상의 기능을 인에이블(enabling)시키는 것; 및 통신 네트워크를 통해 사용자 장비 상에서의 사용을 위해 하드웨어 컴포넌트를 활성화시키는 것을 포함한다.

Description

디바이스에 대한 총체적 모듈 인증{HOLISTIC MODULE AUTHENTICATION WITH A DEVICE}
본 발명은 디바이스에 대한 총체적 모듈 인증에 관한 것이다.
스마트폰 도난과 분실의 증가로, 많은 소비자들과 기업들은 분실된 디바이스들을 잠금설정하거나 또는 디스에이블(disable)시키고 디바이스들을 사용할 수 없게 하는데 노력을 확대해 왔다. 이것은 소비자들의 디바이스가 도난당하거나 또는 분실된 경우 소비자들을 돕기 위해 여러가지 기술들을 조합시키는 다양한 도난 방지 프로그램들의 생성을 이끌어 냈다. 일반적으로, 이러한 프로그램들은 원격 디바이스 잠금설정과, 도난당하거나 또는 분실된 디바이스들을 위치파악하기 위한 추적과, 적절한 기관들로의 보고를 포함할 것이다. 그러나, 대부분의 디바이스들이 스와이프(swipe)되고, 소거되고, 재판매될 수 있으므로, 이러한 프로그램들은 종종 우회가 가능하다. 추가적으로, 전화기는 신규 SIM(subscriber identity module) 카드를 장착하여, 해외 또는 특정 지리적 위치들에서 사용될 수 있다.
도난 방지 프로그램들은 또한 제한된 상황들 내에서 도난을 방지하는 것으로 제한된다. 예를 들어, 비활성화된 스마트폰은 소비자에게 배송되기 전에 도난당하거나 또는 분실될 수 있으며, 위조품으로서 판매될 수 있는 여분의 고가 부품들을 위해 해체될 수 있다. 후자의 시나리오에서, 하나의 디바이스로부터의 하나 이상의 하드웨어 컴포넌트는 사용을 위해 다른 디바이스에 재장착될 수 있다. 따라서, 도난당하거나 또는 분실된 디바이스들이 손쉽게 매각될 수 있는 접근가능한 시장이 여전히 존재한다. 이와 관련하여, 도난당한 디바이스와 분실된 디바이스는 OEM(Original Equipment Manufacturer) 및 무선 통신업체에 대한 사업 평판, 매출, 및 고객층의 손실을 초래할 수 있는 다양한 영향력들을 가질 수 있다.
상세한 설명이 첨부 도면들을 참조하여 설명되며, 첨부 도면들에서 참조 번호의 가장 왼쪽 숫자(들)은 해당 참조 번호가 처음 나타나는 도면을 식별한다. 상이한 도면들에서의 동일한 참조번호들의 이용은 유사하거나 또는 동일한 아이템들을 나타낸다.
도 1은 사용자 장비의 각각의 하드웨어 컴포넌트들의 사용을 식별하고 인가하기 위해 디바이스 기반 인증을 구현하기 위한 예시적인 네트워크 아키텍처를 나타낸다.
도 2는 디바이스 기반 인증을 구현하는 예시적인 컴퓨팅 디바이스의 다양한 컴포넌트들을 도시하는 블록도이다.
도 3은 사용자 장비의 하나 이상의 하드웨어 컴포넌트에 대한 컴포넌트 식별자들을 사용하여 디바이스 기반 인증을 수행하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 사용자 장비를 위한 복수의 컴포넌트들에 대한 그룹 컴포넌트 식별자를 사용하여 디바이스 기반 인증을 수행하기 위한 예시적인 프로세스의 흐름도이다.
본 발명개시는 사용자 장비의 다양한 하드웨어 컴포넌트들을 인증하기 위한 기술에 관한 것이다. 다양한 실시예들에서, 본 명세서에 설명된 기술들은 사용자 장비가 복구시에 부팅되는 동안 또는 디바이스 활성화와 같은 초기 셋업 동안 수행될 수 있다. 부팅 시퀀스 또는 셋업 동안, 사용자 장비는 디바이스 인증 서비스를 통해 사용자 장비의 하나 이상의 하드웨어 컴포넌트를 인증할 수 있다. 디바이스 인증 서비스는 사용자 장비 자체에 저장되어 실행될 수 있다. 셋업 또는 활성화 프로세스의 일부로서, 디바이스 인증 서비스는 하드웨어 컴포넌트들과 연관된 정보, 예컨대 하드웨어 컴포넌트들과 연관된 컴포넌트 식별자들 및/또는 OEM 정보를 획득할 수 있다. 다양한 실시예들에서, 하드웨어 컴포넌트들과 연관된 정보는 암호화 키를 통해 암호화되거나 또는 해시 함수를 통해 해시될 수 있다. 따라서, 실제 컴포넌트 식별자들이 인증 프로세스 동안 공개되지 않도록 컴포넌트 식별자들은 컴포넌트 식별자들의 보호되거나 또는 암호화된 버전일 수 있다.
이 정보를 사용하여, 디바이스 인증 서비스는 네트워크 데이터 저장소에게 정보를 제공할 수 있고, 네트워크 데이터 저장소는 다양한 인증 프로토콜들을 사용하여 컴포넌트 식별자들을 인증할 수 있다. 디바이스 인증 서비스는 인증된 정보를 사용하여 컴포넌트 식별자들에 대응하는 하드웨어 컴포넌트들의 하나 이상의 기능을 인에이블(enable)시킬 수 있다. 반대로, 인증이 성공하지 못하면, 디바이스 인증 서비스는 검증되지 않은 정보를 사용하여 컴포넌트 식별자들에 대응하는 하드웨어 컴포넌트들의 하나 이상의 기능을 디스에이블시킬 수 있다. 다양한 실시예들에서, 사용자 장비는 제한된 용량으로 동작하거나 또는 전혀 동작하지 않을 수 있다. 예를 들어, 사용자 장비의 카메라 컴포넌트가 인증될 수 없는 경우, 사용자 장비는 카메라 컴포넌트없이 동작할 수 있다. 다른 예시에서, 사용자 장비의 배터리 컴포넌트가 인증될 수 없는 경우, 사용자 장비는 배터리 컴포넌트없이 동작할 수 있다.
다양한 실시예들에서, 디바이스 인증 서비스는 사용자 장비의 하나 이상의 하드웨어 컴포넌트를 동시에 인증할 수 있다. 하드웨어 컴포넌트들과 연관된 복수의 컴포넌트 식별자들 및/또는 OEM 정보를 획득하면, 디바이스 인증 서비스는 컴포넌트 식별자들 및/또는 OEM 정보를 통합하여 하드웨어 컴포넌트들에 대응하는 그룹 컴포넌트 식별자를 생성할 수 있다. 디바이스 인증 서비스는 그룹 컴포넌트 식별자를 네트워크 데이터 저장소에 제공할 수 있으며, 이 네트워크 데이터 저장소는 사용자 장비의 하드웨어 컴포넌트들과 연관된 그룹 컴포넌트 식별자를 인증할 수 있다.
디바이스 인증 서비스는 검증된 정보를 사용하여 그룹 컴포넌트 식별자에 대응하는 하드웨어 컴포넌트들의 하나 이상의 기능을 인에이블시킬 수 있다. 그룹 컴포넌트 식별자는 사용자 장비의 하드웨어 컴포넌트들의 세트에 고유하기 때문에, 사용자 장비의 하나 이상의 하드웨어 컴포넌트가 교체되거나 업데이트되면 그룹 컴포넌트 식별자는 변경될 수 있다. 이와 관련하여, 사용자 장비의 제2 세트의 하드웨어 컴포넌트들에 대응하는 제2 그룹 컴포넌트 식별자를 생성하기 위해 사용자 장비의 제2 세트의 하드웨어 컴포넌트들에 대한 하드웨어 컴포넌트들 각각의 컴포넌트 식별자들 및/또는 OEM 정보를 사용하여 신규 그룹 컴포넌트 식별자가 생성된다.
다양한 실시예들에서, 디바이스 인증 서비스는 스케쥴링 기반으로 및/또는 통지 방식에 따라 사용자 장비 상태를 네트워크에 전송할 수 있다. 예를 들어, 사용자 장비 상태는 인증된 하드웨어 컴포넌트들 각각에 대한 인증 상태를 포함할 수 있다. 인증 프로세스는, 인증이 최종적으로 수행되었던 날짜와 시간을 사용자 장비 상태가 더 포함할 수 있도록, 타임 스탬핑(timestamped)될 수 있다. 사용자 장비 상태는 사용자 장비의 하드웨어 컴포넌트들이 인증된 것인지 여부를 지속적으로 결정하는데 사용될 수 있다. 사용자 장비 상태가 미리 결정된 기간 동안 수신되지 않으면, 사용자 장비의 하나 이상의 기능이 자동으로 디스에이블되거나, 또는 사용자 장비는 잠금설정될 수 있다.
본 명세서에서 설명된 기술들은 여러가지 방식들로 구현될 수 있다. 이하에서는 아래의 도면들을 참조하여 예시적인 구현예들이 제공된다.
예시적인 네트워크 아키텍처
도 1은 사용자 장비의 하드웨어 무결성(integrity)을 보장하기 위해 디바이스 인증 서비스를 제공하기 위한 예시적인 아키텍처(100)를 나타낸다. 아키텍처(100)는 입력을 수신하고, 입력을 처리하고, 출력 데이터를 생성할 수 있는 무선 통신 기능을 갖는 스마트폰, 모바일 디바이스, 개인 휴대 정보 단말기(PDA), 또는 다른 전자 디바이스와 같은, 하나 이상의 사용자 장비(110A~110N)를 포함할 수 있다. 추가적으로, 사용자 장비(110A~110N)는 컴퓨팅 디바이스 및 특수 목적형 디바이스, 내장형 디바이스, IoT(Internet of Things) 디바이스, 착용형 디바이스, 착용식 디바이스, 게이밍 디바이스, 또는 네트워크 인에이블드 텔레비전, 셋톱 박스, 미디어 플레이어와 같은 엔터테인먼트 디바이스, 카메라, 차량 제어 시스템, 차량 보안 시스템, 차량용 전자 키와 같은 자동차 컴퓨터, 의료 기기, 가전 제품 등을 포함할 수 있는 임의의 유형의 소비자 디바이스를 나타낼 수 있다.
다양한 실시예들에서, 사용자 장비(110A~110N)는 하나 이상의 가입자 식별 모듈(SIM) 카드를 포함한다. 다양한 실시예들에서, SIM 카드는 착탈식 물리적 스마트 카드 또는 내장형 SIM 카드(즉, eSIM, 내장형 UICC(eUICC))일 수 있다. 사용자 장비(110A~110N)는 하나 이상의 무선 기지국 또는 임의의 다른 일반적인 무선 또는 유선 네트워크 액세스 기술을 이용하는 전기통신 서비스 제공자에 의해 운영되는 전기통신 네트워크(108) 상에서 활성화될 수 있다.
전기통신 네트워크(108)는 2G, 3G, 4G, 및 LTE(long-term evolution), LTE 어드밴스드, HSDPA(high-speed data packet access), HSPA+(evolved high-speed packet access), UMTSuniversal mobile telecommunication system), CDMA(code-division multiple access), GSM(global system for mobile communications), LAN(local area network), WAN(wide area network), 및/또는 네트워크들의 집합체(예컨대, 인터넷)를 구현하는 셀룰러 네트워크일 수 있다. 전기통신 네트워크(108)는 하나 이상의 네트워크 엘리먼트(network element; NE)를 포함할 수 있으며, NE는 데이터 저장소(104) 및 고객 관리 툴(106)을 포함할 수 있다. 데이터 저장소(104), 고객 관리 툴(106), 및 다른 NE는 서버를 포함할 수 있으며, 서버는 데스크탑 컴퓨터, 태블릿 컴퓨터, 랩톱 컴퓨터, 또는 입력을 수신하고, 입력을 처리하고, 출력 데이터를 생성할 수 있는 다른 물리적 또는 가상 머신과 같은 범용 컴퓨터를 포함할 수 있다.
데이터 저장소(104)는 사용자 장비(110A~110N)에 대한 네트워크 레코드(record)를 갖는 데이터베이스를 포함할 수 있으며, 레코드는 사용자 장비의 하나 이상의 하드웨어 컴포넌트에 대한 컴포넌트 식별자(122)를 포함할 수 있다. 또한, 레코드는 사용자 장비(110A~110N)에 대응하는 하나 이상의 전화 번호, 전화 번호들 각각에 대응하는 하나 이상의 사용자, 및 각각의 사용자들 및/또는 사용자 장비(110A~110N)와 관련된 복수의 규칙, 정책, 세팅, 특권, 크리덴셜 등을 포함할 수 있다. 다양한 실시예들에서, 데이터 저장소(104)는 또한 HSS(home subscriber server), HLR(home location register), 사용자 계정 데이터베이스 등과 같은, EIR(equipment identity register) 또는 다른 디바이스 데이터베이스를 포함할 수 있다.
고객 관리 툴(106)은 채팅 프로그램, 고객 지원 마법사, 및/또는 고객 서비스 및 기술 서비스 프로그램을 포함할 수 있다. 고객 관리 툴(106)은 하나 이상의 사용자 장비(110A~110N)와 인터페이스하기 위한 고객 서비스 사용자 인터페이스를 제공할 수 있다. 예를 들어, 고객 관리 툴(106)은 SIP(Session Initiation Protocol), SIMPLE(SIP Instant Messaging and Presence Leveraging Extensions), APEX(Application Exchange), IMPP(Instant Messaging and Presence Protocol), XMPP(Extensible Messaging and Presence Protocol), 또는 다른 메시징 프로토콜들과 같은, 다양한 프로토콜들을 사용하는 고객 채팅 애플리케이션을 포함할 수 있다. 추가적으로, 또한, 고객 관리 툴(106)은 VoIP(Voice over Internet Protocol)를 제공할 수 있다. 고객 관리 툴(106)은 서비스 문제를 가진 고객들으로부터의 착신 전화 또는 채팅 세션 메시지들을 전기통신 서비스 제공자의 고객 지원 담당자에게 라우팅할 수 있다. 고객 관리 툴(106)은 예를 들어, 가입자가 디바이스 인증을 받도록 돕기 위해 부팅 시퀀스 또는 셋업 동안 이용가능할 수 있다. 고객 관리 툴(106)은 전기통신 서비스 제공자 또는 전기통신 서비스 제공자와 협력하는 제3자 엔티티를 통해 운영될 수 있다.
아키텍처(100)는 적어도 하나의 OEM(original equipment manufacturer)(102)을 더 포함한다. OEM(102)은 인가받은 사용을 위해 하드웨어 컴포넌트들의 기능을 인에이블하기 전에 인증을 요구하는 하나 이상의 하드웨어 컴포넌트를 포함하는 사용자 장비(110A~110N)를 생성한다. OEM(102)은 인증을 요구하는 하드웨어 컴포넌트들에 대응하는 컴포넌트 식별자(122)를 사용자 장비(110A~110N)의 저장 유닛에 저장할 수 있다. 예를 들어, 컴포넌트 식별자(122)는 사용자 장비(110A~110N)의 비휘발성 저장장치 내의 예약된 파티션에 저장될 수 있다. 각각의 컴포넌트 식별자(122)는 각각의 하드웨어 컴포넌트 및 사용자 장비(110A~110N)에 고유한 것이다. OEM은 컴포넌트 식별자(122)와, 일련 번호, IMEI(International Mobile Equipment Identifier), 및 사용자 장비(110A~110N)의 eUICC에 대응하는 내장형 UICC 식별정보(EID)와 같은, 다른 디바이스 식별자들의 인벤토리를 유지할 수 있다. 다양한 실시예들에서, 컴포넌트 식별자(122) 및 디바이스 식별자는 디바이스 데이터베이스에서 관리될 수 있다. 사용자 장비(110A~110N)는 디바이스 인증 서비스(114)를 제공한다. 디바이스 인증 서비스(114)는 아이덴티티 관리 모듈(116), 입증 모듈(118), 인증 및 인가 모듈(120), 및 통지 모듈(124)을 포함한다.
사용자 장비(110A~110N)의 하나 이상의 하드웨어 컴포넌트는 아이덴티티 관리 모듈(116)을 통해 관리되는 대응하는 컴포넌트 식별자(122)를 포함할 수 있다. 바람직하게는, 각각의 하드웨어 컴포넌트는 고유한 컴포넌트 식별자(122)를 포함한다. 예를 들어, 사용자 장비(110A~110N)의 카메라는 제1 컴포넌트 식별자를 포함할 수 있고, 사용자 장비(110A~110N)의 디스플레이 스크린은 제2 컴포넌트 식별자를 포함하는 등등으로 구성될 수 있다. 사용자 장비(110A~110N)의 복수의 하드웨어 컴포넌트들에 대한 컴포넌트 식별자들(122)은 개별 컴포넌트 식별자 대신에 그룹 식별자를 형성하기 위해 함께 그룹화될 수 있다. OEM(102)은 개별 하드웨어 컴포넌트들 및/또는 복수의 컴포넌트 식별자들(122)에 대한 그룹 식별자에 대해 컴포넌트 식별자(122)를 할당할 수 있다. 컴포넌트 식별자(122)는 하드웨어 컴포넌트들 상에 물리적으로 인쇄될 수 있다. 예를 들어, GSMA는 eUICC의 EID가 머신 판독가능한 형태로 제품 패키징 상에 인쇄될 것을 요구한다. 추가적으로, 또는 대안적으로, 하드웨어 컴포넌트들은 실시예들에 따라 아이덴티티 데이터로 프로그래밍될 수 있다. 아이덴티티 데이터는 미리 프로그래밍된 이진수들의 세트 또는 하드웨어 컴포넌트를 식별하는데 사용되는 영숫자들의 임의의 조합일 수 있다. 다양한 실시예들에서, 컴포넌트 식별자(122)는 하드웨어 컴포넌트와 연관된 OEM 정보를 포함할 수 있다.
부팅 시퀀스 또는 셋업 동안, 입증 모듈(118)은 사용자 장비(110A~110N)의 하나 이상의 컴포넌트에게 컴포넌트 식별자들(122)를 쿼리(query)하도록 구성된다. 컴포넌트 식별자(122)를 수신하면, 입증 모듈(118)은, 컴포넌트 식별자(122)가 사용자 장비(110A~110N)의 하드웨어 컴포넌트에 대응한다는 것을 입증할 수 있다. 입증 모듈(118)은 또한 컴포넌트 식별자(122)가 합법적인 데이터를 포함한다는 것을 입증할 수 있다. 예를 들어, 입증 모듈(118)은 컴포넌트 식별자(122)가 이에 대응하는 하드웨어 컴포넌트의 유형에 기초하여 특정 개수의 문자들을 포함하는 것을 보장할 수 있다. 추가적으로, 입증 모듈(118)은 컴포넌트 식별자(122)가 OEM(102)과 연관된 특정 유형의 문자들을 포함하는 것을 보장할 수 있다.
입증시, 인증 및 인가 모듈(120)은 하드웨어 컴포넌트의 기능을 인에이블시키거나 또는 사용자 장비(110A~110N)와 함께 하드웨어 컴포넌트의 사용을 인가하기 위해 컴포넌트 식별자(122)에 대응하는 하드웨어 컴포넌트를 인증하도록 구성된다. 이와 관련하여, 인증 및 인가 모듈(120)은 인증 및 인가를 위해 입증 모듈(118)로부터 입증된 컴포넌트 식별자(122)를 수신한다. 인증 및 인가 모듈(120)은 컴포넌트 식별자(122)가 올바른 유형의 하드웨어 컴포넌트와 연관되어 있다고 결정한다. 예를 들어, 인증 및 인가 모듈(120)은 제1 컴포넌트 식별자가 디스플레이 스크린에 대응하고, 제2 컴포넌트 식별자가 배터리에 대응하는 것을 확인할 수 있다.
인증 및 인가 모듈(120)은 데이터 저장소(104)에 대한 연결을 구축할 수 있고, 데이터 저장소(104)는 사용자 장비(110A~110N)에 대한 네트워크 레코드 또는 사용자 장비(110A~110N)의 하드웨어 컴포넌트의 컴포넌트 식별자(122)와 같은 자격 크리덴셜들을 포함할 수 있다. 인증 및 인가 모듈(120)은, 대응하는 하드웨어 컴포넌트가 기능할 수 있게 하기 위해, 입증 모듈(118)을 통해 수신된 컴포넌트 식별자가 레코드 내의 컴포넌트 식별자와 일치하는지 여부를 결정할 수 있다. 다양한 실시예들에서, 인증 및 인가 모듈(120)은, 컴포넌트 식별자(122)가 진품(authentic)이고 하드웨어 컴포넌트와 사용자 장비(110A~110N) 둘 다에 대응한다는 것을 검증할 수 있는 인증 데이터(예컨대, 크리덴셜)를 보관하는 원격 인증 및 인가 기관과 같은, 전기통신 네트워크(108) 상의 네트워크 엘리먼트에 대한 연결을 구축하도록 구성된다. 인증 및 인가 기관은 크리덴셜 추가, 크리덴셜 제거, 크리덴셜 업데이트 등과 같은 관리상의 변경을 용이하게 할 수 있도록 전기통신 네트워크(108) 상에 위치할 수 있다.
컴포넌트 식별자(122)가 인증 및 인가되었다고 결정하면, 대응하는 하드웨어 컴포넌트가 사용자 장비(110A~110N) 상에서 인에이블된다. 활성화되면, 하드웨어 컴포넌트 및/또는 사용자 장비(110A~110N)의 상태(예를 들어, 활성, 비활성, 인증됨, 인증 안됨 등)가 전기통신 네트워크(108)에 전송된다. 이와 관련하여, 디바이스 인증 서비스(114)는 상태 업데이트들을 전송하기 위한 통지 모듈(124)을 포함할 수 있다. 상태 업데이트들은 하나 이상의 하드웨어 컴포넌트가 디바이스 인증 서비스(114)에 의해 인증되었고, 인가된 사용을 위해 활성화되었는지를 나타낼 수 있다. 상태 업데이트는 또한, 가입자 계정의 계정 식별자와 연관된 사용자 장비의 하드웨어 컴포넌트에 대응하는 컴포넌트 식별자를 포함할 수 있다. 예를 들어, 상태 업데이트들은 사용자 장비의 SIM(subscriber identity module) 카드에 대응하는 ICCID(integrated circuit card identity)를 포함할 수 있다. 추가적으로, 또는 대안적으로, 전기통신 네트워크(108)의 전기통신 서비스 제공자는 스케쥴링 기반으로 사용자 장비에게 상태 업데이트들을 질의할 수 있다. 전기통신 서비스 제공자는 또한, 가입자 계정의 계정 식별자와 연관된 사용자 장비의 하드웨어 컴포넌트에 대응하는 해시(hash)를 사용자 장비에게 질의할 수 있다.
컴포넌트 식별자(122)는 보호되거나 또는 암호화된 버전의 컴포넌트 식별자들, 즉 암호화된 컴포넌트 식별자들(112A~112N)로 변환될 수 있다. 다양한 실시예들에서, 암호(cryptographic) 해시 함수가 해시를 생성하고 실제 컴포넌트 식별자들(122)을 보호하기 위해 사용될 수 있다. 암호 해시 함수는 임의적인 크기(예컨대, 컴포넌트 식별자)의 데이터를 고정 크기의 비트 문자열(예컨대, 해시)에 매핑하는 수학적 알고리즘이다. 해시 함수는, 컴포넌트 식별자들이 역설계(reverse engineered)될 수 없도록, 단방향 함수로 설계된다. 해시 함수들의 예시들은, 비제한적인 예시로서, 보안 해시 알고리즘 2(SHA-2) 또는 SHA-3을 포함할 수 있다. 임의의 해시 함수가 본 발명개시의 실시예들에 따라 임의의 횟수로 사용될 수 있는 것이 구상가능하다. 해시는 아이덴티티 관리 모듈(116)에 의해 자동으로 생성될 수 있다. 대안적으로, OEM은 컴포넌트 식별자(122)에 기초하여 해시를 생성할 수 있다.
다양한 실시예들에서, 데이터 저장소(104)는 컴포넌트 식별자의 해시 다이제스트(hash digest)를 포함한다. 입증 모듈(118)을 통해 하드웨어 컴포넌트의 컴포넌트 식별자(122)를 수신하면, 인증 및 인가 모듈(120)은 컴포넌트 식별자(122)에 대해 동일한 암호화 또는 해시 함수를 실행할 수 있고, 인증 및 인가 모듈(120)은 결과물이 데이터 저장소(104)에 저장되어 있는 해시 다이제스트와 일치하는지 여부를 결정할 수 있다. 결과물이 상기 저장되어 있는 해시 다이제스트와 일치하면, 인증 및 인가 모듈(120)은 해시 또는 컴포넌트 식별자에 대응하는 하드웨어 컴포넌트를 인증하고, 하드웨어 컴포넌트가 사용자 장비(110A~110N)와 동작하는 것을 인가할 수 있다. 추가적으로, 인증 및 인가 모듈(120)은 실시예들에 따라, 전기통신 네트워크에게 사용자 장비 상태(예를 들어, 인증 성공 및 디바이스 활성, 인증 실패됨 및 디바이스 비활성 등)를 통지할 수 있다.
예시적인 컴퓨팅 디바이스 컴포넌트들
도 2는 사용자 장비(110)를 포함할 수 있는 예시적인 컴퓨팅 디바이스의 다양한 컴포넌트들을 도시하는 블록도이다. 본 명세서에서 설명된 사용자 장비(110)는 본 명세서에서 도시된 컴포넌트들 중의 더 많거나 더 적은 수의 컴포넌트로 작동할 수 있음에 유의한다. 추가적으로, 본 명세서에서 도시된 사용자 장비(110) 또는 그 일부분들은 본 시스템의 하나 이상의 컴퓨팅 디바이스의 표현으로서 역할을 수 있다.
사용자 장비(110)는 통신 인터페이스(202), 하나 이상의 프로세서(204), 하드웨어(206), 및 메모리(208)를 포함할 수 있다. 통신 인터페이스(202)는 사용자 장비(110)가 다른 네트워크 디바이스들과 데이터를 주고받을 수 있게 하는 모뎀 및 SIM 카드(예를 들어, eSIM 또는 eUICC)와 같은 무선 및/또는 유선 통신 컴포넌트들을 포함할 수 있다. 적어도 하나의 예시에서, 하나 이상의 프로세서(들)(204)는 중앙 처리 유닛(들)(CPU), 그래픽 처리 유닛(들)(GPU), CPU와 GPU 둘 다, 또는 임의의 다른 종류의 처리 유닛(들) 및/또는 제어 장치(들)일 수 있다. 하나 이상의 프로세서(들)(204) 각각은 산술 및 논리 연산들을 수행하는 복수의 산술 논리 유닛(ALU)뿐만이 아니라, 프로세서 캐시 메모리로부터 명령어들 및 저장된 콘텐츠를 추출하고, 이어서 프로그램 실행 중에 필요에 따라 ALU를 호출하여 이들 명령어들을 실행하는 하나 이상의 제어 유닛(CU)을 가질 수 있다. 하나 이상의 프로세서(들)(204)는 또한, 일반적인 유형의 휘발성(RAM) 및/또는 비휘발성(ROM) 메모리와 연관될 수 있는 메모리에 저장된 모든 컴퓨터 애플리케이션들을 실행하는 것을 담당할 수 있다.
사용자 장비(110)는 개인 데이터의 무결성 및 보안성을 보장하고 전기통신 서비스 제공자와의 통신을 인에이블시키기 위한 다양한 하드웨어(206)를 더 포함한다. 하드웨어(206)는 추가적인 사용자 인터페이스, 데이터 통신, 또는 데이터 저장 하드웨어를 포함할 수 있다. 따라서, 하드웨어(206)는 통신 인터페이스(202) 및 메모리(208)를 포함할 수 있다. 사용자 인터페이스는 데이터 출력 디바이스(예를 들어, 시각적 디스플레이, 오디오 스피커), 및 하나 이상의 데이터 입력 디바이스를 포함할 수 있다. 데이터 입력 디바이스는, 비제한적인 예시로서, 키패드, 키보드, 마우스 디바이스, 제스처들을 수용하는 터치 스크린 또는 디스플레이 스크린, 마이크로폰, 음성 또는 목소리 인식 디바이스, 카메라, 및 임의의 다른 적절한 디바이스들 중 하나 이상의 조합들을 포함할 수 있다.
메모리(208)는 컴퓨터 저장 매체와 같은, 컴퓨터 판독가능 매체를 사용하여 구현될 수 있다. 컴퓨터 판독가능 매체는, 적어도, 두 개 유형들의 컴퓨터 판독가능 매체, 즉 컴퓨터 저장 매체와 통신 매체를 포함한다. 컴퓨터 판독가능 저장 매체에는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터와 같은, 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성의, 탈착가능 및 탈착불가능 매체가 포함된다. 컴퓨터 저장 매체는, 비제한적인 예시로서, RAM, ROM, EEPROM, 플래시 메모리, 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile disk), 고선명 멀티미디어/데이터 저장 디스크, 또는 다른 광학적 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치, 또는 다른 자기 저장 디바이스들, 또는 컴퓨팅 디바이스에 의한 액세스를 위해 정보를 저장하는데 사용될 수 있는 임의의 다른 비전송 매체를 포함한다. 다양한 실시예들에서, 컴퓨터 저장 매체는 사용자 장비(110)의 비휘발성 저장장치에서 예약된 파티션일 수 있는 보안 영구 저장장치를 포함할 수 있다. 그에 반해서, 통신 매체는 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터를 반송파와 같은 변조 데이터 신호 또는 다른 전송 메커니즘 내에 수록시킬 수 있다. 메모리(208)는 또한 방화벽을 포함할 수 있다. 일부 실시예들에서, 방화벽은 사용자 장비(110)에서 하드웨어(206)로서 구현될 수 있다.
사용자 장비(110)의 프로세서(204)와 메모리(208)는 운영체제(210) 및 디바이스 인증 서비스(114)를 구현할 수 있다. 운영체제(210) 및 디바이스 인증 서비스(114)는 사용자 장비(110)에 의해 실행되는 동안 메모리(208) 및/또는 하나 이상의 프로세서(들)(204) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다. 운영체제(210)는 사용자 장비(110)가 다양한 인터페이스들(예커대, 사용자 컨트롤, 통신 인터페이스, 및/또는 메모리 입력/출력 디바이스들)을 통해 데이터를 송수신할 수 있게 하는 것은 물론, 하나 이상의 프로세서(들)(204)을 사용하여 데이터를 처리하여 출력을 생성할 수 있게 하는 컴포넌트들을 포함할 수 있다. 운영체제(210)는 출력을 프리젠테이션하는 (예컨대, 전자 디스플레이 상에 이미지를 디스플레이하기, 데이터를 메모리 내에 저장하기, 데이터를 다른 전자 디바이스들에 송신하기 등) 프리젠테이션 컴포넌트를 포함할 수 있다. 추가적으로, 운영체제(210)는 운영체제와 일반적으로 연관된 다양한 추가적인 기능들을 수행하는 다른 컴포넌트들을 포함할 수 있다.
디바이스 인증 서비스(114)는 아이덴티티 관리 모듈(116), 입증 모듈(118), 인증 및 인가 모듈(120), 및 통지 모듈(124)을 포함한다. 아이덴티티 관리 모듈(116)은 하나 이상의 하드웨어(206)에 대한 컴포넌트 식별자들(112A~112C)을 관리하도록 구성된다. OEM은 메모리(208) 내에 컴포넌트 식별자들(112A~112C)을 저장할 수 있다. 다양한 실시예들에서, 하드웨어(206) 각각은 이에 대응하는 컴포넌트 식별자를 포함할 수 있다. 대안적으로, 하드웨어 컴포넌트들의 세트 내의 하드웨어(206) 각각은 이에 대응하는 컴포넌트 식별자를 포함할 수 있다. 바람직하게, 하드웨어 컴포넌트들의 세트는 디스플레이 스크린, 프로세서, 배터리 등과 같은 고부가가치 부품들을 포함한다. 다양한 실시예들에서, 컴포넌트 식별자들(112A~112B)은 사용자 장비(110)의 eUICC에 대응하는 EID(212)를 포함할 수 있다. eUICC에는 하나 이상의 프로파일이 포함되어 있다. 프로파일은 네트워크 가입과 연관된 가입자 정보를 포함할 수 있다. 프로파일은 eUICC 상에 프로비저닝되고 사용자 장비(110)가 해당 프로파일과 연관된 가입을 사용할 수 있게 하는 서비스 크리덴셜과 연관된 파일 구조, 데이터, 및 애플리케이션의 조합을 포함할 수 있다. 각 프로파일을 ICCID(214)라고 칭한다. 따라서, 컴포넌트 식별자들(112A~112B)은 ICCID(214)와 연관될 수 있다.
아이덴티티 관리 모듈(116)은 OEM과 통신하여 컴포넌트 식별자들과 연관된 아이덴티티 데이터를 수신할 수 있다. 다양한 실시예들에서, 아이덴티티 관리 모듈(116)은 OEM, 고객 관리 툴, 데이터 저장소, 네트워크 엘리먼트 등과 같은 다중 데이터 소스들로부터 데이터의 취득, 처리, 저장, 보고, 및 분석을 용이하게 하기 위한 소프트웨어 유틸리티들을 포함하는 데이터 관리층을 구현할 수 있다.
입증 모듈(118)은 컴포넌트 식별자들을 입증하도록 구성된다. 컴포넌트 식별자들이 특정 개수의 문자들 또는 특정 유형의 문자들을 포함한다고 결정함으로써 입증이 이루어질 수 있다. 입증 모듈(118)은 단일 컴포넌트 식별자 또는 복수의 컴포넌트 식별자들을 나타낼 수 있는 그룹 컴포넌트 식별자를 입증할 수 있다. 후자의 시나리오에서, 입증 모듈(118)은 복수의 컴포넌트 식별자들 중 하나 이상의 무효 컴포넌트 식별자를 식별할 수 있다. 하나 이상의 컴포넌트 식별자가 무효인 경우, 입증 모듈(118)은 하나 이상의 컴포넌트 식별자가 무효이며, 따라서 그룹 컴포넌트 식별자는 무효라는 것을 나타낼 수 있고, 인증 프로세스를 종료할 수 있다.
입증에 성공하면, 입증된 컴포넌트 식별자들이 인증 및 인가 모듈(120)에 제공된다. 인증 및 인가 모듈(120)은 하드웨어 컴포넌트들의 기능을 인에이블시키거나 또는 사용자 장비(110)와 함께 하드웨어 컴포넌트의 사용을 인가하기 위해 사용자 장비(110)의 하나 이상의 하드웨어 컴포넌트를 인증할 수 있다. 인증 및 인가 모듈(120)은 컴포넌트 식별자(122)가 올바른 하드웨어 컴포넌트에 대응한다고 결정한다. 컴포넌트 식별자(122)는 네트워크 레코드와 대비되어 인증될 수 있다.
이와 관련하여, 인증 및 인가 모듈(120)은 인증 데이터(예를 들어, 크리덴셜)를 보관하는 원격 인증 및 인가 기관 또는 데이터 저장소에 대한 연결을 구축하도록 구성된다. 인증을 위한 크리덴셜들은 데이터와 명령어 둘 다를 포함할 수 있다. 예를 들어, 크리덴셜은 하드웨어 컴포넌트, 디바이스 데이터 등에 대응하는 컴포넌트 식별자 또는 컴포넌트 식별자의 저장된 해시 다이제스트를 포함할 수 있다. 크리덴셜은 전기통신 서비스 제공자의 통신 서비스들에 대한 가입과 연관될 수 있다. 복수의 가입들에 대해 복수의 크리덴셜들의 세트가 제공될 수 있다. 명령어들이 프로세서 상에서 실행될 때, 명령어들은, 사용자 장비(110)가, 인증 및 인가 모듈(120)을 통해, 컴포넌트 식별자를 인증하고, 허가된 사용을 위해 컴포넌트 식별자에 대응하는 하드웨어 컴포넌트의 기능을 인에이블할 수 있도록, 프로세서와 데이터 저장소 간의 통신들을 야기시키도록 구성될 수 있다.
다양한 실시예들에서, 컴포넌트 식별자는 암호 해시 함수를 통해 해시로 변환될 수 있다. 아이덴티티 관리 모듈(116)은 해시를 자동으로 생성할 수 있다. 추가적으로 또는 대안적으로, OEM이 컴포넌트 식별자(122)에 기초하여 해시를 생성할 수 있다. 인증 및 인가 모듈(120)은 컴포넌트 식별자에 대해 해시 함수를 실행할 수 있고, 인증 및 인가 모듈(120)은 결과물이 컴포넌트 식별자의 저장된 해시 다이제스트와 일치하는지 여부를 결정할 수 있다. 컴포넌트 식별자의 상기 저장된 해시 다이제스트는 데이터 저장소에 저장될 수 있다. 결과물이 상기 저장된 해시 다이제스트와 일치하면, 인증 및 인가 모듈(120)은 컴포넌트 식별자에 대응하는 하드웨어 컴포넌트를 인증하고, 각각의 하드웨어 컴포넌트가 사용자 장비(110A~110N)와 동작하는 것을 인가할 수 있다.
하나 이상의 하드웨어 컴포넌트를 인증하는 경우, 통지 모듈(124)은 사용자 장비(110)의 상태 업데이트들을 네트워크에 전송한다. 상태 업데이트들은 스케쥴링 기반으로 전송될 수 있다. 상태 업데이트들이 미리 결정된 기간 동안 전송되지 않으면, 하드웨어 컴포넌트들의 하나 이상의 기능은 디스에이블될 수 있다. 상태 업데이트는 어느 하드웨어 컴포넌트가 인가된 사용을 위해 인증되고 활성화되는지를 나타낼 수 있다. 인증된 컴포넌트들은 자신들의 컴포넌트 식별자를 통해 식별될 수 있다. 추가적으로, 또는 대안적으로, 전기통신 네트워크의 전기통신 서비스 제공자는 스케쥴링 기반으로 사용자 장비에게 상태 업데이트들을 질의할 수 있다. 전기통신 서비스 제공자는 또한, 계정 식별자와 상관된 계정과 연관된 사용자 장비와 연관된 해시에 대응하는 해시를 사용자 장비에게 질의할 수 있다. 다양한 실시예들에서, 전기통신 서비스 제공자는 스케쥴링 기반으로 질의를 전송할 수 있다.
예시적인 프로세스들
도 3과 도 4는 디바이스 기반 인증을 수행하기 위한 예시적인 프로세스들(300~400)을 제시한다. 프로세스들(300~400)은 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있는 일련의 동작들을 나타내는 논리 흐름도에서 블록들의 집합으로서 도시되어 있다. 소프트웨어의 환경에서, 블록들은, 하나 이상의 프로세서에 의해 실행될 때, 상기 언급된 동작들을 수행하는 컴퓨터 실행가능 명령어들을 나타낸다. 일반적으로, 컴퓨터 실행가능 명령어들은 특정 기능들을 수행하거나 또는 특정 추상 데이터 유형들을 구현하는, 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 포함할 수 있다. 동작들을 설명하는 순서는 제한적 사항으로서 해석되도록 의도된 것은 아니며, 프로세스를 구현하기 위해 설명한 블록들 중의 임의의 개수의 블록들은 임의적인 순서로 및/또는 병렬적으로 결합될 수 있다. 설명 목적으로, 프로세스들(300~400)은 도 1의 아키텍처(100)를 참조하여 설명된다.
도 3은 사용자 장비의 관점에서, 디바이스 기반 인증을 수행하기 위한 예시적인 프로세스(300)의 흐름도이다. 블록(302)에서, 디바이스 인증 서비스는, 입증 모듈을 통해, 예를 들어, 부팅 시퀀스의 시작시에 사용자 장비의 하드웨어 컴포넌트의 컴포넌트 식별자를 수신한다. 컴포넌트 식별자는 디바이스 인증 서비스의 아이덴티티 관리 모듈을 통해 관리될 수 있다. 블록(304)에서, 디바이스 인증 서비스의 입증 모듈은 네트워크 레코드를 참조하여 사용자 장비의 컴포넌트 식별자를 입증한다. 결정 블록(406)에서, 입증 모듈은 컴포넌트 식별자가 유효인지 여부를 결정한다. 블록(308)에서 나타난 바와 같이, 컴포넌트 식별자가 유효인 경우(결정 블록(306)으로부터 "예" 응답), 컴포넌트 식별자가 사용자 장비에 대응하는 식별자들의 세트 또는 사용자 장비와 연관된 계정과 상관이 있는 식별자와 일치하는지 여부를 결정하기 위해, 컴포넌트 식별자는 디바이스 인증 서비스의 인증 및 인가 모듈에 제공된다. 컴포넌트 식별자가 암호화된 경우, 인증 및 인가 모듈은 해시 함수를 통해 컴포넌트 식별자를 실행하고, 결과물이 컴포넌트 식별자의 저장된 해시 다이제스트와 일치하는지 여부를 결정한다.
블록(314)에서 나타난 바와 같이, 컴포넌트 식별자가 무효인 경우(결정 블록(306)으로부터 "아니오" 응답), 입증 모듈은 인증을 거부하고, 사용자 장비의 하나 이상의 기능을 디스에이블하기 위해 하드웨어 컴포넌트를 비활성화시킨다. 결정 블록(310)에서, 인증 및 인가 모듈은 인증이 성공적인지 여부를 결정한다. 블록(312)에서 나타난 바와 같이, 인증이 성공적인 경우(결정 블록(310)으로부터 "예" 응답), 인증 및 인가 모듈은 사용자 장비의 하나 이상의 기능을 인에이블하기 하드웨어 컴포넌트를 인가하고 활성화시킨다. 인증이 성공적이지 않은 경우(결정 블록(310)으로부터 "아니오" 응답), 인증 및 인가 모듈은 인증을 거부하고, 사용자 장비의 하나 이상의 기능을 디스에이블하기 위해 하드웨어 컴포넌트들을 비활성화시킨다. 블록(316)에서, 인증 및 인가 모듈은 사용자 장비의 컴포넌트에 대응하는 무효의 컴포넌트 식별자를 식별할 수 있다. 다양한 실시예들에서, 인증 및 인가 모듈은 인증되지 않은 컴포넌트를 디스플레이할 수 있다.
이제 도 4를 참조하면, 도 4에서는 사용자 장비를 위한 복수의 하드웨어 컴포넌트들에 대한 그룹 컴포넌트 식별자를 사용하여 디바이스 기반 인증을 수행하기 위한 예시적인 프로세스(400)가 도시되어 있다. 블록(402)에서, 디바이스 인증 서비스는, 입증 모듈을 통해, 사용자 장비의 하드웨어 컴포넌트들에 대응하는 컴포넌트 식별자들을 수신한다. 블록(404)에서, 아이덴티티 관리 모듈은 복수의 컴포넌트 식별자들에 대응하는 그룹 컴포넌트 식별자를 생성한다. 그룹 컴포넌트 식별자는 특정 세트의 컴포넌트 식별자들에 고유한 것이기 때문에, 하나 이상의 컴포넌트 식별자가 변경되면, 그룹 컴포넌트 식별자가 변경될 수 있다. 결정 블록(406)에서, 입증 모듈은 그룹 컴포넌트 식별자가 유효인지 여부를 결정한다. 그룹 컴포넌트 식별자를 구성하는 모든 컴포넌트 식별자들이 유효인 경우, 그룹 컴포넌트 식별자는 유효이다. 추가적으로 또는 대안적으로, 그룹 컴포넌트 식별자가 나타내는 모든 컴포넌트 식별자들이 유효인 경우, 그룹 컴포넌트 식별자는 유효이다. 블록(408)에서 나타난 바와 같이, 그룹 컴포넌트 식별자가 유효인 경우(결정 블록(406)으로부터 "예" 응답), 그룹 컴포넌트 식별자는 암호화 또는 해시 함수를 통해 해시 다이제스트를 생성하도록 변환될 수 있다. 이와 관련하여, 그룹 컴포넌트 식별자 및/또는 개별 컴포넌트 식별자들은 보호될 수 있다.
블록(414)에서 나타난 바와 같이, 그룹 컴포넌트 식별자가 무효인 경우(결정 블록(406)으로부터 "아니오" 응답), 입증 모듈은 인증을 거부하고, 사용자 장비의 하나 이상의 기능을 디스에이블하기 위해 하드웨어 컴포넌트들은 비활성화된다. 그룹 컴포넌트 식별자를 구성하는 하나 이상의 컴포넌트 식별자가 무효인 경우, 그룹 컴포넌트 식별자는 무효이다. 추가적으로 또는 대안적으로, 그룹 컴포넌트 식별자가 나타내는 컴포넌트 식별자들 중 하나 이상이 무효인 경우, 그룹 컴포넌트 식별자는 유효이다. 결정 블록(410)에서, 인증 및 인가 모듈은 그룹 컴포넌트 식별자의 해시 다이제스트가 네트워크 데이터 저장소에 저장되어 있는 그룹 컴포넌트 식별자의 저장되어 있는 해시 다이제스트와 일치하는지 여부를 결정한다. 블록(412)에서 나타난 바와 같이, 해시 다이제스트가 상기 저장되어 있는 해시 다이제스트와 일치한 경우(결정 블록(410)으로부터 "예" 응답), 인증 및 인가 모듈은 인증을 허가하고, 사용자 장비의 하나 이상의 기능을 인에이블하기 위해 그룹 컴포넌트 식별자에 대응하는 컴포넌트들을 활성화시킨다. 블록(414)에서 나타난 바와 같이, 해시 다이제스트가 상기 저장되어 있는 해시 다이제스트와 일치하지 않은 경우(결정 블록(410)으로부터 "아니오" 응답), 인증 및 인가 모듈은 인증을 거부하고, 사용자 장비의 하나 이상의 그룹을 디스에이블하기 위해 컴포넌트들을 비활성화시킨다.
블록(416)에서, 디바이스 인증 서비스의 통지 모듈은 사용자 장비 상태 업데이트들을 네트워크에 전송한다. 예를 들어, 상태 업데이트들은 계정 식별자와 상관된 계정과 연관된 사용자 장비의 컴포넌트들에 대응하는 컴포넌트 식별자를 포함하여, 사용자 장비에 관한 정보를 식별하는 것을 포함할 수 있다. 상태 업데이트들은 사용자 장비의 어느 하드웨어 컴포넌트들이 인가된 사용을 위해 인증되고 활성화되었는지를 나타낼 수 있다. 상태 업데이트들은 또한, 사용자 장비의 어느 하드웨어 컴포넌트들이 인증되지 않았는지를 나타낼 수 있다. 상태 업데이트들이 미리 결정된 기간 동안 전송되지 않은 경우, 사용자 장비의 하나 이상의 기능이 디스에이블될 수 있도록, 상태 업데이트들은 스케쥴링 기반으로 네트워크에 전송될 수 있다.
결론
본 발명내용은 구조적 특징들 및/또는 방법론적 동작들에 특유적인 용어로 기술되었지만, 첨부된 청구항들에서 정의된 발명내용은 설명된 이러한 특정한 특징들 또는 동작들로 반드시 제한될 필요는 없다는 것을 이해하여야 한다. 이보다는, 이러한 특정한 특징들 및 동작들은 청구범위를 구현하는 예시적인 형태들로서 개시된 것이다.

Claims (15)

  1. 실행시, 사용자 장비의 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 컴퓨터 실행가능 명령어들을 저장한 하나 이상의 컴퓨터 판독가능 비일시적 매체에 있어서, 상기 동작들은,
    상기 사용자 장비의 하드웨어 컴포넌트에 대응하는 컴포넌트 식별자를 수신하는 동작;
    상기 컴포넌트 식별자가 데이터 저장소에 있는 네트워크 레코드(network record)와 일치한다는 것을 검증하는 동작 - 상기 네트워크 레코드는 상기 하드웨어 컴포넌트에 대응함 -;
    상기 네트워크 레코드로 상기 컴포넌트 식별자를 검증하는 것에 적어도 부분적으로 기초하여, 상기 사용자 장비의 하나 이상의 기능을 인에이블(enabling)시키는 동작; 및
    통신 네트워크를 통해 상기 사용자 장비 상에서의 사용을 위해 상기 하드웨어 컴포넌트를 활성화시키는 동작
    을 포함한 것인 하나 이상의 컴퓨터 판독가능 비일시적 매체.
  2. 제1항에 있어서,
    상기 컴포넌트 식별자는 상기 사용자 장비의 eUICC(embedded UICC)에 대응하는 EID(embedded UICC identity)를 포함한 것인 하나 이상의 컴퓨터 판독가능 비일시적 매체.
  3. 제1항에 있어서,
    상기 컴포넌트 식별자는 해시 함수를 통해 생성된 해시를 포함한 것인 하나 이상의 컴퓨터 판독가능 비일시적 매체.
  4. 제1항에 있어서,
    상기 컴포넌트 식별자는 그룹 컴포넌트 식별자를 포함한 것인 하나 이상의 컴퓨터 판독가능 비일시적 매체.
  5. 제1항에 있어서,
    상기 컴포넌트 식별자는 일련 번호를 포함하고, 상기 일련 번호는 상기 사용자 장비의 IMEI(International Mobile Equipment Identifier)를 포함한 것인 하나 이상의 컴퓨터 판독가능 비일시적 매체.
  6. 제1항에 있어서,
    상기 컴포넌트 식별자는 상기 하드웨어 컴포넌트에 대응하는 OEM 정보를 포함한 것인 하나 이상의 컴퓨터 판독가능 비일시적 매체.
  7. 사용자 장비의 하나 이상의 하드웨어 컴포넌트를 인증하기 위한 컴퓨터 구현는 방법에 있어서, 상기 방법은 상기 사용자 장비에 의해 수행되고, 상기 방법은,
    상기 사용자 장비 상에서 실행되는 디바이스 인증 서비스를 통해, 상기 사용자 장비 상에 저장된 그룹 컴포넌트 식별자에 액세스하는 단계 - 상기 그룹 컴포넌트 식별자는 상기 사용자 장비의 하나 이상의 하드웨어 컴포넌트에 대응함 -;
    상기 디바이스 인증 서비스를 통해, 상기 그룹 컴포넌트 식별자가 상기 사용자 장비와 연관된 네트워크 레코드와 일치하는지 여부를 검증하는 단계; 및
    상기 그룹 컴포넌트 식별자를 검증한 것에 응답하여, 상기 디바이스 인증 서비스를 통해, 상기 사용자 장비 상에서의 사용을 위해 상기 그룹 컴포넌트 식별자와 연관된 상기 하나 이상의 하드웨어 컴포넌트를 활성화시키는 단계
    를 포함하는 컴퓨터 구현 방법.
  8. 제7항에 있어서,
    상기 하나 이상의 하드웨어 컴포넌트는 SIM(subscriber identity module) 카드를 포함하고,
    상기 그룹 컴포넌트 식별자는 상기 SIM 카드에 대응하는 ICCID(integrated circuit card identity)를 포함한 것인 컴퓨터 구현 방법.
  9. 제7항에 있어서,
    상기 그룹 컴포넌트 식별자는 하나 이상의 컴포넌트 식별자를 포함하고,
    상기 하나 이상의 컴포넌트 식별자 각각은 상기 사용자 장비의 고유한 하드웨어 컴포넌트에 대응한 것인 컴퓨터 구현 방법.
  10. 제9항에 있어서,
    상기 하나 이상의 컴포넌트 식별자가 무효한지 여부를 결정하는 단계; 및
    상기 하나 이상의 컴포넌트 식별자 중 적어도 하나의 컴포넌트 식별자가 무효하다고 결정한 경우, 상기 무효한 컴포넌트 식별자들에 대응하는 상기 하나 이상의 하드웨어 컴포넌트를 식별하는 단계; 및
    상기 무효한 컴포넌트 식별자들에 대응하는 상기 하나 이상의 하드웨어 컴포넌트의 하나 이상의 기능을 디스에이블(disabling)시키는 단계
    를 더 포함하는 컴퓨터 구현 방법.
  11. 제7항에 있어서,
    상기 디바이스 인증 서비스는 상기 그룹 컴포넌트 식별자에 적어도 부분적으로 기초하여 상기 하나 이상의 하드웨어 컴포넌트를 구성하도록 동작가능한 것인 컴퓨터 구현 방법.
  12. 제7항에 있어서,
    상기 사용자 장비의 상태 업데이트들을 전기통신 서비스 제공자에게 전송하는 단계
    를 더 포함하고,
    상기 상태 업데이트들은 상기 하나 이상의 하드웨어 컴포넌트가 인증된 것인지 여부를 나타내며,
    상기 상태 업데이트들은 인증된 하나 이상의 하드웨어 컴포넌트에 대응하는 상기 그룹 컴포넌트 식별자를 포함한 것인 컴퓨터 구현 방법.
  13. 시스템에 있어서,
    저장된 코드 세그먼트들을 제공하도록 구성된 하나 이상의 비일시적 저장 매체를 포함하고,
    상기 하나 이상의 비일시적 저장 매체는 하나 이상의 프로세서에 결합되어 있고,
    상기 하나 이상의 프로세서 각각은 상기 저장된 코드 세그먼트들을 실행하도록 구성되고,
    상기 저장된 코드 세그먼트들은, 상기 하나 이상의 프로세서로 하여금,
    고유한 사용자 장비에 대응하는 그룹 컴포넌트 식별자에 액세스하고 - 상기 그룹 컴포넌트 식별자는 하나 이상의 컴포넌트 식별자의 고유한 조합을 포함하고, 상기 하나 이상의 컴포넌트 식별자 각각은 상기 사용자 장비의 적어도 하나의 하드웨어 컴포넌트에 대응함 -;
    상기 그룹 컴포넌트 식별자에 적어도 부분적으로 기초하여 상기 사용자 장비를 인증하고;
    상기 사용자 장비의 하나 이상의 기능을 인에이블시키며;
    상기 사용자 장비의 적어도 하나의 하드웨어 컴포넌트가 인증된 것임을 나타내는 상태 업데이트를 전기통신 서비스 제공자에게 전달하게 하는 것인 시스템.
  14. 제13항에 있어서,
    상기 인증하는 것은, 인증 데이터를 획득하기 위해 상기 그룹 컴포넌트 식별자를 사용하여 네트워크 레코드에 액세스하는 것과, 상기 그룹 컴포넌트 식별자를 상기 인증 데이터와 비교하는 것을 포함한 것인 시스템.
  15. 제13항에 있어서,
    상기 상태 업데이트들은 스케쥴링 기반으로 상기 전기통신 서비스 제공자에게 전달되고,
    상기 상태 업데이트들은 상기 그룹 컴포넌트 식별자 및 상기 사용자 장비의 SIM(subscriber identity module) 카드에 대응하는 ICCID(integrated circuit card identity)를 포함하고,
    상기 상태 업데이트들을 상기 스케쥴링 기반으로 전송하는 것에 실패한 경우, 상기 사용자 장비의 하나 이상의 기능을 디스에이블시키는 것인 시스템.
KR1020200000809A 2019-01-04 2020-01-03 디바이스에 대한 총체적 모듈 인증 KR102325912B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/240,129 US20200220865A1 (en) 2019-01-04 2019-01-04 Holistic module authentication with a device
US16/240,129 2019-01-04

Publications (2)

Publication Number Publication Date
KR20200085230A true KR20200085230A (ko) 2020-07-14
KR102325912B1 KR102325912B1 (ko) 2021-11-12

Family

ID=68944626

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200000809A KR102325912B1 (ko) 2019-01-04 2020-01-03 디바이스에 대한 총체적 모듈 인증

Country Status (4)

Country Link
US (1) US20200220865A1 (ko)
EP (1) EP3678396A1 (ko)
KR (1) KR102325912B1 (ko)
CN (1) CN111538979A (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6033874B2 (ja) 2011-10-21 2016-11-30 ホスピーラ インコーポレイテッド 医療装置更新システム
US9724470B2 (en) 2014-06-16 2017-08-08 Icu Medical, Inc. System for monitoring and delivering medication to a patient and method of using the same to minimize the risks associated with automated therapy
CA3106519A1 (en) 2018-07-17 2020-01-23 Icu Medical, Inc. Systems and methods for facilitating clinical messaging in a network environment
AU2019306490A1 (en) 2018-07-17 2021-02-04 Icu Medical, Inc. Updating infusion pump drug libraries and operational software in a networked environment
WO2020227403A1 (en) * 2019-05-08 2020-11-12 Icu Medical, Inc. Threshold signature based medical device management
US20220382867A1 (en) * 2021-06-01 2022-12-01 Cisco Technology, Inc. Using a trust anchor to control functionality of an asic
US20220382912A1 (en) * 2021-06-01 2022-12-01 Cisco Technology, Inc. Using a trust anchor to verify an identity of an asic
US11877218B1 (en) 2021-07-13 2024-01-16 T-Mobile Usa, Inc. Multi-factor authentication using biometric and subscriber data systems and methods
WO2023014985A1 (en) * 2021-08-06 2023-02-09 Intel Corporation Artificial intelligence regulatory mechanisms
CN114329420A (zh) * 2021-12-02 2022-04-12 杭州立思辰安科科技有限公司 一种可移动存储设备的访问控制方法、装置、系统和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015495A (ja) * 2002-06-07 2004-01-15 Sony Corp 権限管理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
KR20120018327A (ko) * 2009-04-15 2012-03-02 인터디지탈 패튼 홀딩스, 인크 네트워크와의 통신을 위한 장치의 검증 및/또는 인증
KR20150026651A (ko) * 2013-09-03 2015-03-11 삼성전자주식회사 알림을 제공하는 방법 및 그 전자 장치
KR20160013196A (ko) * 2013-05-29 2016-02-03 비자 인터네셔널 서비스 어소시에이션 보안 요소에서 수행되는 검증 시스템 및 방법

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511190A (en) * 1995-01-20 1996-04-23 Tandem Computers, Inc. Hash-based database grouping system and method
EP1338939A1 (en) * 2002-02-22 2003-08-27 Hewlett-Packard Company State validation device for a computer
EP1429224A1 (en) * 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
US7302590B2 (en) * 2003-01-06 2007-11-27 Microsoft Corporation Systems and methods for providing time-and weight-based flexibly tolerant hardware ID
US7290149B2 (en) * 2003-03-03 2007-10-30 Microsoft Corporation Verbose hardware identification for binding a software package to a computer system having tolerance for hardware changes
US7278131B2 (en) * 2003-03-03 2007-10-02 Microsoft Corporation Compact hardware identification for binding a software package to a computer system having tolerance for hardware changes
EP1907901B1 (en) * 2005-07-28 2017-01-18 Alcatel Lucent System and method for remotely controlling device functionality
US7389426B2 (en) * 2005-11-29 2008-06-17 Research In Motion Limited Mobile software terminal identifier
US8503358B2 (en) * 2006-09-21 2013-08-06 T-Mobile Usa, Inc. Wireless device registration, such as automatic registration of a Wi-Fi enabled device
JP4692599B2 (ja) * 2008-09-19 2011-06-01 日本テキサス・インスツルメンツ株式会社 可変時分割多重伝送システム
US20110055917A1 (en) * 2009-08-28 2011-03-03 Sony Ericsson Mobile Communications Ab Valid access to mobile device application
US8537831B2 (en) * 2010-02-17 2013-09-17 Alcatel Lucent Method and system for common group action filtering in telecom network environments
US8417962B2 (en) * 2010-06-11 2013-04-09 Microsoft Corporation Device booting with an initial protection component
CN106055930A (zh) * 2010-11-05 2016-10-26 交互数字专利控股公司 设备检验和遇险指示
US20120331526A1 (en) * 2011-06-22 2012-12-27 TerraWi, Inc. Multi-level, hash-based device integrity checks
WO2014036021A1 (en) * 2012-08-28 2014-03-06 Visa International Service Association Secure device service enrollment
US10356204B2 (en) * 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US9716708B2 (en) * 2013-09-13 2017-07-25 Microsoft Technology Licensing, Llc Security certificates for system-on-chip security
US9473545B2 (en) * 2013-09-13 2016-10-18 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Administering group identifiers of processes in a parallel computer
US9319863B2 (en) * 2014-04-09 2016-04-19 Qualcomm Incorporated System and methods for increasing efficiency of a public land mobile network search in service acquisition on a multi-SIM wireless device
US9565169B2 (en) * 2015-03-30 2017-02-07 Microsoft Technology Licensing, Llc Device theft protection associating a device identifier and a user identifier
CN104994466B (zh) * 2015-08-11 2018-05-01 广东欧珀移动通信有限公司 多播放设备的蓝牙连接控制方法、装置及音乐播放系统
US10212601B2 (en) * 2016-01-21 2019-02-19 Motorola Mobility Llc Hardware verification with RFID-stored build information
US9807615B2 (en) * 2016-03-17 2017-10-31 International Business Machines Corporation Disabling a mobile device that has stolen hardware components
US20190087576A1 (en) * 2016-04-14 2019-03-21 Rhombus Systems Group, Inc. System for verification of integrity of unmanned aerial vehicles
US11157901B2 (en) * 2016-07-18 2021-10-26 Dream Payments Corp. Systems and methods for initialization and activation of secure elements
WO2018112381A1 (en) * 2016-12-15 2018-06-21 Matrics2, Inc. PRODUCT DATA INTERFACE THROUGH A PERSONAL ASSISTANCE SOFTWARE AGENT USING RANDOM NUMBER IDENTIFIERS (RNIDs)
US10365931B2 (en) * 2017-02-27 2019-07-30 Microsoft Technology Licensing, Llc Remote administration of initial computer operating system setup options
US10549347B2 (en) * 2017-04-05 2020-02-04 General Electric Company System and method for authenticating components
US10706139B2 (en) * 2017-04-05 2020-07-07 General Electric Company System and method for authenticating components
CN107222476B (zh) * 2017-05-27 2018-02-16 国网山东省电力公司 一种认证服务方法
US20200220724A1 (en) * 2017-08-21 2020-07-09 Mitsubishi Electric Corporation Key management device, and communication apparatus
US11075925B2 (en) * 2018-01-31 2021-07-27 EMC IP Holding Company LLC System and method to enable component inventory and compliance in the platform
JP7038208B2 (ja) * 2018-06-18 2022-03-17 株式会社Nttドコモ サービス提供装置
US10824700B2 (en) * 2018-08-02 2020-11-03 Arm Limited Device, system, and method of selective activation, deactivation, and configuration of components

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015495A (ja) * 2002-06-07 2004-01-15 Sony Corp 権限管理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
KR20120018327A (ko) * 2009-04-15 2012-03-02 인터디지탈 패튼 홀딩스, 인크 네트워크와의 통신을 위한 장치의 검증 및/또는 인증
KR20160013196A (ko) * 2013-05-29 2016-02-03 비자 인터네셔널 서비스 어소시에이션 보안 요소에서 수행되는 검증 시스템 및 방법
KR20150026651A (ko) * 2013-09-03 2015-03-11 삼성전자주식회사 알림을 제공하는 방법 및 그 전자 장치

Also Published As

Publication number Publication date
KR102325912B1 (ko) 2021-11-12
EP3678396A1 (en) 2020-07-08
US20200220865A1 (en) 2020-07-09
CN111538979A (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
KR102325912B1 (ko) 디바이스에 대한 총체적 모듈 인증
US9788209B2 (en) Apparatus and methods for controlling distribution of electronic access clients
US11375363B2 (en) Secure updating of telecommunication terminal configuration
AU2013101034A4 (en) Registration and authentication of computing devices using a digital skeleton key
US7886355B2 (en) Subsidy lock enabled handset device with asymmetric verification unlocking control and method thereof
CN109547464B (zh) 用于存储和执行访问控制客户端的方法及装置
EP2630816B1 (en) Authentication of access terminal identities in roaming networks
US20080003980A1 (en) Subsidy-controlled handset device via a sim card using asymmetric verification and method thereof
US10462667B2 (en) Method of providing mobile communication provider information and device for performing the same
US9639692B1 (en) Dynamic on-device passcodes to lock lost or stolen devices
US8819765B2 (en) Security policy distribution to communication terminals
EP3550786B1 (en) Certificate acquisition method, authentication method and network device
CN108702296A (zh) 蜂窝设备认证
GB2454792A (en) Controlling user access to multiple domains on a terminal using a removable storage means
WO2018010480A1 (zh) eSIM卡锁网方法、终端及锁网认证服务器
CN111247521A (zh) 将多用户设备远程锁定为用户集合
WO2017201908A1 (zh) 应用程序安全管理方法和系统
EP3550765B1 (en) Service provisioning
US11445374B2 (en) Systems and methods for authenticating a subscriber identity module swap
US10820200B2 (en) Framework for securing device activations
CN110287725B (zh) 一种设备及其权限控制方法、计算机可读存储介质
JP5165725B2 (ja) モバイル機器を認証する方法及び装置
US11979396B2 (en) Information security system and method for machine-to-machine (M2M) security and validation
CN115828223A (zh) 操作系统登录方法、电子设备及存储介质
CN110557745A (zh) 用于管理用户设备的锁定的系统和方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant