数据安全与隐私保护 课件 第6-8章-数据隐私保护、大数据算法安全与隐私保护、隐私保护案例分析_第1页
数据安全与隐私保护 课件 第6-8章-数据隐私保护、大数据算法安全与隐私保护、隐私保护案例分析_第2页
数据安全与隐私保护 课件 第6-8章-数据隐私保护、大数据算法安全与隐私保护、隐私保护案例分析_第3页
数据安全与隐私保护 课件 第6-8章-数据隐私保护、大数据算法安全与隐私保护、隐私保护案例分析_第4页
数据安全与隐私保护 课件 第6-8章-数据隐私保护、大数据算法安全与隐私保护、隐私保护案例分析_第5页
已阅读5页,还剩269页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章数据隐私保护6.1问题导入近年来,随着信息技术的发展,银行业务也得到极大拓展,从传统网点、24小时自助银行到网上银行、手机银行、支付宝等,极大地方便了人们的生活,同时银行也积累了大量的客户数据、业务交易数据、内部管理数据等数据信息。如果这些数据发生泄露、损坏,不仅会给银行带来经济上的损失和负面影响,甚至会引发严重的社会问题。因此,银监会明确规定,银行业务分析、测试中如需使用生产数据,必须对相应数据进行处理,防止隐私泄露。6.1问题导入解决这个问题,和数据脱敏技术有关。数据脱敏技术是保护数据安全、防止隐私泄露的主要手段之一。通过对某些敏感数据信息进行变形,实现敏感隐私数据的可靠保护。此外,数据隐私保护技术、可信计算技术也是保护数据隐私的重要技术。本章主要介绍数据脱敏技术、数据隐私保护技术、数据可信计算技术等。6.2数据脱敏技术

6.2.1数据脱敏的概念数据脱敏,也称为数据去隐私化,是指按照一定的规则对敏感数据进行变形、屏蔽或仿真处理,以移除或模糊包含的敏感信息,减少隐私数据泄露的风险。数据脱敏是一种数据安全技术,如图6-1所示。个人的有关隐私数据一旦被泄露、非法提供或滥用,可能导致个人的人格尊严受到侵害或者人身、财产安全受到危害。6.2数据脱敏技术数据脱敏的功能:使用数据脱敏技术,可以有效地减少敏感数据在采集、传输、使用等环节中被暴露的可能,降低敏感数据泄露的风险。数据脱敏与数据加密的区别:数据加密主要适用于长期数据储存或数据传输,因为被加密后的数据将无法使用。数据脱敏并不需要对所有信息进行加密。数据脱敏的处理过程:识别敏感数据、选择脱敏方法、制定脱敏规则、应用脱敏技术、验证脱敏效果、监控和维护。脱敏数据的存储方式:明文和脱敏数据同时存储、只存储脱敏数据、只存储明文数据3种方式。6.2.2数据脱敏原则数据敏感性不是越低越好,要在数据脱敏过程中遵循一定的原则,保持数据敏感性和数据隐私之间的效用平衡。数据脱敏原则可分为技术原则和管理原则。6.2.2数据脱敏原则1.技术原则

