中国工程院院士沈昌祥:我们也一定要抢占核心技术制高点,科学严谨分析研究,坚持自主创新,不能盲目跟班。
一、可信计算时代的呼唤
可信计算的软件实现部分由可信软件基(TSB)、可信基础支撑软件系统服务、可信基础支撑软件应用部分这3部分组成,其中,可信软件基(TSB)在可信计算中处于承上启下的核心地位,它不仅是可信3.0的核心部件,也是构造可信工程开发环境的基础。可信软件基在逻辑上独立于宿主基础软件,通过在宿主操作系统内容进行主动拦截,实现对应用程序透明可信支撑,从而形成主动免疫双体系结构。
可信软件基由主动免疫机制和支撑机制组成,其组成结构如图1-1。
图1-1 可信软件基结构框架
由图可见,可信软件基有着度量、判定、控制和支撑等各种各样的功能,但是它们没有一个固定的模式,只能通过编程开发分别实现。如果能够解决可信策略格式自动解析的问题,则可信软件基中策略处理和传输的共性部分可以考虑用通用机制实现。
在此前提下,北京工业大学可信计算重点实验室提出了可信软件基框架的设想:提取可信软件基中策略处理和传输的共性部分,构建一个通用框架,同时为可信软件基的度量、判定、控制和支撑等功能提供一个模块规范,让开发者遵循规范将这些个性部分以构建模块方式实现,让通用框架选择性的加载构件,以实现符合需求的可信软件基。
其目的是让开发者将可信软件基的度量机制、决策机制、控制机制和支撑机制以构件方式实现,通过Cube框架将其继承为可信软件基,并为可信软件之间的协作提供互联和接口转换功能支持。
二、Cube系统应运而生
随着可信计算技术的发展和需求的增加,作为一个针对可信计算体系设计的开源可信软件基框架系统Cube应运而生。
Cube是旨在提供一种基于分布式消息驱动的架构,其核心目标是提供一个稳定、安全、易于管理的平台,以支持各种安全敏感的应用场景。Cube通过构建双系统体系结构,并行于宿主基础软件,在可信平台模块(TPCM)的支撑下,通过在宿主操作系统内部进行主动拦截和度量保护,实现主动免疫防御的安全能力。
Cube提供的五大核心功能如下:
①记录格式的定义和解析功能:通过定义不同格式的记录,让Cube能够解读和处理不同格式的策略。
②内存键值数据库维护功能:为Cube所定义的记录格式建立内存数据库。提供存储、读出、查询记录的功能。以支持策略的的持久化储存。
③可扩展消息处理功能:定义特定格式策略的消息,通过可信协议保护策略的传输和处理,以支持策略的持久化存储。
④子模块载入功能:框架可以载入不同可信功能子模块。以实现不同的可信处理机制。
⑤消息路由定义功能:通过定义消息的传输途径来衔接子模块的功能,定义具体的工作流程。
三、深入探索可信软件基石:Cube框架
Cube框架是一个基于分布式消息驱动的架构,它以其独特的设计和功能在可信计算领域占据了一席之地。
北京工业大学可信计算重点实验室对可信软件基框架Cube进行了长期的开发工作,并在云计算、物联网等环境下进行了测试。目前,可运行版本Cube-1.3(源码开放)已具备上述核心功能,并附有较强的配置灵活性。该版本在 Linux环境下运行,其主体部分仅调用基本 C库和戈程库 libpthread,有较强的可移植性。
图1-2 Cube-1.3版基本结构
如图所示,可以看到Cube代码由基础函数库、子模块和主进程三部分组成。
函数库:提供基本功能函数供子模块和主进程调用。
子模块:是一个接收消息、执行消息处理流程。又细分为系统子模块和可选子模块两类,可选子模块又分为端口子模块(只在Cube内部运行)和本地子模块(可与外界连接)。子模块可以以软件定义的方式进行拼接,从而定义出不同的可信处理流程。
主进程:作为Cube的执行入口,主进程可以读入不同配置文件、加载不同的子模块、设置不同的路由策略,从而实现不同的功能机制。
四、可信软件基Cube开发流程
如图1-3是Cube系统的建议开发流程,包含运行环境设计、实例与子模块部署、记录格式定义和消息路由设计、子模块设计开发、系统集成、运行测试6个步骤。前3个是框架设计阶段,后3个是系统实现阶段。
图1-3- Cube系统建议开发流程
Cube系统开发流程涵盖了从项目规划到部署维护的整个过程,不仅注重技术实现,更强调安全性、可靠性和灵活性的平衡。这种平衡使得Cube架构能够应对各种复杂的应用场景和需求,提供高效、安全的服务。
五、Cube核心技术特点及应用场景
Cube的技术实现基于分布式消息驱动的架构具有以下几个特点:
①消息路由:通过配置文件预设消息的传输途径,定义消息在实例中的模块间以及实例间传播的方式,实现消息的灵活路由和分发。
②记录管理:Cube使用记录作为存储数据和基于消息交换数据的基本单元。通过预先定义格式的数据,格式为Cube所支持的数据类型的一个有序组合,实现对数据的规范化管理。
③通用模块:Cube提供一些通用模块,开发者可以自行开发模块与通用模块组合使用以满足不同应用场景的需求。
④模块化设计:Cube的模块化设计使得开发人员可以更加方便地进行模块的加载、卸载和替换,提高了软件的可维护性和可扩展性。
Cube基于分布式消息驱动的架构实现了高度的可扩展性、灵活性和安全性。通过数据格式定义和解析、内存数据库支持、软件定义的模块加载以及消息路由等功能,Cube能够满足金融、医疗、政府机构、物联网设备、云服务、智能制造业等各种复杂业务场景的需求,目前Cube在多个行业中得到了应用,为客户提供强有力的安全支持。
六、构建开放的可信计算生态系统
首先,Cube通过其主动免疫机制和支撑机制为软件提供了安全可信的运行环境。其次,Cube支可持在不同的计算平台之间实现安全计算和数据交换,保障了跨平台应用的安全性和一致性。再次,开发者可以利用Cube快速构建原型系统、验证算法和设计的有效性,加速了可信计算产品的研发。开源的形式,为开发者和研究者提供了便捷、透明的可信计算软件框架。这使得更多的用户能够了解、学习和应用可信计算技术,推动可信计算技术的普及和应用。
当我们揭开可信计算Cube架构的神秘面纱,不难发现其背后蕴含着对安全、可靠和高效的不懈追求。无论是通过分布式消息驱动的机制确保数据的安全传输,还是通过软件定义的模块加载和消息路由策略来灵活应对各种应用场景,Cube架构都为我们展示了一种全新的计算范式,在面对当今日益严峻的网络安全挑战时,Cube也为关键信息基础设施的安全保护提供了强有力的技术支撑。
安全无小事,可信计算Cube架构正是我们迈向安全计算新纪元的重要一步,未来,随着技术的不断进步和应用场景的不断扩展,Cube架构有望在更多领域发挥其独特优势,推动整个计算生态的可持续发展。让我们共同期待Cube架构在未来能够为我们的数字生活带来更多的安全和便捷!

