密码学-网站的安全登录认证设计

news/2024/5/10 2:00:49/文章来源:https://blog.csdn.net/weixin_30904593/article/details/95320528

用户登录是任何一个应用系统的基本功能,特别是对于网上银行系统来说,用户登录的安全性尤为重要。如何设计一个网站的安全登录认证程序,是本文主要讨论的问题。

  静态密码存在着比较多的安全隐患,攻击者有很多手段获得静态密码,管理密码也具有较高的成本,我在前文《中国网上银行系统安全性分析》中曾经论证过,使用硬件安全产品“动态密码锁”或者“USB Key”可以较好的解决这个问题,但是会带来加密锁的成本,在不增加硬件成本的情况下,我们也可以通过一些设计上的技巧和措施在一定程度上来保证登录者的身份。

  一、客户端和服务器端的安全

  客户端的安全,主要是用户密码本身的安全性(密码长度和复杂性等)以及用户电脑的安全性,包括用户电脑没有安装黑客木马软件,登录程序没有被第三方程序加载调试,用户录入框组织键盘Hook程序等等,通过一些代码即可解决。

   服务器端的安全,包括服务器自身的安全(系统漏洞等等)以及程序设计上的安全,我这里主要讲一下程序设计上的安全。最基本的问题是,用户的密码不应该直 接保存在服务器的数据库上,也不应该将密码用单钥算法加密后保存,最基本的认证方式是通过单向散列函数对密码进行认证。在《软件加密技术和注册机制》一文中介绍了一些单向散列函数可以实现简单的认证。目前大多数网站都使用MD5函数进行登录认证,不过我推荐使用安全性更高的SHA1散列函数来进行登录认证。

  二、网络传输上的安全

  目前的网络协议通过HTTP协议进行通讯,存在很大的安全隐患,黑客可以通过SNIFFER工具进行抓包分析网络数据包,因此用户名和密码的传输应该使用非明文的方式传输,这里就用到了“公开密钥密码”的概念。

  学过基本的“密码学”的人都应该知道“公开密钥算法(也叫非对称算法、双钥算法)”这个概念,即用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来。

  加密的传输过程分为两部分,一部分为身份认证,用户鉴别这个用户的真伪;另外一部分为数据加密,用于数据的保密。这两部分功能都需要用到非对称加密技术。

  首先是身份认证,通讯的数据可以这样进行处理,将用户的信息(用户名、密码等)用该用户的私钥进行加密,然后再进行传输,而在服务器端会保存此用户的公钥,用此用户的公钥对传过来的信息进行解密,就可以得到正确的明文,这样就完成了一次安全的网络通讯。

  通讯过程的示例如下图所示,Alice用自己的私钥对明文进行加密后传输到服务器,服务器上的用户(例如Bob)拥有很多用户的公钥,因此使用Alice的公钥对密文进行解密,如果密钥正确的话,就可以解密出明文,也就完成了对Alice的身份认证。

公钥认证过程

  然后是数据加密,数据加密和数据认证正好相反,使用接收方的公钥对数据进行加密,传输的过程中,即使数据被黑客截获,也无法使用这些密文,接收方收到密文后,用自己的私钥对密文进行解密,从而完成了一次数据的加密传输。

  通讯过程的示例如下图所示,Alice需要发给Bob一段加密的信息,因此Alice就用Bob的公钥对明文进行加密后传输给Bob,Bob收到信息后,使用自己的私钥对密文进行解密,就可以解密出明文,也就完成了对Alice的发来密文的解密过程。

公钥加密的过程

  目前的公开密钥算法主要有RSA和ECC,RSA是比较老的算法,基于大质数分解,速度较慢,ECC(椭圆曲线)是最新的公钥加密算法,基于离散对数计算,速度比RSA快,安全性据说更高一些。

   当然,上面的所说的技术只是最为基本的身份认证技术,只是适合一般网站应用,对于电子商务和银行来说需要更为复杂和权威的安全认证系统。目前比较流行的 是PKI技术。PKI(Public Key Infrastructure)是一种新的安全技术,它由公开密钥密码技术、数字证书、证书发放机构(CA)和关于公开密钥的安全策略等基本成分共同组成 的。PKI技术已经被广泛应用于电子政务和电子商务,被证明是保证基于互联网的电子政务和电子商务安全的最佳解决方案。完整的PKI建设需要大量的资金和 人力才能完成,这里就不多介绍了。

转自:http://www.williamlong.info/archives/823.html

转载于:https://www.cnblogs.com/JohnABC/p/4001412.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_794380.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最近跟踪网站,发现还是存在常规网络错误。

先在国内搜索相关问题,没找到特别合适的。 无可奈何之好再去国外的找。这回终于找到正解了。 错误:偶然才发生的错误,大概过了半个小时才会出现的。 错误的原因,大概在于,sql连接池的数据连接由于某些原因变成了bad co…

实现基于LNMP 的电子商务网站

一:准备工作 1.检查防火墙和SELinux是否关闭,如果二者不关闭,会严重影响实验。 关闭防火墙:iptables -F 临时清除 可靠关闭:systemctl stop firewalld 关闭selinux:setenforce 0 永久关闭:修改配置文件vim …

写个网站吧! --Flask+Vue.js+MySQL+Docker(1)--简介

最近花了一星期的时间按照前后端分离的模式写了一个单页面网站,内容没啥新意,就是个todolist, 实现的方法也是大家很熟悉的前端vue.js,后端flask-restful,数据库MySQL,部署方式选择的是流行的docker容器部署。 原本这…

