论文部分内容阅读
数据是信息系统的核心与基础,是互联网中各种服务的重要支撑,而云计算的快速发展,使得云存储成为数据存储的主流解决方案。然而,云环境中存在的众多安全问题,使得云端数据存储面临着严峻的安全挑战。云端数据加密是保障云端数据安全的重要手段,云加密数据库是其中的典型应用。细粒度可定制的云数据库加密方案,需要海量密钥管理技术来支撑。本文聚焦于细粒度加密的云数据库系统中的海量密钥管理问题,分析了该场景下密钥管理系统的性能要求及其面临的安全挑战,并提出了解决方案。在数据细粒度加密的场景中,密钥管理系统为每个加密对象单独分配密钥将会产生海量密钥,这些密钥的安全是整个云加密数据库系统安全的基础。同时,在加密数据库系统对数据进行读写操作时,会使用大量的密钥来进行数据的加解密操作,密钥使用过程中产生的大量时间开销也会对整个系统的性能产生影响。针对云加密数据库系统中海量密钥管理的性能问题,本文将哈希树结构进行了改进,并应用到密钥管理技术中,提出了一种高效的密钥管理方案。该方案实现了加密对象到加密密钥的快速映射,并基于该映射关系实现了密钥的高效生成、快速查询、灵活更新、即时注销。与用主密钥加密数据密钥的传统方案对比,密钥生成、密钥查询效率显著提升。针对密钥管理系统中密钥泄露带来的安全问题,本文在哈希树密钥管理模型的基础上,提出了一种安全的密钥存储方案,该方案通过哈希运算生成数据密钥,并使用可信硬件Intel SGX来保护主密钥的安全。该方案存储加密对象的哈希值,在哈希树中查找该哈希值时生成路径信息,将该路径信息和主密钥进行一组哈希运算来生成密钥。由于该密钥是在系统运行时运算获得,所以在密钥文件泄露时也能保证密钥数据的安全。此外,由于哈希运算的单向性,保证了部分密钥的泄露不会破坏其他数据的机密性。基于上述密钥树模型,本文设计并实现了基于哈希树的密钥管理系统,该系统实现了百万级密钥的快速分配、高效的密钥查询、灵活的密钥更新和即时密钥注销,同时实现了密钥树数据的安全存储。搭建了支持列级加密的关系型加密数据库系统,对该密钥管理系统性能进行了测试,通过实验数据分析可知,该密钥管理方案比分级密钥管理方案时间消耗减少了约80%,存储开销减少了约30%。