基于WEB的应用系统安全方案_第1页
基于WEB的应用系统安全方案_第2页
基于WEB的应用系统安全方案_第3页
基于WEB的应用系统安全方案_第4页
基于WEB的应用系统安全方案_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章 系统安全的需求分析 本章从数据安全和业务逻辑安全两个角度对应用系统的安全进行需求分析 主要包括保密性需求 完整性需求 可用性需求三部分 随后对业务逻辑安全 需求进行了分析 包括身份认证 访问控制 交易重复提交控制 异步交易处 理 交易数据不可否认性 监控与审计等几个方面 最后还分析了系统中一些 其它的安全需求 2 1 数据安全需求 2 1 1数据保密性需求 数据保密性要求数据只能由授权实体存取和识别 防止非授权泄露 从目 前国内应用的安全案例统计数据来看 数据保密性是最易受到攻击的一个方面 通常表现为客户端发生的数据泄密 包括用户的基本信息 账户信息 登录信 息等的泄露 在应用系统中 数据保密性需求通常主要体现在以下几个方面 A 客户端与系统交互时输入的各类密码 包括系统登录密码 转账密码 凭证查询密码 凭证交易密码等必须加密传输及存放 这些密码在应用系统中 只能以密文的方式存在 其明文形式能且只能由其合法主体能够识别 以网银系统为例 在网银系统中 通常存有四种密码 系统登录密码 网 银转账密码 柜面交易密码及一次性密码 系统登录密码用来认证当前登录者 为指定登录名的合法用户 网银用户的登录密码和网银转账密码由用户在柜面 开户时指定 用户在首次登录网银系统时 系统必须强制用户修改初始密码 通常要求长度不得少于六位数 且不能是类似于 等的简单数字序列 系统 将进行检查 网银转账密码是指网银系统为巩固用户资金安全 在涉及资金变动的交易 中对用户身份进行了再认证 要求用户输入预设的密码 网银交易密码仅针对 个人用户使用 企业用户没有网银交易密码 建立多重密码机制 将登录密码 与网银转账密码分开管理 有利于加强密码的安全性 由于用户在使用网银时 每次都必须先提供登录密码 故登录密码暴露的机会较多 安全性相对较弱 但登录网银的用户并不是每次都会操作账户资金的 所以专门设定网银转账密 码可加强账户的安全性 网银转账密码在网银开户时设定 网银用户在系统中 作转账支付 理财 代缴费等资金变动类交易时使用 柜面交易密码是指用户在银行柜面办理储蓄时 针对储蓄凭证 如卡折 存单等 而设的密码 柜面交易密码常用于 POS 系统支付时 ATM 取款时 凭证柜面取款时 柜面交易密码一个明显的特征是它目前只能是六位的数字 这是由于目前柜面密码输入设备的限制而造成的 柜面交易密码与上述的网银 转账密码的区别在于 网银转账密码和系统登录密码都产生于网银系统 储存 在网银系统中 仅限网银系统中认证使用 而柜面交易密码产生于银行柜台 可以在外围渠道如 ATM 电话银行 自助终端上修改 它保存在银行核心系统 中 供外围各个渠道系统共同使用 另外网银转账密码可以有非数字字符组成 而柜面交易密码只能是六位的数字 网银中使用到柜面交易密码的交易包括 网银开户 加挂账户 一次性密码由用户的智能卡 令牌卡产生 或由动态密码系统产生通过短 信方式发送到用户注册的手机上 一次性密码的作用与网银转账密码相同 适 用的场合也相同 一次性密码在农商行网银系统中是可选的安全服务 用户需 到柜面办理开通手续才能使用 没有开通一次性密码服务的用户必须设定网银 交易密码 开通一次性密码服务的用户则无需设定网银交易密码 要求网银系 统自动判断并提示用户在某个交易中是要输入网银交易密码还是提示一次性密 码 B 应用系统与其它系统进行数据交换时在特定安全需求下需进行端对端 的加解密处理 这里的数据加密主要是为了防止交易数据被银行内部人士截取 利用 具体通讯加密方案参照应用系统的特定需求 2 1 2数据完整性需求 数据完整性要求防止非授权实体对数据进行非法修改 用户在跟应用系统 进行交互时 其输入设备如键盘 鼠标等有可能被木马程序侦听 输入的数据 遭到截取修改后被提交到应用系统中 如原本用户准备向 A 账户转一笔资金在 交易数据遭到修改后就被转到 B 账户中了 同样的威胁还存在于交易数据的传 输过程中 如在用户向应用系统提交的网络传输过程中或应用系统跟第三方等 其它系统的通讯过程中 另外存储在应用系统数据库中的数据也有可能遭到非 法修改 如 SQL 注入攻击等 2 1 3数据可用性需求 数据可用性要求数据对于授权实体是有效 可用的 保证授权实体对数据 的合法存取权利 对数据可用性最典型的攻击就是拒绝式攻击 DoS 和分布式拒绝攻击 两者都是通过大量并发的恶意请求来占用系统资源 致使合法用户无法正常访 问目标系统 如 SYN Flood 攻击等 将会直接导致其他用户无法登录系统 另 外 应用登录机器人对用户的密码进行穷举攻击也会严重影响系统的可用性 2 2 业务逻辑安全需求 业务逻辑安全主要是为了保护应用系统的业务逻辑按照特定的规则和流程 被存取及处理 2 2 1身份认证需求 身份认证就是确定某个个体身份的过程 系统通过身份认证过程以识别个 体的用户身份 确保个体为所宣称的身份 应用系统中身份认证可分为单向身 份认证和双向身份认证 单向身份认证是指应用系统对用户进行认证 而双向 身份认证则指应用系统和用户进行互相认证 双向身份认证可有效防止 网络 钓鱼 等假网站对真正系统的冒充 应用服务器采用数字证书 向客户端提供身份认证 数字证书要求由权威 独立 公正的第三方机构颁发 系统为客户端提供两种可选身份认证方案 服 务器端对客户端进行多重身份认证 要求充分考虑到客户端安全问题 将客户 端用户身份认证与账户身份认证分开进行 在用户登录系统时 采用单点用户 身份认证 在用户提交更新类 管理类交易请求时 再次对用户的操作进行认 证或对用户身份进行二次认证 以确保用户信息安全 2 2 2访问控制需求 访问控制规定了主体对客体访问的限制 并在身份识别的基础上 根据身 份对提出资源访问的请求加以控制 访问控制是应用系统中的核心安全策略 它的主要任务是保证应用系统资源不被非法访问 主体 客体和主体对客体操 作的权限构成访问控制机制的三要素 访问控制策略可以划分为自主访问控制 强制访问控制和基于角色的访问控制三种 2 2 3交易重复提交控制需求 交易重复提交就是同一个交易被多次提交给应用系统 查询类的交易被重 复提交将会无故占用更多的系统资源 而管理类或金融类的交易被重复提交后 后果则会严重的多 譬如一笔转账交易被提交两次则将导致用户的账户被转出 两笔相同额的资金 显然用户只想转出一笔 交易被重复提交可能是无意的 也有可能是故意的 A 用户的误操作 在 B S 结构中 从客户端来看 服务器端对客户端的 响应总有一定的延迟 这在某些交易处理上体现的更为明显 特别是那些涉及 多个系统交互 远程访问 数据库全表扫描 页面数据签名等交易 这种延迟 通常都会在 5 至 7 秒以上 这时用户有可能在页面已提交的情况下 再次点击 了提交按钮 这时将会造成交易被重复提交 B 被提交的交易数据有可能被拿来作重放攻击 应用系统必须对管理类和金融类交易提交的次数进行控制 这种控制即要 有效的杜绝用户的误操作 还不能影响用户正常情况下对某个交易的多次提交 比如说 当某个用户在 10 秒内提交了两笔相同的转账业务 则系统必须对此进 行控制 另一方面 当用户在第一笔转账业务完成后 再作另一笔数据相同的 转账时 则系统不能对此进行误控制 这里判断的依据就是交易重复提交的控 制因子 a 当交易提交的间隔小于 a 时 系统认为这是重复提交 提交间隔大 于 a 的则不作处理 控制因子的大小由应用系统业务人员决定 系统应可对其 进行配置化管理 2 2 4异步交易处理需求 所谓异步交易就是指那些录入与提交不是同时完成的交易 这里的同时是 指客户端在录入交易数据与提交交易的过程中 应用系统服务器端并没有对录 入的数据进行持久化保存 而异步交易在系统处理过程中 录入与提交时间上 发生在两个相分离的阶段 在两阶段之间 应用系统对录入的数据进行了持久 化保存 由于异步交易是被系统分两阶段受理的 这就涉及到以下三个方面的问题 A 录入与提交的关系管理 B 如何保证提交的数据就是用户当初录入的数据 C 如何记录交易在两阶段的日志状态 录入与提交的关系定义不当将会导致交易录入与提交被同时完成而违反了 业务处理流程 录入的数据被系统保存后有可能遭到非法篡改 非异步交易执 行后的日志状态不会被更新而异步交易在提交后日志状态将会被更新 应用系统中需要定义成异步的交易通常有以下两类 需要授权的交易 出于业务管理和业务安全方面的考虑 大部分管理 类和金融类的交易都需要经过一定的授权流程后方能被提交 部分定时交易 如预约转账等 预约一笔在周三转账的预约转账有可 能是周一被录入的 用户在录入后 预约转账的数据将被网银系统保 存直到周三这笔转账才会真正发生 应用系统必须定义简单 清晰 易维护的录入与提交关系模型 保证被保 存的录入数据不会被非法篡改 同时要求异步交易的日志状态是明确的 不应 出现录入与提交相矛盾的日志状态 2 2 5交易数据不可否认性需求 交易数据不可否认性是指应用系统的客户不能否认其所签名的数据 客户 对交易数据的签名是通过应用系统使用客户的数字证书来完成的 数字证书的 应用为交易数据不可否认性提供了技术支持 而电子签名法的颁布为交易数据 不可否认性提供了法律基础 在应用系统中通常要求对所有管理类与金融类的交易进行数字签名 以防 客户事后对交易或交易数据的抵赖 应用系统需同时保存客户录入的原始数据 和签名后的数据 保存期限依业务部门的具体要求而定 考虑到系统性能和对 用户的响应问题 应用系统可只签与交易有关的关键数据 支付类的交易只对 付款人账号 付款金额 收款人姓名 收款人账号 收款人开户行五个字段进 行数字签名就可以了 2 2 6监控与审计需求 安全级别要求高的应用系统应提供对系统进行实时监控的功能 监控的内 容包括系统当前登录的用户 用户类型 用户正在访问的交易 用户登录的 IP 等 对金融类 管理类的交易以及应用系统登录交易需要完整地记录用户的访 问过程 记录的关键元素包括 用户登录名 登录 IP 交易日期及时间 交易 名称 交易相关数据等 对有授权流程的交易要求完整记录授权的经过 授权 记录与交易记录分开存放 2 3 其它安全需求 2 3 1 登录控制需求 登录通常是应用系统的关键交易 系统通过登录交易对用户身份进行认证 针对不同角色的用户指定不同的登录策略 最小权限集用户 可使用用户登录名 静态登录密码 图形识别码方式 登录 低安全性 普通权限集用户 可使用用户登录名 动态登录密码 数图形识别码方 式登录 高权限集用户 可使用用户登录名 数字证书 静态密码 数图形识别码 方式登录 所有权限集用户 可使用用户登录名 数字证书 动态密码 数图形识别 码方式登录 应用系统可提供客户端加密控件对用户输入的密码域进行加密处理后再提 交 连续登录多次失败的用户 其 IP 将被应用系统锁定 24 小时后系统将自 动对锁定的 IP 进行解锁 这里登录失败的次数和 IP 锁定时长根据业务需求说 明应由配置文件进行设定 对于首次登录系统的用户 系统将强制定位到修改密码的页面 要求用户 修改初始密码重新登录方可使用系统 对于密码类型和长度 系统将规则检查 对于成功登录的用户 应用系统自动清除其连续登录失败的次数 同时初 始化用户的相关数据并同时对登录数据进行记录 以备审计 2 3 2 会话控制需求 通过应用服务器自身的会话管理或应用程序的会话管理都可以控制会话的 时长设定 设置过久的会话将给客户端带来安全风险 而设置过短则影响用户 的正常使用 该机制使在应用层无状态的 HTTP HTTPS 协议 能够支持需要状 态记录的互联网应用 实现用户登录后在新的状态下从事交易 超时断路等功 能 2 3 3 被访问对象控制需求 应用系统对用户的关键资源或信息 提供操作权限设置支持 权限分为 查询和更新两类 权限为查询的资源或信息只能对其进行查询操作 不能进行 更新 资源权限由开户时指定 为加强安全性 权限分配可通过落地处理开通 2 3 4 交易提醒需求 交易提醒是指将客户的账号与客户手机号 电子邮件等关联起来 当客户 信息发生变动时 向客户的手机发送一条短信或电话通知或发送一封电子邮件 及时准确的告知客户 另通过通知提醒功能 系统应定期向用户发送统计 明 细 确认等信息 第三章 应用系统安全的总体解决方案 3 1 安全技术 安全技术是安全子系统的理论基础 安全子系统中主要涉及的安全技术包 括 密码技术 PKI 技术体系 一次性口令技术等 另外考虑到目前实际应用 中 大部分 WEB 应用系统是基于 J2EE 平台的 J2EE 平台本身也对系统安全 提供了较多内置的支持 如 JAAS 技术等 所以本章中对于 J2EE 平台的安全技 术特性也有少量的讨论 3 1 1 密码技术 密码技术是保护信息系统安全的基础技术之一 密码技术可以保证数据的 保密性和完整性 同时它还具有身份认证和数字签名的功能 从密码体制方面 来说 密码技术可分为对称密钥密码技术和非对称密钥密码技术两大类 在应 用系统中常用的密码技术主要有以下几种 A 加密解密技术 加密 Encryption 就是指通过特定的加密算法对数据进行变换 将明文 Plaintext 转换成密文 Cryptograph 解密 Decryption 是加密的逆过程 解密的过程就是将密文还原为明文 设明文为 P 密文为 C E 为加密算法 D 为解密算法 则加密解密的过程可以记为 3 1 CDP PEC 上述的加密与解密过程没有使用到密钥 通常称之为无密钥密码 体制 无密钥密码主要依靠加密算法提供保密性 在应用系统中这种 密码很少用到 主要使用还是有密钥的密码体制 在有密钥的密码体 制中 密文的保密性依赖于密钥而不依赖于算法 算法可以公开 其 中 只有一个密钥 K 的密码体制称为单钥体制 One key System 又称对称加密体制 Symmetrical Encryption 有加密密钥 KE和解密 密钥 KD两个密钥的密码体制称为双钥体制 Two key System 又 称非对称加密体制 Dissymmetrical Encryption 有时也叫公开密钥 算法 Public Key Algorithm 应用系统中经常使用最广泛的对称加 密算法是 DES 算法 Data Encryption Standard 非对称加密算法是 R SA 算法 Receive Shamir Adelman 单钥体制的加密解密过程可 以记为 3 2 KCDP KPEC 上式用图示可以表示为 明文密文明文 加密 密钥 K 解密 密钥 K 图图 5 单钥体制加密解密过程图单钥体制加密解密过程图 双钥体制的加密解密过程可以记为 3 3 K E DKCDP PEC 上式用图示可以表示为 明文密文明文 加密 密钥 KE 解密 密钥 KD 图图 6 双钥体制加密解密过程图双钥体制加密解密过程图 还有一种应用系统中经常用到的加密技术是数据摘要 数据摘要 就是应用单向散列函数算法 将输入的任意长度明文变换成固定长度 的密文 而将此密文再转换成明文在数学上来说是困难的 应用系统 中应用最广泛的数据摘要算法主要有 MD5 和 SHA 两种 MD5 输出压 缩值为 128bits SHA 输出压缩值为 160bits 设 Hash 表示单向散列函 数 则数据摘要的过程可以记为 3 4 PHashC 上式用图示可以表示为 密文 明文 Hash 图图 7 数据摘要的过程图数据摘要的过程图 B 数字签名 数字签名是指通过密码算法对原始数据信息进行加密处理后 生成一段原 始数据信息的信息标识 这段信息标识称为原始数据信息的数字签名 通常数 明文密文明文 加密 密钥 K 解密 密钥 K 字签名和原始数据信息是放在一起发送的 这样便于信息的接受者对其进行验 证 数字签名是对现实中手写签名和印章的模拟 数字签名只有信息发送方一 人能产生 这种唯一性对应了原始数据信息的来源 数字签名具有验证数据完 整性和信息来源不可否认性的功能 这正是 PKI 体系提供的核心功能 在应用系统中 较小的数据可以直接签名 而较大的数据或文件通常先对 其作数据摘要后再对数据摘要作数字签名 下式表达了对一段原始数据信息进 行签名的过程 原始数据信息 OriginalMsg 先是被单向散列函数 Hash 作数据摘 要生成摘要信息 DigestMsg 然后应用非对称加密算法 DissymmetricalEncrypt 及其私钥 Keyprivate对数据摘要进行签名 私钥仅有发送方持有 公钥需散发给 接收方 最后将签名结果 DigitalSignature 与原始数据信息一起发送给接受方 privateKeyDigestMsgticalEncrypDissymmetrnatureDigitalSig gOriginalMsHashDigestMsg 3 4 上式用图示可以表示为 OriginalMsg Keyprivavte DigitalSignature Hash DissymmetricalEncryt Digest OriginalMsg DigitalSignature 图图 8 数字签名的过程图数字签名的过程图 信息接受方在接受到原始数据信息 OriginalMsg 与其数字签名 DigitalSignature 后 可以对数字签名进行验证 首先分离出两者 然后对原始 数据信息应用同样的单向散列函数 Hash 对其作数据摘要得到 Digest2 再对接 收到的数字签名应用非对称加密算法 DissymmetricalEncrypt 及其公钥 Keypublic 对其进行解密 得到 Digest1 比较 Digest1 与 Digest2 如果两者一样则证明 1 信息 OriginalMsg 及其数字签名 DigitalSignature 是真实的 确实来自于 私钥 Keyprivate的持有方 2 信息 OriginalMsg 及其数字签名 DigitalSignature 在发送过程中是完整的 未曾遭到篡改 3 私钥 Keyprivate的持有方发送了信息 OriginalMsg 及其数字签名 DigitalSignature 这件事是不可否认的 上述数字签名的验证过程可以表达为 12 1 2 DigestMsgDigestMsg KeynatureDigitalSigticalEncrypDissymmetrDigestMsg gOriginalMsHashDigestMsg public 3 5 用图形表示如下 Keypublic OriginalMsg DigitalSignature Hash DissymmetricalEncryt Digest2 OriginalMsg DigitalSignature Digest2两者相同 图图 9 数字签名验证的过程图数字签名验证的过程图 C 报文识别码 应用系统跟其它系统通讯时大都是通过发送接收报文方式进行的 除比较 常用的 ISO8583 sop 报文等 还有比较多的就是自定义的报文格式 自定义报 文需要解决报文的保密性和完整性问题 报文的完整性可以通过加密算法生成 原始报文的报文标识来识别 这个加密后的报文标识称为原始报文的识别码 也叫报文校验码 MAC Message Authentication Code 而报文的保密性可以通 过对整个报文及其识别码进行加密处理来完成 实际应用中识别码通常可以通 过单向散列函数对原始报文作数据摘要得到 然后对原始报文和数据摘要作对 称加密 这样既保证了报文的完整性 同时也保证了报文的保密性 这里对称 加密算法的密钥分发是主要问题 D 数字信封 数字信封 DE Digital Envelope 是指信息发送方在通讯双发首次通讯时 使用对方的公钥对双方的通讯密钥 SK Symmentric Key 进行加密 形成一个 数字信封 然后发给接收方 接收方收到数字信封后进行拆封操作 用自己的 私钥对信封进行解密得到通讯密钥 然后双方可以用通讯密钥对自己发送的信 息进行对称加密 2 这样既解决了对称加密的密钥分配问题又提高了双方通讯 加密的效率 毕竟非对称加密算法比对称加密算法效率要低下 3 1 2 PKI 体系 PKI 体系是由政策机构 认证机构和注册机构组成的 通过使用单向散列 函数 非对称加密体制等加密解密技术 安全套接字协议 SSL LDAP 协议 Lightweight Directory Access Protocol X 509 证书标准等技术 实现数据加 密 身份认证和数字签名等功能 从而保证数据保密性 完整性 真实性和不 可否认性的一种技术体系 PKI 体系很好的解决了网上银行的大部分安全需求 对网上银行的数据安全和业务逻辑安全提供了有力的支持 CA 是 PKI 体系的 主要实体 数字证书是 CA 的主要产品 CA 通过数字证书的应用来实现 PKI 体系所提供的功能 1 PKI 的组成 PKI 由政策批准机构 PAA 政策 CA 机构 PCA 认证机构 CA 和注册机构 RA 组成 PAA 创建整个 PKI 系统的方针 政策 批准本 PAA 下属的 PCA 的 政策 为下属 PCA 签发公钥证书 建立整个 PKI 体系的安全策略 并具有监控 个 PCA 行为的责任 PCA 制定自身的具体政策 包括密钥的产生 密钥的长 度 证书的有效期规定及 CRL 的处理等 同时 PCA 为其下属 CA 签发公钥证 书 CA 按照上级 PCA 制定的政策 为具体用户签发 生成并发布数字证书 负责 CRL 的管理与维护 RA 负责接收用户的证书申请 验证用户的身份 向 CA 提交证书申请 验证接收 CA 签发的数字证书 并将证书发放给申请者 PKI 的组成图示如下 PCA1 RA1 PAA PCAn RAn CAn RAnRA1 CAnCA1CA1 图图 10 PKI 的体系结构图的体系结构图 2 PKI 的操作功能 证书的生成及分发 在用户向 RA 提交数字证书申请后 RA 负责对申请者 的身份进行认证 认证通过后 RA 将向 CA 转发证书申请 CA 负责生成用户的 数字证书 数字证书的公私密钥对可以由用户产生 也可以由 CA 产生 用户 自己产生的公钥需提交给 CA CA 对公钥强度验证后将根据用户提交的公钥产 生用户的数字证书 如果是 CA 产生用户的公私密钥对 则 CA 不保存用户的 私钥 私钥需通过安全的方式发放给用户 CA 生成证书后将其发布到相应的 目录服务器上 证书的获取 在 PKI 体系中 要获取某个用户的数字证书 可以 RA 处获 得 也可以查询 CA 的证书目录服务器 另外用户也可以将自己的证书发送给 别人 证书的废止 数字证书的持证人如果发生证书丢失 密钥泄漏时 持证人可 以向CA 或RA 提交证书废止请求 CA 将会把用户的证书加入到废止列表中 废止列表 CRL 的获取与查询 由于 CRL 通常都比较大 在线查询效率比 较低下 所以现在通常在 RA 端建立一个 CRL 的镜像 定期将 CA 端的 CRL 同步到本地 同步又分全部 CRL 同步和增量同步两种 全部 CRL 同步的好处 能保证 CRL 数据一致 缺点是同步的数据量庞大 通常也没有必要进行全局同 步 增量同步就是每次只同步 CA 端新增的 CRL 部分 增量同步的数据量较小 比较符合现实 CRL 的查询可以通过 LDAP 等访问 证书恢复 证书恢复功能为客户在证书存储介质损坏或遗忘口令等情况下 提供原证书的恢复 申请者向 RA 或 CA 提出证书恢复请求 CA 将会为用户生 成新的数字证书 原来的证书将作废 同时还会将其加入 CRL 中 证书更新 证书更新用于解决客户证书到期后的续费问题 也有可能是客 户的证书并未到达有效期而是 CA 或 RA 的本身的数字证书到达了有效期 这 时用户需更新证书 CA 将会为用户签发新的数字证书 3 PKI 的服务功能 PKI 提供的服务功能包括 数据保密性服务 数据完整性服务 数据真实 性服务 数据不可否认性服务和身份认证服务 这些服务都是通过数字证书的 应用来实现的 在集成这些服务时 还需要应用系统作部分支持才能真正实现 这些服务 3 1 3 一次性口令技术 所谓一次性口令 OTP One Time Password 是指针对传统可重复使用的 口令而言的 一次性口令只能使用一次 不可重复使用 可重用的口令易受种 种攻击 截取攻击 当口令以明文方式在网络上传递时 容易被攻击者截取获得 一旦口令泄漏则可能被未授权者非法使用 重放攻击 当口令以密文方式在网络上传递时 虽然攻击者无法获取口令 的明文 但攻击者可以截取口令密文后对系统实施重放攻击 穷举攻击 攻击者还有可能针对用户的登录名 根据系统对口令的限定规 则 尝试规则范围内各个可能的口令 对用户口令实施穷举攻击 窥探 用户在输入可重复使用的口令时必然要借助某种输入设备 如键盘 鼠标 手写笔等 这时容易被他人或其它录影设备窥探到输入内容 也有可能 被木马程序等记录了击键事件而分析出口令 社交工程 攻击者通过利用人们心理弱点 本能反应 好奇心 信任 贪 婪等心理陷阱通过电子邮件 电话访谈 钓鱼网站等骗取用户的口令 垃圾搜索 攻击者伪装成垃圾工人收集用户的垃圾文档用以分析用户的口 令等 一次口令由于每次使用各不相同的口令 所以并不存在上述的问题 一次 口令并不要求用户记住多个口令 所以也不会增加用户和系统的负担 一次性 口令的原理 在客户端和服务器端各存在一个相同的算法 一个与用户有关的 种子 一个不确定的因子 每次系统对用户进行认证时 用户将不确定的因子 追加到种子后 然后用算法对其加密算出一个结果 这个结果作为一个一次性 口令提交给服务器 服务器端用相同的算法对相同种子和不确定因子进行运算 将得出的结果与用户提交的结果进行比较 相同则说明用户输入的口令是正确 的 一次性口令技术要求服务器端具有与用户端相同的算法 种子及不确定因 子 这里关键是如何保证客户端 服务器端具有相同的不确定因子 两端不确 定因子的选择方式主要有以下三种 1 挑战应答方式 每次用户请求登录系统时 服务器端将不确定因子发送 给用户 称为一次挑战 而用户提交的口令是根据发送来的不确定因子 和用 户端保存的种子 由用户端保存的算法计算出来的 所以每次计算出的口令不 相同 这里的算法可以采用单向散列函数算法 也可以采用对称加密算法 不 确定因子采用挑战应答方式的原理可以图示如下 返回登录结果 运用算法对种子和因子进行 运算得出登录口令并提交 发送不确定因子 请求登录 输入用户 名 用 户 系 统 图图 11 一次性口令应用的原理图一次性口令应用的原理图 2 时间同步方式 客户端和服务器端以时间作为不确定因子 这 里要求双方的时间是严格同步的 精确度可以控制在约定的范围内 比如说双方的时间差不超过一分钟 3 事件同步方式 客户端和服务器端以单向序列的迭代值作为不 确定因子 这里要求双方每次迭代值的大小相同 这种方式的实现代 价比时间同步方式的小得多 而且也不用向挑战应答方式那样多出个 挑战的交互 这种方式客户端以单向迭代作为挑战 迭代作为规则可 以在客户端实现 3 1 3 基于 J2EE 平台的相关安全技术 1 语言内置的安全技术 Java 语言具有强类型检查 在编译时就能对变量类型进行检查 自动内存 管理 在 C C 中内存的分配和回收都需要程序员负责完成 在大型应用中 内存泄漏是个颇为棘手的问题 而 Java 内置垃圾回收机制 由系统负责内存的 管理 字节码检查 JVM Java Virtual Machine 对源代码编译生成的字节码进 行检查 防止恶意代码对运行环境的破坏 安全的类装载机制 确保不信任的 代码不会影响其它 Java 程序的运行 2 密码技术支持 JCA Java Cryptography Architecture 和 JCE Java Cryptographic Extension 为加密 解密 数字证书 数据摘要提供完整的支持 提供对各种 密码算法的支持 包括 RSA DSA DES SHA 等 提供对 PKCS 11 的支持 3 认证和访问控制支持 JAAS Java Authentication and Authorization Service 和 Policy 的实现及语 法等提供了细粒度的访问控制 抽象的认证 APIs 可以插件方式灵活地集成到其 它登录控制系统中 4 安全通讯 Java Secure Socket Extension JSSE Java GSS API JGSS Java Simple Authentication and Security Layer API SASL 等提供对 Transport Layer Security TLS SSL Kerberos SASL 等协议的实现 提供对基于 SSL TLS 的 HTTPS 完全支持 为的数据完整性 保密性提供支持确保通讯安全 5 为 PKI 提供支持 J2EE 提供管理密钥和证书的工具 广泛抽象的 APIs 对 X 509 证书 废止列 表 证书路径 OCSP On Line Certificate Status Protocol PKCS 11 PKCS 12 LDAP 等提供支持 大大简化了 PKI 应用开发和部署的 难度 3 3 2 网络总体结构 应用系统的总体拓扑图参考如下示 Internet Switch DMZ2 App DB Server IDS 漏洞扫描 Switch DMZ1 核心业务系统 IDS FW Switch FW Router SSL GatewaySSL Gateway Web ServerWeb Server App DB Server FW IDS 磁盘阵列 CA Connect Server RA Server 数字证书验签服务器 CFCA CA Server DMZ3 CMCC Server SMS Gateway 动态密码服务器 外汇系统 其它系统 中间业务系统 图图 12 应用系统的总体拓扑图参考应用系统的总体拓扑图参考 用户通过 Internet 网络向应用系统发起请求 请求在到达 Web 服务器之前 将通过 NSAE 使用两台带 SSL 加速卡的 SSL 安全网关服务器 并配置为热备 部署模式 建立 128 位 SSL 加密通信通道 系统应用服务器通过有 NSAE 经由 Web 服务器传过来的 Request 对象获取 客户端证书 如果客户端采用数字证书认证的话 在登录环节 系统应用服务 器通过身份认证及签名验证服务器 NetSign Server 所提供的 API 验证用户证 书有效性并完成登录 在交易过程中需要对交易签名时 通过客户端签名控件对页面信息进行签 名 签名结果信息及原始信息传递至应用服务器后 通过签名验证服务器 NetSign Server 提供的 API 将签名结果和原始信息以及客户端证书传至签名 验证服务器进行验证 一次性口令的验证由系统应用程序调用动态密码系统的服务适配器 由动 态密码服务器完成验证并返回结果 短信密码的发送 由动态密码服务器向的 短信网关 SMS Gateway 发送请求实现 3 3 网络层方案选择 3 3 1 安全连接协议 系统客户端至服务器端的安全连接常见的协议有 SSL SPKM 可供选择 4 SPKM Simple Public Key Mechanism 协议 用于建立点对点之间的安全 通道 结合数字证书主要适用于内联网环境 在运用于互联网时有如下问题 5 1 因客户端在跟服务器端建立连接时需要访问 CRL 而 SPKM 协议固有 的原因会造成客户端对废止列表访问的时间过长 2 SPKM 协议在客户端对整个页面进行数字签名也是没有必要的 并不是 用户提交的所有页面都需要数字签名的 而且就算某个页面需要数字签名通常 也不是页面中所有的元素都是需要数字签名的 比如对于行外转账交易而言 收款人姓名 收款人账号 收款人开户行 转账金额 付款人账号是其五要素 客户在提交转账交易时只需对这五要素进行数字签名就可以了 而页面上还有 一些诸如是否发送 Email 通知等要素就没必再被签名了 超出需求的要素被签 名 一方面将会增加网络流量 同时还会导致服务器相应的迟滞 3 由于 SPKM 协议并非普遍采用的安全通讯协议 因此在通用的浏览器 如 IE Navigator 等中没有支持 需要下载安装客户端软件 这就增加了系统安 装 维护 使用的难度 SSL Security Socket Layer 协议已得到各主流浏览器内置的支持 由于标 准的 SSL 协议 在采用客户端证书时 并未对用户的交易数据进行显式签名 造成应用系统无法记录交易数据的数字签名 给在技术层面维护交易的不可否 认性带来了一定的困难 6 在应用系统中我们采用 SSL 协议来建立安全连接 SSL 协议签名的问题可 通过在客户浏览器端安装签名控件来完成 签名控件一方面可以完成数字签名 另一方面 通过自定义签名格式 只对需要的页面要素进行签名 去除不必要 的数据被签名 3 3 2 安全区域的划分 通过三台防火墙将网络划分为四个逻辑区域 按由外到内的顺序部署 第 一道防火墙之外是 Internet 区 非授信区 第一道防火墙和第二道防火墙之 间是 Web 区 在此区域中部署 SSL 服务器以及应用系统和网站系统的 Web 服 务器等其它第三方应用系统 第二道防火墙和第三道防火墙之间是系统及网站 的应用 DB 区 在此区域中部署应用服务器和数据库服务器 第三道防火墙之 后为其它的核心系统 中间业务平台等第三方业务系统 3 3 2 网络层安全组件 应用系统的最外端部署了绿盟黑洞抗 DoS 攻击系统 COLLAPSAR600D 5 B 以控制拒绝式攻击和分布式拒绝攻击 防火墙采用的是天融信防火墙产品 NGFW4000 G 入侵检测则采用的是启明入侵检测 NS500 系统 漏洞扫描软件 采用的是冠群金辰承影网络漏洞扫描器 原有系统被两道防火墙分隔成三个区 系统部署时要求在停火区中再增加一道防火墙 一方面隔离 Web 服务器与 应用服务器 另一方面隔离应用服务器和其它核心系统 增加的防火墙依然采 用的是天融信 NGFW4000 G 防火墙 此外还增加了两台 IBM TotalStorage SAN 16M 2 的交换机 一套启明 NS500 系统 3 4 系统层方案选择 系统 Web 服务器的操作系统采用 SUSE Linux 9 Enterprise 应用服务器和 数据库服务器的操作系统采用 AIX5L V5 3 数据库管理系统采用 Oracle 10 0 2 FOR AIX 由于软件系统通常都存在漏洞 操作系统也不例外 无论是 Unix Linux 还是 Windows 系统 操作系统要求定期安装系统的最新补丁 并定期对审计日 志进行检查和备份 另外 UNIX Linux NT 系统一般包含许多网络服务应用 程序 如 FTP Telnet 等 有些不必要的网络服务程序必须禁用并关闭对应的 端口 3 5 应用层方案选择 3 5 1 数字证书 国外比较著名的数字证书有 Verisign Etrust Baltimore 等 国内应用比 较广泛的数字证书主要有中国金融认证中心 CFCA 的数字证书 上海数字证书 认证中心 SHECA 的证书等 另外有些实体建设了自己的 CA 向本实体内的系 统及其客户发放数字证书 对比分析上述的几家认证中心的数字证书的优缺点将有助于安全子系统的 数字证书的选择 下表是比较结果 表表 8 认证中心比较的表格认证中心比较的表格 方案方案优点优点缺点缺点 CFCA 良好的公信力 是金融领 域 CA 的权威 高级证书费用较高 但可采 用普通证书 VeriSign 国际的发证权威机构国外机构 发证手续麻烦 费用也不低 自建 CA发证成本较低仍需购买发证软件 银行不 具备管理 CA 的专长 大量的管 理工作 法律问题 非授信第 三方 等等 3 5 2 动态密码辅助解决方案 动态密码方案是以一次性口令技术为基础的 目前成熟

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论