密码设计与管理技巧

2024-09-19

密码设计与管理技巧(精选7篇)

密码设计与管理技巧 篇1

一、引言

随着国民经济信息化的高速发展, 通信系统正朝着大型化、复杂化的方向快速演进, 通信系统中的网络设备数量也迅速增加。由于通信系统中网络设备的密码权限、密码种类很多, 一个网络设备都可能有多种类型的权限, 相应的也可能有多个密码;这些密码有些是由维护厂家管理使用, 有些是由运营商网络设备维护中心管理人员使用, 直接导致设备密码管理分散;有些密码从来都没有修改过, 一直使用设备初始默认密码, 有的设备密码甚至多人都掌握。因此, 如不能进行网络设备密码的及时更新, 将导致整个网络无法规范管理, 直接影响网络设备甚至整个通信系统的安全。

现有的网络设备管理协议 (Simple Network Management Protocol, SNMP) 目前Internet中应用最广的一个网络管理协议, 在网络设备管理中得到了广泛的应用。但在具体网络管理中, SNMP仍然主要存在以下一些问题:

1、随着网络的不断壮大, 每个设备厂商在定义了公有MIB库的同时, 也定义了自己私有的MIB库, 这样就使得使得SNMP协议不能以统一的数据格式保存代理端设备的所有信息。

2、使用SNMP协议采集的内容只能针对其MIB库里的内容, 其采集方式的灵活度不够。

为此, 我们利用Telnet协议远程登陆并能够与主机的Shell进程进行交互, 技术实现简洁、灵活的特点, 实现通信系统中大量网络设备密码的批量更新管理。

二、Telnet协议简介

1、协议原理介绍

Telnet协议的全称为电信网络协议 (Telecommunication network) 。其目的是:提供一个相对通用的、双向的、面向八位字节的通信机制。它的主要目标是允许界面终端设备和面向终端的过程能通过一个标准过程进行互相交互。

2、Telnet连接过程介绍

用程序实现Telnet过程应该包含下面四个步骤:

(1) 首先建立一个TCP连接, 此时应该知道远程机的IP地址;

(2) 将登陆远程主机的用户名、密码以及后续需要的指令以NVT (网络虚拟终端) 的格式发送给对方;

(3) 将远程主机以NVT格式发送回来的数据报传送回本地机;

(4) 撤销此次TCP连接;

3、Telnet指令及代码

表1是已经定义的Telnet指令及代码, 需要说明的是这些代码和代码序列只

有在前面跟有一个IAC时才有意义。

三、Telnet的程序实现 (Java代码)

1、建立socket连接

2、定义协商过程命令和状态标志

3、定义输入输出流

4、定义双方协商过程

5、定义处理收到的消息子选项过程

6、处理从对方接收到的DO、DONT、WILL、WONT中的一种

四、网络设备批量密码管理实现

密码管理过程主要是指首先用数据库中记载的旧密码登陆到设备上, 然后将新产生的八位数随机数作为设备新密码, 并修改数据库中的密码表。这样就完成了一次完整的设备密码修改操作。下面介绍每个步骤的实现过程:

1、利用上面介绍的Telnet方法远程登陆到目的主机上, 此时需要用户名、密码、ip地址、端口号信息, 这些信息可以预先写在数据库中, 需要的时候从表中取出来即可。

2、八位密码生成

3、把设备类型的一层、二层密码修改指令封装成数据流发送到目的网络设备上。

这里我把指令预先存放在数据库的密码表中, 然后根据设备的ip找到相应的密码元素, 然后用取到的旧密码登入到设备中。

4、新密码修改成功后, 将新密码保存在数据库里

五、结论

Telnet支持远程登陆并能够与主机的Shell进程进行交互。本文对Telnet原理和程序实现进行了介绍, 并对以Telnet协议为基础的网络设备批量密码管理系统的实现进行了介绍, 相对于一般的SNMP实现方式, 本方案更简洁、灵活。

摘要:Telnet协议支持远程登陆并能够与主机的Shell进程进行交互, 本文以Telnet协议为基础, 介绍了网络设备密码管理系统的设计与实现。

关键词:Telnet,网络,密码,管理

密码设计与管理技巧 篇2

当前最著名、应用最广泛的公钥系统RSA是在1978年在题为《获得数字签名和公开钥密码系统的方法》的论文中提出的。它是一个基于数论的非对称(公开钥)密码体制,是一种分组密码体制。它的安全性是基于大整数素因子分解的困难性,而大整数因子分解问题是数学上的著名难题,至今没有有效的方法予以解决,因此可以确保RSA算法的安全性[2]。RSA系统是公钥系统的最具有典型意义的方法,大多数使用公钥密码进行加密和数字签名的产品和标准使用的都是RSA算法。

2 RSA公钥密码体制简介

2.1 密码体制概述与RSA算法

2.1.1 对称密码体制

对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。因为加解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥泄密出去,这样就可以实现数据的机密性和完整性。比较典型的算法有DES(Data Encryption Standard数据加密标准)算法及其变形Triple DES(三重DES),GDES(广义DES);欧洲的IDEA;日本的FEAL N、RC5等。对称密码算法的优点是计算开销小,加密速度快,是目前用于信息加密的主要算法。它的局限性在于它存在着通信的双方之间确保密钥安全交换的问题。另外,由于对称加密系统仅能用于对数据进行加解密处理,提供数据的机密性,不能用于数字签名。因而人们迫切需要寻找新的密码体制。

