CN111416713A - 基于tee的密码服务资源安全扩展方法及系统 - Google Patents

基于tee的密码服务资源安全扩展方法及系统 Download PDF

Info

Publication number
CN111416713A
CN111416713A CN202010251319.7A CN202010251319A CN111416713A CN 111416713 A CN111416713 A CN 111416713A CN 202010251319 A CN202010251319 A CN 202010251319A CN 111416713 A CN111416713 A CN 111416713A
Authority
CN
China
Prior art keywords
service
password
resource
cryptographic
hardware
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
CN202010251319.7A
Other languages
English (en)
Other versions
CN111416713B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010251319.7A priority Critical patent/CN111416713B/zh
Publication of CN111416713A publication Critical patent/CN111416713A/zh
Application granted granted Critical
Publication of CN111416713B publication Critical patent/CN111416713B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于TEE的密码服务资源安全扩展方法及系统,本发明扩展方法通过扩展密码服务框架位于TEE环境下的TEE密码服务、位于通用计算环境下的通用操作系统密码服务,使TEE密码服务增加对硬件密码服务资源的管理操作,使通用操作系统密码服务为硬件密码服务资源的管理操作提供支撑,TEE密码服务、通用操作系统密码服务向上提供统一的密码服务API。本发明通过在TEE提供的安全隔离计算环境对密码服务框架进行扩展,并通过与操作系统内核的互动,使得密码服务框架具备主动检测和安全加载系统硬件密码服务资源的能力,从而可以充分利用计算平台的硬件密码服务资源,为用户应用透明地提供便捷高效的密码服务。

Description

