CN113536291B - 数据安全分级的白盒密码生成与管理方法、装置及设备 - Google Patents

数据安全分级的白盒密码生成与管理方法、装置及设备 Download PDF

Info

Publication number
CN113536291B
CN113536291B CN202111068608.4A CN202111068608A CN113536291B CN 113536291 B CN113536291 B CN 113536291B CN 202111068608 A CN202111068608 A CN 202111068608A CN 113536291 B CN113536291 B CN 113536291B
Authority
CN
China
Prior art keywords
white
module
box
data security
lookup table
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
CN202111068608.4A
Other languages
English (en)
Other versions
CN113536291A (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202111068608.4A priority Critical patent/CN113536291B/zh
Publication of CN113536291A publication Critical patent/CN113536291A/zh
Application granted granted Critical
Publication of CN113536291B publication Critical patent/CN113536291B/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • 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/602Providing cryptographic facilities or services
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种数据安全分级的白盒密码生成与管理方法、装置及设备,该方法包括:基于操作等级和数据安全等级确定目标用户是否具有目标模块的操作权限;若是,通过目标模块进行操作;若否,拒绝通过目标模块进行操作;通过目标模块进行操作包括:若目标模块是查找表生成模块,通过查找表生成模块生成第一查找表和第二查找表,将第一查找表和第二查找表存储到备份存储模块;若目标模块是对称密钥生成模块,通过对称密钥生成模块生成对称密钥,将对称密钥存储到备份存储模块;若目标模块是白盒密钥生成模块,通过白盒密钥生成模块基于第一查找表和对称密钥生成白盒密钥。通过本申请的技术方案,能够避免对称密钥的泄露,能够对数据进行安全保护。

Description

数据安全分级的白盒密码生成与管理方法、装置及设备
技术领域
本申请涉及信息安全技术领域,尤其是涉及一种数据安全分级的白盒密码生成与管理方法、装置及设备。
背景技术
白盒密码技术是一项能够抵抗白盒攻击的密码技术,而保护原始密钥的安全是白盒密码技术的一个基本诉求。白盒攻击是指攻击者对终端设备拥有完全的控制能力,能够观测和更改程序运行时的内部数据,这种攻击环境可以称为白盒攻击环境,大多数的终端设备在很多情况下就是一个白盒攻击环境。
白盒密码技术的实现方式包括静态白盒技术和动态白盒技术。静态白盒是指:对密码算法和原始密钥进行白盒密码技术处理后,形成特定的密码算法库(称为白盒库),原始密钥经过白盒密码技术转化为白盒密钥,白盒密钥传入密码算法库后,进行加密或解密功能,针对静态白盒,在更新密钥时,需要重新生成白盒库,即白盒库需要更新。动态白盒是指:对密码算法和原始密钥进行白盒密码技术处理后,形成特定的密码算法库,密码算法库生成后不再更新,原始密钥经过白盒密码技术转化为白盒密钥,白盒密钥传入密码算法库后,进行加密或解密功能,针对动态白盒,不需要更新白盒库,也就是说,白盒库生成后就不需要再更新白盒库。其中,密码算法库具备特定的密码功能(如加密、解密以及加解密等),并能在白盒攻击环境下有效保护原始密钥的安全。
无论是静态白盒技术还是动态白盒技术,保护原始密钥的安全均是白盒密码技术的关键,即均需要保证原始密钥的安全,避免原始密钥的泄露,一旦原始密钥发生泄露,就会导致无法对数据进行安全保护,无法抵抗白盒攻击。
发明内容
本申请提供一种数据安全分级的白盒密码生成与管理方法,应用于白盒密码服务平台,所述白盒密码服务平台包括查找表生成模块、对称密钥生成模块、白盒密钥生成模块和备份存储模块,所述方法包括:
在接收到目标用户发送的针对目标模块的操作指令后,确定所述目标用户对应的操作等级,并确定所述目标模块对应的数据安全等级;
基于所述操作等级和所述数据安全等级确定所述目标用户是否具有所述目标模块的操作权限;若是,则通过所述目标模块进行操作;若否,则拒绝通过所述目标模块进行操作;其中,所述通过所述目标模块进行操作,包括:
若所述目标模块是所述查找表生成模块,则通过所述查找表生成模块生成与白盒密钥对应的第一查找表、以及与白盒库对应的第二查找表,并将所述第一查找表和所述第二查找表存储到所述备份存储模块;
若所述目标模块是所述对称密钥生成模块,则通过所述对称密钥生成模块生成对称密钥,并将所述对称密钥存储到所述备份存储模块;
若所述目标模块是所述白盒密钥生成模块,则通过所述白盒密钥生成模块基于所述第一查找表和所述对称密钥生成白盒密钥。
示例性的,所述白盒密码服务平台还包括白盒库生成模块;
所述通过所述目标模块进行操作,还包括:若所述目标模块是所述白盒库生成模块,则通过所述白盒库生成模块基于所述第二查找表生成白盒库。
本申请提供一种数据安全分级的白盒密码生成与管理装置,应用于白盒密码服务平台,所述数据安全分级的白盒密码生成与管理装置包括处理模块、查找表生成模块、对称密钥生成模块、白盒密钥生成模块和备份存储模块,其中:
所述处理模块,用于在接收到目标用户发送的针对目标模块的操作指令后,确定所述目标用户对应的操作等级,并确定所述目标模块对应的数据安全等级;基于所述操作等级和所述数据安全等级确定所述目标用户是否具有所述目标模块的操作权限;若是,则向所述目标模块发送所述操作指令,以使所述目标模块基于所述操作指令进行操作;若否,则拒绝通过所述目标模块进行操作;
若所述目标模块是所述查找表生成模块,所述查找表生成模块,用于生成与白盒密钥对应的第一查找表、以及与白盒库对应的第二查找表,并将所述第一查找表和所述第二查找表存储到所述备份存储模块;
若所述目标模块是所述对称密钥生成模块,所述对称密钥生成模块,用于生成对称密钥,并将所述对称密钥存储到所述备份存储模块;
若所述目标模块是所述白盒密钥生成模块,所述白盒密钥生成模块,用于基于所述第一查找表和所述对称密钥生成白盒密钥。
本申请提供一种白盒密码服务平台,所述白盒密码服务平台包括查找表生成模块、对称密钥生成模块、白盒密钥生成模块和备份存储模块,所述白盒密码服务平台还包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
在接收到目标用户发送的针对目标模块的操作指令后,确定所述目标用户对应的操作等级,并确定所述目标模块对应的数据安全等级;
基于所述操作等级和所述数据安全等级确定所述目标用户是否具有所述目标模块的操作权限;若是,则通过所述目标模块进行操作;若否,则拒绝通过所述目标模块进行操作;其中,所述通过所述目标模块进行操作,包括:
若所述目标模块是所述查找表生成模块,则通过所述查找表生成模块生成与白盒密钥对应的第一查找表、以及与白盒库对应的第二查找表,并将所述第一查找表和所述第二查找表存储到所述备份存储模块;
若所述目标模块是所述对称密钥生成模块,则通过所述对称密钥生成模块生成对称密钥,并将所述对称密钥存储到所述备份存储模块;
若所述目标模块是所述白盒密钥生成模块,则通过所述白盒密钥生成模块基于所述第一查找表和所述对称密钥生成白盒密钥。
由以上技术方案可见,本申请实施例中,为实现白盒密码生成与管理,可以划分多个模块,如查找表生成模块、对称密钥生成模块、白盒密钥生成模块和备份存储模块等,并为这些模块划分数据安全等级,使得不同操作等级的目标用户只能够访问与该操作等级匹配的数据安全等级的模块,而不是能够访问所有模块,从而保证模块的安全性,在保证模块安全性的基础上,能够避免对称密钥(即原始密钥)的泄露,从而能够对数据进行安全保护,能够抵抗白盒攻击。在上述方式中,根据数据敏感度,将白盒密码算法分割为不同数据安全等级的多个模块,对不同数据安全等级的模块进行分区管理,为不同数据安全分区设置不同访问权限,从而保证各模块的安全性,保证白盒密码算法的安全。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请的一种数据安全分级的白盒密码生成与管理的流程示意图;
图2A和图2B是本申请的白盒密码服务平台的结构示意图;
图3是本申请的3个数据安全分区的示意图;
图4是本申请的一种数据安全分级的白盒密码生成与管理的流程示意图;
图5是本申请的一种数据安全分级的白盒密码生成与管理的装置结构图;
图6是本申请一种实施方式中的白盒密码服务平台的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种数据安全分级的白盒密码生成与管理方法,可以应用于白盒密码服务平台,该白盒密码服务平台可以包括查找表生成模块、对称密钥生成模块、白盒密钥生成模块和备份存储模块,当然,该白盒密码服务平台还可以包括其它模块,如白盒库生成模块等,对此不做限制。参见图1所示,为数据安全分级的白盒密码生成与管理方法的流程图,该方法可以包括:
步骤101、在接收到目标用户发送的针对目标模块的操作指令后,确定该目标用户对应的操作等级,并确定该目标模块对应的数据安全等级。
在一种可能的实施方式中,可以获取目标用户的用户信息和目标模块的模块信息;从已配置的用户表中查询该用户信息对应的操作等级,从已配置的等级表中查询该模块信息对应的数据安全等级;其中,该用户表包括用户信息与操作等级的对应关系,该等级表包括模块信息与数据安全等级的对应关系。
在另一种可能的实施方式中,可以获取目标用户的用户信息和目标模块的模块信息;确定该用户信息对应的第一数据安全分区,基于该第一数据安全分区确定该目标用户对应的操作等级;确定该模块信息对应的第二数据安全分区,基于该第二数据安全分区确定该目标模块对应的数据安全等级。
步骤102、基于该操作等级和该数据安全等级确定该目标用户是否具有该目标模块的操作权限。若是,则执行步骤103;若否,则执行步骤104。
在一种可能的实施方式中,若该操作等级大于或等于该数据安全等级,则确定该目标用户具有该目标模块的操作权限;或者,若该操作等级小于该数据安全等级,则确定该目标用户不具有该目标模块的操作权限。
在一种可能的实施方式中,对称密钥生成模块对应的数据安全等级可以大于查找表生成模块对应的数据安全等级;白盒密钥生成模块对应的数据安全等级可以大于查找表生成模块对应的数据安全等级;备份存储模块对应的数据安全等级可以大于查找表生成模块对应的数据安全等级;查找表生成模块对应的数据安全等级可以大于白盒库生成模块对应的数据安全等级。
步骤103、通过该目标模块进行操作。
示例性的,通过该目标模块进行操作,可以包括:
步骤1031、若该目标模块是查找表生成模块,则通过查找表生成模块生成与白盒密钥对应的第一查找表,通过查找表生成模块生成与白盒库对应的第二查找表,并将第一查找表和第二查找表存储到备份存储模块。
步骤1032、若该目标模块是对称密钥生成模块,则通过对称密钥生成模块生成对称密钥,并将对称密钥存储到备份存储模块。
步骤1033、若该目标模块是白盒密钥生成模块,则通过白盒密钥生成模块基于该第一查找表和该对称密钥生成白盒密钥(即对外输出的白盒密钥)。
步骤1034、若该目标模块是白盒库生成模块,则通过白盒库生成模块基于该第二查找表生成白盒库(即对外输出的白盒库)。
步骤104、拒绝通过该目标模块进行操作。
在一种可能的实施方式中,通过该目标模块进行操作之后,还可以将白盒密钥(由白盒密钥生成模块生成)和第二查找表(由查找表生成模块生成)发送给白盒库用户使用的终端设备,以使终端设备基于该第二查找表生成白盒库,并采用该白盒密钥和本终端设备自身生成的白盒库进行白盒处理。
其中,将白盒密钥和第二查找表发送给白盒库用户使用的终端设备,可以包括但不限于:将白盒密钥和第二查找表发送给多个白盒库用户使用的终端设备,即将白盒密钥和第二查找表同时发送给多个白盒库用户。或者,若该操作指令包括一个白盒库用户的用户标识,则将白盒密钥和第二查找表发送给该用户标识对应的终端设备,即将白盒密钥和第二查找表发送给一个白盒库用户。
在另一种可能的实施方式中,通过该目标模块进行操作之后,还可以将白盒密钥和白盒库(由白盒库生成模块生成)发送给白盒库用户使用的终端设备,以使终端设备采用该白盒密钥和该白盒库进行白盒处理。
其中,将白盒密钥和白盒库发送给白盒库用户使用的终端设备,可以包括但不限于:将白盒密钥和白盒库发送给多个白盒库用户使用的终端设备,即将盒密钥和白盒库同时发送给多个白盒库用户。或者,若该操作指令包括一个白盒库用户的用户标识,则将白盒密钥和白盒库发送给该用户标识对应的终端设备,即将白盒密钥和白盒库发送给一个白盒库用户。
示例性的,将白盒密钥发送给白盒库用户使用的终端设备(比如说,将白盒密钥和第二查找表发送给多个白盒库用户使用的终端设备或一个白盒库用户使用的终端设备,将白盒密钥和白盒库发送给多个白盒库用户使用的终端设备或一个白盒库用户使用的终端设备)之后,还可以包括:在接收到目标用户发送的针对备份存储模块的操作指令之后,若基于目标用户对应的操作等级和备份存储模块对应的数据安全等级,确定目标用户具有备份存储模块的操作权限,则从备份存储模块中获取第一查找表和对称密钥;基于该第一查找表和该对称密钥重新生成白盒密钥,并将重新生成的白盒密钥发送给终端设备。
由以上技术方案可见,本申请实施例中,为实现白盒密码生成与管理,可以划分多个模块,如查找表生成模块、对称密钥生成模块、白盒密钥生成模块和备份存储模块等,并为这些模块划分数据安全等级,使得不同操作等级的目标用户只能够访问与该操作等级匹配的数据安全等级的模块,而不是能够访问所有模块,从而保证模块的安全性,在保证模块安全性的基础上,能够避免对称密钥(即原始密钥)的泄露,从而能够对数据进行安全保护,能够抵抗白盒攻击。在上述方式中,根据数据敏感度,将白盒密码算法分割为不同数据安全等级的多个模块,对不同数据安全等级的模块进行分区管理,为不同数据安全分区设置不同访问权限,从而保证各模块的安全性,保证白盒密码算法的安全。
以下结合具体实施例,对本申请实施例的技术方案进行详细说明。
白盒密码技术是一项能够抵抗白盒攻击的密码技术,白盒密码技术从实现方式上可以分为两类:静态白盒和动态白盒。静态白盒是指:对密码算法和原始密钥(如对称密钥等)进行白盒密码技术处理后,形成特定的密码算法库(本文称为白盒库),原始密钥经过白盒密码技术转化为白盒密钥,白盒密钥传入白盒库后,进行加密或解密功能,针对静态白盒,在更新密钥时,需要重新生成白盒库。动态白盒是指:对密码算法和原始密钥(如对称密钥等)进行白盒密码技术处理后,形成白盒库,白盒库生成后不再更新,原始密钥经过白盒密码技术转化为白盒密钥,白盒密钥传入白盒库后,进行加密或解密功能。
无论是静态白盒还是动态白盒,保护原始密钥(即对称密钥)的安全均是白盒密码技术的一个基本诉求,即保护原始密钥的安全是白盒密码技术的关键,需要保证原始密钥的安全,避免原始密钥的泄露。针对上述发现,本申请实施例中提出一种数据安全分级的白盒密码生成与管理方法,对于白盒密码的数据安全分级、白盒库批量分发、访问控制、密钥备份等问题,进行系统的管理。
本申请实施例中,可以根据数据敏感度,将白盒密码算法分割为不同数据安全等级的多个模块,对不同数据安全等级的模块进行分区管理,为不同的数据安全分区设置不同的访问权限;另外,基于数据安全分级的实现方式,还可以解决白盒库在应用中的批量分发问题,提升了白盒库分发的效率。
本申请实施例中,根据数据安全等级(也可以称为数据安全层级)对白盒密码算法进行模块分割,设计实现了白盒密码服务平台,根据不同模块的数据安全等级,对模块进行分区管理,为不同分区设置不同的访问权限,提升白盒密码服务平台的应用安全。可以根据用户信息对白盒库生成进行预处理,能够实现白盒库的批量分发,提升白盒密码服务平台的白盒分发效率。
参见图2A所示,为白盒密码服务平台的结构示意图,可以包括查找表生成模块21、对称密钥生成模块22、白盒密钥生成模块23和备份存储模块24。
查找表生成模块21用于生成两个查找表(如混淆查找表),将这两个查找表称为第一查找表和第二查找表,第一查找表是与白盒密钥对应的查找表,即能够根据第一查找表生成白盒密钥,关于第一查找表的内容和生成方式,本实施例中不做限制。第二查找表是与白盒库对应的查找表,即能够根据第二查找表生成白盒库,关于第二查找表的内容和生成方式,本实施例中不做限制。
示例性的,查找表生成模块21在生成第一查找表之后,还可以将第一查找表存储到备份存储模块24。查找表生成模块21在生成第二查找表之后,还可以将第二查找表存储到备份存储模块24。可选地,在一种可能的实施方式中,查找表生成模块21在生成第一查找表之后,还可以将第一查找表发送给白盒密钥生成模块23,由白盒密钥生成模块23基于该第一查找表生成白盒密钥。
对称密钥生成模块22用于生成对称密钥(即原始密钥,对称密钥是需要保护的密钥,不能对外泄露对称密钥),并将该对称密钥存储到备份存储模块24。关于对称密钥的内容和生成方式,本实施例中不做限制。可选地,在一种可能的实施方式中,对称密钥生成模块22生成对称密钥之后,可以将对称密钥发送给白盒密钥生成模块23,由白盒密钥生成模块23基于该对称密钥生成白盒密钥。
白盒密钥生成模块23用于基于第一查找表和对称密钥生成白盒密钥,关于如何根据第一查找表和对称密钥生成白盒密钥,本实施例不做限制,并对外输出白盒密钥,即将白盒密钥输出给白盒库用户使用的终端设备,例如,在为白盒库用户a1生成白盒密钥时,将白盒密钥输出给白盒库用户a1使用的终端设备。
示例性的,白盒密钥生成模块23可以获取第一查找表,例如,白盒密钥生成模块23从备份存储模块24获取第一查找表,或者,从查找表生成模块21获取第一查找表(即查找表生成模块21将第一查找表发送给白盒密钥生成模块23)。
示例性的,白盒密钥生成模块23可以获取对称密钥,例如,白盒密钥生成模块23从备份存储模块24获取对称密钥,或者,从对称密钥生成模块22获取对称密钥(即对称密钥生成模块22将对称密钥发送给白盒密钥生成模块23)。
备份存储模块24用于存储第一查找表、第二查找表和对称密钥。在接收到白盒密钥生成模块23的请求消息时,备份存储模块24可以将第一查找表和对称密钥发送给白盒密钥生成模块23,以使白盒密钥生成模块23基于第一查找表和对称密钥生成白盒密钥。以及,备份存储模块24可以对外输出第二查找表,即将第二查找表输出给白盒库用户使用的终端设备,例如,在为白盒库用户a1生成白盒库时,将第二查找表输出给白盒库用户a1使用的终端设备。
示例性的,白盒密码服务平台可以为白盒库用户的白盒密钥提供备份与恢复服务,一旦白盒库用户的白盒密钥发生丢失,则还可以基于备份存储模块24中已备份的对称密钥和第一查找表,为白盒库用户重新生成白盒密钥,并可以将重新生成的白盒密钥输出给白盒库用户使用的终端设备。
参见图2B所示,为白盒密码服务平台的另一结构示意图,可以包括查找表生成模块21、对称密钥生成模块22、白盒密钥生成模块23、备份存储模块24和白盒库生成模块25,即在图2A的基础上增加白盒库生成模块25。
查找表生成模块21用于生成第一查找表和第二查找表,第一查找表是与白盒密钥对应的查找表,第二查找表是与白盒库对应的查找表。查找表生成模块21在生成第一查找表之后,将第一查找表存储到备份存储模块24。查找表生成模块21在生成第二查找表之后,将第二查找表存储到备份存储模块24。可选地,在一种可能的实施方式中,查找表生成模块21生成第一查找表之后,还可以将第一查找表发送给白盒密钥生成模块23,由白盒密钥生成模块23基于第一查找表生成白盒密钥。查找表生成模块21生成第二查找表之后,还可以将第二查找表发送给白盒库生成模块25,由白盒库生成模块25基于第二查找表生成白盒库。
对称密钥生成模块22用于生成对称密钥,并将该对称密钥存储到备份存储模块24。可选地,在一种可能的实施方式中,还可以将该对称密钥发送给白盒密钥生成模块23,由白盒密钥生成模块23基于该对称密钥生成白盒密钥。
白盒密钥生成模块23用于基于第一查找表和对称密钥生成白盒密钥,并对外输出白盒密钥,即,将白盒密钥输出给白盒库用户使用的终端设备。
比如说,白盒密钥生成模块23可以从备份存储模块24获取第一查找表和对称密钥,并基于该第一查找表和该对称密钥生成白盒密钥。
白盒库生成模块25用于基于第二查找表生成白盒库,关于如何根据第二查找表生成白盒库,本实施例中不做限制,并对外输出白盒库,也就是说,将白盒库输出给白盒库用户使用的终端设备。比如说,在为白盒库用户a1生成白盒库时,则可以将白盒库输出给白盒库用户a1使用的终端设备。
示例性的,白盒库生成模块25可以获取第二查找表,例如,白盒库生成模块25从备份存储模块24获取第二查找表,或者,从查找表生成模块21获取第二查找表(即查找表生成模块21将第二查找表发送给白盒库生成模块25)。
备份存储模块24用于存储第一查找表、第二查找表和对称密钥。在此基础上,在接收到白盒密钥生成模块23的请求消息时,备份存储模块24可以将该第一查找表和该对称密钥发送给白盒密钥生成模块23,以使白盒密钥生成模块23基于该第一查找表和该对称密钥生成白盒密钥。以及,在接收到白盒库生成模块25的请求消息时,备份存储模块24可以将该第二查找表发送给白盒库生成模块25,以使白盒库生成模块25基于该第二查找表生成白盒库。
示例性的,白盒密码服务平台可以为白盒库用户的白盒密钥提供备份与恢复服务,一旦白盒库用户的白盒密钥发生丢失,基于备份存储模块24中已备份的对称密钥和第一查找表,为白盒库用户重新生成白盒密钥,并将重新生成的白盒密钥输出给白盒库用户使用的终端设备。为了满足白盒库用户生成原有白盒库的不同版本的需求,备份存储模块24还可以存储第二查找表,用于生成新版本的白盒库。例如,当需要生成32位版本的白盒库时,基于备份存储模块24中已备份的第二查找表,为白盒库用户生成32位版本的白盒库,将32位版本的白盒库输出给白盒库用户使用的终端设备;当需要生成64位版本的白盒库时,基于备份存储模块24中已备份的第二查找表,为白盒库用户生成64位版本的白盒库,将64位版本的白盒库输出给白盒库用户使用的终端设备,以此类推。
为了方便描述,后续实施例中,以图2B所示的应用场景为例进行说明。
本申请实施例中,可以预先配置多个操作等级,对此操作等级的数量不做限制,且操作等级的数量与数据安全等级的数量可以相同。例如,配置3个操作等级,分别为操作等级1、操作等级2和操作等级3。还可以配置2个操作等级,分别为操作等级1和操作等级2,还可以配置4个操作等级,对此不做限制。为了方便描述,以配置操作等级1、操作等级2和操作等级3为例,操作等级3的级别高于操作等级2的级别,操作等级2的级别高于操作等级1的级别。
示例性的,对于目标用户(为了区分方便,将访问白盒密码服务平台的用户称为目标用户)来说,可以为目标用户配置操作等级,不同目标用户的操作等级可以相同,也可以不同。比如说,为目标用户b1/目标用户b2配置操作等级3,如目标用户b1/目标用户b2是业务管理员,为目标用户b1/目标用户b2配置最高级别的操作等级3。为目标用户b3配置操作等级2,如目标用户b3是业务操作员,为目标用户b3配置中间级别的操作等级2。为目标用户b4-目标用户b6配置操作等级1,如目标用户b4-目标用户b6是白盒库用户,为目标用户b4-目标用户b6配置最低级别的操作等级1。当然,上述方式只是示例,对此不做限制,如只存在两个操作等级时,为目标用户b1-目标用户b3配置操作等级2,为目标用户b4-目标用户b6配置操作等级1。当存在更多的操作等级时,也可以为不同目标用户配置相同或者不同的操作等级,在此不再赘述。
本申请实施例中,可以预先配置多个数据安全等级,对此数据安全等级的数量不做限制,且数据安全等级的数量与操作等级的数量可以相同。例如,配置3个数据安全等级,分别为数据安全等级1、数据安全等级2和数据安全等级3。还可以配置2个数据安全等级,分别为数据安全等级1和数据安全等级2,还可以配置4个数据安全等级,对此不做限制。为了方便描述,以配置数据安全等级1、数据安全等级2和数据安全等级3为例,数据安全等级3的级别高于数据安全等级2的级别,数据安全等级2的级别高于数据安全等级1的级别。
示例性的,对于目标模块(为了区分方便,将白盒密码服务平台的每个模块称为目标模块,如查找表生成模块21、对称密钥生成模块22、白盒密钥生成模块23、备份存储模块24和白盒库生成模块25等)来说,可以为目标模块配置数据安全等级,不同目标模块的数据安全等级可以相同,也可以不同。
比如说,为查找表生成模块21配置数据安全等级3,或为查找表生成模块21配置数据安全等级2,或为查找表生成模块21配置数据安全等级1,对此不做限制。为对称密钥生成模块22配置数据安全等级3,或为对称密钥生成模块22配置数据安全等级2,或为对称密钥生成模块22配置数据安全等级1,对此不做限制。为白盒密钥生成模块23配置数据安全等级3,或为白盒密钥生成模块23配置数据安全等级2,或为白盒密钥生成模块23配置数据安全等级1,对此不做限制。为备份存储模块24配置数据安全等级3,或为备份存储模块24配置数据安全等级2,或为备份存储模块24配置数据安全等级1,对此不做限制。为白盒库生成模块25配置数据安全等级3,或为白盒库生成模块25配置数据安全等级2,或为白盒库生成模块25配置数据安全等级1,对此不做限制。
在一种可能的实施方式中,对称密钥生成模块22对应的数据安全等级可以大于查找表生成模块21对应的数据安全等级。白盒密钥生成模块23对应的数据安全等级可以大于查找表生成模块21对应的数据安全等级。备份存储模块24对应的数据安全等级可以大于查找表生成模块21对应的数据安全等级。查找表生成模块21对应的数据安全等级可以大于白盒库生成模块25对应的数据安全等级。以及,对称密钥生成模块22对应的数据安全等级、白盒密钥生成模块23对应的数据安全等级和备份存储模块24对应的数据安全等级可以相同。
当然,上述数据安全等级的大小关系只是示例,可以任意配置不同目标模块的数据安全等级的大小关系,对此不做限制。例如,对称密钥生成模块22对应的数据安全等级还可以大于白盒密钥生成模块23/备份存储模块24对应的数据安全等级,白盒密钥生成模块23对应的数据安全等级还可以大于对称密钥生成模块22/备份存储模块24对应的数据安全等级,备份存储模块24对应的数据安全等级还可以大于对称密钥生成模块22/白盒密钥生成模块23对应的数据安全等级。又例如,查找表生成模块21对应的数据安全等级还可以大于对称密钥生成模块22/白盒密钥生成模块23/备份存储模块24对应的数据安全等级。又例如,白盒库生成模块25对应的数据安全等级还可以大于查找表生成模块21/对称密钥生成模块22/白盒密钥生成模块23/备份存储模块24对应的数据安全等级。
为了方便描述,本实施例中,以为对称密钥生成模块22配置数据安全等级3,为白盒密钥生成模块23配置数据安全等级3,为备份存储模块24配置数据安全等级3,为查找表生成模块21配置数据安全等级2,为白盒库生成模块25配置数据安全等级1为例,对于其它情况,本实施例中不做限制。
当然,上述方式只是一个示例,对此不做限制,如只存在两个数据安全等级时,为对称密钥生成模块22、白盒密钥生成模块23和备份存储模块24配置数据安全等级2,为查找表生成模块21和白盒库生成模块25配置数据安全等级1。或者,为查找表生成模块21、对称密钥生成模块22、白盒密钥生成模块23和备份存储模块24配置数据安全等级2,为白盒库生成模块25配置数据安全等级1。当存在更多的数据安全等级时,数据安全等级的配置方式不再赘述。
基于上述应用场景,在一种可能的实施方式中,可以预先配置用户表和等级表,该用户表可以包括用户信息(如目标用户的标识)与操作等级的对应关系,该等级表可以包括模块信息(如目标模块的标识)与数据安全等级的对应关系。参见表1所示,为用户表的一个示例,当然,该用户表还可以包括其它内容,对此用户表的内容不做限制。参见表2所示,为等级表的一个示例,当然,该等级表还可以包括其它内容,对此等级表的内容不做限制。
表1
用户信息 操作等级
目标用户b1的标识 操作等级3
目标用户b2的标识 操作等级3
目标用户b3的标识 操作等级2
目标用户b4的标识 操作等级1
目标用户b5的标识 操作等级1
目标用户b6的标识 操作等级1
表2
模块信息 数据安全等级
对称密钥生成模块22的标识 数据安全等级3
白盒密钥生成模块23的标识 数据安全等级3
备份存储模块24的标识 数据安全等级3
查找表生成模块21的标识 数据安全等级2
白盒库生成模块25的标识 数据安全等级1
基于上述应用场景,在另一种可能的实施方式中,当存在3个操作等级和3个数据安全等级时,可以划分3个数据安全分区,当存在2个操作等级和2个数据安全等级时,可以划分2个数据安全分区,以此类推。参见图3所示,为3个数据安全分区的示意图,可以将这3个数据安全分区记为数据安全分区1、数据安全分区2和数据安全分区3,数据安全分区1是数据安全低层级区,数据安全分区2和数据安全分区3是数据安全高层级区。在此基础上,数据安全分区1与操作等级1对应,且数据安全分区1与数据安全等级1对应。数据安全分区2与操作等级2对应,且数据安全分区2与数据安全等级2对应。数据安全分区3与操作等级3对应,且数据安全分区3与数据安全等级3对应。
示例性的,在这种实施方式下,还可以预先配置用户信息(如目标用户的标识)与数据安全分区的映射关系,参见表3所示,并预先配置模块信息(如目标模块的标识)与数据安全分区的映射关系,参见表4所示。
表3
用户信息 数据安全分区
目标用户b1的标识 数据安全分区3
目标用户b2的标识 数据安全分区3
目标用户b3的标识 数据安全分区2
目标用户b4的标识 数据安全分区1
目标用户b5的标识 数据安全分区1
目标用户b6的标识 数据安全分区1
表4
模块信息 数据安全分区
对称密钥生成模块22的标识 数据安全分区3
白盒密钥生成模块23的标识 数据安全分区3
备份存储模块24的标识 数据安全分区3
查找表生成模块21的标识 数据安全分区2
白盒库生成模块25的标识 数据安全分区1
综上所述,本申请实施例中,可以根据数据安全等级,将白盒密码算法分割为多个目标模块(如查找表生成模块21、对称密钥生成模块22、白盒密钥生成模块23、备份存储模块24和白盒库生成模块25),按照数据安全等级划分为不同分区,为不同目标用户(即平台登入者)设置不同的访问权限。
比如说,根据数据敏感程度,可以将白盒密码算法的各个目标模块划分为两个数据安全分区,即数据安全低层级区和数据安全高层级区。根据不同应用场景,还可以将数据安全高层级区划分为至少两个区域,以将数据安全高层级区划分为两个区域为例(但不仅限于两个区域),综上所述,可以将白盒密码算法的各个目标模块划分为数据安全分区1、数据安全分区2和数据安全分区3。
示例性的,对称密钥生成模块22、白盒密钥生成模块23和备份存储模块24的数据最为敏感,可以划分到数据安全分区3管理,并设置访问权限为最高等级(即数据安全等级3),只能由业务管理员(即操作等级3)进行访问。查找表生成模块21的数据较为敏感,可以划分到数据安全分区2管理,并设置访问权限为中间等级(即数据安全等级2),可以由业务管理员和业务操作员(即操作等级2)进行访问。白盒库生成模块25的数据不敏感,可以划分到数据安全分区1管理,并设置访问权限为最低等级(即数据安全等级1),可以由业务管理员、业务操作员和白盒库用户(即操作等级1)进行访问。
在上述应用场景下,参见图4所示,为数据安全分级的白盒密码生成与管理方法的流程图,该方法可以应用于白盒密码服务平台,该方法可以包括:
步骤401、接收目标用户发送的针对查找表生成模块21的操作指令,确定目标用户对应的操作等级,并确定查找表生成模块21对应的数据安全等级。
示例性的,该操作指令可以携带目标用户的用户信息(如目标用户b1的标识)和目标模块的模块信息(如查找表生成模块21的标识)。在此基础上,可以从该操作指令中解析出目标用户的用户信息和目标模块的模块信息。
示例性的,该操作指令可以携带目标用户的认证信息(如目标用户b1的认证信息,例如,在使用数字证书、智能密码钥匙等进行身份认证时,则认证信息是与数字证书、智能密码钥匙有关的认证信息)和目标模块的模块信息(如查找表生成模块21的标识)。在此基础上,可以先基于该认证信息对目标用户b1进行认证,若认证失败,则结束流程,禁止基于该操作指令对目标模块进行操作。若认证成功,则可以得到该目标用户的用户信息(即认证通过后,得到用户信息),以及,从该操作指令中解析出目标模块的模块信息。
在一种可能的实施方式中,基于已获取的目标用户b1的标识和查找表生成模块21的标识,可以通过目标用户b1的标识查询表1所示的用户表,得到目标用户对应的是操作等级3,可以通过查找表生成模块21的标识查询表2所示的等级表,得到查找表生成模块21对应的是数据安全等级2。
在另一种可能的实施方式中,基于已获取的目标用户b1的标识和查找表生成模块21的标识,通过目标用户b1的标识查询表3,得到目标用户对应的是数据安全分区3,基于数据安全分区3确定目标用户对应的是操作等级3,通过查找表生成模块21的标识查询表4,得到查找表生成模块21对应的是数据安全分区2,基于数据安全分区2确定查找表生成模块21对应的是数据安全等级2。
步骤402、若基于该操作等级和该数据安全等级确定该目标用户具有查找表生成模块21的操作权限,则通过查找表生成模块21生成第一查找表和第二查找表,并将第一查找表和第二查找表存储到备份存储模块24。
若基于该操作等级和该数据安全等级确定该目标用户不具有查找表生成模块21的操作权限,则拒绝通过该查找表生成模块21进行操作。
示例性的,若该操作等级大于或等于该数据安全等级,则确定目标用户具有查找表生成模块21的操作权限。若该操作等级小于该数据安全等级,则确定目标用户不具有查找表生成模块21的操作权限。显然,由于目标用户对应的是操作等级3,而查找表生成模块21对应的是数据安全等级2,且操作等级3大于数据安全等级2,因此,确定目标用户具有查找表生成模块21的操作权限。
步骤403、接收目标用户发送的针对对称密钥生成模块22的操作指令,确定目标用户对应的操作等级,确定对称密钥生成模块22对应的数据安全等级。
示例性的,可以先获取目标用户的标识和对称密钥生成模块22的标识,获取方式参见步骤401。然后,通过目标用户的标识查询表3,得到目标用户对应的数据安全分区,基于该数据安全分区确定目标用户对应的操作等级。通过对称密钥生成模块22的标识查询表4,得到对称密钥生成模块22对应的数据安全分区,基于该数据安全分区确定对称密钥生成模块22对应的数据安全等级。
步骤404、若基于该操作等级和该数据安全等级确定该目标用户具有对称密钥生成模块22的操作权限(确定方式参见步骤402),则通过对称密钥生成模块22生成对称密钥,并将该对称密钥存储到备份存储模块24。
若基于该操作等级和该数据安全等级确定该目标用户不具有对称密钥生成模块22的操作权限,则拒绝通过该对称密钥生成模块22进行操作。
步骤405、接收目标用户发送的针对白盒密钥生成模块23的操作指令,确定目标用户对应的操作等级,确定白盒密钥生成模块23对应的数据安全等级。
步骤406、若基于该操作等级和该数据安全等级确定该目标用户具有白盒密钥生成模块23的操作权限,则通过白盒密钥生成模块23基于该第一查找表和该对称密钥生成白盒密钥。比如说,白盒密钥生成模块23从备份存储模块24获取第一查找表和对称密钥,并基于该第一查找表和该对称密钥生成白盒密钥。
若基于该操作等级和该数据安全等级确定该目标用户不具有白盒密钥生成模块23的操作权限,则拒绝通过该白盒密钥生成模块23进行操作。
步骤407、接收目标用户发送的针对白盒库生成模块25的操作指令,确定目标用户对应的操作等级,确定白盒库生成模块25对应的数据安全等级。
步骤408、若基于该操作等级和该数据安全等级确定该目标用户具有白盒库生成模块25的操作权限,则通过白盒库生成模块25基于该第二查找表生成白盒库。比如说,白盒库生成模块25可以从备份存储模块24中获取该第二查找表,并基于该第二查找表生成白盒库,对此白盒库的生成方式不做限制。
若基于该操作等级和该数据安全等级确定该目标用户不具有白盒库生成模块25的操作权限,则拒绝通过该白盒库生成模块25进行操作。
在一种可能的实施方式中,在通过白盒密钥生成模块23生成白盒密钥之后,还可以将白盒密钥发送给多个白盒库用户,也就是说,将一个白盒密钥发送给多个白盒库用户使用的终端设备,从而实现一个白盒密钥批量发送给多个白盒库用户。以及,在通过白盒库生成模块25生成白盒库之后,还可以将白盒库发送给多个白盒库用户,也就是说,将一个白盒库发送给多个白盒库用户使用的终端设备,从而实现一个白盒库批量发送给多个白盒库用户。
在另一种可能的实施方式中,上述操作指令还可以携带一个白盒库用户的用户标识,在通过白盒密钥生成模块23生成白盒密钥之后,还可以将白盒密钥发送给该用户标识对应的白盒库用户,也就是说,将一个白盒密钥发送给一个白盒库用户使用的终端设备,从而实现一个白盒密钥发送给一个白盒库用户,即一对一发送。以及,在通过白盒库生成模块25生成白盒库之后,还可以将白盒库发送给该用户标识对应的白盒库用户,也就是说,将一个白盒库发送给一个白盒库用户使用的终端设备,从而实现一个白盒库发送给一个白盒库用户。
步骤409、接收目标用户发送的针对备份存储模块24的操作指令,确定目标用户对应的操作等级,确定备份存储模块24对应的数据安全等级。
步骤410、若基于该操作等级和该数据安全等级确定该目标用户具有备份存储模块24的操作权限,则从备份存储模块24中获取第一查找表和对称密钥;基于该第一查找表和该对称密钥重新生成白盒密钥,并将重新生成的白盒密钥发送给终端设备。若基于该操作等级和该数据安全等级确定该目标用户不具有备份存储模块24的操作权限,则拒绝通过该备份存储模块24进行操作。
示例性的,在将白盒密钥发送给白盒库用户使用的终端设备之后,若白盒库用户需要重新获取白盒密钥(如白盒库用户的白盒密钥发生丢失,导致需要重新获取白盒密钥),则可以从备份存储模块24中重新获取第一查找表和对称密钥,由白盒密钥生成模块23基于该第一查找表和该对称密钥重新生成白盒密钥。在此基础上,可以将重新生成的白盒密钥发送给终端设备,比如说,可以将重新生成的白盒密钥发送给多个白盒库用户使用的终端设备,或者,可以将重新生成的白盒密钥发送给一个白盒库用户使用的终端设备。
由以上技术方案可见,本申请实施例中,为实现白盒密码生成与管理,可以为白盒密码服务平台划分多个目标模块,如查找表生成模块、对称密钥生成模块、白盒密钥生成模块、备份存储模块和白盒库生成模块25等,并为这些目标模块划分数据安全等级,使得不同操作等级的目标用户只能够访问与该操作等级匹配的数据安全等级的目标模块,而不是能够访问所有目标模块,从而保证目标模块的安全性,在保证目标模块安全性的基础上,能够避免对称密钥(即原始密钥)的泄露,从而能够对数据进行安全保护,能够抵抗白盒攻击。在上述方式中,根据数据敏感度,将白盒密码算法分割为不同数据安全等级的多个模块,对不同数据安全等级的模块进行分区管理,为不同数据安全分区设置不同访问权限,从而保证各模块的安全性,保证白盒密码算法的安全。
在上述方式中,可以根据白盒库用户的用户标识,为白盒库用户预先生成第二查找表,并建立白盒库用户的用户标识与第二查找表的映射关系,并将白盒库用户的用户标识与第二查找表的映射关系存储到备份存储模块,并将第二查找表分发给该用户标识对应的白盒库用户。白盒库用户在获取到第二查找表后,就可以访问白盒库生成模块,由白盒库生成模块生成白盒库。若后续有更换白盒库版本的需求(例如,初始生成的白盒库是32位版本,后续有使用64位版本白盒库的需求),则白盒库用户无需业务管理员以及业务操作员的协助,可以自行生成新版本的白盒库。比如说,白盒库用户可以访问白盒库生成模块,将第二查找表提供给白盒库生成模块,由白盒库生成模块生成新版本的白盒库。
另外,“一户一库”(一个白盒库用户一个白盒库)的实施方式,可以减少白盒库被批量破解的风险,提高白盒密码的工程的安全性。
在上述方式中,可以实现密钥安全分级管理,并提供密钥备份、更新机制。比如说,密钥的安全管理采用层次化的保护方法,在白盒密码服务平台中,白盒库用户可以访问白盒库生成模块生成白盒库,使用授权的白盒密钥进行加解密操作,但是,不具有白盒密钥的对称密钥,对称密钥存储在备份存储模块,只能由业务管理员访问,这样能够实现密钥的安全分级管理,保证对称密钥的安全性。如果白盒库用户的白盒密钥丢失,业务管理员可以通过备份存储模块查找该白盒库用户的对称密钥和第一查找表,为该白盒库用户重新生成白盒密钥并发送。对于备份存储的所有白盒库用户的对称密钥,进行定期更新,将新密钥作为白盒密钥生成模块的输入,生成新白盒密钥并导出供白盒库用户使用。
在上述方式中,根据数据安全等级,将白盒密码算法分割为多个模块,按照数据安全等级划分为不同分区,为不同平台登入者(即目标用户)设置不同的分区访问权限。比如说,根据数据敏感程度,将白盒密码算法的各个模块划分为两个分区:数据高层级区和数据低层级区。根据不同应用场景,将数据高层级区再次进行划分至多个区域。不同区域的划分部署,可采用物理隔离、网络隔离等方式实现不同分区的隔离。白盒密码服务平台为不同模块设置不同的访问权限,所有使用者在登入平台之前可以经过身份认证(例如使用数字证书、智能密码钥匙等等),认证成功后经白盒密码服务平台授权访问相应的模块。
基于与上述方法同样的申请构思,本申请实施例中提出一种数据安全分级的白盒密码生成与管理装置,应用于白盒密码服务平台,参见图5所示,为所述数据安全分级的白盒密码生成与管理装置的结构示意图,所述数据安全分级的白盒密码生成与管理装置可以包括:处理模块51、查找表生成模块52、对称密钥生成模块53、白盒密钥生成模块54和备份存储模块55,其中:
所述处理模块51,用于在接收到目标用户发送的针对目标模块的操作指令后,确定所述目标用户对应的操作等级,确定所述目标模块对应的数据安全等级;基于所述操作等级和所述数据安全等级确定所述目标用户是否具有所述目标模块的操作权限;若是,则向所述目标模块发送所述操作指令,以使所述目标模块基于所述操作指令进行操作;若否,则拒绝通过所述目标模块进行操作;
若所述目标模块是所述查找表生成模块52,所述查找表生成模块52,用于生成与白盒密钥对应的第一查找表、以及与白盒库对应的第二查找表,并将所述第一查找表和所述第二查找表存储到所述备份存储模块55;
若所述目标模块是所述对称密钥生成模块53,所述对称密钥生成模块53,用于生成对称密钥,并将所述对称密钥存储到所述备份存储模块55;
若所述目标模块是所述白盒密钥生成模块54,所述白盒密钥生成模块54,用于基于所述第一查找表和所述对称密钥生成白盒密钥。
在一种可能的实施方式中,数据安全分级的白盒密码生成与管理装置还包括白盒库生成模块56。若所述目标模块是所述白盒库生成模块56,所述白盒库生成模块56,用于通过所述白盒库生成模块基于所述第二查找表生成白盒库。
在一种可能的实施方式中,所述处理模块51,还用于将所述白盒密钥和所述第二查找表发送给白盒库用户使用的终端设备,以使所述终端设备基于所述第二查找表生成白盒库,采用所述白盒密钥和所述终端设备自身生成的所述白盒库进行白盒处理;或,将所述白盒密钥和所述白盒库发送给白盒库用户使用的终端设备,以使所述终端设备采用所述白盒密钥和所述白盒库进行白盒处理。
在一种可能的实施方式中,所述处理模块51将所述白盒密钥和所述第二查找表发送给白盒库用户使用的终端设备时具体用于:将所述白盒密钥和所述第二查找表发送给多个白盒库用户使用的终端设备;或,若所述操作指令包括一个白盒库用户的用户标识,将所述白盒密钥和所述第二查找表发送给所述用户标识对应的终端设备。所述处理模块51将所述白盒密钥和所述白盒库发送给白盒库用户使用的终端设备时具体用于:将所述白盒密钥和所述白盒库发送给多个白盒库用户使用的终端设备;或者,若所述操作指令包括一个白盒库用户的用户标识,将所述白盒密钥和所述白盒库发送给所述用户标识对应的终端设备。
在一种可能的实施方式中,所述处理模块51,还用于在接收到目标用户发送的针对所述备份存储模块55的操作指令之后,若基于所述目标用户对应的操作等级和所述备份存储模块55对应的数据安全等级,确定所述目标用户具有所述备份存储模块55的操作权限,则从所述备份存储模块55中获取所述第一查找表和所述对称密钥;基于所述第一查找表和所述对称密钥重新生成白盒密钥,并将重新生成的白盒密钥发送给所述终端设备。
在一种可能的实施方式中,所述处理模块51基于所述操作等级和所述数据安全等级确定所述目标用户是否具有所述目标模块的操作权限时具体用于:
若所述操作等级大于或等于所述数据安全等级,则确定所述目标用户具有所述目标模块的操作权限;或者,若所述操作等级小于所述数据安全等级,则确定所述目标用户不具有所述目标模块的操作权限。
在一种可能的实施方式中,所述处理模块51确定所述目标用户对应的操作等级,并确定所述目标模块对应的数据安全等级时具体用于:
获取所述目标用户的用户信息和所述目标模块的模块信息;从已配置的用户表中查询所述用户信息对应的操作等级,从已配置的等级表中查询所述模块信息对应的数据安全等级;其中,所述用户表包括用户信息与操作等级的对应关系,所述等级表包括模块信息与数据安全等级的对应关系;
或,获取所述目标用户的用户信息和所述目标模块的模块信息;确定所述用户信息对应的第一数据安全分区,基于所述第一数据安全分区确定所述目标用户对应的操作等级;确定所述模块信息对应的第二数据安全分区,基于所述第二数据安全分区确定所述目标模块对应的数据安全等级。
基于与上述方法同样的申请构思,本申请实施例提出一种白盒密码服务平台,白盒密码服务平台包括查找表生成模块、对称密钥生成模块、白盒密钥生成模块和备份存储模块,参见图6所示,白盒密码服务平台还包括:处理器61和机器可读存储介质62,机器可读存储介质62存储有能够被处理器61执行的机器可执行指令;处理器61用于执行机器可执行指令,以实现如下步骤:
在接收到目标用户发送的针对目标模块的操作指令后,确定所述目标用户对应的操作等级,并确定所述目标模块对应的数据安全等级;
基于所述操作等级和所述数据安全等级确定所述目标用户是否具有所述目标模块的操作权限;若是,则通过所述目标模块进行操作;若否,则拒绝通过所述目标模块进行操作;其中,所述通过所述目标模块进行操作,包括:
若所述目标模块是所述查找表生成模块,则通过所述查找表生成模块生成与白盒密钥对应的第一查找表、以及与白盒库对应的第二查找表,并将所述第一查找表和所述第二查找表存储到所述备份存储模块;
若所述目标模块是所述对称密钥生成模块,则通过所述对称密钥生成模块生成对称密钥,并将所述对称密钥存储到所述备份存储模块;
若所述目标模块是所述白盒密钥生成模块,则通过所述白盒密钥生成模块基于所述第一查找表和所述对称密钥生成白盒密钥。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,机器可读存储介质上存储有若干计算机指令,计算机指令被处理器执行时,能够实现本申请上述示例公开的数据安全分级的白盒密码生成与管理方法。
其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (9)

1.一种数据安全分级的白盒密码生成与管理方法,其特征在于,应用于白盒密码服务平台,所述白盒密码服务平台包括查找表生成模块、对称密钥生成模块、白盒密钥生成模块、备份存储模块和白盒库生成模块,所述方法包括:
在接收到目标用户发送的针对目标模块的操作指令后,确定所述目标用户对应的操作等级,并确定所述目标模块对应的数据安全等级;
基于所述操作等级和所述数据安全等级确定所述目标用户是否具有所述目标模块的操作权限;若是,则通过所述目标模块进行操作;若否,则拒绝通过所述目标模块进行操作;其中,所述通过所述目标模块进行操作,包括:
若所述目标模块是所述查找表生成模块,则通过所述查找表生成模块生成与白盒密钥对应的第一查找表、以及与白盒库对应的第二查找表,并将所述第一查找表和所述第二查找表存储到所述备份存储模块;
若所述目标模块是所述对称密钥生成模块,则通过所述对称密钥生成模块生成对称密钥,并将所述对称密钥存储到所述备份存储模块;
若所述目标模块是所述白盒密钥生成模块,则通过所述白盒密钥生成模块基于所述第一查找表和所述对称密钥生成白盒密钥;
若所述目标模块是所述白盒库生成模块,则通过所述白盒库生成模块基于所述第二查找表生成白盒库;
其中,所述对称密钥生成模块、所述白盒密钥生成模块和所述备份存储模块对应的数据安全等级大于所述白盒库生成模块对应的数据安全等级;在所述目标用户是白盒库用户时,所述白盒库用户对应的操作等级等于所述白盒库生成模块对应的数据安全等级,所述白盒库用户对应的操作等级小于所述对称密钥生成模块、所述白盒密钥生成模块和所述备份存储模块对应的数据安全等级。
2.根据权利要求1所述的方法,其特征在于,
所述通过所述目标模块进行操作之后,所述方法还包括:
将所述白盒密钥和所述第二查找表发送给白盒库用户使用的终端设备,以使所述终端设备基于所述第二查找表生成白盒库,并采用所述白盒密钥和所述终端设备自身生成的所述白盒库进行白盒处理;或者,
将所述白盒密钥和所述白盒库发送给白盒库用户使用的终端设备,以使所述终端设备采用所述白盒密钥和所述白盒库进行白盒处理。
3.根据权利要求2所述的方法,其特征在于,
所述将所述白盒密钥和所述第二查找表发送给白盒库用户使用的终端设备,包括:将所述白盒密钥和所述第二查找表发送给多个白盒库用户使用的终端设备;或,若所述操作指令包括一个白盒库用户的用户标识,则将所述白盒密钥和所述第二查找表发送给所述用户标识对应的终端设备;
所述将所述白盒密钥和所述白盒库发送给白盒库用户使用的终端设备,包括:将所述白盒密钥和所述白盒库发送给多个白盒库用户使用的终端设备;或者,若所述操作指令包括一个白盒库用户的用户标识,则将所述白盒密钥和所述白盒库发送给所述用户标识对应的终端设备。
4.根据权利要求2或3所述的方法,其特征在于,所述将所述白盒密钥发送给白盒库用户使用的终端设备之后,所述方法还包括:
在接收到目标用户发送的针对所述备份存储模块的操作指令之后,若基于所述目标用户对应的操作等级和所述备份存储模块对应的数据安全等级,确定所述目标用户具有所述备份存储模块的操作权限,则从所述备份存储模块中获取所述第一查找表和所述对称密钥;基于所述第一查找表和所述对称密钥重新生成白盒密钥,并将重新生成的白盒密钥发送给所述终端设备。
5.根据权利要求1所述的方法,其特征在于,基于所述操作等级和所述数据安全等级确定所述目标用户是否具有所述目标模块的操作权限,包括:
若所述操作等级大于或等于所述数据安全等级,则确定所述目标用户具有所述目标模块的操作权限;或者,若所述操作等级小于所述数据安全等级,则确定所述目标用户不具有所述目标模块的操作权限。
6.根据权利要求1所述的方法,其特征在于,所述确定所述目标用户对应的操作等级,并确定所述目标模块对应的数据安全等级,包括:
获取所述目标用户的用户信息和所述目标模块的模块信息;从已配置的用户表中查询所述用户信息对应的操作等级,从已配置的等级表中查询所述模块信息对应的数据安全等级;其中,所述用户表包括用户信息与操作等级的对应关系,所述等级表包括模块信息与数据安全等级的对应关系;
或,获取所述目标用户的用户信息和所述目标模块的模块信息;确定所述用户信息对应的第一数据安全分区,基于所述第一数据安全分区确定所述目标用户对应的操作等级;确定所述模块信息对应的第二数据安全分区,基于所述第二数据安全分区确定所述目标模块对应的数据安全等级。
7.根据权利要求1或2所述的方法,其特征在于,
所述对称密钥生成模块对应的数据安全等级大于所述查找表生成模块对应的数据安全等级;所述白盒密钥生成模块对应的数据安全等级大于所述查找表生成模块对应的数据安全等级;所述备份存储模块对应的数据安全等级大于所述查找表生成模块对应的数据安全等级;所述查找表生成模块对应的数据安全等级大于所述白盒库生成模块对应的数据安全等级。
8.一种数据安全分级的白盒密码生成与管理装置,其特征在于,应用于白盒密码服务平台,所述数据安全分级的白盒密码生成与管理装置包括处理模块、查找表生成模块、对称密钥生成模块、白盒密钥生成模块、备份存储模块和白盒库生成模块;
所述处理模块,用于在接收到目标用户发送的针对目标模块的操作指令后,确定所述目标用户对应的操作等级,并确定所述目标模块对应的数据安全等级;基于所述操作等级和所述数据安全等级确定所述目标用户是否具有所述目标模块的操作权限;若是,则向所述目标模块发送所述操作指令,以使所述目标模块基于所述操作指令进行操作;若否,则拒绝通过所述目标模块进行操作;
若所述目标模块是所述查找表生成模块,所述查找表生成模块,用于生成与白盒密钥对应的第一查找表、以及与白盒库对应的第二查找表,并将所述第一查找表和所述第二查找表存储到所述备份存储模块;
若所述目标模块是所述对称密钥生成模块,所述对称密钥生成模块,用于生成对称密钥,并将所述对称密钥存储到所述备份存储模块;
若所述目标模块是所述白盒密钥生成模块,所述白盒密钥生成模块,用于基于所述第一查找表和所述对称密钥生成白盒密钥;
若所述目标模块是所述白盒库生成模块,则通过所述白盒库生成模块基于所述第二查找表生成白盒库;
其中,所述对称密钥生成模块、所述白盒密钥生成模块和所述备份存储模块对应的数据安全等级大于所述白盒库生成模块对应的数据安全等级;在所述目标用户是白盒库用户时,所述白盒库用户对应的操作等级等于所述白盒库生成模块对应的数据安全等级,所述白盒库用户对应的操作等级小于所述对称密钥生成模块、所述白盒密钥生成模块和所述备份存储模块对应的数据安全等级。
9.一种白盒密码服务平台,其特征在于,所述白盒密码服务平台包括查找表生成模块、对称密钥生成模块、白盒密钥生成模块、备份存储模块和白盒库生成模块,所述白盒密码服务平台还包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
在接收到目标用户发送的针对目标模块的操作指令后,确定所述目标用户对应的操作等级,并确定所述目标模块对应的数据安全等级;
基于所述操作等级和所述数据安全等级确定所述目标用户是否具有所述目标模块的操作权限;若是,则通过所述目标模块进行操作;若否,则拒绝通过所述目标模块进行操作;其中,所述通过所述目标模块进行操作,包括:
若所述目标模块是所述查找表生成模块,则通过所述查找表生成模块生成与白盒密钥对应的第一查找表、以及与白盒库对应的第二查找表,并将所述第一查找表和所述第二查找表存储到所述备份存储模块;
若所述目标模块是所述对称密钥生成模块,则通过所述对称密钥生成模块生成对称密钥,并将所述对称密钥存储到所述备份存储模块;
若所述目标模块是所述白盒密钥生成模块,则通过所述白盒密钥生成模块基于所述第一查找表和所述对称密钥生成白盒密钥;
若所述目标模块是所述白盒库生成模块,则通过所述白盒库生成模块基于所述第二查找表生成白盒库;
其中,所述对称密钥生成模块、所述白盒密钥生成模块和所述备份存储模块对应的数据安全等级大于所述白盒库生成模块对应的数据安全等级;在所述目标用户是白盒库用户时,所述白盒库用户对应的操作等级等于所述白盒库生成模块对应的数据安全等级,所述白盒库用户对应的操作等级小于所述对称密钥生成模块、所述白盒密钥生成模块和所述备份存储模块对应的数据安全等级。
CN202111068608.4A 2021-09-13 2021-09-13 数据安全分级的白盒密码生成与管理方法、装置及设备 Active CN113536291B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111068608.4A CN113536291B (zh) 2021-09-13 2021-09-13 数据安全分级的白盒密码生成与管理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111068608.4A CN113536291B (zh) 2021-09-13 2021-09-13 数据安全分级的白盒密码生成与管理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113536291A CN113536291A (zh) 2021-10-22
CN113536291B true CN113536291B (zh) 2021-12-24

Family

ID=78093165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111068608.4A Active CN113536291B (zh) 2021-09-13 2021-09-13 数据安全分级的白盒密码生成与管理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113536291B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636645A (zh) * 2015-01-27 2015-05-20 腾讯科技(深圳)有限公司 数据访问的控制方法及装置
CN108123794A (zh) * 2017-12-20 2018-06-05 上海众人网络安全技术有限公司 白盒密钥的生成方法和加密方法、装置及系统
CN112507295A (zh) * 2020-11-12 2021-03-16 西安万像电子科技有限公司 数据处理方法及系统
CN112866216A (zh) * 2021-01-05 2021-05-28 航天信息股份有限公司 一种用于对文件加密的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636645A (zh) * 2015-01-27 2015-05-20 腾讯科技(深圳)有限公司 数据访问的控制方法及装置
CN108123794A (zh) * 2017-12-20 2018-06-05 上海众人网络安全技术有限公司 白盒密钥的生成方法和加密方法、装置及系统
CN112507295A (zh) * 2020-11-12 2021-03-16 西安万像电子科技有限公司 数据处理方法及系统
CN112866216A (zh) * 2021-01-05 2021-05-28 航天信息股份有限公司 一种用于对文件加密的方法及系统

Also Published As

Publication number Publication date
CN113536291A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
US10579793B2 (en) Managed securitized containers and container communications
CN109804374B (zh) 基于区块链的数字权限管理
CN101819612B (zh) 具有分区的通用内容控制
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
CN101120352B (zh) 用于保护存储在存储设备中的数据的方法和设备
CN106997439B (zh) 基于TrustZone的数据加解密方法、装置及终端设备
US9647847B2 (en) Tamper evidence per device protected identity
EP3247087B1 (en) User-initiated migration of encryption keys
CN110061983B (zh) 一种数据处理方法及系统
CN104392188A (zh) 一种安全数据存储方法和系统
EP4195583A1 (en) Data encryption method and apparatus, data decryption method and apparatus, terminal, and storage medium
CN104318176B (zh) 用于终端的数据管理方法、数据管理装置和终端
US9819486B2 (en) S-box in cryptographic implementation
CN104573549A (zh) 一种可信的数据库机密性保护方法及系统
CN104618096A (zh) 保护密钥授权数据的方法、设备和tpm密钥管理中心
US20180123789A1 (en) Apparatus and method for generating a key in a programmable hardware module
CN114942729A (zh) 一种计算机系统的数据安全存储与读取方法
CN111949999A (zh) 管理数据的设备和方法
CN114611124A (zh) 一种防止数据泄露的方法及装置
CN109889334A (zh) 嵌入式固件加密方法、装置、wifi设备及存储介质
CN104955043A (zh) 一种智能终端安全防护系统
CN109784072B (zh) 一种安全文件管理方法和系统
CN106992978A (zh) 网络安全管理方法及服务器
CN113536291B (zh) 数据安全分级的白盒密码生成与管理方法、装置及设备
Jabbar et al. Design and Implementation of Hybrid EC-RSA Security Algorithm Based on TPA for Cloud Storage

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