2.1.2 非对称密码体制

非对称密码体制也叫公钥加密技术,该技术就是针对私钥密码体制的缺陷被提出来的。在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥(公开密钥)向公众公开,谁都可以使用,解密密钥(秘密密钥)只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,顾其可称为公钥密码体制。最有影响的公钥密码算法是RSA,它能抵抗到目前为止已知的所有密码攻击。

RSA算法是第一个既能用于数据加密也能用于数字签名的算法,算法的名字以发明者的名字命名。RSA算法的安全性依赖于大数分解问题的难解性。算法中使用的公钥和私钥都是两个大素数(大于100个十进制位)的函数。据猜测,从一个密钥和密文推断出明文的难度等同于分解两个大素数的积[3]。

RSA算法在ISAKMP/Oakley框架中被用做一种可能的身份认证方式。Diffie-Hellman密钥交换算法是ISAKMPIOakley框架的一个关键组成部分。在一个密钥协商会话的开始阶段通信参与方通过使用Diffe-Hellman算法产生双方共享的密钥,这些密钥将被用于密钥协商协议的后续步骤。

在实际应用中,人们通常将对称密钥算法和公钥密码算法结合在一起使用,以实现最佳性能。即使用某个对称密钥密码体制来加密需传递的机要信息,而同时使用RSA等非对称密钥密码体制来传送DES的密钥。这样就可以综合发挥两种密码体制的优势,即DES高速简便性和RSA密钥管理的方便和安全性。

2.2 RSA体制的算法过程

RSA密码体制使用了模n的非负最小完全剩余系中的运算,这里n是两个不同的素数p和q的乘积[3]。RSA体制的算法过程如下:

首先产生密钥,过程如下:

1)随机产生两个长度为K/2位的素数P和Q。

2)计算公钥public Key=P*Q;(public Key是k位的长度)。

3)随机产生一个加密密钥key E,2<=key E<=Φ(n)-1,其中GCD(key E,Φ(n))=1。

注意这是保证解密密钥key E×key D mod(Φ)(n)=1有解的充要条件,Φ(n)称为n的欧拉函数,值为:Φ(n)=(P-1)*(Q-1)。

4)求解解密密钥key D=key E-1 mod(n),key E-1为解密密钥key D的逆元,此公式原方程为(key E×key D mod(n)=1)。

由此公钥,加密密钥和解密密钥全部产生。

其次,对明文加密或对密文进行解密,过程如下:

1)加密:C=Mkey E mod public Key;其中M表示明文,C表示密文。

2)解密:M=Ckey D mod public Key;其中M表示明文,C表示密文。

2.3 RSA体制的实现

RSA密码体制的实现是一个比较复杂的过程,它涉及到素数的产生、大整数模运算等数学运算。RSA体制中,p、q均为大的素数,如何有效地产生大素数将是实现RSA体制所需解决的第一个问题。

通常情况下,人们使用一种概率算法来产生大素数。这是因为p、q都是大素数,如果使用因子分解的办法来求素数p、q,这样的难度与对RSA进行攻击(既分解大合数)实际上是相同的,在计算机是可行的。

概率算法的工作过程一般并不着眼于产生素数,而是首先随机地产生一个大奇数,然后使用概率性算法判定该奇数是否为素数(这样的过程一般称为素性检测)。

2.4 RSA公钥密码体制的优势[4]

1)机密性(Confidentiality):保证非授权人员不能非法获取信息,通过数据加密来实现;

2)确认(Authentication):保证对方属于所声称的实体,通过数字签名来实现;

3)数据完整性(Data integrity):保证信息内容不被篡改,入侵者不可能用假消息代替合法消息,通过数字签名来实现;

4)不可抵赖性(Nonrepudiation):发送者不可能事后否认他发送过消息,消息的接受者可以向中立的第三方证实所指的发送者确实发出了消息,通过数字签名来实现。

可见公钥密码体制系统能够满足网络信息安全的所有主要目标。

3 在ASP.NET中实现RSA加密解密的主要方法[5]

在.Net Framework中提供常用的加密算法类中,支持RSA相关的类主要有两个:RSA类和RSACrypto Service Provider类。RSA类是“表示RSA算法的所有实现均从中继承的基类”,而RSACrypto Service Provider类是“使用加密服务提供程序(CSP)提供的RSA算法的实现执行不对称加密和解密”。另外,“表示RSA算法的标准参数”的RSAParameters结构也是很重要的,它保存了RSA算法的参数。

RSA参数的产生:RSA参数的类型就是上面提到的RSAParameters结构,其包含了D、DP、DQ、Exponent、Inverse Q、Modulus、P、Q八个字段。加密时仅需要Exponent和Modulus两个值,可看成公钥。解密时所有字段都需要,可看成私钥。下面这段程序显示了如何产生RSA两个参数:

RSACrypto Service Provider rsa=new RSACrypto Service Provider();

RSAParameters rsa Params Exclude Private=rsa.Export Parameters(false);

RSAParameters rsa Params Include Private=rsa.Export Parameters(true);

RSACrypto Service Provider类的Export Parameters(bool)方法用于导出RSA参数,true表示导出上述八个字段的“私钥”,false表示导出“公钥”。