●有效性原则:能够有效去除数据中的敏感信息,保证数据的安全性。●真实性原则:脱敏后的数据仍能够体现相关业务的真实性。●高效性原则:数据脱敏过程能够通过程序自动化实现,可重复操作,在保证安全的前提下,尽可能减少脱敏代价。●稳定性原则:指在原始数据不变的条件下,对相同的脱敏数据,经过多次脱敏仍然获得相同的稳定结果。●可配置性原则:能够配置处理结果和处理字段,以根据应用场景获得相应的脱敏结果。6.2.2数据脱敏原则2.管理原则●敏感信息识别原则:根据数据的信息分类,明确敏感信息的范畴。本身不直接是敏感数据信息,但与其它信息结合后会被推断出敏感信息,也要纳入数据脱敏的范畴。●安全可控原则:对于脱敏后仍保留了部分信息特征而存在泄露风险的数据信息,要采用合适的安全管理手段防止数据泄露。●安全审计原则:在数据脱敏环节中加入安全审计机制,用于数据追踪和问题溯源。●代码安全原则:对执行数据脱敏的程序应做好代码审查,以及上线时的安全扫描,保证数据脱敏过程的安全可靠。6.2.2数据脱敏原则3.数据脱敏策略数据脱敏策略的目标是保护敏感数据免遭未经授权的访问和泄露。制定数据脱敏策略要充分考虑数据脱敏后数据自身可用性及数据保密性两者之间的平衡。●表对象:指定策略应用的数据库表,确定哪些数据需要进行脱敏处理。●生效条件:布尔表达式,决定何时应用脱敏规则,确保在适当的时候触发对敏感数据的脱敏。●脱敏列与脱敏函数的对应关系:不同的字段根据其存储数据的特性和敏感性采用不同的脱敏函数,如加密、替换、删除等,以保持数据可用性的同时减少敏感信息泄露的风险。6.2.3数据脱敏方法1.根据使用技术分类(1)泛化方法:泛化方法是指将具体的、细节化的数据转换为更加模糊和一般化的形式。如将年龄22、28、26、29,泛化为[20-30]。(2)抑制方法:抑制方法通过限制或模糊化数据的某些特征或属性,减少敏感信息的可识别性,从而提高数据的隐私保护水平。例如,用符号*替换一个身份号码,来抑制这些敏感属性。6.2.3数据脱敏方法(3)置换方法:分为普通交换和等级互换。普通交换是一种在记录之间交换敏感属性值的方法。等级互换是将一个属性的值按升序排列,并将该属性的一个原始值与另一个随机值进行互换。相比普通的交换算法,等级互换在保留统计特征方面表现更佳。(4)桶化方法:桶化是一种隐私保护数据发布的匿名化技术。在分桶化过程中,首先将敏感属性与伪标识符分离开来。然后,在每个桶中,对敏感属性的值进行随机置换,最终得到的匿名化数据是一组具有置换敏感属性值的桶。6.2.3数据脱敏方法(5)随机化方法随机化方法通过添加噪声来破坏原始数据的属性值,以达到隐藏敏感信息的目标。例如,采用随机化方法将均值为0、方差为2的高斯噪声添加到物理条件中,将位置参数为0、比例参数为10的拉普拉斯噪声添加到工资中等。6.2.3数据脱敏方法2.根据应用场景分类(1)静态数据脱敏方法静态数据脱敏是指对静态数据集进行一次性脱敏处理,脱敏后的数据集在存储和使用过程中不再发生改变。静态数据脱敏一般适用于对非实时访问数据进行脱敏。常用的静态数据脱敏方法有加密、格式保留、差分隐私等。6.2.3数据脱敏方法①加密方法采用不同的加密算法对敏感数据项的原始值进行加密,改变其精准值,脱敏后显示的数据为密文数据。常用的加密方法有SHA1加密、MD5加密。例如,将个人的姓名、身份证号、银行卡号等敏感信息进行采用SHA1加密算法进行处理。6.2.3数据脱敏方法②格式保留方法对敏感数据进行加密脱敏,密文与原始数据保持格式一致。格式保留方法保留了数据原来的格式和长度,但数据结果是加密的。例如,对数据表的主键Key、标识数据项ID采用相同格式的随机数替代,保留原始数据的格式。③浮动方法对日期、金额等数值型数据,通过浮动脱敏算法,上浮或下降固定值或百分比。例如,原始数据为1000.00,上浮1%-5%,脱敏结果为1049.00。6.2.3数据脱敏方法④数据遮蔽方法通过设置遮蔽符,将原数据全部或部分进行遮蔽处理,该方法可以保障数据的长度不变。例如,将手机号139123456789,脱敏为139******789。⑤均化方法为了保障数据的平均值和总数不变,将数字在整体的平均值之间随机分布的策略。例如,在对用户个人基本情况数据进行脱敏时,将个人收入数据进行均值化处理,使用所有人收入的平均值来代替个人准确收入。6.2.3数据脱敏方法⑥数据抽样方法选取数据集中有代表性的子集,对原始数据集进行分析和评估的,产生的结果能够代表原始数据集中的所有记录。例如,从100万条记录的数据集中,选出10万条记录进行分析和评估,再进行脱敏后公布。⑦保序加密方法采用保序加密算法,将加密后的数据仍然保持原来的顺序,但是除此之外不知道任何信息。例如,采用保序加密方法对2、5、8三个数字进行脱敏,脱敏后变为45、4424、22224,这样就保证了别人不知道原来的数字,但是又保持了原来的顺序。6.2.3数据脱敏方法⑧随机化方法对日期、金额等数值型数据,在一个制定的范围内进行随机,并保留原数据的特征。例如,设定随机范围为1000至9999,则将数据69854.00,脱敏为1597.00。⑨K-匿名化方法通过采用泛化、抑制、扰乱等方法,对数据集中的敏感属性值进行模糊化或隐藏等脱敏处理,使得脱敏后的任意用户标识信息都至少出现K次。例如,在某医院数据库中存储的一张病历表,如表6-2所示,设定K=2,脱敏处理后的数据如表6-3所示6.2.3数据脱敏方法6.2.3数据脱敏方法⑩差分隐私方法发布数据集时,如果修改了其中的敏感数据,使数据集发生了很小的变化,则再通过添加噪声来“掩盖”改变,使得攻击者无法区分出两个数据集的变化。通过差分隐私方法,能够使得脱敏后的数据集和原数据集之间保持高度的一致性和关联性,但又能保护用户的敏感信息不被泄露。6.2.3数据脱敏方法(2)动态数据脱敏方法动态数据脱敏是指对实时或动态生成的数据进行实时脱敏处理,在保护数据隐私和安全的同时,保持数据的可用性和有效性。动态数据脱敏通常应用于数据传输、数据查询等需要实时处理的场景,例如在线支付、实时监控等。常用的动态数据脱敏方法有重写、限制返回等。6.2.3数据脱敏方法①重写方法根据原来数据的特征,随机重新生成数据。与替换策略不同的是重写为随机生成,无对应关系。例如,原来是手机号码,重新生成一个11位的纯数字。②关系映射方法利用算法表达式,对待脱敏的数据进行函数映射,使其脱敏后仍然能够保持原数据的关联关系。若为固定映射,在映射种子不变的情况下,相同的数据脱敏后结果相同,并保留原始数据特征,原始数据:特种兵,一次脱敏结果:商人,二次脱敏结果:商人。6.2.3数据脱敏方法如果采用随机映射,字符或字符串进行随机选择,并保留原始数据的特征。原始数据:19800918,一次脱敏结果:19760615,二次脱敏结果:19950125。③偏移取整方法将数字位数进行取整,或将小数点向左、右进行移动取整。例如,将日期按照固定规则取整,20210812-10:56:14向下取整为20210812-10:00:00;取整位数为2,1988.65脱敏后为1900;取整数“3位”,123456789脱敏后为123456000。6.2.3数据脱敏方法④数据截取/断方法舍弃非必要的信息,仅保留部分关键信息,对字符串按照起始位置进行截取,或对字符串保留除起始位置以外的内容进行截断。例如,原始数据1234567890,设定起始位置为2,结束位置为7,则截取脱敏后的数据为234567,而截断脱敏后的数据为1890。⑤标签化方法将数据抽象为具体标签,用标签来表现具体实体的一种形式。例如,客户存款超过20万时,设定级别为高;超过10万、低于20万时,设定级别为中;低于10万时,设定级别为低。这样可以由具体金额,更换为低、中、高三个标签。6.2.3数据脱敏方法⑥散列方法通过Hash散列算法,将任意长度的数据信息转换成一个固定长度的输出值,这是一种数据压缩映射关系。常用的散列算法有MD5、SHA256等。例如,利用SHA256算法,将JimGreen456896转换成34453。⑦替代方法用伪装数据完全替换源数据中的敏感数据,一般替换用的数据都有不可逆性,以保证安全。具体操作上有常数替代(所有敏感数据都替换为唯一的常数值)、查表替代(从中间表中随机或按照特定算法选择数据进行替代)、参数化替代(以敏感数据作为输入,通过特定函数形成新的替代数据)等。6.2.3数据脱敏方法例如:在英文单词中,字母表中的每个字母都用其后的第三个字母表示,即a用d表示,b用e表示。⑧无效化方法在处理待脱敏的数据时,通过对字段数据值进行截断、加密、隐藏等方式让敏感数据脱敏,使其不再具有利用隐私价值,但存在共享分析价值。一般采用特殊字符(*等)代替真值,将数据替换为空值,或直接删除敏感数据等。例如,将身份证号用*替换真实数字,就变成了“220724******3523”,或者全部用*代替。⑨归零方法将数值清空、并设置为0。例如:将381.38脱敏处理后变为0.00。6.2.3数据脱敏方法例如:在英文单词中,字母表中的每个字母都用其后的第三个字母表示,即a用d表示,b用e表示。⑧无效化方法在处理待脱敏的数据时,通过对字段数据值进行截断、加密、隐藏等方式让敏感数据脱敏,使其不再具有利用隐私价值,但存在共享分析价值。一般采用特殊字符(*等)代替真值,将数据替换为空值,或直接删除敏感数据等。例如,将身份证号用*替换真实数字,就变成了“220724******3523”,或者全部用*代替。⑨归零方法将数值清空、并设置为0。例如:将381.38脱敏处理后变为0.00。6.2.3数据脱敏方法⑩限制返回方法用于数据查询时,只反馈部分数据,且需要在返回所有数据的前提的下数据才有意义。例如,查询个人信息时,返回:张**、王**。6.2.3数据脱敏方法(3)静态和动态数据脱敏方法特征比较

6.3数据隐私保护技术6.3.1基于数据失真的技术基于数据失真的技术是通过扰动使敏感数据失真,但同时保持某些数据特征或数据属性不变,仍然可以保持某些统计方面的性质。通过扰动修改原始数据来实现隐私保护和信息隐藏,扰动后的数据应同时满足以下两个要求。●攻击者无法找到真正的原始数据,即攻击者通过扰动后的数据不能恢复或重构真实和完全的原始数据。●扰动后的数据其聚类可用性保持不变,即从原始数据中和从发布后的数据中得到的聚类信息是相同的,能够保证数据挖掘结果的准确性。6.3数据隐私保护技术基于数据失真的技术主要包括随机扰动保护、差分隐私保护和交换保护。1.随机扰动保护随机扰动采用随机化过程来修改敏感数据,从而实现对隐私数据的保护。对外界而言,只可见扰动后的数据,而不能推测出原始的真实数据。随机扰动技术可以在不暴露原始数据的情况下进行多种数据挖掘操作。6.3数据隐私保护技术2.差分隐私保护传统的隐私保护方法,如数据脱敏、匿名化等,在面对复杂的数据分析和攻击手段时,不能完全保障数据安全和防止隐私泄露。差分隐私通过数学化的隐私度量,为隐私保护提供了更为严谨和可量化的保障。差分隐私能够解决传统隐私保护方法的两大缺陷,一是定义了一个十分严格的攻击模型,不关心攻击者拥有多少背景知识,即使攻击者已掌握除某一条数据记录之外的所有记录信息该记录的隐私也无法被获取;二是对隐私保护水平给出了严谨的定义和量化评估方法。6.3数据隐私保护技术对于任意查询函数:如果的查询结果满足以下条件,则称查询函数满足ℇ-差分隐私保护:其中,为添加噪声的拉普拉斯函数,添加噪声的多少与全局敏感度成正比,与隐私预算ℇ成反比。

