密码技术应该怎么用第十五天

除了使用密码算法,还有以下多种方式可以保护数据:

一、物理安全措施

  1. 数据存储设备防护

将数据存储在安全的物理位置,如数据中心。这些数据中心通常有严格的访问控制,包括门禁系统,只有经过授权的人员能够进入。例如,一些银行的数据中心采用多重身份验证的门禁,需要刷卡并且通过指纹识别或面部识别才能进入。

使用专门的存储设备防护设施,像服务器机柜可以加锁,防止未经授权的人员直接接触存储数据的硬盘等设备。并且存储设备还可以放在防火、防水、防震的机柜中,避免因自然灾害或意外事件导致数据损坏。

  1. 网络设备安全

对网络设备(如路由器、交换机)进行物理保护,将它们放置在安全的机房,限制访问权限。因为这些设备是数据传输的关键节点,如果被恶意破坏或篡改,可能会影响数据的正常传输和存储。例如,在一些大型企业中,网络设备机房采用 24 小时监控和安保巡逻,防止设备被盗或被非法接入。

二、访问控制策略

  1. 用户身份验证

除了密码之外,采用多因素身份验证(MFA)。例如,结合使用短信验证码、硬件令牌(如 U 盾)或生物识别技术(指纹识别、虹膜识别、面部识别)。以网上银行的登录为例,用户在输入用户名和密码后,还需要输入手机短信验证码,这样即使密码被泄露,攻击者没有验证码也无法登录,大大提高了安全性。

基于角色的访问控制(RBAC),根据用户在组织中的角色来分配权限。例如,在一个公司内部,普通员工只能访问和修改自己工作相关的数据,如销售员工可以查看和更新销售订单信息;而财务人员可以访问财务数据,但不能修改销售订单的内容。系统管理员则有更高的权限来管理用户账户和系统配置等,但不能随意访问员工的私人工作文档。

  1. 权限管理

采用最小权限原则,只授予用户完成其工作任务所需的最小权限。例如,在一个文档管理系统中,如果用户只需要读取某些文档,就不应该给予其修改或删除这些文档的权限。这样可以减少因权限滥用导致的数据泄露风险。

定期审查和更新用户权限。随着用户工作职责的变化或者系统功能的更新,及时调整其访问权限。例如,当一个员工从一个部门调到另一个部门,要及时更新其在各个系统中的权限,确保其只能访问新岗位所需的数据。

三、数据备份与恢复策略

  1. 定期备份数据

可以采用全量备份和增量备份相结合的方式。全量备份是将所有数据进行备份,而增量备份只备份自上次备份以来更改的数据。例如,企业的数据库可以每周进行一次全量备份,每天进行增量备份。这样在数据丢失或损坏时,可以根据备份策略快速恢复数据。

将备份数据存储在不同的物理位置,如异地存储。这可以防止因本地发生灾难(如火灾、地震)导致备份数据和原始数据同时丢失。例如,一些金融机构会将备份数据存储在距离总部较远的另一个数据中心。

  1. 数据恢复测试

定期进行数据恢复测试,确保在需要恢复数据时能够成功。可以模拟不同的数据丢失场景,如硬盘损坏、软件故障等,检查备份数据的完整性和恢复过程的有效性。例如,企业的 IT 部门可以每个季度进行一次数据恢复演练,保证备份的数据可以正确地恢复到生产环境中。

四、数据脱敏和匿名化

  1. 数据脱敏

在数据共享或用于测试等场景下,对敏感数据进行脱敏处理。例如,将用户的身份证号码中的部分数字用星号代替,只保留前面几位和最后一位,这样在不影响数据使用的大部分功能的情况下,保护了用户的隐私信息。

对于金融数据中的银行卡号,也可以采用类似的脱敏方式,隐藏部分卡号数字,防止敏感数据泄露。

    2.数据匿名化

通过去除或替换数据中的标识符,使数据主体无法被识别。例如,在医疗研究数据中,将患者的姓名、身份证号等唯一标识符删除,用随机生成的编号代替,这样研究人员可以使用数据进行统计分析等研究,同时保护了患者的隐私。

      数据虽然可以使用一些其他手段达到一定的保护手段,但是信息系统本身是一个非常复杂的系统,在万物互联的时代,很容易出现内外网贯通,访问控制失效的情况,即使你脱敏了一些数据仍可以从其他方面获取一些用户的隐私信息。如果还要检测数据是否被篡改过,那么对传统方式就是灾难。所以能使用密码的时候,还是要主动去使用密码来解决问题。

   密码在网络空间中身份识别、安全隔离、信息加密、完整性保护和抗抵赖等方面具有不可替代的重要作用,可实现信息的机密性、真实性、数据的完整性和行为的不可否认性。相对于其他类型的安全手段,如人力保护、设备加固、物理隔离、防火墙、监控技术,生物技术等,密码技术是保障网络与信息安全最有效、最可靠、最经济的手段。摘自《商用密码知识与政策干部读本》 P53

大家要坚信密码对我们业务系统是最简单的,最有效的保护方式。特别是要在业务流程中融入密码的技术去保护业务。

  对于初学者,我们自己可以模拟一些简单的样例,在没有使用密码情况下怎么保护机密性,完整行,真实性和不可否认性。对于这些特性有没有可以绕过这些特性的方式。比如使用sm3保护真实性为什么不可行的。尝试深度思考一下,在使用密码的情况下,怎么去绕过防护。

  除了并发量要求特别大的一些特殊系统外【如电商类】95%甚至99%以上的业务系统的性能,只要简单使用中间件和数据库本身的调优就可以解决。如果是初学者可以考虑再完全不使用任何框架的情况下怎么写一个简易的系统,再去使用框架去,经过深入思考,对于学习一项技术是非常有帮助的。

    我们之前在做,一些系统默认将用户量要求都在1千万以上,对于一些小的系统确实没有必要。在前端能控制的,不要透传的接口层,在接口层可以搞定的不要透传的服务层,分层控制,每个部分做好自己的事情。合理的分库分表再加上合理的索引,将历史数据从现网库分离,搞定用户十亿以下的业务系统没有什么问题。

   最近看到电商的秒杀业务,要求性能怎么样,这个本身就是一个伪命题,对此类业务,应首先考虑该在做业务的时候,重新使用密码方式现做真实性校验,一次认证一次性有效,一次认证使用多种方式重新校验使用者身份,保证是真实的人参与,这样很容易解决问题大并发问题。不从源头考虑,只靠技术去死扛意义不大。

   对密码杀伤力最大的其实不是破解的技术,是社会工程学,花费大量精力去破解,不如收买几个人更合适,这在东大目前的环境下,很多人都那么干,很多密码产品都是互相抄,各种OEM,所以我估算,东大的密码产品有20%是自己的知识产权就很好了。

 

密码技术应该怎么用第十五天_第1张图片

   信息安全在于流程而非产品。顺便说一下SDP不是一个产品,是一个框架,一些人乱搞成了一个产品的名字,真丢人!

  防御必须天衣无缝,攻击只需要突破一点。在拥有坚固的密码和认证机制的系统中,即便10000个用户里有9999个人的安全意识很高,只要剩下的1个人没有做好安全管理,那个人就会称为攻击者入侵系统的垫脚石。攻击者只要突破系统中最薄弱的一点就可以了!我们不能因为购买了安全产品就认为可以高枕无忧,必须让与系统相关的人员时常保持较高的安全意识才行!全面使用密码技术保护业务,把密码能力融入业务代码中是现实条件下最优的解决方案。

你可能感兴趣的:(算法,密码学)