使用RSA参数进行加密解密:这一步需要把上面两个参数导入到RSACrypto Service Provider类对象中,再用它对数据进行加密。如下面的代码所示,我们可以写一个函数来完成加密过程:

解密时只要把rsa.Import Parameters(rsa Params Exclude Private)换成rsa.Export Parameters(rsa Params Exclude Private),再把Encrypt换成Decrypt就行了。

保存和加载RSA参数:RSA参数可以保存为XML格式,下面代码说明了如何保存和加载(只列出了关键部分)

保存:

4 结论

RSA公开密钥加密算法发展至今,在电子安全领域的各方面已经形成了较为完备的国际规范。RSA作为最重要的公开密钥算法,在各领域的应用广泛。本文详细论述了RSA公钥体制的算法、安全性以及应用优势,以及利用当前常用的ASP.NET技术,简述设计实现对传输文件的RSA加密解密过程。

摘要:针对当前互联网常用密码安全技术——RSA公钥密码体制,该文简述了其算法原理、优势、安全性,并通过ASP.NET语言设计实现RSA加密解密。

关键词:互联网,RSA加密,解密,ASP.NET

参考文献

[1]杨义先,纽心忻,李名选.网络信息安全与保密[M].北京:北京邮电大学出版社,2001.

[2]辛运炜.密码学算法[M].北京:电子工业出版社,1998.

[3]Douglas R.Stinson.密码学原理与实践[M].北京:电子工业出版社,2003:131-132.

[4]安全技术——RSA公钥密码体制安全性分析.http://jxzhoumin.javaeye.com/blog/196011.

高安全级电子密码锁的设计与研究 篇3

与传统的机械锁相比,电子锁具有使用方便、 工作安全可靠、保密性强等特点。4位密码的电子锁在上世纪80年代风靡国外,成为当时人们生活中的新颖时尚品。90年代初,国外又推出采用12位密码的TWH9013专用保密锁集成电路,广泛用于汽车门锁[1]。目前,电子锁的密码普遍只能输入0~9数字[2,3,4],单纯数字组成的密码组合较少,容易破解,在一些特殊场合难以满足高安全性的需求。针对这一问题, 文章研究与设计了一种可输入由数字、大写字母和小写字母组合的电子密码锁。

1系统整体方案设计

电子密码锁由键盘输入、微处理器和电磁锁组成。 当主控芯片STC90C51检测到键盘输入,微处理器根据设计的程序并通过信息提示来执行修改密码和开锁功能。在执行功能模块之前,需要进行身份初识别。当输入正确的身份识别密码后才能执行修改密码和开锁功能。需要开锁时,输入开锁密码,若正确, 电磁锁打开。为了防止误操作,还需要进行随机验证码的验证才能修改密码,密码的修改包括身份识别密码和开锁密码两种,修改后的密码存储在系统外部存储器EEPROM中。上述两阶段密码的输入, 各自只有三次错误机会,产生三次错误系统将报警。 系统整体方案设计如图1所示。

2硬件电路设计

字母和数字组合的电子密码锁选用STC90C51单片机作为主控芯片,STC90C51单片机是宏晶科技推出的超强抗干扰高速低功耗的一款单片机。它具有35个通用I/O口、3个16位定时器/计数器、4路外部中断、独立看门狗等特性。由于该型号单片机片上集成内存大小满足不了存储需求,故外接程序存储器AT24C02。外围电路由电源电路、晶振电路、键盘驱动电路、LCD显示电路、报警电路、开锁电路组成。

2.1电源电路

电源电路是整个外设电路的动力来源。STC90C51芯片所需驱动电压为3.3~5.5V,LCD1602液晶驱动电压为4.5~5V,蜂鸣器驱动电压在1.5~15V,在正常供电的情况下用220V转5V电源模块为外设电路提供驱动电压。为了避免断电等突发事件对使用的影响, 备用了7.2V转5V的电源模块。

2.2晶振电路

晶振电路为智能电子密码锁主要模块提供基本的时钟信号。晶振电路产生时钟信号,是为了保证处理器工作按一定时序进行,单片机XIAL1管脚和XIAL2管脚分别接22pF的电容,中间再并一个12MHz的晶振,形成单片机的晶振电路。

2.3键盘驱动电路

键盘驱动的工作原理利用二维数组的定义,当外设管脚传递的一个字节数据的高四位全部输出高电平,低四位输出低电平,通过接收的数据值判断按键S的行号X。然后再反过来,高四位输出低电平, 低四位输出高电平,根据接收到的数据判断按键S的列号Y,(X,Y)即为按键S的物理位置。

2.4 LCD显示电路

LCD显示实现一个很好的人机交互功能,用户在实际操作过程中,LCD1602液晶立刻显示当前的状态并提示下一步操作。

2.5提示音和报警电路

提示音和报警电路主要采用一个蜂鸣器,用户在按键操作时,所有有效按键,蜂鸣器将响起一次清脆的“嘀”声;若密码输入错误,蜂鸣器将大声的“ 嘟嘟嘟”响个不停,待安保工作人员来处理。

2.6开锁电路

开锁电路由电子锁专用集成电路ASIC和电磁锁组成。如果用户密码输入正确,则电磁锁被打开, 表示开锁成功。

3软件设计