越大,添加的噪声越多,隐私保护水平越高。而数据利用率越低。当ℇ接近0时,则查询函数在两个数据集上输出的结果基本相同,此时不会泄露数据集的任何隐私信息。6.3数据隐私保护技术差分隐私保护可以通过在查询函数的返回值中加入噪声来实现,但是噪声的大小同样会影响数据的安全性和可用性。通常使用敏感度作为噪声量大小的参数,表示删除数据集中某一记录对查询结果造成的影响。对于查询函数其全局敏感度定义为:其中,表示映射的实数空间,D表示查询函数f的查询维度,p表示度量表示范数距离。全局敏感度体现了从数据集中删除某一条记录后,函数查询结果的变化程度。全局敏感度越大,需要添加更多的扰乱噪声来确保查询安全。6.3数据隐私保护技术拉普拉斯噪声机制用于数值型结果的保护,通过向查询结果中添加服从拉普拉斯分布的噪声,使得查询函数满足差分隐私保护。添加拉普拉斯噪声的概率密度函数Pr定义为:其中,λ和μ为常数,且λ>0,则称x服从参数为λ和μ的拉普拉斯分布。通过拉普拉斯概率密度函数计算出添加的拉普拉斯噪声为:6.3数据隐私保护技术例如,在一个数据集D中,将Alice换成另一个人的数据组成数据集D',即D'和D的区别只在于其中Alice的数据。如果攻击者无法判别信息O是来自于D还是D',那么可以认为Alice的隐私受到了保护。6.3数据隐私保护技术差分隐私要求被发布的信息需经一个随机算法处理,且该随机算法会对信息做一些扰动。根据差分隐私保护的定义,对源数据中任意一个人用户的数据进行修改时,得到的修改后的数据集O的概率变化会很小,因此能够保护用户的隐私不被泄露。6.3数据隐私保护技术修改一个人的数据不会对差分隐私保护算法输出的分布带来太大的影响。下图中,x轴代表算法A的输出,y轴代表算法A输出O的概率。蓝线代表输入数据为D的时候算法A的输出的分布。红线代表输入数据为D'的时候算法A的输出的分布。算法的输出分布不会受某一个数据存在与否的太大影响。当攻击者观察算法的输出时,并不能反推出某个人是否在源数据中。6.3数据隐私保护技术差分隐私保护的基本原理:①敏感度控制。敏感度是衡量数据集中个体信息变化程度的一个指标,差分隐私要求根据数据集的敏感度来确定隐私预算ε,从而控制噪声的添加程度。②随机噪声添加。差分隐私通过在数据集中添加随机噪声来实现隐私保护,添加的噪声可以是添加拉普拉斯噪声或指数噪声等,具体取决于数据类型和分析任务。③数据扰动。差分隐私要求对数据进行扰动,使得攻击者无法准确推断出个体信息。数据扰动可以通过多种方式实现,如数据聚合、数据转换等。6.3数据隐私保护技术差分隐私保护的基本原则:①个体不可区分性。差分隐私要求无论数据集中是否存在某个个体的记录,对于任何可能的数据分析结果,其概率分布都应当非常接近,保证了攻击者无法通过数据分析推断出特定个体的信息。②隐私预算控制。差分隐私通过隐私预算来控制隐私保护的程度。隐私预算是一个衡量隐私损失的参数,它决定了在数据分析和发布过程中可以接受的噪声大小。隐私预算越小,隐私保护程度越高,但数据的可用性受到的影响越大。③数据依赖性。差分隐私要求算法的输出仅依赖于输入数据,而与数据集中个体的身份无关。这保证了即使攻击者知道某些个体的信息,也无法通过差分隐私算法推断出其他个体的信息6.3数据隐私保护技术差分隐私保护的实现方法:①拉普拉斯机制。通过向数据添加服从拉普拉斯分布的随机噪声来实现隐私保护,适用于数值型数据。拉普拉斯机制的优点是简单易行,但缺点是数据失真较大。②指数机制。指数机制根据数据的敏感度和隐私预算,以指数函数的形式为每个数据项分配一个概率,然后从概率分布中随机选择一个数据项作为输出。指数机制在保护隐私的同时,可以更好地保留数据的原始特征,适用于分类型数据。

6.3数据隐私保护技术③哈密尔顿机制。哈密尔顿机制是一种基于哈密尔顿距离的差分隐私保护机制,它通过计算两个数据集之间的哈密尔顿距离来度量数据的敏感度,并以此来添加随机噪声。哈密尔顿机制是一种基于优化的差分隐私实现方法,通过优化噪声的添加方式和程度,以最小化数据扰动对分析结果的影响。哈密尔顿机制可以更好地保护数据的全局特征,但计算复杂度较高。④混淆机制。混淆机制是一种通过混淆数据来实现隐私保护的方法,通过数据聚合、数据转换等方式来实现,可以处理多种数据类型和分析任务。6.3数据隐私保护技术差分隐私保护的优势①严格的数学定义。差分隐私提供了严格的数学定义和隐私保证,使得隐私保护程度可量化、可比较。②适用于多种数据类型。差分隐私保护技术能够应用于多种数据类型,包括数值型数据、文本数据、图像数据等类型,且能够处理复杂的数据分析任务。③灵活的隐私预算控制。差分隐私通过隐私预算来控制隐私保护的程度,隐私预算能够根据实际需求进行调整,以满足不同场景下的隐私保护需求。

6.3数据隐私保护技术④抵抗背景知识攻击。差分隐私通过添加随机噪声,使得攻击者无法利用背景知识推断出个体信息,增强隐私保护的鲁棒性。⑤高度的数据可用性。差分隐私保护技术能够在保护隐私的同时,保持数据的可用性。通过合理的噪声添加和数据处理,能够在一定程度上保证数据分析结果的准确性和可靠性,使得数据分析的结果仍然具有实际应用价值。6.3数据隐私保护技术3.交换保护交换是在记录之间交换数据值来平衡隐私和数据挖掘的一种技术,其核心思想是:在原始数据中,交换不同记录的某些属性值,同时又保证不改变数据的统计特征,最后发布交换后的数据,以此来提高敏感数据的不确定性。数据交换可以通过匿名化处理,隐藏个体的真实身份信息,从而保护个人隐私。在数据交换过程中,个体的身份可以被替代为临时生成的匿名标识,使得数据交换的参与者无法直接识别个体身份。6.3.2基于数据加密的技术基于数据加密的技术是通过对隐私数据信息进行加密处理,防止在数据挖掘的过程中出现隐私泄露。

该方法包括安全多方计算、分布式匿名化和数据加密技术。安全多方计算是通过两个或多个站点通过某种协议完成计算后,每一方都只知道自己的输入数据和所有数据计算后的最终结果。分布式匿名化是通过保证站点数据隐私、收集足够的信息实现利用率尽量大的数据匿名。数据加密技术是一种常见的隐私保护方法,它是通过数据加密转换来保护敏感数据,它能够使未授权者不能提取数据,实现数据访问的合法性、数据记录的机密性、数据记录的完整性和数据操作的不可否认性。6.3.2基于数据加密的技术对于数据加密方法,国外主要的加密算法有DES算法、AES算法、RSA算法、MD5算法、SHA1算法等。国内主要的加密算法分为三类,一是对称加密算法,主要指SM4;二是非对称加密算法,主要指SM2、SM9;三是密码杂凑算法,主要指SM3算法。6.3.2基于数据加密的技术1.对称加密算法SM4SM4算法又称为SM4分组密码算法,是国家密码管理局颁布的一种对称加密算法,也是我国商用密码体系中的重要组成部分。与国际广泛使用的AES等算法类似,SM4算法同样用于保护数据的机密性,确保信息在传输过程中不被未授权的第三方窃取或篡改。SM4算法的分组长度为128比特,密钥长度为128比特,加密算法与密钥扩展算法都采用32轮非线性迭代结构。数据解密和数据加密的算法结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。SM4算法的安全性基于求解其密钥空间的困难性。由于其密钥长度为128位,因此其密钥空间非常大,即使使用最先进的计算机进行暴力破解,也需要花费非常长的时间。6.3.2基于数据加密的技术

