CN105447381A - 用于授予权限的基于令牌的方案 - Google Patents

用于授予权限的基于令牌的方案 Download PDF

Info

Publication number
CN105447381A
CN105447381A CN201510600042.3A CN201510600042A CN105447381A CN 105447381 A CN105447381 A CN 105447381A CN 201510600042 A CN201510600042 A CN 201510600042A CN 105447381 A CN105447381 A CN 105447381A
Authority
CN
China
Prior art keywords
authority
application
electronic equipment
token
database
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201510600042.3A
Other languages
English (en)
Other versions
CN105447381B (zh
Inventor
吴明镇
朴周夏
M.帕克
赵成奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN105447381A publication Critical patent/CN105447381A/zh
Application granted granted Critical
Publication of CN105447381B publication Critical patent/CN105447381B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

一种电子设备,包括:存储器;以及至少一个处理器,其被配置为:利用与应用相关联的安装文件来安装应用;基于安装文件中包括的权限设定令牌向应用授予至少一个权限;以及在数据库中存储对应用被授予权限的指示。

Description

用于授予权限的基于令牌的方案
相关申请的交叉引用
本申请要求2014年9月18日在韩国知识产权局递交的申请号为10-2014-0124512的韩国专利申请的权益,在此通过引用并入该韩国专利申请的全部公开内容。
技术领域
本公开概括而言涉及电子设备,更具体而言涉及用于授予权限的基于令牌的方案。
背景技术
电子设备通常被设计为具有并执行应用来执行各种功能。用户能够通过应用市场(app市场,例如Android的Playstore或者iOS的Appstore)选择并下载期望的应用。密钥签名被用作验证通过应用市场分发的应用的完整性以及根据应用的操作设定权限的方式。
在使用这种密钥签名的安全模式中,出现了若干问题,即,其中安装的应用不必要地有太多权限,并且中断曾经给予的权限是困难的。另外,必须管控不必要地使用太多权限的恶劣应用泄漏个人信息和收集非法信息。
发明内容
一种电子设备,包括:存储器;以及至少一个处理器,其被配置为:利用与应用相关联的安装文件来安装应用;基于安装文件中包括的权限设定令牌向应用授予使用电子设备的系统资源的权限;以及在数据库中存储对应用被授予权限的指示。
一种方法,包括:由电子设备利用与应用相关联的安装文件来安装应用;基于安装文件中包括的权限设定令牌向应用授予至少一个权限;以及在数据库中存储对应用被授予权限的指示。
通过以下结合附图公开本公开的各种实施例的详细描述,本领域技术人员将清楚本公开的其他方面、优点和显著特征。
附图说明
通过以下结合附图的描述,本公开的某些实施例的上述和其他方面、特征和优点将更加清楚,附图中:
图1图示出根据本公开的各种实施例的网络环境中的电子设备的示例的图;
图2是根据本公开的各种实施例的程序模块的示例的框图;
图3是根据本公开的各种实施例的权限处理模块的示例的图;
图4是根据本公开的实施例的过程的示例的流程图;
图5是根据本公开的各种实施例的过程的示例的流程图;
图6是根据本公开的各种实施例的令牌数据库的示例的图;
图7是根据本公开的各种实施例图示出权限设定令牌的示例代码的图;
图8是根据本公开的各种实施例图示出包括权限设定令牌的应用的安装文件的示例的配置图;并且
图9是根据本公开的各种实施例的电子设备的示例的框图。
贯穿各图,应当注意相似的标号用于描述相同或相似的元素、特征和结构。
具体实施方式
以下,将结合附图来描述本公开的各种实施例。然而,本文描述的各种实施例不被故意限制于特定实施例中,而应当被解释为包括多种多样的修改、等同和/或替换。至于附图的描述,相似的标号指代相似的元素。
本文使用的术语“具有”、“可具有”、“包括”、“可包括”、“包含”或“可包含”指示相应特征(例如,数值、功能、操作或组件)的存在,但不排除其他特征。
按照本文使用的,术语“A或B”、“A或/和B中的至少一者”或者“A或/和B中的一个或多个”可包括一起列举的所有允许组合。例如,术语“A或B”、“A和B中的至少一者”或者“A或B中的至少一者”可指示以下所有情况:(1)包括至少一个A,(2)包括至少一个B,或者(3)包括至少一个A和至少一个B两者。
按照本文使用的,诸如“第1”、“第2”、“第一”、“第二”等等之类的术语可用于限定各种元素,无论其顺序和/或优先级如何,只是区分一者与另一者,而不将这些元素限制于此。例如,第一用户设备和第二用户设备两者指示不同的用户设备。例如,在不脱离本公开的范围的情况下,第一组件可被称为第二组件,反之亦然。
按照本文使用的,如果一个元素(例如,第一元素)被称为“与另一元素(例如,第二元素)操作性地或通信地连接/操作性地或通信地连接到另一元素”或者“与另一元素连接/连接到另一元素”,则应当理解前者可与后者直接耦合,或者经由居间元素(例如,第三元素)与后者连接。否则,要理解如果一个元素被称为“与另一元素直接耦合/直接耦合到另一元素”或者“与另一元素直接连接/直接连接到另一元素”,则可理解在它们之间不存在居间元素。
在说明书或权利要求中,术语“被配置为”(或“被设定为”)可与诸如“适用于”、“具有……的能力”、“被设计为”、“适合于”、“被使得”或者“能够”之类的其他暗示含义交换,并且可不简单指示“被具体设计为”。或者,在一些情况中,术语“一设备被配置为”可指示该设备与其他设备或组件一起“可做”某事。例如,术语“一处理器被配置为(或被设定为)执行A、B和C”可指示出一通用处理器(例如,CPU或应用处理器)能够通过执行存储在为操作准备的专属处理器(例如,嵌入式处理器)中或者存储器中的一个或多个软件或程序来执行其相关操作。
本说明书中使用的术语只是用于描述本公开的各种实施例并且可不意图限制本公开的范围。单数形式的术语可包括复数形式,除非另有规定。除非本文另有定义,否则本文使用的所有术语——包括技术或科学术语——可具有与本领域技术人员一般理解的含义相同的含义。还要理解,在字典中定义的常用的术语也应当按照相关领域中惯常的方式来解释,而不应当以理想化的或者过度正式的方式来解释,除非这里在本公开的各种实施例中明确地这样定义。在一些情况中,即使说明书中定义的术语也可不被理解为排除本公开的实施例。
根据本公开的各种实施例的电子设备可包括例如以下各项中的至少一者:智能电话、平板个人计算机(平板PC)、移动电话、视频电话、电子书阅读器、桌面型PC、膝上型PC、上网本计算机、工作站、服务器、个人数字助理(personaldigitalassistant,PDA)、便携式多媒体播放器(portablemultimediaplayer,PMP)、MP3播放器、移动医疗设备、相机、可穿戴设备(例如,电子眼镜,或者头戴式设备(head-mounted-device,HMD)、电子服装、电子手镯、电子项链、电子应用配件、电子纹身、智能镜、智能手表等等),等等。
在一些实施例中,电子设备可以是智能家用电器。智能家用电器例如可包括以下各项中的至少一者:电视(TV)、数字多功能盘(digitalversatiledisc,DVD)播放器、音响、冰箱、空调、清洁器、炉、微波炉、洗衣机、空气净化器、机顶盒、家庭自动控制面板、安保控制面板、TV盒(例如,SamsungHomeSyncTM、AppleTVTM、GoogleTVTM,等等)、游戏机(例如,XboxTM、PlayStationTM,等等)、电子字典、电子钥匙、便携式摄像机、电子相框,等等。
在其他实施例中,电子设备可包括以下各项中的至少一者:各种医疗设备(例如,便携式医疗测量仪器(血糖测量仪器、心脏脉动测量仪器、血压测量仪器或者体温测量仪器)、磁共振血管造影(magneticresonanceangiography,MRA)设备、磁共振成像(magneticresonanceimaging,MRI)设备、计算机断层扫描(computedtomography,CT)设备、扫描仪以及超声设备)、导航设备、全球定位系统(globalpositioningsystem,GPS)接收器、行车记录仪(eventdatarecorder,EDR)、飞行数据记录器(flightdatarecorder,FDR)、车辆信息娱乐设备、船用电子设备(例如,导航系统和陀螺罗盘)、航空电子设备、安保设备、车头单元、工业或家用机器人、金融机构的自动柜员机(automaticteller’smachine,ATM)、商店的销售点(pointofsales,POS)以及物联网(例如,电灯泡、各种传感器、电表或气表、洒水单元、火警报警器、恒温器、路灯、烤面包器、锻炼器械、热水箱、锅炉,等等)。
根据一些实施例,电子设备可包括以下各项中的至少一者:具有通信功能的家具或建筑物/构筑物的一部分、电子板、电子签名接收设备、投影仪以及包括金属外壳的各种测量仪器(例如,水表、电表、气表和测波表)。在各种实施例中,电子设备可以是上述设备的一个或多个组合。根据一些实施例的电子设备可以是柔性电子设备。此外,根据本公开的各种实施例的电子设备可不限于上述设备,而是可包括由于技术发展而出现的新电子设备。
以下,将结合附图描述根据各种实施例的电子设备。在对各种实施例的描述中,术语“用户”可以指使用电子设备的人或者使用电子设备的设备(例如,人工智能电子设备)。
图1图示出根据本公开的各种实施例的网络环境中的电子设备的示例的图。
参考图1,下面将描述根据本公开的各种实施例的网络环境100中的电子设备101。电子设备101可包括总线110、处理器120、存储器130、输入/输出(I/O)接口150、显示器160和通信接口170。在一些实施例中,电子设备101可从中排除这些元素中的至少一者或者其中可进一步包括另外的元素。
总线110例如可包括将元素110~170相互连接并且在元素之间中继通信(控制消息和/或数据)的电路。
处理器120可包括任何适当类型的处理电路,例如一个或多个通用处理器(例如,基于ARM的处理器)、数字信号处理器(DigitalSignalProcessor,DSP)、可编程逻辑器件(ProgrammableLogicDevice,PLD)、专用集成电路(Application-SpecificIntegratedCircuit,ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA),等等。额外地或替换地,处理器120可包括中央处理单元(centralprocessingunit,CPU)、应用处理器(applicationprocessor,AP)或通信处理器(communicationprocessor,CP)中的至少一个或多个。处理器120例如可执行用于电子设备101的至少一个其他元素的控制和/或通信的计算或数据操作。
存储器130可包括任何适当类型的易失性或非易失性存储器,例如随机存取存储器(RandomAccessMemory,RAM)、只读存储器(Read-OnlyMemory,ROM)、网络可访问存储(NetworkAccessibleStorage,NAS)、云存储、固态驱动器(SolidStateDrive,SSD),等等。存储器130可包括易失性和/或非易失性存储器。存储器130可存储例如电子设备101中的至少一个其他元素中涉及的指令或数据。根据一实施例,存储器130中可存储软件和/或程序140。程序140可包括例如内核141、中间件143、应用编程接口(applicationprogramminginterface,API)145和/或应用程序(或“应用”)147。内核141、中间件143或API145的至少一部分可被称为操作系统(operatingsystem,OS)。
根据各种实施例,存储器130可包括令牌数据库340。令牌数据库340可存储关于对每个应用147允许的权限和有效权限时段的信息。在执行应用147的情况中可参考令牌数据库340。可基于令牌数据库340中存储的信息来设定应用147的权限。
内核141可控制或管理例如用于执行在其他程序(例如,中间件143、API145或应用程序147)中实现的操作或功能的系统资源(例如,总线110、处理器120或存储器130)。此外,内核141可提供能够通过从中间件143、API145或应用程序147接近电子设备101的个体元素来控制或管理系统资源的接口。
中间件143可执行斡旋功能以允许例如API145或应用程序147与内核141通信和交换数据。此外,关于从应用程序147接收的工作请求,中间件143可利用向应用程序147的至少一个应用中指定或安排允许电子设备101使用系统资源(例如,总线110、处理器120或存储器130)的优先级的方法来执行例如对工作请求的控制操作(例如,调度或负载均衡)。
在各种实施例中,中间件143可包括权限处理模块240。权限处理模块240可执行设定每个应用的权限的功能。在应用的安装文件包括独立于密钥签名模式的权限信息的情况中,权限处理模块240可根据权限信息对应用设定权限,而不通过密钥签名来设定权限。将结合图3至图9来描述权限处理模块240的配置和操作。
API145可例如是用于允许应用147控制从内核141或中间件143提供的功能的接口。例如,API145可包括用于文件控制、窗口控制或字符控制的至少一个接口或功能(例如,指令)。
输入/输出接口150可例如充当能够将从用户或另一外部设备输入的指令或数据传送到电子设备101的(一个或多个)其他元素的接口。此外,输入/输出接口150可以把从电子设备101的(一个或多个)另外元素接收的指令或数据输出到用户或另一外部设备。
显示器160可包括例如液晶显示器(liquidcrystaldisplay,LCD)、发光二极管(light-emittingdiode,LED)、有机LED(organicLED,OLED)显示器、微机电系统(microelectromechanicalsystem,MEMS)显示器或者电子纸。显示器160可向用户显示例如各种内容(例如,文本、图像、视频、图标或符号)。显示器160可包括触摸屏,并且例如可接收利用电子笔或用户身体的一部分做出的触摸、手势、接近或悬停的输入。
通信接口170可设定例如电子设备101与外部电子设备(例如,第一外部电子设备102、第二外部电子设备或服务器106)之间的通信条件。例如,通信接口170可通过无线通信(或本地无线通信)或有线通信与连接到网络162的外部电子设备(例如,第二外部电子设备104或服务器系统106)通信。
无线通信可使用例如LTE、LTE-A、CDMA、WCDMA、UMTS、WiBro或GSM中的至少一者。有线通信可包括例如以下各项中的至少一者:通用串行总线(universalserialbus,USB)、高清晰度多媒体接口(highdefinitionmultimediainterface,HDMI)、推荐标准232(recommendedstandard232,RS-232)或者普通老式电话服务(plainoldtelephoneservice,POTS)。网络162可包括电信网络,例如计算机网络(例如,LAN或WLAN)、因特网或电信网络中的至少一者。
第一和第二外部电子设备102和104的每一者可以与电子设备101相同或不同。根据一实施例,服务器106可包括一个或多个服务器的群组。根据各种实施例,在电子设备101中执行的操作的全部或一部分可在另一个或多个电子设备(例如,电子设备102或104或者服务器106)中执行。根据一实施例,在需要自动地或者按照对电子设备101的请求执行一功能或服务的情况中,除了自己执行以外或者取代自己执行,电子设备101可向另一设备(例如,电子设备102或104或者服务器106)请求该功能或服务的至少一部分。这种另一设备(例如,电子设备102或104,或者服务器106)可执行这种请求的或额外的功能,然后传送功能的执行结果。电子设备101可按原样或额外地处理接收到的结果来提供请求功能或服务。为此,例如,可能可以采用云计算、分布式计算或者客户端-服务器计算技术。
根据各种实施例,电子设备101可向外部电子设备(例如,电子设备102或104,或者服务器106)提供存储在令牌数据库340处的权限信息,或者可从外部电子设备接收修改权限信息的信号。电子设备101在需要修改或校正给予其的权限的情况中可在安装应用之后通过外部电子设备更新权限。
图2是根据本公开的各种实施例的程序模块的示例的框图。
参考图2,根据一实施例,程序模块210可包括操作系统(OS)来控制与电子设备(例如,电子设备101)相关的资源,和/或在操作系统上驱动的各种应用(例如,应用147)。操作系统可以例如是Android、iOS、Windows、Symbian、Tizen或Bada。
程序模块210可包括内核220、中间件230和/或应用270。程序模块210的至少一部分可被预加载到电子设备中或者可从服务器(例如,服务器系统106)下载。
内核220(例如,图1的内核141)可包括例如系统资源管理器221或者设备驱动器223。系统资源管理器221可执行系统资源的控制、分配或取回。根据一实施例,系统资源管理器221可包括过程管理部、存储器管理部或文件系统管理部。设备驱动器223可包括例如显示驱动器、相机驱动器、蓝牙驱动器、共同存储器驱动器、USB驱动器、小键盘驱动器、WiFi驱动器、音频驱动器或者进程间通信(inter-processcommunication,IPC)驱动器。
中间件230可提供例如应用270共同需要的功能,或者通过API260向应用270提供各种功能以允许应用270高效地使用电子设备的有限系统资源。根据一实施例,中间件230(例如,中间件143)可包括以下各项中的至少一者:运行时库235、权限处理模块240、安装模块(程序包管理器)241、执行模块(活动管理器)242、应用管理器243、窗口管理器244、多媒体管理器247、资源管理器246、电力管理器247、数据库管理器248、连通性管理器249、通知管理器250或者位置管理器251。
运行时库235可包括例如库模块,该库模块被编译器用来在应用270正被执行的同时通过编程语言添加新功能。运行时库235可执行输入/输出管理、存储器管理或者关于运算函数的功能。
权限处理模块240可设定每个应用的权限。权限处理模块240可判定是否包括应用的安装文件的权限设定令牌。权限设定令牌可以是定义应用能够使用的权限范围的数据。权限设定令牌可包括关于权限设定的信息(以下,称为“权限信息”),例如权限、时段信息(例如,有效时段)、认证信息,等等。
在各种实施例中,权限处理模块240可检查权限设定令牌的有效性,并且在权限设定令牌有效的情况下将权限信息存储在令牌数据库340中。在应用的执行中可参考存储在令牌数据库340中的权限信息。
安装模块241(例如,程序包管理器)可管理以程序包文件的形式分发的应用的安装或更新。在各种实施例中,程序包管理器241可以以包括权限处理模块240的至少一部分的形式实现。
执行模块242(例如,活动管理器)可执行诸如应用的执行和终止、应用之间的意图传送等等之类的功能。执行模块242可通过在应用被执行的情况下直接参考令牌数据库340,或者经由权限处理模块240参考令牌数据库340,来执行应用。
应用管理器243例如可管理应用270之中的至少一个应用的生命周期。窗口管理器244可管理屏幕中使用的GUI资源。多媒体管理器245可识别播放各种媒体文件所需要的格式,并且通过使用适合于该格式的编解码器来执行对媒体文件的编码或解码工作。资源管理器246可管理应用270之中的至少一个应用的诸如存储空间、存储器或源代码之类的资源。
电力管理器247例如可与基本输入/输出系统(basicinput/outputsystem,BIOS)一起操作来管理电池或电力,并且可以为电子设备的操作提供电力信息。数据库管理器248可生成、搜索或修改在应用270之中的至少一个应用中要使用的数据库。
连通性管理器249例如可管理诸如WiFi或蓝牙之类的无线连接。通知管理器250可以以不打扰用户的模式显示或通知诸如到达消息、约定事项或接近通知之类的事件。位置管理器251可管理电子设备的位置信息。根据一实施例,在电子设备(例如,电子设备101)包括电话功能的情况中,中间件230可还包括用于管理电子设备的语音或图像呼叫功能的电话管理器。
中间件230可包括用于形成上述元素的各种功能的组合的中间件模块。中间件230为了提供差别化的功能可按照操作系统的种类提供专门的模块。此外,中间件230可动态地去除先前存在的元素的一部分,或者向其添加新元素。
API260(例如,API145)例如可以是API编程功能的集合,并且可按取决于操作系统可变的配置来提供。例如,在操作系统是Android或iOS的情况中,对每个平台提供一个API集合可能是可允许的。在操作系统是Tizen的情况中,对每个平台提供两个或更多个API集合可能是可允许的。
应用270(例如,应用147)例如可包括能够提供用于首页271、拨号器272、SMS/MMS273、即时消息(instantmessage,IM)274、浏览器275、相机276、闹钟277、联系人278、语音拨号279、电子邮件280、日历281、媒体播放器282、相册283和时钟284的功能或者用于提供卫生保健(例如,测量锻炼量或血糖)或环境信息(例如,大气压、湿度或温度)的一个或多个应用。
根据一实施例,应用270可包括用于支持电子设备(例如,电子设备101)和外部电子设备(例如,电子设备102或104)之间的信息交换的应用(以下,为了描述的方便称为“信息交换应用”)。信息交换应用例如可包括用于向外部电子设备发送特定信息的通知中继应用,或者用于管理外部电子设备的设备管理应用。
例如,通知中继应用可包括向外部电子设备(例如,电子设备102或104)发送由其他应用(例如,用于SMS/MMS、电子邮件、卫生保健或环境信息的应用)产生的通知信息的功能。此外,通知中继应用例如可从外部电子设备接收通知信息并且可向用户提供通知信息。设备管理应用例如可管理(例如,安装、删除或更新)与电子设备101通信的外部电子设备(例如,电子设备104)的至少一个功能(例如,外部电子设备本身(或组件的一部分)的开启/关闭或者显示器的亮度(或分辨率)的调整)、在外部电子设备中操作的应用或者从外部电子设备提供的服务(例如,呼叫服务或消息服务)。
根据一实施例,应用270可包括根据外部电子设备(例如,电子设备102或104)的属性(例如,作为一种电子设备的移动医疗设备的属性)向其指派的应用(例如,卫生保健应用)。根据一实施例,应用270可包括从外部电子设备(例如,电子设备102或104)接收的应用。根据一实施例,应用270可包括预加载的应用或者可从服务器下载的第三方应用。根据图示的实施例的程序模块210的元素的标题可根据操作系统的种类加以修改。
根据各种实施例,程序模块210的至少一部分可以用软件、固件、硬件或者它们之中的至少两个或更多个组合来实现。程序模块210的至少一部分例如可由处理器(例如,处理器210)来实现(例如,执行)。程序模块210的至少一部分可包括例如用于执行一个或多个功能的模块、程序、例程、指令集合和/或进程。
图3是根据本公开的各种实施例的权限处理模块的示例的图。
参考图3,权限处理模块240可包括令牌审查单元310、令牌认证单元320和权限授予单元330。
令牌审查单元310可判定用于安装应用的安装文件是否包括权限设定令牌。权限设定令牌可包括定义应用可使用的权限范围的任何适当类型的数据结构(或信息项)。权限范围在一些实现方式中可包括以下各项中的至少一者:(i)应用在被电子设备执行时被允许访问的电子设备101的一个或多个系统资源的列表,(ii)被允许执行的应用的一个或多个功能的列表,(iii)对允许应用访问的关于电子设备100的状态信息的指示(例如,网络连接、处理器占用),以及(iv)允许应用执行的其他应用的列表。在一些实现方式中,该一个或多个系统资源可包括电子设备101的硬件资源(例如,相机)、文件(例如,图像文件)、数据结构(例如,地址表)和/或任何其他适当类型的系统资源。权限设定令牌可包括在应用中可使用的诸如权限、有效时段、认证信息等等之类的权限信息。
根据各种实施例,其安装文件不包括权限设定令牌的应用可根据安装文件中包括的密钥签名被设定以权限。
令牌认证单元320可检查权限设定令牌的有效性。权限设定令牌可包括认证信息。令牌认证单元320可在特定模式中检查认证信息的有效性。令牌认证单元320可起到防止权限信息被第三方修改的作用。在各种实施例中,令牌认证单元320可按照密钥签名模式检查权限设定令牌的有效性。
权限授予单元330可将经认证的权限信息存储在令牌数据库340中。存储的权限信息可在电子设备101中驱动的应用被执行的情况中被参考并且可允许特定功能被使用或者其使用被管控。在各种实施例中,权限授予单元330可通过对执行模块242的调用来识别令牌数据库340中包括的权限信息。
令牌数据库340可存储对每个应用允许的权限信息。令牌数据库340可存储安装的应用的列表,以及与每个应用相关联的一个或多个权限。在一些实现方式中,每个权限可包括以下各项中的至少一者:(i)对应用被允许访问的系统资源的指示,(ii)对被允许执行的应用的功能的指示,(iii)对允许应用访问的关于电子设备100的状态信息的指示(例如,网络连接、处理器占用),或者(iv)对允许应用执行的其他应用的指示。此外,令牌数据库340还可包括时段信息(例如,有效时段)、开发者信息,等等。在一些实现方式中,令牌数据库340可以以文件的形式来实现,在该文件中连续地布置着应用列表和相关信息。在一些实现方式中,可通过外部电子设备(例如,服务器106)同步或更新令牌数据库340。虽然在图1和图3中,数据库240被描绘为集成在电子设备101中,但在一些实现方式中,数据库340可位于远程服务器中并且可通过通信网络来访问。根据各种实施例,一种安装并驱动应用的电子设备可包括通过安装文件来安装应用的安装模块,利用安装文件中包括的权限设定令牌来设定应用的权限的权限处理模块,以及存储权限设定令牌中包括的权限信息的令牌数据库。
根据各种实施例,权限处理模块可包括用于判定安装文件是否包括权限设定令牌的令牌审查单元。在安装文件不包括权限设定令牌的情况中,令牌审查单元可终止使用权限设定令牌的权限设定过程。
根据各种实施例,权限处理模块还可包括用于验证权限设定令牌的有效性的令牌认证单元。令牌认证单元通过特定的算法检查权限设定令牌中包括的认证信息并且可确定权限设定令牌的有效性。
根据各种实施例,权限处理模块还可包括用于在权限设定令牌有效的情况下将权限信息存储在令牌数据库中的权限授予单元。如果应用被执行,则权限授予单元可搜索令牌数据库以给予特定权限。在一些实现方式中,在需要通过应用指定的权限使用功能的情况中,权限授予单元可搜索令牌数据库以给予该权限。
根据各种实施例,权限设定令牌可包括关于应用可使用的权限和权限的有效时段的信息。权限设定令牌可对应用可使用的每个权限设定有效时段。
根据各种实施例,可以由从外部电子设备接收的控制信号来更新令牌数据库。可以用识别生产电子设备的制造者的密钥来对权限设定令牌签名。
根据各种实施例,电子设备还包括执行应用的执行模块,并且执行模块可根据在权限设定令牌中设定的权限来执行应用。执行模块可直接搜索令牌数据库,或者通过权限处理模块搜索令牌数据库。
图4是根据本公开的实施例的过程的示例的流程图。
参考图4,在操作410中,安装模块241可通过安装文件安装应用。例如,在Android操作系统中,安装模块241可以是程序包管理器并且安装文件可以是具有.apk扩展名的文件。安装模块241可在应用开始被安装之后通过权限处理模块240检查与安装文件相关联的权限设定令牌的存在和有效性。
在操作420中,令牌审查单元310可判定安装文件是否包括权限设定令牌。权限设定令牌可以是定义应用可使用的权限范围的数据。权限设定令牌可包括应用可使用的诸如权限、时段信息(例如,有效时段)、认证信息等等之类的权限信息。
在安装文件不包括权限设定令牌的情况下,令牌审查单元310可不执行额外的工作。不包括权限设定令牌的应用的权限可由检查密钥签名的有效性的模式来设定。
在操作430中,令牌认证单元320可验证权限设定令牌的有效性。权限设定令牌可包括额外的认证信息(例如,散列值)。令牌认证单元320可在特定模式中检查认证信息并且可判定权限设定令牌是否是由特定开发者或制造者插入的,或者是否在没有权限的情况下被校正或修改了。
例如,应用的开发者(或开发公司)可向电子设备101的制造者提供按特定散列算法从证书信息和特定文件(例如,classes.dex)散列的值。制造者可以用制造者的密钥对认证信息和特定文件签名并且可生成令牌。令牌认证单元320可通过散列算法确认权限设定令牌中包括的认证信息的有效性并且可确定权限设定令牌的发布正常性和完好性。
根据各种实施例,在权限设定令牌无效的情况中,令牌认证单元320可中断应用的安装和/或通知用户与应用相关联的权限设定令牌不能被确认有效。
在操作440中,如果权限设定令牌有效,则权限授予单元330可将至少一个权限存储在令牌数据库340中。在一些实现方式中,权限的指示可标识以下各项中的至少一者:(i)应用被允许访问的电子设备101的系统资源,或者(ii)对被允许执行的应用的功能的指示。认证信息可包括应用列表、对各应用分别允许的权限的种类、有效时段,等等。
图5是根据本公开的各种实施例的过程的示例的流程图。
参考图5,在操作510中,执行模块(例如,活动管理器)242可启动应用。例如,执行模块242可执行由用户选择或者由另一应用调用的应用。
根据各种实施例,在操作515中,执行模块242可判定是否有对特定功能(或操作)的执行请求。例如,在检查应用中的特定权限所必要的功能(例如,相机功能或地址表调用)需要被执行的情况中,执行模块242可执行用权限设定令牌或密钥签名来检查权限的过程(操作520至560)。
在操作520中,执行模块242可搜索令牌数据库340以寻找与启动的应用相关联的一个或多个权限。令牌数据库340可存储诸如应用列表、权限的种类、有效时段等等之类的权限信息。
根据各种实施例,执行模块242可通过权限处理模块240搜索令牌数据库340。权限处理模块240可通过权限授予单元330检查令牌数据库340的权限信息并且可将结果提供给执行模块242。虽然以下描述是关于令牌数据库被执行模块242直接参考的实施例的,但本公开的各种实施例可不限于此。
在操作530中,基于搜索的结果,执行模块242可判定令牌数据库340是否包括与应用相关联的权限信息。在一些实现方式中,具有权限设定令牌的应用的权限信息可在应用被安装时被存储在令牌数据库340中,但不包括额外的权限设定令牌的应用的权限信息可不被存储在令牌数据库340中。
在操作540中,在应用的权限信息不被存储在令牌数据库340中的情况中,执行模块242可允许应用根据按密钥签名模式分配的权限操作。
在操作550中,基于搜索的结果,执行模块242可判定请求执行的功能是否被允许执行。例如,执行模块242可判定在权限信息中是否定义了在应用中要使用的功能,并且即使在定义了的情况下,也还要判定其范围是否在有效时段内。
在操作560中,如果功能的执行被允许,则功能可被执行。
在操作570中,当功能的执行不被允许(或以其他方式被限制)时,执行模块242可阻止功能被执行和/或以受限制的方式执行功能。
根据各种实施例,一种设定在电子设备中驱动的应用的权限的方法可包括通过安装文件安装应用,判定安装文件是否包括权限设定令牌,检查权限设定令牌的有效性,并且如果权限设定令牌有效则将权限信息存储在令牌数据库中。
根据各种实施例,该方法还可包括如果应用被执行则通过参考令牌数据库来设定权限。在各种实施例中,在需要使用要求应用指定的权限的功能的情况中,该方法还可包括通过参考令牌数据库来给予该权限。
图6是根据本公开的各种实施例的令牌数据库的示例的图。
参考图6,令牌数据库340可包括应用列表610、权限信息620和时段信息630。然而,图6只是例示性的,而本公开的各种实施例可不限于此。
应用列表610可示出安装的应用之中的由包括权限设定令牌的安装文件安装的应用。在各种实施例中,应用列表610可包括电子设备101中安装的所有应用的列表。在此,没有由额外的权限设定令牌定义权限的应用可根据由一般密钥签名模式分配的权限来操作。
权限信息620可示出对各应用分别允许的权限的种类。例如,应用1可被允许权限1(例如,用于对相机模块的使用)、权限3(例如,用于对存储的图像的使用)以及权限4(例如,用于检查地址表的内容)。
时段信息630可示出对各应用分别允许的权限的有效时段。即使令牌数据库340中定义的权限在有效时段之外,执行模块242也可管控相应的功能并且其可中断应用或者可向用户提供相关消息。在各种实施例中,对于每个权限信息项可提供不同的时段信息。例如,第一权限信息项可与第二相应时段相关联。
图7是根据本公开的各种实施例图示出权限设定令牌的示例代码的图。
参考图7,权限设定令牌可包括主体信息710、权限信息720、时段信息730和认证信息740。然而,图7只是例示性的,而本公开的各种实施例可不限于此。
主体信息710可包括定义权限设定令牌701的制造者或开发者的识别信息。例如,在制造者对由多个开发者制作的应用设定权限的情况中,主体信息710可包括关于定义权限的制造者和请求权限定义的开发者的识别信息。
权限信息720可定义对每个应用允许的权限。例如,权限信息720可对应用1定义权限1(例如,用于对相机模块的使用)、权限3(例如,用于对存储的图像的使用)以及权限4(例如,用于检查地址表的内容)。
时段信息730可包括对各应用分别允许的权限的有效时段。在各种实施例中,时段信息730可定义对其允许的权限的终止时间,或者可定义对其允许的权限的临时暂停时段。
认证信息740可用于在令牌认证单元320中检查权限设定令牌的有效性。认证信息740可对应于能够根据特定模式来检查的散列值或认证码。认证信息740可防止权限信息被第三方校正或修改。
图8是根据本公开的各种实施例图示出包括权限设定令牌的应用的安装文件的示例的配置图。
参考图8,应用的安装文件可包括源代码810、资源文件820、编译信息830和权限设定令牌840。此配置是示范性地按功能来分类的,而本公开的各种实施例可不限于此。例如,权限设定令牌840可被实现为被包括在编译信息830中。
源代码810可以是形成开发者输入的应用的内容的数据。资源文件820可对应于用于驱动应用的图像或音频文件。编译信息830可以是包含关于应用元素的信息的文件(例如,AndroidMainfest.xml)。
权限设定令牌840可以是定义应用可使用的权限范围的数据。权限设定令牌840可包括应用可使用的诸如权限、有效时段、认证信息之类的权限信息。权限设定令牌840可由开发者或制造者定义和插入。
源代码810、资源文件820、编译信息830和权限设定令牌840可通过打包过程850被集成到一个安装文件中。集成的安装文件(预签名安装文件860)可被制造者或开发者的密钥所签名。
根据各种实施例,权限设定令牌840可由生产电子设备101的制造者插入并密钥签名。如果应用被开发,则开发者可向制造者提供应用的配置信息和驱动应用所必要的权限信息。制造者可基于从开发者提供的信息来审查设定权限的必要性。制造者可在定义其要求的权限设定令牌并且向其中插入安装文件之后进行密钥签名。
图9是根据本公开的各种实施例的电子设备的示例的框图。
参考图9,电子设备901可包括例如图1所示的电子设备101的元素的全部或一部分。电子设备901可包括应用处理器(AP)910、通信模块920、订户识别模块(subscriberidentificationmodule,SIM)卡924、存储器930、传感器模块940、输入单元950、显示器960、接口970、音频模块980、相机模块991、电力管理模块995、电池996、指示器997或马达998。
AP910例如可驱动操作系统或应用程序以控制连接到AP910的多个硬件或软件元素,并且可处理并计算各种不同的数据。AP910例如可实现在例如片上系统(system-on-chip,SoC)中。根据一实施例,AP910还可包括图形处理单元(graphicprocessingunit,GPU)和/或图像信号处理器。AP910甚至可包括图9所示的元素的至少一部分(例如,蜂窝模块921)。AP910可加载并处理从其他元素中的至少一者(例如,非易失性存储器)接收的指令或数据,并且将各种数据存储到这种非易失性存储器中。
通信模块920的配置可与图1的通信接口170相同或相似。例如,通信模块920可包括蜂窝模块921、WiFi模块923、蓝牙(BT)模块925、GPS模块927、NFC模块928和射频(radiofrequency,RF)模块929。
蜂窝模块921例如可通过通信网络提供语音呼叫、视频呼叫、字符服务或因特网服务。根据一实施例,蜂窝模块921可在通信网络中利用订户识别模块(例如,SIM卡)924执行电子设备的识别和认证。根据一实施例,蜂窝模块921可执行AP910可提供的功能的至少一部分。根据一实施例,蜂窝模块921可包括通信处理器(CP)。
WiFi模块923、BT模块925、GPS模块927和NFC模块828的每一者例如可包括用于处理通过相应模块发送和接收的数据的处理器。在一些实施例中,蜂窝模块921、WiFi模块923、BT模块925、GPS模块927和NFC模块928的至少一部分(例如,两个或更多个)可被包括在一个集成电路(integratedcircuit,IC)或IC封装中。
RF模块929例如可发送和接收通信信号(例如,RF信号)。RF模块929可包括收发器、功率放大器模块(poweramplifiermodule,PAM)、频率滤波器、低噪声放大器(lownoiseamplifier,LNA)或天线。根据另一实施例,蜂窝模块921、WiFi模块923、BT模块925、GPS模块927和NFC模块928的至少一者可通过额外的RF模块发送和接收RF信号。
SIM卡924例如可包括具有订户识别模块的卡和/或嵌入式SIM,并且包括唯一识别信息(例如,集成电路卡识别符(integratedcircuitcardidentifier,ICCID))或订户信息(例如,集成移动订户身份(integratedmobilesubscriberidentify,IMSI))。
存储器930(例如,存储器130)可包括例如嵌入式存储器932或外部存储器934。例如,嵌入式存储器932可包括以下各项中的至少一者:易失性存储器(例如,动态RAM(dynamicRAM,DRAM)、静态RAM(staticRAM,SRAM)、同步动态RAM(synchronousdynamicRAM,SDRAM),等等)、非易失性存储器(例如,一次可编程ROM(one-timeprogrammableROM,OTPROM)、可编程ROM(programmableROM,PROM)、可擦除可编程ROM(erasableandprogrammableROM,EPROM)、电可擦除可编程ROM(electricallyerasableandprogrammableROM,EEPROM)、掩模ROM、闪速ROM、NAND闪速存储器、NOR闪速存储器,等等)、硬盘驱动器或固态驱动器(solidstatedrive,SSD)。
外部存储器934还可包括闪盘驱动器,例如紧凑式闪存(compactflash,CF)、安全数字(securedigital,SD)、微型安全数字(SD)、袖珍SD、极速数字(extremedigital,xD)或者记忆棒。外部存储器934可通过各种接口功能性地和/或物理性地与电子设备901连接。
传感器模块940例如可测量物理量,或者检测电子设备901的操作状态,以将测量到的或者检测到的信息转换成电信号。传感器模块940可包括以下各项中的至少一者:势态传感器940A、陀螺传感器940B、压力传感器940C、磁传感器940D、加速度传感器940E、抓握传感器940F、接近传感器940G、颜色传感器940H(例如,RGB传感器)、生物体传感器940I、温度/湿度传感器940J、照明传感器940K或者UV传感器940M。额外地或替换地,例如,传感器模块940可包括例如电子鼻传感器、肌电图(electromyography,EMG)传感器、脑电图(electroencephalogram,EEG)传感器、心电图(electrocardiogram,ECG)传感器、红外(infrared,IR)传感器、虹膜传感器和/或指纹传感器。传感器模块940还可包括用于控制其中包括的至少一个或多个传感器的控制电路。在一些实施例中,电子设备901还可包括作为部分或额外元素被配置为控制传感器模块940的处理器,从而在处理器810处于休眠状态中时控制传感器模块840。
输入单元950例如可包括触摸面板952、(数字)笔传感器954、键956或者超声输入单元958。触摸面板952例如可采用电容型、电阻型、红外型或超声波型中的至少一种。此外,触摸面板952甚至还可包括控制电路。触摸面板952还可包括触觉层以为用户提供触觉反应。
(数字)笔传感器954例如可以是触摸面板的一部分,或者是额外的用于识别的薄片。键956例如可包括物理按钮、光学键或者小键盘。超声输入单元958可允许电子设备901通过生成超声信号的输入单元用麦克风(例如,麦克风888)检测声波,然后查找数据。
显示器960(例如,显示器160)可包括面板962、全息设备964或投影仪966。面板962可包括与图1的显示器160相同或相似的配置。面板962例如可实现为柔性的、透明的或者可穿戴的。面板962和触摸面板952可实现在一个模块中。全息设备964可利用光的干涉在空间中显示三维图像。投影仪966可将光投影到屏幕以显示图像。该屏幕例如可被放置在电子设备901的内部或外部。根据一实施例,显示器960还可包括用于控制面板962、全息设备964或投影仪966的控制电路。
接口970例如可包括高清晰度多媒体接口(HDMI)972、USB974、光学接口976或者D-sub(D-subminiature,超小型D)978。接口970例如可包括图1所示的通信接口170。额外地或替换地,接口970例如可包括移动高清晰度链路(mobilehigh-definitionlink,MHL)接口、SD卡/多媒体卡(multi-mediacard,MMC)接口或者红外数据联盟(infrareddataassociation,IrDA)标准接口。
音频模块980例如可在双方向上转换声音和电信号。音频模块980的至少一个元素例如可被包括在图1所示的输入/输出接口150中。音频模块980例如可处理通过扬声器982、接收器984、耳机986或麦克风988输入或输出的声音信息。
相机模块991例如可以是能够拍摄静止图片和运动图片的单元。根据一实施例,相机模块991可包括一个或多个图像传感器(例如,前置传感器或后置传感器)、镜头、图像信号处理器(imagesignalprocessor,ISP)或者闪光灯(例如,LED或氙灯)。
电力管理模块995例如可管理电子设备901的电力。根据一实施例,电力管理模块995可包括电力管理集成电路(powermanagementintegratedcircuit,PMIC)、充电器集成电路(IC)、电池量表或燃料量表。PMIC可在有线和/或无线充电模式中操作。无线充电模式例如可包括磁谐振、磁感应或电磁波的类型。对于无线充电模式,其中可进一步包括诸如线圈环电路、谐振电路或整流器之类的额外电路。电池量表例如可在电池正被充电的同时测量电池996的剩余量、电压、电流或温度。电池996例如可包括可再充电电池和/或太阳能电池。
指示器997可显示电子设备901或其一部分(例如,AP910)的特定状态,例如启动状态、消息状态或充电状态。马达998可将电信号转换成机械振动并且生成振动或触觉效果。虽然没有示出,但电子设备901可包括用于支持移动TV的处理单元(例如,GPU)。用于支持移动TV的处理单元例如可处理基于数字多媒体广播(digitalmultimediabroadcasting,DMB)、数字视频广播(digitalvideobroadcasting,DVB)或MediaFloTM的标准的媒体数据。
根据本公开的实施例的电子设备的上述元素的每一者可在一个或多个组件中实现,并且相关组件的名称可根据电子设备的种类而变化。在本公开的各种实施例中,电子设备可通过包括上述组件中的至少一者来形成,可排除一部分组件,或者可进一步包括额外的组件。否则,根据本公开的电子设备的一些组件可被组合以形成一个实体,从而使得也可能基本上按与组合前相同的特征执行相应组件的功能。
本文对于本公开的各种实施例使用的术语“模块”例如可意指包括硬件、软件和固件中的一个或者两个或更多个组合的单元。术语“模块”例如可与诸如单元、逻辑、逻辑块、组件或电路之类的术语互换。“模块”可以是集成在单个主体中的组件或者其一部分的最小单位。“模块”可以是执行一个或多个功能或其一部分的最小单位。可以机械地或电子地实现“模块”。例如,根据本公开的各种实施例的“模块”可包括被设计为执行一些操作并且是已知的或者将来要开发的专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)或可编程逻辑器件中的至少一者。
根据本公开的各种实施例的单元(例如,模块或其功能)或方法(例如,操作)的至少一部分例如可以用以编程模块的形式存储在计算机可读存储介质中的指令来实现。当这种指令被处理器(例如,处理器120)执行时,该处理器可执行与该指令相对应的功能。这种计算机可读介质例如可以是存储器130。
计算机可读记录介质可包括硬盘、磁介质(例如,磁带)、光介质(例如,CD-ROM、DVD、磁光介质(例如,软光盘))或者硬件设备(ROM、RAM或闪速存储器)。此外,程序指令不仅可包括机械代码,例如由编译器生成的东西,而且可包括计算机利用解释器等等可执行的高级别语言代码。上述硬件单元可被形成为作为用于根据本公开的各种实施例执行操作的一个或多个软件模块来操作,反之亦然。
根据本公开的各种实施例的模块或编程模块可包括上述元素中的至少一者,或者上述元素的一部分可被省略,或者可进一步包括额外的其他元素。根据本公开的实施例由模块、编程模块或其他元素执行的操作可被顺序地、并行地、反复地或者以试探方法执行。另外,操作的一部分可按不同的顺序执行、可被省略,或者可向其添加其他操作。
根据本公开的各种实施例,通过使用可定义需要的权限信息的权限设定令牌,可允许管控应用不具有大于必要的许可权限。
根据本公开的各种实施例,可允许通过权限设定令牌为应用的权限高效地设定有效时段。
根据本公开的各种实施例,可允许通过需要的权限设定令牌管控对应用给予的权限或者容易地修改应用的权限。
图1至图9只是作为示例提供的。对于这些附图论述的步骤中的至少一些可被同时执行,被按不同顺序执行,和/或被完全省略。要理解,本文描述的示例的提供,以及措辞为“比如”、“例如”、“包括”、“在一些方面中”、“在一些实现方式中”等等的语句不应当被解释为将要求保护的主题限制到特定示例。
本公开的上述方面可以用硬件、固件来实现或者经由可存储在诸如CD-ROM、数字多功能盘(DVD)、磁带、RAM、软盘、硬盘或磁光盘之类的记录介质中的软件或计算机代码或者通过网络下载的原本存储在远程记录介质或非暂态机器可读介质上并且要被存储在本地记录介质上的计算机代码的执行来实现,使得本文描述的方法可经由存储在记录介质上的这种软件利用通用计算机或者特殊处理器来实施或者在诸如ASIC或FPGA之类的可编程或专用硬件中实施。如现有技术中将会理解的,计算机、处理器、微处理器、控制器或可编程硬件包括存储器组件,例如RAM、ROM、闪存等等,这些存储器组件可存储或接收软件或计算机代码,这些软件或计算机代码当被计算机、处理器或硬件访问和执行时实现本文描述的处理方法。此外,将会认识到,当通用计算机访问用于实现本文示出的处理的代码时,代码的执行将通用计算机变换成用于执行本文示出的处理的专用计算机。附图中提供的任何功能和步骤可以用硬件、软件或者两者的组合来实现并且可全部或部分在计算机的编程指令内执行。本文的任何权利要求元素都不应按照功能性限定的规定来解释,除非该元素是利用短语“用于……的装置”明确记载的。
虽然已参考本文提供的示例具体示出和描述了本公开,但本领域技术人员将会理解,在不脱离如所附权利要求限定的本公开的精神和范围的情况下,可对其进行形式和细节上的各种改变。