基于TEE的密码服务资源安全扩展方法及系统
技术领域
本发明涉及计算机操作系统领域的密码服务技术,具体涉及一种基于TEE(Trusted Execution Environment,可信执行环境)的密码服务资源安全扩展方法及系统,用于根据计算环境内密码服务资源的情况动态扩展操作系统密码服务框架的密码服务能力。
背景技术
密码技术广泛应用于各类信息系统,对信息安全至关重要。许多安全应用直接集成密码算法,通用操作系统环境也可选提供多种密码算法库,还有许多硬件产商推出了繁杂多样的密码硬件加速设备,跨越PCI卡级、芯片组级、CPU级以及集成密码处理的设备。这种各自为政的局面不便于安全应用开发,也增加了安全隐患和安全运维的工作量。为此,在操作系统层面提供密码服务框架成为共识,力图统一各类密码处理资源,包括软件算法和硬件密码加速设备。密码服务框架是应用和密码服务之间的桥梁,它向上为用户提供统一的密码服务调用接口,向下则为密码服务供应商提供统一的密码算法开发接口。
然而,现有密码服务框架并不具备对系统硬件密码服务资源主动发现和安全挂载的能力,仍然需要用户来主动加载密码设备、将密码资源挂载到密码服务框,然后才能在安全应用中调用使用,在密码资源的管理和使用上存在不足。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于TEE的密码服务资源安全扩展方法及系统,本发明通过在TEE提供的安全隔离计算环境对密码服务框架进行扩展,并通过与操作系统内核的互动,使得密码服务框架具备主动检测和安全加载系统硬件密码服务资源的能力,从而可以充分利用计算平台的硬件密码服务资源,为用户应用透明地提供便捷高效的密码服务。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于TEE的密码服务资源安全扩展方法,其特征在于实施步骤包括:对密码服务框架位于TEE环境下的TEE密码服务、位于通用计算环境下的通用操作系统密码服务分别进行扩展,使得TEE密码服务增加对硬件密码服务资源的管理操作,使得通用操作系统密码服务为硬件密码服务资源的管理操作提供支撑,所述TEE密码服务、通用操作系统密码服务向上提供统一的密码服务API以支持应用的透明安全使用密码服务。
可选地,所述对TEE环境的TEE密码服务进行扩展具体是指在TEE密码服务中增加密码资源管理单元,所述密码资源管理单元包括密码资源发现模块、软件密码资源模块、硬件密码服务资源模块、密码资源动态调度模块、密码资源挂载模块和安全挂载策略模块;密码资源发现模块用于对TEE环境下的硬件平台进行主动扫描和硬件消息响应,检测发现可用的硬件密码服务资源;软件密码资源模块用于在没有相应硬件密码资源支持的情况下提供加解密服务、证书服务、数据存储服务和扩展服务;硬件密码服务资源模块包括硬件密码资源并用于维护可用的硬件密码资源及其服务能力列表、并在挂载后通过密码资源动态调度机制为上层应用提供硬件密码服务;密码资源动态调度模块用于将密码服务API的密码请求转发给合适的已挂载的密码服务资源、且优先使用硬件密码资源;密码资源挂载模块用于实现硬件密码服务资源的安全挂载和安全卸载操作;安全挂载策略模块用于存储由系统安全管理员配置的硬件密码资源安全挂载和使用的安全策略以为硬件密码资源的主动安全挂载提供支撑。
可选地,所述对通用计算环境的通用操作系统密码服务进行扩展具体是指在通用操作系统密码服务中增加密码资源管理单元,所述密码资源管理单元包括密码资源发现模块、软件密码资源模块、硬件密码服务资源模块、密码资源动态调度模块、密码资源挂载模块和挂载策略管理模块;密码资源发现模块用于对通用计算环境下的硬件平台进行主动扫描和硬件消息响应,检测发现可用的硬件密码服务资源;软件密码资源模块用于在没有相应硬件密码资源支持的情况下提供加解密服务、证书服务、数据存储服务和扩展服务;硬件密码服务资源模块包括硬件密码资源并用于维护可用的硬件密码资源及其服务能力列表、并在挂载后通过密码资源动态调度机制为上层应用提供硬件密码服务;密码资源动态调度模块用于将密码服务API的密码请求转发给合适的已挂载的密码服务资源、且优先使用硬件密码资源;密码资源挂载模块用于实现硬件密码服务资源的安全挂载和安全卸载操作;挂载策略管理模块用于负责支持安全管理员在通用计算环境实现对可信执行环境密码服务资源安全挂载策略的配置。
可选地,所述对密码服务框架位于TEE环境下的TEE密码服务、位于通用计算环境下的通用操作系统密码服务分别进行扩展之后还包括在密码服务框架中建立基于TEE的密码资源安全管理机制的步骤,所述基于TEE的密码资源安全管理机制包括挂载策略管理机制,且所述挂载策略管理机制的执行步骤包括:A1)初始化TEE密码服务;A2)接收安全管理员的登陆信息并进行认证,若认证不通过则退出;否则执行下一步;A3)建立TEE密码服务的安全会话;A4)响应安全管理员进行密码资源挂载策略管理的操作,且在安全管理员保存修改后的安全挂载策略后将修改后的安全挂载策略保存到安全挂载策略模块;A5)关闭TEE密码服务的安全会话;A6)退出安全管理员的登陆状态。
可选地,所述基于TEE的密码资源安全管理机制还包括挂载策略应用机制,所述挂载策略应用机制的执行步骤包括:B1)密码服务框架发现新的硬件密码服务资源;B2)扫描新的硬件密码服务资源的设备类型;B3)通知内核加载新的硬件密码服务资源相应的驱动;B4)识别新的硬件密码服务资源的服务类型;B5)初始化新的硬件密码服务资源的数据结构;B6)建立TEE密码服务的安全会话,将新的硬件密码服务资源的数据结构发送给密码资源挂载模块;B7)密码资源挂载模块向挂载策略管理模块请求挂载授权,如果挂载策略管理模块中存储的挂载策略为不允许挂载则结束并退出;否则执行下一步;B8)返回该硬件密码服务资源的挂载授权,挂载该硬件密码服务资源;B9)将密码服务框架注册该硬件密码服务资源对应的密码服务。
可选地,步骤B1)包括密码服务框架发现位于TEE环境以及位于通用计算环境下的发现新的硬件密码服务资源,密码服务框架发现位于TEE环境下的发现新的硬件密码服务资源的详细步骤包括:在TEE内核硬件消息机制通知下或者TEE密码服务主动引发下,密码资源发现模块将启动密码资源发现流程,具体包括判定硬件密码资源的设备类型、驱动加载、密码服务类型,完成硬件密码服务资源配套数据结构的初始化,从而为密码资源挂载做好准备。
可选地,密码服务框架发现位于通用计算环境下的发现新的硬件密码服务资源的详细步骤包括:在REE内核硬件消息机制通知下或者通用操作系统密码服务主动引发下,密码资源发现模块将启动密码资源发现流程,具体包括判定硬件密码资源的设备类型、驱动加载、密码服务类型,完成硬件密码服务资源配套数据结构的初始化,从而为密码资源挂载做好准备。
可选地,所述对密码服务框架位于TEE环境下的TEE密码服务、位于通用计算环境下的通用操作系统密码服务分别进行扩展之后还包括在密码服务框架中建立密码资源动态调度机制的步骤,所述密码资源动态调度机制的执行步骤包括:密码服务框架收到来自应用的密码服务API调用请求;如果该应用为预设的安全应用,则执行针对安全应用预设的密码资源动态调度机制,否则执行针对普通应用预设的密码资源动态调度机制。
可选地,所述针对安全应用预设的密码资源动态调度机制的步骤包括:C1)建立TEE密码服务的安全会话;C2)向TEE密码服务转发调用请求;C3)TEE密码服务中的密码资源动态调度模块选择密码服务资源,且选择时优先选择硬件密码服务资源、然后再选择软件密码服务资源;C4)并建立应用到选择的密码服务资源之间的密码服务会话;C5)选择的密码服务资源为应用提供密码服务;C6)在密码服务完成后关闭密码服务会话以及TEE密码服务的安全会话;其中,针对普通应用预设的密码资源动态调度机制的步骤包括:D1)通用操作系统密码服务中的密码资源动态调度模块选择密码服务资源,且选择时优先选择硬件密码服务资源、然后再选择软件密码服务资源;D2)建立应用到选择的密码服务资源之间的密码服务会话;D3)选择的密码服务资源为应用提供密码服务;D4)在密码服务完成后关闭密码服务会话以及TEE密码服务的安全会话。
本发明还提供一种基于TEE的密码服务资源安全扩展系统,包括计算机设备,该计算机设备中包含采用所述基于TEE的密码服务资源安全扩展方法得到的密码服务框架。
和现有技术相比,本发明具有下述优点:本发明通过对密码服务框架位于TEE环境下的TEE密码服务、位于通用计算环境下的通用操作系统密码服务分别进行扩展,使得TEE密码服务增加对硬件密码服务资源的管理操作,使得通用操作系统密码服务为硬件密码服务资源的管理操作提供支撑,TEE密码服务、通用操作系统密码服务向上提供统一的密码服务API以支持应用的透明安全使用密码服务,因此本发明通过在TEE提供的安全隔离计算环境对密码服务框架进行扩展,并通过与操作系统内核的互动,使得密码服务框架具备主动检测和安全加载系统硬件密码服务资源的能力,从而可以充分利用计算平台的硬件密码服务资源,为用户应用透明地提供便捷高效的密码服务。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2是本发明实施例中密码服务框架的总体结构图。
图3是本发明实施例中挂载策略管理机制的流程图。
图4是本发明实施例中挂载策略应用机制的流程图。
图5是本发明实施例中密码服务资源主动发现机制工作流程图。
图6是本发明实施例中密码资源动态调度机制的工作流程图。
具体实施方式
如图1所示,本实施例基于TEE的密码服务资源安全扩展方法的实施步骤包括:对密码服务框架位于TEE环境下的TEE密码服务、位于通用计算环境下的通用操作系统密码服务分别进行扩展,使得TEE密码服务增加对硬件密码服务资源的管理操作(主动发现和加载),使得通用操作系统密码服务为硬件密码服务资源的管理操作(发现、驱动和加卸载)提供支撑,TEE密码服务、通用操作系统密码服务向上提供统一的密码服务API以支持应用的透明安全使用密码服务。本实施例方法要解决的技术问题是如何通过扩展操作系统密码服务框架的能力,实现对硬件密码资源的主动发现和安全加载的问题,从而提供一种能主动充分利用计算平台硬件密码资源,并安全地透明地为安全应用提供密码服务的方法。使用本实施例方法,操作系统可以将需要保护的密码资源的使用和管理置于安全性更高的TEE中,并在通用计算环境(REE:Rich Execution Environment)和可信执行环境(TEE)灵活地为应用提供高效密码服务。
如图2所示,对TEE环境的TEE密码服务进行扩展具体是指在TEE密码服务中增加密码资源管理单元,密码资源管理单元包括密码资源发现模块、软件密码资源模块、硬件密码服务资源模块、密码资源动态调度模块、密码资源挂载模块和安全挂载策略模块;
密码资源发现模块用于对TEE环境下的硬件平台进行主动扫描和硬件消息响应,检测发现可用的硬件密码服务资源;
软件密码资源模块用于在没有相应硬件密码资源支持的情况下提供加解密服务、证书服务、数据存储服务和扩展服务;在没有相应硬件密码资源支持的情况下,一般由软件密码资源提供相应的密码服务;
硬件密码服务资源模块包括硬件密码资源(例如CPU片上密码资源、板级密码资源、外接密码资源等硬件密码资源)并用于维护可用的硬件密码资源及其服务能力列表、并在挂载后通过密码资源动态调度机制为上层应用提供硬件密码服务(一般包括加解密服务、证书服务、数据存储服务和扩展服务等,与软件密码资源相比一般具有更好的性能和安全性);
密码资源动态调度模块用于将密码服务API的密码请求转发给合适的已挂载的密码服务资源、且优先使用硬件密码资源(即当存在具备相应服务能力的硬件密码资源时,会优先使用硬件密码服务资源为应用提供密码服务);
密码资源挂载模块用于实现硬件密码服务资源的安全挂载和安全卸载操作;
安全挂载策略模块用于存储由系统安全管理员配置的硬件密码资源安全挂载和使用的安全策略以为硬件密码资源的主动安全挂载提供支撑,安全挂载策略存储在可信计算环境,通用计算环境的普通用户和特权用户均无法篡改。
如图2所示,对通用计算环境的通用操作系统密码服务进行扩展具体是指在通用操作系统密码服务中增加密码资源管理单元,密码资源管理单元包括密码资源发现模块、软件密码资源模块、硬件密码服务资源模块、密码资源动态调度模块、密码资源挂载模块和挂载策略管理模块;其中密码资源发现模块、软件密码资源模块、硬件密码服务资源模块、密码资源动态调度模块、密码资源挂载模块与TEE环境下的模块功能相同,只是所处环境不同,挂载策略管理模块则是通用计算环境的通用操作系统密码服务所独有。密码资源发现模块用于对通用计算环境下的硬件平台进行主动扫描和硬件消息响应,检测发现可用的硬件密码服务资源;软件密码资源模块用于在没有相应硬件密码资源支持的情况下提供加解密服务、证书服务、数据存储服务和扩展服务;硬件密码服务资源模块包括硬件密码资源并用于维护可用的硬件密码资源及其服务能力列表、并在挂载后通过密码资源动态调度机制为上层应用提供硬件密码服务;密码资源动态调度模块用于将密码服务API的密码请求转发给合适的已挂载的密码服务资源、且优先使用硬件密码资源;密码资源挂载模块用于实现硬件密码服务资源的安全挂载和安全卸载操作;挂载策略管理模块用于负责支持安全管理员在通用计算环境实现对可信执行环境密码服务资源安全挂载策略的配置。
本实施例中,对密码服务框架位于TEE环境下的TEE密码服务、位于通用计算环境下的通用操作系统密码服务分别进行扩展之后还包括在密码服务框架中建立基于TEE的密码资源安全管理机制的步骤,基于TEE的密码资源安全管理机制包括挂载策略管理机制。
如图3所示,本实施例中挂载策略管理机制的执行步骤包括:A1)初始化TEE密码服务;A2)接收安全管理员的登陆信息并进行认证,若认证不通过则退出;否则执行下一步;A3)建立TEE密码服务的安全会话;A4)响应安全管理员进行密码资源挂载策略管理的操作,且在安全管理员保存修改后的安全挂载策略后将修改后的安全挂载策略保存到安全挂载策略模块;A5)关闭TEE密码服务的安全会话;A6)退出安全管理员的登陆状态。硬件密码资源包含特定密码算法和密钥等敏感信息,其挂载和使用应该受到保护,确保安全可控地使用。本发明遵循三权分立原则,将硬件密码资源的挂载策略管理和使用分开,仅允许系统安全管理员进行挂载策略的配置和管理,而建立的安全挂载策略存储在硬件隔离保护的TEE中。其基本流程为,首先对安全管理员进行认证,通过认证后授予管理权限,并建立安全挂载策略的安全访问会话;其次,安全管理员进行密码资源挂载策略管理操作;最后,安全管理员保存修改后的安全挂载策略并退出管理会话。
本实施例中遵循三权分立原则建立挂载策略管理机制,仅允许系统安全管理员安全配置和管理密码资源挂载策略;同时,还利用TEE提供的安全隔离和更高安全特权性质,建立挂载策略应用机制,为密码服务框架提供硬件密码服务资源的动态安全挂载和安全使用机制,即:基于TEE的密码资源安全管理机制还包括挂载策略应用机制。在密码服务框架发现硬件密码资源后,其挂载操作必须遵循TEE中密码资源管理的安全挂载策略的限制。密码资源挂载模块执行挂载操作前,将先向TEE中的安全挂载策略模块请求授权,许可后才执行挂载操作。而硬件密码资源只有在正确挂载后,才能为应用提供密码服务,这就为硬件密码资源的安全使用提供了保障。此外,当安全挂载策略变更后,密码资源挂载模块也会对所挂载的硬件密码资源加以动态调整,保证安全策略的一致性。
如图4所示,本实施例中挂载策略应用机制的执行步骤包括:B1)密码服务框架发现新的硬件密码服务资源;B2)扫描新的硬件密码服务资源的设备类型;B3)通知内核加载新的硬件密码服务资源相应的驱动;B4)识别新的硬件密码服务资源的服务类型;B5)初始化新的硬件密码服务资源的数据结构;B6)建立TEE密码服务的安全会话,将新的硬件密码服务资源的数据结构发送给密码资源挂载模块;B7)密码资源挂载模块向挂载策略管理模块请求挂载授权,如果挂载策略管理模块中存储的挂载策略为不允许挂载则结束并退出;否则执行下一步;B8)返回该硬件密码服务资源的挂载授权,挂载该硬件密码服务资源;B9)将密码服务框架注册该硬件密码服务资源对应的密码服务。
图5为本实施例中密码服务资源主动发现机制的流程图,该流程由密码服务框架与操作系统内核硬件管理模块交互触发与完成。密码服务框架可以主动启动密码资源发现流程,或者当系统内核硬件管理模块发现新的硬件设备时,将向密码服务框架发送消息,启动密码资源发现流程。在该流程下,密码服务框架的密码资源发现模块将扫描检测新的硬件密码服务资源。若未发现新的密码服务资源,则流程结束。若发现新的密码服务资源,密码资源发现模块将进一步扫描硬件密码服务资源的设备类型,并根据设备类型通知操作系统内核加载相应驱动程序。当硬件密码服务资源可以访问后,密码资源发现模块进一步识别硬件密码服务资源的密码服务类型,并完成相关数据结构的初始化工作,为密码资源的挂载做好准备。最后,密码资源发现模块将硬件密码资源的相关数据结构发送给密码资源挂载模块,流程结束。本实施例中建立基于TEE的密码服务资源主动发现与挂载机制,由密码服务框架与操作系统内核硬件管理模块交互,分别建立TEE密码资源发现机制和REE密码资源发现机制,主动检测发现系统的硬件密码资源,并与密码资源挂载模块交互完成密码服务资源的安全挂载。
如图5所示,步骤B1)包括密码服务框架发现位于TEE环境以及位于通用计算环境下的发现新的硬件密码服务资源:
1、密码服务框架发现位于TEE环境下的发现新的硬件密码服务资源的详细步骤包括:在TEE内核硬件消息机制通知下或者TEE密码服务主动引发下,密码资源发现模块将启动密码资源发现流程,具体包括判定硬件密码资源的设备类型、驱动加载、密码服务类型,完成硬件密码服务资源配套数据结构的初始化,从而为密码资源挂载做好准备。上述步骤即为TEE密码资源发现机制,本实施例通过TEE密码资源发现机制在TEE内核硬件消息机制通知下或者TEE密码服务主动引发下,密码资源发现模块将启动密码资源发现流程,具体包括判定硬件密码资源的设备类型、驱动加载、密码服务类型等,完成硬件密码服务资源配套数据结构的初始化,为密码资源挂载做好准备。
2、密码服务框架发现位于通用计算环境下的发现新的硬件密码服务资源的详细步骤包括:在REE内核硬件消息机制通知下或者通用操作系统密码服务主动引发下,密码资源发现模块将启动密码资源发现流程,具体包括判定硬件密码资源的设备类型、驱动加载、密码服务类型,完成硬件密码服务资源配套数据结构的初始化,从而为密码资源挂载做好准备。上述步骤即为REE密码资源发现机制,本实施例通过REE密码资源发现机制在REE内核硬件消息机制通知下或者通用操作系统密码服务主动引发下,密码资源发现模块将启动密码资源发现流程,具体包括判定硬件密码资源的设备类型、驱动加载、密码服务类型等,完成硬件密码服务资源配套数据结构的初始化,为密码资源挂载做好准备。
本实施例还提供密码资源挂载控制机制,密码资源发现模块将发现的新的硬件密码资源数据结构发送给密码资源挂载模块,密码资源挂载模块则查询TEE中存储的安全挂载策略,并根据安全挂载策略的一致性判定结果决定是否将发现的硬件密码资源加载到密码服务框架。
此外,本实施例中还包括在密码服务框架中建立密码资源动态调度机制,负责将应用的密码服务API调用请求透明地转发到密码服务框架内最匹配的密码资源,并提供相应的密码服务,其工作原则一般优先选用硬件密码服务资源。具体地,对密码服务框架位于TEE环境下的TEE密码服务、位于通用计算环境下的通用操作系统密码服务分别进行扩展之后还包括在密码服务框架中建立密码资源动态调度机制的步骤,密码资源动态调度机制的执行步骤包括:密码服务框架收到来自应用的密码服务API调用请求;如果该应用为预设的安全应用,则执行针对安全应用预设的密码资源动态调度机制,否则执行针对普通应用预设的密码资源动态调度机制。如图6所示,针对安全应用预设的密码资源动态调度机制的步骤包括:C1)建立TEE密码服务的安全会话;C2)向TEE密码服务转发调用请求;C3)TEE密码服务中的密码资源动态调度模块选择密码服务资源,且选择时优先选择硬件密码服务资源、然后再选择软件密码服务资源;C4)并建立应用到选择的密码服务资源之间的密码服务会话;C5)选择的密码服务资源为应用提供密码服务;C6)在密码服务完成后关闭密码服务会话以及TEE密码服务的安全会话;其中,针对普通应用预设的密码资源动态调度机制的步骤包括:D1)通用操作系统密码服务中的密码资源动态调度模块选择密码服务资源,且选择时优先选择硬件密码服务资源、然后再选择软件密码服务资源;D2)建立应用到选择的密码服务资源之间的密码服务会话;D3)选择的密码服务资源为应用提供密码服务;D4)在密码服务完成后关闭密码服务会话以及TEE密码服务的安全会话。综上可知,本实施例中安全应用的密码资源动态调度机制为:安全应用的密码服务API调用请求将优先采用TEE密码服务提供的密码服务,以确保敏感操作的安全性。密码资源动态调度模块接收到安全应用的密码服务API调用请求,转发给TEE密码服务中的密码资源动态调度模块,由TEE密码服务的密码资源动态调度模块选择TEE密码服务中的密码资源,一般优先选择硬件密码资源,次选软件密码资源,选定后,透明地将服务请求转发到密码服务资源,并建立密码服务会话,由其提供相应的密码服务。普通应用的密码资源动态调度机制为:普通应用的密码服务API调用请求将遵循性能优先原则,优先采用硬件密码服务资源提供服务。密码资源动态调度模块将根据接收到普通应用的密码服务API调用请求,在密码资源中选择最匹配的密码资源,一般优先选择硬件密码资源,次选软件密码资源,选定后,透明地将服务请求转发到密码服务资源,并建立密码服务会话,由其提供相应的密码服务。
综上所述,本实施例基于TEE的密码服务资源安全扩展方法具有下述优点:
1、本实施例利用安全硬件平台提供的TEE安全隔离特性,设计实现了具备主动发现并安全挂载系统内硬件密码资源的密码服务框架,解决了当前硬件密码资源需要手动挂载和使用的问题。由密码服务框架主动接收硬件变更消息或主动检测硬件变动,主动发现可用的硬件密码服务资源。同时,利用三权分立原则,将密码服务资源的挂载策略管理和使用分离,利用TEE的硬件加密隔离保护特性,为安全挂载策略和挂载授权提供了强隔离安全防护。通用计算环境的超级管理员无法干扰密码资源的使用,攻击者若想从通用计算环境的用户态穿越到TEE的内核态也难度非常大,从而能够保障硬件密码资源的安全挂载和使用。
2、本实施例在密码服务框架中设计了密码资源动态调度机制,能够更为灵活地针对不同安全需求的应用提供透明地安全高效的密码服务。一方面,针对安全应用需求,优先选择TEE中的高安全硬件密码服务资源,提供安全的高效密码服务;另一方面,针对普通应用,优先选择可用的硬件密码服务资源,提供高效的硬件密码服务。通过初步的实验验证,在国产飞腾2000/4平台,利用处理器内置硬件密码资源,单线程的对称加密效率可以获得4倍以上的性能提升。
3、本实施例提出的密码资源动态调度机制、硬件密码服务资源主动发现与挂载机制,其设计和使用并不受TEE的限制,在更广泛的通用计算环境,也对安全应用的开发和密码服务资源的使用带来很大的便利。
此外,本实施例还提供一种基于TEE的密码服务资源安全扩展系统,包括计算机设备,该计算机设备中包含采用前述基于TEE的密码服务资源安全扩展方法得到的密码服务框架。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于TEE的密码服务资源安全扩展方法,其特征在于实施步骤包括:对密码服务框架位于TEE环境下的TEE密码服务、位于通用计算环境下的通用操作系统密码服务分别进行扩展,使得TEE密码服务增加对硬件密码服务资源的管理操作,使得通用操作系统密码服务为硬件密码服务资源的管理操作提供支撑,所述TEE密码服务、通用操作系统密码服务向上提供统一的密码服务API以支持应用的透明安全使用密码服务。
2.根据权利要求1所述的基于TEE的密码服务资源安全扩展方法,其特征在于,所述对TEE环境的TEE密码服务进行扩展具体是指在TEE密码服务中增加密码资源管理单元,所述密码资源管理单元包括密码资源发现模块、软件密码资源模块、硬件密码服务资源模块、密码资源动态调度模块、密码资源挂载模块和安全挂载策略模块;密码资源发现模块用于对TEE环境下的硬件平台进行主动扫描和硬件消息响应,检测发现可用的硬件密码服务资源;软件密码资源模块用于在没有相应硬件密码资源支持的情况下提供加解密服务、证书服务、数据存储服务和扩展服务;硬件密码服务资源模块包括硬件密码资源并用于维护可用的硬件密码资源及其服务能力列表、并在挂载后通过密码资源动态调度机制为上层应用提供硬件密码服务;密码资源动态调度模块用于将密码服务API的密码请求转发给合适的已挂载的密码服务资源、且优先使用硬件密码资源;密码资源挂载模块用于实现硬件密码服务资源的安全挂载和安全卸载操作;安全挂载策略模块用于存储由系统安全管理员配置的硬件密码资源安全挂载和使用的安全策略以为硬件密码资源的主动安全挂载提供支撑。
3.根据权利要求2所述的基于TEE的密码服务资源安全扩展方法,其特征在于,所述对通用计算环境的通用操作系统密码服务进行扩展具体是指在通用操作系统密码服务中增加密码资源管理单元,所述密码资源管理单元包括密码资源发现模块、软件密码资源模块、硬件密码服务资源模块、密码资源动态调度模块、密码资源挂载模块和挂载策略管理模块;密码资源发现模块用于对通用计算环境下的硬件平台进行主动扫描和硬件消息响应,检测发现可用的硬件密码服务资源;软件密码资源模块用于在没有相应硬件密码资源支持的情况下提供加解密服务、证书服务、数据存储服务和扩展服务;硬件密码服务资源模块包括硬件密码资源并用于维护可用的硬件密码资源及其服务能力列表、并在挂载后通过密码资源动态调度机制为上层应用提供硬件密码服务;密码资源动态调度模块用于将密码服务API的密码请求转发给合适的已挂载的密码服务资源、且优先使用硬件密码资源;密码资源挂载模块用于实现硬件密码服务资源的安全挂载和安全卸载操作;挂载策略管理模块用于负责支持安全管理员在通用计算环境实现对可信执行环境密码服务资源安全挂载策略的配置。
4.根据权利要求3所述的基于TEE的密码服务资源安全扩展方法,其特征在于,所述对密码服务框架位于TEE环境下的TEE密码服务、位于通用计算环境下的通用操作系统密码服务分别进行扩展之后还包括在密码服务框架中建立基于TEE的密码资源安全管理机制的步骤,所述基于TEE的密码资源安全管理机制包括挂载策略管理机制,且所述挂载策略管理机制的执行步骤包括:A1)初始化TEE密码服务;A2)接收安全管理员的登陆信息并进行认证,若认证不通过则退出;否则执行下一步;A3)建立TEE密码服务的安全会话;A4)响应安全管理员进行密码资源挂载策略管理的操作,且在安全管理员保存修改后的安全挂载策略后将修改后的安全挂载策略保存到安全挂载策略模块;A5)关闭TEE密码服务的安全会话;A6)退出安全管理员的登陆状态。
5.根据权利要求4所述的基于TEE的密码服务资源安全扩展方法,其特征在于,所述基于TEE的密码资源安全管理机制还包括挂载策略应用机制,所述挂载策略应用机制的执行步骤包括:B1)密码服务框架发现新的硬件密码服务资源;B2)扫描新的硬件密码服务资源的设备类型;B3)通知内核加载新的硬件密码服务资源相应的驱动;B4)识别新的硬件密码服务资源的服务类型;B5)初始化新的硬件密码服务资源的数据结构;B6)建立TEE密码服务的安全会话,将新的硬件密码服务资源的数据结构发送给密码资源挂载模块;B7)密码资源挂载模块向挂载策略管理模块请求挂载授权,如果挂载策略管理模块中存储的挂载策略为不允许挂载则结束并退出;否则执行下一步;B8)返回该硬件密码服务资源的挂载授权,挂载该硬件密码服务资源;B9)将密码服务框架注册该硬件密码服务资源对应的密码服务。
6.根据权利要求5所述的基于TEE的密码服务资源安全扩展方法,其特征在于,步骤B1)包括密码服务框架发现位于TEE环境以及位于通用计算环境下的发现新的硬件密码服务资源,密码服务框架发现位于TEE环境下的发现新的硬件密码服务资源的详细步骤包括:在TEE内核硬件消息机制通知下或者TEE密码服务主动引发下,密码资源发现模块将启动密码资源发现流程,具体包括判定硬件密码资源的设备类型、驱动加载、密码服务类型,完成硬件密码服务资源配套数据结构的初始化,从而为密码资源挂载做好准备。
7.根据权利要求6所述的基于TEE的密码服务资源安全扩展方法,其特征在于,密码服务框架发现位于通用计算环境下的发现新的硬件密码服务资源的详细步骤包括:在REE内核硬件消息机制通知下或者通用操作系统密码服务主动引发下,密码资源发现模块将启动密码资源发现流程,具体包括判定硬件密码资源的设备类型、驱动加载、密码服务类型,完成硬件密码服务资源配套数据结构的初始化,从而为密码资源挂载做好准备。
8.根据权利要求3所述的基于TEE的密码服务资源安全扩展方法,其特征在于,所述对密码服务框架位于TEE环境下的TEE密码服务、位于通用计算环境下的通用操作系统密码服务分别进行扩展之后还包括在密码服务框架中建立密码资源动态调度机制的步骤,所述密码资源动态调度机制的执行步骤包括:密码服务框架收到来自应用的密码服务API调用请求;如果该应用为预设的安全应用,则执行针对安全应用预设的密码资源动态调度机制,否则执行针对普通应用预设的密码资源动态调度机制。
9.根据权利要求8所述的基于TEE的密码服务资源安全扩展方法,其特征在于,所述针对安全应用预设的密码资源动态调度机制的步骤包括:C1)建立TEE密码服务的安全会话;C2)向TEE密码服务转发调用请求;C3)TEE密码服务中的密码资源动态调度模块选择密码服务资源,且选择时优先选择硬件密码服务资源、然后再选择软件密码服务资源;C4)并建立应用到选择的密码服务资源之间的密码服务会话;C5)选择的密码服务资源为应用提供密码服务;C6)在密码服务完成后关闭密码服务会话以及TEE密码服务的安全会话;其中,针对普通应用预设的密码资源动态调度机制的步骤包括:D1)通用操作系统密码服务中的密码资源动态调度模块选择密码服务资源,且选择时优先选择硬件密码服务资源、然后再选择软件密码服务资源;D2)建立应用到选择的密码服务资源之间的密码服务会话;D3)选择的密码服务资源为应用提供密码服务;D4)在密码服务完成后关闭密码服务会话以及TEE密码服务的安全会话。
10.一种基于TEE的密码服务资源安全扩展系统,包括计算机设备,其特征在于,该计算机设备中包含采用权利要求1~9中任意一项所述基于TEE的密码服务资源安全扩展方法得到的密码服务框架。
CN202010251319.7A 2020-04-01 2020-04-01 基于tee的密码服务资源安全扩展方法及系统 Active CN111416713B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010251319.7A CN111416713B (zh) 2020-04-01 2020-04-01 基于tee的密码服务资源安全扩展方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010251319.7A CN111416713B (zh) 2020-04-01 2020-04-01 基于tee的密码服务资源安全扩展方法及系统