SM4算法的运行速度快,适用于实时加密和解密,且与DES、3DES等国际标准算法兼容,可以方便地进行算法转换。SM4算法在硬件和软件上的实现比DES更加高效6.3.2基于数据加密的技术2.非对称加密算法SM2SM2基本思想是使用一对密钥(公钥和私钥)来加密和解密信息,其中公钥用于加密,私钥用于解密。

SM2算法是基于椭圆曲线的非对称算法,主要包括三个部分:SM2-1椭圆曲线数字签名算法、SM2-2椭圆曲线密钥交换协议、SM2-3椭圆曲线公钥加密算法,能够实现数字签名、密钥协商和数据加密等功能。6.3.2基于数据加密的技术

SM2是对RSA和ECC的一种补充和完善。从表中可以看出,相比于传统的RSA非对称加密算法,SM2算法具有安全、高效、灵活等特点,且可以在国家保密需求下有良好应用。当前,SM2算法已被广泛应用于数字签名、密钥交换和加密等密码学应用,是最适合在中国国内使用的加密算法之一。(a)和(b)分别给出了SM2算法的加密和解密流程6.3.2基于数据加密的技术

6.3.2基于数据加密的技术SM2的加解密过程可以通过如下两种方式实现:第一种是基于对上述SM2加解密算法流程的理解编写程序来实现;第二种是基于GmSSL库来实现。GmSSL是一个开源加密算法包,它提供了SM2、SM3、SM4等多种国密算法的python实现,方便有不同需求的读者使用。针对本案例分析的SM2算法,该库提供了encrypt与decrypt两个函数用于实现加密与解密过程。6.3.2基于数据加密的技术3.非对称加密算法SM9SM9算法也称为SM9椭圆加密算法或SM9标识密码算法,是国家密码管理局颁布的一种基于椭圆曲线密码学的公钥密码算法,具有高度的安全性和可靠性。它由数字签名算法、标识加密算法、密钥协商协议三部分组成。SM9算法主要应用于标识密码系统,如数字签名、数据加密、密钥交换、身份认证等。用户的私钥由密钥生成中心根据主密钥和用户标识计算得出,用户的公钥由用户标识唯一确定,从而用户不需要通过第三方保证其公钥的真实性。与基于证书的公钥密码系统(PKI)相比,基于SM9算法的标识密码系统中的密钥管理环节得到了很大的简化。SM9标识密码算法是一种基于身份的密码方案,主要用于身份认证和密钥协商。6.3.2基于数据加密的技术它采用了双线性对等数学工具,支持1024位和2048位密钥。SM9算法具有较高的安全性和计算效率。SM9算法支持海量用户,无需颁发和管理数字证书,大幅节约管理成本适用于互联网应用的各种新兴应用的安全保障。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等。它能够解决身份认证、数据安全、传输安全、访问控制等多种安全问题,可以将用户的标识(如邮件地址、手机号码、QQ号码等)作为公钥,省略了交换数字证书和公钥过程,使得安全系统变得易于部署和管理,非常适合端对端离线安全通讯、云端数据加密、基于属性加密、基于策略加密的各种场合。6.3.3基于数据抑制的技术基于数据抑制的技术是根据数据的具体情况,有选择地发布原始数据、不发布或者发布精度较低的敏感数据,实现隐私保护。基于数据抑制的隐私保护技术主要集中于数据匿名化,在隐私披露风险和数据精度间进行折中,从而有选择地发布敏感数据及可能披露敏感数据的信息,但保证对敏感数据及隐私的披露风险在可容忍范围内。常用的方法有K-匿名化(K-Anonymity)、L-多样性(L-Diversity)、T-相似性(T-Closeness),其中K-匿名可以抵御链接攻击,但无法解决同质攻击问题;L-多样性虽然可以抵御同质攻击,但却不能解决偏斜攻击和相似性攻击;T-相似性则可以有效解决偏斜攻击和相似性攻击,实现敏感数据的隐私保护需求。6.3.3基于数据抑制的技术1.数据匿名化的常用方法●去标识:是指把原始数据表中唯一准确标识记录的标识符去除,一般仅用于数据预处理的第一个环节或是简单的数据发布。去标识方法过于简单、容易失效。●数据泛化:指对数据表中的原始属性值依照某种规则进行变换,使得变换后的数据属性值涵盖比真实数据更多的信息量。数据泛化的本质是通过降低数据的精度换取数据的匿名性。泛化的好处是不会引入错误数据,并且能够保留原始数据的重要统计特性。●限制发布:限制发布和数据泛化的操作相反,通常不会单独使用,而是配合数据泛化使用。当因为数据泛化导致信息损失过大时,可采用限制发布某条记录的方法减少数据损失。6.3.3基于数据抑制的技术●子抽样:是指从原始数据表中抽取出小部分具有代表性的数据记录进行分析和研究。通过减少对外发布的记录数量来减少隐私泄露的可能性。●插入噪声:是指在原始数据中添加一些与原始数据相符的干扰信息。在不影响数据原有基本统计特性的条件下,通过降低具体数据记录的准确性来增加攻击者推理的难度。添加的噪声要与原有数据信息相吻合,不对原有数据做太大的变动。●分解:在数据表准标识符属性维数较多时,采取泛化和限制发布的办法会导致大量的数据信息损失。采用分解的方法将数据表作为两个表分开发布,一个是准标识符表,一个是敏感属性表,但不改变原始数据记录的属性值,只是通过隔断准标识符属性和敏感属性之间的联系来达到隐私保护的目的。6.3.3基于数据抑制的技术2.K-匿名化

K-anonymity主要用于保护关系型数据库中的数据隐私,它要求发布的数据中必须有k-1条与当前记录不可区分的数据记录存在,使得攻击者无法判断出敏感信息对应的数据记录。2002年,Sweeney将k-anonymity模型引入到位置隐私保护方法中,提出了k-匿名隐私保护模型,通过将移动用户当前所处的位置和其他k-1个用户位置匿名在一起,使得攻击者能识别出当前用户位置的概率不超过1/k。K-匿名化隐私保护技术是一种基于k-匿名模型的数据隐私保护方法,它要求发布的数据中,指定标识符(包括标识符或准标识符)属性值相同的每一等价类至少包含k个记录。6.3.3基于数据抑制的技术K-匿名模型是一种典型的基于背景知识的隐私保护模型,因其简单、便于操作,而成为目前应用最广泛的隐私保护模型。但其缺点是攻击者掌握的背景知识对实现的隐私保护效果有很大的影响,攻击者掌握的背景知识越少,隐私保护效果越好。此外,k-匿名模型中用k来表示隐私保护强度,k越大,匿名效果越好,隐私保护参数k的设定至关重要。K-匿名化隐私保护技术的结构主要包括数据预处理、等价类划分、等价类合并、噪声添加和数据发布等五个部分,具体过程如下