Claims (20)

1.一种电子设备,包括:
存储器;以及
至少一个处理器,被配置为:
利用与应用相关联的安装文件来安装所述应用;
基于所述安装文件中包括的权限设定令牌向所述应用授予至少一个权限;以及
在数据库中存储对所述应用被授予所述权限的指示。
2.如权利要求1所述的电子设备,其中,所述至少一个处理器还被配置为检测所述安装文件中是否包括所述权限设定令牌。
3.如权利要求2所述的电子设备,其中,所述至少一个处理器还被配置为响应于检测到所述安装文件不包括所述权限设定令牌而终止权限设定过程。
4.如权利要求2所述的电子设备,其中,所述至少一个处理器还被配置为验证所述权限设定令牌的有效性。
5.如权利要求4所述的电子设备,其中,所述验证是基于嵌入在所述权限设定令牌中的认证信息来执行的。
6.如权利要求3所述的电子设备,其中,响应于所述权限设定令牌是有效的,对所述应用被授予所述权限的所述指示被存储在所述数据库中。
7.如权利要求5所述的电子设备,其中,当所述应用被执行时,所述至少一个处理器还被配置为搜索所述数据库并且基于所述搜索的结果执行所述应用的一个或多个功能。
8.如权利要求6所述的电子设备,其中,所述至少一个处理器还被配置为响应于所述应用的功能被访问而执行对所述数据库的搜索并且基于所述搜索的结果来执行所述功能。
9.如权利要求1所述的电子设备,其中,所述权限设定令牌包括对与所述权限相关联的有效时段的指示。
10.如权利要求9所述的电子设备,其中,所述至少一个处理器还被配置为在所述有效时段内向所述应用授予所述权限。
11.如权利要求1所述的电子设备,其中,所述至少一个处理器还被配置为基于从外部电子设备接收的控制信号来更新所述数据库。
12.如权利要求1所述的电子设备,其中,所述权限设定令牌被用与所述电子设备的制造者相关联的密钥来签名。
13.如权利要求1所述的电子设备,其中,所述至少一个处理器还被配置为基于对所述权限的指示来执行所述应用。
14.如权利要求13所述的电子设备,其中,对所述权限的指示是通过搜索所述数据库来取回的。
15.一种方法,包括:
由电子设备利用与应用相关联的安装文件来安装所述应用;
基于所述安装文件中包括的权限设定令牌向所述应用授予至少一个权限;以及
在数据库中存储对所述应用被授予所述权限的指示。
16.如权利要求15所述的方法,还包括:
当所述应用被执行时执行对所述数据库的搜索,基于所述搜索的结果执行所述应用的一个或多个功能。
17.如权利要求15所述的方法,还包括响应于所述应用的功能被访问而执行对所述数据库的搜索,并且基于所述搜索的结果来执行所述功能。
18.如权利要求15所述的方法,还包括响应于所述安装文件未能包括所述权限设定令牌而终止权限设定过程。
19.如权利要求15所述的方法,其中,响应于所述权限设定令牌得到肯定认证,所述权限被授予。
20.如权利要求15所述的方法,还包括基于从外部电子设备接收的控制信号来更新所述数据库。
CN201510600042.3A 2014-09-18 2015-09-18 用于授予权限的基于令牌的方案 Active CN105447381B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0124512 2014-09-18
KR1020140124512A KR102337990B1 (ko) 2014-09-18 2014-09-18 권한 설정 토큰을 이용하는 전자 장치

