可信密态数据库研究进展与应用实践.pptx

可信密态数据库研究进展与应用实践.pptx

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
可 信 密 态 数 据 库 研 究 进 展 与 应 用 实 践; 01 下一代数据库安全可信体系;;;; 机密性 真实性 流通性 合规性 ……; 安全上云:为用户数据提供安全可信、隐私保护基础能力 (保证用户云上数据的机密性、完整性、真实性、审计性); AccountID; 口 可信存储能力 ? 防篡改: 校验数据是否存在且未被篡改 ? 可追溯: 校验数据更新删除的完整过程 ? 不可抵赖:校验数据操作的用户与时间 ? 法律效力:国家级三方可信机构锚定 口 应用场景 ? 证明数据库存储内容真实可信 ? 例:交易记录,合同档案的可信存储与举证 ? 证明数据的变更过程真实可信 ? 例:物/车联网设备数据的可信分析与举证 ? 证明操作的用户与时间真实可信 ? 例:供应链,物流配送的可信追溯与举证 ? 提供单一可信数据源服务 ? 例: 多方融合计算,数据流转; 02 全密态数据库研究进展;;; 密码学方案与技术局限 口 密码学方案 ? 同态加密(Homophonic Encryption) – 支持密文上的数值计算(加法/乘法) ? HE(x) ⊕ HE(y) = HE(x + y) ? HE(x) ? HE(y) = HE(x × y) ? 保序加密(Order Preserving Encryption) – 支持密文上的数值比较 ? OPE(x) OPE(y) iff x y ? 可搜索加密(Searchable Encryption) – 支持密文数据集上的数据检索; 口 安全功能 (Enclave) ? Isolation – 执行环境隔离 ? 提供内存加密、上下文切换保护、非法访问拦截等 ? Attestation – 真实身份验证 ? 可验证Enclave及其加载代码(*.signed.so)的真实性 ? Sealing – 外存数据加密 ? 保证只有当前Enclave可以读取写到外存的内部数据 口 技术局限 ? 功能 – 不支持系统调用 (系统不可信); 信息泄露 实现端到端加密后并不意味着 数据是绝对安全的 口 系统元数据存在信息泄露 口 数据访问模式存在信息泄露 口 数据量与消息长度存在信息 泄露 口 ……; 案例; 领域首创研究成果 VLDB’21 - Building Enclave-Native Storage Engine for Practical Encrypted Databases; 03 全密态数据库产品落地; 口 是否兼容现有数据库产品? ? 是否支持存量业务? ? 如何成为所有数据库产品的通用能力? 口 如何实现业务接入迁移? ? 如何实现“业务0修改”? ? 是否兼容数据库生态工具? 口 如何支持与不同TEE技术兼容? ? 如何处理不同的安全模型可用资源? ? Intel SGX、神盾卡、 AMD SEV、ARM TrustZone等; 口 数据库生态兼容性 ? 【独立组件】 与分布式架构、跨域高可用、 存储计算分离等技术高度兼容 ? 【生态工具】 支持数据迁移 (DTS)、备份 (DBS) 等,可支持“应用0改造”迁移 口 跨平台密态计算能力 ? 支持Intel SGX (x86架构) ? 支持自研密态计算硬件(x86/ARM架构); // connect to DB server Connection con = DriverManager.getConnection(jdbc:XXX, “user1, “user1); // initiate EncDB SDK and send ROOT_KEY to enclave via RA EncdbSDK sdk(con, ROOT_KEY); String selectSQL = SELECT NAME,DOB FROM USER_PROFILE WHERE ID = ?; PreparedStatement stat = con.prepareStatement(sql); preparedStatement.set(1, sdk.encrypt(1001)); ResultSet rs = preparedStatement.executeQuery(selectSQL); String name = sdk.decrypt(rs.get(NAME)); String dob = sdk.decrypt(rs.get(DOB));; Connection conn = DriverManager.getC

文档评论(0)

行业精品 + 关注
实名认证
内容提供者

提供各行业精品文档,欢迎选购!

1亿VIP精品文档

相关文档