前端传输加密的意义和实现

这篇具有很好参考价值的文章主要介绍了前端传输加密的意义和实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近因为做项目的原因,涉及到登录注册的密码安全问题,于是在网上搜了一圈,然后在知乎上看到一个很热的贴子。有说没意义的,也有说有意义的。

整体看下来,说无意义的,无非说是对于后端而言,前端直接发送明文密码,还是使用md5,decypt,sha等加密的密文密码,从数据层面来讲,都是『明文』,只要被劫持,就算是密文,也并不需要去破解,直接伪造请求,照样发送就好了。再加上,因为前端代码是运行在用户本地浏览器,什么加密算法都是用户可见的,混淆,散列,加密无非是增大这种可见的难道,根本上并没有解决问题。

说有意义的呢,更多说的是保护用户隐私,不至于明文在网络上传输,可以防止同密码跨站使用,不在后台日志明文记录,增加破解难度,防君子不防小人等等,总的来说,它的意义不在于鉴权。

但有一点好像是一致的,大体上两派都认为,前端加密传输在鉴权这块意义不大,而是应该通过https来做根本解决。

我在这也谈谈我实现思路。我们先假设一个前提,就是不管是https,还是http,数据在传输的过程中都有被劫持的可能。那我们要怎样去设计加密传输,从而保护用户的密码数据呢?或者说客观上只有http,没法上https,怎么最大可能去保护密码的安全性。

以下是实现过程,分为登录、注册和修改密码:

1,数据库里,我们以用户的username做为唯一键,密码使用最简单的md5(password)存储

2,用户登录时,待用户输入用户名后,前端带上这个username,请求后端的/user/login-salt接口。接口验证用户名存在后,生成一个临时的salt,保存到表里或缓存中,并设置一个较短的过期时间,然后返回给前端。

3,待用户输入完用户名和密码后,前端使用md5( md5( password ) + salt )将用户的密码加密,发送到后端的/user/login登录接口进行登录验证。如果验证成功,即表示登录成功,返回登录后的token,并删除这个临时的salt;如果验证失败,则生成一个新的salt替换,并返回给前端,用户重新输入,重新验证。

4,如果salt超时,直接跳过登录验证,重新生成替换并发送给前端。

5,以上即可以保证,每次发送的密码密文都是唯一的且只能使用一次,就算被劫持,拿到这个密码也无法再次登录。

6,上样的步骤,基本可以保证登录鉴权的安全性,但这里还是会有一个问题。那就是虽然登录解决了,但注册或修改密码是无法避免明文发送的,虽然注册、修改密码相对于登录操作要低频很多,但这仍是一个漏洞。我们怎么在这两个操作也使用密文呢?于是我想到了非对称加解密的RSA。

7,在注册和修改密码的时候,前端向后端申请一个公钥,或者直接通过config读取,利用公钥对用户的密码进行加密,传输到后端,后端使用私钥解密,得到明文密码,然后md5( password )保存到数据库即可。这样就算这个密文被劫持,它也无法直接拿去登录,再就是因为rsa的特性,就算劫持者拿到了公钥和密文,也基本无法算出密码的明文。从而可以保证密码在注册和修改时的安全性。

至此,基本上完成了在非安全网络环境下,用户密码的密文传输和实现。当然这的md5可以选用更可靠的sha替代,密码存储也可以使用固定salt+password的方式存储到库中,这些都是更细节的优化了,不在此文讨论。前端密码加密传输,web安全,服务器,php,安全,csrf,Powered by 金山文档文章来源地址https://www.toymoban.com/news/detail-677948.html

前端密码加密传输,web安全,服务器,php,安全,csrf,Powered by 金山文档
前端密码加密传输,web安全,服务器,php,安全,csrf,Powered by 金山文档
前端密码加密传输,web安全,服务器,php,安全,csrf,Powered by 金山文档