Publications (2)

Publication Number Publication Date
CN111416713A true CN111416713A (zh) 2020-07-14
CN111416713B CN111416713B (zh) 2023-04-28

Family

ID=71493392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010251319.7A Active CN111416713B (zh) 2020-04-01 2020-04-01 基于tee的密码服务资源安全扩展方法及系统

Country Status (1)

Country Link
CN (1) CN111416713B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111859396A (zh) * 2020-07-21 2020-10-30 中国人民解放军国防科技大学 支持通用/可信双计算体系的软硬协同多层次密码服务方法及系统
CN117353921A (zh) * 2023-12-06 2024-01-05 飞腾信息技术有限公司 密钥管理方法、装置、计算设备及计算机可读存储介质
CN117632271A (zh) * 2023-12-14 2024-03-01 江苏新质信息科技有限公司 一种硬件加速方法、装置、存储介质及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752104A (zh) * 2012-06-07 2012-10-24 中国电子科技集团公司第三十研究所 一种基于智能卡cos的对称密码服务实现方法
CN104021335A (zh) * 2014-06-05 2014-09-03 中国人民解放军国防科学技术大学 基于可扩展密码服务框架的密码服务方法
CN106603487A (zh) * 2016-11-04 2017-04-26 中软信息系统工程有限公司 一种基于cpu时空隔离机制对tls协议处理进行安全改进的方法
US20170322790A1 (en) * 2016-05-04 2017-11-09 Oleksii Surdu Reliable and Secure Firmware Update with a Dynamic Validation for Internet of Things (IoT) Devices
US20180007020A1 (en) * 2013-02-08 2018-01-04 Amazon Technologies, Inc. Secure transfer and use of secret material in a shared environment
US20190042797A1 (en) * 2017-12-28 2019-02-07 Intel Corporation Security Hardware Access Management
CN110673526A (zh) * 2019-09-29 2020-01-10 山东工商学院 物联网网络安全装置、系统及控制方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752104A (zh) * 2012-06-07 2012-10-24 中国电子科技集团公司第三十研究所 一种基于智能卡cos的对称密码服务实现方法
US20180007020A1 (en) * 2013-02-08 2018-01-04 Amazon Technologies, Inc. Secure transfer and use of secret material in a shared environment
CN104021335A (zh) * 2014-06-05 2014-09-03 中国人民解放军国防科学技术大学 基于可扩展密码服务框架的密码服务方法
US20170322790A1 (en) * 2016-05-04 2017-11-09 Oleksii Surdu Reliable and Secure Firmware Update with a Dynamic Validation for Internet of Things (IoT) Devices
CN106603487A (zh) * 2016-11-04 2017-04-26 中软信息系统工程有限公司 一种基于cpu时空隔离机制对tls协议处理进行安全改进的方法
US20190042797A1 (en) * 2017-12-28 2019-02-07 Intel Corporation Security Hardware Access Management
CN110673526A (zh) * 2019-09-29 2020-01-10 山东工商学院 物联网网络安全装置、系统及控制方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BRIAN MCGILLION: ""Open-TEE--an open virtual trusted execution environment"", 《2015 IEEE TRUSTCOM/BIGDATASE/ISPA》 *
肖堃: ""嵌入式系统安全可信运行环境研究"", 《中国博士学位论文全文数据库》 *
郑显义等: "TrustZone技术的分析与研究", 《计算机学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111859396A (zh) * 2020-07-21 2020-10-30 中国人民解放军国防科技大学 支持通用/可信双计算体系的软硬协同多层次密码服务方法及系统
CN111859396B (zh) * 2020-07-21 2023-10-03 中国人民解放军国防科技大学 支持通用/可信双计算体系的软硬协同多层次密码服务方法及系统
CN117353921A (zh) * 2023-12-06 2024-01-05 飞腾信息技术有限公司 密钥管理方法、装置、计算设备及计算机可读存储介质
CN117353921B (zh) * 2023-12-06 2024-02-13 飞腾信息技术有限公司 密钥管理方法、装置、计算设备及计算机可读存储介质
CN117632271A (zh) * 2023-12-14 2024-03-01 江苏新质信息科技有限公司 一种硬件加速方法、装置、存储介质及电子设备
CN117632271B (zh) * 2023-12-14 2024-05-28 江苏新质信息科技有限公司 一种硬件加速方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN111416713B (zh) 2023-04-28