为了提高普通电子密码锁的安全系数,文章设计的高安全级电子密码锁将普通电子锁的输入键盘调整为4×4矩阵按键,共16个按键。包括10个数字输入按键0~9,1个功能键,1个*键,1个#键,1个Cancel键,1个Exit键,1个Enter键。功能键即为Mode键,Mode键的功能是实现输入按键数字、大写字母、小写字母三种模式的切换,当输入的密码为0~9的数字时,不需按Mode键,直接按对应的数字键;当输入的是大写字母A~J时,需按一下Mode键,即为大写字母输入模式,再按对应的字母键, 之后输入按键自动恢复数字模式;当输入的是小写字母a~j时,需按两下Mode键,即为小写字母输入模式,再按对应的字母键,之后输入按键自动恢复数字模式。*键和#键在开锁和修改密码、修改识别密码和修改个人密码的功能二选一时使用,Cancel键删除错误字符,Exit键实现返回、退出功能, Enter键在输入完毕一串字符后起确认作用。其他按键操作与普通电子锁相同。图2为输入键盘。

本文设计的电子密码锁在软件上主要完成三大功能:身份初识别、开锁、修改密码。软件采用C语言编程,开发环境为keil uvision4。软件设计流程图如图3所示。

3.1身份初识别

身份初识别设计的目的是为了提高智能电子密码锁的安全系数,只有通过身份初识别后才能进行开锁或修改密码功能,身份识别密码是由字母和数字组合的6位普通密码。 电子锁复位上电后, LCD1602界面提示用户输入密码,用户输入若与设定的身份识别密码一致,进入开锁和密码修改模式的选择,LCD1602给出相应的提示。如果用户输入的密码错误,LCD1602显示“Try again”,以提示用户再次输入,若错误次数累积三次,系统将发出“嘟嘟嘟”报警。

3.2修改密码

修改密码功能模块包括修改开锁密码和身份识别密码。当用户选择修改密码功能时,为了防止误操作,首先需要输入由系统随机分配的6位字母和数字组合的验证码,若输入正确,则LCD1602提示选择修改开锁密码还是身份识别密码;若不正确则系统将刷新随机验证码并提示用户再次输入,每连续三次错误将“锁死”1分钟,然后再继续输入验证码直到正确为止。进入修改密码模式后,用户可选择修改开锁密码或修改身份识别密码。两种密码的修改步骤相同, 都是先输入旧密码, 若正确则在LCD1602提示下输入两次新密码,两次新密码输入相同则密码修改成功,否则,需要重新进行上述步骤,直至密码修改成功。

3.3开锁

开锁模块是在用户需要开锁时,系统在通过身份初识别后选择进入此功能,LCD1602提示输入密码,若正确,电磁锁打开,若否,则不打开, LCD1602提示重新输入密码,输入错误累积三次系统将“嘟嘟嘟”报警。

4结束语

密码设计与管理技巧 篇4

针对序列密码算法运算操作位宽不同的特点,抽取与插入操作能够从移位寄存器状态中快速提取出有效状态位来参与后续密码运算,解决了位宽不同的问题,从而降低了资源消耗并提高了运算速度。例如密钥流的生成、复杂更新函数计算等都运用到这种操作。所以对抽取与插入单元的基本原理与实现功能的研究,对提高序列密码处理速度和节约序列密码算法芯片资源具有重要的意义。

1 序列密码算法中抽取与插入单元操作

序列密码算法主要由移位寄存器、反馈函数运算单元和密钥流函数运算单元构成,其中反馈函数运算单元用于计算移位寄存器的更新值,密钥流函数运算单元用于计算最终的密钥流。不论是反馈函数的计算还是密钥流生成函数的运算都需要将参与运算的一个或多个移位寄存器的有效状态位提取出来继续完成运算。参与运算的一个或多个移位寄存器的有效状态位提取出来的操作称为抽取与插入操作。

抽取操作过程可以用图1(a)描述:根据预先产生的控制信息序列Ctr对受控序列In进行操作。控制信息序列Ctr中为“1”的控制位对应的受控数据依次排在Ou的右侧,其余为“0”的控制位对应受控数据依次排在Ou的左侧,这样能够实现有效状态位和无效状态位的分离。序列密码算法实现过程中,有时需要将抽取操作结果的每一位都保存下来,并且能够在有效位运算完成后再将其插入到原始的位置上去[3]。插入操作过程可以用图1(b)描述:当插入单元与抽取单元控制信息序列Ctr相同时,插入单元操作能够将抽取单元操作的有效状态位还原,也就是说抽取与插入单元的操作是可逆的。

在对NESSIE工程、ECRYPT工程[4]中的序列密码算法分析后,三十多种算法的运算环节包含了抽取单元操作,虽然单元操作对应的初始信息位宽相对比较复杂,但是多数序列密码算法操作位宽都可以归为32 bit、64 bit、128 bit、256 bit四种位宽以内。例如A5-1算法中LFSR级数为19时,运用抽取操作将参加下轮运算的第19、18、17、14这四个有效位比特抽取出来,然后进行后续操作,其余算法在这里不再赘述。表1中列出了9种序列密码算法中密钥流生成函数和反馈函数的运算情况,包括变量个数和对应源操作数据的位宽,可以得出抽取操作的源操作数位宽和目的操作数位宽。

2 抽取与插入单元的可重构硬件电路总体架构