到了这里,关于前端传输加密的意义和实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端(二十一)——WebSocket:实现实时双向数据传输的Web通信协议

    🤨博主:小猫娃来啦 🤨文章核心: WebSocket:实现实时双向数据传输的Web通信协议 在当今互联网时代,实时通信已成为很多应用的需求。为了满足这种需求,WebSocket协议被设计出来。WebSocket是一种基于TCP议的全双工通信协议,通过WebSocket,Web应用程序可以与服务器建立持久

    2024年02月04日
    浏览(56)
  • 华为ENSP实现dns、web服务器传输本地数据并用wireshark抓包

    实验目的: 1.用客户机访问自己上传到web服务器的数据 2.通过ENSP设置web服务器和DNS服务器,客户机访问web的域名,通过域名解析从而访问数据 3.wireshark抓包验证试验的正确性 实验设备和环境:   实验过程及步骤:      此实验是搭建使用http协议,所以需要搭建一个wbe服务

    2024年02月03日
    浏览(32)
  • 区块链与加密货币在Web3中的融入及意义

    Web3是指下一代互联网,也被称为去中心化互联网。它的核心理念是建立一个去中心化的经济和社会系统,使得个人和社区能够更加自治和自主,而不依赖于中心化的机构和权力。  在Web3中,区块链和加密货币是非常重要的技术和概念。区块链是一种分布式数据库,它通过去

    2024年02月16日
    浏览(38)
  • 【前端面试】中大文件上传/下载:中等文件代理服务器放行+大文件切片传输+并发请求+localstorage实现断点续传

    目录 切片上传~spark-md5 原理:流式计算+分块处理 文件标识spark-md5:A-B A.切片哈希值合并 B.首尾切片+其他切片前中后各取2M 计算hash:A-B(参考React的Fiber架构) A.线程:web-worker B.空闲:requestIdleCallback 异步并发控制:A-B(参考http2的多路复用) A.promise.allSettled() B.并发数max=

    2024年02月12日
    浏览(40)
  • OceanBase安全审计之传输加密

    上一期我们讲了关于 OceanBase 安全审计的《身份鉴别》和《用户管理与访问控制》 两个部分,OceanBase 的安全机制介绍其支持传输加密,今天我们主要来实践一下如何配置传输加密以及验证是否真的加密。 作者:金长龙 爱可生测试工程师,负责 DMP 产品的测试工作。 作者:陈

    2024年02月10日
    浏览(32)
  • 【数据加密、解密】前后端数据传输的过程中,如何进行数据加密传输,保证数据的传输安全,防止被他人窃取

       前端进行参数传递的时候 ,有些数据为了安全起见还是需要加密传输的,比如用户密码,比如登录的时候,注册的时候,用户输入的密码,如果明文进行传输还是不太安全的,所以一般可以进行加密后传递到后端。 那么就有这几个问题: ·前端如何进行加密 ·后端如何进

    2024年02月07日
    浏览(39)
  • Linkerd 的数据加密与安全传输

    在现代互联网时代,数据的安全性和传输的隐私性已经成为了重要的问题。随着微服务架构的普及,服务之间的通信量和复杂性都增加了。因此,在这种情况下,如何确保数据的安全传输成为了关键问题。Linkerd 是一款开源的服务网格,它可以帮助我们实现数据的加密和安全

    2024年04月16日
    浏览(28)
  • vue前端对密码进行Rsa加密

    在信息技术发达的信息化世界,我们的敏感信息在各个平台都已进行注册使用。例如我们支付宝的支付密码、微信的支付密码、电子银行的登陆密码、我们的个人身份信息等等都会被不法分子利用。为了保障我们的身份不被暴露以及账户财产安全,研发人员使用了很多加密算

    2024年02月13日
    浏览(42)
  • SSL加密:保护数据传输的安全盾牌

    🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_ CSDN 博客专家、23年度博客之星前端领域TOP1 🕠 牛客 高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课 签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你

    2024年03月28日
    浏览(34)
  • 特高压导线的舞动检测仪中安全加密传输

    随着特高压电网的广泛兴建,输电线路的运行管理越来越复杂,导线舞动事故的发生也日益频繁。舞动常引起导线断股、断线、金具严重磨损、脱落、杆塔倾倒、线路跳闸等严重事故,容易造成电网大面积停电,给电网运行造成重大经济损失。为了及时掌握架空输电线路导线

    2024年04月26日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包