(1)数据预处理。对原始数据进行清洗、去重、格式化等处理,去除或隐匿敏感信息和标识符信息,为后续的等价类划分和合并提供基础数据。6.3.3基于数据抑制的技术(2)等价类划分。根据选定的准标识符对预处理后的数据进行划分,形成若干个等价类,每个等价类中的记录具有相同的准标识符属性值。(3)等价类合并。如果某个等价类中的记录数小于k,则需要将该等价类与其他等价类进行合并或扩展。合并或扩展的方式可以根据具体情况进行选择,如基于距离、密度等指标的合并算法。(4)噪声添加。为了满足隐私保护需求,可以对合并或扩展后的等价类进行噪声添加处理,具体选择取决于隐私保护需求和数据集的特点。(5)数据发布。经过上述处理后,生成可发布的数据集,并对外发布。发布的数据集满足k-匿名的要求,以保护个人隐私信息不被泄露。6.3.3基于数据抑制的技术k-匿名化隐私保护技术处理方法主要分为直接方法和间接方法(1)直接方法。直接方法是通过修改数据或数据发布策略来满足k-匿名的要求。具体方法包括数据泛化、数据抑制和数据合成等。数据泛化将原始数据替换为更一般的值,如将具体的年龄替换为年龄段;数据抑制直接删除某些属性或记录,以减少数据集的敏感性;数据合成通过合并多个记录来创建一个新的不敏感记录。(2)间接方法:间接方法是通过引入额外的信息或噪声来满足k-匿名的要求。具体方法包括聚类、随机化等。聚类是将相似的记录分组在一起,以增加等价类的大小;随机化是通过添加随机噪声来混淆数据,以保护个人隐私。6.3.3基于数据抑制的技术K-匿名化是通过概括和隐匿技术,发布精度较低的数据,使得同一个准标识符至少有k条记录,降低目标数据被识别的概率,即K-匿名是保证数据集中的等价类至少有k组记录相同,这样目标记录被识别出来的概率不超过1/k。6.3.3基于数据抑制的技术3.L-多样性L-多样性是指如果对于任意相等数据集(等价类)内所有记录对应的敏感数据属性集合,至少包含L个不同的取值,则称该等价类满足L-多样性,如果数据集中所有等价类都满足L-多样性,则称该数据集满足L-多样性。6.3.3基于数据抑制的技术4.T-相似性T-相似性在L-多样性的基础上进行了改进强化,增加了对数据敏感属性值分布的约束,其要求每一个等价类中敏感属性值的分布与整个数据表中敏感属性值的分布之间差异不超过给定的参数t,即该等价类满足T-相似性,从而使得每个等价类中敏感属性值的统计分布与整个数据表中敏感属性值的总体分布“相似”,即该数据表满足T-相似性。6.3.4基于信息隐藏的技术1.信息隐藏技术的概念信息隐藏是指将秘密信息隐藏在另一个非机密的载体信息中,通过公共信道进行传递,主要用于解决密码技术无法解决的网络上流量分析的攻击问题。秘密信息被隐藏后,攻击者无法判断载体信息中是否隐藏了秘密信息,也无法从载体信息中提取或去除所隐藏的秘密信息。信息隐藏所用的载体可以是文本、图像、声音及视频等。信息隐藏技术主要用于隐藏数据、信息或者其他内容的方法,使其不易被察觉或识别出来。6.3.4基于信息隐藏的技术信息隐藏的模型结构:信息隐藏是隐藏信息存在的形式,秘密信息被嵌入到从感官上看起来无害的掩饰信息当中,攻击者无法直观地判断所监听的信息是通信的实际内容,还是包含有秘密的掩饰信息。隐藏有秘密信息的掩饰信息不会引起通信各方以外的人的注意和怀疑6.3.4基于信息隐藏的技术(2)扩频技术:扩频技术是一种通过将秘密信息扩展到较大的频带来实现信息隐藏的方法。在扩频技术中,嵌入的秘密信息以较低的数据传输速率嵌入到高带宽信号中,使得隐藏的信息在频域上几乎不可察觉。扩频技术具有较强的抗干扰性能,使得隐藏的信息在面对噪声或干扰时更难被破坏。(3)变换技术:变换技术是一类利用信号或图像的变换域来隐藏信息的方法。常见的变换技术包括小波变换、离散余弦变换和快速傅里叶变换等。这些变换技术将信号或图像转换到不同的域中,如频域或小波域,提供了一种隐藏信息的新途径。在变换域中,通过修改变换系数的值来嵌入秘密信息。变换技术可以提供较好的抗攻击性能,因为隐藏的信息通常与原始信号的特定变换域特征相关联,使得攻击者难以检测和破解隐藏信息。6.3.4基于信息隐藏的技术4.数据水印技术数字水印技术是将特定的数字信息(如身份信息、序列号、文字或图像标志等)嵌入到图像、音频、视频或软件等各种数字产品中,以达到信息安全和版权保护等目的。数字水印是嵌在数字作品中的数字信号,水印的存在不会破坏原始作品的欣赏价值和使用价值,数字水印具有隐蔽性、安全性、鲁棒性、确定性的特征。数字水印算法包括水印的嵌入和水印的提取,具体过程下图所示:6.3.4基于信息隐藏的技术6.3.4基于信息隐藏的技术(1)生成水印。首先标记数据M的多样性,即预处理各种形式的标记数据,然后使用水印生成算法生成水印W,这样能够保证数字水印的唯一性、有效性、不可逆等。数字水印的生成算法满足:W=f(M,K)或者W=f(M,K,I)(2)嵌入水印。利用特定算法将生成的水印W嵌入到原始数据的空间域或者变换域中,生成原始数据的数字水印。嵌入水印的算法满足:I*=f(I,W,K)(3)提取水印。该过程既可以得到恢复的数字水印W,也可以是对由I*中提取出的水印与输入的水印W的相似性度量的某种可信度。提取水印的算法满足:W或者某种可信度=f(I,I*,K)6.3.4基于信息隐藏的技术目前主要有两种类型的数字水印,即空间数字水印和频率数字水印。空间数字水印的典型代表是最低有效位(LSB)算法,通过调整显示数字图像的颜色或颜色分量的位平面,用图像中感知较弱的像素来编制水印的信息。频率数字水印的典型代表是扩展频谱算法,是通过时频分析,根据扩展频谱特性在数字图像的频域上选择视觉最敏感的部分进行修改,使算法变换系数隐含数字水印的信息。6.3.5云环境中的隐私保护技术在云环境下,由于用户的数据和应用在非完全可信的云端存储和执行,数据安全和隐私保护成为制约云应用的主要问题。1.云环境中的安全威胁数据泄露:由于数据在云中传输和存储,存在被未授权访问或泄露的风险。攻击者可能通过网络攻击、漏洞利用或弱密码等手段获取到敏感数据。虚拟化漏洞:云平台的虚拟化技术使得多个用户共享同一个基础设施,虚拟化漏洞可能导致恶意用户在虚拟环境中进行侧信道攻击、逃逸攻击或资源竞争等,从而获得用户的敏感信息。6.3.5云环境中的隐私保护技术不安全的API:云服务提供商通常通过API(应用程序接口)实现用户与云平台的交互。若API存在缺陷或不安全配置,可能受到API滥用、DOS攻击或未授权访问等威胁,从而获得用户的敏感信息。供应链攻击:云服务的安全性也依赖于供应链中的各个环节,供应商的安全漏洞、恶意软件或云平台攻击,从而获得用户的敏感信息。2.云环境中的隐私保护技术数据的生命周期分为生成、传输、使用、共享、存储和销毁六个阶段,而云环境中的计算架构涉及数据的整个生命周期,每个生命周期数据面临的隐私泄露风险各不一样。因此,针对不同的数据生命周期,采用不同的隐私保护技术。6.3.5云环境中的隐私保护技术(1)数据生成阶段:在云计算环境中,数据存储在云服务器中为了维持数据的所有者信息,系统将收集和保存用户的隐私信息常用的隐私保护技术有数据脱敏、数据匿名化处理、信息隐藏技术等(2)数据传输阶段:在云计算环境中,数据可能面临传输请求包括在企业内部服务器之间的传输和不同企业服务器之间的传输。当在企业边界内部传输时,通常不需要对数据进行加密,或则仅需要简单加密。当数据传输发生在不同企业服务器之间时,必须考虑数据的保密性和完整性,防止数据被窃取和篡改。传输阶段的隐私保护必须考虑整个传输阶段数据的保密性和完整性。常用的隐私保护技术有数据加密、数字签名、网络安全技术等6.3.5云环境中的隐私保护技术(3)数据使用阶段:在传统的架构中,可以通过加密的方法保护数据。但是在云计算架构中,对数据进行简单的加密处理是不客观的,加密后的数据很难实现索引和查询。因此,常用的隐私保护技术有同态加密、安全多方计算、安全信息检索等技术。(4)数据共享阶段:数据共享能够有效扩展用户对数据的使用方式,但也带来了更复杂的数据访问权限问题。一旦数据的所有者授权某个用户访问数据,被授权用户可以不经所有者同意而授权给第三方用户,从而造成用户隐私信息的泄露。因此,在共享隐私数据时,必须设置共享粒度确定共享全部数据还是部分数据,并通过数据转换程序分离原始数据上的敏感信息。常用的隐私保护技术有身份认证技术、访问控制技术、基于数据失真的隐私保护技术、基于数据抑制的隐私保护技术等。6.3.5云环境中的隐私保护技术(5)数据存储阶段:云环境中的数据存储要考虑保密性、完整性和可用性。为了实现保密性,常用的办法是数据加密。为了获得高效的加密,需要考虑加密算法和密钥强度。在云存储中,有大量数据需要传输、存储和处理,必须考虑对大量数据的处理速度和计算效率。常用的隐私保护技术有数据加密技术、数字签名技术、密钥管理技术、消息认证码技术等。(6)数据销毁阶段:当数据不再需要存储时,需要考虑数据是否应被彻底销毁以及如何销毁。由于存储设备的物理特性,通过常规手段销毁的数据通常可以被还原,这也带来隐私泄露的风险。一般通过使用云平台提供的管理界面或命令行工具来删除与云服务器相关联的存储卷,销毁数据。6.4数据可信计算技术6.4.1可信计算的概念1.可信的定义虽然对可信的定义不完全统一,但是可信最后都可以归结为强调实体行为的预期性,强调系统的安全性与可靠性。因此,可信可以定义为:可信是指值得信任,一个系统可信是指系统的运行(或输入输出关系)符合预期的结果,没有出现未预期的结果或故障。2.可信计算的定义TCG联盟制定了可信计算规范,提出了基于可信计算平台模块(TPM)的可信计算平台(TCP)体系结构,定义了可信计算的三个安全属性,即可鉴别性、完整性和机密性。可鉴别性是指信息系统的用户可以认证与他们进行通信对象的身份,完整性是指用户能够确保信息在传输和保存过程中不会被篡改或伪造,机密性是指6.4数据可信计算技术用户相信系统能保证其信息的私密性不被泄漏。可信计算的基本思想是在计算平台中,首先创建一个安全信任根,再建立从硬件平台、操作系统到应用系统的信任链,在这条信任链上从根开始一级测量认证一级,一级信任一级,以此实现信任的逐级扩展,从而构建一个安全可信的计算环境。一个可信计算系统由信任根、可信硬件平台、可信操作系统和可信应用组成,其目标是提高计算平台的安全性。实现可信计算需要达到以下要求:●验证用户的身份:验证使用者的合法身份,可以使用该系统

