统一的账号密码管理系统-信息安全课程设计

                                            统一的账号密码管理系统

摘  要

随着信息技术和网络技术的迅猛发展,因特网上的网站越来越多,用户可以浏览的信息也越来越丰富,但大多数网站都需要注册账号,并且要求设置相应的账号和密码。对用户来说,不同的网站注册需要设置不同的账号和密码,这会带来记忆上的不方便。而对网站来说,注册要认证用户,会带给网站很大的工作量,同时不法用户也容易伪造,会有很大的安全隐患。迫切需要一个可以用于各个网址的统一的帐户密码管理系统,使得各个网站可以核实用户的真实身份,并且用统一的账号登陆,获得实名效果。该系统涉及用户、网站和权威账号管理中心,权威账号管理中心可以核实用户的身份并日与用户共享密钥,网站通过权威账号管理中心直接认证用户身份,直接把该用户作为自己的网站用户,不需要用户注册,用户用自己唯一的账号和共享密钥与各个网站id合成的初始密码登录各个网站,网站不能推出用户的共享密钥,从而达到实名安全效果,方便用户和网站。

关键词:网络技术、用户、网站、权威账号管理中心、共享密钥、初始密码

1、前言

目前网上的各类网站越来越多,从而用户通过各个网站浏览的信息也越来越丰富,但大多数网站都需要用户在网站注册才可以使用网站的服务,并且要求用户设置相应的账号和密码。对用户来说,由于账号都是用户任意注册的,用户的常用账号可能已经被他人抢先注册,不得不设置许多不同的账号,而且为了保证密码安全性,也不得不设置不同的密码,要记住很多不同的账号和密码,这会带来记忆上的不方便。而对网站来说,若注册要认证用户,但是这种认证有时候就是用户随意输入自己的号码或提交一些证明材料等,会带给网站很大的工作量,同时不法用户也容易伪造,若注册不需要要用户提交注册信息,用户就可以自由注册,这会带来很大的安全隐患。所以迫切需要一个可以用于各个网址的统一的帐户密码管理系统,使得各个网站可以核实用户的真实身份,并且用统一的账号登陆,获得实名效果。

2、系统分析

2.1、任务分析

实现一个可以用于各个网址的统一的帐户密码系统,使得各个网站可以核实用户的真实身份,并且用统一的账号登陆,获得实名效果。该系统包含三方,用户、网站和权威账号管理中心,权威账号管理中心可以核实用户的身份并日与用户共享密钥,网站通过权威账号管理中心直接认证用户身份,直接把该用户作为自己的网站用户,不需要用户注册,用户用自己唯一的账号和共享密钥与各个网站id合成的初始密码登录各个网站,网站虽知道用户登陆的初始密码,但不能推出用户的共享密钥,从而达到实名安全效果,方便用户和网站。

2.2、功能分析

三端运行稳定,具有图形化用户界面,使用简便;可以运行在多个系统平台,具有良好的兼容性能;能独立运行在同一台计算机上或不同的计算机上,具有良好的灵活性。

具体功能:

(1)假设有一个权威账号管理中心,比如公安部之类的,能够核实用户的身份并且与用户共享密钥;

(2)各个网站可以利用权威中心提供的账号信息,直接认证用户身份并且将用户的身份直接激活为自己的用户;

(3)用户登陆各个网站的初始密码根据网站的id和用户与权威账号管理中心共享的密钥生成;

(4)用户无需在网站注册就可以核实用户身份;

(5)网站知道用户的密码不能反推权威账号管理中心与用户共享的密钥。可以通过hash函数来实现,即每一个网站有一个对应的id,通过权威账号管理中心与用户共享的密钥和id的hash值来生成初始密码。

2.3、理论分析

在统一的账号密码管理系统中,用户端、网站端和权威账号管理中心端之间的通信采用TCP/IP协议。TCP/IP协议的核心部分是传输层协议(TCP、UDP),网络层协议(IP)和物理接口层,这三层通常是在操作系统内核中设计。因此用户一般不涉及。TCP是面向连接的,通信双方保持一条通路,好比目前的电话线,使用telnet登陆 BBS,用的就是 TCP协议;UDP是无连接的,通信双方都不保持对方的状态,浏览器访问Internet时使用的HTT协议就是基于UDP协议的。编程时,编程界面有两种形式:一、由内核心直接提供的系统调用;二、使用以库函数方式提供的各种函数。前者为核内设计,后者为核外设计。用户服务要通过核外的应用程序才能设计,所以要使用套接字(socket)来设计。

2.4、客户端/服务器端模式

在统一的账号密码管理系统中采用C/S结构,其中用户和网站为客户端,权威账号管理中心为服务器端。C/S结构(Client/Server结构)是大家熟知的客户端和服务器端结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的 Web应用发展,Web和 Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件。因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。

2.5、套接字Socket

Socket是建立在传输层协议(主要是TCP和UDP)上的一种套接字规范,最初是由美国加州Berkley大学提出,它定义两台计算机间进行通信的规范(也是一种编程规范,如果说两台计算机是利用一个“通道”进行通信,那么这个“通道”的两端就是两个套接字。套接字屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了TCP协议软件和实现了套接字规范的计算机之间的通信成为可能。

Socket是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。

Socket 系统调用包括创建 Socket、将创建的 Socket 与本地端口绑定、 建立Socket 连接服务器、监听是否有连接、请求数据的可控缓冲发送和可控缓冲接收,到最后关闭 Socket。

服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束。图2-1为TCP服务端和TCP客户端通过Socket通信图。

                                                    图2-1 TCP服务端和TCP客户端通过Socket通信图

2.6、开发环境及开发语言

统一的账号密码管理系统基于Visual Studio开发环境,VS是Microsoft Visual Studio的简称。VS是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集ÿ

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值