可重构抽取与插入单元硬件电路架构包括inverse butterfly网络的抽取与插入基本单元电路和inverse butterfly网络的控制信息生成电路[5]。inverse butterfly网络的控制信息生成电路能够同时控制inverse butterfly网络的抽取与插入基本单元电路。对于初始信息位宽长度为nbit的抽取与插入单元操作,基本单元电路由级inverse butterfly网络构成,每级网络需要n/2 bit控制信息,一共需要nlogn/2 bit的控制信息并且由nbit的初始信息通过控制信息生成电路生成。

例如初始信息位宽为256 bit的抽取与插入单元操作中,对应的单元基本电路由8级inverse butterfly网络构成,共需要1 024 bit控制信息。当两个单元初始控制信息相同时,控制信息生成电路生成的控制信息有以下关系:抽取基本单元电路的第1级控制信息与插入基本单元电路的第8级控制信息相同,需要将抽取单元的各级电路生成信息还原为各自对应输入信息时,能够利用插入单元的特点:在控制信息相同的情况下,可以将抽取单元各级的生成信息作为插入单元的输入信息来实现。由此得到抽取与插入单元电路的实现是一个可逆的过程。

3 可重构控制信息生成电路

3.1 控制信息的生成算法

通过对benes、butterfl、inverse butterfly、banyan以及clos等多种网络结构的分析和研究得知,抽取与插入单元运用了inverse butterfly网络控制信息生成算法[6]。nbi初始信息对应的inverse butterfly网络需要nlogn/2 bit控制信息,这些信息均由nbit初始信息译码生成,控制信息算法[6]如下:

(1)计算初始控制信息抽头

(2)计算inverse butterfly网络控制信息生成算法

其中:

(1)LROTC(a,rot)表示左循环取反填充,a是输入,ro是左循环次数。

(2)0k代表长度为k的“0”比特串。

(3)PPC[a]代表从原始控制信息的第0抽头到第a抽头的1的个数。

(4)i表示inverse butterfly网络的第i级。

(5)k表示第i级中每个子单元需要的控制信息位数,也表示每个子单元中处在右侧部分的输入位数。

3.2 控制信息生成连加电路算法设计

针对控制信息生成电路位宽多变的特点,连加比特电路有多种实现模式。在处理连加电路时,提出了相邻比特两两相加以减少电路寄存器数目的操作,大幅度减小了电路设计面积并且提高了电路运行效率。以8 bit十进制连加电路为例,(其中a0~7表示8 bit连加电路初始信息位宽,b1~4表示连加电路相邻2 bit相加信息位宽,U1~8表示连加电路结果信息位宽)如图2所示。

根据电路图所示有以下关系公式:

假设Um表示m比特连加电路运算,并且U0=b0,因而可以得到:

通过(1)、(2)两个公式可以极大地节省连加电路的运算时间,而且降低了寄存器对功耗的影响。提高了整体运算电路的运算速度。

4 基于inverse butterfly网络的可重构抽取与插入操作基本单元

抽取与插入单元是序列密码算法实现高效性和灵活性的核心模块。基于inverse butterfly网络提出了抽取与插入操作基本单元,且nbit的操作数位宽对应inverse butterfly网络共有logn级,抽取操作基本单元的特点是级数由上到下逐级增大,并且在第i级中,共有n/2i个子单元,每个子单元输入数据位宽为2i bit。对于每级中的子单元,左右单元各占一半的输入,左右部分的位宽均为2i-1 bit,而且每个子单元都需要2i-1 bit的控制信息。

图3所示抽取操作基本单元位宽为16 bit的4级inverse butterfly网络[7],第一级有8个子单元,每个子单元对应2 bit数据输入和1 bit控制信息;第二级有4个单元,每个子单元对应4 bit数据输入和2 bit控制信息;第三级有2个单元,每个子单元对应8 bit数据输入和4 bit控制信息;第四级有1个单元,单元对应16 bit数据输入和8 bit控制信息。

插入单元的nbit操作数位宽对应的inverse butterfly网络和抽取单元同样有logn级。综上所述,当两个单元控制信息相同时,抽取与插入基本单元的实现过程是可逆的,插入操作运算能够将抽取操作运算结果还原为初始数据信息。图4为插入基本单元位宽为16 bit的4级inverse butterfly网络,可知第一级有1个子单元,子单元对应16 bit数据输入和8 bit控制信息;第二级有2个单元,每个子单元对应8 bit数据输入和4 bit控制信息;第三级有4个单元,每个子单元对应4 bit数据输入和2bit控制信息;第四级有8个子单元,每个子单元对应2bit数据输入和1 bit控制信息。由此可以得到位宽为256 bit的8级inverse butterfly网络,在此不再赘述。

5 性能分析

本文提出的设计采用Verilog语言描述,在Quartus9.0环境下编译,选用Altera StratixIII系列器件的EP3SL340F1760C4为目标器件进行了综合,表2给出抽取和插入单元加载到FPGA中的时钟频率和资源占用情况。另外本设计使用NC-Verilog对批量数据进行了仿真测试,验证结果均正确。基于CMOS 0.13μm工艺库,在Synopsys公司的Design Compiler上进行了逻辑综合、优化。结果如表3所示。

综上所述,本文基于抽取和插入单元的基本原理,提出并实现了可重构硬件电路,在保证单元运算灵活性和准确性的同时,有效降低了功耗,并且满足了不同位宽序列密码的操作要求。通过在FPGA上验证,抽取与插入单元的设计结果正确、高效。能够满足多种对称密码算法的实现需求,同时为可重构密码芯片的设计和运用奠定了良好的基础。