写个网站吧! --Flask+Vue.js+MySQL+Docker(2)--前端

前序内容请观看:点这儿! 写个小站的业务可能大家也不是太关心,反而页面的实现效果是最关心的,这里我就先讲前端的部分。 先说说涉及到的技术栈,首先是Vue.js,作为现在最火的前端框架,不多说啥了&#xff…

写个网站吧! --Flask+Vue.js+MySQL+Docker(3)--后端

前情回顾:写个网站吧! --FlaskVue.jsMySQLDocker(1)--简介 总结:后端好像也没啥要讲的 先说说使用的技术栈: Flask,FLask-Restful,Flask-SQLalchemy, Flask-Cors, Python-dotenv,…

写个网站吧! --Flask+Vue.js+MySQL+Docker(4)--数据库

前情回顾: 写个网站吧! --FlaskVue.jsMySQLDocker(1)--简介 说第三篇写的少,那你还没看第四篇,没错这一篇更少,少到我都想贴几个之前写的mysql的链接来水过去。 老规矩说一下技术栈&#xff…

写个网站吧! --Flask+Vue.js+MySQL+Docker(5)--docker部署

前情回顾:写个网站吧! --FlaskVue.jsMySQLDocker(1)--简介 到了最烦人最烦人的部署阶段,先简单画一个我的思路的图: 思路就是两个docker容器,一个布置前端,一个布置后端&#xff0c…

常用论文检索网站

1、https://dx.doi.org/ DOI本身有很强大的检索网站,拥有非常完善的文献储存与检索系统,进入网站之后,在输入框中粘贴进DOI号,然后点击GO就会回到刚刚那篇论文的所在的网页。也就是说,在只知道DOI的情况下,…

个人博客网站的第一次修改

前言 今天讲博客网站的部分功能修改了一下,在这里记录下来,说不定以后看起来还有点意义。 数据 首先是数据层的修复。 根据分类获取到的文章列表并没有按照事件降序排列的BUG,这个之前没有注意,使用过程中才发现。 关于浏览量…

大型网站图片服务器架构的演进

在主流的Web站点中,图片往往是不可或缺的页面元素,尤其在大型网站中,几乎都将面临“海量图片资源”的存储、访问等相关技术问题。在针对图片服务器的架构扩展中,也会历经很多曲折甚至是血泪教训(尤其是早期规划不足&am…

网站Http升级至Https(基于Tomcat)

由于之前一直忙于服创比赛,然后就导致好久没写博客了。 现在服创结束也有十来天了,感觉不写点什么就对不起自己了。 于是乎,就写写将网站从http升级到https的过程吧。首先域名和服务器自然是必须的,大致流程分为以下几部&#xff…

35个立体动感的视差滚动效果网站作品

这篇文章收集了35个具有立体动感效果的视差滚动网页设计作品分享给大家。视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验。作为今年网页设计的热点趋势,越来…

30个优秀的网站导航设计案例分享

导航是网站最重要的组成部分之一,设计优秀的导航能够引导用户浏览网站中的更多内容。为了能让导航和网页内容完美的融合在一起,设计前需要设仔细分析网页结构。这篇文章收集了30个优秀的网站导航设计案例,希望这些实例能给你带来灵感。 Fully…

分享30个优秀的网站导航设计案例

导航是网站最重要的组成部分之一,设计优秀的导航能够引导用户浏览网站中的更多内容。为了能让导航和网页内容完美的融合在一起,设计前需要设仔细分析网页结构。这篇文章收集了30个优秀的网站导航设计案例,希望这些实例能给你带来灵感。 Fully…

网站出现 502 Bad Gateway 怎么解决?

为什么80%的码农都做不了架构师?>>> 打开某网站出现一个问题如下图(这里就不说是哪个网站了),那么下面就针对这个问题分享下解决思路。 1、什么是 502 badgateway 报错 ? 简单来说 502 是报错类型代码&…

《CSS网站布局实录》读书笔记

从Web标准、HTML标记、CSS语法基础介绍到实用技巧,事无巨细。实体书已不印刷,只能下载电子版 书的背景: 国内第一本web标准的CSS布局书,2006年9月第一版,作者李超。 环境背景: 当时主流浏览器IE6与Firefox&…

谁在使用我的网站——用户行为分析

谁在使用我的网站——用户行为分析 前面根据用户的特征对用户做了分类,设定了一些常用的用户指标和值得关注的用户指标,基于这些分类用户指标的分析可以发现用户运营和推广中的诸多问题,其中活跃用户和流失用户的定义中已经用到了与用户行为相…

如何选择合适的网站程序

如何选择合适的网站程序 对于大多数的新手站长,如果要自己建一个网站,一般都是从网上下载一些现成的网站程序代码。可是,这些新手对于选择哪种CMS程序往往比较困惑,不知道哪个好用一些。现在,我们就来说说如何选取合适…

后端小白的我,是如何成功搭建 express+mongodb 的简洁博客网站后端的

前言 blog-node 是采用了主流的前后端分离思想的,主里只讲 后端。 blog-node 项目是 node express mongodb 的进行开发的,项目已经开源,项目地址在 github 上。 效果请看 http://biaochenxuying.cn/main.html 1. 后端 1.1 已经实现功能 [x]…

Flickr 网站架构分析

Flickr.com 是网上最受欢迎的照片共享网站之一,还记得那位给Windows Vista拍摄壁纸的Hamad Darwish吗?他就是将照片上传到Flickr,后而被微软看中成为Vista壁纸御用摄影师。 Flickr.com 是最初由位于温哥华的Ludicorp公司开发设计并于2004年2月…