前端该知道些密码学和安全上的事儿
PKI(Public Key Infrastructure)是一个用非对称密码算法原理和技术来实现并提供安全服务的具有通用性的安全基础设施,是一种遵循标准的利用公钥加密技术为网上电子商务、电子政务的开展,提供一整套安全的基础平台。PKI,公钥基础设施,顾名思义,PKI技术就是利用公钥理论和技术建立的提供网络信息安全服务的基础设施。PKI管理平台能够为网络中所有需要采用加密和数字签名等密码服务的用户提供所需的密钥和证书管理,用户可以利用PKI平台提供的安全服务进行安全通信。 安全 前端的安全性问题大体上都可归结为 浏览器安全问题,Node.js 可以归纳为另外一个领域。浏览器安全问题 又可以细分出来很多问题,比较常见的如:XSS,CSRF,这些问题看似离我们很远,因为目前我们使用的框架基本上辅助我们已经处理了这些问题,但是整个 Web 世界中还有更多更多我们还未触及的问题(对于此我也是一个小白),比如:HTTPS 与中间人攻击,定制浏览器的扩展和插件漏洞,目前我主要关注的点在 定制浏览器的扩展和插件漏洞 这一块,这个事情因为和我在处理的问题息息相关,但又和传统的 Web 安全问题有了显著的区别:
归纳起来对于权限的授权,我们应该只申请本插件只使用的 API ,千万不可使用 * 或all_url 的形式,对于 CS 被劫持的问题,可以给网页注入的内容添加一个哈希运算,比如前面我们用到的单向散列函数来进行计算。 安全是一个特别综合性的体系,单一的前端技能可能在这上面能发挥的认知会比较有限,这里的认知 意味着同样的一件事情,安全工程师能从这里了解到前前后后可能出现的问题。 举个例子:我们都知道 location 可以获取 URL 上的各种参数,其实如果黑客利用URL中的某些关键信息伪造了一个钓鱼网站,用户是极容易中奖的。 另外一个典型的 CSRF 问题,有着比较复杂的流程,但是它利用的还是浏览器中处理 cookie 的机制:
a.com 以受害者的名义执行了xxx=123 当然解决这个安全问题,业界已经为我们总结了很多方案,比如 同源检测,Origin Header等等。不过,大体上前端的安全性我们能注重一些常见问题,基本上能涵盖80%以上的问题。 对于安全问题,业界大佬推荐使用 https://msdn.microsoft.com/zh-cn/magazine/dd347831.aspx?f=255&MSPPError=-2147217396 来创建威胁模型,被归纳为STRIDE 威胁建模,它分为如下六个纬度:
大体上这六个纬度就已经涵盖了几乎所有的安全性问题。那么对于前端的项目,我们可以从这六个纬度中去评估自己的项目而得到答案。 隐私和广而告之 谈及隐私是因为如今越演越烈的隐私泄露,大数据等技术的成熟度将一个人的画像描绘的越来越清晰,数据几乎就是“钱”的代名词。 可是对于前端而言(Web世界里),隐私的泄露和 `Cookie` `localStorage` 息息相关。如今的 Web 世界里被追踪的脚本大多数是用 Cookie 来实现的,简单的来说多数网站的登录持久化基本上都依赖于存储在你设备上的 Cookie,而对于广告平台的第三方 Cookie 除了隐私问题外,很有可能还有 `安全性` 的问题,如果这个脚本被劫持了的话,但大多数浏览器都默认提供了屏蔽第三方 Cookie,后来大家想到的是通过 `localStorage` 的方案去绕过被屏蔽的第三方 Cookie,这种越演越烈的广告脚本追踪,几乎就是你浏览网页在 Web 的世界里被泄露隐私的来源之一。 有时候真的很想要一个不被追踪而又能搜索数据的搜索引擎,但久久不可询,`隐私` 真是一个可爱可恨的事情,除非有人能去做这样的事情。正好 https://mijisou.com 秘迹搜是一个真正可以保护你个人隐私的网络搜索服务,它不会记录任何你的查询关键字,也从不存储你的个人信息,不传播你的任何信息,真正做到搜索不留痕,摆脱你不想要的定向广告的骚扰和可能的隐私泄露,它完美的符合了我的预期。 【编辑推荐】
点赞 0 (编辑:核心网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |