CN107358118B - Sfs访问控制方法及系统、sfs及终端设备 - Google Patents

Sfs访问控制方法及系统、sfs及终端设备 Download PDF

Info

Publication number
CN107358118B
CN107358118B CN201710533513.2A CN201710533513A CN107358118B CN 107358118 B CN107358118 B CN 107358118B CN 201710533513 A CN201710533513 A CN 201710533513A CN 107358118 B CN107358118 B CN 107358118B
Authority
CN
China
Prior art keywords
application
sfs
access
sfs service
request message
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.)
Active
Application number
CN201710533513.2A
Other languages
English (en)
Other versions
CN107358118A (zh
Inventor
温海龙
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201710533513.2A priority Critical patent/CN107358118B/zh
Publication of CN107358118A publication Critical patent/CN107358118A/zh
Priority to US16/628,652 priority patent/US20200218819A1/en
Priority to PCT/CN2018/086098 priority patent/WO2019007145A1/zh
Priority to EP18828420.2A priority patent/EP3651048A4/en
Application granted granted Critical
Publication of CN107358118B publication Critical patent/CN107358118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/16Program or content traceability, e.g. by watermarking
    • 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/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请公开了一种SFS访问控制方法及系统、SFS及终端设备;上述SFS访问控制方法,应用于一终端设备,该终端设备上运行有SFS以及一个或多个应用,该SFS包括SFS客户模块以及SFS服务模块,该方法包括:SFS客户模块接收应用的SFS服务请求消息,并将SFS服务请求消息发送给SFS服务模块;SFS服务模块根据SFS服务请求消息携带的第一访问凭证对该应用进行鉴权;在确定该应用鉴权成功后,执行该应用所请求的SFS服务访问操作,并将SFS服务访问操作的结果通过SFS客户模块返回给该应用。如此,提高了SFS访问的安全性。

Description

SFS访问控制方法及系统、SFS及终端设备
技术领域
本发明涉及通信技术领域,尤其涉及一种安全文件系统(SFS,Secure FileSystem)访问控制方法及系统、SFS及终端设备。
背景技术
目前,Linux系统中可以通过UID(User ID,用户标识号)或GID(Group ID,组标识号)来限制用户或应用对系统敏感资源的访问控制。另外,目前的部分智能芯片支持信任区(Trust zone),Trust zone有两个运行环境,一个是安全运行环境,另一个是普通环境,只有可信赖的应用才能运行在安全运行环境,普通应用无法访问安全运行环境中的重要数据;如此,智能终端可以使用Trust zone来对安全应用和普通应用进行安全隔离。
以车载信息处理器(T-Box,Telematics BOX)为例,车载T-Box项目要求支持基于SFS(Secure File System,安全文件系统)的数据安全存储功能。由于SFS中保存的是用户重要数据,需要对应用做访问限制,仅允许某些授权的应用访问SFS,并且只能访问和操作自己的数据。然而,车载T-Box的AP(Application Processor,应用处理器)上运行的是嵌入式Linux系统,其上面的所有应用都属于root(根)用户,也就是说,所有应用都对SFS具有访问权限,导致无法通过UID或GID来限制用户或应用对系统敏感资源的访问控制。
而且,现在很多非智能芯片根本不支持信任区(Trust zone),也就无法对安全应用和普通应用进行隔离;有些芯片虽能支持Trust zone,但是其Trust zone功能非常有限,只支持加解密、安全时钟、PRNG(伪随机序列发生器,pseudo-random number generator)等基本服务,不支持安全应用开发,这样也就无法对终端设备上的安全应用和普通应用进行隔离。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供一种SFS访问控制方法及系统、SFS及终端设备,能够提高SFS访问的安全性。
本申请实施例提供一种SFS访问控制方法,应用于一终端设备,所述终端设备上运行有SFS以及一个或多个应用,所述SFS包括SFS客户模块以及SFS服务模块;所述方法包括:
所述SFS客户模块接收所述应用的SFS服务请求消息,并将所述SFS服务请求消息发送给所述SFS服务模块;
所述SFS服务模块根据所述SFS服务请求消息携带的第一访问凭证对所述应用进行鉴权;在确定所述应用鉴权成功后,执行所述应用所请求的SFS服务访问操作,并将所述SFS服务访问操作的结果通过所述SFS客户模块返回给所述应用。
在示例性实施方式中,所述SFS服务模块根据所述SFS服务请求消息携带的第一访问凭证对所述应用进行鉴权,可以包括:
所述SFS服务模块比较所述应用的SFS服务请求消息携带的第一访问凭证和所述SFS服务模块在所述应用启动时为所述应用分配的第二访问凭证,若两者一致,则确定所述应用鉴权成功,若两者不一致,则确定所述应用鉴权失败。
在示例性实施方式中,所述SFS服务模块可以存储应用白名单;上述方法还可以包括:所述SFS服务模块在所述应用启动时根据所述应用白名单为所述应用生成所述第二访问凭证。
在示例性实施方式中,所述应用白名单至少可以包括:应用名称或标识、应用的启动路径、应用的第一指纹信息;所述第二访问凭证至少可以包括随机密码;
所述SFS服务模块在所述应用启动时根据所述应用白名单为所述应用生成所述第二访问凭证,可以包括:
根据所述应用的应用名称或标识,在所述应用白名单查找所述应用的启动路径和第一指纹信息;
在根据所述应用的启动路径找到所述应用后,计算所述应用的第二指纹信息;
比较所述应用白名单中所述应用的第一指纹信息和计算得到的第二指纹信息,若两者一致,则为所述应用生成一个随机密码,传递所述随机密码给所述应用并启动所述应用,若两者不一致,则拒绝给所述应用分配一个随机密码。
在示例性实施方式中,所述应用白名单还可以包括:应用许可的访问路径;所述在比较得到所述SFS服务请求消息携带的第一访问凭证和所述SFS服务模块在所述应用启动时为所述应用分配的第二访问凭证一致之后,上述方法还可以包括:
所述SFS服务模块根据所述应用的SFS服务请求消息携带的访问路径和所述应用白名单中所述应用许可的访问路径的比较结果,控制所述应用所请求的SFS服务访问操作。
在示例性实施方式中,所述SFS服务模块根据所述应用的SFS服务请求消息携带的访问路径和所述应用白名单中所述应用许可的访问路径的比较结果,控制所述应用所请求的SFS服务访问操作,可以包括:
若所述SFS服务请求消息携带的访问路径包含在应用白名单中所述应用许可的访问路径中,则确定所述应用鉴权成功,并按照所述SFS服务请求消息携带的访问路径执行所述应用所请求的SFS服务访问操作;
若所述SFS服务请求消息携带的访问路径没有包含在应用白名单中所述应用许可的访问路径中,则确定所述应用鉴权失败。
在示例性实施方式中,上述方法还可以包括:
所述SFS服务模块确定所述应用鉴权失败后,通过所述SFS客户模块向所述应用返回访问操作拒绝消息。
在示例性实施方式中,所述SFS服务模块可以包括:SFS鉴权单元以及SFS操作单元;
其中,所述SFS服务模块根据所述SFS服务请求消息携带的第一访问凭证对所述应用进行鉴权;在确定所述应用鉴权成功后,执行所述应用所请求的SFS服务访问操作,并将所述SFS服务访问操作的结果通过所述SFS客户模块返回给所述应用,可以包括:
所述SFS鉴权单元根据所述SFS服务请求消息携带的第一访问凭证对所述应用进行鉴权;在确定所述应用鉴权成功后,通知所述SFS操作单元执行所述应用所请求的SFS服务访问操作;
所述SFS操作单元根据所述SFS鉴权单元的通知,执行所述应用所请求的SFS服务访问操作,并将所述SFS服务访问操作的结果返回给所述SFS鉴权单元;
所述SFS鉴权单元将所述SFS服务访问操作的结果通过所述SFS客户模块返回给所述应用。
在示例性实施方式中,所述终端设备可以包括以下至少之一:车载远程信息处理器(T-Box)、客户终端设备(CPE)、移动热点(MiFi)、数据卡、物联网终端。
本申请实施例还提供一种SFS,包括:SFS客户模块以及SFS服务模块;
所述SFS客户模块用于接收应用的SFS服务请求消息,并将所述SFS服务请求消息发送给所述SFS服务模块;
所述SFS服务模块用于根据所述SFS服务请求消息携带的第一访问凭证对所述应用进行鉴权;在确定所述应用鉴权成功后,执行所述应用所请求的SFS服务访问操作,并将所述SFS服务访问操作的结果通过所述SFS客户模块返回给所述应用。
在示例性实施方式中,所述SFS服务模块可以用于通过以下方式根据所述SFS服务请求消息携带的第一访问凭证对所述应用进行鉴权:
所述SFS服务模块比较所述应用的SFS服务请求消息携带的第一访问凭证和所述SFS服务模块在所述应用启动时为所述应用分配的第二访问凭证,若两者一致,则确定所述应用鉴权成功,若两者不一致,则确定所述应用鉴权失败。
在示例性实施方式中,所述SFS服务模块可以存储应用白名单;所述应用白名单至少可以包括:应用名称或标识、应用的启动路径、应用的第一指纹信息;
所述SFS服务模块还可以用于通过以下方式在所述应用启动时根据所述应用白名单为所述应用生成至少包括随机密码的第二访问凭证:
根据所述应用的应用名称或标识,在所述应用白名单查找所述应用的启动路径和第一指纹信息;
在根据所述应用的启动路径找到所述应用后,计算所述应用的第二指纹信息;
比较所述应用白名单中所述应用的第一指纹信息和计算得到的第二指纹信息,若两者一致,则为所述应用生成一个随机密码,传递所述随机密码给所述应用并启动所述应用,若两者不一致,则拒绝给所述应用分配一个随机密码。
在示例性实施方式中,所述应用白名单还可以包括:应用许可的访问路径;
所述SFS服务模块还可以用于在比较得到所述SFS服务请求消息携带的第一访问凭证和所述SFS服务模块在所述应用启动时为所述应用分配的第二访问凭证一致之后,根据所述应用的SFS服务请求消息携带的访问路径和所述应用白名单中所述应用许可的访问路径的比较结果,控制所述应用所请求的SFS服务访问操作。
在示例性实施方式中,所述SFS服务模块还可以用于通过以下方式根据所述应用的SFS服务请求消息携带的访问路径和所述应用白名单中所述应用许可的访问路径的比较结果,控制所述应用所请求的SFS服务访问操作:
若所述SFS服务请求消息携带的访问路径包含在所述应用白名单中所述应用许可的访问路径中,则确定所述应用鉴权成功,并按照所述SFS服务请求消息携带的访问路径执行所述应用所请求的SFS服务访问操作;
若所述SFS服务请求消息携带的访问路径没有包含在应用白名单中所述应用许可的访问路径中,则确定所述应用鉴权失败。
在示例性实施方式中,所述SFS服务模块还可以用于在确定所述应用鉴权失败后,通过所述SFS客户模块向所述应用返回访问操作拒绝消息。
在示例性实施方式中,所述SFS服务模块可以包括:SFS鉴权单元以及SFS操作单元;其中,所述SFS鉴权单元用于根据所述SFS服务请求消息携带的第一访问凭证对所述应用进行鉴权;在确定所述应用鉴权成功后,通知所述SFS操作单元执行所述应用所请求的SFS服务访问操作;所述SFS操作单元用于根据所述SFS鉴权单元的通知,执行所述应用所请求的SFS服务访问操作,并将所述SFS服务访问操作的结果返回给所述SFS鉴权单元;所述SFS鉴权单元还用于将所述SFS服务访问操作的结果通过所述SFS客户模块返回给所述应用。
本申请实施例还提供一种SFS访问控制系统,包括:运行在一终端设备上的一个或多个应用以及如上所述的SFS。
本申请实施例还提供一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的SFS访问控制程序,所述SFS访问控制程序被所述处理器执行时实现如上所述的SFS访问控制方法的步骤。
本申请实施例还提供一种机器可读介质,存储有SFS访问控制程序,所述SFS访问控制程序被处理器执行时实现如上所述的SFS访问控制方法的步骤。
在本申请实施例中,终端设备上的SFS通过SFS客户模块和SFS服务模块对终端设备上运行的一个或多个应用进行鉴权,以识别对SFS具有访问权限的应用,以防止恶意应用伪装成正常应用欺骗SFS,从而提高了SFS访问的安全性。
在示例性方案中,SFS使用应用的第二访问凭证对应用进行鉴权,且应用的第二访问凭证至少包括随机密码,由于每个应用在每次启动之后其随机密码都会发生改变,从而确保黑客或恶意程序无法猜测出随机密码或使用暴力破解方式进行破解。
在示例性方案中,在SFS的应用白名单中设置每个应用许可的访问路径,从而可以控制每个应用只能访问自己的数据,无法访问其他应用的数据。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例提供的一种SFS访问控制方法的流程图;
图2为本申请实施例提供的SFS的一种示意图;
图3为本申请实施例提供的SFS的另一示意图;
图4为本申请实施例提供的一种SFS访问控制系统的示意图;
图5为本申请实施例的SFS访问控制方法的一种示例性流程图;
图6为本申请实施例的SFS访问控制方法的另一种示例性流程图;
图7为本申请实施例中SFS服务模块为应用生成访问凭证的流程图;
图8为本申请实施例中SFS服务模块对应用进行鉴权的流程图;
图9为本申请实施例中SFS鉴权单元和SFS操作单元进行认证的流程图。
具体实施方式
以下结合附图对本申请实施例进行详细说明,应当理解,以下所说明的实施例仅用于说明和解释本申请,并不用于限定本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
安全文件系统(SFS)可以对应用数据提供加密安全存储服务。SFS具有如下安全特性:SFS使用一个硬件Key和AES(Advanced Encryption Standard,高级加密标准)加密算法进行加密,每个设备的硬件Key都是唯一;设备硬件Key保存在芯片中,只有硬件加密引擎或Trust zone(信任区)可以访问,上层应用和外部接口都无法访问该硬件Key;SFS具有与正常文件系统类似的API(Application Programming Interface,应用程序编程接口),例如sfs_open()、sfs_close()、sfs_read()、sfs_write()和sfs_rm(),应用只需调用API进行文件打开、关闭、读取和写入等操作,数据加解密是由文件系统内部加密引擎来完成的。
图1为本申请实施例提供的一种SFS访问控制方法的流程图。本实施例应用于一终端设备,该终端设备上运行有SFS以及一个或多个应用,SFS包括SFS客户模块以及SFS服务模块。
如图1所示,本实施例提供的方法包括以下步骤:
S101、SFS客户模块接收应用的SFS服务请求消息,并将该SFS服务请求消息发送给SFS服务模块;
S102、SFS服务模块根据该SFS服务请求消息携带的第一访问凭证对该应用进行鉴权;在确定该应用鉴权成功后,执行该应用所请求的SFS服务访问操作,并将该SFS服务访问操作的结果通过SFS客户模块返回给该应用。
在示例性实施方式中,SFS服务模块可以包括:SFS鉴权单元以及SFS操作单元;其中,S102可以包括:
SFS鉴权单元根据该SFS服务请求消息携带的第一访问凭证对该应用进行鉴权;在确定该应用鉴权成功后,通知SFS操作单元执行该应用所请求的SFS服务访问操作;
SFS操作单元根据SFS鉴权单元的通知,执行该应用所请求的SFS服务访问操作,并将SFS服务访问操作的结果返回给SFS鉴权单元;
SFS鉴权单元将SFS服务访问操作的结果通过SFS客户模块返回给该应用。
本实施例提供的SFS访问控制方法将SFS分离成SFS客户模块和SFS服务模块(类似Client/Server架构),或者,分离成SFS客户模块、SFS鉴权单元和SFS操作单元,对应用进行鉴权以区分不同应用对SFS的访问权限,从而提高SFS访问的安全性。
在示例性实施方式中,S102中,根据SFS服务请求消息携带的第一访问凭证对应用进行鉴权,可以包括:
比较该应用的SFS服务请求消息携带的第一访问凭证和SFS服务模块在该应用启动时为该应用分配的第二访问凭证,若两者一致,则确定该应用鉴权成功,若两者不一致,则确定该应用鉴权失败。
其中,第二访问凭证可以仅包括随机密码,或者,可以包括应用标识和随机密码。如此,通过随机密码进行应用鉴权,而不是通过UID或GID进行访问限制,可以限制root用户等级的不同应用对SFS的访问权限。
在示例性实施方式中,SFS服务模块可以存储应用白名单;本实施例的方法还可以包括:SFS服务模块在应用启动时根据应用白名单为该应用生成第二访问凭证。
其中,应用白名单至少可以包括:应用名称或标识、应用的启动路径、应用的第一指纹信息;
SFS服务模块在应用启动时根据应用白名单为该应用生成第二访问凭证,可以包括:
根据应用的应用名称或标识,在应用白名单查找该应用的启动路径和第一指纹信息;
在根据该应用的启动路径找到该应用后,计算该应用的第二指纹信息;
比较应用白名单中该应用的第一指纹信息和计算得到的第二指纹信息,若两者一致,则为该应用生成一个随机密码,传递该随机密码给该应用并启动该应用,若两者不一致,则拒绝给该应用分配一个随机密码。
在示例性实施方式中,应用白名单还可以包括:应用的访问路径;
在比较得到该SFS服务请求消息携带的第一访问凭证和SFS服务模块在该应用启动时为该应用分配的第二访问凭证一致之后,本实施例的方法还可以包括:SFS服务模块根据该应用的SFS服务请求消息携带的访问路径和应用白名单中该应用许可的访问路径的比较结果,控制该应用所请求的SFS服务访问操作。
其中,SFS服务模块根据该应用的SFS服务请求消息携带的访问路径和应用白名单中该应用许可的访问路径的比较结果,控制该应用所请求的SFS服务访问操作,可以包括:
若该SFS服务请求消息携带的访问路径包含在应用白名单中该应用许可的访问路径中,则确定该应用鉴权成功,并按照该SFS服务请求消息携带的访问路径执行该应用所请求的SFS服务访问操作;
若该SFS服务请求消息携带的访问路径没有包含在应用白名单中该应用许可的访问路径中,则确定该应用鉴权失败。
在示例性实施方式中,应用白名单可以包括:应用名称或应用标识、应用的启动路径、应用的第一指纹信息、应用许可的访问路径、指纹算法。其中,为了防止应用白名单被纂改或伪造,使用数字签名技术对应用白名单进行真实性和完整性校验,用于数字签名的公钥或根公钥可以通过预配置方式保存到SFS中,并只允许SFS进行读取操作,不允许修改或删除。
在示例性实施方式中,本实施例的方法还可以包括:
SFS服务模块确定应用鉴权失败后,通过SFS客户模块向该应用返回访问操作拒绝消息。
在示例性实施方式中,上述终端设备可以包括以下至少之一:车载T-Box、客户终端设备(CPE,Customer Premise Equipment)、移动热点(MiFi,Mobile WiFi)、数据卡、物联网(IOT,Internet Of Things)终端。
图2为本申请实施例提供的一种SFS的示意图。如图2所示,本实施例提供的SFS包括:SFS客户模块201和SFS服务模块202;
其中,SFS客户模块201,用于接收应用的SFS服务请求消息,并将SFS服务请求消息发送给SFS服务模块202;
SFS服务模块202,用于根据SFS服务请求消息携带的第一访问凭证对该应用进行鉴权;在确定该应用鉴权成功后,执行该应用所请求的SFS服务访问操作,并将SFS服务访问操作的结果通过SFS客户模块201返回给该应用。
其中,SFS服务模块202还可以用于在确定应用鉴权失败后,通过SFS客户模块201向该应用返回访问操作拒绝消息。
在示例性实施方式中,如图3所示,SFS服务模块202可以包括:SFS鉴权单元203和SFS操作单元204;其中,SFS鉴权单元203可以用于根据SFS服务请求消息携带的第一访问凭证对应用进行鉴权;在确定该应用鉴权成功后,通知SFS操作单元204执行该应用所请求的SFS服务访问操作;SFS操作单元204可以用于根据SFS鉴权单元203的通知,执行该应用所请求的SFS服务访问操作,并将SFS服务访问操作的结果返回给SFS鉴权单元203;SFS鉴权单元203还可以用于将SFS服务访问操作的结果通过SFS客户模块201返回给该应用。
其中,SFS鉴权单元203还可以用于在启动时接收认证密码,SFS操作单元204还可以用于在启动时接收认证密码;SFS操作单元204还可以用于根据认证密码对SFS鉴权单元203进行认证,在SFS鉴权单元203通过认证时,同意处理SFS鉴权单元203发送的SFS服务访问操作信息。
在示例性实施方式中,SFS服务模块202可以用于通过以下方式根据SFS服务请求消息携带的第一访问凭证对应用进行鉴权:
比较应用的SFS服务请求消息携带的第一访问凭证和SFS服务模块202在该应用启动时为该应用分配的第二访问凭证,若两者一致,则确定该应用鉴权成功,若两者不一致,则确定该应用鉴权失败。
在示例性实施方式中,SFS服务模块202可以存储应用白名单;应用白名单至少可以包括:应用名称或标识、应用的启动路径、应用的第一指纹信息;SFS服务模块202还可以用于通过以下方式在应用启动时根据应用白名单为该应用生成至少包括随机密码的第二访问凭证:
根据应用的应用名称或标识,在应用白名单查找该应用的启动路径和第一指纹信息;
在根据该应用的启动路径找到该应用后,计算该应用的第二指纹信息;
比较应用白名单中该应用的第一指纹信息和计算得到的第二指纹信息,若两者一致,则为该应用生成一个随机密码,传递该随机密码给该应用并启动该应用,若两者不一致,则拒绝给该应用分配一个随机密码。
在示例性实施方式中,应用白名单还可以包括:应用许可的访问路径;
SFS服务模块202还可以用于在比较得到该SFS服务请求消息携带的第一访问凭证和SFS服务模块202在该应用启动时为该应用分配的第二访问凭证一致之后,根据该应用的SFS服务请求消息携带的访问路径和应用白名单中该应用许可的访问路径的比较结果,控制该应用所请求的SFS服务访问操作。
其中,SFS服务模块202还可以用于通过以下方式根据该应用的SFS服务请求消息携带的访问路径和应用白名单中该应用许可的访问路径的比较结果,控制该应用所请求的SFS服务访问操作:
若该SFS服务请求消息携带的访问路径包含在应用白名单中该应用许可的访问路径中,则确定该应用鉴权成功,并按照该SFS服务请求消息携带的访问路径执行该应用所请求的SFS服务访问操作;
若该SFS服务请求消息携带的访问路径没有包含在应用白名单中该应用许可的访问路径中,则确定该应用鉴权失败。
图4为本申请实施例提供的一种SFS访问控制系统的示意图。如图4所示,本实施例提供的SFS访问控制系统包括:运行在一终端上的应用(比如,应用400a、应用400i等)以及SFS 402。SFS 402可以包括SFS客户模块201和SFS服务模块202。
其中,应用400a、400i为运行在终端设备上的应用程序,可以使用SFS服务模块202分配的访问凭据和SFS客户模块201的服务接口来进行数据安全存储访问操作。应用400a、400i的用户等级可以为root等级。
SFS客户模块201是为应用400a、400i提供数据安全存储访问操作的服务接口。以应用400a为例,SFS客户模块201负责将应用400a调用的SFS服务请求消息通过Socket或消息队列发送给SFS服务模块202,并将SFS服务模块202响应的消息返回给应用400a;其中,SFS服务请求消息中包含第一访问凭证,以用于SFS服务模块202对应用400a进行鉴权。
SFS服务模块202负责接收SFS客户模块201发送的SFS服务请求消息,并根据其中携带的第一访问凭证以及存储的第二访问凭证对应用400a进行鉴权,如果鉴权通过,则执行相应的SFS服务访问操作,并将访问操作结果通过socket或消息队列发送给对应的SFS客户模块201;SFS服务模块202还负责根据应用白名单对应用400a进行合法性验证,如果验证通过,则为该应用400a分配随机密码并启动该应用400a,否则拒绝为该应用400a分配随机密码并启动该应用400a;SFS服务模块202还负责应用白名单的安全存储,以防止白名单被纂改或伪造。
在示例性实施方式中,SFS服务模块202可以包括SFS鉴权单元及SFS操作单元。SFS鉴权单元负责对应用400a进行鉴权,并在鉴权成功时通知SFS操作单元;SFS操作单元负责根据SFS鉴权单元对应用400a的鉴权结果为应用400a提供相应权限的数据安全存储服务。
关于SFS 402的其他相关说明可以参照图2和图3对应的实施例说明,故于此不再赘述。
下面对本申请的方案进行具体说明。
图5为本申请实施例提供的SFS访问控制方法的一种示例性流程图。在本示例中,一个应用501调用SFS客户模块502的服务接口请求数据安全存储访问操作时,SFS客户模块502将该应用501的SFS服务请求消息通过Socket或消息队列发送给SFS服务模块503;SFS服务模块503接收到SFS客户模块502发送的SFS服务请求消息后,根据SFS服务请求消息携带的第一访问凭证对该应用进行鉴权,如果鉴权通过,则完成该应用请求的SFS服务访问操作,并将访问操作结果通过socket或消息队列发送给对应的SFS客户模块502,如果鉴权失败,则将访问操作失败结果通过socket或消息队列发送给SFS客户模块502;最后,SFS客户模块502将SFS服务模块503的响应消息返回给该应用501。
如图5所示,本实施例的流程包括以下步骤:
S501、应用501调用SFS客户模块502的服务接口请求数据安全存储访问操作,其中,数据安全存储访问操作可以包括SFS文件打开、SFS文件关闭、SFS文件删除、SFS文件读取和SFS文件写入等操作;
S502、SFS客户模块502将应用501的SFS服务请求消息通过Socket或消息队列发送给SFS服务模块503;
S503、SFS服务模块503根据本地缓存的应用501的第二访问凭证(即在应用501本次启动时为应用501分配的第二访问凭证)和应用501的SFS服务请求消息携带的第一访问凭证对应用501进行鉴权,如果鉴权成功,则执行步骤S504,否则执行步骤S507;在其他实现方式中,SFS服务模块503还可以根据本地缓存的应用501的第二访问凭证、应用白名单以及应用501的SFS服务请求消息对应用501进行鉴权;
S504、SFS服务模块503进行应用501所请求的SFS服务访问操作,并得到访问操作结果;
S505、SFS服务模块503将访问操作结果通过Socket或消息队列发送给SFS客户模块502;
S506、SFS客户模块502将访问操作结果返回给应用501;
S507、SFS服务模块503向SFS客户模块502返回应用501的SFS服务请求操作被拒绝;
S508、SFS客户模块502向应用501返回其SFS服务请求操作被拒绝。
图6为本申请实施例提供的SFS访问控制方法的另一种示例性流程图。在本示例中,一个应用601调用SFS客户模块602的服务接口请求数据安全存储访问操作时,SFS客户模块602将该应用601的SFS服务请求消息通过Socket或消息队列发送给SFS鉴权单元603;SFS鉴权单元603接收到SFS客户模块602发送的SFS服务请求消息后,根据SFS服务请求消息携带的第一访问凭证和本地保存的该应用601的第二访问凭证对该应用601进行鉴权,如果鉴权通过,则与SFS操作单元604交互完成该应用601请求的SFS服务访问操作,并将访问操作结果通过socket或消息队列发送给对应的SFS客户模块602,如果鉴权失败,则将访问操作失败结果通过socket或消息队列发送给SFS客户模块602;最后,SFS客户模块602将SFS鉴权单元603的响应消息返回给该应用601。
如图6所示,本实施例的流程包括以下步骤:
S601、应用601调用SFS客户模块602的服务接口请求数据安全存储访问操作,其中,数据安全存储访问操作可以包括SFS文件打开、SFS文件关闭、SFS文件删除、SFS文件读取和SFS文件写入等操作;
S602、SFS客户模块602将应用601的SFS服务请求消息通过Socket或消息队列发送给SFS鉴权单元603;
S603、SFS鉴权单元603根据本地缓存的应用601的第二访问凭证(即在应用601启动时为应用601分配的访问凭证)和应用601的SFS服务请求消息携带的第一访问凭证对应用601进行鉴权,如果鉴权成功,则执行步骤S604,否则执行步骤S608;在其他实现方式中,SFS鉴权单元603还可以根据本地缓存的应用601的第二访问凭证、应用白名单以及应用601的SFS服务请求消息对应用601进行鉴权;
S604、SFS鉴权单元603将应用601所请求的SFS服务访问操作发送给SFS操作604;
S605、SFS操作单元604进行应用601所请求的SFS服务访问操作,并将结果返回给SFS鉴权单元603;
S606、SFS鉴权单元603将应用601所请求的SFS服务访问操作结果通过Socket或消息队列发送给SFS客户模块602;
S607、SFS客户模块602将应用601所请求的SFS服务访问操作结果返回给应用601;
S608、SFS鉴权单元603向SFS客户模块602返回SFS服务请求操作被拒绝;
S609、SFS客户模块602向应用601返回其SFS服务请求操作被拒绝。
图7为本申请实施例中SFS服务模块为应用生成访问凭证的流程示意图。在本示例中,SFS服务模块会根据应用白名单查找应用的启动路径和第一指纹信息;SFS服务模块会根据该应用的启动路径来找到该应用,然后计算该应用的第二指纹信息,其中,可以使用MD5或SHA来计算应用的第二指纹信息;之后,SFS服务模块使用计算出来的应用的第二指纹信息与应用白名单中该应用的第一指纹信息进行比较,如果一致,则生成一个非0随机密码并以形参方式传递并启动该应用,同时在本地缓存该随机密码和应用标识,在该应用启动后从形参中取出该随机密码作为后续与SFS服务模块交互的第一访问凭证;如果计算出来的应用的第二指纹信息与应用白名单中该应用的第一指纹信息不一致,则拒绝为该应用分配随机密码和启动该应用。
如图7所示,本实施例的流程包括以下步骤:
S701、SFS服务模块从应用白名单中读取应用名称、应用的启动路径和应用的第一指纹信息;
S702、SFS服务模会根据该应用的启动路径来找到该应用,然后计算该应用的第二指纹信息,其中,可以使用MD5或SHA来计算该应用的第二指纹信息;比如,使用MD5或SHA对该应用的启动路径进行加密得到该应用的第二指纹信息;
S703、SFS服务模块使用计算出来的该应用的第二指纹信息与应用白名单中该应用的第一指纹信息进行比较,如果一致,则执行S705,否则执行S704;
S704、SFS服务模块拒绝为该应用分配随机密码和启动该应用;
S705、SFS服务模块为该应用生成一个非0随机密码,并以形参方式传递给该应用并启动该应用;
S706、SFS服务模块在本地缓存该随机密码和应用标识(对应前述的第二访问凭证),该应用启动后从形参中取出该随机密码作为后续与SFS服务模块交互的第一访问凭证。在其他实现方式中,该应用还可以使用随机密码和应用标识作为第一访问凭证。
在示例性实施方式中,应用白名单可以包括:应用名称或应用标识、应用的启动路径、应用的第一指纹信息、应用许可的访问路径、指纹算法。表1为本实施例提供应用白名单的示例。在表1中只示例了3个应用,即App1、App2和App3,App1位于System\bin目录下,App2和App3均位于System\sbin目录下,App1采用SHA256指纹算法,计算出来的指纹为256位的16进制字符串,App2和App3采用MD5指纹算法,计算出来的指纹为128位的16进制字符串;App1只能在ZTEFILE\sfs\app1目录下进行文件安全存储访问操作,App2只能在ZTEFILE\sfs\app2目录下进行文件安全存储访问操作,App3只能在ZTEFILE\sfs\app3目录下进行文件安全存储访问操作。为了防止应用白名单被纂改或伪造,使用数字签名技术对应用白名单进行真实性和完整性校验,其中,用于数字签名的公钥或根公钥通过预配置方式保存到SFS中,例如保存到ZTEFILE\sfs\pubkey目录下,该配置文件预配置后只允许SFS服务模块进行读取操作,不允许SFS服务模块修改或删除。
Figure BDA0001339980860000171
表1
图8为本申请实施例中SFS服务模块对应用进行鉴权的流程图。在本示例中,SFS服务模块对应用进行鉴权可以包括访问凭据认证和路径访问控制。其中,访问凭据认证过程包括:SFS服务模块从SFS客户模块发送的SFS服务请求消息中提取出第一访问凭证,然后使用它与本地缓存的第二访问凭证进行比较,如果一致则认证通过,如果不一致则认证失败,并返回应用鉴权失败。路径访问控制过程包括:在访问凭据认证通过后,SFS服务模块会检查应用白名单中该应用许可的访问路径,如果该应用在SFS服务请求消息中的访问路径包括在应用白名单中该应用许可的访问路径中,则返回应用鉴权成功,允许该应用进行SFS文件访问操作,否则返回应用鉴权失败。
如图8所示,本实施例的流程包括以下步骤:
S801、SFS服务模块从SFS客户模块发送的SFS服务请求消息中提取出应用的第一访问凭证,然后使用它与本地缓存的该应用的第二访问凭证进行比较,如果不一致则执行S802,如果一致则执行S803;
S802、SFS服务模块给SFS客户模块返回应用鉴权失败;
S803、SFS服务模块会检查在SFS服务请求消息中该应用的访问路径是否包括在应用白名单中该应用许可的访问路径中;如果不是则执行S804,否则执行S805;
S804、SFS服务模块给SFS客户模块返回应用鉴权失败;
S805、应用鉴权成功,SFS服务模块允许该应用进行SFS服务访问操作;比如,SFS服务模块执行该应用所请求的SFS服务访问操作,或者,SFS鉴权单元可以通知SFS操作单元执行该应用所请求的SFS服务访问操作。
图9为本申请实施例中SFS鉴权单元和SFS操作单元进行认证的流程图。在本示例中,SFS鉴权单元与SFS操作单元之间也可以进行认证,认证密码由系统分配,系统在启动SFS鉴权单元时以形参方式将认证密码传递给SFS鉴权单元,在SFS操作单元初始化或加载时将认证密码传递给SFS操作单元。
如图9所示,本实施例的流程包括以下步骤:
S901、无线终端系统初始化(Linux init)模块生成认证密码;
S902、无线终端系统Linux init模块在SFS操作单元初始化或加载时将该认证密码传递给SFS操作单元;
S903、无线终端系统Linux init模块在启动SFS鉴权单元时以形参方式将该认证密码传递给SFS鉴权单元;
S904、SFS操作单元将使用该认证密码对SFS鉴权单元进行认证;若认证通过,执行S906,否则,执行S905;
S905、SFS操作单元拒绝为SFS鉴权单元提供数据安全存储访问操作;
S906、SFS操作单元同意为SFS鉴权单元提供数据安全存储访问操作。
在本示例中,通过SFS鉴权单元和SFS操作单元之间进行认证,可以进一步增加本申请方案的安全性。
下面通过两个应用场景对本申请进行说明。
应用场景一
车载T-Box支持远程车辆控制功能,其与车厂TSP(Telematics ServiceProvider,远程服务提供商)后台之间需要进行双向鉴权,以确保双方都是可信任,T-Box与TSP鉴权认证相关的证书和账户信息需要安全储存,如果这些信息被黑客或恶意程序窃取或修改,那么车辆将可能被人远程操控或者TSP服务器将面临入侵风险。
T-Box上的TSP客户端(Client)程序负责与车厂TSP后台通信,其与服务器鉴权用的证书和账户信息为确保安全需要存储在T-Box的SFS中,由于T-Box支持二次开发,车厂允许第三方开发汽车应用在T-Box上运行,如果未使用本申请的方案,那么T-Box上的其他应用也是可以访问TSP Client程序保存在SFS中用于鉴权的重要数据,这些信息一旦被黑客或恶意应用窃取或修改,那么车辆将可能被人远程操控或者TSP服务器将面临入侵风险。
在采用本申请的方案后,SFS服务模块将会根据访问凭证和应用白名单对汽车应用进行鉴权,只有鉴权成功的应用才能访问SFS中的数据,而且也只能访问该应用自己存储的数据,其他应用存储的数据该应用将无权访问。因此,黑客和恶意应用将无法访问TSPClient程序保存在SFS中的重要数据。
应用场景二
本申请的方案适用于任何支持SFS的功能硬件环境,可以包括但不限于高通MDM芯片平台、MTK芯片平台、Marvell芯片和展讯芯片平台等,产品类型包括但不限于CPE(Customer Premise Equipment,客户终端设备)、MiFi、数据卡、模块、IOT(Internet OfThings,物联网)终端等。
CPE、MiFi、数据卡、模块、IOT终端等需要使用SFS将设备敏感数据(例如WiFi和WebUI密码)进行安全存储,只允许某些特定应用可以对这些敏感数据进行访问控制操作,因此,需要限制某些网络应用对SFS内的敏感数据进行访问控制操作,这样这些网络应用因存在安全漏洞被攻破了也不会给设备安全造成影响。
综上所述,本申请将SFS分解成SFS客户模块和SFS服务模块,或者分解成SFS客户模块、SFS鉴权单元和SFS操作单元,其中,SFS客户模块是呈现给应用访问SFS服务的接口,SFS鉴权单元负责对应用进行指纹认证、访问凭证分配和启动,应用调用SFS客户模块进行SFS服务请求时,SFS鉴权单元可以根据应用白名单及其在应用启动时为应用分配的访问凭证来对应用在请求消息中携带的访问凭证和访问路径进行鉴权,如果鉴权成功,才允许SFS操作单元进行数据存储访问操作,否则拒绝应用的数据存储访问操作请求。其中,通过访问凭证中的随机密码进行鉴权,对于每个应用在每次启动后其随机密码都会发生改变,这样可以确保黑客或恶意程序无法猜测出密码或使用暴力破解方式进行破解,以防止恶意应用伪装成正常应用来欺骗SFS服务模块;在应用白名单中设置每个应用的访问路径,从而可以控制每个应用只能访问自己的数据,无法访问其他应用的数据。
此外,本申请实施例还提供一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在处理器上运行的SFS访问控制程序,SFS访问控制程序被处理器执行时实现上述的SFS访问控制方法的步骤。
此外,本申请实施例还提供一种机器可读介质,存储有SFS访问控制程序,SFS访问控制程序被处理器执行时实现上述的SFS访问控制方法的步骤。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在机器可读介质(比如,计算机可读介质)上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (14)

1.一种安全文件系统SFS访问控制方法,其特征在于,应用于一终端设备,所述终端设备上运行有SFS以及一个或多个应用,所述SFS包括SFS客户模块以及SFS服务模块;所述方法包括:
所述SFS客户模块通过API接口接收所述应用的SFS服务请求消息,并将所述SFS服务请求消息通过Socket或消息队列发送给所述SFS服务模块;
所述SFS服务模块根据所述SFS服务请求消息携带的第一访问凭证对所述应用进行鉴权;在确定所述应用鉴权成功后,执行所述应用所请求的SFS服务访问操作,并将所述SFS服务访问操作的结果通过所述SFS客户模块返回给所述应用;
其中,所述SFS服务模块比较所述应用的SFS服务请求消息携带的第一访问凭证和所述SFS服务模块在所述应用启动时为所述应用分配的第二访问凭证,若两者一致,则确定所述应用鉴权成功,若两者不一致,则确定所述应用鉴权失败;所述第二访问凭证至少包括随机密码;
所述SFS服务模块存储应用白名单;
所述方法还包括:所述SFS服务模块在所述应用启动时根据所述应用白名单为所述应用生成所述第二访问凭证;
所述应用白名单至少包括:应用名称或标识、应用的启动路径、应用的第一指纹信息;
所述SFS服务模块在所述应用启动时根据所述应用白名单为所述应用生成所述第二访问凭证,包括:
根据所述应用的应用名称或标识,在所述应用白名单查找所述应用的启动路径和第一指纹信息;
在根据所述应用的启动路径找到所述应用后,计算所述应用的第二指纹信息;
比较所述应用白名单中所述应用的第一指纹信息和计算得到的第二指纹信息,若两者一致,则为所述应用生成一个随机密码,传递所述随机密码给所述应用并启动所述应用,若两者不一致,则拒绝给所述应用分配一个随机密码。
2.根据权利要求1所述的方法,其特征在于,所述应用白名单还包括:应用许可的访问路径;
所述在比较得到所述SFS服务请求消息携带的第一访问凭证和所述SFS服务模块在所述应用启动时为所述应用分配的第二访问凭证一致之后,所述方法还包括:
所述SFS服务模块根据所述应用的SFS服务请求消息携带的访问路径和所述应用白名单中所述应用许可的访问路径的比较结果,控制所述应用所请求的SFS服务访问操作。
3.根据权利要求2所述的方法,其特征在于,所述SFS服务模块根据所述应用的SFS服务请求消息携带的访问路径和所述应用白名单中所述应用许可的访问路径的比较结果,控制所述应用所请求的SFS服务访问操作,包括:
若所述SFS服务请求消息携带的访问路径包含在应用白名单中所述应用许可的访问路径中,则确定所述应用鉴权成功,并按照所述SFS服务请求消息携带的访问路径执行所述应用所请求的SFS服务访问操作;
若所述SFS服务请求消息携带的访问路径没有包含在应用白名单中所述应用许可的访问路径中,则确定所述应用鉴权失败。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述SFS服务模块确定所述应用鉴权失败后,通过所述SFS客户模块向所述应用返回访问操作拒绝消息。
5.根据权利要求1所述的方法,其特征在于,所述SFS服务模块包括:SFS鉴权单元以及SFS操作单元;
其中,所述SFS服务模块根据所述SFS服务请求消息携带的第一访问凭证对所述应用进行鉴权;在确定所述应用鉴权成功后,执行所述应用所请求的SFS服务访问操作,并将所述SFS服务访问操作的结果通过所述SFS客户模块返回给所述应用,包括:
所述SFS鉴权单元根据所述SFS服务请求消息携带的第一访问凭证对所述应用进行鉴权;在确定所述应用鉴权成功后,通知所述SFS操作单元执行所述应用所请求的SFS服务访问操作;
所述SFS操作单元根据所述SFS鉴权单元的通知,执行所述应用所请求的SFS服务访问操作,并将所述SFS服务访问操作的结果返回给所述SFS鉴权单元;
所述SFS鉴权单元将所述SFS服务访问操作的结果通过所述SFS客户模块返回给所述应用。
6.根据权利要求1所述的方法,其特征在于,所述终端设备包括以下至少之一:车载远程信息处理器T-Box、客户终端设备CPE、移动热点MiFi、数据卡、物联网终端。
7.一种安全文件系统SFS,其特征在于,包括:SFS客户模块以及SFS服务模块;
所述SFS客户模块用于通过API接口接收应用的SFS服务请求消息,并将所述SFS服务请求消息通过Socket或消息队列发送给所述SFS服务模块;
所述SFS服务模块用于根据所述SFS服务请求消息携带的第一访问凭证对所述应用进行鉴权;在确定所述应用鉴权成功后,执行所述应用所请求的SFS服务访问操作,并将所述SFS服务访问操作的结果通过所述SFS客户模块返回给所述应用;
其中,所述SFS服务模块比较所述应用的SFS服务请求消息携带的第一访问凭证和所述SFS服务模块在所述应用启动时为所述应用分配的第二访问凭证,若两者一致,则确定所述应用鉴权成功,若两者不一致,则确定所述应用鉴权失败;所述第二访问凭证至少包括随机密码;
所述SFS服务模块存储应用白名单;所述应用白名单至少包括:应用名称或标识、应用的启动路径、应用的第一指纹信息;
所述SFS服务模块还用于通过以下方式在所述应用启动时根据所述应用白名单为所述应用生成至少包括随机密码的第二访问凭证:
根据所述应用的应用名称或标识,在所述应用白名单查找所述应用的启动路径和第一指纹信息;
在根据所述应用的启动路径找到所述应用后,计算所述应用的第二指纹信息;
比较所述应用白名单中所述应用的第一指纹信息和计算得到的第二指纹信息,若两者一致,则为所述应用生成一个随机密码,传递所述随机密码给所述应用并启动所述应用,若两者不一致,则拒绝给所述应用分配一个随机密码。
8.根据权利要求7所述的SFS,其特征在于,所述应用白名单还包括:应用许可的访问路径;
所述SFS服务模块还用于在比较得到所述SFS服务请求消息携带的第一访问凭证和所述SFS服务模块在所述应用启动时为所述应用分配的第二访问凭证一致之后,根据所述应用的SFS服务请求消息携带的访问路径和所述应用白名单中所述应用许可的访问路径的比较结果,控制所述应用所请求的SFS服务访问操作。
9.根据权利要求8所述的SFS,其特征在于,所述SFS服务模块还用于通过以下方式根据所述应用的SFS服务请求消息携带的访问路径和所述应用白名单中所述应用许可的访问路径的比较结果,控制所述应用所请求的SFS服务访问操作:
若所述SFS服务请求消息携带的访问路径包含在所述应用白名单中所述应用许可的访问路径中,则确定所述应用鉴权成功,并按照所述SFS服务请求消息携带的访问路径执行所述应用所请求的SFS服务访问操作;
若所述SFS服务请求消息携带的访问路径没有包含在应用白名单中所述应用许可的访问路径中,则确定所述应用鉴权失败。
10.根据权利要求7所述的SFS,其特征在于,所述SFS服务模块还用于在确定所述应用鉴权失败后,通过所述SFS客户模块向所述应用返回访问操作拒绝消息。
11.根据权利要求7所述的SFS,其特征在于,所述SFS服务模块包括:SFS鉴权单元以及SFS操作单元;
其中,所述SFS鉴权单元用于根据所述SFS服务请求消息携带的第一访问凭证对所述应用进行鉴权;在确定所述应用鉴权成功后,通知所述SFS操作单元执行所述应用所请求的SFS服务访问操作;
所述SFS操作单元用于根据所述SFS鉴权单元的通知,执行所述应用所请求的SFS服务访问操作,并将所述SFS服务访问操作的结果返回给所述SFS鉴权单元;
所述SFS鉴权单元还用于将所述SFS服务访问操作的结果通过所述SFS客户模块返回给所述应用。
12.一种安全文件系统SFS访问控制系统,其特征在于,包括:运行在一终端设备上的一个或多个应用以及如权利要求7至11中任一项所述的SFS。
13.一种终端设备,其特征在于,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的安全文件系统SFS访问控制程序,所述SFS访问控制程序被所述处理器执行时实现如权利要求1至6中任一项所述的SFS访问控制方法的步骤。
14.一种机器可读介质,其特征在于,所述机器可读介质上存储有安全文件系统SFS访问控制程序,所述SFS访问控制程序被处理器执行时实现如权利要求1至6中任一项所述的SFS访问控制方法的步骤。
CN201710533513.2A 2017-07-03 2017-07-03 Sfs访问控制方法及系统、sfs及终端设备 Active CN107358118B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710533513.2A CN107358118B (zh) 2017-07-03 2017-07-03 Sfs访问控制方法及系统、sfs及终端设备
US16/628,652 US20200218819A1 (en) 2017-07-03 2018-05-09 Sfs access control method and system, sfs and terminal device
PCT/CN2018/086098 WO2019007145A1 (zh) 2017-07-03 2018-05-09 Sfs访问控制方法及系统、sfs及终端设备
EP18828420.2A EP3651048A4 (en) 2017-07-03 2018-05-09 PROCEDURE AND SYSTEM FOR SFS ACCESS CONTROL PROCEDURE, SFS AND TERMINAL DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710533513.2A CN107358118B (zh) 2017-07-03 2017-07-03 Sfs访问控制方法及系统、sfs及终端设备

Publications (2)

Publication Number Publication Date
CN107358118A CN107358118A (zh) 2017-11-17
CN107358118B true CN107358118B (zh) 2020-06-09

Family

ID=60291687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710533513.2A Active CN107358118B (zh) 2017-07-03 2017-07-03 Sfs访问控制方法及系统、sfs及终端设备

Country Status (4)

Country Link
US (1) US20200218819A1 (zh)
EP (1) EP3651048A4 (zh)
CN (1) CN107358118B (zh)
WO (1) WO2019007145A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107358118B (zh) * 2017-07-03 2020-06-09 中兴通讯股份有限公司 Sfs访问控制方法及系统、sfs及终端设备
CN110362984B (zh) * 2019-06-28 2021-04-30 北京思源理想控股集团有限公司 多设备运行业务系统的方法及装置
CN110489986B (zh) * 2019-08-22 2021-03-23 网易(杭州)网络有限公司 图数据功能的响应方法、系统及电子设备
CN113923017A (zh) * 2021-10-08 2022-01-11 安徽江淮汽车集团股份有限公司 基于双重加密的车辆关键信息传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567255A (zh) * 2003-09-02 2005-01-19 四川大学 一种安全文件系统的存储及访问控制方法
CN104866778A (zh) * 2015-01-30 2015-08-26 武汉华工安鼎信息技术有限责任公司 一种基于Linux内核的文档安全访问控制方法和装置
CN106105146A (zh) * 2014-02-24 2016-11-09 亚马逊科技公司 在密码证明资源处保护客户端指定凭证

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102812473A (zh) * 2010-02-11 2012-12-05 惠普发展公司,有限责任合伙企业 基于可执行程序身份的文件访问
US9773102B2 (en) * 2011-09-09 2017-09-26 Microsoft Technology Licensing, Llc Selective file access for applications
CN103812649B (zh) * 2012-11-07 2017-05-17 中国电信股份有限公司 机卡接口的安全访问控制方法与系统、手机终端
CN104348951B (zh) * 2013-07-24 2016-10-19 北京握奇数据系统有限公司 一种卡片应用管理系统
CN105472605B (zh) * 2014-08-15 2019-01-22 中国电信股份有限公司 手机应用调用鉴权方法、多功能通用智能卡与移动终端
CN105743651B (zh) * 2014-12-11 2019-06-04 卓望数码技术(深圳)有限公司 芯片安全域的卡应用使用方法、装置和应用终端
CN104994498B (zh) * 2015-05-18 2018-05-11 中国联合网络通信集团有限公司 一种终端应用与手机卡应用交互的方法及系统
CN107358118B (zh) * 2017-07-03 2020-06-09 中兴通讯股份有限公司 Sfs访问控制方法及系统、sfs及终端设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567255A (zh) * 2003-09-02 2005-01-19 四川大学 一种安全文件系统的存储及访问控制方法
CN106105146A (zh) * 2014-02-24 2016-11-09 亚马逊科技公司 在密码证明资源处保护客户端指定凭证
CN104866778A (zh) * 2015-01-30 2015-08-26 武汉华工安鼎信息技术有限责任公司 一种基于Linux内核的文档安全访问控制方法和装置

Also Published As

Publication number Publication date
US20200218819A1 (en) 2020-07-09
EP3651048A4 (en) 2021-03-24
EP3651048A1 (en) 2020-05-13
WO2019007145A1 (zh) 2019-01-10
CN107358118A (zh) 2017-11-17

Similar Documents

Publication Publication Date Title
US11711222B1 (en) Systems and methods for providing authentication to a plurality of devices
CN106537403B (zh) 用于从多个装置访问数据的系统
US9867051B2 (en) System and method of verifying integrity of software
US9226143B2 (en) Controlling application access to mobile device functions
CN113168476A (zh) 操作系统中个性化密码学安全的访问控制
CN106330984B (zh) 访问控制策略的动态更新方法及装置
US20050177724A1 (en) Authentication system and method
CN107358118B (zh) Sfs访问控制方法及系统、sfs及终端设备
TW201428535A (zh) 用於管理存取控制之基於原則技術
US11757877B1 (en) Decentralized application authentication
CN104798083A (zh) 用于验证访问请求的方法和系统
US10713381B2 (en) Method and apparatus for securely calling fingerprint information, and mobile terminal
US20220245631A1 (en) Authentication method and apparatus of biometric payment device, computer device, and storage medium
CN111247521B (zh) 将多用户设备远程锁定为用户集合
US20180307858A1 (en) Multi-party authentication and authorization
US10812272B1 (en) Identifying computing processes on automation servers
US20170201528A1 (en) Method for providing trusted service based on secure area and apparatus using the same
US9323911B1 (en) Verifying requests to remove applications from a device
CN116529729A (zh) 用于获得基于网络的资源的增强权限并根据其执行动作的集成电路
CN116192483A (zh) 认证鉴权方法、装置、设备及介质
CN108667800B (zh) 一种访问权限的认证方法及装置
CN109302442B (zh) 一种数据存储证明方法及相关设备
CN112970017A (zh) 设备到云存储的安全链接
KR100823631B1 (ko) 키 저장 관리
Hampiholi et al. Trusted self-enrolment for attribute-based credentials on mobile phones

Legal Events

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