●验证平台软硬件配置的正确性:使用者可以信任平台的运行环境软硬件配置没有问题。6.4数据可信计算技术●验证应用程序的完整性和合法性:在平台上运行的应用程序是可信的,是正版软件且未受破坏。●平台之间的可验证性:在网络环境下运行的多个平台之间是可以相互信任的,即这些平台本身各自可信,且可以合法地相互访问,相互通信不存在安全问题。3.可信计算的发展概况在20世纪60年代,为了提高硬件设备的安全性,人们设计了具有高可靠性的可信电路,可信的概念开始萌芽。到20世纪70年代初期,Anderson首次提出来了可信系统的概念,为美国后续的TCSEC(彩虹系列)、可信计算机、可信计算基(TCB)、可信网络、可信数据库等的提出奠定了基础。彩虹系列是最早的一套可信计算技术文件,标志着可信计算的出现,可信的内涵得到不断6.4数据可信计算技术丰富,可信计算的理念和标准初具雏形。我国从2000年开始关注可信计算,并进行了立项、研究。2004年,武汉瑞达生产了中国第一款可信平台模块(TPM),之后联想、长城等基于TPM生产了可信PC。2005年1月,全国信息安全标准化技术委员会成立了可信计算工作小组(WGI),先后研制制定了可信密码模块(TCM)、可信主板、可信网络联接等多项标准规范。2005年,国家出台“十一五”规划和“863”计划,把“可信计算”列入重点支持项目,我国出现了一系列的可信计算产品。国际与国内两套标准最主要的差异为:①信任芯片是否支持国产密码算法,国际标准以DES、AES等算法为主,而我国国家密码局主导提出了中国商用密码可信计算6.4数据可信计算技术应用标准。②信任芯片是否支持板卡层面的优先加电控制,国际标准提出的CPU先加电、后依靠密码芯片建立信任链的模式强度不够。我国提出的基于TPCM芯片的双体系计算安全架构,TPCM芯片除了密码功能外,必须先于CPU加电,先于CPU对BIOS进行完整性度量。③可信软件栈是否支持操作系统层面的透明可信控制,国际标准需要程序被动调用可信接口,不能在操作系统层面进行主动度量。我国提出在操作系统内核层面,对应用程序完整性和程序行为进行透明可信判定及控制思路。6.4数据可信计算技术4.可信计算的功能可信计算平台的主要应用目标是风险管理、数字资源管理的安全监控和应急响应,以及数据安全保护,包括系统平台自身敏感数据的保护和用户敏感数据的保护。可信计算支撑平台为可信计算机提供了平台完整性、平台身份可信和平台数据安全保护等功能。其中,平台完整性利用密码机制通过对系统平台组件的完整性度量、存储与报告,确保平台完整性6.4数据可信计算技术5.可信计算技术可信计算作为一种新型信息安全技术,已经成为信息安全领域的研究热点,其关键技术包括密码技术、可信度量技术、信任链技术和远程证明技术。可信计算从密码技术入手,形成可信度量技术,解决单一组件的可信安全问题。(1)密码技术密码技术不仅是信息安全的基础,也是可信计算的基础。可信计算体系结构以密码体系为基础,采用对称和非对称密码算法相结合的密码体制,从可信平台控制模块出发,建立信息系统的信任链,保障关键信息系统的安全。可信计算平台基于密码技术,实现平台自身的完整性、身份可信性和数据安全性等安全功能。

6.4数据可信计算技术(2)可信度量技术建立计算平台信任的主要技术手段是完整性度量。在信息安全中,数据完整性度量技术通过消息认证码(MAC)的一致性校验来实现度量功能。对于MAC消息认证码的产生,主要通过单向哈希(HASH)函数来实现。(3)信任链技术

