一 用SRP建立安全的Linux Telnet服务器( 二 )


SRP从管理者的角度来说也是容易实施的 。没有所谓的"密钥服务器"、"证书认证",以及"认证服务器"等这样的概念 。SRP口令文件在标准的Unix口令文件的旁边,软件本身协同这两个系统口令和SRP口令文件的一致性,没有多余的维护系统的机制 。SRP在认证一个用户的时候交换一个加密的密钥 。这就意味着一个登陆会话是可以被加密,而抵制所谓的网络监听和恶意地篡改 。
用户在远程阅读他们的信笺,是使用128-bit加密后的信息,这是当用户登陆后自动处理的,而用户本身不必关心到底需要不需要加密 。系统完成加密,然后送到用户的这里 。另外SRP不使用加密进行认证,这使得它比基于公用/私用密匙的认证方式速度更快捷、安全 。
SRP缺省使用的128-bit的CAST加密算法 。CAST-128在RFC2144(http://srp.stanford.edu/srp/rfc2144.txt)中有定义 。标准的SRP也支持56-bit的DES以及48位的DES 。高级的支持Triple-DES加密手段 。本文将介绍如何建立基于SRP的Telnet服务器 。操作环境Redhat Linux 9.0 。
二、软件下载和编译
SRP软件主页是:http://srp.stanford.edu 最新版本2.1.1,安装SRP前先要安装OpenSSL 。
#wget http://srp.stanford.edu/source/srp-2.1.1.tar.gz
#cp /usr/src/redhat/SOURCES
#./configure --with-openssl=/usr/src/redhat/SOURCES/openssl-0.9.6 --with-pam
#make;make install
三、建立指数密码系统EPS
EPS全称:Exponential Password System(指数密码系统),SRP软件包中已经包括EPS源代码 。
1.安装PAM模块
PAM简介:
PAM全称:Pluggable Authentication Module (嵌入式认证模块) 。它最初有SUN公司开发;很快被Linux社区的接受,并且开发了更多的模块 。其目标是提供一套可用于验证用户身份的函数库,从而将认证从应用程序开发中独立出来 。Linux-PAM处理四种独立的(管理)工作 。它们是: 认证管理; 帐号管理; 会话期间管理;和密码管理 。
PAM工作方式:
(1)调用某个应用程序,以得到该程序的服务 。
(2)PAM应用程序调用后台的PAM库进行认证工作 。
(3)PAM库在/etc/pam.d/目录中查找有关应用程序细节的配置文件,该文件告诉PAM,本应用程序使用何种认证机制 。
(4)PAM库装载所需的认证模块 。
(5)这些模块可以让PAM与应用程序中的会话函数进行通信 。
(6)会话函数向用户要求有关信息 。
(7)用户对这些要求做出回应,提供所需信息 。

推荐阅读