Similar Documents

Publication Publication Date Title
US8201239B2 (en) Extensible pre-boot authentication
US8782412B2 (en) Secured privileged access to an embedded client on a mobile device
CN111416713B (zh) 基于tee的密码服务资源安全扩展方法及系统
US9698988B2 (en) Management control method, apparatus, and system for virtual machine
US7587750B2 (en) Method and system to support network port authentication from out-of-band firmware
US8909940B2 (en) Extensible pre-boot authentication
JP4940460B2 (ja) 処理システム、方法およびデバイス
US7376968B2 (en) BIOS integrated encryption
KR101318524B1 (ko) 보안 가상 머신 호스팅 프로세서 및 보안 가상 머신 설정 방법
CN101771689B (zh) 通过管理性引擎进行企业网单点登录的方法和系统
US9098703B2 (en) SOC with security function and device and scanning method using the same
US20050010811A1 (en) Method and system to support network port authentication from out-of-band firmware
EP2486509B1 (en) Platform security
WO2006137947A1 (en) Programmable processor supporting secure mode
WO2009032036A2 (en) Compatible trust in a computing device
US20080022124A1 (en) Methods and apparatus to offload cryptographic processes
CA2982539A1 (en) Method of operating a computing device, computing device and computer program
CN112765637A (zh) 数据处理方法、密码服务装置和电子设备
Huber et al. A secure architecture for operating system-level virtualization on mobile devices
TWI716320B (zh) 安全任務處理方法、裝置、電子設備及儲存媒體
CN111859396B (zh) 支持通用/可信双计算体系的软硬协同多层次密码服务方法及系统
KR100492381B1 (ko) 무선 디바이스용 보안 서비스
JP2017207952A (ja) 処理装置、アクセス制御方法およびアクセス制御プログラム

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