摘要:研究了抽取与插入单元的基本原理,提出了一种可重构的抽取与插入硬件电路,并对核心模块控制信息生成电路进行了深入研究。可重构硬件电路通过配置能够灵活高效地实现32 bit、64 bit、128 bit、256 bit等位宽抽取与插入操作。该设计在Altera公司的FPGA上进行了功能验证,并在Synopsys公司的Design Compiler上进行了逻辑综合、优化。结果表明,在CMOS 0.13μm工艺下,可重构移位单元硬件架构核心频率可以达到350 MHz。

关键词:抽取,插入,可重构,控制信息生成

参考文献

[1]Luo Qibin,Zhang Jian,Status Quo.Development of streamcipher.Information And Electronic Engineering,2007,1(2).

[2]ADAM J E.Reconfigurable computing for Symmetric-Key[D].2002.

[3]Shi Zhijie,Ruby B L.Subword sorting with versatile per-muta-tion instructions.Proceedings of the International Con-ference on Com-puter Design(ICCD 2002),2002(9):234-241.

[4]Liu Yunyi,Qin Tuanfa,Ni Wansun,et al.The brief evalua-tions of the candidates to the ECRYPT stream ciphers.Information Securityand Communication Secrecy,2006,7.

[5]LEE R B,RIVEST R.L,ROBSHAW M.J.B,et al.On per-mutation operations in cipher design.Proceedings of the In-ternational Conference on Information Technology(ITCC),2004,2(4):569-577.

[6]SHI Z J,Ruby B.L.Implementation complexity of bitpermutation instructions department of electrical engineering.Princeton University,Princeton,NJ 08544 USA,2003.

密码设计与管理技巧 篇5

网络技术、计算机技术和信息技术的发展和广泛应用催生了会员系统这一新的网络服务形式。如今,会员系统俨然成为网络时代对会员进行管理的重要手段。在不少的会员系统中,没有"找回密码"功能,一方面导致很多会员流失,另外一方面也致使会员资料的遗失。笔者以自主开发的万年信息港网站为例,具体介绍"找回密码"功能的实现过程。

2、会员找回密码界面的设计

在万年信息港网站中首页中有会员登录界面,如果会员忘记密码,可以点击"忘记密码"按钮,会员找回密码界面如下图1所示。在这个界面中有两个输入框:username和email。这两个文本框分别是用来接收用户输入的用户名、邮箱。

3、"找回密码"功能的代码实现

具体步骤如下:

(1)检验用户邮箱地址格式的合法性

邮箱地址格式的合法性,是为了防止有些恶意用户随意输入无用信息。下面在用户找回密码页面中构建PubCheckEmail函数来防止这一行为。这个函数在用户按"确定"时触发。

(2)发送密码到用户邮箱地址功能的实现

(1) 创建邮件对象Set JMail=Server.CreateObject ("JMailMessage")

(2) 给邮件对象设置参数与赋值

(3) 给系统填写接收密码的邮箱地址

(4) 系统发送邮件时的主题:

(5) 系统发送邮件时的内容:

(6) 设置邮件发送等级

(7) 执行邮件发送

4、结论

文中设计并实现了基于ASP的会员系统"找回密码"功能,能够有效的防止会员系统会员的流失和会员资料的丢失,从而为系统带来了更高的安全性,但同时也带来了性能的下降,找到安全与性能的平衡点是用户最为关注的,也是下一步的研究方向。

摘要:在会员系统注册之后, 有些会员可能会遇见忘记登录密码的问题, 因此一个好的网站必须具有“找回密码”功能。论文以万年信息港网站为例, 从用户找回密码界面、用户邮箱地址格式的合法性、用户邮箱地址有效性的检验、发送密码到邮箱地址等方面对"找回密码"功能的实现进行阐述。

关键词:ASP,IIS组件,Jmail组件

参考文献

[1]w3.JMail 4.3用户手册[M].2004, 11:102~10 5.

[2]杨冀川.ASP动态网站设计实战[M].北京:机械工业出版社, 2000

密码设计与管理技巧 篇6

1 基于单片机与串行通信的电子密码锁设计方案的研究

1.1 电子密码锁设计方案

对电子密码锁进行设计可以考虑采用主从形式的结构来进行, 也可以选择总线型的计算机网络拓补结构, 还可以采用两级控制的形式来进行。其键盘的矩阵大部分采用4×3的形式进行排列, 主控芯片可以随意选择, 一般采用ATM EL型号的。对键盘电路进行扫描主要采用行的形式进行扫描, 按键主要采用机械形式的电子开关。在这上面, 所有的按键都具备相应的基础功能, 一般可以分为功能性按键和数字型按键两类。单片机在工作的时候最主要的两项工作分别是密码的输出工作和密码的上传工作。而PC端再对所有的信息进行筛选和整理, 建立起完整的数据库, 这样就能够形成相对完整的计算机网络。采用串行通信的方式能够保证滇西密码锁有不断增长的传输距离, 而且还能是电子密码锁的连接方式更为简便, 具有更加灵活的操作性, 这样的数据传输信息也会具有更高的安全性和可靠性。

1.2 软件和硬件的开发平台和通信协议