Publications (2)

Publication Number Publication Date
CN105447381A true CN105447381A (zh) 2016-03-30
CN105447381B CN105447381B (zh) 2020-01-17

Family

ID=54251932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510600042.3A Active CN105447381B (zh) 2014-09-18 2015-09-18 用于授予权限的基于令牌的方案

Country Status (4)

Country Link
US (1) US10176333B2 (zh)
EP (2) EP2998898B1 (zh)
KR (1) KR102337990B1 (zh)
CN (1) CN105447381B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108471409A (zh) * 2018-03-15 2018-08-31 苏州思必驰信息科技有限公司 语音对话平台的应用程序接口鉴权配置方法及系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387636B2 (en) * 2015-10-20 2019-08-20 Vivint, Inc. Secure unlock of a device
US10353686B1 (en) * 2016-12-28 2019-07-16 Facebook, Inc. Application installation system
JP7158132B2 (ja) * 2017-07-07 2022-10-21 株式会社トプコン 測量機の遠隔操作システム
EP3659092A1 (en) 2017-10-12 2020-06-03 Samsung Electronics Co., Ltd. Method and apparatus for secure offline payment
US11553398B2 (en) * 2017-10-31 2023-01-10 Cable Television Laboratories, Inc. Systems and methods for internet of things security environment
KR20230021342A (ko) * 2021-08-05 2023-02-14 삼성전자주식회사 분리 권한을 이용하는 전자 장치 및 그 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148514A1 (en) * 2000-06-21 2004-07-29 Fee Gregory D Evidence-based application security
US20060160626A1 (en) * 2003-03-10 2006-07-20 Cyberscan Technology, Inc. Universal game download system for legacy gaming machines using ROM and NVRAM emulation
CN101853353A (zh) * 2005-02-14 2010-10-06 松下电器产业株式会社 应用程序执行装置、应用程序执行方法和程序
US20130042101A1 (en) * 2011-08-10 2013-02-14 Helmut Neumann System and method for using digital signatures to assign permissions

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6981281B1 (en) * 2000-06-21 2005-12-27 Microsoft Corporation Filtering a permission set using permission requests associated with a code assembly
US20030079136A1 (en) * 2001-08-21 2003-04-24 Emmanuel Ericta Security framework
EP1361527A1 (en) 2002-05-07 2003-11-12 Sony Ericsson Mobile Communications AB Method for loading an application in a device, device and smart card therefor
US7647410B2 (en) * 2002-08-28 2010-01-12 Procera Networks, Inc. Network rights management
JP2004171258A (ja) * 2002-11-20 2004-06-17 Nec Corp パーミッショントークン管理システム及びプログラム
US20050034116A1 (en) * 2003-08-05 2005-02-10 Xerox Corporation Control of programming electronic devices
US8156488B2 (en) * 2004-10-20 2012-04-10 Nokia Corporation Terminal, method and computer program product for validating a software application
US8204519B2 (en) 2005-06-13 2012-06-19 Dyna Llc Methods and apparatus for updating a communications device using SMS messages
GB0513375D0 (en) * 2005-06-30 2005-08-03 Retento Ltd Computer security
US7941522B2 (en) * 2005-07-01 2011-05-10 Microsoft Corporation Application security in an interactive media environment
US10032160B2 (en) * 2005-10-06 2018-07-24 Mastercard Mobile Transactions Solutions, Inc. Isolating distinct service provider widgets within a wallet container
EP1826982A1 (en) 2006-02-28 2007-08-29 Thomson Licensing Building block for multimedia system, streaming system and server having the same
US8613080B2 (en) * 2007-02-16 2013-12-17 Veracode, Inc. Assessment and analysis of software security flaws in virtual machines
US7970381B2 (en) 2007-08-13 2011-06-28 General Motors Llc Method of authenticating a short message service (sms) message
US9147049B2 (en) * 2007-08-16 2015-09-29 Honeywell International Inc. Embedded building conroller with stored software license information
WO2009097350A1 (en) * 2008-01-29 2009-08-06 Palm, Inc. Secure application signing
US8763071B2 (en) * 2008-07-24 2014-06-24 Zscaler, Inc. Systems and methods for mobile application security classification and enforcement
US8484728B2 (en) * 2009-06-03 2013-07-09 Apple Inc. Managing securely installed applications
US8255991B1 (en) * 2009-08-17 2012-08-28 Google Inc. Computer application pre-permissioning
US20110137991A1 (en) * 2009-12-01 2011-06-09 Lester Paul Russell Systems and methods for management and collaboration in a private network
US8677506B2 (en) * 2009-12-03 2014-03-18 Osocad Remote Limited Liability Company System and method for loading application classes
JP5702953B2 (ja) * 2010-06-09 2015-04-15 キヤノン株式会社 情報処理装置及びアプリケーションの実行方法とプログラム
US8775618B2 (en) * 2010-08-02 2014-07-08 Ebay Inc. Application platform with flexible permissioning
US8819827B1 (en) * 2010-11-10 2014-08-26 Open Invention Network, Llc Method and apparatus of performing data executable integrity verification
US9635048B2 (en) * 2011-03-09 2017-04-25 Irdeto B.V. Method and system for dynamic platform security in a device operating system
US9369433B1 (en) * 2011-03-18 2016-06-14 Zscaler, Inc. Cloud based social networking policy and compliance systems and methods
US8656465B1 (en) * 2011-05-09 2014-02-18 Google Inc. Userspace permissions service
WO2012174427A2 (en) * 2011-06-16 2012-12-20 OneID Inc. Method and system for determining authentication levels in transactions
JP5729197B2 (ja) * 2011-07-28 2015-06-03 富士通株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
US8990561B2 (en) * 2011-09-09 2015-03-24 Microsoft Technology Licensing, Llc Pervasive package identifiers
US9183361B2 (en) 2011-09-12 2015-11-10 Microsoft Technology Licensing, Llc Resource access authorization
US8387141B1 (en) 2011-09-27 2013-02-26 Green Head LLC Smartphone security system
WO2013063791A1 (en) 2011-11-04 2013-05-10 Qualcomm Atheros, Inc. Nat/firewall accelerator
US9009856B2 (en) * 2011-12-16 2015-04-14 Dell Products L.P. Protected application programming interfaces
CN104335220B (zh) * 2012-03-30 2018-04-20 爱迪德技术有限公司 用于防止和检测安全威胁的方法和系统
US20140026228A1 (en) * 2012-07-23 2014-01-23 Kabushiki Kaisha Toshiba Information processing apparatus and control method
KR101907529B1 (ko) * 2012-09-25 2018-12-07 삼성전자 주식회사 사용자 디바이스에서 어플리케이션 관리 방법 및 장치
US8595489B1 (en) * 2012-10-29 2013-11-26 Google Inc. Grouping and ranking of application permissions
US10789594B2 (en) * 2013-01-31 2020-09-29 Moshir Vantures, Limited, LLC Method and system to intelligently assess and mitigate security risks on a mobile device
WO2014128256A1 (en) * 2013-02-22 2014-08-28 Adaptive Mobile Security Limited Network security system and method
US9245128B2 (en) * 2013-03-06 2016-01-26 Microsoft Technology Licensing, Llc Limiting enterprise applications and settings on devices
US20140282908A1 (en) * 2013-03-13 2014-09-18 Location Sentry Corp Intelligent agent for privacy and security
KR20140124512A (ko) 2013-04-17 2014-10-27 현대중공업 주식회사 선수측 부력탱크를 이용한 선박의 속도 향상시스템
EP2840492A1 (en) * 2013-08-23 2015-02-25 British Telecommunications public limited company Method and apparatus for modifying a computer program in a trusted manner
US9112854B1 (en) * 2013-09-11 2015-08-18 Amazon Technologies, Inc. Secure communication between applications on untrusted platforms
US9372681B1 (en) * 2013-10-02 2016-06-21 Google Inc. Redirection of a document URL to a natively-operating application
CN110717178A (zh) * 2013-10-18 2020-01-21 诺基亚技术有限公司 用于操作和监测针对电子设备中的应用的权限的方法和系统
US20150143451A1 (en) * 2013-11-19 2015-05-21 Cisco Technology Inc. Safety in Downloadable Applications for Onboard Computers
US9336358B2 (en) * 2014-03-25 2016-05-10 Google Inc. Granting permission in association with an application
US9489524B2 (en) * 2014-05-23 2016-11-08 Blackberry Limited Intra-application permissions on an electronic device
US9386027B2 (en) * 2014-08-11 2016-07-05 Indiana University Research & Technology Corporation Detection of pileup vulnerabilities in mobile operating systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148514A1 (en) * 2000-06-21 2004-07-29 Fee Gregory D Evidence-based application security
US20060160626A1 (en) * 2003-03-10 2006-07-20 Cyberscan Technology, Inc. Universal game download system for legacy gaming machines using ROM and NVRAM emulation
CN101853353A (zh) * 2005-02-14 2010-10-06 松下电器产业株式会社 应用程序执行装置、应用程序执行方法和程序
US20130042101A1 (en) * 2011-08-10 2013-02-14 Helmut Neumann System and method for using digital signatures to assign permissions

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108471409A (zh) * 2018-03-15 2018-08-31 苏州思必驰信息科技有限公司 语音对话平台的应用程序接口鉴权配置方法及系统