TCG提出信任链(TrustedChain)来解决安全问题,从一个初始的信任根出发,在平台上计算环境的每一次转换时,如果这种信任可以通过传递的方式保持下去不被破坏,那么平台上的计算环境始终是可信的。信任链的起点是信任根,信任链是在计算系统启动和运行过程中,使用完整性度量方法在部件之间所建立的信任传递关系,信任链的传递是依靠可信度量技术来实现。6.4.2可信执行环境1.可信执行环境的概念可信执行环境(TEE,TrustedExecutionEnvironment)是存在于智能手机、平板电脑等移动设备主处理器中的一个安全区域,它能够保证加载到该环境内部的代码和数据的安全性、机密性和完整性。TEE提供了一个隔离的执行环境,提供的安全特征包括数据隔离、计算隔离、错误隔离、通信控制等。一个可信的TEE需要提供四个方面的安全保障:(1)数据隔离:确保可信应用使用的数据不会被其他应用程序访问或修改。这包括确保可信应用的数据与外部操作系统隔离,以及在多个可信应用之间进行数据隔离。6.4.2可信执行环境(2)计算隔离:保护可信应用的计算资源,使其不受其他应用程序的监测和拦截。此外,需要清除可信应用执行后的痕迹,抵御来自侧信道攻击的威胁。(3)通信控制:确保非可信应用程序和可信应用程序之间的会话和数据交互不会破坏隔离性。(4)错误隔离:防止非可信区域的安全漏洞扩散到可信应用程序中。6.4.2可信执行环境2.可信执行环境的体系结构一个可信执行环境体系结构主要包括四部分,即普通执行环境、可信执行环境、客户端应用、可信应用。(1)普通执行环境(REE)。普通执行环境是指那些有着丰富功能的环境,如Android、Windows、IOS等。这些系统由于广泛使用,功能不断增加,结构也越来越复杂,但安全性普遍不高。(2)可信执行环境(TEE)。可信执行环境主要指那些与普通执行环境相隔离,用于执行高安全性操作的环境。与普通执行环境相比,可信执行环境的功能相对较少,只保留一些与安全相关的机制,如密钥管理等,同时提供一些必要的系统功能。6.4.2可信执行环境(3)客户端应用(CA)。所有运行在普通执行环境中的应用都被称为客户端应用,其中一些可能需要与可信执行环境通信并要求服务。(4)可信应用(TA)。可信应用是指那些运行在可信执行环境里的应用。这些应用一般用来为客户端应用提供特定的安全服务,或处理一些安全任务,如密钥生成和密钥管理等。可信执行环境的最本质属性是隔离,通过芯片等硬件技术并与上层软件协同对数据进行保护,且同时保留与系统运行环境之间的计算能力共享,基于可信执行环境的数据计算平台技术架构如下图所示。目前,可信执行环境的代表性硬件产品主要有Intel的TXT以及Arm的TrustZone等。6.4.2可信执行环境可信执行环境并不属于“数据可用不可见”,但其通用性高、开发难度低,在通用计算、复杂算法的实现上更为灵活,使得其在数据保护要求不是特别严苛的场景下具有很大的价值空间。6.4.2可信执行环境3.可信执行环境与其他隐私计算技术的比较可信执行环境与安全多方计算、同态加密都属于基本的隐私计算技术,它们之间既有区别又有联系。6.4.2可信执行环境4.可信执行环境的应用场景可信执行环境能够保障数据在存储、计算和传输过程中不被非法的窃取、篡改和破坏,能够防止用户的敏感信息被不安全的平台或系统泄露,主要应用场景包括数据隐私保护和数据加密解密。(1)数据隐私保护可信执行环境提供了一种安全的隔离环境,用于存储和处理敏感数据。通过将敏感数据放置在可信执行环境中,数据可以受到保护,防止未经授权的访问和泄露。可信执行环境使用硬件和软件机制,确保数据在执行过程中的安全性。敏感数据存储在可信执行环境中时,即使云计算环境中存在恶意软件或攻击者,也无法直接访问或泄露数据。这种安全隔离保护了数据的机密性和完整性,为用户提供了更高级别的数据隐私保护。6.4.2可信执行环境(2)数据加密和解密可信执行环境提供了安全的加密和解密操作环境,确保数据的机密性。敏感数据可以在可信执行环境内进行加密,以防止未经授权的访问者获取它的明文内容。只有在可信执行环境中进行解密操作,才能获得原始数据。这种加密和解密过程的安全性保证了数据在传输和存储过程中的安全性。在云计算环境中,即使数据在传输或存储过程中被攻击者获取,由于数据被加密,攻击者也无法获得它的真实内容。这种数据加密和解密的安全环境为用户提供了更高级别的数据保护。6.4.3TrustZone和TXT技术TrustZone技术TrustZone是ARM公司提供的硬件级别的安全解决方案,目标是为处理器提供安全隔离和保护机制。TrustZone技术提供了“两种环境、两个区域、三类隔离”的安全防护,确保应用程序和数据在被执行过程中不会受到未经授权的访问或修改。TrustZone架构示意图如图所示。6.4.3TrustZone和TXT技术(1)两种环境TrustZone技术提供了两种执行环境,即可信执行环境和普通执行环境。普通执行环境运行一个丰富的软件栈,称为富执行环境由完整的操作系统和应用程序组成,它被通常认为是不可信任的;可信执行环境运行一个较小的软件栈,由可信操作系统和可信应用组成。(2)两个区域TrustZone技术将设备的硬件和软件资源全部划分成安全区域和非安全区域,两个区域之间不能随意进行数据交换,非安全区域的进程禁止访问安全区域,以保证存储在安全区域的资源不被窃取。6.4.3TrustZone和TXT技术当CPU处于正常状态时,任何应用都无法访问安全硬件设备,也无法访问属于安全状态下的内存、缓存(Cache)以及其他外围安全硬件设备。在硬件层面上,TrustZone将物理处理器核虚拟成两个核,一个称为非安全核(Non-secure,NS),另一个称为安全核(Secure,S),通过CP15的SCR寄存器中的NS位来表明当前所处的状态。非安全核只能访问自己的系统资源,安全核可以访问所有资源。在软件层面上,TrustZone实现了安全可信启动,即在引导加载过程中先启动安全区域并对启动状态做完整性验证,验证无误后再启动非安全区域6.4.3TrustZone和TXT技术(3)三类隔离

TrustZone技术设置了三类隔离,即CPU状态隔离、内存区域隔离、外部设备隔离。①CPU状态隔离TrustZone支持两种CPU状态:安全状态和非安全状态,分别对应于安全区域和非安全区域。这两种状态通过CP15寄存器进行控制。安全状态和非安全状态可以通过在CP15的安全配置寄存器(SecureConfigurationRegister,SCR)中配置NS位来区分,监视器模式只能在安全状态下运行,充当管理两个状态之间切换的守护者。6.4.3TrustZone和TXT技术②内存区域隔离TrustZone提供了虚拟MMU机制,用于支持安全区域和非安全区域中不同的虚拟内存地址空间。这两个域的虚拟内存空间会被映射到不同的物理地址空间。TrustZone允许安全区域访问非安全区域的虚拟内存地址空间,但非安全区域无法访问安全区域的虚拟内存空间。虚拟MMU机制只能保证虚拟内存空间而不是物理内存空间的隔离。③I/O外部设备隔离

TrustZone提供了对I/O外部设备的隔离机制。安全区域拥有比非安全区域更高的访问权限,因此它可以访问非安全区域的外设,但非安全区域无法访问安全区域的外设。6.4.3TrustZone和TXT技术每个外设都在TrustZone保护控制器(TrustZoneProtectionController,TZPC)中设置,确定它属于哪个域,并在TZPC中具有唯一标识。支持TrustZone的中断控制器对每个连接到其上的中断进行完全和独立的控制。中断控制器接收外部设备发来的中断请求,并将其引导到ARM处理器中。中断控制器为每个中断提供安全和非安全两种访问事务,并限制非安全的读写事务只能处理非安全中断,而安全的读写事务可以处理所有中断。(4)TrustZone的应用TrustZone能够满足不同场景下的安全应用需求,典型的应用有数据保护、内核保护和外设保护三种。6.4.3TrustZone和TXT技术每个外设都在TrustZone保护控制器(TrustZoneProtectionController,TZPC)中设置,确定它属于哪个域,并在TZPC中具有唯一标识。支持TrustZone的中断控制器对每个连接到其上的中断进行完全和独立的控制。中断控制器接收外部设备发来的中断请求,并将其引导到ARM处理器中。中断控制器为每个中断提供安全和非安全两种访问事务,并限制非安全的读写事务只能处理非安全中断,而安全的读写事务可以处理所有中断。(4)TrustZone的应用TrustZone能够满足不同场景下的安全应用需求,典型的应用有数据保护、内核保护和外设保护三种。6.4.3TrustZone和TXT技术每个外设都在TrustZone保护控制器(TrustZoneProtectionController,TZPC)中设置,确定它属于哪个域,并在TZPC中具有唯一标识。支持TrustZone的中断控制器对每个连接到其上的中断进行完全和独立的控制。中断控制器接收外部设备发来的中断请求,并将其引导到ARM处理器中。中断控制器为每个中断提供安全和非安全两种访问事务,并限制非安全的读写事务只能处理非安全中断,而安全的读写事务可以处理所有中断。(4)TrustZone的应用TrustZone能够满足不同场景下的安全应用需求,典型的应用有数据保护、内核保护和外设保护三种。6.4.3TrustZone和TXT技术①数据保护TrustZone最初被用来提供通用的安全服务,如生物认证、一次性密码、加密功能、安全存储等。非安全区域中的应用程序通过API调用这些功能,安全区域处理完成后再将结果返回给非安全区域的应用程序。安全服务在安全区域中处理,非安全区域无法对其进行干预,从而实现数据保护的功能。②内核保护TrustZone下安全区域具备高特权性,利用高特权可对系统所有状态进行检查来确保系统的安全运行。例如,SPROBES使用TrustZone来检查非安全区域内核的代码完整性。在安全区域中运行的监视器将对非安全区域内核进行定期的安全检查6.4.3TrustZone和TXT技术①数据保护TrustZone最初被用来提供通用的安全服务,如生物认证、一次性密码、加密功能、安全存储等。非安全区域中的应用程序通过API调用这些功能,安全区域处理完成后再将结果返回给非安全区域的应用程序。安全服务在安全区域中处理,非安全区域无法对其进行干预,从而实现数据保护的功能。②内核保护TrustZone下安全区域具备高特权性,利用高特权可对系统所有状态进行检查来确保系统的安全运行。例如,SPROBES使用TrustZone来检查非安全区域内核的代码完整性。在安全区域中运行的监视器将对非安全区域内核进行定期的安全检查6.4.3TrustZone和TXT技术③外设保护