给予单片机与串行通信的电子密码锁的软件一般都采用51系列的C编译器来进行, 硬件则采用89系列的C52单片机。而单片机开发的平台主要采用嵌入式的编译器联合仿真器共同组成的。此外, 总线通信接口的电路采用的是较为灵活的串行通信方式, 这种通信方式的责任很重大, 主要负责数据的输出和管理, 而且主控编码和微机以及电子密码锁的控制部件之间的传输也是它的主要任务。在这里, 其总线部件所利用到的单片机就是我们上面所提到的ATM EL系列单片机。它会在互锁停止通信的基础上, 采用主导型申请方法对传输密码进行申请, 也可以发布命令。

2 电子密码锁系统的研发

2.1 人机式交互界面

键盘主要采用4×3的矩阵分布形式进行排开的, 行线是四条I/O线, 列线是三条I/O线, 然后在所有的交叉地方进行按键设置。行线每一行都要进行设置, 设置为低电平, 在对列输入的实际情况进行检测, 以便于确定按键是否已经按下, 然后在对按键进行译码。显示模块可以采用WM-C1602N液晶显示器, 能够更加完美地体现出人机交换的界面。在双层通信协议上面, 每一层协议都是相互独立的, 而且具有简单的系统结构, 所以通信的双方都可以利用RS-232C接口对单片机输出的引脚进行定时输出, 以便于实现双方数据的相互通信。

2.2 密码信息的存储能力

52型号的单片机能够对断电保持设备进行写入, 在很大程度上对用户进行保护, 可以保证其在断电以后依然能够进行密码的保存, 然后再选择合适的储存设备进行辅助储存。比如AT28C17 EEPROM就具备非常良好的特性。这种设备对于硬件没有任何特殊性的要求, 而且操作起来相当简单, 而不繁杂。在去内部还设置了高电压脉冲, 这能够使其自己产生电路, 生趣了增设编程脉冲和编程编码的繁琐工序, 可以自行对数据进行写入。而且这种系统对电子密码的程序和储存空间进行合并, 这种系统还设置了查询手段和控制手段。所以在擦写的过程当中, 其引脚如果出现了低电平的显示效果, 那么擦写过后将会重新升为高压片。采用集成性特征函数来对系统做出读写, 在读写的时候一般采用静态的RAM进行, 读写操作基本上一致。

2.3 多台主机网络通信

总线通信设备会在上电复位以后再进行工作, 主要采用中断等方法来实现串行通信现象的, 采用全双工分的方式将其分担在主机之上。而总线通信的管理以及网络当中其下位电子密码锁的管理设备则主要安置在串行通信数据信息的链路上, 可以有效地构建出完善的主从形式的总线型网路。而且这种设备能够为网络当中的电子密码锁的管理部件等提供充足的工作电源。而电子密码锁的电路都要经过DC-DC模块进行电路转换, 这也能够为电子密码锁自身的相关电路提供持续性的电源。

2.4 总线的仲裁

在通信协议里面也做出了约定, 要保证所有的设备都能够对系统的总线通信进行使用, 而且在使用的前提, 必须对总线的浮动电平做出优先的检测, 只有在没有出现异常情况或者是没有发现跳动的总线才能够发送分组, 而且在这里面所要应用到的总线都必须受到协议的保护。电瓶的电筒采用多功能定时器来完成, 对总线的电瓶跳动做出计数处理, 且要保证其计数值不能为“0”, 如果总线报忙, 那么通信就需要做出押后处理。

3 结语

在本研究当中, 笔者主要针对基于单片机与串行通信的电子密码锁在设计方面的相关内容做出了简要的分析和探索, 文中笔者也谈到了一些自己的主观看法。笔者认为该电子密码锁的设计具有显著的优势, 不单单能够自行对多组电子密码做出设计, 而且还能够进行多次的进行改写。设备在断点以后让然能够对用户的密码做出有效的保护, 更加方便单机和互联网的联合使用, 可以采用双层的通信协议, 在分组交换之后, 通信协议能够在串行协议当中运行, 可以解决很多歌电子密码做主机和总线之间存在的争议问题, 因此这种设备是值得利用和研发的, 需要继续开展研究工作。

参考文献

[1]刘丹阳, 李齐森, 孙振华.基于单片机与串行通信的电子密码锁设计[J].天津商学院学报, 2011, 10 (03) :121-145.

[2]辛耀中, 王云霞, 赵永良.基于VHDL语言的电子密码锁的设计与实现[J].安徽建筑工业学报, 2010, 22 (09) :112-130.

浅谈如何设置与管理计算机密码 篇7

计算机密码 (Password) , 如同我们生活中的钥匙, 是让计算机识别用户的一种简便方法, 用术语说, 操作系统账户密码是保护计算机不被非授权访问所采用的密码学技术。通常, 我们会根据声音、相貌、笔迹等来识别一个人, 但是我们所应用的计算机基本没有这些功能, 这就要用密码在用户和计算机之间来建立一种联系, 也就是让密码成为开启计算机的一把钥匙。但是如果密码过于简单, 就很容易被破解, 即被盗, 就如同家中钥匙被盗, 会造成信息数据的丢失、系统的破坏, 后果不堪设想, 下面就如何这一问题进行探讨。

2. 常见的密码形式

我们常用如下几种形式的计算机密码:

(1) 有的人为了省事, 使用户名及密码相同, 如:用户名及密码均是yanglanlan。

(2) 将用户名稍做一些变化或组合后作为密码, 如:用户名是yanglanlan, 密码是yangll、yll等, 或者用数字或出生日期与用户名加以组合, 如yang800315、yang1980、yll888等;

(3) 用常见的阿拉伯数字组合作为密码, 一般是:0、123、12345、123456、666、888等;

(4) 用常见的计算机英语单词或对其简单变化后作为密码, 如:qwerty或abcdef。

(5) 用表明个人信息的诸如生日、姓名、配偶姓名、孩子姓名、电话号码、身份证号码、工作证号码、汽车牌号、汽车执照号、居住的街道名称等作为密码。

(6) 与要替换的密码相似的新新密码。

(7) 部分著作或文章中用来作为密码例子而被公布的密码。

另外部分用户用自己电脑或是显示器的品牌用作计算密码。这些密码都是现实工作生活是经常应用的, 但这些密码的安全性很差, 是人们经常能想到的, 所以很容易被人猜出来。对于那些稍微复杂的密码破解, 可使用穷举法, 具体的说就是利用“密码字典”, 它包含了可能的密码, 把用户的名字、电话、英文字典里面的单词都放在里面, 然后逐个地去实验。

3. 设置密码要避开“密码字典”

如果“密码字典”中包含用户的密码, 而且真的有人下决心想破解, 那么它的破解只是一个时间问题。“密码字典”内容构成一般有如下几类:

(1) 通讯方式

包括用户家庭电话、办公电话、移动电话或用户父母及其他亲属的家庭电话等, 有时根据用户所在地情况有选择性地变换号码宽度或者加上本地区号。

(2) 用户及其家人生日

用生日作密码一般根据习惯分年月日、年月、月日三种, 年份选择可用二位或四位。目前大部分计算机及网络用户的出生年份集中在1960-1990, 新用户的年份范围更小, 一般是1980-1990。这样会使“密码字典”范围更小, 密码破解所需时间更少。

(3) 用户或其家人名字拼音及拼音简写

分为姓名辅音的组合 (2-3位) 、中文姓或英文名、中文姓+名、中文姓+名字辅音、中文姓+英文名, 根据使用频率来进行组合:

中文姓氏:

赵、钱、孙、李、 (黎) 、周、吴、郑、王、刘、张、陈、曹、杨、黄、胡、高、何、马、郭、林、梁、谢、唐、宋、韩、于、董、徐、萧、程、罗、袁、沈、傅、邓、冯、朱、许等。

英文名字:

sam、mark、a lan、george、lee、bobcharles、peter、michael、david、steve、helen、frank、henry、king、tom、john、lewis、louis、andy、paul、catty、robert、richard、jack、等

此外, 有时候还可能加上常用数字、出生日期和固定前缀等, 姓名也可能换位, 或者中间分别插入“-”、“_”或“.”三个常用分隔符。

(4) 英文及数字

包含一个内含5万多词汇的英文词典文件english.txt, 另外还有常用数字, 也可以设定数字范围后生成新的数字词典。

在生成词典文件中, 设定了词条的大小写格式和词典宽度范围, 常用用户名是3-6个字符, 常用密码是3-8个字符。由此可知常用的安全程度低的密码几乎都包含在了这个词典中。

而且现在的“密码字典”越来越大, 而且现在计算机的运算速度是相当快的, 如果你的密码很简单, 很快就可以被找出来。

4. 计算机密码的特点

根据以上分析, 我们可以看出设置计算机密码也不是一件容易的事情, 那么如何设置安全合适的密码呢?理论上说, 最安全的密码应完全随机地从数字、字母 (包括大、小写) 、标点符号和特殊字符选择并组合而成。出于安全性考虑, 密码不能太短 (一般场合密码都要求不低于五位) , 不应是常见的字词, 其中也不应包括用户的某些让人容易获得的个人信息。

一个安全的密码应具有以下特点:

(1) 密码字符长度应至少有6个。

(2) 密码中最好包含一个或几个数字或特殊字符, 即非字母字符号, 如0~9、~、!、@、$、%、^、&、*、 ( ) 、_、—、+、=、[、]、:、;、'、<、>、, 、.、?、/和空格等。

(3) 密码不必写下来, 但必须容易记忆。

(4) 为防止别人偷看你输入密码过程, 最好选择你在输入时不看键盘并能迅速键入字符。

5. 计算机密码的管理

设置完密码后, 还应注意它的安全管理。其一是防止由于用户自己的疏忽而泄漏密码, 其二是防止别人用“密码字典”或专业解密软件来破解密码。

密码管理最好的办法最好是把它记在脑子中, 而不是把它用笔记下来, 放在某一个具体位置, 这样密码不仅容易被人发现, 记录密码的记事本、留言条也容易丢失。

出于安全性考虑, 密码设置要求不能太短, 也不是容易记忆的单词等, 这就给用户的记忆带来难题, 如果记忆确实有困难, 可以将其写下来, 但应注意以下几点:

(1) 不要将计算机用户名和密码写在一起, 尤其是用户名和密码不能相同。

(2) 用特定方式对密码稍加改动, 如在密码中增加额外字符或改变字符顺序或截短, 但前提是用户能记住改动方式。

(3) 记录密码的字条 (字条要折叠起来) 或记录本放在安全的地方, 比如保险柜等。

(4) 最好每三个月左右更换一次密码, 以防止他人无意中知道你的密码。

六、结论

上一篇:ipad下一篇:锅炉飞灰含碳量的控制论文