Also Published As

Publication number Publication date
EP2998898B1 (en) 2020-12-09
EP2998898A1 (en) 2016-03-23
KR102337990B1 (ko) 2021-12-13
US20160085977A1 (en) 2016-03-24
US10176333B2 (en) 2019-01-08
KR20160033510A (ko) 2016-03-28
CN105447381B (zh) 2020-01-17
EP3809297A1 (en) 2021-04-21

Similar Documents

Publication Publication Date Title
KR102390046B1 (ko) IoT 장치의 무선 라우터 연결을 지원하는 무선 라우터, 전자 장치 및 시스템
KR102294118B1 (ko) 보안 연결 장치 및 방법
CN107251036B (zh) 许可控制方法及其电子设备
KR102329333B1 (ko) 질의를 처리하는 장치 및 방법
CN105447381A (zh) 用于授予权限的基于令牌的方案
KR102465249B1 (ko) 생체 정보를 이용하여 인증을 수행하기 위한 전자 장치 및 그의 동작 방법
KR20160101826A (ko) 멀티 유저 기반의 전자 장치
CN106030601B (zh) 用于利用轻量级容器对运行时的安卓应用创建沙盒的方法和设备
KR102373225B1 (ko) 전자 장치 및 전자 장치에서 기능 제공 방법
CN107637028B (zh) 电子设备和网关及用于其的控制方法
KR102416549B1 (ko) 어플리케이션을 관리하는 방법 및 그를 위한 전자 장치
KR20170002969A (ko) 인증을 수행하기 위한 방법 및 전자 장치
KR102412436B1 (ko) 다른 전자 장치로부터의 데이터 이용을 관리하는 전자 장치 및 그 제어 방법
KR20160100153A (ko) 장치 검색 방법 및 이를 지원하는 전자 장치
KR102580301B1 (ko) 보안 로그인 서비스를 수행하는 전자 장치 및 방법
KR102465092B1 (ko) 전자 장치 및 그 제어 방법
KR102320149B1 (ko) 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
KR102244824B1 (ko) 전자 장치 및 전자 장치에서 ip 네트워크 서비스 방법
KR102495924B1 (ko) 어플리케이션의 보안 처리 방법 및 이를 지원하는 전자 장치
KR102610058B1 (ko) 프로세스의 권한 상승을 검출하는 전자 장치 및 저장 매체
KR20180066706A (ko) 정보 제공 방법 및 이를 지원하는 전자 장치
KR102378373B1 (ko) 복수의 충전 회로를 활용하는 전자 장치 및 방법
KR102365532B1 (ko) 보안 기능 수행 방법 및 이를 지원하는 전자 장치
KR102333218B1 (ko) 전자장치 및 전자장치의 클럭 주파수 제어 방법
KR102457459B1 (ko) 외부 장치로부터 컨텐트를 수신하기 위한 방법 및 이를 위한 전자 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant