用户登录是任何一个应用系统的基本功能,特别是对于网上银行系统来说,用户登录的安全性尤为重要。如何设计一个网站的安全登录认证程序,是本文主要讨论的问题。
静态密码存在着比较多的安全隐患,攻击者有很多手段获得静态密码,管理密码也具有较高的成本,我在前文《中国网上银行系统安全性分析》中曾经论证过,使用硬件安全产品“动态密码锁”或者“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建设需要大量的资金和 人力才能完成,这里就不多介绍了。
相关推荐
- **增强安全性**:统一认证和鉴权,减少因多系统登录导致的安全隐患。 ### 2. 统一登录的Web实现 #### 2.1 Cookie与跨域问题 - **Cookie机制**:当用户访问网站时,浏览器会存储网站的域和会话ID,但默认情况下...
### 基于身份认证和RBAC_WEB技术的安全网站设计:深入解析 #### 一、引言 在当今数字化时代,网络安全成为企业运营的关键因素之一。随着社会经济网络化的不断深化,采用各种技术的信息网络日益普及,其中基于公钥...
MaxKey单点登录认证系统是一款专业且功能强大的...总之,MaxKey单点登录认证系统v3.5.19提供了全面的身份管理和安全认证功能,对于开发者、学生和IT专业人士来说,它是一个宝贵的资源,可以用来学习、研究或实际应用。
2. 电子商务网站安全监控:对电子商务网站中的用户计算机和网络访问行为进行监控和保护。 3. 政府机构网络安全监控:对政府机构网络中的用户计算机和网络访问行为进行监控和保护。 网络安全检测系统是一款重要的...
MySSL安全认证图标是一种常见的信任标志,它向访问者表明网站已经通过了SSL/TLS安全验证,数据传输过程是加密的,可以保护用户的隐私信息不被窃取。本文将详细介绍如何在网站上添加MySSL安全认证图标,并探讨相关...
通过设计和实现Web网站统一口令认证系统,不仅可以简化用户的认证流程,还能显著提高系统的安全性。该系统通过一次性的动态口令认证,使得用户能够方便地访问权限范围内的所有应用服务,同时通过采用先进的安全技术...
毕业设计、课程设计适用 HTML、css、js代码完整,图片... 全套模板,总共包括注册、登录、个人中心首页、实名认证、安全设置、购物车、意见投诉、自营店铺、我的购物券、店铺收藏等56个网站模板页面,可直接使用。
用户认证管理设计方案是确保系统安全性的重要组成部分,它涉及到用户、角色和权限的管理。在设计这样的系统时,首要目标是创建一个可扩展性强且易于维护的架构。以下是关于这一主题的详细阐述: 1. 用户管理:用户...
网站登录页面设计是用户体验的重要组成部分,它不仅是用户进入网站的入口,也是展示品牌形象的第一步。在设计一个好看且实用的登录界面时,有几个关键知识点需要考虑: 1. 用户友好性:登录界面应简洁明了,避免...
总结来说,单点登录详细设计的目标是构建一个高效、安全、易用的SSO系统,它能够简化用户在多个网站间的登录流程,提升用户体验,同时满足企业对系统性能、扩展性和安全性的要求。通过Passport服务器和成员网站的...
【网站单点登录详细设计】 单点登录(Single Sign-On,简称SSO)是一种现代企业级应用程序集成的重要技术,允许用户在一次登录后访问多个相互信任的系统,无需重复输入凭证。SSO的核心在于提供一个统一的身份认证...
《精通PKI网络安全认证技术与编程实现》是深入理解网络安全领域的重要教材,尤其在电子商务网站应用方面具有极高的实用价值。本资源包含了光盘源码的第五篇——ASP(Active Server Pages)相关的内容,旨在帮助读者...
网站认证源码是一个重要的安全机制,它涉及到网络应用的身份验证过程。这个压缩包"网站认证源码.rar"包含了实现这一过程的源代码,允许开发者深入理解并学习如何构建自己的网络认证系统。源码可能经过了他人的修改和...
【网络技术-网管软件-某房产交易网站安全机制的设计与实现】 摘要: 本文主要探讨了电子商务领域中,特别是房产交易网站的安全问题及其解决方案。随着电子商务的快速发展,它已成为企业和消费者不可或缺的交易方式...
这个毕业设计项目的核心目标是创建一个集中的在线平台,能够有效地分享网络安全相关的知识、资讯、预警和解决方案,同时对内容进行有效管理和控制。 **Apache服务器**:Apache是最广泛使用的Web服务器软件,它支持...
### iKey 1032实现WEB网站安全登录方案的核心知识点 #### 一、背景介绍与问题阐述 在当前互联网环境中,确保用户信息安全至关重要。传统WEB登录方式主要依赖于“用户名/口令”验证,这种方式虽然简单易用,但也存在...
#### Web网站安全隐患分析与安全设计原则 **一、Web网站安全隐患** 1. **网络体系**:来自互联网的DDoS(分布式拒绝服务)攻击是Web网站常见的威胁之一。尽管目前尚无有效的方法彻底防御DDoS攻击,但可以通过加强...