TrustZone可以对外围设备进行独占控制,能够利用它控制系统中的硬件设备实现强制访问控制。在许多场景中,对智能设备外围设备的可靠开关控制是安全和隐私的关键。例如,SeCloak利用TrustZone的外设独占能力向用户提供了一个配置系统,即使操作系统被攻击仍可实现移动设备外设的可信开关。2.TXT技术TXT是TrustedExecutionTechnology的简称,是Intel公司的可信计算技术,其主要目标是通过使用特定的IntelCPU、专用硬件以及相关固件,通过结合一个基于硬件的安全设备—可信平台模块(TrustedPlatformModule,TPM),提供完整性度量、密封存储、受保护的I/O、以及受保护的显示缓冲等功能。6.4.3TrustZone和TXT技术主要用于解决启动进程完整性验证和提供更好的数据保护,TXT架构示意图如下图所示TXT技术加入了先进的信任平台模块TPM芯片,并对主板芯片和处理器都提供了硬件扩展,提供了硬件基础机制,能够防范基于软件的攻击,保护机密性和完整性的数据存储或建立在客户端PC。6.4.3TrustZone和TXT技术TXT技术提供的保护功能主要包括以下几方面。●程序执行保护:保护程序执行和存放敏感数据的内存空间,允许某个应用程序在一个相对独立的环境中运行,与平台上的其他程序不能互相干扰。没有任何其他程序能够监视或读取在保护环境中运行的程序数据。●加密存储保护:密封的存储密钥和其他在使用和存储中易受攻击的数据都被加密、存储在硬件中,而集成了TPM芯片的系统将具备解密密钥的能力。任何企图从TPM系统中未经授权的拷贝操作都无法得到真实的数据。6.4.3TrustZone和TXT技术●输入保护:通过一种防止未授权的程序来监听设备上所有的输入操作,包括鼠标点击和键盘输入。不仅传统的输入操作会被加密,所有的USB接口的传输也会被加密。●内存保护:能够加强系统资源的保护,增强数据机密性和完整性,改进数据传输的安全性和敏感数据的保护性。●发布保护:基于硬件的安全系统能够提升保密性,保护敏感数据不受软件攻击和导致系统宕机的危害,并且通过各种措施和保护提供平台级别上的安全解决方案。6.5数据隐私保护面临的挑战1.数据隐私保护面临的挑战(1)匿名化技术面临的挑战匿名化技术通过对数据进行脱敏、泛化或扰动来保护隐私,但这样处理可能导致数据失去部分细节和关联性,从而降低数据的实用性和分析价值。虽然匿名化技术能够防止个体被重新识别,但高级的数据分析和关联技术仍然能够从匿名化数据中推断出敏感信息,造成隐私泄露。(2)数据加密技术面临的挑战数据加密计算虽然是保护数据安全和防止隐私泄露的有效手段,但强加密算法通常伴随着较高的计算和通信开销。同时,加密技术的有效性主要依赖于密钥的安全管理和分发,而密钥的泄露或管理不善可能直接导致加密保护失效。6.5数据隐私保护面临的挑战(3)数据采集的访问控制面临的挑战为保护用户的隐私信息,采集数据时设置最小化原则,即只收集与处理目的直接相关的最少数据,但“最少”和“相关”的定义在不同场景和目的下可能存在差异和模糊性。而实际业务运营中,往往需要收集和使用更多的数据以优化服务或提升效率,这与数据最小化原则有存在巨大的矛盾。对数据最小化原则的执行和监管涉及多个部门和多方利益,协调和执行难度较大。(4)数据传输中隐私保护面临的挑战不同国家和地区的隐私保护法规和标准存在差异,这使得跨境数据传输在合规性方面面临挑战。跨境数据传输可能涉及更多的网络节点和传输路径,增加了数据泄露和被非法访问的风险。6.5数据隐私保护面临的挑战在跨境数据传输中发生隐私泄露时,涉及的法律适用和管辖权问题可能使受害者难以维权。(5)隐私泄露风险评估面临的挑战在数字化时代,数据的流动性和交叉使用使得准确评估隐私泄露风险变得极为复杂。目前隐私泄露风险评估的方法和工具尚处于发展阶段,其准确性和实用性有待进一步提高。不同个体和组织对隐私风险的认知和容忍度存在差异,这使得风险评估结果具有一定的主观性和不确定性。6.5数据隐私保护面临的挑战2.数据隐私保护技术的未来展望随着数据安全和隐私保护意识的提高,隐私保护技术将继续发展,尤其是各国政府对数据安全和隐私保护的重视,将推动隐私保护技术的进一步发展,隐私保护技术与计算机科学、法律、社会学等多个学科融合,以解决复杂的隐私保护问题。(1)区块链技术在隐私保护中的应用区块链的去中心化特性使得数据难以被篡改,使用区块链技术能够提高数据安全性。通过利用数据加密技术,区块链可以保护用户数据的隐私,防止数据被泄露。区块链技术也可以在保证数据安全和隐私的前提下,提高数据的共享效率,促进数据的流通。6.5数据隐私保护面临的挑战(2)人工智能在隐私保护中的应用人工智能可以帮助识别和预测隐私风险,通过分析历史数据和行为模式,预测潜在的隐私风险,并采取相应的措施进行保护。通过机器学习和自动化技术,人工智能可以自动化处理隐私保护的流程,提高效率。(3)联邦学习在隐私保护中的应用联邦学习可以提高模型性能,通过联合多个设备上的模型参数进行训练,联邦学习可以获得更好的模型性能。通过在分布式设备上训练模型,联邦学习可以在不共享原始数据的情况下进行机器学习,提高数据隐私的保护。在保证数据隐私的前提下,联邦学习可以促进不同组织之间的数据共享,推动跨领域合作。6.5数据隐私保护面临的挑战(4)同态加密在隐私保护中的应用同态加密不仅可以支持加法、乘法等基本运算,还可以支持更复杂的计算操作,通过加密算法,同态加密可以在不暴露原始数据的情况下进行计算和存储,实现数据的安全计算和存储,确保数据的安全性。(5)安全多方计算在隐私保护中的应用通过加密算法和协议设计,安全多方计算可以在多个参与方之间进行安全计算,确保数据的安全性和隐私性。安全多方计算可以支持多种应用场景,可以应用于金融、医疗、政务等多个领域,实现多个参与方之间的安全计算和共享数据。6.5数据隐私保护面临的挑战2.数据隐私保护技术的未来展望随着数据安全和隐私保护意识的提高,隐私保护技术将继续发展,尤其是各国政府对数据安全和隐私保护的重视,将推动隐私保护技术的进一步发展,隐私保护技术与计算机科学、法律、社会学等多个学科融合,以解决复杂的隐私保护问题。(1)区块链技术在隐私保护中的应用区块链的去中心化特性使得数据难以被篡改,使用区块链技术能够提高数据安全性。通过利用数据加密技术,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论