<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>合规认证 on Kernel Notes</title><link>https://my-blog.j8465383071.workers.dev/categories/%E5%90%88%E8%A7%84%E8%AE%A4%E8%AF%81/</link><description>Recent content in 合规认证 on Kernel Notes</description><generator>Hugo -- 0.147.7</generator><language>zh-cn</language><lastBuildDate>Fri, 14 Aug 2026 17:53:15 +0800</lastBuildDate><atom:link href="https://my-blog.j8465383071.workers.dev/categories/%E5%90%88%E8%A7%84%E8%AE%A4%E8%AF%81/index.xml" rel="self" type="application/rss+xml"/><item><title>Vastbase 数据库研发过程安全分析报告</title><link>https://my-blog.j8465383071.workers.dev/posts/compliance/sdl-process-security/</link><pubDate>Fri, 14 Aug 2026 17:53:00 +0800</pubDate><guid>https://my-blog.j8465383071.workers.dev/posts/compliance/sdl-process-security/</guid><description/></item><item><title>VexDB 数据库安全自评价报告</title><link>https://my-blog.j8465383071.workers.dev/posts/compliance/security-self-assessment/</link><pubDate>Wed, 29 Jul 2026 18:51:00 +0800</pubDate><guid>https://my-blog.j8465383071.workers.dev/posts/compliance/security-self-assessment/</guid><description>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>版本号&lt;/th>
&lt;th>日期&lt;/th>
&lt;th>修改说明&lt;/th>
&lt;th>编制人&lt;/th>
&lt;th>审核人&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>1.0&lt;/td>
&lt;td>2026.07.24&lt;/td>
&lt;td>完成初稿&lt;/td>
&lt;td>沈坤&lt;/td>
&lt;td>-&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="1核心资产">1、核心资产&lt;/h2>
&lt;p>VexDB 的核心资产分为七类，覆盖数据、结构、访问、运行、审计、内存和密码资源，是数据库安全保护的主要对象。&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>核心资产&lt;/th>
&lt;th>资产内容&lt;/th>
&lt;th>资产价值&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>数据资产&lt;/td>
&lt;td>业务数据、用户数据、交易数据等存储内容&lt;/td>
&lt;td>数据库核心资源。泄露、篡改或丢失影响业务安全&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>数据库结构资产&lt;/td>
&lt;td>模式、表、字段、索引、视图、存储过程、函数、约束等&lt;/td>
&lt;td>描述数据组织和业务逻辑。非法修改影响业务正确性&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>数据库管理资产&lt;/td>
&lt;td>用户、角色、权限、配置参数、安全策略等&lt;/td>
&lt;td>控制访问范围和运行行为。错误配置影响整体安全&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>数据库运行资产&lt;/td>
&lt;td>实例、进程、数据文件、日志文件及计算存储资源&lt;/td>
&lt;td>支撑数据库服务运行。破坏导致服务不可用&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>数据库操作记录资产&lt;/td>
&lt;td>访问日志、审计记录、运行日志、管理操作记录等&lt;/td>
&lt;td>支撑安全分析、事件追踪和责任认定&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>数据库内存资产&lt;/td>
&lt;td>内存中的业务数据、缓存、会话信息和认证凭证&lt;/td>
&lt;td>运行过程中的敏感信息。泄露可能导致数据或凭证暴露&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>密码与密钥资产&lt;/td>
&lt;td>加密密钥、口令摘要、认证凭证等密码资源&lt;/td>
&lt;td>支撑身份认证和数据保护。泄露可能导致安全机制失效&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>核心资产的机密性、完整性和可用性，决定数据库安全运行和业务连续性。&lt;/p>
&lt;hr>
&lt;h2 id="2安全风险和应对措施">2、安全风险和应对措施&lt;/h2>
&lt;p>VexDB 面临外部攻击、内部误操作、权限滥用和运行环境异常等风险，可能导致非法访问、数据泄露、数据篡改、身份冒用和服务不可用。主要风险与应对措施如下。&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>安全风险&lt;/th>
&lt;th>风险描述&lt;/th>
&lt;th>应对措施&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>非法访问风险&lt;/strong>&lt;/td>
&lt;td>非授权主机连接数据库，获取非法访问入口&lt;/td>
&lt;td>网络防火墙&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>身份认证风险&lt;/strong>&lt;/td>
&lt;td>弱口令、凭证泄露或认证缺陷导致身份冒用&lt;/td>
&lt;td>身份认证&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>通信安全风险&lt;/strong>&lt;/td>
&lt;td>网络传输被窃听、伪造、重放或篡改&lt;/td>
&lt;td>安全传输&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>权限控制风险&lt;/strong>&lt;/td>
&lt;td>权限配置不当或权限提升导致越权访问&lt;/td>
&lt;td>访问控制&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>数据安全风险&lt;/strong>&lt;/td>
&lt;td>数据存储、传输、处理过程中发生泄露或篡改&lt;/td>
&lt;td>透明加密、驱动加密、机密计算、动态脱敏、数据防篡改&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>密钥安全风险&lt;/strong>&lt;/td>
&lt;td>密钥泄露、丢失或生命周期管理不足导致保护失效&lt;/td>
&lt;td>密钥管理&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>操作追溯风险&lt;/strong>&lt;/td>
&lt;td>数据访问和管理操作缺少记录，无法有效追责&lt;/td>
&lt;td>数据库审计、数据防篡改&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>服务可用性风险&lt;/strong>&lt;/td>
&lt;td>恶意请求或资源异常消耗导致性能下降或服务中断&lt;/td>
&lt;td>资源安全&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>运行环境风险&lt;/strong>&lt;/td>
&lt;td>不可信环境或异常运行环境导致数据暴露风险&lt;/td>
&lt;td>驱动加密、机密计算、密钥管理&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="vexdb-通过网络防护身份认证访问控制数据保护密码保护安全审计和资源管理等能力降低非法访问数据泄露数据篡改和服务不可用等安全风险">VexDB 通过网络防护、身份认证、访问控制、数据保护、密码保护、安全审计和资源管理等能力，降低非法访问、数据泄露、数据篡改和服务不可用等安全风险。&lt;/h2>
&lt;h2 id="3安全机制">3、安全机制&lt;/h2>
&lt;p>VexDB 从接入、传输、访问、存储、计算、合规六个维度构建防御模型，各安全机制相互独立又相互配合。&lt;/p></description></item><item><title>专利 全密态 索引</title><link>https://my-blog.j8465383071.workers.dev/posts/compliance/patent-encrypted-index/</link><pubDate>Wed, 15 Jul 2026 19:25:00 +0800</pubDate><guid>https://my-blog.j8465383071.workers.dev/posts/compliance/patent-encrypted-index/</guid><description>&lt;h1 id="1-专利名称">1 专利名称&lt;/h1>
&lt;p>一种基于可信执行环境的数据库密态索引访问方法、系统及介质&lt;/p>
&lt;h1 id="2-技术背景">2 技术背景&lt;/h1>
&lt;ul>
&lt;li>全密态数据库：一种由数据库提供的安全特性，指数据库在处理数据的过程中，确保数据在传输、计算、存储等全生命周期阶段，于任何不可信的介质或环境中，始终处于加密状态。&lt;/li>
&lt;li>全密态数据库实现方案：目前，业界较成熟的方案，是基于可信执行环境，实现全密态数据库，该方案主要分为2个模块：1)驱动加密：应用向数据库发送SQL语句时，应用侧的数据驱动自动加密SQL语句中的数据，数据库接收与处理数据密文。2)机密计算：数据库无法再密文上进行计算，将密文发送至可信执行环境（TEE）中，由可信模块完成解密与计算。&lt;/li>
&lt;li>数据库索引结构：数据库中，最常见的索引为b+树索引。以tpcc测试模型为例，数据量低于100亿条时，b+树一般不超过4层。每一层的节点，即索引节点，是固定大小的page，分root index-page，internal index-page，leaf index-page。1个index-page中，存储多个index-item。其中，root和internal index-page中的index-item，存储数据和下一层index-page的位置。leaf index-page中的index-item，存储数据和table-page的位置。&lt;/li>
&lt;li>加密性能：在加解密数据时，影响加密性能的因素中，加密次数的影响远高于数据长度。例如，1次加密8k数据，比40次加密200字节数据的性能高10+倍。&lt;/li>
&lt;li>密态索引：在全密态数据库中，数据库只存储数据密文，在等值、范围查询等场景，为提高查询效率，避免全表扫描，需要在密文上构造索引。因此，需要见密文传输至可行执行环境TEE中，在TEE中临时解密数据，比较数据大小，构造索引。&lt;/li>
&lt;li>现有方案缺陷：在构造密态索引时，现有方案存在以下缺陷：1)交互开销高：以索引元组为粒度，与TEE交互，交互次数多，交互开销高。2)加解密开销高：在索引页内比较元组大小时，需要多次解密索引元组。对于顶层的索引页，访问评率高，加解密频率也较高。3)内核修改多：为适配TEE，对索引构造、索引查询、并发控制等修改多，破坏生态兼容性等。&lt;/li>
&lt;/ul>
&lt;h1 id="3-发明内容">3 发明内容&lt;/h1>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>发明目的&lt;/strong>：本发明针对在密文数据上构造索引、扫描索引的场景，提供一种通用的、高性能、低改造的方案，基于可信执行环境，大幅降低交互开销、加解密开销，并且，充分复用索引分裂、并发访问的机制，对内核侵入修改度低。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>技术方案&lt;/strong>：&lt;br>
本发明的关键创新如下：&lt;/p>
&lt;/li>
&lt;/ul>
&lt;ol>
&lt;li>构造索引：应用插入数据时，驱动以字段为粒度，加密数据。数据库接收数据密文，TEE解密数据，构造索引，并以索引页为粒度，重新加密数据。&lt;/li>
&lt;li>访问索引：结合索引的访问特点，每个index-item不独立加密与解密，每次以index-page为粒度加密与解密，降低加解密次数。&lt;/li>
&lt;li>发送索引：数据库向TEE发生索引时，每次以index-page为粒度发送，降低交互次数。&lt;/li>
&lt;li>缓存索引：在TEE中，针对索引中root和internal page访问频率高、修改频率低的特点，缓存解密后的page，降低解密次数、与TEE的交互次数。&lt;/li>
&lt;li>内核改造：数据库中，访问索引时，只在需要比较大小时，才与TEE交互，保留已有索引分裂、并发访问机制。&lt;/li>
&lt;/ol>
&lt;p>以tpcc模型为例，当warhouse为10000时：&lt;/p>
&lt;ul>
&lt;li>基表：bmsql_customer表中，数据行数为3亿，表大小约250G&lt;/li>
&lt;li>索引：bmsql_customer主键索引中，index-item数为3亿，索引文件大小约9.5G，索引层数为4层，每层page数量分别：1、17、4400、114万，每个page中page-item数量约260个。插入1条数据，index-page平均分裂次数为0.0034次。&lt;/li>
&lt;/ul>
&lt;p>在该场景中，使用本发明的方案，考虑index-page分裂、TEE缓存偶尔未命中等所有可能产生额外交互、加密、解密的情况下：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>场景&lt;/th>
&lt;th>与TEE交互次数&lt;/th>
&lt;th>加密次数（TEE内）&lt;/th>
&lt;th>解密次数（TEE内）&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>插入1条数据&lt;/td>
&lt;td>&amp;lt; 2.01&lt;/td>
&lt;td>&amp;lt; 1.01&lt;/td>
&lt;td>&amp;lt; 1.01&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>查询1条数据&lt;/td>
&lt;td>&amp;lt; 2.01&lt;/td>
&lt;td>0&lt;/td>
&lt;td>&amp;lt; 1.01&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>删除1条数据&lt;/td>
&lt;td>&amp;lt; 2.01&lt;/td>
&lt;td>&amp;lt; 1.01&lt;/td>
&lt;td>&amp;lt; 1.01&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h1 id="4-附图及附图的简单说明">4 附图及附图的简单说明&lt;/h1>
&lt;h2 id="41-密态索引结构">4.1 密态索引结构&lt;/h2>
&lt;p>密态索引中，所有index-page中，只存储数据密文。在TEE中，以page为粒度加密，PageHeader、PageTail中，不存储用户数据，无需加密。&lt;br>
此处，以一个简单的3层索引为例，展示明文索引、密态索引的区别：&lt;/p>
&lt;p>&lt;img alt="idx-diff" loading="lazy" src="https://my-blog.j8465383071.workers.dev/images/Compliance/patent-encrypted-index/idx-diff.png">&lt;/p>
&lt;h2 id="42-密态索引插入流程">4.2 密态索引插入流程&lt;/h2>
&lt;p>在图1的示例中，向索引中插入1条数据，流程如下：&lt;/p>
&lt;p>&lt;img alt="idx-ins" loading="lazy" src="https://my-blog.j8465383071.workers.dev/images/Compliance/patent-encrypted-index/idx-ins.png">&lt;/p>
&lt;p>上述流程中，步骤12至20可通过缓存优化。以tpcc为例，index-item为3亿时，索引层数为4，索引文件大小约9.5G，root page数为1，internal page数为17+4000，缓存大小为31.38MB。&lt;/p>
&lt;h1 id="5-具体实施方式">5 具体实施方式&lt;/h1>
&lt;h2 id="51-创建密态索引">5.1 创建密态索引&lt;/h2>
&lt;ol>
&lt;li>管理员：创建密钥 CREATE DATA KEY dk1(..);&lt;/li>
&lt;li>数据库驱动：通过密钥服务或密码机生成密钥，缓存密钥，向数据库发送密钥信息&lt;/li>
&lt;li>数据库：在系统表中，存储密钥信息，包括：密钥名、密钥Oid等。&lt;/li>
&lt;li>管理员：创建加密表和索引：CREATE TABLE t1(c1 INT ENCRYPTED BY dk1, c2 TEXT)，CREATE INDEX i1 ON t1(c1);&lt;/li>
&lt;li>数据库：存储加密信息，包括：表名、列名、密钥名等。&lt;/li>
&lt;/ol>
&lt;h2 id="52-向索引插入1条数据">5.2 向索引插入1条数据&lt;/h2>
&lt;ol>
&lt;li>前置条件：已创建密态索引&lt;/li>
&lt;li>应用：连接数据库&lt;/li>
&lt;li>数据驱动：连接数据库，查询加密信息、密钥信息，并缓存&lt;/li>
&lt;li>数据库驱动：从密钥服务或密码机获取密钥，与可信执行环境建立安全通道，并传输密钥&lt;/li>
&lt;li>可信执行环境：缓存密钥&lt;/li>
&lt;li>应用：向数据库存储数据：INSERT INTO t1 VALUES (13, ‘data1’);&lt;/li>
&lt;li>数据库驱动：对SQL进行语法解析，识别加密列字段，并加密字段，并改写SQL：INSERT INTO t1 VALUESS (cipher[13], ‘data1’);&lt;/li>
&lt;li>数据库：向基表t1插入数据(cipher[13], ‘data1’)，准备构造索引&lt;/li>
&lt;li>数据库：向TEE中，发送密文 cipher[13]&lt;/li>
&lt;li>可信执行环境：解密cipher[13]，获取明文(13)&lt;/li>
&lt;li>可信执行环境：查找缓存的root page，如果未找到，请求数据库发送root page，解密并缓存root page&lt;/li>
&lt;li>可信执行环境：在root page中，二分查找，获取internal page位置&lt;/li>
&lt;li>可信执行环境：查找缓存的internal page，如果未找到，请求数据库发送internal page，解密并缓存internal page&lt;/li>
&lt;li>可信执行环境：在internal page中，二分查找，获取leaf page位置&lt;/li>
&lt;li>可信执行环境：请求数据库发送leaf page。解密leaf page&lt;/li>
&lt;li>可信执行环境：如果leaf page已满，触发分裂流程，此处不展开说明&lt;/li>
&lt;li>可信执行环境：在leaf pag中，二分查找，获取插入位置&lt;/li>
&lt;li>可信执行环境：在leaf page中，插入数据(13, 基表t1中13的存储位置)&lt;/li>
&lt;li>可信执行环境：加密leaf page，向数据库返回加密后的leaf page&lt;/li>
&lt;li>数据库：重新存储加密后的leaf page&lt;/li>
&lt;/ol>
&lt;h2 id="53-从索引中查找1条数据">5.3 从索引中查找1条数据&lt;/h2>
&lt;p>查询流程，与插入流程大部分一致：&lt;/p></description></item><item><title>国测 安全架构</title><link>https://my-blog.j8465383071.workers.dev/posts/compliance/security-architecture/</link><pubDate>Mon, 06 Jul 2026 16:40:00 +0800</pubDate><guid>https://my-blog.j8465383071.workers.dev/posts/compliance/security-architecture/</guid><description>&lt;h1 id="4-安全架构">4 安全架构&lt;/h1>
&lt;h2 id="41-威胁模型">4.1 威胁模型&lt;/h2>
&lt;p>数据库运行在复杂的环境中，在计算、传输、存储数据等阶段，攻击者可利用硬件、软件等漏洞，威胁数据库安全。本文以数据库为核心，缩短攻击链路，排除攻击者身份演变、攻击阶段演进等因素，构造简化的威胁模型：&lt;/p>
&lt;ul>
&lt;li>一、角色
&lt;ol>
&lt;li>黑客&lt;/li>
&lt;li>内部运维人员&lt;/li>
&lt;li>内部研发人员&lt;/li>
&lt;li>系统维护人员&lt;/li>
&lt;li>供应链&lt;/li>
&lt;li>网络中间人&lt;/li>
&lt;li>机房管理人员&lt;/li>
&lt;/ol>
&lt;/li>
&lt;li>二、动机
&lt;ol>
&lt;li>售卖获利&lt;/li>
&lt;li>勒索获利&lt;/li>
&lt;li>情报窃取&lt;/li>
&lt;li>蓄意报复&lt;/li>
&lt;li>规避审计&lt;/li>
&lt;li>炫耀技能&lt;/li>
&lt;li>人为过失&lt;/li>
&lt;/ol>
&lt;/li>
&lt;li>三、目标
&lt;ol>
&lt;li>鉴别数据&lt;/li>
&lt;li>用户表&lt;/li>
&lt;li>系统表&lt;/li>
&lt;li>事务日志&lt;/li>
&lt;li>审计日志&lt;/li>
&lt;li>内存数据&lt;/li>
&lt;li>配置文件&lt;/li>
&lt;/ol>
&lt;/li>
&lt;li>四、技术
&lt;ol>
&lt;li>不可信IP登录&lt;/li>
&lt;li>默认账户攻击&lt;/li>
&lt;li>过期账号攻击&lt;/li>
&lt;li>弱口令攻击&lt;/li>
&lt;li>密码泄露&lt;/li>
&lt;li>暴力破解&lt;/li>
&lt;li>凭证重放&lt;/li>
&lt;li>内存凭证残留&lt;/li>
&lt;li>流量伪造&lt;/li>
&lt;li>流量重放&lt;/li>
&lt;li>证书伪造&lt;/li>
&lt;li>未授权访问&lt;/li>
&lt;li>越权访问&lt;/li>
&lt;li>权限提升&lt;/li>
&lt;li>权限滥用&lt;/li>
&lt;li>磁盘窃取&lt;/li>
&lt;li>恶意软件&lt;/li>
&lt;li>操作系统隔离失效&lt;/li>
&lt;li>数据文件篡改&lt;/li>
&lt;li>供应链后门&lt;/li>
&lt;li>侧信道内存嗅探&lt;/li>
&lt;li>调试工具滥用&lt;/li>
&lt;li>特权用户窥探&lt;/li>
&lt;li>审计日志伪造&lt;/li>
&lt;li>攻击行为隐匿&lt;/li>
&lt;li>恶意操作抵赖&lt;/li>
&lt;li>合规审计证据缺失&lt;/li>
&lt;/ol>
&lt;/li>
&lt;li>五、分类
&lt;ol>
&lt;li>欺骗&lt;/li>
&lt;li>篡改&lt;/li>
&lt;li>否认&lt;/li>
&lt;li>信息泄露&lt;/li>
&lt;li>拒绝服务&lt;/li>
&lt;li>权限提升&lt;/li>
&lt;/ol>
&lt;/li>
&lt;/ul>
&lt;h2 id="42-防御模型">4.2 防御模型&lt;/h2>
&lt;p>针对威胁模型，本文从接入、传输、访问、存储、计算、合规6个维度，提供以下安全功能，构建防御模型：&lt;/p>
&lt;ol>
&lt;li>接入安全：合法用户，才能接入数据库
&lt;ul>
&lt;li>网络防火墙&lt;/li>
&lt;li>身份认证&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>传输安全：与数据库的通信数据，
&lt;ul>
&lt;li>安全传输&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>访问安全
&lt;ul>
&lt;li>访问控制&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>计算安全
&lt;ul>
&lt;li>驱动加密&lt;/li>
&lt;li>机密计算&lt;/li>
&lt;li>密码函数&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>存储安全
&lt;ul>
&lt;li>透明加密&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>合法合规
&lt;ul>
&lt;li>安全审计&lt;/li>
&lt;li>动态脱敏&lt;/li>
&lt;li>密钥管理&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;p>防御模型如下图所示：&lt;/p></description></item></channel></rss>