- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。——《顾炎武》
java验证数据完整性_等保2.0系列安全计算环境之数据完整
性、保密性测评
1前⾔
等级测评中,相信很多测评师在内的⼈都不是很了解数据的完整性和数据的保密性,因此本⽂将结合商密测评⾓度浅淡数据的完整性和保密
性的理解和测评。如有错误,欢迎指正。
2定义
2.1完整性
通俗的来说就是数据不被篡改和⾮授权访问。⽬前完整性主要是通过哈希算法来实现。
国密算法中,能够提供数据完整性的算法主要是:SM3。
国际算法中,能够提供数据完整性的算法主要是:MD5、SHA256、SHA512。
2.2保密性
通俗的来说就是数据不能是明⽂,⽬前保密性主要是通过加密算法来实现。
国密算法中,能够提供数据保密性的算法主要是:SM1和SM2,少数使⽤祖冲之,⽆线局域⽹中使⽤SM4。
国际算法中,能够提供数据保密性的算法主要是:DES、3DES、RSA、AES、ECC等。
3数据的完整性测评
a)应采⽤校验技术或密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配
置数据、重要视频数据和重要个⼈信息等;
测评理解:重点有三个,⼀是校验技术或密码技术;⼆是传输过程中的完整性;三是包括不仅限于鉴别数据、重要业务数据、重要审计数据、
重要配置数据、重要视频数据和重要个⼈信息等。
先⼀个个来看,⼀、校验技术其实很好理解,就是类似TCP协议的CRC校验码或者海明校验码等,这是协议层⾯的,如果按照这要求利
街,那么这条指标基本全部符合,所以⽬前测评难点不是在这⾥,⽽是在密码技术如何实现完整性,这⾥是⼀个容易弄混的的知识点,可能
⼤部分⼈有疑惑,密码技术不是i⽤来加密的吗,怎么能⽤来保证完整性呢?其实在商⽤密码中,密码算法分为加密算法和哈希算法两⼤类,
其中哈希算法常见是MD5和SHA系列,哈希算法也属于密码算法,所以通过密码技术完全可以实现完整性校验。
⼆、传输过程中的完整性,传输过程中的完整性主要通过协议来实现,⽐如TLS、SSH协议,通过MAC(消息校验码)来实现整个数据报⽂
的完整性和加密性,⽆论报⽂本⾝内容是否进⾏加密和哈希校验,这个应该⽐较好理解把,因此,测评中,如果采⽤TLS协议、SSH协议,
默认其实应该是符合传输过程中的完整性要求的。
三、重要数据的理解,主要数据包括鉴别数据、审计数据、业务数据等。
老当益壮,宁移白首之心;穷且益坚,不坠青云之志。——唐·王勃
古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼
b)应采⽤校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配
置数据、重要视频数据和重要个⼈信息等。
操作系统的存储过程完整性。操作系统鉴别数据主要就是⽤户名、⼝令、组ID等。其中WindowsNT中默认采⽤SAM⽂件保存鉴别信息,其
中⼝令字段采⽤SHA哈希算法进⾏加密。⽽在Linux中,⼝令保存shadow⽂件中,⼝令也是采⽤SHA哈希算法进⾏加密,主要有三类:$1
表⽰MD5 ; $6 表⽰SHA-512 ; $5 SHA-256。可能在这⾥⼤家有疑惑,为什么不采⽤加密算法对⼝令加密,⽽采⽤哈希算法进⾏加密?
个⼈觉得原因主要有两个:⼀是加密算法分为对称加密算法和⾮对称加密算法,⽆论哪种,都需要安全的保存密钥,这就导致鸡⽣蛋和蛋⽣
鸡的问题,⼆是加密算法时间长,哈希算法时间较短。因此,操作系统的数据传输过程的完整性要求中默认是符合的。
⾄于业务数据、审计数据存储过程中的完整性,主要是核查数据库表(业务数据、审计数据)是否存在哈希字段,在业务数据或审计数据中,
数据在前端⼀般通过json或xml格式进⾏传输,那么数据的完整性应该是核查相关数据库表字段中是否包含完整性校验字段。 ⽬前测评项⽬
中极为少见,⼀般均为不符合,印象中好像只有个⼀个系统实现存储过程中的完整性校验。但是如果通过TLS、SSH等协议,可以通过传输
过程中的完整性在⼀定程度上弥补存储过程中的完整性。
其实在开发过程中,技术⽅⾯进⾏哈希校验并不难,因为常见开发语⾔均内置哈希函数,⽐如php的hash()、java的hashcode()等,但是
问题重点在主流开发语⾔⽬前少于内置SM3等国密哈希算法,随着商密应⽤的测评,⽇后要求⽀持国密的哈希算法估计会成为测评要求判
定之⼀,当然商密局官⽹有现成的php、java、c++源代码库下载,可以⽤来在开发项⽬中直接调⽤。
4 数据的保密性测评
a)应
文档评论(0)